@gitpod/gitpod-protocol 0.1.5-sje-cert-manager.0 → 0.1.5-sje-server-installation-admin.8
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 +21 -2
- package/lib/accounting-protocol.d.ts +0 -1
- package/lib/accounting-protocol.d.ts.map +1 -1
- package/lib/accounting-protocol.js +10 -11
- package/lib/accounting-protocol.js.map +1 -1
- package/lib/admin-protocol.d.ts +8 -2
- package/lib/admin-protocol.d.ts.map +1 -1
- package/lib/admin-protocol.js +2 -13
- package/lib/admin-protocol.js.map +1 -1
- package/lib/analytics.d.ts +1 -0
- package/lib/analytics.d.ts.map +1 -1
- package/lib/context-url.js +4 -4
- package/lib/context-url.js.map +1 -1
- package/lib/context-url.spec.js +45 -48
- package/lib/context-url.spec.js.map +1 -1
- package/lib/email-protocol.js +4 -4
- package/lib/email-protocol.js.map +1 -1
- package/lib/encryption/container-module.js +4 -4
- package/lib/encryption/container-module.js.map +1 -1
- package/lib/encryption/encryption-engine.js +19 -20
- package/lib/encryption/encryption-engine.js.map +1 -1
- package/lib/encryption/encryption-engine.spec.js +29 -36
- package/lib/encryption/encryption-engine.spec.js.map +1 -1
- package/lib/encryption/encryption-service.js +29 -43
- package/lib/encryption/encryption-service.js.map +1 -1
- package/lib/encryption/key-provider.js +25 -30
- package/lib/encryption/key-provider.js.map +1 -1
- package/lib/env.js +12 -13
- package/lib/env.js.map +1 -1
- package/lib/gitpod-file-parser.js +25 -41
- package/lib/gitpod-file-parser.js.map +1 -1
- package/lib/gitpod-file-parser.spec.js +116 -116
- package/lib/gitpod-file-parser.spec.js.map +1 -1
- package/lib/gitpod-service.d.ts +24 -11
- package/lib/gitpod-service.d.ts.map +1 -1
- package/lib/gitpod-service.js +149 -295
- package/lib/gitpod-service.js.map +1 -1
- package/lib/ide-protocol.d.ts +81 -0
- package/lib/ide-protocol.d.ts.map +1 -0
- package/lib/ide-protocol.js +8 -0
- package/lib/ide-protocol.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/messaging/browser/connection.js +91 -156
- package/lib/messaging/browser/connection.js.map +1 -1
- package/lib/messaging/browser/window-connection.js +35 -55
- package/lib/messaging/browser/window-connection.js.map +1 -1
- package/lib/messaging/client-call-metrics.js +17 -18
- package/lib/messaging/client-call-metrics.js.map +1 -1
- package/lib/messaging/connection-error-handler.js +11 -23
- package/lib/messaging/connection-error-handler.js.map +1 -1
- package/lib/messaging/error.d.ts +1 -1
- package/lib/messaging/error.d.ts.map +1 -1
- package/lib/messaging/error.js +2 -2
- package/lib/messaging/error.js.map +1 -1
- package/lib/messaging/node/connection.d.ts +0 -10
- package/lib/messaging/node/connection.d.ts.map +1 -1
- package/lib/messaging/node/connection.js +11 -49
- package/lib/messaging/node/connection.js.map +1 -1
- package/lib/messaging/proxy-factory.js +71 -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/permission.js +12 -12
- package/lib/permission.js.map +1 -1
- package/lib/plans.d.ts +1 -1
- package/lib/plans.d.ts.map +1 -1
- package/lib/plans.js +38 -57
- package/lib/plans.js.map +1 -1
- package/lib/protocol.d.ts +13 -40
- package/lib/protocol.d.ts.map +1 -1
- package/lib/protocol.js +44 -114
- package/lib/protocol.js.map +1 -1
- 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.js +13 -13
- package/lib/team-subscription-protocol.js.map +1 -1
- package/lib/teams-projects-protocol.d.ts +15 -0
- package/lib/teams-projects-protocol.d.ts.map +1 -1
- package/lib/teams-projects-protocol.js +4 -15
- package/lib/teams-projects-protocol.js.map +1 -1
- package/lib/util/analytics.js +25 -32
- package/lib/util/analytics.js.map +1 -1
- package/lib/util/async-iterator.js +55 -133
- package/lib/util/async-iterator.js.map +1 -1
- package/lib/util/cancelable.js +17 -59
- package/lib/util/cancelable.js.map +1 -1
- package/lib/util/date-time.js +8 -8
- package/lib/util/date-time.js.map +1 -1
- package/lib/util/deferred.js +10 -12
- package/lib/util/deferred.js.map +1 -1
- package/lib/util/disposable.js +26 -39
- package/lib/util/disposable.js.map +1 -1
- package/lib/util/event.js +58 -74
- package/lib/util/event.js.map +1 -1
- package/lib/util/garbage-collected-cache.d.ts +1 -0
- package/lib/util/garbage-collected-cache.d.ts.map +1 -1
- package/lib/util/garbage-collected-cache.js +26 -46
- package/lib/util/garbage-collected-cache.js.map +1 -1
- package/lib/util/generate-workspace-id.d.ts +1 -1
- package/lib/util/generate-workspace-id.d.ts.map +1 -1
- package/lib/util/generate-workspace-id.js +28 -68
- package/lib/util/generate-workspace-id.js.map +1 -1
- package/lib/util/generate-workspace-id.spec.js +56 -78
- package/lib/util/generate-workspace-id.spec.js.map +1 -1
- 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 +44 -0
- package/lib/util/gitpod-cookie.js.map +1 -0
- package/lib/util/gitpod-host-url.d.ts +1 -1
- package/lib/util/gitpod-host-url.d.ts.map +1 -1
- package/lib/util/gitpod-host-url.js +93 -103
- package/lib/util/gitpod-host-url.js.map +1 -1
- package/lib/util/gitpod-host-url.spec.js +87 -135
- package/lib/util/gitpod-host-url.spec.js.map +1 -1
- 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 +32 -32
- package/lib/util/logging.d.ts.map +1 -1
- package/lib/util/logging.js +50 -113
- package/lib/util/logging.js.map +1 -1
- package/lib/util/make-link.js +2 -2
- package/lib/util/make-link.js.map +1 -1
- package/lib/util/parse-workspace-id.d.ts +10 -0
- package/lib/util/parse-workspace-id.d.ts.map +1 -1
- package/lib/util/parse-workspace-id.js +31 -7
- package/lib/util/parse-workspace-id.js.map +1 -1
- package/lib/util/parse-workspace-id.spec.d.ts +4 -0
- package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
- package/lib/util/parse-workspace-id.spec.js +123 -84
- package/lib/util/parse-workspace-id.spec.js.map +1 -1
- package/lib/util/queue.js +16 -55
- package/lib/util/queue.js.map +1 -1
- package/lib/util/queue.spec.js +144 -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/safe-promise.js +9 -12
- package/lib/util/safe-promise.js.map +1 -1
- package/lib/util/semaphore.js +15 -46
- package/lib/util/semaphore.js.map +1 -1
- package/lib/util/skip-if.js +6 -6
- package/lib/util/skip-if.js.map +1 -1
- package/lib/util/timeutil.js +16 -16
- package/lib/util/timeutil.js.map +1 -1
- package/lib/util/timeutil.spec.js +21 -24
- package/lib/util/timeutil.spec.js.map +1 -1
- package/lib/util/tracing.d.ts +51 -5
- package/lib/util/tracing.d.ts.map +1 -1
- package/lib/util/tracing.js +193 -62
- 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.js +2 -2
- package/lib/util/workspace-port-authentication.js.map +1 -1
- package/lib/workspace-cluster.js +3 -3
- package/lib/workspace-cluster.js.map +1 -1
- package/lib/workspace-instance.d.ts +3 -2
- package/lib/workspace-instance.d.ts.map +1 -1
- package/lib/wsready.js +1 -1
- package/package.json +22 -13
- package/pkg-yarn.lock +12 -7
- package/provenance-bundle.jsonl +2 -0
- package/src/accounting-protocol.ts +1 -3
- package/src/admin-protocol.ts +9 -3
- package/src/analytics.ts +2 -0
- package/src/email-protocol.ts +1 -1
- package/src/gitpod-service.ts +27 -16
- package/src/ide-protocol.ts +92 -0
- package/src/index.ts +2 -0
- package/src/messaging/error.ts +2 -2
- package/src/messaging/node/connection.ts +1 -45
- package/src/oss-allowlist.ts +15 -0
- package/src/protocol.ts +17 -42
- package/src/snapshot-url.spec.ts +25 -0
- package/src/snapshot-url.ts +27 -0
- package/src/team-subscription-protocol.ts +1 -1
- package/src/teams-projects-protocol.ts +19 -1
- package/src/util/garbage-collected-cache.ts +7 -1
- package/src/util/generate-workspace-id.spec.ts +16 -0
- package/src/util/generate-workspace-id.ts +19 -2
- package/src/util/gitpod-cookie.ts +39 -0
- package/src/util/gitpod-host-url.ts +10 -10
- package/src/util/jaeger-client-types.ts +102 -0
- package/src/util/logging.ts +32 -32
- package/src/util/parse-workspace-id.spec.ts +21 -1
- package/src/util/parse-workspace-id.ts +32 -6
- package/src/util/repeat.ts +45 -0
- package/src/util/tracing.spec.ts +83 -0
- package/src/util/tracing.ts +180 -18
- package/src/workspace-instance.ts +9 -6
- package/src/wsready.ts +1 -1
- package/lib/util/repeater.d.ts +0 -22
- package/lib/util/repeater.d.ts.map +0 -1
- package/lib/util/repeater.js +0 -118
- package/lib/util/repeater.js.map +0 -1
- package/src/util/jaeger-client.d.ts +0 -105
- package/src/util/repeater.ts +0 -49
package/pkg-yarn.lock
CHANGED
|
@@ -4,21 +4,26 @@
|
|
|
4
4
|
|
|
5
5
|
"@gitpod/gitpod-protocol@0.1.5":
|
|
6
6
|
version "0.1.5"
|
|
7
|
-
resolved "file:///tmp/cache/
|
|
7
|
+
resolved "file:///tmp/cache/577c6e34656f8dd8b74dc395788291f42d6982ab.tar.gz"
|
|
8
8
|
dependencies:
|
|
9
|
+
"@types/react" "17.0.32"
|
|
9
10
|
ajv "^6.5.4"
|
|
10
11
|
analytics-node "^4.0.1"
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
cookie "^0.4.1"
|
|
13
|
+
inversify "^5.1.1"
|
|
14
|
+
jaeger-client "^3.18.1"
|
|
13
15
|
js-yaml "^3.10.0"
|
|
14
|
-
opentracing "^0.14.
|
|
16
|
+
opentracing "^0.14.5"
|
|
15
17
|
prom-client "^13.2.0"
|
|
16
18
|
random-number-csprng "^1.0.2"
|
|
19
|
+
react "17.0.2"
|
|
20
|
+
react-dom "17.0.2"
|
|
17
21
|
reconnecting-websocket "^4.4.0"
|
|
18
|
-
reflect-metadata "^0.1.
|
|
19
|
-
uuid "^
|
|
22
|
+
reflect-metadata "^0.1.13"
|
|
23
|
+
uuid "^8.3.2"
|
|
20
24
|
vscode-jsonrpc "^5.0.1"
|
|
21
|
-
vscode-languageserver-protocol "3.
|
|
25
|
+
vscode-languageserver-protocol "3.16.0"
|
|
26
|
+
vscode-languageserver-types "3.16.0"
|
|
22
27
|
vscode-uri "^1.0.1"
|
|
23
28
|
vscode-ws-jsonrpc "^0.2.0"
|
|
24
29
|
ws "^7.4.6"
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
{"payloadType":"application/vnd.in-toto+json","payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YwLjEiLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MC4xIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wZXJtaXNzaW9uLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjAyNjRhOTc0MjlkNjI1OTQxMjMzNGU0MTRhYzIwM2EwN2ZjNDk1YTBlMzZmYzc0OGZlOTU4YzQyMWJjOTgwYmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5kZXguZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4MjUwODA5OGZkYmY5ZmU5NzRiZDE2ZjVlNGVlOWQxNDcxYjYwOGVjYzZjODM2MTQzN2I3NzViZGIwNzRjMDBhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MDgxNWM4ZWMxNzUwYTg2ZGFmOWUwOTQzZWQzZDMzMWIwOTEyOWExZDJlN2ZmZmY1OTJjOTk4NTIyOGI2NWQ2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3ZWM0ZWE1ZmFmNGU4ZGE4NDljNWQyODQzNGE4NDU1MTAyZTc0ODZlOWFkNTlmZWM4YWY1NDA0ZmM4MWIxYjJiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwYzZhZDI1NWM3Y2NkOWM0NWZlNDFiMzU3OTM3YmZhMzY0NjUwMGI2MGExNTZiZDJlYmU2YzQyNTZjMDM4YTcxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BheW1lbnQtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODU0ZWIzZWM1NWJjOGQ3OWU4YzZlOTMzYWM0NDE1N2JkYmVkMzhiNjZhZDczYjNhNGZkY2E0YWI0NjkyZWNhMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9vc3MtYWxsb3dsaXN0LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY3N2U5M2QzY2ZlNDAzODI0YmU5MWI1NGExMDIxMGRmM2Q2MTk1YWRjNDJmZTBkMGNlZDY5ZmVhODU2MTkxYWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGhlaWEtcGx1Z2lucy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjExYTE1YzM0NTVlY2E3MzNlODc3ZWYxNzkxZDI5NjQ5MjZkMmEzMTU0N2Q1NGM4ZjljMGMwNjIyNmUyM2U2NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbWFpbC1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0ZmE2NDlhOWVjNGZjN2RhZDE1OWM1OGI4MDdkZDcyZTJhMzViY2U5ZGU2NTdmZTViZGVkNTQ3NzE3MGNjMjM1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5Nzc3ZmJlZjg3NzQyMDZlNzUzMzZmMWY4ZjZmZjlmZGYyOTFiNTMxMTA1NWViNTI2YWFmYWMyYjVjZWUyM2FkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjhlNWU2MWE3MTNlYTBmODNkMzljZTZlODcxMjVlMzQ1Mzk5MDJiNDUxOTZlMzBmY2JhYWNjZDI1NTdlODVhZGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImEzZWU1M2EzYmZhNjNjZTk1MmI3MTFjMjVkYjAwNjBkMmM5MjYxNDVmNjg5ZTk0MTM4MDQ3MjgzMWYyYjMxNDMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW1haWwtcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3MjYyYzc0MjYyMThjOTY3MDlhMmNjNjY4ZjEyN2UzYzg0ODEwMTRlNTA1OWQwNWFlMjkwN2M1ZTYxYmE2NjQ4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9ub2RlL2Nvbm5lY3Rpb24uZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzYwNjhkMGQ2ZGNmYjc2MGY3M2U5M2E4MzUwNGM1YzM5MWI0MTMyODVkZWIzZDVkZjY4MjJhMzE5ODM3NzcyNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtY2x1c3Rlci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQzZGY5ZjBmZjk1MmQ1YWYyNmVlMjMxYjRlOWU0OGY2ZWUxNWFhMjk4MWNlZGNlZWJlYmE1MDEyN2Q5MzVmNWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsdXN0ZXIuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmZkYmMwN2EzMWI3YTk4ZTJmNDJiMTQ0ZmQ4ZGE5NWNhNjQ1OGQxNWRiOWEyZjdiNzEwMTdjMTBjZjIyZDIwMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90aGVpYS1wbHVnaW5zLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE4MGI3NDZjNDViMzBhNTViODg2Y2QwNTU0ZWU3MzI0YjViOGEyOGJiOGYzMDkwODAxOTYwMTdmZDBjNDFlNWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM4NmY0MGI4N2Y4ZGJhYjA1OGY1NWFmYTI1MjVmY2UyNzk1N2UyNWM4NDQyYjEwNzk0ZmU2ZDU2MGVhYTk1YTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJhNDRhMjY1Y2U2MWQ2YTlkODg3NzMyN2NmMDMxNDAxMTk2ZTNmMmE1Nzk5ZjU1NTY1NzY2MDZjODBmZDJkOGMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9qYWVnZXItY2xpZW50LXR5cGVzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTAxZmJmODI3ZDBiMGU4MzZiNzZlZmM3OTNhZTQ1ODM5ZmRiMWU4YTY1MjZhM2YyNzAxNmQ1NzVlNGYzODdlNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiOTA1OWFkYzM5ZmNiNTQyMTEzZDJjY2IyODc1MmQ4NjJiNWI2M2NlNWJhZTFkNmU4NTkzODUwNDNiOWE0ZTk3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW1zLXByb2plY3RzLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzhjMGIzZGFhZTVhNzg2ZjE1NjIxZjQxMzUzMTU5MzhkODg5YjZlNWM0ZDc4ODExMzY4OTE3MjI3ZGE1NGU2NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL21ha2UtbGluay5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxOTk5OWY0ZTZmYWYwYWY3YzM0ZmU0OWFkNDQ0NDJlOTA5ZjYxNWMyZGExNWZhOTUwZGYxZDUzZmEzYzZiMDI3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2hlYWRsZXNzLXdvcmtzcGFjZS1sb2cuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmRmMmYxZmI5YTA2ODY2OWYzMmYzNTg4MDA3MzgwYjg1YWM1NzlhYjRhMmFjMDA3NjRiNmYwODg5YTliNmY3ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93c3JlYWR5LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZlZDgzODkxN2UzZGE0MDY5ZGEwMjRkMmQ0ZjFhZDBmNDNhMDY5MDUzOGNjNjg4ODkxMjI1YWE5NjZhMDYwOTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjNjhhZTEyMDA1OTgxOWUwZWM2ZmYzYTQ4N2Y4NDgzOGE5NmJmYzcxZTc5MGNlZGZkYzdlMmU5MjM3ZDk1NmNmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3R5cGluZ3MvZ2xvYmFscy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0YzcyZTM3MjNkYmQ5ZGY1MmNmZmU2OGNjYjhlOTdkMzY5ZWY3ZGIxYTIzYjVlNWUxNmNkOWM1YjcwNDMzOGY4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1zZXJ2aWNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI5ZjA2NGUyNDZhNmMwZTE0YzE0NDI4OWE0OGZiYWE0ZGE1NGMxYmM1ZGRlNmZlOWFjMjA2ZTJjMTg1NmRjNTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Nvbm5lY3Rpb24tZXJyb3ItaGFuZGxlci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNGM0YjUyNmVhNjVlMDBhNTY5ZTE1NTg3YzZkZWNiMGE3YWNjZTUxNzA2MjVkMWE5Zjc5MDkwY2I1MDNkMzhhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1zZXJ2aWNlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBhNmRhNGQzZjUzMWYzYjBhYjQxNWNiODk1NjJjMzlhOGQ3ZjI0ZTc3N2UwNGFkNjNjOTEzM2M3MzExZTAwNzYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkZTY1MjA4ZmU3ZDBkMzAzZDIyZmYyNzY4M2JjNjQ0YTBhNGY5NTBhMzBkZjc0OTg3Y2M1ZDJmNjRjM2Q5MGVhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1mcm9udGVuZC1zZXJ2aWNlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhYWFkM2YxOGZiMDQ5ZjlhNTEzYzBjODgyZGI0YTNiMWE5NDgzYmUzY2U2ZjQyMTNjODBiMDExYjUxZjI2ZDM1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGZkZDc3Y2IzOGRiOWY5MTcxYzQ0MTk3ZjZhN2VkYzI2Njg0OGIzZWFmMDJiZjU5OGJkNzBhYTRlOGJkOWMyNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY1ZGJhN2JlMThkMDFlOGY0ZTdmN2M2YmIwMTU3MjQ3YjFlZGQ2OGFkNjdjMDcyMmE1OGMwZTVkZWM5MTdjNWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9zZW1hcGhvcmUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2IxZDlhNTZiZTlhYzNlMzY2YjdjZTJlZWNlZDQzYzkwMzZkM2RjOGI5ZWEyMTIxZDc2ODJiMTMxZjI1M2JiNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3dvcmtzcGFjZS1wb3J0LWF1dGhlbnRpY2F0aW9uLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGUyYzBkZmRlOTcwMmEyYjg1OTczODczZThjYjYwM2RhYzJiZDYwMjg3NTQ4MjYzYjBjMzM2Mjk2NmRkMDBjNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hbmFseXRpY3MuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI5YTFmNTBmYzFmY2YzNjZjMDMxMTIxYjY1ZWY2MjI5NWRjYzlkYjI5Yzk5NmZjZDIwZjdlODYzMTRmM2RmNTUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdhMDU2NGUwNTMzNjViZjFkMmNlYjFjNjdiM2RjYTU0NTYzNjExOWIzY2U1NWNmMjc4Yjc1ZDllMGZlMWRiMDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kYXRlLXRpbWUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YTQyYWViNTczYTE2YzRhZGZlMDMzYmNhOTFlNmEyZDIyZTY1MzRjYmEwZDhlMWMxYzQ3NGZjODY2YjdhY2Q4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2FyYmFnZS1jb2xsZWN0ZWQtY2FjaGUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5OTU5MGFjMzVhZDQxMzliMzRiOTRmMmU1NGFmNzM4MGMzYTgzYjQxMDlhMTM5MWRjOTliMDhmZmJjZDU1MTA2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FuYWx5dGljcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMjAyZWIwYTMyYzAyZTg4YjNjYjllM2MyNzYwNTY0ODQ5OWRjYjgwZDE0YzAxNWQ0MGQ0MDI0NzEwMTdlNGEwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ3JwYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDQxZjBjM2E3NmFkYmRkNjFiOGIyOWJlNDI1M2QxZDhkNTMwZDg5ODA5NDc0YmE4N2E2NmI2YjNlZTc5MDU4OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTA5OTc5NjlhYWE0NzUwNjI4NWMxODJkZmM1ODk4MDlkZWJlYzc1MWVhNTI3NjMzNTY2YWJmZmZiN2ViZTQzMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvcHJveHktZmFjdG9yeS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTJiNjhjNWZkNTlmOWUzYmFmYzAxYWM4Njg1ZmIwNjlmYTEyNTkxMTAyNjg0N2E2N2FlMWQwZGQ3Y2ExZDhkMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NhZmUtcHJvbWlzZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBhZTllMThjYWQ1NDY0ZDIwOTE5MmMzMjBkNzgwYzdjMjhmZWI3NDE4Y2Y3OTc2OTcyZDNlMjhmZjgzODgyZGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVjZjhjMzU4OGU4YjZhZmRmYWJiNTk4NGJhZWI0M2I4YzNiMDMxNjY0NTdjMTQ5ZmY3ZDNjOGRmODc5ZmM2ZTAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWZlcnJlZC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NDNkZTE1NTIwMTExNTkxNzJkYmQ1MWQ0YjliZDM2MGNkNTNlZWE2MGNkMWFkMDUxMmUwNDBkMWU0ZDUyZjliIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvY2FuY2VsYWJsZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmM2JhY2I2ODJjOTBjZjgwZWVhMjJlZWI4NzQyOTA5OTEwMzM1MGNiM2U2ZWU5YWRjMzlmYzEwNTk4NTM4YTliIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGRiNWZiZTg0MzU0NWNjMjI1YTI1MmU0NGI0MGUyYzY1ZWQ3YWRhOWQwZjZmZTRiMGE4ZGQwYWI4Y2YyYWJhMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjMmY1NmVlMGM3NTM5YzM5ZjY5NzFlZTlmYTgxYzA0NTBkZmY0NGFhM2YwMWQ2NjZjOGFkNjIyOWJkZjMzNDY1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc5N2Y4ZTk0NDZhODJlMzM1YTQzZmYyMWY0NDEwZTU2ZjU1NDg2OTAzYjFhOGVjNjE0YjA1YTFiZDdhNTM4MTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWRtaW4tcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRmM2FlMzMzZjlmMmVkOTg4MGVlNWYwOTE1MGMxMWRmMzJjNWEyNjg3NmFlMmM3ZDUxYWZkOWFhMDMzYWU4MjciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC93b3Jrc3BhY2UtcG9ydC1hdXRoZW50aWNhdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ZjgzNmFkZjEyNTYzMjQ4OTlmNDEwYzdkNWY4ZTQzMDJkZDBkZjdhMWY1MDA4YTFkNjdmYjliZTQ1NzY5OGM1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ3JwYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxZTZlZjJjMTEwMjA0N2ZmZmJhZDJjYTAzNTI0ZWU4ZjQwZWQ1NTlmZDc3NDBmMTJhMDg2ZWU0Y2JjNTU1MTU3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dzcmVhZHkuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZlODg3ZmEzNjlmOGQ2ODU1NWMzYTVmMmViZTY4MTIwY2E3ZDM1MmQzM2FlNzZkYWE2YzliODkxMDBmMjAyZjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2JiOGI2MGU2ZjVhN2NiYTVlZjViNTc1M2EzNmZkYzY4YWEzMmNmZDJlOWVjMjU5OTBjM2NmNjg1ZDQxMDg0OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbWFpbC1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMmRiMTNlNTE1ZTJjYjE4YWZmOGQ1NmIxNzgxYzNjMzk0YjZmMmU2YjE5OTJhYTA2NGZlYWQ2ODI0NjZkYjliYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hZG1pbi1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJkNDhjOWE3NTQ4OTk5MzRlMGZjMGE0MWVjOWZmYmNmMWQ4YmMzOGQ1NmU0ODI5MjdhMmI3MjM3ZTQzMTYwMzUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtY29va2llLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg1ODJjMTkxYzQzNjI0MDRlNzg3NTNmYTAxNTVhYWYzMjlhMzg2MmIwMzg4M2EwMjk0NzdiNGU2ZjYwOWRkMDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLXNlcnZpY2UuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmMjU5MDg0MmRkNzY3ZWY5MDk1NzZiYmFiODExMDVmNTA0NTk0YjQ2ZWNiYTkyZDZiZmZkZGEwZTY2ZjBlMTA3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24va2V5LXByb3ZpZGVyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2FlZWFlZTg4Y2Q3YjE2Mjk3Nzk0OGM1NGNhNzNiOTMxY2RmODNmMDA5ZjFiN2UwZTNiNjYzYTYxMjAyY2FjOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI1NDliNTRiMDU1YTE4YzI1MTlkNTY2YTIwMzg5MjJlNTA4NzVjNTNmM2VmOWEyNGY4ZjBmODUxOWM2NDVjMmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFkOTAxYjNiZTBkMDhkYzkzYjJhOWJjN2NiYWM5ZmZjNGM3MzM0YWMzZjNiZmQ0NjI0NzQzNmE3MjhiZDY3YzUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk4Y2RlNTc1ZGQ3ZjE4MTE0MDM0OWIyMTUxOTcxOWRjZTNmZGIxMWI2MWMyNDg5NjcxMTE4MzBkNDlhYjE2M2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hbmFseXRpY3MuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGIwNjYzMGIxNTViOWU3ZTUwNmExZjRlOTViMzM1MTYyOTA5NTYwNGY1ZGU2ZjNjYWY3NzYxMjdiNmMwNGI0YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjMjZkM2UyMDRhMDdiNDcwZjQ3NDI3Mjg3MGM0NjJkYTcyYWU4YjIwMDVjMWUzNjZhMzgzOWNhODExZjhkM2I1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BheW1lbnQtcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1YzhhMzkwNzNmNmRlZjlmZjI5ZjIwZTBmOWMxZDY0Y2MzZjExODVhNTE3ZjZiMDM2ZjY0YmUxOGNlNzc1ZDM0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODI3YjdhNjVjNWNjZjI2YjM2MzNmYzQxM2UyMTg5MWI1ZGNjMDI0Mjg2YTZlYzkwYjVlMzQwNmRiN2RmZDVmYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdXRoLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMyZGQ2NzA1NjRjMDQyZWUwM2ZhODAyYjBhN2UzZGIzNmEzODAxYjM3ZGFmM2MwODUxMjgwYjM1YjcxODkyY2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGVybWlzc2lvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3MjBhOWRmNzZmZTA0ODQyYjE0ZDliN2I1ODNlYmQ3YzA0NGVkMDJmNzgzMWU1MTkwMjllNTU5OWM2YTMxY2EyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlNTIzNTc2Yzk0NTljZjg1ZDY2YTdlYTZjNjI4Mzc2ZDc2MGJiMjg1YWExNjc2MTRmODhlZjRhMWE4YThjM2IyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BsYW5zLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA2ZDY0ZWVkNzBkMzc3ODk4YzhiZjhmNDFmZDM4YWY4M2M5ODdjODA0NTk2ODIwMjg1NmEyMGM0NWUxMmM1YjAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9yZXBlYXQuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhN2NhNjAzNGI5NTdmZTI4NWY3NmYxY2RjNDUyMDU5NDhkYmY5YTczMDExOGMzMjkyNjBmYWQzODQ5NTdmZTg2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FjY291bnRpbmctcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDQ2MjAxZDlhMmQ1YTQ3ZDI3OWUwOGE5ZWJjNDE0ODE0OTJlNmJkZTE3MjZmNTg3YTM4MjY2ZWFkNjZlNTg3NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90aGVpYS1wbHVnaW5zLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjIxMDFhZGFiYjIyNTRmNTE2ODJjYjNkYTAzZjliNGE2NGM1YTNlNjgyMGIzMzA3ZDg4NzNkYzE2ZDEwZDE0NmMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1ZDQwYTU0YmFkMjM4YTYyNzM4YWEwNGZlNDg2N2NjMGM4MTNkOWMxYWFiMjBhMWUyOGFhOThlYjZiMDUxMTBmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2xpY2Vuc2UtcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZWNhOGEwOGNjMmYyYmFhMjBkZTE5NzVjN2ZlNjZhMTdiY2U3MWM1Mjk2ODMzZmZkMzcyODM1ZWIyOGVjZjI4ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pbmRleC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDg3Zjc5NTRlNWU3M2Y0OTIyNGYwMGY5OWRjMDdiZWY0MWNiMDljNzVmNTY3YmQxYTU5OTVhZDE3ODFjNDg2ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZlNWNiMzI3NjMzNDdiOTI3MTAzNjgyY2JhZDA0NjhlYjBmYjFlOTM4Njc5YzQ0NjQ1NjA5N2Y1ZGRlMDc2OWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2NsaWVudC1jYWxsLW1ldHJpY3MuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNjQ4ZTYyNTIzODAzNGRiYmEyNDJlOWJiOWJiOWIwNjIzMmQ3N2MzOGE1MTdmYmZlYjg3NzNjMmQwYmYyNzczIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVlODUyNGFhYzQ0MGFiNmZlMzM5NjEyNmE3Yzc3NmVkYzM5NzVhNTMzYjgyZWNiODE4Yjk4MjZjMjI5MDhhNmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL25vZGUvY29ubmVjdGlvbi5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGIxNWQ2OTViMzE1MGNlN2U2NjNlZjZmZGNiMDA3NzFhOWNhZjRkODhlZjIxNjlhOTFmNThlZjM0Zjc1ZjAwNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlNGM4MTQ5ZjFhODQ3M2Q1MzUxMWJkZDVlMTY4MGI5OTBiOTQxYWYyYjI3NGFjNzExODc0MzRhMjk4NWQ2ZjIxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BsYW5zLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MDdlNjkwNjk0ZGQyZDM4MWZhZDI3MmNjODU3NDdmNWM2ODRkNzkwZWZhNWQ0YjRiZjBjMWZmMDRmNzA2OGQ1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYW5hbHl0aWNzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzQ0MjQ3OWZhNTMxNmVmZjYwOTY5NTY5Nzc2YzdmMTc3ZWFiYTcwMDA3MDhlMWE4ZWJjZWMwYjRjMWY5ZmQ1MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvY2xpZW50LWNhbGwtbWV0cmljcy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTYyNTQxNjY1ODUxMDAyZjQ4NTMyYTVjYjg4MTk5Y2JkOTY5Y2VlMTU4MDUxZTU0NjU4YjAzZmNlY2JiYzg4MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWYxMTc5NzcwNDg1NzY3YjRkZDhmMmY1YjFjYzIyZDlhYjZhZTMzOTBlNzBiMmM4NzJhN2I2MWZlYjc1OWI3NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtLXN1YnNjcmlwdGlvbi1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhMGQ5ZmM3MGQwNDRjZTAwMWJlZGY5NTUyNDU5ZjI1YWNiZmViODY5NjRkY2NiMWM3NTNhNTY0ZmFiNDMzMjJkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRkOWU5MjY5NDZmMmFlNzljYjAwNDQ3NjFiMGU3OTQzMzQzODhhYjkzZDJkYjcwNWE2MmQ4OTc1OGUwNTJhNTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Vycm9yLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMyMjIyODlkMDliYjE0MmI3ZmI0OTY4NzA4ODNkMDdhN2Y5NjQxZDJmYmMxNTllNmRmYzAwODFmZGUzMmYyMTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWluc3RhbmNlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjUwYTY0M2UwYjIzNjdhNDljYTU1NDEwYjhkNDMxOWFlMjFlN2ZkZmZmZDQ4OTk0OWJmYTEyOWU2ODYwZTY2ZWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkODRjYWY3OWVmYzc5OTI0ZDRkYjVmZGZkNjBmYzk5Y2ExZmM3MGYyM2VmYjE4NjY1MzFiMWJiZDRhYzE3OWYxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzMjU1ZmEwZDc3ODhmNDM1Y2QwODUyOTUyOWViOTllM2Y1YTNkMWZhNTI1MjhhZjU2NDdjMGVjZDgxY2RkOTRiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYXN5bmMtaXRlcmF0b3IuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDIxY2ZjMjJmNGExMTZiYmZjN2FlODBiZGRhZWJkYmI4OWE5YmNmMzlhY2YyOTViOTg0Nzg2Mzk4M2ZiNDYzMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wZXJtaXNzaW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxMTYzMmViMDAyZDliMmJmYWU4NGIyZjcxY2RiMDg5MDRjOTQ3ZTJiYjU0NmJkNTA2MmUxZDc5MzlhMjkyNTg2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FjY291bnRpbmctcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM3YTI3MTEzNDczMDBlYWUzNWRiZmY4OTIyZDY5NGYwOTE3ZTc2ZGQ5MzFjMTk3NjA1NTYxNjA2ZmY4MjFlMTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODVkMjUxYjA4ZGE5MzUxZTk0N2FiNGJiNTZhNDZiZDU1MzYyMTY2NmJiOWFjMDAyZTc3YzA0YjFjMjFlMTE5MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvaGFuZGxlci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4OWEwNjZlNzlkNGVmOGZhZDQ3ZWI2OWVmOTExZWY5MDAzOWM3MmVkMTY4ODhjOGQ0MWMwNGZhMjZhMWRiNjk1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVmZXJyZWQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTg4ZThlZWJmZDM4OTA5OTA4ZTMwOGM2MDg2YmUzNGMxZGM5YWM1MzhiYTM4Zjg1NWU5MDMwMWI3NDc4NDkxYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2NhbmNlbGFibGUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZGY1YmM1MzkwYmQzOWY0ZmEyNGMxZGM4ZTU2YzY1YTU1YjFjNTNhZDg3Y2FiYzA1NmVmMmE0ZDBjZmRjMjY4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjkzMTE5ODI0MDQ3ZmEzNjliMmI4Y2U2MGFiYjMxZjVkZjYxZDc4MDgxNDU4ODU1YmY0ODM4MzZhYjRkZmEwZDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjljZTk0NTM1MDcxNDRiNTgyOGNkNDVjZmUxMjFhNzAwMjNhYmVmYTUwYjgzNDk2NjdmOTU5YWZjZjAyMDNhOTMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nYXJiYWdlLWNvbGxlY3RlZC1jYWNoZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzYzgyODA2ZGNkZTFmYTljODk4NzY2Mjg2NzViZjA3NTJiMmQxZWE1ZDJkM2RhYTgyYzFjZDllNjhmMDE1ZDQ0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F1dGguZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWY4YjQ3NDk4MjYzNmM1ODE5ODFlNTY0YWNkODYyOGI2ZWYzNGZhOGQxM2MxN2YxMTE4N2NlYjM4MjI1YWMyNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9saWNlbnNlLXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzMDI0YjRjNTE1MjUxZTJhMTk3N2Q0N2UxOTNkOWQyNGZhZTUwMWZlMDZiY2UxZjk5YzU1N2M4ZDFhNGM1NTc3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImViY2I1YTIxNWM3Y2UxNzM5MDQ5YmE0ZTcxNGY1N2FmOTc4MzlkZDk1OWQ0MjdmNTdjYjRmOTcwMGM5OGNiZGIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbXMtcHJvamVjdHMtcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFlZjYwMDkyNmUxZGIzMGY0MTFhZjYyNmY2NGYxNzkzYjRhNmU3OTVlOTUxYjE2YTY4ZTBjMDBkMzNmZDBjODgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZiNjIwNDI0ZDcwZTM4ODBiMzI0OWZjN2I3OGZhZjk5OTRjZGI1ZDU0Njk4OTQwNDdhOWZmMTJhZTljMDQ0MWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NDk2YjA4NDhiYWJkNmFiNjllMGMwNjRkNDFmZjJlMGI1MzAwZGVjMjc1NWE2MDYxZTQ4NzhkZTBiOGFjNWVlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkN2IyMWQ5Y2YyM2FmNTRkNGQ1MTI2MTJmMTIxMTNlYzI5NjA4MzlmM2QyZmNiZjlkMTU3ZDk5NTNiMGE0ZDhjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9jbGllbnQtY2FsbC1tZXRyaWNzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY4ZGViZGRjMjIxZDYzYTIyOTEzMzAxYzM0ZDU4OWI0ZGEyNTcwYjE2YTRhZTE5ZjEwM2NmODQwNGM0Y2Q0NmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbS1zdWJzY3JpcHRpb24tcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTNiYjFlNTUwYmQwYTNlOWY4MzEzMDRkNzQwY2ZlYTdjY2RkNzBlZDRhMDNmMDBhMGMwMTljNjMyMjBjMjRhMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9oZWFkbGVzcy13b3Jrc3BhY2UtbG9nLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMGU0MDZhY2FiNTY1NWE2OGQxNTViM2E3ZDQwYWRmOTlkZDg1NWZkNjI5MWU1NmQyNjM2MzhlNjRkMTJjYjYyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjUyNWUyYzRhMjgyNjJkMTY3YjA1MjFjZjk5ZmZmNTJlOTViYTY5YjZkZDNjZTQxM2YyY2JmZGQxNDlkOTQ5MWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTJkMjI0NDFkYzU1OGM0NGIyNGFkMWE1OTM0Nzk5OWNiNWQ5MTNmZjk0YTU4NzRmMjI4ZWY4ZmU3MzRhMjEwOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmYjcwZGI4NThkZTU3NDYzMGZiNTU4MDFlMzQwMzIxOTUxM2EzMDk0YTNlZjBjZDkzMDg0OTM4MzFjZTM0ZDZmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vY29udGFpbmVyLW1vZHVsZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM4YTY5N2I0ZGJkYjVmMWFhODU4OTZjMTU3ZDI0Y2UwZDVkMTE1Yzc0ZjRhZDhhZjcxMjhkNDNiMGQ1NmE1NzgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQyZTk0MDRjMjBiYWI0YTgxZWU4MzRlMDhhOGU0ODc1ZmIzMWMwZDYxYWYxOTk1MWQ1ODQ4YWNhOGVjODk1Y2UiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmM0NDBlNDkzNmQxY2MzN2Y4NWNhNzgzYTI0NmQ3N2I2ODljNTQwNTgyZWFiOTFkN2U0MTZkMWI0N2U5OGYxYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wYXltZW50LXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRjNzc0MWRkMzk4NDk5NzJjOTVlOWQxYTc5ZjU1ZWM4OTY5NmRlYzdhNDc2OWUxY2Q2N2E0NTE0NWM2OTEwYWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWRtaW4tcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTZlY2QzMjY0OTQzZTZlMzdkN2I4MDI3YzE3NTc2NTYxMzEyNzQ0MzI3NmJmYzlkMjI2NjQzMmZjMTQ5YTU2ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2tleS1wcm92aWRlci5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODc3ZTdiNmNiM2JlZWEwMWFlNGQzNzVhZDQ5M2FmNjdhNDFiMzMzODcyNzBmOTU0MWQzYzg1M2YyMmY2NjdlMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImEwNWQzNjczODU4YWNkM2I4MGEyMDg0MmFjYjg0ODIxZjljZjhmODhmMWRkYzJhYzllNmM3Y2FmMmQ1ZTQ4MTUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3Y2JhYzk2MTNlZDQwMDIzMWExNmNjYmU5ZDg5MWUyZDZhYmU4Mjc0Yjc3MGI1YjZkMjBhMzQ2MDA2NGM1OTk2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1N2M3MmVmZDE1Y2VlODk5YjRmNDYyODczOTQ4Y2U3ZDg5YWMyM2RkNDNhZGNjZWMzOWRhMGU3MDc5MTIzNTJiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZXZlbnQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzQ1MjNkNTlhMzVhZDU5Y2ExZTY5ZGVmMTlhOGYxYzAwYjA3YzJiZDQxYjE4ZWQ4NWMxMWYyYTVkNTgzYzQ4NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2Rpc3Bvc2FibGUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODBmNmQ2MjM2OWZhZTM2ZmViODY2ZjFkMDkxODlhMTlkNjBkOTlhMzlmMzg5ZWQ3ODVmZjQ0YjU3NzkxNTRhYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL3lhcm4ubG9jayIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0YjFkN2ExYmNhOWZiOTI1YmIwMTBkMzc5MzJjNzI4NDE3YzZhNDk2NDQxZWM4MjFmZTUzNDI0ZWYwYjdkODAxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2FmZS1wcm9taXNlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMDU4OTU2OWMyMTJlZTEzM2MxZGZiYmQ0NjY0ZGRiMmI2MWFjNzgzMzI0ZTk3YzllMGNmOTM2YjViNWE4YTM3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9oYW5kbGVyLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ5MjFmODliNzRjNjJmY2JlMWM3ZGYwMDhhOTI4YmUzZmJlOWJmYjM4OWMwOWUzZDU0Njg4MjI4MTg1MTRkNjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9sb2dnaW5nLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmE5ZmRkNjgxMmNmNDQ1MTQ5MmJjNDJkMzIwM2NmMWEyMzRiZWY1YTU2NzYyZGRkMzMwNzFlOWY2MGM5YTA3YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pbmRleC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NDliOTBlZjkyZmI4N2UzNTIwNWQwYmMyMjk3YzJiMzQ0OGMwZjNiM2YyMjA5NmViNWJhNGFiM2JjYTJjNmUwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9jb25uZWN0aW9uLWVycm9yLWhhbmRsZXIuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJhMTY4MmZiMGU2YjA1NzU4Y2YxZTliMmQ5MGNhZDkyMjAwOGY0NWE4ZDM5ZmEzODU3NDAwMmVkODMzNzdiZWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTdmYjI0ZWQ4ZmI3ZjI5NGVjZmQ5NzJmZDNiY2I3YTk3ZmE3OTgzYTg3OTY0YmVlZDMwYjMzMTA0NzNjYjMzOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZXAtcGFydGlhbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDFlMDEyYTcxYmYyZmRmMGI4ZWQ1YmMwNGE0NGRhOTI5NmU4OGEzN2EwMzlhYjQ3OWNkOGViNmQzMzI5OGY2NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbWFpbC1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkM2EyMWM2ZDBiMzg2NmQ1MGQ3MTU3NTVhZjMxOTJiNWI5Mzk5OGFiYzY3N2E0MTY3ZGRjM2NkNGExN2QxOGQzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1zZXJ2aWNlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDJmNWVkMmI0YTU3NTkyYjYzOTcwMTI1MzBjMjYzZTRmOTY4MTc2YTY0MThmZDg1ZjE2MGEzNjI5MjFkYTY4NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1jb29raWUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY1ODI4YzIwODMxMTI3ZjU1ZTQ3ZGZkNzhiNWNjNzU5MDI2MDRkMDRlOTMyYjNkY2E1YWE5Mzk4NTE5YzMyY2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvd2luZG93LWNvbm5lY3Rpb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM0MzFkN2EwNjhkZGVhNzUxODUyOTQ3MjQ4MzhhZmJlMWU0OWEzN2RiOWY0MTkwNzgyYWQ3NGZmNDhlODE5NzQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWE0YzdlMTg1MTg5ZTQxMGVhZjA2ODlmOTZkYTEzYmU4OTY1MDVjYzY0MWZmMmNjODg4NDAzZTA5M2M3MTY2YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2NhbmNlbGFibGUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMmFhODY5ZWQzOTgwYjZhMGY3Y2M5NzIwN2NlOTFmMjlmN2NkYzJlMzc3MjZiM2I1NzE3ZDBmNjJjMmUxMDUxOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMyMWE0Zjc3NTJiZjYwMmU3MDBkMmZkMWIzMmUwMjE3ZThjYzVkNWNkMGE2NzRhZWExZGQ0NDUzNmQxMmRjZDYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWNjb3VudGluZy1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE1MzJiM2ZkZTVhOGM5NzQwNWQwNzlmODZhYTNiYWUxZWFlZmRiYzRjN2ZiMGRjYWVjYzJlNTVjYTk3ZTAzOTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQzNDIzNDQ1YWZiN2ZkZDhjMzYxYTRiNTQ1YjgzOGE3YmNhNTQ4ODM3YTgwMzhlZDU3YTFlODhjMzdhYWJhZjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLXNlcnZpY2UuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjhjZjAwNzI4MGI2MzFlN2E0MjU4YWJhMTcwNjBkMmNiN2JhOGZjZTcwMzJhMDhiZjAxN2NlNWVjM2RlNDYyM2MiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9rZXktcHJvdmlkZXIuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2U0MjRiMTYzMDM2Y2E1MmU4ZmU2NzgzZTNlMmJjNzExYzE5MWNlMzBlNjYzMTVkMWM1YzU2ZDdhN2QwNTVlYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hZG1pbi1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwOWFmZGUwOTA0ZGVlMzExNjRjMDZkMDRiNjdlYzdjZjQ5ODZjZGQwM2RiZjZkNGRiNmExYTZiYTE2OGRmNzcwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9jbGllbnQtY2FsbC1tZXRyaWNzLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImEyMTAyMGFjYjE5NmViYWM4YzQ5NTcwNTY0YzQ0YWY3ZDM2MTZjYzczMWViZDJhNmIxZDUzZWI4Y2I5ZGZhMjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9qYWVnZXItY2xpZW50LXR5cGVzLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRkNzFiMmMyYjgyODRmMjBlODhjNzIyNzA5NzliNjhlNWY4OTk4ZGY4MzZlODdjNzNjM2RjODI3YWU2ZTcwODAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtY29va2llLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE3ZmNlMDRkMmM4MGFkYmI2YmJmYTdmZjFiOTgzOTgyMDU2MmFjNDIzN2MzOTgyZmY2MjZkNzFjMDZiZDFlMTYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbS1zdWJzY3JpcHRpb24tcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwZjIxZGQ2Y2ZiMmYxNGY4OTg0MWMxYmE3NWQ1MWU4MDZkNWQwNjljNTJiZTdhYzc4YTI0ZWI1NDlkMjM2NTI2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGF0ZS10aW1lLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhODQwZTI1NWJlMDcxMjlhNDAwYjc5Y2NkZjFmZGM4MzM0ODU3ZjAzYzQzZGZiY2NkMWZjYTE1MmJjOGY0ZmE1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9lcnJvci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQwMGU1YmM1NjdjYTU2NDRlNjFjMzFjZTc4M2E1M2ZhYmNmMjNhZmY5YzRmZWVmN2ViZDBiZDQyMjMyYjE4YTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzU4N2Q0ODRlMDY1N2EwODAzYWVmYWJlNTA3MjdjZWM4MDNmYmUzNDljNTFjOTA1N2UzNDBjMGVlNGFkOGIwMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci9jb25uZWN0aW9uLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU0ZmY3YzQzMDYzMTM0NjU5NzE3MmFiMWIxZTFmMjBjYWNmMGIzZDc1YmJjZDJmZDVhNzgwNzM2Y2IxZGY4YWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ncnBjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjAxMzY0NWY3ZTQ4MzRlM2ZlNjEzNjVkNWQyNWNiZWUxNTE0NTQ3YWI2ODMzNjJjMDFmNTdhODllNWRiNmU4ZDMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC93b3Jrc3BhY2UtcG9ydC1hdXRoZW50aWNhdGlvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1OWVjYjIwMjlkZjFjNWIyYjc3ZTA1ZTA0NDViYzA1MWQ1ZjZiNDZmMjAyNTUxYzYyYjc2MmY3YTYwYzg3OTE2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1zZXJ2aWNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRiZTk5NzA1NzViZjMwMDk2ZmUyNTVhZTVlMjllMmNlZjY5MjM4Mjg1NjE2ZjBjZTQxZmZiYjRjNjdjMzA1NmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQ2MTdhZjEwMGJlYmViZmQ0NzFkZTljNzEwMzFmMTE0YzY4ZDI1MGY1NDcyNmM4MTY1YTk0YjFlM2VmYTNjMWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW52LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQxYjVkNTliNGY3YWRmZTdmOGMxNzFkNmFhODdkZWUxMGEwYzllYjU2MTMyNjQ3ZWUzMTNiZGY1MTk2NmU5ODMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL3Byb3h5LWZhY3RvcnkuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTU4Y2E0MDExMjAzODkwZGFkMTFhOTA0NmZhYWMzNDFiNTQyYzM2ZDRmM2I1ODY2ZjQ1ZTQ0NjY0ZjY4MGQ4NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dycGMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzOTI1MGIxNGExNTJhN2Y0MjdmZWEzODVjN2NlY2U1ZTM2ZGI4YTZlMzEwYjEyMzljNmViMTg4MWRlOTU1MTk5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dzcmVhZHkuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4MGRlZjQwMDNlYzAzZDljNDNkM2ZhZDRhZWZiYWY5MTgyM2Q1ZWMwMGU2ZjNiOTQyYzYyZThhNzZhNDE5NGEyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDA1MzRkNTU4OWU1ZmI3ODU3ZTg0NTRlMjYzNjc5NjRjZjgwMTM4NmQxZmI4ZmMwNTE1Y2UyZTQxYjEwOWU4ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdjMmYyNTk2N2Y4NWFkNzYzYjEwZGU5ZTE2NDY3ZjY3YWM3MzY5ZjA5MTg0NjNiODg2NTI3NTM2Y2M1NmRlOTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvb3NzLWFsbG93bGlzdC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJkMmM3NTFhZTdhMTgxZWFmM2ZkZTM5ZDgzYjVkNmVmMWE5MTU5YjIwMDRkMDUzMzlkMzdlNTkwN2IzNjE2MWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9tYWtlLWxpbmsuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVlM2E3Y2ViYjRiMDhmMjg1NDdmODliZmM0ZTZhYzM2NmY4NjViMjkzNjRmYWE1ZTVmYmY0OWU1YmVjZmExZDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxYjVlN2RjNTA5ZmQyM2JkMzQxMjMyMTg4MTFlMDA1YTgzMTgzYmQzNDg0OGViMWM5NWZmMzZlZWM4NjRhYjVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vY29udGFpbmVyLW1vZHVsZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTJlMmNjMTg1ZDg0ZDJlOGIyOTgzYzRiNmFlOTgxNGIzYmEyMTQ4ZTA0MmUwOTVkNmUzNmYyNDJkYWUxZjc3ZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzE3ODVjNDE2MDM4YzJmNzJkMTk3MTkyOTkzOTQ5MTgyZGY2OWRmY2RiMmIwNmQ2NDE4OGI3MWE4NDUzZWUwNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NlbWFwaG9yZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NjRlNzg0NDYzYTBlZjAxZDFiOWJjMTkxYjdjZTIxMTNjMTNmOTJlODJiYTAxNDNlMmFiMmMwNTQxYmFmMjVhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcmVwZWF0LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQ5OTA1OTE1Y2NhOTVhMTlmNTRmZGZlZGY3N2VkYjIxMjY1ZTYwNGZlOGJiNjU0ZmZmZTg3YjMyMzBlYTc4NzIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9za2lwLWlmLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwY2JmNjIwMjJiNjU2MTZjNWExZWMwZDU5YmVjODExNjg1ZmVhYmUyMWIwMzg0YzhiOWVhZjVlNzQxYWIyM2ZlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvd29ya3NwYWNlLXBvcnQtYXV0aGVudGljYXRpb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImYyOTgyY2QwYmIwZjgxNWVkY2JjYzMxZWY3ZGU0YWFkMzExM2UwNjYyMmNlOTZmOWE4MDZlM2E1NTc0MTNmMmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Nvbm5lY3Rpb24tZXJyb3ItaGFuZGxlci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMyMzU4Y2Q2OGQ4MTM1NjczOTQ4ZTExZTY3ODRkOTQ5OTA0N2ZiM2UzMjcwM2JiMTJhZGY3NzgwNGJkZTlmN2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMDY3ZGM4MzBiMmE1ZGUwZDUyZTc0ZTMyMzgxMjdlNjc5YTkzNmUwYTc3MGFhY2JjZTY2MTYyYjIyMDAzMTRiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTYxMTQ3MzM3YTViZjZlZWQ4NDJlNmE0Y2IwMGRjYzU4YTNjNTM1ZTE1NDU0NDg4NWRhYmQ5YjYyZTAxZjZkNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdXRoLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyODg5MjExNmMyMjYyMDYyYjllOWMzMjQwMGQ3YzhhYWViNzZkNjI3ZTg3OTQ5Zjg1NTRhZjhlZjBmN2ZlY2RjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vY29udGFpbmVyLW1vZHVsZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNDYzZWMyZjA5MTlkZTAyMTJmNzFmMDRmMzRjMWE3ZjcyNzc4MWE0MzU1ZWE4NGM5Mjg0MzU0Njg5YTE1MjVhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvamFlZ2VyLWNsaWVudC10eXBlcy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWQ4NzVhM2M2ZjQ5N2VkMWY5ZTNiOTgwMDE5NDVmOGJkMTk3YjE5OTlmYjZhZDg3ZTE3OWQ0NzdkMjJmZDc4MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzQ1ZDBlNzk4NDdiMDUxMzNmMmM2Nzg0ZDgxYjRmODVhYTZjNDdhMmY5NWFhNDg3ZGZlODdlY2NmYTYyYjYyNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4YmM4NGY1MTUxM2I0NTExNzU5ZTI3ODQ1NjM0MDFjY2M5NzYyOTVlOTc1NGM4Y2Y1MDRkYzg1MDg3MjA2MWIyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVlcC1wYXJ0aWFsLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU2ZDlkOGQyYWY4OGNhMTcyMjY0ZWQ5MGE5NWRkZmIzNmRlNzFmZDcxNTFhMTQ0YmM2NDYzZTA2ZTVmNmMxMjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd3NyZWFkeS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyMzA2NTM1YzUyN2NlNjc5MmM0NjAzNWNmOWE3ZDI4YWZmMWRmYzU4NThkODBjODRhYWU3MzRkMzVjOWMyNzEyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2FmZS1wcm9taXNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImEyM2UwMTI3MTE0OWIzMTlmNjEyYzUxNWYzZTYzNThkNDRkNmE5MjVhZjQ0ZTQ1NzY4YTM0NjJlNWNmMDUzZmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hbmFseXRpY3MuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJjYWU1ZjQxNjUzNjJjNzExNTQ1MjQyZWM0NzUzNjBhODliNmIwMjI1MmIyNWNmODU1MjIwYjA3NDY0OGJlNWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2hhbmRsZXIuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE0MzczMGQxNzcwY2I2NGMzMzYzMTQzZmI4ODY3ODMyZWU4ODdhNDAxYjhmYjUwMzAzNDYyYzQ5MTZjYmU5MTIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9zYWZlLXByb21pc2UuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDYzODQyMjBlMzgyNDlkMzRjOWUwOWM2OTFkY2UzODFlNjI4NjM4ODc3YmJlZDg1NzA4YTc2MDRmMWY5YTFhOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0YmMyNWNiZDMwYjQzMmFjOTYwMmNhMDkzYTVhMzc2ZTRiMDUyNzYxN2NmYTU1M2E4YzVlNTI4ZmQzZWJhNmQ3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2tpcC1pZi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgwNDUwZWM0YjBlMTFmMTBhNjg3NzhkMTdkZTE5Mzg0OWMwMWZmNDkzZGE4YTUzYjQwNTAzNTU2NjBiYjE2ODgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvY29ubmVjdGlvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiZDU1MWRlYjg0MjRjNDVlOTNhOTFkOGFlYWZiMjRmNDQ2NTg3MjNjZjk2MmY4MTZiNzg4MWI4ZWViMTU2ZDVlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3ZmZlZTc3NTY2ZGYzYTc5YzhjMDg4YWZhODRjODVlNGQ4NDA4NDAzODgxZTMyMzJmMjRhMTE2OGIwMzY0ZWE4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyNGZhN2EwNjg2OWM3ODlkMjc0NmQ5OWViY2RjZGEyODgxYjU3MGUyOTk1Mjk3N2U2YjdlNGJhN2M1NGI1NWU1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Blcm1pc3Npb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkNDUyYzFmM2U0ZDdjZGI2ZTA1ZGI1NTEzM2FmNjI4Y2Q4Zjc4NWExOGM3YTkxNDY2MWM3OTBlYzIyMTk1ZmI3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxOWY2YmM1NmRiZjFkNjgyNTgzZTkyNjk4MzQyMmFiN2Q2M2Y2ZGZhOTY5YWNkNjlmMThhMmQ2NjAwMGNjZDA3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVmZXJyZWQuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2MGEyZDYyNjgwMTU5MmNiYmIzZDMxMzEwMzcyNjFiNmI1MWI1Y2ZjMmMyOTU0ZTIzYzUyZWQxZDMwZGI0NjIxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1mcm9udGVuZC1zZXJ2aWNlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODA3MTZkODI2ODFmOTg3ZWIzZTU0YjdkYWQyMTkwNmNiYjg4ZmRmMTRlY2IyNzg1ZTQ3ZTc2YjU5MjEwOTdhMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1jb29raWUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1NDFlMjM2MTAzNzNjZWRlYWVmYWEzYzJmMDQ3NDlhYTU1Y2E3OGEzYzVlYmQ5NTg4YWZiMjg5MDg1YjU1ZGZmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luZGV4LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImViOWZlYjc5ZWE3YTQzYmU1MGVlMmExODgyZjVjMTAxN2NmZjVlM2FhNjkwZWU3ZmY2MGNhN2E2OWI0YTQ0YjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW52LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzQwNWZmOTk4YWJmOThkNDAxYjFlNTRlZThjNTdiZTA1MjdkNjNlNWJlMjIyZDA2ZmE1ODQ5NjQwM2E0NTU5YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9vc3MtYWxsb3dsaXN0LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MTAwMmFlMzRkZjIxMzFmNjAzZGVjMmZjMTMzOTY4OTc5NWExMGI3YWFhNGVmNjc0ZWIyOGRlZTdlMWIzZDFiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL2Nvbm5lY3Rpb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyYzQwODljOTBlNzI0M2E1NDI3Njk5MmUxMDI0MTA0Nzk4OGNkMDExOWExOGE2NTUxZGFmMzExNTU1Nzk5NDg2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9wcm94eS1mYWN0b3J5LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVlZjg2ZmQ1MzAwOGY0NDhlYWQzZjkwNDBjMThlNzA5NWY3YmJiMjk1ODIxNWM3NzZmMmM5ZjNiNGYzZDJhZGEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdHlwaW5ncy9nbG9iYWxzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTg2OTcxYzQ4YTZkMTQ2M2Q4Yzg1YWIxZDg3NmZkNDM3ZDA3MjE4ODc2ODMxNjY3NTk0NWU5OTMzNjQ3ZWZmMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTEyYmI4YzNkOWQzODUzZWI2NWI4YmQ3OTBiZTViMTdmNjAxM2VhMzA2NDU3NTk0ZDcyYWNkZDU4NDU4ZWQyOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2Rpc3Bvc2FibGUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkODA4ZmQyNzgxMGRjYTZmOWIwNjQ1NmJmMTMwZWUwZWIxZTI3MjYyZjZjYTBiNjM0ZjJkNTJhNTY3NmViNzZiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1pbnN0YW5jZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTY2NTQ3ZWQ2YTk5NjM1MGQ5NmRmNWRiZjA3MTMyN2ViM2M5MDUyMmI4NzU5Njg3OWMxNTdmNzA5ZDE3NjEyMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZmVycmVkLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMTYyMjFjNmFlOThiNmIyZDhkM2IxNDg0ZTJjNTQyNzk1ZWI3OWM1N2QzM2FmMDZlZDU5YzFjOWNmN2JjZDA5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1mcm9udGVuZC1zZXJ2aWNlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI3MDliMmNkNDA3ZDczNDA0ZTViYjc1N2YzNGE1MjExZTkzOTg3OGI0NGRhMmRmOTQyMmZlYWE4NjVhZWFiNTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiNzEzYzAzNDJlNmZhYjhlMjNmYTUyMDAxYjZhNDU3ZWNjMzc3ZjFlMmYzYTIzYjYwOTQ3ZjRiY2U1MGFiZjJmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1jbHVzdGVyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjYjZmOTZhNmY0MTBmMzU0MTIwNDMxMDhlNWU2ZDY0ZDhiOTkyNWI1ZTc2YTI4MjQ5ZDAwOWRkNmMyMGVlMzc4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvY2FuY2VsYWJsZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDY3NzZlZTIyZmZjNDBjMGY5MDViZTBkNmUxMjkzOGM0YTlmNzY3ZjAzMzdjNGU2NmMxMTViZTkxMzQ5ZTg2YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtZnJvbnRlbmQtc2VydmljZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzYTQ1ZTI1YTVkMWNlZDA5ZWYxYjU4ZTRhOGQ4YTllMjIwYmU2NGY0NWFlYmMzMTI4YjU1NGRhNGM0MzA4OGYxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmY2FhZjBmNGZlMDk5Nzk4MWNjZjQzMDM5Y2YwZTVhN2EzOTU1MzFjNDA5MTY3OWRiYmRmNWZiNTNhZTg0ZWEzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY3YWI0ZGNhNDc4Yjc3NjM5Yjc0ZmJkNDZjNzRlMWIzN2QxMDUzNjViZTg1YzMzNTRhOTg0MDVhZmYyNjI2YjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Vycm9yLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZjBmNDc5N2E4MTUxNDc3OTM2NzEzMTI0YTNiN2FhMDAzYmM3MmM2YjI5YzUzYmJjOGVlZDU5N2UwYTczYTRjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbG9nZ2luZy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1ODExYWE3NTNmMWU5NWU3Yjg1OTRiNDE2ODJjM2NkMTRiNmM0NGI5NWNhYmNhM2EyOWRmYTM5MmI5ZGViYmY5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGF0ZS10aW1lLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE1NDRjNDY2ZGI5NTllNzE5OTRjYzY1MTY2NmFjMWYxNWJmMGU3MTU2ZGEwMTM3MzUxZmQ5MGU5OTQyZjAzMWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3NjJiMTA2NWNkOTUyYzliNzNmYjc2ZTM0YzUxOTNjMTAxNjZmMzk5YTM3OWEyNTAyOTNmZjhjNjkxMDJmMjU3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTE1NWI3YzE3YWRmNTJkY2QxYjliYjdlNjAwM2I5ZWNmMjM4YTc5M2MyODJhMWRiYzk5MTIxNDJmNTA2MTIyMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRlMmVhMDk4OGJkMDk2ZTY4ZGI0YTNkZmYyZjA2YzM5ZWQ1OTZhMzJlMTAzYWNhYjc0Y2Q2MWE0M2E5ZjAzMzgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL25vZGUvY29ubmVjdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4YjZhNTllZDIwNWE4Yjg5YTZmODc3Y2MwYzUwNmQyNjA1N2ZiYWMyOTJiOTg3NjI5NmIwNWZhNTFlOWQ3MGFmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkOWJhYmM1YjQ5MzYwMzk3NWQ4OGRhZmRlYzRlYjkxNWY1NTE0ZDhmMGEyNmJmNGRmMGI2OGIwNTBlMmIzNTYzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZXZlbnQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTdhMjczMWQzNWJjNjNiYzlkMzNlODdmY2NhMzU3ZjY3M2RjYzMwYTAwMWNjNDUxZGQ4YTBkMDdhNmU5MTk5YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dhcmJhZ2UtY29sbGVjdGVkLWNhY2hlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjUwZGRmMWIzYzUyYzNmN2VjY2ZkYjI2ZGVkYzgxOTBkOTAxMmFkODgyYmM5MzNiOGNlNWNmNmMzNjI5YTA0MWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvd2luZG93LWNvbm5lY3Rpb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkZmEzNWI5OWEyYjk2ZWU3YzJiNDhjZjA5MDM5NTNlNjAyOTEzZTE4OTkyZWFiMTZjYTFiODcyYzQwMjE3NjViIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW0tc3Vic2NyaXB0aW9uLXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1NTdhYWEzY2EyYjc0ODRjMWI1ZWIyZGQxZTFmZWRlMjBlNTI0YzcwNmNlMTE2ZWJmYjQ0YzRhNzQ4MzI1OGI1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY4OWVkYWVmOWFkNjUyZDM3NzEwZjc1ZDVhNTZhMTg4OTIzZDRiZmUxN2MyOTU5YTJiOTRjMzY3NTgzZGY3YTIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWNjb3VudGluZy1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyOGI4OWU5ZGZiYTBlMzdlNGU4NTIzNTZhM2I4YjM3MjlhYWVmMmU5YjNjNTkwYTgyMDMxYWUxNzdhN2ZmZWJkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZXZlbnQuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5OTE1NzI0Yzg4NDQ0Zjc4NDA5ZmI4ZDhiZjNmOTg4ZjU2YWNiN2M0YmUyNzVmZjhjMzEyYjFkMjc4NmEwZTIzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2VtYXBob3JlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTUwY2VlNzBjMzFjYWU0MzY3MjJiMTQ5N2E5NTFlMDNiMmQxZjRmM2YyNzlkZmVjZjBjOGZjMGU5MGViODM4NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9saWNlbnNlLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY0ZWFmMDllMjVjZGI0NjAzOWNmZDA2ZjZjYTExZjkzYWYwN2NiZmZiNmMzZjZmZjlhOTU0ODk2NWFjZTA0NjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTM4N2FlNzc3ZGJkODk3YTMxMDg1MTQyMWIyMmIyZjZhMzJjM2NkNmY4ZTExN2Y5M2VlM2M1OGVjYzFjYzE1ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJjMWM3ZDM5N2ZjZmJlYjYxNjk2ZjY3MmExNjZjYjU0ZWUxNDhkYTVkNTU1Y2M1Mzc3NzU1ZGQ4NjBiYjNhNGYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWU2OTRkMTM2MmU0YTdlZWVlNmI2ZDM1ZGY4NjQ3ZDcxOTk4MzJhOTA5Y2Y2NzUyN2NmNDViODlkNzBjZjgxYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9oZWFkbGVzcy13b3Jrc3BhY2UtbG9nLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjhkYzU2YjUwZTFkYTYzOGRhOGZkZjFmNzdhMzE4YjE1MWQzOGI3M2Q5NjY2MGM1ODliMDM3N2I2MzQyZjJhYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2phZWdlci1jbGllbnQtdHlwZXMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZWZhMjMyMGE0NWQwNmQwZWI1MDM4ZTM4ZGZiY2I4OWZiNDMwZTFlMDZjZjQxZTdkMzI3ZDY1NjNmMmYyYzZjOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2NvbnRhaW5lci1tb2R1bGUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzkyMzQyMDdjYzM4MzY1ZTdhYTU4ZjlmZjVkNzdkZTA4NjgzN2Y4ZDBkZmMzNDlkYTM2MDM4NjZiMWQ3M2UzOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZXAtcGFydGlhbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNWU2ODExMzgyNzA1MWNkZDkxOTU3ZDI5YWU2M2E4MWVkMGU4NDdiYTg5MTljN2JmOGY5N2U5YmY2OWEwZDRhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYXN5bmMtaXRlcmF0b3IuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImYzY2E0YmQwZTkwYWQwNzQ3ODBjYzY2OWFmYWFmMTA5NDZlNmVkNTU3ZTU0NzYzYzlhZDk3ZWE0OWRlN2VjYzAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW52LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA1YTZlZGQ2ZDMxYWM3N2Q0ZmM3ZGE5NTczMTI3NTUzNGQxOWIyYWZiMjFkMTE4NTlhMjc1ZjQ2NzBiZjc0NzUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL25vZGUvY29ubmVjdGlvbi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNmNmQ4NGFmZDM3MDY1NGUwYjI4NzE1NzY1NTg3ZDJmZmE2YzMyY2E1NDg4OWY5Njg1ZjliZjU2MWIyMmM4NTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nYXJiYWdlLWNvbGxlY3RlZC1jYWNoZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjQzNDRlZWE0NzRmZTk3OTk4N2M5YmZlZjk1MWZhMzg4ZGM1MmRkZTVlMTVlZmNjZmEyMjA2YzE3NzNmMTBkNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tc2VydmljZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3MjkwNTYyMWE0Y2U1NmRmYTFkNWRlMWY2ODU0MTA5Y2M0YjkwNWUxYTRjZGUyYzA1MzNhNjI1YjlmNjQ0NzEyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL3dpbmRvdy1jb25uZWN0aW9uLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJlZGE1ZDFjMmE3MDdhZWY0YmE1YzNlMWE0MjMzZjdkOWU0YTUwZTMxYWFiZjNkYmI5OWM4ODQ2MmU5ODZmZTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLXNlcnZpY2UuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNmZmRjOWMzYmEyZmQzMDY3MTU0MThjNmNiODAyZDkzY2Q2Y2M5MjhjZWU2NDgyOGE3NjE3ZDQzNzMyM2FhYjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NmRjNzc5NTExMDcxOGQ2ZWE3YjE5ZTFiMDMxN2M3NjBmM2RkZjY3MmMxMTlkNzc3OGM5ZjIyYjlhOGEwZjY0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZXZlbnQuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdkMzc5NGJiNjQ5MWE5MWJjZDE0MDA3NDVlYjdmNzQwODgzYWIxNDU0YTllOWUzODk2MTI1MTBjMzA4MWE1ZWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9za2lwLWlmLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBiN2FmOTMwM2UyNGMzMjVmYzk5NmY4MzVlZWZkNzM2MTk4ODdkOWFmOWVmN2MxNjJjNGZiOTc5MWUwM2YzMTYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbGljZW5zZS1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE0YjVlZmI4OGI2YmFjYWEwMzExNjQ0NTAyYzg3ZWZlNTA0NDhmZTczNmVjMjJjNDQ3NmQ2MWM2MTYxZDljZGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWVwLXBhcnRpYWwuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NjRhMjkzMWMxNzkzZGRlYTVhODZmMjU3NmNmYmU0M2IzMmFlMDIwZjZkYTk1OGFlNGY2OTA1ZjlmNTFmMjEwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI5ZmZhM2Y0YzhlN2IzM2I1YjJmYWUzNGYxM2E4NTdlZWM5NzYwZmM5ODc3NGRjOTNmYjQxZmUwODcyNTE4YTMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYXV0aC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjViMzk4ZGU0OWNiNGRkMjVlZDIzNzM2ODMzMWQ3YzQyNWRiNTBjYjhlNmFkYmQ4MjhlZTNmMWYwYzAxM2VjNDkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9yZXBlYXQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODcwMmY0ODkyMGU5MWEyMWVjZWFmOTMzZTczMTUzZGE1MTEwZmMyN2E2OTNlZWE1MDJhZDZiODkyMWYwZGE5YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI0MWNmYWEyMDYzZWUwYzlmZmNiZGFiNzA1MzJjZjdlM2MyZDZmNGExZWMyYjY2YWQyMGYwZDk1ZWUyNGExOTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjlhZGMwYmI3MTYwMWU4MWU0YmYzZGRjYWI3NGMzYTA4YzQ3ZDQ0ZTIyOTI1YzljOTFlMGVhYjhlOTdiMWNhYmMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL3Byb3h5LWZhY3RvcnkuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MzM4YTM5MDA2NDU5MDA0Zjk0NzliYTgwYmYwYjYzYTIwNzE0NzFkMzQwMDIyNjJmNGM4Mzc3NDNkYTk0NmY2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTI2NWY2ODMzM2ViNDI4NzJmMmEyNDY0ZTAxNjRkZTViZjhmZmM0NDYxZGEzZWMxYTE5ZGE0NTQ5ZTQ3MjI2YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmRlYTY3YWNlY2EyNzRlYjRhNDVmMTQ4NjJmYTMzMTcxNDJhN2YzNjFlY2U5YTA1MmY0ZDg4ZjU3Njg2MzFjNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hbmFseXRpY3MuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGNjMDI1YWI5YzZjOTU5MzA5N2ZiNjJjMmZlMWQ4YmVmODViZWE4NGQ4N2EwZmEwOGUyZjI2YWNiYWYwYjAwZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbnYuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjlkMDA4MzlhZGIxZjJjZmMxZDExYWY0NWFmZjM0ZTg0MTIzYmY2MGZkZjMxMmUzZjUxNjdlZTE1N2Y1OGNhNTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGF5bWVudC1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzVjYmQ4MDM2YTJhN2I2Yzc3ZGVjNTljMTk3OGZhYWE2OTU3Y2I5ZmU1OGQ1NWI0OTAxYjM3ZTZkZTdhM2I0ZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90aGVpYS1wbHVnaW5zLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNGM1MzQwN2ZiZDVkZjhmOGMyYmNmOTQyNDM4NzM4M2M1NjM5MTIzYWNjNTJiZjEzOGVkODk2NzEwOTE1YWZmOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RhdGUtdGltZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ODc4YmViMGY3Y2VmMmZhODkyNjY1NWU1YzU5OTBjMDlhNmI5YzgwYzA0MTY2MTAyNGJiMGIwYmYyMmM4YTE5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1jbHVzdGVyLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk2ZDUxY2IxZDUxZGU4OTNhZWQ5NGQxNTY4MGNjNzk1OGY3NjA4OThlNTNlYTRlODY2MTg5NjlmOWFlZTEzYzEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9tYWtlLWxpbmsuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDU0MGVjNzhlOTUwY2I3MzdmMmI2M2M4ODJhODZkOTM5ODEyYzY2MTJlZTRmMmUzYWM3N2EyNjVmOTMzMjc2MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3JlcGVhdC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTYzOTY1MWZlZjA4YTYxYzY3ZGQwYjkwZDQ3YTVkMTQwMTQ5YzM0YTI1NjNlYTVkYjBlNWVjZjU3MDI1YmExNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVhYjhkMDhhMzdiNDYyNzY4MGI5MjY2YWNiMTlhNTY4ZWRlMzgyNmFlNDNmZmUxMjY0ODRiNjlmNzhlNjc1N2YiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbXMtcHJvamVjdHMtcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmU5OTQxYzk1OTQ4MDJmYjQ1ZGRlNzBlMzBjZDBmZWZiYTdiNTc0MWFiMmQ1NGFjZmRkOGViOGMzZjgwMjU0YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL21ha2UtbGluay5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZhOGJiZjhkY2U5Y2Y1MjI3NjkxYTA2YTRiZTdlYjc1NmY4MWQxODQ1ZTFhMThlNTgwOWM2MjM4OWU4NDhiMzkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvb3NzLWFsbG93bGlzdC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3MjJmMzNhNzQ3NzU0MDE4NWE2MWVhZTY4N2YyOWYxZDNjYWFjZmE0NDJjOGE0ZGQxM2I2ZWY3NDVlMGZmOGFhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVjNDAzNjA1NzZlYmI5YzI3MjI3ZDlhMDFlOGI3ZWY3MjE2NGFmYmJkMjQ5OGIzNDM0YzQ2MDBmMDI3NTAyNGEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFiMTliYTVmNmQ5OTNmY2NkNDdlYzZhNjc4ODA1NTMzNmE0MmU2OTIyZmE0Y2JlODljMmI0NzY1ZjMyMjFiMGIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyNjkzY2ExMjIyOGM4NjUyYWI1ZWMwYmEyZWM1NzM3MTJhNTk1NjdmNTY5MDQ5ZmVmZmNiOTRiNWMyZmJiNTZiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1YzY5ZDM5YmUxMTMwOTQyOWExNmIzMWMxNjBkM2M0MDMwMmY3MTNjNjAzNGFlMTI2YWFjMmJlNDVkMzhkY2JmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FuYWx5dGljcy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMzZjY2ZGE5M2MxNDAxNTA1YzFhODY4MGNhNDBkNzg5YTI4ZDgwODRhNzQ4MjUzMDlmYWM1NTM0NzE5ZDE4NzEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9rZXktcHJvdmlkZXIuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDM4YWQ4YTlmNjRlNWI4NzMxMTg5YjYwNTA0YmJiYTM1M2IwNzJjY2ZjM2VkZTg4YWNkYzQ0YThlOWQ2NmVlZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtcy1wcm9qZWN0cy1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyOTM5MDAyYWRhZDc0MjM5NDMyNGY5MmIwNjY5MmNiYWQ3MmU3NjhhNjdjNzcyMDM5MWIxNmE1MWEyOGM2MDlkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3R5cGluZ3MvZ2xvYmFscy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmMjdhZjFmMzU1NmRiYWQ3MzU4ZWQyNWNkY2FlNjVmMTJiNTM5OGM2M2I1YWY5YjMzOWI0NGFmNzhkM2FlZjIxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2RhOTVhYjBkMmJmMjRkNzQ0NmZhNTM4YjExZDI5ZDQ5ZDA5NTkwOWMxOTgxZWYyNzhlYjZjNzNhNTE2OGNhNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MWEzYWEyOThjMjc2NjQ4YzdhYzI0YTg0MTE1YmY1YzhkNzM3NWYxYmZjMzU3MjgyZjFjYjQzOGM1ODk4NDgwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9jb25uZWN0aW9uLWVycm9yLWhhbmRsZXIuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTg0MWM4ZDg5NWQxYjM3MzIwOTVkMmEwZmQyMTc1YjVlYWUxYmEyMGQ1ZWJkOWNmMmY0YTc5YmQxYzA3M2RkOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg1YzZhNTNkNDQyMGI0OTM2ZGQ0YmZhMTAxMTMzNDMwNDhiODEyY2RiZGEwNjVmYzVmM2NiNzRjM2JiYjA5NmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjRiYWQyNDg2OTUzZWRhMWQ1NmI1YTZjZWM5ZGExZTMyYmVhYzU0YTA0ZTFhMGMzNDM0MTYxYzRhNzYwMDU5NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NlbWFwaG9yZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWViOTllY2JhNTFiZjYyODNkZTRmNGE4OTA0MGQxNmQzZjBmMmY5YjJmMjc5M2NkZDE3YWZkYmM3ZTUwOWM5NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90eXBpbmdzL2dsb2JhbHMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNkNjcxOTIwN2JmOWE4OTY0NDk3Y2NmODQ1ZjRiOTk1ZjcxMjE2ZjJlNzc4NGU5NjAyZWJmNWYzNDllNjRiZDAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvd2luZG93LWNvbm5lY3Rpb24uZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjA5NTc3MmI1Y2M4ZWVmZTVjNDNhOWFkNmE1NDk2YzFlYzJhMTE3NWMyYmY4ZDYzODUzNmQ5M2E0ZGIyNTYwOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NraXAtaWYuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjM0OTlhNDcxOGI3MWU1ZjE4NzU4YzY0ODhhMmQzYTVmZmRkYjE3ODdkMzdhYmQ5ZDFiN2I3NDZjZTBhMDdjYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU1Y2NjYjg4MjdkN2E5MGQ1YmNjYmQ5MDU2MDg2OTJhYTA1M2YyYzA0Mzg2ZGZjZTVkZWZkMGEzYmIxNjM3ZDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGxhbnMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjAwNTRjOWFhOTRkOWIzNjZmNjFmZWZjMGM5OGNlNDE0NTI3NzI4ZmUwNDJjZjM1OGRlNzAxMzc1MzU2ZTI0NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FuYWx5dGljcy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4MWU5OTMwMGJlYWVlNmYzN2YwNjBjOTY5NTg1N2YzODEzNDgyMzNhZmJkYTU3NjM5NmUxMzhiZDY4MTVkNzkwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGlzcG9zYWJsZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWIyNmJjMGQ4N2UzOGYyZDBlYzYzOGEyNGJlMGYwNjkwYTYxYmEzMTFlOGUyN2NkYmNiMDU4MGVmZjQyOWM0NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wbGFucy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRhYjJiYmU1YjUyMThkMjYwYjgxZGQ5YjU0OTcwZmIwYzk1OWRiMjA2MzFmOGJlODlmNTkwMjFhODQwMmE1MzYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjQyYzJjYmQxY2MzYjBjNWZkMDBjODE4ODczMjFlYjc5M2U0YzE2YTYzMGU2OGMyMmRjZDBjMWY2ZDYzYmRhNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyMTMwMzllNWZlYTE5MDI5MTA2MDVhMzZjYjJmNWQzYWYwNGUwZTdlNTAzMzY5MmUzZDFkOWVmYTU3MzVlY2YzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL2Nvbm5lY3Rpb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVkMDRlM2M5ZDExZjE4ZDdhY2YzZmFkMDcxOWZiZWQ0MWNlM2UzZThlOThjMmUxNzVkYmE5MzY2ZDA3NTM1ZWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2hhbmRsZXIuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YTc0YTg4MWE5OWI2MjcxOWE5ZGExYzFiM2IyNmVlZTIzZTQ5ZTYyYTdlODdjNjc1NTkwZGEwMzk1NmUwOTNiIgogICAgICB9CiAgICB9CiAgXSwKICAicHJlZGljYXRlIjogewogICAgImJ1aWxkZXIiOiB7CiAgICAgICJpZCI6ICJnaXRodWIuY29tL2dpdHBvZC1pby9sZWV3YXk6MC4yLjE2LWI3ZDJiNTRAc2hhMjU2Ojk1MTJhZjFhYTRhY2MwOTYwZGQ1ZTk3YzUwYjdjZjFhNjY3MTNhODFhMDlmODI0NWFkOTUxMThlZTEwNzBmYmMiCiAgICB9LAogICAgInJlY2lwZSI6IHsKICAgICAgInR5cGUiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dpdHBvZC1pby9sZWV3YXkvYnVpbGRAeWFybjo3IiwKICAgICAgImRlZmluZWRJbk1hdGVyaWFsIjogODEsCiAgICAgICJlbnRyeVBvaW50IjogImNvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sOmxpYiIsCiAgICAgICJhcmd1bWVudHMiOiBbCiAgICAgICAgImxlZXdheSIsCiAgICAgICAgImJ1aWxkIiwKICAgICAgICAiLS1kb2NrZXItYnVpbGQtb3B0aW9ucyIsCiAgICAgICAgIm5ldHdvcms9aG9zdCIsCiAgICAgICAgIi0td2VyZnQ9dHJ1ZSIsCiAgICAgICAgIi1jIiwKICAgICAgICAicmVtb3RlIiwKICAgICAgICAiLS1kb250LXJldGFnIiwKICAgICAgICAiLS1jb3ZlcmFnZS1vdXRwdXQtcGF0aD0vdG1wL3RtcC43dks5enRWdjdTIiwKICAgICAgICAiLUR2ZXJzaW9uPXNqZS1zZXJ2ZXItaW5zdGFsbGF0aW9uLWFkbWluLjgiLAogICAgICAgICItRHJlbW92ZVNvdXJjZXM9ZmFsc2UiLAogICAgICAgICItRGltYWdlUmVwb0Jhc2U9ZXUuZ2NyLmlvL2dpdHBvZC1jb3JlLWRldi9idWlsZCIsCiAgICAgICAgIi1EbG9jYWxBcHBWZXJzaW9uPXVua25vd24iLAogICAgICAgICItRFNFR01FTlRfSU9fVE9LRU49WDNiTmF0WVB1ZElKY0N6NmtGbFRuNTRwcnVtUUFxR2giLAogICAgICAgICItRG5wbVB1Ymxpc2hUcmlnZ2VyPWZhbHNlIgogICAgICBdLAogICAgICAiZW52aXJvbm1lbnQiOiB7CiAgICAgICAgIm1hbmlmZXN0IjogewogICAgICAgICAgImFyY2giOiAiYW1kNjQiLAogICAgICAgICAgImdvIjogImdvIHZlcnNpb24gZ28xLjE3LjMgbGludXgvYW1kNjQiLAogICAgICAgICAgIm5vZGUiOiAidjE2LjEzLjAiLAogICAgICAgICAgIm9zIjogImxpbnV4IiwKICAgICAgICAgICJ5YXJuIjogIjEuMjIuMTciCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIm1ldGFkYXRhIjogewogICAgICAiYnVpbGRTdGFydGVkT24iOiAiMjAyMi0wMS0xNFQxNDowMDozNS4yNDYxOTI0OTJaIiwKICAgICAgImJ1aWxkRmluaXNoZWRPbiI6ICIyMDIyLTAxLTE0VDE0OjAwOjU2LjY5Mjg1OTI0NloiLAogICAgICAiY29tcGxldGVuZXNzIjogewogICAgICAgICJhcmd1bWVudHMiOiB0cnVlLAogICAgICAgICJlbnZpcm9ubWVudCI6IGZhbHNlLAogICAgICAgICJtYXRlcmlhbHMiOiB0cnVlCiAgICAgIH0sCiAgICAgICJyZXByb2R1Y2libGUiOiBmYWxzZQogICAgfSwKICAgICJtYXRlcmlhbHMiOiBbCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdHlwaW5ncy9nbG9iYWxzLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI2Mjc4N2NiMjJlNTU5ZTBiMGRhZWQ3OTBhNjljMzVmYmNkNmIzN2Y0YjkyYTM3ZmI5ZWQzMzZhYmY4NjBkMWQyIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9tZXNzYWdpbmcvYnJvd3Nlci93aW5kb3ctY29ubmVjdGlvbi50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiMjdjODdjODAzYjg0MmQ5ODFjZTJjMzVkOWY0OWZmZTQ5YWVmZjZhZjIwMzI4OTAzZTI0ZTljZDhmYTBmN2M1ZCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9hc3luYy1pdGVyYXRvci50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiMTk4NzJhYWRkNWVjNDc2N2E4NjM1YTRjMjM0NWFlNTM3NzVlZDIzZGY5MWRhYTRlZTA3MjFhYzdiNmQwMDYyNSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9jYW5jZWxhYmxlLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJhN2ViYzliNmFiNzk5Y2MwNjY5YTFlYzk1YjY4YjM5ODFkNTI2NTYwY2FjZDRlZTE1ZDZhZDE4MDM0MTIzODkzIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL3dvcmtzcGFjZS1wb3J0LWF1dGhlbnRpY2F0aW9uLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJkNzQ5N2Y4OTMxMjdmYThhNmY2NDAyYjQyMzBhNWYxMzYwMDlhZTZkMDM5NTRlZjVhY2JlYWNiNTQzNmZhOGE1IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy90ZWFtLXN1YnNjcmlwdGlvbi1wcm90b2NvbC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYmYzYThkMjUzMzJiZTY5YzhiYmQxMWUxY2M0Y2FjMmYxMDNkOGQ5NWUyN2E0NmIyNmRiNjU0NzdkMTYyZTIwNyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9kYXRlLXRpbWUudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjg0ZDY2NGRlOGFlNDRjMDhlZGU4YTNkNjVkNzQ0ZmIzODBkYTI0OWIxNDg2MTdmMGE1YjZiZTBhMDIyYzYxMDkiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvdGltZXV0aWwuc3BlYy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiOTdlOGMwYmQzMTdlOWI1ZmQ4ZjA2YjEwMWFjOTIwZTczMjMwYTYwNDlmYmFlYTU3ZjI2ODJiNjVlMjBjMTQ3YyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9ncnBjLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIxYWE1MDRjNGYxZjc3YWVhOTBiNjg1MTI3OTAzYmZkMzFiYjViOGJiOGRiOGU0YjAzOTQzMDUzNGJkYjI2YTlhIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9wYXltZW50LXByb3RvY29sLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIyYWM5NmE3ZjA3OWFkNGEyOWY3Yzk0NDNiNmY2MzljNGE5N2I2YWIzNTc5MzVhMzI4ZGE2YjQ5NDY3OGNjN2EwIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3RzY29uZmlnLmpzb24iLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjM4OTU0MzQ3MWQ4MzM4ZWJjYTcwZDc5ODcyNmY5MTk3ZTQyM2ViNDJiZTNlYmNlMjhkNDE5MWM1ZmEzMzliZDkiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3NuYXBzaG90LXVybC5zcGVjLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIxMDVhMWFlOTkyZGFiMGY5MzUwNTI0ZjM2NjA0M2VjOWVjMjU4ZDQwNjllYWU3OTk4MmUxZWU0NzE4YjZjOTI1IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9tZXNzYWdpbmcvZXJyb3IudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImVjNGZiOGMwMGI1NjQyYjk2OWMzMWUwNTA2NDI1NjVlZmRlNzVhZjQ2ZjlkMGZjM2FjNzBjMmYwM2RkNzlhYTkiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvZGlzcG9zYWJsZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiZGRjMzE3ZDliYjVhNzZmMzg1NDhkMTgyYThkZDY2ZWFiOTc5ZWQ0ZmI1YzYwODYzMmQ3MThiZWM2NjI4MDc2MSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvZW52LnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI0NjUyMzdkZGRlNTFjN2VmOGIwZTdmZjJjM2M2Mzc1ODY4NWM2MDdhMzk5YzIyZWM3M2VjNGQwNzA1ZWJjMzMzIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9wbGFucy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYTc5NmY0NWYxZjE3YzhhMzQ2YWNmMjAzOTQwNThjZGVmZDRhYTcwZDM2N2M1OGIzMDIwYjdmN2VlNWM1NjM3YiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNDQ1NzU0ZjM2NjBiYjJjYzQ2YmM5MWE4ZWI3Nzc0NTIwOTNlYzhhM2Y0MDZjZGYwODY4MDBjYjY0Yjk1MDdjZSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvbWVzc2FnaW5nL2Jyb3dzZXIvY29ubmVjdGlvbi50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNWYxZGRmNzUzM2NjMjdjODJkNzJjOWNkMmFiYTE4ZTUwOGY5NGRhZGRiNjRkOWQ2YWIwYjczZTRhODYxOGNjMiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvaWRlLXByb3RvY29sLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI5ZmM4MzI5MTg5NDFjZjQxOGViMDU1NGE5ZDhmOGM4NzZmYWFjYWIxZTk5ZjJjMzU0ZjRjYWFkODZkYWM2NTVkIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy90ZWFtcy1wcm9qZWN0cy1wcm90b2NvbC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYzNjMzgzZTQ3MmYwMjYwZDhmMTEyNzFhNjA5NTNlYTJjNTFlZGMwMzhkMWRjMTMxMWVjNTJkMTQ2NTM5MGU0MSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvYW5hbHl0aWNzLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJlN2I1NGRmMDQ5YTMwNjkxMWU5MjMxZDEzYzdkYWMxZWMwOWRiYmYzZWRjMTFiYzdiN2MyMDYzMWMwYTU0ZWE5IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9tZXNzYWdpbmcvY2xpZW50LWNhbGwtbWV0cmljcy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiMDU0MTI0YTczOWQ2MTU4N2ZiMjllYWMyN2E1OWQwNWJlYmY2YTBjZmI2M2ZmOGEwNmM0ZDQ3YmJjYTJlMmU4MCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC90cmFjaW5nLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIxYWRjNGEwM2E2NTg5OWZkOGJlOWYyMWIyNjhiOTFjZjBkY2NjNGRiOGUyM2ZkZjBlZWE0Njc0ZjU1ZWI2NGNlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL3NlbWFwaG9yZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiM2RhYzI3ZGVlMmUyZjdiMDk0YmE0Nzk0Y2FhYmU1YTNiODQyMjEwMDNjMTA4ODkxNzU2YWUyYmJkMzE2ZThhNiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuc3BlYy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiZjg1YTU5MGMwMWExYzllODlmZWEzNDM4NWY4OTZiZWJkMWQ1ZjIwMGE4M2U4OWRiMzA3YTI1ZmU5MWZmYjUwZiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvZW5jcnlwdGlvbi9jb250YWluZXItbW9kdWxlLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJlMDUwNmJmYTczYjM5ZWI1N2EzODA2MzZmOGE2Y2IyMDM2MzQ4MTYzODIyNGNiYzI4MGJiYWQwZGIwMDk2ZTE0IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3Rlc3QvZml4dHVyZXMvZW5jcnlwdGlvbi90ZXN0a2V5IiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI4ZGYwYTBhYmViZmY1YTlmODg3ZDc3MzM5NWRjODlkMWYzYmNlOGU0MjFmYjhjYzE2ZDc4ZWExMDdjZDFhNTQ1IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3BhY2thZ2UuanNvbiIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiOTE5MjE2NGFhY2M2NTdjZjMwNmQ3OThhZjcxYjlmNjBkZGI2NDZhYTg5MjZlODE1ZjU0NWZlYmJiODlkOTIzNSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvaW5kZXgudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjEwOGRlY2VjOWQ0YWI2ZGI2ZWQzNWJjOTVkMzk3NzFlZjkwMTE3OGMyZDhiYmJlOGFkNTY3OGYyMjgwZjJkZjQiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL21lc3NhZ2luZy9oYW5kbGVyLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI1ZDQzZWY3ZmQyYTNlMDhjNTUwYzBiMGZhZjA5YWEyZjYyYmJmYTYxNTg3OTYwMGFjNmNkODY1MzI4MjExMjViIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9hZG1pbi1wcm90b2NvbC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiMjRjZWQ3ZGUyODY4ZTQyODYxMDIxNjNhMGEyZmQ5NzNlMzljNjViNjhjMmQ0OGQ2ODFmODU4OTIwNmMwM2QxOCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvd3NyZWFkeS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYTYxMTZiY2JkMTUxNzJlYzdkOTJkMGY2MTZjOTZkZWQ3YmU3ZDIzMDJkMjZhNzc5ODA4M2YzN2FkNDhlMzIyNSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9nYXJiYWdlLWNvbGxlY3RlZC1jYWNoZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiZDMzNTFmNDU4NWJmOWQ4YTJlYjZlZDZlNGQ5ZDgyOGVkY2VlNmExNTI4NzIyNzI4NTRmYWE1OTBjMzE1NWQzNCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9yZXBlYXQudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImExNTJlZjljZmU1OTNlZThjYjNkZWQzMzUzNWRiMGQ1YjM0YzZlOTFjYjQ3MWE3ZDZhMjExMDNiMzYxNTE1NzgiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvZXZlbnQudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjc5NTcwMDkxMzE0ZTA2NTA2NTRkYjAyNDViZTk3MDlmODBmYjdhNGJhNWFmN2M3YWU3ZDVmYjhhMDY4YjA5YTgiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvbG9nZ2luZy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNDQyNzgyOTNhMWMxNmUwZTc3OGNkM2U3NjUxNzJkZTI1ZTU4ZDE2YTQzMjNiMTk0Y2RkMTlhZmQ4YzVlMGI2NiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvbWVzc2FnaW5nL3Byb3h5LWZhY3RvcnkudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImE5NzUzZmQ0MDkzNTlmOTMzYzIyMmIzYjg4MzkxZDJkNzhlNjk0ODRhZTA1ZDkyZTg1ZWYxNWU5NzYzNjdjNjciCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvdHJhY2luZy5zcGVjLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIwZjgzNGNlOTEwODU3MDU5MDZhOWE1MWI3ZTQ4ZDY2ZTQ5ZDk3M2YzZjkxOWZiM2EyYWU2NjE3YzU2ZThmZjI0IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy93b3Jrc3BhY2UtaW5zdGFuY2UudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjQzYTMyZDI4YTBjNTM1YzlkYjIxMjA5OWY1ZTgzNWRmYzJjZjkyMzVmMzNlNmVkYjFmYzI3MTNkZGQ1NzViMWEiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvdGltZXV0aWwudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImI5YzU0ZTNiODRlYzMxOWIzNDI1YzFmYmRhOTY4ZTY3MWRkYzY2ZjQyYjJmMTkzZDcyNjZiNTEzMjQ1NzUyNGUiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1zZXJ2aWNlLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIxZDdlNGNjNDFkZTk4ZDYyNTZmMzJkZWNhYjAxOGM5Yjg5MzExNTczYzExNWNkNzkwZTRhNTIyMTUxYmVmYTFhIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIwYjg2MDI1NGI4MGVmOTE3N2Y4ZTI2NmQwM2MwMzU3NmRlOTBkOTc5Mjk2MTc4MTUwOGIxODBlNGY2YjM0YTJkIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL21vY2hhLm9wdHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImRkNWQzZTIxMzdlOWRiODU5MzJiOWRiNmFjMjdkMjQzZjc1NjQ5MDRiODIwOTg1ZTFhOTUyN2M1OGZhZGUxNmEiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2NvbnRleHQtdXJsLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI1MTk4NDJjMWMyNGVjOTZiZGZkODQzYWE0ZTlhYmM3YWQzYWZkZDg2NWQyNTQ0Y2I1MTljYzhiMzYwNDY3ZmNmIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL3NhZmUtcHJvbWlzZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiY2U0MTVkMTY3NzRlYzI1OGNjZDQwNGJlNjYyZTJkYTc3YjNhYmE3YmI0MmZmYjBiN2RiYjZlYTI2ZmEzNDQyYyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9qYWVnZXItY2xpZW50LXR5cGVzLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJkYjc4Y2MxYWE4ZjEzY2Y5ZDUzZjI1MTVhOGUzMDcxNmY3MjY3YWY5N2U1OTdhNDcxYzU0NGM0NTQ3YmQ4MGVjIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL2FuYWx5dGljcy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNDAwMjA4ZmM1ZTBhZDk5MWFkOGM4NjViMmE0M2ZmZjU0ZWZjMDAxYmUyZmJjYzhmMzc3MTlhNTliZTMxYjhmNSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvZ2l0cG9kLXNlcnZpY2UudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImU2NTQ3YzA5YTcyMzlkZjkyMDEwYzNkMDc1MDJiNWEzYmM1NTZmM2Q5OTc1ZjE0ZWJlZTU0YTdhNjM5MjllODIiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2dpdHBvZC1maWxlLXBhcnNlci5zcGVjLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIwYTY5YmM0YjMzZDgwYjIwMTUxZjIwZGIxMmVjOWNmODA4MDkyMTdjOTljZTg4NTBiZjQyOTJkODUzMGJkYTQxIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9tZXNzYWdpbmcvbm9kZS9jb25uZWN0aW9uLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJmZmU0ZmFmYThjYzk3Yzg2ZjJmNGVmMjQ4MmY0NDZmYmEzMjU1ZTk4OWRlNzgwMGVhMjliMjFlZDA2MjBlYTc4IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL3F1ZXVlLnNwZWMudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjc2OGRmODZkNGZkYWRiZTY0M2QzOTdhZjUxYzRkMmNiMjc1NTRhMWYzZjZjODE3MGVkMjZmMzMyYmU1M2M0ODUiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI0NTVjNzY4ZDUxMDNhMDU2MzE2YmU0OTYzMGY5OTMzOTg5MjJiMzY3M2ZjZDFjNDNjMTdlNTQ0MTVkMDk0ZjY5IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9lbmNyeXB0aW9uL2tleS1wcm92aWRlci50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNTE4MzQxNWIzMjNjYjdmY2U0YTczMzE4YmFmYjUxZTU0MzUxZDg1NzY1MTdhYTg5ZmY4ZjY3MTIzZDcyYzEwNSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9kYXRhL2dpdHBvZC1zY2hlbWEuanNvbiIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYzVlZjdhOWM4Y2YyYjg3YTg4ZDhlZTFhMGM1MDk0ZmNkNmQyY2ZhMDAyOTIwZWVhMmMxZDdmMWQ2NjI0Zjk0MCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly95YXJuLmxvY2siLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjFkZjczYzI2NTc3OTI2NWEyZTFkNmY3NzkzZmYxOWM0NzA4ZWRlYWU0YWY3MzhlZTk5ZDc3NWNhNmIyOGMzZDAiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2dpdHBvZC1maWxlLXBhcnNlci50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNDVkMzNmOTliZjgyMjdhYWM1YzdiODgwODFjNTRlMjU0Njg4Yzg5NTQ3OTFiNWZlYzNlOGY1NjRlMjI1MGNlMSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9naXRwb2QtaG9zdC11cmwudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjYwNmRlMDg1MzFjZTAwZTBkYzNkZTU0NzQ0MGQzNDhiMzIzOTg3Mjk5ODE0YmQxNmE5ZmYxOTcyM2UzYTMxODYiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvc2tpcC1pZi50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiZDMyYzBhOTYyNDRhMjIzNWY0YmNmYTNiNDIyZmI4OTJhZGMxNTE1Y2YzZDM1MzY4MjFmMDljYWU3MmM0ZjE4OCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvcHJvdG9jb2wudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImM4NWViNzQxZDBjNjYwOTMzNGM5YzcwZGUyZDA0MjZmY2VmMDQzZjhmNDhlOTg4YWIwYmE1OTZjN2Q5ZjQ0ZDkiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL29zcy1hbGxvd2xpc3QudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImI5YjMyYzY4OWZkZWVhZWJkNTk4M2IyNmU1ODYzNjUwYTM3N2RjZTM0MTk4ODljMjdmNWI2NDk1YzA1ZmNiNGIiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL21lc3NhZ2luZy9jb25uZWN0aW9uLWVycm9yLWhhbmRsZXIudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImE3YjI0NjQ0NDQwZGU1NmE5ODViMjIzYjg5YmEzZWUwYmZmOGQzNjYxODI4OGEyMDE0ZjdmYzhmY2I0YmU5NTQiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvZGVlcC1wYXJ0aWFsLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI5ZGEyMzJkMTQ5YTc1MDRiMDdkNDM2ZmQxYjk4OTZmYTYyNjMzZTI3NGQ2ZmM5ODc2ODdhZGQ5YzFmZjdhOTRkIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL21ha2UtbGluay50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiZjVkNDY4NDNjOWZlNGRiZTg0N2VmZGQxZTI3MDBhNDY2YTUyNDEyOTI5MmUxMDA5ZTk1ZmQxM2Y2YjQ5Njc4MyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9kYXRhL2J1aWx0aW4tdGhlaWEtcGx1Z2lucy5qc29uIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJjNDg5Zjc0ZTcxYTdjNzM1YWM3MjZkMDBmMzZlNDA1MzkzYWFkYzljMGM4MmE5NTFlOWU5Y2QwZDBjNDZkZGY0IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL2dpdHBvZC1jb29raWUudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjM0ZmJlMzJhNTQ1YjdmNjNiYjU4YmQ2ZmZiYmExY2RkOTlkYTFlY2RjZWRiNDRkNGQ5NTExNDQxOGMzMWE5YzMiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvZGVmZXJyZWQudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImQ1ODU5MmM5NDY3YTFjN2UyZDNhNzIwODc2YjY4YzdjMWNjMmNjMWUxZTMxM2EyNjAzMzFjNWIyOGQyM2FmZDgiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvcXVldWUudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImJkNWUzMWI3OTQzZTZlMTg1YTBmNTQ4MDI4Y2EzODUwZTVkMDQwMTRiMjExMThiMWJiZDBhZDVlY2UyNDMwMjAiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3dvcmtzcGFjZS1jbHVzdGVyLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIxZjRjNTE4YjQ5MzI3NDcxY2NlODcwZTI2ZDFkMTdkMjk3M2Y2MDA4ZGUxOGUzYzg2NzI2ZDVlZGYxMjViOTk5IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy90aGVpYS1wbHVnaW5zLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJjOWM2ZWMzYTEyYTliOTczOGExNGYyOTQ3NTFjNjE4N2RmMTI5NGE3NTllMjM1ODNlMTZmODllZTdjMmIzNTZjIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9hY2NvdW50aW5nLXByb3RvY29sLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI4MjRlYTYyZDI4ODhmMjE2MTQ1OGQyYTM0ZTgzYmQyNDc1MWFhN2NhMjljZjczZWMyZDgyNmUwNzNlM2YzYWZmIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5zcGVjLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI1ZjUxYWMyMjE5NzE4OWNmMzcxZDU5NzRiOGJkODk2ZTM0MzdiOTg0MTVhN2Q1MDUxY2E4MjVjYTMxNDc4ODRlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9lbWFpbC1wcm90b2NvbC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiZmY3Zjk1ZmY0MzM3ZDQ3MTA0YmZjZWVkNWU4ZDUyNjlkZWFmOWY3Y2I0Njg5YWU5ZGQwZmMxNWUzYmI2ZjU5YiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvbGljZW5zZS1wcm90b2NvbC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiOTJiYjRjOTg0OTg2MWZkNDNkZWJmZWZhNTM4YzljYjlkZWQwOWZjMWNiZDQ3NjI2MTIwZDIzOThhMTI3YzQ4ZSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvc25hcHNob3QtdXJsLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJhYjEzYmJkOGQ3MWYyNThkOGZhYzExYWFhY2ZiN2YzNGJjOWMzYmQ3NGM2NWRhMmYwYzAzODQzYmM1MjY0YmU5IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9pZGUtZnJvbnRlbmQtc2VydmljZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNGMwOTJlZWI2NTY0OTgyMWFmNmI3YmJmZjg0ZDBmMDNmN2FiYjUyMmE3NWJmMTdkZjdiNWMwMDYyYjE0ODU2NiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9naXRwb2QtaG9zdC11cmwuc3BlYy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNzZkNWM5MTM1NWRiMTU1YmFlMzIxNzUzZGYyNDk5NjRiMzZkYTcxNWQxZjQ2MjFkZmY5ZWI0NzY1ZDI2NzU5ZiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjY0YThkYjMyNDZjZmQ0YjBhYzY1NjUzMDAxMjNjYzU3YmM2N2M0ZDg3ZWQ5ODliYWRhNjU2OTMwNWI2M2M1ZmEiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3Blcm1pc3Npb24udHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImNkYjYxMjQzMGFmNTc0OWIzMGMyNDlkZGM2OTg4ZGE0NWNjOWRmNTBiNGJiNGI5NmFlYWQ1ZjJmMjM3NTEzMzAiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2F1dGgudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjg4N2U3YTcxZmM4MTk4NDU5NDkyZTg2ZWE2N2MxMzQzNjdhZmJiZmVlZDhmMjI0MjYyZWY3ZWYyNjA3NDA0ODkiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2NvbnRleHQtdXJsLnNwZWMudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjNmMDdhZWExMTgxZDQ1ODc4ZTE1NDU3MTZmNGNmMTc3OTE3MTA5MWUxOWFlOGEwMWEwNmEwNWY2OTNhZTkzYWIiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuc3BlYy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiODVkMWU2ZDZlZjY2Mjk0MGQ2YmVlNzFiMzc2MmRiMWE2ZGE1MDI5NjFjNmZkZDA3NzI5N2Y5OGFjZjJjYjgyMiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9CVUlMRC55YW1sIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJjN2UyZTllOTc1NGFjMGI0OTIyYmNkODE5YTA2ODk3MTc3YWViOTY1ZjM0MTdiNDhjMDliYjg2ZjQ0ZWU1MDhhIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL1dPUktTUEFDRS55YW1sIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIwOTczYmU5ODc2ZTNhZmJmOTNkN2Q1NzQwYzIzYzEyNzYxODhhOTJhMjllNjk2MmUyMmVjMGE0MWFhZWQ1NDlkIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQ==","signatures":null}
|
|
2
|
+
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* See License-AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import
|
|
7
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
8
8
|
import { User } from './protocol';
|
|
9
9
|
import { oneMonthLater } from './util/timeutil';
|
|
10
10
|
|
|
@@ -90,7 +90,6 @@ export interface SessionDescription {
|
|
|
90
90
|
contextUrl: string;
|
|
91
91
|
workspaceId: string;
|
|
92
92
|
workspaceInstanceId: string;
|
|
93
|
-
private: boolean;
|
|
94
93
|
}
|
|
95
94
|
export namespace SessionDescription {
|
|
96
95
|
export function is(obj: any): obj is SessionDescription {
|
|
@@ -99,7 +98,6 @@ export namespace SessionDescription {
|
|
|
99
98
|
&& obj.hasOwnProperty('contextUrl')
|
|
100
99
|
&& obj.hasOwnProperty('workspaceId')
|
|
101
100
|
&& obj.hasOwnProperty('workspaceInstanceId')
|
|
102
|
-
&& obj.hasOwnProperty('private');
|
|
103
101
|
}
|
|
104
102
|
}
|
|
105
103
|
|
package/src/admin-protocol.ts
CHANGED
|
@@ -94,6 +94,12 @@ export namespace WorkspaceAndInstance {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
export
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
export type AdminGetWorkspacesRequest = AdminGetListRequest<WorkspaceAndInstance> & AdminGetWorkspacesQuery;
|
|
98
|
+
/** The fields are meant to be used either OR (not combined) */
|
|
99
|
+
export type AdminGetWorkspacesQuery = {
|
|
100
|
+
/** we use this field in case we have a UUIDv4 and don't know whether it's an (old) workspace or instance id */
|
|
101
|
+
instanceIdOrWorkspaceId?: string;
|
|
102
|
+
instanceId?: string;
|
|
103
|
+
workspaceId?: string;
|
|
104
|
+
ownerId?: string;
|
|
105
|
+
};
|
package/src/analytics.ts
CHANGED
|
@@ -41,6 +41,8 @@ export type RemotePageMessage = Omit<PageMessage, "timestamp" | "userId"> & {
|
|
|
41
41
|
anonymousId?: string | number;
|
|
42
42
|
};
|
|
43
43
|
|
|
44
|
+
export type RemoteIdentifyMessage = Omit<IdentifyMessage, "timestamp" | "userId" | "anonymousId">;
|
|
45
|
+
|
|
44
46
|
export interface IAnalyticsWriter {
|
|
45
47
|
|
|
46
48
|
identify(msg: IdentifyMessage): void;
|
package/src/email-protocol.ts
CHANGED
package/src/gitpod-service.ts
CHANGED
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
|
|
7
7
|
import {
|
|
8
8
|
User, WorkspaceInfo, WorkspaceCreationResult, WorkspaceInstanceUser,
|
|
9
|
-
WhitelistedRepository, WorkspaceImageBuild, AuthProviderInfo,
|
|
9
|
+
WhitelistedRepository, WorkspaceImageBuild, AuthProviderInfo, CreateWorkspaceMode,
|
|
10
10
|
Token, UserEnvVarValue, ResolvePluginsParams, PreparePluginUploadParams, Terms,
|
|
11
11
|
ResolvedPlugins, Configuration, InstallPluginsParams, UninstallPluginParams, UserInfo, GitpodTokenType,
|
|
12
12
|
GitpodToken, AuthProviderEntry, GuessGitTokenScopesParams, GuessedGitTokenScopes
|
|
13
13
|
} from './protocol';
|
|
14
14
|
import {
|
|
15
15
|
Team, TeamMemberInfo,
|
|
16
|
-
TeamMembershipInvite, Project, TeamMemberRole, PrebuildWithStatus, StartPrebuildResult
|
|
16
|
+
TeamMembershipInvite, Project, TeamMemberRole, PrebuildWithStatus, StartPrebuildResult, PartialProject
|
|
17
17
|
} from './teams-projects-protocol';
|
|
18
18
|
import { JsonRpcProxy, JsonRpcServer } from './messaging/proxy-factory';
|
|
19
19
|
import { Disposable, CancellationTokenSource } from 'vscode-jsonrpc';
|
|
@@ -28,7 +28,8 @@ import { Emitter } from './util/event';
|
|
|
28
28
|
import { AccountStatement, CreditAlert } from './accounting-protocol';
|
|
29
29
|
import { GithubUpgradeURL, PlanCoupon } from './payment-protocol';
|
|
30
30
|
import { TeamSubscription, TeamSubscriptionSlot, TeamSubscriptionSlotResolved } from './team-subscription-protocol';
|
|
31
|
-
import { RemotePageMessage, RemoteTrackMessage } from './analytics';
|
|
31
|
+
import { RemotePageMessage, RemoteTrackMessage, RemoteIdentifyMessage } from './analytics';
|
|
32
|
+
import { IDEServer } from './ide-protocol';
|
|
32
33
|
|
|
33
34
|
export interface GitpodClient {
|
|
34
35
|
onInstanceUpdate(instance: WorkspaceInstance): void;
|
|
@@ -45,7 +46,7 @@ export interface GitpodClient {
|
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
export const GitpodServer = Symbol('GitpodServer');
|
|
48
|
-
export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer, LicenseService {
|
|
49
|
+
export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer, LicenseService, IDEServer {
|
|
49
50
|
// User related API
|
|
50
51
|
getLoggedInUser(): Promise<User>;
|
|
51
52
|
getTerms(): Promise<Terms>;
|
|
@@ -54,7 +55,6 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
|
|
|
54
55
|
getOwnAuthProviders(): Promise<AuthProviderEntry[]>;
|
|
55
56
|
updateOwnAuthProvider(params: GitpodServer.UpdateOwnAuthProviderParams): Promise<AuthProviderEntry>;
|
|
56
57
|
deleteOwnAuthProvider(params: GitpodServer.DeleteOwnAuthProviderParams): Promise<void>;
|
|
57
|
-
getBranding(): Promise<Branding>;
|
|
58
58
|
getConfiguration(): Promise<Configuration>;
|
|
59
59
|
getToken(query: GitpodServer.GetTokenSearchOptions): Promise<Token | undefined>;
|
|
60
60
|
getGitpodTokenScopes(tokenHash: string): Promise<string[]>;
|
|
@@ -134,9 +134,13 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
|
|
|
134
134
|
getProjectOverview(projectId: string): Promise<Project.Overview | undefined>;
|
|
135
135
|
findPrebuilds(params: FindPrebuildsParams): Promise<PrebuildWithStatus[]>;
|
|
136
136
|
triggerPrebuild(projectId: string, branchName: string | null): Promise<StartPrebuildResult>;
|
|
137
|
-
|
|
137
|
+
cancelPrebuild(projectId: string, prebuildId: string): Promise<void>;
|
|
138
138
|
fetchProjectRepositoryConfiguration(projectId: string): Promise<string | undefined>;
|
|
139
139
|
guessProjectConfiguration(projectId: string): Promise<string | undefined>;
|
|
140
|
+
fetchRepositoryConfiguration(cloneUrl: string): Promise<string | undefined>;
|
|
141
|
+
guessRepositoryConfiguration(cloneUrl: string): Promise<string | undefined>;
|
|
142
|
+
setProjectConfiguration(projectId: string, configString: string): Promise<void>;
|
|
143
|
+
updateProjectPartial(partialProject: PartialProject): Promise<void>;
|
|
140
144
|
|
|
141
145
|
// content service
|
|
142
146
|
getContentBlobUploadUrl(name: string): Promise<string>
|
|
@@ -152,10 +156,15 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
|
|
|
152
156
|
registerGithubApp(installationId: string): Promise<void>;
|
|
153
157
|
|
|
154
158
|
/**
|
|
155
|
-
* Stores a new snapshot for the given workspace and bucketId
|
|
159
|
+
* Stores a new snapshot for the given workspace and bucketId. Returns _before_ the actual snapshot is done. To wait for that, use `waitForSnapshot`.
|
|
156
160
|
* @return the snapshot id
|
|
157
161
|
*/
|
|
158
162
|
takeSnapshot(options: GitpodServer.TakeSnapshotOptions): Promise<string>;
|
|
163
|
+
/**
|
|
164
|
+
*
|
|
165
|
+
* @param snapshotId
|
|
166
|
+
*/
|
|
167
|
+
waitForSnapshot(snapshotId: string): Promise<void>;
|
|
159
168
|
|
|
160
169
|
/**
|
|
161
170
|
* Returns the list of snapshots that exist for a workspace.
|
|
@@ -187,8 +196,6 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
|
|
|
187
196
|
* gitpod.io concerns
|
|
188
197
|
*/
|
|
189
198
|
isStudent(): Promise<boolean>;
|
|
190
|
-
getPrivateRepoTrialEndDate(): Promise<string | undefined>;
|
|
191
|
-
|
|
192
199
|
/**
|
|
193
200
|
*
|
|
194
201
|
*/
|
|
@@ -206,7 +213,6 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
|
|
|
206
213
|
|
|
207
214
|
getShowPaymentUI(): Promise<boolean>;
|
|
208
215
|
isChargebeeCustomer(): Promise<boolean>;
|
|
209
|
-
mayAccessPrivateRepo(): Promise<boolean>;
|
|
210
216
|
|
|
211
217
|
subscriptionUpgradeTo(subscriptionId: string, chargebeePlanId: string): Promise<void>;
|
|
212
218
|
subscriptionDowngradeTo(subscriptionId: string, chargebeePlanId: string): Promise<void>;
|
|
@@ -229,10 +235,12 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
|
|
|
229
235
|
*/
|
|
230
236
|
trackEvent(event: RemoteTrackMessage): Promise<void>;
|
|
231
237
|
trackLocation(event: RemotePageMessage): Promise<void>;
|
|
238
|
+
identifyUser(event: RemoteIdentifyMessage): Promise<void>;
|
|
232
239
|
}
|
|
233
240
|
|
|
234
241
|
export interface CreateProjectParams {
|
|
235
242
|
name: string;
|
|
243
|
+
slug?: string;
|
|
236
244
|
account: string;
|
|
237
245
|
provider: string;
|
|
238
246
|
cloneUrl: string;
|
|
@@ -254,6 +262,7 @@ export interface GetProviderRepositoriesParams {
|
|
|
254
262
|
}
|
|
255
263
|
export interface ProviderRepository {
|
|
256
264
|
name: string;
|
|
265
|
+
path?: string;
|
|
257
266
|
account: string;
|
|
258
267
|
accountAvatarUrl: string;
|
|
259
268
|
cloneUrl: string;
|
|
@@ -261,14 +270,14 @@ export interface ProviderRepository {
|
|
|
261
270
|
installationId?: number;
|
|
262
271
|
installationUpdatedAt?: string;
|
|
263
272
|
|
|
264
|
-
inUse?:
|
|
273
|
+
inUse?: { userName: string };
|
|
265
274
|
}
|
|
266
275
|
|
|
267
|
-
export interface ClientHeaderFields{
|
|
268
|
-
ip?:string;
|
|
269
|
-
userAgent?:string;
|
|
270
|
-
dnt?:
|
|
271
|
-
clientRegion?:string;
|
|
276
|
+
export interface ClientHeaderFields {
|
|
277
|
+
ip?: string;
|
|
278
|
+
userAgent?: string;
|
|
279
|
+
dnt?: string;
|
|
280
|
+
clientRegion?: string;
|
|
272
281
|
}
|
|
273
282
|
|
|
274
283
|
export const WorkspaceTimeoutValues = ["30m", "60m", "180m"] as const;
|
|
@@ -331,6 +340,8 @@ export namespace GitpodServer {
|
|
|
331
340
|
export interface TakeSnapshotOptions {
|
|
332
341
|
workspaceId: string;
|
|
333
342
|
layoutData?: string;
|
|
343
|
+
/* this is here to enable backwards-compatibility and untangling rollout between workspace, IDE and meta */
|
|
344
|
+
dontWait?: boolean;
|
|
334
345
|
}
|
|
335
346
|
export interface GetUserStorageResourceOptions {
|
|
336
347
|
readonly uri: string;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2021 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
|
+
|
|
7
|
+
/**
|
|
8
|
+
* `IDEServer` provides a list of available IDEs.
|
|
9
|
+
*/
|
|
10
|
+
export interface IDEServer {
|
|
11
|
+
/**
|
|
12
|
+
* Returns the IDE preferences.
|
|
13
|
+
*/
|
|
14
|
+
getIDEOptions(): Promise<IDEOptions>;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface IDEOptions {
|
|
18
|
+
/**
|
|
19
|
+
* A list of available IDEs.
|
|
20
|
+
*/
|
|
21
|
+
options: { [key: string]: IDEOption };
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The default (browser) IDE when the user has not specified one.
|
|
25
|
+
*/
|
|
26
|
+
defaultIde: string;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* The default desktop IDE when the user has not specified one.
|
|
30
|
+
*/
|
|
31
|
+
defaultDesktopIde: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface IDEOption {
|
|
35
|
+
/**
|
|
36
|
+
* To ensure a stable order one can set an `orderKey`.
|
|
37
|
+
*/
|
|
38
|
+
orderKey?: string;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Human readable title text of the IDE (plain text only).
|
|
42
|
+
*/
|
|
43
|
+
title: string;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The type of the IDE, currently 'browser' or 'desktop'.
|
|
47
|
+
*/
|
|
48
|
+
type: 'browser' | 'desktop';
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The logo for the IDE. That could be a key in (see
|
|
52
|
+
* components/dashboard/src/images/ideLogos.ts) or a URL.
|
|
53
|
+
*/
|
|
54
|
+
logo: string;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Text of an optional tooltip (plain text only).
|
|
58
|
+
*/
|
|
59
|
+
tooltip?: string;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Text of an optional label next to the IDE option like “Insiders” (plain
|
|
63
|
+
* text only).
|
|
64
|
+
*/
|
|
65
|
+
label?: string;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Notes to the IDE option that are renderd in the preferences when a user
|
|
69
|
+
* chooses this IDE.
|
|
70
|
+
*/
|
|
71
|
+
notes?: string[];
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* If `true` this IDE option is not visible in the IDE preferences.
|
|
75
|
+
*/
|
|
76
|
+
hidden?: boolean;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* The image ref to the IDE image.
|
|
80
|
+
*/
|
|
81
|
+
image: string;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* When this is `true`, the tag of this image is resolved to the latest
|
|
85
|
+
* image digest regularly.
|
|
86
|
+
*
|
|
87
|
+
* This is useful if this image points to a tag like `nightly` that will be
|
|
88
|
+
* updated regularly. When `resolveImageDigest` is `true`, we make sure that
|
|
89
|
+
* we resolve the tag regularly to the most recent image version.
|
|
90
|
+
*/
|
|
91
|
+
resolveImageDigest?: boolean;
|
|
92
|
+
}
|
package/src/index.ts
CHANGED
package/src/messaging/error.ts
CHANGED
|
@@ -76,6 +76,6 @@ export namespace ErrorCodes {
|
|
|
76
76
|
// 620 Team Subscription Assignment Failed
|
|
77
77
|
export const TEAM_SUBSCRIPTION_ASSIGNMENT_FAILED = 620;
|
|
78
78
|
|
|
79
|
-
//
|
|
80
|
-
export const
|
|
79
|
+
// 630 Snapshot Error
|
|
80
|
+
export const SNAPSHOT_ERROR = 630;
|
|
81
81
|
}
|
|
@@ -7,58 +7,14 @@
|
|
|
7
7
|
|
|
8
8
|
import * as ws from "ws";
|
|
9
9
|
import * as http from "http";
|
|
10
|
-
import * as https from "https";
|
|
11
|
-
import * as url from "url";
|
|
12
10
|
import * as net from "net";
|
|
13
|
-
import {
|
|
14
|
-
import { createWebSocketConnection, IWebSocket } from "vscode-ws-jsonrpc";
|
|
11
|
+
import { IWebSocket } from "vscode-ws-jsonrpc";
|
|
15
12
|
import { log } from '../../util/logging';
|
|
16
13
|
|
|
17
|
-
export interface IServerOptions {
|
|
18
|
-
readonly server: http.Server | https.Server;
|
|
19
|
-
readonly path?: string;
|
|
20
|
-
matches?(request: http.IncomingMessage): boolean;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export function createServerWebSocketConnection(options: IServerOptions, onConnect: (connection: MessageConnection) => void): void {
|
|
24
|
-
openJsonRpcSocket(options, socket => {
|
|
25
|
-
onConnect(createWebSocketConnection(socket, console));
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export function openJsonRpcSocket(options: IServerOptions, onOpen: (socket: IWebSocket) => void): void {
|
|
30
|
-
openSocket(options, socket => {
|
|
31
|
-
const webSocket = toIWebSocket(socket);
|
|
32
|
-
onOpen(webSocket);
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
|
|
36
14
|
export interface OnOpen {
|
|
37
15
|
(webSocket: ws, request: http.IncomingMessage, socket: net.Socket, head: Buffer): void;
|
|
38
16
|
}
|
|
39
17
|
|
|
40
|
-
export function openSocket(options: IServerOptions, onOpen: OnOpen): void {
|
|
41
|
-
const wss = new ws.Server({
|
|
42
|
-
noServer: true,
|
|
43
|
-
perMessageDeflate: {
|
|
44
|
-
// don't compress if a message is less than 256kb
|
|
45
|
-
threshold: 256 * 1024
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
options.server.on('upgrade', (request: http.IncomingMessage, socket: net.Socket, head: Buffer) => {
|
|
49
|
-
const pathname = request.url ? url.parse(request.url).pathname : undefined;
|
|
50
|
-
if (options.path && pathname === options.path || options.matches && options.matches(request)) {
|
|
51
|
-
wss.handleUpgrade(request, socket, head, webSocket => {
|
|
52
|
-
if (webSocket.readyState === webSocket.OPEN) {
|
|
53
|
-
onOpen(webSocket, request, socket, head);
|
|
54
|
-
} else {
|
|
55
|
-
webSocket.on('open', () => onOpen(webSocket, request, socket, head));
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
|
|
62
18
|
export function toIWebSocket(webSocket: ws) {
|
|
63
19
|
let sendsAfterOpen = 0;
|
|
64
20
|
return <IWebSocket>{
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2021 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
|
+
|
|
7
|
+
export interface OssAllowList {
|
|
8
|
+
/**
|
|
9
|
+
* A string that identifies a GitHub/GitLab/Bitbucket identity of the form "<host>/<profilename>"
|
|
10
|
+
* E.g., "github.com/geropl"
|
|
11
|
+
*/
|
|
12
|
+
identity: string,
|
|
13
|
+
|
|
14
|
+
deleted?: boolean,
|
|
15
|
+
}
|