From 1c2db4ae71ec95ffed01750768c36db6455cef3d Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:17:57 -0700 Subject: [PATCH 01/55] config: annotate project-local schema scope --- web/data/cmux.schema.json | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/web/data/cmux.schema.json b/web/data/cmux.schema.json index b122fc5917a3..e23ad5381a75 100644 --- a/web/data/cmux.schema.json +++ b/web/data/cmux.schema.json @@ -19,12 +19,14 @@ "description": "Schema version for forward-compatible migrations. Newer versions are parsed on a best-effort basis." }, "paneBorderColor": { + "x-cmux-scopes": ["global"], "$ref": "#/$defs/colorHexOrNull", "default": null, "descriptionKey": "schemaDescriptions.paneBorderColor", "description": "Override the cmux pane divider color in split workspaces. This affects cmux pane boundaries, not Ghostty internal splits." }, "activePaneBorderColor": { + "x-cmux-scopes": ["global"], "$ref": "#/$defs/colorHexOrNull", "default": null, "descriptionKey": "schemaDescriptions.activePaneBorderColor", @@ -66,6 +68,7 @@ } }, "computerUse": { + "x-cmux-scopes": ["global"], "title": "computerUse", "type": "object", "additionalProperties": false, @@ -329,6 +332,7 @@ "additionalProperties": false, "properties": { "newWorkspacePlacement": { + "x-cmux-scopes": ["global"], "type": "string", "enum": ["afterCurrent", "top", "end"], "default": "afterCurrent", @@ -386,6 +390,7 @@ } }, "app": { + "x-cmux-scopes": ["global"], "title": "app", "description": "General app preferences from Settings > App.", "type": "object", @@ -568,6 +573,7 @@ } }, "terminal": { + "x-cmux-scopes": ["global"], "title": "terminal", "description": "Terminal presentation settings from Settings > Terminal.", "type": "object", @@ -900,44 +906,52 @@ "additionalProperties": false, "properties": { "dockBadge": { + "x-cmux-scopes": ["global"], "type": "boolean", "default": true, "description": "Show the unread count in the Dock tile." }, "showInMenuBar": { + "x-cmux-scopes": ["global"], "type": "boolean", "default": true, "description": "Show the menu bar extra." }, "unreadPaneRing": { + "x-cmux-scopes": ["global"], "type": "boolean", "default": true, "description": "Highlight panes with unread notifications." }, "paneFlash": { + "x-cmux-scopes": ["global"], "type": "boolean", "default": true, "description": "Flash the focused pane when requested." }, "paneFlashColor": { + "x-cmux-scopes": ["global"], "$ref": "#/$defs/colorHexOrNull", "default": null, "descriptionKey": "schemaDescriptions.notifications.paneFlashColor", "description": "Override the pane flash and unread ring color. Null keeps the built-in blue." }, "suppressOnlyFocusedSurface": { + "x-cmux-scopes": ["global"], "type": "boolean", "default": false, "descriptionKey": "schemaDescriptions.notifications.suppressOnlyFocusedSurface", "description": "When enabled, a notification banner is auto-withdrawn only when its surface is the exact focused surface. A banner delivered for a non-focused surface in the currently visible workspace stays up until you focus that surface (or click/dismiss it), instead of being retracted when the workspace becomes visible. Off preserves the legacy workspace-visibility withdraw." }, "agentPermissionPrompt": { + "x-cmux-scopes": ["global"], "type": "boolean", "default": true, "descriptionKey": "schemaDescriptions.notifications.agentPermissionPrompt", "description": "Notify when an agent (e.g. Claude Code) is blocked waiting for your permission to run a tool. On by default, since this is the alert you must act on to unblock the agent." }, "agentTurnComplete": { + "x-cmux-scopes": ["global"], "type": "string", "enum": ["whenIdle", "always", "never"], "default": "whenIdle", @@ -945,12 +959,14 @@ "description": "When to notify that an agent finished a turn. whenIdle (default) suppresses the notification while the agent still has a running background task or a pending scheduled wakeup, so you are pinged once work truly drains. always notifies on every turn end; never disables it." }, "agentIdleReminder": { + "x-cmux-scopes": ["global"], "type": "boolean", "default": true, "descriptionKey": "schemaDescriptions.notifications.agentIdleReminder", "description": "Notify when an agent has been idle waiting for your input (about 60s after a turn ends). Suppressed while background work from the last turn is still pending, so a running build or watcher does not trigger a false waiting alert." }, "sound": { + "x-cmux-scopes": ["global"], "type": "string", "enum": [ "default", @@ -975,11 +991,13 @@ "description": "Notification sound preset." }, "customSoundFilePath": { + "x-cmux-scopes": ["global"], "type": "string", "default": "", "description": "Local path to the custom notification sound file." }, "soundOverrides": { + "x-cmux-scopes": ["global"], "type": "object", "default": {}, "maxProperties": 256, @@ -1007,6 +1025,7 @@ "additionalProperties": false }, "command": { + "x-cmux-scopes": ["global"], "type": "string", "default": "", "description": "Optional shell command to run alongside notification delivery." @@ -1054,6 +1073,7 @@ } }, "sidebar": { + "x-cmux-scopes": ["global"], "title": "sidebar", "description": "Sidebar content and metadata visibility from Settings > Sidebar.", "type": "object", @@ -1194,6 +1214,7 @@ } }, "workspaceColors": { + "x-cmux-scopes": ["global"], "title": "workspaceColors", "description": "Workspace tab and badge colors from Settings > Workspace Colors.", "type": "object", @@ -1271,6 +1292,7 @@ } }, "sidebarAppearance": { + "x-cmux-scopes": ["global"], "title": "sidebarAppearance", "description": "Sidebar tint settings from Settings > Sidebar Appearance.", "type": "object", @@ -1306,6 +1328,7 @@ } }, "automation": { + "x-cmux-scopes": ["global"], "title": "automation", "description": "Socket control and automation settings from Settings > Automation.", "type": "object", @@ -1418,6 +1441,7 @@ } }, "browser": { + "x-cmux-scopes": ["global"], "title": "browser", "description": "Embedded browser settings from Settings > Browser.", "type": "object", @@ -1549,6 +1573,7 @@ } }, "mobile": { + "x-cmux-scopes": ["global"], "title": "mobile", "description": "Mac-side settings for cmux on iOS.", "type": "object", @@ -1563,6 +1588,7 @@ } }, "markdown": { + "x-cmux-scopes": ["global"], "title": "markdown", "description": "Built-in markdown viewer settings.", "type": "object", @@ -1593,6 +1619,7 @@ } }, "canvas": { + "x-cmux-scopes": ["global"], "title": "canvas", "description": "Freeform canvas workspace layout settings.", "type": "object", @@ -1615,6 +1642,7 @@ } }, "fileEditor": { + "x-cmux-scopes": ["global"], "title": "fileEditor", "description": "Built-in file editor settings.", "type": "object", @@ -1661,6 +1689,7 @@ } }, "fileExplorer": { + "x-cmux-scopes": ["global"], "title": "fileExplorer", "description": "Right-sidebar file explorer (file tree) settings.", "descriptionKey": "schemaDescriptions.fileExplorer.description", @@ -1677,6 +1706,7 @@ } }, "diffViewer": { + "x-cmux-scopes": ["global"], "title": "diffViewer", "description": "Built-in diff viewer settings.", "type": "object", @@ -1692,6 +1722,7 @@ } }, "shortcuts": { + "x-cmux-scopes": ["global"], "title": "shortcuts", "description": "Keyboard shortcut settings from Settings > Keyboard Shortcuts.", "type": "object", From 93459cfbdde09e61d7ce62c31eeb6519f889564b Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:18:33 -0700 Subject: [PATCH 02/55] config: add schema embedding generator --- scripts/generate-cmux-config-schema.py | 53 ++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 scripts/generate-cmux-config-schema.py diff --git a/scripts/generate-cmux-config-schema.py b/scripts/generate-cmux-config-schema.py new file mode 100644 index 000000000000..8472e2abf653 --- /dev/null +++ b/scripts/generate-cmux-config-schema.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +"""Generate the embedded cmux.json schema used by the native CLI validator.""" + +from __future__ import annotations + +import argparse +import base64 +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +SCHEMA = ROOT / "web" / "data" / "cmux.schema.json" +OUTPUT = ROOT / "CLI" / "CMUXConfigSchema.generated.swift" + + +def generated_source() -> str: + encoded = base64.b64encode(SCHEMA.read_bytes()).decode("ascii") + chunks = [encoded[i : i + 120] for i in range(0, len(encoded), 120)] + body = "\n".join(f' "{chunk}",' for chunk in chunks) + return f"""// Generated by scripts/generate-cmux-config-schema.py. Do not edit. +// Source: web/data/cmux.schema.json + +import Foundation + +enum CMUXEmbeddedConfigSchema {{ + static let data: Data = {{ + let base64 = [ +{body} + ].joined() + guard let data = Data(base64Encoded: base64) else {{ + preconditionFailure("embedded cmux.json schema is corrupt") + }} + return data + }}() +}} +""" + + +def main() -> int: + parser = argparse.ArgumentParser() + parser.add_argument("--check", action="store_true") + args = parser.parse_args() + expected = generated_source() + if args.check: + if not OUTPUT.exists() or OUTPUT.read_text() != expected: + print(f"{OUTPUT.relative_to(ROOT)} is stale; run {Path(__file__).name}") + return 1 + return 0 + OUTPUT.write_text(expected) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) From 16260cbca0e5bb4cc528b16240e1a1a64ed6240f Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:18:53 -0700 Subject: [PATCH 03/55] config: embed canonical cmux schema in CLI --- CLI/CMUXConfigSchema.generated.swift | 1060 ++++++++++++++++++++++++++ 1 file changed, 1060 insertions(+) create mode 100644 CLI/CMUXConfigSchema.generated.swift diff --git a/CLI/CMUXConfigSchema.generated.swift b/CLI/CMUXConfigSchema.generated.swift new file mode 100644 index 000000000000..3f1765bc2879 --- /dev/null +++ b/CLI/CMUXConfigSchema.generated.swift @@ -0,0 +1,1060 @@ +// Generated by scripts/generate-cmux-config-schema.py. Do not edit. +// Source: web/data/cmux.schema.json + +import Foundation + +enum CMUXEmbeddedConfigSchema { + static let data: Data = { + let base64 = [ + "ewogICIkc2NoZW1hIjogImh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvc2NoZW1hIiwKICAiJGlkIjogImh0dHBzOi8vcmF3LmdpdGh1", + "YnVzZXJjb250ZW50LmNvbS9tYW5hZmxvdy1haS9jbXV4L21haW4vd2ViL2RhdGEvY211eC5zY2hlbWEuanNvbiIsCiAgInRpdGxlIjogImNtdXguanNvbiIs", + "CiAgImRlc2NyaXB0aW9uIjogImNtdXggY29uZmlndXJhdGlvbi4gR2xvYmFsIGNtdXguanNvbiBzdXBwb3J0cyBhcHAgc2V0dGluZ3MsIHNob3J0Y3V0cywg", + "YWN0aW9ucywgY3VzdG9tIGNvbW1hbmRzLCBub3RpZmljYXRpb24gaG9va3MsIGFuZCB3b3Jrc3BhY2UgbGF5b3V0cy4gUHJvamVjdC1sb2NhbCAuY211eC9j", + "bXV4Lmpzb24gc3VwcG9ydHMgYWN0aW9ucywgY29tbWFuZHMsIG5vdGlmaWNhdGlvbiBob29rcywgYW5kIFVJIGFjdGlvbiB3aXJpbmcuIiwKICAidHlwZSI6", + "ICJvYmplY3QiLAogICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICJwcm9wZXJ0aWVzIjogewogICAgIiRzY2hlbWEiOiB7CiAgICAgICJ0eXBl", + "IjogInN0cmluZyIsCiAgICAgICJmb3JtYXQiOiAidXJpIiwKICAgICAgImRlZmF1bHQiOiAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21h", + "bmFmbG93LWFpL2NtdXgvbWFpbi93ZWIvZGF0YS9jbXV4LnNjaGVtYS5qc29uIiwKICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHNjaGVtYSBVUkwg", + "Zm9yIGVkaXRvciBjb21wbGV0aW9uIGFuZCB2YWxpZGF0aW9uLiIKICAgIH0sCiAgICAic2NoZW1hVmVyc2lvbiI6IHsKICAgICAgInR5cGUiOiAiaW50ZWdl", + "ciIsCiAgICAgICJtaW5pbXVtIjogMSwKICAgICAgImRlZmF1bHQiOiAxLAogICAgICAiZGVzY3JpcHRpb24iOiAiU2NoZW1hIHZlcnNpb24gZm9yIGZvcndh", + "cmQtY29tcGF0aWJsZSBtaWdyYXRpb25zLiBOZXdlciB2ZXJzaW9ucyBhcmUgcGFyc2VkIG9uIGEgYmVzdC1lZmZvcnQgYmFzaXMuIgogICAgfSwKICAgICJw", + "YW5lQm9yZGVyQ29sb3IiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleE9yTnVs", + "bCIsCiAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5wYW5lQm9yZGVyQ29sb3IiLAog", + "ICAgICAiZGVzY3JpcHRpb24iOiAiT3ZlcnJpZGUgdGhlIGNtdXggcGFuZSBkaXZpZGVyIGNvbG9yIGluIHNwbGl0IHdvcmtzcGFjZXMuIFRoaXMgYWZmZWN0", + "cyBjbXV4IHBhbmUgYm91bmRhcmllcywgbm90IEdob3N0dHkgaW50ZXJuYWwgc3BsaXRzLiIKICAgIH0sCiAgICAiYWN0aXZlUGFuZUJvcmRlckNvbG9yIjog", + "ewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAiZGVmYXVs", + "dCI6IG51bGwsCiAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWN0aXZlUGFuZUJvcmRlckNvbG9yIiwKICAgICAgImRlc2Ny", + "aXB0aW9uIjogIk9wdGlvbmFsIGJvcmRlciBjb2xvciBkcmF3biBhcm91bmQgdGhlIGZvY3VzZWQgY211eCBwYW5lIGluIHNwbGl0IHdvcmtzcGFjZXMuIgog", + "ICAgfSwKICAgICJhY3Rpb25zIjogewogICAgICAidGl0bGUiOiAiYWN0aW9ucyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJBY3Rpb24gcmVnaXN0cnkgdXNl", + "ZCBieSB0aGUgc3VyZmFjZSB0YWIgYmFyLCBDb21tYW5kIFBhbGV0dGUsIHNob3J0Y3V0cywgYW5kIHBsdXMtYnV0dG9uIG1lbnUuIEVhY2ggZW50cnkgc3Vw", + "cG9ydHMgdHlwZSBcImJ1aWx0aW5cIiwgXCJjb21tYW5kXCIsIFwiYWdlbnRcIiAoYW55IENMSSBhZ2VudCBuYW1lLCBlLmcuIGNsYXVkZSwgY29kZXgsIG9w", + "ZW5jb2RlLCBvciBhIGN1c3RvbSBiaW5hcnksIHdpdGggb3B0aW9uYWwgYXJncyksIFwid29ya3NwYWNlQ29tbWFuZFwiLCBvciBcIndvcmtzcGFjZVwiIChp", + "bmxpbmUgd29ya3NwYWNlIHdpdGggbmFtZS9jd2QvY29sb3IvZW52L3NldHVwL2xheW91dCwgcGx1cyBvcHRpb25hbCByZXN0YXJ0KS4gSW5saW5lIHdvcmtz", + "cGFjZSBlbnRyaWVzIGFyZSBhdXRvLW9mZmVyZWQgaW4gdGhlIG5ldy13b3Jrc3BhY2UgcGx1cy1idXR0b24gbWVudTsgc2V0IG5ld1dvcmtzcGFjZU1lbnUg", + "dHJ1ZS9mYWxzZSBvbiBhbnkgYWN0aW9uIHRvIG92ZXJyaWRlLiBcIlNhdmUgV29ya3NwYWNlIGFzIExheW91dFwiIGluIHRoZSBwbHVzLWJ1dHRvbiBtZW51", + "IHdyaXRlcyBlbnRyaWVzIGhlcmUuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZQogICAgfSwK", + "ICAgICJ1aSI6IHsKICAgICAgInRpdGxlIjogInVpIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlVJIGFjdGlvbiB3aXJpbmcsIGluY2x1ZGluZyBzdXJmYWNl", + "IHRhYiBiYXIgYnV0dG9ucyBhbmQgcGx1cy1idXR0b24gYmVoYXZpb3IuIFRoZSBwbHVzLWJ1dHRvbiBjb250ZXh0IG1lbnUgc2hvd3MgdWkubmV3V29ya3Nw", + "YWNlLmNvbnRleHRNZW51IChvciB0aGUgZGVmYXVsdCBpdGVtcykgZm9sbG93ZWQgYnkgYWN0aW9ucyB0aGF0IG9wdCBpbiB2aWEgbmV3V29ya3NwYWNlTWVu", + "dS4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlLAogICAgICAicHJvcGVydGllcyI6IHsKICAg", + "ICAgICAibmV3V29ya3NwYWNlIjogewogICAgICAgICAgInRpdGxlIjogIm5ld1dvcmtzcGFjZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTmV3IFdv", + "cmtzcGFjZSBidXR0b24gYmVoYXZpb3IgYW5kIGNvbnRleHQtbWVudSB3aXJpbmcuIiwKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAi", + "YWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJhY3Rpb24iOiB7CiAgICAgICAgICAg", + "ICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSUQgb2YgdGhlIGFjdGlvbiBydW4gYnkgcGxhaW4gTmV3IFdvcmtz", + "cGFjZS4gVGhpcyBpcyB0aGUgZGVmYXVsdCB3b3Jrc3BhY2UgbGF5b3V0OyBvbWl0IG9yIHJlbW92ZSBpdCBmb3IgTm9uZSAoQmxhbmsgVGVybWluYWwpLiBQ", + "cm9qZWN0LWxvY2FsIHVpLm5ld1dvcmtzcGFjZS5hY3Rpb24gd2lucyBvdmVyIHRoZSBnbG9iYWwgdmFsdWUuIgogICAgICAgICAgICB9CiAgICAgICAgICB9", + "CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImNvbW1hbmRzIjogewogICAgICAidGl0bGUiOiAiY29tbWFuZHMiLAogICAgICAiZGVzY3JpcHRpb24i", + "OiAiQ3VzdG9tIHNoZWxsIGNvbW1hbmRzIGFuZCB3b3Jrc3BhY2UgbGF5b3V0IGRlZmluaXRpb25zLiBXb3Jrc3BhY2UgZGVmaW5pdGlvbnMgc3VwcG9ydCBu", + "YW1lLCBjd2QsIGNvbG9yLCBlbnYsIGxheW91dCwgYW5kIHNldHVwIChhIGJvb3RzdHJhcCBjb21tYW5kIHNlbnQgdG8gdGhlIGZpcnN0IHRlcm1pbmFsIGJl", + "Zm9yZSBpdHMgb3duIGNvbW1hbmQpLiIsCiAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgIml0ZW1zIjogewogICAgICAgICJ0eXBlIjogIm9iamVjdCIs", + "CiAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZQogICAgICB9CiAgICB9LAogICAgImNvbXB1dGVyVXNlIjogewogICAgICAieC1jbXV4LXNj", + "b3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJjb21wdXRlclVzZSIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFs", + "UHJvcGVydGllcyI6IGZhbHNlLAogICAgICAiZGVzY3JpcHRpb24iOiAiTG9jYWwgY29tcHV0ZXItdXNlIHRvb2xzIGFuZCBtZW51LWJhciB2aXNpYmlsaXR5", + "LiIsCiAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuY29tcHV0ZXJVc2UuZGVzY3JpcHRpb24iLAogICAgICAicHJvcGVydGll", + "cyI6IHsKICAgICAgICAiZW5hYmxlZCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAg", + "ICAgImRlc2NyaXB0aW9uIjogIkFsbG93IHN1cHBvcnRlZCBhZ2VudCBsYXVuY2hlcyBpbiBjbXV4IHRlcm1pbmFscyB0byBhdHRhY2ggdGhlIGxvY2FsIGNv", + "bXB1dGVyLXVzZSB0b29scy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5jb21wdXRlclVzZS5lbmFibGVkIgog", + "ICAgICAgIH0sCiAgICAgICAgInNob3dJbk1lbnVCYXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1", + "ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGxpdmUgY29tcHV0ZXItdXNlIHNlc3Npb25zIGFuZCBmb2N1cyBhY3Rpb25zIGluIHRoZSBtZW51", + "IGJhci4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5jb21wdXRlclVzZS5zaG93SW5NZW51QmFyIgogICAgICAg", + "IH0KICAgICAgfQogICAgfSwKICAgICJhZ2VudENoYXQiOiB7CiAgICAgICJ0aXRsZSI6ICJhZ2VudENoYXQiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQWdl", + "bnQgQ2hhdCBHVUkgc2VydmVyIHNldHRpbmdzLiBUaGUgYnVpbHQtaW4gTmV3IGFnZW50IGNoYXQgYWN0aW9uIG9wZW5zIHRoaXMgVVJMIGluIGEgYnJvd3Nl", + "ciB3b3Jrc3BhY2UsIHByb2JpbmcgL2hlYWx0aHogZmlyc3QgYW5kIG9wdGlvbmFsbHkgc3RhcnRpbmcgdGhlIHNlcnZlciB3aXRoIHN0YXJ0Q29tbWFuZC4i", + "LAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5kZXNjcmlwdGlvbiIsCiAgICAgICJ0eXBlIjogIm9iamVj", + "dCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAidXJsIjogewogICAgICAgICAg", + "InR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJmb3JtYXQiOiAidXJpIiwKICAgICAgICAgICJwYXR0ZXJuIjogIl5odHRwcz86Ly8iLAogICAgICAgICAg", + "Im1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAiZGVmYXVsdCI6ICJodHRwOi8vMTI3LjAuMC4xOjc3MzkiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkJh", + "c2UgVVJMIGZvciB0aGUgbWFjaGluZS1sb2NhbCBBZ2VudCBDaGF0IEdVSSBzZXJ2ZXIuIGNtdXggcHJvYmVzIDx1cmw+L2hlYWx0aHogYmVmb3JlIG9wZW5p", + "bmcgdGhlIHdvcmtzcGFjZS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQudXJsIgogICAgICAg", + "IH0sCiAgICAgICAgInN0YXJ0Q29tbWFuZCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAg", + "ICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBzaGVsbCBjb21tYW5kIHRvIHN0YXJ0IHRoZSBBZ2VudCBDaGF0IHNlcnZlciB3aGVuIDx1cmw+L2hlYWx0", + "aHogaXMgdW5yZWFjaGFibGUuIGNtdXggcnVucyBpdCBkZXRhY2hlZCB3aXRoIHRoZSB1c2VyJ3MgU0hFTEwsIHBvbGxzIGhlYWx0aHogZm9yIGEgc2hvcnQg", + "Ym91bmRlZCB3aW5kb3csIHRoZW4gb3BlbnMgdGhlIHdvcmtzcGFjZSBlaXRoZXIgd2F5LiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1h", + "RGVzY3JpcHRpb25zLmFnZW50Q2hhdC5zdGFydENvbW1hbmQiCiAgICAgICAgfSwKICAgICAgICAia2V5cyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVj", + "dCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJLZXlib2FyZCBiZWhhdmlvciBv", + "dmVycmlkZXMgZm9yIHRoZSBBZ2VudCBDaGF0IHdlYiBVSS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2Vu", + "dENoYXQua2V5cy5kZXNjcmlwdGlvbiIsCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImN0cmxKIjogewogICAgICAgICAgICAgICJ0", + "eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgImVudW0iOiBbIm5ld2xpbmUiLCAibWVudSJdLAogICAgICAgICAgICAgICJkZWZhdWx0IjogIm5ld2xp", + "bmUiLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJCZWhhdmlvciBmb3IgQ3RybCtKIGluIEFnZW50IENoYXQgdGV4dCBmaWVsZHMuIFVzZSBuZXds", + "aW5lIHRvIGluc2VydCBhIGxpbmUgYnJlYWssIG9yIG1lbnUgdG8gbW92ZSB0byB0aGUgbmV4dCBwb3B1cCBpdGVtIHdoaWxlIGEgbWVudSBpcyBvcGVuLiIs", + "CiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQua2V5cy5jdHJsSiIKICAgICAgICAgICAgfQog", + "ICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImZvbnRzIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJhZGRpdGlvbmFs", + "UHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZvbnQgb3ZlcnJpZGVzIGZvciB0aGUgQWdlbnQgQ2hhdCB3ZWIgVUkuIE9t", + "aXR0ZWQgdmFsdWVzIGZhbGwgYmFjayB0byBHaG9zdHR5IGFuZCBidWlsdC1pbiBkZWZhdWx0cy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNj", + "aGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuZGVzY3JpcHRpb24iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJzYW5z", + "RmFtaWx5IjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgImRl", + "c2NyaXB0aW9uIjogIkNTUyBmb250IGZhbWlseSB1c2VkIGZvciBBZ2VudCBDaGF0IGJvZHkgYW5kIFVJIHRleHQuIiwKICAgICAgICAgICAgICAiZGVzY3Jp", + "cHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5zYW5zRmFtaWx5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiYm9k", + "eUZhbWlseSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgICAgICJk", + "ZXNjcmlwdGlvbiI6ICJBbGlhcyBmb3Igc2Fuc0ZhbWlseS4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMu", + "YWdlbnRDaGF0LmZvbnRzLmJvZHlGYW1pbHkiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJmYW1pbHkiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAi", + "c3RyaW5nIiwKICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxpYXMgZm9yIHNhbnNGYW1pbHku", + "IiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5mYW1pbHkiCiAgICAgICAgICAg", + "IH0sCiAgICAgICAgICAgICJiYXNlU2l6ZSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgICAgICJleGNsdXNpdmVNaW5p", + "bXVtIjogMCwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQmFzZSBBZ2VudCBDaGF0IGZvbnQgc2l6ZSBpbiBDU1MgcGl4ZWxzLiIsCiAgICAgICAg", + "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuYmFzZVNpemUiCiAgICAgICAgICAgIH0sCiAgICAg", + "ICAgICAgICJib2R5U2l6ZSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgICAgICJleGNsdXNpdmVNaW5pbXVtIjogMCwK", + "ICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxpYXMgZm9yIGJhc2VTaXplLiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVt", + "YURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuYm9keVNpemUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJtb25vRmFtaWx5IjogewogICAgICAg", + "ICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNTUyBm", + "b250IGZhbWlseSB1c2VkIGZvciBBZ2VudCBDaGF0IGNvZGUgYW5kIG1vbm9zcGFjZSB0ZXh0LiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5Ijog", + "InNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMubW9ub0ZhbWlseSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImNvZGVGYW1pbHkiOiB7", + "CiAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24i", + "OiAiQWxpYXMgZm9yIG1vbm9GYW1pbHkuIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5m", + "b250cy5jb2RlRmFtaWx5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiY29kZVNpemUiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwK", + "ICAgICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFnZW50IENoYXQgY29kZSBmb250IHNp", + "emUgaW4gQ1NTIHBpeGVscy4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmNv", + "ZGVTaXplIgogICAgICAgICAgICB9LAogICAgICAgICAgICAibW9ub1NpemUiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAg", + "ICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsaWFzIGZvciBjb2RlU2l6ZS4iLAogICAgICAgICAg", + "ICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLm1vbm9TaXplIgogICAgICAgICAgICB9LAogICAgICAg", + "ICAgICAiY29kZUxpbmVIZWlnaHQiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6", + "IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkxpbmUtaGVpZ2h0IG11bHRpcGxpZXIgdXNlZCBmb3IgQWdlbnQgQ2hhdCBjb2RlIGJsb2Nrcy4i", + "LAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmNvZGVMaW5lSGVpZ2h0IgogICAg", + "ICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgInZhdWx0IjogewogICAgICAidGl0bGUiOiAidmF1bHQiLAogICAg", + "ICAiZGVzY3JpcHRpb24iOiAiVmF1bHQgc2Vzc2lvbiByZXN0b3JlIGFnZW50IHJlZ2lzdHJhdGlvbnMuIGNtdXggaW5jbHVkZXMgUGkgYnkgZGVmYXVsdDsg", + "dXNlIHRoaXMgc2VjdGlvbiB0byBhZGQgb3Igb3ZlcnJpZGUgSlNPTkwtYmFja2VkIGNvZGluZyBhZ2VudHMgd2l0aG91dCBhbiBhcHAgdXBkYXRlLiIsCiAg", + "ICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAi", + "YWdlbnRzIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkN1c3RvbSBjb2RpbmcgYWdlbnRzIHRoYXQg", + "VmF1bHQgY2FuIGRldGVjdCwgbGlzdCwgYW5kIHJlc3VtZS4iLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAog", + "ICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlLAogICAgICAgICAgICAicmVxdWlyZWQiOiBbImlkIiwgIm5hbWUiLCAic2Vzc2lvbklk", + "U291cmNlIiwgInJlc3VtZUNvbW1hbmQiXSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgImlkIjogewogICAgICAgICAgICAg", + "ICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIl5bQS1aYS16MC05Ll8tXSskIiwKICAgICAgICAgICAgICAgICJtYXhM", + "ZW5ndGgiOiA2NCwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdGFibGUgY2FzZS1wcmVzZXJ2aW5nIEFTQ0lJIGlkZW50aWZpZXIgdXNlZCBp", + "biBWYXVsdCBwZXJzaXN0ZW5jZSwgZm9yIGV4YW1wbGUgcGkuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIm5hbWUiOiB7CiAgICAgICAgICAg", + "ICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbmFtZSBzaG93biBpbiBWYXVsdC4iCiAgICAg", + "ICAgICAgICAgfSwKICAgICAgICAgICAgICAiaWNvbkFzc2V0TmFtZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAg", + "ICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgYXNzZXQgY2F0YWxvZyBpbWFnZSBuYW1lIHNob3duIGZvciB0aGlzIGFnZW50IGluIFZhdWx0LiIKICAg", + "ICAgICAgICAgICB9LAogICAgICAgICAgICAgICJkZXRlY3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICAg", + "ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUnVsZXMgZm9yIGRldGVjdGluZyBhIHJ1bm5p", + "bmcgYWdlbnQgcHJvY2VzcyBpbnNpZGUgYSBjbXV4IHRlcm1pbmFsLiIsCiAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAg", + "ICAgInByb2Nlc3NOYW1lIjogewogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9u", + "IjogIkV4ZWN1dGFibGUgYmFzZW5hbWUgdG8gbWF0Y2gsIGZvciBleGFtcGxlIHBpLiIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAg", + "ImFyZ3ZDb250YWlucyI6IHsKICAgICAgICAgICAgICAgICAgICAib25lT2YiOiBbCiAgICAgICAgICAgICAgICAgICAgICB7ICJ0eXBlIjogInN0cmluZyIg", + "fSwKICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgICAgICAgICAgICAg", + "ICAiaXRlbXMiOiB7ICJ0eXBlIjogInN0cmluZyIgfQogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAg", + "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN1YnN0cmluZyBvciBzdWJzdHJpbmdzIHRoYXQgbXVzdCBhcHBlYXIgaW4gdGhlIHByb2Nlc3MgYXJndi4iCiAg", + "ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJzZXNzaW9uSWRTb3VyY2UiOiB7CiAg", + "ICAgICAgICAgICAgICAib25lT2YiOiBbCiAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAg", + "ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVc2UgcGlTZXNzaW9uRmlsZSBmb3IgUGkgSlNPTkwgZGlzY292ZXJ5LCBvciBhbiBhcmd2IG9wdGlvbiBz", + "dWNoIGFzIC0tc2Vzc2lvbi4iCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJv", + "YmplY3QiLAogICAgICAgICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6", + "IFsidHlwZSJdLAogICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiB7CiAgICAgICAgICAg", + "ICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJlbnVtIjogWyJhcmd2T3B0aW9uIiwgInBpU2Vzc2lvbkZp", + "bGUiXQogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICJhcmd2T3B0aW9uIjogewogICAgICAgICAgICAgICAgICAgICAg", + "ICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uIHdob3NlIGZvbGxvd2luZyB2YWx1ZSBp", + "cyB0aGUgc2Vzc2lvbiBpZCwgZm9yIGV4YW1wbGUgLS1zZXNzaW9uLiIKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAog", + "ICAgICAgICAgICAgICAgICAgICJhbGxPZiI6IFsKICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImlmIjogewogICAg", + "ICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiB7ICJjb25zdCI6ICJhcmd2", + "T3B0aW9uIiB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAi", + "dGhlbiI6IHsgInJlcXVpcmVkIjogWyJhcmd2T3B0aW9uIl0gfQogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgIHsKICAg", + "ICAgICAgICAgICAgICAgICAgICAgImlmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAg", + "ICAgICAgICAgInR5cGUiOiB7ICJjb25zdCI6ICJwaVNlc3Npb25GaWxlIiB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg", + "ICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidGhlbiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAibm90IjogeyAicmVxdWlyZWQi", + "OiBbImFyZ3ZPcHRpb24iXSB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBd", + "CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlcmUgY211eCByZWFkcyB0", + "aGUgbmF0aXZlIHNlc3Npb24gaWQgZm9yIGFuIGFjdGl2ZSBwcm9jZXNzLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJyZXN1bWVDb21tYW5k", + "IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgICAgICAgeyAicGF0", + "dGVybiI6ICJcXHtcXHtzZXNzaW9uSWRcXH1cXH0iIH0sCiAgICAgICAgICAgICAgICAgIHsgInBhdHRlcm4iOiAiXFx7XFx7c2Vzc2lvblBhdGhcXH1cXH0i", + "IH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hlbGwtbGlrZSBhcmd2IHRlbXBsYXRlIHVzZWQgdG8gcmVz", + "dW1lIGEgc2Vzc2lvbi4gU3VwcG9ydGVkIHBsYWNlaG9sZGVyczoge3tzZXNzaW9uSWR9fSwge3tzZXNzaW9uUGF0aH19LCB7e2V4ZWN1dGFibGV9fSwge3tj", + "d2R9fSwge3tzZXNzaW9uRGlyfX0uIE11c3QgaW5jbHVkZSB7e3Nlc3Npb25JZH19IG9yIHt7c2Vzc2lvblBhdGh9fS4iCiAgICAgICAgICAgICAgfSwKICAg", + "ICAgICAgICAgICAiZm9ya0NvbW1hbmQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImFueU9mIjogWwog", + "ICAgICAgICAgICAgICAgICB7ICJwYXR0ZXJuIjogIlxce1xce3Nlc3Npb25JZFxcfVxcfSIgfSwKICAgICAgICAgICAgICAgICAgeyAicGF0dGVybiI6ICJc", + "XHtcXHtzZXNzaW9uUGF0aFxcfVxcfSIgfQogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBzaGVs", + "bC1saWtlIGFyZ3YgdGVtcGxhdGUgdXNlZCB0byBmb3JrIChicmFuY2gpIGEgc2Vzc2lvbiBpbnRvIGEgbmV3IGNvcHksIGZvciBleGFtcGxlIFwie3tleGVj", + "dXRhYmxlfX0gLS1zZXNzaW9uIHt7c2Vzc2lvbklkfX0gLS1mb3JrXCIuIFNhbWUgcGxhY2Vob2xkZXJzIGFzIHJlc3VtZUNvbW1hbmQuIE9taXQgd2hlbiB0", + "aGUgYWdlbnQgaGFzIG5vIGZvcmsgY2FwYWJpbGl0eTsgRm9yayBDb252ZXJzYXRpb24gc3RheXMgaGlkZGVuIGZvciBpdC4iCiAgICAgICAgICAgICAgfSwK", + "ICAgICAgICAgICAgICAiY3dkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJlbnVtIjogWyJwcmVzZXJ2", + "ZSIsICJpZ25vcmUiXSwKICAgICAgICAgICAgICAgICJkZWZhdWx0IjogInByZXNlcnZlIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGV0", + "aGVyIFZhdWx0IHNob3VsZCBjZCB0byB0aGUgc2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYmVmb3JlIHJ1bm5pbmcgcmVzdW1lQ29tbWFuZC4iCiAgICAgICAg", + "ICAgICAgfSwKICAgICAgICAgICAgICAic2Vzc2lvbkRpcmVjdG9yeSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAg", + "ICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgcm9vdCBkaXJlY3RvcnkgZm9yIEpTT05MIHNlc3Npb24gZGlzY292ZXJ5LCBzdWNoIGFzIH4vLnBpL2Fn", + "ZW50L3Nlc3Npb25zLiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiZGVmYXVsdCI6IFtdCiAgICAgICAg", + "fQogICAgICB9CiAgICB9LAogICAgIm5ld1dvcmtzcGFjZUNvbW1hbmQiOiB7CiAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICJkZXNjcmlwdGlvbiI6", + "ICJMZWdhY3kgbmFtZSBvZiBhIHdvcmtzcGFjZSBjb21tYW5kIHRvIHJ1biB3aGVuIGNyZWF0aW5nIGEgbmV3IHdvcmtzcGFjZS4gUHJlZmVyIHVpLm5ld1dv", + "cmtzcGFjZS5hY3Rpb24gZm9yIG5ldyBjb25maWdzLiIKICAgIH0sCiAgICAid29ya3NwYWNlR3JvdXBzIjogewogICAgICAidHlwZSI6ICJvYmplY3QiLAog", + "ICAgICAidGl0bGUiOiAid29ya3NwYWNlR3JvdXBzIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlBlci1jd2QgY3VzdG9taXphdGlvbiBmb3Igc2lkZWJhciB3", + "b3Jrc3BhY2UgZ3JvdXBzLiBUaGUgYW5jaG9yIHdvcmtzcGFjZSdzIGN3ZCBpcyBtYXRjaGVkIGFnYWluc3QgdGhlIGtleXMgaW4gYGJ5Q3dkYDsgbG9uZ2Vz", + "dC1tYXRjaCB3aW5zLiBLZXlzIGNvbnRhaW5pbmcgYCpgIG9yIGA/YCBhcmUgbWF0Y2hlZCBhcyBmbm1hdGNoIGdsb2JzICh3aXRoIGB+YCBleHBhbmRlZCk7", + "IG90aGVyIGtleXMgYXJlIHBhdGggcHJlZml4ZXMuIiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjog", + "ewogICAgICAgICJuZXdXb3Jrc3BhY2VQbGFjZW1lbnQiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlw", + "ZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImFmdGVyQ3VycmVudCIsICJ0b3AiLCAiZW5kIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJhZnRl", + "ckN1cnJlbnQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkdsb2JhbCBkZWZhdWx0IGZvciB3aGVyZSBDbWQtTiBpbnNpZGUgYSBncm91cCwgdGhlIGdy", + "b3VwIGhlYWRlciArIGJ1dHRvbiwgYW5kIGNvbmZpZ3VyZWQgZ3JvdXAgYWN0aW9ucyBwbGFjZSB0aGUgbmV3IHdvcmtzcGFjZTogYGFmdGVyQ3VycmVudGAg", + "KGFmdGVyIHRoZSBhY3RpdmUgaW4tZ3JvdXAgd29ya3NwYWNlLCBmYWxsaW5nIGJhY2sgdG8gdG9wKSwgYHRvcGAgKHNlY29uZCBzbG90LCBqdXN0IGFmdGVy", + "IHRoZSBhbmNob3IpLCBvciBgZW5kYCAoYWZ0ZXIgdGhlIGxhc3QgbWVtYmVyKS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2Ny", + "aXB0aW9ucy53b3Jrc3BhY2VHcm91cHMubmV3V29ya3NwYWNlUGxhY2VtZW50IgogICAgICAgIH0sCiAgICAgICAgImJ5Q3dkIjogewogICAgICAgICAgInR5", + "cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXAgb2YgY3dkIHBhdHRlcm5zIHRvIGdyb3VwIGN1c3RvbWl6YXRpb24uIEVtcHR5", + "IHdoZW4gb21pdHRlZC4iLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAg", + "ICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgImNvbG9yIjogewog", + "ICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIZXggY29sb3IgKGUuZy4gXCIjN0E0RkQ4", + "XCIpIGFwcGxpZWQgYXMgdGhlIGdyb3VwIGhlYWRlciB0aW50IHdoZW4gdGhlIGdyb3VwIGl0c2VsZiBoYXMgbm8gZXhwbGljaXQgY3VzdG9tQ29sb3IuIgog", + "ICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImljb24iOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAg", + "ImRlc2NyaXB0aW9uIjogIlNGIFN5bWJvbCBuYW1lIChlLmcuIFwiZm9sZGVyLmZpbGxcIiwgXCJsYWR5YnVnLmZpbGxcIikgZm9yIHRoZSBncm91cCBoZWFk", + "ZXIuIEZhbGxzIGJhY2sgdG8gXCJmb2xkZXIuZmlsbFwiIHdoZW4gb21pdHRlZC4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29udGV4dE1l", + "bnUiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSXRlbXMgYXBwZWFyaW5nIGlu", + "IHRoZSByaWdodC1jbGljayBtZW51IG9uIHRoZSBncm91cCdzICsgYnV0dG9uLiBTYW1lIHNjaGVtYSBhcyB0aGUgZ2xvYmFsIHVpLm5ld1dvcmtzcGFjZS5j", + "b250ZXh0TWVudSBlbnRyaWVzLiIsCiAgICAgICAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICAgICAgICJvbmVPZiI6IFsKICAgICAgICAgICAg", + "ICAgICAgICB7ICJ0eXBlIjogInN0cmluZyIgfSwKICAgICAgICAgICAgICAgICAgICB7ICJ0eXBlIjogIm9iamVjdCIsICJhZGRpdGlvbmFsUHJvcGVydGll", + "cyI6IHRydWUgfQogICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAibmV3V29ya3Nw", + "YWNlUGxhY2VtZW50IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJlbnVtIjogWyJhZnRlckN1cnJlbnQi", + "LCAidG9wIiwgImVuZCJdLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlBlci1jd2Qgb3ZlcnJpZGUgZm9yIHdoZXJlIENtZC1OIGluc2lkZSB0", + "aGUgZ3JvdXAsIHRoZSBncm91cCBoZWFkZXIgKyBidXR0b24sIGFuZCBjb25maWd1cmVkIGdyb3VwIGFjdGlvbnMgcGxhY2UgdGhlIG5ldyB3b3Jrc3BhY2U6", + "IGBhZnRlckN1cnJlbnRgIChhZnRlciB0aGUgYWN0aXZlIGluLWdyb3VwIHdvcmtzcGFjZSwgZmFsbGluZyBiYWNrIHRvIHRvcCksIGB0b3BgIChzZWNvbmQg", + "c2xvdCwganVzdCBhZnRlciB0aGUgYW5jaG9yKSwgb3IgYGVuZGAgKGFmdGVyIHRoZSBsYXN0IG1lbWJlcikuIEZhbGxzIGJhY2sgdG8gdGhlIGdsb2JhbCBk", + "ZWZhdWx0IHdoZW4gb21pdHRlZC4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy53b3Jrc3BhY2VHcm91", + "cHMuYnlDd2QubmV3V29ya3NwYWNlUGxhY2VtZW50IgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAg", + "fQogICAgfSwKICAgICJzdXJmYWNlVGFiQmFyQnV0dG9ucyI6IHsKICAgICAgInRpdGxlIjogInN1cmZhY2VUYWJCYXJCdXR0b25zIiwKICAgICAgImRlc2Ny", + "aXB0aW9uIjogIkxlZ2FjeSByb290LWxldmVsIHN1cmZhY2UgdGFiIGJhciBidXR0b25zLiBQcmVmZXIgdWkuc3VyZmFjZVRhYkJhci5idXR0b25zIGZvciBu", + "ZXcgY29uZmlncy4iLAogICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICJpdGVtcyI6IHsKICAgICAgICAib25lT2YiOiBbCiAgICAgICAgICB7ICJ0eXBl", + "IjogInN0cmluZyIgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVz", + "IjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfSwKICAgICJhcHAiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwi", + "XSwKICAgICAgInRpdGxlIjogImFwcCIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJHZW5lcmFsIGFwcCBwcmVmZXJlbmNlcyBmcm9tIFNldHRpbmdzID4gQXBw", + "LiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAg", + "ICAgICAibGFuZ3VhZ2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbCiAgICAgICAgICAgICJzeXN0ZW0iLAog", + "ICAgICAgICAgICAiZW4iLAogICAgICAgICAgICAiYXIiLAogICAgICAgICAgICAiYnMiLAogICAgICAgICAgICAiemgtSGFucyIsCiAgICAgICAgICAgICJ6", + "aC1IYW50IiwKICAgICAgICAgICAgImRhIiwKICAgICAgICAgICAgImRlIiwKICAgICAgICAgICAgImVzIiwKICAgICAgICAgICAgImZyIiwKICAgICAgICAg", + "ICAgIml0IiwKICAgICAgICAgICAgImphIiwKICAgICAgICAgICAgImtvIiwKICAgICAgICAgICAgIm5iIiwKICAgICAgICAgICAgInBsIiwKICAgICAgICAg", + "ICAgInB0LUJSIiwKICAgICAgICAgICAgInJ1IiwKICAgICAgICAgICAgInRoIiwKICAgICAgICAgICAgInRyIgogICAgICAgICAgXSwKICAgICAgICAgICJk", + "ZWZhdWx0IjogInN5c3RlbSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUHJlZmVycmVkIGFwcCBsYW5ndWFnZS4iCiAgICAgICAgfSwKICAgICAgICAi", + "YXBwZWFyYW5jZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsic3lzdGVtIiwgImxpZ2h0IiwgImRhcmsiXSwK", + "ICAgICAgICAgICJkZWZhdWx0IjogInN5c3RlbSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQXBwIGFwcGVhcmFuY2UgbW9kZS4iCiAgICAgICAgfSwK", + "ICAgICAgICAiYXBwSWNvbiI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsiYXV0b21hdGljIiwgImxpZ2h0Iiwg", + "ImRhcmsiXSwKICAgICAgICAgICJkZWZhdWx0IjogImF1dG9tYXRpYyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRG9jayBhbmQgYXBwIHN3aXRjaGVy", + "IGljb24gc3R5bGUuIgogICAgICAgIH0sCiAgICAgICAgIndpbmRvd1RpdGxlVGVtcGxhdGUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAg", + "ICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLndpbmRvd1RpdGxlVGVtcGxh", + "dGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIE5TV2luZG93IHRpdGxlIHRlbXBsYXRlLiBCbGFuayBwcmVzZXJ2ZXMgY211eCdzIGV4", + "aXN0aW5nIGRlZmF1bHQgdGl0bGUgYmVoYXZpb3IsIGluY2x1ZGluZyB0aGUgY3VycmVudC1kaXJlY3RvcnkgZmFsbGJhY2suIFN1cHBvcnRlZCBwbGFjZWhv", + "bGRlcnM6IHt3aW5kb3dJZH0sIHt3aW5kb3dUb2tlbn0sIHthY3RpdmVXb3Jrc3BhY2V9LCB7YWN0aXZlRGlyZWN0b3J5fSwge2RlZmF1bHRUaXRsZX0sIHth", + "cHBOYW1lfS4iCiAgICAgICAgfSwKICAgICAgICAibWVudUJhck9ubHkiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZh", + "dWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlkZSB0aGUgRG9jayBpY29uIGFuZCBhcHAgc3dpdGNoZXIgZW50cnkgd2hpbGUga2Vl", + "cGluZyBjbXV4IGF2YWlsYWJsZSBmcm9tIHRoZSBtZW51IGJhci4iCiAgICAgICAgfSwKICAgICAgICAibmV3V29ya3NwYWNlUGxhY2VtZW50IjogewogICAg", + "ICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJ0b3AiLCAiYWZ0ZXJDdXJyZW50IiwgImVuZCJdLAogICAgICAgICAgImRlZmF1", + "bHQiOiAiYWZ0ZXJDdXJyZW50IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVyZSBuZXcgd29ya3NwYWNlcyBhcmUgaW5zZXJ0ZWQgaW4gdGhlIHNp", + "ZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgImZvcmtDb252ZXJzYXRpb25EZWZhdWx0RGVzdGluYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJp", + "bmciLAogICAgICAgICAgImVudW0iOiBbInJpZ2h0IiwgImxlZnQiLCAidG9wIiwgImJvdHRvbSIsICJuZXdUYWIiLCAibmV3V29ya3NwYWNlIl0sCiAgICAg", + "ICAgICAiZGVmYXVsdCI6ICJyaWdodCIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC5mb3JrQ29udmVyc2F0", + "aW9uRGVmYXVsdERlc3RpbmF0aW9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IGRlc3RpbmF0aW9uIGZvciB0aGUgdGFiIGNvbnRleHQg", + "bWVudSdzIHByaW1hcnkgRm9yayBDb252ZXJzYXRpb24gYWN0aW9uLiBUaGUgc3VibWVudSBzdGlsbCBleHBvc2VzIGV2ZXJ5IGRlc3RpbmF0aW9uLiIKICAg", + "ICAgICB9LAogICAgICAgICJ3b3Jrc3BhY2VJbmhlcml0V29ya2luZ0RpcmVjdG9yeSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAg", + "ICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdHJ1ZSwgbmV3IHdvcmtzcGFjZXMgaW5oZXJpdCB0aGUgY3VycmVu", + "dCB3b3Jrc3BhY2Ugd29ya2luZyBkaXJlY3RvcnkuIFdoZW4gZmFsc2UsIG5ldyB3b3Jrc3BhY2VzIHVzZSBHaG9zdHR5J3Mgd29ya2luZy1kaXJlY3Rvcnkg", + "c2V0dGluZyBpbnN0ZWFkLiIKICAgICAgICB9LAogICAgICAgICJtaW5pbWFsTW9kZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAg", + "ICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWRlIHRoZSB3b3Jrc3BhY2UgdGl0bGUgYmFyIGFuZCBtb3ZlIGNvbnRy", + "b2xzIGludG8gdGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgImtlZXBXb3Jrc3BhY2VPcGVuV2hlbkNsb3NpbmdMYXN0U3VyZmFjZSI6IHsKICAg", + "ICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUs", + "IGNsb3NpbmcgdGhlIGxhc3Qgc3VyZmFjZSBrZWVwcyB0aGUgd29ya3NwYWNlIG9wZW4uIgogICAgICAgIH0sCiAgICAgICAgImZvY3VzUGFuZU9uRmlyc3RD", + "bGljayI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", + "IldoZW4gY211eCBpcyBpbmFjdGl2ZSwgdGhlIGZpcnN0IGNsaWNrIGNhbiBhY3RpdmF0ZSBhbmQgZm9jdXMgdGhlIGNsaWNrZWQgcGFuZS4iCiAgICAgICAg", + "fSwKICAgICAgICAicGFuZVJlc2l6ZVN0ZXBQaXhlbHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwK", + "ICAgICAgICAgICJtYXhpbXVtIjogMjAwLAogICAgICAgICAgImRlZmF1bHQiOiAyMCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJQaXhlbHMgbW92ZWQg", + "cGVyIGtleXByZXNzIHdoZW4gdXNpbmcgcGFuZS1yZXNpemUgc2hvcnRjdXRzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3Jp", + "cHRpb25zLmFwcC5wYW5lUmVzaXplU3RlcFBpeGVscyIKICAgICAgICB9LAogICAgICAgICJmb2N1c0hpc3RvcnlJbmNsdWRlc1BhbmVzQW5kVGFicyI6IHsK", + "ICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRy", + "dWUsIEJhY2sgYW5kIEZvcndhcmQgaW5jbHVkZSBmb2N1cyBjaGFuZ2VzIGJldHdlZW4gcGFuZXMgYW5kIHRhYnMuIFdoZW4gZmFsc2UsIHRoZXkgbmF2aWdh", + "dGUgYmV0d2VlbiB3b3Jrc3BhY2VzIG9ubHkuIgogICAgICAgIH0sCiAgICAgICAgInByZWZlcnJlZEVkaXRvciI6IHsKICAgICAgICAgICJ0eXBlIjogInN0", + "cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkN1c3RvbSBlZGl0b3IgY29tbWFuZCB1c2VkIHdoZW4g", + "Q21kLWNsaWNrIGZpbGUgcHJldmlld3MgYXJlIGRpc2FibGVkIG9yIGEgZmlsZSBpcyB1bnN1cHBvcnRlZC4gTGVhdmUgZW1wdHkgdG8gdXNlIHRoZSBkZWZh", + "dWx0LiIKICAgICAgICB9LAogICAgICAgICJvcGVuU3VwcG9ydGVkRmlsZXNJbkNtdXgiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAg", + "ICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIGVuYWJsZWQsIENtZC1jbGlja2luZyByZWFkYWJsZSBsb2NhbCBm", + "aWxlcyBvcGVucyBzdXBwb3J0ZWQgcHJldmlld3MgaW4gY211eCwgaW5jbHVkaW5nIHRleHQsIGNvZGUsIFBERnMsIGltYWdlcywgYXVkaW8sIHZpZGVvLCBh", + "bmQgUXVpY2sgTG9vayBmaWxlcy4gUHJldmlldyBoZWFkZXJzIGluY2x1ZGUgYW4gT3BlbiBXaXRoIG1lbnUgYmFzZWQgb24gdGhlIHVzZXIncyBkZWZhdWx0", + "IGFuZCBjb21wYXRpYmxlIG1hY09TIGFwcHMgZm9yIHRoYXQgZmlsZS4iCiAgICAgICAgfSwKICAgICAgICAib3Blbk1hcmtkb3duSW5DbXV4Vmlld2VyIjog", + "ewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiBl", + "bmFibGVkLCBDbWQtY2xpY2tpbmcgLm1kLy5tYXJrZG93bi8ubWtkLy5tZHggZmlsZXMgb3BlbnMgdGhlIHJlbmRlcmVkIGNtdXggbWFya2Rvd24gdmlld2Vy", + "IHBhbmVsICh3aXRoIGxpdmUgcmVsb2FkKSBpbnN0ZWFkIG9mIHRoZSBnZW5lcmljIGZpbGUgcHJldmlldy4iCiAgICAgICAgfSwKICAgICAgICAiZ2xvYmFs", + "Rm9udE1hZ25pZmljYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogNTAsCiAgICAgICAgICAibWF4", + "aW11bSI6IDIwMCwKICAgICAgICAgICJtdWx0aXBsZU9mIjogMTAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEwMCwKICAgICAgICAgICJkZXNjcmlwdGlvbktl", + "eSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLmdsb2JhbEZvbnRNYWduaWZpY2F0aW9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTY2FsZXMgY211", + "eC1vd25lZCB0ZXJtaW5hbHMsIHRhYiB0aXRsZXMsIHNpZGViYXJzLCBzZXR0aW5ncywgb3ZlcmxheXMsIGFuZCBhcHAgY2hyb21lIGJ5IHRoaXMgcGVyY2Vu", + "dGFnZS4gUmVuZGVyZWQgYnJvd3NlciBwYWdlIGNvbnRlbnQgaXMgZXhjbHVkZWQuIgogICAgICAgIH0sCiAgICAgICAgInJlb3JkZXJPbk5vdGlmaWNhdGlv", + "biI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1v", + "dmUgd29ya3NwYWNlcyB3aXRoIG5ldyBub3RpZmljYXRpb25zIHRvd2FyZCB0aGUgdG9wLiIKICAgICAgICB9LAogICAgICAgICJpTWVzc2FnZU1vZGUiOiB7", + "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTW92ZSBh", + "IHdvcmtzcGFjZSB0byB0aGUgdG9wIGFuZCBzaG93IHRoZSBzdWJtaXR0ZWQgbWVzc2FnZSB3aGVuIHNlbmRpbmcgYW4gYWdlbnQgcHJvbXB0LiIKICAgICAg", + "ICB9LAogICAgICAgICJzZW5kQW5vbnltb3VzVGVsZW1ldHJ5IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6", + "IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxsb3cgYW5vbnltb3VzIHRlbGVtZXRyeS4iCiAgICAgICAgfSwKICAgICAgICAiY29uZmlybVF1", + "aXQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImFsd2F5cyIsICJkaXJ0eS1vbmx5IiwgIm5ldmVyIl0sCiAg", + "ICAgICAgICAiZGVmYXVsdCI6ICJhbHdheXMiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hcHAuY29uZmlybVF1", + "aXQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgd2hlbiBjbXV4IGFza3MgZm9yIGNvbmZpcm1hdGlvbiBiZWZvcmUgcXVpdHRpbmcuIERF", + "ViBidWlsZHMgYWx3YXlzIHF1aXQgaW1tZWRpYXRlbHkgcmVnYXJkbGVzcyBvZiB0aGlzIHNldHRpbmcuIExlZ2FjeSBhcHAud2FybkJlZm9yZVF1aXQgaXMg", + "c3RpbGwgYWNjZXB0ZWQgYXMgYSBib29sZWFuIGZhbGxiYWNrLiIKICAgICAgICB9LAogICAgICAgICJ3YXJuQmVmb3JlUXVpdCI6IHsKICAgICAgICAgICJ0", + "eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9u", + "cy5hcHAud2FybkJlZm9yZVF1aXQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkxlZ2FjeSBib29sZWFuIGZhbGxiYWNrIGZvciBxdWl0IGNvbmZpcm1h", + "dGlvbi4gVXNlIGFwcC5jb25maXJtUXVpdCBmb3IgbmV3IGNvbmZpZ3MuIgogICAgICAgIH0sCiAgICAgICAgIndhcm5CZWZvcmVDbG9zaW5nVGFiIjogewog", + "ICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBhIGNv", + "bmZpcm1hdGlvbiBiZWZvcmUgY2xvc2luZyBhIHRhYi4iCiAgICAgICAgfSwKICAgICAgICAid2FybkJlZm9yZUNsb3NpbmdUYWJYQnV0dG9uIjogewogICAg", + "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURl", + "c2NyaXB0aW9ucy5hcHAud2FybkJlZm9yZUNsb3NpbmdUYWJYQnV0dG9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGEgY29uZmlybWF0aW9u", + "IGJlZm9yZSBjbG9zaW5nIGEgdGFiIHdpdGggdGhlIHRhYiBjbG9zZSBidXR0b24uIgogICAgICAgIH0sCiAgICAgICAgImhpZGVUYWJDbG9zZUJ1dHRvbiI6", + "IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJz", + "Y2hlbWFEZXNjcmlwdGlvbnMuYXBwLmhpZGVUYWJDbG9zZUJ1dHRvbiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlkZSB0YWIgY2xvc2UgYnV0dG9u", + "cyBpbiB0aGUgcGFuZSB0YWIgYmFyLiIKICAgICAgICB9LAogICAgICAgICJyZW5hbWVTZWxlY3RzRXhpc3RpbmdOYW1lIjogewogICAgICAgICAgInR5cGUi", + "OiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2VsZWN0IHRoZSBjdXJyZW50IG5hbWUg", + "d2hlbiBvcGVuaW5nIHJlbmFtZSBmbG93cy4iCiAgICAgICAgfSwKICAgICAgICAiY29tbWFuZFBhbGV0dGVTZWFyY2hlc0FsbFN1cmZhY2VzIjogewogICAg", + "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBldmVy", + "eSBzdXJmYWNlIGluIHRoZSBjb21tYW5kIHBhbGV0dGUgc3dpdGNoZXIgaW5zdGVhZCBvZiBvbmx5IHRoZSBhY3RpdmUgd29ya3NwYWNlLiIKICAgICAgICB9", + "CiAgICAgIH0KICAgIH0sCiAgICAidGVybWluYWwiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogInRlcm1p", + "bmFsIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlRlcm1pbmFsIHByZXNlbnRhdGlvbiBzZXR0aW5ncyBmcm9tIFNldHRpbmdzID4gVGVybWluYWwuIiwKICAg", + "ICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJh", + "ZGFwdGl2ZURlZmF1bHRUaGVtZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAg", + "ImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5hZGFwdGl2ZURlZmF1bHRUaGVtZSIsCiAgICAgICAgICAiZGVzY3JpcHRp", + "b24iOiAiV2hlbiB0cnVlICh0aGUgZGVmYXVsdCksIGNtdXggc3VwcGxpZXMgYW4gYXBwZWFyYW5jZS1hZGFwdGl2ZSBkZWZhdWx0IHBhbGV0dGUgdW5sZXNz", + "IGEgR2hvc3R0eSB0aGVtZSBvciB0ZXJtaW5hbCBjb2xvcnMgYXJlIGNvbmZpZ3VyZWQuIEZvbnQgYW5kIG90aGVyIHNldHRpbmdzIGFyZSBwcmVzZXJ2ZWQu", + "IFdoZW4gZmFsc2UsIEdob3N0dHkgdXNlcyBpdHMgZml4ZWQgYnVpbHQtaW4gcGFsZXR0ZS4gRXhwbGljaXQgdGhlbWVzIGFuZCBjb2xvcnMgYWx3YXlzIHRh", + "a2UgcHJlY2VkZW5jZSwgaW5jbHVkaW5nIHRoZW1lID0gbGlnaHQ6WCxkYXJrOlkuIgogICAgICAgIH0sCiAgICAgICAgInNob3dTY3JvbGxCYXIiOiB7CiAg", + "ICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSBy", + "aWdodC1lZGdlIHRlcm1pbmFsIHNjcm9sbCBiYXIgd2hlbiBzY3JvbGxiYWNrIGlzIGF2YWlsYWJsZS4gY211eCBhdXRvbWF0aWNhbGx5IHN1cHByZXNzZXMg", + "aXQgZm9yIGFsdGVybmF0ZS1zY3JlZW4gc3R5bGUgVFVJIHN1cmZhY2VzLiIKICAgICAgICB9LAogICAgICAgICJzY3JvbGxTcGVlZCI6IHsKICAgICAgICAg", + "ICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAibWluaW11bSI6IDAuMjUsCiAgICAgICAgICAibWF4aW11bSI6IDMuMCwKICAgICAgICAgICJkZWZhdWx0", + "IjogMS4wLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5zY3JvbGxTcGVlZCIsCiAgICAgICAgICAi", + "ZGVzY3JpcHRpb24iOiAiTXVsdGlwbGllciBhcHBsaWVkIHRvIHRlcm1pbmFsIHNjcm9sbCB3aGVlbCBhbmQgdHJhY2twYWQgZGVsdGFzLiBIaWdoZXIgdmFs", + "dWVzIHNjcm9sbCBmYXN0ZXI7IGxvd2VyIHZhbHVlcyBzY3JvbGwgc2xvd2VyLiIKICAgICAgICB9LAogICAgICAgICJzZXNzaW9uQ29udGVudE1heFdpZHRo", + "IjogewogICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgImNv", + "bnN0IjogZmFsc2UKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAgICAgIm1p", + "bmltdW0iOiAzMjAsCiAgICAgICAgICAgICAgIm11bHRpcGxlT2YiOiAyMAogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlZmF1bHQi", + "OiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuc2Vzc2lvbkNvbnRlbnRNYXhXaWR0aCIs", + "CiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgbWF4aW11bSB3aWR0aCwgaW4gcG9pbnRzLCBmb3IgdGVybWluYWwgYW5kIGJ1aWx0LWluIGFn", + "ZW50IGNoYXQgY29udGVudC4gU2V0IGZhbHNlIHRvIHVzZSB0aGUgZnVsbCBwYW5lIHdpZHRoLiIKICAgICAgICB9LAogICAgICAgICJzZXNzaW9uQ29udGVu", + "dEFsaWdubWVudCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsibGVmdCIsICJjZW50ZXIiLCAicmlnaHQiXSwK", + "ICAgICAgICAgICJkZWZhdWx0IjogImNlbnRlciIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnNl", + "c3Npb25Db250ZW50QWxpZ25tZW50IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIb3Jpem9udGFsIHBsYWNlbWVudCBmb3IgdGVybWluYWwgYW5kIGJ1", + "aWx0LWluIGFnZW50IGNoYXQgY29udGVudCB3aGVuIHNlc3Npb25Db250ZW50TWF4V2lkdGggaXMgZW5hYmxlZC4iCiAgICAgICAgfSwKICAgICAgICAiY29w", + "eU9uU2VsZWN0IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0", + "aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5jb3B5T25TZWxlY3QiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdHJ1ZSwg", + "Y29weSBzZWxlY3RlZCB0ZXJtaW5hbCB0ZXh0IHRvIHRoZSBzeXN0ZW0gY2xpcGJvYXJkIHdoZW4gdGhlIHNlbGVjdGlvbiBpcyBjb21taXR0ZWQuIFdoZW4g", + "ZmFsc2UsIGNtdXggZG9lcyBub3QgZW1pdCBhIEdob3N0dHkgY29weS1vbi1zZWxlY3Qgb3ZlcnJpZGU7IEdob3N0dHkgY29uZmlnIGFuZCBkZWZhdWx0cyBj", + "b250cm9sIHNlbGVjdGlvbi1jbGlwYm9hcmQgYmVoYXZpb3IuIgogICAgICAgIH0sCiAgICAgICAgImF1dG9SZXN1bWVBZ2VudFNlc3Npb25zIjogewogICAg", + "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQXV0b21hdGljYWxs", + "eSBydW4gYWdlbnQgcmVzdW1lIGNvbW1hbmRzIGZvciByZXN0b3JlZCB0ZXJtaW5hbCBzZXNzaW9ucyB3aGVuIGNtdXggcmVvcGVucyBhZnRlciBxdWl0LiBT", + "ZXQgZmFsc2UgdG8gcmVzdG9yZSBwYW5lcyB3aGlsZSBrZWVwaW5nIENsYXVkZSBDb2RlLCBDb2RleCwgT3BlbkNvZGUsIGFuZCBvdGhlciBzYXZlZCBhZ2Vu", + "dCBzZXNzaW9ucyBpZGxlIHVudGlsIHlvdSByZXN1bWUgdGhlbSBtYW51YWxseS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1RleHRCb3hPbk5ld1Rlcm1p", + "bmFscyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktl", + "eSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuc2hvd1RleHRCb3hPbk5ld1Rlcm1pbmFscyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hv", + "dyB0aGUgYmV0YSBUZXh0Qm94IGlucHV0IGJ5IGRlZmF1bHQgZm9yIG5ld2x5IGNyZWF0ZWQgd29ya3NwYWNlcywgdGVybWluYWwgdGFicywgYW5kIHRlcm1p", + "bmFsIHNwbGl0cy4iCiAgICAgICAgfSwKICAgICAgICAiZm9jdXNUZXh0Qm94T25OZXdUZXJtaW5hbHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFu", + "IiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLmZv", + "Y3VzVGV4dEJveE9uTmV3VGVybWluYWxzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGb2N1cyB0aGUgYmV0YSBUZXh0Qm94IGlucHV0IGJ5IGRlZmF1", + "bHQgZm9yIG5ld2x5IGNyZWF0ZWQgd29ya3NwYWNlcywgdGVybWluYWwgdGFicywgYW5kIHRlcm1pbmFsIHNwbGl0cy4gRm9jdXNpbmcgYWxzbyBzaG93cyB0", + "aGUgVGV4dEJveC4iCiAgICAgICAgfSwKICAgICAgICAiYWdlbnRIaWJlcm5hdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAg", + "ICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwu", + "YWdlbnRIaWJlcm5hdGlvbiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUm91dGluZSBBZ2VudCBIaWJlcm5hdGlvbiBzZXR0aW5ncy4gY211eCBraWxs", + "cyBpZGxlIGJhY2tncm91bmQgYWdlbnQgcHJvY2Vzc2VzIHRvIGZyZWUgUkFNIGFuZCBDUFUsIHRoZW4gcmVzdW1lcyB0aGVtIHdpdGggdGhlaXIgc2F2ZWQg", + "c2Vzc2lvbiB3aGVuIHRoZWlyIHRhYiBpcyB2aXNpdGVkLiBSb3V0aW5lIGhpYmVybmF0aW9uIHJlcXVpcmVzIGEgcmVzdG9yYWJsZSBjb2RpbmcgYWdlbnQg", + "d2hvc2UgbGlmZWN5Y2xlIHJlcG9ydHMgaWRsZSwgYW4gb2ZmLXNjcmVlbiB0ZXJtaW5hbCwgYSBsaXZlLXRlcm1pbmFsIGNvdW50IGFib3ZlIHRoZSBjb25m", + "aWd1cmVkIGxpbWl0LCBhbmQgdW5jaGFuZ2VkIG91dHB1dCB0aHJvdWdoIHRoZSBpZGxlIGFuZCBjb25maXJtYXRpb24gd2luZG93cy4gSW5kZXBlbmRlbnRs", + "eSwgZHVyaW5nIGNyaXRpY2FsIG1lbW9yeSBwcmVzc3VyZSBjbXV4IG1heSBoaWJlcm5hdGUgYSBib3VuZGVkIGJhdGNoIG9mIHNhZmUgaWRsZSBiYWNrZ3Jv", + "dW5kIGFnZW50cyBldmVuIHdoZW4gZW5hYmxlZCBpcyBmYWxzZTsgdmlzaWJsZSwgcnVubmluZywgbmVlZHMtaW5wdXQsIHJlY2VudGx5IGNoYW5nZWQsIGFu", + "ZCB1bnByb3RlY3RhYmxlIGFnZW50cyByZW1haW4gZXhjbHVkZWQuIFRoZSBwbGFjZWhvbGRlciBSZXN1bWUgYnV0dG9uIGlzIGEgbWFudWFsIGZhbGxiYWNr", + "LiIsCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAg", + "ICAgICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFs", + "LmFnZW50SGliZXJuYXRpb25FbmFibGVkIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlIHJvdXRpbmUgQWdlbnQgSGliZXJuYXRpb24g", + "YmFzZWQgb24gdGhlIGxpdmUtdGVybWluYWwgbGltaXQuIENyaXRpY2FsLXByZXNzdXJlIHNhZmV0eSBoaWJlcm5hdGlvbiByZW1haW5zIGFjdGl2ZSB3aGVu", + "IGZhbHNlLiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImlkbGVTZWNvbmRzIjogewogICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAg", + "ICAgICAgICAgICJtaW5pbXVtIjogNSwKICAgICAgICAgICAgICAibWF4aW11bSI6IDYwNDgwMCwKICAgICAgICAgICAgICAiZGVmYXVsdCI6IDUsCiAgICAg", + "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1pbmltdW0gc2Vjb25kcyB3aXRoIG5vIHRlcm1pbmFsIG91dHB1dCBvciBpbnB1dCBiZWZvcmUgYW4gaWRsZSBy", + "ZXN0b3JhYmxlIGFnZW50IHRlcm1pbmFsIGNhbiBoaWJlcm5hdGUuIEEgc2hvcnQgY29uZmlybWF0aW9uIHNldHRsZSB3aW5kb3cgKH42MHMpIHN0aWxsIGFw", + "cGxpZXMgb24gdG9wIG9mIHRoaXMgYmVmb3JlIHRoZSBhZ2VudCBpcyBraWxsZWQuIgogICAgICAgICAgICB9LAogICAgICAgICAgICAibWF4TGl2ZVRlcm1p", + "bmFscyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAgICAgIm1heGlt", + "dW0iOiAyNTYsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiAxMiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWF4aW11bSBsaXZlIHJlc3RvcmFi", + "bGUgYWdlbnQgdGVybWluYWxzIHRvIGtlZXAgYmVmb3JlIGNtdXggaGliZXJuYXRlcyBlbGlnaWJsZSBiYWNrZ3JvdW5kIHRlcm1pbmFscywgb2xkZXN0IGZp", + "cnN0LiIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInJlbmRlcmVyUmVhbGl6YXRpb24iOiB7CiAgICAgICAgICAidHlw", + "ZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmVjbGFpbSBv", + "ZmYtc2NyZWVuIHRlcm1pbmFsIEdQVSByZW5kZXJlciBtZW1vcnkuIGNtdXggcmVsZWFzZXMgdGhlIE1ldGFsIHJlbmRlcmVyIChJT1N1cmZhY2UpIG9mIGEg", + "dGVybWluYWwgdGhhdCBoYXMgc3RheWVkIG9mZi1zY3JlZW4gYW5kIGlkbGUgd2hpbGUga2VlcGluZyBpdHMgcHJvY2VzcyBhbmQgdGVybWluYWwgc3RhdGUg", + "YWxpdmUsIHRoZW4gcmVidWlsZHMgdGhlIHJlbmRlcmVyIGluc3RhbnRseSB3aGVuIHRoZSB0YWIgaXMgdmlzaXRlZCBhZ2Fpbi4gTm9uLWRlc3RydWN0aXZl", + "IGFuZCBvbiBieSBkZWZhdWx0LiIsCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAgICAgInR5", + "cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZWNsYWltIG9mZi1z", + "Y3JlZW4gdGVybWluYWwgcmVuZGVyZXIgbWVtb3J5LiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImlkbGVTZWNvbmRzIjogewogICAgICAgICAgICAg", + "ICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgICAgICJtaW5pbXVtIjogNSwKICAgICAgICAgICAgICAibWF4aW11bSI6IDYwNDgwMCwKICAgICAgICAg", + "ICAgICAiZGVmYXVsdCI6IDUsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1pbmltdW0gc2Vjb25kcyBhIHRlcm1pbmFsIG11c3Qgc3RheSBvZmYt", + "c2NyZWVuIGJlZm9yZSBpdHMgR1BVIHJlbmRlcmVyIG1lbW9yeSBpcyByZWNsYWltZWQuIgogICAgICAgICAgICB9LAogICAgICAgICAgICAibWF4V2FybVJl", + "bmRlcmVycyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAgICAgIm1h", + "eGltdW0iOiAyNTYsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiAxLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNb3N0IHJlY2VudGx5IHZpc2li", + "bGUgdGVybWluYWxzIHRvIGtlZXAgcmVuZGVyZXItcmVhZHkgc28gc3dpdGNoaW5nIHN0YXlzIGluc3RhbnQuIEV4dHJhIG9mZi1zY3JlZW4gcmVuZGVyZXJz", + "IGFyZSByZWNsYWltZWQgb2xkZXN0IGZpcnN0LiIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInRleHRCb3hNYXhMaW5l", + "cyI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgIm1heGltdW0iOiAyMCwKICAgICAg", + "ICAgICJkZWZhdWx0IjogMTAsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWF4aW11bSBudW1iZXIgb2YgbGluZXMgdGhlIHJpY2ggdGVybWluYWwgVGV4", + "dEJveCBpbnB1dCBjYW4gZ3JvdyB0byBiZWZvcmUgaXQgc2Nyb2xscy4iCiAgICAgICAgfSwKICAgICAgICAidGV4dEJveERlZmF1bHRTdWJtaXRBY3Rpb24i", + "OiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAidGV4dC1lbnRyeSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", + "OiAiRGVmYXVsdCBUZXh0Qm94IHN1Ym1pdCBhY3Rpb24gSUQgZm9yIG5ldyB0ZXJtaW5hbCBzZXNzaW9ucy4gVXNlIHRleHQtZW50cnkgZm9yIHBsYWluIGlu", + "cHV0IG9yIG9uZSBvZiB0aGUgY29uZmlndXJlZCBhY3Rpb24gSURzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25z", + "LnRlcm1pbmFsLnRleHRCb3hEZWZhdWx0U3VibWl0QWN0aW9uIgogICAgICAgIH0sCiAgICAgICAgInRleHRCb3hTdWJtaXRBY3Rpb25zIjogewogICAgICAg", + "ICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb25maWd1cmFibGUgVGV4dEJv", + "eCBzdWJtaXQgYWN0aW9ucyBzaG93biBvbiB0aGUgc3VibWl0IGJ1dHRvbiwgU2hpZnQtVGFiIGN5Y2xlLCBhbmQgcmlnaHQtY2xpY2sgbWVudS4iLAogICAg", + "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9ucyIsCiAgICAgICAgICAiaXRl", + "bXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAg", + "ICAicmVxdWlyZWQiOiBbImlkIiwgInRpdGxlIiwgImtpbmQiLCAic3lzdGVtSW1hZ2UiLCAiYmFja2dyb3VuZENvbG9ySGV4Il0sCiAgICAgICAgICAgICJw", + "cm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICJpZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAicGF0", + "dGVybiI6ICJeW0EtWmEtejAtOS5fLV0rJCIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU3RhYmxlIGFjdGlvbiBJRCByZWZlcmVuY2VkIGJ5", + "IHRlcm1pbmFsLnRleHRCb3hEZWZhdWx0U3VibWl0QWN0aW9uLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", + "b25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25JZCIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJ0aXRsZSI6IHsKICAgICAgICAgICAg", + "ICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWVudSBsYWJlbCBmb3IgdGhpcyBzdWJtaXQgYWN0aW9uLiIs", + "CiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25UaXRsZSIK", + "ICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJraW5kIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAg", + "ICJlbnVtIjogWyJ0ZXh0RW50cnkiLCAiY29tbWFuZFRlbXBsYXRlIl0sCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGlzIGFj", + "dGlvbiBzdWJtaXRzIHBsYWluIFRleHQgRW50cnkgb3IgZXhwYW5kcyBhIHNoZWxsIGNvbW1hbmQgdGVtcGxhdGUuIiwKICAgICAgICAgICAgICAgICJkZXNj", + "cmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbktpbmQiCiAgICAgICAgICAgICAgfSwKICAgICAg", + "ICAgICAgICAiY29tbWFuZFRlbXBsYXRlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlv", + "biI6ICJTaGVsbCBjb21tYW5kIHRlbXBsYXRlIGZvciBjb21tYW5kVGVtcGxhdGUgYWN0aW9ucy4gSW5jbHVkZSB7e3Byb21wdH19IHRvIHNoZWxsLXF1b3Rl", + "IHRoZSBwcm9tcHQgaW50byB0aGUgY29tbWFuZC4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJt", + "aW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uQ29tbWFuZFRlbXBsYXRlIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInByZXNlcnZlUHJvbXB0QWZ0", + "ZXJMYXVuY2giOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUs", + "IGxhdW5jaCBjb21tYW5kVGVtcGxhdGUgd2l0aG91dCB0aGUgcHJvbXB0IGFuZCBrZWVwIHRoZSBwcm9tcHQgaW4gdGhlIFRleHRCb3ggZm9yIHRoZSBhY3Rp", + "dmUgYWdlbnQuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFj", + "dGlvblByZXNlcnZlUHJvbXB0QWZ0ZXJMYXVuY2giCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAic3lzdGVtSW1hZ2UiOiB7CiAgICAgICAgICAg", + "ICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZhbGxiYWNrIFNGIFN5bWJvbCBuYW1lIHNob3duIG9uIHRo", + "ZSBzdWJtaXQgYnV0dG9uLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hT", + "dWJtaXRBY3Rpb25TeXN0ZW1JbWFnZSIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJhc3NldE5hbWUiOiB7CiAgICAgICAgICAgICAgICAidHlw", + "ZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIGFwcCBhc3NldCBjYXRhbG9nIGltYWdlIG5hbWUgc2hvd24g", + "b24gdGhlIHN1Ym1pdCBidXR0b24uIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4", + "dEJveFN1Ym1pdEFjdGlvbkFzc2V0TmFtZSIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJpbWFnZVBhdGgiOiB7CiAgICAgICAgICAgICAgICAi", + "dHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIFBORyBvciBpbWFnZSBmaWxlIHBhdGggc2hvd24gb24g", + "dGhlIHN1Ym1pdCBidXR0b24uIFRpbGRlIGlzIGV4cGFuZGVkLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", + "b25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25JbWFnZVBhdGgiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiYmFja2dyb3VuZENvbG9y", + "SGV4IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4jP1swLTlBLUZhLWZdezZ9KFsw", + "LTlBLUZhLWZdezJ9KT8kIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBY3Rpb24gY29sb3IgbWV0YWRhdGEgYXMgUkdCIG9yIFJHQkEgaGV4", + "LiBUaGUgc3VibWl0IGJ1dHRvbiBmaWxsIHN0YXlzIHdoaXRlIGFuZCBvbmx5IGNoYW5nZXMgb3BhY2l0eSBiZXR3ZWVuIGVuYWJsZWQgYW5kIGRpc2FibGVk", + "IHN0YXRlcy4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0", + "aW9uQmFja2dyb3VuZENvbG9ySGV4IgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImFsbE9mIjogWwogICAgICAgICAgICAg", + "IHsKICAgICAgICAgICAgICAgICJpZiI6IHsKICAgICAgICAgICAgICAgICAgInJlcXVpcmVkIjogWyJraW5kIl0sCiAgICAgICAgICAgICAgICAgICJwcm9w", + "ZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICJraW5kIjogeyAiY29uc3QiOiAiY29tbWFuZFRlbXBsYXRlIiB9CiAgICAgICAgICAgICAgICAgIH0K", + "ICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidGhlbiI6IHsKICAgICAgICAgICAgICAgICAgInJlcXVpcmVkIjogWyJjb21tYW5kVGVtcGxh", + "dGUiXSwKICAgICAgICAgICAgICAgICAgImFueU9mIjogWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVz", + "IjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29tbWFuZFRlbXBsYXRlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmlu", + "ZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXFx7XFx7cHJvbXB0XFx9XFx9IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAg", + "ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAi", + "cmVxdWlyZWQiOiBbInByZXNlcnZlUHJvbXB0QWZ0ZXJMYXVuY2giXSwKICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAg", + "ICAgICAgICAgICAgICAicHJlc2VydmVQcm9tcHRBZnRlckxhdW5jaCI6IHsgImNvbnN0IjogdHJ1ZSB9CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg", + "ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAg", + "ICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVzdW1lQ29tbWFuZHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVmYXVs", + "dCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZ25lZCBjb21tYW5kLXByZWZpeCBhcHByb3ZhbHMgZm9yIHJlc3RvcmluZyBub24tYWdlbnQg", + "dGVybWluYWwgc3VyZmFjZXMuIGNtdXggd3JpdGVzIHRoaXMgbGlzdCB3aGVuIHlvdSBhcHByb3ZlIGEgc3VyZmFjZSByZXN1bWUgY29tbWFuZC4iLAogICAg", + "ICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwK", + "ICAgICAgICAgICAgInJlcXVpcmVkIjogWyJ2ZXJzaW9uIiwgImlkIiwgImNvbW1hbmRQcmVmaXgiLCAiZW52aXJvbm1lbnRLZXlzIiwgInBvbGljeSIsICJj", + "cmVhdGVkQXQiLCAidXBkYXRlZEF0IiwgInNpZ25hdHVyZSJdLAogICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAidmVyc2lvbiI6", + "IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgICAgICAgImNvbnN0IjogMQogICAgICAgICAgICAgIH0sCiAgICAgICAg", + "ICAgICAgImlkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIm5hbWUiOiB7CiAg", + "ICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29tbWFuZFByZWZpeCI6IHsKICAgICAgICAg", + "ICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICAgICAgICJtaW5JdGVtcyI6IDEsCiAgICAgICAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAg", + "ICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAg", + "ICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGFyZ3YgcHJlZml4IHRoYXQgbXVzdCBtYXRjaCB0aGUgc2F2ZWQgcmVzdW1lIGNvbW1hbmQuIgogICAgICAg", + "ICAgICAgIH0sCiAgICAgICAgICAgICAgImN3ZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3Jp", + "cHRpb24iOiAiT3B0aW9uYWwgd29ya2luZyBkaXJlY3RvcnkgdGhhdCBtdXN0IG1hdGNoIHRoZSBzYXZlZCByZXN1bWUgY29tbWFuZC4iCiAgICAgICAgICAg", + "ICAgfSwKICAgICAgICAgICAgICAiZW52aXJvbm1lbnQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICAgImFk", + "ZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAg", + "ICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIG5vbi1zZW5zaXRpdmUgZW52aXJvbm1lbnQgdmFsdWVzIHRoYXQgbXVzdCBtYXRjaCB0aGUgc2F2ZWQgcmVz", + "dW1lIGNvbW1hbmQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImVudmlyb25tZW50S2V5cyI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjog", + "ImFycmF5IiwKICAgICAgICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgfQog", + "ICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICB9", + "LAogICAgICAgICAgICAgICJwb2xpY3kiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImVudW0iOiBbIm1h", + "bnVhbCIsICJwcm9tcHQiLCAiYXV0byJdCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY3JlYXRlZEF0IjogewogICAgICAgICAgICAgICAgInR5", + "cGUiOiAibnVtYmVyIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInVwZGF0ZWRBdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJl", + "ciIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJsYXN0VXNlZEF0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIgogICAgICAg", + "ICAgICAgIH0sCiAgICAgICAgICAgICAgInNpZ25hdHVyZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAi", + "ZGVzY3JpcHRpb24iOiAiSE1BQyBzaWduYXR1cmUgZm9yIHRoZSByZWNvcmQuIENoYW5naW5nIHNpZ25lZCBmaWVsZHMgaW52YWxpZGF0ZXMgdGhlIGFwcHJv", + "dmFsLiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJ1cGxvYWRDb21tYW5kcyI6IHsKICAg", + "ICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJkZWZhdWx0IjogW10sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG9zdC1zY29wZWQgcnVs", + "ZXMgdGhhdCByZXBsYWNlIHRoZSBidWlsdC1pbiBzY3AgZm9yIHRlcm1pbmFsIGZpbGUgZHJvcHMgYW5kIHBhc3RlcyBvdmVyIFNTSC4gV2hlbiB0aGUgc3No", + "IGRlc3RpbmF0aW9uIG1hdGNoZXMgYSBydWxlLCBjbXV4IHJ1bnMgdGhhdCBydWxlJ3MgY29tbWFuZCBvbmNlIHBlciBmaWxlIGluc3RlYWQgb2Ygc2NwLCBh", + "bmQgaW5zZXJ0cyB0aGUgY29tbWFuZCdzIHN0ZG91dCBhdCB0aGUgY3Vyc29yICh2ZXJiYXRpbSwgd2l0aCBjb250cm9sIGNoYXJhY3RlcnMgc3RyaXBwZWQp", + "OyBpZiB0aGUgY29tbWFuZCBwcmludHMgbm90aGluZywgY211eCBpbnNlcnRzIHRoZSBzaGVsbC1lc2NhcGVkIHJlbW90ZSBwYXRoIGl0IGNob3NlIGluc3Rl", + "YWQuIFBlci1maWxlIG91dHB1dHMgYXJlIHNwYWNlLWpvaW5lZC4gRmlyc3QgbWF0Y2hpbmcgZW5hYmxlZCBydWxlIHdpbnM7IG5vIG1hdGNoIHJ1bnMgdGhl", + "IGJ1aWx0LWluIHNjcCB1bmNoYW5nZWQuIEEgbm9uLXplcm8gZXhpdCwgdGltZW91dCwgb3IgY2FuY2VsIGluc2VydHMgbm90aGluZy4iLAogICAgICAgICAg", + "Iml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAg", + "ICAgICAgInJlcXVpcmVkIjogWyJjb21tYW5kIl0sCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICJob3N0UGF0dGVybiI6IHsK", + "ICAgICAgICAgICAgICAgICJ0eXBlIjogWyJzdHJpbmciLCAibnVsbCJdLAogICAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAg", + "ICAiZGVzY3JpcHRpb24iOiAiZm5tYXRjaCBnbG9iIG1hdGNoZWQgYWdhaW5zdCB0aGUgc3NoIGRlc3RpbmF0aW9uICh1c2VyQCBhbmQgSVB2NiBicmFja2V0", + "cyBzdHJpcHBlZCwgbG93ZXJjYXNlZCksIGxpa2UgYSBzaW5nbGUgc3NoX2NvbmZpZyBIb3N0IHBhdHRlcm4uIE9taXQgdGhlIGtleSBvciBzZXQgaXQgdG8g", + "bnVsbCBmb3IgYSBjYXRjaC1hbGwgKGEgYmxhbmsgc3RyaW5nIGlzIHJlamVjdGVkKS4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29tbWFu", + "ZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAgICJw", + "YXR0ZXJuIjogIlxcUyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hlbGwgY29tbWFuZCBydW4gdmlhIC9iaW4vc2ggLWMsIG9uY2UgcGVy", + "IGZpbGUuIEl0IHJlY2VpdmVzIHRoZSBmaWxlIGFuZCBlbmRwb2ludCBvbiBpdHMgZW52aXJvbm1lbnQgKENNVVhfVVBMT0FEX0xPQ0FMX1BBVEgsIENNVVhf", + "VVBMT0FEX1JFTU9URV9QQVRILCBDTVVYX1VQTE9BRF9ERVNUSU5BVElPTiwgQ01VWF9VUExPQURfUE9SVCwgQ01VWF9VUExPQURfSURFTlRJVFlfRklMRSwg", + "Q01VWF9VUExPQURfU1NIX09QVElPTlMpLiBJdHMgc3Rkb3V0IGlzIHdoYXQgY211eCBpbnNlcnRzIGF0IHRoZSBjdXJzb3IuIgogICAgICAgICAgICAgIH0s", + "CiAgICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog", + "dHJ1ZSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRoaXMgcnVsZSBpcyBhY3RpdmUuIERlZmF1bHRzIHRvIHRydWUuIgogICAg", + "ICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJub3RpZmljYXRpb25zIjogewogICAg", + "ICAidGl0bGUiOiAibm90aWZpY2F0aW9ucyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJOb3RpZmljYXRpb24gYmVoYXZpb3IgZnJvbSBTZXR0aW5ncyA+IE5v", + "dGlmaWNhdGlvbnMuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0", + "aWVzIjogewogICAgICAgICJkb2NrQmFkZ2UiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJi", + "b29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSB1bnJlYWQgY291bnQgaW4gdGhl", + "IERvY2sgdGlsZS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0luTWVudUJhciI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwK", + "ICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhl", + "IG1lbnUgYmFyIGV4dHJhLiIKICAgICAgICB9LAogICAgICAgICJ1bnJlYWRQYW5lUmluZyI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9i", + "YWwiXSwKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhp", + "Z2hsaWdodCBwYW5lcyB3aXRoIHVucmVhZCBub3RpZmljYXRpb25zLiIKICAgICAgICB9LAogICAgICAgICJwYW5lRmxhc2giOiB7CiAgICAgICAgICAieC1j", + "bXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAg", + "ICJkZXNjcmlwdGlvbiI6ICJGbGFzaCB0aGUgZm9jdXNlZCBwYW5lIHdoZW4gcmVxdWVzdGVkLiIKICAgICAgICB9LAogICAgICAgICJwYW5lRmxhc2hDb2xv", + "ciI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAog", + "ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnBh", + "bmVGbGFzaENvbG9yIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZSB0aGUgcGFuZSBmbGFzaCBhbmQgdW5yZWFkIHJpbmcgY29sb3IuIE51", + "bGwga2VlcHMgdGhlIGJ1aWx0LWluIGJsdWUuIgogICAgICAgIH0sCiAgICAgICAgInN1cHByZXNzT25seUZvY3VzZWRTdXJmYWNlIjogewogICAgICAgICAg", + "IngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAg", + "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnN1cHByZXNzT25seUZvY3VzZWRTdXJmYWNlIiwKICAg", + "ICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIGVuYWJsZWQsIGEgbm90aWZpY2F0aW9uIGJhbm5lciBpcyBhdXRvLXdpdGhkcmF3biBvbmx5IHdoZW4gaXRz", + "IHN1cmZhY2UgaXMgdGhlIGV4YWN0IGZvY3VzZWQgc3VyZmFjZS4gQSBiYW5uZXIgZGVsaXZlcmVkIGZvciBhIG5vbi1mb2N1c2VkIHN1cmZhY2UgaW4gdGhl", + "IGN1cnJlbnRseSB2aXNpYmxlIHdvcmtzcGFjZSBzdGF5cyB1cCB1bnRpbCB5b3UgZm9jdXMgdGhhdCBzdXJmYWNlIChvciBjbGljay9kaXNtaXNzIGl0KSwg", + "aW5zdGVhZCBvZiBiZWluZyByZXRyYWN0ZWQgd2hlbiB0aGUgd29ya3NwYWNlIGJlY29tZXMgdmlzaWJsZS4gT2ZmIHByZXNlcnZlcyB0aGUgbGVnYWN5IHdv", + "cmtzcGFjZS12aXNpYmlsaXR5IHdpdGhkcmF3LiIKICAgICAgICB9LAogICAgICAgICJhZ2VudFBlcm1pc3Npb25Qcm9tcHQiOiB7CiAgICAgICAgICAieC1j", + "bXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAg", + "ICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5hZ2VudFBlcm1pc3Npb25Qcm9tcHQiLAogICAgICAgICAgImRl", + "c2NyaXB0aW9uIjogIk5vdGlmeSB3aGVuIGFuIGFnZW50IChlLmcuIENsYXVkZSBDb2RlKSBpcyBibG9ja2VkIHdhaXRpbmcgZm9yIHlvdXIgcGVybWlzc2lv", + "biB0byBydW4gYSB0b29sLiBPbiBieSBkZWZhdWx0LCBzaW5jZSB0aGlzIGlzIHRoZSBhbGVydCB5b3UgbXVzdCBhY3Qgb24gdG8gdW5ibG9jayB0aGUgYWdl", + "bnQuIgogICAgICAgIH0sCiAgICAgICAgImFnZW50VHVybkNvbXBsZXRlIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAg", + "ICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJ3aGVuSWRsZSIsICJhbHdheXMiLCAibmV2ZXIiXSwKICAgICAgICAgICJkZWZh", + "dWx0IjogIndoZW5JZGxlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5hZ2VudFR1cm5D", + "b21wbGV0ZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiB0byBub3RpZnkgdGhhdCBhbiBhZ2VudCBmaW5pc2hlZCBhIHR1cm4uIHdoZW5JZGxl", + "IChkZWZhdWx0KSBzdXBwcmVzc2VzIHRoZSBub3RpZmljYXRpb24gd2hpbGUgdGhlIGFnZW50IHN0aWxsIGhhcyBhIHJ1bm5pbmcgYmFja2dyb3VuZCB0YXNr", + "IG9yIGEgcGVuZGluZyBzY2hlZHVsZWQgd2FrZXVwLCBzbyB5b3UgYXJlIHBpbmdlZCBvbmNlIHdvcmsgdHJ1bHkgZHJhaW5zLiBhbHdheXMgbm90aWZpZXMg", + "b24gZXZlcnkgdHVybiBlbmQ7IG5ldmVyIGRpc2FibGVzIGl0LiIKICAgICAgICB9LAogICAgICAgICJhZ2VudElkbGVSZW1pbmRlciI6IHsKICAgICAgICAg", + "ICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAg", + "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLmFnZW50SWRsZVJlbWluZGVyIiwKICAgICAgICAgICJk", + "ZXNjcmlwdGlvbiI6ICJOb3RpZnkgd2hlbiBhbiBhZ2VudCBoYXMgYmVlbiBpZGxlIHdhaXRpbmcgZm9yIHlvdXIgaW5wdXQgKGFib3V0IDYwcyBhZnRlciBh", + "IHR1cm4gZW5kcykuIFN1cHByZXNzZWQgd2hpbGUgYmFja2dyb3VuZCB3b3JrIGZyb20gdGhlIGxhc3QgdHVybiBpcyBzdGlsbCBwZW5kaW5nLCBzbyBhIHJ1", + "bm5pbmcgYnVpbGQgb3Igd2F0Y2hlciBkb2VzIG5vdCB0cmlnZ2VyIGEgZmFsc2Ugd2FpdGluZyBhbGVydC4iCiAgICAgICAgfSwKICAgICAgICAic291bmQi", + "OiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBb", + "CiAgICAgICAgICAgICJkZWZhdWx0IiwKICAgICAgICAgICAgIkJhc3NvIiwKICAgICAgICAgICAgIkJsb3ciLAogICAgICAgICAgICAiQm90dGxlIiwKICAg", + "ICAgICAgICAgIkZyb2ciLAogICAgICAgICAgICAiRnVuayIsCiAgICAgICAgICAgICJHbGFzcyIsCiAgICAgICAgICAgICJIZXJvIiwKICAgICAgICAgICAg", + "Ik1vcnNlIiwKICAgICAgICAgICAgIlBpbmciLAogICAgICAgICAgICAiUG9wIiwKICAgICAgICAgICAgIlB1cnIiLAogICAgICAgICAgICAiU29zdW1pIiwK", + "ICAgICAgICAgICAgIlN1Ym1hcmluZSIsCiAgICAgICAgICAgICJUaW5rIiwKICAgICAgICAgICAgImN1c3RvbV9maWxlIiwKICAgICAgICAgICAgIm5vbmUi", + "CiAgICAgICAgICBdLAogICAgICAgICAgImRlZmF1bHQiOiAiZGVmYXVsdCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTm90aWZpY2F0aW9uIHNvdW5k", + "IHByZXNldC4iCiAgICAgICAgfSwKICAgICAgICAiY3VzdG9tU291bmRGaWxlUGF0aCI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwi", + "XSwKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkxvY2FsIHBh", + "dGggdG8gdGhlIGN1c3RvbSBub3RpZmljYXRpb24gc291bmQgZmlsZS4iCiAgICAgICAgfSwKICAgICAgICAic291bmRPdmVycmlkZXMiOiB7CiAgICAgICAg", + "ICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAg", + "ICAgICJtYXhQcm9wZXJ0aWVzIjogMjU2LAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnNv", + "dW5kT3ZlcnJpZGVzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTcGFyc2UgcGVyLWFnZW50IGFuZCBwZXItYWxlcnQtdHlwZSBub3RpZmljYXRpb24g", + "c291bmQgb3ZlcnJpZGVzLiBNaXNzaW5nIGNlbGxzIHVzZSBub3RpZmljYXRpb25zLnNvdW5kLiIsCiAgICAgICAgICAicHJvcGVydHlOYW1lcyI6IHsKICAg", + "ICAgICAgICAgImFsbE9mIjogWwogICAgICAgICAgICAgIHsgInBhdHRlcm4iOiAiXltBLVphLXowLTkuXy1dKyQiIH0sCiAgICAgICAgICAgICAgeyAibWF4", + "TGVuZ3RoIjogNjQgfSwKICAgICAgICAgICAgICB7ICJub3QiOiB7ICJlbnVtIjogWyIuIiwgIi4uIl0gfSB9CiAgICAgICAgICAgIF0KICAgICAgICAgIH0s", + "CiAgICAgICAgICAicGF0dGVyblByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJeW0EtWmEtejAtOS5fLV0rJCI6IHsKICAgICAgICAgICAgICAidHlwZSI6", + "ICJvYmplY3QiLAogICAgICAgICAgICAgICJtYXhQcm9wZXJ0aWVzIjogMywKICAgICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwK", + "ICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICJ0dXJuRG9uZSI6IHsgIiRyZWYiOiAiIy8kZGVmcy9ub3RpZmljYXRpb25T", + "b3VuZE92ZXJyaWRlIiB9LAogICAgICAgICAgICAgICAgIm5lZWRzSW5wdXQiOiB7ICIkcmVmIjogIiMvJGRlZnMvbm90aWZpY2F0aW9uU291bmRPdmVycmlk", + "ZSIgfSwKICAgICAgICAgICAgICAgICJlcnJvclN0YWxsZWQiOiB7ICIkcmVmIjogIiMvJGRlZnMvbm90aWZpY2F0aW9uU291bmRPdmVycmlkZSIgfQogICAg", + "ICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlCiAgICAgICAgfSwK", + "ICAgICAgICAiY29tbWFuZCI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAg", + "ICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHNoZWxsIGNvbW1hbmQgdG8gcnVuIGFsb25nc2lkZSBu", + "b3RpZmljYXRpb24gZGVsaXZlcnkuIgogICAgICAgIH0sCiAgICAgICAgImhvb2tzTW9kZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAg", + "ICAgICAiZW51bSI6IFsiYXBwZW5kIiwgInJlcGxhY2UiXSwKICAgICAgICAgICJkZWZhdWx0IjogImFwcGVuZCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", + "OiAiQ29udHJvbHMgd2hldGhlciBwcm9qZWN0LWxvY2FsIG5vdGlmaWNhdGlvbiBob29rcyBhcHBlbmQgdG8gaW5oZXJpdGVkIGhvb2tzIG9yIHJlcGxhY2Ug", + "dGhlbS4iCiAgICAgICAgfSwKICAgICAgICAiaG9va3MiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAog", + "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbXBvc2FibGUgc2hlbGwgaG9va3MgdGhhdCByZWNlaXZlIG5vdGlmaWNhdGlvbiBwb2xpY3kgSlNPTiBvbiBz", + "dGRpbiBhbmQgcmV0dXJuIHVwZGF0ZWQgcG9saWN5IEpTT04gb24gc3Rkb3V0LiIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjog", + "Im9iamVjdCIsCiAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgICAicmVxdWlyZWQiOiBbImlkIiwgImNvbW1h", + "bmQiXSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgImlkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwK", + "ICAgICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN0YWJsZSBob29rIGlkZW50aWZpZXIgdXNl", + "ZCBpbiBsb2dzIGFuZCBmYWlsdXJlIGFsZXJ0cy4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29tbWFuZCI6IHsKICAgICAgICAgICAgICAg", + "ICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIi4qXFxTLioiLAog", + "ICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGNvbW1hbmQgcnVuIHdpdGggbm90aWZpY2F0aW9uIHBvbGljeSBKU09OIG9uIHN0ZGluLiIK", + "ICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJ0aW1lb3V0U2Vjb25kcyI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAg", + "ICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IDIwLAogICAgICAgICAgICAgICAgImRlc2NyaXB0", + "aW9uIjogIk1heGltdW0gdGltZSBjbXV4IHdhaXRzIGZvciB0aGlzIGhvb2sgYmVmb3JlIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0IG5vdGlmaWNhdGlvbiBi", + "ZWhhdmlvci4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiZW5hYmxlZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAog", + "ICAgICAgICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhpcyBob29rIHdpdGhvdXQg", + "cmVtb3ZpbmcgaXQuIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJzaWRl", + "YmFyIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJzaWRlYmFyIiwKICAgICAgImRlc2NyaXB0aW9uIjog", + "IlNpZGViYXIgY29udGVudCBhbmQgbWV0YWRhdGEgdmlzaWJpbGl0eSBmcm9tIFNldHRpbmdzID4gU2lkZWJhci4iLAogICAgICAidHlwZSI6ICJvYmplY3Qi", + "LAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImhpZGVBbGxEZXRhaWxzIjogewog", + "ICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhpZGUgYWxs", + "IHBlci13b3Jrc3BhY2UgZGV0YWlsIHJvd3MuIgogICAgICAgIH0sCiAgICAgICAgIndyYXBXb3Jrc3BhY2VUaXRsZXMiOiB7CiAgICAgICAgICAidHlwZSI6", + "ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxsb3cgd29ya3NwYWNlIHRpdGxlcyBp", + "biB0aGUgc2lkZWJhciB0byB3cmFwIHRvIG11bHRpcGxlIGxpbmVzIGluc3RlYWQgb2YgdHJ1bmNhdGluZyBhZnRlciBvbmUgbGluZS4iCiAgICAgICAgfSwK", + "ICAgICAgICAic2hvd1dvcmtzcGFjZURlc2NyaXB0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRy", + "dWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBjdXN0b20gd29ya3NwYWNlIGRlc2NyaXB0aW9ucyBpbiB0aGUgc2lkZWJhci4iCiAgICAgICAg", + "fSwKICAgICAgICAiYmV0YSI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwK", + "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFeHBlcmltZW50YWwgc2lkZWJhciBmZWF0dXJlcy4iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAg", + "ICAgICAgICJ3b3Jrc3BhY2VUb2RvcyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVy", + "dGllcyI6IGZhbHNlLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXb3Jrc3BhY2UgdG9kb3MgY2hlY2tsaXN0IHByZXNlbnRhdGlvbi4iLAogICAg", + "ICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgImNoZWNrbGlzdFN0eWxlIjogewogICAgICAgICAgICAgICAgICAidHlwZSI6ICJz", + "dHJpbmciLAogICAgICAgICAgICAgICAgICAiZW51bSI6IFsicG9wb3ZlciIsICJpbmxpbmUiXSwKICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiAicG9w", + "b3ZlciIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIb3cgYSByb3cncyBjaGVja2xpc3Qgb3BlbnMgZnJvbSBpdHMgc3VtbWFyeSBsaW5l", + "OiBhbiBhbmNob3JlZCBwb3BvdmVyIG9yIGlubGluZSBleHBhbnNpb24uIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAg", + "fQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImJyYW5jaExheW91dCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAi", + "ZW51bSI6IFsidmVydGljYWwiLCAiaW5saW5lIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJ2ZXJ0aWNhbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", + "U2hvdyBnaXQgYnJhbmNoIGRldGFpbHMgc3RhY2tlZCB2ZXJ0aWNhbGx5IG9yIGlubGluZS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd05vdGlmaWNhdGlv", + "bk1lc3NhZ2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlv", + "biI6ICJTaG93IHRoZSBsYXRlc3Qgbm90aWZpY2F0aW9uIHRleHQgaW4gdGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgIm5vdGlmaWNhdGlvbk1l", + "c3NhZ2VMaW5lTGltaXQiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJtYXhpbXVt", + "IjogNTAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEyLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gbGluZXMgc2hvd24gZm9yIHRoZSBsYXRl", + "c3Qgbm90aWZpY2F0aW9uIGJlbG93IGVhY2ggd29ya3NwYWNlIHRpdGxlLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", + "b25zLnNpZGViYXIubm90aWZpY2F0aW9uTWVzc2FnZUxpbmVMaW1pdCIKICAgICAgICB9LAogICAgICAgICJzaG93QnJhbmNoRGlyZWN0b3J5IjogewogICAg", + "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgd29y", + "a3NwYWNlIHdvcmtpbmcgZGlyZWN0b3J5LiIKICAgICAgICB9LAogICAgICAgICJzaG93UHVsbFJlcXVlc3RzIjogewogICAgICAgICAgInR5cGUiOiAiYm9v", + "bGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBwdWxsIHJlcXVlc3QgbWV0YWRhdGEgaW4g", + "dGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgIndhdGNoR2l0U3RhdHVzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAg", + "ICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2F0Y2ggcmVwb3NpdG9yeSBmaWxlcyBmb3Igc2lkZWJhciBicmFuY2ggYW5k", + "IHB1bGwgcmVxdWVzdCBtZXRhZGF0YSB3aXRob3V0IHBvbGxpbmcgZ2l0LiIKICAgICAgICB9LAogICAgICAgICJtYWtlUHVsbFJlcXVlc3RzQ2xpY2thYmxl", + "IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxs", + "b3cgc2lkZWJhciBwdWxsIHJlcXVlc3QgbWV0YWRhdGEgdG8gb3BlbiBsaW5rcyB3aGVuIGNsaWNrZWQuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5QdWxs", + "UmVxdWVzdExpbmtzSW5DbXV4QnJvd3NlciI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAg", + "ICAgICAgImRlc2NyaXB0aW9uIjogIk9wZW4gc2lkZWJhciBwdWxsIHJlcXVlc3QgbGlua3MgaW4gdGhlIGVtYmVkZGVkIGNtdXggYnJvd3Nlci4iCiAgICAg", + "ICAgfSwKICAgICAgICAib3BlblBvcnRMaW5rc0luQ211eEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZh", + "dWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVuIHNpZGViYXIgcG9ydCBsaW5rcyBpbiB0aGUgZW1iZWRkZWQgY211eCBicm93c2Vy", + "LiIKICAgICAgICB9LAogICAgICAgICJzaG93U1NIIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUs", + "CiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBTU0ggY29ubmVjdGlvbiBkZXRhaWxzLiIKICAgICAgICB9LAogICAgICAgICJzaG93UG9ydHMiOiB7", + "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGxp", + "c3RlbmluZyBwb3J0cy4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0xvZyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRl", + "ZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgcmVjZW50IGxvZyBzbmlwcGV0cy4iCiAgICAgICAgfSwKICAgICAgICAic2hv", + "d1Byb2dyZXNzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRp", + "b24iOiAiU2hvdyBwcm9ncmVzcyBpbmRpY2F0b3JzLiIKICAgICAgICB9LAogICAgICAgICJzaG93QWdlbnRBY3Rpdml0eSI6IHsKICAgICAgICAgICJ0eXBl", + "IjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGxvYWRpbmcgc3Bpbm5l", + "ciBvbiB3b3Jrc3BhY2VzIHdpdGggcnVubmluZyBjb2RpbmcgYWdlbnRzIG9yIGFjdGl2ZSBsb2FkZXJzLiIKICAgICAgICB9LAogICAgICAgICJsb2FkaW5n", + "U3Bpbm5lclBvc2l0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJsZWFkaW5nIiwgInRyYWlsaW5nIl0s", + "CiAgICAgICAgICAiZGVmYXVsdCI6ICJsZWFkaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGljaCBzaWRlIG9mIHRoZSB3b3Jrc3BhY2Ugcm93", + "IHRoZSBsb2FkaW5nIHNwaW5uZXIgYXBwZWFycyBvbjogbGVhZGluZyAobGVmdCwgc2hhcmluZyB0aGUgdW5yZWFkLWJhZGdlIHNsb3QpIG9yIHRyYWlsaW5n", + "IChyaWdodCkuIgogICAgICAgIH0sCiAgICAgICAgIm5vdGlmaWNhdGlvbkJhZGdlUG9zaXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAog", + "ICAgICAgICAgImVudW0iOiBbImxlYWRpbmciLCAidHJhaWxpbmciXSwKICAgICAgICAgICJkZWZhdWx0IjogImxlYWRpbmciLAogICAgICAgICAgImRlc2Ny", + "aXB0aW9uIjogIldoaWNoIHNpZGUgb2YgdGhlIHdvcmtzcGFjZSByb3cgdGhlIHVucmVhZCBub3RpZmljYXRpb24gYmFkZ2UgYXBwZWFycyBvbjogbGVhZGlu", + "ZyAobGVmdCkgb3IgdHJhaWxpbmcgKHJpZ2h0KS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0N1c3RvbU1ldGFkYXRhIjogewogICAgICAgICAgInR5cGUi", + "OiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBjdXN0b20gbWV0YWRhdGEgcGls", + "bHMuIgogICAgICAgIH0sCiAgICAgICAgInJpZ2h0TWF4V2lkdGgiOiB7CiAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgImV4Y2x1c2l2", + "ZU1pbmltdW0iOiAwLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5zaWRlYmFyLnJpZ2h0TWF4V2lkdGgiLAogICAg", + "ICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gd2lkdGggaW4gcG9pbnRzIGZvciB0aGUgcmlnaHQgc2lkZWJhci4gV2hlbiBvbWl0dGVkLCB0aGUgYnVp", + "bHQtaW4gZHluYW1pYyBjYXAgYXBwbGllcy4iCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIndvcmtzcGFjZUNvbG9ycyI6IHsKICAgICAgIngtY211", + "eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAid29ya3NwYWNlQ29sb3JzIiwKICAgICAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSB0", + "YWIgYW5kIGJhZGdlIGNvbG9ycyBmcm9tIFNldHRpbmdzID4gV29ya3NwYWNlIENvbG9ycy4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRk", + "aXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImluZGljYXRvclN0eWxlIjogewogICAgICAgICAgInR5", + "cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAibGVmdFJhaWwiLAogICAgICAgICAgICAic29saWRGaWxsIiwKICAgICAg", + "ICAgICAgInJhaWwiLAogICAgICAgICAgICAiYm9yZGVyIiwKICAgICAgICAgICAgIndhc2giLAogICAgICAgICAgICAibGlmdCIsCiAgICAgICAgICAgICJ0", + "eXBvZ3JhcGh5IiwKICAgICAgICAgICAgIndhc2hSYWlsIiwKICAgICAgICAgICAgImJsdWVXYXNoQ29sb3JSYWlsIgogICAgICAgICAgXSwKICAgICAgICAg", + "ICJkZWZhdWx0IjogImxlZnRSYWlsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBY3RpdmUgd29ya3NwYWNlIGluZGljYXRvciBzdHlsZS4gTGVnYWN5", + "IGFsaWFzZXMgYXJlIGFjY2VwdGVkIGFuZCBub3JtYWxpemVkLiIKICAgICAgICB9LAogICAgICAgICJzZWxlY3Rpb25Db2xvciI6IHsKICAgICAgICAgICIk", + "cmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk92ZXJy", + "aWRlIHRoZSBzZWxlY3RlZCB3b3Jrc3BhY2UgYmFja2dyb3VuZCBjb2xvci4iCiAgICAgICAgfSwKICAgICAgICAibm90aWZpY2F0aW9uQmFkZ2VDb2xvciI6", + "IHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2Ny", + "aXB0aW9uIjogIk92ZXJyaWRlIHRoZSB1bnJlYWQgbm90aWZpY2F0aW9uIGJhZGdlIGNvbG9yLiIKICAgICAgICB9LAogICAgICAgICJjb2xvcnMiOiB7CiAg", + "ICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZ1bGwgbmFtZWQgd29ya3NwYWNlIGNvbG9yIHBhbGV0dGUuIElu", + "Y2x1ZGUgYnVpbHQtaW4gZW50cmllcyB5b3Ugd2FudCB0byBrZWVwLCByZW1vdmUga2V5cyB0byByZW1vdmUgY29sb3JzLCBhbmQgYWRkIG1vcmUgbmFtZWQg", + "ZW50cmllcyB0byBleHRlbmQgdGhlIHBpY2tlci4iLAogICAgICAgICAgImRlZmF1bHQiOiB7CiAgICAgICAgICAgICJSZWQiOiAiI0MwMzkyQiIsCiAgICAg", + "ICAgICAgICJDcmltc29uIjogIiM5MjJCMjEiLAogICAgICAgICAgICAiT3JhbmdlIjogIiNBMDQwMDAiLAogICAgICAgICAgICAiQW1iZXIiOiAiIzdENjYw", + "OCIsCiAgICAgICAgICAgICJPbGl2ZSI6ICIjNEE1QzE4IiwKICAgICAgICAgICAgIkdyZWVuIjogIiMxOTZGM0QiLAogICAgICAgICAgICAiVGVhbCI6ICIj", + "MDA2QjZCIiwKICAgICAgICAgICAgIkFxdWEiOiAiIzBFNkI4QyIsCiAgICAgICAgICAgICJCbHVlIjogIiMxNTY1QzAiLAogICAgICAgICAgICAiTmF2eSI6", + "ICIjMUE1Mjc2IiwKICAgICAgICAgICAgIkluZGlnbyI6ICIjMjgzNTkzIiwKICAgICAgICAgICAgIlB1cnBsZSI6ICIjNkExQjlBIiwKICAgICAgICAgICAg", + "Ik1hZ2VudGEiOiAiI0FEMTQ1NyIsCiAgICAgICAgICAgICJSb3NlIjogIiM4ODBFNEYiLAogICAgICAgICAgICAiQnJvd24iOiAiIzdCM0YwMCIsCiAgICAg", + "ICAgICAgICJDaGFyY29hbCI6ICIjM0U0QjVFIgogICAgICAgICAgfSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAg", + "IiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJwYWxldHRlT3ZlcnJpZGVzIjogewogICAgICAgICAg", + "InR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgd29ya3NwYWNlIGNvbG9yIG92ZXJyaWRlcyBmb3IgYnVpbHQtaW4g", + "cGFsZXR0ZSBuYW1lcy4gUHJlZmVyIHdvcmtzcGFjZUNvbG9ycy5jb2xvcnMgZm9yIG5ldyBjb25maWdzLiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHt9LAog", + "ICAgICAgICAgImRlcHJlY2F0ZWQiOiB0cnVlLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiJHJlZiI6ICIjLyRk", + "ZWZzL2NvbG9ySGV4IgogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImN1c3RvbUNvbG9ycyI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwK", + "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgbGlzdCBvZiBjdXN0b20gd29ya3NwYWNlIGNvbG9ycy4gUHJlZmVyIHdvcmtzcGFjZUNvbG9ycy5j", + "b2xvcnMgZm9yIG5ldyBjb25maWdzLiIsCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlcHJlY2F0ZWQiOiB0cnVlLAogICAgICAgICAg", + "Iml0ZW1zIjogewogICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAg", + "ICJzaWRlYmFyQXBwZWFyYW5jZSI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAic2lkZWJhckFwcGVhcmFu", + "Y2UiLAogICAgICAiZGVzY3JpcHRpb24iOiAiU2lkZWJhciB0aW50IHNldHRpbmdzIGZyb20gU2V0dGluZ3MgPiBTaWRlYmFyIEFwcGVhcmFuY2UuIiwKICAg", + "ICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJt", + "YXRjaFRlcm1pbmFsQmFja2dyb3VuZCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAg", + "ICAgICJkZXNjcmlwdGlvbiI6ICJVc2UgdGhlIHRlcm1pbmFsIGJhY2tncm91bmQgaW5zdGVhZCBvZiB0aGUgc2lkZWJhciB0aW50LiIKICAgICAgICB9LAog", + "ICAgICAgICJ0aW50Q29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IiwKICAgICAgICAgICJkZWZhdWx0IjogIiMwMDAwMDAi", + "LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkJhc2Ugc2lkZWJhciB0aW50IGNvbG9yIHVzZWQgd2hlbiBsaWdodC9kYXJrIG92ZXJyaWRlcyBhcmUgbm90", + "IHNldC4iCiAgICAgICAgfSwKICAgICAgICAibGlnaHRNb2RlVGludENvbG9yIjogewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleE9yTnVs", + "bCIsCiAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2lkZWJhciB0aW50IG92ZXJyaWRlIGZvciBsaWdodCBh", + "cHBlYXJhbmNlLiIKICAgICAgICB9LAogICAgICAgICJkYXJrTW9kZVRpbnRDb2xvciI6IHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhP", + "ck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIgdGludCBvdmVycmlkZSBmb3IgZGFy", + "ayBhcHBlYXJhbmNlLiIKICAgICAgICB9LAogICAgICAgICJ0aW50T3BhY2l0eSI6IHsKICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAi", + "bWluaW11bSI6IDAsCiAgICAgICAgICAibWF4aW11bSI6IDEsCiAgICAgICAgICAiZGVmYXVsdCI6IDAuMDMsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", + "U2lkZWJhciB0aW50IG9wYWNpdHkgZnJvbSAwIHRvIDEuIE5vdGU6IHRoaXMgb25seSBjb250cm9scyB0aGUgc2lkZWJhciB0aW50LCBub3QgdGVybWluYWwv", + "d2luZG93IHRyYW5zcGFyZW5jeS4gRm9yIHRlcm1pbmFsIGJhY2tncm91bmQgdHJhbnNwYXJlbmN5IG9yIGJsdXIsIHNldCBgYmFja2dyb3VuZC1vcGFjaXR5", + "YCBhbmQgYGJhY2tncm91bmQtYmx1cmAgaW4gYH4vLmNvbmZpZy9naG9zdHR5L2NvbmZpZ2AgYW5kIHJ1biBgY211eCByZWxvYWQtY29uZmlnYC4iCiAgICAg", + "ICAgfQogICAgICB9CiAgICB9LAogICAgImF1dG9tYXRpb24iOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjog", + "ImF1dG9tYXRpb24iLAogICAgICAiZGVzY3JpcHRpb24iOiAiU29ja2V0IGNvbnRyb2wgYW5kIGF1dG9tYXRpb24gc2V0dGluZ3MgZnJvbSBTZXR0aW5ncyA+", + "IEF1dG9tYXRpb24uIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0", + "aWVzIjogewogICAgICAgICJzb2NrZXRDb250cm9sTW9kZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsKICAg", + "ICAgICAgICAgIm9mZiIsCiAgICAgICAgICAgICJjbXV4T25seSIsCiAgICAgICAgICAgICJhdXRvbWF0aW9uIiwKICAgICAgICAgICAgInBhc3N3b3JkIiwK", + "ICAgICAgICAgICAgImFsbG93QWxsIiwKICAgICAgICAgICAgIm9wZW5BY2Nlc3MiLAogICAgICAgICAgICAiZnVsbE9wZW5BY2Nlc3MiLAogICAgICAgICAg", + "ICAibm90aWZpY2F0aW9ucyIsCiAgICAgICAgICAgICJmdWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogImNtdXhPbmx5IiwKICAgICAg", + "ICAgICJkZXNjcmlwdGlvbiI6ICJTb2NrZXQgY29udHJvbCBtb2RlLiBMZWdhY3kgYWxpYXNlcyBhcmUgYWNjZXB0ZWQgYW5kIG5vcm1hbGl6ZWQuIgogICAg", + "ICAgIH0sCiAgICAgICAgInNvY2tldFBhc3N3b3JkIjogewogICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInR5cGUi", + "OiAic3RyaW5nIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVsbCIKICAgICAgICAgICAgfQogICAgICAg", + "ICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUGFzc3dvcmQgZm9yIHBhc3N3b3JkLW1vZGUgc29ja2V0", + "IGFjY2Vzcy4gVXNlIG51bGwgb3IgYW4gZW1wdHkgc3RyaW5nIHRvIGNsZWFyIGl0LiIKICAgICAgICB9LAogICAgICAgICJjbGF1ZGVDb2RlSW50ZWdyYXRp", + "b24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJF", + "bmFibGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgQ2xhdWRlIENvZGUuIgogICAgICAgIH0sCiAgICAgICAgImNsYXVkZUJpbmFyeVBhdGgiOiB7CiAg", + "ICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDdXN0b20gcGF0aCB0", + "byB0aGUgY2xhdWRlIGJpbmFyeS4iCiAgICAgICAgfSwKICAgICAgICAid29ya3NwYWNlQXV0b05hbWluZyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", + "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXV0b21hdGlv", + "bi53b3Jrc3BhY2VBdXRvTmFtaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHQtaW4gQUkgYXV0by1uYW1pbmcgb2Ygd29ya3NwYWNlcyBhbmQg", + "dGFicyBmcm9tIGFnZW50IGNvbnZlcnNhdGlvbiBjb250ZW50LiBXaGVuIGVuYWJsZWQsIGNtdXggc3VtbWFyaXplcyBzdXBwb3J0ZWQgYWdlbnQgc2Vzc2lv", + "bnMgaW50byBzaG9ydCB0aXRsZXMgdXNpbmcgZWFjaCBhZ2VudCdzIG93biBiaW5hcnk7IG1hbnVhbCByZW5hbWVzIGFsd2F5cyB3aW4uIgogICAgICAgIH0s", + "CiAgICAgICAgImF1dG9OYW1pbmdBZ2VudCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICJhdXRvIiwKICAg", + "ICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXV0b21hdGlvbi5hdXRvTmFtaW5nQWdlbnQiLAogICAgICAgICAgImRlc2Ny", + "aXB0aW9uIjogIldoaWNoIGFnZW50IGdlbmVyYXRlcyBhdXRvLW5hbWVzIGZvciBldmVyeSBzZXNzaW9uLiBcImF1dG9cIiAoZGVmYXVsdCkgbmFtZXMgZWFj", + "aCBzZXNzaW9uIHdpdGggaXRzIG93biBhZ2VudDsgYW55IGFnZW50IHNsdWcgKGNsYXVkZSwgY29kZXgsIGdyb2ssIG9wZW5jb2RlLCBwaSwgb21wLCDigKYp", + "IG92ZXJyaWRlcyBuYW1pbmcgZm9yIGFsbCBzZXNzaW9ucywgZXZlbiBvdGhlciBhZ2VudHMnIHNlc3Npb25zLiBVbmRyaXZlYWJsZSBvciB1bmluc3RhbGxl", + "ZCBhZ2VudHMgZmFsbCBiYWNrIHRvIHRoZSBzZXNzaW9uJ3Mgb3duIGFnZW50LCBzbyBuYW1pbmcgbmV2ZXIgYnJlYWtzLiIKICAgICAgICB9LAogICAgICAg", + "ICJyaXBncmVwQmluYXJ5UGF0aCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRl", + "c2NyaXB0aW9uIjogIkN1c3RvbSBwYXRoIHRvIHRoZSByaXBncmVwIChyZykgYmluYXJ5IHVzZWQgYnkgcHJvamVjdCBzZWFyY2guIgogICAgICAgIH0sCiAg", + "ICAgICAgInN1cHByZXNzU3ViYWdlbnROb3RpZmljYXRpb25zIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6", + "IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24uc3VwcHJlc3NTdWJhZ2VudE5vdGlmaWNh", + "dGlvbnMiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN1cHByZXNzIHZpc2libGUgY29tcGxldGlvbiBub3RpZmljYXRpb25zIGFuZCBzdGF0dXMgbXV0", + "YXRpb25zIGZyb20gbmVzdGVkIENvZGV4IG9yIENsYXVkZSBjaGlsZCBhZ2VudHMgd2hpbGUga2VlcGluZyB0aGVpciBldmVudHMgaW4gRmVlZCB0ZWxlbWV0", + "cnkuIgogICAgICAgIH0sCiAgICAgICAgImFtcEludGVncmF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVs", + "dCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24uYW1wSW50ZWdyYXRpb24iLAogICAg", + "ICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBjbXV4IGludGVncmF0aW9uIGhvb2tzIGZvciBBbXAuIFdoZW4gZGlzYWJsZWQsIHRoZSBidW5kbGVkIHBs", + "dWdpbiBzdGF5cyBpbmFjdGl2ZSB3aXRob3V0IG5lZWRpbmcgdG8gYmUgcmVtb3ZlZC4iCiAgICAgICAgfSwKICAgICAgICAiY3Vyc29ySW50ZWdyYXRpb24i", + "OiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFi", + "bGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgQ3Vyc29yLiIKICAgICAgICB9LAogICAgICAgICJnZW1pbmlJbnRlZ3JhdGlvbiI6IHsKICAgICAgICAg", + "ICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBjbXV4IGludGVn", + "cmF0aW9uIGhvb2tzIGZvciBHZW1pbmkuIgogICAgICAgIH0sCiAgICAgICAgImtpcm9JbnRlZ3JhdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", + "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBjbXV4IGludGVncmF0aW9uIGhvb2tzIGZv", + "ciBLaXJvIENMSS4iCiAgICAgICAgfSwKICAgICAgICAia2lyb05vdGlmaWNhdGlvbkxldmVsIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAg", + "ICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAibWluaW1hbCIsCiAgICAgICAgICAgICJzdGFuZGFyZCIsCiAgICAgICAgICAgICJ2ZXJib3NlIgogICAg", + "ICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogInN0YW5kYXJkIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb250cm9scyBob3cgbWFueSBLaXJv", + "IHRvb2wgZXZlbnRzIGFwcGVhciBpbiBGZWVkLiIKICAgICAgICB9LAogICAgICAgICJwb3J0QmFzZSI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIi", + "LAogICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgImRlZmF1bHQiOiA5MTAwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN0YXJ0aW5nIHZh", + "bHVlIGZvciB3b3Jrc3BhY2UgQ01VWF9QT1JUIGFzc2lnbm1lbnRzLiIKICAgICAgICB9LAogICAgICAgICJwb3J0UmFuZ2UiOiB7CiAgICAgICAgICAidHlw", + "ZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJkZWZhdWx0IjogMTAsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", + "TnVtYmVyIG9mIHBvcnRzIHJlc2VydmVkIHBlciB3b3Jrc3BhY2UuIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJicm93c2VyIjogewogICAgICAi", + "eC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJicm93c2VyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkVtYmVkZGVkIGJyb3dz", + "ZXIgc2V0dGluZ3MgZnJvbSBTZXR0aW5ncyA+IEJyb3dzZXIuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVz", + "IjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJkZWZhdWx0U2VhcmNoRW5naW5lIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5n", + "IiwKICAgICAgICAgICJlbnVtIjogWyJnb29nbGUiLCAiZHVja2R1Y2tnbyIsICJiaW5nIiwgImthZ2kiLCAic3RhcnRwYWdlIiwgImJyYXZlIiwgInBlcnBs", + "ZXhpdHkiLCAiZXhhIiwgInlhaG9vIiwgImVjb3NpYSIsICJxd2FudCIsICJtb2plZWsiLCAid2lraXBlZGlhIiwgImdpdGh1YiIsICJiYWlkdSIsICJ5YW5k", + "ZXgiLCAiY3VzdG9tIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJnb29nbGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0", + "aW9ucy5icm93c2VyLmRlZmF1bHRTZWFyY2hFbmdpbmUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgc2VhcmNoIGVuZ2luZSBmb3Igbm9u", + "LVVSTCBicm93c2VyIGFkZHJlc3MgYmFyIHF1ZXJpZXMuIFVzZSBjdXN0b20gd2l0aCBjdXN0b21TZWFyY2hFbmdpbmVVUkxUZW1wbGF0ZSBmb3IgYXJiaXRy", + "YXJ5IHByb3ZpZGVycy4iCiAgICAgICAgfSwKICAgICAgICAiY3VzdG9tU2VhcmNoRW5naW5lTmFtZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIs", + "CiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmN1c3RvbVNl", + "YXJjaEVuZ2luZU5hbWUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbmFtZSB1c2VkIHdoZW4gZGVmYXVsdFNlYXJjaEVuZ2luZSBpcyBj", + "dXN0b20uIgogICAgICAgIH0sCiAgICAgICAgImN1c3RvbVNlYXJjaEVuZ2luZVVSTFRlbXBsYXRlIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwK", + "ICAgICAgICAgICJkZWZhdWx0IjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vc2VhcmNoP3E9e3F1ZXJ5fSIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXki", + "OiAic2NoZW1hRGVzY3JpcHRpb25zLmJyb3dzZXIuY3VzdG9tU2VhcmNoRW5naW5lVVJMVGVtcGxhdGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNl", + "YXJjaCBVUkwgdXNlZCB3aGVuIGRlZmF1bHRTZWFyY2hFbmdpbmUgaXMgY3VzdG9tLiBJbmNsdWRlIHtxdWVyeX0gb3IgJXMgZm9yIHRoZSBlbmNvZGVkIHF1", + "ZXJ5LiBJZiBvbWl0dGVkLCBjbXV4IGFwcGVuZHMgcT0gdG8gdGhlIFVSTC4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1NlYXJjaFN1Z2dlc3Rpb25zIjog", + "ewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBv", + "bW5pYmFyIHNlYXJjaCBzdWdnZXN0aW9ucy4iCiAgICAgICAgfSwKICAgICAgICAidGhlbWUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAg", + "ICAgICAgImVudW0iOiBbInN5c3RlbSIsICJsaWdodCIsICJkYXJrIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzeXN0ZW0iLAogICAgICAgICAgImRlc2Ny", + "aXB0aW9uIjogIkVtYmVkZGVkIGJyb3dzZXIgdGhlbWUuIgogICAgICAgIH0sCiAgICAgICAgImRlZmF1bHRab29tTGV2ZWwiOiB7CiAgICAgICAgICAidHlw", + "ZSI6ICJudW1iZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAwLjI1LAogICAgICAgICAgIm1heGltdW0iOiA1LAogICAgICAgICAgImRlZmF1bHQiOiAxLAog", + "ICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmRlZmF1bHRab29tTGV2ZWwiLAogICAgICAgICAgImRlc2Ny", + "aXB0aW9uIjogIkRlZmF1bHQgcGFnZSB6b29tIGZhY3RvciBhcHBsaWVkIHRvIG5ld2x5IG9wZW5lZCBicm93c2VyIHBhZ2VzICgxID0gMTAwJSkuIFpvb20g", + "SW4sIFpvb20gT3V0LCBhbmQgQWN0dWFsIFNpemUgc3RpbGwgYWRqdXN0IGVhY2ggcGFnZS4iCiAgICAgICAgfSwKICAgICAgICAiZGlzY2FyZEhpZGRlbldl", + "YlZpZXdzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", + "OiAiQWxsb3cgaGlkZGVuIGJyb3dzZXIgdGFicyB0byByZWxlYXNlIHBhZ2UgbWVtb3J5IGFuZCByZXN0b3JlIHdoZW4gc2hvd24gYWdhaW4uIgogICAgICAg", + "IH0sCiAgICAgICAgImhpZGRlbldlYlZpZXdEaXNjYXJkRGVsYXlTZWNvbmRzIjogewogICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICJt", + "aW5pbXVtIjogMCwKICAgICAgICAgICJtYXhpbXVtIjogMzYwMCwKICAgICAgICAgICJkZWZhdWx0IjogMzAwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", + "IlNlY29uZHMgYSBicm93c2VyIHRhYiBtdXN0IHN0YXkgaGlkZGVuIGJlZm9yZSBjbXV4IGZyZWVzIGl0cyBwYWdlIG1lbW9yeS4iCiAgICAgICAgfSwKICAg", + "ICAgICAiYXNrV2hlcmVUb1NhdmVEb3dubG9hZHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2Us", + "CiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmJyb3dzZXIuYXNrV2hlcmVUb1NhdmVEb3dubG9hZHMiLAogICAgICAg", + "ICAgImRlc2NyaXB0aW9uIjogIlNob3cgYSBzYXZlIHBhbmVsIGZvciBicm93c2VyIGRvd25sb2FkcyBpbnN0ZWFkIG9mIHNhdmluZyBkaXJlY3RseSB0byBE", + "b3dubG9hZHMuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5UZXJtaW5hbExpbmtzSW5DbXV4QnJvd3NlciI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", + "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wZW4gY2xpY2tlZCB0ZXJtaW5hbCBsaW5rcyBpbiB0", + "aGUgZW1iZWRkZWQgYnJvd3Nlci4iCiAgICAgICAgfSwKICAgICAgICAiaW50ZXJjZXB0VGVybWluYWxPcGVuQ29tbWFuZEluQ211eEJyb3dzZXIiOiB7CiAg", + "ICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJJbnRlcmNlcHQg", + "dGVybWluYWwgb3BlbiBodHRwKHMpIGNvbW1hbmRzIGFuZCByb3V0ZSB0aGVtIHRocm91Z2ggdGhlIGVtYmVkZGVkIGJyb3dzZXIuIgogICAgICAgIH0sCiAg", + "ICAgICAgImhvc3RzVG9PcGVuSW5FbWJlZGRlZEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAg", + "ICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", + "IkFsbG93bGlzdCBvZiBob3N0cyB0aGF0IHNob3VsZCBzdGF5IGluc2lkZSB0aGUgZW1iZWRkZWQgYnJvd3Nlci4iCiAgICAgICAgfSwKICAgICAgICAidXJs", + "c1RvQWx3YXlzT3BlbkV4dGVybmFsbHkiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0", + "eXBlIjogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJ1bGVzIHRoYXQg", + "YWx3YXlzIG9wZW4gbWF0Y2hpbmcgVVJMcyBpbiB0aGUgc3lzdGVtIGJyb3dzZXIuIgogICAgICAgIH0sCiAgICAgICAgImluc2VjdXJlSHR0cEhvc3RzQWxs", + "b3dlZEluRW1iZWRkZWRCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlw", + "ZSI6ICJzdHJpbmciCiAgICAgICAgICB9LAogICAgICAgICAgImRlZmF1bHQiOiBbCiAgICAgICAgICAgICJsb2NhbGhvc3QiLAogICAgICAgICAgICAiKi5s", + "b2NhbGhvc3QiLAogICAgICAgICAgICAiMTI3LjAuMC4xIiwKICAgICAgICAgICAgIjo6MSIsCiAgICAgICAgICAgICIwLjAuMC4wIiwKICAgICAgICAgICAg", + "IioubG9jYWx0ZXN0Lm1lIgogICAgICAgICAgXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIVFRQIGhvc3RzIGFsbG93ZWQgaW4gdGhlIGVtYmVkZGVk", + "IGJyb3dzZXIgd2l0aG91dCBhIHdhcm5pbmcgcHJvbXB0LiIKICAgICAgICB9LAogICAgICAgICJ1cmxBbGxvd2xpc3QiOiB7CiAgICAgICAgICAidHlwZSI6", + "ICJhcnJheSIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVzY3Jp", + "cHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmJyb3dzZXIudXJsQWxsb3dsaXN0IiwKICAgICAgICAgICJkZWZhdWx0IjogWwogICAgICAgICAgICAi", + "bG9jYWxob3N0IiwKICAgICAgICAgICAgIioubG9jYWxob3N0IiwKICAgICAgICAgICAgIjEyNy4wLjAuMSIsCiAgICAgICAgICAgICI6OjEiLAogICAgICAg", + "ICAgICAiMC4wLjAuMCIsCiAgICAgICAgICAgICIqLmxvY2FsdGVzdC5tZSIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG9zdCBv", + "ciBVUkwgcGF0dGVybnMgdGhhdCByZXN0cmljdCBlbWJlZGRlZC1icm93c2VyIG5hdmlnYXRpb24uIFRoZSBTZXR0aW5ncyBVSSBzdWdnZXN0cyBsb2NhbCBk", + "ZXZlbG9wbWVudCBvcmlnaW5zOyBzYXZpbmcgYSBsaXN0IG9wdHMgaW50byB0aGUgb3B0aW9uYWwgcmVzdHJpY3Rpb24uIFJlbW92ZSBlbnRyaWVzIHRvIGJs", + "b2NrIHRoZW0sIG9yIGxlYXZlIHRoZSB1c2VyIHZhbHVlIGVtcHR5IHRvIGRpc2FibGUgaXQgd2hlbiBubyBtYW5hZ2VkIHBvbGljeSBhcHBsaWVzLiIKICAg", + "ICAgICB9LAogICAgICAgICJzaG93SW1wb3J0SGludE9uQmxhbmtUYWJzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVm", + "YXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgYnJvd3NlciBpbXBvcnQgaGludCBvbiBibGFuayB0YWJzLiIKICAgICAg", + "ICB9LAogICAgICAgICJyZWFjdEdyYWJWZXJzaW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIjAuMS4y", + "OSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUGlubmVkIHJlYWN0LWdyYWIgdmVyc2lvbiBmb3IgdGhlIGJyb3dzZXIgdG9vbGJhciBoZWxwZXIuIgog", + "ICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJtb2JpbGUiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjog", + "Im1vYmlsZSIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJNYWMtc2lkZSBzZXR0aW5ncyBmb3IgY211eCBvbiBpT1MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0", + "IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJhcnRpZmFjdEZvbGRlckFjY2Vz", + "cyI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsic3VidHJlZSIsICJvbmVMZXZlbCJdLAogICAgICAgICAgImRl", + "ZmF1bHQiOiAic3VidHJlZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29udHJvbHMgd2hldGhlciBhIHJlZmVyZW5jZWQgb3IgdGVybWluYWwtdmlz", + "aWJsZSBkaXJlY3RvcnkgYXV0aG9yaXplcyBpdHMgZnVsbCBjYW5vbmljYWwgc3VidHJlZSBvciBvbmx5IGltbWVkaWF0ZSBjaGlsZHJlbi4iCiAgICAgICAg", + "fQogICAgICB9CiAgICB9LAogICAgIm1hcmtkb3duIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJtYXJr", + "ZG93biIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJCdWlsdC1pbiBtYXJrZG93biB2aWV3ZXIgc2V0dGluZ3MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwK", + "ICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJmb250U2l6ZSI6IHsKICAgICAgICAg", + "ICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgIm1pbmltdW0iOiA4LAogICAgICAgICAgIm1heGltdW0iOiA5NiwKICAgICAgICAgICJkZWZhdWx0Ijog", + "MTUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVmYXVsdCBib2R5IGZvbnQgc2l6ZSwgaW4gcG9pbnRzLCBmb3IgbmV3bHkgb3BlbmVkIG1hcmtkb3du", + "IHZpZXdlcnMuIFpvb20gYSB2aWV3ZXIgbGl2ZSB3aXRoIENtZC0rIC8gQ21kLS0gLyBDbWQtMC4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNj", + "aGVtYURlc2NyaXB0aW9ucy5tYXJrZG93bi5mb250U2l6ZSIKICAgICAgICB9LAogICAgICAgICJmb250RmFtaWx5IjogewogICAgICAgICAgInR5cGUiOiAi", + "c3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVmYXVsdCBib2R5IGZvbnQgZmFtaWx5IGZvciBu", + "ZXdseSBvcGVuZWQgbWFya2Rvd24gdmlld2Vycy4gTGVhdmUgZW1wdHkgZm9yIHRoZSBzeXN0ZW0gbWFya2Rvd24gZm9udCBzdGFjay4iLAogICAgICAgICAg", + "ImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5tYXJrZG93bi5mb250RmFtaWx5IgogICAgICAgIH0sCiAgICAgICAgIm1heFdpZHRoIjog", + "ewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDMyMCwKICAgICAgICAgICJtYXhpbXVtIjogMjQwMCwKICAgICAg", + "ICAgICJkZWZhdWx0IjogOTgwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgbWF4aW11bSByZWFkaW5nIGNvbHVtbiB3aWR0aCwgaW4gQ1NT", + "IHBpeGVscywgZm9yIG5ld2x5IG9wZW5lZCBtYXJrZG93biB2aWV3ZXJzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", + "b25zLm1hcmtkb3duLm1heFdpZHRoIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJjYW52YXMiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJn", + "bG9iYWwiXSwKICAgICAgInRpdGxlIjogImNhbnZhcyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGcmVlZm9ybSBjYW52YXMgd29ya3NwYWNlIGxheW91dCBz", + "ZXR0aW5ncy4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMi", + "OiB7CiAgICAgICAgInBhbmVHYXAiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMCwKICAgICAgICAgICJt", + "YXhpbXVtIjogNjQsCiAgICAgICAgICAiZGVmYXVsdCI6IDE2LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNwYWNpbmcgYmV0d2VlbiBwYW5lcyBpbiB0", + "aGUgY2FudmFzIGxheW91dCwgaW4gcG9pbnRzLiBTbmFwcGluZywgdGlkeSwgYW5kIG5ldy1wYW5lIHBsYWNlbWVudCBhbGwgdXNlIHRoaXMgb25lIGdhcC4i", + "LAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5jYW52YXMucGFuZUdhcCIKICAgICAgICB9LAogICAgICAgICJzbmFw", + "cGluZ0VuYWJsZWQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlw", + "dGlvbiI6ICJTbmFwIHBhbmUgZHJhZ3MgYW5kIHJlc2l6ZXMgdG8gbmVpZ2hib3IgZWRnZXMgYW5kIHRoZSBwYW5lIGdhcC4gSG9sZCBDb21tYW5kIHRvIHN1", + "c3BlbmQgc25hcHBpbmcgZm9yIG9uZSBnZXN0dXJlLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmNhbnZhcy5z", + "bmFwcGluZ0VuYWJsZWQiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImZpbGVFZGl0b3IiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9i", + "YWwiXSwKICAgICAgInRpdGxlIjogImZpbGVFZGl0b3IiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQnVpbHQtaW4gZmlsZSBlZGl0b3Igc2V0dGluZ3MuIiwK", + "ICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAg", + "ICJ3b3JkV3JhcCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlw", + "dGlvbiI6ICJXcmFwIGxvbmcgbGluZXMgYXQgdGhlIGVkaXRvcidzIHJpZ2h0IGVkZ2UgaW5zdGVhZCBvZiBzY3JvbGxpbmcgaG9yaXpvbnRhbGx5LiIsCiAg", + "ICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3Iud29yZFdyYXAiCiAgICAgICAgfSwKICAgICAgICAic3lu", + "dGF4SGlnaGxpZ2h0aW5nIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVz", + "Y3JpcHRpb24iOiAiQ29sb3Igc291cmNlIHRva2VucyBpbiB0aGUgYnVpbHQtaW4gZmlsZSBlZGl0b3IuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6", + "ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5zeW50YXhIaWdobGlnaHRpbmciCiAgICAgICAgfSwKICAgICAgICAibGluZU51bWJlcnMiOiB7CiAg", + "ICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGEgbGlu", + "ZS1udW1iZXIgZ3V0dGVyIGluIHRoZSBidWlsdC1pbiBmaWxlIGVkaXRvci4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0", + "aW9ucy5maWxlRWRpdG9yLmxpbmVOdW1iZXJzIgogICAgICAgIH0sCiAgICAgICAgImluZGVudEd1aWRlcyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", + "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRyYXcgdmVydGljYWwgaW5kZW50IGd1aWRlcyBpbiB0", + "aGUgYnVpbHQtaW4gZmlsZSBlZGl0b3IuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5pbmRl", + "bnRHdWlkZXMiCiAgICAgICAgfSwKICAgICAgICAiY3VycmVudExpbmVIaWdobGlnaHQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAg", + "ICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWdobGlnaHQgdGhlIGNhcmV0J3MgbGluZSB3aGVuIHRoZSBzZWxlY3Rp", + "b24gaXMgZW1wdHkuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5jdXJyZW50TGluZUhpZ2hs", + "aWdodCIKICAgICAgICB9LAogICAgICAgICJ0YWJXaWR0aCI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgImRlZmF1bHQiOiA0", + "LAogICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgIm1heGltdW0iOiA4LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbHVtbnMgcGVyIHRh", + "YiBzdG9wIGZvciBpbmRlbnQgZ3VpZGVzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3IudGFi", + "V2lkdGgiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImZpbGVFeHBsb3JlciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAog", + "ICAgICAidGl0bGUiOiAiZmlsZUV4cGxvcmVyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlJpZ2h0LXNpZGViYXIgZmlsZSBleHBsb3JlciAoZmlsZSB0cmVl", + "KSBzZXR0aW5ncy4iLAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFeHBsb3Jlci5kZXNjcmlwdGlvbiIsCiAgICAg", + "ICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZG91", + "YmxlQ2xpY2tBY3Rpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInByZXZpZXciLCAiZGVmYXVsdEVkaXRv", + "ciIsICJwcmVmZXJyZWRFZGl0b3IiXSwKICAgICAgICAgICJkZWZhdWx0IjogInByZXZpZXciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoYXQgZG91", + "YmxlLWNsaWNraW5nIChvciBwcmVzc2luZyBSZXR1cm4gb24gYSBzZWFyY2ggcmVzdWx0IGZvcikgYSBmaWxlIGluIHRoZSBmaWxlIGV4cGxvcmVyIGRvZXMu", + "IGBwcmV2aWV3YCBvcGVucyB0aGUgYnVpbHQtaW4gY211eCBmaWxlIHByZXZpZXcgKHRoZSBkZWZhdWx0IGFuZCBoaXN0b3JpY2FsIGJlaGF2aW9yKS4gYGRl", + "ZmF1bHRFZGl0b3JgIG9wZW5zIHdpdGggdGhlIG1hY09TIGRlZmF1bHQgYXBwIGZvciB0aGUgZmlsZSB0eXBlLiBgcHJlZmVycmVkRWRpdG9yYCBvcGVucyB3", + "aXRoIHRoZSBgYXBwLnByZWZlcnJlZEVkaXRvcmAgY29tbWFuZCwgZmFsbGluZyBiYWNrIHRvIHRoZSBkZWZhdWx0IGFwcCB3aGVuIG5vbmUgaXMgc2V0LiBP", + "bmx5IGFwcGxpZXMgdG8gZmlsZXM7IGRpcmVjdG9yaWVzIGFsd2F5cyBleHBhbmQvY29sbGFwc2UsIGFuZCBub24tbG9jYWwgKHJlbW90ZSkgZmlsZSBleHBs", + "b3JlcnMgYWx3YXlzIG9wZW4gdGhlIGNtdXggcHJldmlldy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5maWxl", + "RXhwbG9yZXIuZG91YmxlQ2xpY2tBY3Rpb24iCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImRpZmZWaWV3ZXIiOiB7CiAgICAgICJ4LWNtdXgtc2Nv", + "cGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogImRpZmZWaWV3ZXIiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQnVpbHQtaW4gZGlmZiB2aWV3ZXIg", + "c2V0dGluZ3MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVz", + "IjogewogICAgICAgICJkZWZhdWx0TGF5b3V0IjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJ1bmlmaWVkIiwg", + "InNwbGl0Il0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJ1bmlmaWVkIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IGxheW91dCBmb3IgbmV3", + "bHkgb3BlbmVkIGRpZmYgdmlld2Vycy4gVGhlIHRvb2xiYXIgbGF5b3V0IHRvZ2dsZSBwZXJzaXN0cyB0aGUgdXNlcidzIGxhc3QgY2hvaWNlOyBhbiBleHBs", + "aWNpdCBgY211eCBkaWZmIC0tbGF5b3V0YCBvcHRpb24gb3ZlcnJpZGVzIGJvdGguIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNj", + "cmlwdGlvbnMuZGlmZlZpZXdlci5kZWZhdWx0TGF5b3V0IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJzaG9ydGN1dHMiOiB7CiAgICAgICJ4LWNt", + "dXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogInNob3J0Y3V0cyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJLZXlib2FyZCBzaG9ydGN1", + "dCBzZXR0aW5ncyBmcm9tIFNldHRpbmdzID4gS2V5Ym9hcmQgU2hvcnRjdXRzLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFs", + "UHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAic2hvd01vZGlmaWVySG9sZEhpbnRzIjogewogICAgICAgICAgInR5", + "cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBzaG9ydGN1dC1oaW50IGNo", + "aXBzIHdoaWxlIGhvbGRpbmcgQ21kIG9yIENvbnRyb2wuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuc2hvcnRj", + "dXRzLnNob3dNb2RpZmllckhvbGRIaW50cyIKICAgICAgICB9LAogICAgICAgICJiaW5kaW5ncyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAg", + "ICAgICAgICAiZGVmYXVsdCI6IHt9LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3J0Y3V0IG92ZXJyaWRlcyBrZXllZCBieSBjbXV4IGFjdGlvbiBp", + "ZC4gVXNlIGEgc3RyaW5nIGZvciBhIHNpbmdsZSBzaG9ydGN1dCwgYW4gYXJyYXkgZm9yIGEgY2hvcmQsIG51bGwsIGFuIGVtcHR5IHN0cmluZywgbm9uZSwg", + "Y2xlYXIsIHVuYm91bmQsIG9yIGRpc2FibGVkIHRvIHVuYmluZC4iLAogICAgICAgICAgInByb3BlcnR5TmFtZXMiOiB7CiAgICAgICAgICAgICJlbnVtIjog", + "WwogICAgICAgICAgICAgICJvcGVuU2V0dGluZ3MiLAogICAgICAgICAgICAgICJyZWxvYWRDb25maWd1cmF0aW9uIiwKICAgICAgICAgICAgICAic2hvd0hp", + "ZGVBbGxXaW5kb3dzIiwKICAgICAgICAgICAgICAiZ2xvYmFsU2VhcmNoIiwKICAgICAgICAgICAgICAibmV3V2luZG93IiwKICAgICAgICAgICAgICAiY2xv", + "c2VXaW5kb3ciLAogICAgICAgICAgICAgICJ0b2dnbGVGdWxsU2NyZWVuIiwKICAgICAgICAgICAgICAicXVpdCIsCiAgICAgICAgICAgICAgInRvZ2dsZVNp", + "ZGViYXIiLAogICAgICAgICAgICAgICJuZXdUYWIiLAogICAgICAgICAgICAgICJuZXdCcm93c2VyV29ya3NwYWNlIiwKICAgICAgICAgICAgICAibmV3Q2xv", + "dWRXb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJuZXdDbG91ZE1hY2hpbmUiLAogICAgICAgICAgICAgICJvcGVuRm9sZGVyIiwKICAgICAgICAgICAgICAi", + "cmVvcGVuUHJldmlvdXNTZXNzaW9uIiwKICAgICAgICAgICAgICAiZ29Ub1dvcmtzcGFjZSIsCiAgICAgICAgICAgICAgImNvbW1hbmRQYWxldHRlIiwKICAg", + "ICAgICAgICAgICAiY29tbWFuZFBhbGV0dGVOZXh0IiwKICAgICAgICAgICAgICAiY29tbWFuZFBhbGV0dGVQcmV2aW91cyIsCiAgICAgICAgICAgICAgInNl", + "bmRGZWVkYmFjayIsCiAgICAgICAgICAgICAgInNob3dOb3RpZmljYXRpb25zIiwKICAgICAgICAgICAgICAianVtcFRvVW5yZWFkIiwKICAgICAgICAgICAg", + "ICAidG9nZ2xlVW5yZWFkIiwKICAgICAgICAgICAgICAibWFya09sZGVzdFVucmVhZEFuZEp1bXBOZXh0IiwKICAgICAgICAgICAgICAibWFya0FsbE5vdGlm", + "aWNhdGlvbnNSZWFkIiwKICAgICAgICAgICAgICAiY2xlYXJBbGxOb3RpZmljYXRpb25zIiwKICAgICAgICAgICAgICAiZm9jdXNSaWdodFNpZGViYXIiLAog", + "ICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb0ZpbGVzIiwKICAgICAgICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9GaW5kIiwKICAgICAg", + "ICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9TZXNzaW9ucyIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRmVlZCIsCiAgICAgICAg", + "ICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRG9jayIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvTWFjaGluZXMiLAogICAgICAgICAg", + "ICAgICJ0cmlnZ2VyRmxhc2giLAogICAgICAgICAgICAgICJuZXh0U3VyZmFjZSIsCiAgICAgICAgICAgICAgInByZXZTdXJmYWNlIiwKICAgICAgICAgICAg", + "ICAibW92ZVN1cmZhY2VMZWZ0IiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VSaWdodCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9QcmV2aW91", + "c1BhbmUiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvTmV4dFBhbmUiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZUxlZnQiLAogICAg", + "ICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZVJpZ2h0IiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VUb1BhbmVVcCIsCiAgICAgICAgICAgICAgIm1v", + "dmVTdXJmYWNlVG9QYW5lRG93biIsCiAgICAgICAgICAgICAgInNlbGVjdFN1cmZhY2VCeU51bWJlciIsCiAgICAgICAgICAgICAgIm5leHRTaWRlYmFyVGFi", + "IiwKICAgICAgICAgICAgICAicHJldlNpZGViYXJUYWIiLAogICAgICAgICAgICAgICJuZXh0U2lkZWJhclRhYkluR3JvdXAiLAogICAgICAgICAgICAgICJw", + "cmV2U2lkZWJhclRhYkluR3JvdXAiLAogICAgICAgICAgICAgICJtb3ZlV29ya3NwYWNlVXAiLAogICAgICAgICAgICAgICJtb3ZlV29ya3NwYWNlRG93biIs", + "CiAgICAgICAgICAgICAgImZvY3VzSGlzdG9yeUJhY2siLAogICAgICAgICAgICAgICJmb2N1c0hpc3RvcnlGb3J3YXJkIiwKICAgICAgICAgICAgICAic2Vs", + "ZWN0V29ya3NwYWNlQnlOdW1iZXIiLAogICAgICAgICAgICAgICJyZW5hbWVUYWIiLAogICAgICAgICAgICAgICJyZW5hbWVXb3Jrc3BhY2UiLAogICAgICAg", + "ICAgICAgICJlZGl0V29ya3NwYWNlRGVzY3JpcHRpb24iLAogICAgICAgICAgICAgICJtYXJrV29ya3NwYWNlRG9uZSIsCiAgICAgICAgICAgICAgImN5Y2xl", + "V29ya3NwYWNlU3RhdHVzIiwKICAgICAgICAgICAgICAidG9nZ2xlQ2hlY2tsaXN0SXRlbUNvbXBsZXRlIiwKICAgICAgICAgICAgICAiY2xvc2VUYWIiLAog", + "ICAgICAgICAgICAgICJjbG9zZU90aGVyVGFic0luUGFuZSIsCiAgICAgICAgICAgICAgImNsb3NlV29ya3NwYWNlIiwKICAgICAgICAgICAgICAibmV3V29y", + "a3NwYWNlR3JvdXAiLAogICAgICAgICAgICAgICJncm91cFNlbGVjdGVkV29ya3NwYWNlcyIsCiAgICAgICAgICAgICAgInRvZ2dsZUZvY3VzZWRXb3Jrc3Bh", + "Y2VHcm91cENvbGxhcHNlZCIsCiAgICAgICAgICAgICAgInJlb3BlbkNsb3NlZFdvcmtzcGFjZSIsCiAgICAgICAgICAgICAgInJlb3BlbkNsb3NlZEJyb3dz", + "ZXJQYW5lbCIsCiAgICAgICAgICAgICAgIm5ld1N1cmZhY2UiLAogICAgICAgICAgICAgICJ0b2dnbGVUZXJtaW5hbENvcHlNb2RlIiwKICAgICAgICAgICAg", + "ICAiZm9jdXNUZXh0Qm94SW5wdXQiLAogICAgICAgICAgICAgICJjeWNsZVRleHRCb3hTdWJtaXRBY3Rpb24iLAogICAgICAgICAgICAgICJhdHRhY2hUZXh0", + "Qm94RmlsZSIsCiAgICAgICAgICAgICAgInNlbmRDdHJsRlRvVGVybWluYWwiLAogICAgICAgICAgICAgICJjbGVhclNjcmVlbktlZXBTY3JvbGxiYWNrIiwK", + "ICAgICAgICAgICAgICAic2ltdWxhdG9ySG9tZSIsCiAgICAgICAgICAgICAgInNpbXVsYXRvclJvdGF0ZUxlZnQiLAogICAgICAgICAgICAgICJzaW11bGF0", + "b3JSb3RhdGVSaWdodCIsCiAgICAgICAgICAgICAgInNpbXVsYXRvclRvZ2dsZUFwcGVhcmFuY2UiLAogICAgICAgICAgICAgICJzaW11bGF0b3JUb2dnbGVT", + "b2Z0d2FyZUtleWJvYXJkIiwKICAgICAgICAgICAgICAiZm9jdXNMZWZ0IiwKICAgICAgICAgICAgICAiZm9jdXNSaWdodCIsCiAgICAgICAgICAgICAgImZv", + "Y3VzVXAiLAogICAgICAgICAgICAgICJmb2N1c0Rvd24iLAogICAgICAgICAgICAgICJmb2N1c1ByZXZpb3VzUGFuZSIsCiAgICAgICAgICAgICAgImZvY3Vz", + "TmV4dFBhbmUiLAogICAgICAgICAgICAgICJzcGxpdFJpZ2h0IiwKICAgICAgICAgICAgICAic3BsaXREb3duIiwKICAgICAgICAgICAgICAidG9nZ2xlU3Bs", + "aXRab29tIiwKICAgICAgICAgICAgICAiaW5jcmVhc2VXb3Jrc3BhY2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAiZGVjcmVhc2VXb3Jrc3Bh", + "Y2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAicmVzZXRXb3Jrc3BhY2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAiZXF1YWxp", + "emVTcGxpdHMiLAogICAgICAgICAgICAgICJyZXNpemUtcGFuZS1sZWZ0IiwKICAgICAgICAgICAgICAicmVzaXplLXBhbmUtcmlnaHQiLAogICAgICAgICAg", + "ICAgICJyZXNpemUtcGFuZS11cCIsCiAgICAgICAgICAgICAgInJlc2l6ZS1wYW5lLWRvd24iLAogICAgICAgICAgICAgICJzcGxpdEJyb3dzZXJSaWdodCIs", + "CiAgICAgICAgICAgICAgInNwbGl0QnJvd3NlckRvd24iLAogICAgICAgICAgICAgICJ0b2dnbGVDYW52YXNMYXlvdXQiLAogICAgICAgICAgICAgICJjYW52", + "YXNSZXZlYWxGb2N1c2VkUGFuZSIsCiAgICAgICAgICAgICAgImNhbnZhc092ZXJ2aWV3IiwKICAgICAgICAgICAgICAiY2FudmFzWm9vbUluIiwKICAgICAg", + "ICAgICAgICAiY2FudmFzWm9vbU91dCIsCiAgICAgICAgICAgICAgImNhbnZhc1pvb21SZXNldCIsCiAgICAgICAgICAgICAgImNhbnZhc1RpZHkiLAogICAg", + "ICAgICAgICAgICJjYW52YXNBbGlnbkxlZnQiLAogICAgICAgICAgICAgICJjYW52YXNBbGlnblJpZ2h0IiwKICAgICAgICAgICAgICAiY2FudmFzQWxpZ25U", + "b3AiLAogICAgICAgICAgICAgICJjYW52YXNBbGlnbkJvdHRvbSIsCiAgICAgICAgICAgICAgImNhbnZhc0VxdWFsaXplV2lkdGhzIiwKICAgICAgICAgICAg", + "ICAiY2FudmFzRXF1YWxpemVIZWlnaHRzIiwKICAgICAgICAgICAgICAiY2FudmFzRGlzdHJpYnV0ZUhvcml6b250YWxseSIsCiAgICAgICAgICAgICAgImNh", + "bnZhc0Rpc3RyaWJ1dGVWZXJ0aWNhbGx5IiwKICAgICAgICAgICAgICAidG9nZ2xlRmlsZUV4cGxvcmVyIiwKICAgICAgICAgICAgICAiZmlsZUV4cGxvcmVy", + "T3BlblNlbGVjdGlvbiIsCiAgICAgICAgICAgICAgImZpbGVFeHBsb3Jlck9wZW5TZWxlY3Rpb25GaW5kZXJBbGlhcyIsCiAgICAgICAgICAgICAgInNhdmVG", + "aWxlUHJldmlldyIsCiAgICAgICAgICAgICAgIm9wZW5Ccm93c2VyIiwKICAgICAgICAgICAgICAiZm9jdXNCcm93c2VyQWRkcmVzc0JhciIsCiAgICAgICAg", + "ICAgICAgImJyb3dzZXJCYWNrIiwKICAgICAgICAgICAgICAiYnJvd3NlckZvcndhcmQiLAogICAgICAgICAgICAgICJicm93c2VyUmVsb2FkIiwKICAgICAg", + "ICAgICAgICAiYnJvd3NlckhhcmRSZWxvYWQiLAogICAgICAgICAgICAgICJicm93c2VyWm9vbUluIiwKICAgICAgICAgICAgICAiYnJvd3Nlclpvb21PdXQi", + "LAogICAgICAgICAgICAgICJicm93c2VyWm9vbVJlc2V0IiwKICAgICAgICAgICAgICAibWFya2Rvd25ab29tSW4iLAogICAgICAgICAgICAgICJtYXJrZG93", + "blpvb21PdXQiLAogICAgICAgICAgICAgICJtYXJrZG93blpvb21SZXNldCIsCiAgICAgICAgICAgICAgImZpbmQiLAogICAgICAgICAgICAgICJmaW5kSW5E", + "aXJlY3RvcnkiLAogICAgICAgICAgICAgICJmaW5kTmV4dCIsCiAgICAgICAgICAgICAgImZpbmRQcmV2aW91cyIsCiAgICAgICAgICAgICAgImhpZGVGaW5k", + "IiwKICAgICAgICAgICAgICAidXNlU2VsZWN0aW9uRm9yRmluZCIsCiAgICAgICAgICAgICAgInRvZ2dsZUJyb3dzZXJEZXZlbG9wZXJUb29scyIsCiAgICAg", + "ICAgICAgICAgInNob3dCcm93c2VySmF2YVNjcmlwdENvbnNvbGUiLAogICAgICAgICAgICAgICJ0b2dnbGVCcm93c2VyRm9jdXNNb2RlIiwKICAgICAgICAg", + "ICAgICAidG9nZ2xlQnJvd3NlckRlc2lnbk1vZGUiLAogICAgICAgICAgICAgICJ0b2dnbGVSZWFjdEdyYWIiLAogICAgICAgICAgICAgICJvcGVuRGlmZlZp", + "ZXdlciIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxEb3duIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwIiwKICAgICAgICAg", + "ICAgICAiZGlmZlZpZXdlclNjcm9sbEhhbGZQYWdlRG93biIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxIYWxmUGFnZVVwIiwKICAgICAgICAg", + "ICAgICAiZGlmZlZpZXdlclNjcm9sbERvd25FbWFjcyIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxVcEVtYWNzIiwKICAgICAgICAgICAgICAi", + "ZGlmZlZpZXdlclNjcm9sbFRvQm90dG9tIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFRvVG9wIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdl", + "ck9wZW5GaWxlU2VhcmNoIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlck5leHRGaWxlIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclByZXZpb3VzRmls", + "ZSIKICAgICAgICAgICAgXQogICAgICAgICAgfSwKICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVj", + "dGlvbiI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3NpbmdsZUJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAg", + "ICAgICAgICB9LAogICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlvbkZpbmRlckFsaWFzIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMv", + "JGRlZnMvc2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2Vy", + "U2Nyb2xsRG93biI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAg", + "ICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ry", + "b2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VEb3duIjogewog", + "ICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAg", + "ICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VVcCI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0", + "Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbERvd25FbWFjcyI6IHsKICAgICAgICAgICAg", + "ICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlm", + "ZlZpZXdlclNjcm9sbFVwRW1hY3MiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxs", + "YWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxUb0JvdHRvbSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRk", + "ZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFRv", + "VG9wIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAg", + "IH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyT3BlbkZpbGVTZWFyY2giOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJv", + "a2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJOZXh0RmlsZSI6IHsKICAgICAgICAgICAg", + "ICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlm", + "ZlZpZXdlclByZXZpb3VzRmlsZSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxh", + "YmxlIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiJHJlZiI6ICIj", + "LyRkZWZzL3Nob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgIndoZW4iOiB7CiAgICAgICAgICAidHlwZSI6", + "ICJvYmplY3QiLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBwZXItYWN0aW9uIGNvbnRleHQg", + "cHJlZGljYXRlcyAoVlMgQ29kZS1zdHlsZSBgd2hlbmAgY2xhdXNlcyksIGtleWVkIGJ5IGNtdXggYWN0aW9uIGlkLiBFYWNoIHZhbHVlIGlzIGEgYm9vbGVh", + "biBleHByZXNzaW9uIG92ZXIgY29udGV4dCBrZXlzIGNvbWJpbmVkIHdpdGggISwgJiYsIHx8LCBhbmQgcGFyZW50aGVzZXMuIEJvb2xlYW4ga2V5czogc2lk", + "ZWJhckZvY3VzLCBicm93c2VyRm9jdXMsIG1hcmtkb3duRm9jdXMsIGZpbGVQcmV2aWV3VGV4dEVkaXRvckZvY3VzLCBzaW11bGF0b3JGb2N1cywgdGVybWlu", + "YWxGb2N1cywgY29tbWFuZFBhbGV0dGVWaXNpYmxlLCB0ZXJtaW5hbEZpbmRWaXNpYmxlLCB3b3Jrc3BhY2VDYW52YXNMYXlvdXQuIFR5cGVkIGtleXMgc3Vw", + "cG9ydCBjb21wYXJpc29uczogdGhlIHN0cmluZyBzaWRlYmFyTW9kZSAoZmlsZXMsIGZpbmQsIHNlc3Npb25zLCBmZWVkLCBvciBkb2NrKSBhbmQgdGhlIGlu", + "dGVnZXJzIHBhbmVDb3VudCBhbmQgd29ya3NwYWNlQ291bnQuIENvbXBhcmlzb24gb3BlcmF0b3JzIGFyZSA9PSwgIT0sID1+IChyZWdleCksIDwsIDw9LCA+", + "LCA+PSwgYW5kIGBpbiBbYSwgYl1gOyBhbiB1bmtub3duIG9yIGFic2VudCBrZXkgcmVhZHMgYXMgZmFsc2UuIFRoZSBib29sZWFuIGxpdGVyYWxzIHRydWUg", + "YW5kIGZhbHNlIGFyZSBhbHNvIGFjY2VwdGVkOyBga2V5ID09IGZhbHNlYCBpcyB0aGUgc2FtZSBhcyBgIWtleWAuIFRoZSBhY3Rpb24ncyBzaG9ydGN1dCBv", + "bmx5IGZpcmVzIChhbmQgb25seSBjb25mbGljdHMgd2l0aCBvdGhlciBzaG9ydGN1dHMpIHdoZW4gdGhlIGNsYXVzZSBob2xkcy4gRXhhbXBsZXM6IHsgXCJz", + "ZWxlY3RXb3Jrc3BhY2VCeU51bWJlclwiOiBcIiFzaWRlYmFyRm9jdXNcIiB9IHNlbGVjdHMgd29ya3NwYWNlcyB3aXRoIEN0cmwrMeKAkzkgZXZlcnl3aGVy", + "ZSBleGNlcHQgd2hlbiB0aGUgcmlnaHQgc2lkZWJhciBpcyBmb2N1c2VkOyB7IFwic2VsZWN0U3VyZmFjZUJ5TnVtYmVyXCI6IFwic2lkZWJhck1vZGUgPT0g", + "J2ZpbmQnICYmIHBhbmVDb3VudCA+IDFcIiB9IHNjb3BlcyBhIGJpbmRpbmcgdG8gdGhlIEZpbmQgc2lkZWJhciB3aGVuIHRoZSB3b3Jrc3BhY2UgaGFzIG11", + "bHRpcGxlIHBhbmVzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnNob3J0Y3V0cy53aGVuIiwKICAgICAgICAg", + "ICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAg", + "fQogIH0sCiAgIiRkZWZzIjogewogICAgImNvbG9ySGV4IjogewogICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAicGF0dGVybiI6ICJeI1swLTlBLUZh", + "LWZdezZ9JCIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJVcHBlcmNhc2Ugb3IgbG93ZXJjYXNlIDYtZGlnaXQgaGV4IGNvbG9yLiIKICAgIH0sCiAgICAiY29s", + "b3JIZXhPck51bGwiOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IgogICAgICAgIH0s", + "CiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAibm90aWZpY2F0aW9uU291bmRPdmVycmlk", + "ZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRp", + "ZXMiOiBmYWxzZSwKICAgICAgICAgICJyZXF1aXJlZCI6IFsic291bmQiXSwKICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAic291bmQi", + "OiB7CiAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAiZW51bSI6IFsiZGVmYXVsdCIsICJCYXNzbyIsICJCbG93IiwgIkJv", + "dHRsZSIsICJGcm9nIiwgIkZ1bmsiLCAiR2xhc3MiLCAiSGVybyIsICJNb3JzZSIsICJQaW5nIiwgIlBvcCIsICJQdXJyIiwgIlNvc3VtaSIsICJTdWJtYXJp", + "bmUiLCAiVGluayIsICJub25lIl0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAib2Jq", + "ZWN0IiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgInJlcXVpcmVkIjogWyJzb3VuZCIsICJjdXN0b21Tb3Vu", + "ZEZpbGVQYXRoIl0sCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgInNvdW5kIjogeyAiY29uc3QiOiAiY3VzdG9tX2ZpbGUiIH0sCiAg", + "ICAgICAgICAgICJjdXN0b21Tb3VuZEZpbGVQYXRoIjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0", + "aCI6IDEsCiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiLipcXFMuKiIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgXSwKICAg", + "ICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnNvdW5kT3ZlcnJpZGUiLAogICAgICAiZGVzY3JpcHRpb24i", + "OiAiQSBub3RpZmljYXRpb24gc291bmQgb3ZlcnJpZGUuIGBkZWZhdWx0YCB1c2VzIG5vdGlmaWNhdGlvbnMuc291bmQsIGBub25lYCBkaXNhYmxlcyBwbGF5", + "YmFjaywgYW5kIHRoZSByZW1haW5pbmcgdmFsdWVzIHNlbGVjdCBhIGJ1aWx0LWluIG9yIGN1c3RvbSBzb3VuZC4iCiAgICB9LAogICAgInNob3J0Y3V0Qmlu", + "ZGluZyI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvdW5ib3VuZFNob3J0Y3V0QmluZGluZyIsCiAg", + "ICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIEFjY2VwdGVkIHZhbHVlcyBhcmUgYW4gZW1wdHkgc3RyaW5nLCBub25lLCBj", + "bGVhciwgdW5ib3VuZCwgb3IgZGlzYWJsZWQuIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dEZpcnN0", + "U3Ryb2tlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaW5nbGUtc3Ryb2tlIHNob3J0Y3V0LCBmb3IgZXhhbXBsZSBjbWQrbiBvciBjbWQrc3BhY2Uu", + "IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIm1pbkl0ZW1zIjogMSwKICAgICAgICAgICJtYXhJ", + "dGVtcyI6IDIsCiAgICAgICAgICAicHJlZml4SXRlbXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0", + "Rmlyc3RTdHJva2UiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgog", + "ICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNob3JkZWQgc2hvcnRjdXQuIEV4YW1wbGU6IFtcImN0cmwrYlwi", + "LCBcImNcIl0uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAg", + "ICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRCaW5kaW5nIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAi", + "bnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaW5n", + "bGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZz", + "L3VuYm91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMg", + "YXJlIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2FibGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIk", + "cmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9rZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2luZ2xlLXN0cm9r", + "ZSBzaG9ydGN1dC4gQmFyZSBmaXJzdCBzdHJva2VzIGFyZSBhY2NlcHRlZCBmb3IgdGhpcyBhY3Rpb24uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAg", + "ICJzaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIk", + "cmVmIjogIiMvJGRlZnMvc2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUi", + "OiAibnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJi", + "YXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Vu", + "Ym91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMgYXJl", + "IGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2FibGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIkcmVm", + "IjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9rZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2luZ2xlLXN0cm9rZSBz", + "aG9ydGN1dC4gQmFyZSBmaXJzdCBzdHJva2VzIGFyZSBhY2NlcHRlZCBmb3IgdGhpcyBhY3Rpb24uIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAg", + "InR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIm1pbkl0ZW1zIjogMSwKICAgICAgICAgICJtYXhJdGVtcyI6IDIsCiAgICAgICAgICAicHJlZml4SXRlbXMi", + "OiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0Rmlyc3RTdHJva2UiCiAgICAg", + "ICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgICAgICB9CiAgICAg", + "ICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNob3JkZWQgc2hvcnRjdXQuIEJhcmUgZmlyc3Qgc3Ryb2tlcyBhcmUgYWNjZXB0ZWQgZm9yIHRo", + "aXMgYWN0aW9uLiBFeGFtcGxlOiBbXCJnXCIsIFwiZ1wiXS4iCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgImJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0", + "QmluZGluZ051bGxhYmxlIjogewogICAgICAib25lT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VT", + "aG9ydGN1dEJpbmRpbmciCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJudWxsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJV", + "bmJpbmQgdGhpcyBzaG9ydGN1dC4iCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgInVuYm91bmRTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJ0eXBl", + "IjogInN0cmluZyIsCiAgICAgICJlbnVtIjogWyIiLCAibm9uZSIsICJjbGVhciIsICJ1bmJvdW5kIiwgImRpc2FibGVkIl0KICAgIH0sCiAgICAic2hvcnRj", + "dXRGaXJzdFN0cm9rZSI6IHsKICAgICAgImFsbE9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRTdHJva2UiCiAg", + "ICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYW55T2YiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86KD86W2ND", + "XVttTV1bZERdfFtjQ11bb09dW21NXVttTV1bYUFdW25OXVtkRF18W3NTXVtoSF1baUldW2ZGXVt0VF18W29PXVtwUF1bdFRdfFtvT11bcFBdW3RUXVtpSV1b", + "b09dW25OXXxbYUFdW2xMXVt0VF18W2NDXVt0VF1bclJdW2xMXXxbY0NdW29PXVtuTl1bdFRdW3JSXVtvT11bbExdfFtjQ11bdFRdW2xMXXzijJh84oenfOKM", + "pXzijIMpXFwrKSsiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86IHxbc1NdW3BQXVthQV1bY0Nd", + "W2VFXXxbc1NdW3BQXVthQV1bY0NdW2VFXVtiQl1bYUFdW3JSXXw8W3NTXVtwUF1bYUFdW2NDXVtlRV0+KSQiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0K", + "ICAgICAgICB9CiAgICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBvciBvbmx5IHNob3J0Y3V0IHN0cm9rZS4gTXVzdCBpbmNsdWRlIGEgbW9k", + "aWZpZXIgdW5sZXNzIHRoZSBrZXkgaXMgU3BhY2UuIgogICAgfSwKICAgICJiYXJlRmlyc3RTdHJva2VTaG9ydGN1dEZpcnN0U3Ryb2tlIjogewogICAgICAi", + "YWxsT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dFN0cm9rZSIKICAgICAgICB9LAogICAgICAgIHsKICAgICAg", + "ICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzooPzpbY0NdW21NXVtkRF18W2NDXVtvT11bbU1dW21N", + "XVthQV1bbk5dW2REXXxbc1NdW2hIXVtpSV1bZkZdW3RUXXxbb09dW3BQXVt0VF18W29PXVtwUF1bdFRdW2lJXVtvT11bbk5dfFthQV1bbExdW3RUXXxbY0Nd", + "W3RUXVtyUl1bbExdfFtjQ11bb09dW25OXVt0VF1bclJdW29PXVtsTF18W2NDXVt0VF1bbExdfOKMmHzih6d84oylfOKMgylcXCspKyIKICAgICAgICAgICAg", + "fSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzogfFtzU11bcFBdW2FBXVtjQ11bZUVdfFtzU11bcFBdW2FBXVtjQ11bZUVd", + "W2JCXVthQV1bclJdfDxbc1NdW3BQXVthQV1bY0NdW2VFXT4pJCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJu", + "IjogIl4oPzpbclJdW2VFXVt0VF1bdVVdW3JSXVtuTl18W2VFXVtuTl1bdFRdW2VFXVtyUl184oapKSQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsK", + "ICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86W2xMXVtlRV1bZkZdW3RUXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtsTF1bZUVdW2ZGXVt0VF18W2xMXVtl", + "RV1bZkZdW3RUXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkHxbclJdW2lJXVtnR11baEhdW3RUXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtyUl1baUldW2dHXVto", + "SF1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2FBXVtyUl1bclJdW29PXVt3V1184oaSfFt1VV1bcFBdfFthQV1bclJdW3JSXVtvT11bd1ddW3VVXVtwUF18", + "W3VVXVtwUF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpF8W2REXVtvT11bd1ddW25OXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtkRF1bb09dW3dXXVtuTl18W2RE", + "XVtvT11bd1ddW25OXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkykkIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRl", + "cm4iOiAiXig/OltBLVphLXowLTldfFssLi9cXFxcOydgPVxcW1xcXS1dfFtjQ11bb09dW21NXVttTV1bYUFdfFtwUF1bZUVdW3JSXVtpSV1bb09dW2REXXxb", + "ZERdW29PXVt0VF18W3NTXVtsTF1bYUFdW3NTXVtoSF18W2JCXVthQV1bY0NdW2tLXVtzU11bbExdW2FBXVtzU11baEhdfFtzU11bZUVdW21NXVtpSV1bY0Nd", + "W29PXVtsTF1bb09dW25OXXxbcVFdW3VVXVtvT11bdFRdW2VFXXxbYUFdW3BQXVtvT11bc1NdW3RUXVtyUl1bb09dW3BQXVtoSF1bZUVdfFtiQl1bYUFdW2ND", + "XVtrS11bdFRdW2lJXVtjQ11ba0tdfFtnR11bclJdW2FBXVt2Vl1bZUVdfFttTV1baUldW25OXVt1VV1bc1NdfFtoSF1beVldW3BQXVtoSF1bZUVdW25OXXxb", + "cFBdW2xMXVt1VV1bc1NdfFtlRV1bcVFdW3VVXVthQV1bbExdW3NTXXxbbExdW2VFXVtmRl1bdFRdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbb09d", + "W3BQXVtlRV1bbk5dW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbclJdW2lJXVtnR11baEhdW3RUXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18", + "W2NDXVtsTF1bb09dW3NTXVtlRV1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdKSQiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0KICAgICAgICB9CiAg", + "ICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBvciBvbmx5IHNob3J0Y3V0IHN0cm9rZS4gQmFyZSBwcmludGFibGUga2V5cyBhcmUgYWNjZXB0", + "ZWQgZm9yIGFjdGlvbnMgdGhhdCBvcHQgaW50byBiYXJlIGZpcnN0IHN0cm9rZXMuIgogICAgfSwKICAgICJzaG9ydGN1dFN0cm9rZSI6IHsKICAgICAgInR5", + "cGUiOiAic3RyaW5nIiwKICAgICAgInBhdHRlcm4iOiAiXig/Oig/OltjQ11bbU1dW2REXXxbY0NdW29PXVttTV1bbU1dW2FBXVtuTl1bZERdfFtzU11baEhd", + "W2lJXVtmRl1bdFRdfFtvT11bcFBdW3RUXXxbb09dW3BQXVt0VF1baUldW29PXVtuTl18W2FBXVtsTF1bdFRdfFtjQ11bdFRdW3JSXVtsTF18W2NDXVtvT11b", + "bk5dW3RUXVtyUl1bb09dW2xMXXxbY0NdW3RUXVtsTF184oyYfOKHp3zijKV84oyDKVxcKykqKD86IHxbQS1aYS16MC05XXxbbExdW2VFXVtmRl1bdFRdfFth", + "QV1bclJdW3JSXVtvT11bd1ddW2xMXVtlRV1bZkZdW3RUXXxbbExdW2VFXVtmRl1bdFRdW2FBXVtyUl1bclJdW29PXVt3V1184oaQfFtyUl1baUldW2dHXVto", + "SF1bdFRdfFthQV1bclJdW3JSXVtvT11bd1ddW3JSXVtpSV1bZ0ddW2hIXVt0VF18W3JSXVtpSV1bZ0ddW2hIXVt0VF1bYUFdW3JSXVtyUl1bb09dW3dXXXzi", + "hpJ8W3VVXVtwUF18W2FBXVtyUl1bclJdW29PXVt3V11bdVVdW3BQXXxbdVVdW3BQXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkXxbZERdW29PXVt3V11bbk5d", + "fFthQV1bclJdW3JSXVtvT11bd1ddW2REXVtvT11bd1ddW25OXXxbZERdW29PXVt3V11bbk5dW2FBXVtyUl1bclJdW29PXVt3V1184oaTfFt0VF1bYUFdW2JC", + "XXxbclJdW2VFXVt0VF1bdVVdW3JSXVtuTl18W2VFXVtuTl1bdFRdW2VFXVtyUl184oapfFtzU11bcFBdW2FBXVtjQ11bZUVdfFtzU11bcFBdW2FBXVtjQ11b", + "ZUVdW2JCXVthQV1bclJdfDxbc1NdW3BQXVthQV1bY0NdW2VFXT58WywuL1xcXFw7J2A9XFxbXFxdLV18W2NDXVtvT11bbU1dW21NXVthQV18W3BQXVtlRV1b", + "clJdW2lJXVtvT11bZERdfFtkRF1bb09dW3RUXXxbc1NdW2xMXVthQV1bc1NdW2hIXXxbYkJdW2FBXVtjQ11ba0tdW3NTXVtsTF1bYUFdW3NTXVtoSF18W3NT", + "XVtlRV1bbU1dW2lJXVtjQ11bb09dW2xMXVtvT11bbk5dfFtxUV1bdVVdW29PXVt0VF1bZUVdfFthQV1bcFBdW29PXVtzU11bdFRdW3JSXVtvT11bcFBdW2hI", + "XVtlRV18W2JCXVthQV1bY0NdW2tLXVt0VF1baUldW2NDXVtrS118W2dHXVtyUl1bYUFdW3ZWXVtlRV18W21NXVtpSV1bbk5dW3VVXVtzU118W2hIXVt5WV1b", + "cFBdW2hIXVtlRV1bbk5dfFtwUF1bbExdW3VVXVtzU118W2VFXVtxUV1bdVVdW2FBXVtsTF1bc1NdfFtsTF1bZUVdW2ZGXVt0VF1bYkJdW3JSXVthQV1bY0Nd", + "W2tLXVtlRV1bdFRdfFtvT11bcFBdW2VFXVtuTl1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2JCXVtyUl1bYUFd", + "W2NDXVtrS11bZUVdW3RUXXxbY0NdW2xMXVtvT11bc1NdW2VFXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W2ZGXSg/OlsxLTldfDFbMC05XXwyMCl8", + "W3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bdVVdW3BQXXxbbU1d", + "W2VFXVtkRF1baUldW2FBXVxcLlt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVt1VV1bcFBdfFt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVtkRF1bb09dW3dXXVtu", + "Tl18W21NXVtlRV1bZERdW2lJXVthQV1bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bZERdW29PXVt3V11bbk5dfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3ZW", + "XVtvT11bbExdW3VVXVttTV1bZUVdW2REXVtvT11bd1ddW25OXXxbYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18W21N", + "XVtlRV1bZERdW2lJXVthQV1bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5b", + "YkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18W2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVtk", + "RF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW2REXVtvT11bd1ddW25O", + "XXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltiQl1bclJdW2lJXVtnR11baEhdW3RUXVtuTl1bZUVdW3NTXVtzU11bZERdW29PXVt3V11bbk5dfFttTV1bdVVd", + "W3RUXVtlRV18W21NXVtlRV1bZERdW2lJXVthQV1bbU1dW3VVXVt0VF1bZUVdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW21NXVt1VV1bdFRdW2VFXXxbcFBd", + "W2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18W21NXVtlRV1bZERdW2lJXVthQV1bcFBdW2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18", + "W21NXVtlRV1bZERdW2lJXVthQV1cXC5bcFBdW2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18W25OXVtlRV1beFhdW3RUXVt0VF1bclJdW2FBXVtj", + "Q11ba0tdfFttTV1bZUVdW2REXVtpSV1bYUFdW25OXVtlRV1beFhdW3RUXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltuTl1bZUVdW3hYXVt0VF18W21NXVtl", + "RV1bZERdW2lJXVthQV1cXC5bbk5dW2VFXVt4WF1bdFRdW3RUXVtyUl1bYUFdW2NDXVtrS118W3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU11bdFRd", + "W3JSXVthQV1bY0NdW2tLXXxbbU1dW2VFXVtkRF1baUldW2FBXVtwUF1bclJdW2VFXVt2Vl1baUldW29PXVt1VV1bc1NdfFttTV1bZUVdW2REXVtpSV1bYUFd", + "XFwuW3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU118W21NXVtlRV1bZERdW2lJXVthQV1cXC5bcFBdW3JSXVtlRV1bdlZdW2lJXVtvT11bdVVdW3NT", + "XVt0VF1bclJdW2FBXVtjQ11ba0tdKSQiLAogICAgICAiZGVzY3JpcHRpb24iOiAiT25lIGtleWJvYXJkIHNob3J0Y3V0IHN0cm9rZSB1c2luZyBtb2RpZmll", + "citrZXkgc3ludGF4LiBTdXBwb3J0ZWQga2V5IG5hbWVzIGluY2x1ZGUgc3BhY2UsIFNwYWNlLCA8c3BhY2U+LCBhbmQgPFNwYWNlPi4iCiAgICB9CiAgfQp9", + "Cg==", + ].joined() + guard let data = Data(base64Encoded: base64) else { + preconditionFailure("embedded cmux.json schema is corrupt") + } + return data + }() +} From 7caddfad4f4deb46b5f83d60be7224ab87f9e842 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:19:46 -0700 Subject: [PATCH 04/55] config: add schema-backed semantic validator --- CLI/CMUXConfigSemanticValidator.swift | 457 ++++++++++++++++++++++++++ 1 file changed, 457 insertions(+) create mode 100644 CLI/CMUXConfigSemanticValidator.swift diff --git a/CLI/CMUXConfigSemanticValidator.swift b/CLI/CMUXConfigSemanticValidator.swift new file mode 100644 index 000000000000..ea50036d1a55 --- /dev/null +++ b/CLI/CMUXConfigSemanticValidator.swift @@ -0,0 +1,457 @@ +import CoreFoundation +import Foundation +import CmuxFoundation + +enum CMUXConfigSemanticScope: String { + case global + case project +} + +struct CMUXConfigSemanticIssue: Equatable { + let path: String + let message: String + + var payload: [String: Any] { + ["path": path, "message": message] + } +} + +/// Offline semantic validation for cmux.json. +/// +/// The constraint vocabulary lives in web/data/cmux.schema.json and is embedded +/// into the CLI by scripts/generate-cmux-config-schema.py. Keep validation here +/// generic: adding a setting constraint belongs in the schema, not in another +/// command-specific lookup table. +struct CMUXConfigSemanticValidator { + let scope: CMUXConfigSemanticScope + + private let rootSchema: [String: Any] + + init(scope: CMUXConfigSemanticScope) throws { + let object = try JSONSerialization.jsonObject( + with: CMUXEmbeddedConfigSchema.data, + options: [.fragmentsAllowed] + ) + guard let rootSchema = object as? [String: Any] else { + throw CLIError(message: "Embedded cmux.json schema is not a JSON object") + } + self.scope = scope + self.rootSchema = rootSchema + } + + func validate(data: Data) throws -> [CMUXConfigSemanticIssue] { + let sanitized = try JSONCParser.preprocess(data: data) + let instance = try JSONSerialization.jsonObject( + with: sanitized, + options: [.fragmentsAllowed] + ) + return validate(instance, against: rootSchema, path: "$") + } + + private func validate( + _ instance: Any, + against schema: [String: Any], + path: String + ) -> [CMUXConfigSemanticIssue] { + if scope == .project, + let scopes = schema["x-cmux-scopes"] as? [String], + !scopes.contains(CMUXConfigSemanticScope.project.rawValue) { + return [ + CMUXConfigSemanticIssue( + path: path, + message: "is only supported in the global cmux.json" + ) + ] + } + + var issues: [CMUXConfigSemanticIssue] = [] + + if let ref = schema["$ref"] as? String { + guard let target = resolvedReference(ref) else { + return [CMUXConfigSemanticIssue(path: path, message: "references an unknown schema definition '\(ref)'")] + } + issues.append(contentsOf: validate(instance, against: target, path: path)) + } + + if let typeSpec = schema["type"], !matchesType(instance, typeSpec: typeSpec) { + return [ + CMUXConfigSemanticIssue( + path: path, + message: "expected \(typeDescription(typeSpec)), got \(kindDescription(instance))" + ) + ] + } + + if let constant = schema["const"], !jsonEqual(instance, constant) { + issues.append( + CMUXConfigSemanticIssue( + path: path, + message: "must equal \(displayJSON(constant))" + ) + ) + } + + if let choices = schema["enum"] as? [Any], + !choices.contains(where: { jsonEqual(instance, $0) }) { + issues.append( + CMUXConfigSemanticIssue( + path: path, + message: "must be one of \(displayChoices(choices))" + ) + ) + } + + if let allOf = schema["allOf"] as? [Any] { + for raw in allOf { + guard let childSchema = raw as? [String: Any] else { continue } + issues.append(contentsOf: validate(instance, against: childSchema, path: path)) + } + } + + if let anyOf = schema["anyOf"] as? [Any] { + let alternatives = anyOf.compactMap { $0 as? [String: Any] } + .map { validate(instance, against: $0, path: path) } + if !alternatives.contains(where: \.isEmpty) { + issues.append(CMUXConfigSemanticIssue(path: path, message: "does not match any allowed form")) + if let best = alternatives.min(by: { $0.count < $1.count }) { + issues.append(contentsOf: best.prefix(2)) + } + } + } + + if let oneOf = schema["oneOf"] as? [Any] { + let alternatives = oneOf.compactMap { $0 as? [String: Any] } + .map { validate(instance, against: $0, path: path) } + let passing = alternatives.filter(\.isEmpty).count + if passing != 1 { + let message = passing == 0 + ? "does not match any allowed form" + : "matches multiple mutually exclusive forms" + issues.append(CMUXConfigSemanticIssue(path: path, message: message)) + if passing == 0, + let best = alternatives.min(by: { $0.count < $1.count }) { + issues.append(contentsOf: best.prefix(2)) + } + } + } + + if let condition = schema["if"] as? [String: Any], + validate(instance, against: condition, path: path).isEmpty, + let thenSchema = schema["then"] as? [String: Any] { + issues.append(contentsOf: validate(instance, against: thenSchema, path: path)) + } + + if let forbidden = schema["not"] as? [String: Any], + validate(instance, against: forbidden, path: path).isEmpty { + issues.append( + CMUXConfigSemanticIssue( + path: path, + message: "uses a disallowed value combination" + ) + ) + } + + if let string = instance as? String { + issues.append(contentsOf: validateString(string, schema: schema, path: path)) + } else if let number = jsonNumber(instance) { + issues.append(contentsOf: validateNumber(number, schema: schema, path: path)) + } else if let array = instance as? [Any] { + issues.append(contentsOf: validateArray(array, schema: schema, path: path)) + } else if let object = instance as? [String: Any] { + issues.append(contentsOf: validateObject(object, schema: schema, path: path)) + } + + return deduplicated(issues) + } + + private func validateString( + _ value: String, + schema: [String: Any], + path: String + ) -> [CMUXConfigSemanticIssue] { + var issues: [CMUXConfigSemanticIssue] = [] + if let minimum = schemaInteger(schema["minLength"]), value.count < minimum { + issues.append(CMUXConfigSemanticIssue(path: path, message: "must contain at least \(minimum) character(s)")) + } + if let maximum = schemaInteger(schema["maxLength"]), value.count > maximum { + issues.append(CMUXConfigSemanticIssue(path: path, message: "must contain at most \(maximum) character(s)")) + } + if let pattern = schema["pattern"] as? String, + !matchesPattern(value, pattern: pattern) { + issues.append(CMUXConfigSemanticIssue(path: path, message: "must match pattern \(displayJSON(pattern))")) + } + if let format = schema["format"] as? String, format == "uri" { + let components = URLComponents(string: value) + if components?.scheme?.isEmpty != false { + issues.append(CMUXConfigSemanticIssue(path: path, message: "must be an absolute URI")) + } + } + return issues + } + + private func validateNumber( + _ value: Double, + schema: [String: Any], + path: String + ) -> [CMUXConfigSemanticIssue] { + var issues: [CMUXConfigSemanticIssue] = [] + if let minimum = schemaNumber(schema["minimum"]), value < minimum { + issues.append(CMUXConfigSemanticIssue(path: path, message: "must be >= \(formatNumber(minimum))")) + } + if let maximum = schemaNumber(schema["maximum"]), value > maximum { + issues.append(CMUXConfigSemanticIssue(path: path, message: "must be <= \(formatNumber(maximum))")) + } + if let minimum = schemaNumber(schema["exclusiveMinimum"]), value <= minimum { + issues.append(CMUXConfigSemanticIssue(path: path, message: "must be > \(formatNumber(minimum))")) + } + if let maximum = schemaNumber(schema["exclusiveMaximum"]), value >= maximum { + issues.append(CMUXConfigSemanticIssue(path: path, message: "must be < \(formatNumber(maximum))")) + } + return issues + } + + private func validateArray( + _ value: [Any], + schema: [String: Any], + path: String + ) -> [CMUXConfigSemanticIssue] { + var issues: [CMUXConfigSemanticIssue] = [] + if let minimum = schemaInteger(schema["minItems"]), value.count < minimum { + issues.append(CMUXConfigSemanticIssue(path: path, message: "must contain at least \(minimum) item(s)")) + } + if let maximum = schemaInteger(schema["maxItems"]), value.count > maximum { + issues.append(CMUXConfigSemanticIssue(path: path, message: "must contain at most \(maximum) item(s)")) + } + + let prefixSchemas = (schema["prefixItems"] as? [Any])?.compactMap { $0 as? [String: Any] } ?? [] + let itemSchema = schema["items"] as? [String: Any] + for (index, item) in value.enumerated() { + if index < prefixSchemas.count { + issues.append(contentsOf: validate(item, against: prefixSchemas[index], path: "\(path)[\(index)]")) + } else if let itemSchema { + issues.append(contentsOf: validate(item, against: itemSchema, path: "\(path)[\(index)]")) + } + } + return issues + } + + private func validateObject( + _ value: [String: Any], + schema: [String: Any], + path: String + ) -> [CMUXConfigSemanticIssue] { + var issues: [CMUXConfigSemanticIssue] = [] + if let minimum = schemaInteger(schema["minProperties"]), value.count < minimum { + issues.append(CMUXConfigSemanticIssue(path: path, message: "must contain at least \(minimum) key(s)")) + } + if let maximum = schemaInteger(schema["maxProperties"]), value.count > maximum { + issues.append(CMUXConfigSemanticIssue(path: path, message: "must contain at most \(maximum) key(s)")) + } + + if let required = schema["required"] as? [String] { + for key in required where value[key] == nil { + issues.append(CMUXConfigSemanticIssue(path: childPath(path, key: key), message: "is required")) + } + } + + let properties = schema["properties"] as? [String: Any] ?? [:] + let propertyNameSchema = schema["propertyNames"] as? [String: Any] + let additional = schema["additionalProperties"] + + for key in value.keys.sorted() { + let child = childPath(path, key: key) + if let propertyNameSchema { + issues.append(contentsOf: validate(key, against: propertyNameSchema, path: child)) + } + if let propertySchema = properties[key] as? [String: Any] { + issues.append(contentsOf: validate(value[key] as Any, against: propertySchema, path: child)) + continue + } + if let allowed = additional as? Bool, !allowed { + issues.append(CMUXConfigSemanticIssue(path: child, message: "unknown configuration key")) + } else if let additionalSchema = additional as? [String: Any] { + issues.append(contentsOf: validate(value[key] as Any, against: additionalSchema, path: child)) + } + } + return issues + } + + private func resolvedReference(_ ref: String) -> [String: Any]? { + guard ref.hasPrefix("#/") else { return nil } + var current: Any = rootSchema + for component in ref.dropFirst(2).split(separator: "/") { + let key = component + .replacingOccurrences(of: "~1", with: "/") + .replacingOccurrences(of: "~0", with: "~") + guard let dictionary = current as? [String: Any], + let next = dictionary[key] else { + return nil + } + current = next + } + return current as? [String: Any] + } + + private func matchesType(_ value: Any, typeSpec: Any) -> Bool { + if let type = typeSpec as? String { + return matchesType(value, type: type) + } + if let types = typeSpec as? [String] { + return types.contains { matchesType(value, type: $0) } + } + return true + } + + private func matchesType(_ value: Any, type: String) -> Bool { + switch type { + case "null": + return value is NSNull + case "boolean": + return isJSONBoolean(value) + case "string": + return value is String + case "array": + return value is [Any] + case "object": + return value is [String: Any] + case "number": + return jsonNumber(value) != nil + case "integer": + guard let number = jsonNumber(value), number.isFinite else { return false } + return number.rounded() == number + default: + return true + } + } + + private func typeDescription(_ typeSpec: Any) -> String { + if let type = typeSpec as? String { return type } + if let types = typeSpec as? [String] { return types.joined(separator: " or ") } + return "valid JSON value" + } + + private func kindDescription(_ value: Any) -> String { + if value is NSNull { return "null" } + if isJSONBoolean(value) { return "boolean" } + if value is String { return "string" } + if value is [Any] { return "array" } + if value is [String: Any] { return "object" } + if let number = jsonNumber(value) { + return number.rounded() == number ? "integer" : "number" + } + return String(describing: type(of: value)) + } + + private func isJSONBoolean(_ value: Any) -> Bool { + guard let number = value as? NSNumber else { return false } + return CFGetTypeID(number) == CFBooleanGetTypeID() + } + + private func jsonNumber(_ value: Any) -> Double? { + guard let number = value as? NSNumber, !isJSONBoolean(value) else { return nil } + return number.doubleValue + } + + private func schemaNumber(_ value: Any?) -> Double? { + guard let value else { return nil } + return jsonNumber(value) + } + + private func schemaInteger(_ value: Any?) -> Int? { + guard let value, let number = jsonNumber(value), number.isFinite else { return nil } + return Int(exactly: number) + } + + private func jsonEqual(_ lhs: Any, _ rhs: Any) -> Bool { + if lhs is NSNull || rhs is NSNull { + return lhs is NSNull && rhs is NSNull + } + if isJSONBoolean(lhs) || isJSONBoolean(rhs) { + guard isJSONBoolean(lhs), isJSONBoolean(rhs), + let left = lhs as? NSNumber, + let right = rhs as? NSNumber else { + return false + } + return left.boolValue == right.boolValue + } + if let left = lhs as? String, let right = rhs as? String { + return left == right + } + if let left = jsonNumber(lhs), let right = jsonNumber(rhs) { + return left == right + } + if let left = lhs as? [Any], let right = rhs as? [Any] { + return left.count == right.count && zip(left, right).allSatisfy(jsonEqual) + } + if let left = lhs as? [String: Any], let right = rhs as? [String: Any] { + guard left.keys == right.keys else { return false } + return left.allSatisfy { key, value in + guard let other = right[key] else { return false } + return jsonEqual(value, other) + } + } + return false + } + + private func matchesPattern(_ value: String, pattern: String) -> Bool { + guard let expression = try? NSRegularExpression(pattern: pattern) else { return false } + let range = NSRange(location: 0, length: (value as NSString).length) + return expression.firstMatch(in: value, range: range) != nil + } + + private func childPath(_ path: String, key: String) -> String { + let simple = key.range(of: #"^[A-Za-z_][A-Za-z0-9_-]*$"#, options: .regularExpression) != nil + if simple { + return "\(path).\(key)" + } + let escaped = key + .replacingOccurrences(of: "\\", with: "\\\\") + .replacingOccurrences(of: "'", with: "\\'") + return "\(path)['\(escaped)']" + } + + private func displayChoices(_ values: [Any]) -> String { + let rendered = values.prefix(8).map(displayJSON) + if values.count > rendered.count { + return rendered.joined(separator: ", ") + " (+\(values.count - rendered.count) more)" + } + return rendered.joined(separator: ", ") + } + + private func displayJSON(_ value: Any) -> String { + if let string = value as? String { + if let data = try? JSONSerialization.data(withJSONObject: [string]), + let encoded = String(data: data, encoding: .utf8) { + return String(encoded.dropFirst().dropLast()) + } + return "\"\(string)\"" + } + if value is NSNull { return "null" } + if isJSONBoolean(value), let number = value as? NSNumber { + return number.boolValue ? "true" : "false" + } + if let number = jsonNumber(value) { + return formatNumber(number) + } + if JSONSerialization.isValidJSONObject(value), + let data = try? JSONSerialization.data(withJSONObject: value, options: [.sortedKeys]), + let encoded = String(data: data, encoding: .utf8) { + return encoded + } + return String(describing: value) + } + + private func formatNumber(_ value: Double) -> String { + if value.rounded() == value { + return String(format: "%.0f", value) + } + return String(value) + } + + private func deduplicated(_ issues: [CMUXConfigSemanticIssue]) -> [CMUXConfigSemanticIssue] { + var seen = Set() + return issues.filter { issue in + seen.insert("\(issue.path)\u{0}\(issue.message)").inserted + } + } +} From 064df6df3f0c0af7c0c59a3de9c35f2acca664f6 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:20:04 -0700 Subject: [PATCH 05/55] config: harden semantic validator traversal --- CLI/CMUXConfigSemanticValidator.swift | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/CLI/CMUXConfigSemanticValidator.swift b/CLI/CMUXConfigSemanticValidator.swift index ea50036d1a55..1970687744e4 100644 --- a/CLI/CMUXConfigSemanticValidator.swift +++ b/CLI/CMUXConfigSemanticValidator.swift @@ -263,14 +263,16 @@ struct CMUXConfigSemanticValidator { if let propertyNameSchema { issues.append(contentsOf: validate(key, against: propertyNameSchema, path: child)) } - if let propertySchema = properties[key] as? [String: Any] { - issues.append(contentsOf: validate(value[key] as Any, against: propertySchema, path: child)) + if let propertySchema = properties[key] as? [String: Any], + let childValue = value[key] { + issues.append(contentsOf: validate(childValue, against: propertySchema, path: child)) continue } if let allowed = additional as? Bool, !allowed { issues.append(CMUXConfigSemanticIssue(path: child, message: "unknown configuration key")) - } else if let additionalSchema = additional as? [String: Any] { - issues.append(contentsOf: validate(value[key] as Any, against: additionalSchema, path: child)) + } else if let additionalSchema = additional as? [String: Any], + let childValue = value[key] { + issues.append(contentsOf: validate(childValue, against: additionalSchema, path: child)) } } return issues @@ -381,10 +383,12 @@ struct CMUXConfigSemanticValidator { return left == right } if let left = lhs as? [Any], let right = rhs as? [Any] { - return left.count == right.count && zip(left, right).allSatisfy(jsonEqual) + return left.count == right.count && zip(left, right).allSatisfy { pair in + jsonEqual(pair.0, pair.1) + } } if let left = lhs as? [String: Any], let right = rhs as? [String: Any] { - guard left.keys == right.keys else { return false } + guard Set(left.keys) == Set(right.keys) else { return false } return left.allSatisfy { key, value in guard let other = right[key] else { return false } return jsonEqual(value, other) From cadc9a7c8b4c6dc5a8a68773ac46c7d8344c948d Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:21:21 -0700 Subject: [PATCH 06/55] config: make validate enforce semantic schema --- CLI/CMUXCLI+Config.swift | 138 +++++++++++++++++++++++++++++++++------ 1 file changed, 119 insertions(+), 19 deletions(-) diff --git a/CLI/CMUXCLI+Config.swift b/CLI/CMUXCLI+Config.swift index 9405c4b7e060..07d7869cb0a7 100644 --- a/CLI/CMUXCLI+Config.swift +++ b/CLI/CMUXCLI+Config.swift @@ -63,9 +63,13 @@ extension CMUXCLI { try runDocsCommand(commandArgs: ["settings"], jsonOutput: wantsJSON) case "doctor", "check", "validate": let doctorArgs = Array(args.dropFirst()) - let report = try runConfigDoctor(arguments: doctorArgs, jsonOutput: wantsJSON) + let report = try runConfigDoctor( + arguments: doctorArgs, + jsonOutput: wantsJSON, + commandName: subcommand + ) if report.errorCount > 0 { - throw CLIError(message: "cmux config doctor found \(report.errorCount) error(s)") + throw CLIError(message: "cmux config \(subcommand) found \(report.errorCount) error(s)") } case "reload": guard args.count == 1 else { @@ -111,7 +115,8 @@ extension CMUXCLI { Inspect cmux.json, print configuration references, update selected Ghostty config keys, or reload the running app. Subcommands: - doctor|check|validate [--path ] Validate JSONC syntax for cmux config files. + doctor|check|validate [--path ] [--scope ] + Validate JSONC syntax and cmux config semantics. path|paths Print cmux.json paths, docs URL, and schema URL. docs|documentation Print the same output as `cmux docs settings`. reload Reload Ghostty config + cmux.json and refresh terminals (alias for `cmux reload-config`). @@ -368,6 +373,7 @@ extension CMUXCLI { private struct ConfigDoctorOptions { let paths: [String] + let scope: CMUXConfigSemanticScope? } private struct ConfigDoctorTarget { @@ -375,6 +381,7 @@ extension CMUXCLI { let displayPath: String let path: String let missingIsError: Bool + let scope: CMUXConfigSemanticScope } private struct ConfigDoctorFinding { @@ -385,6 +392,27 @@ extension CMUXCLI { let message: String? let keys: [String] let byteCount: Int? + let issues: [CMUXConfigSemanticIssue] + + init( + label: String, + displayPath: String, + path: String, + status: String, + message: String?, + keys: [String], + byteCount: Int?, + issues: [CMUXConfigSemanticIssue] = [] + ) { + self.label = label + self.displayPath = displayPath + self.path = path + self.status = status + self.message = message + self.keys = keys + self.byteCount = byteCount + self.issues = issues + } var isError: Bool { status == "error" } @@ -403,6 +431,9 @@ extension CMUXCLI { if let byteCount { result["bytes"] = byteCount } + if !issues.isEmpty { + result["issues"] = issues.map(\.payload) + } return result } } @@ -426,8 +457,12 @@ extension CMUXCLI { } } - private func runConfigDoctor(arguments: [String], jsonOutput: Bool) throws -> ConfigDoctorReport { - let options = try parseConfigDoctorOptions(arguments) + private func runConfigDoctor( + arguments: [String], + jsonOutput: Bool, + commandName: String + ) throws -> ConfigDoctorReport { + let options = try parseConfigDoctorOptions(arguments, commandName: commandName) let targets = options.paths.isEmpty ? defaultConfigDoctorTargets() : options.paths.enumerated().map { index, rawPath in @@ -436,7 +471,8 @@ extension CMUXCLI { label: "custom \(index + 1)", displayPath: Self.tildePath(path), path: path, - missingIsError: true + missingIsError: true, + scope: options.scope ?? configSemanticScope(for: path) ) } let findings = targets.map(configDoctorFinding(for:)) @@ -445,20 +481,24 @@ extension CMUXCLI { if jsonOutput { print(jsonString(report.payload)) } else { - printConfigDoctorReport(report) + printConfigDoctorReport(report, commandName: commandName) } return report } - private func parseConfigDoctorOptions(_ arguments: [String]) throws -> ConfigDoctorOptions { + private func parseConfigDoctorOptions( + _ arguments: [String], + commandName: String + ) throws -> ConfigDoctorOptions { var paths: [String] = [] + var scope: CMUXConfigSemanticScope? var index = 0 while index < arguments.count { let argument = arguments[index] if argument == "--path" { let nextIndex = index + 1 guard nextIndex < arguments.count else { - throw CLIError(message: "cmux config doctor --path requires a path") + throw CLIError(message: "cmux config \(commandName) --path requires a path") } paths.append(arguments[nextIndex]) index += 2 @@ -467,18 +507,37 @@ extension CMUXCLI { if argument.hasPrefix("--path=") { let rawPath = String(argument.dropFirst("--path=".count)) guard !rawPath.isEmpty else { - throw CLIError(message: "cmux config doctor --path requires a path") + throw CLIError(message: "cmux config \(commandName) --path requires a path") } paths.append(rawPath) index += 1 continue } + if argument == "--scope" { + let nextIndex = index + 1 + guard nextIndex < arguments.count, + let parsedScope = CMUXConfigSemanticScope(rawValue: arguments[nextIndex].lowercased()) else { + throw CLIError(message: "cmux config \(commandName) --scope requires global or project") + } + scope = parsedScope + index += 2 + continue + } + if argument.hasPrefix("--scope=") { + let rawScope = String(argument.dropFirst("--scope=".count)).lowercased() + guard let parsedScope = CMUXConfigSemanticScope(rawValue: rawScope) else { + throw CLIError(message: "cmux config \(commandName) --scope requires global or project") + } + scope = parsedScope + index += 1 + continue + } if argument.hasPrefix("-") { - throw CLIError(message: "Unknown config doctor option '\(argument)'") + throw CLIError(message: "Unknown config \(commandName) option '\(argument)'") } - throw CLIError(message: "Unknown config doctor argument '\(argument)'. Use --path .") + throw CLIError(message: "Unknown config \(commandName) argument '\(argument)'. Use --path .") } - return ConfigDoctorOptions(paths: paths) + return ConfigDoctorOptions(paths: paths, scope: scope) } private func defaultConfigDoctorTargets() -> [ConfigDoctorTarget] { @@ -488,7 +547,8 @@ extension CMUXCLI { label: "primary", displayPath: Self.primarySettingsDisplayPath, path: primary, - missingIsError: false + missingIsError: false, + scope: .global ) ] @@ -498,7 +558,8 @@ extension CMUXCLI { label: "project", displayPath: Self.tildePath(projectPath), path: projectPath, - missingIsError: false + missingIsError: false, + scope: .project ) ) } @@ -519,7 +580,8 @@ extension CMUXCLI { label: label, displayPath: displayPath, path: path, - missingIsError: false + missingIsError: false, + scope: .global ) ) } @@ -610,12 +672,26 @@ extension CMUXCLI { byteCount: data.count ) } + let validator = try CMUXConfigSemanticValidator(scope: target.scope) + let issues = try validator.validate(data: data) + if !issues.isEmpty { + return ConfigDoctorFinding( + label: target.label, + displayPath: target.displayPath, + path: target.path, + status: "error", + message: "semantic validation failed", + keys: dictionary.keys.sorted(), + byteCount: data.count, + issues: issues + ) + } return ConfigDoctorFinding( label: target.label, displayPath: target.displayPath, path: target.path, status: "ok", - message: "JSONC syntax is valid", + message: "JSONC syntax and semantic validation passed", keys: dictionary.keys.sorted(), byteCount: data.count ) @@ -632,8 +708,8 @@ extension CMUXCLI { } } - private func printConfigDoctorReport(_ report: ConfigDoctorReport) { - print("cmux config doctor") + private func printConfigDoctorReport(_ report: ConfigDoctorReport, commandName: String) { + print("cmux config \(commandName)") for finding in report.findings { print("\(finding.status.uppercased()) \(finding.label): \(finding.displayPath)") print(" path: \(finding.path)") @@ -646,6 +722,9 @@ extension CMUXCLI { if let message = finding.message { print(" \(message)") } + for issue in finding.issues { + print(" \(issue.path): \(issue.message)") + } } print() print("Docs: \(Self.settingsDocsURL)") @@ -653,6 +732,27 @@ extension CMUXCLI { print("Reload: cmux reload-config") } + private func configSemanticScope(for path: String) -> CMUXConfigSemanticScope { + let normalized = URL(fileURLWithPath: path).standardizedFileURL.path + let globalPaths = [ + Self.primarySettingsDisplayPath, + Self.legacySettingsDisplayPath, + Self.fallbackSettingsDisplayPath, + ].map(Self.absoluteConfigPath) + if globalPaths.contains(normalized) { + return .global + } + if let projectPath = findProjectConfigPath(), + URL(fileURLWithPath: projectPath).standardizedFileURL.path == normalized { + return .project + } + let parent = (normalized as NSString).deletingLastPathComponent + if (parent as NSString).lastPathComponent == ".cmux" { + return .project + } + return .global + } + private static func absoluteConfigPath(_ rawPath: String) -> String { let homePath = ProcessInfo.processInfo.environment["HOME"] ?? NSHomeDirectory() let expanded: String From c0d396ebf349b5e4bfc11ddf43f2d3a9a5f66ef6 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:22:16 -0700 Subject: [PATCH 07/55] settings helper: validate mutations before writing --- skills/cmux-settings/scripts/cmux-settings | 151 +++++++++++++++------ 1 file changed, 110 insertions(+), 41 deletions(-) diff --git a/skills/cmux-settings/scripts/cmux-settings b/skills/cmux-settings/scripts/cmux-settings index ddff2b9b9090..fdd5bc66440d 100755 --- a/skills/cmux-settings/scripts/cmux-settings +++ b/skills/cmux-settings/scripts/cmux-settings @@ -13,7 +13,7 @@ Usage: cmux-settings set set value (v parsed as JSON, falls back to string) cmux-settings unset remove value at path cmux-settings list-supported print every settings path the schema recognizes - cmux-settings validate check JSON parses and all set keys are recognized + cmux-settings validate run cmux's semantic validator on the full config cmux-settings open open the file in $EDITOR (or VS Code, then TextEdit) Examples: @@ -202,6 +202,103 @@ def parse_value(raw: str) -> Any: return raw +def find_cmux_cli() -> str | None: + for env_name in ("CMUX_CLI_BIN", "CMUX_CLI", "CMUX_BUNDLED_CLI_PATH"): + candidate = os.environ.get(env_name) + if candidate and os.path.isfile(candidate) and os.access(candidate, os.X_OK): + return candidate + return shutil.which("cmux") + + +def semantic_scope_for(path: Path) -> str: + resolved = path.expanduser().resolve() + global_paths = { + DEFAULT_PATH.expanduser().resolve(), + (Path.home() / ".config" / "cmux" / "settings.json").resolve(), + } + if resolved in global_paths: + return "global" + if resolved.parent.name == ".cmux": + return "project" + return "global" + + +def report_validation_failure(result: subprocess.CompletedProcess[str]) -> None: + try: + payload = json.loads(result.stdout) + except json.JSONDecodeError: + payload = None + + found_issue = False + if isinstance(payload, dict): + findings = payload.get("findings") + if isinstance(findings, list): + for finding in findings: + if not isinstance(finding, dict): + continue + issues = finding.get("issues") + if isinstance(issues, list): + for issue in issues: + if not isinstance(issue, dict): + continue + path = issue.get("path", "$") + message = issue.get("message", "invalid configuration") + print(f"error: {path}: {message}", file=sys.stderr) + found_issue = True + if not issues and finding.get("status") == "error": + message = finding.get("message") + if isinstance(message, str): + print(f"error: {message}", file=sys.stderr) + found_issue = True + if not found_issue: + detail = result.stderr.strip() or result.stdout.strip() + if detail: + print(detail, file=sys.stderr) + + +def validate_file_with_cmux(path: Path, scope: str) -> bool: + cli = find_cmux_cli() + if cli is None: + print( + "error: cmux CLI is required for semantic config validation; " + "set CMUX_CLI_BIN if it is not on PATH", + file=sys.stderr, + ) + return False + result = subprocess.run( + [ + cli, + "--json", + "config", + "validate", + "--path", + str(path), + "--scope", + scope, + ], + text=True, + capture_output=True, + check=False, + ) + if result.returncode == 0: + return True + report_validation_failure(result) + return False + + +def validate_candidate(data: dict[str, Any], source_path: Path) -> bool: + encoded = json.dumps(data, indent=2, ensure_ascii=False) + "\n" + with tempfile.NamedTemporaryFile( + mode="w", encoding="utf-8", delete=False, suffix=".cmux.json" + ) as tmp: + tmp.write(encoded) + candidate = Path(tmp.name) + try: + return validate_file_with_cmux(candidate, semantic_scope_for(source_path)) + finally: + candidate.unlink(missing_ok=True) + + def flatten(prefix: str, value: Any) -> list[str]: if isinstance(value, dict): out: list[str] = [] @@ -303,6 +400,8 @@ def cmd_set(args: argparse.Namespace) -> int: if not changed: print(f"unchanged: {args.key} = {json.dumps(value)}") return 0 + if not validate_candidate(data, path): + return 1 atomic_write(path, data) print(f"set: {args.key} = {json.dumps(value)}") return 0 @@ -314,6 +413,8 @@ def cmd_unset(args: argparse.Namespace) -> int: if not unset_at(data, split_path(args.key)): print(f"unchanged: {args.key} (not present)") return 0 + if not validate_candidate(data, path): + return 1 atomic_write(path, data) print(f"unset: {args.key}") return 0 @@ -335,46 +436,14 @@ def cmd_list_supported(args: argparse.Namespace) -> int: def cmd_validate(args: argparse.Namespace) -> int: path = Path(args.file) - data = load_settings(path) - supported = set(supported_paths()) - if not supported: - print( - "warn: could not load schema path list; only checked JSON parses", - file=sys.stderr, - ) - print(f"ok: {path} parses") - return 0 - unknown: list[str] = [] - # Keep this in sync with top-level structural keys in web/data/cmux.schema.json. - structural = { - "$schema", - "schemaVersion", - "actions", - "ui", - "commands", - "vault", - "newWorkspaceCommand", - "surfaceTabBarButtons", - "rightSidebar", - } - for top, value in data.items(): - if top in structural: - continue - if not isinstance(value, dict): - unknown.append(top) - continue - for full in flatten(top, value): - if full in supported: - continue - if any(full.startswith(s + ".") for s in supported): - continue - unknown.append(full) - if unknown: - print("unknown settings keys:") - for u in unknown: - print(f" {u}") - return 1 - print(f"ok: {path} parses and all settings keys are recognized") + scope = semantic_scope_for(path) + if path.exists(): + if not validate_file_with_cmux(path, scope): + return 1 + else: + if not validate_candidate(load_settings(path), path): + return 1 + print(f"ok: {path} passes semantic validation") return 0 From 8adc6ac93925f3071df017b6a8cfabd6a6d635b4 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:22:40 -0700 Subject: [PATCH 08/55] config: preserve recognized right sidebar section --- web/data/cmux.schema.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/web/data/cmux.schema.json b/web/data/cmux.schema.json index e23ad5381a75..88ba18d0ae62 100644 --- a/web/data/cmux.schema.json +++ b/web/data/cmux.schema.json @@ -1721,6 +1721,12 @@ } } }, + "rightSidebar": { + "title": "rightSidebar", + "description": "Legacy and extension-owned right-sidebar configuration preserved in cmux.json.", + "type": "object", + "additionalProperties": true + }, "shortcuts": { "x-cmux-scopes": ["global"], "title": "shortcuts", From dc74639f197946b3567be47f2500427fbc097457 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:22:52 -0700 Subject: [PATCH 09/55] config: regenerate embedded schema --- CLI/CMUXConfigSchema.generated.swift | 436 ++++++++++++++------------- 1 file changed, 219 insertions(+), 217 deletions(-) diff --git a/CLI/CMUXConfigSchema.generated.swift b/CLI/CMUXConfigSchema.generated.swift index 3f1765bc2879..b2ff7d62212c 100644 --- a/CLI/CMUXConfigSchema.generated.swift +++ b/CLI/CMUXConfigSchema.generated.swift @@ -833,224 +833,226 @@ enum CMUXEmbeddedConfigSchema { "InNwbGl0Il0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJ1bmlmaWVkIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IGxheW91dCBmb3IgbmV3", "bHkgb3BlbmVkIGRpZmYgdmlld2Vycy4gVGhlIHRvb2xiYXIgbGF5b3V0IHRvZ2dsZSBwZXJzaXN0cyB0aGUgdXNlcidzIGxhc3QgY2hvaWNlOyBhbiBleHBs", "aWNpdCBgY211eCBkaWZmIC0tbGF5b3V0YCBvcHRpb24gb3ZlcnJpZGVzIGJvdGguIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNj", - "cmlwdGlvbnMuZGlmZlZpZXdlci5kZWZhdWx0TGF5b3V0IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJzaG9ydGN1dHMiOiB7CiAgICAgICJ4LWNt", - "dXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogInNob3J0Y3V0cyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJLZXlib2FyZCBzaG9ydGN1", - "dCBzZXR0aW5ncyBmcm9tIFNldHRpbmdzID4gS2V5Ym9hcmQgU2hvcnRjdXRzLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFs", - "UHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAic2hvd01vZGlmaWVySG9sZEhpbnRzIjogewogICAgICAgICAgInR5", - "cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBzaG9ydGN1dC1oaW50IGNo", - "aXBzIHdoaWxlIGhvbGRpbmcgQ21kIG9yIENvbnRyb2wuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuc2hvcnRj", - "dXRzLnNob3dNb2RpZmllckhvbGRIaW50cyIKICAgICAgICB9LAogICAgICAgICJiaW5kaW5ncyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAg", - "ICAgICAgICAiZGVmYXVsdCI6IHt9LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3J0Y3V0IG92ZXJyaWRlcyBrZXllZCBieSBjbXV4IGFjdGlvbiBp", - "ZC4gVXNlIGEgc3RyaW5nIGZvciBhIHNpbmdsZSBzaG9ydGN1dCwgYW4gYXJyYXkgZm9yIGEgY2hvcmQsIG51bGwsIGFuIGVtcHR5IHN0cmluZywgbm9uZSwg", - "Y2xlYXIsIHVuYm91bmQsIG9yIGRpc2FibGVkIHRvIHVuYmluZC4iLAogICAgICAgICAgInByb3BlcnR5TmFtZXMiOiB7CiAgICAgICAgICAgICJlbnVtIjog", - "WwogICAgICAgICAgICAgICJvcGVuU2V0dGluZ3MiLAogICAgICAgICAgICAgICJyZWxvYWRDb25maWd1cmF0aW9uIiwKICAgICAgICAgICAgICAic2hvd0hp", - "ZGVBbGxXaW5kb3dzIiwKICAgICAgICAgICAgICAiZ2xvYmFsU2VhcmNoIiwKICAgICAgICAgICAgICAibmV3V2luZG93IiwKICAgICAgICAgICAgICAiY2xv", - "c2VXaW5kb3ciLAogICAgICAgICAgICAgICJ0b2dnbGVGdWxsU2NyZWVuIiwKICAgICAgICAgICAgICAicXVpdCIsCiAgICAgICAgICAgICAgInRvZ2dsZVNp", - "ZGViYXIiLAogICAgICAgICAgICAgICJuZXdUYWIiLAogICAgICAgICAgICAgICJuZXdCcm93c2VyV29ya3NwYWNlIiwKICAgICAgICAgICAgICAibmV3Q2xv", - "dWRXb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJuZXdDbG91ZE1hY2hpbmUiLAogICAgICAgICAgICAgICJvcGVuRm9sZGVyIiwKICAgICAgICAgICAgICAi", - "cmVvcGVuUHJldmlvdXNTZXNzaW9uIiwKICAgICAgICAgICAgICAiZ29Ub1dvcmtzcGFjZSIsCiAgICAgICAgICAgICAgImNvbW1hbmRQYWxldHRlIiwKICAg", - "ICAgICAgICAgICAiY29tbWFuZFBhbGV0dGVOZXh0IiwKICAgICAgICAgICAgICAiY29tbWFuZFBhbGV0dGVQcmV2aW91cyIsCiAgICAgICAgICAgICAgInNl", - "bmRGZWVkYmFjayIsCiAgICAgICAgICAgICAgInNob3dOb3RpZmljYXRpb25zIiwKICAgICAgICAgICAgICAianVtcFRvVW5yZWFkIiwKICAgICAgICAgICAg", - "ICAidG9nZ2xlVW5yZWFkIiwKICAgICAgICAgICAgICAibWFya09sZGVzdFVucmVhZEFuZEp1bXBOZXh0IiwKICAgICAgICAgICAgICAibWFya0FsbE5vdGlm", - "aWNhdGlvbnNSZWFkIiwKICAgICAgICAgICAgICAiY2xlYXJBbGxOb3RpZmljYXRpb25zIiwKICAgICAgICAgICAgICAiZm9jdXNSaWdodFNpZGViYXIiLAog", - "ICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb0ZpbGVzIiwKICAgICAgICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9GaW5kIiwKICAgICAg", - "ICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9TZXNzaW9ucyIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRmVlZCIsCiAgICAgICAg", - "ICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRG9jayIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvTWFjaGluZXMiLAogICAgICAgICAg", - "ICAgICJ0cmlnZ2VyRmxhc2giLAogICAgICAgICAgICAgICJuZXh0U3VyZmFjZSIsCiAgICAgICAgICAgICAgInByZXZTdXJmYWNlIiwKICAgICAgICAgICAg", - "ICAibW92ZVN1cmZhY2VMZWZ0IiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VSaWdodCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9QcmV2aW91", - "c1BhbmUiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvTmV4dFBhbmUiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZUxlZnQiLAogICAg", - "ICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZVJpZ2h0IiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VUb1BhbmVVcCIsCiAgICAgICAgICAgICAgIm1v", - "dmVTdXJmYWNlVG9QYW5lRG93biIsCiAgICAgICAgICAgICAgInNlbGVjdFN1cmZhY2VCeU51bWJlciIsCiAgICAgICAgICAgICAgIm5leHRTaWRlYmFyVGFi", - "IiwKICAgICAgICAgICAgICAicHJldlNpZGViYXJUYWIiLAogICAgICAgICAgICAgICJuZXh0U2lkZWJhclRhYkluR3JvdXAiLAogICAgICAgICAgICAgICJw", - "cmV2U2lkZWJhclRhYkluR3JvdXAiLAogICAgICAgICAgICAgICJtb3ZlV29ya3NwYWNlVXAiLAogICAgICAgICAgICAgICJtb3ZlV29ya3NwYWNlRG93biIs", - "CiAgICAgICAgICAgICAgImZvY3VzSGlzdG9yeUJhY2siLAogICAgICAgICAgICAgICJmb2N1c0hpc3RvcnlGb3J3YXJkIiwKICAgICAgICAgICAgICAic2Vs", - "ZWN0V29ya3NwYWNlQnlOdW1iZXIiLAogICAgICAgICAgICAgICJyZW5hbWVUYWIiLAogICAgICAgICAgICAgICJyZW5hbWVXb3Jrc3BhY2UiLAogICAgICAg", - "ICAgICAgICJlZGl0V29ya3NwYWNlRGVzY3JpcHRpb24iLAogICAgICAgICAgICAgICJtYXJrV29ya3NwYWNlRG9uZSIsCiAgICAgICAgICAgICAgImN5Y2xl", - "V29ya3NwYWNlU3RhdHVzIiwKICAgICAgICAgICAgICAidG9nZ2xlQ2hlY2tsaXN0SXRlbUNvbXBsZXRlIiwKICAgICAgICAgICAgICAiY2xvc2VUYWIiLAog", - "ICAgICAgICAgICAgICJjbG9zZU90aGVyVGFic0luUGFuZSIsCiAgICAgICAgICAgICAgImNsb3NlV29ya3NwYWNlIiwKICAgICAgICAgICAgICAibmV3V29y", - "a3NwYWNlR3JvdXAiLAogICAgICAgICAgICAgICJncm91cFNlbGVjdGVkV29ya3NwYWNlcyIsCiAgICAgICAgICAgICAgInRvZ2dsZUZvY3VzZWRXb3Jrc3Bh", - "Y2VHcm91cENvbGxhcHNlZCIsCiAgICAgICAgICAgICAgInJlb3BlbkNsb3NlZFdvcmtzcGFjZSIsCiAgICAgICAgICAgICAgInJlb3BlbkNsb3NlZEJyb3dz", - "ZXJQYW5lbCIsCiAgICAgICAgICAgICAgIm5ld1N1cmZhY2UiLAogICAgICAgICAgICAgICJ0b2dnbGVUZXJtaW5hbENvcHlNb2RlIiwKICAgICAgICAgICAg", - "ICAiZm9jdXNUZXh0Qm94SW5wdXQiLAogICAgICAgICAgICAgICJjeWNsZVRleHRCb3hTdWJtaXRBY3Rpb24iLAogICAgICAgICAgICAgICJhdHRhY2hUZXh0", - "Qm94RmlsZSIsCiAgICAgICAgICAgICAgInNlbmRDdHJsRlRvVGVybWluYWwiLAogICAgICAgICAgICAgICJjbGVhclNjcmVlbktlZXBTY3JvbGxiYWNrIiwK", - "ICAgICAgICAgICAgICAic2ltdWxhdG9ySG9tZSIsCiAgICAgICAgICAgICAgInNpbXVsYXRvclJvdGF0ZUxlZnQiLAogICAgICAgICAgICAgICJzaW11bGF0", - "b3JSb3RhdGVSaWdodCIsCiAgICAgICAgICAgICAgInNpbXVsYXRvclRvZ2dsZUFwcGVhcmFuY2UiLAogICAgICAgICAgICAgICJzaW11bGF0b3JUb2dnbGVT", - "b2Z0d2FyZUtleWJvYXJkIiwKICAgICAgICAgICAgICAiZm9jdXNMZWZ0IiwKICAgICAgICAgICAgICAiZm9jdXNSaWdodCIsCiAgICAgICAgICAgICAgImZv", - "Y3VzVXAiLAogICAgICAgICAgICAgICJmb2N1c0Rvd24iLAogICAgICAgICAgICAgICJmb2N1c1ByZXZpb3VzUGFuZSIsCiAgICAgICAgICAgICAgImZvY3Vz", - "TmV4dFBhbmUiLAogICAgICAgICAgICAgICJzcGxpdFJpZ2h0IiwKICAgICAgICAgICAgICAic3BsaXREb3duIiwKICAgICAgICAgICAgICAidG9nZ2xlU3Bs", - "aXRab29tIiwKICAgICAgICAgICAgICAiaW5jcmVhc2VXb3Jrc3BhY2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAiZGVjcmVhc2VXb3Jrc3Bh", - "Y2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAicmVzZXRXb3Jrc3BhY2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAiZXF1YWxp", - "emVTcGxpdHMiLAogICAgICAgICAgICAgICJyZXNpemUtcGFuZS1sZWZ0IiwKICAgICAgICAgICAgICAicmVzaXplLXBhbmUtcmlnaHQiLAogICAgICAgICAg", - "ICAgICJyZXNpemUtcGFuZS11cCIsCiAgICAgICAgICAgICAgInJlc2l6ZS1wYW5lLWRvd24iLAogICAgICAgICAgICAgICJzcGxpdEJyb3dzZXJSaWdodCIs", - "CiAgICAgICAgICAgICAgInNwbGl0QnJvd3NlckRvd24iLAogICAgICAgICAgICAgICJ0b2dnbGVDYW52YXNMYXlvdXQiLAogICAgICAgICAgICAgICJjYW52", - "YXNSZXZlYWxGb2N1c2VkUGFuZSIsCiAgICAgICAgICAgICAgImNhbnZhc092ZXJ2aWV3IiwKICAgICAgICAgICAgICAiY2FudmFzWm9vbUluIiwKICAgICAg", - "ICAgICAgICAiY2FudmFzWm9vbU91dCIsCiAgICAgICAgICAgICAgImNhbnZhc1pvb21SZXNldCIsCiAgICAgICAgICAgICAgImNhbnZhc1RpZHkiLAogICAg", - "ICAgICAgICAgICJjYW52YXNBbGlnbkxlZnQiLAogICAgICAgICAgICAgICJjYW52YXNBbGlnblJpZ2h0IiwKICAgICAgICAgICAgICAiY2FudmFzQWxpZ25U", - "b3AiLAogICAgICAgICAgICAgICJjYW52YXNBbGlnbkJvdHRvbSIsCiAgICAgICAgICAgICAgImNhbnZhc0VxdWFsaXplV2lkdGhzIiwKICAgICAgICAgICAg", - "ICAiY2FudmFzRXF1YWxpemVIZWlnaHRzIiwKICAgICAgICAgICAgICAiY2FudmFzRGlzdHJpYnV0ZUhvcml6b250YWxseSIsCiAgICAgICAgICAgICAgImNh", - "bnZhc0Rpc3RyaWJ1dGVWZXJ0aWNhbGx5IiwKICAgICAgICAgICAgICAidG9nZ2xlRmlsZUV4cGxvcmVyIiwKICAgICAgICAgICAgICAiZmlsZUV4cGxvcmVy", - "T3BlblNlbGVjdGlvbiIsCiAgICAgICAgICAgICAgImZpbGVFeHBsb3Jlck9wZW5TZWxlY3Rpb25GaW5kZXJBbGlhcyIsCiAgICAgICAgICAgICAgInNhdmVG", - "aWxlUHJldmlldyIsCiAgICAgICAgICAgICAgIm9wZW5Ccm93c2VyIiwKICAgICAgICAgICAgICAiZm9jdXNCcm93c2VyQWRkcmVzc0JhciIsCiAgICAgICAg", - "ICAgICAgImJyb3dzZXJCYWNrIiwKICAgICAgICAgICAgICAiYnJvd3NlckZvcndhcmQiLAogICAgICAgICAgICAgICJicm93c2VyUmVsb2FkIiwKICAgICAg", - "ICAgICAgICAiYnJvd3NlckhhcmRSZWxvYWQiLAogICAgICAgICAgICAgICJicm93c2VyWm9vbUluIiwKICAgICAgICAgICAgICAiYnJvd3Nlclpvb21PdXQi", - "LAogICAgICAgICAgICAgICJicm93c2VyWm9vbVJlc2V0IiwKICAgICAgICAgICAgICAibWFya2Rvd25ab29tSW4iLAogICAgICAgICAgICAgICJtYXJrZG93", - "blpvb21PdXQiLAogICAgICAgICAgICAgICJtYXJrZG93blpvb21SZXNldCIsCiAgICAgICAgICAgICAgImZpbmQiLAogICAgICAgICAgICAgICJmaW5kSW5E", - "aXJlY3RvcnkiLAogICAgICAgICAgICAgICJmaW5kTmV4dCIsCiAgICAgICAgICAgICAgImZpbmRQcmV2aW91cyIsCiAgICAgICAgICAgICAgImhpZGVGaW5k", - "IiwKICAgICAgICAgICAgICAidXNlU2VsZWN0aW9uRm9yRmluZCIsCiAgICAgICAgICAgICAgInRvZ2dsZUJyb3dzZXJEZXZlbG9wZXJUb29scyIsCiAgICAg", - "ICAgICAgICAgInNob3dCcm93c2VySmF2YVNjcmlwdENvbnNvbGUiLAogICAgICAgICAgICAgICJ0b2dnbGVCcm93c2VyRm9jdXNNb2RlIiwKICAgICAgICAg", - "ICAgICAidG9nZ2xlQnJvd3NlckRlc2lnbk1vZGUiLAogICAgICAgICAgICAgICJ0b2dnbGVSZWFjdEdyYWIiLAogICAgICAgICAgICAgICJvcGVuRGlmZlZp", - "ZXdlciIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxEb3duIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwIiwKICAgICAgICAg", - "ICAgICAiZGlmZlZpZXdlclNjcm9sbEhhbGZQYWdlRG93biIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxIYWxmUGFnZVVwIiwKICAgICAgICAg", - "ICAgICAiZGlmZlZpZXdlclNjcm9sbERvd25FbWFjcyIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxVcEVtYWNzIiwKICAgICAgICAgICAgICAi", - "ZGlmZlZpZXdlclNjcm9sbFRvQm90dG9tIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFRvVG9wIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdl", - "ck9wZW5GaWxlU2VhcmNoIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlck5leHRGaWxlIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclByZXZpb3VzRmls", - "ZSIKICAgICAgICAgICAgXQogICAgICAgICAgfSwKICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVj", - "dGlvbiI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3NpbmdsZUJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAg", - "ICAgICAgICB9LAogICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlvbkZpbmRlckFsaWFzIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMv", - "JGRlZnMvc2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2Vy", - "U2Nyb2xsRG93biI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAg", - "ICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ry", - "b2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VEb3duIjogewog", + "cmlwdGlvbnMuZGlmZlZpZXdlci5kZWZhdWx0TGF5b3V0IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJyaWdodFNpZGViYXIiOiB7CiAgICAgICJ0", + "aXRsZSI6ICJyaWdodFNpZGViYXIiLAogICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IGFuZCBleHRlbnNpb24tb3duZWQgcmlnaHQtc2lkZWJhciBjb25m", + "aWd1cmF0aW9uIHByZXNlcnZlZCBpbiBjbXV4Lmpzb24uIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjog", + "dHJ1ZQogICAgfSwKICAgICJzaG9ydGN1dHMiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogInNob3J0Y3V0", + "cyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJLZXlib2FyZCBzaG9ydGN1dCBzZXR0aW5ncyBmcm9tIFNldHRpbmdzID4gS2V5Ym9hcmQgU2hvcnRjdXRzLiIs", + "CiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAg", + "ICAic2hvd01vZGlmaWVySG9sZEhpbnRzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAg", + "ICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBzaG9ydGN1dC1oaW50IGNoaXBzIHdoaWxlIGhvbGRpbmcgQ21kIG9yIENvbnRyb2wuIiwKICAgICAgICAgICJk", + "ZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuc2hvcnRjdXRzLnNob3dNb2RpZmllckhvbGRIaW50cyIKICAgICAgICB9LAogICAgICAgICJi", + "aW5kaW5ncyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiZGVmYXVsdCI6IHt9LAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", + "IlNob3J0Y3V0IG92ZXJyaWRlcyBrZXllZCBieSBjbXV4IGFjdGlvbiBpZC4gVXNlIGEgc3RyaW5nIGZvciBhIHNpbmdsZSBzaG9ydGN1dCwgYW4gYXJyYXkg", + "Zm9yIGEgY2hvcmQsIG51bGwsIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2FibGVkIHRvIHVuYmluZC4iLAogICAgICAg", + "ICAgInByb3BlcnR5TmFtZXMiOiB7CiAgICAgICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAgICJvcGVuU2V0dGluZ3MiLAogICAgICAgICAgICAgICJy", + "ZWxvYWRDb25maWd1cmF0aW9uIiwKICAgICAgICAgICAgICAic2hvd0hpZGVBbGxXaW5kb3dzIiwKICAgICAgICAgICAgICAiZ2xvYmFsU2VhcmNoIiwKICAg", + "ICAgICAgICAgICAibmV3V2luZG93IiwKICAgICAgICAgICAgICAiY2xvc2VXaW5kb3ciLAogICAgICAgICAgICAgICJ0b2dnbGVGdWxsU2NyZWVuIiwKICAg", + "ICAgICAgICAgICAicXVpdCIsCiAgICAgICAgICAgICAgInRvZ2dsZVNpZGViYXIiLAogICAgICAgICAgICAgICJuZXdUYWIiLAogICAgICAgICAgICAgICJu", + "ZXdCcm93c2VyV29ya3NwYWNlIiwKICAgICAgICAgICAgICAibmV3Q2xvdWRXb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJuZXdDbG91ZE1hY2hpbmUiLAog", + "ICAgICAgICAgICAgICJvcGVuRm9sZGVyIiwKICAgICAgICAgICAgICAicmVvcGVuUHJldmlvdXNTZXNzaW9uIiwKICAgICAgICAgICAgICAiZ29Ub1dvcmtz", + "cGFjZSIsCiAgICAgICAgICAgICAgImNvbW1hbmRQYWxldHRlIiwKICAgICAgICAgICAgICAiY29tbWFuZFBhbGV0dGVOZXh0IiwKICAgICAgICAgICAgICAi", + "Y29tbWFuZFBhbGV0dGVQcmV2aW91cyIsCiAgICAgICAgICAgICAgInNlbmRGZWVkYmFjayIsCiAgICAgICAgICAgICAgInNob3dOb3RpZmljYXRpb25zIiwK", + "ICAgICAgICAgICAgICAianVtcFRvVW5yZWFkIiwKICAgICAgICAgICAgICAidG9nZ2xlVW5yZWFkIiwKICAgICAgICAgICAgICAibWFya09sZGVzdFVucmVh", + "ZEFuZEp1bXBOZXh0IiwKICAgICAgICAgICAgICAibWFya0FsbE5vdGlmaWNhdGlvbnNSZWFkIiwKICAgICAgICAgICAgICAiY2xlYXJBbGxOb3RpZmljYXRp", + "b25zIiwKICAgICAgICAgICAgICAiZm9jdXNSaWdodFNpZGViYXIiLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb0ZpbGVzIiwKICAgICAg", + "ICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9GaW5kIiwKICAgICAgICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9TZXNzaW9ucyIsCiAgICAgICAg", + "ICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRmVlZCIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRG9jayIsCiAgICAgICAgICAgICAg", + "InN3aXRjaFJpZ2h0U2lkZWJhclRvTWFjaGluZXMiLAogICAgICAgICAgICAgICJ0cmlnZ2VyRmxhc2giLAogICAgICAgICAgICAgICJuZXh0U3VyZmFjZSIs", + "CiAgICAgICAgICAgICAgInByZXZTdXJmYWNlIiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VMZWZ0IiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VS", + "aWdodCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9QcmV2aW91c1BhbmUiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvTmV4dFBhbmUiLAog", + "ICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZUxlZnQiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZVJpZ2h0IiwKICAgICAgICAgICAg", + "ICAibW92ZVN1cmZhY2VUb1BhbmVVcCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9QYW5lRG93biIsCiAgICAgICAgICAgICAgInNlbGVjdFN1cmZh", + "Y2VCeU51bWJlciIsCiAgICAgICAgICAgICAgIm5leHRTaWRlYmFyVGFiIiwKICAgICAgICAgICAgICAicHJldlNpZGViYXJUYWIiLAogICAgICAgICAgICAg", + "ICJuZXh0U2lkZWJhclRhYkluR3JvdXAiLAogICAgICAgICAgICAgICJwcmV2U2lkZWJhclRhYkluR3JvdXAiLAogICAgICAgICAgICAgICJtb3ZlV29ya3Nw", + "YWNlVXAiLAogICAgICAgICAgICAgICJtb3ZlV29ya3NwYWNlRG93biIsCiAgICAgICAgICAgICAgImZvY3VzSGlzdG9yeUJhY2siLAogICAgICAgICAgICAg", + "ICJmb2N1c0hpc3RvcnlGb3J3YXJkIiwKICAgICAgICAgICAgICAic2VsZWN0V29ya3NwYWNlQnlOdW1iZXIiLAogICAgICAgICAgICAgICJyZW5hbWVUYWIi", + "LAogICAgICAgICAgICAgICJyZW5hbWVXb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJlZGl0V29ya3NwYWNlRGVzY3JpcHRpb24iLAogICAgICAgICAgICAg", + "ICJtYXJrV29ya3NwYWNlRG9uZSIsCiAgICAgICAgICAgICAgImN5Y2xlV29ya3NwYWNlU3RhdHVzIiwKICAgICAgICAgICAgICAidG9nZ2xlQ2hlY2tsaXN0", + "SXRlbUNvbXBsZXRlIiwKICAgICAgICAgICAgICAiY2xvc2VUYWIiLAogICAgICAgICAgICAgICJjbG9zZU90aGVyVGFic0luUGFuZSIsCiAgICAgICAgICAg", + "ICAgImNsb3NlV29ya3NwYWNlIiwKICAgICAgICAgICAgICAibmV3V29ya3NwYWNlR3JvdXAiLAogICAgICAgICAgICAgICJncm91cFNlbGVjdGVkV29ya3Nw", + "YWNlcyIsCiAgICAgICAgICAgICAgInRvZ2dsZUZvY3VzZWRXb3Jrc3BhY2VHcm91cENvbGxhcHNlZCIsCiAgICAgICAgICAgICAgInJlb3BlbkNsb3NlZFdv", + "cmtzcGFjZSIsCiAgICAgICAgICAgICAgInJlb3BlbkNsb3NlZEJyb3dzZXJQYW5lbCIsCiAgICAgICAgICAgICAgIm5ld1N1cmZhY2UiLAogICAgICAgICAg", + "ICAgICJ0b2dnbGVUZXJtaW5hbENvcHlNb2RlIiwKICAgICAgICAgICAgICAiZm9jdXNUZXh0Qm94SW5wdXQiLAogICAgICAgICAgICAgICJjeWNsZVRleHRC", + "b3hTdWJtaXRBY3Rpb24iLAogICAgICAgICAgICAgICJhdHRhY2hUZXh0Qm94RmlsZSIsCiAgICAgICAgICAgICAgInNlbmRDdHJsRlRvVGVybWluYWwiLAog", + "ICAgICAgICAgICAgICJjbGVhclNjcmVlbktlZXBTY3JvbGxiYWNrIiwKICAgICAgICAgICAgICAic2ltdWxhdG9ySG9tZSIsCiAgICAgICAgICAgICAgInNp", + "bXVsYXRvclJvdGF0ZUxlZnQiLAogICAgICAgICAgICAgICJzaW11bGF0b3JSb3RhdGVSaWdodCIsCiAgICAgICAgICAgICAgInNpbXVsYXRvclRvZ2dsZUFw", + "cGVhcmFuY2UiLAogICAgICAgICAgICAgICJzaW11bGF0b3JUb2dnbGVTb2Z0d2FyZUtleWJvYXJkIiwKICAgICAgICAgICAgICAiZm9jdXNMZWZ0IiwKICAg", + "ICAgICAgICAgICAiZm9jdXNSaWdodCIsCiAgICAgICAgICAgICAgImZvY3VzVXAiLAogICAgICAgICAgICAgICJmb2N1c0Rvd24iLAogICAgICAgICAgICAg", + "ICJmb2N1c1ByZXZpb3VzUGFuZSIsCiAgICAgICAgICAgICAgImZvY3VzTmV4dFBhbmUiLAogICAgICAgICAgICAgICJzcGxpdFJpZ2h0IiwKICAgICAgICAg", + "ICAgICAic3BsaXREb3duIiwKICAgICAgICAgICAgICAidG9nZ2xlU3BsaXRab29tIiwKICAgICAgICAgICAgICAiaW5jcmVhc2VXb3Jrc3BhY2VUZXJtaW5h", + "bEZvbnRTaXplIiwKICAgICAgICAgICAgICAiZGVjcmVhc2VXb3Jrc3BhY2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAicmVzZXRXb3Jrc3Bh", + "Y2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAiZXF1YWxpemVTcGxpdHMiLAogICAgICAgICAgICAgICJyZXNpemUtcGFuZS1sZWZ0IiwKICAg", + "ICAgICAgICAgICAicmVzaXplLXBhbmUtcmlnaHQiLAogICAgICAgICAgICAgICJyZXNpemUtcGFuZS11cCIsCiAgICAgICAgICAgICAgInJlc2l6ZS1wYW5l", + "LWRvd24iLAogICAgICAgICAgICAgICJzcGxpdEJyb3dzZXJSaWdodCIsCiAgICAgICAgICAgICAgInNwbGl0QnJvd3NlckRvd24iLAogICAgICAgICAgICAg", + "ICJ0b2dnbGVDYW52YXNMYXlvdXQiLAogICAgICAgICAgICAgICJjYW52YXNSZXZlYWxGb2N1c2VkUGFuZSIsCiAgICAgICAgICAgICAgImNhbnZhc092ZXJ2", + "aWV3IiwKICAgICAgICAgICAgICAiY2FudmFzWm9vbUluIiwKICAgICAgICAgICAgICAiY2FudmFzWm9vbU91dCIsCiAgICAgICAgICAgICAgImNhbnZhc1pv", + "b21SZXNldCIsCiAgICAgICAgICAgICAgImNhbnZhc1RpZHkiLAogICAgICAgICAgICAgICJjYW52YXNBbGlnbkxlZnQiLAogICAgICAgICAgICAgICJjYW52", + "YXNBbGlnblJpZ2h0IiwKICAgICAgICAgICAgICAiY2FudmFzQWxpZ25Ub3AiLAogICAgICAgICAgICAgICJjYW52YXNBbGlnbkJvdHRvbSIsCiAgICAgICAg", + "ICAgICAgImNhbnZhc0VxdWFsaXplV2lkdGhzIiwKICAgICAgICAgICAgICAiY2FudmFzRXF1YWxpemVIZWlnaHRzIiwKICAgICAgICAgICAgICAiY2FudmFz", + "RGlzdHJpYnV0ZUhvcml6b250YWxseSIsCiAgICAgICAgICAgICAgImNhbnZhc0Rpc3RyaWJ1dGVWZXJ0aWNhbGx5IiwKICAgICAgICAgICAgICAidG9nZ2xl", + "RmlsZUV4cGxvcmVyIiwKICAgICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlvbiIsCiAgICAgICAgICAgICAgImZpbGVFeHBsb3Jlck9wZW5T", + "ZWxlY3Rpb25GaW5kZXJBbGlhcyIsCiAgICAgICAgICAgICAgInNhdmVGaWxlUHJldmlldyIsCiAgICAgICAgICAgICAgIm9wZW5Ccm93c2VyIiwKICAgICAg", + "ICAgICAgICAiZm9jdXNCcm93c2VyQWRkcmVzc0JhciIsCiAgICAgICAgICAgICAgImJyb3dzZXJCYWNrIiwKICAgICAgICAgICAgICAiYnJvd3NlckZvcndh", + "cmQiLAogICAgICAgICAgICAgICJicm93c2VyUmVsb2FkIiwKICAgICAgICAgICAgICAiYnJvd3NlckhhcmRSZWxvYWQiLAogICAgICAgICAgICAgICJicm93", + "c2VyWm9vbUluIiwKICAgICAgICAgICAgICAiYnJvd3Nlclpvb21PdXQiLAogICAgICAgICAgICAgICJicm93c2VyWm9vbVJlc2V0IiwKICAgICAgICAgICAg", + "ICAibWFya2Rvd25ab29tSW4iLAogICAgICAgICAgICAgICJtYXJrZG93blpvb21PdXQiLAogICAgICAgICAgICAgICJtYXJrZG93blpvb21SZXNldCIsCiAg", + "ICAgICAgICAgICAgImZpbmQiLAogICAgICAgICAgICAgICJmaW5kSW5EaXJlY3RvcnkiLAogICAgICAgICAgICAgICJmaW5kTmV4dCIsCiAgICAgICAgICAg", + "ICAgImZpbmRQcmV2aW91cyIsCiAgICAgICAgICAgICAgImhpZGVGaW5kIiwKICAgICAgICAgICAgICAidXNlU2VsZWN0aW9uRm9yRmluZCIsCiAgICAgICAg", + "ICAgICAgInRvZ2dsZUJyb3dzZXJEZXZlbG9wZXJUb29scyIsCiAgICAgICAgICAgICAgInNob3dCcm93c2VySmF2YVNjcmlwdENvbnNvbGUiLAogICAgICAg", + "ICAgICAgICJ0b2dnbGVCcm93c2VyRm9jdXNNb2RlIiwKICAgICAgICAgICAgICAidG9nZ2xlQnJvd3NlckRlc2lnbk1vZGUiLAogICAgICAgICAgICAgICJ0", + "b2dnbGVSZWFjdEdyYWIiLAogICAgICAgICAgICAgICJvcGVuRGlmZlZpZXdlciIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxEb3duIiwKICAg", + "ICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbEhhbGZQYWdlRG93biIsCiAgICAgICAgICAg", + "ICAgImRpZmZWaWV3ZXJTY3JvbGxIYWxmUGFnZVVwIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbERvd25FbWFjcyIsCiAgICAgICAgICAgICAg", + "ImRpZmZWaWV3ZXJTY3JvbGxVcEVtYWNzIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFRvQm90dG9tIiwKICAgICAgICAgICAgICAiZGlmZlZp", + "ZXdlclNjcm9sbFRvVG9wIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlck9wZW5GaWxlU2VhcmNoIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlck5leHRG", + "aWxlIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclByZXZpb3VzRmlsZSIKICAgICAgICAgICAgXQogICAgICAgICAgfSwKICAgICAgICAgICJwcm9wZXJ0", + "aWVzIjogewogICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlvbiI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3NpbmdsZUJh", + "cmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlv", + "bkZpbmRlckFsaWFzIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFi", + "bGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsRG93biI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2Jh", + "cmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwIjogewog", "ICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAg", - "ICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VVcCI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0", - "Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbERvd25FbWFjcyI6IHsKICAgICAgICAgICAg", - "ICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlm", - "ZlZpZXdlclNjcm9sbFVwRW1hY3MiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxs", - "YWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxUb0JvdHRvbSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRk", - "ZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFRv", - "VG9wIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAg", - "IH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyT3BlbkZpbGVTZWFyY2giOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJv", - "a2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJOZXh0RmlsZSI6IHsKICAgICAgICAgICAg", - "ICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlm", - "ZlZpZXdlclByZXZpb3VzRmlsZSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxh", - "YmxlIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiJHJlZiI6ICIj", - "LyRkZWZzL3Nob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgIndoZW4iOiB7CiAgICAgICAgICAidHlwZSI6", - "ICJvYmplY3QiLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBwZXItYWN0aW9uIGNvbnRleHQg", - "cHJlZGljYXRlcyAoVlMgQ29kZS1zdHlsZSBgd2hlbmAgY2xhdXNlcyksIGtleWVkIGJ5IGNtdXggYWN0aW9uIGlkLiBFYWNoIHZhbHVlIGlzIGEgYm9vbGVh", - "biBleHByZXNzaW9uIG92ZXIgY29udGV4dCBrZXlzIGNvbWJpbmVkIHdpdGggISwgJiYsIHx8LCBhbmQgcGFyZW50aGVzZXMuIEJvb2xlYW4ga2V5czogc2lk", - "ZWJhckZvY3VzLCBicm93c2VyRm9jdXMsIG1hcmtkb3duRm9jdXMsIGZpbGVQcmV2aWV3VGV4dEVkaXRvckZvY3VzLCBzaW11bGF0b3JGb2N1cywgdGVybWlu", - "YWxGb2N1cywgY29tbWFuZFBhbGV0dGVWaXNpYmxlLCB0ZXJtaW5hbEZpbmRWaXNpYmxlLCB3b3Jrc3BhY2VDYW52YXNMYXlvdXQuIFR5cGVkIGtleXMgc3Vw", - "cG9ydCBjb21wYXJpc29uczogdGhlIHN0cmluZyBzaWRlYmFyTW9kZSAoZmlsZXMsIGZpbmQsIHNlc3Npb25zLCBmZWVkLCBvciBkb2NrKSBhbmQgdGhlIGlu", - "dGVnZXJzIHBhbmVDb3VudCBhbmQgd29ya3NwYWNlQ291bnQuIENvbXBhcmlzb24gb3BlcmF0b3JzIGFyZSA9PSwgIT0sID1+IChyZWdleCksIDwsIDw9LCA+", - "LCA+PSwgYW5kIGBpbiBbYSwgYl1gOyBhbiB1bmtub3duIG9yIGFic2VudCBrZXkgcmVhZHMgYXMgZmFsc2UuIFRoZSBib29sZWFuIGxpdGVyYWxzIHRydWUg", - "YW5kIGZhbHNlIGFyZSBhbHNvIGFjY2VwdGVkOyBga2V5ID09IGZhbHNlYCBpcyB0aGUgc2FtZSBhcyBgIWtleWAuIFRoZSBhY3Rpb24ncyBzaG9ydGN1dCBv", - "bmx5IGZpcmVzIChhbmQgb25seSBjb25mbGljdHMgd2l0aCBvdGhlciBzaG9ydGN1dHMpIHdoZW4gdGhlIGNsYXVzZSBob2xkcy4gRXhhbXBsZXM6IHsgXCJz", - "ZWxlY3RXb3Jrc3BhY2VCeU51bWJlclwiOiBcIiFzaWRlYmFyRm9jdXNcIiB9IHNlbGVjdHMgd29ya3NwYWNlcyB3aXRoIEN0cmwrMeKAkzkgZXZlcnl3aGVy", - "ZSBleGNlcHQgd2hlbiB0aGUgcmlnaHQgc2lkZWJhciBpcyBmb2N1c2VkOyB7IFwic2VsZWN0U3VyZmFjZUJ5TnVtYmVyXCI6IFwic2lkZWJhck1vZGUgPT0g", - "J2ZpbmQnICYmIHBhbmVDb3VudCA+IDFcIiB9IHNjb3BlcyBhIGJpbmRpbmcgdG8gdGhlIEZpbmQgc2lkZWJhciB3aGVuIHRoZSB3b3Jrc3BhY2UgaGFzIG11", - "bHRpcGxlIHBhbmVzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnNob3J0Y3V0cy53aGVuIiwKICAgICAgICAg", - "ICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAg", - "fQogIH0sCiAgIiRkZWZzIjogewogICAgImNvbG9ySGV4IjogewogICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAicGF0dGVybiI6ICJeI1swLTlBLUZh", - "LWZdezZ9JCIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJVcHBlcmNhc2Ugb3IgbG93ZXJjYXNlIDYtZGlnaXQgaGV4IGNvbG9yLiIKICAgIH0sCiAgICAiY29s", - "b3JIZXhPck51bGwiOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IgogICAgICAgIH0s", - "CiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAibm90aWZpY2F0aW9uU291bmRPdmVycmlk", - "ZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRp", - "ZXMiOiBmYWxzZSwKICAgICAgICAgICJyZXF1aXJlZCI6IFsic291bmQiXSwKICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAic291bmQi", - "OiB7CiAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAiZW51bSI6IFsiZGVmYXVsdCIsICJCYXNzbyIsICJCbG93IiwgIkJv", - "dHRsZSIsICJGcm9nIiwgIkZ1bmsiLCAiR2xhc3MiLCAiSGVybyIsICJNb3JzZSIsICJQaW5nIiwgIlBvcCIsICJQdXJyIiwgIlNvc3VtaSIsICJTdWJtYXJp", - "bmUiLCAiVGluayIsICJub25lIl0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAib2Jq", - "ZWN0IiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgInJlcXVpcmVkIjogWyJzb3VuZCIsICJjdXN0b21Tb3Vu", - "ZEZpbGVQYXRoIl0sCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgInNvdW5kIjogeyAiY29uc3QiOiAiY3VzdG9tX2ZpbGUiIH0sCiAg", - "ICAgICAgICAgICJjdXN0b21Tb3VuZEZpbGVQYXRoIjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0", - "aCI6IDEsCiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiLipcXFMuKiIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgXSwKICAg", - "ICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnNvdW5kT3ZlcnJpZGUiLAogICAgICAiZGVzY3JpcHRpb24i", - "OiAiQSBub3RpZmljYXRpb24gc291bmQgb3ZlcnJpZGUuIGBkZWZhdWx0YCB1c2VzIG5vdGlmaWNhdGlvbnMuc291bmQsIGBub25lYCBkaXNhYmxlcyBwbGF5", - "YmFjaywgYW5kIHRoZSByZW1haW5pbmcgdmFsdWVzIHNlbGVjdCBhIGJ1aWx0LWluIG9yIGN1c3RvbSBzb3VuZC4iCiAgICB9LAogICAgInNob3J0Y3V0Qmlu", - "ZGluZyI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvdW5ib3VuZFNob3J0Y3V0QmluZGluZyIsCiAg", - "ICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIEFjY2VwdGVkIHZhbHVlcyBhcmUgYW4gZW1wdHkgc3RyaW5nLCBub25lLCBj", - "bGVhciwgdW5ib3VuZCwgb3IgZGlzYWJsZWQuIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dEZpcnN0", - "U3Ryb2tlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaW5nbGUtc3Ryb2tlIHNob3J0Y3V0LCBmb3IgZXhhbXBsZSBjbWQrbiBvciBjbWQrc3BhY2Uu", - "IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIm1pbkl0ZW1zIjogMSwKICAgICAgICAgICJtYXhJ", - "dGVtcyI6IDIsCiAgICAgICAgICAicHJlZml4SXRlbXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0", - "Rmlyc3RTdHJva2UiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgog", - "ICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNob3JkZWQgc2hvcnRjdXQuIEV4YW1wbGU6IFtcImN0cmwrYlwi", - "LCBcImNcIl0uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAg", - "ICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRCaW5kaW5nIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAi", - "bnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaW5n", - "bGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZz", - "L3VuYm91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMg", - "YXJlIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2FibGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIk", - "cmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9rZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2luZ2xlLXN0cm9r", - "ZSBzaG9ydGN1dC4gQmFyZSBmaXJzdCBzdHJva2VzIGFyZSBhY2NlcHRlZCBmb3IgdGhpcyBhY3Rpb24uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAg", - "ICJzaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIk", - "cmVmIjogIiMvJGRlZnMvc2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUi", - "OiAibnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJi", - "YXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Vu", - "Ym91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMgYXJl", - "IGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2FibGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIkcmVm", - "IjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9rZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2luZ2xlLXN0cm9rZSBz", - "aG9ydGN1dC4gQmFyZSBmaXJzdCBzdHJva2VzIGFyZSBhY2NlcHRlZCBmb3IgdGhpcyBhY3Rpb24uIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAg", - "InR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIm1pbkl0ZW1zIjogMSwKICAgICAgICAgICJtYXhJdGVtcyI6IDIsCiAgICAgICAgICAicHJlZml4SXRlbXMi", - "OiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0Rmlyc3RTdHJva2UiCiAgICAg", - "ICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgICAgICB9CiAgICAg", - "ICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNob3JkZWQgc2hvcnRjdXQuIEJhcmUgZmlyc3Qgc3Ryb2tlcyBhcmUgYWNjZXB0ZWQgZm9yIHRo", - "aXMgYWN0aW9uLiBFeGFtcGxlOiBbXCJnXCIsIFwiZ1wiXS4iCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgImJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0", - "QmluZGluZ051bGxhYmxlIjogewogICAgICAib25lT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VT", - "aG9ydGN1dEJpbmRpbmciCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJudWxsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJV", - "bmJpbmQgdGhpcyBzaG9ydGN1dC4iCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgInVuYm91bmRTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJ0eXBl", - "IjogInN0cmluZyIsCiAgICAgICJlbnVtIjogWyIiLCAibm9uZSIsICJjbGVhciIsICJ1bmJvdW5kIiwgImRpc2FibGVkIl0KICAgIH0sCiAgICAic2hvcnRj", - "dXRGaXJzdFN0cm9rZSI6IHsKICAgICAgImFsbE9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRTdHJva2UiCiAg", - "ICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYW55T2YiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86KD86W2ND", - "XVttTV1bZERdfFtjQ11bb09dW21NXVttTV1bYUFdW25OXVtkRF18W3NTXVtoSF1baUldW2ZGXVt0VF18W29PXVtwUF1bdFRdfFtvT11bcFBdW3RUXVtpSV1b", - "b09dW25OXXxbYUFdW2xMXVt0VF18W2NDXVt0VF1bclJdW2xMXXxbY0NdW29PXVtuTl1bdFRdW3JSXVtvT11bbExdfFtjQ11bdFRdW2xMXXzijJh84oenfOKM", - "pXzijIMpXFwrKSsiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86IHxbc1NdW3BQXVthQV1bY0Nd", - "W2VFXXxbc1NdW3BQXVthQV1bY0NdW2VFXVtiQl1bYUFdW3JSXXw8W3NTXVtwUF1bYUFdW2NDXVtlRV0+KSQiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0K", - "ICAgICAgICB9CiAgICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBvciBvbmx5IHNob3J0Y3V0IHN0cm9rZS4gTXVzdCBpbmNsdWRlIGEgbW9k", - "aWZpZXIgdW5sZXNzIHRoZSBrZXkgaXMgU3BhY2UuIgogICAgfSwKICAgICJiYXJlRmlyc3RTdHJva2VTaG9ydGN1dEZpcnN0U3Ryb2tlIjogewogICAgICAi", - "YWxsT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dFN0cm9rZSIKICAgICAgICB9LAogICAgICAgIHsKICAgICAg", - "ICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzooPzpbY0NdW21NXVtkRF18W2NDXVtvT11bbU1dW21N", - "XVthQV1bbk5dW2REXXxbc1NdW2hIXVtpSV1bZkZdW3RUXXxbb09dW3BQXVt0VF18W29PXVtwUF1bdFRdW2lJXVtvT11bbk5dfFthQV1bbExdW3RUXXxbY0Nd", - "W3RUXVtyUl1bbExdfFtjQ11bb09dW25OXVt0VF1bclJdW29PXVtsTF18W2NDXVt0VF1bbExdfOKMmHzih6d84oylfOKMgylcXCspKyIKICAgICAgICAgICAg", - "fSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzogfFtzU11bcFBdW2FBXVtjQ11bZUVdfFtzU11bcFBdW2FBXVtjQ11bZUVd", - "W2JCXVthQV1bclJdfDxbc1NdW3BQXVthQV1bY0NdW2VFXT4pJCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJu", - "IjogIl4oPzpbclJdW2VFXVt0VF1bdVVdW3JSXVtuTl18W2VFXVtuTl1bdFRdW2VFXVtyUl184oapKSQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsK", - "ICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86W2xMXVtlRV1bZkZdW3RUXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtsTF1bZUVdW2ZGXVt0VF18W2xMXVtl", - "RV1bZkZdW3RUXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkHxbclJdW2lJXVtnR11baEhdW3RUXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtyUl1baUldW2dHXVto", - "SF1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2FBXVtyUl1bclJdW29PXVt3V1184oaSfFt1VV1bcFBdfFthQV1bclJdW3JSXVtvT11bd1ddW3VVXVtwUF18", - "W3VVXVtwUF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpF8W2REXVtvT11bd1ddW25OXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtkRF1bb09dW3dXXVtuTl18W2RE", - "XVtvT11bd1ddW25OXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkykkIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRl", - "cm4iOiAiXig/OltBLVphLXowLTldfFssLi9cXFxcOydgPVxcW1xcXS1dfFtjQ11bb09dW21NXVttTV1bYUFdfFtwUF1bZUVdW3JSXVtpSV1bb09dW2REXXxb", - "ZERdW29PXVt0VF18W3NTXVtsTF1bYUFdW3NTXVtoSF18W2JCXVthQV1bY0NdW2tLXVtzU11bbExdW2FBXVtzU11baEhdfFtzU11bZUVdW21NXVtpSV1bY0Nd", - "W29PXVtsTF1bb09dW25OXXxbcVFdW3VVXVtvT11bdFRdW2VFXXxbYUFdW3BQXVtvT11bc1NdW3RUXVtyUl1bb09dW3BQXVtoSF1bZUVdfFtiQl1bYUFdW2ND", - "XVtrS11bdFRdW2lJXVtjQ11ba0tdfFtnR11bclJdW2FBXVt2Vl1bZUVdfFttTV1baUldW25OXVt1VV1bc1NdfFtoSF1beVldW3BQXVtoSF1bZUVdW25OXXxb", - "cFBdW2xMXVt1VV1bc1NdfFtlRV1bcVFdW3VVXVthQV1bbExdW3NTXXxbbExdW2VFXVtmRl1bdFRdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbb09d", - "W3BQXVtlRV1bbk5dW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbclJdW2lJXVtnR11baEhdW3RUXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18", - "W2NDXVtsTF1bb09dW3NTXVtlRV1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdKSQiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0KICAgICAgICB9CiAg", - "ICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBvciBvbmx5IHNob3J0Y3V0IHN0cm9rZS4gQmFyZSBwcmludGFibGUga2V5cyBhcmUgYWNjZXB0", - "ZWQgZm9yIGFjdGlvbnMgdGhhdCBvcHQgaW50byBiYXJlIGZpcnN0IHN0cm9rZXMuIgogICAgfSwKICAgICJzaG9ydGN1dFN0cm9rZSI6IHsKICAgICAgInR5", - "cGUiOiAic3RyaW5nIiwKICAgICAgInBhdHRlcm4iOiAiXig/Oig/OltjQ11bbU1dW2REXXxbY0NdW29PXVttTV1bbU1dW2FBXVtuTl1bZERdfFtzU11baEhd", - "W2lJXVtmRl1bdFRdfFtvT11bcFBdW3RUXXxbb09dW3BQXVt0VF1baUldW29PXVtuTl18W2FBXVtsTF1bdFRdfFtjQ11bdFRdW3JSXVtsTF18W2NDXVtvT11b", - "bk5dW3RUXVtyUl1bb09dW2xMXXxbY0NdW3RUXVtsTF184oyYfOKHp3zijKV84oyDKVxcKykqKD86IHxbQS1aYS16MC05XXxbbExdW2VFXVtmRl1bdFRdfFth", - "QV1bclJdW3JSXVtvT11bd1ddW2xMXVtlRV1bZkZdW3RUXXxbbExdW2VFXVtmRl1bdFRdW2FBXVtyUl1bclJdW29PXVt3V1184oaQfFtyUl1baUldW2dHXVto", - "SF1bdFRdfFthQV1bclJdW3JSXVtvT11bd1ddW3JSXVtpSV1bZ0ddW2hIXVt0VF18W3JSXVtpSV1bZ0ddW2hIXVt0VF1bYUFdW3JSXVtyUl1bb09dW3dXXXzi", - "hpJ8W3VVXVtwUF18W2FBXVtyUl1bclJdW29PXVt3V11bdVVdW3BQXXxbdVVdW3BQXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkXxbZERdW29PXVt3V11bbk5d", - "fFthQV1bclJdW3JSXVtvT11bd1ddW2REXVtvT11bd1ddW25OXXxbZERdW29PXVt3V11bbk5dW2FBXVtyUl1bclJdW29PXVt3V1184oaTfFt0VF1bYUFdW2JC", - "XXxbclJdW2VFXVt0VF1bdVVdW3JSXVtuTl18W2VFXVtuTl1bdFRdW2VFXVtyUl184oapfFtzU11bcFBdW2FBXVtjQ11bZUVdfFtzU11bcFBdW2FBXVtjQ11b", - "ZUVdW2JCXVthQV1bclJdfDxbc1NdW3BQXVthQV1bY0NdW2VFXT58WywuL1xcXFw7J2A9XFxbXFxdLV18W2NDXVtvT11bbU1dW21NXVthQV18W3BQXVtlRV1b", - "clJdW2lJXVtvT11bZERdfFtkRF1bb09dW3RUXXxbc1NdW2xMXVthQV1bc1NdW2hIXXxbYkJdW2FBXVtjQ11ba0tdW3NTXVtsTF1bYUFdW3NTXVtoSF18W3NT", - "XVtlRV1bbU1dW2lJXVtjQ11bb09dW2xMXVtvT11bbk5dfFtxUV1bdVVdW29PXVt0VF1bZUVdfFthQV1bcFBdW29PXVtzU11bdFRdW3JSXVtvT11bcFBdW2hI", - "XVtlRV18W2JCXVthQV1bY0NdW2tLXVt0VF1baUldW2NDXVtrS118W2dHXVtyUl1bYUFdW3ZWXVtlRV18W21NXVtpSV1bbk5dW3VVXVtzU118W2hIXVt5WV1b", - "cFBdW2hIXVtlRV1bbk5dfFtwUF1bbExdW3VVXVtzU118W2VFXVtxUV1bdVVdW2FBXVtsTF1bc1NdfFtsTF1bZUVdW2ZGXVt0VF1bYkJdW3JSXVthQV1bY0Nd", - "W2tLXVtlRV1bdFRdfFtvT11bcFBdW2VFXVtuTl1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2JCXVtyUl1bYUFd", - "W2NDXVtrS11bZUVdW3RUXXxbY0NdW2xMXVtvT11bc1NdW2VFXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W2ZGXSg/OlsxLTldfDFbMC05XXwyMCl8", - "W3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bdVVdW3BQXXxbbU1d", - "W2VFXVtkRF1baUldW2FBXVxcLlt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVt1VV1bcFBdfFt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVtkRF1bb09dW3dXXVtu", - "Tl18W21NXVtlRV1bZERdW2lJXVthQV1bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bZERdW29PXVt3V11bbk5dfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3ZW", - "XVtvT11bbExdW3VVXVttTV1bZUVdW2REXVtvT11bd1ddW25OXXxbYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18W21N", - "XVtlRV1bZERdW2lJXVthQV1bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5b", - "YkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18W2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVtk", - "RF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW2REXVtvT11bd1ddW25O", - "XXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltiQl1bclJdW2lJXVtnR11baEhdW3RUXVtuTl1bZUVdW3NTXVtzU11bZERdW29PXVt3V11bbk5dfFttTV1bdVVd", - "W3RUXVtlRV18W21NXVtlRV1bZERdW2lJXVthQV1bbU1dW3VVXVt0VF1bZUVdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW21NXVt1VV1bdFRdW2VFXXxbcFBd", - "W2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18W21NXVtlRV1bZERdW2lJXVthQV1bcFBdW2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18", - "W21NXVtlRV1bZERdW2lJXVthQV1cXC5bcFBdW2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18W25OXVtlRV1beFhdW3RUXVt0VF1bclJdW2FBXVtj", - "Q11ba0tdfFttTV1bZUVdW2REXVtpSV1bYUFdW25OXVtlRV1beFhdW3RUXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltuTl1bZUVdW3hYXVt0VF18W21NXVtl", - "RV1bZERdW2lJXVthQV1cXC5bbk5dW2VFXVt4WF1bdFRdW3RUXVtyUl1bYUFdW2NDXVtrS118W3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU11bdFRd", - "W3JSXVthQV1bY0NdW2tLXXxbbU1dW2VFXVtkRF1baUldW2FBXVtwUF1bclJdW2VFXVt2Vl1baUldW29PXVt1VV1bc1NdfFttTV1bZUVdW2REXVtpSV1bYUFd", - "XFwuW3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU118W21NXVtlRV1bZERdW2lJXVthQV1cXC5bcFBdW3JSXVtlRV1bdlZdW2lJXVtvT11bdVVdW3NT", - "XVt0VF1bclJdW2FBXVtjQ11ba0tdKSQiLAogICAgICAiZGVzY3JpcHRpb24iOiAiT25lIGtleWJvYXJkIHNob3J0Y3V0IHN0cm9rZSB1c2luZyBtb2RpZmll", - "citrZXkgc3ludGF4LiBTdXBwb3J0ZWQga2V5IG5hbWVzIGluY2x1ZGUgc3BhY2UsIFNwYWNlLCA8c3BhY2U+LCBhbmQgPFNwYWNlPi4iCiAgICB9CiAgfQp9", - "Cg==", + "ICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VEb3duIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hv", + "cnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VVcCI6IHsKICAgICAgICAg", + "ICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAi", + "ZGlmZlZpZXdlclNjcm9sbERvd25FbWFjcyI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGlu", + "Z051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwRW1hY3MiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAi", + "Iy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3Jv", + "bGxUb0JvdHRvbSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAg", + "ICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFRvVG9wIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0", + "U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyT3BlbkZpbGVTZWFyY2giOiB7CiAg", + "ICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAg", + "ICAgICAgImRpZmZWaWV3ZXJOZXh0RmlsZSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGlu", + "Z051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclByZXZpb3VzRmlsZSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIj", + "LyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgImFkZGl0", + "aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgfQogICAg", + "ICAgIH0sCiAgICAgICAgIndoZW4iOiB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAgICAgICJk", + "ZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBwZXItYWN0aW9uIGNvbnRleHQgcHJlZGljYXRlcyAoVlMgQ29kZS1zdHlsZSBgd2hlbmAgY2xhdXNlcyksIGtleWVk", + "IGJ5IGNtdXggYWN0aW9uIGlkLiBFYWNoIHZhbHVlIGlzIGEgYm9vbGVhbiBleHByZXNzaW9uIG92ZXIgY29udGV4dCBrZXlzIGNvbWJpbmVkIHdpdGggISwg", + "JiYsIHx8LCBhbmQgcGFyZW50aGVzZXMuIEJvb2xlYW4ga2V5czogc2lkZWJhckZvY3VzLCBicm93c2VyRm9jdXMsIG1hcmtkb3duRm9jdXMsIGZpbGVQcmV2", + "aWV3VGV4dEVkaXRvckZvY3VzLCBzaW11bGF0b3JGb2N1cywgdGVybWluYWxGb2N1cywgY29tbWFuZFBhbGV0dGVWaXNpYmxlLCB0ZXJtaW5hbEZpbmRWaXNp", + "YmxlLCB3b3Jrc3BhY2VDYW52YXNMYXlvdXQuIFR5cGVkIGtleXMgc3VwcG9ydCBjb21wYXJpc29uczogdGhlIHN0cmluZyBzaWRlYmFyTW9kZSAoZmlsZXMs", + "IGZpbmQsIHNlc3Npb25zLCBmZWVkLCBvciBkb2NrKSBhbmQgdGhlIGludGVnZXJzIHBhbmVDb3VudCBhbmQgd29ya3NwYWNlQ291bnQuIENvbXBhcmlzb24g", + "b3BlcmF0b3JzIGFyZSA9PSwgIT0sID1+IChyZWdleCksIDwsIDw9LCA+LCA+PSwgYW5kIGBpbiBbYSwgYl1gOyBhbiB1bmtub3duIG9yIGFic2VudCBrZXkg", + "cmVhZHMgYXMgZmFsc2UuIFRoZSBib29sZWFuIGxpdGVyYWxzIHRydWUgYW5kIGZhbHNlIGFyZSBhbHNvIGFjY2VwdGVkOyBga2V5ID09IGZhbHNlYCBpcyB0", + "aGUgc2FtZSBhcyBgIWtleWAuIFRoZSBhY3Rpb24ncyBzaG9ydGN1dCBvbmx5IGZpcmVzIChhbmQgb25seSBjb25mbGljdHMgd2l0aCBvdGhlciBzaG9ydGN1", + "dHMpIHdoZW4gdGhlIGNsYXVzZSBob2xkcy4gRXhhbXBsZXM6IHsgXCJzZWxlY3RXb3Jrc3BhY2VCeU51bWJlclwiOiBcIiFzaWRlYmFyRm9jdXNcIiB9IHNl", + "bGVjdHMgd29ya3NwYWNlcyB3aXRoIEN0cmwrMeKAkzkgZXZlcnl3aGVyZSBleGNlcHQgd2hlbiB0aGUgcmlnaHQgc2lkZWJhciBpcyBmb2N1c2VkOyB7IFwi", + "c2VsZWN0U3VyZmFjZUJ5TnVtYmVyXCI6IFwic2lkZWJhck1vZGUgPT0gJ2ZpbmQnICYmIHBhbmVDb3VudCA+IDFcIiB9IHNjb3BlcyBhIGJpbmRpbmcgdG8g", + "dGhlIEZpbmQgc2lkZWJhciB3aGVuIHRoZSB3b3Jrc3BhY2UgaGFzIG11bHRpcGxlIHBhbmVzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2No", + "ZW1hRGVzY3JpcHRpb25zLnNob3J0Y3V0cy53aGVuIiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAi", + "c3RyaW5nIgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0sCiAgIiRkZWZzIjogewogICAgImNvbG9ySGV4IjogewogICAgICAidHlw", + "ZSI6ICJzdHJpbmciLAogICAgICAicGF0dGVybiI6ICJeI1swLTlBLUZhLWZdezZ9JCIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJVcHBlcmNhc2Ugb3IgbG93", + "ZXJjYXNlIDYtZGlnaXQgaGV4IGNvbG9yLiIKICAgIH0sCiAgICAiY29sb3JIZXhPck51bGwiOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAg", + "ICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIKICAgICAgICB9CiAg", + "ICAgIF0KICAgIH0sCiAgICAibm90aWZpY2F0aW9uU291bmRPdmVycmlkZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICJ0eXBl", + "IjogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJyZXF1aXJlZCI6IFsic291bmQiXSwKICAg", + "ICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAic291bmQiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAg", + "ICAiZW51bSI6IFsiZGVmYXVsdCIsICJCYXNzbyIsICJCbG93IiwgIkJvdHRsZSIsICJGcm9nIiwgIkZ1bmsiLCAiR2xhc3MiLCAiSGVybyIsICJNb3JzZSIs", + "ICJQaW5nIiwgIlBvcCIsICJQdXJyIiwgIlNvc3VtaSIsICJTdWJtYXJpbmUiLCAiVGluayIsICJub25lIl0KICAgICAgICAgICAgfQogICAgICAgICAgfQog", + "ICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAog", + "ICAgICAgICAgInJlcXVpcmVkIjogWyJzb3VuZCIsICJjdXN0b21Tb3VuZEZpbGVQYXRoIl0sCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAg", + "ICAgInNvdW5kIjogeyAiY29uc3QiOiAiY3VzdG9tX2ZpbGUiIH0sCiAgICAgICAgICAgICJjdXN0b21Tb3VuZEZpbGVQYXRoIjogewogICAgICAgICAgICAg", + "ICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiLipcXFMuKiIKICAgICAg", + "ICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgXSwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmlj", + "YXRpb25zLnNvdW5kT3ZlcnJpZGUiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQSBub3RpZmljYXRpb24gc291bmQgb3ZlcnJpZGUuIGBkZWZhdWx0YCB1c2Vz", + "IG5vdGlmaWNhdGlvbnMuc291bmQsIGBub25lYCBkaXNhYmxlcyBwbGF5YmFjaywgYW5kIHRoZSByZW1haW5pbmcgdmFsdWVzIHNlbGVjdCBhIGJ1aWx0LWlu", + "IG9yIGN1c3RvbSBzb3VuZC4iCiAgICB9LAogICAgInNob3J0Y3V0QmluZGluZyI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIk", + "cmVmIjogIiMvJGRlZnMvdW5ib3VuZFNob3J0Y3V0QmluZGluZyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIEFj", + "Y2VwdGVkIHZhbHVlcyBhcmUgYW4gZW1wdHkgc3RyaW5nLCBub25lLCBjbGVhciwgdW5ib3VuZCwgb3IgZGlzYWJsZWQuIgogICAgICAgIH0sCiAgICAgICAg", + "ewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dEZpcnN0U3Ryb2tlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaW5nbGUtc3Ryb2tl", + "IHNob3J0Y3V0LCBmb3IgZXhhbXBsZSBjbWQrbiBvciBjbWQrc3BhY2UuIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAiYXJyYXki", + "LAogICAgICAgICAgIm1pbkl0ZW1zIjogMSwKICAgICAgICAgICJtYXhJdGVtcyI6IDIsCiAgICAgICAgICAicHJlZml4SXRlbXMiOiBbCiAgICAgICAgICAg", + "IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0Rmlyc3RTdHJva2UiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAg", + "ICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9u", + "IjogIkNob3JkZWQgc2hvcnRjdXQuIEV4YW1wbGU6IFtcImN0cmwrYlwiLCBcImNcIl0uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaG9ydGN1", + "dEJpbmRpbmdOdWxsYWJsZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRCaW5kaW5n", + "IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hv", + "cnRjdXQuIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVP", + "ZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3VuYm91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9u", + "IjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMgYXJlIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRp", + "c2FibGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9r", + "ZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2luZ2xlLXN0cm9rZSBzaG9ydGN1dC4gQmFyZSBmaXJzdCBzdHJva2VzIGFyZSBhY2NlcHRlZCBmb3Ig", + "dGhpcyBhY3Rpb24uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSI6", + "IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5k", + "aW5nIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMg", + "c2hvcnRjdXQuIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJiYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVPZiI6", + "IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3VuYm91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", + "IlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMgYXJlIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2Fi", + "bGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9rZSIs", + "CiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2luZ2xlLXN0cm9rZSBzaG9ydGN1dC4gQmFyZSBmaXJzdCBzdHJva2VzIGFyZSBhY2NlcHRlZCBmb3IgdGhp", + "cyBhY3Rpb24uIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIm1pbkl0ZW1zIjogMSwKICAgICAg", + "ICAgICJtYXhJdGVtcyI6IDIsCiAgICAgICAgICAicHJlZml4SXRlbXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZz", + "L2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0Rmlyc3RTdHJva2UiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIj", + "LyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNob3JkZWQgc2hvcnRj", + "dXQuIEJhcmUgZmlyc3Qgc3Ryb2tlcyBhcmUgYWNjZXB0ZWQgZm9yIHRoaXMgYWN0aW9uLiBFeGFtcGxlOiBbXCJnXCIsIFwiZ1wiXS4iCiAgICAgICAgfQog", + "ICAgICBdCiAgICB9LAogICAgImJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIjogewogICAgICAib25lT2YiOiBbCiAgICAgICAgewog", + "ICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAi", + "dHlwZSI6ICJudWxsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmJpbmQgdGhpcyBzaG9ydGN1dC4iCiAgICAgICAgfQogICAgICBdCiAgICB9LAog", + "ICAgInVuYm91bmRTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICJlbnVtIjogWyIiLCAibm9uZSIsICJjbGVhciIs", + "ICJ1bmJvdW5kIiwgImRpc2FibGVkIl0KICAgIH0sCiAgICAic2hvcnRjdXRGaXJzdFN0cm9rZSI6IHsKICAgICAgImFsbE9mIjogWwogICAgICAgIHsKICAg", + "ICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRTdHJva2UiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYW55T2YiOiBbCiAgICAgICAg", + "ICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86KD86W2NDXVttTV1bZERdfFtjQ11bb09dW21NXVttTV1bYUFdW25OXVtkRF18W3NTXVtoSF1b", + "aUldW2ZGXVt0VF18W29PXVtwUF1bdFRdfFtvT11bcFBdW3RUXVtpSV1bb09dW25OXXxbYUFdW2xMXVt0VF18W2NDXVt0VF1bclJdW2xMXXxbY0NdW29PXVtu", + "Tl1bdFRdW3JSXVtvT11bbExdfFtjQ11bdFRdW2xMXXzijJh84oenfOKMpXzijIMpXFwrKSsiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAg", + "ICAgICAgICAicGF0dGVybiI6ICJeKD86IHxbc1NdW3BQXVthQV1bY0NdW2VFXXxbc1NdW3BQXVthQV1bY0NdW2VFXVtiQl1bYUFdW3JSXXw8W3NTXVtwUF1b", + "YUFdW2NDXVtlRV0+KSQiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBv", + "ciBvbmx5IHNob3J0Y3V0IHN0cm9rZS4gTXVzdCBpbmNsdWRlIGEgbW9kaWZpZXIgdW5sZXNzIHRoZSBrZXkgaXMgU3BhY2UuIgogICAgfSwKICAgICJiYXJl", + "Rmlyc3RTdHJva2VTaG9ydGN1dEZpcnN0U3Ryb2tlIjogewogICAgICAiYWxsT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9z", + "aG9ydGN1dFN0cm9rZSIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0", + "ZXJuIjogIl4oPzooPzpbY0NdW21NXVtkRF18W2NDXVtvT11bbU1dW21NXVthQV1bbk5dW2REXXxbc1NdW2hIXVtpSV1bZkZdW3RUXXxbb09dW3BQXVt0VF18", + "W29PXVtwUF1bdFRdW2lJXVtvT11bbk5dfFthQV1bbExdW3RUXXxbY0NdW3RUXVtyUl1bbExdfFtjQ11bb09dW25OXVt0VF1bclJdW29PXVtsTF18W2NDXVt0", + "VF1bbExdfOKMmHzih6d84oylfOKMgylcXCspKyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzog", + "fFtzU11bcFBdW2FBXVtjQ11bZUVdfFtzU11bcFBdW2FBXVtjQ11bZUVdW2JCXVthQV1bclJdfDxbc1NdW3BQXVthQV1bY0NdW2VFXT4pJCIKICAgICAgICAg", + "ICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzpbclJdW2VFXVt0VF1bdVVdW3JSXVtuTl18W2VFXVtuTl1bdFRdW2VF", + "XVtyUl184oapKSQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86W2xMXVtlRV1bZkZdW3RUXXxb", + "YUFdW3JSXVtyUl1bb09dW3dXXVtsTF1bZUVdW2ZGXVt0VF18W2xMXVtlRV1bZkZdW3RUXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkHxbclJdW2lJXVtnR11b", + "aEhdW3RUXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtyUl1baUldW2dHXVtoSF1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2FBXVtyUl1bclJdW29PXVt3V118", + "4oaSfFt1VV1bcFBdfFthQV1bclJdW3JSXVtvT11bd1ddW3VVXVtwUF18W3VVXVtwUF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpF8W2REXVtvT11bd1ddW25O", + "XXxbYUFdW3JSXVtyUl1bb09dW3dXXVtkRF1bb09dW3dXXVtuTl18W2REXVtvT11bd1ddW25OXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkykkIgogICAgICAg", + "ICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXig/OltBLVphLXowLTldfFssLi9cXFxcOydgPVxcW1xcXS1dfFtjQ11b", + "b09dW21NXVttTV1bYUFdfFtwUF1bZUVdW3JSXVtpSV1bb09dW2REXXxbZERdW29PXVt0VF18W3NTXVtsTF1bYUFdW3NTXVtoSF18W2JCXVthQV1bY0NdW2tL", + "XVtzU11bbExdW2FBXVtzU11baEhdfFtzU11bZUVdW21NXVtpSV1bY0NdW29PXVtsTF1bb09dW25OXXxbcVFdW3VVXVtvT11bdFRdW2VFXXxbYUFdW3BQXVtv", + "T11bc1NdW3RUXVtyUl1bb09dW3BQXVtoSF1bZUVdfFtiQl1bYUFdW2NDXVtrS11bdFRdW2lJXVtjQ11ba0tdfFtnR11bclJdW2FBXVt2Vl1bZUVdfFttTV1b", + "aUldW25OXVt1VV1bc1NdfFtoSF1beVldW3BQXVtoSF1bZUVdW25OXXxbcFBdW2xMXVt1VV1bc1NdfFtlRV1bcVFdW3VVXVthQV1bbExdW3NTXXxbbExdW2VF", + "XVtmRl1bdFRdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbb09dW3BQXVtlRV1bbk5dW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbclJdW2lJ", + "XVtnR11baEhdW3RUXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W2NDXVtsTF1bb09dW3NTXVtlRV1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRd", + "KSQiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBvciBvbmx5IHNob3J0", + "Y3V0IHN0cm9rZS4gQmFyZSBwcmludGFibGUga2V5cyBhcmUgYWNjZXB0ZWQgZm9yIGFjdGlvbnMgdGhhdCBvcHQgaW50byBiYXJlIGZpcnN0IHN0cm9rZXMu", + "IgogICAgfSwKICAgICJzaG9ydGN1dFN0cm9rZSI6IHsKICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgInBhdHRlcm4iOiAiXig/Oig/OltjQ11bbU1d", + "W2REXXxbY0NdW29PXVttTV1bbU1dW2FBXVtuTl1bZERdfFtzU11baEhdW2lJXVtmRl1bdFRdfFtvT11bcFBdW3RUXXxbb09dW3BQXVt0VF1baUldW29PXVtu", + "Tl18W2FBXVtsTF1bdFRdfFtjQ11bdFRdW3JSXVtsTF18W2NDXVtvT11bbk5dW3RUXVtyUl1bb09dW2xMXXxbY0NdW3RUXVtsTF184oyYfOKHp3zijKV84oyD", + "KVxcKykqKD86IHxbQS1aYS16MC05XXxbbExdW2VFXVtmRl1bdFRdfFthQV1bclJdW3JSXVtvT11bd1ddW2xMXVtlRV1bZkZdW3RUXXxbbExdW2VFXVtmRl1b", + "dFRdW2FBXVtyUl1bclJdW29PXVt3V1184oaQfFtyUl1baUldW2dHXVtoSF1bdFRdfFthQV1bclJdW3JSXVtvT11bd1ddW3JSXVtpSV1bZ0ddW2hIXVt0VF18", + "W3JSXVtpSV1bZ0ddW2hIXVt0VF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpJ8W3VVXVtwUF18W2FBXVtyUl1bclJdW29PXVt3V11bdVVdW3BQXXxbdVVdW3BQ", + "XVthQV1bclJdW3JSXVtvT11bd1ddfOKGkXxbZERdW29PXVt3V11bbk5dfFthQV1bclJdW3JSXVtvT11bd1ddW2REXVtvT11bd1ddW25OXXxbZERdW29PXVt3", + "V11bbk5dW2FBXVtyUl1bclJdW29PXVt3V1184oaTfFt0VF1bYUFdW2JCXXxbclJdW2VFXVt0VF1bdVVdW3JSXVtuTl18W2VFXVtuTl1bdFRdW2VFXVtyUl18", + "4oapfFtzU11bcFBdW2FBXVtjQ11bZUVdfFtzU11bcFBdW2FBXVtjQ11bZUVdW2JCXVthQV1bclJdfDxbc1NdW3BQXVthQV1bY0NdW2VFXT58WywuL1xcXFw7", + "J2A9XFxbXFxdLV18W2NDXVtvT11bbU1dW21NXVthQV18W3BQXVtlRV1bclJdW2lJXVtvT11bZERdfFtkRF1bb09dW3RUXXxbc1NdW2xMXVthQV1bc1NdW2hI", + "XXxbYkJdW2FBXVtjQ11ba0tdW3NTXVtsTF1bYUFdW3NTXVtoSF18W3NTXVtlRV1bbU1dW2lJXVtjQ11bb09dW2xMXVtvT11bbk5dfFtxUV1bdVVdW29PXVt0", + "VF1bZUVdfFthQV1bcFBdW29PXVtzU11bdFRdW3JSXVtvT11bcFBdW2hIXVtlRV18W2JCXVthQV1bY0NdW2tLXVt0VF1baUldW2NDXVtrS118W2dHXVtyUl1b", + "YUFdW3ZWXVtlRV18W21NXVtpSV1bbk5dW3VVXVtzU118W2hIXVt5WV1bcFBdW2hIXVtlRV1bbk5dfFtwUF1bbExdW3VVXVtzU118W2VFXVtxUV1bdVVdW2FB", + "XVtsTF1bc1NdfFtsTF1bZUVdW2ZGXVt0VF1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtvT11bcFBdW2VFXVtuTl1bYkJdW3JSXVthQV1bY0NdW2tL", + "XVtlRV1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbY0NdW2xMXVtvT11bc1NdW2VFXVtiQl1bclJdW2FB", + "XVtjQ11ba0tdW2VFXVt0VF18W2ZGXSg/OlsxLTldfDFbMC05XXwyMCl8W3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJ", + "XVthQV1bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bdVVdW3BQXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLlt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVt1VV1b", + "cFBdfFt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVtkRF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1b", + "ZERdW29PXVt3V11bbk5dfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW2REXVtvT11bd1ddW25OXXxbYkJdW3JSXVtp", + "SV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VF", + "XVtzU11bc1NdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18", + "W2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVtkRF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1bYkJdW3JSXVtpSV1b", + "Z0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW2REXVtvT11bd1ddW25OXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltiQl1bclJdW2lJXVtnR11baEhdW3RU", + "XVtuTl1bZUVdW3NTXVtzU11bZERdW29PXVt3V11bbk5dfFttTV1bdVVdW3RUXVtlRV18W21NXVtlRV1bZERdW2lJXVthQV1bbU1dW3VVXVt0VF1bZUVdfFtt", + "TV1bZUVdW2REXVtpSV1bYUFdXFwuW21NXVt1VV1bdFRdW2VFXXxbcFBdW2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18W21NXVtlRV1bZERdW2lJ", + "XVthQV1bcFBdW2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bcFBdW2xMXVthQV1beVldW3BQXVthQV1b", + "dVVdW3NTXVtlRV18W25OXVtlRV1beFhdW3RUXVt0VF1bclJdW2FBXVtjQ11ba0tdfFttTV1bZUVdW2REXVtpSV1bYUFdW25OXVtlRV1beFhdW3RUXXxbbU1d", + "W2VFXVtkRF1baUldW2FBXVxcLltuTl1bZUVdW3hYXVt0VF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bbk5dW2VFXVt4WF1bdFRdW3RUXVtyUl1bYUFdW2ND", + "XVtrS118W3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU11bdFRdW3JSXVthQV1bY0NdW2tLXXxbbU1dW2VFXVtkRF1baUldW2FBXVtwUF1bclJdW2VF", + "XVt2Vl1baUldW29PXVt1VV1bc1NdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU118W21NXVtlRV1bZERd", + "W2lJXVthQV1cXC5bcFBdW3JSXVtlRV1bdlZdW2lJXVtvT11bdVVdW3NTXVt0VF1bclJdW2FBXVtjQ11ba0tdKSQiLAogICAgICAiZGVzY3JpcHRpb24iOiAi", + "T25lIGtleWJvYXJkIHNob3J0Y3V0IHN0cm9rZSB1c2luZyBtb2RpZmllcitrZXkgc3ludGF4LiBTdXBwb3J0ZWQga2V5IG5hbWVzIGluY2x1ZGUgc3BhY2Us", + "IFNwYWNlLCA8c3BhY2U+LCBhbmQgPFNwYWNlPi4iCiAgICB9CiAgfQp9Cg==", ].joined() guard let data = Data(base64Encoded: base64) else { preconditionFailure("embedded cmux.json schema is corrupt") From 452c0407a32336d217afc1370e8d4eae5959f99b Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:23:28 -0700 Subject: [PATCH 10/55] tests: cover semantic config validation and safe writes --- tests/test_cli_config_doctor.py | 210 ++++++++++++++++++++++++++++++++ 1 file changed, 210 insertions(+) diff --git a/tests/test_cli_config_doctor.py b/tests/test_cli_config_doctor.py index b4476e595faa..423cc53909ea 100644 --- a/tests/test_cli_config_doctor.py +++ b/tests/test_cli_config_doctor.py @@ -7,6 +7,7 @@ import json import os import subprocess +import sys import tempfile from pathlib import Path from typing import Any @@ -84,9 +85,36 @@ def first_finding( return finding +def semantic_issues(payload: dict[str, Any]) -> list[dict[str, Any]]: + issues: list[dict[str, Any]] = [] + findings = payload.get("findings") + if not isinstance(findings, list): + return issues + for finding in findings: + if not isinstance(finding, dict): + continue + raw_issues = finding.get("issues") + if isinstance(raw_issues, list): + issues.extend(issue for issue in raw_issues if isinstance(issue, dict)) + return issues + + def main() -> int: cli_path = resolve_cmux_cli() failures: list[str] = [] + repo_root = Path(__file__).resolve().parents[1] + + generator_result = subprocess.run( + [sys.executable, str(repo_root / "scripts" / "generate-cmux-config-schema.py"), "--check"], + text=True, + capture_output=True, + check=False, + ) + if generator_result.returncode != 0: + failures.append( + "embedded schema is stale: " + + (generator_result.stdout.strip() or generator_result.stderr.strip()) + ) with tempfile.TemporaryDirectory(prefix="cmux-config-doctor-") as temp: home = Path(temp) @@ -123,6 +151,188 @@ def main() -> int: if "app" not in keys or "schemaVersion" not in keys: failures.append(f"valid JSONC keys missing: {ok_result.stdout}") + semantic_cases = [ + ( + "unknown setting", + {"app": {"madeUpSetting": True}}, + "$.app.madeUpSetting", + "unknown configuration key", + ), + ( + "wrong value type", + {"notifications": {"dockBadge": "yes"}}, + "$.notifications.dockBadge", + "expected boolean", + ), + ( + "enum violation", + {"app": {"appearance": "neon"}}, + "$.app.appearance", + "must be one of", + ), + ( + "numeric bounds", + {"fileEditor": {"tabWidth": 0}}, + "$.fileEditor.tabWidth", + "must be >= 1", + ), + ( + "malformed nested value", + {"agentChat": {"fonts": {"baseSize": 0}}}, + "$.agentChat.fonts.baseSize", + "must be > 0", + ), + ( + "structural config section", + {"commands": "echo hello"}, + "$.commands", + "expected array", + ), + ] + for label, document, expected_path, expected_message in semantic_cases: + config_path.write_text(json.dumps(document) + "\n", encoding="utf-8") + result = run_cli( + cli_path, + [ + "--json", + "config", + "validate", + "--path", + str(config_path), + "--scope", + "global", + ], + home, + ) + if result.returncode == 0: + failures.append(f"{label}: semantic validation unexpectedly passed") + continue + payload = parse_json_output(result.stdout, label, failures) + if payload is None: + continue + issues = semantic_issues(payload) + if not any( + issue.get("path") == expected_path + and expected_message in str(issue.get("message", "")) + for issue in issues + ): + failures.append( + f"{label}: expected {expected_path!r} / {expected_message!r}: {result.stdout}" + ) + + config_path.write_text( + json.dumps({"app": {"appearance": "system"}}) + "\n", + encoding="utf-8", + ) + project_global_result = run_cli( + cli_path, + [ + "--json", + "config", + "validate", + "--path", + str(config_path), + "--scope", + "project", + ], + home, + ) + if project_global_result.returncode == 0: + failures.append("project scope accepted global-only app settings") + else: + payload = parse_json_output( + project_global_result.stdout, + "project/global difference", + failures, + ) + if payload is not None: + issues = semantic_issues(payload) + if not any( + issue.get("path") == "$.app" + and "global cmux.json" in str(issue.get("message", "")) + for issue in issues + ): + failures.append( + "project/global difference did not identify $.app: " + + project_global_result.stdout + ) + + config_path.write_text( + json.dumps({"notifications": {"hooksMode": "replace", "hooks": []}}) + "\n", + encoding="utf-8", + ) + project_hooks_result = run_cli( + cli_path, + [ + "--json", + "config", + "validate", + "--path", + str(config_path), + "--scope", + "project", + ], + home, + ) + if project_hooks_result.returncode != 0: + failures.append( + "project notification hooks should be valid: " + + project_hooks_result.stdout + + project_hooks_result.stderr + ) + + original_bytes = b"""{ + // Preserve this exact source when the proposed edit is invalid. + "app": { + "appearance": "dark", + }, +} +""" + config_path.write_bytes(original_bytes) + helper = repo_root / "skills" / "cmux-settings" / "scripts" / "cmux-settings" + helper_env = dict(os.environ) + helper_env["HOME"] = str(home) + helper_env["CMUX_CLI_BIN"] = cli_path + helper_env["CMUX_CLI_SENTRY_DISABLED"] = "1" + helper_result = subprocess.run( + [ + sys.executable, + str(helper), + "--file", + str(config_path), + "set", + "app.appearance", + "neon", + ], + text=True, + capture_output=True, + env=helper_env, + timeout=5, + check=False, + ) + if helper_result.returncode == 0: + failures.append("cmux-settings set accepted an invalid enum value") + if config_path.read_bytes() != original_bytes: + failures.append("rejected cmux-settings set changed the source bytes") + if "$.app.appearance" not in helper_result.stderr: + failures.append( + "rejected cmux-settings set did not report the config path: " + + helper_result.stderr + ) + + config_path.write_text( + """ + { + // JSONC comments and trailing commas are valid in cmux.json. + "schemaVersion": 1, + "app": { + "appearance": "system", + }, + } + """, + encoding="utf-8", + ) + default_result = run_cli(cli_path, ["--json", "config", "doctor"], home, cwd=workspace) if default_result.returncode != 0: failures.append(f"default scan returned {default_result.returncode}: {default_result.stderr}") From 5800151137801bb72550dc962b8af8ae2c942300 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:23:53 -0700 Subject: [PATCH 11/55] docs: describe semantic settings validation --- skills/cmux-settings/SKILL.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/skills/cmux-settings/SKILL.md b/skills/cmux-settings/SKILL.md index d4c657e2e187..83d168d02a31 100644 --- a/skills/cmux-settings/SKILL.md +++ b/skills/cmux-settings/SKILL.md @@ -11,7 +11,7 @@ Schema: `https://raw.githubusercontent.com/manaflow-ai/cmux/main/web/data/cmux.s ## Helper script -Use the bundled helper for every read/write. It strips JSONC comments, writes atomically, and validates keys against the schema. +Use the bundled helper for every read/write. It strips JSONC comments, validates the complete proposed document with `cmux config validate` before writing, and writes atomically only after semantic validation passes. ```bash skills/cmux-settings/scripts/cmux-settings # from a cmux checkout @@ -29,7 +29,7 @@ The rest of this doc assumes it is on `$PATH` as `cmux-settings`; from a checkou | `cmux-settings set ` | Set value. `` is parsed as JSON (`true`, `42`, `"text"`, `[…]`, `{…}`); unquoted plain words are stored as strings. | | `cmux-settings unset ` | Delete key, reverting to the in-app default. | | `cmux-settings list-supported` | List every settings JSON path the app recognizes. | -| `cmux-settings validate` | Parse the file and flag unknown settings keys. | +| `cmux-settings validate` | Run the same semantic validation as `cmux config validate` (unknown paths, types, enums, bounds, nested constraints, and config scope). | | `cmux-settings open` | Open `cmux.json` in `$EDITOR`, VS Code, Cursor, or TextEdit. | `--file ` overrides the target file, useful for `--file ~/.config/cmux/settings.json`. @@ -66,7 +66,7 @@ Full list of settings, defaults, and descriptions: `cmux-settings list-supported - Only edit `cmux.json`. Never `settings.json` unless the user explicitly asks; it is legacy and read only when a key is absent from `cmux.json`. - Never tell the user to restart cmux. The file watcher reloads on save. -- Always `cmux-settings validate` after a bulk edit. Unknown keys mean the user pasted a key the app does not consume. +- Always `cmux-settings validate` after a bulk edit. Validation errors include the exact config path and violated constraint. - Do not blindly overwrite `actions`, `ui`, `commands`, `vault`, or `rightSidebar`; they share the file and hold hand-tuned non-settings config. - Shortcut action ids must match the schema enum. Look them up before binding. - Colors are `#RRGGBB`; opacities are `0..1`. From e8df76982caf705b1cdc2415b8f195ea3b2e9402 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:23:56 -0700 Subject: [PATCH 12/55] docs: define semantic config validation contract --- docs/cli-contract.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/cli-contract.md b/docs/cli-contract.md index 3b1a845ddb17..1c029b214bb1 100644 --- a/docs/cli-contract.md +++ b/docs/cli-contract.md @@ -618,7 +618,7 @@ Config subcommands: | Command | Contract | | --- | --- | -| `config doctor [--path ]`, `config check`, `config validate` | Validate JSONC syntax for config files. When `--path` is absent, default discovery checks the primary config, project-level `.cmux/cmux.json` or `cmux.json`, and legacy config files. `--path ` may be repeated to validate multiple explicit files. Exits 0 on success and 1 on any error. Supports `--json`. Works without a socket. | +| `config doctor [--path ]`, `config check`, `config validate` | Validate JSONC syntax and semantic cmux.json constraints (recognized paths, value types, enums, bounds, nested values, and project/global scope). When `--path` is absent, default discovery checks the primary config, project-level `.cmux/cmux.json` or `cmux.json`, and legacy config files. `--path ` may be repeated; `--scope global|project` overrides scope inference for explicit files. Exits 0 on success and 1 on any error. Supports `--json`. Works without a socket. | | `config path`, `config paths` | Print cmux.json paths, docs URL, schema URL, backup reminder, and reload command without a socket. | | `config docs`, `config documentation` | Print the same output as `docs settings` without a socket. | | `config reload` | Ask the running cmux app to reload configuration. Requires a socket. | From c12efd1e61c9157d8e6d4a60f64e0e203e70a2ac Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:25:53 -0700 Subject: [PATCH 13/55] config: expose semantic validator from CmuxFoundation --- .../CmuxConfigSemanticValidator.swift | 460 ++++++++++++++++++ 1 file changed, 460 insertions(+) create mode 100644 Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift new file mode 100644 index 000000000000..b19ed53e4020 --- /dev/null +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift @@ -0,0 +1,460 @@ +import CoreFoundation +public import Foundation + +public enum CmuxConfigSemanticScope: String, Sendable { + case global + case project +} + +public struct CmuxConfigSemanticIssue: Equatable, Sendable { + public let path: String + public let message: String + + public init(path: String, message: String) { + self.path = path + self.message = message + } +} + +/// Offline semantic validation for cmux.json. +/// +/// The constraint vocabulary lives in web/data/cmux.schema.json and is embedded +/// into the CLI by scripts/generate-cmux-config-schema.py. Keep validation here +/// generic: adding a setting constraint belongs in the schema, not in another +/// command-specific lookup table. +public struct CmuxConfigSemanticValidator { + public let scope: CmuxConfigSemanticScope + + private let rootSchema: [String: Any] + + public init(scope: CmuxConfigSemanticScope) { + guard let object = try? JSONSerialization.jsonObject( + with: CmuxEmbeddedConfigSchema.data, + options: [.fragmentsAllowed] + ), + let rootSchema = object as? [String: Any] else { + preconditionFailure("embedded cmux.json schema is not a JSON object") + } + self.scope = scope + self.rootSchema = rootSchema + } + + public func validate(jsonData data: Data) throws -> [CmuxConfigSemanticIssue] { + let instance = try JSONSerialization.jsonObject( + with: data, + options: [.fragmentsAllowed] + ) + return validate(instance, against: rootSchema, path: "$") + } + + private func validate( + _ instance: Any, + against schema: [String: Any], + path: String + ) -> [CmuxConfigSemanticIssue] { + if scope == .project, + let scopes = schema["x-cmux-scopes"] as? [String], + !scopes.contains(CmuxConfigSemanticScope.project.rawValue) { + return [ + CmuxConfigSemanticIssue( + path: path, + message: "is only supported in the global cmux.json" + ) + ] + } + + var issues: [CmuxConfigSemanticIssue] = [] + + if let ref = schema["$ref"] as? String { + guard let target = resolvedReference(ref) else { + return [CmuxConfigSemanticIssue(path: path, message: "references an unknown schema definition '\(ref)'")] + } + issues.append(contentsOf: validate(instance, against: target, path: path)) + } + + if let typeSpec = schema["type"], !matchesType(instance, typeSpec: typeSpec) { + return [ + CmuxConfigSemanticIssue( + path: path, + message: "expected \(typeDescription(typeSpec)), got \(kindDescription(instance))" + ) + ] + } + + if let constant = schema["const"], !jsonEqual(instance, constant) { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: "must equal \(displayJSON(constant))" + ) + ) + } + + if let choices = schema["enum"] as? [Any], + !choices.contains(where: { jsonEqual(instance, $0) }) { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: "must be one of \(displayChoices(choices))" + ) + ) + } + + if let allOf = schema["allOf"] as? [Any] { + for raw in allOf { + guard let childSchema = raw as? [String: Any] else { continue } + issues.append(contentsOf: validate(instance, against: childSchema, path: path)) + } + } + + if let anyOf = schema["anyOf"] as? [Any] { + let alternatives = anyOf.compactMap { $0 as? [String: Any] } + .map { validate(instance, against: $0, path: path) } + if !alternatives.contains(where: \.isEmpty) { + issues.append(CmuxConfigSemanticIssue(path: path, message: "does not match any allowed form")) + if let best = alternatives.min(by: { $0.count < $1.count }) { + issues.append(contentsOf: best.prefix(2)) + } + } + } + + if let oneOf = schema["oneOf"] as? [Any] { + let alternatives = oneOf.compactMap { $0 as? [String: Any] } + .map { validate(instance, against: $0, path: path) } + let passing = alternatives.filter(\.isEmpty).count + if passing != 1 { + let message = passing == 0 + ? "does not match any allowed form" + : "matches multiple mutually exclusive forms" + issues.append(CmuxConfigSemanticIssue(path: path, message: message)) + if passing == 0, + let best = alternatives.min(by: { $0.count < $1.count }) { + issues.append(contentsOf: best.prefix(2)) + } + } + } + + if let condition = schema["if"] as? [String: Any], + validate(instance, against: condition, path: path).isEmpty, + let thenSchema = schema["then"] as? [String: Any] { + issues.append(contentsOf: validate(instance, against: thenSchema, path: path)) + } + + if let forbidden = schema["not"] as? [String: Any], + validate(instance, against: forbidden, path: path).isEmpty { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: "uses a disallowed value combination" + ) + ) + } + + if let string = instance as? String { + issues.append(contentsOf: validateString(string, schema: schema, path: path)) + } else if let number = jsonNumber(instance) { + issues.append(contentsOf: validateNumber(number, schema: schema, path: path)) + } else if let array = instance as? [Any] { + issues.append(contentsOf: validateArray(array, schema: schema, path: path)) + } else if let object = instance as? [String: Any] { + issues.append(contentsOf: validateObject(object, schema: schema, path: path)) + } + + return deduplicated(issues) + } + + private func validateString( + _ value: String, + schema: [String: Any], + path: String + ) -> [CmuxConfigSemanticIssue] { + var issues: [CmuxConfigSemanticIssue] = [] + if let minimum = schemaInteger(schema["minLength"]), value.count < minimum { + issues.append(CmuxConfigSemanticIssue(path: path, message: "must contain at least \(minimum) character(s)")) + } + if let maximum = schemaInteger(schema["maxLength"]), value.count > maximum { + issues.append(CmuxConfigSemanticIssue(path: path, message: "must contain at most \(maximum) character(s)")) + } + if let pattern = schema["pattern"] as? String, + !matchesPattern(value, pattern: pattern) { + issues.append(CmuxConfigSemanticIssue(path: path, message: "must match pattern \(displayJSON(pattern))")) + } + if let format = schema["format"] as? String, format == "uri" { + let components = URLComponents(string: value) + if components?.scheme?.isEmpty != false { + issues.append(CmuxConfigSemanticIssue(path: path, message: "must be an absolute URI")) + } + } + return issues + } + + private func validateNumber( + _ value: Double, + schema: [String: Any], + path: String + ) -> [CmuxConfigSemanticIssue] { + var issues: [CmuxConfigSemanticIssue] = [] + if let minimum = schemaNumber(schema["minimum"]), value < minimum { + issues.append(CmuxConfigSemanticIssue(path: path, message: "must be >= \(formatNumber(minimum))")) + } + if let maximum = schemaNumber(schema["maximum"]), value > maximum { + issues.append(CmuxConfigSemanticIssue(path: path, message: "must be <= \(formatNumber(maximum))")) + } + if let minimum = schemaNumber(schema["exclusiveMinimum"]), value <= minimum { + issues.append(CmuxConfigSemanticIssue(path: path, message: "must be > \(formatNumber(minimum))")) + } + if let maximum = schemaNumber(schema["exclusiveMaximum"]), value >= maximum { + issues.append(CmuxConfigSemanticIssue(path: path, message: "must be < \(formatNumber(maximum))")) + } + return issues + } + + private func validateArray( + _ value: [Any], + schema: [String: Any], + path: String + ) -> [CmuxConfigSemanticIssue] { + var issues: [CmuxConfigSemanticIssue] = [] + if let minimum = schemaInteger(schema["minItems"]), value.count < minimum { + issues.append(CmuxConfigSemanticIssue(path: path, message: "must contain at least \(minimum) item(s)")) + } + if let maximum = schemaInteger(schema["maxItems"]), value.count > maximum { + issues.append(CmuxConfigSemanticIssue(path: path, message: "must contain at most \(maximum) item(s)")) + } + + let prefixSchemas = (schema["prefixItems"] as? [Any])?.compactMap { $0 as? [String: Any] } ?? [] + let itemSchema = schema["items"] as? [String: Any] + for (index, item) in value.enumerated() { + if index < prefixSchemas.count { + issues.append(contentsOf: validate(item, against: prefixSchemas[index], path: "\(path)[\(index)]")) + } else if let itemSchema { + issues.append(contentsOf: validate(item, against: itemSchema, path: "\(path)[\(index)]")) + } + } + return issues + } + + private func validateObject( + _ value: [String: Any], + schema: [String: Any], + path: String + ) -> [CmuxConfigSemanticIssue] { + var issues: [CmuxConfigSemanticIssue] = [] + if let minimum = schemaInteger(schema["minProperties"]), value.count < minimum { + issues.append(CmuxConfigSemanticIssue(path: path, message: "must contain at least \(minimum) key(s)")) + } + if let maximum = schemaInteger(schema["maxProperties"]), value.count > maximum { + issues.append(CmuxConfigSemanticIssue(path: path, message: "must contain at most \(maximum) key(s)")) + } + + if let required = schema["required"] as? [String] { + for key in required where value[key] == nil { + issues.append(CmuxConfigSemanticIssue(path: childPath(path, key: key), message: "is required")) + } + } + + let properties = schema["properties"] as? [String: Any] ?? [:] + let propertyNameSchema = schema["propertyNames"] as? [String: Any] + let additional = schema["additionalProperties"] + + for key in value.keys.sorted() { + let child = childPath(path, key: key) + if let propertyNameSchema { + issues.append(contentsOf: validate(key, against: propertyNameSchema, path: child)) + } + if let propertySchema = properties[key] as? [String: Any], + let childValue = value[key] { + issues.append(contentsOf: validate(childValue, against: propertySchema, path: child)) + continue + } + if let allowed = additional as? Bool, !allowed { + issues.append(CmuxConfigSemanticIssue(path: child, message: "unknown configuration key")) + } else if let additionalSchema = additional as? [String: Any], + let childValue = value[key] { + issues.append(contentsOf: validate(childValue, against: additionalSchema, path: child)) + } + } + return issues + } + + private func resolvedReference(_ ref: String) -> [String: Any]? { + guard ref.hasPrefix("#/") else { return nil } + var current: Any = rootSchema + for component in ref.dropFirst(2).split(separator: "/") { + let key = component + .replacingOccurrences(of: "~1", with: "/") + .replacingOccurrences(of: "~0", with: "~") + guard let dictionary = current as? [String: Any], + let next = dictionary[key] else { + return nil + } + current = next + } + return current as? [String: Any] + } + + private func matchesType(_ value: Any, typeSpec: Any) -> Bool { + if let type = typeSpec as? String { + return matchesType(value, type: type) + } + if let types = typeSpec as? [String] { + return types.contains { matchesType(value, type: $0) } + } + return true + } + + private func matchesType(_ value: Any, type: String) -> Bool { + switch type { + case "null": + return value is NSNull + case "boolean": + return isJSONBoolean(value) + case "string": + return value is String + case "array": + return value is [Any] + case "object": + return value is [String: Any] + case "number": + return jsonNumber(value) != nil + case "integer": + guard let number = jsonNumber(value), number.isFinite else { return false } + return number.rounded() == number + default: + return true + } + } + + private func typeDescription(_ typeSpec: Any) -> String { + if let type = typeSpec as? String { return type } + if let types = typeSpec as? [String] { return types.joined(separator: " or ") } + return "valid JSON value" + } + + private func kindDescription(_ value: Any) -> String { + if value is NSNull { return "null" } + if isJSONBoolean(value) { return "boolean" } + if value is String { return "string" } + if value is [Any] { return "array" } + if value is [String: Any] { return "object" } + if let number = jsonNumber(value) { + return number.rounded() == number ? "integer" : "number" + } + return String(describing: type(of: value)) + } + + private func isJSONBoolean(_ value: Any) -> Bool { + guard let number = value as? NSNumber else { return false } + return CFGetTypeID(number) == CFBooleanGetTypeID() + } + + private func jsonNumber(_ value: Any) -> Double? { + guard let number = value as? NSNumber, !isJSONBoolean(value) else { return nil } + return number.doubleValue + } + + private func schemaNumber(_ value: Any?) -> Double? { + guard let value else { return nil } + return jsonNumber(value) + } + + private func schemaInteger(_ value: Any?) -> Int? { + guard let value, let number = jsonNumber(value), number.isFinite else { return nil } + return Int(exactly: number) + } + + private func jsonEqual(_ lhs: Any, _ rhs: Any) -> Bool { + if lhs is NSNull || rhs is NSNull { + return lhs is NSNull && rhs is NSNull + } + if isJSONBoolean(lhs) || isJSONBoolean(rhs) { + guard isJSONBoolean(lhs), isJSONBoolean(rhs), + let left = lhs as? NSNumber, + let right = rhs as? NSNumber else { + return false + } + return left.boolValue == right.boolValue + } + if let left = lhs as? String, let right = rhs as? String { + return left == right + } + if let left = jsonNumber(lhs), let right = jsonNumber(rhs) { + return left == right + } + if let left = lhs as? [Any], let right = rhs as? [Any] { + return left.count == right.count && zip(left, right).allSatisfy { pair in + jsonEqual(pair.0, pair.1) + } + } + if let left = lhs as? [String: Any], let right = rhs as? [String: Any] { + guard Set(left.keys) == Set(right.keys) else { return false } + return left.allSatisfy { key, value in + guard let other = right[key] else { return false } + return jsonEqual(value, other) + } + } + return false + } + + private func matchesPattern(_ value: String, pattern: String) -> Bool { + guard let expression = try? NSRegularExpression(pattern: pattern) else { return false } + let range = NSRange(location: 0, length: (value as NSString).length) + return expression.firstMatch(in: value, range: range) != nil + } + + private func childPath(_ path: String, key: String) -> String { + let simple = key.range(of: #"^[A-Za-z_][A-Za-z0-9_-]*$"#, options: .regularExpression) != nil + if simple { + return "\(path).\(key)" + } + let escaped = key + .replacingOccurrences(of: "\\", with: "\\\\") + .replacingOccurrences(of: "'", with: "\\'") + return "\(path)['\(escaped)']" + } + + private func displayChoices(_ values: [Any]) -> String { + let rendered = values.prefix(8).map(displayJSON) + if values.count > rendered.count { + return rendered.joined(separator: ", ") + " (+\(values.count - rendered.count) more)" + } + return rendered.joined(separator: ", ") + } + + private func displayJSON(_ value: Any) -> String { + if let string = value as? String { + if let data = try? JSONSerialization.data(withJSONObject: [string]), + let encoded = String(data: data, encoding: .utf8) { + return String(encoded.dropFirst().dropLast()) + } + return "\"\(string)\"" + } + if value is NSNull { return "null" } + if isJSONBoolean(value), let number = value as? NSNumber { + return number.boolValue ? "true" : "false" + } + if let number = jsonNumber(value) { + return formatNumber(number) + } + if JSONSerialization.isValidJSONObject(value), + let data = try? JSONSerialization.data(withJSONObject: value, options: [.sortedKeys]), + let encoded = String(data: data, encoding: .utf8) { + return encoded + } + return String(describing: value) + } + + private func formatNumber(_ value: Double) -> String { + if value.rounded() == value { + return String(format: "%.0f", value) + } + return String(value) + } + + private func deduplicated(_ issues: [CmuxConfigSemanticIssue]) -> [CmuxConfigSemanticIssue] { + var seen = Set() + return issues.filter { issue in + seen.insert("\(issue.path)\u{0}\(issue.message)").inserted + } + } +} From 013015778f35525da24290a15d1cf548c285d6d3 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:26:01 -0700 Subject: [PATCH 14/55] config: move embedded schema into CmuxFoundation --- .../CmuxConfigSchema.generated.swift | 1062 +++++++++++++++++ 1 file changed, 1062 insertions(+) create mode 100644 Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift new file mode 100644 index 000000000000..98a27a2a1860 --- /dev/null +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift @@ -0,0 +1,1062 @@ +// Generated by scripts/generate-cmux-config-schema.py. Do not edit. +// Source: web/data/cmux.schema.json + +import Foundation + +enum CmuxEmbeddedConfigSchema { + static let data: Data = { + let base64 = [ + "ewogICIkc2NoZW1hIjogImh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvc2NoZW1hIiwKICAiJGlkIjogImh0dHBzOi8vcmF3LmdpdGh1", + "YnVzZXJjb250ZW50LmNvbS9tYW5hZmxvdy1haS9jbXV4L21haW4vd2ViL2RhdGEvY211eC5zY2hlbWEuanNvbiIsCiAgInRpdGxlIjogImNtdXguanNvbiIs", + "CiAgImRlc2NyaXB0aW9uIjogImNtdXggY29uZmlndXJhdGlvbi4gR2xvYmFsIGNtdXguanNvbiBzdXBwb3J0cyBhcHAgc2V0dGluZ3MsIHNob3J0Y3V0cywg", + "YWN0aW9ucywgY3VzdG9tIGNvbW1hbmRzLCBub3RpZmljYXRpb24gaG9va3MsIGFuZCB3b3Jrc3BhY2UgbGF5b3V0cy4gUHJvamVjdC1sb2NhbCAuY211eC9j", + "bXV4Lmpzb24gc3VwcG9ydHMgYWN0aW9ucywgY29tbWFuZHMsIG5vdGlmaWNhdGlvbiBob29rcywgYW5kIFVJIGFjdGlvbiB3aXJpbmcuIiwKICAidHlwZSI6", + "ICJvYmplY3QiLAogICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICJwcm9wZXJ0aWVzIjogewogICAgIiRzY2hlbWEiOiB7CiAgICAgICJ0eXBl", + "IjogInN0cmluZyIsCiAgICAgICJmb3JtYXQiOiAidXJpIiwKICAgICAgImRlZmF1bHQiOiAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21h", + "bmFmbG93LWFpL2NtdXgvbWFpbi93ZWIvZGF0YS9jbXV4LnNjaGVtYS5qc29uIiwKICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHNjaGVtYSBVUkwg", + "Zm9yIGVkaXRvciBjb21wbGV0aW9uIGFuZCB2YWxpZGF0aW9uLiIKICAgIH0sCiAgICAic2NoZW1hVmVyc2lvbiI6IHsKICAgICAgInR5cGUiOiAiaW50ZWdl", + "ciIsCiAgICAgICJtaW5pbXVtIjogMSwKICAgICAgImRlZmF1bHQiOiAxLAogICAgICAiZGVzY3JpcHRpb24iOiAiU2NoZW1hIHZlcnNpb24gZm9yIGZvcndh", + "cmQtY29tcGF0aWJsZSBtaWdyYXRpb25zLiBOZXdlciB2ZXJzaW9ucyBhcmUgcGFyc2VkIG9uIGEgYmVzdC1lZmZvcnQgYmFzaXMuIgogICAgfSwKICAgICJw", + "YW5lQm9yZGVyQ29sb3IiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleE9yTnVs", + "bCIsCiAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5wYW5lQm9yZGVyQ29sb3IiLAog", + "ICAgICAiZGVzY3JpcHRpb24iOiAiT3ZlcnJpZGUgdGhlIGNtdXggcGFuZSBkaXZpZGVyIGNvbG9yIGluIHNwbGl0IHdvcmtzcGFjZXMuIFRoaXMgYWZmZWN0", + "cyBjbXV4IHBhbmUgYm91bmRhcmllcywgbm90IEdob3N0dHkgaW50ZXJuYWwgc3BsaXRzLiIKICAgIH0sCiAgICAiYWN0aXZlUGFuZUJvcmRlckNvbG9yIjog", + "ewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAiZGVmYXVs", + "dCI6IG51bGwsCiAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWN0aXZlUGFuZUJvcmRlckNvbG9yIiwKICAgICAgImRlc2Ny", + "aXB0aW9uIjogIk9wdGlvbmFsIGJvcmRlciBjb2xvciBkcmF3biBhcm91bmQgdGhlIGZvY3VzZWQgY211eCBwYW5lIGluIHNwbGl0IHdvcmtzcGFjZXMuIgog", + "ICAgfSwKICAgICJhY3Rpb25zIjogewogICAgICAidGl0bGUiOiAiYWN0aW9ucyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJBY3Rpb24gcmVnaXN0cnkgdXNl", + "ZCBieSB0aGUgc3VyZmFjZSB0YWIgYmFyLCBDb21tYW5kIFBhbGV0dGUsIHNob3J0Y3V0cywgYW5kIHBsdXMtYnV0dG9uIG1lbnUuIEVhY2ggZW50cnkgc3Vw", + "cG9ydHMgdHlwZSBcImJ1aWx0aW5cIiwgXCJjb21tYW5kXCIsIFwiYWdlbnRcIiAoYW55IENMSSBhZ2VudCBuYW1lLCBlLmcuIGNsYXVkZSwgY29kZXgsIG9w", + "ZW5jb2RlLCBvciBhIGN1c3RvbSBiaW5hcnksIHdpdGggb3B0aW9uYWwgYXJncyksIFwid29ya3NwYWNlQ29tbWFuZFwiLCBvciBcIndvcmtzcGFjZVwiIChp", + "bmxpbmUgd29ya3NwYWNlIHdpdGggbmFtZS9jd2QvY29sb3IvZW52L3NldHVwL2xheW91dCwgcGx1cyBvcHRpb25hbCByZXN0YXJ0KS4gSW5saW5lIHdvcmtz", + "cGFjZSBlbnRyaWVzIGFyZSBhdXRvLW9mZmVyZWQgaW4gdGhlIG5ldy13b3Jrc3BhY2UgcGx1cy1idXR0b24gbWVudTsgc2V0IG5ld1dvcmtzcGFjZU1lbnUg", + "dHJ1ZS9mYWxzZSBvbiBhbnkgYWN0aW9uIHRvIG92ZXJyaWRlLiBcIlNhdmUgV29ya3NwYWNlIGFzIExheW91dFwiIGluIHRoZSBwbHVzLWJ1dHRvbiBtZW51", + "IHdyaXRlcyBlbnRyaWVzIGhlcmUuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZQogICAgfSwK", + "ICAgICJ1aSI6IHsKICAgICAgInRpdGxlIjogInVpIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlVJIGFjdGlvbiB3aXJpbmcsIGluY2x1ZGluZyBzdXJmYWNl", + "IHRhYiBiYXIgYnV0dG9ucyBhbmQgcGx1cy1idXR0b24gYmVoYXZpb3IuIFRoZSBwbHVzLWJ1dHRvbiBjb250ZXh0IG1lbnUgc2hvd3MgdWkubmV3V29ya3Nw", + "YWNlLmNvbnRleHRNZW51IChvciB0aGUgZGVmYXVsdCBpdGVtcykgZm9sbG93ZWQgYnkgYWN0aW9ucyB0aGF0IG9wdCBpbiB2aWEgbmV3V29ya3NwYWNlTWVu", + "dS4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlLAogICAgICAicHJvcGVydGllcyI6IHsKICAg", + "ICAgICAibmV3V29ya3NwYWNlIjogewogICAgICAgICAgInRpdGxlIjogIm5ld1dvcmtzcGFjZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTmV3IFdv", + "cmtzcGFjZSBidXR0b24gYmVoYXZpb3IgYW5kIGNvbnRleHQtbWVudSB3aXJpbmcuIiwKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAi", + "YWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJhY3Rpb24iOiB7CiAgICAgICAgICAg", + "ICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSUQgb2YgdGhlIGFjdGlvbiBydW4gYnkgcGxhaW4gTmV3IFdvcmtz", + "cGFjZS4gVGhpcyBpcyB0aGUgZGVmYXVsdCB3b3Jrc3BhY2UgbGF5b3V0OyBvbWl0IG9yIHJlbW92ZSBpdCBmb3IgTm9uZSAoQmxhbmsgVGVybWluYWwpLiBQ", + "cm9qZWN0LWxvY2FsIHVpLm5ld1dvcmtzcGFjZS5hY3Rpb24gd2lucyBvdmVyIHRoZSBnbG9iYWwgdmFsdWUuIgogICAgICAgICAgICB9CiAgICAgICAgICB9", + "CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImNvbW1hbmRzIjogewogICAgICAidGl0bGUiOiAiY29tbWFuZHMiLAogICAgICAiZGVzY3JpcHRpb24i", + "OiAiQ3VzdG9tIHNoZWxsIGNvbW1hbmRzIGFuZCB3b3Jrc3BhY2UgbGF5b3V0IGRlZmluaXRpb25zLiBXb3Jrc3BhY2UgZGVmaW5pdGlvbnMgc3VwcG9ydCBu", + "YW1lLCBjd2QsIGNvbG9yLCBlbnYsIGxheW91dCwgYW5kIHNldHVwIChhIGJvb3RzdHJhcCBjb21tYW5kIHNlbnQgdG8gdGhlIGZpcnN0IHRlcm1pbmFsIGJl", + "Zm9yZSBpdHMgb3duIGNvbW1hbmQpLiIsCiAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgIml0ZW1zIjogewogICAgICAgICJ0eXBlIjogIm9iamVjdCIs", + "CiAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZQogICAgICB9CiAgICB9LAogICAgImNvbXB1dGVyVXNlIjogewogICAgICAieC1jbXV4LXNj", + "b3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJjb21wdXRlclVzZSIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFs", + "UHJvcGVydGllcyI6IGZhbHNlLAogICAgICAiZGVzY3JpcHRpb24iOiAiTG9jYWwgY29tcHV0ZXItdXNlIHRvb2xzIGFuZCBtZW51LWJhciB2aXNpYmlsaXR5", + "LiIsCiAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuY29tcHV0ZXJVc2UuZGVzY3JpcHRpb24iLAogICAgICAicHJvcGVydGll", + "cyI6IHsKICAgICAgICAiZW5hYmxlZCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAg", + "ICAgImRlc2NyaXB0aW9uIjogIkFsbG93IHN1cHBvcnRlZCBhZ2VudCBsYXVuY2hlcyBpbiBjbXV4IHRlcm1pbmFscyB0byBhdHRhY2ggdGhlIGxvY2FsIGNv", + "bXB1dGVyLXVzZSB0b29scy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5jb21wdXRlclVzZS5lbmFibGVkIgog", + "ICAgICAgIH0sCiAgICAgICAgInNob3dJbk1lbnVCYXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1", + "ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGxpdmUgY29tcHV0ZXItdXNlIHNlc3Npb25zIGFuZCBmb2N1cyBhY3Rpb25zIGluIHRoZSBtZW51", + "IGJhci4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5jb21wdXRlclVzZS5zaG93SW5NZW51QmFyIgogICAgICAg", + "IH0KICAgICAgfQogICAgfSwKICAgICJhZ2VudENoYXQiOiB7CiAgICAgICJ0aXRsZSI6ICJhZ2VudENoYXQiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQWdl", + "bnQgQ2hhdCBHVUkgc2VydmVyIHNldHRpbmdzLiBUaGUgYnVpbHQtaW4gTmV3IGFnZW50IGNoYXQgYWN0aW9uIG9wZW5zIHRoaXMgVVJMIGluIGEgYnJvd3Nl", + "ciB3b3Jrc3BhY2UsIHByb2JpbmcgL2hlYWx0aHogZmlyc3QgYW5kIG9wdGlvbmFsbHkgc3RhcnRpbmcgdGhlIHNlcnZlciB3aXRoIHN0YXJ0Q29tbWFuZC4i", + "LAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5kZXNjcmlwdGlvbiIsCiAgICAgICJ0eXBlIjogIm9iamVj", + "dCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAidXJsIjogewogICAgICAgICAg", + "InR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJmb3JtYXQiOiAidXJpIiwKICAgICAgICAgICJwYXR0ZXJuIjogIl5odHRwcz86Ly8iLAogICAgICAgICAg", + "Im1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAiZGVmYXVsdCI6ICJodHRwOi8vMTI3LjAuMC4xOjc3MzkiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkJh", + "c2UgVVJMIGZvciB0aGUgbWFjaGluZS1sb2NhbCBBZ2VudCBDaGF0IEdVSSBzZXJ2ZXIuIGNtdXggcHJvYmVzIDx1cmw+L2hlYWx0aHogYmVmb3JlIG9wZW5p", + "bmcgdGhlIHdvcmtzcGFjZS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQudXJsIgogICAgICAg", + "IH0sCiAgICAgICAgInN0YXJ0Q29tbWFuZCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAg", + "ICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBzaGVsbCBjb21tYW5kIHRvIHN0YXJ0IHRoZSBBZ2VudCBDaGF0IHNlcnZlciB3aGVuIDx1cmw+L2hlYWx0", + "aHogaXMgdW5yZWFjaGFibGUuIGNtdXggcnVucyBpdCBkZXRhY2hlZCB3aXRoIHRoZSB1c2VyJ3MgU0hFTEwsIHBvbGxzIGhlYWx0aHogZm9yIGEgc2hvcnQg", + "Ym91bmRlZCB3aW5kb3csIHRoZW4gb3BlbnMgdGhlIHdvcmtzcGFjZSBlaXRoZXIgd2F5LiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1h", + "RGVzY3JpcHRpb25zLmFnZW50Q2hhdC5zdGFydENvbW1hbmQiCiAgICAgICAgfSwKICAgICAgICAia2V5cyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVj", + "dCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJLZXlib2FyZCBiZWhhdmlvciBv", + "dmVycmlkZXMgZm9yIHRoZSBBZ2VudCBDaGF0IHdlYiBVSS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2Vu", + "dENoYXQua2V5cy5kZXNjcmlwdGlvbiIsCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImN0cmxKIjogewogICAgICAgICAgICAgICJ0", + "eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgImVudW0iOiBbIm5ld2xpbmUiLCAibWVudSJdLAogICAgICAgICAgICAgICJkZWZhdWx0IjogIm5ld2xp", + "bmUiLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJCZWhhdmlvciBmb3IgQ3RybCtKIGluIEFnZW50IENoYXQgdGV4dCBmaWVsZHMuIFVzZSBuZXds", + "aW5lIHRvIGluc2VydCBhIGxpbmUgYnJlYWssIG9yIG1lbnUgdG8gbW92ZSB0byB0aGUgbmV4dCBwb3B1cCBpdGVtIHdoaWxlIGEgbWVudSBpcyBvcGVuLiIs", + "CiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQua2V5cy5jdHJsSiIKICAgICAgICAgICAgfQog", + "ICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImZvbnRzIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJhZGRpdGlvbmFs", + "UHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZvbnQgb3ZlcnJpZGVzIGZvciB0aGUgQWdlbnQgQ2hhdCB3ZWIgVUkuIE9t", + "aXR0ZWQgdmFsdWVzIGZhbGwgYmFjayB0byBHaG9zdHR5IGFuZCBidWlsdC1pbiBkZWZhdWx0cy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNj", + "aGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuZGVzY3JpcHRpb24iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJzYW5z", + "RmFtaWx5IjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgImRl", + "c2NyaXB0aW9uIjogIkNTUyBmb250IGZhbWlseSB1c2VkIGZvciBBZ2VudCBDaGF0IGJvZHkgYW5kIFVJIHRleHQuIiwKICAgICAgICAgICAgICAiZGVzY3Jp", + "cHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5zYW5zRmFtaWx5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiYm9k", + "eUZhbWlseSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgICAgICJk", + "ZXNjcmlwdGlvbiI6ICJBbGlhcyBmb3Igc2Fuc0ZhbWlseS4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMu", + "YWdlbnRDaGF0LmZvbnRzLmJvZHlGYW1pbHkiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJmYW1pbHkiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAi", + "c3RyaW5nIiwKICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxpYXMgZm9yIHNhbnNGYW1pbHku", + "IiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5mYW1pbHkiCiAgICAgICAgICAg", + "IH0sCiAgICAgICAgICAgICJiYXNlU2l6ZSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgICAgICJleGNsdXNpdmVNaW5p", + "bXVtIjogMCwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQmFzZSBBZ2VudCBDaGF0IGZvbnQgc2l6ZSBpbiBDU1MgcGl4ZWxzLiIsCiAgICAgICAg", + "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuYmFzZVNpemUiCiAgICAgICAgICAgIH0sCiAgICAg", + "ICAgICAgICJib2R5U2l6ZSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgICAgICJleGNsdXNpdmVNaW5pbXVtIjogMCwK", + "ICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxpYXMgZm9yIGJhc2VTaXplLiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVt", + "YURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuYm9keVNpemUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJtb25vRmFtaWx5IjogewogICAgICAg", + "ICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNTUyBm", + "b250IGZhbWlseSB1c2VkIGZvciBBZ2VudCBDaGF0IGNvZGUgYW5kIG1vbm9zcGFjZSB0ZXh0LiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5Ijog", + "InNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMubW9ub0ZhbWlseSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImNvZGVGYW1pbHkiOiB7", + "CiAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24i", + "OiAiQWxpYXMgZm9yIG1vbm9GYW1pbHkuIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5m", + "b250cy5jb2RlRmFtaWx5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiY29kZVNpemUiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwK", + "ICAgICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFnZW50IENoYXQgY29kZSBmb250IHNp", + "emUgaW4gQ1NTIHBpeGVscy4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmNv", + "ZGVTaXplIgogICAgICAgICAgICB9LAogICAgICAgICAgICAibW9ub1NpemUiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAg", + "ICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsaWFzIGZvciBjb2RlU2l6ZS4iLAogICAgICAgICAg", + "ICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLm1vbm9TaXplIgogICAgICAgICAgICB9LAogICAgICAg", + "ICAgICAiY29kZUxpbmVIZWlnaHQiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6", + "IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkxpbmUtaGVpZ2h0IG11bHRpcGxpZXIgdXNlZCBmb3IgQWdlbnQgQ2hhdCBjb2RlIGJsb2Nrcy4i", + "LAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmNvZGVMaW5lSGVpZ2h0IgogICAg", + "ICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgInZhdWx0IjogewogICAgICAidGl0bGUiOiAidmF1bHQiLAogICAg", + "ICAiZGVzY3JpcHRpb24iOiAiVmF1bHQgc2Vzc2lvbiByZXN0b3JlIGFnZW50IHJlZ2lzdHJhdGlvbnMuIGNtdXggaW5jbHVkZXMgUGkgYnkgZGVmYXVsdDsg", + "dXNlIHRoaXMgc2VjdGlvbiB0byBhZGQgb3Igb3ZlcnJpZGUgSlNPTkwtYmFja2VkIGNvZGluZyBhZ2VudHMgd2l0aG91dCBhbiBhcHAgdXBkYXRlLiIsCiAg", + "ICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAi", + "YWdlbnRzIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkN1c3RvbSBjb2RpbmcgYWdlbnRzIHRoYXQg", + "VmF1bHQgY2FuIGRldGVjdCwgbGlzdCwgYW5kIHJlc3VtZS4iLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAog", + "ICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlLAogICAgICAgICAgICAicmVxdWlyZWQiOiBbImlkIiwgIm5hbWUiLCAic2Vzc2lvbklk", + "U291cmNlIiwgInJlc3VtZUNvbW1hbmQiXSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgImlkIjogewogICAgICAgICAgICAg", + "ICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIl5bQS1aYS16MC05Ll8tXSskIiwKICAgICAgICAgICAgICAgICJtYXhM", + "ZW5ndGgiOiA2NCwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdGFibGUgY2FzZS1wcmVzZXJ2aW5nIEFTQ0lJIGlkZW50aWZpZXIgdXNlZCBp", + "biBWYXVsdCBwZXJzaXN0ZW5jZSwgZm9yIGV4YW1wbGUgcGkuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIm5hbWUiOiB7CiAgICAgICAgICAg", + "ICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbmFtZSBzaG93biBpbiBWYXVsdC4iCiAgICAg", + "ICAgICAgICAgfSwKICAgICAgICAgICAgICAiaWNvbkFzc2V0TmFtZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAg", + "ICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgYXNzZXQgY2F0YWxvZyBpbWFnZSBuYW1lIHNob3duIGZvciB0aGlzIGFnZW50IGluIFZhdWx0LiIKICAg", + "ICAgICAgICAgICB9LAogICAgICAgICAgICAgICJkZXRlY3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICAg", + "ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUnVsZXMgZm9yIGRldGVjdGluZyBhIHJ1bm5p", + "bmcgYWdlbnQgcHJvY2VzcyBpbnNpZGUgYSBjbXV4IHRlcm1pbmFsLiIsCiAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAg", + "ICAgInByb2Nlc3NOYW1lIjogewogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9u", + "IjogIkV4ZWN1dGFibGUgYmFzZW5hbWUgdG8gbWF0Y2gsIGZvciBleGFtcGxlIHBpLiIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAg", + "ImFyZ3ZDb250YWlucyI6IHsKICAgICAgICAgICAgICAgICAgICAib25lT2YiOiBbCiAgICAgICAgICAgICAgICAgICAgICB7ICJ0eXBlIjogInN0cmluZyIg", + "fSwKICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgICAgICAgICAgICAg", + "ICAiaXRlbXMiOiB7ICJ0eXBlIjogInN0cmluZyIgfQogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAg", + "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN1YnN0cmluZyBvciBzdWJzdHJpbmdzIHRoYXQgbXVzdCBhcHBlYXIgaW4gdGhlIHByb2Nlc3MgYXJndi4iCiAg", + "ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJzZXNzaW9uSWRTb3VyY2UiOiB7CiAg", + "ICAgICAgICAgICAgICAib25lT2YiOiBbCiAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAg", + "ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVc2UgcGlTZXNzaW9uRmlsZSBmb3IgUGkgSlNPTkwgZGlzY292ZXJ5LCBvciBhbiBhcmd2IG9wdGlvbiBz", + "dWNoIGFzIC0tc2Vzc2lvbi4iCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJv", + "YmplY3QiLAogICAgICAgICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6", + "IFsidHlwZSJdLAogICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiB7CiAgICAgICAgICAg", + "ICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJlbnVtIjogWyJhcmd2T3B0aW9uIiwgInBpU2Vzc2lvbkZp", + "bGUiXQogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICJhcmd2T3B0aW9uIjogewogICAgICAgICAgICAgICAgICAgICAg", + "ICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uIHdob3NlIGZvbGxvd2luZyB2YWx1ZSBp", + "cyB0aGUgc2Vzc2lvbiBpZCwgZm9yIGV4YW1wbGUgLS1zZXNzaW9uLiIKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAog", + "ICAgICAgICAgICAgICAgICAgICJhbGxPZiI6IFsKICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImlmIjogewogICAg", + "ICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiB7ICJjb25zdCI6ICJhcmd2", + "T3B0aW9uIiB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAi", + "dGhlbiI6IHsgInJlcXVpcmVkIjogWyJhcmd2T3B0aW9uIl0gfQogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgIHsKICAg", + "ICAgICAgICAgICAgICAgICAgICAgImlmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAg", + "ICAgICAgICAgInR5cGUiOiB7ICJjb25zdCI6ICJwaVNlc3Npb25GaWxlIiB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg", + "ICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidGhlbiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAibm90IjogeyAicmVxdWlyZWQi", + "OiBbImFyZ3ZPcHRpb24iXSB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBd", + "CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlcmUgY211eCByZWFkcyB0", + "aGUgbmF0aXZlIHNlc3Npb24gaWQgZm9yIGFuIGFjdGl2ZSBwcm9jZXNzLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJyZXN1bWVDb21tYW5k", + "IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgICAgICAgeyAicGF0", + "dGVybiI6ICJcXHtcXHtzZXNzaW9uSWRcXH1cXH0iIH0sCiAgICAgICAgICAgICAgICAgIHsgInBhdHRlcm4iOiAiXFx7XFx7c2Vzc2lvblBhdGhcXH1cXH0i", + "IH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hlbGwtbGlrZSBhcmd2IHRlbXBsYXRlIHVzZWQgdG8gcmVz", + "dW1lIGEgc2Vzc2lvbi4gU3VwcG9ydGVkIHBsYWNlaG9sZGVyczoge3tzZXNzaW9uSWR9fSwge3tzZXNzaW9uUGF0aH19LCB7e2V4ZWN1dGFibGV9fSwge3tj", + "d2R9fSwge3tzZXNzaW9uRGlyfX0uIE11c3QgaW5jbHVkZSB7e3Nlc3Npb25JZH19IG9yIHt7c2Vzc2lvblBhdGh9fS4iCiAgICAgICAgICAgICAgfSwKICAg", + "ICAgICAgICAgICAiZm9ya0NvbW1hbmQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImFueU9mIjogWwog", + "ICAgICAgICAgICAgICAgICB7ICJwYXR0ZXJuIjogIlxce1xce3Nlc3Npb25JZFxcfVxcfSIgfSwKICAgICAgICAgICAgICAgICAgeyAicGF0dGVybiI6ICJc", + "XHtcXHtzZXNzaW9uUGF0aFxcfVxcfSIgfQogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBzaGVs", + "bC1saWtlIGFyZ3YgdGVtcGxhdGUgdXNlZCB0byBmb3JrIChicmFuY2gpIGEgc2Vzc2lvbiBpbnRvIGEgbmV3IGNvcHksIGZvciBleGFtcGxlIFwie3tleGVj", + "dXRhYmxlfX0gLS1zZXNzaW9uIHt7c2Vzc2lvbklkfX0gLS1mb3JrXCIuIFNhbWUgcGxhY2Vob2xkZXJzIGFzIHJlc3VtZUNvbW1hbmQuIE9taXQgd2hlbiB0", + "aGUgYWdlbnQgaGFzIG5vIGZvcmsgY2FwYWJpbGl0eTsgRm9yayBDb252ZXJzYXRpb24gc3RheXMgaGlkZGVuIGZvciBpdC4iCiAgICAgICAgICAgICAgfSwK", + "ICAgICAgICAgICAgICAiY3dkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJlbnVtIjogWyJwcmVzZXJ2", + "ZSIsICJpZ25vcmUiXSwKICAgICAgICAgICAgICAgICJkZWZhdWx0IjogInByZXNlcnZlIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGV0", + "aGVyIFZhdWx0IHNob3VsZCBjZCB0byB0aGUgc2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYmVmb3JlIHJ1bm5pbmcgcmVzdW1lQ29tbWFuZC4iCiAgICAgICAg", + "ICAgICAgfSwKICAgICAgICAgICAgICAic2Vzc2lvbkRpcmVjdG9yeSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAg", + "ICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgcm9vdCBkaXJlY3RvcnkgZm9yIEpTT05MIHNlc3Npb24gZGlzY292ZXJ5LCBzdWNoIGFzIH4vLnBpL2Fn", + "ZW50L3Nlc3Npb25zLiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiZGVmYXVsdCI6IFtdCiAgICAgICAg", + "fQogICAgICB9CiAgICB9LAogICAgIm5ld1dvcmtzcGFjZUNvbW1hbmQiOiB7CiAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICJkZXNjcmlwdGlvbiI6", + "ICJMZWdhY3kgbmFtZSBvZiBhIHdvcmtzcGFjZSBjb21tYW5kIHRvIHJ1biB3aGVuIGNyZWF0aW5nIGEgbmV3IHdvcmtzcGFjZS4gUHJlZmVyIHVpLm5ld1dv", + "cmtzcGFjZS5hY3Rpb24gZm9yIG5ldyBjb25maWdzLiIKICAgIH0sCiAgICAid29ya3NwYWNlR3JvdXBzIjogewogICAgICAidHlwZSI6ICJvYmplY3QiLAog", + "ICAgICAidGl0bGUiOiAid29ya3NwYWNlR3JvdXBzIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlBlci1jd2QgY3VzdG9taXphdGlvbiBmb3Igc2lkZWJhciB3", + "b3Jrc3BhY2UgZ3JvdXBzLiBUaGUgYW5jaG9yIHdvcmtzcGFjZSdzIGN3ZCBpcyBtYXRjaGVkIGFnYWluc3QgdGhlIGtleXMgaW4gYGJ5Q3dkYDsgbG9uZ2Vz", + "dC1tYXRjaCB3aW5zLiBLZXlzIGNvbnRhaW5pbmcgYCpgIG9yIGA/YCBhcmUgbWF0Y2hlZCBhcyBmbm1hdGNoIGdsb2JzICh3aXRoIGB+YCBleHBhbmRlZCk7", + "IG90aGVyIGtleXMgYXJlIHBhdGggcHJlZml4ZXMuIiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjog", + "ewogICAgICAgICJuZXdXb3Jrc3BhY2VQbGFjZW1lbnQiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlw", + "ZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImFmdGVyQ3VycmVudCIsICJ0b3AiLCAiZW5kIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJhZnRl", + "ckN1cnJlbnQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkdsb2JhbCBkZWZhdWx0IGZvciB3aGVyZSBDbWQtTiBpbnNpZGUgYSBncm91cCwgdGhlIGdy", + "b3VwIGhlYWRlciArIGJ1dHRvbiwgYW5kIGNvbmZpZ3VyZWQgZ3JvdXAgYWN0aW9ucyBwbGFjZSB0aGUgbmV3IHdvcmtzcGFjZTogYGFmdGVyQ3VycmVudGAg", + "KGFmdGVyIHRoZSBhY3RpdmUgaW4tZ3JvdXAgd29ya3NwYWNlLCBmYWxsaW5nIGJhY2sgdG8gdG9wKSwgYHRvcGAgKHNlY29uZCBzbG90LCBqdXN0IGFmdGVy", + "IHRoZSBhbmNob3IpLCBvciBgZW5kYCAoYWZ0ZXIgdGhlIGxhc3QgbWVtYmVyKS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2Ny", + "aXB0aW9ucy53b3Jrc3BhY2VHcm91cHMubmV3V29ya3NwYWNlUGxhY2VtZW50IgogICAgICAgIH0sCiAgICAgICAgImJ5Q3dkIjogewogICAgICAgICAgInR5", + "cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXAgb2YgY3dkIHBhdHRlcm5zIHRvIGdyb3VwIGN1c3RvbWl6YXRpb24uIEVtcHR5", + "IHdoZW4gb21pdHRlZC4iLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAg", + "ICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgImNvbG9yIjogewog", + "ICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIZXggY29sb3IgKGUuZy4gXCIjN0E0RkQ4", + "XCIpIGFwcGxpZWQgYXMgdGhlIGdyb3VwIGhlYWRlciB0aW50IHdoZW4gdGhlIGdyb3VwIGl0c2VsZiBoYXMgbm8gZXhwbGljaXQgY3VzdG9tQ29sb3IuIgog", + "ICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImljb24iOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAg", + "ImRlc2NyaXB0aW9uIjogIlNGIFN5bWJvbCBuYW1lIChlLmcuIFwiZm9sZGVyLmZpbGxcIiwgXCJsYWR5YnVnLmZpbGxcIikgZm9yIHRoZSBncm91cCBoZWFk", + "ZXIuIEZhbGxzIGJhY2sgdG8gXCJmb2xkZXIuZmlsbFwiIHdoZW4gb21pdHRlZC4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29udGV4dE1l", + "bnUiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSXRlbXMgYXBwZWFyaW5nIGlu", + "IHRoZSByaWdodC1jbGljayBtZW51IG9uIHRoZSBncm91cCdzICsgYnV0dG9uLiBTYW1lIHNjaGVtYSBhcyB0aGUgZ2xvYmFsIHVpLm5ld1dvcmtzcGFjZS5j", + "b250ZXh0TWVudSBlbnRyaWVzLiIsCiAgICAgICAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICAgICAgICJvbmVPZiI6IFsKICAgICAgICAgICAg", + "ICAgICAgICB7ICJ0eXBlIjogInN0cmluZyIgfSwKICAgICAgICAgICAgICAgICAgICB7ICJ0eXBlIjogIm9iamVjdCIsICJhZGRpdGlvbmFsUHJvcGVydGll", + "cyI6IHRydWUgfQogICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAibmV3V29ya3Nw", + "YWNlUGxhY2VtZW50IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJlbnVtIjogWyJhZnRlckN1cnJlbnQi", + "LCAidG9wIiwgImVuZCJdLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlBlci1jd2Qgb3ZlcnJpZGUgZm9yIHdoZXJlIENtZC1OIGluc2lkZSB0", + "aGUgZ3JvdXAsIHRoZSBncm91cCBoZWFkZXIgKyBidXR0b24sIGFuZCBjb25maWd1cmVkIGdyb3VwIGFjdGlvbnMgcGxhY2UgdGhlIG5ldyB3b3Jrc3BhY2U6", + "IGBhZnRlckN1cnJlbnRgIChhZnRlciB0aGUgYWN0aXZlIGluLWdyb3VwIHdvcmtzcGFjZSwgZmFsbGluZyBiYWNrIHRvIHRvcCksIGB0b3BgIChzZWNvbmQg", + "c2xvdCwganVzdCBhZnRlciB0aGUgYW5jaG9yKSwgb3IgYGVuZGAgKGFmdGVyIHRoZSBsYXN0IG1lbWJlcikuIEZhbGxzIGJhY2sgdG8gdGhlIGdsb2JhbCBk", + "ZWZhdWx0IHdoZW4gb21pdHRlZC4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy53b3Jrc3BhY2VHcm91", + "cHMuYnlDd2QubmV3V29ya3NwYWNlUGxhY2VtZW50IgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAg", + "fQogICAgfSwKICAgICJzdXJmYWNlVGFiQmFyQnV0dG9ucyI6IHsKICAgICAgInRpdGxlIjogInN1cmZhY2VUYWJCYXJCdXR0b25zIiwKICAgICAgImRlc2Ny", + "aXB0aW9uIjogIkxlZ2FjeSByb290LWxldmVsIHN1cmZhY2UgdGFiIGJhciBidXR0b25zLiBQcmVmZXIgdWkuc3VyZmFjZVRhYkJhci5idXR0b25zIGZvciBu", + "ZXcgY29uZmlncy4iLAogICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICJpdGVtcyI6IHsKICAgICAgICAib25lT2YiOiBbCiAgICAgICAgICB7ICJ0eXBl", + "IjogInN0cmluZyIgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVz", + "IjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfSwKICAgICJhcHAiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwi", + "XSwKICAgICAgInRpdGxlIjogImFwcCIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJHZW5lcmFsIGFwcCBwcmVmZXJlbmNlcyBmcm9tIFNldHRpbmdzID4gQXBw", + "LiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAg", + "ICAgICAibGFuZ3VhZ2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbCiAgICAgICAgICAgICJzeXN0ZW0iLAog", + "ICAgICAgICAgICAiZW4iLAogICAgICAgICAgICAiYXIiLAogICAgICAgICAgICAiYnMiLAogICAgICAgICAgICAiemgtSGFucyIsCiAgICAgICAgICAgICJ6", + "aC1IYW50IiwKICAgICAgICAgICAgImRhIiwKICAgICAgICAgICAgImRlIiwKICAgICAgICAgICAgImVzIiwKICAgICAgICAgICAgImZyIiwKICAgICAgICAg", + "ICAgIml0IiwKICAgICAgICAgICAgImphIiwKICAgICAgICAgICAgImtvIiwKICAgICAgICAgICAgIm5iIiwKICAgICAgICAgICAgInBsIiwKICAgICAgICAg", + "ICAgInB0LUJSIiwKICAgICAgICAgICAgInJ1IiwKICAgICAgICAgICAgInRoIiwKICAgICAgICAgICAgInRyIgogICAgICAgICAgXSwKICAgICAgICAgICJk", + "ZWZhdWx0IjogInN5c3RlbSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUHJlZmVycmVkIGFwcCBsYW5ndWFnZS4iCiAgICAgICAgfSwKICAgICAgICAi", + "YXBwZWFyYW5jZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsic3lzdGVtIiwgImxpZ2h0IiwgImRhcmsiXSwK", + "ICAgICAgICAgICJkZWZhdWx0IjogInN5c3RlbSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQXBwIGFwcGVhcmFuY2UgbW9kZS4iCiAgICAgICAgfSwK", + "ICAgICAgICAiYXBwSWNvbiI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsiYXV0b21hdGljIiwgImxpZ2h0Iiwg", + "ImRhcmsiXSwKICAgICAgICAgICJkZWZhdWx0IjogImF1dG9tYXRpYyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRG9jayBhbmQgYXBwIHN3aXRjaGVy", + "IGljb24gc3R5bGUuIgogICAgICAgIH0sCiAgICAgICAgIndpbmRvd1RpdGxlVGVtcGxhdGUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAg", + "ICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLndpbmRvd1RpdGxlVGVtcGxh", + "dGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIE5TV2luZG93IHRpdGxlIHRlbXBsYXRlLiBCbGFuayBwcmVzZXJ2ZXMgY211eCdzIGV4", + "aXN0aW5nIGRlZmF1bHQgdGl0bGUgYmVoYXZpb3IsIGluY2x1ZGluZyB0aGUgY3VycmVudC1kaXJlY3RvcnkgZmFsbGJhY2suIFN1cHBvcnRlZCBwbGFjZWhv", + "bGRlcnM6IHt3aW5kb3dJZH0sIHt3aW5kb3dUb2tlbn0sIHthY3RpdmVXb3Jrc3BhY2V9LCB7YWN0aXZlRGlyZWN0b3J5fSwge2RlZmF1bHRUaXRsZX0sIHth", + "cHBOYW1lfS4iCiAgICAgICAgfSwKICAgICAgICAibWVudUJhck9ubHkiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZh", + "dWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlkZSB0aGUgRG9jayBpY29uIGFuZCBhcHAgc3dpdGNoZXIgZW50cnkgd2hpbGUga2Vl", + "cGluZyBjbXV4IGF2YWlsYWJsZSBmcm9tIHRoZSBtZW51IGJhci4iCiAgICAgICAgfSwKICAgICAgICAibmV3V29ya3NwYWNlUGxhY2VtZW50IjogewogICAg", + "ICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJ0b3AiLCAiYWZ0ZXJDdXJyZW50IiwgImVuZCJdLAogICAgICAgICAgImRlZmF1", + "bHQiOiAiYWZ0ZXJDdXJyZW50IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVyZSBuZXcgd29ya3NwYWNlcyBhcmUgaW5zZXJ0ZWQgaW4gdGhlIHNp", + "ZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgImZvcmtDb252ZXJzYXRpb25EZWZhdWx0RGVzdGluYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJp", + "bmciLAogICAgICAgICAgImVudW0iOiBbInJpZ2h0IiwgImxlZnQiLCAidG9wIiwgImJvdHRvbSIsICJuZXdUYWIiLCAibmV3V29ya3NwYWNlIl0sCiAgICAg", + "ICAgICAiZGVmYXVsdCI6ICJyaWdodCIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC5mb3JrQ29udmVyc2F0", + "aW9uRGVmYXVsdERlc3RpbmF0aW9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IGRlc3RpbmF0aW9uIGZvciB0aGUgdGFiIGNvbnRleHQg", + "bWVudSdzIHByaW1hcnkgRm9yayBDb252ZXJzYXRpb24gYWN0aW9uLiBUaGUgc3VibWVudSBzdGlsbCBleHBvc2VzIGV2ZXJ5IGRlc3RpbmF0aW9uLiIKICAg", + "ICAgICB9LAogICAgICAgICJ3b3Jrc3BhY2VJbmhlcml0V29ya2luZ0RpcmVjdG9yeSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAg", + "ICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdHJ1ZSwgbmV3IHdvcmtzcGFjZXMgaW5oZXJpdCB0aGUgY3VycmVu", + "dCB3b3Jrc3BhY2Ugd29ya2luZyBkaXJlY3RvcnkuIFdoZW4gZmFsc2UsIG5ldyB3b3Jrc3BhY2VzIHVzZSBHaG9zdHR5J3Mgd29ya2luZy1kaXJlY3Rvcnkg", + "c2V0dGluZyBpbnN0ZWFkLiIKICAgICAgICB9LAogICAgICAgICJtaW5pbWFsTW9kZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAg", + "ICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWRlIHRoZSB3b3Jrc3BhY2UgdGl0bGUgYmFyIGFuZCBtb3ZlIGNvbnRy", + "b2xzIGludG8gdGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgImtlZXBXb3Jrc3BhY2VPcGVuV2hlbkNsb3NpbmdMYXN0U3VyZmFjZSI6IHsKICAg", + "ICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUs", + "IGNsb3NpbmcgdGhlIGxhc3Qgc3VyZmFjZSBrZWVwcyB0aGUgd29ya3NwYWNlIG9wZW4uIgogICAgICAgIH0sCiAgICAgICAgImZvY3VzUGFuZU9uRmlyc3RD", + "bGljayI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", + "IldoZW4gY211eCBpcyBpbmFjdGl2ZSwgdGhlIGZpcnN0IGNsaWNrIGNhbiBhY3RpdmF0ZSBhbmQgZm9jdXMgdGhlIGNsaWNrZWQgcGFuZS4iCiAgICAgICAg", + "fSwKICAgICAgICAicGFuZVJlc2l6ZVN0ZXBQaXhlbHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwK", + "ICAgICAgICAgICJtYXhpbXVtIjogMjAwLAogICAgICAgICAgImRlZmF1bHQiOiAyMCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJQaXhlbHMgbW92ZWQg", + "cGVyIGtleXByZXNzIHdoZW4gdXNpbmcgcGFuZS1yZXNpemUgc2hvcnRjdXRzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3Jp", + "cHRpb25zLmFwcC5wYW5lUmVzaXplU3RlcFBpeGVscyIKICAgICAgICB9LAogICAgICAgICJmb2N1c0hpc3RvcnlJbmNsdWRlc1BhbmVzQW5kVGFicyI6IHsK", + "ICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRy", + "dWUsIEJhY2sgYW5kIEZvcndhcmQgaW5jbHVkZSBmb2N1cyBjaGFuZ2VzIGJldHdlZW4gcGFuZXMgYW5kIHRhYnMuIFdoZW4gZmFsc2UsIHRoZXkgbmF2aWdh", + "dGUgYmV0d2VlbiB3b3Jrc3BhY2VzIG9ubHkuIgogICAgICAgIH0sCiAgICAgICAgInByZWZlcnJlZEVkaXRvciI6IHsKICAgICAgICAgICJ0eXBlIjogInN0", + "cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkN1c3RvbSBlZGl0b3IgY29tbWFuZCB1c2VkIHdoZW4g", + "Q21kLWNsaWNrIGZpbGUgcHJldmlld3MgYXJlIGRpc2FibGVkIG9yIGEgZmlsZSBpcyB1bnN1cHBvcnRlZC4gTGVhdmUgZW1wdHkgdG8gdXNlIHRoZSBkZWZh", + "dWx0LiIKICAgICAgICB9LAogICAgICAgICJvcGVuU3VwcG9ydGVkRmlsZXNJbkNtdXgiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAg", + "ICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIGVuYWJsZWQsIENtZC1jbGlja2luZyByZWFkYWJsZSBsb2NhbCBm", + "aWxlcyBvcGVucyBzdXBwb3J0ZWQgcHJldmlld3MgaW4gY211eCwgaW5jbHVkaW5nIHRleHQsIGNvZGUsIFBERnMsIGltYWdlcywgYXVkaW8sIHZpZGVvLCBh", + "bmQgUXVpY2sgTG9vayBmaWxlcy4gUHJldmlldyBoZWFkZXJzIGluY2x1ZGUgYW4gT3BlbiBXaXRoIG1lbnUgYmFzZWQgb24gdGhlIHVzZXIncyBkZWZhdWx0", + "IGFuZCBjb21wYXRpYmxlIG1hY09TIGFwcHMgZm9yIHRoYXQgZmlsZS4iCiAgICAgICAgfSwKICAgICAgICAib3Blbk1hcmtkb3duSW5DbXV4Vmlld2VyIjog", + "ewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiBl", + "bmFibGVkLCBDbWQtY2xpY2tpbmcgLm1kLy5tYXJrZG93bi8ubWtkLy5tZHggZmlsZXMgb3BlbnMgdGhlIHJlbmRlcmVkIGNtdXggbWFya2Rvd24gdmlld2Vy", + "IHBhbmVsICh3aXRoIGxpdmUgcmVsb2FkKSBpbnN0ZWFkIG9mIHRoZSBnZW5lcmljIGZpbGUgcHJldmlldy4iCiAgICAgICAgfSwKICAgICAgICAiZ2xvYmFs", + "Rm9udE1hZ25pZmljYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogNTAsCiAgICAgICAgICAibWF4", + "aW11bSI6IDIwMCwKICAgICAgICAgICJtdWx0aXBsZU9mIjogMTAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEwMCwKICAgICAgICAgICJkZXNjcmlwdGlvbktl", + "eSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLmdsb2JhbEZvbnRNYWduaWZpY2F0aW9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTY2FsZXMgY211", + "eC1vd25lZCB0ZXJtaW5hbHMsIHRhYiB0aXRsZXMsIHNpZGViYXJzLCBzZXR0aW5ncywgb3ZlcmxheXMsIGFuZCBhcHAgY2hyb21lIGJ5IHRoaXMgcGVyY2Vu", + "dGFnZS4gUmVuZGVyZWQgYnJvd3NlciBwYWdlIGNvbnRlbnQgaXMgZXhjbHVkZWQuIgogICAgICAgIH0sCiAgICAgICAgInJlb3JkZXJPbk5vdGlmaWNhdGlv", + "biI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1v", + "dmUgd29ya3NwYWNlcyB3aXRoIG5ldyBub3RpZmljYXRpb25zIHRvd2FyZCB0aGUgdG9wLiIKICAgICAgICB9LAogICAgICAgICJpTWVzc2FnZU1vZGUiOiB7", + "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTW92ZSBh", + "IHdvcmtzcGFjZSB0byB0aGUgdG9wIGFuZCBzaG93IHRoZSBzdWJtaXR0ZWQgbWVzc2FnZSB3aGVuIHNlbmRpbmcgYW4gYWdlbnQgcHJvbXB0LiIKICAgICAg", + "ICB9LAogICAgICAgICJzZW5kQW5vbnltb3VzVGVsZW1ldHJ5IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6", + "IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxsb3cgYW5vbnltb3VzIHRlbGVtZXRyeS4iCiAgICAgICAgfSwKICAgICAgICAiY29uZmlybVF1", + "aXQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImFsd2F5cyIsICJkaXJ0eS1vbmx5IiwgIm5ldmVyIl0sCiAg", + "ICAgICAgICAiZGVmYXVsdCI6ICJhbHdheXMiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hcHAuY29uZmlybVF1", + "aXQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgd2hlbiBjbXV4IGFza3MgZm9yIGNvbmZpcm1hdGlvbiBiZWZvcmUgcXVpdHRpbmcuIERF", + "ViBidWlsZHMgYWx3YXlzIHF1aXQgaW1tZWRpYXRlbHkgcmVnYXJkbGVzcyBvZiB0aGlzIHNldHRpbmcuIExlZ2FjeSBhcHAud2FybkJlZm9yZVF1aXQgaXMg", + "c3RpbGwgYWNjZXB0ZWQgYXMgYSBib29sZWFuIGZhbGxiYWNrLiIKICAgICAgICB9LAogICAgICAgICJ3YXJuQmVmb3JlUXVpdCI6IHsKICAgICAgICAgICJ0", + "eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9u", + "cy5hcHAud2FybkJlZm9yZVF1aXQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkxlZ2FjeSBib29sZWFuIGZhbGxiYWNrIGZvciBxdWl0IGNvbmZpcm1h", + "dGlvbi4gVXNlIGFwcC5jb25maXJtUXVpdCBmb3IgbmV3IGNvbmZpZ3MuIgogICAgICAgIH0sCiAgICAgICAgIndhcm5CZWZvcmVDbG9zaW5nVGFiIjogewog", + "ICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBhIGNv", + "bmZpcm1hdGlvbiBiZWZvcmUgY2xvc2luZyBhIHRhYi4iCiAgICAgICAgfSwKICAgICAgICAid2FybkJlZm9yZUNsb3NpbmdUYWJYQnV0dG9uIjogewogICAg", + "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURl", + "c2NyaXB0aW9ucy5hcHAud2FybkJlZm9yZUNsb3NpbmdUYWJYQnV0dG9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGEgY29uZmlybWF0aW9u", + "IGJlZm9yZSBjbG9zaW5nIGEgdGFiIHdpdGggdGhlIHRhYiBjbG9zZSBidXR0b24uIgogICAgICAgIH0sCiAgICAgICAgImhpZGVUYWJDbG9zZUJ1dHRvbiI6", + "IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJz", + "Y2hlbWFEZXNjcmlwdGlvbnMuYXBwLmhpZGVUYWJDbG9zZUJ1dHRvbiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlkZSB0YWIgY2xvc2UgYnV0dG9u", + "cyBpbiB0aGUgcGFuZSB0YWIgYmFyLiIKICAgICAgICB9LAogICAgICAgICJyZW5hbWVTZWxlY3RzRXhpc3RpbmdOYW1lIjogewogICAgICAgICAgInR5cGUi", + "OiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2VsZWN0IHRoZSBjdXJyZW50IG5hbWUg", + "d2hlbiBvcGVuaW5nIHJlbmFtZSBmbG93cy4iCiAgICAgICAgfSwKICAgICAgICAiY29tbWFuZFBhbGV0dGVTZWFyY2hlc0FsbFN1cmZhY2VzIjogewogICAg", + "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBldmVy", + "eSBzdXJmYWNlIGluIHRoZSBjb21tYW5kIHBhbGV0dGUgc3dpdGNoZXIgaW5zdGVhZCBvZiBvbmx5IHRoZSBhY3RpdmUgd29ya3NwYWNlLiIKICAgICAgICB9", + "CiAgICAgIH0KICAgIH0sCiAgICAidGVybWluYWwiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogInRlcm1p", + "bmFsIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlRlcm1pbmFsIHByZXNlbnRhdGlvbiBzZXR0aW5ncyBmcm9tIFNldHRpbmdzID4gVGVybWluYWwuIiwKICAg", + "ICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJh", + "ZGFwdGl2ZURlZmF1bHRUaGVtZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAg", + "ImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5hZGFwdGl2ZURlZmF1bHRUaGVtZSIsCiAgICAgICAgICAiZGVzY3JpcHRp", + "b24iOiAiV2hlbiB0cnVlICh0aGUgZGVmYXVsdCksIGNtdXggc3VwcGxpZXMgYW4gYXBwZWFyYW5jZS1hZGFwdGl2ZSBkZWZhdWx0IHBhbGV0dGUgdW5sZXNz", + "IGEgR2hvc3R0eSB0aGVtZSBvciB0ZXJtaW5hbCBjb2xvcnMgYXJlIGNvbmZpZ3VyZWQuIEZvbnQgYW5kIG90aGVyIHNldHRpbmdzIGFyZSBwcmVzZXJ2ZWQu", + "IFdoZW4gZmFsc2UsIEdob3N0dHkgdXNlcyBpdHMgZml4ZWQgYnVpbHQtaW4gcGFsZXR0ZS4gRXhwbGljaXQgdGhlbWVzIGFuZCBjb2xvcnMgYWx3YXlzIHRh", + "a2UgcHJlY2VkZW5jZSwgaW5jbHVkaW5nIHRoZW1lID0gbGlnaHQ6WCxkYXJrOlkuIgogICAgICAgIH0sCiAgICAgICAgInNob3dTY3JvbGxCYXIiOiB7CiAg", + "ICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSBy", + "aWdodC1lZGdlIHRlcm1pbmFsIHNjcm9sbCBiYXIgd2hlbiBzY3JvbGxiYWNrIGlzIGF2YWlsYWJsZS4gY211eCBhdXRvbWF0aWNhbGx5IHN1cHByZXNzZXMg", + "aXQgZm9yIGFsdGVybmF0ZS1zY3JlZW4gc3R5bGUgVFVJIHN1cmZhY2VzLiIKICAgICAgICB9LAogICAgICAgICJzY3JvbGxTcGVlZCI6IHsKICAgICAgICAg", + "ICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAibWluaW11bSI6IDAuMjUsCiAgICAgICAgICAibWF4aW11bSI6IDMuMCwKICAgICAgICAgICJkZWZhdWx0", + "IjogMS4wLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5zY3JvbGxTcGVlZCIsCiAgICAgICAgICAi", + "ZGVzY3JpcHRpb24iOiAiTXVsdGlwbGllciBhcHBsaWVkIHRvIHRlcm1pbmFsIHNjcm9sbCB3aGVlbCBhbmQgdHJhY2twYWQgZGVsdGFzLiBIaWdoZXIgdmFs", + "dWVzIHNjcm9sbCBmYXN0ZXI7IGxvd2VyIHZhbHVlcyBzY3JvbGwgc2xvd2VyLiIKICAgICAgICB9LAogICAgICAgICJzZXNzaW9uQ29udGVudE1heFdpZHRo", + "IjogewogICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgImNv", + "bnN0IjogZmFsc2UKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAgICAgIm1p", + "bmltdW0iOiAzMjAsCiAgICAgICAgICAgICAgIm11bHRpcGxlT2YiOiAyMAogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlZmF1bHQi", + "OiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuc2Vzc2lvbkNvbnRlbnRNYXhXaWR0aCIs", + "CiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgbWF4aW11bSB3aWR0aCwgaW4gcG9pbnRzLCBmb3IgdGVybWluYWwgYW5kIGJ1aWx0LWluIGFn", + "ZW50IGNoYXQgY29udGVudC4gU2V0IGZhbHNlIHRvIHVzZSB0aGUgZnVsbCBwYW5lIHdpZHRoLiIKICAgICAgICB9LAogICAgICAgICJzZXNzaW9uQ29udGVu", + "dEFsaWdubWVudCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsibGVmdCIsICJjZW50ZXIiLCAicmlnaHQiXSwK", + "ICAgICAgICAgICJkZWZhdWx0IjogImNlbnRlciIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnNl", + "c3Npb25Db250ZW50QWxpZ25tZW50IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIb3Jpem9udGFsIHBsYWNlbWVudCBmb3IgdGVybWluYWwgYW5kIGJ1", + "aWx0LWluIGFnZW50IGNoYXQgY29udGVudCB3aGVuIHNlc3Npb25Db250ZW50TWF4V2lkdGggaXMgZW5hYmxlZC4iCiAgICAgICAgfSwKICAgICAgICAiY29w", + "eU9uU2VsZWN0IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0", + "aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5jb3B5T25TZWxlY3QiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdHJ1ZSwg", + "Y29weSBzZWxlY3RlZCB0ZXJtaW5hbCB0ZXh0IHRvIHRoZSBzeXN0ZW0gY2xpcGJvYXJkIHdoZW4gdGhlIHNlbGVjdGlvbiBpcyBjb21taXR0ZWQuIFdoZW4g", + "ZmFsc2UsIGNtdXggZG9lcyBub3QgZW1pdCBhIEdob3N0dHkgY29weS1vbi1zZWxlY3Qgb3ZlcnJpZGU7IEdob3N0dHkgY29uZmlnIGFuZCBkZWZhdWx0cyBj", + "b250cm9sIHNlbGVjdGlvbi1jbGlwYm9hcmQgYmVoYXZpb3IuIgogICAgICAgIH0sCiAgICAgICAgImF1dG9SZXN1bWVBZ2VudFNlc3Npb25zIjogewogICAg", + "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQXV0b21hdGljYWxs", + "eSBydW4gYWdlbnQgcmVzdW1lIGNvbW1hbmRzIGZvciByZXN0b3JlZCB0ZXJtaW5hbCBzZXNzaW9ucyB3aGVuIGNtdXggcmVvcGVucyBhZnRlciBxdWl0LiBT", + "ZXQgZmFsc2UgdG8gcmVzdG9yZSBwYW5lcyB3aGlsZSBrZWVwaW5nIENsYXVkZSBDb2RlLCBDb2RleCwgT3BlbkNvZGUsIGFuZCBvdGhlciBzYXZlZCBhZ2Vu", + "dCBzZXNzaW9ucyBpZGxlIHVudGlsIHlvdSByZXN1bWUgdGhlbSBtYW51YWxseS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1RleHRCb3hPbk5ld1Rlcm1p", + "bmFscyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktl", + "eSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuc2hvd1RleHRCb3hPbk5ld1Rlcm1pbmFscyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hv", + "dyB0aGUgYmV0YSBUZXh0Qm94IGlucHV0IGJ5IGRlZmF1bHQgZm9yIG5ld2x5IGNyZWF0ZWQgd29ya3NwYWNlcywgdGVybWluYWwgdGFicywgYW5kIHRlcm1p", + "bmFsIHNwbGl0cy4iCiAgICAgICAgfSwKICAgICAgICAiZm9jdXNUZXh0Qm94T25OZXdUZXJtaW5hbHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFu", + "IiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLmZv", + "Y3VzVGV4dEJveE9uTmV3VGVybWluYWxzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGb2N1cyB0aGUgYmV0YSBUZXh0Qm94IGlucHV0IGJ5IGRlZmF1", + "bHQgZm9yIG5ld2x5IGNyZWF0ZWQgd29ya3NwYWNlcywgdGVybWluYWwgdGFicywgYW5kIHRlcm1pbmFsIHNwbGl0cy4gRm9jdXNpbmcgYWxzbyBzaG93cyB0", + "aGUgVGV4dEJveC4iCiAgICAgICAgfSwKICAgICAgICAiYWdlbnRIaWJlcm5hdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAg", + "ICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwu", + "YWdlbnRIaWJlcm5hdGlvbiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUm91dGluZSBBZ2VudCBIaWJlcm5hdGlvbiBzZXR0aW5ncy4gY211eCBraWxs", + "cyBpZGxlIGJhY2tncm91bmQgYWdlbnQgcHJvY2Vzc2VzIHRvIGZyZWUgUkFNIGFuZCBDUFUsIHRoZW4gcmVzdW1lcyB0aGVtIHdpdGggdGhlaXIgc2F2ZWQg", + "c2Vzc2lvbiB3aGVuIHRoZWlyIHRhYiBpcyB2aXNpdGVkLiBSb3V0aW5lIGhpYmVybmF0aW9uIHJlcXVpcmVzIGEgcmVzdG9yYWJsZSBjb2RpbmcgYWdlbnQg", + "d2hvc2UgbGlmZWN5Y2xlIHJlcG9ydHMgaWRsZSwgYW4gb2ZmLXNjcmVlbiB0ZXJtaW5hbCwgYSBsaXZlLXRlcm1pbmFsIGNvdW50IGFib3ZlIHRoZSBjb25m", + "aWd1cmVkIGxpbWl0LCBhbmQgdW5jaGFuZ2VkIG91dHB1dCB0aHJvdWdoIHRoZSBpZGxlIGFuZCBjb25maXJtYXRpb24gd2luZG93cy4gSW5kZXBlbmRlbnRs", + "eSwgZHVyaW5nIGNyaXRpY2FsIG1lbW9yeSBwcmVzc3VyZSBjbXV4IG1heSBoaWJlcm5hdGUgYSBib3VuZGVkIGJhdGNoIG9mIHNhZmUgaWRsZSBiYWNrZ3Jv", + "dW5kIGFnZW50cyBldmVuIHdoZW4gZW5hYmxlZCBpcyBmYWxzZTsgdmlzaWJsZSwgcnVubmluZywgbmVlZHMtaW5wdXQsIHJlY2VudGx5IGNoYW5nZWQsIGFu", + "ZCB1bnByb3RlY3RhYmxlIGFnZW50cyByZW1haW4gZXhjbHVkZWQuIFRoZSBwbGFjZWhvbGRlciBSZXN1bWUgYnV0dG9uIGlzIGEgbWFudWFsIGZhbGxiYWNr", + "LiIsCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAg", + "ICAgICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFs", + "LmFnZW50SGliZXJuYXRpb25FbmFibGVkIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlIHJvdXRpbmUgQWdlbnQgSGliZXJuYXRpb24g", + "YmFzZWQgb24gdGhlIGxpdmUtdGVybWluYWwgbGltaXQuIENyaXRpY2FsLXByZXNzdXJlIHNhZmV0eSBoaWJlcm5hdGlvbiByZW1haW5zIGFjdGl2ZSB3aGVu", + "IGZhbHNlLiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImlkbGVTZWNvbmRzIjogewogICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAg", + "ICAgICAgICAgICJtaW5pbXVtIjogNSwKICAgICAgICAgICAgICAibWF4aW11bSI6IDYwNDgwMCwKICAgICAgICAgICAgICAiZGVmYXVsdCI6IDUsCiAgICAg", + "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1pbmltdW0gc2Vjb25kcyB3aXRoIG5vIHRlcm1pbmFsIG91dHB1dCBvciBpbnB1dCBiZWZvcmUgYW4gaWRsZSBy", + "ZXN0b3JhYmxlIGFnZW50IHRlcm1pbmFsIGNhbiBoaWJlcm5hdGUuIEEgc2hvcnQgY29uZmlybWF0aW9uIHNldHRsZSB3aW5kb3cgKH42MHMpIHN0aWxsIGFw", + "cGxpZXMgb24gdG9wIG9mIHRoaXMgYmVmb3JlIHRoZSBhZ2VudCBpcyBraWxsZWQuIgogICAgICAgICAgICB9LAogICAgICAgICAgICAibWF4TGl2ZVRlcm1p", + "bmFscyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAgICAgIm1heGlt", + "dW0iOiAyNTYsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiAxMiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWF4aW11bSBsaXZlIHJlc3RvcmFi", + "bGUgYWdlbnQgdGVybWluYWxzIHRvIGtlZXAgYmVmb3JlIGNtdXggaGliZXJuYXRlcyBlbGlnaWJsZSBiYWNrZ3JvdW5kIHRlcm1pbmFscywgb2xkZXN0IGZp", + "cnN0LiIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInJlbmRlcmVyUmVhbGl6YXRpb24iOiB7CiAgICAgICAgICAidHlw", + "ZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmVjbGFpbSBv", + "ZmYtc2NyZWVuIHRlcm1pbmFsIEdQVSByZW5kZXJlciBtZW1vcnkuIGNtdXggcmVsZWFzZXMgdGhlIE1ldGFsIHJlbmRlcmVyIChJT1N1cmZhY2UpIG9mIGEg", + "dGVybWluYWwgdGhhdCBoYXMgc3RheWVkIG9mZi1zY3JlZW4gYW5kIGlkbGUgd2hpbGUga2VlcGluZyBpdHMgcHJvY2VzcyBhbmQgdGVybWluYWwgc3RhdGUg", + "YWxpdmUsIHRoZW4gcmVidWlsZHMgdGhlIHJlbmRlcmVyIGluc3RhbnRseSB3aGVuIHRoZSB0YWIgaXMgdmlzaXRlZCBhZ2Fpbi4gTm9uLWRlc3RydWN0aXZl", + "IGFuZCBvbiBieSBkZWZhdWx0LiIsCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAgICAgInR5", + "cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZWNsYWltIG9mZi1z", + "Y3JlZW4gdGVybWluYWwgcmVuZGVyZXIgbWVtb3J5LiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImlkbGVTZWNvbmRzIjogewogICAgICAgICAgICAg", + "ICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgICAgICJtaW5pbXVtIjogNSwKICAgICAgICAgICAgICAibWF4aW11bSI6IDYwNDgwMCwKICAgICAgICAg", + "ICAgICAiZGVmYXVsdCI6IDUsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1pbmltdW0gc2Vjb25kcyBhIHRlcm1pbmFsIG11c3Qgc3RheSBvZmYt", + "c2NyZWVuIGJlZm9yZSBpdHMgR1BVIHJlbmRlcmVyIG1lbW9yeSBpcyByZWNsYWltZWQuIgogICAgICAgICAgICB9LAogICAgICAgICAgICAibWF4V2FybVJl", + "bmRlcmVycyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAgICAgIm1h", + "eGltdW0iOiAyNTYsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiAxLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNb3N0IHJlY2VudGx5IHZpc2li", + "bGUgdGVybWluYWxzIHRvIGtlZXAgcmVuZGVyZXItcmVhZHkgc28gc3dpdGNoaW5nIHN0YXlzIGluc3RhbnQuIEV4dHJhIG9mZi1zY3JlZW4gcmVuZGVyZXJz", + "IGFyZSByZWNsYWltZWQgb2xkZXN0IGZpcnN0LiIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInRleHRCb3hNYXhMaW5l", + "cyI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgIm1heGltdW0iOiAyMCwKICAgICAg", + "ICAgICJkZWZhdWx0IjogMTAsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWF4aW11bSBudW1iZXIgb2YgbGluZXMgdGhlIHJpY2ggdGVybWluYWwgVGV4", + "dEJveCBpbnB1dCBjYW4gZ3JvdyB0byBiZWZvcmUgaXQgc2Nyb2xscy4iCiAgICAgICAgfSwKICAgICAgICAidGV4dEJveERlZmF1bHRTdWJtaXRBY3Rpb24i", + "OiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAidGV4dC1lbnRyeSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", + "OiAiRGVmYXVsdCBUZXh0Qm94IHN1Ym1pdCBhY3Rpb24gSUQgZm9yIG5ldyB0ZXJtaW5hbCBzZXNzaW9ucy4gVXNlIHRleHQtZW50cnkgZm9yIHBsYWluIGlu", + "cHV0IG9yIG9uZSBvZiB0aGUgY29uZmlndXJlZCBhY3Rpb24gSURzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25z", + "LnRlcm1pbmFsLnRleHRCb3hEZWZhdWx0U3VibWl0QWN0aW9uIgogICAgICAgIH0sCiAgICAgICAgInRleHRCb3hTdWJtaXRBY3Rpb25zIjogewogICAgICAg", + "ICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb25maWd1cmFibGUgVGV4dEJv", + "eCBzdWJtaXQgYWN0aW9ucyBzaG93biBvbiB0aGUgc3VibWl0IGJ1dHRvbiwgU2hpZnQtVGFiIGN5Y2xlLCBhbmQgcmlnaHQtY2xpY2sgbWVudS4iLAogICAg", + "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9ucyIsCiAgICAgICAgICAiaXRl", + "bXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAg", + "ICAicmVxdWlyZWQiOiBbImlkIiwgInRpdGxlIiwgImtpbmQiLCAic3lzdGVtSW1hZ2UiLCAiYmFja2dyb3VuZENvbG9ySGV4Il0sCiAgICAgICAgICAgICJw", + "cm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICJpZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAicGF0", + "dGVybiI6ICJeW0EtWmEtejAtOS5fLV0rJCIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU3RhYmxlIGFjdGlvbiBJRCByZWZlcmVuY2VkIGJ5", + "IHRlcm1pbmFsLnRleHRCb3hEZWZhdWx0U3VibWl0QWN0aW9uLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", + "b25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25JZCIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJ0aXRsZSI6IHsKICAgICAgICAgICAg", + "ICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWVudSBsYWJlbCBmb3IgdGhpcyBzdWJtaXQgYWN0aW9uLiIs", + "CiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25UaXRsZSIK", + "ICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJraW5kIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAg", + "ICJlbnVtIjogWyJ0ZXh0RW50cnkiLCAiY29tbWFuZFRlbXBsYXRlIl0sCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGlzIGFj", + "dGlvbiBzdWJtaXRzIHBsYWluIFRleHQgRW50cnkgb3IgZXhwYW5kcyBhIHNoZWxsIGNvbW1hbmQgdGVtcGxhdGUuIiwKICAgICAgICAgICAgICAgICJkZXNj", + "cmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbktpbmQiCiAgICAgICAgICAgICAgfSwKICAgICAg", + "ICAgICAgICAiY29tbWFuZFRlbXBsYXRlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlv", + "biI6ICJTaGVsbCBjb21tYW5kIHRlbXBsYXRlIGZvciBjb21tYW5kVGVtcGxhdGUgYWN0aW9ucy4gSW5jbHVkZSB7e3Byb21wdH19IHRvIHNoZWxsLXF1b3Rl", + "IHRoZSBwcm9tcHQgaW50byB0aGUgY29tbWFuZC4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJt", + "aW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uQ29tbWFuZFRlbXBsYXRlIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInByZXNlcnZlUHJvbXB0QWZ0", + "ZXJMYXVuY2giOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUs", + "IGxhdW5jaCBjb21tYW5kVGVtcGxhdGUgd2l0aG91dCB0aGUgcHJvbXB0IGFuZCBrZWVwIHRoZSBwcm9tcHQgaW4gdGhlIFRleHRCb3ggZm9yIHRoZSBhY3Rp", + "dmUgYWdlbnQuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFj", + "dGlvblByZXNlcnZlUHJvbXB0QWZ0ZXJMYXVuY2giCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAic3lzdGVtSW1hZ2UiOiB7CiAgICAgICAgICAg", + "ICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZhbGxiYWNrIFNGIFN5bWJvbCBuYW1lIHNob3duIG9uIHRo", + "ZSBzdWJtaXQgYnV0dG9uLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hT", + "dWJtaXRBY3Rpb25TeXN0ZW1JbWFnZSIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJhc3NldE5hbWUiOiB7CiAgICAgICAgICAgICAgICAidHlw", + "ZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIGFwcCBhc3NldCBjYXRhbG9nIGltYWdlIG5hbWUgc2hvd24g", + "b24gdGhlIHN1Ym1pdCBidXR0b24uIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4", + "dEJveFN1Ym1pdEFjdGlvbkFzc2V0TmFtZSIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJpbWFnZVBhdGgiOiB7CiAgICAgICAgICAgICAgICAi", + "dHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIFBORyBvciBpbWFnZSBmaWxlIHBhdGggc2hvd24gb24g", + "dGhlIHN1Ym1pdCBidXR0b24uIFRpbGRlIGlzIGV4cGFuZGVkLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", + "b25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25JbWFnZVBhdGgiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiYmFja2dyb3VuZENvbG9y", + "SGV4IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4jP1swLTlBLUZhLWZdezZ9KFsw", + "LTlBLUZhLWZdezJ9KT8kIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBY3Rpb24gY29sb3IgbWV0YWRhdGEgYXMgUkdCIG9yIFJHQkEgaGV4", + "LiBUaGUgc3VibWl0IGJ1dHRvbiBmaWxsIHN0YXlzIHdoaXRlIGFuZCBvbmx5IGNoYW5nZXMgb3BhY2l0eSBiZXR3ZWVuIGVuYWJsZWQgYW5kIGRpc2FibGVk", + "IHN0YXRlcy4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0", + "aW9uQmFja2dyb3VuZENvbG9ySGV4IgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImFsbE9mIjogWwogICAgICAgICAgICAg", + "IHsKICAgICAgICAgICAgICAgICJpZiI6IHsKICAgICAgICAgICAgICAgICAgInJlcXVpcmVkIjogWyJraW5kIl0sCiAgICAgICAgICAgICAgICAgICJwcm9w", + "ZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICJraW5kIjogeyAiY29uc3QiOiAiY29tbWFuZFRlbXBsYXRlIiB9CiAgICAgICAgICAgICAgICAgIH0K", + "ICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidGhlbiI6IHsKICAgICAgICAgICAgICAgICAgInJlcXVpcmVkIjogWyJjb21tYW5kVGVtcGxh", + "dGUiXSwKICAgICAgICAgICAgICAgICAgImFueU9mIjogWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVz", + "IjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29tbWFuZFRlbXBsYXRlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmlu", + "ZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXFx7XFx7cHJvbXB0XFx9XFx9IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAg", + "ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAi", + "cmVxdWlyZWQiOiBbInByZXNlcnZlUHJvbXB0QWZ0ZXJMYXVuY2giXSwKICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAg", + "ICAgICAgICAgICAgICAicHJlc2VydmVQcm9tcHRBZnRlckxhdW5jaCI6IHsgImNvbnN0IjogdHJ1ZSB9CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg", + "ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAg", + "ICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVzdW1lQ29tbWFuZHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVmYXVs", + "dCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZ25lZCBjb21tYW5kLXByZWZpeCBhcHByb3ZhbHMgZm9yIHJlc3RvcmluZyBub24tYWdlbnQg", + "dGVybWluYWwgc3VyZmFjZXMuIGNtdXggd3JpdGVzIHRoaXMgbGlzdCB3aGVuIHlvdSBhcHByb3ZlIGEgc3VyZmFjZSByZXN1bWUgY29tbWFuZC4iLAogICAg", + "ICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwK", + "ICAgICAgICAgICAgInJlcXVpcmVkIjogWyJ2ZXJzaW9uIiwgImlkIiwgImNvbW1hbmRQcmVmaXgiLCAiZW52aXJvbm1lbnRLZXlzIiwgInBvbGljeSIsICJj", + "cmVhdGVkQXQiLCAidXBkYXRlZEF0IiwgInNpZ25hdHVyZSJdLAogICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAidmVyc2lvbiI6", + "IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgICAgICAgImNvbnN0IjogMQogICAgICAgICAgICAgIH0sCiAgICAgICAg", + "ICAgICAgImlkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIm5hbWUiOiB7CiAg", + "ICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29tbWFuZFByZWZpeCI6IHsKICAgICAgICAg", + "ICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICAgICAgICJtaW5JdGVtcyI6IDEsCiAgICAgICAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAg", + "ICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAg", + "ICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGFyZ3YgcHJlZml4IHRoYXQgbXVzdCBtYXRjaCB0aGUgc2F2ZWQgcmVzdW1lIGNvbW1hbmQuIgogICAgICAg", + "ICAgICAgIH0sCiAgICAgICAgICAgICAgImN3ZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3Jp", + "cHRpb24iOiAiT3B0aW9uYWwgd29ya2luZyBkaXJlY3RvcnkgdGhhdCBtdXN0IG1hdGNoIHRoZSBzYXZlZCByZXN1bWUgY29tbWFuZC4iCiAgICAgICAgICAg", + "ICAgfSwKICAgICAgICAgICAgICAiZW52aXJvbm1lbnQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICAgImFk", + "ZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAg", + "ICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIG5vbi1zZW5zaXRpdmUgZW52aXJvbm1lbnQgdmFsdWVzIHRoYXQgbXVzdCBtYXRjaCB0aGUgc2F2ZWQgcmVz", + "dW1lIGNvbW1hbmQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImVudmlyb25tZW50S2V5cyI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjog", + "ImFycmF5IiwKICAgICAgICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgfQog", + "ICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICB9", + "LAogICAgICAgICAgICAgICJwb2xpY3kiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImVudW0iOiBbIm1h", + "bnVhbCIsICJwcm9tcHQiLCAiYXV0byJdCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY3JlYXRlZEF0IjogewogICAgICAgICAgICAgICAgInR5", + "cGUiOiAibnVtYmVyIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInVwZGF0ZWRBdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJl", + "ciIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJsYXN0VXNlZEF0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIgogICAgICAg", + "ICAgICAgIH0sCiAgICAgICAgICAgICAgInNpZ25hdHVyZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAi", + "ZGVzY3JpcHRpb24iOiAiSE1BQyBzaWduYXR1cmUgZm9yIHRoZSByZWNvcmQuIENoYW5naW5nIHNpZ25lZCBmaWVsZHMgaW52YWxpZGF0ZXMgdGhlIGFwcHJv", + "dmFsLiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJ1cGxvYWRDb21tYW5kcyI6IHsKICAg", + "ICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJkZWZhdWx0IjogW10sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG9zdC1zY29wZWQgcnVs", + "ZXMgdGhhdCByZXBsYWNlIHRoZSBidWlsdC1pbiBzY3AgZm9yIHRlcm1pbmFsIGZpbGUgZHJvcHMgYW5kIHBhc3RlcyBvdmVyIFNTSC4gV2hlbiB0aGUgc3No", + "IGRlc3RpbmF0aW9uIG1hdGNoZXMgYSBydWxlLCBjbXV4IHJ1bnMgdGhhdCBydWxlJ3MgY29tbWFuZCBvbmNlIHBlciBmaWxlIGluc3RlYWQgb2Ygc2NwLCBh", + "bmQgaW5zZXJ0cyB0aGUgY29tbWFuZCdzIHN0ZG91dCBhdCB0aGUgY3Vyc29yICh2ZXJiYXRpbSwgd2l0aCBjb250cm9sIGNoYXJhY3RlcnMgc3RyaXBwZWQp", + "OyBpZiB0aGUgY29tbWFuZCBwcmludHMgbm90aGluZywgY211eCBpbnNlcnRzIHRoZSBzaGVsbC1lc2NhcGVkIHJlbW90ZSBwYXRoIGl0IGNob3NlIGluc3Rl", + "YWQuIFBlci1maWxlIG91dHB1dHMgYXJlIHNwYWNlLWpvaW5lZC4gRmlyc3QgbWF0Y2hpbmcgZW5hYmxlZCBydWxlIHdpbnM7IG5vIG1hdGNoIHJ1bnMgdGhl", + "IGJ1aWx0LWluIHNjcCB1bmNoYW5nZWQuIEEgbm9uLXplcm8gZXhpdCwgdGltZW91dCwgb3IgY2FuY2VsIGluc2VydHMgbm90aGluZy4iLAogICAgICAgICAg", + "Iml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAg", + "ICAgICAgInJlcXVpcmVkIjogWyJjb21tYW5kIl0sCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICJob3N0UGF0dGVybiI6IHsK", + "ICAgICAgICAgICAgICAgICJ0eXBlIjogWyJzdHJpbmciLCAibnVsbCJdLAogICAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAg", + "ICAiZGVzY3JpcHRpb24iOiAiZm5tYXRjaCBnbG9iIG1hdGNoZWQgYWdhaW5zdCB0aGUgc3NoIGRlc3RpbmF0aW9uICh1c2VyQCBhbmQgSVB2NiBicmFja2V0", + "cyBzdHJpcHBlZCwgbG93ZXJjYXNlZCksIGxpa2UgYSBzaW5nbGUgc3NoX2NvbmZpZyBIb3N0IHBhdHRlcm4uIE9taXQgdGhlIGtleSBvciBzZXQgaXQgdG8g", + "bnVsbCBmb3IgYSBjYXRjaC1hbGwgKGEgYmxhbmsgc3RyaW5nIGlzIHJlamVjdGVkKS4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29tbWFu", + "ZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAgICJw", + "YXR0ZXJuIjogIlxcUyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hlbGwgY29tbWFuZCBydW4gdmlhIC9iaW4vc2ggLWMsIG9uY2UgcGVy", + "IGZpbGUuIEl0IHJlY2VpdmVzIHRoZSBmaWxlIGFuZCBlbmRwb2ludCBvbiBpdHMgZW52aXJvbm1lbnQgKENNVVhfVVBMT0FEX0xPQ0FMX1BBVEgsIENNVVhf", + "VVBMT0FEX1JFTU9URV9QQVRILCBDTVVYX1VQTE9BRF9ERVNUSU5BVElPTiwgQ01VWF9VUExPQURfUE9SVCwgQ01VWF9VUExPQURfSURFTlRJVFlfRklMRSwg", + "Q01VWF9VUExPQURfU1NIX09QVElPTlMpLiBJdHMgc3Rkb3V0IGlzIHdoYXQgY211eCBpbnNlcnRzIGF0IHRoZSBjdXJzb3IuIgogICAgICAgICAgICAgIH0s", + "CiAgICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog", + "dHJ1ZSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRoaXMgcnVsZSBpcyBhY3RpdmUuIERlZmF1bHRzIHRvIHRydWUuIgogICAg", + "ICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJub3RpZmljYXRpb25zIjogewogICAg", + "ICAidGl0bGUiOiAibm90aWZpY2F0aW9ucyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJOb3RpZmljYXRpb24gYmVoYXZpb3IgZnJvbSBTZXR0aW5ncyA+IE5v", + "dGlmaWNhdGlvbnMuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0", + "aWVzIjogewogICAgICAgICJkb2NrQmFkZ2UiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJi", + "b29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSB1bnJlYWQgY291bnQgaW4gdGhl", + "IERvY2sgdGlsZS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0luTWVudUJhciI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwK", + "ICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhl", + "IG1lbnUgYmFyIGV4dHJhLiIKICAgICAgICB9LAogICAgICAgICJ1bnJlYWRQYW5lUmluZyI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9i", + "YWwiXSwKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhp", + "Z2hsaWdodCBwYW5lcyB3aXRoIHVucmVhZCBub3RpZmljYXRpb25zLiIKICAgICAgICB9LAogICAgICAgICJwYW5lRmxhc2giOiB7CiAgICAgICAgICAieC1j", + "bXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAg", + "ICJkZXNjcmlwdGlvbiI6ICJGbGFzaCB0aGUgZm9jdXNlZCBwYW5lIHdoZW4gcmVxdWVzdGVkLiIKICAgICAgICB9LAogICAgICAgICJwYW5lRmxhc2hDb2xv", + "ciI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAog", + "ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnBh", + "bmVGbGFzaENvbG9yIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZSB0aGUgcGFuZSBmbGFzaCBhbmQgdW5yZWFkIHJpbmcgY29sb3IuIE51", + "bGwga2VlcHMgdGhlIGJ1aWx0LWluIGJsdWUuIgogICAgICAgIH0sCiAgICAgICAgInN1cHByZXNzT25seUZvY3VzZWRTdXJmYWNlIjogewogICAgICAgICAg", + "IngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAg", + "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnN1cHByZXNzT25seUZvY3VzZWRTdXJmYWNlIiwKICAg", + "ICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIGVuYWJsZWQsIGEgbm90aWZpY2F0aW9uIGJhbm5lciBpcyBhdXRvLXdpdGhkcmF3biBvbmx5IHdoZW4gaXRz", + "IHN1cmZhY2UgaXMgdGhlIGV4YWN0IGZvY3VzZWQgc3VyZmFjZS4gQSBiYW5uZXIgZGVsaXZlcmVkIGZvciBhIG5vbi1mb2N1c2VkIHN1cmZhY2UgaW4gdGhl", + "IGN1cnJlbnRseSB2aXNpYmxlIHdvcmtzcGFjZSBzdGF5cyB1cCB1bnRpbCB5b3UgZm9jdXMgdGhhdCBzdXJmYWNlIChvciBjbGljay9kaXNtaXNzIGl0KSwg", + "aW5zdGVhZCBvZiBiZWluZyByZXRyYWN0ZWQgd2hlbiB0aGUgd29ya3NwYWNlIGJlY29tZXMgdmlzaWJsZS4gT2ZmIHByZXNlcnZlcyB0aGUgbGVnYWN5IHdv", + "cmtzcGFjZS12aXNpYmlsaXR5IHdpdGhkcmF3LiIKICAgICAgICB9LAogICAgICAgICJhZ2VudFBlcm1pc3Npb25Qcm9tcHQiOiB7CiAgICAgICAgICAieC1j", + "bXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAg", + "ICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5hZ2VudFBlcm1pc3Npb25Qcm9tcHQiLAogICAgICAgICAgImRl", + "c2NyaXB0aW9uIjogIk5vdGlmeSB3aGVuIGFuIGFnZW50IChlLmcuIENsYXVkZSBDb2RlKSBpcyBibG9ja2VkIHdhaXRpbmcgZm9yIHlvdXIgcGVybWlzc2lv", + "biB0byBydW4gYSB0b29sLiBPbiBieSBkZWZhdWx0LCBzaW5jZSB0aGlzIGlzIHRoZSBhbGVydCB5b3UgbXVzdCBhY3Qgb24gdG8gdW5ibG9jayB0aGUgYWdl", + "bnQuIgogICAgICAgIH0sCiAgICAgICAgImFnZW50VHVybkNvbXBsZXRlIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAg", + "ICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJ3aGVuSWRsZSIsICJhbHdheXMiLCAibmV2ZXIiXSwKICAgICAgICAgICJkZWZh", + "dWx0IjogIndoZW5JZGxlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5hZ2VudFR1cm5D", + "b21wbGV0ZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiB0byBub3RpZnkgdGhhdCBhbiBhZ2VudCBmaW5pc2hlZCBhIHR1cm4uIHdoZW5JZGxl", + "IChkZWZhdWx0KSBzdXBwcmVzc2VzIHRoZSBub3RpZmljYXRpb24gd2hpbGUgdGhlIGFnZW50IHN0aWxsIGhhcyBhIHJ1bm5pbmcgYmFja2dyb3VuZCB0YXNr", + "IG9yIGEgcGVuZGluZyBzY2hlZHVsZWQgd2FrZXVwLCBzbyB5b3UgYXJlIHBpbmdlZCBvbmNlIHdvcmsgdHJ1bHkgZHJhaW5zLiBhbHdheXMgbm90aWZpZXMg", + "b24gZXZlcnkgdHVybiBlbmQ7IG5ldmVyIGRpc2FibGVzIGl0LiIKICAgICAgICB9LAogICAgICAgICJhZ2VudElkbGVSZW1pbmRlciI6IHsKICAgICAgICAg", + "ICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAg", + "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLmFnZW50SWRsZVJlbWluZGVyIiwKICAgICAgICAgICJk", + "ZXNjcmlwdGlvbiI6ICJOb3RpZnkgd2hlbiBhbiBhZ2VudCBoYXMgYmVlbiBpZGxlIHdhaXRpbmcgZm9yIHlvdXIgaW5wdXQgKGFib3V0IDYwcyBhZnRlciBh", + "IHR1cm4gZW5kcykuIFN1cHByZXNzZWQgd2hpbGUgYmFja2dyb3VuZCB3b3JrIGZyb20gdGhlIGxhc3QgdHVybiBpcyBzdGlsbCBwZW5kaW5nLCBzbyBhIHJ1", + "bm5pbmcgYnVpbGQgb3Igd2F0Y2hlciBkb2VzIG5vdCB0cmlnZ2VyIGEgZmFsc2Ugd2FpdGluZyBhbGVydC4iCiAgICAgICAgfSwKICAgICAgICAic291bmQi", + "OiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBb", + "CiAgICAgICAgICAgICJkZWZhdWx0IiwKICAgICAgICAgICAgIkJhc3NvIiwKICAgICAgICAgICAgIkJsb3ciLAogICAgICAgICAgICAiQm90dGxlIiwKICAg", + "ICAgICAgICAgIkZyb2ciLAogICAgICAgICAgICAiRnVuayIsCiAgICAgICAgICAgICJHbGFzcyIsCiAgICAgICAgICAgICJIZXJvIiwKICAgICAgICAgICAg", + "Ik1vcnNlIiwKICAgICAgICAgICAgIlBpbmciLAogICAgICAgICAgICAiUG9wIiwKICAgICAgICAgICAgIlB1cnIiLAogICAgICAgICAgICAiU29zdW1pIiwK", + "ICAgICAgICAgICAgIlN1Ym1hcmluZSIsCiAgICAgICAgICAgICJUaW5rIiwKICAgICAgICAgICAgImN1c3RvbV9maWxlIiwKICAgICAgICAgICAgIm5vbmUi", + "CiAgICAgICAgICBdLAogICAgICAgICAgImRlZmF1bHQiOiAiZGVmYXVsdCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTm90aWZpY2F0aW9uIHNvdW5k", + "IHByZXNldC4iCiAgICAgICAgfSwKICAgICAgICAiY3VzdG9tU291bmRGaWxlUGF0aCI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwi", + "XSwKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkxvY2FsIHBh", + "dGggdG8gdGhlIGN1c3RvbSBub3RpZmljYXRpb24gc291bmQgZmlsZS4iCiAgICAgICAgfSwKICAgICAgICAic291bmRPdmVycmlkZXMiOiB7CiAgICAgICAg", + "ICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAg", + "ICAgICJtYXhQcm9wZXJ0aWVzIjogMjU2LAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnNv", + "dW5kT3ZlcnJpZGVzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTcGFyc2UgcGVyLWFnZW50IGFuZCBwZXItYWxlcnQtdHlwZSBub3RpZmljYXRpb24g", + "c291bmQgb3ZlcnJpZGVzLiBNaXNzaW5nIGNlbGxzIHVzZSBub3RpZmljYXRpb25zLnNvdW5kLiIsCiAgICAgICAgICAicHJvcGVydHlOYW1lcyI6IHsKICAg", + "ICAgICAgICAgImFsbE9mIjogWwogICAgICAgICAgICAgIHsgInBhdHRlcm4iOiAiXltBLVphLXowLTkuXy1dKyQiIH0sCiAgICAgICAgICAgICAgeyAibWF4", + "TGVuZ3RoIjogNjQgfSwKICAgICAgICAgICAgICB7ICJub3QiOiB7ICJlbnVtIjogWyIuIiwgIi4uIl0gfSB9CiAgICAgICAgICAgIF0KICAgICAgICAgIH0s", + "CiAgICAgICAgICAicGF0dGVyblByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJeW0EtWmEtejAtOS5fLV0rJCI6IHsKICAgICAgICAgICAgICAidHlwZSI6", + "ICJvYmplY3QiLAogICAgICAgICAgICAgICJtYXhQcm9wZXJ0aWVzIjogMywKICAgICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwK", + "ICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICJ0dXJuRG9uZSI6IHsgIiRyZWYiOiAiIy8kZGVmcy9ub3RpZmljYXRpb25T", + "b3VuZE92ZXJyaWRlIiB9LAogICAgICAgICAgICAgICAgIm5lZWRzSW5wdXQiOiB7ICIkcmVmIjogIiMvJGRlZnMvbm90aWZpY2F0aW9uU291bmRPdmVycmlk", + "ZSIgfSwKICAgICAgICAgICAgICAgICJlcnJvclN0YWxsZWQiOiB7ICIkcmVmIjogIiMvJGRlZnMvbm90aWZpY2F0aW9uU291bmRPdmVycmlkZSIgfQogICAg", + "ICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlCiAgICAgICAgfSwK", + "ICAgICAgICAiY29tbWFuZCI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAg", + "ICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHNoZWxsIGNvbW1hbmQgdG8gcnVuIGFsb25nc2lkZSBu", + "b3RpZmljYXRpb24gZGVsaXZlcnkuIgogICAgICAgIH0sCiAgICAgICAgImhvb2tzTW9kZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAg", + "ICAgICAiZW51bSI6IFsiYXBwZW5kIiwgInJlcGxhY2UiXSwKICAgICAgICAgICJkZWZhdWx0IjogImFwcGVuZCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", + "OiAiQ29udHJvbHMgd2hldGhlciBwcm9qZWN0LWxvY2FsIG5vdGlmaWNhdGlvbiBob29rcyBhcHBlbmQgdG8gaW5oZXJpdGVkIGhvb2tzIG9yIHJlcGxhY2Ug", + "dGhlbS4iCiAgICAgICAgfSwKICAgICAgICAiaG9va3MiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAog", + "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbXBvc2FibGUgc2hlbGwgaG9va3MgdGhhdCByZWNlaXZlIG5vdGlmaWNhdGlvbiBwb2xpY3kgSlNPTiBvbiBz", + "dGRpbiBhbmQgcmV0dXJuIHVwZGF0ZWQgcG9saWN5IEpTT04gb24gc3Rkb3V0LiIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjog", + "Im9iamVjdCIsCiAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgICAicmVxdWlyZWQiOiBbImlkIiwgImNvbW1h", + "bmQiXSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgImlkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwK", + "ICAgICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN0YWJsZSBob29rIGlkZW50aWZpZXIgdXNl", + "ZCBpbiBsb2dzIGFuZCBmYWlsdXJlIGFsZXJ0cy4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29tbWFuZCI6IHsKICAgICAgICAgICAgICAg", + "ICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIi4qXFxTLioiLAog", + "ICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGNvbW1hbmQgcnVuIHdpdGggbm90aWZpY2F0aW9uIHBvbGljeSBKU09OIG9uIHN0ZGluLiIK", + "ICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJ0aW1lb3V0U2Vjb25kcyI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAg", + "ICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IDIwLAogICAgICAgICAgICAgICAgImRlc2NyaXB0", + "aW9uIjogIk1heGltdW0gdGltZSBjbXV4IHdhaXRzIGZvciB0aGlzIGhvb2sgYmVmb3JlIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0IG5vdGlmaWNhdGlvbiBi", + "ZWhhdmlvci4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiZW5hYmxlZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAog", + "ICAgICAgICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhpcyBob29rIHdpdGhvdXQg", + "cmVtb3ZpbmcgaXQuIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJzaWRl", + "YmFyIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJzaWRlYmFyIiwKICAgICAgImRlc2NyaXB0aW9uIjog", + "IlNpZGViYXIgY29udGVudCBhbmQgbWV0YWRhdGEgdmlzaWJpbGl0eSBmcm9tIFNldHRpbmdzID4gU2lkZWJhci4iLAogICAgICAidHlwZSI6ICJvYmplY3Qi", + "LAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImhpZGVBbGxEZXRhaWxzIjogewog", + "ICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhpZGUgYWxs", + "IHBlci13b3Jrc3BhY2UgZGV0YWlsIHJvd3MuIgogICAgICAgIH0sCiAgICAgICAgIndyYXBXb3Jrc3BhY2VUaXRsZXMiOiB7CiAgICAgICAgICAidHlwZSI6", + "ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxsb3cgd29ya3NwYWNlIHRpdGxlcyBp", + "biB0aGUgc2lkZWJhciB0byB3cmFwIHRvIG11bHRpcGxlIGxpbmVzIGluc3RlYWQgb2YgdHJ1bmNhdGluZyBhZnRlciBvbmUgbGluZS4iCiAgICAgICAgfSwK", + "ICAgICAgICAic2hvd1dvcmtzcGFjZURlc2NyaXB0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRy", + "dWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBjdXN0b20gd29ya3NwYWNlIGRlc2NyaXB0aW9ucyBpbiB0aGUgc2lkZWJhci4iCiAgICAgICAg", + "fSwKICAgICAgICAiYmV0YSI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwK", + "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFeHBlcmltZW50YWwgc2lkZWJhciBmZWF0dXJlcy4iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAg", + "ICAgICAgICJ3b3Jrc3BhY2VUb2RvcyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVy", + "dGllcyI6IGZhbHNlLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXb3Jrc3BhY2UgdG9kb3MgY2hlY2tsaXN0IHByZXNlbnRhdGlvbi4iLAogICAg", + "ICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgImNoZWNrbGlzdFN0eWxlIjogewogICAgICAgICAgICAgICAgICAidHlwZSI6ICJz", + "dHJpbmciLAogICAgICAgICAgICAgICAgICAiZW51bSI6IFsicG9wb3ZlciIsICJpbmxpbmUiXSwKICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiAicG9w", + "b3ZlciIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIb3cgYSByb3cncyBjaGVja2xpc3Qgb3BlbnMgZnJvbSBpdHMgc3VtbWFyeSBsaW5l", + "OiBhbiBhbmNob3JlZCBwb3BvdmVyIG9yIGlubGluZSBleHBhbnNpb24uIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAg", + "fQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImJyYW5jaExheW91dCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAi", + "ZW51bSI6IFsidmVydGljYWwiLCAiaW5saW5lIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJ2ZXJ0aWNhbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", + "U2hvdyBnaXQgYnJhbmNoIGRldGFpbHMgc3RhY2tlZCB2ZXJ0aWNhbGx5IG9yIGlubGluZS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd05vdGlmaWNhdGlv", + "bk1lc3NhZ2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlv", + "biI6ICJTaG93IHRoZSBsYXRlc3Qgbm90aWZpY2F0aW9uIHRleHQgaW4gdGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgIm5vdGlmaWNhdGlvbk1l", + "c3NhZ2VMaW5lTGltaXQiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJtYXhpbXVt", + "IjogNTAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEyLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gbGluZXMgc2hvd24gZm9yIHRoZSBsYXRl", + "c3Qgbm90aWZpY2F0aW9uIGJlbG93IGVhY2ggd29ya3NwYWNlIHRpdGxlLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", + "b25zLnNpZGViYXIubm90aWZpY2F0aW9uTWVzc2FnZUxpbmVMaW1pdCIKICAgICAgICB9LAogICAgICAgICJzaG93QnJhbmNoRGlyZWN0b3J5IjogewogICAg", + "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgd29y", + "a3NwYWNlIHdvcmtpbmcgZGlyZWN0b3J5LiIKICAgICAgICB9LAogICAgICAgICJzaG93UHVsbFJlcXVlc3RzIjogewogICAgICAgICAgInR5cGUiOiAiYm9v", + "bGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBwdWxsIHJlcXVlc3QgbWV0YWRhdGEgaW4g", + "dGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgIndhdGNoR2l0U3RhdHVzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAg", + "ICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2F0Y2ggcmVwb3NpdG9yeSBmaWxlcyBmb3Igc2lkZWJhciBicmFuY2ggYW5k", + "IHB1bGwgcmVxdWVzdCBtZXRhZGF0YSB3aXRob3V0IHBvbGxpbmcgZ2l0LiIKICAgICAgICB9LAogICAgICAgICJtYWtlUHVsbFJlcXVlc3RzQ2xpY2thYmxl", + "IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxs", + "b3cgc2lkZWJhciBwdWxsIHJlcXVlc3QgbWV0YWRhdGEgdG8gb3BlbiBsaW5rcyB3aGVuIGNsaWNrZWQuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5QdWxs", + "UmVxdWVzdExpbmtzSW5DbXV4QnJvd3NlciI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAg", + "ICAgICAgImRlc2NyaXB0aW9uIjogIk9wZW4gc2lkZWJhciBwdWxsIHJlcXVlc3QgbGlua3MgaW4gdGhlIGVtYmVkZGVkIGNtdXggYnJvd3Nlci4iCiAgICAg", + "ICAgfSwKICAgICAgICAib3BlblBvcnRMaW5rc0luQ211eEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZh", + "dWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVuIHNpZGViYXIgcG9ydCBsaW5rcyBpbiB0aGUgZW1iZWRkZWQgY211eCBicm93c2Vy", + "LiIKICAgICAgICB9LAogICAgICAgICJzaG93U1NIIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUs", + "CiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBTU0ggY29ubmVjdGlvbiBkZXRhaWxzLiIKICAgICAgICB9LAogICAgICAgICJzaG93UG9ydHMiOiB7", + "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGxp", + "c3RlbmluZyBwb3J0cy4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0xvZyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRl", + "ZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgcmVjZW50IGxvZyBzbmlwcGV0cy4iCiAgICAgICAgfSwKICAgICAgICAic2hv", + "d1Byb2dyZXNzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRp", + "b24iOiAiU2hvdyBwcm9ncmVzcyBpbmRpY2F0b3JzLiIKICAgICAgICB9LAogICAgICAgICJzaG93QWdlbnRBY3Rpdml0eSI6IHsKICAgICAgICAgICJ0eXBl", + "IjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGxvYWRpbmcgc3Bpbm5l", + "ciBvbiB3b3Jrc3BhY2VzIHdpdGggcnVubmluZyBjb2RpbmcgYWdlbnRzIG9yIGFjdGl2ZSBsb2FkZXJzLiIKICAgICAgICB9LAogICAgICAgICJsb2FkaW5n", + "U3Bpbm5lclBvc2l0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJsZWFkaW5nIiwgInRyYWlsaW5nIl0s", + "CiAgICAgICAgICAiZGVmYXVsdCI6ICJsZWFkaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGljaCBzaWRlIG9mIHRoZSB3b3Jrc3BhY2Ugcm93", + "IHRoZSBsb2FkaW5nIHNwaW5uZXIgYXBwZWFycyBvbjogbGVhZGluZyAobGVmdCwgc2hhcmluZyB0aGUgdW5yZWFkLWJhZGdlIHNsb3QpIG9yIHRyYWlsaW5n", + "IChyaWdodCkuIgogICAgICAgIH0sCiAgICAgICAgIm5vdGlmaWNhdGlvbkJhZGdlUG9zaXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAog", + "ICAgICAgICAgImVudW0iOiBbImxlYWRpbmciLCAidHJhaWxpbmciXSwKICAgICAgICAgICJkZWZhdWx0IjogImxlYWRpbmciLAogICAgICAgICAgImRlc2Ny", + "aXB0aW9uIjogIldoaWNoIHNpZGUgb2YgdGhlIHdvcmtzcGFjZSByb3cgdGhlIHVucmVhZCBub3RpZmljYXRpb24gYmFkZ2UgYXBwZWFycyBvbjogbGVhZGlu", + "ZyAobGVmdCkgb3IgdHJhaWxpbmcgKHJpZ2h0KS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0N1c3RvbU1ldGFkYXRhIjogewogICAgICAgICAgInR5cGUi", + "OiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBjdXN0b20gbWV0YWRhdGEgcGls", + "bHMuIgogICAgICAgIH0sCiAgICAgICAgInJpZ2h0TWF4V2lkdGgiOiB7CiAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgImV4Y2x1c2l2", + "ZU1pbmltdW0iOiAwLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5zaWRlYmFyLnJpZ2h0TWF4V2lkdGgiLAogICAg", + "ICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gd2lkdGggaW4gcG9pbnRzIGZvciB0aGUgcmlnaHQgc2lkZWJhci4gV2hlbiBvbWl0dGVkLCB0aGUgYnVp", + "bHQtaW4gZHluYW1pYyBjYXAgYXBwbGllcy4iCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIndvcmtzcGFjZUNvbG9ycyI6IHsKICAgICAgIngtY211", + "eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAid29ya3NwYWNlQ29sb3JzIiwKICAgICAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSB0", + "YWIgYW5kIGJhZGdlIGNvbG9ycyBmcm9tIFNldHRpbmdzID4gV29ya3NwYWNlIENvbG9ycy4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRk", + "aXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImluZGljYXRvclN0eWxlIjogewogICAgICAgICAgInR5", + "cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAibGVmdFJhaWwiLAogICAgICAgICAgICAic29saWRGaWxsIiwKICAgICAg", + "ICAgICAgInJhaWwiLAogICAgICAgICAgICAiYm9yZGVyIiwKICAgICAgICAgICAgIndhc2giLAogICAgICAgICAgICAibGlmdCIsCiAgICAgICAgICAgICJ0", + "eXBvZ3JhcGh5IiwKICAgICAgICAgICAgIndhc2hSYWlsIiwKICAgICAgICAgICAgImJsdWVXYXNoQ29sb3JSYWlsIgogICAgICAgICAgXSwKICAgICAgICAg", + "ICJkZWZhdWx0IjogImxlZnRSYWlsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBY3RpdmUgd29ya3NwYWNlIGluZGljYXRvciBzdHlsZS4gTGVnYWN5", + "IGFsaWFzZXMgYXJlIGFjY2VwdGVkIGFuZCBub3JtYWxpemVkLiIKICAgICAgICB9LAogICAgICAgICJzZWxlY3Rpb25Db2xvciI6IHsKICAgICAgICAgICIk", + "cmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk92ZXJy", + "aWRlIHRoZSBzZWxlY3RlZCB3b3Jrc3BhY2UgYmFja2dyb3VuZCBjb2xvci4iCiAgICAgICAgfSwKICAgICAgICAibm90aWZpY2F0aW9uQmFkZ2VDb2xvciI6", + "IHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2Ny", + "aXB0aW9uIjogIk92ZXJyaWRlIHRoZSB1bnJlYWQgbm90aWZpY2F0aW9uIGJhZGdlIGNvbG9yLiIKICAgICAgICB9LAogICAgICAgICJjb2xvcnMiOiB7CiAg", + "ICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZ1bGwgbmFtZWQgd29ya3NwYWNlIGNvbG9yIHBhbGV0dGUuIElu", + "Y2x1ZGUgYnVpbHQtaW4gZW50cmllcyB5b3Ugd2FudCB0byBrZWVwLCByZW1vdmUga2V5cyB0byByZW1vdmUgY29sb3JzLCBhbmQgYWRkIG1vcmUgbmFtZWQg", + "ZW50cmllcyB0byBleHRlbmQgdGhlIHBpY2tlci4iLAogICAgICAgICAgImRlZmF1bHQiOiB7CiAgICAgICAgICAgICJSZWQiOiAiI0MwMzkyQiIsCiAgICAg", + "ICAgICAgICJDcmltc29uIjogIiM5MjJCMjEiLAogICAgICAgICAgICAiT3JhbmdlIjogIiNBMDQwMDAiLAogICAgICAgICAgICAiQW1iZXIiOiAiIzdENjYw", + "OCIsCiAgICAgICAgICAgICJPbGl2ZSI6ICIjNEE1QzE4IiwKICAgICAgICAgICAgIkdyZWVuIjogIiMxOTZGM0QiLAogICAgICAgICAgICAiVGVhbCI6ICIj", + "MDA2QjZCIiwKICAgICAgICAgICAgIkFxdWEiOiAiIzBFNkI4QyIsCiAgICAgICAgICAgICJCbHVlIjogIiMxNTY1QzAiLAogICAgICAgICAgICAiTmF2eSI6", + "ICIjMUE1Mjc2IiwKICAgICAgICAgICAgIkluZGlnbyI6ICIjMjgzNTkzIiwKICAgICAgICAgICAgIlB1cnBsZSI6ICIjNkExQjlBIiwKICAgICAgICAgICAg", + "Ik1hZ2VudGEiOiAiI0FEMTQ1NyIsCiAgICAgICAgICAgICJSb3NlIjogIiM4ODBFNEYiLAogICAgICAgICAgICAiQnJvd24iOiAiIzdCM0YwMCIsCiAgICAg", + "ICAgICAgICJDaGFyY29hbCI6ICIjM0U0QjVFIgogICAgICAgICAgfSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAg", + "IiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJwYWxldHRlT3ZlcnJpZGVzIjogewogICAgICAgICAg", + "InR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgd29ya3NwYWNlIGNvbG9yIG92ZXJyaWRlcyBmb3IgYnVpbHQtaW4g", + "cGFsZXR0ZSBuYW1lcy4gUHJlZmVyIHdvcmtzcGFjZUNvbG9ycy5jb2xvcnMgZm9yIG5ldyBjb25maWdzLiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHt9LAog", + "ICAgICAgICAgImRlcHJlY2F0ZWQiOiB0cnVlLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiJHJlZiI6ICIjLyRk", + "ZWZzL2NvbG9ySGV4IgogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImN1c3RvbUNvbG9ycyI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwK", + "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgbGlzdCBvZiBjdXN0b20gd29ya3NwYWNlIGNvbG9ycy4gUHJlZmVyIHdvcmtzcGFjZUNvbG9ycy5j", + "b2xvcnMgZm9yIG5ldyBjb25maWdzLiIsCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlcHJlY2F0ZWQiOiB0cnVlLAogICAgICAgICAg", + "Iml0ZW1zIjogewogICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAg", + "ICJzaWRlYmFyQXBwZWFyYW5jZSI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAic2lkZWJhckFwcGVhcmFu", + "Y2UiLAogICAgICAiZGVzY3JpcHRpb24iOiAiU2lkZWJhciB0aW50IHNldHRpbmdzIGZyb20gU2V0dGluZ3MgPiBTaWRlYmFyIEFwcGVhcmFuY2UuIiwKICAg", + "ICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJt", + "YXRjaFRlcm1pbmFsQmFja2dyb3VuZCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAg", + "ICAgICJkZXNjcmlwdGlvbiI6ICJVc2UgdGhlIHRlcm1pbmFsIGJhY2tncm91bmQgaW5zdGVhZCBvZiB0aGUgc2lkZWJhciB0aW50LiIKICAgICAgICB9LAog", + "ICAgICAgICJ0aW50Q29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IiwKICAgICAgICAgICJkZWZhdWx0IjogIiMwMDAwMDAi", + "LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkJhc2Ugc2lkZWJhciB0aW50IGNvbG9yIHVzZWQgd2hlbiBsaWdodC9kYXJrIG92ZXJyaWRlcyBhcmUgbm90", + "IHNldC4iCiAgICAgICAgfSwKICAgICAgICAibGlnaHRNb2RlVGludENvbG9yIjogewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleE9yTnVs", + "bCIsCiAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2lkZWJhciB0aW50IG92ZXJyaWRlIGZvciBsaWdodCBh", + "cHBlYXJhbmNlLiIKICAgICAgICB9LAogICAgICAgICJkYXJrTW9kZVRpbnRDb2xvciI6IHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhP", + "ck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIgdGludCBvdmVycmlkZSBmb3IgZGFy", + "ayBhcHBlYXJhbmNlLiIKICAgICAgICB9LAogICAgICAgICJ0aW50T3BhY2l0eSI6IHsKICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAi", + "bWluaW11bSI6IDAsCiAgICAgICAgICAibWF4aW11bSI6IDEsCiAgICAgICAgICAiZGVmYXVsdCI6IDAuMDMsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", + "U2lkZWJhciB0aW50IG9wYWNpdHkgZnJvbSAwIHRvIDEuIE5vdGU6IHRoaXMgb25seSBjb250cm9scyB0aGUgc2lkZWJhciB0aW50LCBub3QgdGVybWluYWwv", + "d2luZG93IHRyYW5zcGFyZW5jeS4gRm9yIHRlcm1pbmFsIGJhY2tncm91bmQgdHJhbnNwYXJlbmN5IG9yIGJsdXIsIHNldCBgYmFja2dyb3VuZC1vcGFjaXR5", + "YCBhbmQgYGJhY2tncm91bmQtYmx1cmAgaW4gYH4vLmNvbmZpZy9naG9zdHR5L2NvbmZpZ2AgYW5kIHJ1biBgY211eCByZWxvYWQtY29uZmlnYC4iCiAgICAg", + "ICAgfQogICAgICB9CiAgICB9LAogICAgImF1dG9tYXRpb24iOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjog", + "ImF1dG9tYXRpb24iLAogICAgICAiZGVzY3JpcHRpb24iOiAiU29ja2V0IGNvbnRyb2wgYW5kIGF1dG9tYXRpb24gc2V0dGluZ3MgZnJvbSBTZXR0aW5ncyA+", + "IEF1dG9tYXRpb24uIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0", + "aWVzIjogewogICAgICAgICJzb2NrZXRDb250cm9sTW9kZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsKICAg", + "ICAgICAgICAgIm9mZiIsCiAgICAgICAgICAgICJjbXV4T25seSIsCiAgICAgICAgICAgICJhdXRvbWF0aW9uIiwKICAgICAgICAgICAgInBhc3N3b3JkIiwK", + "ICAgICAgICAgICAgImFsbG93QWxsIiwKICAgICAgICAgICAgIm9wZW5BY2Nlc3MiLAogICAgICAgICAgICAiZnVsbE9wZW5BY2Nlc3MiLAogICAgICAgICAg", + "ICAibm90aWZpY2F0aW9ucyIsCiAgICAgICAgICAgICJmdWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogImNtdXhPbmx5IiwKICAgICAg", + "ICAgICJkZXNjcmlwdGlvbiI6ICJTb2NrZXQgY29udHJvbCBtb2RlLiBMZWdhY3kgYWxpYXNlcyBhcmUgYWNjZXB0ZWQgYW5kIG5vcm1hbGl6ZWQuIgogICAg", + "ICAgIH0sCiAgICAgICAgInNvY2tldFBhc3N3b3JkIjogewogICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInR5cGUi", + "OiAic3RyaW5nIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVsbCIKICAgICAgICAgICAgfQogICAgICAg", + "ICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUGFzc3dvcmQgZm9yIHBhc3N3b3JkLW1vZGUgc29ja2V0", + "IGFjY2Vzcy4gVXNlIG51bGwgb3IgYW4gZW1wdHkgc3RyaW5nIHRvIGNsZWFyIGl0LiIKICAgICAgICB9LAogICAgICAgICJjbGF1ZGVDb2RlSW50ZWdyYXRp", + "b24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJF", + "bmFibGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgQ2xhdWRlIENvZGUuIgogICAgICAgIH0sCiAgICAgICAgImNsYXVkZUJpbmFyeVBhdGgiOiB7CiAg", + "ICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDdXN0b20gcGF0aCB0", + "byB0aGUgY2xhdWRlIGJpbmFyeS4iCiAgICAgICAgfSwKICAgICAgICAid29ya3NwYWNlQXV0b05hbWluZyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", + "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXV0b21hdGlv", + "bi53b3Jrc3BhY2VBdXRvTmFtaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHQtaW4gQUkgYXV0by1uYW1pbmcgb2Ygd29ya3NwYWNlcyBhbmQg", + "dGFicyBmcm9tIGFnZW50IGNvbnZlcnNhdGlvbiBjb250ZW50LiBXaGVuIGVuYWJsZWQsIGNtdXggc3VtbWFyaXplcyBzdXBwb3J0ZWQgYWdlbnQgc2Vzc2lv", + "bnMgaW50byBzaG9ydCB0aXRsZXMgdXNpbmcgZWFjaCBhZ2VudCdzIG93biBiaW5hcnk7IG1hbnVhbCByZW5hbWVzIGFsd2F5cyB3aW4uIgogICAgICAgIH0s", + "CiAgICAgICAgImF1dG9OYW1pbmdBZ2VudCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICJhdXRvIiwKICAg", + "ICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXV0b21hdGlvbi5hdXRvTmFtaW5nQWdlbnQiLAogICAgICAgICAgImRlc2Ny", + "aXB0aW9uIjogIldoaWNoIGFnZW50IGdlbmVyYXRlcyBhdXRvLW5hbWVzIGZvciBldmVyeSBzZXNzaW9uLiBcImF1dG9cIiAoZGVmYXVsdCkgbmFtZXMgZWFj", + "aCBzZXNzaW9uIHdpdGggaXRzIG93biBhZ2VudDsgYW55IGFnZW50IHNsdWcgKGNsYXVkZSwgY29kZXgsIGdyb2ssIG9wZW5jb2RlLCBwaSwgb21wLCDigKYp", + "IG92ZXJyaWRlcyBuYW1pbmcgZm9yIGFsbCBzZXNzaW9ucywgZXZlbiBvdGhlciBhZ2VudHMnIHNlc3Npb25zLiBVbmRyaXZlYWJsZSBvciB1bmluc3RhbGxl", + "ZCBhZ2VudHMgZmFsbCBiYWNrIHRvIHRoZSBzZXNzaW9uJ3Mgb3duIGFnZW50LCBzbyBuYW1pbmcgbmV2ZXIgYnJlYWtzLiIKICAgICAgICB9LAogICAgICAg", + "ICJyaXBncmVwQmluYXJ5UGF0aCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRl", + "c2NyaXB0aW9uIjogIkN1c3RvbSBwYXRoIHRvIHRoZSByaXBncmVwIChyZykgYmluYXJ5IHVzZWQgYnkgcHJvamVjdCBzZWFyY2guIgogICAgICAgIH0sCiAg", + "ICAgICAgInN1cHByZXNzU3ViYWdlbnROb3RpZmljYXRpb25zIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6", + "IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24uc3VwcHJlc3NTdWJhZ2VudE5vdGlmaWNh", + "dGlvbnMiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN1cHByZXNzIHZpc2libGUgY29tcGxldGlvbiBub3RpZmljYXRpb25zIGFuZCBzdGF0dXMgbXV0", + "YXRpb25zIGZyb20gbmVzdGVkIENvZGV4IG9yIENsYXVkZSBjaGlsZCBhZ2VudHMgd2hpbGUga2VlcGluZyB0aGVpciBldmVudHMgaW4gRmVlZCB0ZWxlbWV0", + "cnkuIgogICAgICAgIH0sCiAgICAgICAgImFtcEludGVncmF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVs", + "dCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24uYW1wSW50ZWdyYXRpb24iLAogICAg", + "ICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBjbXV4IGludGVncmF0aW9uIGhvb2tzIGZvciBBbXAuIFdoZW4gZGlzYWJsZWQsIHRoZSBidW5kbGVkIHBs", + "dWdpbiBzdGF5cyBpbmFjdGl2ZSB3aXRob3V0IG5lZWRpbmcgdG8gYmUgcmVtb3ZlZC4iCiAgICAgICAgfSwKICAgICAgICAiY3Vyc29ySW50ZWdyYXRpb24i", + "OiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFi", + "bGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgQ3Vyc29yLiIKICAgICAgICB9LAogICAgICAgICJnZW1pbmlJbnRlZ3JhdGlvbiI6IHsKICAgICAgICAg", + "ICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBjbXV4IGludGVn", + "cmF0aW9uIGhvb2tzIGZvciBHZW1pbmkuIgogICAgICAgIH0sCiAgICAgICAgImtpcm9JbnRlZ3JhdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", + "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBjbXV4IGludGVncmF0aW9uIGhvb2tzIGZv", + "ciBLaXJvIENMSS4iCiAgICAgICAgfSwKICAgICAgICAia2lyb05vdGlmaWNhdGlvbkxldmVsIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAg", + "ICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAibWluaW1hbCIsCiAgICAgICAgICAgICJzdGFuZGFyZCIsCiAgICAgICAgICAgICJ2ZXJib3NlIgogICAg", + "ICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogInN0YW5kYXJkIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb250cm9scyBob3cgbWFueSBLaXJv", + "IHRvb2wgZXZlbnRzIGFwcGVhciBpbiBGZWVkLiIKICAgICAgICB9LAogICAgICAgICJwb3J0QmFzZSI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIi", + "LAogICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgImRlZmF1bHQiOiA5MTAwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN0YXJ0aW5nIHZh", + "bHVlIGZvciB3b3Jrc3BhY2UgQ01VWF9QT1JUIGFzc2lnbm1lbnRzLiIKICAgICAgICB9LAogICAgICAgICJwb3J0UmFuZ2UiOiB7CiAgICAgICAgICAidHlw", + "ZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJkZWZhdWx0IjogMTAsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", + "TnVtYmVyIG9mIHBvcnRzIHJlc2VydmVkIHBlciB3b3Jrc3BhY2UuIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJicm93c2VyIjogewogICAgICAi", + "eC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJicm93c2VyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkVtYmVkZGVkIGJyb3dz", + "ZXIgc2V0dGluZ3MgZnJvbSBTZXR0aW5ncyA+IEJyb3dzZXIuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVz", + "IjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJkZWZhdWx0U2VhcmNoRW5naW5lIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5n", + "IiwKICAgICAgICAgICJlbnVtIjogWyJnb29nbGUiLCAiZHVja2R1Y2tnbyIsICJiaW5nIiwgImthZ2kiLCAic3RhcnRwYWdlIiwgImJyYXZlIiwgInBlcnBs", + "ZXhpdHkiLCAiZXhhIiwgInlhaG9vIiwgImVjb3NpYSIsICJxd2FudCIsICJtb2plZWsiLCAid2lraXBlZGlhIiwgImdpdGh1YiIsICJiYWlkdSIsICJ5YW5k", + "ZXgiLCAiY3VzdG9tIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJnb29nbGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0", + "aW9ucy5icm93c2VyLmRlZmF1bHRTZWFyY2hFbmdpbmUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgc2VhcmNoIGVuZ2luZSBmb3Igbm9u", + "LVVSTCBicm93c2VyIGFkZHJlc3MgYmFyIHF1ZXJpZXMuIFVzZSBjdXN0b20gd2l0aCBjdXN0b21TZWFyY2hFbmdpbmVVUkxUZW1wbGF0ZSBmb3IgYXJiaXRy", + "YXJ5IHByb3ZpZGVycy4iCiAgICAgICAgfSwKICAgICAgICAiY3VzdG9tU2VhcmNoRW5naW5lTmFtZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIs", + "CiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmN1c3RvbVNl", + "YXJjaEVuZ2luZU5hbWUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbmFtZSB1c2VkIHdoZW4gZGVmYXVsdFNlYXJjaEVuZ2luZSBpcyBj", + "dXN0b20uIgogICAgICAgIH0sCiAgICAgICAgImN1c3RvbVNlYXJjaEVuZ2luZVVSTFRlbXBsYXRlIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwK", + "ICAgICAgICAgICJkZWZhdWx0IjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vc2VhcmNoP3E9e3F1ZXJ5fSIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXki", + "OiAic2NoZW1hRGVzY3JpcHRpb25zLmJyb3dzZXIuY3VzdG9tU2VhcmNoRW5naW5lVVJMVGVtcGxhdGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNl", + "YXJjaCBVUkwgdXNlZCB3aGVuIGRlZmF1bHRTZWFyY2hFbmdpbmUgaXMgY3VzdG9tLiBJbmNsdWRlIHtxdWVyeX0gb3IgJXMgZm9yIHRoZSBlbmNvZGVkIHF1", + "ZXJ5LiBJZiBvbWl0dGVkLCBjbXV4IGFwcGVuZHMgcT0gdG8gdGhlIFVSTC4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1NlYXJjaFN1Z2dlc3Rpb25zIjog", + "ewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBv", + "bW5pYmFyIHNlYXJjaCBzdWdnZXN0aW9ucy4iCiAgICAgICAgfSwKICAgICAgICAidGhlbWUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAg", + "ICAgICAgImVudW0iOiBbInN5c3RlbSIsICJsaWdodCIsICJkYXJrIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzeXN0ZW0iLAogICAgICAgICAgImRlc2Ny", + "aXB0aW9uIjogIkVtYmVkZGVkIGJyb3dzZXIgdGhlbWUuIgogICAgICAgIH0sCiAgICAgICAgImRlZmF1bHRab29tTGV2ZWwiOiB7CiAgICAgICAgICAidHlw", + "ZSI6ICJudW1iZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAwLjI1LAogICAgICAgICAgIm1heGltdW0iOiA1LAogICAgICAgICAgImRlZmF1bHQiOiAxLAog", + "ICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmRlZmF1bHRab29tTGV2ZWwiLAogICAgICAgICAgImRlc2Ny", + "aXB0aW9uIjogIkRlZmF1bHQgcGFnZSB6b29tIGZhY3RvciBhcHBsaWVkIHRvIG5ld2x5IG9wZW5lZCBicm93c2VyIHBhZ2VzICgxID0gMTAwJSkuIFpvb20g", + "SW4sIFpvb20gT3V0LCBhbmQgQWN0dWFsIFNpemUgc3RpbGwgYWRqdXN0IGVhY2ggcGFnZS4iCiAgICAgICAgfSwKICAgICAgICAiZGlzY2FyZEhpZGRlbldl", + "YlZpZXdzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", + "OiAiQWxsb3cgaGlkZGVuIGJyb3dzZXIgdGFicyB0byByZWxlYXNlIHBhZ2UgbWVtb3J5IGFuZCByZXN0b3JlIHdoZW4gc2hvd24gYWdhaW4uIgogICAgICAg", + "IH0sCiAgICAgICAgImhpZGRlbldlYlZpZXdEaXNjYXJkRGVsYXlTZWNvbmRzIjogewogICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICJt", + "aW5pbXVtIjogMCwKICAgICAgICAgICJtYXhpbXVtIjogMzYwMCwKICAgICAgICAgICJkZWZhdWx0IjogMzAwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", + "IlNlY29uZHMgYSBicm93c2VyIHRhYiBtdXN0IHN0YXkgaGlkZGVuIGJlZm9yZSBjbXV4IGZyZWVzIGl0cyBwYWdlIG1lbW9yeS4iCiAgICAgICAgfSwKICAg", + "ICAgICAiYXNrV2hlcmVUb1NhdmVEb3dubG9hZHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2Us", + "CiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmJyb3dzZXIuYXNrV2hlcmVUb1NhdmVEb3dubG9hZHMiLAogICAgICAg", + "ICAgImRlc2NyaXB0aW9uIjogIlNob3cgYSBzYXZlIHBhbmVsIGZvciBicm93c2VyIGRvd25sb2FkcyBpbnN0ZWFkIG9mIHNhdmluZyBkaXJlY3RseSB0byBE", + "b3dubG9hZHMuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5UZXJtaW5hbExpbmtzSW5DbXV4QnJvd3NlciI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", + "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wZW4gY2xpY2tlZCB0ZXJtaW5hbCBsaW5rcyBpbiB0", + "aGUgZW1iZWRkZWQgYnJvd3Nlci4iCiAgICAgICAgfSwKICAgICAgICAiaW50ZXJjZXB0VGVybWluYWxPcGVuQ29tbWFuZEluQ211eEJyb3dzZXIiOiB7CiAg", + "ICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJJbnRlcmNlcHQg", + "dGVybWluYWwgb3BlbiBodHRwKHMpIGNvbW1hbmRzIGFuZCByb3V0ZSB0aGVtIHRocm91Z2ggdGhlIGVtYmVkZGVkIGJyb3dzZXIuIgogICAgICAgIH0sCiAg", + "ICAgICAgImhvc3RzVG9PcGVuSW5FbWJlZGRlZEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAg", + "ICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", + "IkFsbG93bGlzdCBvZiBob3N0cyB0aGF0IHNob3VsZCBzdGF5IGluc2lkZSB0aGUgZW1iZWRkZWQgYnJvd3Nlci4iCiAgICAgICAgfSwKICAgICAgICAidXJs", + "c1RvQWx3YXlzT3BlbkV4dGVybmFsbHkiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0", + "eXBlIjogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJ1bGVzIHRoYXQg", + "YWx3YXlzIG9wZW4gbWF0Y2hpbmcgVVJMcyBpbiB0aGUgc3lzdGVtIGJyb3dzZXIuIgogICAgICAgIH0sCiAgICAgICAgImluc2VjdXJlSHR0cEhvc3RzQWxs", + "b3dlZEluRW1iZWRkZWRCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlw", + "ZSI6ICJzdHJpbmciCiAgICAgICAgICB9LAogICAgICAgICAgImRlZmF1bHQiOiBbCiAgICAgICAgICAgICJsb2NhbGhvc3QiLAogICAgICAgICAgICAiKi5s", + "b2NhbGhvc3QiLAogICAgICAgICAgICAiMTI3LjAuMC4xIiwKICAgICAgICAgICAgIjo6MSIsCiAgICAgICAgICAgICIwLjAuMC4wIiwKICAgICAgICAgICAg", + "IioubG9jYWx0ZXN0Lm1lIgogICAgICAgICAgXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIVFRQIGhvc3RzIGFsbG93ZWQgaW4gdGhlIGVtYmVkZGVk", + "IGJyb3dzZXIgd2l0aG91dCBhIHdhcm5pbmcgcHJvbXB0LiIKICAgICAgICB9LAogICAgICAgICJ1cmxBbGxvd2xpc3QiOiB7CiAgICAgICAgICAidHlwZSI6", + "ICJhcnJheSIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVzY3Jp", + "cHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmJyb3dzZXIudXJsQWxsb3dsaXN0IiwKICAgICAgICAgICJkZWZhdWx0IjogWwogICAgICAgICAgICAi", + "bG9jYWxob3N0IiwKICAgICAgICAgICAgIioubG9jYWxob3N0IiwKICAgICAgICAgICAgIjEyNy4wLjAuMSIsCiAgICAgICAgICAgICI6OjEiLAogICAgICAg", + "ICAgICAiMC4wLjAuMCIsCiAgICAgICAgICAgICIqLmxvY2FsdGVzdC5tZSIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG9zdCBv", + "ciBVUkwgcGF0dGVybnMgdGhhdCByZXN0cmljdCBlbWJlZGRlZC1icm93c2VyIG5hdmlnYXRpb24uIFRoZSBTZXR0aW5ncyBVSSBzdWdnZXN0cyBsb2NhbCBk", + "ZXZlbG9wbWVudCBvcmlnaW5zOyBzYXZpbmcgYSBsaXN0IG9wdHMgaW50byB0aGUgb3B0aW9uYWwgcmVzdHJpY3Rpb24uIFJlbW92ZSBlbnRyaWVzIHRvIGJs", + "b2NrIHRoZW0sIG9yIGxlYXZlIHRoZSB1c2VyIHZhbHVlIGVtcHR5IHRvIGRpc2FibGUgaXQgd2hlbiBubyBtYW5hZ2VkIHBvbGljeSBhcHBsaWVzLiIKICAg", + "ICAgICB9LAogICAgICAgICJzaG93SW1wb3J0SGludE9uQmxhbmtUYWJzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVm", + "YXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgYnJvd3NlciBpbXBvcnQgaGludCBvbiBibGFuayB0YWJzLiIKICAgICAg", + "ICB9LAogICAgICAgICJyZWFjdEdyYWJWZXJzaW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIjAuMS4y", + "OSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUGlubmVkIHJlYWN0LWdyYWIgdmVyc2lvbiBmb3IgdGhlIGJyb3dzZXIgdG9vbGJhciBoZWxwZXIuIgog", + "ICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJtb2JpbGUiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjog", + "Im1vYmlsZSIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJNYWMtc2lkZSBzZXR0aW5ncyBmb3IgY211eCBvbiBpT1MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0", + "IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJhcnRpZmFjdEZvbGRlckFjY2Vz", + "cyI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsic3VidHJlZSIsICJvbmVMZXZlbCJdLAogICAgICAgICAgImRl", + "ZmF1bHQiOiAic3VidHJlZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29udHJvbHMgd2hldGhlciBhIHJlZmVyZW5jZWQgb3IgdGVybWluYWwtdmlz", + "aWJsZSBkaXJlY3RvcnkgYXV0aG9yaXplcyBpdHMgZnVsbCBjYW5vbmljYWwgc3VidHJlZSBvciBvbmx5IGltbWVkaWF0ZSBjaGlsZHJlbi4iCiAgICAgICAg", + "fQogICAgICB9CiAgICB9LAogICAgIm1hcmtkb3duIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJtYXJr", + "ZG93biIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJCdWlsdC1pbiBtYXJrZG93biB2aWV3ZXIgc2V0dGluZ3MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwK", + "ICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJmb250U2l6ZSI6IHsKICAgICAgICAg", + "ICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgIm1pbmltdW0iOiA4LAogICAgICAgICAgIm1heGltdW0iOiA5NiwKICAgICAgICAgICJkZWZhdWx0Ijog", + "MTUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVmYXVsdCBib2R5IGZvbnQgc2l6ZSwgaW4gcG9pbnRzLCBmb3IgbmV3bHkgb3BlbmVkIG1hcmtkb3du", + "IHZpZXdlcnMuIFpvb20gYSB2aWV3ZXIgbGl2ZSB3aXRoIENtZC0rIC8gQ21kLS0gLyBDbWQtMC4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNj", + "aGVtYURlc2NyaXB0aW9ucy5tYXJrZG93bi5mb250U2l6ZSIKICAgICAgICB9LAogICAgICAgICJmb250RmFtaWx5IjogewogICAgICAgICAgInR5cGUiOiAi", + "c3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVmYXVsdCBib2R5IGZvbnQgZmFtaWx5IGZvciBu", + "ZXdseSBvcGVuZWQgbWFya2Rvd24gdmlld2Vycy4gTGVhdmUgZW1wdHkgZm9yIHRoZSBzeXN0ZW0gbWFya2Rvd24gZm9udCBzdGFjay4iLAogICAgICAgICAg", + "ImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5tYXJrZG93bi5mb250RmFtaWx5IgogICAgICAgIH0sCiAgICAgICAgIm1heFdpZHRoIjog", + "ewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDMyMCwKICAgICAgICAgICJtYXhpbXVtIjogMjQwMCwKICAgICAg", + "ICAgICJkZWZhdWx0IjogOTgwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgbWF4aW11bSByZWFkaW5nIGNvbHVtbiB3aWR0aCwgaW4gQ1NT", + "IHBpeGVscywgZm9yIG5ld2x5IG9wZW5lZCBtYXJrZG93biB2aWV3ZXJzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", + "b25zLm1hcmtkb3duLm1heFdpZHRoIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJjYW52YXMiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJn", + "bG9iYWwiXSwKICAgICAgInRpdGxlIjogImNhbnZhcyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGcmVlZm9ybSBjYW52YXMgd29ya3NwYWNlIGxheW91dCBz", + "ZXR0aW5ncy4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMi", + "OiB7CiAgICAgICAgInBhbmVHYXAiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMCwKICAgICAgICAgICJt", + "YXhpbXVtIjogNjQsCiAgICAgICAgICAiZGVmYXVsdCI6IDE2LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNwYWNpbmcgYmV0d2VlbiBwYW5lcyBpbiB0", + "aGUgY2FudmFzIGxheW91dCwgaW4gcG9pbnRzLiBTbmFwcGluZywgdGlkeSwgYW5kIG5ldy1wYW5lIHBsYWNlbWVudCBhbGwgdXNlIHRoaXMgb25lIGdhcC4i", + "LAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5jYW52YXMucGFuZUdhcCIKICAgICAgICB9LAogICAgICAgICJzbmFw", + "cGluZ0VuYWJsZWQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlw", + "dGlvbiI6ICJTbmFwIHBhbmUgZHJhZ3MgYW5kIHJlc2l6ZXMgdG8gbmVpZ2hib3IgZWRnZXMgYW5kIHRoZSBwYW5lIGdhcC4gSG9sZCBDb21tYW5kIHRvIHN1", + "c3BlbmQgc25hcHBpbmcgZm9yIG9uZSBnZXN0dXJlLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmNhbnZhcy5z", + "bmFwcGluZ0VuYWJsZWQiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImZpbGVFZGl0b3IiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9i", + "YWwiXSwKICAgICAgInRpdGxlIjogImZpbGVFZGl0b3IiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQnVpbHQtaW4gZmlsZSBlZGl0b3Igc2V0dGluZ3MuIiwK", + "ICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAg", + "ICJ3b3JkV3JhcCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlw", + "dGlvbiI6ICJXcmFwIGxvbmcgbGluZXMgYXQgdGhlIGVkaXRvcidzIHJpZ2h0IGVkZ2UgaW5zdGVhZCBvZiBzY3JvbGxpbmcgaG9yaXpvbnRhbGx5LiIsCiAg", + "ICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3Iud29yZFdyYXAiCiAgICAgICAgfSwKICAgICAgICAic3lu", + "dGF4SGlnaGxpZ2h0aW5nIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVz", + "Y3JpcHRpb24iOiAiQ29sb3Igc291cmNlIHRva2VucyBpbiB0aGUgYnVpbHQtaW4gZmlsZSBlZGl0b3IuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6", + "ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5zeW50YXhIaWdobGlnaHRpbmciCiAgICAgICAgfSwKICAgICAgICAibGluZU51bWJlcnMiOiB7CiAg", + "ICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGEgbGlu", + "ZS1udW1iZXIgZ3V0dGVyIGluIHRoZSBidWlsdC1pbiBmaWxlIGVkaXRvci4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0", + "aW9ucy5maWxlRWRpdG9yLmxpbmVOdW1iZXJzIgogICAgICAgIH0sCiAgICAgICAgImluZGVudEd1aWRlcyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", + "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRyYXcgdmVydGljYWwgaW5kZW50IGd1aWRlcyBpbiB0", + "aGUgYnVpbHQtaW4gZmlsZSBlZGl0b3IuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5pbmRl", + "bnRHdWlkZXMiCiAgICAgICAgfSwKICAgICAgICAiY3VycmVudExpbmVIaWdobGlnaHQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAg", + "ICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWdobGlnaHQgdGhlIGNhcmV0J3MgbGluZSB3aGVuIHRoZSBzZWxlY3Rp", + "b24gaXMgZW1wdHkuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5jdXJyZW50TGluZUhpZ2hs", + "aWdodCIKICAgICAgICB9LAogICAgICAgICJ0YWJXaWR0aCI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgImRlZmF1bHQiOiA0", + "LAogICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgIm1heGltdW0iOiA4LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbHVtbnMgcGVyIHRh", + "YiBzdG9wIGZvciBpbmRlbnQgZ3VpZGVzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3IudGFi", + "V2lkdGgiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImZpbGVFeHBsb3JlciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAog", + "ICAgICAidGl0bGUiOiAiZmlsZUV4cGxvcmVyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlJpZ2h0LXNpZGViYXIgZmlsZSBleHBsb3JlciAoZmlsZSB0cmVl", + "KSBzZXR0aW5ncy4iLAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFeHBsb3Jlci5kZXNjcmlwdGlvbiIsCiAgICAg", + "ICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZG91", + "YmxlQ2xpY2tBY3Rpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInByZXZpZXciLCAiZGVmYXVsdEVkaXRv", + "ciIsICJwcmVmZXJyZWRFZGl0b3IiXSwKICAgICAgICAgICJkZWZhdWx0IjogInByZXZpZXciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoYXQgZG91", + "YmxlLWNsaWNraW5nIChvciBwcmVzc2luZyBSZXR1cm4gb24gYSBzZWFyY2ggcmVzdWx0IGZvcikgYSBmaWxlIGluIHRoZSBmaWxlIGV4cGxvcmVyIGRvZXMu", + "IGBwcmV2aWV3YCBvcGVucyB0aGUgYnVpbHQtaW4gY211eCBmaWxlIHByZXZpZXcgKHRoZSBkZWZhdWx0IGFuZCBoaXN0b3JpY2FsIGJlaGF2aW9yKS4gYGRl", + "ZmF1bHRFZGl0b3JgIG9wZW5zIHdpdGggdGhlIG1hY09TIGRlZmF1bHQgYXBwIGZvciB0aGUgZmlsZSB0eXBlLiBgcHJlZmVycmVkRWRpdG9yYCBvcGVucyB3", + "aXRoIHRoZSBgYXBwLnByZWZlcnJlZEVkaXRvcmAgY29tbWFuZCwgZmFsbGluZyBiYWNrIHRvIHRoZSBkZWZhdWx0IGFwcCB3aGVuIG5vbmUgaXMgc2V0LiBP", + "bmx5IGFwcGxpZXMgdG8gZmlsZXM7IGRpcmVjdG9yaWVzIGFsd2F5cyBleHBhbmQvY29sbGFwc2UsIGFuZCBub24tbG9jYWwgKHJlbW90ZSkgZmlsZSBleHBs", + "b3JlcnMgYWx3YXlzIG9wZW4gdGhlIGNtdXggcHJldmlldy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5maWxl", + "RXhwbG9yZXIuZG91YmxlQ2xpY2tBY3Rpb24iCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImRpZmZWaWV3ZXIiOiB7CiAgICAgICJ4LWNtdXgtc2Nv", + "cGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogImRpZmZWaWV3ZXIiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQnVpbHQtaW4gZGlmZiB2aWV3ZXIg", + "c2V0dGluZ3MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVz", + "IjogewogICAgICAgICJkZWZhdWx0TGF5b3V0IjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJ1bmlmaWVkIiwg", + "InNwbGl0Il0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJ1bmlmaWVkIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IGxheW91dCBmb3IgbmV3", + "bHkgb3BlbmVkIGRpZmYgdmlld2Vycy4gVGhlIHRvb2xiYXIgbGF5b3V0IHRvZ2dsZSBwZXJzaXN0cyB0aGUgdXNlcidzIGxhc3QgY2hvaWNlOyBhbiBleHBs", + "aWNpdCBgY211eCBkaWZmIC0tbGF5b3V0YCBvcHRpb24gb3ZlcnJpZGVzIGJvdGguIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNj", + "cmlwdGlvbnMuZGlmZlZpZXdlci5kZWZhdWx0TGF5b3V0IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJyaWdodFNpZGViYXIiOiB7CiAgICAgICJ0", + "aXRsZSI6ICJyaWdodFNpZGViYXIiLAogICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IGFuZCBleHRlbnNpb24tb3duZWQgcmlnaHQtc2lkZWJhciBjb25m", + "aWd1cmF0aW9uIHByZXNlcnZlZCBpbiBjbXV4Lmpzb24uIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjog", + "dHJ1ZQogICAgfSwKICAgICJzaG9ydGN1dHMiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogInNob3J0Y3V0", + "cyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJLZXlib2FyZCBzaG9ydGN1dCBzZXR0aW5ncyBmcm9tIFNldHRpbmdzID4gS2V5Ym9hcmQgU2hvcnRjdXRzLiIs", + "CiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAg", + "ICAic2hvd01vZGlmaWVySG9sZEhpbnRzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAg", + "ICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBzaG9ydGN1dC1oaW50IGNoaXBzIHdoaWxlIGhvbGRpbmcgQ21kIG9yIENvbnRyb2wuIiwKICAgICAgICAgICJk", + "ZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuc2hvcnRjdXRzLnNob3dNb2RpZmllckhvbGRIaW50cyIKICAgICAgICB9LAogICAgICAgICJi", + "aW5kaW5ncyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiZGVmYXVsdCI6IHt9LAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", + "IlNob3J0Y3V0IG92ZXJyaWRlcyBrZXllZCBieSBjbXV4IGFjdGlvbiBpZC4gVXNlIGEgc3RyaW5nIGZvciBhIHNpbmdsZSBzaG9ydGN1dCwgYW4gYXJyYXkg", + "Zm9yIGEgY2hvcmQsIG51bGwsIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2FibGVkIHRvIHVuYmluZC4iLAogICAgICAg", + "ICAgInByb3BlcnR5TmFtZXMiOiB7CiAgICAgICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAgICJvcGVuU2V0dGluZ3MiLAogICAgICAgICAgICAgICJy", + "ZWxvYWRDb25maWd1cmF0aW9uIiwKICAgICAgICAgICAgICAic2hvd0hpZGVBbGxXaW5kb3dzIiwKICAgICAgICAgICAgICAiZ2xvYmFsU2VhcmNoIiwKICAg", + "ICAgICAgICAgICAibmV3V2luZG93IiwKICAgICAgICAgICAgICAiY2xvc2VXaW5kb3ciLAogICAgICAgICAgICAgICJ0b2dnbGVGdWxsU2NyZWVuIiwKICAg", + "ICAgICAgICAgICAicXVpdCIsCiAgICAgICAgICAgICAgInRvZ2dsZVNpZGViYXIiLAogICAgICAgICAgICAgICJuZXdUYWIiLAogICAgICAgICAgICAgICJu", + "ZXdCcm93c2VyV29ya3NwYWNlIiwKICAgICAgICAgICAgICAibmV3Q2xvdWRXb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJuZXdDbG91ZE1hY2hpbmUiLAog", + "ICAgICAgICAgICAgICJvcGVuRm9sZGVyIiwKICAgICAgICAgICAgICAicmVvcGVuUHJldmlvdXNTZXNzaW9uIiwKICAgICAgICAgICAgICAiZ29Ub1dvcmtz", + "cGFjZSIsCiAgICAgICAgICAgICAgImNvbW1hbmRQYWxldHRlIiwKICAgICAgICAgICAgICAiY29tbWFuZFBhbGV0dGVOZXh0IiwKICAgICAgICAgICAgICAi", + "Y29tbWFuZFBhbGV0dGVQcmV2aW91cyIsCiAgICAgICAgICAgICAgInNlbmRGZWVkYmFjayIsCiAgICAgICAgICAgICAgInNob3dOb3RpZmljYXRpb25zIiwK", + "ICAgICAgICAgICAgICAianVtcFRvVW5yZWFkIiwKICAgICAgICAgICAgICAidG9nZ2xlVW5yZWFkIiwKICAgICAgICAgICAgICAibWFya09sZGVzdFVucmVh", + "ZEFuZEp1bXBOZXh0IiwKICAgICAgICAgICAgICAibWFya0FsbE5vdGlmaWNhdGlvbnNSZWFkIiwKICAgICAgICAgICAgICAiY2xlYXJBbGxOb3RpZmljYXRp", + "b25zIiwKICAgICAgICAgICAgICAiZm9jdXNSaWdodFNpZGViYXIiLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb0ZpbGVzIiwKICAgICAg", + "ICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9GaW5kIiwKICAgICAgICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9TZXNzaW9ucyIsCiAgICAgICAg", + "ICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRmVlZCIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRG9jayIsCiAgICAgICAgICAgICAg", + "InN3aXRjaFJpZ2h0U2lkZWJhclRvTWFjaGluZXMiLAogICAgICAgICAgICAgICJ0cmlnZ2VyRmxhc2giLAogICAgICAgICAgICAgICJuZXh0U3VyZmFjZSIs", + "CiAgICAgICAgICAgICAgInByZXZTdXJmYWNlIiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VMZWZ0IiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VS", + "aWdodCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9QcmV2aW91c1BhbmUiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvTmV4dFBhbmUiLAog", + "ICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZUxlZnQiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZVJpZ2h0IiwKICAgICAgICAgICAg", + "ICAibW92ZVN1cmZhY2VUb1BhbmVVcCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9QYW5lRG93biIsCiAgICAgICAgICAgICAgInNlbGVjdFN1cmZh", + "Y2VCeU51bWJlciIsCiAgICAgICAgICAgICAgIm5leHRTaWRlYmFyVGFiIiwKICAgICAgICAgICAgICAicHJldlNpZGViYXJUYWIiLAogICAgICAgICAgICAg", + "ICJuZXh0U2lkZWJhclRhYkluR3JvdXAiLAogICAgICAgICAgICAgICJwcmV2U2lkZWJhclRhYkluR3JvdXAiLAogICAgICAgICAgICAgICJtb3ZlV29ya3Nw", + "YWNlVXAiLAogICAgICAgICAgICAgICJtb3ZlV29ya3NwYWNlRG93biIsCiAgICAgICAgICAgICAgImZvY3VzSGlzdG9yeUJhY2siLAogICAgICAgICAgICAg", + "ICJmb2N1c0hpc3RvcnlGb3J3YXJkIiwKICAgICAgICAgICAgICAic2VsZWN0V29ya3NwYWNlQnlOdW1iZXIiLAogICAgICAgICAgICAgICJyZW5hbWVUYWIi", + "LAogICAgICAgICAgICAgICJyZW5hbWVXb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJlZGl0V29ya3NwYWNlRGVzY3JpcHRpb24iLAogICAgICAgICAgICAg", + "ICJtYXJrV29ya3NwYWNlRG9uZSIsCiAgICAgICAgICAgICAgImN5Y2xlV29ya3NwYWNlU3RhdHVzIiwKICAgICAgICAgICAgICAidG9nZ2xlQ2hlY2tsaXN0", + "SXRlbUNvbXBsZXRlIiwKICAgICAgICAgICAgICAiY2xvc2VUYWIiLAogICAgICAgICAgICAgICJjbG9zZU90aGVyVGFic0luUGFuZSIsCiAgICAgICAgICAg", + "ICAgImNsb3NlV29ya3NwYWNlIiwKICAgICAgICAgICAgICAibmV3V29ya3NwYWNlR3JvdXAiLAogICAgICAgICAgICAgICJncm91cFNlbGVjdGVkV29ya3Nw", + "YWNlcyIsCiAgICAgICAgICAgICAgInRvZ2dsZUZvY3VzZWRXb3Jrc3BhY2VHcm91cENvbGxhcHNlZCIsCiAgICAgICAgICAgICAgInJlb3BlbkNsb3NlZFdv", + "cmtzcGFjZSIsCiAgICAgICAgICAgICAgInJlb3BlbkNsb3NlZEJyb3dzZXJQYW5lbCIsCiAgICAgICAgICAgICAgIm5ld1N1cmZhY2UiLAogICAgICAgICAg", + "ICAgICJ0b2dnbGVUZXJtaW5hbENvcHlNb2RlIiwKICAgICAgICAgICAgICAiZm9jdXNUZXh0Qm94SW5wdXQiLAogICAgICAgICAgICAgICJjeWNsZVRleHRC", + "b3hTdWJtaXRBY3Rpb24iLAogICAgICAgICAgICAgICJhdHRhY2hUZXh0Qm94RmlsZSIsCiAgICAgICAgICAgICAgInNlbmRDdHJsRlRvVGVybWluYWwiLAog", + "ICAgICAgICAgICAgICJjbGVhclNjcmVlbktlZXBTY3JvbGxiYWNrIiwKICAgICAgICAgICAgICAic2ltdWxhdG9ySG9tZSIsCiAgICAgICAgICAgICAgInNp", + "bXVsYXRvclJvdGF0ZUxlZnQiLAogICAgICAgICAgICAgICJzaW11bGF0b3JSb3RhdGVSaWdodCIsCiAgICAgICAgICAgICAgInNpbXVsYXRvclRvZ2dsZUFw", + "cGVhcmFuY2UiLAogICAgICAgICAgICAgICJzaW11bGF0b3JUb2dnbGVTb2Z0d2FyZUtleWJvYXJkIiwKICAgICAgICAgICAgICAiZm9jdXNMZWZ0IiwKICAg", + "ICAgICAgICAgICAiZm9jdXNSaWdodCIsCiAgICAgICAgICAgICAgImZvY3VzVXAiLAogICAgICAgICAgICAgICJmb2N1c0Rvd24iLAogICAgICAgICAgICAg", + "ICJmb2N1c1ByZXZpb3VzUGFuZSIsCiAgICAgICAgICAgICAgImZvY3VzTmV4dFBhbmUiLAogICAgICAgICAgICAgICJzcGxpdFJpZ2h0IiwKICAgICAgICAg", + "ICAgICAic3BsaXREb3duIiwKICAgICAgICAgICAgICAidG9nZ2xlU3BsaXRab29tIiwKICAgICAgICAgICAgICAiaW5jcmVhc2VXb3Jrc3BhY2VUZXJtaW5h", + "bEZvbnRTaXplIiwKICAgICAgICAgICAgICAiZGVjcmVhc2VXb3Jrc3BhY2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAicmVzZXRXb3Jrc3Bh", + "Y2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAiZXF1YWxpemVTcGxpdHMiLAogICAgICAgICAgICAgICJyZXNpemUtcGFuZS1sZWZ0IiwKICAg", + "ICAgICAgICAgICAicmVzaXplLXBhbmUtcmlnaHQiLAogICAgICAgICAgICAgICJyZXNpemUtcGFuZS11cCIsCiAgICAgICAgICAgICAgInJlc2l6ZS1wYW5l", + "LWRvd24iLAogICAgICAgICAgICAgICJzcGxpdEJyb3dzZXJSaWdodCIsCiAgICAgICAgICAgICAgInNwbGl0QnJvd3NlckRvd24iLAogICAgICAgICAgICAg", + "ICJ0b2dnbGVDYW52YXNMYXlvdXQiLAogICAgICAgICAgICAgICJjYW52YXNSZXZlYWxGb2N1c2VkUGFuZSIsCiAgICAgICAgICAgICAgImNhbnZhc092ZXJ2", + "aWV3IiwKICAgICAgICAgICAgICAiY2FudmFzWm9vbUluIiwKICAgICAgICAgICAgICAiY2FudmFzWm9vbU91dCIsCiAgICAgICAgICAgICAgImNhbnZhc1pv", + "b21SZXNldCIsCiAgICAgICAgICAgICAgImNhbnZhc1RpZHkiLAogICAgICAgICAgICAgICJjYW52YXNBbGlnbkxlZnQiLAogICAgICAgICAgICAgICJjYW52", + "YXNBbGlnblJpZ2h0IiwKICAgICAgICAgICAgICAiY2FudmFzQWxpZ25Ub3AiLAogICAgICAgICAgICAgICJjYW52YXNBbGlnbkJvdHRvbSIsCiAgICAgICAg", + "ICAgICAgImNhbnZhc0VxdWFsaXplV2lkdGhzIiwKICAgICAgICAgICAgICAiY2FudmFzRXF1YWxpemVIZWlnaHRzIiwKICAgICAgICAgICAgICAiY2FudmFz", + "RGlzdHJpYnV0ZUhvcml6b250YWxseSIsCiAgICAgICAgICAgICAgImNhbnZhc0Rpc3RyaWJ1dGVWZXJ0aWNhbGx5IiwKICAgICAgICAgICAgICAidG9nZ2xl", + "RmlsZUV4cGxvcmVyIiwKICAgICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlvbiIsCiAgICAgICAgICAgICAgImZpbGVFeHBsb3Jlck9wZW5T", + "ZWxlY3Rpb25GaW5kZXJBbGlhcyIsCiAgICAgICAgICAgICAgInNhdmVGaWxlUHJldmlldyIsCiAgICAgICAgICAgICAgIm9wZW5Ccm93c2VyIiwKICAgICAg", + "ICAgICAgICAiZm9jdXNCcm93c2VyQWRkcmVzc0JhciIsCiAgICAgICAgICAgICAgImJyb3dzZXJCYWNrIiwKICAgICAgICAgICAgICAiYnJvd3NlckZvcndh", + "cmQiLAogICAgICAgICAgICAgICJicm93c2VyUmVsb2FkIiwKICAgICAgICAgICAgICAiYnJvd3NlckhhcmRSZWxvYWQiLAogICAgICAgICAgICAgICJicm93", + "c2VyWm9vbUluIiwKICAgICAgICAgICAgICAiYnJvd3Nlclpvb21PdXQiLAogICAgICAgICAgICAgICJicm93c2VyWm9vbVJlc2V0IiwKICAgICAgICAgICAg", + "ICAibWFya2Rvd25ab29tSW4iLAogICAgICAgICAgICAgICJtYXJrZG93blpvb21PdXQiLAogICAgICAgICAgICAgICJtYXJrZG93blpvb21SZXNldCIsCiAg", + "ICAgICAgICAgICAgImZpbmQiLAogICAgICAgICAgICAgICJmaW5kSW5EaXJlY3RvcnkiLAogICAgICAgICAgICAgICJmaW5kTmV4dCIsCiAgICAgICAgICAg", + "ICAgImZpbmRQcmV2aW91cyIsCiAgICAgICAgICAgICAgImhpZGVGaW5kIiwKICAgICAgICAgICAgICAidXNlU2VsZWN0aW9uRm9yRmluZCIsCiAgICAgICAg", + "ICAgICAgInRvZ2dsZUJyb3dzZXJEZXZlbG9wZXJUb29scyIsCiAgICAgICAgICAgICAgInNob3dCcm93c2VySmF2YVNjcmlwdENvbnNvbGUiLAogICAgICAg", + "ICAgICAgICJ0b2dnbGVCcm93c2VyRm9jdXNNb2RlIiwKICAgICAgICAgICAgICAidG9nZ2xlQnJvd3NlckRlc2lnbk1vZGUiLAogICAgICAgICAgICAgICJ0", + "b2dnbGVSZWFjdEdyYWIiLAogICAgICAgICAgICAgICJvcGVuRGlmZlZpZXdlciIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxEb3duIiwKICAg", + "ICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbEhhbGZQYWdlRG93biIsCiAgICAgICAgICAg", + "ICAgImRpZmZWaWV3ZXJTY3JvbGxIYWxmUGFnZVVwIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbERvd25FbWFjcyIsCiAgICAgICAgICAgICAg", + "ImRpZmZWaWV3ZXJTY3JvbGxVcEVtYWNzIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFRvQm90dG9tIiwKICAgICAgICAgICAgICAiZGlmZlZp", + "ZXdlclNjcm9sbFRvVG9wIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlck9wZW5GaWxlU2VhcmNoIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlck5leHRG", + "aWxlIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclByZXZpb3VzRmlsZSIKICAgICAgICAgICAgXQogICAgICAgICAgfSwKICAgICAgICAgICJwcm9wZXJ0", + "aWVzIjogewogICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlvbiI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3NpbmdsZUJh", + "cmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlv", + "bkZpbmRlckFsaWFzIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFi", + "bGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsRG93biI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2Jh", + "cmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwIjogewog", + "ICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAg", + "ICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VEb3duIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hv", + "cnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VVcCI6IHsKICAgICAgICAg", + "ICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAi", + "ZGlmZlZpZXdlclNjcm9sbERvd25FbWFjcyI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGlu", + "Z051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwRW1hY3MiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAi", + "Iy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3Jv", + "bGxUb0JvdHRvbSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAg", + "ICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFRvVG9wIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0", + "U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyT3BlbkZpbGVTZWFyY2giOiB7CiAg", + "ICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAg", + "ICAgICAgImRpZmZWaWV3ZXJOZXh0RmlsZSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGlu", + "Z051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclByZXZpb3VzRmlsZSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIj", + "LyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgImFkZGl0", + "aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgfQogICAg", + "ICAgIH0sCiAgICAgICAgIndoZW4iOiB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAgICAgICJk", + "ZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBwZXItYWN0aW9uIGNvbnRleHQgcHJlZGljYXRlcyAoVlMgQ29kZS1zdHlsZSBgd2hlbmAgY2xhdXNlcyksIGtleWVk", + "IGJ5IGNtdXggYWN0aW9uIGlkLiBFYWNoIHZhbHVlIGlzIGEgYm9vbGVhbiBleHByZXNzaW9uIG92ZXIgY29udGV4dCBrZXlzIGNvbWJpbmVkIHdpdGggISwg", + "JiYsIHx8LCBhbmQgcGFyZW50aGVzZXMuIEJvb2xlYW4ga2V5czogc2lkZWJhckZvY3VzLCBicm93c2VyRm9jdXMsIG1hcmtkb3duRm9jdXMsIGZpbGVQcmV2", + "aWV3VGV4dEVkaXRvckZvY3VzLCBzaW11bGF0b3JGb2N1cywgdGVybWluYWxGb2N1cywgY29tbWFuZFBhbGV0dGVWaXNpYmxlLCB0ZXJtaW5hbEZpbmRWaXNp", + "YmxlLCB3b3Jrc3BhY2VDYW52YXNMYXlvdXQuIFR5cGVkIGtleXMgc3VwcG9ydCBjb21wYXJpc29uczogdGhlIHN0cmluZyBzaWRlYmFyTW9kZSAoZmlsZXMs", + "IGZpbmQsIHNlc3Npb25zLCBmZWVkLCBvciBkb2NrKSBhbmQgdGhlIGludGVnZXJzIHBhbmVDb3VudCBhbmQgd29ya3NwYWNlQ291bnQuIENvbXBhcmlzb24g", + "b3BlcmF0b3JzIGFyZSA9PSwgIT0sID1+IChyZWdleCksIDwsIDw9LCA+LCA+PSwgYW5kIGBpbiBbYSwgYl1gOyBhbiB1bmtub3duIG9yIGFic2VudCBrZXkg", + "cmVhZHMgYXMgZmFsc2UuIFRoZSBib29sZWFuIGxpdGVyYWxzIHRydWUgYW5kIGZhbHNlIGFyZSBhbHNvIGFjY2VwdGVkOyBga2V5ID09IGZhbHNlYCBpcyB0", + "aGUgc2FtZSBhcyBgIWtleWAuIFRoZSBhY3Rpb24ncyBzaG9ydGN1dCBvbmx5IGZpcmVzIChhbmQgb25seSBjb25mbGljdHMgd2l0aCBvdGhlciBzaG9ydGN1", + "dHMpIHdoZW4gdGhlIGNsYXVzZSBob2xkcy4gRXhhbXBsZXM6IHsgXCJzZWxlY3RXb3Jrc3BhY2VCeU51bWJlclwiOiBcIiFzaWRlYmFyRm9jdXNcIiB9IHNl", + "bGVjdHMgd29ya3NwYWNlcyB3aXRoIEN0cmwrMeKAkzkgZXZlcnl3aGVyZSBleGNlcHQgd2hlbiB0aGUgcmlnaHQgc2lkZWJhciBpcyBmb2N1c2VkOyB7IFwi", + "c2VsZWN0U3VyZmFjZUJ5TnVtYmVyXCI6IFwic2lkZWJhck1vZGUgPT0gJ2ZpbmQnICYmIHBhbmVDb3VudCA+IDFcIiB9IHNjb3BlcyBhIGJpbmRpbmcgdG8g", + "dGhlIEZpbmQgc2lkZWJhciB3aGVuIHRoZSB3b3Jrc3BhY2UgaGFzIG11bHRpcGxlIHBhbmVzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2No", + "ZW1hRGVzY3JpcHRpb25zLnNob3J0Y3V0cy53aGVuIiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAi", + "c3RyaW5nIgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0sCiAgIiRkZWZzIjogewogICAgImNvbG9ySGV4IjogewogICAgICAidHlw", + "ZSI6ICJzdHJpbmciLAogICAgICAicGF0dGVybiI6ICJeI1swLTlBLUZhLWZdezZ9JCIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJVcHBlcmNhc2Ugb3IgbG93", + "ZXJjYXNlIDYtZGlnaXQgaGV4IGNvbG9yLiIKICAgIH0sCiAgICAiY29sb3JIZXhPck51bGwiOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAg", + "ICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIKICAgICAgICB9CiAg", + "ICAgIF0KICAgIH0sCiAgICAibm90aWZpY2F0aW9uU291bmRPdmVycmlkZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICJ0eXBl", + "IjogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJyZXF1aXJlZCI6IFsic291bmQiXSwKICAg", + "ICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAic291bmQiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAg", + "ICAiZW51bSI6IFsiZGVmYXVsdCIsICJCYXNzbyIsICJCbG93IiwgIkJvdHRsZSIsICJGcm9nIiwgIkZ1bmsiLCAiR2xhc3MiLCAiSGVybyIsICJNb3JzZSIs", + "ICJQaW5nIiwgIlBvcCIsICJQdXJyIiwgIlNvc3VtaSIsICJTdWJtYXJpbmUiLCAiVGluayIsICJub25lIl0KICAgICAgICAgICAgfQogICAgICAgICAgfQog", + "ICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAog", + "ICAgICAgICAgInJlcXVpcmVkIjogWyJzb3VuZCIsICJjdXN0b21Tb3VuZEZpbGVQYXRoIl0sCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAg", + "ICAgInNvdW5kIjogeyAiY29uc3QiOiAiY3VzdG9tX2ZpbGUiIH0sCiAgICAgICAgICAgICJjdXN0b21Tb3VuZEZpbGVQYXRoIjogewogICAgICAgICAgICAg", + "ICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiLipcXFMuKiIKICAgICAg", + "ICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgXSwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmlj", + "YXRpb25zLnNvdW5kT3ZlcnJpZGUiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQSBub3RpZmljYXRpb24gc291bmQgb3ZlcnJpZGUuIGBkZWZhdWx0YCB1c2Vz", + "IG5vdGlmaWNhdGlvbnMuc291bmQsIGBub25lYCBkaXNhYmxlcyBwbGF5YmFjaywgYW5kIHRoZSByZW1haW5pbmcgdmFsdWVzIHNlbGVjdCBhIGJ1aWx0LWlu", + "IG9yIGN1c3RvbSBzb3VuZC4iCiAgICB9LAogICAgInNob3J0Y3V0QmluZGluZyI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIk", + "cmVmIjogIiMvJGRlZnMvdW5ib3VuZFNob3J0Y3V0QmluZGluZyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIEFj", + "Y2VwdGVkIHZhbHVlcyBhcmUgYW4gZW1wdHkgc3RyaW5nLCBub25lLCBjbGVhciwgdW5ib3VuZCwgb3IgZGlzYWJsZWQuIgogICAgICAgIH0sCiAgICAgICAg", + "ewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dEZpcnN0U3Ryb2tlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaW5nbGUtc3Ryb2tl", + "IHNob3J0Y3V0LCBmb3IgZXhhbXBsZSBjbWQrbiBvciBjbWQrc3BhY2UuIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAiYXJyYXki", + "LAogICAgICAgICAgIm1pbkl0ZW1zIjogMSwKICAgICAgICAgICJtYXhJdGVtcyI6IDIsCiAgICAgICAgICAicHJlZml4SXRlbXMiOiBbCiAgICAgICAgICAg", + "IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0Rmlyc3RTdHJva2UiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAg", + "ICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9u", + "IjogIkNob3JkZWQgc2hvcnRjdXQuIEV4YW1wbGU6IFtcImN0cmwrYlwiLCBcImNcIl0uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaG9ydGN1", + "dEJpbmRpbmdOdWxsYWJsZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRCaW5kaW5n", + "IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hv", + "cnRjdXQuIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVP", + "ZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3VuYm91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9u", + "IjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMgYXJlIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRp", + "c2FibGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9r", + "ZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2luZ2xlLXN0cm9rZSBzaG9ydGN1dC4gQmFyZSBmaXJzdCBzdHJva2VzIGFyZSBhY2NlcHRlZCBmb3Ig", + "dGhpcyBhY3Rpb24uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSI6", + "IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5k", + "aW5nIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMg", + "c2hvcnRjdXQuIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJiYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVPZiI6", + "IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3VuYm91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", + "IlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMgYXJlIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2Fi", + "bGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9rZSIs", + "CiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2luZ2xlLXN0cm9rZSBzaG9ydGN1dC4gQmFyZSBmaXJzdCBzdHJva2VzIGFyZSBhY2NlcHRlZCBmb3IgdGhp", + "cyBhY3Rpb24uIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIm1pbkl0ZW1zIjogMSwKICAgICAg", + "ICAgICJtYXhJdGVtcyI6IDIsCiAgICAgICAgICAicHJlZml4SXRlbXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZz", + "L2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0Rmlyc3RTdHJva2UiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIj", + "LyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNob3JkZWQgc2hvcnRj", + "dXQuIEJhcmUgZmlyc3Qgc3Ryb2tlcyBhcmUgYWNjZXB0ZWQgZm9yIHRoaXMgYWN0aW9uLiBFeGFtcGxlOiBbXCJnXCIsIFwiZ1wiXS4iCiAgICAgICAgfQog", + "ICAgICBdCiAgICB9LAogICAgImJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIjogewogICAgICAib25lT2YiOiBbCiAgICAgICAgewog", + "ICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAi", + "dHlwZSI6ICJudWxsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmJpbmQgdGhpcyBzaG9ydGN1dC4iCiAgICAgICAgfQogICAgICBdCiAgICB9LAog", + "ICAgInVuYm91bmRTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICJlbnVtIjogWyIiLCAibm9uZSIsICJjbGVhciIs", + "ICJ1bmJvdW5kIiwgImRpc2FibGVkIl0KICAgIH0sCiAgICAic2hvcnRjdXRGaXJzdFN0cm9rZSI6IHsKICAgICAgImFsbE9mIjogWwogICAgICAgIHsKICAg", + "ICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRTdHJva2UiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYW55T2YiOiBbCiAgICAgICAg", + "ICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86KD86W2NDXVttTV1bZERdfFtjQ11bb09dW21NXVttTV1bYUFdW25OXVtkRF18W3NTXVtoSF1b", + "aUldW2ZGXVt0VF18W29PXVtwUF1bdFRdfFtvT11bcFBdW3RUXVtpSV1bb09dW25OXXxbYUFdW2xMXVt0VF18W2NDXVt0VF1bclJdW2xMXXxbY0NdW29PXVtu", + "Tl1bdFRdW3JSXVtvT11bbExdfFtjQ11bdFRdW2xMXXzijJh84oenfOKMpXzijIMpXFwrKSsiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAg", + "ICAgICAgICAicGF0dGVybiI6ICJeKD86IHxbc1NdW3BQXVthQV1bY0NdW2VFXXxbc1NdW3BQXVthQV1bY0NdW2VFXVtiQl1bYUFdW3JSXXw8W3NTXVtwUF1b", + "YUFdW2NDXVtlRV0+KSQiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBv", + "ciBvbmx5IHNob3J0Y3V0IHN0cm9rZS4gTXVzdCBpbmNsdWRlIGEgbW9kaWZpZXIgdW5sZXNzIHRoZSBrZXkgaXMgU3BhY2UuIgogICAgfSwKICAgICJiYXJl", + "Rmlyc3RTdHJva2VTaG9ydGN1dEZpcnN0U3Ryb2tlIjogewogICAgICAiYWxsT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9z", + "aG9ydGN1dFN0cm9rZSIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0", + "ZXJuIjogIl4oPzooPzpbY0NdW21NXVtkRF18W2NDXVtvT11bbU1dW21NXVthQV1bbk5dW2REXXxbc1NdW2hIXVtpSV1bZkZdW3RUXXxbb09dW3BQXVt0VF18", + "W29PXVtwUF1bdFRdW2lJXVtvT11bbk5dfFthQV1bbExdW3RUXXxbY0NdW3RUXVtyUl1bbExdfFtjQ11bb09dW25OXVt0VF1bclJdW29PXVtsTF18W2NDXVt0", + "VF1bbExdfOKMmHzih6d84oylfOKMgylcXCspKyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzog", + "fFtzU11bcFBdW2FBXVtjQ11bZUVdfFtzU11bcFBdW2FBXVtjQ11bZUVdW2JCXVthQV1bclJdfDxbc1NdW3BQXVthQV1bY0NdW2VFXT4pJCIKICAgICAgICAg", + "ICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzpbclJdW2VFXVt0VF1bdVVdW3JSXVtuTl18W2VFXVtuTl1bdFRdW2VF", + "XVtyUl184oapKSQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86W2xMXVtlRV1bZkZdW3RUXXxb", + "YUFdW3JSXVtyUl1bb09dW3dXXVtsTF1bZUVdW2ZGXVt0VF18W2xMXVtlRV1bZkZdW3RUXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkHxbclJdW2lJXVtnR11b", + "aEhdW3RUXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtyUl1baUldW2dHXVtoSF1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2FBXVtyUl1bclJdW29PXVt3V118", + "4oaSfFt1VV1bcFBdfFthQV1bclJdW3JSXVtvT11bd1ddW3VVXVtwUF18W3VVXVtwUF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpF8W2REXVtvT11bd1ddW25O", + "XXxbYUFdW3JSXVtyUl1bb09dW3dXXVtkRF1bb09dW3dXXVtuTl18W2REXVtvT11bd1ddW25OXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkykkIgogICAgICAg", + "ICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXig/OltBLVphLXowLTldfFssLi9cXFxcOydgPVxcW1xcXS1dfFtjQ11b", + "b09dW21NXVttTV1bYUFdfFtwUF1bZUVdW3JSXVtpSV1bb09dW2REXXxbZERdW29PXVt0VF18W3NTXVtsTF1bYUFdW3NTXVtoSF18W2JCXVthQV1bY0NdW2tL", + "XVtzU11bbExdW2FBXVtzU11baEhdfFtzU11bZUVdW21NXVtpSV1bY0NdW29PXVtsTF1bb09dW25OXXxbcVFdW3VVXVtvT11bdFRdW2VFXXxbYUFdW3BQXVtv", + "T11bc1NdW3RUXVtyUl1bb09dW3BQXVtoSF1bZUVdfFtiQl1bYUFdW2NDXVtrS11bdFRdW2lJXVtjQ11ba0tdfFtnR11bclJdW2FBXVt2Vl1bZUVdfFttTV1b", + "aUldW25OXVt1VV1bc1NdfFtoSF1beVldW3BQXVtoSF1bZUVdW25OXXxbcFBdW2xMXVt1VV1bc1NdfFtlRV1bcVFdW3VVXVthQV1bbExdW3NTXXxbbExdW2VF", + "XVtmRl1bdFRdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbb09dW3BQXVtlRV1bbk5dW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbclJdW2lJ", + "XVtnR11baEhdW3RUXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W2NDXVtsTF1bb09dW3NTXVtlRV1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRd", + "KSQiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBvciBvbmx5IHNob3J0", + "Y3V0IHN0cm9rZS4gQmFyZSBwcmludGFibGUga2V5cyBhcmUgYWNjZXB0ZWQgZm9yIGFjdGlvbnMgdGhhdCBvcHQgaW50byBiYXJlIGZpcnN0IHN0cm9rZXMu", + "IgogICAgfSwKICAgICJzaG9ydGN1dFN0cm9rZSI6IHsKICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgInBhdHRlcm4iOiAiXig/Oig/OltjQ11bbU1d", + "W2REXXxbY0NdW29PXVttTV1bbU1dW2FBXVtuTl1bZERdfFtzU11baEhdW2lJXVtmRl1bdFRdfFtvT11bcFBdW3RUXXxbb09dW3BQXVt0VF1baUldW29PXVtu", + "Tl18W2FBXVtsTF1bdFRdfFtjQ11bdFRdW3JSXVtsTF18W2NDXVtvT11bbk5dW3RUXVtyUl1bb09dW2xMXXxbY0NdW3RUXVtsTF184oyYfOKHp3zijKV84oyD", + "KVxcKykqKD86IHxbQS1aYS16MC05XXxbbExdW2VFXVtmRl1bdFRdfFthQV1bclJdW3JSXVtvT11bd1ddW2xMXVtlRV1bZkZdW3RUXXxbbExdW2VFXVtmRl1b", + "dFRdW2FBXVtyUl1bclJdW29PXVt3V1184oaQfFtyUl1baUldW2dHXVtoSF1bdFRdfFthQV1bclJdW3JSXVtvT11bd1ddW3JSXVtpSV1bZ0ddW2hIXVt0VF18", + "W3JSXVtpSV1bZ0ddW2hIXVt0VF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpJ8W3VVXVtwUF18W2FBXVtyUl1bclJdW29PXVt3V11bdVVdW3BQXXxbdVVdW3BQ", + "XVthQV1bclJdW3JSXVtvT11bd1ddfOKGkXxbZERdW29PXVt3V11bbk5dfFthQV1bclJdW3JSXVtvT11bd1ddW2REXVtvT11bd1ddW25OXXxbZERdW29PXVt3", + "V11bbk5dW2FBXVtyUl1bclJdW29PXVt3V1184oaTfFt0VF1bYUFdW2JCXXxbclJdW2VFXVt0VF1bdVVdW3JSXVtuTl18W2VFXVtuTl1bdFRdW2VFXVtyUl18", + "4oapfFtzU11bcFBdW2FBXVtjQ11bZUVdfFtzU11bcFBdW2FBXVtjQ11bZUVdW2JCXVthQV1bclJdfDxbc1NdW3BQXVthQV1bY0NdW2VFXT58WywuL1xcXFw7", + "J2A9XFxbXFxdLV18W2NDXVtvT11bbU1dW21NXVthQV18W3BQXVtlRV1bclJdW2lJXVtvT11bZERdfFtkRF1bb09dW3RUXXxbc1NdW2xMXVthQV1bc1NdW2hI", + "XXxbYkJdW2FBXVtjQ11ba0tdW3NTXVtsTF1bYUFdW3NTXVtoSF18W3NTXVtlRV1bbU1dW2lJXVtjQ11bb09dW2xMXVtvT11bbk5dfFtxUV1bdVVdW29PXVt0", + "VF1bZUVdfFthQV1bcFBdW29PXVtzU11bdFRdW3JSXVtvT11bcFBdW2hIXVtlRV18W2JCXVthQV1bY0NdW2tLXVt0VF1baUldW2NDXVtrS118W2dHXVtyUl1b", + "YUFdW3ZWXVtlRV18W21NXVtpSV1bbk5dW3VVXVtzU118W2hIXVt5WV1bcFBdW2hIXVtlRV1bbk5dfFtwUF1bbExdW3VVXVtzU118W2VFXVtxUV1bdVVdW2FB", + "XVtsTF1bc1NdfFtsTF1bZUVdW2ZGXVt0VF1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtvT11bcFBdW2VFXVtuTl1bYkJdW3JSXVthQV1bY0NdW2tL", + "XVtlRV1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbY0NdW2xMXVtvT11bc1NdW2VFXVtiQl1bclJdW2FB", + "XVtjQ11ba0tdW2VFXVt0VF18W2ZGXSg/OlsxLTldfDFbMC05XXwyMCl8W3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJ", + "XVthQV1bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bdVVdW3BQXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLlt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVt1VV1b", + "cFBdfFt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVtkRF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1b", + "ZERdW29PXVt3V11bbk5dfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW2REXVtvT11bd1ddW25OXXxbYkJdW3JSXVtp", + "SV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VF", + "XVtzU11bc1NdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18", + "W2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVtkRF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1bYkJdW3JSXVtpSV1b", + "Z0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW2REXVtvT11bd1ddW25OXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltiQl1bclJdW2lJXVtnR11baEhdW3RU", + "XVtuTl1bZUVdW3NTXVtzU11bZERdW29PXVt3V11bbk5dfFttTV1bdVVdW3RUXVtlRV18W21NXVtlRV1bZERdW2lJXVthQV1bbU1dW3VVXVt0VF1bZUVdfFtt", + "TV1bZUVdW2REXVtpSV1bYUFdXFwuW21NXVt1VV1bdFRdW2VFXXxbcFBdW2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18W21NXVtlRV1bZERdW2lJ", + "XVthQV1bcFBdW2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bcFBdW2xMXVthQV1beVldW3BQXVthQV1b", + "dVVdW3NTXVtlRV18W25OXVtlRV1beFhdW3RUXVt0VF1bclJdW2FBXVtjQ11ba0tdfFttTV1bZUVdW2REXVtpSV1bYUFdW25OXVtlRV1beFhdW3RUXXxbbU1d", + "W2VFXVtkRF1baUldW2FBXVxcLltuTl1bZUVdW3hYXVt0VF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bbk5dW2VFXVt4WF1bdFRdW3RUXVtyUl1bYUFdW2ND", + "XVtrS118W3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU11bdFRdW3JSXVthQV1bY0NdW2tLXXxbbU1dW2VFXVtkRF1baUldW2FBXVtwUF1bclJdW2VF", + "XVt2Vl1baUldW29PXVt1VV1bc1NdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU118W21NXVtlRV1bZERd", + "W2lJXVthQV1cXC5bcFBdW3JSXVtlRV1bdlZdW2lJXVtvT11bdVVdW3NTXVt0VF1bclJdW2FBXVtjQ11ba0tdKSQiLAogICAgICAiZGVzY3JpcHRpb24iOiAi", + "T25lIGtleWJvYXJkIHNob3J0Y3V0IHN0cm9rZSB1c2luZyBtb2RpZmllcitrZXkgc3ludGF4LiBTdXBwb3J0ZWQga2V5IG5hbWVzIGluY2x1ZGUgc3BhY2Us", + "IFNwYWNlLCA8c3BhY2U+LCBhbmQgPFNwYWNlPi4iCiAgICB9CiAgfQp9Cg==", + ].joined() + guard let data = Data(base64Encoded: base64) else { + preconditionFailure("embedded cmux.json schema is corrupt") + } + return data + }() +} From 9334c182fca84a3ade902a9d397af100789f6f3e Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:26:11 -0700 Subject: [PATCH 15/55] config: generate shared semantic schema --- scripts/generate-cmux-config-schema.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/generate-cmux-config-schema.py b/scripts/generate-cmux-config-schema.py index 8472e2abf653..51d0340e9943 100644 --- a/scripts/generate-cmux-config-schema.py +++ b/scripts/generate-cmux-config-schema.py @@ -9,7 +9,7 @@ ROOT = Path(__file__).resolve().parents[1] SCHEMA = ROOT / "web" / "data" / "cmux.schema.json" -OUTPUT = ROOT / "CLI" / "CMUXConfigSchema.generated.swift" +OUTPUT = ROOT / "Packages" / "macOS" / "CmuxFoundation" / "Sources" / "CmuxFoundation" / "ConfigValidation" / "CmuxConfigSchema.generated.swift" def generated_source() -> str: @@ -21,7 +21,7 @@ def generated_source() -> str: import Foundation -enum CMUXEmbeddedConfigSchema {{ +enum CmuxEmbeddedConfigSchema {{ static let data: Data = {{ let base64 = [ {body} From 2c994ab461909eea3b7ae8ae2bea86f8fbc65d4b Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:26:21 -0700 Subject: [PATCH 16/55] config: consume shared semantic validator --- CLI/CMUXCLI+Config.swift | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/CLI/CMUXCLI+Config.swift b/CLI/CMUXCLI+Config.swift index 07d7869cb0a7..f7d28f2f6586 100644 --- a/CLI/CMUXCLI+Config.swift +++ b/CLI/CMUXCLI+Config.swift @@ -373,7 +373,7 @@ extension CMUXCLI { private struct ConfigDoctorOptions { let paths: [String] - let scope: CMUXConfigSemanticScope? + let scope: CmuxConfigSemanticScope? } private struct ConfigDoctorTarget { @@ -381,7 +381,7 @@ extension CMUXCLI { let displayPath: String let path: String let missingIsError: Bool - let scope: CMUXConfigSemanticScope + let scope: CmuxConfigSemanticScope } private struct ConfigDoctorFinding { @@ -392,7 +392,7 @@ extension CMUXCLI { let message: String? let keys: [String] let byteCount: Int? - let issues: [CMUXConfigSemanticIssue] + let issues: [CmuxConfigSemanticIssue] init( label: String, @@ -402,7 +402,7 @@ extension CMUXCLI { message: String?, keys: [String], byteCount: Int?, - issues: [CMUXConfigSemanticIssue] = [] + issues: [CmuxConfigSemanticIssue] = [] ) { self.label = label self.displayPath = displayPath @@ -432,7 +432,7 @@ extension CMUXCLI { result["bytes"] = byteCount } if !issues.isEmpty { - result["issues"] = issues.map(\.payload) + result["issues"] = issues.map { ["path": $0.path, "message": $0.message] } } return result } @@ -491,7 +491,7 @@ extension CMUXCLI { commandName: String ) throws -> ConfigDoctorOptions { var paths: [String] = [] - var scope: CMUXConfigSemanticScope? + var scope: CmuxConfigSemanticScope? var index = 0 while index < arguments.count { let argument = arguments[index] @@ -516,7 +516,7 @@ extension CMUXCLI { if argument == "--scope" { let nextIndex = index + 1 guard nextIndex < arguments.count, - let parsedScope = CMUXConfigSemanticScope(rawValue: arguments[nextIndex].lowercased()) else { + let parsedScope = CmuxConfigSemanticScope(rawValue: arguments[nextIndex].lowercased()) else { throw CLIError(message: "cmux config \(commandName) --scope requires global or project") } scope = parsedScope @@ -525,7 +525,7 @@ extension CMUXCLI { } if argument.hasPrefix("--scope=") { let rawScope = String(argument.dropFirst("--scope=".count)).lowercased() - guard let parsedScope = CMUXConfigSemanticScope(rawValue: rawScope) else { + guard let parsedScope = CmuxConfigSemanticScope(rawValue: rawScope) else { throw CLIError(message: "cmux config \(commandName) --scope requires global or project") } scope = parsedScope @@ -672,8 +672,8 @@ extension CMUXCLI { byteCount: data.count ) } - let validator = try CMUXConfigSemanticValidator(scope: target.scope) - let issues = try validator.validate(data: data) + let validator = CmuxConfigSemanticValidator(scope: target.scope) + let issues = try validator.validate(jsonData: sanitized) if !issues.isEmpty { return ConfigDoctorFinding( label: target.label, @@ -732,7 +732,7 @@ extension CMUXCLI { print("Reload: cmux reload-config") } - private func configSemanticScope(for path: String) -> CMUXConfigSemanticScope { + private func configSemanticScope(for path: String) -> CmuxConfigSemanticScope { let normalized = URL(fileURLWithPath: path).standardizedFileURL.path let globalPaths = [ Self.primarySettingsDisplayPath, From 306f29cb5b5ad70355a5c30d8cc003037c4bbfc8 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:26:26 -0700 Subject: [PATCH 17/55] config: remove CLI-local validator copy --- CLI/CMUXConfigSemanticValidator.swift | 461 -------------------------- 1 file changed, 461 deletions(-) delete mode 100644 CLI/CMUXConfigSemanticValidator.swift diff --git a/CLI/CMUXConfigSemanticValidator.swift b/CLI/CMUXConfigSemanticValidator.swift deleted file mode 100644 index 1970687744e4..000000000000 --- a/CLI/CMUXConfigSemanticValidator.swift +++ /dev/null @@ -1,461 +0,0 @@ -import CoreFoundation -import Foundation -import CmuxFoundation - -enum CMUXConfigSemanticScope: String { - case global - case project -} - -struct CMUXConfigSemanticIssue: Equatable { - let path: String - let message: String - - var payload: [String: Any] { - ["path": path, "message": message] - } -} - -/// Offline semantic validation for cmux.json. -/// -/// The constraint vocabulary lives in web/data/cmux.schema.json and is embedded -/// into the CLI by scripts/generate-cmux-config-schema.py. Keep validation here -/// generic: adding a setting constraint belongs in the schema, not in another -/// command-specific lookup table. -struct CMUXConfigSemanticValidator { - let scope: CMUXConfigSemanticScope - - private let rootSchema: [String: Any] - - init(scope: CMUXConfigSemanticScope) throws { - let object = try JSONSerialization.jsonObject( - with: CMUXEmbeddedConfigSchema.data, - options: [.fragmentsAllowed] - ) - guard let rootSchema = object as? [String: Any] else { - throw CLIError(message: "Embedded cmux.json schema is not a JSON object") - } - self.scope = scope - self.rootSchema = rootSchema - } - - func validate(data: Data) throws -> [CMUXConfigSemanticIssue] { - let sanitized = try JSONCParser.preprocess(data: data) - let instance = try JSONSerialization.jsonObject( - with: sanitized, - options: [.fragmentsAllowed] - ) - return validate(instance, against: rootSchema, path: "$") - } - - private func validate( - _ instance: Any, - against schema: [String: Any], - path: String - ) -> [CMUXConfigSemanticIssue] { - if scope == .project, - let scopes = schema["x-cmux-scopes"] as? [String], - !scopes.contains(CMUXConfigSemanticScope.project.rawValue) { - return [ - CMUXConfigSemanticIssue( - path: path, - message: "is only supported in the global cmux.json" - ) - ] - } - - var issues: [CMUXConfigSemanticIssue] = [] - - if let ref = schema["$ref"] as? String { - guard let target = resolvedReference(ref) else { - return [CMUXConfigSemanticIssue(path: path, message: "references an unknown schema definition '\(ref)'")] - } - issues.append(contentsOf: validate(instance, against: target, path: path)) - } - - if let typeSpec = schema["type"], !matchesType(instance, typeSpec: typeSpec) { - return [ - CMUXConfigSemanticIssue( - path: path, - message: "expected \(typeDescription(typeSpec)), got \(kindDescription(instance))" - ) - ] - } - - if let constant = schema["const"], !jsonEqual(instance, constant) { - issues.append( - CMUXConfigSemanticIssue( - path: path, - message: "must equal \(displayJSON(constant))" - ) - ) - } - - if let choices = schema["enum"] as? [Any], - !choices.contains(where: { jsonEqual(instance, $0) }) { - issues.append( - CMUXConfigSemanticIssue( - path: path, - message: "must be one of \(displayChoices(choices))" - ) - ) - } - - if let allOf = schema["allOf"] as? [Any] { - for raw in allOf { - guard let childSchema = raw as? [String: Any] else { continue } - issues.append(contentsOf: validate(instance, against: childSchema, path: path)) - } - } - - if let anyOf = schema["anyOf"] as? [Any] { - let alternatives = anyOf.compactMap { $0 as? [String: Any] } - .map { validate(instance, against: $0, path: path) } - if !alternatives.contains(where: \.isEmpty) { - issues.append(CMUXConfigSemanticIssue(path: path, message: "does not match any allowed form")) - if let best = alternatives.min(by: { $0.count < $1.count }) { - issues.append(contentsOf: best.prefix(2)) - } - } - } - - if let oneOf = schema["oneOf"] as? [Any] { - let alternatives = oneOf.compactMap { $0 as? [String: Any] } - .map { validate(instance, against: $0, path: path) } - let passing = alternatives.filter(\.isEmpty).count - if passing != 1 { - let message = passing == 0 - ? "does not match any allowed form" - : "matches multiple mutually exclusive forms" - issues.append(CMUXConfigSemanticIssue(path: path, message: message)) - if passing == 0, - let best = alternatives.min(by: { $0.count < $1.count }) { - issues.append(contentsOf: best.prefix(2)) - } - } - } - - if let condition = schema["if"] as? [String: Any], - validate(instance, against: condition, path: path).isEmpty, - let thenSchema = schema["then"] as? [String: Any] { - issues.append(contentsOf: validate(instance, against: thenSchema, path: path)) - } - - if let forbidden = schema["not"] as? [String: Any], - validate(instance, against: forbidden, path: path).isEmpty { - issues.append( - CMUXConfigSemanticIssue( - path: path, - message: "uses a disallowed value combination" - ) - ) - } - - if let string = instance as? String { - issues.append(contentsOf: validateString(string, schema: schema, path: path)) - } else if let number = jsonNumber(instance) { - issues.append(contentsOf: validateNumber(number, schema: schema, path: path)) - } else if let array = instance as? [Any] { - issues.append(contentsOf: validateArray(array, schema: schema, path: path)) - } else if let object = instance as? [String: Any] { - issues.append(contentsOf: validateObject(object, schema: schema, path: path)) - } - - return deduplicated(issues) - } - - private func validateString( - _ value: String, - schema: [String: Any], - path: String - ) -> [CMUXConfigSemanticIssue] { - var issues: [CMUXConfigSemanticIssue] = [] - if let minimum = schemaInteger(schema["minLength"]), value.count < minimum { - issues.append(CMUXConfigSemanticIssue(path: path, message: "must contain at least \(minimum) character(s)")) - } - if let maximum = schemaInteger(schema["maxLength"]), value.count > maximum { - issues.append(CMUXConfigSemanticIssue(path: path, message: "must contain at most \(maximum) character(s)")) - } - if let pattern = schema["pattern"] as? String, - !matchesPattern(value, pattern: pattern) { - issues.append(CMUXConfigSemanticIssue(path: path, message: "must match pattern \(displayJSON(pattern))")) - } - if let format = schema["format"] as? String, format == "uri" { - let components = URLComponents(string: value) - if components?.scheme?.isEmpty != false { - issues.append(CMUXConfigSemanticIssue(path: path, message: "must be an absolute URI")) - } - } - return issues - } - - private func validateNumber( - _ value: Double, - schema: [String: Any], - path: String - ) -> [CMUXConfigSemanticIssue] { - var issues: [CMUXConfigSemanticIssue] = [] - if let minimum = schemaNumber(schema["minimum"]), value < minimum { - issues.append(CMUXConfigSemanticIssue(path: path, message: "must be >= \(formatNumber(minimum))")) - } - if let maximum = schemaNumber(schema["maximum"]), value > maximum { - issues.append(CMUXConfigSemanticIssue(path: path, message: "must be <= \(formatNumber(maximum))")) - } - if let minimum = schemaNumber(schema["exclusiveMinimum"]), value <= minimum { - issues.append(CMUXConfigSemanticIssue(path: path, message: "must be > \(formatNumber(minimum))")) - } - if let maximum = schemaNumber(schema["exclusiveMaximum"]), value >= maximum { - issues.append(CMUXConfigSemanticIssue(path: path, message: "must be < \(formatNumber(maximum))")) - } - return issues - } - - private func validateArray( - _ value: [Any], - schema: [String: Any], - path: String - ) -> [CMUXConfigSemanticIssue] { - var issues: [CMUXConfigSemanticIssue] = [] - if let minimum = schemaInteger(schema["minItems"]), value.count < minimum { - issues.append(CMUXConfigSemanticIssue(path: path, message: "must contain at least \(minimum) item(s)")) - } - if let maximum = schemaInteger(schema["maxItems"]), value.count > maximum { - issues.append(CMUXConfigSemanticIssue(path: path, message: "must contain at most \(maximum) item(s)")) - } - - let prefixSchemas = (schema["prefixItems"] as? [Any])?.compactMap { $0 as? [String: Any] } ?? [] - let itemSchema = schema["items"] as? [String: Any] - for (index, item) in value.enumerated() { - if index < prefixSchemas.count { - issues.append(contentsOf: validate(item, against: prefixSchemas[index], path: "\(path)[\(index)]")) - } else if let itemSchema { - issues.append(contentsOf: validate(item, against: itemSchema, path: "\(path)[\(index)]")) - } - } - return issues - } - - private func validateObject( - _ value: [String: Any], - schema: [String: Any], - path: String - ) -> [CMUXConfigSemanticIssue] { - var issues: [CMUXConfigSemanticIssue] = [] - if let minimum = schemaInteger(schema["minProperties"]), value.count < minimum { - issues.append(CMUXConfigSemanticIssue(path: path, message: "must contain at least \(minimum) key(s)")) - } - if let maximum = schemaInteger(schema["maxProperties"]), value.count > maximum { - issues.append(CMUXConfigSemanticIssue(path: path, message: "must contain at most \(maximum) key(s)")) - } - - if let required = schema["required"] as? [String] { - for key in required where value[key] == nil { - issues.append(CMUXConfigSemanticIssue(path: childPath(path, key: key), message: "is required")) - } - } - - let properties = schema["properties"] as? [String: Any] ?? [:] - let propertyNameSchema = schema["propertyNames"] as? [String: Any] - let additional = schema["additionalProperties"] - - for key in value.keys.sorted() { - let child = childPath(path, key: key) - if let propertyNameSchema { - issues.append(contentsOf: validate(key, against: propertyNameSchema, path: child)) - } - if let propertySchema = properties[key] as? [String: Any], - let childValue = value[key] { - issues.append(contentsOf: validate(childValue, against: propertySchema, path: child)) - continue - } - if let allowed = additional as? Bool, !allowed { - issues.append(CMUXConfigSemanticIssue(path: child, message: "unknown configuration key")) - } else if let additionalSchema = additional as? [String: Any], - let childValue = value[key] { - issues.append(contentsOf: validate(childValue, against: additionalSchema, path: child)) - } - } - return issues - } - - private func resolvedReference(_ ref: String) -> [String: Any]? { - guard ref.hasPrefix("#/") else { return nil } - var current: Any = rootSchema - for component in ref.dropFirst(2).split(separator: "/") { - let key = component - .replacingOccurrences(of: "~1", with: "/") - .replacingOccurrences(of: "~0", with: "~") - guard let dictionary = current as? [String: Any], - let next = dictionary[key] else { - return nil - } - current = next - } - return current as? [String: Any] - } - - private func matchesType(_ value: Any, typeSpec: Any) -> Bool { - if let type = typeSpec as? String { - return matchesType(value, type: type) - } - if let types = typeSpec as? [String] { - return types.contains { matchesType(value, type: $0) } - } - return true - } - - private func matchesType(_ value: Any, type: String) -> Bool { - switch type { - case "null": - return value is NSNull - case "boolean": - return isJSONBoolean(value) - case "string": - return value is String - case "array": - return value is [Any] - case "object": - return value is [String: Any] - case "number": - return jsonNumber(value) != nil - case "integer": - guard let number = jsonNumber(value), number.isFinite else { return false } - return number.rounded() == number - default: - return true - } - } - - private func typeDescription(_ typeSpec: Any) -> String { - if let type = typeSpec as? String { return type } - if let types = typeSpec as? [String] { return types.joined(separator: " or ") } - return "valid JSON value" - } - - private func kindDescription(_ value: Any) -> String { - if value is NSNull { return "null" } - if isJSONBoolean(value) { return "boolean" } - if value is String { return "string" } - if value is [Any] { return "array" } - if value is [String: Any] { return "object" } - if let number = jsonNumber(value) { - return number.rounded() == number ? "integer" : "number" - } - return String(describing: type(of: value)) - } - - private func isJSONBoolean(_ value: Any) -> Bool { - guard let number = value as? NSNumber else { return false } - return CFGetTypeID(number) == CFBooleanGetTypeID() - } - - private func jsonNumber(_ value: Any) -> Double? { - guard let number = value as? NSNumber, !isJSONBoolean(value) else { return nil } - return number.doubleValue - } - - private func schemaNumber(_ value: Any?) -> Double? { - guard let value else { return nil } - return jsonNumber(value) - } - - private func schemaInteger(_ value: Any?) -> Int? { - guard let value, let number = jsonNumber(value), number.isFinite else { return nil } - return Int(exactly: number) - } - - private func jsonEqual(_ lhs: Any, _ rhs: Any) -> Bool { - if lhs is NSNull || rhs is NSNull { - return lhs is NSNull && rhs is NSNull - } - if isJSONBoolean(lhs) || isJSONBoolean(rhs) { - guard isJSONBoolean(lhs), isJSONBoolean(rhs), - let left = lhs as? NSNumber, - let right = rhs as? NSNumber else { - return false - } - return left.boolValue == right.boolValue - } - if let left = lhs as? String, let right = rhs as? String { - return left == right - } - if let left = jsonNumber(lhs), let right = jsonNumber(rhs) { - return left == right - } - if let left = lhs as? [Any], let right = rhs as? [Any] { - return left.count == right.count && zip(left, right).allSatisfy { pair in - jsonEqual(pair.0, pair.1) - } - } - if let left = lhs as? [String: Any], let right = rhs as? [String: Any] { - guard Set(left.keys) == Set(right.keys) else { return false } - return left.allSatisfy { key, value in - guard let other = right[key] else { return false } - return jsonEqual(value, other) - } - } - return false - } - - private func matchesPattern(_ value: String, pattern: String) -> Bool { - guard let expression = try? NSRegularExpression(pattern: pattern) else { return false } - let range = NSRange(location: 0, length: (value as NSString).length) - return expression.firstMatch(in: value, range: range) != nil - } - - private func childPath(_ path: String, key: String) -> String { - let simple = key.range(of: #"^[A-Za-z_][A-Za-z0-9_-]*$"#, options: .regularExpression) != nil - if simple { - return "\(path).\(key)" - } - let escaped = key - .replacingOccurrences(of: "\\", with: "\\\\") - .replacingOccurrences(of: "'", with: "\\'") - return "\(path)['\(escaped)']" - } - - private func displayChoices(_ values: [Any]) -> String { - let rendered = values.prefix(8).map(displayJSON) - if values.count > rendered.count { - return rendered.joined(separator: ", ") + " (+\(values.count - rendered.count) more)" - } - return rendered.joined(separator: ", ") - } - - private func displayJSON(_ value: Any) -> String { - if let string = value as? String { - if let data = try? JSONSerialization.data(withJSONObject: [string]), - let encoded = String(data: data, encoding: .utf8) { - return String(encoded.dropFirst().dropLast()) - } - return "\"\(string)\"" - } - if value is NSNull { return "null" } - if isJSONBoolean(value), let number = value as? NSNumber { - return number.boolValue ? "true" : "false" - } - if let number = jsonNumber(value) { - return formatNumber(number) - } - if JSONSerialization.isValidJSONObject(value), - let data = try? JSONSerialization.data(withJSONObject: value, options: [.sortedKeys]), - let encoded = String(data: data, encoding: .utf8) { - return encoded - } - return String(describing: value) - } - - private func formatNumber(_ value: Double) -> String { - if value.rounded() == value { - return String(format: "%.0f", value) - } - return String(value) - } - - private func deduplicated(_ issues: [CMUXConfigSemanticIssue]) -> [CMUXConfigSemanticIssue] { - var seen = Set() - return issues.filter { issue in - seen.insert("\(issue.path)\u{0}\(issue.message)").inserted - } - } -} From c40994b08ae7804313ba93c3f4756c0c6acbb303 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:26:32 -0700 Subject: [PATCH 18/55] config: remove CLI-local schema copy --- CLI/CMUXConfigSchema.generated.swift | 1062 -------------------------- 1 file changed, 1062 deletions(-) delete mode 100644 CLI/CMUXConfigSchema.generated.swift diff --git a/CLI/CMUXConfigSchema.generated.swift b/CLI/CMUXConfigSchema.generated.swift deleted file mode 100644 index b2ff7d62212c..000000000000 --- a/CLI/CMUXConfigSchema.generated.swift +++ /dev/null @@ -1,1062 +0,0 @@ -// Generated by scripts/generate-cmux-config-schema.py. Do not edit. -// Source: web/data/cmux.schema.json - -import Foundation - -enum CMUXEmbeddedConfigSchema { - static let data: Data = { - let base64 = [ - "ewogICIkc2NoZW1hIjogImh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvc2NoZW1hIiwKICAiJGlkIjogImh0dHBzOi8vcmF3LmdpdGh1", - "YnVzZXJjb250ZW50LmNvbS9tYW5hZmxvdy1haS9jbXV4L21haW4vd2ViL2RhdGEvY211eC5zY2hlbWEuanNvbiIsCiAgInRpdGxlIjogImNtdXguanNvbiIs", - "CiAgImRlc2NyaXB0aW9uIjogImNtdXggY29uZmlndXJhdGlvbi4gR2xvYmFsIGNtdXguanNvbiBzdXBwb3J0cyBhcHAgc2V0dGluZ3MsIHNob3J0Y3V0cywg", - "YWN0aW9ucywgY3VzdG9tIGNvbW1hbmRzLCBub3RpZmljYXRpb24gaG9va3MsIGFuZCB3b3Jrc3BhY2UgbGF5b3V0cy4gUHJvamVjdC1sb2NhbCAuY211eC9j", - "bXV4Lmpzb24gc3VwcG9ydHMgYWN0aW9ucywgY29tbWFuZHMsIG5vdGlmaWNhdGlvbiBob29rcywgYW5kIFVJIGFjdGlvbiB3aXJpbmcuIiwKICAidHlwZSI6", - "ICJvYmplY3QiLAogICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICJwcm9wZXJ0aWVzIjogewogICAgIiRzY2hlbWEiOiB7CiAgICAgICJ0eXBl", - "IjogInN0cmluZyIsCiAgICAgICJmb3JtYXQiOiAidXJpIiwKICAgICAgImRlZmF1bHQiOiAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21h", - "bmFmbG93LWFpL2NtdXgvbWFpbi93ZWIvZGF0YS9jbXV4LnNjaGVtYS5qc29uIiwKICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHNjaGVtYSBVUkwg", - "Zm9yIGVkaXRvciBjb21wbGV0aW9uIGFuZCB2YWxpZGF0aW9uLiIKICAgIH0sCiAgICAic2NoZW1hVmVyc2lvbiI6IHsKICAgICAgInR5cGUiOiAiaW50ZWdl", - "ciIsCiAgICAgICJtaW5pbXVtIjogMSwKICAgICAgImRlZmF1bHQiOiAxLAogICAgICAiZGVzY3JpcHRpb24iOiAiU2NoZW1hIHZlcnNpb24gZm9yIGZvcndh", - "cmQtY29tcGF0aWJsZSBtaWdyYXRpb25zLiBOZXdlciB2ZXJzaW9ucyBhcmUgcGFyc2VkIG9uIGEgYmVzdC1lZmZvcnQgYmFzaXMuIgogICAgfSwKICAgICJw", - "YW5lQm9yZGVyQ29sb3IiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleE9yTnVs", - "bCIsCiAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5wYW5lQm9yZGVyQ29sb3IiLAog", - "ICAgICAiZGVzY3JpcHRpb24iOiAiT3ZlcnJpZGUgdGhlIGNtdXggcGFuZSBkaXZpZGVyIGNvbG9yIGluIHNwbGl0IHdvcmtzcGFjZXMuIFRoaXMgYWZmZWN0", - "cyBjbXV4IHBhbmUgYm91bmRhcmllcywgbm90IEdob3N0dHkgaW50ZXJuYWwgc3BsaXRzLiIKICAgIH0sCiAgICAiYWN0aXZlUGFuZUJvcmRlckNvbG9yIjog", - "ewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAiZGVmYXVs", - "dCI6IG51bGwsCiAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWN0aXZlUGFuZUJvcmRlckNvbG9yIiwKICAgICAgImRlc2Ny", - "aXB0aW9uIjogIk9wdGlvbmFsIGJvcmRlciBjb2xvciBkcmF3biBhcm91bmQgdGhlIGZvY3VzZWQgY211eCBwYW5lIGluIHNwbGl0IHdvcmtzcGFjZXMuIgog", - "ICAgfSwKICAgICJhY3Rpb25zIjogewogICAgICAidGl0bGUiOiAiYWN0aW9ucyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJBY3Rpb24gcmVnaXN0cnkgdXNl", - "ZCBieSB0aGUgc3VyZmFjZSB0YWIgYmFyLCBDb21tYW5kIFBhbGV0dGUsIHNob3J0Y3V0cywgYW5kIHBsdXMtYnV0dG9uIG1lbnUuIEVhY2ggZW50cnkgc3Vw", - "cG9ydHMgdHlwZSBcImJ1aWx0aW5cIiwgXCJjb21tYW5kXCIsIFwiYWdlbnRcIiAoYW55IENMSSBhZ2VudCBuYW1lLCBlLmcuIGNsYXVkZSwgY29kZXgsIG9w", - "ZW5jb2RlLCBvciBhIGN1c3RvbSBiaW5hcnksIHdpdGggb3B0aW9uYWwgYXJncyksIFwid29ya3NwYWNlQ29tbWFuZFwiLCBvciBcIndvcmtzcGFjZVwiIChp", - "bmxpbmUgd29ya3NwYWNlIHdpdGggbmFtZS9jd2QvY29sb3IvZW52L3NldHVwL2xheW91dCwgcGx1cyBvcHRpb25hbCByZXN0YXJ0KS4gSW5saW5lIHdvcmtz", - "cGFjZSBlbnRyaWVzIGFyZSBhdXRvLW9mZmVyZWQgaW4gdGhlIG5ldy13b3Jrc3BhY2UgcGx1cy1idXR0b24gbWVudTsgc2V0IG5ld1dvcmtzcGFjZU1lbnUg", - "dHJ1ZS9mYWxzZSBvbiBhbnkgYWN0aW9uIHRvIG92ZXJyaWRlLiBcIlNhdmUgV29ya3NwYWNlIGFzIExheW91dFwiIGluIHRoZSBwbHVzLWJ1dHRvbiBtZW51", - "IHdyaXRlcyBlbnRyaWVzIGhlcmUuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZQogICAgfSwK", - "ICAgICJ1aSI6IHsKICAgICAgInRpdGxlIjogInVpIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlVJIGFjdGlvbiB3aXJpbmcsIGluY2x1ZGluZyBzdXJmYWNl", - "IHRhYiBiYXIgYnV0dG9ucyBhbmQgcGx1cy1idXR0b24gYmVoYXZpb3IuIFRoZSBwbHVzLWJ1dHRvbiBjb250ZXh0IG1lbnUgc2hvd3MgdWkubmV3V29ya3Nw", - "YWNlLmNvbnRleHRNZW51IChvciB0aGUgZGVmYXVsdCBpdGVtcykgZm9sbG93ZWQgYnkgYWN0aW9ucyB0aGF0IG9wdCBpbiB2aWEgbmV3V29ya3NwYWNlTWVu", - "dS4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlLAogICAgICAicHJvcGVydGllcyI6IHsKICAg", - "ICAgICAibmV3V29ya3NwYWNlIjogewogICAgICAgICAgInRpdGxlIjogIm5ld1dvcmtzcGFjZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTmV3IFdv", - "cmtzcGFjZSBidXR0b24gYmVoYXZpb3IgYW5kIGNvbnRleHQtbWVudSB3aXJpbmcuIiwKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAi", - "YWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJhY3Rpb24iOiB7CiAgICAgICAgICAg", - "ICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSUQgb2YgdGhlIGFjdGlvbiBydW4gYnkgcGxhaW4gTmV3IFdvcmtz", - "cGFjZS4gVGhpcyBpcyB0aGUgZGVmYXVsdCB3b3Jrc3BhY2UgbGF5b3V0OyBvbWl0IG9yIHJlbW92ZSBpdCBmb3IgTm9uZSAoQmxhbmsgVGVybWluYWwpLiBQ", - "cm9qZWN0LWxvY2FsIHVpLm5ld1dvcmtzcGFjZS5hY3Rpb24gd2lucyBvdmVyIHRoZSBnbG9iYWwgdmFsdWUuIgogICAgICAgICAgICB9CiAgICAgICAgICB9", - "CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImNvbW1hbmRzIjogewogICAgICAidGl0bGUiOiAiY29tbWFuZHMiLAogICAgICAiZGVzY3JpcHRpb24i", - "OiAiQ3VzdG9tIHNoZWxsIGNvbW1hbmRzIGFuZCB3b3Jrc3BhY2UgbGF5b3V0IGRlZmluaXRpb25zLiBXb3Jrc3BhY2UgZGVmaW5pdGlvbnMgc3VwcG9ydCBu", - "YW1lLCBjd2QsIGNvbG9yLCBlbnYsIGxheW91dCwgYW5kIHNldHVwIChhIGJvb3RzdHJhcCBjb21tYW5kIHNlbnQgdG8gdGhlIGZpcnN0IHRlcm1pbmFsIGJl", - "Zm9yZSBpdHMgb3duIGNvbW1hbmQpLiIsCiAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgIml0ZW1zIjogewogICAgICAgICJ0eXBlIjogIm9iamVjdCIs", - "CiAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZQogICAgICB9CiAgICB9LAogICAgImNvbXB1dGVyVXNlIjogewogICAgICAieC1jbXV4LXNj", - "b3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJjb21wdXRlclVzZSIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFs", - "UHJvcGVydGllcyI6IGZhbHNlLAogICAgICAiZGVzY3JpcHRpb24iOiAiTG9jYWwgY29tcHV0ZXItdXNlIHRvb2xzIGFuZCBtZW51LWJhciB2aXNpYmlsaXR5", - "LiIsCiAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuY29tcHV0ZXJVc2UuZGVzY3JpcHRpb24iLAogICAgICAicHJvcGVydGll", - "cyI6IHsKICAgICAgICAiZW5hYmxlZCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAg", - "ICAgImRlc2NyaXB0aW9uIjogIkFsbG93IHN1cHBvcnRlZCBhZ2VudCBsYXVuY2hlcyBpbiBjbXV4IHRlcm1pbmFscyB0byBhdHRhY2ggdGhlIGxvY2FsIGNv", - "bXB1dGVyLXVzZSB0b29scy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5jb21wdXRlclVzZS5lbmFibGVkIgog", - "ICAgICAgIH0sCiAgICAgICAgInNob3dJbk1lbnVCYXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1", - "ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGxpdmUgY29tcHV0ZXItdXNlIHNlc3Npb25zIGFuZCBmb2N1cyBhY3Rpb25zIGluIHRoZSBtZW51", - "IGJhci4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5jb21wdXRlclVzZS5zaG93SW5NZW51QmFyIgogICAgICAg", - "IH0KICAgICAgfQogICAgfSwKICAgICJhZ2VudENoYXQiOiB7CiAgICAgICJ0aXRsZSI6ICJhZ2VudENoYXQiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQWdl", - "bnQgQ2hhdCBHVUkgc2VydmVyIHNldHRpbmdzLiBUaGUgYnVpbHQtaW4gTmV3IGFnZW50IGNoYXQgYWN0aW9uIG9wZW5zIHRoaXMgVVJMIGluIGEgYnJvd3Nl", - "ciB3b3Jrc3BhY2UsIHByb2JpbmcgL2hlYWx0aHogZmlyc3QgYW5kIG9wdGlvbmFsbHkgc3RhcnRpbmcgdGhlIHNlcnZlciB3aXRoIHN0YXJ0Q29tbWFuZC4i", - "LAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5kZXNjcmlwdGlvbiIsCiAgICAgICJ0eXBlIjogIm9iamVj", - "dCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAidXJsIjogewogICAgICAgICAg", - "InR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJmb3JtYXQiOiAidXJpIiwKICAgICAgICAgICJwYXR0ZXJuIjogIl5odHRwcz86Ly8iLAogICAgICAgICAg", - "Im1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAiZGVmYXVsdCI6ICJodHRwOi8vMTI3LjAuMC4xOjc3MzkiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkJh", - "c2UgVVJMIGZvciB0aGUgbWFjaGluZS1sb2NhbCBBZ2VudCBDaGF0IEdVSSBzZXJ2ZXIuIGNtdXggcHJvYmVzIDx1cmw+L2hlYWx0aHogYmVmb3JlIG9wZW5p", - "bmcgdGhlIHdvcmtzcGFjZS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQudXJsIgogICAgICAg", - "IH0sCiAgICAgICAgInN0YXJ0Q29tbWFuZCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAg", - "ICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBzaGVsbCBjb21tYW5kIHRvIHN0YXJ0IHRoZSBBZ2VudCBDaGF0IHNlcnZlciB3aGVuIDx1cmw+L2hlYWx0", - "aHogaXMgdW5yZWFjaGFibGUuIGNtdXggcnVucyBpdCBkZXRhY2hlZCB3aXRoIHRoZSB1c2VyJ3MgU0hFTEwsIHBvbGxzIGhlYWx0aHogZm9yIGEgc2hvcnQg", - "Ym91bmRlZCB3aW5kb3csIHRoZW4gb3BlbnMgdGhlIHdvcmtzcGFjZSBlaXRoZXIgd2F5LiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1h", - "RGVzY3JpcHRpb25zLmFnZW50Q2hhdC5zdGFydENvbW1hbmQiCiAgICAgICAgfSwKICAgICAgICAia2V5cyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVj", - "dCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJLZXlib2FyZCBiZWhhdmlvciBv", - "dmVycmlkZXMgZm9yIHRoZSBBZ2VudCBDaGF0IHdlYiBVSS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2Vu", - "dENoYXQua2V5cy5kZXNjcmlwdGlvbiIsCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImN0cmxKIjogewogICAgICAgICAgICAgICJ0", - "eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgImVudW0iOiBbIm5ld2xpbmUiLCAibWVudSJdLAogICAgICAgICAgICAgICJkZWZhdWx0IjogIm5ld2xp", - "bmUiLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJCZWhhdmlvciBmb3IgQ3RybCtKIGluIEFnZW50IENoYXQgdGV4dCBmaWVsZHMuIFVzZSBuZXds", - "aW5lIHRvIGluc2VydCBhIGxpbmUgYnJlYWssIG9yIG1lbnUgdG8gbW92ZSB0byB0aGUgbmV4dCBwb3B1cCBpdGVtIHdoaWxlIGEgbWVudSBpcyBvcGVuLiIs", - "CiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQua2V5cy5jdHJsSiIKICAgICAgICAgICAgfQog", - "ICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImZvbnRzIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJhZGRpdGlvbmFs", - "UHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZvbnQgb3ZlcnJpZGVzIGZvciB0aGUgQWdlbnQgQ2hhdCB3ZWIgVUkuIE9t", - "aXR0ZWQgdmFsdWVzIGZhbGwgYmFjayB0byBHaG9zdHR5IGFuZCBidWlsdC1pbiBkZWZhdWx0cy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNj", - "aGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuZGVzY3JpcHRpb24iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJzYW5z", - "RmFtaWx5IjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgImRl", - "c2NyaXB0aW9uIjogIkNTUyBmb250IGZhbWlseSB1c2VkIGZvciBBZ2VudCBDaGF0IGJvZHkgYW5kIFVJIHRleHQuIiwKICAgICAgICAgICAgICAiZGVzY3Jp", - "cHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5zYW5zRmFtaWx5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiYm9k", - "eUZhbWlseSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgICAgICJk", - "ZXNjcmlwdGlvbiI6ICJBbGlhcyBmb3Igc2Fuc0ZhbWlseS4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMu", - "YWdlbnRDaGF0LmZvbnRzLmJvZHlGYW1pbHkiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJmYW1pbHkiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAi", - "c3RyaW5nIiwKICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxpYXMgZm9yIHNhbnNGYW1pbHku", - "IiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5mYW1pbHkiCiAgICAgICAgICAg", - "IH0sCiAgICAgICAgICAgICJiYXNlU2l6ZSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgICAgICJleGNsdXNpdmVNaW5p", - "bXVtIjogMCwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQmFzZSBBZ2VudCBDaGF0IGZvbnQgc2l6ZSBpbiBDU1MgcGl4ZWxzLiIsCiAgICAgICAg", - "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuYmFzZVNpemUiCiAgICAgICAgICAgIH0sCiAgICAg", - "ICAgICAgICJib2R5U2l6ZSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgICAgICJleGNsdXNpdmVNaW5pbXVtIjogMCwK", - "ICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxpYXMgZm9yIGJhc2VTaXplLiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVt", - "YURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuYm9keVNpemUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJtb25vRmFtaWx5IjogewogICAgICAg", - "ICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNTUyBm", - "b250IGZhbWlseSB1c2VkIGZvciBBZ2VudCBDaGF0IGNvZGUgYW5kIG1vbm9zcGFjZSB0ZXh0LiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5Ijog", - "InNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMubW9ub0ZhbWlseSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImNvZGVGYW1pbHkiOiB7", - "CiAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24i", - "OiAiQWxpYXMgZm9yIG1vbm9GYW1pbHkuIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5m", - "b250cy5jb2RlRmFtaWx5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiY29kZVNpemUiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwK", - "ICAgICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFnZW50IENoYXQgY29kZSBmb250IHNp", - "emUgaW4gQ1NTIHBpeGVscy4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmNv", - "ZGVTaXplIgogICAgICAgICAgICB9LAogICAgICAgICAgICAibW9ub1NpemUiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAg", - "ICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsaWFzIGZvciBjb2RlU2l6ZS4iLAogICAgICAgICAg", - "ICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLm1vbm9TaXplIgogICAgICAgICAgICB9LAogICAgICAg", - "ICAgICAiY29kZUxpbmVIZWlnaHQiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6", - "IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkxpbmUtaGVpZ2h0IG11bHRpcGxpZXIgdXNlZCBmb3IgQWdlbnQgQ2hhdCBjb2RlIGJsb2Nrcy4i", - "LAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmNvZGVMaW5lSGVpZ2h0IgogICAg", - "ICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgInZhdWx0IjogewogICAgICAidGl0bGUiOiAidmF1bHQiLAogICAg", - "ICAiZGVzY3JpcHRpb24iOiAiVmF1bHQgc2Vzc2lvbiByZXN0b3JlIGFnZW50IHJlZ2lzdHJhdGlvbnMuIGNtdXggaW5jbHVkZXMgUGkgYnkgZGVmYXVsdDsg", - "dXNlIHRoaXMgc2VjdGlvbiB0byBhZGQgb3Igb3ZlcnJpZGUgSlNPTkwtYmFja2VkIGNvZGluZyBhZ2VudHMgd2l0aG91dCBhbiBhcHAgdXBkYXRlLiIsCiAg", - "ICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAi", - "YWdlbnRzIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkN1c3RvbSBjb2RpbmcgYWdlbnRzIHRoYXQg", - "VmF1bHQgY2FuIGRldGVjdCwgbGlzdCwgYW5kIHJlc3VtZS4iLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAog", - "ICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlLAogICAgICAgICAgICAicmVxdWlyZWQiOiBbImlkIiwgIm5hbWUiLCAic2Vzc2lvbklk", - "U291cmNlIiwgInJlc3VtZUNvbW1hbmQiXSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgImlkIjogewogICAgICAgICAgICAg", - "ICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIl5bQS1aYS16MC05Ll8tXSskIiwKICAgICAgICAgICAgICAgICJtYXhM", - "ZW5ndGgiOiA2NCwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdGFibGUgY2FzZS1wcmVzZXJ2aW5nIEFTQ0lJIGlkZW50aWZpZXIgdXNlZCBp", - "biBWYXVsdCBwZXJzaXN0ZW5jZSwgZm9yIGV4YW1wbGUgcGkuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIm5hbWUiOiB7CiAgICAgICAgICAg", - "ICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbmFtZSBzaG93biBpbiBWYXVsdC4iCiAgICAg", - "ICAgICAgICAgfSwKICAgICAgICAgICAgICAiaWNvbkFzc2V0TmFtZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAg", - "ICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgYXNzZXQgY2F0YWxvZyBpbWFnZSBuYW1lIHNob3duIGZvciB0aGlzIGFnZW50IGluIFZhdWx0LiIKICAg", - "ICAgICAgICAgICB9LAogICAgICAgICAgICAgICJkZXRlY3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICAg", - "ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUnVsZXMgZm9yIGRldGVjdGluZyBhIHJ1bm5p", - "bmcgYWdlbnQgcHJvY2VzcyBpbnNpZGUgYSBjbXV4IHRlcm1pbmFsLiIsCiAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAg", - "ICAgInByb2Nlc3NOYW1lIjogewogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9u", - "IjogIkV4ZWN1dGFibGUgYmFzZW5hbWUgdG8gbWF0Y2gsIGZvciBleGFtcGxlIHBpLiIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAg", - "ImFyZ3ZDb250YWlucyI6IHsKICAgICAgICAgICAgICAgICAgICAib25lT2YiOiBbCiAgICAgICAgICAgICAgICAgICAgICB7ICJ0eXBlIjogInN0cmluZyIg", - "fSwKICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgICAgICAgICAgICAg", - "ICAiaXRlbXMiOiB7ICJ0eXBlIjogInN0cmluZyIgfQogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAg", - "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN1YnN0cmluZyBvciBzdWJzdHJpbmdzIHRoYXQgbXVzdCBhcHBlYXIgaW4gdGhlIHByb2Nlc3MgYXJndi4iCiAg", - "ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJzZXNzaW9uSWRTb3VyY2UiOiB7CiAg", - "ICAgICAgICAgICAgICAib25lT2YiOiBbCiAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAg", - "ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVc2UgcGlTZXNzaW9uRmlsZSBmb3IgUGkgSlNPTkwgZGlzY292ZXJ5LCBvciBhbiBhcmd2IG9wdGlvbiBz", - "dWNoIGFzIC0tc2Vzc2lvbi4iCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJv", - "YmplY3QiLAogICAgICAgICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6", - "IFsidHlwZSJdLAogICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiB7CiAgICAgICAgICAg", - "ICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJlbnVtIjogWyJhcmd2T3B0aW9uIiwgInBpU2Vzc2lvbkZp", - "bGUiXQogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICJhcmd2T3B0aW9uIjogewogICAgICAgICAgICAgICAgICAgICAg", - "ICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uIHdob3NlIGZvbGxvd2luZyB2YWx1ZSBp", - "cyB0aGUgc2Vzc2lvbiBpZCwgZm9yIGV4YW1wbGUgLS1zZXNzaW9uLiIKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAog", - "ICAgICAgICAgICAgICAgICAgICJhbGxPZiI6IFsKICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImlmIjogewogICAg", - "ICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiB7ICJjb25zdCI6ICJhcmd2", - "T3B0aW9uIiB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAi", - "dGhlbiI6IHsgInJlcXVpcmVkIjogWyJhcmd2T3B0aW9uIl0gfQogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgIHsKICAg", - "ICAgICAgICAgICAgICAgICAgICAgImlmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAg", - "ICAgICAgICAgInR5cGUiOiB7ICJjb25zdCI6ICJwaVNlc3Npb25GaWxlIiB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg", - "ICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidGhlbiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAibm90IjogeyAicmVxdWlyZWQi", - "OiBbImFyZ3ZPcHRpb24iXSB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBd", - "CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlcmUgY211eCByZWFkcyB0", - "aGUgbmF0aXZlIHNlc3Npb24gaWQgZm9yIGFuIGFjdGl2ZSBwcm9jZXNzLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJyZXN1bWVDb21tYW5k", - "IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgICAgICAgeyAicGF0", - "dGVybiI6ICJcXHtcXHtzZXNzaW9uSWRcXH1cXH0iIH0sCiAgICAgICAgICAgICAgICAgIHsgInBhdHRlcm4iOiAiXFx7XFx7c2Vzc2lvblBhdGhcXH1cXH0i", - "IH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hlbGwtbGlrZSBhcmd2IHRlbXBsYXRlIHVzZWQgdG8gcmVz", - "dW1lIGEgc2Vzc2lvbi4gU3VwcG9ydGVkIHBsYWNlaG9sZGVyczoge3tzZXNzaW9uSWR9fSwge3tzZXNzaW9uUGF0aH19LCB7e2V4ZWN1dGFibGV9fSwge3tj", - "d2R9fSwge3tzZXNzaW9uRGlyfX0uIE11c3QgaW5jbHVkZSB7e3Nlc3Npb25JZH19IG9yIHt7c2Vzc2lvblBhdGh9fS4iCiAgICAgICAgICAgICAgfSwKICAg", - "ICAgICAgICAgICAiZm9ya0NvbW1hbmQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImFueU9mIjogWwog", - "ICAgICAgICAgICAgICAgICB7ICJwYXR0ZXJuIjogIlxce1xce3Nlc3Npb25JZFxcfVxcfSIgfSwKICAgICAgICAgICAgICAgICAgeyAicGF0dGVybiI6ICJc", - "XHtcXHtzZXNzaW9uUGF0aFxcfVxcfSIgfQogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBzaGVs", - "bC1saWtlIGFyZ3YgdGVtcGxhdGUgdXNlZCB0byBmb3JrIChicmFuY2gpIGEgc2Vzc2lvbiBpbnRvIGEgbmV3IGNvcHksIGZvciBleGFtcGxlIFwie3tleGVj", - "dXRhYmxlfX0gLS1zZXNzaW9uIHt7c2Vzc2lvbklkfX0gLS1mb3JrXCIuIFNhbWUgcGxhY2Vob2xkZXJzIGFzIHJlc3VtZUNvbW1hbmQuIE9taXQgd2hlbiB0", - "aGUgYWdlbnQgaGFzIG5vIGZvcmsgY2FwYWJpbGl0eTsgRm9yayBDb252ZXJzYXRpb24gc3RheXMgaGlkZGVuIGZvciBpdC4iCiAgICAgICAgICAgICAgfSwK", - "ICAgICAgICAgICAgICAiY3dkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJlbnVtIjogWyJwcmVzZXJ2", - "ZSIsICJpZ25vcmUiXSwKICAgICAgICAgICAgICAgICJkZWZhdWx0IjogInByZXNlcnZlIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGV0", - "aGVyIFZhdWx0IHNob3VsZCBjZCB0byB0aGUgc2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYmVmb3JlIHJ1bm5pbmcgcmVzdW1lQ29tbWFuZC4iCiAgICAgICAg", - "ICAgICAgfSwKICAgICAgICAgICAgICAic2Vzc2lvbkRpcmVjdG9yeSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAg", - "ICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgcm9vdCBkaXJlY3RvcnkgZm9yIEpTT05MIHNlc3Npb24gZGlzY292ZXJ5LCBzdWNoIGFzIH4vLnBpL2Fn", - "ZW50L3Nlc3Npb25zLiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiZGVmYXVsdCI6IFtdCiAgICAgICAg", - "fQogICAgICB9CiAgICB9LAogICAgIm5ld1dvcmtzcGFjZUNvbW1hbmQiOiB7CiAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICJkZXNjcmlwdGlvbiI6", - "ICJMZWdhY3kgbmFtZSBvZiBhIHdvcmtzcGFjZSBjb21tYW5kIHRvIHJ1biB3aGVuIGNyZWF0aW5nIGEgbmV3IHdvcmtzcGFjZS4gUHJlZmVyIHVpLm5ld1dv", - "cmtzcGFjZS5hY3Rpb24gZm9yIG5ldyBjb25maWdzLiIKICAgIH0sCiAgICAid29ya3NwYWNlR3JvdXBzIjogewogICAgICAidHlwZSI6ICJvYmplY3QiLAog", - "ICAgICAidGl0bGUiOiAid29ya3NwYWNlR3JvdXBzIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlBlci1jd2QgY3VzdG9taXphdGlvbiBmb3Igc2lkZWJhciB3", - "b3Jrc3BhY2UgZ3JvdXBzLiBUaGUgYW5jaG9yIHdvcmtzcGFjZSdzIGN3ZCBpcyBtYXRjaGVkIGFnYWluc3QgdGhlIGtleXMgaW4gYGJ5Q3dkYDsgbG9uZ2Vz", - "dC1tYXRjaCB3aW5zLiBLZXlzIGNvbnRhaW5pbmcgYCpgIG9yIGA/YCBhcmUgbWF0Y2hlZCBhcyBmbm1hdGNoIGdsb2JzICh3aXRoIGB+YCBleHBhbmRlZCk7", - "IG90aGVyIGtleXMgYXJlIHBhdGggcHJlZml4ZXMuIiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjog", - "ewogICAgICAgICJuZXdXb3Jrc3BhY2VQbGFjZW1lbnQiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlw", - "ZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImFmdGVyQ3VycmVudCIsICJ0b3AiLCAiZW5kIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJhZnRl", - "ckN1cnJlbnQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkdsb2JhbCBkZWZhdWx0IGZvciB3aGVyZSBDbWQtTiBpbnNpZGUgYSBncm91cCwgdGhlIGdy", - "b3VwIGhlYWRlciArIGJ1dHRvbiwgYW5kIGNvbmZpZ3VyZWQgZ3JvdXAgYWN0aW9ucyBwbGFjZSB0aGUgbmV3IHdvcmtzcGFjZTogYGFmdGVyQ3VycmVudGAg", - "KGFmdGVyIHRoZSBhY3RpdmUgaW4tZ3JvdXAgd29ya3NwYWNlLCBmYWxsaW5nIGJhY2sgdG8gdG9wKSwgYHRvcGAgKHNlY29uZCBzbG90LCBqdXN0IGFmdGVy", - "IHRoZSBhbmNob3IpLCBvciBgZW5kYCAoYWZ0ZXIgdGhlIGxhc3QgbWVtYmVyKS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2Ny", - "aXB0aW9ucy53b3Jrc3BhY2VHcm91cHMubmV3V29ya3NwYWNlUGxhY2VtZW50IgogICAgICAgIH0sCiAgICAgICAgImJ5Q3dkIjogewogICAgICAgICAgInR5", - "cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXAgb2YgY3dkIHBhdHRlcm5zIHRvIGdyb3VwIGN1c3RvbWl6YXRpb24uIEVtcHR5", - "IHdoZW4gb21pdHRlZC4iLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAg", - "ICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgImNvbG9yIjogewog", - "ICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIZXggY29sb3IgKGUuZy4gXCIjN0E0RkQ4", - "XCIpIGFwcGxpZWQgYXMgdGhlIGdyb3VwIGhlYWRlciB0aW50IHdoZW4gdGhlIGdyb3VwIGl0c2VsZiBoYXMgbm8gZXhwbGljaXQgY3VzdG9tQ29sb3IuIgog", - "ICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImljb24iOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAg", - "ImRlc2NyaXB0aW9uIjogIlNGIFN5bWJvbCBuYW1lIChlLmcuIFwiZm9sZGVyLmZpbGxcIiwgXCJsYWR5YnVnLmZpbGxcIikgZm9yIHRoZSBncm91cCBoZWFk", - "ZXIuIEZhbGxzIGJhY2sgdG8gXCJmb2xkZXIuZmlsbFwiIHdoZW4gb21pdHRlZC4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29udGV4dE1l", - "bnUiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSXRlbXMgYXBwZWFyaW5nIGlu", - "IHRoZSByaWdodC1jbGljayBtZW51IG9uIHRoZSBncm91cCdzICsgYnV0dG9uLiBTYW1lIHNjaGVtYSBhcyB0aGUgZ2xvYmFsIHVpLm5ld1dvcmtzcGFjZS5j", - "b250ZXh0TWVudSBlbnRyaWVzLiIsCiAgICAgICAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICAgICAgICJvbmVPZiI6IFsKICAgICAgICAgICAg", - "ICAgICAgICB7ICJ0eXBlIjogInN0cmluZyIgfSwKICAgICAgICAgICAgICAgICAgICB7ICJ0eXBlIjogIm9iamVjdCIsICJhZGRpdGlvbmFsUHJvcGVydGll", - "cyI6IHRydWUgfQogICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAibmV3V29ya3Nw", - "YWNlUGxhY2VtZW50IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJlbnVtIjogWyJhZnRlckN1cnJlbnQi", - "LCAidG9wIiwgImVuZCJdLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlBlci1jd2Qgb3ZlcnJpZGUgZm9yIHdoZXJlIENtZC1OIGluc2lkZSB0", - "aGUgZ3JvdXAsIHRoZSBncm91cCBoZWFkZXIgKyBidXR0b24sIGFuZCBjb25maWd1cmVkIGdyb3VwIGFjdGlvbnMgcGxhY2UgdGhlIG5ldyB3b3Jrc3BhY2U6", - "IGBhZnRlckN1cnJlbnRgIChhZnRlciB0aGUgYWN0aXZlIGluLWdyb3VwIHdvcmtzcGFjZSwgZmFsbGluZyBiYWNrIHRvIHRvcCksIGB0b3BgIChzZWNvbmQg", - "c2xvdCwganVzdCBhZnRlciB0aGUgYW5jaG9yKSwgb3IgYGVuZGAgKGFmdGVyIHRoZSBsYXN0IG1lbWJlcikuIEZhbGxzIGJhY2sgdG8gdGhlIGdsb2JhbCBk", - "ZWZhdWx0IHdoZW4gb21pdHRlZC4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy53b3Jrc3BhY2VHcm91", - "cHMuYnlDd2QubmV3V29ya3NwYWNlUGxhY2VtZW50IgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAg", - "fQogICAgfSwKICAgICJzdXJmYWNlVGFiQmFyQnV0dG9ucyI6IHsKICAgICAgInRpdGxlIjogInN1cmZhY2VUYWJCYXJCdXR0b25zIiwKICAgICAgImRlc2Ny", - "aXB0aW9uIjogIkxlZ2FjeSByb290LWxldmVsIHN1cmZhY2UgdGFiIGJhciBidXR0b25zLiBQcmVmZXIgdWkuc3VyZmFjZVRhYkJhci5idXR0b25zIGZvciBu", - "ZXcgY29uZmlncy4iLAogICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICJpdGVtcyI6IHsKICAgICAgICAib25lT2YiOiBbCiAgICAgICAgICB7ICJ0eXBl", - "IjogInN0cmluZyIgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVz", - "IjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfSwKICAgICJhcHAiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwi", - "XSwKICAgICAgInRpdGxlIjogImFwcCIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJHZW5lcmFsIGFwcCBwcmVmZXJlbmNlcyBmcm9tIFNldHRpbmdzID4gQXBw", - "LiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAg", - "ICAgICAibGFuZ3VhZ2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbCiAgICAgICAgICAgICJzeXN0ZW0iLAog", - "ICAgICAgICAgICAiZW4iLAogICAgICAgICAgICAiYXIiLAogICAgICAgICAgICAiYnMiLAogICAgICAgICAgICAiemgtSGFucyIsCiAgICAgICAgICAgICJ6", - "aC1IYW50IiwKICAgICAgICAgICAgImRhIiwKICAgICAgICAgICAgImRlIiwKICAgICAgICAgICAgImVzIiwKICAgICAgICAgICAgImZyIiwKICAgICAgICAg", - "ICAgIml0IiwKICAgICAgICAgICAgImphIiwKICAgICAgICAgICAgImtvIiwKICAgICAgICAgICAgIm5iIiwKICAgICAgICAgICAgInBsIiwKICAgICAgICAg", - "ICAgInB0LUJSIiwKICAgICAgICAgICAgInJ1IiwKICAgICAgICAgICAgInRoIiwKICAgICAgICAgICAgInRyIgogICAgICAgICAgXSwKICAgICAgICAgICJk", - "ZWZhdWx0IjogInN5c3RlbSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUHJlZmVycmVkIGFwcCBsYW5ndWFnZS4iCiAgICAgICAgfSwKICAgICAgICAi", - "YXBwZWFyYW5jZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsic3lzdGVtIiwgImxpZ2h0IiwgImRhcmsiXSwK", - "ICAgICAgICAgICJkZWZhdWx0IjogInN5c3RlbSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQXBwIGFwcGVhcmFuY2UgbW9kZS4iCiAgICAgICAgfSwK", - "ICAgICAgICAiYXBwSWNvbiI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsiYXV0b21hdGljIiwgImxpZ2h0Iiwg", - "ImRhcmsiXSwKICAgICAgICAgICJkZWZhdWx0IjogImF1dG9tYXRpYyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRG9jayBhbmQgYXBwIHN3aXRjaGVy", - "IGljb24gc3R5bGUuIgogICAgICAgIH0sCiAgICAgICAgIndpbmRvd1RpdGxlVGVtcGxhdGUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAg", - "ICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLndpbmRvd1RpdGxlVGVtcGxh", - "dGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIE5TV2luZG93IHRpdGxlIHRlbXBsYXRlLiBCbGFuayBwcmVzZXJ2ZXMgY211eCdzIGV4", - "aXN0aW5nIGRlZmF1bHQgdGl0bGUgYmVoYXZpb3IsIGluY2x1ZGluZyB0aGUgY3VycmVudC1kaXJlY3RvcnkgZmFsbGJhY2suIFN1cHBvcnRlZCBwbGFjZWhv", - "bGRlcnM6IHt3aW5kb3dJZH0sIHt3aW5kb3dUb2tlbn0sIHthY3RpdmVXb3Jrc3BhY2V9LCB7YWN0aXZlRGlyZWN0b3J5fSwge2RlZmF1bHRUaXRsZX0sIHth", - "cHBOYW1lfS4iCiAgICAgICAgfSwKICAgICAgICAibWVudUJhck9ubHkiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZh", - "dWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlkZSB0aGUgRG9jayBpY29uIGFuZCBhcHAgc3dpdGNoZXIgZW50cnkgd2hpbGUga2Vl", - "cGluZyBjbXV4IGF2YWlsYWJsZSBmcm9tIHRoZSBtZW51IGJhci4iCiAgICAgICAgfSwKICAgICAgICAibmV3V29ya3NwYWNlUGxhY2VtZW50IjogewogICAg", - "ICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJ0b3AiLCAiYWZ0ZXJDdXJyZW50IiwgImVuZCJdLAogICAgICAgICAgImRlZmF1", - "bHQiOiAiYWZ0ZXJDdXJyZW50IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVyZSBuZXcgd29ya3NwYWNlcyBhcmUgaW5zZXJ0ZWQgaW4gdGhlIHNp", - "ZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgImZvcmtDb252ZXJzYXRpb25EZWZhdWx0RGVzdGluYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJp", - "bmciLAogICAgICAgICAgImVudW0iOiBbInJpZ2h0IiwgImxlZnQiLCAidG9wIiwgImJvdHRvbSIsICJuZXdUYWIiLCAibmV3V29ya3NwYWNlIl0sCiAgICAg", - "ICAgICAiZGVmYXVsdCI6ICJyaWdodCIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC5mb3JrQ29udmVyc2F0", - "aW9uRGVmYXVsdERlc3RpbmF0aW9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IGRlc3RpbmF0aW9uIGZvciB0aGUgdGFiIGNvbnRleHQg", - "bWVudSdzIHByaW1hcnkgRm9yayBDb252ZXJzYXRpb24gYWN0aW9uLiBUaGUgc3VibWVudSBzdGlsbCBleHBvc2VzIGV2ZXJ5IGRlc3RpbmF0aW9uLiIKICAg", - "ICAgICB9LAogICAgICAgICJ3b3Jrc3BhY2VJbmhlcml0V29ya2luZ0RpcmVjdG9yeSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAg", - "ICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdHJ1ZSwgbmV3IHdvcmtzcGFjZXMgaW5oZXJpdCB0aGUgY3VycmVu", - "dCB3b3Jrc3BhY2Ugd29ya2luZyBkaXJlY3RvcnkuIFdoZW4gZmFsc2UsIG5ldyB3b3Jrc3BhY2VzIHVzZSBHaG9zdHR5J3Mgd29ya2luZy1kaXJlY3Rvcnkg", - "c2V0dGluZyBpbnN0ZWFkLiIKICAgICAgICB9LAogICAgICAgICJtaW5pbWFsTW9kZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAg", - "ICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWRlIHRoZSB3b3Jrc3BhY2UgdGl0bGUgYmFyIGFuZCBtb3ZlIGNvbnRy", - "b2xzIGludG8gdGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgImtlZXBXb3Jrc3BhY2VPcGVuV2hlbkNsb3NpbmdMYXN0U3VyZmFjZSI6IHsKICAg", - "ICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUs", - "IGNsb3NpbmcgdGhlIGxhc3Qgc3VyZmFjZSBrZWVwcyB0aGUgd29ya3NwYWNlIG9wZW4uIgogICAgICAgIH0sCiAgICAgICAgImZvY3VzUGFuZU9uRmlyc3RD", - "bGljayI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", - "IldoZW4gY211eCBpcyBpbmFjdGl2ZSwgdGhlIGZpcnN0IGNsaWNrIGNhbiBhY3RpdmF0ZSBhbmQgZm9jdXMgdGhlIGNsaWNrZWQgcGFuZS4iCiAgICAgICAg", - "fSwKICAgICAgICAicGFuZVJlc2l6ZVN0ZXBQaXhlbHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwK", - "ICAgICAgICAgICJtYXhpbXVtIjogMjAwLAogICAgICAgICAgImRlZmF1bHQiOiAyMCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJQaXhlbHMgbW92ZWQg", - "cGVyIGtleXByZXNzIHdoZW4gdXNpbmcgcGFuZS1yZXNpemUgc2hvcnRjdXRzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3Jp", - "cHRpb25zLmFwcC5wYW5lUmVzaXplU3RlcFBpeGVscyIKICAgICAgICB9LAogICAgICAgICJmb2N1c0hpc3RvcnlJbmNsdWRlc1BhbmVzQW5kVGFicyI6IHsK", - "ICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRy", - "dWUsIEJhY2sgYW5kIEZvcndhcmQgaW5jbHVkZSBmb2N1cyBjaGFuZ2VzIGJldHdlZW4gcGFuZXMgYW5kIHRhYnMuIFdoZW4gZmFsc2UsIHRoZXkgbmF2aWdh", - "dGUgYmV0d2VlbiB3b3Jrc3BhY2VzIG9ubHkuIgogICAgICAgIH0sCiAgICAgICAgInByZWZlcnJlZEVkaXRvciI6IHsKICAgICAgICAgICJ0eXBlIjogInN0", - "cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkN1c3RvbSBlZGl0b3IgY29tbWFuZCB1c2VkIHdoZW4g", - "Q21kLWNsaWNrIGZpbGUgcHJldmlld3MgYXJlIGRpc2FibGVkIG9yIGEgZmlsZSBpcyB1bnN1cHBvcnRlZC4gTGVhdmUgZW1wdHkgdG8gdXNlIHRoZSBkZWZh", - "dWx0LiIKICAgICAgICB9LAogICAgICAgICJvcGVuU3VwcG9ydGVkRmlsZXNJbkNtdXgiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAg", - "ICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIGVuYWJsZWQsIENtZC1jbGlja2luZyByZWFkYWJsZSBsb2NhbCBm", - "aWxlcyBvcGVucyBzdXBwb3J0ZWQgcHJldmlld3MgaW4gY211eCwgaW5jbHVkaW5nIHRleHQsIGNvZGUsIFBERnMsIGltYWdlcywgYXVkaW8sIHZpZGVvLCBh", - "bmQgUXVpY2sgTG9vayBmaWxlcy4gUHJldmlldyBoZWFkZXJzIGluY2x1ZGUgYW4gT3BlbiBXaXRoIG1lbnUgYmFzZWQgb24gdGhlIHVzZXIncyBkZWZhdWx0", - "IGFuZCBjb21wYXRpYmxlIG1hY09TIGFwcHMgZm9yIHRoYXQgZmlsZS4iCiAgICAgICAgfSwKICAgICAgICAib3Blbk1hcmtkb3duSW5DbXV4Vmlld2VyIjog", - "ewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiBl", - "bmFibGVkLCBDbWQtY2xpY2tpbmcgLm1kLy5tYXJrZG93bi8ubWtkLy5tZHggZmlsZXMgb3BlbnMgdGhlIHJlbmRlcmVkIGNtdXggbWFya2Rvd24gdmlld2Vy", - "IHBhbmVsICh3aXRoIGxpdmUgcmVsb2FkKSBpbnN0ZWFkIG9mIHRoZSBnZW5lcmljIGZpbGUgcHJldmlldy4iCiAgICAgICAgfSwKICAgICAgICAiZ2xvYmFs", - "Rm9udE1hZ25pZmljYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogNTAsCiAgICAgICAgICAibWF4", - "aW11bSI6IDIwMCwKICAgICAgICAgICJtdWx0aXBsZU9mIjogMTAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEwMCwKICAgICAgICAgICJkZXNjcmlwdGlvbktl", - "eSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLmdsb2JhbEZvbnRNYWduaWZpY2F0aW9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTY2FsZXMgY211", - "eC1vd25lZCB0ZXJtaW5hbHMsIHRhYiB0aXRsZXMsIHNpZGViYXJzLCBzZXR0aW5ncywgb3ZlcmxheXMsIGFuZCBhcHAgY2hyb21lIGJ5IHRoaXMgcGVyY2Vu", - "dGFnZS4gUmVuZGVyZWQgYnJvd3NlciBwYWdlIGNvbnRlbnQgaXMgZXhjbHVkZWQuIgogICAgICAgIH0sCiAgICAgICAgInJlb3JkZXJPbk5vdGlmaWNhdGlv", - "biI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1v", - "dmUgd29ya3NwYWNlcyB3aXRoIG5ldyBub3RpZmljYXRpb25zIHRvd2FyZCB0aGUgdG9wLiIKICAgICAgICB9LAogICAgICAgICJpTWVzc2FnZU1vZGUiOiB7", - "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTW92ZSBh", - "IHdvcmtzcGFjZSB0byB0aGUgdG9wIGFuZCBzaG93IHRoZSBzdWJtaXR0ZWQgbWVzc2FnZSB3aGVuIHNlbmRpbmcgYW4gYWdlbnQgcHJvbXB0LiIKICAgICAg", - "ICB9LAogICAgICAgICJzZW5kQW5vbnltb3VzVGVsZW1ldHJ5IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6", - "IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxsb3cgYW5vbnltb3VzIHRlbGVtZXRyeS4iCiAgICAgICAgfSwKICAgICAgICAiY29uZmlybVF1", - "aXQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImFsd2F5cyIsICJkaXJ0eS1vbmx5IiwgIm5ldmVyIl0sCiAg", - "ICAgICAgICAiZGVmYXVsdCI6ICJhbHdheXMiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hcHAuY29uZmlybVF1", - "aXQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgd2hlbiBjbXV4IGFza3MgZm9yIGNvbmZpcm1hdGlvbiBiZWZvcmUgcXVpdHRpbmcuIERF", - "ViBidWlsZHMgYWx3YXlzIHF1aXQgaW1tZWRpYXRlbHkgcmVnYXJkbGVzcyBvZiB0aGlzIHNldHRpbmcuIExlZ2FjeSBhcHAud2FybkJlZm9yZVF1aXQgaXMg", - "c3RpbGwgYWNjZXB0ZWQgYXMgYSBib29sZWFuIGZhbGxiYWNrLiIKICAgICAgICB9LAogICAgICAgICJ3YXJuQmVmb3JlUXVpdCI6IHsKICAgICAgICAgICJ0", - "eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9u", - "cy5hcHAud2FybkJlZm9yZVF1aXQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkxlZ2FjeSBib29sZWFuIGZhbGxiYWNrIGZvciBxdWl0IGNvbmZpcm1h", - "dGlvbi4gVXNlIGFwcC5jb25maXJtUXVpdCBmb3IgbmV3IGNvbmZpZ3MuIgogICAgICAgIH0sCiAgICAgICAgIndhcm5CZWZvcmVDbG9zaW5nVGFiIjogewog", - "ICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBhIGNv", - "bmZpcm1hdGlvbiBiZWZvcmUgY2xvc2luZyBhIHRhYi4iCiAgICAgICAgfSwKICAgICAgICAid2FybkJlZm9yZUNsb3NpbmdUYWJYQnV0dG9uIjogewogICAg", - "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURl", - "c2NyaXB0aW9ucy5hcHAud2FybkJlZm9yZUNsb3NpbmdUYWJYQnV0dG9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGEgY29uZmlybWF0aW9u", - "IGJlZm9yZSBjbG9zaW5nIGEgdGFiIHdpdGggdGhlIHRhYiBjbG9zZSBidXR0b24uIgogICAgICAgIH0sCiAgICAgICAgImhpZGVUYWJDbG9zZUJ1dHRvbiI6", - "IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJz", - "Y2hlbWFEZXNjcmlwdGlvbnMuYXBwLmhpZGVUYWJDbG9zZUJ1dHRvbiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlkZSB0YWIgY2xvc2UgYnV0dG9u", - "cyBpbiB0aGUgcGFuZSB0YWIgYmFyLiIKICAgICAgICB9LAogICAgICAgICJyZW5hbWVTZWxlY3RzRXhpc3RpbmdOYW1lIjogewogICAgICAgICAgInR5cGUi", - "OiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2VsZWN0IHRoZSBjdXJyZW50IG5hbWUg", - "d2hlbiBvcGVuaW5nIHJlbmFtZSBmbG93cy4iCiAgICAgICAgfSwKICAgICAgICAiY29tbWFuZFBhbGV0dGVTZWFyY2hlc0FsbFN1cmZhY2VzIjogewogICAg", - "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBldmVy", - "eSBzdXJmYWNlIGluIHRoZSBjb21tYW5kIHBhbGV0dGUgc3dpdGNoZXIgaW5zdGVhZCBvZiBvbmx5IHRoZSBhY3RpdmUgd29ya3NwYWNlLiIKICAgICAgICB9", - "CiAgICAgIH0KICAgIH0sCiAgICAidGVybWluYWwiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogInRlcm1p", - "bmFsIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlRlcm1pbmFsIHByZXNlbnRhdGlvbiBzZXR0aW5ncyBmcm9tIFNldHRpbmdzID4gVGVybWluYWwuIiwKICAg", - "ICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJh", - "ZGFwdGl2ZURlZmF1bHRUaGVtZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAg", - "ImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5hZGFwdGl2ZURlZmF1bHRUaGVtZSIsCiAgICAgICAgICAiZGVzY3JpcHRp", - "b24iOiAiV2hlbiB0cnVlICh0aGUgZGVmYXVsdCksIGNtdXggc3VwcGxpZXMgYW4gYXBwZWFyYW5jZS1hZGFwdGl2ZSBkZWZhdWx0IHBhbGV0dGUgdW5sZXNz", - "IGEgR2hvc3R0eSB0aGVtZSBvciB0ZXJtaW5hbCBjb2xvcnMgYXJlIGNvbmZpZ3VyZWQuIEZvbnQgYW5kIG90aGVyIHNldHRpbmdzIGFyZSBwcmVzZXJ2ZWQu", - "IFdoZW4gZmFsc2UsIEdob3N0dHkgdXNlcyBpdHMgZml4ZWQgYnVpbHQtaW4gcGFsZXR0ZS4gRXhwbGljaXQgdGhlbWVzIGFuZCBjb2xvcnMgYWx3YXlzIHRh", - "a2UgcHJlY2VkZW5jZSwgaW5jbHVkaW5nIHRoZW1lID0gbGlnaHQ6WCxkYXJrOlkuIgogICAgICAgIH0sCiAgICAgICAgInNob3dTY3JvbGxCYXIiOiB7CiAg", - "ICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSBy", - "aWdodC1lZGdlIHRlcm1pbmFsIHNjcm9sbCBiYXIgd2hlbiBzY3JvbGxiYWNrIGlzIGF2YWlsYWJsZS4gY211eCBhdXRvbWF0aWNhbGx5IHN1cHByZXNzZXMg", - "aXQgZm9yIGFsdGVybmF0ZS1zY3JlZW4gc3R5bGUgVFVJIHN1cmZhY2VzLiIKICAgICAgICB9LAogICAgICAgICJzY3JvbGxTcGVlZCI6IHsKICAgICAgICAg", - "ICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAibWluaW11bSI6IDAuMjUsCiAgICAgICAgICAibWF4aW11bSI6IDMuMCwKICAgICAgICAgICJkZWZhdWx0", - "IjogMS4wLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5zY3JvbGxTcGVlZCIsCiAgICAgICAgICAi", - "ZGVzY3JpcHRpb24iOiAiTXVsdGlwbGllciBhcHBsaWVkIHRvIHRlcm1pbmFsIHNjcm9sbCB3aGVlbCBhbmQgdHJhY2twYWQgZGVsdGFzLiBIaWdoZXIgdmFs", - "dWVzIHNjcm9sbCBmYXN0ZXI7IGxvd2VyIHZhbHVlcyBzY3JvbGwgc2xvd2VyLiIKICAgICAgICB9LAogICAgICAgICJzZXNzaW9uQ29udGVudE1heFdpZHRo", - "IjogewogICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgImNv", - "bnN0IjogZmFsc2UKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAgICAgIm1p", - "bmltdW0iOiAzMjAsCiAgICAgICAgICAgICAgIm11bHRpcGxlT2YiOiAyMAogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlZmF1bHQi", - "OiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuc2Vzc2lvbkNvbnRlbnRNYXhXaWR0aCIs", - "CiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgbWF4aW11bSB3aWR0aCwgaW4gcG9pbnRzLCBmb3IgdGVybWluYWwgYW5kIGJ1aWx0LWluIGFn", - "ZW50IGNoYXQgY29udGVudC4gU2V0IGZhbHNlIHRvIHVzZSB0aGUgZnVsbCBwYW5lIHdpZHRoLiIKICAgICAgICB9LAogICAgICAgICJzZXNzaW9uQ29udGVu", - "dEFsaWdubWVudCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsibGVmdCIsICJjZW50ZXIiLCAicmlnaHQiXSwK", - "ICAgICAgICAgICJkZWZhdWx0IjogImNlbnRlciIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnNl", - "c3Npb25Db250ZW50QWxpZ25tZW50IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIb3Jpem9udGFsIHBsYWNlbWVudCBmb3IgdGVybWluYWwgYW5kIGJ1", - "aWx0LWluIGFnZW50IGNoYXQgY29udGVudCB3aGVuIHNlc3Npb25Db250ZW50TWF4V2lkdGggaXMgZW5hYmxlZC4iCiAgICAgICAgfSwKICAgICAgICAiY29w", - "eU9uU2VsZWN0IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0", - "aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5jb3B5T25TZWxlY3QiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdHJ1ZSwg", - "Y29weSBzZWxlY3RlZCB0ZXJtaW5hbCB0ZXh0IHRvIHRoZSBzeXN0ZW0gY2xpcGJvYXJkIHdoZW4gdGhlIHNlbGVjdGlvbiBpcyBjb21taXR0ZWQuIFdoZW4g", - "ZmFsc2UsIGNtdXggZG9lcyBub3QgZW1pdCBhIEdob3N0dHkgY29weS1vbi1zZWxlY3Qgb3ZlcnJpZGU7IEdob3N0dHkgY29uZmlnIGFuZCBkZWZhdWx0cyBj", - "b250cm9sIHNlbGVjdGlvbi1jbGlwYm9hcmQgYmVoYXZpb3IuIgogICAgICAgIH0sCiAgICAgICAgImF1dG9SZXN1bWVBZ2VudFNlc3Npb25zIjogewogICAg", - "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQXV0b21hdGljYWxs", - "eSBydW4gYWdlbnQgcmVzdW1lIGNvbW1hbmRzIGZvciByZXN0b3JlZCB0ZXJtaW5hbCBzZXNzaW9ucyB3aGVuIGNtdXggcmVvcGVucyBhZnRlciBxdWl0LiBT", - "ZXQgZmFsc2UgdG8gcmVzdG9yZSBwYW5lcyB3aGlsZSBrZWVwaW5nIENsYXVkZSBDb2RlLCBDb2RleCwgT3BlbkNvZGUsIGFuZCBvdGhlciBzYXZlZCBhZ2Vu", - "dCBzZXNzaW9ucyBpZGxlIHVudGlsIHlvdSByZXN1bWUgdGhlbSBtYW51YWxseS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1RleHRCb3hPbk5ld1Rlcm1p", - "bmFscyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktl", - "eSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuc2hvd1RleHRCb3hPbk5ld1Rlcm1pbmFscyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hv", - "dyB0aGUgYmV0YSBUZXh0Qm94IGlucHV0IGJ5IGRlZmF1bHQgZm9yIG5ld2x5IGNyZWF0ZWQgd29ya3NwYWNlcywgdGVybWluYWwgdGFicywgYW5kIHRlcm1p", - "bmFsIHNwbGl0cy4iCiAgICAgICAgfSwKICAgICAgICAiZm9jdXNUZXh0Qm94T25OZXdUZXJtaW5hbHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFu", - "IiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLmZv", - "Y3VzVGV4dEJveE9uTmV3VGVybWluYWxzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGb2N1cyB0aGUgYmV0YSBUZXh0Qm94IGlucHV0IGJ5IGRlZmF1", - "bHQgZm9yIG5ld2x5IGNyZWF0ZWQgd29ya3NwYWNlcywgdGVybWluYWwgdGFicywgYW5kIHRlcm1pbmFsIHNwbGl0cy4gRm9jdXNpbmcgYWxzbyBzaG93cyB0", - "aGUgVGV4dEJveC4iCiAgICAgICAgfSwKICAgICAgICAiYWdlbnRIaWJlcm5hdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAg", - "ICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwu", - "YWdlbnRIaWJlcm5hdGlvbiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUm91dGluZSBBZ2VudCBIaWJlcm5hdGlvbiBzZXR0aW5ncy4gY211eCBraWxs", - "cyBpZGxlIGJhY2tncm91bmQgYWdlbnQgcHJvY2Vzc2VzIHRvIGZyZWUgUkFNIGFuZCBDUFUsIHRoZW4gcmVzdW1lcyB0aGVtIHdpdGggdGhlaXIgc2F2ZWQg", - "c2Vzc2lvbiB3aGVuIHRoZWlyIHRhYiBpcyB2aXNpdGVkLiBSb3V0aW5lIGhpYmVybmF0aW9uIHJlcXVpcmVzIGEgcmVzdG9yYWJsZSBjb2RpbmcgYWdlbnQg", - "d2hvc2UgbGlmZWN5Y2xlIHJlcG9ydHMgaWRsZSwgYW4gb2ZmLXNjcmVlbiB0ZXJtaW5hbCwgYSBsaXZlLXRlcm1pbmFsIGNvdW50IGFib3ZlIHRoZSBjb25m", - "aWd1cmVkIGxpbWl0LCBhbmQgdW5jaGFuZ2VkIG91dHB1dCB0aHJvdWdoIHRoZSBpZGxlIGFuZCBjb25maXJtYXRpb24gd2luZG93cy4gSW5kZXBlbmRlbnRs", - "eSwgZHVyaW5nIGNyaXRpY2FsIG1lbW9yeSBwcmVzc3VyZSBjbXV4IG1heSBoaWJlcm5hdGUgYSBib3VuZGVkIGJhdGNoIG9mIHNhZmUgaWRsZSBiYWNrZ3Jv", - "dW5kIGFnZW50cyBldmVuIHdoZW4gZW5hYmxlZCBpcyBmYWxzZTsgdmlzaWJsZSwgcnVubmluZywgbmVlZHMtaW5wdXQsIHJlY2VudGx5IGNoYW5nZWQsIGFu", - "ZCB1bnByb3RlY3RhYmxlIGFnZW50cyByZW1haW4gZXhjbHVkZWQuIFRoZSBwbGFjZWhvbGRlciBSZXN1bWUgYnV0dG9uIGlzIGEgbWFudWFsIGZhbGxiYWNr", - "LiIsCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAg", - "ICAgICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFs", - "LmFnZW50SGliZXJuYXRpb25FbmFibGVkIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlIHJvdXRpbmUgQWdlbnQgSGliZXJuYXRpb24g", - "YmFzZWQgb24gdGhlIGxpdmUtdGVybWluYWwgbGltaXQuIENyaXRpY2FsLXByZXNzdXJlIHNhZmV0eSBoaWJlcm5hdGlvbiByZW1haW5zIGFjdGl2ZSB3aGVu", - "IGZhbHNlLiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImlkbGVTZWNvbmRzIjogewogICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAg", - "ICAgICAgICAgICJtaW5pbXVtIjogNSwKICAgICAgICAgICAgICAibWF4aW11bSI6IDYwNDgwMCwKICAgICAgICAgICAgICAiZGVmYXVsdCI6IDUsCiAgICAg", - "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1pbmltdW0gc2Vjb25kcyB3aXRoIG5vIHRlcm1pbmFsIG91dHB1dCBvciBpbnB1dCBiZWZvcmUgYW4gaWRsZSBy", - "ZXN0b3JhYmxlIGFnZW50IHRlcm1pbmFsIGNhbiBoaWJlcm5hdGUuIEEgc2hvcnQgY29uZmlybWF0aW9uIHNldHRsZSB3aW5kb3cgKH42MHMpIHN0aWxsIGFw", - "cGxpZXMgb24gdG9wIG9mIHRoaXMgYmVmb3JlIHRoZSBhZ2VudCBpcyBraWxsZWQuIgogICAgICAgICAgICB9LAogICAgICAgICAgICAibWF4TGl2ZVRlcm1p", - "bmFscyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAgICAgIm1heGlt", - "dW0iOiAyNTYsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiAxMiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWF4aW11bSBsaXZlIHJlc3RvcmFi", - "bGUgYWdlbnQgdGVybWluYWxzIHRvIGtlZXAgYmVmb3JlIGNtdXggaGliZXJuYXRlcyBlbGlnaWJsZSBiYWNrZ3JvdW5kIHRlcm1pbmFscywgb2xkZXN0IGZp", - "cnN0LiIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInJlbmRlcmVyUmVhbGl6YXRpb24iOiB7CiAgICAgICAgICAidHlw", - "ZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmVjbGFpbSBv", - "ZmYtc2NyZWVuIHRlcm1pbmFsIEdQVSByZW5kZXJlciBtZW1vcnkuIGNtdXggcmVsZWFzZXMgdGhlIE1ldGFsIHJlbmRlcmVyIChJT1N1cmZhY2UpIG9mIGEg", - "dGVybWluYWwgdGhhdCBoYXMgc3RheWVkIG9mZi1zY3JlZW4gYW5kIGlkbGUgd2hpbGUga2VlcGluZyBpdHMgcHJvY2VzcyBhbmQgdGVybWluYWwgc3RhdGUg", - "YWxpdmUsIHRoZW4gcmVidWlsZHMgdGhlIHJlbmRlcmVyIGluc3RhbnRseSB3aGVuIHRoZSB0YWIgaXMgdmlzaXRlZCBhZ2Fpbi4gTm9uLWRlc3RydWN0aXZl", - "IGFuZCBvbiBieSBkZWZhdWx0LiIsCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAgICAgInR5", - "cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZWNsYWltIG9mZi1z", - "Y3JlZW4gdGVybWluYWwgcmVuZGVyZXIgbWVtb3J5LiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImlkbGVTZWNvbmRzIjogewogICAgICAgICAgICAg", - "ICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgICAgICJtaW5pbXVtIjogNSwKICAgICAgICAgICAgICAibWF4aW11bSI6IDYwNDgwMCwKICAgICAgICAg", - "ICAgICAiZGVmYXVsdCI6IDUsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1pbmltdW0gc2Vjb25kcyBhIHRlcm1pbmFsIG11c3Qgc3RheSBvZmYt", - "c2NyZWVuIGJlZm9yZSBpdHMgR1BVIHJlbmRlcmVyIG1lbW9yeSBpcyByZWNsYWltZWQuIgogICAgICAgICAgICB9LAogICAgICAgICAgICAibWF4V2FybVJl", - "bmRlcmVycyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAgICAgIm1h", - "eGltdW0iOiAyNTYsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiAxLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNb3N0IHJlY2VudGx5IHZpc2li", - "bGUgdGVybWluYWxzIHRvIGtlZXAgcmVuZGVyZXItcmVhZHkgc28gc3dpdGNoaW5nIHN0YXlzIGluc3RhbnQuIEV4dHJhIG9mZi1zY3JlZW4gcmVuZGVyZXJz", - "IGFyZSByZWNsYWltZWQgb2xkZXN0IGZpcnN0LiIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInRleHRCb3hNYXhMaW5l", - "cyI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgIm1heGltdW0iOiAyMCwKICAgICAg", - "ICAgICJkZWZhdWx0IjogMTAsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWF4aW11bSBudW1iZXIgb2YgbGluZXMgdGhlIHJpY2ggdGVybWluYWwgVGV4", - "dEJveCBpbnB1dCBjYW4gZ3JvdyB0byBiZWZvcmUgaXQgc2Nyb2xscy4iCiAgICAgICAgfSwKICAgICAgICAidGV4dEJveERlZmF1bHRTdWJtaXRBY3Rpb24i", - "OiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAidGV4dC1lbnRyeSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", - "OiAiRGVmYXVsdCBUZXh0Qm94IHN1Ym1pdCBhY3Rpb24gSUQgZm9yIG5ldyB0ZXJtaW5hbCBzZXNzaW9ucy4gVXNlIHRleHQtZW50cnkgZm9yIHBsYWluIGlu", - "cHV0IG9yIG9uZSBvZiB0aGUgY29uZmlndXJlZCBhY3Rpb24gSURzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25z", - "LnRlcm1pbmFsLnRleHRCb3hEZWZhdWx0U3VibWl0QWN0aW9uIgogICAgICAgIH0sCiAgICAgICAgInRleHRCb3hTdWJtaXRBY3Rpb25zIjogewogICAgICAg", - "ICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb25maWd1cmFibGUgVGV4dEJv", - "eCBzdWJtaXQgYWN0aW9ucyBzaG93biBvbiB0aGUgc3VibWl0IGJ1dHRvbiwgU2hpZnQtVGFiIGN5Y2xlLCBhbmQgcmlnaHQtY2xpY2sgbWVudS4iLAogICAg", - "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9ucyIsCiAgICAgICAgICAiaXRl", - "bXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAg", - "ICAicmVxdWlyZWQiOiBbImlkIiwgInRpdGxlIiwgImtpbmQiLCAic3lzdGVtSW1hZ2UiLCAiYmFja2dyb3VuZENvbG9ySGV4Il0sCiAgICAgICAgICAgICJw", - "cm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICJpZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAicGF0", - "dGVybiI6ICJeW0EtWmEtejAtOS5fLV0rJCIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU3RhYmxlIGFjdGlvbiBJRCByZWZlcmVuY2VkIGJ5", - "IHRlcm1pbmFsLnRleHRCb3hEZWZhdWx0U3VibWl0QWN0aW9uLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", - "b25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25JZCIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJ0aXRsZSI6IHsKICAgICAgICAgICAg", - "ICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWVudSBsYWJlbCBmb3IgdGhpcyBzdWJtaXQgYWN0aW9uLiIs", - "CiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25UaXRsZSIK", - "ICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJraW5kIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAg", - "ICJlbnVtIjogWyJ0ZXh0RW50cnkiLCAiY29tbWFuZFRlbXBsYXRlIl0sCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGlzIGFj", - "dGlvbiBzdWJtaXRzIHBsYWluIFRleHQgRW50cnkgb3IgZXhwYW5kcyBhIHNoZWxsIGNvbW1hbmQgdGVtcGxhdGUuIiwKICAgICAgICAgICAgICAgICJkZXNj", - "cmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbktpbmQiCiAgICAgICAgICAgICAgfSwKICAgICAg", - "ICAgICAgICAiY29tbWFuZFRlbXBsYXRlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlv", - "biI6ICJTaGVsbCBjb21tYW5kIHRlbXBsYXRlIGZvciBjb21tYW5kVGVtcGxhdGUgYWN0aW9ucy4gSW5jbHVkZSB7e3Byb21wdH19IHRvIHNoZWxsLXF1b3Rl", - "IHRoZSBwcm9tcHQgaW50byB0aGUgY29tbWFuZC4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJt", - "aW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uQ29tbWFuZFRlbXBsYXRlIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInByZXNlcnZlUHJvbXB0QWZ0", - "ZXJMYXVuY2giOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUs", - "IGxhdW5jaCBjb21tYW5kVGVtcGxhdGUgd2l0aG91dCB0aGUgcHJvbXB0IGFuZCBrZWVwIHRoZSBwcm9tcHQgaW4gdGhlIFRleHRCb3ggZm9yIHRoZSBhY3Rp", - "dmUgYWdlbnQuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFj", - "dGlvblByZXNlcnZlUHJvbXB0QWZ0ZXJMYXVuY2giCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAic3lzdGVtSW1hZ2UiOiB7CiAgICAgICAgICAg", - "ICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZhbGxiYWNrIFNGIFN5bWJvbCBuYW1lIHNob3duIG9uIHRo", - "ZSBzdWJtaXQgYnV0dG9uLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hT", - "dWJtaXRBY3Rpb25TeXN0ZW1JbWFnZSIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJhc3NldE5hbWUiOiB7CiAgICAgICAgICAgICAgICAidHlw", - "ZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIGFwcCBhc3NldCBjYXRhbG9nIGltYWdlIG5hbWUgc2hvd24g", - "b24gdGhlIHN1Ym1pdCBidXR0b24uIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4", - "dEJveFN1Ym1pdEFjdGlvbkFzc2V0TmFtZSIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJpbWFnZVBhdGgiOiB7CiAgICAgICAgICAgICAgICAi", - "dHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIFBORyBvciBpbWFnZSBmaWxlIHBhdGggc2hvd24gb24g", - "dGhlIHN1Ym1pdCBidXR0b24uIFRpbGRlIGlzIGV4cGFuZGVkLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", - "b25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25JbWFnZVBhdGgiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiYmFja2dyb3VuZENvbG9y", - "SGV4IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4jP1swLTlBLUZhLWZdezZ9KFsw", - "LTlBLUZhLWZdezJ9KT8kIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBY3Rpb24gY29sb3IgbWV0YWRhdGEgYXMgUkdCIG9yIFJHQkEgaGV4", - "LiBUaGUgc3VibWl0IGJ1dHRvbiBmaWxsIHN0YXlzIHdoaXRlIGFuZCBvbmx5IGNoYW5nZXMgb3BhY2l0eSBiZXR3ZWVuIGVuYWJsZWQgYW5kIGRpc2FibGVk", - "IHN0YXRlcy4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0", - "aW9uQmFja2dyb3VuZENvbG9ySGV4IgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImFsbE9mIjogWwogICAgICAgICAgICAg", - "IHsKICAgICAgICAgICAgICAgICJpZiI6IHsKICAgICAgICAgICAgICAgICAgInJlcXVpcmVkIjogWyJraW5kIl0sCiAgICAgICAgICAgICAgICAgICJwcm9w", - "ZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICJraW5kIjogeyAiY29uc3QiOiAiY29tbWFuZFRlbXBsYXRlIiB9CiAgICAgICAgICAgICAgICAgIH0K", - "ICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidGhlbiI6IHsKICAgICAgICAgICAgICAgICAgInJlcXVpcmVkIjogWyJjb21tYW5kVGVtcGxh", - "dGUiXSwKICAgICAgICAgICAgICAgICAgImFueU9mIjogWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVz", - "IjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29tbWFuZFRlbXBsYXRlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmlu", - "ZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXFx7XFx7cHJvbXB0XFx9XFx9IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAg", - "ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAi", - "cmVxdWlyZWQiOiBbInByZXNlcnZlUHJvbXB0QWZ0ZXJMYXVuY2giXSwKICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAg", - "ICAgICAgICAgICAgICAicHJlc2VydmVQcm9tcHRBZnRlckxhdW5jaCI6IHsgImNvbnN0IjogdHJ1ZSB9CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg", - "ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAg", - "ICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVzdW1lQ29tbWFuZHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVmYXVs", - "dCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZ25lZCBjb21tYW5kLXByZWZpeCBhcHByb3ZhbHMgZm9yIHJlc3RvcmluZyBub24tYWdlbnQg", - "dGVybWluYWwgc3VyZmFjZXMuIGNtdXggd3JpdGVzIHRoaXMgbGlzdCB3aGVuIHlvdSBhcHByb3ZlIGEgc3VyZmFjZSByZXN1bWUgY29tbWFuZC4iLAogICAg", - "ICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwK", - "ICAgICAgICAgICAgInJlcXVpcmVkIjogWyJ2ZXJzaW9uIiwgImlkIiwgImNvbW1hbmRQcmVmaXgiLCAiZW52aXJvbm1lbnRLZXlzIiwgInBvbGljeSIsICJj", - "cmVhdGVkQXQiLCAidXBkYXRlZEF0IiwgInNpZ25hdHVyZSJdLAogICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAidmVyc2lvbiI6", - "IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgICAgICAgImNvbnN0IjogMQogICAgICAgICAgICAgIH0sCiAgICAgICAg", - "ICAgICAgImlkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIm5hbWUiOiB7CiAg", - "ICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29tbWFuZFByZWZpeCI6IHsKICAgICAgICAg", - "ICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICAgICAgICJtaW5JdGVtcyI6IDEsCiAgICAgICAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAg", - "ICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAg", - "ICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGFyZ3YgcHJlZml4IHRoYXQgbXVzdCBtYXRjaCB0aGUgc2F2ZWQgcmVzdW1lIGNvbW1hbmQuIgogICAgICAg", - "ICAgICAgIH0sCiAgICAgICAgICAgICAgImN3ZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3Jp", - "cHRpb24iOiAiT3B0aW9uYWwgd29ya2luZyBkaXJlY3RvcnkgdGhhdCBtdXN0IG1hdGNoIHRoZSBzYXZlZCByZXN1bWUgY29tbWFuZC4iCiAgICAgICAgICAg", - "ICAgfSwKICAgICAgICAgICAgICAiZW52aXJvbm1lbnQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICAgImFk", - "ZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAg", - "ICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIG5vbi1zZW5zaXRpdmUgZW52aXJvbm1lbnQgdmFsdWVzIHRoYXQgbXVzdCBtYXRjaCB0aGUgc2F2ZWQgcmVz", - "dW1lIGNvbW1hbmQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImVudmlyb25tZW50S2V5cyI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjog", - "ImFycmF5IiwKICAgICAgICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgfQog", - "ICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICB9", - "LAogICAgICAgICAgICAgICJwb2xpY3kiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImVudW0iOiBbIm1h", - "bnVhbCIsICJwcm9tcHQiLCAiYXV0byJdCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY3JlYXRlZEF0IjogewogICAgICAgICAgICAgICAgInR5", - "cGUiOiAibnVtYmVyIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInVwZGF0ZWRBdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJl", - "ciIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJsYXN0VXNlZEF0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIgogICAgICAg", - "ICAgICAgIH0sCiAgICAgICAgICAgICAgInNpZ25hdHVyZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAi", - "ZGVzY3JpcHRpb24iOiAiSE1BQyBzaWduYXR1cmUgZm9yIHRoZSByZWNvcmQuIENoYW5naW5nIHNpZ25lZCBmaWVsZHMgaW52YWxpZGF0ZXMgdGhlIGFwcHJv", - "dmFsLiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJ1cGxvYWRDb21tYW5kcyI6IHsKICAg", - "ICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJkZWZhdWx0IjogW10sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG9zdC1zY29wZWQgcnVs", - "ZXMgdGhhdCByZXBsYWNlIHRoZSBidWlsdC1pbiBzY3AgZm9yIHRlcm1pbmFsIGZpbGUgZHJvcHMgYW5kIHBhc3RlcyBvdmVyIFNTSC4gV2hlbiB0aGUgc3No", - "IGRlc3RpbmF0aW9uIG1hdGNoZXMgYSBydWxlLCBjbXV4IHJ1bnMgdGhhdCBydWxlJ3MgY29tbWFuZCBvbmNlIHBlciBmaWxlIGluc3RlYWQgb2Ygc2NwLCBh", - "bmQgaW5zZXJ0cyB0aGUgY29tbWFuZCdzIHN0ZG91dCBhdCB0aGUgY3Vyc29yICh2ZXJiYXRpbSwgd2l0aCBjb250cm9sIGNoYXJhY3RlcnMgc3RyaXBwZWQp", - "OyBpZiB0aGUgY29tbWFuZCBwcmludHMgbm90aGluZywgY211eCBpbnNlcnRzIHRoZSBzaGVsbC1lc2NhcGVkIHJlbW90ZSBwYXRoIGl0IGNob3NlIGluc3Rl", - "YWQuIFBlci1maWxlIG91dHB1dHMgYXJlIHNwYWNlLWpvaW5lZC4gRmlyc3QgbWF0Y2hpbmcgZW5hYmxlZCBydWxlIHdpbnM7IG5vIG1hdGNoIHJ1bnMgdGhl", - "IGJ1aWx0LWluIHNjcCB1bmNoYW5nZWQuIEEgbm9uLXplcm8gZXhpdCwgdGltZW91dCwgb3IgY2FuY2VsIGluc2VydHMgbm90aGluZy4iLAogICAgICAgICAg", - "Iml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAg", - "ICAgICAgInJlcXVpcmVkIjogWyJjb21tYW5kIl0sCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICJob3N0UGF0dGVybiI6IHsK", - "ICAgICAgICAgICAgICAgICJ0eXBlIjogWyJzdHJpbmciLCAibnVsbCJdLAogICAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAg", - "ICAiZGVzY3JpcHRpb24iOiAiZm5tYXRjaCBnbG9iIG1hdGNoZWQgYWdhaW5zdCB0aGUgc3NoIGRlc3RpbmF0aW9uICh1c2VyQCBhbmQgSVB2NiBicmFja2V0", - "cyBzdHJpcHBlZCwgbG93ZXJjYXNlZCksIGxpa2UgYSBzaW5nbGUgc3NoX2NvbmZpZyBIb3N0IHBhdHRlcm4uIE9taXQgdGhlIGtleSBvciBzZXQgaXQgdG8g", - "bnVsbCBmb3IgYSBjYXRjaC1hbGwgKGEgYmxhbmsgc3RyaW5nIGlzIHJlamVjdGVkKS4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29tbWFu", - "ZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAgICJw", - "YXR0ZXJuIjogIlxcUyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hlbGwgY29tbWFuZCBydW4gdmlhIC9iaW4vc2ggLWMsIG9uY2UgcGVy", - "IGZpbGUuIEl0IHJlY2VpdmVzIHRoZSBmaWxlIGFuZCBlbmRwb2ludCBvbiBpdHMgZW52aXJvbm1lbnQgKENNVVhfVVBMT0FEX0xPQ0FMX1BBVEgsIENNVVhf", - "VVBMT0FEX1JFTU9URV9QQVRILCBDTVVYX1VQTE9BRF9ERVNUSU5BVElPTiwgQ01VWF9VUExPQURfUE9SVCwgQ01VWF9VUExPQURfSURFTlRJVFlfRklMRSwg", - "Q01VWF9VUExPQURfU1NIX09QVElPTlMpLiBJdHMgc3Rkb3V0IGlzIHdoYXQgY211eCBpbnNlcnRzIGF0IHRoZSBjdXJzb3IuIgogICAgICAgICAgICAgIH0s", - "CiAgICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog", - "dHJ1ZSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRoaXMgcnVsZSBpcyBhY3RpdmUuIERlZmF1bHRzIHRvIHRydWUuIgogICAg", - "ICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJub3RpZmljYXRpb25zIjogewogICAg", - "ICAidGl0bGUiOiAibm90aWZpY2F0aW9ucyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJOb3RpZmljYXRpb24gYmVoYXZpb3IgZnJvbSBTZXR0aW5ncyA+IE5v", - "dGlmaWNhdGlvbnMuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0", - "aWVzIjogewogICAgICAgICJkb2NrQmFkZ2UiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJi", - "b29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSB1bnJlYWQgY291bnQgaW4gdGhl", - "IERvY2sgdGlsZS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0luTWVudUJhciI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwK", - "ICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhl", - "IG1lbnUgYmFyIGV4dHJhLiIKICAgICAgICB9LAogICAgICAgICJ1bnJlYWRQYW5lUmluZyI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9i", - "YWwiXSwKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhp", - "Z2hsaWdodCBwYW5lcyB3aXRoIHVucmVhZCBub3RpZmljYXRpb25zLiIKICAgICAgICB9LAogICAgICAgICJwYW5lRmxhc2giOiB7CiAgICAgICAgICAieC1j", - "bXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAg", - "ICJkZXNjcmlwdGlvbiI6ICJGbGFzaCB0aGUgZm9jdXNlZCBwYW5lIHdoZW4gcmVxdWVzdGVkLiIKICAgICAgICB9LAogICAgICAgICJwYW5lRmxhc2hDb2xv", - "ciI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAog", - "ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnBh", - "bmVGbGFzaENvbG9yIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZSB0aGUgcGFuZSBmbGFzaCBhbmQgdW5yZWFkIHJpbmcgY29sb3IuIE51", - "bGwga2VlcHMgdGhlIGJ1aWx0LWluIGJsdWUuIgogICAgICAgIH0sCiAgICAgICAgInN1cHByZXNzT25seUZvY3VzZWRTdXJmYWNlIjogewogICAgICAgICAg", - "IngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAg", - "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnN1cHByZXNzT25seUZvY3VzZWRTdXJmYWNlIiwKICAg", - "ICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIGVuYWJsZWQsIGEgbm90aWZpY2F0aW9uIGJhbm5lciBpcyBhdXRvLXdpdGhkcmF3biBvbmx5IHdoZW4gaXRz", - "IHN1cmZhY2UgaXMgdGhlIGV4YWN0IGZvY3VzZWQgc3VyZmFjZS4gQSBiYW5uZXIgZGVsaXZlcmVkIGZvciBhIG5vbi1mb2N1c2VkIHN1cmZhY2UgaW4gdGhl", - "IGN1cnJlbnRseSB2aXNpYmxlIHdvcmtzcGFjZSBzdGF5cyB1cCB1bnRpbCB5b3UgZm9jdXMgdGhhdCBzdXJmYWNlIChvciBjbGljay9kaXNtaXNzIGl0KSwg", - "aW5zdGVhZCBvZiBiZWluZyByZXRyYWN0ZWQgd2hlbiB0aGUgd29ya3NwYWNlIGJlY29tZXMgdmlzaWJsZS4gT2ZmIHByZXNlcnZlcyB0aGUgbGVnYWN5IHdv", - "cmtzcGFjZS12aXNpYmlsaXR5IHdpdGhkcmF3LiIKICAgICAgICB9LAogICAgICAgICJhZ2VudFBlcm1pc3Npb25Qcm9tcHQiOiB7CiAgICAgICAgICAieC1j", - "bXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAg", - "ICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5hZ2VudFBlcm1pc3Npb25Qcm9tcHQiLAogICAgICAgICAgImRl", - "c2NyaXB0aW9uIjogIk5vdGlmeSB3aGVuIGFuIGFnZW50IChlLmcuIENsYXVkZSBDb2RlKSBpcyBibG9ja2VkIHdhaXRpbmcgZm9yIHlvdXIgcGVybWlzc2lv", - "biB0byBydW4gYSB0b29sLiBPbiBieSBkZWZhdWx0LCBzaW5jZSB0aGlzIGlzIHRoZSBhbGVydCB5b3UgbXVzdCBhY3Qgb24gdG8gdW5ibG9jayB0aGUgYWdl", - "bnQuIgogICAgICAgIH0sCiAgICAgICAgImFnZW50VHVybkNvbXBsZXRlIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAg", - "ICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJ3aGVuSWRsZSIsICJhbHdheXMiLCAibmV2ZXIiXSwKICAgICAgICAgICJkZWZh", - "dWx0IjogIndoZW5JZGxlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5hZ2VudFR1cm5D", - "b21wbGV0ZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiB0byBub3RpZnkgdGhhdCBhbiBhZ2VudCBmaW5pc2hlZCBhIHR1cm4uIHdoZW5JZGxl", - "IChkZWZhdWx0KSBzdXBwcmVzc2VzIHRoZSBub3RpZmljYXRpb24gd2hpbGUgdGhlIGFnZW50IHN0aWxsIGhhcyBhIHJ1bm5pbmcgYmFja2dyb3VuZCB0YXNr", - "IG9yIGEgcGVuZGluZyBzY2hlZHVsZWQgd2FrZXVwLCBzbyB5b3UgYXJlIHBpbmdlZCBvbmNlIHdvcmsgdHJ1bHkgZHJhaW5zLiBhbHdheXMgbm90aWZpZXMg", - "b24gZXZlcnkgdHVybiBlbmQ7IG5ldmVyIGRpc2FibGVzIGl0LiIKICAgICAgICB9LAogICAgICAgICJhZ2VudElkbGVSZW1pbmRlciI6IHsKICAgICAgICAg", - "ICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAg", - "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLmFnZW50SWRsZVJlbWluZGVyIiwKICAgICAgICAgICJk", - "ZXNjcmlwdGlvbiI6ICJOb3RpZnkgd2hlbiBhbiBhZ2VudCBoYXMgYmVlbiBpZGxlIHdhaXRpbmcgZm9yIHlvdXIgaW5wdXQgKGFib3V0IDYwcyBhZnRlciBh", - "IHR1cm4gZW5kcykuIFN1cHByZXNzZWQgd2hpbGUgYmFja2dyb3VuZCB3b3JrIGZyb20gdGhlIGxhc3QgdHVybiBpcyBzdGlsbCBwZW5kaW5nLCBzbyBhIHJ1", - "bm5pbmcgYnVpbGQgb3Igd2F0Y2hlciBkb2VzIG5vdCB0cmlnZ2VyIGEgZmFsc2Ugd2FpdGluZyBhbGVydC4iCiAgICAgICAgfSwKICAgICAgICAic291bmQi", - "OiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBb", - "CiAgICAgICAgICAgICJkZWZhdWx0IiwKICAgICAgICAgICAgIkJhc3NvIiwKICAgICAgICAgICAgIkJsb3ciLAogICAgICAgICAgICAiQm90dGxlIiwKICAg", - "ICAgICAgICAgIkZyb2ciLAogICAgICAgICAgICAiRnVuayIsCiAgICAgICAgICAgICJHbGFzcyIsCiAgICAgICAgICAgICJIZXJvIiwKICAgICAgICAgICAg", - "Ik1vcnNlIiwKICAgICAgICAgICAgIlBpbmciLAogICAgICAgICAgICAiUG9wIiwKICAgICAgICAgICAgIlB1cnIiLAogICAgICAgICAgICAiU29zdW1pIiwK", - "ICAgICAgICAgICAgIlN1Ym1hcmluZSIsCiAgICAgICAgICAgICJUaW5rIiwKICAgICAgICAgICAgImN1c3RvbV9maWxlIiwKICAgICAgICAgICAgIm5vbmUi", - "CiAgICAgICAgICBdLAogICAgICAgICAgImRlZmF1bHQiOiAiZGVmYXVsdCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTm90aWZpY2F0aW9uIHNvdW5k", - "IHByZXNldC4iCiAgICAgICAgfSwKICAgICAgICAiY3VzdG9tU291bmRGaWxlUGF0aCI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwi", - "XSwKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkxvY2FsIHBh", - "dGggdG8gdGhlIGN1c3RvbSBub3RpZmljYXRpb24gc291bmQgZmlsZS4iCiAgICAgICAgfSwKICAgICAgICAic291bmRPdmVycmlkZXMiOiB7CiAgICAgICAg", - "ICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAg", - "ICAgICJtYXhQcm9wZXJ0aWVzIjogMjU2LAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnNv", - "dW5kT3ZlcnJpZGVzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTcGFyc2UgcGVyLWFnZW50IGFuZCBwZXItYWxlcnQtdHlwZSBub3RpZmljYXRpb24g", - "c291bmQgb3ZlcnJpZGVzLiBNaXNzaW5nIGNlbGxzIHVzZSBub3RpZmljYXRpb25zLnNvdW5kLiIsCiAgICAgICAgICAicHJvcGVydHlOYW1lcyI6IHsKICAg", - "ICAgICAgICAgImFsbE9mIjogWwogICAgICAgICAgICAgIHsgInBhdHRlcm4iOiAiXltBLVphLXowLTkuXy1dKyQiIH0sCiAgICAgICAgICAgICAgeyAibWF4", - "TGVuZ3RoIjogNjQgfSwKICAgICAgICAgICAgICB7ICJub3QiOiB7ICJlbnVtIjogWyIuIiwgIi4uIl0gfSB9CiAgICAgICAgICAgIF0KICAgICAgICAgIH0s", - "CiAgICAgICAgICAicGF0dGVyblByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJeW0EtWmEtejAtOS5fLV0rJCI6IHsKICAgICAgICAgICAgICAidHlwZSI6", - "ICJvYmplY3QiLAogICAgICAgICAgICAgICJtYXhQcm9wZXJ0aWVzIjogMywKICAgICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwK", - "ICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICJ0dXJuRG9uZSI6IHsgIiRyZWYiOiAiIy8kZGVmcy9ub3RpZmljYXRpb25T", - "b3VuZE92ZXJyaWRlIiB9LAogICAgICAgICAgICAgICAgIm5lZWRzSW5wdXQiOiB7ICIkcmVmIjogIiMvJGRlZnMvbm90aWZpY2F0aW9uU291bmRPdmVycmlk", - "ZSIgfSwKICAgICAgICAgICAgICAgICJlcnJvclN0YWxsZWQiOiB7ICIkcmVmIjogIiMvJGRlZnMvbm90aWZpY2F0aW9uU291bmRPdmVycmlkZSIgfQogICAg", - "ICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlCiAgICAgICAgfSwK", - "ICAgICAgICAiY29tbWFuZCI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAg", - "ICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHNoZWxsIGNvbW1hbmQgdG8gcnVuIGFsb25nc2lkZSBu", - "b3RpZmljYXRpb24gZGVsaXZlcnkuIgogICAgICAgIH0sCiAgICAgICAgImhvb2tzTW9kZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAg", - "ICAgICAiZW51bSI6IFsiYXBwZW5kIiwgInJlcGxhY2UiXSwKICAgICAgICAgICJkZWZhdWx0IjogImFwcGVuZCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", - "OiAiQ29udHJvbHMgd2hldGhlciBwcm9qZWN0LWxvY2FsIG5vdGlmaWNhdGlvbiBob29rcyBhcHBlbmQgdG8gaW5oZXJpdGVkIGhvb2tzIG9yIHJlcGxhY2Ug", - "dGhlbS4iCiAgICAgICAgfSwKICAgICAgICAiaG9va3MiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAog", - "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbXBvc2FibGUgc2hlbGwgaG9va3MgdGhhdCByZWNlaXZlIG5vdGlmaWNhdGlvbiBwb2xpY3kgSlNPTiBvbiBz", - "dGRpbiBhbmQgcmV0dXJuIHVwZGF0ZWQgcG9saWN5IEpTT04gb24gc3Rkb3V0LiIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjog", - "Im9iamVjdCIsCiAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgICAicmVxdWlyZWQiOiBbImlkIiwgImNvbW1h", - "bmQiXSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgImlkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwK", - "ICAgICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN0YWJsZSBob29rIGlkZW50aWZpZXIgdXNl", - "ZCBpbiBsb2dzIGFuZCBmYWlsdXJlIGFsZXJ0cy4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29tbWFuZCI6IHsKICAgICAgICAgICAgICAg", - "ICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIi4qXFxTLioiLAog", - "ICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGNvbW1hbmQgcnVuIHdpdGggbm90aWZpY2F0aW9uIHBvbGljeSBKU09OIG9uIHN0ZGluLiIK", - "ICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJ0aW1lb3V0U2Vjb25kcyI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAg", - "ICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IDIwLAogICAgICAgICAgICAgICAgImRlc2NyaXB0", - "aW9uIjogIk1heGltdW0gdGltZSBjbXV4IHdhaXRzIGZvciB0aGlzIGhvb2sgYmVmb3JlIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0IG5vdGlmaWNhdGlvbiBi", - "ZWhhdmlvci4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiZW5hYmxlZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAog", - "ICAgICAgICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhpcyBob29rIHdpdGhvdXQg", - "cmVtb3ZpbmcgaXQuIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJzaWRl", - "YmFyIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJzaWRlYmFyIiwKICAgICAgImRlc2NyaXB0aW9uIjog", - "IlNpZGViYXIgY29udGVudCBhbmQgbWV0YWRhdGEgdmlzaWJpbGl0eSBmcm9tIFNldHRpbmdzID4gU2lkZWJhci4iLAogICAgICAidHlwZSI6ICJvYmplY3Qi", - "LAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImhpZGVBbGxEZXRhaWxzIjogewog", - "ICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhpZGUgYWxs", - "IHBlci13b3Jrc3BhY2UgZGV0YWlsIHJvd3MuIgogICAgICAgIH0sCiAgICAgICAgIndyYXBXb3Jrc3BhY2VUaXRsZXMiOiB7CiAgICAgICAgICAidHlwZSI6", - "ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxsb3cgd29ya3NwYWNlIHRpdGxlcyBp", - "biB0aGUgc2lkZWJhciB0byB3cmFwIHRvIG11bHRpcGxlIGxpbmVzIGluc3RlYWQgb2YgdHJ1bmNhdGluZyBhZnRlciBvbmUgbGluZS4iCiAgICAgICAgfSwK", - "ICAgICAgICAic2hvd1dvcmtzcGFjZURlc2NyaXB0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRy", - "dWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBjdXN0b20gd29ya3NwYWNlIGRlc2NyaXB0aW9ucyBpbiB0aGUgc2lkZWJhci4iCiAgICAgICAg", - "fSwKICAgICAgICAiYmV0YSI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwK", - "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFeHBlcmltZW50YWwgc2lkZWJhciBmZWF0dXJlcy4iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAg", - "ICAgICAgICJ3b3Jrc3BhY2VUb2RvcyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVy", - "dGllcyI6IGZhbHNlLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXb3Jrc3BhY2UgdG9kb3MgY2hlY2tsaXN0IHByZXNlbnRhdGlvbi4iLAogICAg", - "ICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgImNoZWNrbGlzdFN0eWxlIjogewogICAgICAgICAgICAgICAgICAidHlwZSI6ICJz", - "dHJpbmciLAogICAgICAgICAgICAgICAgICAiZW51bSI6IFsicG9wb3ZlciIsICJpbmxpbmUiXSwKICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiAicG9w", - "b3ZlciIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIb3cgYSByb3cncyBjaGVja2xpc3Qgb3BlbnMgZnJvbSBpdHMgc3VtbWFyeSBsaW5l", - "OiBhbiBhbmNob3JlZCBwb3BvdmVyIG9yIGlubGluZSBleHBhbnNpb24uIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAg", - "fQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImJyYW5jaExheW91dCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAi", - "ZW51bSI6IFsidmVydGljYWwiLCAiaW5saW5lIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJ2ZXJ0aWNhbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", - "U2hvdyBnaXQgYnJhbmNoIGRldGFpbHMgc3RhY2tlZCB2ZXJ0aWNhbGx5IG9yIGlubGluZS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd05vdGlmaWNhdGlv", - "bk1lc3NhZ2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlv", - "biI6ICJTaG93IHRoZSBsYXRlc3Qgbm90aWZpY2F0aW9uIHRleHQgaW4gdGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgIm5vdGlmaWNhdGlvbk1l", - "c3NhZ2VMaW5lTGltaXQiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJtYXhpbXVt", - "IjogNTAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEyLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gbGluZXMgc2hvd24gZm9yIHRoZSBsYXRl", - "c3Qgbm90aWZpY2F0aW9uIGJlbG93IGVhY2ggd29ya3NwYWNlIHRpdGxlLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", - "b25zLnNpZGViYXIubm90aWZpY2F0aW9uTWVzc2FnZUxpbmVMaW1pdCIKICAgICAgICB9LAogICAgICAgICJzaG93QnJhbmNoRGlyZWN0b3J5IjogewogICAg", - "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgd29y", - "a3NwYWNlIHdvcmtpbmcgZGlyZWN0b3J5LiIKICAgICAgICB9LAogICAgICAgICJzaG93UHVsbFJlcXVlc3RzIjogewogICAgICAgICAgInR5cGUiOiAiYm9v", - "bGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBwdWxsIHJlcXVlc3QgbWV0YWRhdGEgaW4g", - "dGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgIndhdGNoR2l0U3RhdHVzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAg", - "ICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2F0Y2ggcmVwb3NpdG9yeSBmaWxlcyBmb3Igc2lkZWJhciBicmFuY2ggYW5k", - "IHB1bGwgcmVxdWVzdCBtZXRhZGF0YSB3aXRob3V0IHBvbGxpbmcgZ2l0LiIKICAgICAgICB9LAogICAgICAgICJtYWtlUHVsbFJlcXVlc3RzQ2xpY2thYmxl", - "IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxs", - "b3cgc2lkZWJhciBwdWxsIHJlcXVlc3QgbWV0YWRhdGEgdG8gb3BlbiBsaW5rcyB3aGVuIGNsaWNrZWQuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5QdWxs", - "UmVxdWVzdExpbmtzSW5DbXV4QnJvd3NlciI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAg", - "ICAgICAgImRlc2NyaXB0aW9uIjogIk9wZW4gc2lkZWJhciBwdWxsIHJlcXVlc3QgbGlua3MgaW4gdGhlIGVtYmVkZGVkIGNtdXggYnJvd3Nlci4iCiAgICAg", - "ICAgfSwKICAgICAgICAib3BlblBvcnRMaW5rc0luQ211eEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZh", - "dWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVuIHNpZGViYXIgcG9ydCBsaW5rcyBpbiB0aGUgZW1iZWRkZWQgY211eCBicm93c2Vy", - "LiIKICAgICAgICB9LAogICAgICAgICJzaG93U1NIIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUs", - "CiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBTU0ggY29ubmVjdGlvbiBkZXRhaWxzLiIKICAgICAgICB9LAogICAgICAgICJzaG93UG9ydHMiOiB7", - "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGxp", - "c3RlbmluZyBwb3J0cy4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0xvZyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRl", - "ZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgcmVjZW50IGxvZyBzbmlwcGV0cy4iCiAgICAgICAgfSwKICAgICAgICAic2hv", - "d1Byb2dyZXNzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRp", - "b24iOiAiU2hvdyBwcm9ncmVzcyBpbmRpY2F0b3JzLiIKICAgICAgICB9LAogICAgICAgICJzaG93QWdlbnRBY3Rpdml0eSI6IHsKICAgICAgICAgICJ0eXBl", - "IjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGxvYWRpbmcgc3Bpbm5l", - "ciBvbiB3b3Jrc3BhY2VzIHdpdGggcnVubmluZyBjb2RpbmcgYWdlbnRzIG9yIGFjdGl2ZSBsb2FkZXJzLiIKICAgICAgICB9LAogICAgICAgICJsb2FkaW5n", - "U3Bpbm5lclBvc2l0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJsZWFkaW5nIiwgInRyYWlsaW5nIl0s", - "CiAgICAgICAgICAiZGVmYXVsdCI6ICJsZWFkaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGljaCBzaWRlIG9mIHRoZSB3b3Jrc3BhY2Ugcm93", - "IHRoZSBsb2FkaW5nIHNwaW5uZXIgYXBwZWFycyBvbjogbGVhZGluZyAobGVmdCwgc2hhcmluZyB0aGUgdW5yZWFkLWJhZGdlIHNsb3QpIG9yIHRyYWlsaW5n", - "IChyaWdodCkuIgogICAgICAgIH0sCiAgICAgICAgIm5vdGlmaWNhdGlvbkJhZGdlUG9zaXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAog", - "ICAgICAgICAgImVudW0iOiBbImxlYWRpbmciLCAidHJhaWxpbmciXSwKICAgICAgICAgICJkZWZhdWx0IjogImxlYWRpbmciLAogICAgICAgICAgImRlc2Ny", - "aXB0aW9uIjogIldoaWNoIHNpZGUgb2YgdGhlIHdvcmtzcGFjZSByb3cgdGhlIHVucmVhZCBub3RpZmljYXRpb24gYmFkZ2UgYXBwZWFycyBvbjogbGVhZGlu", - "ZyAobGVmdCkgb3IgdHJhaWxpbmcgKHJpZ2h0KS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0N1c3RvbU1ldGFkYXRhIjogewogICAgICAgICAgInR5cGUi", - "OiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBjdXN0b20gbWV0YWRhdGEgcGls", - "bHMuIgogICAgICAgIH0sCiAgICAgICAgInJpZ2h0TWF4V2lkdGgiOiB7CiAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgImV4Y2x1c2l2", - "ZU1pbmltdW0iOiAwLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5zaWRlYmFyLnJpZ2h0TWF4V2lkdGgiLAogICAg", - "ICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gd2lkdGggaW4gcG9pbnRzIGZvciB0aGUgcmlnaHQgc2lkZWJhci4gV2hlbiBvbWl0dGVkLCB0aGUgYnVp", - "bHQtaW4gZHluYW1pYyBjYXAgYXBwbGllcy4iCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIndvcmtzcGFjZUNvbG9ycyI6IHsKICAgICAgIngtY211", - "eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAid29ya3NwYWNlQ29sb3JzIiwKICAgICAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSB0", - "YWIgYW5kIGJhZGdlIGNvbG9ycyBmcm9tIFNldHRpbmdzID4gV29ya3NwYWNlIENvbG9ycy4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRk", - "aXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImluZGljYXRvclN0eWxlIjogewogICAgICAgICAgInR5", - "cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAibGVmdFJhaWwiLAogICAgICAgICAgICAic29saWRGaWxsIiwKICAgICAg", - "ICAgICAgInJhaWwiLAogICAgICAgICAgICAiYm9yZGVyIiwKICAgICAgICAgICAgIndhc2giLAogICAgICAgICAgICAibGlmdCIsCiAgICAgICAgICAgICJ0", - "eXBvZ3JhcGh5IiwKICAgICAgICAgICAgIndhc2hSYWlsIiwKICAgICAgICAgICAgImJsdWVXYXNoQ29sb3JSYWlsIgogICAgICAgICAgXSwKICAgICAgICAg", - "ICJkZWZhdWx0IjogImxlZnRSYWlsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBY3RpdmUgd29ya3NwYWNlIGluZGljYXRvciBzdHlsZS4gTGVnYWN5", - "IGFsaWFzZXMgYXJlIGFjY2VwdGVkIGFuZCBub3JtYWxpemVkLiIKICAgICAgICB9LAogICAgICAgICJzZWxlY3Rpb25Db2xvciI6IHsKICAgICAgICAgICIk", - "cmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk92ZXJy", - "aWRlIHRoZSBzZWxlY3RlZCB3b3Jrc3BhY2UgYmFja2dyb3VuZCBjb2xvci4iCiAgICAgICAgfSwKICAgICAgICAibm90aWZpY2F0aW9uQmFkZ2VDb2xvciI6", - "IHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2Ny", - "aXB0aW9uIjogIk92ZXJyaWRlIHRoZSB1bnJlYWQgbm90aWZpY2F0aW9uIGJhZGdlIGNvbG9yLiIKICAgICAgICB9LAogICAgICAgICJjb2xvcnMiOiB7CiAg", - "ICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZ1bGwgbmFtZWQgd29ya3NwYWNlIGNvbG9yIHBhbGV0dGUuIElu", - "Y2x1ZGUgYnVpbHQtaW4gZW50cmllcyB5b3Ugd2FudCB0byBrZWVwLCByZW1vdmUga2V5cyB0byByZW1vdmUgY29sb3JzLCBhbmQgYWRkIG1vcmUgbmFtZWQg", - "ZW50cmllcyB0byBleHRlbmQgdGhlIHBpY2tlci4iLAogICAgICAgICAgImRlZmF1bHQiOiB7CiAgICAgICAgICAgICJSZWQiOiAiI0MwMzkyQiIsCiAgICAg", - "ICAgICAgICJDcmltc29uIjogIiM5MjJCMjEiLAogICAgICAgICAgICAiT3JhbmdlIjogIiNBMDQwMDAiLAogICAgICAgICAgICAiQW1iZXIiOiAiIzdENjYw", - "OCIsCiAgICAgICAgICAgICJPbGl2ZSI6ICIjNEE1QzE4IiwKICAgICAgICAgICAgIkdyZWVuIjogIiMxOTZGM0QiLAogICAgICAgICAgICAiVGVhbCI6ICIj", - "MDA2QjZCIiwKICAgICAgICAgICAgIkFxdWEiOiAiIzBFNkI4QyIsCiAgICAgICAgICAgICJCbHVlIjogIiMxNTY1QzAiLAogICAgICAgICAgICAiTmF2eSI6", - "ICIjMUE1Mjc2IiwKICAgICAgICAgICAgIkluZGlnbyI6ICIjMjgzNTkzIiwKICAgICAgICAgICAgIlB1cnBsZSI6ICIjNkExQjlBIiwKICAgICAgICAgICAg", - "Ik1hZ2VudGEiOiAiI0FEMTQ1NyIsCiAgICAgICAgICAgICJSb3NlIjogIiM4ODBFNEYiLAogICAgICAgICAgICAiQnJvd24iOiAiIzdCM0YwMCIsCiAgICAg", - "ICAgICAgICJDaGFyY29hbCI6ICIjM0U0QjVFIgogICAgICAgICAgfSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAg", - "IiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJwYWxldHRlT3ZlcnJpZGVzIjogewogICAgICAgICAg", - "InR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgd29ya3NwYWNlIGNvbG9yIG92ZXJyaWRlcyBmb3IgYnVpbHQtaW4g", - "cGFsZXR0ZSBuYW1lcy4gUHJlZmVyIHdvcmtzcGFjZUNvbG9ycy5jb2xvcnMgZm9yIG5ldyBjb25maWdzLiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHt9LAog", - "ICAgICAgICAgImRlcHJlY2F0ZWQiOiB0cnVlLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiJHJlZiI6ICIjLyRk", - "ZWZzL2NvbG9ySGV4IgogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImN1c3RvbUNvbG9ycyI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwK", - "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgbGlzdCBvZiBjdXN0b20gd29ya3NwYWNlIGNvbG9ycy4gUHJlZmVyIHdvcmtzcGFjZUNvbG9ycy5j", - "b2xvcnMgZm9yIG5ldyBjb25maWdzLiIsCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlcHJlY2F0ZWQiOiB0cnVlLAogICAgICAgICAg", - "Iml0ZW1zIjogewogICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAg", - "ICJzaWRlYmFyQXBwZWFyYW5jZSI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAic2lkZWJhckFwcGVhcmFu", - "Y2UiLAogICAgICAiZGVzY3JpcHRpb24iOiAiU2lkZWJhciB0aW50IHNldHRpbmdzIGZyb20gU2V0dGluZ3MgPiBTaWRlYmFyIEFwcGVhcmFuY2UuIiwKICAg", - "ICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJt", - "YXRjaFRlcm1pbmFsQmFja2dyb3VuZCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAg", - "ICAgICJkZXNjcmlwdGlvbiI6ICJVc2UgdGhlIHRlcm1pbmFsIGJhY2tncm91bmQgaW5zdGVhZCBvZiB0aGUgc2lkZWJhciB0aW50LiIKICAgICAgICB9LAog", - "ICAgICAgICJ0aW50Q29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IiwKICAgICAgICAgICJkZWZhdWx0IjogIiMwMDAwMDAi", - "LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkJhc2Ugc2lkZWJhciB0aW50IGNvbG9yIHVzZWQgd2hlbiBsaWdodC9kYXJrIG92ZXJyaWRlcyBhcmUgbm90", - "IHNldC4iCiAgICAgICAgfSwKICAgICAgICAibGlnaHRNb2RlVGludENvbG9yIjogewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleE9yTnVs", - "bCIsCiAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2lkZWJhciB0aW50IG92ZXJyaWRlIGZvciBsaWdodCBh", - "cHBlYXJhbmNlLiIKICAgICAgICB9LAogICAgICAgICJkYXJrTW9kZVRpbnRDb2xvciI6IHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhP", - "ck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIgdGludCBvdmVycmlkZSBmb3IgZGFy", - "ayBhcHBlYXJhbmNlLiIKICAgICAgICB9LAogICAgICAgICJ0aW50T3BhY2l0eSI6IHsKICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAi", - "bWluaW11bSI6IDAsCiAgICAgICAgICAibWF4aW11bSI6IDEsCiAgICAgICAgICAiZGVmYXVsdCI6IDAuMDMsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", - "U2lkZWJhciB0aW50IG9wYWNpdHkgZnJvbSAwIHRvIDEuIE5vdGU6IHRoaXMgb25seSBjb250cm9scyB0aGUgc2lkZWJhciB0aW50LCBub3QgdGVybWluYWwv", - "d2luZG93IHRyYW5zcGFyZW5jeS4gRm9yIHRlcm1pbmFsIGJhY2tncm91bmQgdHJhbnNwYXJlbmN5IG9yIGJsdXIsIHNldCBgYmFja2dyb3VuZC1vcGFjaXR5", - "YCBhbmQgYGJhY2tncm91bmQtYmx1cmAgaW4gYH4vLmNvbmZpZy9naG9zdHR5L2NvbmZpZ2AgYW5kIHJ1biBgY211eCByZWxvYWQtY29uZmlnYC4iCiAgICAg", - "ICAgfQogICAgICB9CiAgICB9LAogICAgImF1dG9tYXRpb24iOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjog", - "ImF1dG9tYXRpb24iLAogICAgICAiZGVzY3JpcHRpb24iOiAiU29ja2V0IGNvbnRyb2wgYW5kIGF1dG9tYXRpb24gc2V0dGluZ3MgZnJvbSBTZXR0aW5ncyA+", - "IEF1dG9tYXRpb24uIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0", - "aWVzIjogewogICAgICAgICJzb2NrZXRDb250cm9sTW9kZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsKICAg", - "ICAgICAgICAgIm9mZiIsCiAgICAgICAgICAgICJjbXV4T25seSIsCiAgICAgICAgICAgICJhdXRvbWF0aW9uIiwKICAgICAgICAgICAgInBhc3N3b3JkIiwK", - "ICAgICAgICAgICAgImFsbG93QWxsIiwKICAgICAgICAgICAgIm9wZW5BY2Nlc3MiLAogICAgICAgICAgICAiZnVsbE9wZW5BY2Nlc3MiLAogICAgICAgICAg", - "ICAibm90aWZpY2F0aW9ucyIsCiAgICAgICAgICAgICJmdWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogImNtdXhPbmx5IiwKICAgICAg", - "ICAgICJkZXNjcmlwdGlvbiI6ICJTb2NrZXQgY29udHJvbCBtb2RlLiBMZWdhY3kgYWxpYXNlcyBhcmUgYWNjZXB0ZWQgYW5kIG5vcm1hbGl6ZWQuIgogICAg", - "ICAgIH0sCiAgICAgICAgInNvY2tldFBhc3N3b3JkIjogewogICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInR5cGUi", - "OiAic3RyaW5nIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVsbCIKICAgICAgICAgICAgfQogICAgICAg", - "ICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUGFzc3dvcmQgZm9yIHBhc3N3b3JkLW1vZGUgc29ja2V0", - "IGFjY2Vzcy4gVXNlIG51bGwgb3IgYW4gZW1wdHkgc3RyaW5nIHRvIGNsZWFyIGl0LiIKICAgICAgICB9LAogICAgICAgICJjbGF1ZGVDb2RlSW50ZWdyYXRp", - "b24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJF", - "bmFibGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgQ2xhdWRlIENvZGUuIgogICAgICAgIH0sCiAgICAgICAgImNsYXVkZUJpbmFyeVBhdGgiOiB7CiAg", - "ICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDdXN0b20gcGF0aCB0", - "byB0aGUgY2xhdWRlIGJpbmFyeS4iCiAgICAgICAgfSwKICAgICAgICAid29ya3NwYWNlQXV0b05hbWluZyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", - "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXV0b21hdGlv", - "bi53b3Jrc3BhY2VBdXRvTmFtaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHQtaW4gQUkgYXV0by1uYW1pbmcgb2Ygd29ya3NwYWNlcyBhbmQg", - "dGFicyBmcm9tIGFnZW50IGNvbnZlcnNhdGlvbiBjb250ZW50LiBXaGVuIGVuYWJsZWQsIGNtdXggc3VtbWFyaXplcyBzdXBwb3J0ZWQgYWdlbnQgc2Vzc2lv", - "bnMgaW50byBzaG9ydCB0aXRsZXMgdXNpbmcgZWFjaCBhZ2VudCdzIG93biBiaW5hcnk7IG1hbnVhbCByZW5hbWVzIGFsd2F5cyB3aW4uIgogICAgICAgIH0s", - "CiAgICAgICAgImF1dG9OYW1pbmdBZ2VudCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICJhdXRvIiwKICAg", - "ICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXV0b21hdGlvbi5hdXRvTmFtaW5nQWdlbnQiLAogICAgICAgICAgImRlc2Ny", - "aXB0aW9uIjogIldoaWNoIGFnZW50IGdlbmVyYXRlcyBhdXRvLW5hbWVzIGZvciBldmVyeSBzZXNzaW9uLiBcImF1dG9cIiAoZGVmYXVsdCkgbmFtZXMgZWFj", - "aCBzZXNzaW9uIHdpdGggaXRzIG93biBhZ2VudDsgYW55IGFnZW50IHNsdWcgKGNsYXVkZSwgY29kZXgsIGdyb2ssIG9wZW5jb2RlLCBwaSwgb21wLCDigKYp", - "IG92ZXJyaWRlcyBuYW1pbmcgZm9yIGFsbCBzZXNzaW9ucywgZXZlbiBvdGhlciBhZ2VudHMnIHNlc3Npb25zLiBVbmRyaXZlYWJsZSBvciB1bmluc3RhbGxl", - "ZCBhZ2VudHMgZmFsbCBiYWNrIHRvIHRoZSBzZXNzaW9uJ3Mgb3duIGFnZW50LCBzbyBuYW1pbmcgbmV2ZXIgYnJlYWtzLiIKICAgICAgICB9LAogICAgICAg", - "ICJyaXBncmVwQmluYXJ5UGF0aCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRl", - "c2NyaXB0aW9uIjogIkN1c3RvbSBwYXRoIHRvIHRoZSByaXBncmVwIChyZykgYmluYXJ5IHVzZWQgYnkgcHJvamVjdCBzZWFyY2guIgogICAgICAgIH0sCiAg", - "ICAgICAgInN1cHByZXNzU3ViYWdlbnROb3RpZmljYXRpb25zIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6", - "IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24uc3VwcHJlc3NTdWJhZ2VudE5vdGlmaWNh", - "dGlvbnMiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN1cHByZXNzIHZpc2libGUgY29tcGxldGlvbiBub3RpZmljYXRpb25zIGFuZCBzdGF0dXMgbXV0", - "YXRpb25zIGZyb20gbmVzdGVkIENvZGV4IG9yIENsYXVkZSBjaGlsZCBhZ2VudHMgd2hpbGUga2VlcGluZyB0aGVpciBldmVudHMgaW4gRmVlZCB0ZWxlbWV0", - "cnkuIgogICAgICAgIH0sCiAgICAgICAgImFtcEludGVncmF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVs", - "dCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24uYW1wSW50ZWdyYXRpb24iLAogICAg", - "ICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBjbXV4IGludGVncmF0aW9uIGhvb2tzIGZvciBBbXAuIFdoZW4gZGlzYWJsZWQsIHRoZSBidW5kbGVkIHBs", - "dWdpbiBzdGF5cyBpbmFjdGl2ZSB3aXRob3V0IG5lZWRpbmcgdG8gYmUgcmVtb3ZlZC4iCiAgICAgICAgfSwKICAgICAgICAiY3Vyc29ySW50ZWdyYXRpb24i", - "OiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFi", - "bGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgQ3Vyc29yLiIKICAgICAgICB9LAogICAgICAgICJnZW1pbmlJbnRlZ3JhdGlvbiI6IHsKICAgICAgICAg", - "ICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBjbXV4IGludGVn", - "cmF0aW9uIGhvb2tzIGZvciBHZW1pbmkuIgogICAgICAgIH0sCiAgICAgICAgImtpcm9JbnRlZ3JhdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", - "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBjbXV4IGludGVncmF0aW9uIGhvb2tzIGZv", - "ciBLaXJvIENMSS4iCiAgICAgICAgfSwKICAgICAgICAia2lyb05vdGlmaWNhdGlvbkxldmVsIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAg", - "ICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAibWluaW1hbCIsCiAgICAgICAgICAgICJzdGFuZGFyZCIsCiAgICAgICAgICAgICJ2ZXJib3NlIgogICAg", - "ICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogInN0YW5kYXJkIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb250cm9scyBob3cgbWFueSBLaXJv", - "IHRvb2wgZXZlbnRzIGFwcGVhciBpbiBGZWVkLiIKICAgICAgICB9LAogICAgICAgICJwb3J0QmFzZSI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIi", - "LAogICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgImRlZmF1bHQiOiA5MTAwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN0YXJ0aW5nIHZh", - "bHVlIGZvciB3b3Jrc3BhY2UgQ01VWF9QT1JUIGFzc2lnbm1lbnRzLiIKICAgICAgICB9LAogICAgICAgICJwb3J0UmFuZ2UiOiB7CiAgICAgICAgICAidHlw", - "ZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJkZWZhdWx0IjogMTAsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", - "TnVtYmVyIG9mIHBvcnRzIHJlc2VydmVkIHBlciB3b3Jrc3BhY2UuIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJicm93c2VyIjogewogICAgICAi", - "eC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJicm93c2VyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkVtYmVkZGVkIGJyb3dz", - "ZXIgc2V0dGluZ3MgZnJvbSBTZXR0aW5ncyA+IEJyb3dzZXIuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVz", - "IjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJkZWZhdWx0U2VhcmNoRW5naW5lIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5n", - "IiwKICAgICAgICAgICJlbnVtIjogWyJnb29nbGUiLCAiZHVja2R1Y2tnbyIsICJiaW5nIiwgImthZ2kiLCAic3RhcnRwYWdlIiwgImJyYXZlIiwgInBlcnBs", - "ZXhpdHkiLCAiZXhhIiwgInlhaG9vIiwgImVjb3NpYSIsICJxd2FudCIsICJtb2plZWsiLCAid2lraXBlZGlhIiwgImdpdGh1YiIsICJiYWlkdSIsICJ5YW5k", - "ZXgiLCAiY3VzdG9tIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJnb29nbGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0", - "aW9ucy5icm93c2VyLmRlZmF1bHRTZWFyY2hFbmdpbmUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgc2VhcmNoIGVuZ2luZSBmb3Igbm9u", - "LVVSTCBicm93c2VyIGFkZHJlc3MgYmFyIHF1ZXJpZXMuIFVzZSBjdXN0b20gd2l0aCBjdXN0b21TZWFyY2hFbmdpbmVVUkxUZW1wbGF0ZSBmb3IgYXJiaXRy", - "YXJ5IHByb3ZpZGVycy4iCiAgICAgICAgfSwKICAgICAgICAiY3VzdG9tU2VhcmNoRW5naW5lTmFtZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIs", - "CiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmN1c3RvbVNl", - "YXJjaEVuZ2luZU5hbWUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbmFtZSB1c2VkIHdoZW4gZGVmYXVsdFNlYXJjaEVuZ2luZSBpcyBj", - "dXN0b20uIgogICAgICAgIH0sCiAgICAgICAgImN1c3RvbVNlYXJjaEVuZ2luZVVSTFRlbXBsYXRlIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwK", - "ICAgICAgICAgICJkZWZhdWx0IjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vc2VhcmNoP3E9e3F1ZXJ5fSIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXki", - "OiAic2NoZW1hRGVzY3JpcHRpb25zLmJyb3dzZXIuY3VzdG9tU2VhcmNoRW5naW5lVVJMVGVtcGxhdGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNl", - "YXJjaCBVUkwgdXNlZCB3aGVuIGRlZmF1bHRTZWFyY2hFbmdpbmUgaXMgY3VzdG9tLiBJbmNsdWRlIHtxdWVyeX0gb3IgJXMgZm9yIHRoZSBlbmNvZGVkIHF1", - "ZXJ5LiBJZiBvbWl0dGVkLCBjbXV4IGFwcGVuZHMgcT0gdG8gdGhlIFVSTC4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1NlYXJjaFN1Z2dlc3Rpb25zIjog", - "ewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBv", - "bW5pYmFyIHNlYXJjaCBzdWdnZXN0aW9ucy4iCiAgICAgICAgfSwKICAgICAgICAidGhlbWUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAg", - "ICAgICAgImVudW0iOiBbInN5c3RlbSIsICJsaWdodCIsICJkYXJrIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzeXN0ZW0iLAogICAgICAgICAgImRlc2Ny", - "aXB0aW9uIjogIkVtYmVkZGVkIGJyb3dzZXIgdGhlbWUuIgogICAgICAgIH0sCiAgICAgICAgImRlZmF1bHRab29tTGV2ZWwiOiB7CiAgICAgICAgICAidHlw", - "ZSI6ICJudW1iZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAwLjI1LAogICAgICAgICAgIm1heGltdW0iOiA1LAogICAgICAgICAgImRlZmF1bHQiOiAxLAog", - "ICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmRlZmF1bHRab29tTGV2ZWwiLAogICAgICAgICAgImRlc2Ny", - "aXB0aW9uIjogIkRlZmF1bHQgcGFnZSB6b29tIGZhY3RvciBhcHBsaWVkIHRvIG5ld2x5IG9wZW5lZCBicm93c2VyIHBhZ2VzICgxID0gMTAwJSkuIFpvb20g", - "SW4sIFpvb20gT3V0LCBhbmQgQWN0dWFsIFNpemUgc3RpbGwgYWRqdXN0IGVhY2ggcGFnZS4iCiAgICAgICAgfSwKICAgICAgICAiZGlzY2FyZEhpZGRlbldl", - "YlZpZXdzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", - "OiAiQWxsb3cgaGlkZGVuIGJyb3dzZXIgdGFicyB0byByZWxlYXNlIHBhZ2UgbWVtb3J5IGFuZCByZXN0b3JlIHdoZW4gc2hvd24gYWdhaW4uIgogICAgICAg", - "IH0sCiAgICAgICAgImhpZGRlbldlYlZpZXdEaXNjYXJkRGVsYXlTZWNvbmRzIjogewogICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICJt", - "aW5pbXVtIjogMCwKICAgICAgICAgICJtYXhpbXVtIjogMzYwMCwKICAgICAgICAgICJkZWZhdWx0IjogMzAwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", - "IlNlY29uZHMgYSBicm93c2VyIHRhYiBtdXN0IHN0YXkgaGlkZGVuIGJlZm9yZSBjbXV4IGZyZWVzIGl0cyBwYWdlIG1lbW9yeS4iCiAgICAgICAgfSwKICAg", - "ICAgICAiYXNrV2hlcmVUb1NhdmVEb3dubG9hZHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2Us", - "CiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmJyb3dzZXIuYXNrV2hlcmVUb1NhdmVEb3dubG9hZHMiLAogICAgICAg", - "ICAgImRlc2NyaXB0aW9uIjogIlNob3cgYSBzYXZlIHBhbmVsIGZvciBicm93c2VyIGRvd25sb2FkcyBpbnN0ZWFkIG9mIHNhdmluZyBkaXJlY3RseSB0byBE", - "b3dubG9hZHMuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5UZXJtaW5hbExpbmtzSW5DbXV4QnJvd3NlciI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", - "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wZW4gY2xpY2tlZCB0ZXJtaW5hbCBsaW5rcyBpbiB0", - "aGUgZW1iZWRkZWQgYnJvd3Nlci4iCiAgICAgICAgfSwKICAgICAgICAiaW50ZXJjZXB0VGVybWluYWxPcGVuQ29tbWFuZEluQ211eEJyb3dzZXIiOiB7CiAg", - "ICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJJbnRlcmNlcHQg", - "dGVybWluYWwgb3BlbiBodHRwKHMpIGNvbW1hbmRzIGFuZCByb3V0ZSB0aGVtIHRocm91Z2ggdGhlIGVtYmVkZGVkIGJyb3dzZXIuIgogICAgICAgIH0sCiAg", - "ICAgICAgImhvc3RzVG9PcGVuSW5FbWJlZGRlZEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAg", - "ICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", - "IkFsbG93bGlzdCBvZiBob3N0cyB0aGF0IHNob3VsZCBzdGF5IGluc2lkZSB0aGUgZW1iZWRkZWQgYnJvd3Nlci4iCiAgICAgICAgfSwKICAgICAgICAidXJs", - "c1RvQWx3YXlzT3BlbkV4dGVybmFsbHkiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0", - "eXBlIjogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJ1bGVzIHRoYXQg", - "YWx3YXlzIG9wZW4gbWF0Y2hpbmcgVVJMcyBpbiB0aGUgc3lzdGVtIGJyb3dzZXIuIgogICAgICAgIH0sCiAgICAgICAgImluc2VjdXJlSHR0cEhvc3RzQWxs", - "b3dlZEluRW1iZWRkZWRCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlw", - "ZSI6ICJzdHJpbmciCiAgICAgICAgICB9LAogICAgICAgICAgImRlZmF1bHQiOiBbCiAgICAgICAgICAgICJsb2NhbGhvc3QiLAogICAgICAgICAgICAiKi5s", - "b2NhbGhvc3QiLAogICAgICAgICAgICAiMTI3LjAuMC4xIiwKICAgICAgICAgICAgIjo6MSIsCiAgICAgICAgICAgICIwLjAuMC4wIiwKICAgICAgICAgICAg", - "IioubG9jYWx0ZXN0Lm1lIgogICAgICAgICAgXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIVFRQIGhvc3RzIGFsbG93ZWQgaW4gdGhlIGVtYmVkZGVk", - "IGJyb3dzZXIgd2l0aG91dCBhIHdhcm5pbmcgcHJvbXB0LiIKICAgICAgICB9LAogICAgICAgICJ1cmxBbGxvd2xpc3QiOiB7CiAgICAgICAgICAidHlwZSI6", - "ICJhcnJheSIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVzY3Jp", - "cHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmJyb3dzZXIudXJsQWxsb3dsaXN0IiwKICAgICAgICAgICJkZWZhdWx0IjogWwogICAgICAgICAgICAi", - "bG9jYWxob3N0IiwKICAgICAgICAgICAgIioubG9jYWxob3N0IiwKICAgICAgICAgICAgIjEyNy4wLjAuMSIsCiAgICAgICAgICAgICI6OjEiLAogICAgICAg", - "ICAgICAiMC4wLjAuMCIsCiAgICAgICAgICAgICIqLmxvY2FsdGVzdC5tZSIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG9zdCBv", - "ciBVUkwgcGF0dGVybnMgdGhhdCByZXN0cmljdCBlbWJlZGRlZC1icm93c2VyIG5hdmlnYXRpb24uIFRoZSBTZXR0aW5ncyBVSSBzdWdnZXN0cyBsb2NhbCBk", - "ZXZlbG9wbWVudCBvcmlnaW5zOyBzYXZpbmcgYSBsaXN0IG9wdHMgaW50byB0aGUgb3B0aW9uYWwgcmVzdHJpY3Rpb24uIFJlbW92ZSBlbnRyaWVzIHRvIGJs", - "b2NrIHRoZW0sIG9yIGxlYXZlIHRoZSB1c2VyIHZhbHVlIGVtcHR5IHRvIGRpc2FibGUgaXQgd2hlbiBubyBtYW5hZ2VkIHBvbGljeSBhcHBsaWVzLiIKICAg", - "ICAgICB9LAogICAgICAgICJzaG93SW1wb3J0SGludE9uQmxhbmtUYWJzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVm", - "YXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgYnJvd3NlciBpbXBvcnQgaGludCBvbiBibGFuayB0YWJzLiIKICAgICAg", - "ICB9LAogICAgICAgICJyZWFjdEdyYWJWZXJzaW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIjAuMS4y", - "OSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUGlubmVkIHJlYWN0LWdyYWIgdmVyc2lvbiBmb3IgdGhlIGJyb3dzZXIgdG9vbGJhciBoZWxwZXIuIgog", - "ICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJtb2JpbGUiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjog", - "Im1vYmlsZSIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJNYWMtc2lkZSBzZXR0aW5ncyBmb3IgY211eCBvbiBpT1MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0", - "IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJhcnRpZmFjdEZvbGRlckFjY2Vz", - "cyI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsic3VidHJlZSIsICJvbmVMZXZlbCJdLAogICAgICAgICAgImRl", - "ZmF1bHQiOiAic3VidHJlZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29udHJvbHMgd2hldGhlciBhIHJlZmVyZW5jZWQgb3IgdGVybWluYWwtdmlz", - "aWJsZSBkaXJlY3RvcnkgYXV0aG9yaXplcyBpdHMgZnVsbCBjYW5vbmljYWwgc3VidHJlZSBvciBvbmx5IGltbWVkaWF0ZSBjaGlsZHJlbi4iCiAgICAgICAg", - "fQogICAgICB9CiAgICB9LAogICAgIm1hcmtkb3duIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJtYXJr", - "ZG93biIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJCdWlsdC1pbiBtYXJrZG93biB2aWV3ZXIgc2V0dGluZ3MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwK", - "ICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJmb250U2l6ZSI6IHsKICAgICAgICAg", - "ICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgIm1pbmltdW0iOiA4LAogICAgICAgICAgIm1heGltdW0iOiA5NiwKICAgICAgICAgICJkZWZhdWx0Ijog", - "MTUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVmYXVsdCBib2R5IGZvbnQgc2l6ZSwgaW4gcG9pbnRzLCBmb3IgbmV3bHkgb3BlbmVkIG1hcmtkb3du", - "IHZpZXdlcnMuIFpvb20gYSB2aWV3ZXIgbGl2ZSB3aXRoIENtZC0rIC8gQ21kLS0gLyBDbWQtMC4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNj", - "aGVtYURlc2NyaXB0aW9ucy5tYXJrZG93bi5mb250U2l6ZSIKICAgICAgICB9LAogICAgICAgICJmb250RmFtaWx5IjogewogICAgICAgICAgInR5cGUiOiAi", - "c3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVmYXVsdCBib2R5IGZvbnQgZmFtaWx5IGZvciBu", - "ZXdseSBvcGVuZWQgbWFya2Rvd24gdmlld2Vycy4gTGVhdmUgZW1wdHkgZm9yIHRoZSBzeXN0ZW0gbWFya2Rvd24gZm9udCBzdGFjay4iLAogICAgICAgICAg", - "ImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5tYXJrZG93bi5mb250RmFtaWx5IgogICAgICAgIH0sCiAgICAgICAgIm1heFdpZHRoIjog", - "ewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDMyMCwKICAgICAgICAgICJtYXhpbXVtIjogMjQwMCwKICAgICAg", - "ICAgICJkZWZhdWx0IjogOTgwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgbWF4aW11bSByZWFkaW5nIGNvbHVtbiB3aWR0aCwgaW4gQ1NT", - "IHBpeGVscywgZm9yIG5ld2x5IG9wZW5lZCBtYXJrZG93biB2aWV3ZXJzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", - "b25zLm1hcmtkb3duLm1heFdpZHRoIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJjYW52YXMiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJn", - "bG9iYWwiXSwKICAgICAgInRpdGxlIjogImNhbnZhcyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGcmVlZm9ybSBjYW52YXMgd29ya3NwYWNlIGxheW91dCBz", - "ZXR0aW5ncy4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMi", - "OiB7CiAgICAgICAgInBhbmVHYXAiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMCwKICAgICAgICAgICJt", - "YXhpbXVtIjogNjQsCiAgICAgICAgICAiZGVmYXVsdCI6IDE2LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNwYWNpbmcgYmV0d2VlbiBwYW5lcyBpbiB0", - "aGUgY2FudmFzIGxheW91dCwgaW4gcG9pbnRzLiBTbmFwcGluZywgdGlkeSwgYW5kIG5ldy1wYW5lIHBsYWNlbWVudCBhbGwgdXNlIHRoaXMgb25lIGdhcC4i", - "LAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5jYW52YXMucGFuZUdhcCIKICAgICAgICB9LAogICAgICAgICJzbmFw", - "cGluZ0VuYWJsZWQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlw", - "dGlvbiI6ICJTbmFwIHBhbmUgZHJhZ3MgYW5kIHJlc2l6ZXMgdG8gbmVpZ2hib3IgZWRnZXMgYW5kIHRoZSBwYW5lIGdhcC4gSG9sZCBDb21tYW5kIHRvIHN1", - "c3BlbmQgc25hcHBpbmcgZm9yIG9uZSBnZXN0dXJlLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmNhbnZhcy5z", - "bmFwcGluZ0VuYWJsZWQiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImZpbGVFZGl0b3IiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9i", - "YWwiXSwKICAgICAgInRpdGxlIjogImZpbGVFZGl0b3IiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQnVpbHQtaW4gZmlsZSBlZGl0b3Igc2V0dGluZ3MuIiwK", - "ICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAg", - "ICJ3b3JkV3JhcCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlw", - "dGlvbiI6ICJXcmFwIGxvbmcgbGluZXMgYXQgdGhlIGVkaXRvcidzIHJpZ2h0IGVkZ2UgaW5zdGVhZCBvZiBzY3JvbGxpbmcgaG9yaXpvbnRhbGx5LiIsCiAg", - "ICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3Iud29yZFdyYXAiCiAgICAgICAgfSwKICAgICAgICAic3lu", - "dGF4SGlnaGxpZ2h0aW5nIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVz", - "Y3JpcHRpb24iOiAiQ29sb3Igc291cmNlIHRva2VucyBpbiB0aGUgYnVpbHQtaW4gZmlsZSBlZGl0b3IuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6", - "ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5zeW50YXhIaWdobGlnaHRpbmciCiAgICAgICAgfSwKICAgICAgICAibGluZU51bWJlcnMiOiB7CiAg", - "ICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGEgbGlu", - "ZS1udW1iZXIgZ3V0dGVyIGluIHRoZSBidWlsdC1pbiBmaWxlIGVkaXRvci4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0", - "aW9ucy5maWxlRWRpdG9yLmxpbmVOdW1iZXJzIgogICAgICAgIH0sCiAgICAgICAgImluZGVudEd1aWRlcyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", - "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRyYXcgdmVydGljYWwgaW5kZW50IGd1aWRlcyBpbiB0", - "aGUgYnVpbHQtaW4gZmlsZSBlZGl0b3IuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5pbmRl", - "bnRHdWlkZXMiCiAgICAgICAgfSwKICAgICAgICAiY3VycmVudExpbmVIaWdobGlnaHQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAg", - "ICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWdobGlnaHQgdGhlIGNhcmV0J3MgbGluZSB3aGVuIHRoZSBzZWxlY3Rp", - "b24gaXMgZW1wdHkuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5jdXJyZW50TGluZUhpZ2hs", - "aWdodCIKICAgICAgICB9LAogICAgICAgICJ0YWJXaWR0aCI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgImRlZmF1bHQiOiA0", - "LAogICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgIm1heGltdW0iOiA4LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbHVtbnMgcGVyIHRh", - "YiBzdG9wIGZvciBpbmRlbnQgZ3VpZGVzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3IudGFi", - "V2lkdGgiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImZpbGVFeHBsb3JlciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAog", - "ICAgICAidGl0bGUiOiAiZmlsZUV4cGxvcmVyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlJpZ2h0LXNpZGViYXIgZmlsZSBleHBsb3JlciAoZmlsZSB0cmVl", - "KSBzZXR0aW5ncy4iLAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFeHBsb3Jlci5kZXNjcmlwdGlvbiIsCiAgICAg", - "ICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZG91", - "YmxlQ2xpY2tBY3Rpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInByZXZpZXciLCAiZGVmYXVsdEVkaXRv", - "ciIsICJwcmVmZXJyZWRFZGl0b3IiXSwKICAgICAgICAgICJkZWZhdWx0IjogInByZXZpZXciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoYXQgZG91", - "YmxlLWNsaWNraW5nIChvciBwcmVzc2luZyBSZXR1cm4gb24gYSBzZWFyY2ggcmVzdWx0IGZvcikgYSBmaWxlIGluIHRoZSBmaWxlIGV4cGxvcmVyIGRvZXMu", - "IGBwcmV2aWV3YCBvcGVucyB0aGUgYnVpbHQtaW4gY211eCBmaWxlIHByZXZpZXcgKHRoZSBkZWZhdWx0IGFuZCBoaXN0b3JpY2FsIGJlaGF2aW9yKS4gYGRl", - "ZmF1bHRFZGl0b3JgIG9wZW5zIHdpdGggdGhlIG1hY09TIGRlZmF1bHQgYXBwIGZvciB0aGUgZmlsZSB0eXBlLiBgcHJlZmVycmVkRWRpdG9yYCBvcGVucyB3", - "aXRoIHRoZSBgYXBwLnByZWZlcnJlZEVkaXRvcmAgY29tbWFuZCwgZmFsbGluZyBiYWNrIHRvIHRoZSBkZWZhdWx0IGFwcCB3aGVuIG5vbmUgaXMgc2V0LiBP", - "bmx5IGFwcGxpZXMgdG8gZmlsZXM7IGRpcmVjdG9yaWVzIGFsd2F5cyBleHBhbmQvY29sbGFwc2UsIGFuZCBub24tbG9jYWwgKHJlbW90ZSkgZmlsZSBleHBs", - "b3JlcnMgYWx3YXlzIG9wZW4gdGhlIGNtdXggcHJldmlldy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5maWxl", - "RXhwbG9yZXIuZG91YmxlQ2xpY2tBY3Rpb24iCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImRpZmZWaWV3ZXIiOiB7CiAgICAgICJ4LWNtdXgtc2Nv", - "cGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogImRpZmZWaWV3ZXIiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQnVpbHQtaW4gZGlmZiB2aWV3ZXIg", - "c2V0dGluZ3MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVz", - "IjogewogICAgICAgICJkZWZhdWx0TGF5b3V0IjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJ1bmlmaWVkIiwg", - "InNwbGl0Il0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJ1bmlmaWVkIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IGxheW91dCBmb3IgbmV3", - "bHkgb3BlbmVkIGRpZmYgdmlld2Vycy4gVGhlIHRvb2xiYXIgbGF5b3V0IHRvZ2dsZSBwZXJzaXN0cyB0aGUgdXNlcidzIGxhc3QgY2hvaWNlOyBhbiBleHBs", - "aWNpdCBgY211eCBkaWZmIC0tbGF5b3V0YCBvcHRpb24gb3ZlcnJpZGVzIGJvdGguIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNj", - "cmlwdGlvbnMuZGlmZlZpZXdlci5kZWZhdWx0TGF5b3V0IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJyaWdodFNpZGViYXIiOiB7CiAgICAgICJ0", - "aXRsZSI6ICJyaWdodFNpZGViYXIiLAogICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IGFuZCBleHRlbnNpb24tb3duZWQgcmlnaHQtc2lkZWJhciBjb25m", - "aWd1cmF0aW9uIHByZXNlcnZlZCBpbiBjbXV4Lmpzb24uIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjog", - "dHJ1ZQogICAgfSwKICAgICJzaG9ydGN1dHMiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogInNob3J0Y3V0", - "cyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJLZXlib2FyZCBzaG9ydGN1dCBzZXR0aW5ncyBmcm9tIFNldHRpbmdzID4gS2V5Ym9hcmQgU2hvcnRjdXRzLiIs", - "CiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAg", - "ICAic2hvd01vZGlmaWVySG9sZEhpbnRzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAg", - "ICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBzaG9ydGN1dC1oaW50IGNoaXBzIHdoaWxlIGhvbGRpbmcgQ21kIG9yIENvbnRyb2wuIiwKICAgICAgICAgICJk", - "ZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuc2hvcnRjdXRzLnNob3dNb2RpZmllckhvbGRIaW50cyIKICAgICAgICB9LAogICAgICAgICJi", - "aW5kaW5ncyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiZGVmYXVsdCI6IHt9LAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", - "IlNob3J0Y3V0IG92ZXJyaWRlcyBrZXllZCBieSBjbXV4IGFjdGlvbiBpZC4gVXNlIGEgc3RyaW5nIGZvciBhIHNpbmdsZSBzaG9ydGN1dCwgYW4gYXJyYXkg", - "Zm9yIGEgY2hvcmQsIG51bGwsIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2FibGVkIHRvIHVuYmluZC4iLAogICAgICAg", - "ICAgInByb3BlcnR5TmFtZXMiOiB7CiAgICAgICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAgICJvcGVuU2V0dGluZ3MiLAogICAgICAgICAgICAgICJy", - "ZWxvYWRDb25maWd1cmF0aW9uIiwKICAgICAgICAgICAgICAic2hvd0hpZGVBbGxXaW5kb3dzIiwKICAgICAgICAgICAgICAiZ2xvYmFsU2VhcmNoIiwKICAg", - "ICAgICAgICAgICAibmV3V2luZG93IiwKICAgICAgICAgICAgICAiY2xvc2VXaW5kb3ciLAogICAgICAgICAgICAgICJ0b2dnbGVGdWxsU2NyZWVuIiwKICAg", - "ICAgICAgICAgICAicXVpdCIsCiAgICAgICAgICAgICAgInRvZ2dsZVNpZGViYXIiLAogICAgICAgICAgICAgICJuZXdUYWIiLAogICAgICAgICAgICAgICJu", - "ZXdCcm93c2VyV29ya3NwYWNlIiwKICAgICAgICAgICAgICAibmV3Q2xvdWRXb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJuZXdDbG91ZE1hY2hpbmUiLAog", - "ICAgICAgICAgICAgICJvcGVuRm9sZGVyIiwKICAgICAgICAgICAgICAicmVvcGVuUHJldmlvdXNTZXNzaW9uIiwKICAgICAgICAgICAgICAiZ29Ub1dvcmtz", - "cGFjZSIsCiAgICAgICAgICAgICAgImNvbW1hbmRQYWxldHRlIiwKICAgICAgICAgICAgICAiY29tbWFuZFBhbGV0dGVOZXh0IiwKICAgICAgICAgICAgICAi", - "Y29tbWFuZFBhbGV0dGVQcmV2aW91cyIsCiAgICAgICAgICAgICAgInNlbmRGZWVkYmFjayIsCiAgICAgICAgICAgICAgInNob3dOb3RpZmljYXRpb25zIiwK", - "ICAgICAgICAgICAgICAianVtcFRvVW5yZWFkIiwKICAgICAgICAgICAgICAidG9nZ2xlVW5yZWFkIiwKICAgICAgICAgICAgICAibWFya09sZGVzdFVucmVh", - "ZEFuZEp1bXBOZXh0IiwKICAgICAgICAgICAgICAibWFya0FsbE5vdGlmaWNhdGlvbnNSZWFkIiwKICAgICAgICAgICAgICAiY2xlYXJBbGxOb3RpZmljYXRp", - "b25zIiwKICAgICAgICAgICAgICAiZm9jdXNSaWdodFNpZGViYXIiLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb0ZpbGVzIiwKICAgICAg", - "ICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9GaW5kIiwKICAgICAgICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9TZXNzaW9ucyIsCiAgICAgICAg", - "ICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRmVlZCIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRG9jayIsCiAgICAgICAgICAgICAg", - "InN3aXRjaFJpZ2h0U2lkZWJhclRvTWFjaGluZXMiLAogICAgICAgICAgICAgICJ0cmlnZ2VyRmxhc2giLAogICAgICAgICAgICAgICJuZXh0U3VyZmFjZSIs", - "CiAgICAgICAgICAgICAgInByZXZTdXJmYWNlIiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VMZWZ0IiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VS", - "aWdodCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9QcmV2aW91c1BhbmUiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvTmV4dFBhbmUiLAog", - "ICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZUxlZnQiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZVJpZ2h0IiwKICAgICAgICAgICAg", - "ICAibW92ZVN1cmZhY2VUb1BhbmVVcCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9QYW5lRG93biIsCiAgICAgICAgICAgICAgInNlbGVjdFN1cmZh", - "Y2VCeU51bWJlciIsCiAgICAgICAgICAgICAgIm5leHRTaWRlYmFyVGFiIiwKICAgICAgICAgICAgICAicHJldlNpZGViYXJUYWIiLAogICAgICAgICAgICAg", - "ICJuZXh0U2lkZWJhclRhYkluR3JvdXAiLAogICAgICAgICAgICAgICJwcmV2U2lkZWJhclRhYkluR3JvdXAiLAogICAgICAgICAgICAgICJtb3ZlV29ya3Nw", - "YWNlVXAiLAogICAgICAgICAgICAgICJtb3ZlV29ya3NwYWNlRG93biIsCiAgICAgICAgICAgICAgImZvY3VzSGlzdG9yeUJhY2siLAogICAgICAgICAgICAg", - "ICJmb2N1c0hpc3RvcnlGb3J3YXJkIiwKICAgICAgICAgICAgICAic2VsZWN0V29ya3NwYWNlQnlOdW1iZXIiLAogICAgICAgICAgICAgICJyZW5hbWVUYWIi", - "LAogICAgICAgICAgICAgICJyZW5hbWVXb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJlZGl0V29ya3NwYWNlRGVzY3JpcHRpb24iLAogICAgICAgICAgICAg", - "ICJtYXJrV29ya3NwYWNlRG9uZSIsCiAgICAgICAgICAgICAgImN5Y2xlV29ya3NwYWNlU3RhdHVzIiwKICAgICAgICAgICAgICAidG9nZ2xlQ2hlY2tsaXN0", - "SXRlbUNvbXBsZXRlIiwKICAgICAgICAgICAgICAiY2xvc2VUYWIiLAogICAgICAgICAgICAgICJjbG9zZU90aGVyVGFic0luUGFuZSIsCiAgICAgICAgICAg", - "ICAgImNsb3NlV29ya3NwYWNlIiwKICAgICAgICAgICAgICAibmV3V29ya3NwYWNlR3JvdXAiLAogICAgICAgICAgICAgICJncm91cFNlbGVjdGVkV29ya3Nw", - "YWNlcyIsCiAgICAgICAgICAgICAgInRvZ2dsZUZvY3VzZWRXb3Jrc3BhY2VHcm91cENvbGxhcHNlZCIsCiAgICAgICAgICAgICAgInJlb3BlbkNsb3NlZFdv", - "cmtzcGFjZSIsCiAgICAgICAgICAgICAgInJlb3BlbkNsb3NlZEJyb3dzZXJQYW5lbCIsCiAgICAgICAgICAgICAgIm5ld1N1cmZhY2UiLAogICAgICAgICAg", - "ICAgICJ0b2dnbGVUZXJtaW5hbENvcHlNb2RlIiwKICAgICAgICAgICAgICAiZm9jdXNUZXh0Qm94SW5wdXQiLAogICAgICAgICAgICAgICJjeWNsZVRleHRC", - "b3hTdWJtaXRBY3Rpb24iLAogICAgICAgICAgICAgICJhdHRhY2hUZXh0Qm94RmlsZSIsCiAgICAgICAgICAgICAgInNlbmRDdHJsRlRvVGVybWluYWwiLAog", - "ICAgICAgICAgICAgICJjbGVhclNjcmVlbktlZXBTY3JvbGxiYWNrIiwKICAgICAgICAgICAgICAic2ltdWxhdG9ySG9tZSIsCiAgICAgICAgICAgICAgInNp", - "bXVsYXRvclJvdGF0ZUxlZnQiLAogICAgICAgICAgICAgICJzaW11bGF0b3JSb3RhdGVSaWdodCIsCiAgICAgICAgICAgICAgInNpbXVsYXRvclRvZ2dsZUFw", - "cGVhcmFuY2UiLAogICAgICAgICAgICAgICJzaW11bGF0b3JUb2dnbGVTb2Z0d2FyZUtleWJvYXJkIiwKICAgICAgICAgICAgICAiZm9jdXNMZWZ0IiwKICAg", - "ICAgICAgICAgICAiZm9jdXNSaWdodCIsCiAgICAgICAgICAgICAgImZvY3VzVXAiLAogICAgICAgICAgICAgICJmb2N1c0Rvd24iLAogICAgICAgICAgICAg", - "ICJmb2N1c1ByZXZpb3VzUGFuZSIsCiAgICAgICAgICAgICAgImZvY3VzTmV4dFBhbmUiLAogICAgICAgICAgICAgICJzcGxpdFJpZ2h0IiwKICAgICAgICAg", - "ICAgICAic3BsaXREb3duIiwKICAgICAgICAgICAgICAidG9nZ2xlU3BsaXRab29tIiwKICAgICAgICAgICAgICAiaW5jcmVhc2VXb3Jrc3BhY2VUZXJtaW5h", - "bEZvbnRTaXplIiwKICAgICAgICAgICAgICAiZGVjcmVhc2VXb3Jrc3BhY2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAicmVzZXRXb3Jrc3Bh", - "Y2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAiZXF1YWxpemVTcGxpdHMiLAogICAgICAgICAgICAgICJyZXNpemUtcGFuZS1sZWZ0IiwKICAg", - "ICAgICAgICAgICAicmVzaXplLXBhbmUtcmlnaHQiLAogICAgICAgICAgICAgICJyZXNpemUtcGFuZS11cCIsCiAgICAgICAgICAgICAgInJlc2l6ZS1wYW5l", - "LWRvd24iLAogICAgICAgICAgICAgICJzcGxpdEJyb3dzZXJSaWdodCIsCiAgICAgICAgICAgICAgInNwbGl0QnJvd3NlckRvd24iLAogICAgICAgICAgICAg", - "ICJ0b2dnbGVDYW52YXNMYXlvdXQiLAogICAgICAgICAgICAgICJjYW52YXNSZXZlYWxGb2N1c2VkUGFuZSIsCiAgICAgICAgICAgICAgImNhbnZhc092ZXJ2", - "aWV3IiwKICAgICAgICAgICAgICAiY2FudmFzWm9vbUluIiwKICAgICAgICAgICAgICAiY2FudmFzWm9vbU91dCIsCiAgICAgICAgICAgICAgImNhbnZhc1pv", - "b21SZXNldCIsCiAgICAgICAgICAgICAgImNhbnZhc1RpZHkiLAogICAgICAgICAgICAgICJjYW52YXNBbGlnbkxlZnQiLAogICAgICAgICAgICAgICJjYW52", - "YXNBbGlnblJpZ2h0IiwKICAgICAgICAgICAgICAiY2FudmFzQWxpZ25Ub3AiLAogICAgICAgICAgICAgICJjYW52YXNBbGlnbkJvdHRvbSIsCiAgICAgICAg", - "ICAgICAgImNhbnZhc0VxdWFsaXplV2lkdGhzIiwKICAgICAgICAgICAgICAiY2FudmFzRXF1YWxpemVIZWlnaHRzIiwKICAgICAgICAgICAgICAiY2FudmFz", - "RGlzdHJpYnV0ZUhvcml6b250YWxseSIsCiAgICAgICAgICAgICAgImNhbnZhc0Rpc3RyaWJ1dGVWZXJ0aWNhbGx5IiwKICAgICAgICAgICAgICAidG9nZ2xl", - "RmlsZUV4cGxvcmVyIiwKICAgICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlvbiIsCiAgICAgICAgICAgICAgImZpbGVFeHBsb3Jlck9wZW5T", - "ZWxlY3Rpb25GaW5kZXJBbGlhcyIsCiAgICAgICAgICAgICAgInNhdmVGaWxlUHJldmlldyIsCiAgICAgICAgICAgICAgIm9wZW5Ccm93c2VyIiwKICAgICAg", - "ICAgICAgICAiZm9jdXNCcm93c2VyQWRkcmVzc0JhciIsCiAgICAgICAgICAgICAgImJyb3dzZXJCYWNrIiwKICAgICAgICAgICAgICAiYnJvd3NlckZvcndh", - "cmQiLAogICAgICAgICAgICAgICJicm93c2VyUmVsb2FkIiwKICAgICAgICAgICAgICAiYnJvd3NlckhhcmRSZWxvYWQiLAogICAgICAgICAgICAgICJicm93", - "c2VyWm9vbUluIiwKICAgICAgICAgICAgICAiYnJvd3Nlclpvb21PdXQiLAogICAgICAgICAgICAgICJicm93c2VyWm9vbVJlc2V0IiwKICAgICAgICAgICAg", - "ICAibWFya2Rvd25ab29tSW4iLAogICAgICAgICAgICAgICJtYXJrZG93blpvb21PdXQiLAogICAgICAgICAgICAgICJtYXJrZG93blpvb21SZXNldCIsCiAg", - "ICAgICAgICAgICAgImZpbmQiLAogICAgICAgICAgICAgICJmaW5kSW5EaXJlY3RvcnkiLAogICAgICAgICAgICAgICJmaW5kTmV4dCIsCiAgICAgICAgICAg", - "ICAgImZpbmRQcmV2aW91cyIsCiAgICAgICAgICAgICAgImhpZGVGaW5kIiwKICAgICAgICAgICAgICAidXNlU2VsZWN0aW9uRm9yRmluZCIsCiAgICAgICAg", - "ICAgICAgInRvZ2dsZUJyb3dzZXJEZXZlbG9wZXJUb29scyIsCiAgICAgICAgICAgICAgInNob3dCcm93c2VySmF2YVNjcmlwdENvbnNvbGUiLAogICAgICAg", - "ICAgICAgICJ0b2dnbGVCcm93c2VyRm9jdXNNb2RlIiwKICAgICAgICAgICAgICAidG9nZ2xlQnJvd3NlckRlc2lnbk1vZGUiLAogICAgICAgICAgICAgICJ0", - "b2dnbGVSZWFjdEdyYWIiLAogICAgICAgICAgICAgICJvcGVuRGlmZlZpZXdlciIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxEb3duIiwKICAg", - "ICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbEhhbGZQYWdlRG93biIsCiAgICAgICAgICAg", - "ICAgImRpZmZWaWV3ZXJTY3JvbGxIYWxmUGFnZVVwIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbERvd25FbWFjcyIsCiAgICAgICAgICAgICAg", - "ImRpZmZWaWV3ZXJTY3JvbGxVcEVtYWNzIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFRvQm90dG9tIiwKICAgICAgICAgICAgICAiZGlmZlZp", - "ZXdlclNjcm9sbFRvVG9wIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlck9wZW5GaWxlU2VhcmNoIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlck5leHRG", - "aWxlIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclByZXZpb3VzRmlsZSIKICAgICAgICAgICAgXQogICAgICAgICAgfSwKICAgICAgICAgICJwcm9wZXJ0", - "aWVzIjogewogICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlvbiI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3NpbmdsZUJh", - "cmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlv", - "bkZpbmRlckFsaWFzIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFi", - "bGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsRG93biI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2Jh", - "cmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwIjogewog", - "ICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAg", - "ICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VEb3duIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hv", - "cnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VVcCI6IHsKICAgICAgICAg", - "ICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAi", - "ZGlmZlZpZXdlclNjcm9sbERvd25FbWFjcyI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGlu", - "Z051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwRW1hY3MiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAi", - "Iy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3Jv", - "bGxUb0JvdHRvbSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAg", - "ICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFRvVG9wIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0", - "U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyT3BlbkZpbGVTZWFyY2giOiB7CiAg", - "ICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAg", - "ICAgICAgImRpZmZWaWV3ZXJOZXh0RmlsZSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGlu", - "Z051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclByZXZpb3VzRmlsZSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIj", - "LyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgImFkZGl0", - "aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgfQogICAg", - "ICAgIH0sCiAgICAgICAgIndoZW4iOiB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAgICAgICJk", - "ZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBwZXItYWN0aW9uIGNvbnRleHQgcHJlZGljYXRlcyAoVlMgQ29kZS1zdHlsZSBgd2hlbmAgY2xhdXNlcyksIGtleWVk", - "IGJ5IGNtdXggYWN0aW9uIGlkLiBFYWNoIHZhbHVlIGlzIGEgYm9vbGVhbiBleHByZXNzaW9uIG92ZXIgY29udGV4dCBrZXlzIGNvbWJpbmVkIHdpdGggISwg", - "JiYsIHx8LCBhbmQgcGFyZW50aGVzZXMuIEJvb2xlYW4ga2V5czogc2lkZWJhckZvY3VzLCBicm93c2VyRm9jdXMsIG1hcmtkb3duRm9jdXMsIGZpbGVQcmV2", - "aWV3VGV4dEVkaXRvckZvY3VzLCBzaW11bGF0b3JGb2N1cywgdGVybWluYWxGb2N1cywgY29tbWFuZFBhbGV0dGVWaXNpYmxlLCB0ZXJtaW5hbEZpbmRWaXNp", - "YmxlLCB3b3Jrc3BhY2VDYW52YXNMYXlvdXQuIFR5cGVkIGtleXMgc3VwcG9ydCBjb21wYXJpc29uczogdGhlIHN0cmluZyBzaWRlYmFyTW9kZSAoZmlsZXMs", - "IGZpbmQsIHNlc3Npb25zLCBmZWVkLCBvciBkb2NrKSBhbmQgdGhlIGludGVnZXJzIHBhbmVDb3VudCBhbmQgd29ya3NwYWNlQ291bnQuIENvbXBhcmlzb24g", - "b3BlcmF0b3JzIGFyZSA9PSwgIT0sID1+IChyZWdleCksIDwsIDw9LCA+LCA+PSwgYW5kIGBpbiBbYSwgYl1gOyBhbiB1bmtub3duIG9yIGFic2VudCBrZXkg", - "cmVhZHMgYXMgZmFsc2UuIFRoZSBib29sZWFuIGxpdGVyYWxzIHRydWUgYW5kIGZhbHNlIGFyZSBhbHNvIGFjY2VwdGVkOyBga2V5ID09IGZhbHNlYCBpcyB0", - "aGUgc2FtZSBhcyBgIWtleWAuIFRoZSBhY3Rpb24ncyBzaG9ydGN1dCBvbmx5IGZpcmVzIChhbmQgb25seSBjb25mbGljdHMgd2l0aCBvdGhlciBzaG9ydGN1", - "dHMpIHdoZW4gdGhlIGNsYXVzZSBob2xkcy4gRXhhbXBsZXM6IHsgXCJzZWxlY3RXb3Jrc3BhY2VCeU51bWJlclwiOiBcIiFzaWRlYmFyRm9jdXNcIiB9IHNl", - "bGVjdHMgd29ya3NwYWNlcyB3aXRoIEN0cmwrMeKAkzkgZXZlcnl3aGVyZSBleGNlcHQgd2hlbiB0aGUgcmlnaHQgc2lkZWJhciBpcyBmb2N1c2VkOyB7IFwi", - "c2VsZWN0U3VyZmFjZUJ5TnVtYmVyXCI6IFwic2lkZWJhck1vZGUgPT0gJ2ZpbmQnICYmIHBhbmVDb3VudCA+IDFcIiB9IHNjb3BlcyBhIGJpbmRpbmcgdG8g", - "dGhlIEZpbmQgc2lkZWJhciB3aGVuIHRoZSB3b3Jrc3BhY2UgaGFzIG11bHRpcGxlIHBhbmVzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2No", - "ZW1hRGVzY3JpcHRpb25zLnNob3J0Y3V0cy53aGVuIiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAi", - "c3RyaW5nIgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0sCiAgIiRkZWZzIjogewogICAgImNvbG9ySGV4IjogewogICAgICAidHlw", - "ZSI6ICJzdHJpbmciLAogICAgICAicGF0dGVybiI6ICJeI1swLTlBLUZhLWZdezZ9JCIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJVcHBlcmNhc2Ugb3IgbG93", - "ZXJjYXNlIDYtZGlnaXQgaGV4IGNvbG9yLiIKICAgIH0sCiAgICAiY29sb3JIZXhPck51bGwiOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAg", - "ICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIKICAgICAgICB9CiAg", - "ICAgIF0KICAgIH0sCiAgICAibm90aWZpY2F0aW9uU291bmRPdmVycmlkZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICJ0eXBl", - "IjogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJyZXF1aXJlZCI6IFsic291bmQiXSwKICAg", - "ICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAic291bmQiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAg", - "ICAiZW51bSI6IFsiZGVmYXVsdCIsICJCYXNzbyIsICJCbG93IiwgIkJvdHRsZSIsICJGcm9nIiwgIkZ1bmsiLCAiR2xhc3MiLCAiSGVybyIsICJNb3JzZSIs", - "ICJQaW5nIiwgIlBvcCIsICJQdXJyIiwgIlNvc3VtaSIsICJTdWJtYXJpbmUiLCAiVGluayIsICJub25lIl0KICAgICAgICAgICAgfQogICAgICAgICAgfQog", - "ICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAog", - "ICAgICAgICAgInJlcXVpcmVkIjogWyJzb3VuZCIsICJjdXN0b21Tb3VuZEZpbGVQYXRoIl0sCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAg", - "ICAgInNvdW5kIjogeyAiY29uc3QiOiAiY3VzdG9tX2ZpbGUiIH0sCiAgICAgICAgICAgICJjdXN0b21Tb3VuZEZpbGVQYXRoIjogewogICAgICAgICAgICAg", - "ICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiLipcXFMuKiIKICAgICAg", - "ICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgXSwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmlj", - "YXRpb25zLnNvdW5kT3ZlcnJpZGUiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQSBub3RpZmljYXRpb24gc291bmQgb3ZlcnJpZGUuIGBkZWZhdWx0YCB1c2Vz", - "IG5vdGlmaWNhdGlvbnMuc291bmQsIGBub25lYCBkaXNhYmxlcyBwbGF5YmFjaywgYW5kIHRoZSByZW1haW5pbmcgdmFsdWVzIHNlbGVjdCBhIGJ1aWx0LWlu", - "IG9yIGN1c3RvbSBzb3VuZC4iCiAgICB9LAogICAgInNob3J0Y3V0QmluZGluZyI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIk", - "cmVmIjogIiMvJGRlZnMvdW5ib3VuZFNob3J0Y3V0QmluZGluZyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIEFj", - "Y2VwdGVkIHZhbHVlcyBhcmUgYW4gZW1wdHkgc3RyaW5nLCBub25lLCBjbGVhciwgdW5ib3VuZCwgb3IgZGlzYWJsZWQuIgogICAgICAgIH0sCiAgICAgICAg", - "ewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dEZpcnN0U3Ryb2tlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaW5nbGUtc3Ryb2tl", - "IHNob3J0Y3V0LCBmb3IgZXhhbXBsZSBjbWQrbiBvciBjbWQrc3BhY2UuIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAiYXJyYXki", - "LAogICAgICAgICAgIm1pbkl0ZW1zIjogMSwKICAgICAgICAgICJtYXhJdGVtcyI6IDIsCiAgICAgICAgICAicHJlZml4SXRlbXMiOiBbCiAgICAgICAgICAg", - "IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0Rmlyc3RTdHJva2UiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAg", - "ICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9u", - "IjogIkNob3JkZWQgc2hvcnRjdXQuIEV4YW1wbGU6IFtcImN0cmwrYlwiLCBcImNcIl0uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaG9ydGN1", - "dEJpbmRpbmdOdWxsYWJsZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRCaW5kaW5n", - "IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hv", - "cnRjdXQuIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVP", - "ZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3VuYm91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9u", - "IjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMgYXJlIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRp", - "c2FibGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9r", - "ZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2luZ2xlLXN0cm9rZSBzaG9ydGN1dC4gQmFyZSBmaXJzdCBzdHJva2VzIGFyZSBhY2NlcHRlZCBmb3Ig", - "dGhpcyBhY3Rpb24uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSI6", - "IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5k", - "aW5nIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMg", - "c2hvcnRjdXQuIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJiYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVPZiI6", - "IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3VuYm91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", - "IlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMgYXJlIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2Fi", - "bGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9rZSIs", - "CiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2luZ2xlLXN0cm9rZSBzaG9ydGN1dC4gQmFyZSBmaXJzdCBzdHJva2VzIGFyZSBhY2NlcHRlZCBmb3IgdGhp", - "cyBhY3Rpb24uIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIm1pbkl0ZW1zIjogMSwKICAgICAg", - "ICAgICJtYXhJdGVtcyI6IDIsCiAgICAgICAgICAicHJlZml4SXRlbXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZz", - "L2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0Rmlyc3RTdHJva2UiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIj", - "LyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNob3JkZWQgc2hvcnRj", - "dXQuIEJhcmUgZmlyc3Qgc3Ryb2tlcyBhcmUgYWNjZXB0ZWQgZm9yIHRoaXMgYWN0aW9uLiBFeGFtcGxlOiBbXCJnXCIsIFwiZ1wiXS4iCiAgICAgICAgfQog", - "ICAgICBdCiAgICB9LAogICAgImJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIjogewogICAgICAib25lT2YiOiBbCiAgICAgICAgewog", - "ICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAi", - "dHlwZSI6ICJudWxsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmJpbmQgdGhpcyBzaG9ydGN1dC4iCiAgICAgICAgfQogICAgICBdCiAgICB9LAog", - "ICAgInVuYm91bmRTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICJlbnVtIjogWyIiLCAibm9uZSIsICJjbGVhciIs", - "ICJ1bmJvdW5kIiwgImRpc2FibGVkIl0KICAgIH0sCiAgICAic2hvcnRjdXRGaXJzdFN0cm9rZSI6IHsKICAgICAgImFsbE9mIjogWwogICAgICAgIHsKICAg", - "ICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRTdHJva2UiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYW55T2YiOiBbCiAgICAgICAg", - "ICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86KD86W2NDXVttTV1bZERdfFtjQ11bb09dW21NXVttTV1bYUFdW25OXVtkRF18W3NTXVtoSF1b", - "aUldW2ZGXVt0VF18W29PXVtwUF1bdFRdfFtvT11bcFBdW3RUXVtpSV1bb09dW25OXXxbYUFdW2xMXVt0VF18W2NDXVt0VF1bclJdW2xMXXxbY0NdW29PXVtu", - "Tl1bdFRdW3JSXVtvT11bbExdfFtjQ11bdFRdW2xMXXzijJh84oenfOKMpXzijIMpXFwrKSsiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAg", - "ICAgICAgICAicGF0dGVybiI6ICJeKD86IHxbc1NdW3BQXVthQV1bY0NdW2VFXXxbc1NdW3BQXVthQV1bY0NdW2VFXVtiQl1bYUFdW3JSXXw8W3NTXVtwUF1b", - "YUFdW2NDXVtlRV0+KSQiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBv", - "ciBvbmx5IHNob3J0Y3V0IHN0cm9rZS4gTXVzdCBpbmNsdWRlIGEgbW9kaWZpZXIgdW5sZXNzIHRoZSBrZXkgaXMgU3BhY2UuIgogICAgfSwKICAgICJiYXJl", - "Rmlyc3RTdHJva2VTaG9ydGN1dEZpcnN0U3Ryb2tlIjogewogICAgICAiYWxsT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9z", - "aG9ydGN1dFN0cm9rZSIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0", - "ZXJuIjogIl4oPzooPzpbY0NdW21NXVtkRF18W2NDXVtvT11bbU1dW21NXVthQV1bbk5dW2REXXxbc1NdW2hIXVtpSV1bZkZdW3RUXXxbb09dW3BQXVt0VF18", - "W29PXVtwUF1bdFRdW2lJXVtvT11bbk5dfFthQV1bbExdW3RUXXxbY0NdW3RUXVtyUl1bbExdfFtjQ11bb09dW25OXVt0VF1bclJdW29PXVtsTF18W2NDXVt0", - "VF1bbExdfOKMmHzih6d84oylfOKMgylcXCspKyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzog", - "fFtzU11bcFBdW2FBXVtjQ11bZUVdfFtzU11bcFBdW2FBXVtjQ11bZUVdW2JCXVthQV1bclJdfDxbc1NdW3BQXVthQV1bY0NdW2VFXT4pJCIKICAgICAgICAg", - "ICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzpbclJdW2VFXVt0VF1bdVVdW3JSXVtuTl18W2VFXVtuTl1bdFRdW2VF", - "XVtyUl184oapKSQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86W2xMXVtlRV1bZkZdW3RUXXxb", - "YUFdW3JSXVtyUl1bb09dW3dXXVtsTF1bZUVdW2ZGXVt0VF18W2xMXVtlRV1bZkZdW3RUXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkHxbclJdW2lJXVtnR11b", - "aEhdW3RUXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtyUl1baUldW2dHXVtoSF1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2FBXVtyUl1bclJdW29PXVt3V118", - "4oaSfFt1VV1bcFBdfFthQV1bclJdW3JSXVtvT11bd1ddW3VVXVtwUF18W3VVXVtwUF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpF8W2REXVtvT11bd1ddW25O", - "XXxbYUFdW3JSXVtyUl1bb09dW3dXXVtkRF1bb09dW3dXXVtuTl18W2REXVtvT11bd1ddW25OXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkykkIgogICAgICAg", - "ICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXig/OltBLVphLXowLTldfFssLi9cXFxcOydgPVxcW1xcXS1dfFtjQ11b", - "b09dW21NXVttTV1bYUFdfFtwUF1bZUVdW3JSXVtpSV1bb09dW2REXXxbZERdW29PXVt0VF18W3NTXVtsTF1bYUFdW3NTXVtoSF18W2JCXVthQV1bY0NdW2tL", - "XVtzU11bbExdW2FBXVtzU11baEhdfFtzU11bZUVdW21NXVtpSV1bY0NdW29PXVtsTF1bb09dW25OXXxbcVFdW3VVXVtvT11bdFRdW2VFXXxbYUFdW3BQXVtv", - "T11bc1NdW3RUXVtyUl1bb09dW3BQXVtoSF1bZUVdfFtiQl1bYUFdW2NDXVtrS11bdFRdW2lJXVtjQ11ba0tdfFtnR11bclJdW2FBXVt2Vl1bZUVdfFttTV1b", - "aUldW25OXVt1VV1bc1NdfFtoSF1beVldW3BQXVtoSF1bZUVdW25OXXxbcFBdW2xMXVt1VV1bc1NdfFtlRV1bcVFdW3VVXVthQV1bbExdW3NTXXxbbExdW2VF", - "XVtmRl1bdFRdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbb09dW3BQXVtlRV1bbk5dW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbclJdW2lJ", - "XVtnR11baEhdW3RUXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W2NDXVtsTF1bb09dW3NTXVtlRV1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRd", - "KSQiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBvciBvbmx5IHNob3J0", - "Y3V0IHN0cm9rZS4gQmFyZSBwcmludGFibGUga2V5cyBhcmUgYWNjZXB0ZWQgZm9yIGFjdGlvbnMgdGhhdCBvcHQgaW50byBiYXJlIGZpcnN0IHN0cm9rZXMu", - "IgogICAgfSwKICAgICJzaG9ydGN1dFN0cm9rZSI6IHsKICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgInBhdHRlcm4iOiAiXig/Oig/OltjQ11bbU1d", - "W2REXXxbY0NdW29PXVttTV1bbU1dW2FBXVtuTl1bZERdfFtzU11baEhdW2lJXVtmRl1bdFRdfFtvT11bcFBdW3RUXXxbb09dW3BQXVt0VF1baUldW29PXVtu", - "Tl18W2FBXVtsTF1bdFRdfFtjQ11bdFRdW3JSXVtsTF18W2NDXVtvT11bbk5dW3RUXVtyUl1bb09dW2xMXXxbY0NdW3RUXVtsTF184oyYfOKHp3zijKV84oyD", - "KVxcKykqKD86IHxbQS1aYS16MC05XXxbbExdW2VFXVtmRl1bdFRdfFthQV1bclJdW3JSXVtvT11bd1ddW2xMXVtlRV1bZkZdW3RUXXxbbExdW2VFXVtmRl1b", - "dFRdW2FBXVtyUl1bclJdW29PXVt3V1184oaQfFtyUl1baUldW2dHXVtoSF1bdFRdfFthQV1bclJdW3JSXVtvT11bd1ddW3JSXVtpSV1bZ0ddW2hIXVt0VF18", - "W3JSXVtpSV1bZ0ddW2hIXVt0VF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpJ8W3VVXVtwUF18W2FBXVtyUl1bclJdW29PXVt3V11bdVVdW3BQXXxbdVVdW3BQ", - "XVthQV1bclJdW3JSXVtvT11bd1ddfOKGkXxbZERdW29PXVt3V11bbk5dfFthQV1bclJdW3JSXVtvT11bd1ddW2REXVtvT11bd1ddW25OXXxbZERdW29PXVt3", - "V11bbk5dW2FBXVtyUl1bclJdW29PXVt3V1184oaTfFt0VF1bYUFdW2JCXXxbclJdW2VFXVt0VF1bdVVdW3JSXVtuTl18W2VFXVtuTl1bdFRdW2VFXVtyUl18", - "4oapfFtzU11bcFBdW2FBXVtjQ11bZUVdfFtzU11bcFBdW2FBXVtjQ11bZUVdW2JCXVthQV1bclJdfDxbc1NdW3BQXVthQV1bY0NdW2VFXT58WywuL1xcXFw7", - "J2A9XFxbXFxdLV18W2NDXVtvT11bbU1dW21NXVthQV18W3BQXVtlRV1bclJdW2lJXVtvT11bZERdfFtkRF1bb09dW3RUXXxbc1NdW2xMXVthQV1bc1NdW2hI", - "XXxbYkJdW2FBXVtjQ11ba0tdW3NTXVtsTF1bYUFdW3NTXVtoSF18W3NTXVtlRV1bbU1dW2lJXVtjQ11bb09dW2xMXVtvT11bbk5dfFtxUV1bdVVdW29PXVt0", - "VF1bZUVdfFthQV1bcFBdW29PXVtzU11bdFRdW3JSXVtvT11bcFBdW2hIXVtlRV18W2JCXVthQV1bY0NdW2tLXVt0VF1baUldW2NDXVtrS118W2dHXVtyUl1b", - "YUFdW3ZWXVtlRV18W21NXVtpSV1bbk5dW3VVXVtzU118W2hIXVt5WV1bcFBdW2hIXVtlRV1bbk5dfFtwUF1bbExdW3VVXVtzU118W2VFXVtxUV1bdVVdW2FB", - "XVtsTF1bc1NdfFtsTF1bZUVdW2ZGXVt0VF1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtvT11bcFBdW2VFXVtuTl1bYkJdW3JSXVthQV1bY0NdW2tL", - "XVtlRV1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbY0NdW2xMXVtvT11bc1NdW2VFXVtiQl1bclJdW2FB", - "XVtjQ11ba0tdW2VFXVt0VF18W2ZGXSg/OlsxLTldfDFbMC05XXwyMCl8W3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJ", - "XVthQV1bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bdVVdW3BQXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLlt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVt1VV1b", - "cFBdfFt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVtkRF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1b", - "ZERdW29PXVt3V11bbk5dfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW2REXVtvT11bd1ddW25OXXxbYkJdW3JSXVtp", - "SV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VF", - "XVtzU11bc1NdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18", - "W2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVtkRF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1bYkJdW3JSXVtpSV1b", - "Z0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW2REXVtvT11bd1ddW25OXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltiQl1bclJdW2lJXVtnR11baEhdW3RU", - "XVtuTl1bZUVdW3NTXVtzU11bZERdW29PXVt3V11bbk5dfFttTV1bdVVdW3RUXVtlRV18W21NXVtlRV1bZERdW2lJXVthQV1bbU1dW3VVXVt0VF1bZUVdfFtt", - "TV1bZUVdW2REXVtpSV1bYUFdXFwuW21NXVt1VV1bdFRdW2VFXXxbcFBdW2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18W21NXVtlRV1bZERdW2lJ", - "XVthQV1bcFBdW2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bcFBdW2xMXVthQV1beVldW3BQXVthQV1b", - "dVVdW3NTXVtlRV18W25OXVtlRV1beFhdW3RUXVt0VF1bclJdW2FBXVtjQ11ba0tdfFttTV1bZUVdW2REXVtpSV1bYUFdW25OXVtlRV1beFhdW3RUXXxbbU1d", - "W2VFXVtkRF1baUldW2FBXVxcLltuTl1bZUVdW3hYXVt0VF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bbk5dW2VFXVt4WF1bdFRdW3RUXVtyUl1bYUFdW2ND", - "XVtrS118W3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU11bdFRdW3JSXVthQV1bY0NdW2tLXXxbbU1dW2VFXVtkRF1baUldW2FBXVtwUF1bclJdW2VF", - "XVt2Vl1baUldW29PXVt1VV1bc1NdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU118W21NXVtlRV1bZERd", - "W2lJXVthQV1cXC5bcFBdW3JSXVtlRV1bdlZdW2lJXVtvT11bdVVdW3NTXVt0VF1bclJdW2FBXVtjQ11ba0tdKSQiLAogICAgICAiZGVzY3JpcHRpb24iOiAi", - "T25lIGtleWJvYXJkIHNob3J0Y3V0IHN0cm9rZSB1c2luZyBtb2RpZmllcitrZXkgc3ludGF4LiBTdXBwb3J0ZWQga2V5IG5hbWVzIGluY2x1ZGUgc3BhY2Us", - "IFNwYWNlLCA8c3BhY2U+LCBhbmQgPFNwYWNlPi4iCiAgICB9CiAgfQp9Cg==", - ].joined() - guard let data = Data(base64Encoded: base64) else { - preconditionFailure("embedded cmux.json schema is corrupt") - } - return data - }() -} From 857c57dc916b08710f7665c08f9985b00d0f7e2d Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:27:11 -0700 Subject: [PATCH 19/55] tests: cover shared semantic config validator --- .../CmuxConfigSemanticValidatorTests.swift | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 Packages/macOS/CmuxFoundation/Tests/CmuxFoundationTests/CmuxConfigSemanticValidatorTests.swift diff --git a/Packages/macOS/CmuxFoundation/Tests/CmuxFoundationTests/CmuxConfigSemanticValidatorTests.swift b/Packages/macOS/CmuxFoundation/Tests/CmuxFoundationTests/CmuxConfigSemanticValidatorTests.swift new file mode 100644 index 000000000000..42cf9a8e26be --- /dev/null +++ b/Packages/macOS/CmuxFoundation/Tests/CmuxFoundationTests/CmuxConfigSemanticValidatorTests.swift @@ -0,0 +1,79 @@ +import Foundation +import Testing +@testable import CmuxFoundation + +@Suite("cmux semantic config validation") +struct CmuxConfigSemanticValidatorTests { + private func issues( + _ object: Any, + scope: CmuxConfigSemanticScope = .global + ) throws -> [CmuxConfigSemanticIssue] { + let data = try JSONSerialization.data(withJSONObject: object, options: [.sortedKeys]) + return try CmuxConfigSemanticValidator(scope: scope).validate(jsonData: data) + } + + private func contains( + _ issues: [CmuxConfigSemanticIssue], + path: String, + message: String + ) -> Bool { + issues.contains { issue in + issue.path == path && issue.message.contains(message) + } + } + + @Test("accepts valid settings and preserved config sections") + func acceptsValidConfig() throws { + let result = try issues([ + "schemaVersion": 1, + "app": ["appearance": "dark"], + "fileEditor": ["tabWidth": 4], + "rightSidebar": ["width": 320], + ]) + #expect(result.isEmpty) + } + + @Test("reports unknown paths, types, enums, bounds, and nested constraints") + func reportsSemanticFailures() throws { + let cases: [(Any, String, String)] = [ + (["app": ["madeUpSetting": true]], "$.app.madeUpSetting", "unknown configuration key"), + (["notifications": ["dockBadge": "yes"]], "$.notifications.dockBadge", "expected boolean"), + (["app": ["appearance": "neon"]], "$.app.appearance", "must be one of"), + (["fileEditor": ["tabWidth": 0]], "$.fileEditor.tabWidth", "must be >= 1"), + (["agentChat": ["fonts": ["baseSize": 0]]], "$.agentChat.fonts.baseSize", "must be > 0"), + (["commands": "echo hello"], "$.commands", "expected array"), + ] + + for (object, path, message) in cases { + let result = try issues(object) + #expect(contains(result, path: path, message: message)) + } + } + + @Test("project scope rejects global settings while keeping project hooks legal") + func enforcesProjectScope() throws { + let globalOnly = try issues( + ["app": ["appearance": "system"]], + scope: .project + ) + #expect(contains(globalOnly, path: "$.app", message: "global cmux.json")) + + let hooks = try issues( + ["notifications": ["hooksMode": "replace", "hooks": []]], + scope: .project + ) + #expect(hooks.isEmpty) + + let workspacePlacement = try issues( + ["workspaceGroups": ["newWorkspacePlacement": "top"]], + scope: .project + ) + #expect( + contains( + workspacePlacement, + path: "$.workspaceGroups.newWorkspacePlacement", + message: "global cmux.json" + ) + ) + } +} From 12294f4dffe3ced9c85cb8d4d605c7c3e7e58664 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:27:26 -0700 Subject: [PATCH 20/55] config: polish shared validator implementation --- .../ConfigValidation/CmuxConfigSemanticValidator.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift index b19ed53e4020..4eff3858d2a6 100644 --- a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift @@ -19,7 +19,7 @@ public struct CmuxConfigSemanticIssue: Equatable, Sendable { /// Offline semantic validation for cmux.json. /// /// The constraint vocabulary lives in web/data/cmux.schema.json and is embedded -/// into the CLI by scripts/generate-cmux-config-schema.py. Keep validation here +/// into CmuxFoundation by scripts/generate-cmux-config-schema.py. Keep validation here /// generic: adding a setting constraint belongs in the schema, not in another /// command-specific lookup table. public struct CmuxConfigSemanticValidator { @@ -388,9 +388,9 @@ public struct CmuxConfigSemanticValidator { } if let left = lhs as? [String: Any], let right = rhs as? [String: Any] { guard Set(left.keys) == Set(right.keys) else { return false } - return left.allSatisfy { key, value in - guard let other = right[key] else { return false } - return jsonEqual(value, other) + return left.allSatisfy { entry in + guard let other = right[entry.key] else { return false } + return jsonEqual(entry.value, other) } } return false From 587a91dc7fbc976c5dd6d39698a13488a88dbcf6 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:28:35 -0700 Subject: [PATCH 21/55] settings helper: infer root project config scope --- skills/cmux-settings/scripts/cmux-settings | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/skills/cmux-settings/scripts/cmux-settings b/skills/cmux-settings/scripts/cmux-settings index fdd5bc66440d..4eebf1675df5 100755 --- a/skills/cmux-settings/scripts/cmux-settings +++ b/skills/cmux-settings/scripts/cmux-settings @@ -215,10 +215,11 @@ def semantic_scope_for(path: Path) -> str: global_paths = { DEFAULT_PATH.expanduser().resolve(), (Path.home() / ".config" / "cmux" / "settings.json").resolve(), + (Path.home() / "Library" / "Application Support" / "com.cmuxterm.app" / "settings.json").resolve(), } if resolved in global_paths: return "global" - if resolved.parent.name == ".cmux": + if resolved.parent.name == ".cmux" or resolved.name == "cmux.json": return "project" return "global" From b0a6044da9c9852ca2507ac6ce692d6b991628f5 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:30:15 -0700 Subject: [PATCH 22/55] docs: describe project config semantic scope --- web/data/cmux.schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/data/cmux.schema.json b/web/data/cmux.schema.json index 88ba18d0ae62..f282950acd6a 100644 --- a/web/data/cmux.schema.json +++ b/web/data/cmux.schema.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/manaflow-ai/cmux/main/web/data/cmux.schema.json", "title": "cmux.json", - "description": "cmux configuration. Global cmux.json supports app settings, shortcuts, actions, custom commands, notification hooks, and workspace layouts. Project-local .cmux/cmux.json supports actions, commands, notification hooks, and UI action wiring.", + "description": "cmux configuration. Global cmux.json supports app settings, shortcuts, actions, custom commands, notification hooks, and workspace layouts. Project-local .cmux/cmux.json or cmux.json supports actions, commands, notification hooks, UI action wiring, Agent Chat overrides, vault agents, workspace-group overrides, and workspace launch/button configuration.", "type": "object", "additionalProperties": false, "properties": { From 6bb088210e5ac1743c4bdb93df30a6b550ed9501 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:30:30 -0700 Subject: [PATCH 23/55] config: format schema generator path --- scripts/generate-cmux-config-schema.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/scripts/generate-cmux-config-schema.py b/scripts/generate-cmux-config-schema.py index 51d0340e9943..2fd15780fda8 100644 --- a/scripts/generate-cmux-config-schema.py +++ b/scripts/generate-cmux-config-schema.py @@ -9,7 +9,16 @@ ROOT = Path(__file__).resolve().parents[1] SCHEMA = ROOT / "web" / "data" / "cmux.schema.json" -OUTPUT = ROOT / "Packages" / "macOS" / "CmuxFoundation" / "Sources" / "CmuxFoundation" / "ConfigValidation" / "CmuxConfigSchema.generated.swift" +OUTPUT = ( + ROOT + / "Packages" + / "macOS" + / "CmuxFoundation" + / "Sources" + / "CmuxFoundation" + / "ConfigValidation" + / "CmuxConfigSchema.generated.swift" +) def generated_source() -> str: From a809bd62171880330115a1458139c27eb9820a42 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:30:39 -0700 Subject: [PATCH 24/55] tests: verify helper validation delegates semantically --- tests/test_cli_config_doctor.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/test_cli_config_doctor.py b/tests/test_cli_config_doctor.py index 423cc53909ea..b472344a719c 100644 --- a/tests/test_cli_config_doctor.py +++ b/tests/test_cli_config_doctor.py @@ -320,6 +320,26 @@ def main() -> int: + helper_result.stderr ) + config_path.write_text( + json.dumps({"app": {"appearance": "neon"}}) + "\n", + encoding="utf-8", + ) + helper_validate_result = subprocess.run( + [sys.executable, str(helper), "--file", str(config_path), "validate"], + text=True, + capture_output=True, + env=helper_env, + timeout=5, + check=False, + ) + if helper_validate_result.returncode == 0: + failures.append("cmux-settings validate accepted an invalid enum value") + if "$.app.appearance" not in helper_validate_result.stderr: + failures.append( + "cmux-settings validate did not report the config path: " + + helper_validate_result.stderr + ) + config_path.write_text( """ { From eda0bea872f9c268dcb2d2b26b6e1df8791113ca Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:30:49 -0700 Subject: [PATCH 25/55] config validation: cover schema pattern and multiple constraints --- .../CmuxConfigSemanticValidator.swift | 33 ++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift index 4eff3858d2a6..fa5ecfcf2942 100644 --- a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift @@ -206,6 +206,19 @@ public struct CmuxConfigSemanticValidator { if let maximum = schemaNumber(schema["exclusiveMaximum"]), value >= maximum { issues.append(CmuxConfigSemanticIssue(path: path, message: "must be < \(formatNumber(maximum))")) } + if let multiple = schemaNumber(schema["multipleOf"]), multiple > 0 { + let quotient = value / multiple + let distance = abs(quotient - quotient.rounded()) + let tolerance = 1e-10 * max(1, abs(quotient)) + if distance > tolerance { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: "must be a multiple of \(formatNumber(multiple))" + ) + ) + } + } return issues } @@ -254,23 +267,35 @@ public struct CmuxConfigSemanticValidator { } let properties = schema["properties"] as? [String: Any] ?? [:] + let patternProperties = schema["patternProperties"] as? [String: Any] ?? [:] let propertyNameSchema = schema["propertyNames"] as? [String: Any] let additional = schema["additionalProperties"] for key in value.keys.sorted() { let child = childPath(path, key: key) + guard let childValue = value[key] else { continue } if let propertyNameSchema { issues.append(contentsOf: validate(key, against: propertyNameSchema, path: child)) } - if let propertySchema = properties[key] as? [String: Any], - let childValue = value[key] { + + var matchedPropertySchema = false + if let propertySchema = properties[key] as? [String: Any] { issues.append(contentsOf: validate(childValue, against: propertySchema, path: child)) + matchedPropertySchema = true + } + for pattern in patternProperties.keys.sorted() + where matchesPattern(key, pattern: pattern) { + guard let patternSchema = patternProperties[pattern] as? [String: Any] else { continue } + issues.append(contentsOf: validate(childValue, against: patternSchema, path: child)) + matchedPropertySchema = true + } + if matchedPropertySchema { continue } + if let allowed = additional as? Bool, !allowed { issues.append(CmuxConfigSemanticIssue(path: child, message: "unknown configuration key")) - } else if let additionalSchema = additional as? [String: Any], - let childValue = value[key] { + } else if let additionalSchema = additional as? [String: Any] { issues.append(contentsOf: validate(childValue, against: additionalSchema, path: child)) } } From a82921fc43195fa534fbd35a9cf59cae4fa0f65b Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:31:19 -0700 Subject: [PATCH 26/55] tests: cover remaining config schema keywords --- .../CmuxConfigSemanticValidatorTests.swift | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/Packages/macOS/CmuxFoundation/Tests/CmuxFoundationTests/CmuxConfigSemanticValidatorTests.swift b/Packages/macOS/CmuxFoundation/Tests/CmuxFoundationTests/CmuxConfigSemanticValidatorTests.swift index 42cf9a8e26be..4ae8431d6e3a 100644 --- a/Packages/macOS/CmuxFoundation/Tests/CmuxFoundationTests/CmuxConfigSemanticValidatorTests.swift +++ b/Packages/macOS/CmuxFoundation/Tests/CmuxFoundationTests/CmuxConfigSemanticValidatorTests.swift @@ -50,6 +50,48 @@ struct CmuxConfigSemanticValidatorTests { } } + @Test("enforces multiple and pattern-property constraints") + func enforcesRemainingSchemaKeywords() throws { + let invalidMagnification = try issues( + ["app": ["globalFontMagnification": 105]] + ) + #expect( + contains( + invalidMagnification, + path: "$.app.globalFontMagnification", + message: "multiple of 10" + ) + ) + + let validOverrides = try issues([ + "notifications": [ + "soundOverrides": [ + "codex": [ + "turnDone": ["sound": "Ping"], + ], + ], + ], + ]) + #expect(validOverrides.isEmpty) + + let invalidOverride = try issues([ + "notifications": [ + "soundOverrides": [ + "codex": [ + "turnDone": ["sound": "laser"], + ], + ], + ], + ]) + #expect( + contains( + invalidOverride, + path: "$.notifications.soundOverrides.codex.turnDone.sound", + message: "must be one of" + ) + ) + } + @Test("project scope rejects global settings while keeping project hooks legal") func enforcesProjectScope() throws { let globalOnly = try issues( From 9b0da160a07e69d46fc229a1285ade0cc14885b3 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:31:33 -0700 Subject: [PATCH 27/55] config: regenerate embedded semantic schema --- .../CmuxConfigSchema.generated.swift | 2069 +++++++++-------- 1 file changed, 1035 insertions(+), 1034 deletions(-) diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift index 98a27a2a1860..2e9c6da9dcaf 100644 --- a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift @@ -10,1049 +10,1050 @@ enum CmuxEmbeddedConfigSchema { "YnVzZXJjb250ZW50LmNvbS9tYW5hZmxvdy1haS9jbXV4L21haW4vd2ViL2RhdGEvY211eC5zY2hlbWEuanNvbiIsCiAgInRpdGxlIjogImNtdXguanNvbiIs", "CiAgImRlc2NyaXB0aW9uIjogImNtdXggY29uZmlndXJhdGlvbi4gR2xvYmFsIGNtdXguanNvbiBzdXBwb3J0cyBhcHAgc2V0dGluZ3MsIHNob3J0Y3V0cywg", "YWN0aW9ucywgY3VzdG9tIGNvbW1hbmRzLCBub3RpZmljYXRpb24gaG9va3MsIGFuZCB3b3Jrc3BhY2UgbGF5b3V0cy4gUHJvamVjdC1sb2NhbCAuY211eC9j", - "bXV4Lmpzb24gc3VwcG9ydHMgYWN0aW9ucywgY29tbWFuZHMsIG5vdGlmaWNhdGlvbiBob29rcywgYW5kIFVJIGFjdGlvbiB3aXJpbmcuIiwKICAidHlwZSI6", - "ICJvYmplY3QiLAogICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICJwcm9wZXJ0aWVzIjogewogICAgIiRzY2hlbWEiOiB7CiAgICAgICJ0eXBl", - "IjogInN0cmluZyIsCiAgICAgICJmb3JtYXQiOiAidXJpIiwKICAgICAgImRlZmF1bHQiOiAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21h", - "bmFmbG93LWFpL2NtdXgvbWFpbi93ZWIvZGF0YS9jbXV4LnNjaGVtYS5qc29uIiwKICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHNjaGVtYSBVUkwg", - "Zm9yIGVkaXRvciBjb21wbGV0aW9uIGFuZCB2YWxpZGF0aW9uLiIKICAgIH0sCiAgICAic2NoZW1hVmVyc2lvbiI6IHsKICAgICAgInR5cGUiOiAiaW50ZWdl", - "ciIsCiAgICAgICJtaW5pbXVtIjogMSwKICAgICAgImRlZmF1bHQiOiAxLAogICAgICAiZGVzY3JpcHRpb24iOiAiU2NoZW1hIHZlcnNpb24gZm9yIGZvcndh", - "cmQtY29tcGF0aWJsZSBtaWdyYXRpb25zLiBOZXdlciB2ZXJzaW9ucyBhcmUgcGFyc2VkIG9uIGEgYmVzdC1lZmZvcnQgYmFzaXMuIgogICAgfSwKICAgICJw", - "YW5lQm9yZGVyQ29sb3IiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleE9yTnVs", - "bCIsCiAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5wYW5lQm9yZGVyQ29sb3IiLAog", - "ICAgICAiZGVzY3JpcHRpb24iOiAiT3ZlcnJpZGUgdGhlIGNtdXggcGFuZSBkaXZpZGVyIGNvbG9yIGluIHNwbGl0IHdvcmtzcGFjZXMuIFRoaXMgYWZmZWN0", - "cyBjbXV4IHBhbmUgYm91bmRhcmllcywgbm90IEdob3N0dHkgaW50ZXJuYWwgc3BsaXRzLiIKICAgIH0sCiAgICAiYWN0aXZlUGFuZUJvcmRlckNvbG9yIjog", - "ewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAiZGVmYXVs", - "dCI6IG51bGwsCiAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWN0aXZlUGFuZUJvcmRlckNvbG9yIiwKICAgICAgImRlc2Ny", - "aXB0aW9uIjogIk9wdGlvbmFsIGJvcmRlciBjb2xvciBkcmF3biBhcm91bmQgdGhlIGZvY3VzZWQgY211eCBwYW5lIGluIHNwbGl0IHdvcmtzcGFjZXMuIgog", - "ICAgfSwKICAgICJhY3Rpb25zIjogewogICAgICAidGl0bGUiOiAiYWN0aW9ucyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJBY3Rpb24gcmVnaXN0cnkgdXNl", - "ZCBieSB0aGUgc3VyZmFjZSB0YWIgYmFyLCBDb21tYW5kIFBhbGV0dGUsIHNob3J0Y3V0cywgYW5kIHBsdXMtYnV0dG9uIG1lbnUuIEVhY2ggZW50cnkgc3Vw", - "cG9ydHMgdHlwZSBcImJ1aWx0aW5cIiwgXCJjb21tYW5kXCIsIFwiYWdlbnRcIiAoYW55IENMSSBhZ2VudCBuYW1lLCBlLmcuIGNsYXVkZSwgY29kZXgsIG9w", - "ZW5jb2RlLCBvciBhIGN1c3RvbSBiaW5hcnksIHdpdGggb3B0aW9uYWwgYXJncyksIFwid29ya3NwYWNlQ29tbWFuZFwiLCBvciBcIndvcmtzcGFjZVwiIChp", - "bmxpbmUgd29ya3NwYWNlIHdpdGggbmFtZS9jd2QvY29sb3IvZW52L3NldHVwL2xheW91dCwgcGx1cyBvcHRpb25hbCByZXN0YXJ0KS4gSW5saW5lIHdvcmtz", - "cGFjZSBlbnRyaWVzIGFyZSBhdXRvLW9mZmVyZWQgaW4gdGhlIG5ldy13b3Jrc3BhY2UgcGx1cy1idXR0b24gbWVudTsgc2V0IG5ld1dvcmtzcGFjZU1lbnUg", - "dHJ1ZS9mYWxzZSBvbiBhbnkgYWN0aW9uIHRvIG92ZXJyaWRlLiBcIlNhdmUgV29ya3NwYWNlIGFzIExheW91dFwiIGluIHRoZSBwbHVzLWJ1dHRvbiBtZW51", - "IHdyaXRlcyBlbnRyaWVzIGhlcmUuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZQogICAgfSwK", - "ICAgICJ1aSI6IHsKICAgICAgInRpdGxlIjogInVpIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlVJIGFjdGlvbiB3aXJpbmcsIGluY2x1ZGluZyBzdXJmYWNl", - "IHRhYiBiYXIgYnV0dG9ucyBhbmQgcGx1cy1idXR0b24gYmVoYXZpb3IuIFRoZSBwbHVzLWJ1dHRvbiBjb250ZXh0IG1lbnUgc2hvd3MgdWkubmV3V29ya3Nw", - "YWNlLmNvbnRleHRNZW51IChvciB0aGUgZGVmYXVsdCBpdGVtcykgZm9sbG93ZWQgYnkgYWN0aW9ucyB0aGF0IG9wdCBpbiB2aWEgbmV3V29ya3NwYWNlTWVu", - "dS4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlLAogICAgICAicHJvcGVydGllcyI6IHsKICAg", - "ICAgICAibmV3V29ya3NwYWNlIjogewogICAgICAgICAgInRpdGxlIjogIm5ld1dvcmtzcGFjZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTmV3IFdv", - "cmtzcGFjZSBidXR0b24gYmVoYXZpb3IgYW5kIGNvbnRleHQtbWVudSB3aXJpbmcuIiwKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAi", - "YWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJhY3Rpb24iOiB7CiAgICAgICAgICAg", - "ICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSUQgb2YgdGhlIGFjdGlvbiBydW4gYnkgcGxhaW4gTmV3IFdvcmtz", - "cGFjZS4gVGhpcyBpcyB0aGUgZGVmYXVsdCB3b3Jrc3BhY2UgbGF5b3V0OyBvbWl0IG9yIHJlbW92ZSBpdCBmb3IgTm9uZSAoQmxhbmsgVGVybWluYWwpLiBQ", - "cm9qZWN0LWxvY2FsIHVpLm5ld1dvcmtzcGFjZS5hY3Rpb24gd2lucyBvdmVyIHRoZSBnbG9iYWwgdmFsdWUuIgogICAgICAgICAgICB9CiAgICAgICAgICB9", - "CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImNvbW1hbmRzIjogewogICAgICAidGl0bGUiOiAiY29tbWFuZHMiLAogICAgICAiZGVzY3JpcHRpb24i", - "OiAiQ3VzdG9tIHNoZWxsIGNvbW1hbmRzIGFuZCB3b3Jrc3BhY2UgbGF5b3V0IGRlZmluaXRpb25zLiBXb3Jrc3BhY2UgZGVmaW5pdGlvbnMgc3VwcG9ydCBu", - "YW1lLCBjd2QsIGNvbG9yLCBlbnYsIGxheW91dCwgYW5kIHNldHVwIChhIGJvb3RzdHJhcCBjb21tYW5kIHNlbnQgdG8gdGhlIGZpcnN0IHRlcm1pbmFsIGJl", - "Zm9yZSBpdHMgb3duIGNvbW1hbmQpLiIsCiAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgIml0ZW1zIjogewogICAgICAgICJ0eXBlIjogIm9iamVjdCIs", - "CiAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZQogICAgICB9CiAgICB9LAogICAgImNvbXB1dGVyVXNlIjogewogICAgICAieC1jbXV4LXNj", - "b3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJjb21wdXRlclVzZSIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFs", - "UHJvcGVydGllcyI6IGZhbHNlLAogICAgICAiZGVzY3JpcHRpb24iOiAiTG9jYWwgY29tcHV0ZXItdXNlIHRvb2xzIGFuZCBtZW51LWJhciB2aXNpYmlsaXR5", - "LiIsCiAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuY29tcHV0ZXJVc2UuZGVzY3JpcHRpb24iLAogICAgICAicHJvcGVydGll", - "cyI6IHsKICAgICAgICAiZW5hYmxlZCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAg", - "ICAgImRlc2NyaXB0aW9uIjogIkFsbG93IHN1cHBvcnRlZCBhZ2VudCBsYXVuY2hlcyBpbiBjbXV4IHRlcm1pbmFscyB0byBhdHRhY2ggdGhlIGxvY2FsIGNv", - "bXB1dGVyLXVzZSB0b29scy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5jb21wdXRlclVzZS5lbmFibGVkIgog", - "ICAgICAgIH0sCiAgICAgICAgInNob3dJbk1lbnVCYXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1", - "ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGxpdmUgY29tcHV0ZXItdXNlIHNlc3Npb25zIGFuZCBmb2N1cyBhY3Rpb25zIGluIHRoZSBtZW51", - "IGJhci4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5jb21wdXRlclVzZS5zaG93SW5NZW51QmFyIgogICAgICAg", - "IH0KICAgICAgfQogICAgfSwKICAgICJhZ2VudENoYXQiOiB7CiAgICAgICJ0aXRsZSI6ICJhZ2VudENoYXQiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQWdl", - "bnQgQ2hhdCBHVUkgc2VydmVyIHNldHRpbmdzLiBUaGUgYnVpbHQtaW4gTmV3IGFnZW50IGNoYXQgYWN0aW9uIG9wZW5zIHRoaXMgVVJMIGluIGEgYnJvd3Nl", - "ciB3b3Jrc3BhY2UsIHByb2JpbmcgL2hlYWx0aHogZmlyc3QgYW5kIG9wdGlvbmFsbHkgc3RhcnRpbmcgdGhlIHNlcnZlciB3aXRoIHN0YXJ0Q29tbWFuZC4i", - "LAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5kZXNjcmlwdGlvbiIsCiAgICAgICJ0eXBlIjogIm9iamVj", - "dCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAidXJsIjogewogICAgICAgICAg", - "InR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJmb3JtYXQiOiAidXJpIiwKICAgICAgICAgICJwYXR0ZXJuIjogIl5odHRwcz86Ly8iLAogICAgICAgICAg", - "Im1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAiZGVmYXVsdCI6ICJodHRwOi8vMTI3LjAuMC4xOjc3MzkiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkJh", - "c2UgVVJMIGZvciB0aGUgbWFjaGluZS1sb2NhbCBBZ2VudCBDaGF0IEdVSSBzZXJ2ZXIuIGNtdXggcHJvYmVzIDx1cmw+L2hlYWx0aHogYmVmb3JlIG9wZW5p", - "bmcgdGhlIHdvcmtzcGFjZS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQudXJsIgogICAgICAg", - "IH0sCiAgICAgICAgInN0YXJ0Q29tbWFuZCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAg", - "ICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBzaGVsbCBjb21tYW5kIHRvIHN0YXJ0IHRoZSBBZ2VudCBDaGF0IHNlcnZlciB3aGVuIDx1cmw+L2hlYWx0", - "aHogaXMgdW5yZWFjaGFibGUuIGNtdXggcnVucyBpdCBkZXRhY2hlZCB3aXRoIHRoZSB1c2VyJ3MgU0hFTEwsIHBvbGxzIGhlYWx0aHogZm9yIGEgc2hvcnQg", - "Ym91bmRlZCB3aW5kb3csIHRoZW4gb3BlbnMgdGhlIHdvcmtzcGFjZSBlaXRoZXIgd2F5LiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1h", - "RGVzY3JpcHRpb25zLmFnZW50Q2hhdC5zdGFydENvbW1hbmQiCiAgICAgICAgfSwKICAgICAgICAia2V5cyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVj", - "dCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJLZXlib2FyZCBiZWhhdmlvciBv", - "dmVycmlkZXMgZm9yIHRoZSBBZ2VudCBDaGF0IHdlYiBVSS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2Vu", - "dENoYXQua2V5cy5kZXNjcmlwdGlvbiIsCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImN0cmxKIjogewogICAgICAgICAgICAgICJ0", - "eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgImVudW0iOiBbIm5ld2xpbmUiLCAibWVudSJdLAogICAgICAgICAgICAgICJkZWZhdWx0IjogIm5ld2xp", - "bmUiLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJCZWhhdmlvciBmb3IgQ3RybCtKIGluIEFnZW50IENoYXQgdGV4dCBmaWVsZHMuIFVzZSBuZXds", - "aW5lIHRvIGluc2VydCBhIGxpbmUgYnJlYWssIG9yIG1lbnUgdG8gbW92ZSB0byB0aGUgbmV4dCBwb3B1cCBpdGVtIHdoaWxlIGEgbWVudSBpcyBvcGVuLiIs", - "CiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQua2V5cy5jdHJsSiIKICAgICAgICAgICAgfQog", - "ICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImZvbnRzIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJhZGRpdGlvbmFs", - "UHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZvbnQgb3ZlcnJpZGVzIGZvciB0aGUgQWdlbnQgQ2hhdCB3ZWIgVUkuIE9t", - "aXR0ZWQgdmFsdWVzIGZhbGwgYmFjayB0byBHaG9zdHR5IGFuZCBidWlsdC1pbiBkZWZhdWx0cy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNj", - "aGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuZGVzY3JpcHRpb24iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJzYW5z", - "RmFtaWx5IjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgImRl", - "c2NyaXB0aW9uIjogIkNTUyBmb250IGZhbWlseSB1c2VkIGZvciBBZ2VudCBDaGF0IGJvZHkgYW5kIFVJIHRleHQuIiwKICAgICAgICAgICAgICAiZGVzY3Jp", - "cHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5zYW5zRmFtaWx5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiYm9k", - "eUZhbWlseSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgICAgICJk", - "ZXNjcmlwdGlvbiI6ICJBbGlhcyBmb3Igc2Fuc0ZhbWlseS4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMu", - "YWdlbnRDaGF0LmZvbnRzLmJvZHlGYW1pbHkiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJmYW1pbHkiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAi", - "c3RyaW5nIiwKICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxpYXMgZm9yIHNhbnNGYW1pbHku", - "IiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5mYW1pbHkiCiAgICAgICAgICAg", - "IH0sCiAgICAgICAgICAgICJiYXNlU2l6ZSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgICAgICJleGNsdXNpdmVNaW5p", - "bXVtIjogMCwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQmFzZSBBZ2VudCBDaGF0IGZvbnQgc2l6ZSBpbiBDU1MgcGl4ZWxzLiIsCiAgICAgICAg", - "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuYmFzZVNpemUiCiAgICAgICAgICAgIH0sCiAgICAg", - "ICAgICAgICJib2R5U2l6ZSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgICAgICJleGNsdXNpdmVNaW5pbXVtIjogMCwK", - "ICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxpYXMgZm9yIGJhc2VTaXplLiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVt", - "YURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuYm9keVNpemUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJtb25vRmFtaWx5IjogewogICAgICAg", - "ICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNTUyBm", - "b250IGZhbWlseSB1c2VkIGZvciBBZ2VudCBDaGF0IGNvZGUgYW5kIG1vbm9zcGFjZSB0ZXh0LiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5Ijog", - "InNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMubW9ub0ZhbWlseSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImNvZGVGYW1pbHkiOiB7", - "CiAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24i", - "OiAiQWxpYXMgZm9yIG1vbm9GYW1pbHkuIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5m", - "b250cy5jb2RlRmFtaWx5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiY29kZVNpemUiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwK", - "ICAgICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFnZW50IENoYXQgY29kZSBmb250IHNp", - "emUgaW4gQ1NTIHBpeGVscy4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmNv", - "ZGVTaXplIgogICAgICAgICAgICB9LAogICAgICAgICAgICAibW9ub1NpemUiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAg", - "ICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsaWFzIGZvciBjb2RlU2l6ZS4iLAogICAgICAgICAg", - "ICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLm1vbm9TaXplIgogICAgICAgICAgICB9LAogICAgICAg", - "ICAgICAiY29kZUxpbmVIZWlnaHQiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6", - "IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkxpbmUtaGVpZ2h0IG11bHRpcGxpZXIgdXNlZCBmb3IgQWdlbnQgQ2hhdCBjb2RlIGJsb2Nrcy4i", - "LAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmNvZGVMaW5lSGVpZ2h0IgogICAg", - "ICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgInZhdWx0IjogewogICAgICAidGl0bGUiOiAidmF1bHQiLAogICAg", - "ICAiZGVzY3JpcHRpb24iOiAiVmF1bHQgc2Vzc2lvbiByZXN0b3JlIGFnZW50IHJlZ2lzdHJhdGlvbnMuIGNtdXggaW5jbHVkZXMgUGkgYnkgZGVmYXVsdDsg", - "dXNlIHRoaXMgc2VjdGlvbiB0byBhZGQgb3Igb3ZlcnJpZGUgSlNPTkwtYmFja2VkIGNvZGluZyBhZ2VudHMgd2l0aG91dCBhbiBhcHAgdXBkYXRlLiIsCiAg", - "ICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAi", - "YWdlbnRzIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkN1c3RvbSBjb2RpbmcgYWdlbnRzIHRoYXQg", - "VmF1bHQgY2FuIGRldGVjdCwgbGlzdCwgYW5kIHJlc3VtZS4iLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAog", - "ICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlLAogICAgICAgICAgICAicmVxdWlyZWQiOiBbImlkIiwgIm5hbWUiLCAic2Vzc2lvbklk", - "U291cmNlIiwgInJlc3VtZUNvbW1hbmQiXSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgImlkIjogewogICAgICAgICAgICAg", - "ICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIl5bQS1aYS16MC05Ll8tXSskIiwKICAgICAgICAgICAgICAgICJtYXhM", - "ZW5ndGgiOiA2NCwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdGFibGUgY2FzZS1wcmVzZXJ2aW5nIEFTQ0lJIGlkZW50aWZpZXIgdXNlZCBp", - "biBWYXVsdCBwZXJzaXN0ZW5jZSwgZm9yIGV4YW1wbGUgcGkuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIm5hbWUiOiB7CiAgICAgICAgICAg", - "ICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbmFtZSBzaG93biBpbiBWYXVsdC4iCiAgICAg", - "ICAgICAgICAgfSwKICAgICAgICAgICAgICAiaWNvbkFzc2V0TmFtZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAg", - "ICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgYXNzZXQgY2F0YWxvZyBpbWFnZSBuYW1lIHNob3duIGZvciB0aGlzIGFnZW50IGluIFZhdWx0LiIKICAg", - "ICAgICAgICAgICB9LAogICAgICAgICAgICAgICJkZXRlY3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICAg", - "ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUnVsZXMgZm9yIGRldGVjdGluZyBhIHJ1bm5p", - "bmcgYWdlbnQgcHJvY2VzcyBpbnNpZGUgYSBjbXV4IHRlcm1pbmFsLiIsCiAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAg", - "ICAgInByb2Nlc3NOYW1lIjogewogICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9u", - "IjogIkV4ZWN1dGFibGUgYmFzZW5hbWUgdG8gbWF0Y2gsIGZvciBleGFtcGxlIHBpLiIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAg", - "ImFyZ3ZDb250YWlucyI6IHsKICAgICAgICAgICAgICAgICAgICAib25lT2YiOiBbCiAgICAgICAgICAgICAgICAgICAgICB7ICJ0eXBlIjogInN0cmluZyIg", - "fSwKICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgICAgICAgICAgICAg", - "ICAiaXRlbXMiOiB7ICJ0eXBlIjogInN0cmluZyIgfQogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAg", - "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN1YnN0cmluZyBvciBzdWJzdHJpbmdzIHRoYXQgbXVzdCBhcHBlYXIgaW4gdGhlIHByb2Nlc3MgYXJndi4iCiAg", - "ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJzZXNzaW9uSWRTb3VyY2UiOiB7CiAg", - "ICAgICAgICAgICAgICAib25lT2YiOiBbCiAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAg", - "ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVc2UgcGlTZXNzaW9uRmlsZSBmb3IgUGkgSlNPTkwgZGlzY292ZXJ5LCBvciBhbiBhcmd2IG9wdGlvbiBz", - "dWNoIGFzIC0tc2Vzc2lvbi4iCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJv", - "YmplY3QiLAogICAgICAgICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6", - "IFsidHlwZSJdLAogICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiB7CiAgICAgICAgICAg", - "ICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJlbnVtIjogWyJhcmd2T3B0aW9uIiwgInBpU2Vzc2lvbkZp", - "bGUiXQogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICJhcmd2T3B0aW9uIjogewogICAgICAgICAgICAgICAgICAgICAg", - "ICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uIHdob3NlIGZvbGxvd2luZyB2YWx1ZSBp", - "cyB0aGUgc2Vzc2lvbiBpZCwgZm9yIGV4YW1wbGUgLS1zZXNzaW9uLiIKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAog", - "ICAgICAgICAgICAgICAgICAgICJhbGxPZiI6IFsKICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImlmIjogewogICAg", - "ICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiB7ICJjb25zdCI6ICJhcmd2", - "T3B0aW9uIiB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAi", - "dGhlbiI6IHsgInJlcXVpcmVkIjogWyJhcmd2T3B0aW9uIl0gfQogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgIHsKICAg", - "ICAgICAgICAgICAgICAgICAgICAgImlmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAg", - "ICAgICAgICAgInR5cGUiOiB7ICJjb25zdCI6ICJwaVNlc3Npb25GaWxlIiB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg", - "ICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidGhlbiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAibm90IjogeyAicmVxdWlyZWQi", - "OiBbImFyZ3ZPcHRpb24iXSB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBd", - "CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlcmUgY211eCByZWFkcyB0", - "aGUgbmF0aXZlIHNlc3Npb24gaWQgZm9yIGFuIGFjdGl2ZSBwcm9jZXNzLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJyZXN1bWVDb21tYW5k", - "IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgICAgICAgeyAicGF0", - "dGVybiI6ICJcXHtcXHtzZXNzaW9uSWRcXH1cXH0iIH0sCiAgICAgICAgICAgICAgICAgIHsgInBhdHRlcm4iOiAiXFx7XFx7c2Vzc2lvblBhdGhcXH1cXH0i", - "IH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hlbGwtbGlrZSBhcmd2IHRlbXBsYXRlIHVzZWQgdG8gcmVz", - "dW1lIGEgc2Vzc2lvbi4gU3VwcG9ydGVkIHBsYWNlaG9sZGVyczoge3tzZXNzaW9uSWR9fSwge3tzZXNzaW9uUGF0aH19LCB7e2V4ZWN1dGFibGV9fSwge3tj", - "d2R9fSwge3tzZXNzaW9uRGlyfX0uIE11c3QgaW5jbHVkZSB7e3Nlc3Npb25JZH19IG9yIHt7c2Vzc2lvblBhdGh9fS4iCiAgICAgICAgICAgICAgfSwKICAg", - "ICAgICAgICAgICAiZm9ya0NvbW1hbmQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImFueU9mIjogWwog", - "ICAgICAgICAgICAgICAgICB7ICJwYXR0ZXJuIjogIlxce1xce3Nlc3Npb25JZFxcfVxcfSIgfSwKICAgICAgICAgICAgICAgICAgeyAicGF0dGVybiI6ICJc", - "XHtcXHtzZXNzaW9uUGF0aFxcfVxcfSIgfQogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBzaGVs", - "bC1saWtlIGFyZ3YgdGVtcGxhdGUgdXNlZCB0byBmb3JrIChicmFuY2gpIGEgc2Vzc2lvbiBpbnRvIGEgbmV3IGNvcHksIGZvciBleGFtcGxlIFwie3tleGVj", - "dXRhYmxlfX0gLS1zZXNzaW9uIHt7c2Vzc2lvbklkfX0gLS1mb3JrXCIuIFNhbWUgcGxhY2Vob2xkZXJzIGFzIHJlc3VtZUNvbW1hbmQuIE9taXQgd2hlbiB0", - "aGUgYWdlbnQgaGFzIG5vIGZvcmsgY2FwYWJpbGl0eTsgRm9yayBDb252ZXJzYXRpb24gc3RheXMgaGlkZGVuIGZvciBpdC4iCiAgICAgICAgICAgICAgfSwK", - "ICAgICAgICAgICAgICAiY3dkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJlbnVtIjogWyJwcmVzZXJ2", - "ZSIsICJpZ25vcmUiXSwKICAgICAgICAgICAgICAgICJkZWZhdWx0IjogInByZXNlcnZlIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGV0", - "aGVyIFZhdWx0IHNob3VsZCBjZCB0byB0aGUgc2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYmVmb3JlIHJ1bm5pbmcgcmVzdW1lQ29tbWFuZC4iCiAgICAgICAg", - "ICAgICAgfSwKICAgICAgICAgICAgICAic2Vzc2lvbkRpcmVjdG9yeSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAg", - "ICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgcm9vdCBkaXJlY3RvcnkgZm9yIEpTT05MIHNlc3Npb24gZGlzY292ZXJ5LCBzdWNoIGFzIH4vLnBpL2Fn", - "ZW50L3Nlc3Npb25zLiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiZGVmYXVsdCI6IFtdCiAgICAgICAg", - "fQogICAgICB9CiAgICB9LAogICAgIm5ld1dvcmtzcGFjZUNvbW1hbmQiOiB7CiAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICJkZXNjcmlwdGlvbiI6", - "ICJMZWdhY3kgbmFtZSBvZiBhIHdvcmtzcGFjZSBjb21tYW5kIHRvIHJ1biB3aGVuIGNyZWF0aW5nIGEgbmV3IHdvcmtzcGFjZS4gUHJlZmVyIHVpLm5ld1dv", - "cmtzcGFjZS5hY3Rpb24gZm9yIG5ldyBjb25maWdzLiIKICAgIH0sCiAgICAid29ya3NwYWNlR3JvdXBzIjogewogICAgICAidHlwZSI6ICJvYmplY3QiLAog", - "ICAgICAidGl0bGUiOiAid29ya3NwYWNlR3JvdXBzIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlBlci1jd2QgY3VzdG9taXphdGlvbiBmb3Igc2lkZWJhciB3", - "b3Jrc3BhY2UgZ3JvdXBzLiBUaGUgYW5jaG9yIHdvcmtzcGFjZSdzIGN3ZCBpcyBtYXRjaGVkIGFnYWluc3QgdGhlIGtleXMgaW4gYGJ5Q3dkYDsgbG9uZ2Vz", - "dC1tYXRjaCB3aW5zLiBLZXlzIGNvbnRhaW5pbmcgYCpgIG9yIGA/YCBhcmUgbWF0Y2hlZCBhcyBmbm1hdGNoIGdsb2JzICh3aXRoIGB+YCBleHBhbmRlZCk7", - "IG90aGVyIGtleXMgYXJlIHBhdGggcHJlZml4ZXMuIiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjog", - "ewogICAgICAgICJuZXdXb3Jrc3BhY2VQbGFjZW1lbnQiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlw", - "ZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImFmdGVyQ3VycmVudCIsICJ0b3AiLCAiZW5kIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJhZnRl", - "ckN1cnJlbnQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkdsb2JhbCBkZWZhdWx0IGZvciB3aGVyZSBDbWQtTiBpbnNpZGUgYSBncm91cCwgdGhlIGdy", - "b3VwIGhlYWRlciArIGJ1dHRvbiwgYW5kIGNvbmZpZ3VyZWQgZ3JvdXAgYWN0aW9ucyBwbGFjZSB0aGUgbmV3IHdvcmtzcGFjZTogYGFmdGVyQ3VycmVudGAg", - "KGFmdGVyIHRoZSBhY3RpdmUgaW4tZ3JvdXAgd29ya3NwYWNlLCBmYWxsaW5nIGJhY2sgdG8gdG9wKSwgYHRvcGAgKHNlY29uZCBzbG90LCBqdXN0IGFmdGVy", - "IHRoZSBhbmNob3IpLCBvciBgZW5kYCAoYWZ0ZXIgdGhlIGxhc3QgbWVtYmVyKS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2Ny", - "aXB0aW9ucy53b3Jrc3BhY2VHcm91cHMubmV3V29ya3NwYWNlUGxhY2VtZW50IgogICAgICAgIH0sCiAgICAgICAgImJ5Q3dkIjogewogICAgICAgICAgInR5", - "cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXAgb2YgY3dkIHBhdHRlcm5zIHRvIGdyb3VwIGN1c3RvbWl6YXRpb24uIEVtcHR5", - "IHdoZW4gb21pdHRlZC4iLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAg", - "ICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgImNvbG9yIjogewog", - "ICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIZXggY29sb3IgKGUuZy4gXCIjN0E0RkQ4", - "XCIpIGFwcGxpZWQgYXMgdGhlIGdyb3VwIGhlYWRlciB0aW50IHdoZW4gdGhlIGdyb3VwIGl0c2VsZiBoYXMgbm8gZXhwbGljaXQgY3VzdG9tQ29sb3IuIgog", - "ICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImljb24iOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAg", - "ImRlc2NyaXB0aW9uIjogIlNGIFN5bWJvbCBuYW1lIChlLmcuIFwiZm9sZGVyLmZpbGxcIiwgXCJsYWR5YnVnLmZpbGxcIikgZm9yIHRoZSBncm91cCBoZWFk", - "ZXIuIEZhbGxzIGJhY2sgdG8gXCJmb2xkZXIuZmlsbFwiIHdoZW4gb21pdHRlZC4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29udGV4dE1l", - "bnUiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSXRlbXMgYXBwZWFyaW5nIGlu", - "IHRoZSByaWdodC1jbGljayBtZW51IG9uIHRoZSBncm91cCdzICsgYnV0dG9uLiBTYW1lIHNjaGVtYSBhcyB0aGUgZ2xvYmFsIHVpLm5ld1dvcmtzcGFjZS5j", - "b250ZXh0TWVudSBlbnRyaWVzLiIsCiAgICAgICAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICAgICAgICJvbmVPZiI6IFsKICAgICAgICAgICAg", - "ICAgICAgICB7ICJ0eXBlIjogInN0cmluZyIgfSwKICAgICAgICAgICAgICAgICAgICB7ICJ0eXBlIjogIm9iamVjdCIsICJhZGRpdGlvbmFsUHJvcGVydGll", - "cyI6IHRydWUgfQogICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAibmV3V29ya3Nw", - "YWNlUGxhY2VtZW50IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJlbnVtIjogWyJhZnRlckN1cnJlbnQi", - "LCAidG9wIiwgImVuZCJdLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlBlci1jd2Qgb3ZlcnJpZGUgZm9yIHdoZXJlIENtZC1OIGluc2lkZSB0", - "aGUgZ3JvdXAsIHRoZSBncm91cCBoZWFkZXIgKyBidXR0b24sIGFuZCBjb25maWd1cmVkIGdyb3VwIGFjdGlvbnMgcGxhY2UgdGhlIG5ldyB3b3Jrc3BhY2U6", - "IGBhZnRlckN1cnJlbnRgIChhZnRlciB0aGUgYWN0aXZlIGluLWdyb3VwIHdvcmtzcGFjZSwgZmFsbGluZyBiYWNrIHRvIHRvcCksIGB0b3BgIChzZWNvbmQg", - "c2xvdCwganVzdCBhZnRlciB0aGUgYW5jaG9yKSwgb3IgYGVuZGAgKGFmdGVyIHRoZSBsYXN0IG1lbWJlcikuIEZhbGxzIGJhY2sgdG8gdGhlIGdsb2JhbCBk", - "ZWZhdWx0IHdoZW4gb21pdHRlZC4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy53b3Jrc3BhY2VHcm91", - "cHMuYnlDd2QubmV3V29ya3NwYWNlUGxhY2VtZW50IgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAg", - "fQogICAgfSwKICAgICJzdXJmYWNlVGFiQmFyQnV0dG9ucyI6IHsKICAgICAgInRpdGxlIjogInN1cmZhY2VUYWJCYXJCdXR0b25zIiwKICAgICAgImRlc2Ny", - "aXB0aW9uIjogIkxlZ2FjeSByb290LWxldmVsIHN1cmZhY2UgdGFiIGJhciBidXR0b25zLiBQcmVmZXIgdWkuc3VyZmFjZVRhYkJhci5idXR0b25zIGZvciBu", - "ZXcgY29uZmlncy4iLAogICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICJpdGVtcyI6IHsKICAgICAgICAib25lT2YiOiBbCiAgICAgICAgICB7ICJ0eXBl", - "IjogInN0cmluZyIgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVz", - "IjogdHJ1ZQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfSwKICAgICJhcHAiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwi", - "XSwKICAgICAgInRpdGxlIjogImFwcCIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJHZW5lcmFsIGFwcCBwcmVmZXJlbmNlcyBmcm9tIFNldHRpbmdzID4gQXBw", - "LiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAg", - "ICAgICAibGFuZ3VhZ2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbCiAgICAgICAgICAgICJzeXN0ZW0iLAog", - "ICAgICAgICAgICAiZW4iLAogICAgICAgICAgICAiYXIiLAogICAgICAgICAgICAiYnMiLAogICAgICAgICAgICAiemgtSGFucyIsCiAgICAgICAgICAgICJ6", - "aC1IYW50IiwKICAgICAgICAgICAgImRhIiwKICAgICAgICAgICAgImRlIiwKICAgICAgICAgICAgImVzIiwKICAgICAgICAgICAgImZyIiwKICAgICAgICAg", - "ICAgIml0IiwKICAgICAgICAgICAgImphIiwKICAgICAgICAgICAgImtvIiwKICAgICAgICAgICAgIm5iIiwKICAgICAgICAgICAgInBsIiwKICAgICAgICAg", - "ICAgInB0LUJSIiwKICAgICAgICAgICAgInJ1IiwKICAgICAgICAgICAgInRoIiwKICAgICAgICAgICAgInRyIgogICAgICAgICAgXSwKICAgICAgICAgICJk", - "ZWZhdWx0IjogInN5c3RlbSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUHJlZmVycmVkIGFwcCBsYW5ndWFnZS4iCiAgICAgICAgfSwKICAgICAgICAi", - "YXBwZWFyYW5jZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsic3lzdGVtIiwgImxpZ2h0IiwgImRhcmsiXSwK", - "ICAgICAgICAgICJkZWZhdWx0IjogInN5c3RlbSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQXBwIGFwcGVhcmFuY2UgbW9kZS4iCiAgICAgICAgfSwK", - "ICAgICAgICAiYXBwSWNvbiI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsiYXV0b21hdGljIiwgImxpZ2h0Iiwg", - "ImRhcmsiXSwKICAgICAgICAgICJkZWZhdWx0IjogImF1dG9tYXRpYyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRG9jayBhbmQgYXBwIHN3aXRjaGVy", - "IGljb24gc3R5bGUuIgogICAgICAgIH0sCiAgICAgICAgIndpbmRvd1RpdGxlVGVtcGxhdGUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAg", - "ICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLndpbmRvd1RpdGxlVGVtcGxh", - "dGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIE5TV2luZG93IHRpdGxlIHRlbXBsYXRlLiBCbGFuayBwcmVzZXJ2ZXMgY211eCdzIGV4", - "aXN0aW5nIGRlZmF1bHQgdGl0bGUgYmVoYXZpb3IsIGluY2x1ZGluZyB0aGUgY3VycmVudC1kaXJlY3RvcnkgZmFsbGJhY2suIFN1cHBvcnRlZCBwbGFjZWhv", - "bGRlcnM6IHt3aW5kb3dJZH0sIHt3aW5kb3dUb2tlbn0sIHthY3RpdmVXb3Jrc3BhY2V9LCB7YWN0aXZlRGlyZWN0b3J5fSwge2RlZmF1bHRUaXRsZX0sIHth", - "cHBOYW1lfS4iCiAgICAgICAgfSwKICAgICAgICAibWVudUJhck9ubHkiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZh", - "dWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlkZSB0aGUgRG9jayBpY29uIGFuZCBhcHAgc3dpdGNoZXIgZW50cnkgd2hpbGUga2Vl", - "cGluZyBjbXV4IGF2YWlsYWJsZSBmcm9tIHRoZSBtZW51IGJhci4iCiAgICAgICAgfSwKICAgICAgICAibmV3V29ya3NwYWNlUGxhY2VtZW50IjogewogICAg", - "ICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJ0b3AiLCAiYWZ0ZXJDdXJyZW50IiwgImVuZCJdLAogICAgICAgICAgImRlZmF1", - "bHQiOiAiYWZ0ZXJDdXJyZW50IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVyZSBuZXcgd29ya3NwYWNlcyBhcmUgaW5zZXJ0ZWQgaW4gdGhlIHNp", - "ZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgImZvcmtDb252ZXJzYXRpb25EZWZhdWx0RGVzdGluYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJp", - "bmciLAogICAgICAgICAgImVudW0iOiBbInJpZ2h0IiwgImxlZnQiLCAidG9wIiwgImJvdHRvbSIsICJuZXdUYWIiLCAibmV3V29ya3NwYWNlIl0sCiAgICAg", - "ICAgICAiZGVmYXVsdCI6ICJyaWdodCIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC5mb3JrQ29udmVyc2F0", - "aW9uRGVmYXVsdERlc3RpbmF0aW9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IGRlc3RpbmF0aW9uIGZvciB0aGUgdGFiIGNvbnRleHQg", - "bWVudSdzIHByaW1hcnkgRm9yayBDb252ZXJzYXRpb24gYWN0aW9uLiBUaGUgc3VibWVudSBzdGlsbCBleHBvc2VzIGV2ZXJ5IGRlc3RpbmF0aW9uLiIKICAg", - "ICAgICB9LAogICAgICAgICJ3b3Jrc3BhY2VJbmhlcml0V29ya2luZ0RpcmVjdG9yeSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAg", - "ICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdHJ1ZSwgbmV3IHdvcmtzcGFjZXMgaW5oZXJpdCB0aGUgY3VycmVu", - "dCB3b3Jrc3BhY2Ugd29ya2luZyBkaXJlY3RvcnkuIFdoZW4gZmFsc2UsIG5ldyB3b3Jrc3BhY2VzIHVzZSBHaG9zdHR5J3Mgd29ya2luZy1kaXJlY3Rvcnkg", - "c2V0dGluZyBpbnN0ZWFkLiIKICAgICAgICB9LAogICAgICAgICJtaW5pbWFsTW9kZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAg", - "ICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWRlIHRoZSB3b3Jrc3BhY2UgdGl0bGUgYmFyIGFuZCBtb3ZlIGNvbnRy", - "b2xzIGludG8gdGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgImtlZXBXb3Jrc3BhY2VPcGVuV2hlbkNsb3NpbmdMYXN0U3VyZmFjZSI6IHsKICAg", - "ICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUs", - "IGNsb3NpbmcgdGhlIGxhc3Qgc3VyZmFjZSBrZWVwcyB0aGUgd29ya3NwYWNlIG9wZW4uIgogICAgICAgIH0sCiAgICAgICAgImZvY3VzUGFuZU9uRmlyc3RD", - "bGljayI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", - "IldoZW4gY211eCBpcyBpbmFjdGl2ZSwgdGhlIGZpcnN0IGNsaWNrIGNhbiBhY3RpdmF0ZSBhbmQgZm9jdXMgdGhlIGNsaWNrZWQgcGFuZS4iCiAgICAgICAg", - "fSwKICAgICAgICAicGFuZVJlc2l6ZVN0ZXBQaXhlbHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwK", - "ICAgICAgICAgICJtYXhpbXVtIjogMjAwLAogICAgICAgICAgImRlZmF1bHQiOiAyMCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJQaXhlbHMgbW92ZWQg", - "cGVyIGtleXByZXNzIHdoZW4gdXNpbmcgcGFuZS1yZXNpemUgc2hvcnRjdXRzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3Jp", - "cHRpb25zLmFwcC5wYW5lUmVzaXplU3RlcFBpeGVscyIKICAgICAgICB9LAogICAgICAgICJmb2N1c0hpc3RvcnlJbmNsdWRlc1BhbmVzQW5kVGFicyI6IHsK", - "ICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRy", - "dWUsIEJhY2sgYW5kIEZvcndhcmQgaW5jbHVkZSBmb2N1cyBjaGFuZ2VzIGJldHdlZW4gcGFuZXMgYW5kIHRhYnMuIFdoZW4gZmFsc2UsIHRoZXkgbmF2aWdh", - "dGUgYmV0d2VlbiB3b3Jrc3BhY2VzIG9ubHkuIgogICAgICAgIH0sCiAgICAgICAgInByZWZlcnJlZEVkaXRvciI6IHsKICAgICAgICAgICJ0eXBlIjogInN0", - "cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkN1c3RvbSBlZGl0b3IgY29tbWFuZCB1c2VkIHdoZW4g", - "Q21kLWNsaWNrIGZpbGUgcHJldmlld3MgYXJlIGRpc2FibGVkIG9yIGEgZmlsZSBpcyB1bnN1cHBvcnRlZC4gTGVhdmUgZW1wdHkgdG8gdXNlIHRoZSBkZWZh", - "dWx0LiIKICAgICAgICB9LAogICAgICAgICJvcGVuU3VwcG9ydGVkRmlsZXNJbkNtdXgiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAg", - "ICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIGVuYWJsZWQsIENtZC1jbGlja2luZyByZWFkYWJsZSBsb2NhbCBm", - "aWxlcyBvcGVucyBzdXBwb3J0ZWQgcHJldmlld3MgaW4gY211eCwgaW5jbHVkaW5nIHRleHQsIGNvZGUsIFBERnMsIGltYWdlcywgYXVkaW8sIHZpZGVvLCBh", - "bmQgUXVpY2sgTG9vayBmaWxlcy4gUHJldmlldyBoZWFkZXJzIGluY2x1ZGUgYW4gT3BlbiBXaXRoIG1lbnUgYmFzZWQgb24gdGhlIHVzZXIncyBkZWZhdWx0", - "IGFuZCBjb21wYXRpYmxlIG1hY09TIGFwcHMgZm9yIHRoYXQgZmlsZS4iCiAgICAgICAgfSwKICAgICAgICAib3Blbk1hcmtkb3duSW5DbXV4Vmlld2VyIjog", - "ewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiBl", - "bmFibGVkLCBDbWQtY2xpY2tpbmcgLm1kLy5tYXJrZG93bi8ubWtkLy5tZHggZmlsZXMgb3BlbnMgdGhlIHJlbmRlcmVkIGNtdXggbWFya2Rvd24gdmlld2Vy", - "IHBhbmVsICh3aXRoIGxpdmUgcmVsb2FkKSBpbnN0ZWFkIG9mIHRoZSBnZW5lcmljIGZpbGUgcHJldmlldy4iCiAgICAgICAgfSwKICAgICAgICAiZ2xvYmFs", - "Rm9udE1hZ25pZmljYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogNTAsCiAgICAgICAgICAibWF4", - "aW11bSI6IDIwMCwKICAgICAgICAgICJtdWx0aXBsZU9mIjogMTAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEwMCwKICAgICAgICAgICJkZXNjcmlwdGlvbktl", - "eSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLmdsb2JhbEZvbnRNYWduaWZpY2F0aW9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTY2FsZXMgY211", - "eC1vd25lZCB0ZXJtaW5hbHMsIHRhYiB0aXRsZXMsIHNpZGViYXJzLCBzZXR0aW5ncywgb3ZlcmxheXMsIGFuZCBhcHAgY2hyb21lIGJ5IHRoaXMgcGVyY2Vu", - "dGFnZS4gUmVuZGVyZWQgYnJvd3NlciBwYWdlIGNvbnRlbnQgaXMgZXhjbHVkZWQuIgogICAgICAgIH0sCiAgICAgICAgInJlb3JkZXJPbk5vdGlmaWNhdGlv", - "biI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1v", - "dmUgd29ya3NwYWNlcyB3aXRoIG5ldyBub3RpZmljYXRpb25zIHRvd2FyZCB0aGUgdG9wLiIKICAgICAgICB9LAogICAgICAgICJpTWVzc2FnZU1vZGUiOiB7", - "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTW92ZSBh", - "IHdvcmtzcGFjZSB0byB0aGUgdG9wIGFuZCBzaG93IHRoZSBzdWJtaXR0ZWQgbWVzc2FnZSB3aGVuIHNlbmRpbmcgYW4gYWdlbnQgcHJvbXB0LiIKICAgICAg", - "ICB9LAogICAgICAgICJzZW5kQW5vbnltb3VzVGVsZW1ldHJ5IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6", - "IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxsb3cgYW5vbnltb3VzIHRlbGVtZXRyeS4iCiAgICAgICAgfSwKICAgICAgICAiY29uZmlybVF1", - "aXQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImFsd2F5cyIsICJkaXJ0eS1vbmx5IiwgIm5ldmVyIl0sCiAg", - "ICAgICAgICAiZGVmYXVsdCI6ICJhbHdheXMiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hcHAuY29uZmlybVF1", - "aXQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgd2hlbiBjbXV4IGFza3MgZm9yIGNvbmZpcm1hdGlvbiBiZWZvcmUgcXVpdHRpbmcuIERF", - "ViBidWlsZHMgYWx3YXlzIHF1aXQgaW1tZWRpYXRlbHkgcmVnYXJkbGVzcyBvZiB0aGlzIHNldHRpbmcuIExlZ2FjeSBhcHAud2FybkJlZm9yZVF1aXQgaXMg", - "c3RpbGwgYWNjZXB0ZWQgYXMgYSBib29sZWFuIGZhbGxiYWNrLiIKICAgICAgICB9LAogICAgICAgICJ3YXJuQmVmb3JlUXVpdCI6IHsKICAgICAgICAgICJ0", - "eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9u", - "cy5hcHAud2FybkJlZm9yZVF1aXQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkxlZ2FjeSBib29sZWFuIGZhbGxiYWNrIGZvciBxdWl0IGNvbmZpcm1h", - "dGlvbi4gVXNlIGFwcC5jb25maXJtUXVpdCBmb3IgbmV3IGNvbmZpZ3MuIgogICAgICAgIH0sCiAgICAgICAgIndhcm5CZWZvcmVDbG9zaW5nVGFiIjogewog", - "ICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBhIGNv", - "bmZpcm1hdGlvbiBiZWZvcmUgY2xvc2luZyBhIHRhYi4iCiAgICAgICAgfSwKICAgICAgICAid2FybkJlZm9yZUNsb3NpbmdUYWJYQnV0dG9uIjogewogICAg", - "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURl", - "c2NyaXB0aW9ucy5hcHAud2FybkJlZm9yZUNsb3NpbmdUYWJYQnV0dG9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGEgY29uZmlybWF0aW9u", - "IGJlZm9yZSBjbG9zaW5nIGEgdGFiIHdpdGggdGhlIHRhYiBjbG9zZSBidXR0b24uIgogICAgICAgIH0sCiAgICAgICAgImhpZGVUYWJDbG9zZUJ1dHRvbiI6", - "IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJz", - "Y2hlbWFEZXNjcmlwdGlvbnMuYXBwLmhpZGVUYWJDbG9zZUJ1dHRvbiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlkZSB0YWIgY2xvc2UgYnV0dG9u", - "cyBpbiB0aGUgcGFuZSB0YWIgYmFyLiIKICAgICAgICB9LAogICAgICAgICJyZW5hbWVTZWxlY3RzRXhpc3RpbmdOYW1lIjogewogICAgICAgICAgInR5cGUi", - "OiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2VsZWN0IHRoZSBjdXJyZW50IG5hbWUg", - "d2hlbiBvcGVuaW5nIHJlbmFtZSBmbG93cy4iCiAgICAgICAgfSwKICAgICAgICAiY29tbWFuZFBhbGV0dGVTZWFyY2hlc0FsbFN1cmZhY2VzIjogewogICAg", - "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBldmVy", - "eSBzdXJmYWNlIGluIHRoZSBjb21tYW5kIHBhbGV0dGUgc3dpdGNoZXIgaW5zdGVhZCBvZiBvbmx5IHRoZSBhY3RpdmUgd29ya3NwYWNlLiIKICAgICAgICB9", - "CiAgICAgIH0KICAgIH0sCiAgICAidGVybWluYWwiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogInRlcm1p", - "bmFsIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlRlcm1pbmFsIHByZXNlbnRhdGlvbiBzZXR0aW5ncyBmcm9tIFNldHRpbmdzID4gVGVybWluYWwuIiwKICAg", - "ICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJh", - "ZGFwdGl2ZURlZmF1bHRUaGVtZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAg", - "ImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5hZGFwdGl2ZURlZmF1bHRUaGVtZSIsCiAgICAgICAgICAiZGVzY3JpcHRp", - "b24iOiAiV2hlbiB0cnVlICh0aGUgZGVmYXVsdCksIGNtdXggc3VwcGxpZXMgYW4gYXBwZWFyYW5jZS1hZGFwdGl2ZSBkZWZhdWx0IHBhbGV0dGUgdW5sZXNz", - "IGEgR2hvc3R0eSB0aGVtZSBvciB0ZXJtaW5hbCBjb2xvcnMgYXJlIGNvbmZpZ3VyZWQuIEZvbnQgYW5kIG90aGVyIHNldHRpbmdzIGFyZSBwcmVzZXJ2ZWQu", - "IFdoZW4gZmFsc2UsIEdob3N0dHkgdXNlcyBpdHMgZml4ZWQgYnVpbHQtaW4gcGFsZXR0ZS4gRXhwbGljaXQgdGhlbWVzIGFuZCBjb2xvcnMgYWx3YXlzIHRh", - "a2UgcHJlY2VkZW5jZSwgaW5jbHVkaW5nIHRoZW1lID0gbGlnaHQ6WCxkYXJrOlkuIgogICAgICAgIH0sCiAgICAgICAgInNob3dTY3JvbGxCYXIiOiB7CiAg", - "ICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSBy", - "aWdodC1lZGdlIHRlcm1pbmFsIHNjcm9sbCBiYXIgd2hlbiBzY3JvbGxiYWNrIGlzIGF2YWlsYWJsZS4gY211eCBhdXRvbWF0aWNhbGx5IHN1cHByZXNzZXMg", - "aXQgZm9yIGFsdGVybmF0ZS1zY3JlZW4gc3R5bGUgVFVJIHN1cmZhY2VzLiIKICAgICAgICB9LAogICAgICAgICJzY3JvbGxTcGVlZCI6IHsKICAgICAgICAg", - "ICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAibWluaW11bSI6IDAuMjUsCiAgICAgICAgICAibWF4aW11bSI6IDMuMCwKICAgICAgICAgICJkZWZhdWx0", - "IjogMS4wLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5zY3JvbGxTcGVlZCIsCiAgICAgICAgICAi", - "ZGVzY3JpcHRpb24iOiAiTXVsdGlwbGllciBhcHBsaWVkIHRvIHRlcm1pbmFsIHNjcm9sbCB3aGVlbCBhbmQgdHJhY2twYWQgZGVsdGFzLiBIaWdoZXIgdmFs", - "dWVzIHNjcm9sbCBmYXN0ZXI7IGxvd2VyIHZhbHVlcyBzY3JvbGwgc2xvd2VyLiIKICAgICAgICB9LAogICAgICAgICJzZXNzaW9uQ29udGVudE1heFdpZHRo", - "IjogewogICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgImNv", - "bnN0IjogZmFsc2UKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAgICAgIm1p", - "bmltdW0iOiAzMjAsCiAgICAgICAgICAgICAgIm11bHRpcGxlT2YiOiAyMAogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlZmF1bHQi", - "OiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuc2Vzc2lvbkNvbnRlbnRNYXhXaWR0aCIs", - "CiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgbWF4aW11bSB3aWR0aCwgaW4gcG9pbnRzLCBmb3IgdGVybWluYWwgYW5kIGJ1aWx0LWluIGFn", - "ZW50IGNoYXQgY29udGVudC4gU2V0IGZhbHNlIHRvIHVzZSB0aGUgZnVsbCBwYW5lIHdpZHRoLiIKICAgICAgICB9LAogICAgICAgICJzZXNzaW9uQ29udGVu", - "dEFsaWdubWVudCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsibGVmdCIsICJjZW50ZXIiLCAicmlnaHQiXSwK", - "ICAgICAgICAgICJkZWZhdWx0IjogImNlbnRlciIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnNl", - "c3Npb25Db250ZW50QWxpZ25tZW50IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIb3Jpem9udGFsIHBsYWNlbWVudCBmb3IgdGVybWluYWwgYW5kIGJ1", - "aWx0LWluIGFnZW50IGNoYXQgY29udGVudCB3aGVuIHNlc3Npb25Db250ZW50TWF4V2lkdGggaXMgZW5hYmxlZC4iCiAgICAgICAgfSwKICAgICAgICAiY29w", - "eU9uU2VsZWN0IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0", - "aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5jb3B5T25TZWxlY3QiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdHJ1ZSwg", - "Y29weSBzZWxlY3RlZCB0ZXJtaW5hbCB0ZXh0IHRvIHRoZSBzeXN0ZW0gY2xpcGJvYXJkIHdoZW4gdGhlIHNlbGVjdGlvbiBpcyBjb21taXR0ZWQuIFdoZW4g", - "ZmFsc2UsIGNtdXggZG9lcyBub3QgZW1pdCBhIEdob3N0dHkgY29weS1vbi1zZWxlY3Qgb3ZlcnJpZGU7IEdob3N0dHkgY29uZmlnIGFuZCBkZWZhdWx0cyBj", - "b250cm9sIHNlbGVjdGlvbi1jbGlwYm9hcmQgYmVoYXZpb3IuIgogICAgICAgIH0sCiAgICAgICAgImF1dG9SZXN1bWVBZ2VudFNlc3Npb25zIjogewogICAg", - "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQXV0b21hdGljYWxs", - "eSBydW4gYWdlbnQgcmVzdW1lIGNvbW1hbmRzIGZvciByZXN0b3JlZCB0ZXJtaW5hbCBzZXNzaW9ucyB3aGVuIGNtdXggcmVvcGVucyBhZnRlciBxdWl0LiBT", - "ZXQgZmFsc2UgdG8gcmVzdG9yZSBwYW5lcyB3aGlsZSBrZWVwaW5nIENsYXVkZSBDb2RlLCBDb2RleCwgT3BlbkNvZGUsIGFuZCBvdGhlciBzYXZlZCBhZ2Vu", - "dCBzZXNzaW9ucyBpZGxlIHVudGlsIHlvdSByZXN1bWUgdGhlbSBtYW51YWxseS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1RleHRCb3hPbk5ld1Rlcm1p", - "bmFscyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktl", - "eSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuc2hvd1RleHRCb3hPbk5ld1Rlcm1pbmFscyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hv", - "dyB0aGUgYmV0YSBUZXh0Qm94IGlucHV0IGJ5IGRlZmF1bHQgZm9yIG5ld2x5IGNyZWF0ZWQgd29ya3NwYWNlcywgdGVybWluYWwgdGFicywgYW5kIHRlcm1p", - "bmFsIHNwbGl0cy4iCiAgICAgICAgfSwKICAgICAgICAiZm9jdXNUZXh0Qm94T25OZXdUZXJtaW5hbHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFu", - "IiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLmZv", - "Y3VzVGV4dEJveE9uTmV3VGVybWluYWxzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGb2N1cyB0aGUgYmV0YSBUZXh0Qm94IGlucHV0IGJ5IGRlZmF1", - "bHQgZm9yIG5ld2x5IGNyZWF0ZWQgd29ya3NwYWNlcywgdGVybWluYWwgdGFicywgYW5kIHRlcm1pbmFsIHNwbGl0cy4gRm9jdXNpbmcgYWxzbyBzaG93cyB0", - "aGUgVGV4dEJveC4iCiAgICAgICAgfSwKICAgICAgICAiYWdlbnRIaWJlcm5hdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAg", - "ICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwu", - "YWdlbnRIaWJlcm5hdGlvbiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUm91dGluZSBBZ2VudCBIaWJlcm5hdGlvbiBzZXR0aW5ncy4gY211eCBraWxs", - "cyBpZGxlIGJhY2tncm91bmQgYWdlbnQgcHJvY2Vzc2VzIHRvIGZyZWUgUkFNIGFuZCBDUFUsIHRoZW4gcmVzdW1lcyB0aGVtIHdpdGggdGhlaXIgc2F2ZWQg", - "c2Vzc2lvbiB3aGVuIHRoZWlyIHRhYiBpcyB2aXNpdGVkLiBSb3V0aW5lIGhpYmVybmF0aW9uIHJlcXVpcmVzIGEgcmVzdG9yYWJsZSBjb2RpbmcgYWdlbnQg", - "d2hvc2UgbGlmZWN5Y2xlIHJlcG9ydHMgaWRsZSwgYW4gb2ZmLXNjcmVlbiB0ZXJtaW5hbCwgYSBsaXZlLXRlcm1pbmFsIGNvdW50IGFib3ZlIHRoZSBjb25m", - "aWd1cmVkIGxpbWl0LCBhbmQgdW5jaGFuZ2VkIG91dHB1dCB0aHJvdWdoIHRoZSBpZGxlIGFuZCBjb25maXJtYXRpb24gd2luZG93cy4gSW5kZXBlbmRlbnRs", - "eSwgZHVyaW5nIGNyaXRpY2FsIG1lbW9yeSBwcmVzc3VyZSBjbXV4IG1heSBoaWJlcm5hdGUgYSBib3VuZGVkIGJhdGNoIG9mIHNhZmUgaWRsZSBiYWNrZ3Jv", - "dW5kIGFnZW50cyBldmVuIHdoZW4gZW5hYmxlZCBpcyBmYWxzZTsgdmlzaWJsZSwgcnVubmluZywgbmVlZHMtaW5wdXQsIHJlY2VudGx5IGNoYW5nZWQsIGFu", - "ZCB1bnByb3RlY3RhYmxlIGFnZW50cyByZW1haW4gZXhjbHVkZWQuIFRoZSBwbGFjZWhvbGRlciBSZXN1bWUgYnV0dG9uIGlzIGEgbWFudWFsIGZhbGxiYWNr", - "LiIsCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAg", - "ICAgICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFs", - "LmFnZW50SGliZXJuYXRpb25FbmFibGVkIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlIHJvdXRpbmUgQWdlbnQgSGliZXJuYXRpb24g", - "YmFzZWQgb24gdGhlIGxpdmUtdGVybWluYWwgbGltaXQuIENyaXRpY2FsLXByZXNzdXJlIHNhZmV0eSBoaWJlcm5hdGlvbiByZW1haW5zIGFjdGl2ZSB3aGVu", - "IGZhbHNlLiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImlkbGVTZWNvbmRzIjogewogICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAg", - "ICAgICAgICAgICJtaW5pbXVtIjogNSwKICAgICAgICAgICAgICAibWF4aW11bSI6IDYwNDgwMCwKICAgICAgICAgICAgICAiZGVmYXVsdCI6IDUsCiAgICAg", - "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1pbmltdW0gc2Vjb25kcyB3aXRoIG5vIHRlcm1pbmFsIG91dHB1dCBvciBpbnB1dCBiZWZvcmUgYW4gaWRsZSBy", - "ZXN0b3JhYmxlIGFnZW50IHRlcm1pbmFsIGNhbiBoaWJlcm5hdGUuIEEgc2hvcnQgY29uZmlybWF0aW9uIHNldHRsZSB3aW5kb3cgKH42MHMpIHN0aWxsIGFw", - "cGxpZXMgb24gdG9wIG9mIHRoaXMgYmVmb3JlIHRoZSBhZ2VudCBpcyBraWxsZWQuIgogICAgICAgICAgICB9LAogICAgICAgICAgICAibWF4TGl2ZVRlcm1p", - "bmFscyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAgICAgIm1heGlt", - "dW0iOiAyNTYsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiAxMiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWF4aW11bSBsaXZlIHJlc3RvcmFi", - "bGUgYWdlbnQgdGVybWluYWxzIHRvIGtlZXAgYmVmb3JlIGNtdXggaGliZXJuYXRlcyBlbGlnaWJsZSBiYWNrZ3JvdW5kIHRlcm1pbmFscywgb2xkZXN0IGZp", - "cnN0LiIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInJlbmRlcmVyUmVhbGl6YXRpb24iOiB7CiAgICAgICAgICAidHlw", - "ZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmVjbGFpbSBv", - "ZmYtc2NyZWVuIHRlcm1pbmFsIEdQVSByZW5kZXJlciBtZW1vcnkuIGNtdXggcmVsZWFzZXMgdGhlIE1ldGFsIHJlbmRlcmVyIChJT1N1cmZhY2UpIG9mIGEg", - "dGVybWluYWwgdGhhdCBoYXMgc3RheWVkIG9mZi1zY3JlZW4gYW5kIGlkbGUgd2hpbGUga2VlcGluZyBpdHMgcHJvY2VzcyBhbmQgdGVybWluYWwgc3RhdGUg", - "YWxpdmUsIHRoZW4gcmVidWlsZHMgdGhlIHJlbmRlcmVyIGluc3RhbnRseSB3aGVuIHRoZSB0YWIgaXMgdmlzaXRlZCBhZ2Fpbi4gTm9uLWRlc3RydWN0aXZl", - "IGFuZCBvbiBieSBkZWZhdWx0LiIsCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAgICAgInR5", - "cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZWNsYWltIG9mZi1z", - "Y3JlZW4gdGVybWluYWwgcmVuZGVyZXIgbWVtb3J5LiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImlkbGVTZWNvbmRzIjogewogICAgICAgICAgICAg", - "ICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgICAgICJtaW5pbXVtIjogNSwKICAgICAgICAgICAgICAibWF4aW11bSI6IDYwNDgwMCwKICAgICAgICAg", - "ICAgICAiZGVmYXVsdCI6IDUsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1pbmltdW0gc2Vjb25kcyBhIHRlcm1pbmFsIG11c3Qgc3RheSBvZmYt", - "c2NyZWVuIGJlZm9yZSBpdHMgR1BVIHJlbmRlcmVyIG1lbW9yeSBpcyByZWNsYWltZWQuIgogICAgICAgICAgICB9LAogICAgICAgICAgICAibWF4V2FybVJl", - "bmRlcmVycyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAgICAgIm1h", - "eGltdW0iOiAyNTYsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiAxLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNb3N0IHJlY2VudGx5IHZpc2li", - "bGUgdGVybWluYWxzIHRvIGtlZXAgcmVuZGVyZXItcmVhZHkgc28gc3dpdGNoaW5nIHN0YXlzIGluc3RhbnQuIEV4dHJhIG9mZi1zY3JlZW4gcmVuZGVyZXJz", - "IGFyZSByZWNsYWltZWQgb2xkZXN0IGZpcnN0LiIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInRleHRCb3hNYXhMaW5l", - "cyI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgIm1heGltdW0iOiAyMCwKICAgICAg", - "ICAgICJkZWZhdWx0IjogMTAsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWF4aW11bSBudW1iZXIgb2YgbGluZXMgdGhlIHJpY2ggdGVybWluYWwgVGV4", - "dEJveCBpbnB1dCBjYW4gZ3JvdyB0byBiZWZvcmUgaXQgc2Nyb2xscy4iCiAgICAgICAgfSwKICAgICAgICAidGV4dEJveERlZmF1bHRTdWJtaXRBY3Rpb24i", - "OiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAidGV4dC1lbnRyeSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", - "OiAiRGVmYXVsdCBUZXh0Qm94IHN1Ym1pdCBhY3Rpb24gSUQgZm9yIG5ldyB0ZXJtaW5hbCBzZXNzaW9ucy4gVXNlIHRleHQtZW50cnkgZm9yIHBsYWluIGlu", - "cHV0IG9yIG9uZSBvZiB0aGUgY29uZmlndXJlZCBhY3Rpb24gSURzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25z", - "LnRlcm1pbmFsLnRleHRCb3hEZWZhdWx0U3VibWl0QWN0aW9uIgogICAgICAgIH0sCiAgICAgICAgInRleHRCb3hTdWJtaXRBY3Rpb25zIjogewogICAgICAg", - "ICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb25maWd1cmFibGUgVGV4dEJv", - "eCBzdWJtaXQgYWN0aW9ucyBzaG93biBvbiB0aGUgc3VibWl0IGJ1dHRvbiwgU2hpZnQtVGFiIGN5Y2xlLCBhbmQgcmlnaHQtY2xpY2sgbWVudS4iLAogICAg", - "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9ucyIsCiAgICAgICAgICAiaXRl", - "bXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAg", - "ICAicmVxdWlyZWQiOiBbImlkIiwgInRpdGxlIiwgImtpbmQiLCAic3lzdGVtSW1hZ2UiLCAiYmFja2dyb3VuZENvbG9ySGV4Il0sCiAgICAgICAgICAgICJw", - "cm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICJpZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAicGF0", - "dGVybiI6ICJeW0EtWmEtejAtOS5fLV0rJCIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU3RhYmxlIGFjdGlvbiBJRCByZWZlcmVuY2VkIGJ5", - "IHRlcm1pbmFsLnRleHRCb3hEZWZhdWx0U3VibWl0QWN0aW9uLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", - "b25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25JZCIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJ0aXRsZSI6IHsKICAgICAgICAgICAg", - "ICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWVudSBsYWJlbCBmb3IgdGhpcyBzdWJtaXQgYWN0aW9uLiIs", - "CiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25UaXRsZSIK", - "ICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJraW5kIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAg", - "ICJlbnVtIjogWyJ0ZXh0RW50cnkiLCAiY29tbWFuZFRlbXBsYXRlIl0sCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGlzIGFj", - "dGlvbiBzdWJtaXRzIHBsYWluIFRleHQgRW50cnkgb3IgZXhwYW5kcyBhIHNoZWxsIGNvbW1hbmQgdGVtcGxhdGUuIiwKICAgICAgICAgICAgICAgICJkZXNj", - "cmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbktpbmQiCiAgICAgICAgICAgICAgfSwKICAgICAg", - "ICAgICAgICAiY29tbWFuZFRlbXBsYXRlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlv", - "biI6ICJTaGVsbCBjb21tYW5kIHRlbXBsYXRlIGZvciBjb21tYW5kVGVtcGxhdGUgYWN0aW9ucy4gSW5jbHVkZSB7e3Byb21wdH19IHRvIHNoZWxsLXF1b3Rl", - "IHRoZSBwcm9tcHQgaW50byB0aGUgY29tbWFuZC4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJt", - "aW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uQ29tbWFuZFRlbXBsYXRlIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInByZXNlcnZlUHJvbXB0QWZ0", - "ZXJMYXVuY2giOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUs", - "IGxhdW5jaCBjb21tYW5kVGVtcGxhdGUgd2l0aG91dCB0aGUgcHJvbXB0IGFuZCBrZWVwIHRoZSBwcm9tcHQgaW4gdGhlIFRleHRCb3ggZm9yIHRoZSBhY3Rp", - "dmUgYWdlbnQuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFj", - "dGlvblByZXNlcnZlUHJvbXB0QWZ0ZXJMYXVuY2giCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAic3lzdGVtSW1hZ2UiOiB7CiAgICAgICAgICAg", - "ICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZhbGxiYWNrIFNGIFN5bWJvbCBuYW1lIHNob3duIG9uIHRo", - "ZSBzdWJtaXQgYnV0dG9uLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hT", - "dWJtaXRBY3Rpb25TeXN0ZW1JbWFnZSIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJhc3NldE5hbWUiOiB7CiAgICAgICAgICAgICAgICAidHlw", - "ZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIGFwcCBhc3NldCBjYXRhbG9nIGltYWdlIG5hbWUgc2hvd24g", - "b24gdGhlIHN1Ym1pdCBidXR0b24uIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4", - "dEJveFN1Ym1pdEFjdGlvbkFzc2V0TmFtZSIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJpbWFnZVBhdGgiOiB7CiAgICAgICAgICAgICAgICAi", - "dHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIFBORyBvciBpbWFnZSBmaWxlIHBhdGggc2hvd24gb24g", - "dGhlIHN1Ym1pdCBidXR0b24uIFRpbGRlIGlzIGV4cGFuZGVkLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", - "b25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25JbWFnZVBhdGgiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiYmFja2dyb3VuZENvbG9y", - "SGV4IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4jP1swLTlBLUZhLWZdezZ9KFsw", - "LTlBLUZhLWZdezJ9KT8kIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBY3Rpb24gY29sb3IgbWV0YWRhdGEgYXMgUkdCIG9yIFJHQkEgaGV4", - "LiBUaGUgc3VibWl0IGJ1dHRvbiBmaWxsIHN0YXlzIHdoaXRlIGFuZCBvbmx5IGNoYW5nZXMgb3BhY2l0eSBiZXR3ZWVuIGVuYWJsZWQgYW5kIGRpc2FibGVk", - "IHN0YXRlcy4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0", - "aW9uQmFja2dyb3VuZENvbG9ySGV4IgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImFsbE9mIjogWwogICAgICAgICAgICAg", - "IHsKICAgICAgICAgICAgICAgICJpZiI6IHsKICAgICAgICAgICAgICAgICAgInJlcXVpcmVkIjogWyJraW5kIl0sCiAgICAgICAgICAgICAgICAgICJwcm9w", - "ZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAgICJraW5kIjogeyAiY29uc3QiOiAiY29tbWFuZFRlbXBsYXRlIiB9CiAgICAgICAgICAgICAgICAgIH0K", - "ICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAidGhlbiI6IHsKICAgICAgICAgICAgICAgICAgInJlcXVpcmVkIjogWyJjb21tYW5kVGVtcGxh", - "dGUiXSwKICAgICAgICAgICAgICAgICAgImFueU9mIjogWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVz", - "IjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29tbWFuZFRlbXBsYXRlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmlu", - "ZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXFx7XFx7cHJvbXB0XFx9XFx9IgogICAgICAgICAgICAgICAgICAgICAgICB9CiAg", - "ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAi", - "cmVxdWlyZWQiOiBbInByZXNlcnZlUHJvbXB0QWZ0ZXJMYXVuY2giXSwKICAgICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAg", - "ICAgICAgICAgICAgICAicHJlc2VydmVQcm9tcHRBZnRlckxhdW5jaCI6IHsgImNvbnN0IjogdHJ1ZSB9CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg", - "ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAg", - "ICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVzdW1lQ29tbWFuZHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVmYXVs", - "dCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZ25lZCBjb21tYW5kLXByZWZpeCBhcHByb3ZhbHMgZm9yIHJlc3RvcmluZyBub24tYWdlbnQg", - "dGVybWluYWwgc3VyZmFjZXMuIGNtdXggd3JpdGVzIHRoaXMgbGlzdCB3aGVuIHlvdSBhcHByb3ZlIGEgc3VyZmFjZSByZXN1bWUgY29tbWFuZC4iLAogICAg", - "ICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwK", - "ICAgICAgICAgICAgInJlcXVpcmVkIjogWyJ2ZXJzaW9uIiwgImlkIiwgImNvbW1hbmRQcmVmaXgiLCAiZW52aXJvbm1lbnRLZXlzIiwgInBvbGljeSIsICJj", - "cmVhdGVkQXQiLCAidXBkYXRlZEF0IiwgInNpZ25hdHVyZSJdLAogICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAidmVyc2lvbiI6", - "IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgICAgICAgImNvbnN0IjogMQogICAgICAgICAgICAgIH0sCiAgICAgICAg", - "ICAgICAgImlkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIm5hbWUiOiB7CiAg", - "ICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29tbWFuZFByZWZpeCI6IHsKICAgICAgICAg", - "ICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICAgICAgICJtaW5JdGVtcyI6IDEsCiAgICAgICAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAg", - "ICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAg", - "ICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGFyZ3YgcHJlZml4IHRoYXQgbXVzdCBtYXRjaCB0aGUgc2F2ZWQgcmVzdW1lIGNvbW1hbmQuIgogICAgICAg", - "ICAgICAgIH0sCiAgICAgICAgICAgICAgImN3ZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3Jp", - "cHRpb24iOiAiT3B0aW9uYWwgd29ya2luZyBkaXJlY3RvcnkgdGhhdCBtdXN0IG1hdGNoIHRoZSBzYXZlZCByZXN1bWUgY29tbWFuZC4iCiAgICAgICAgICAg", - "ICAgfSwKICAgICAgICAgICAgICAiZW52aXJvbm1lbnQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICAgImFk", - "ZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAg", - "ICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIG5vbi1zZW5zaXRpdmUgZW52aXJvbm1lbnQgdmFsdWVzIHRoYXQgbXVzdCBtYXRjaCB0aGUgc2F2ZWQgcmVz", - "dW1lIGNvbW1hbmQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImVudmlyb25tZW50S2V5cyI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjog", - "ImFycmF5IiwKICAgICAgICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgfQog", - "ICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICB9", - "LAogICAgICAgICAgICAgICJwb2xpY3kiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImVudW0iOiBbIm1h", - "bnVhbCIsICJwcm9tcHQiLCAiYXV0byJdCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY3JlYXRlZEF0IjogewogICAgICAgICAgICAgICAgInR5", - "cGUiOiAibnVtYmVyIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInVwZGF0ZWRBdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJl", - "ciIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJsYXN0VXNlZEF0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIgogICAgICAg", - "ICAgICAgIH0sCiAgICAgICAgICAgICAgInNpZ25hdHVyZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAi", - "ZGVzY3JpcHRpb24iOiAiSE1BQyBzaWduYXR1cmUgZm9yIHRoZSByZWNvcmQuIENoYW5naW5nIHNpZ25lZCBmaWVsZHMgaW52YWxpZGF0ZXMgdGhlIGFwcHJv", - "dmFsLiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJ1cGxvYWRDb21tYW5kcyI6IHsKICAg", - "ICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJkZWZhdWx0IjogW10sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG9zdC1zY29wZWQgcnVs", - "ZXMgdGhhdCByZXBsYWNlIHRoZSBidWlsdC1pbiBzY3AgZm9yIHRlcm1pbmFsIGZpbGUgZHJvcHMgYW5kIHBhc3RlcyBvdmVyIFNTSC4gV2hlbiB0aGUgc3No", - "IGRlc3RpbmF0aW9uIG1hdGNoZXMgYSBydWxlLCBjbXV4IHJ1bnMgdGhhdCBydWxlJ3MgY29tbWFuZCBvbmNlIHBlciBmaWxlIGluc3RlYWQgb2Ygc2NwLCBh", - "bmQgaW5zZXJ0cyB0aGUgY29tbWFuZCdzIHN0ZG91dCBhdCB0aGUgY3Vyc29yICh2ZXJiYXRpbSwgd2l0aCBjb250cm9sIGNoYXJhY3RlcnMgc3RyaXBwZWQp", - "OyBpZiB0aGUgY29tbWFuZCBwcmludHMgbm90aGluZywgY211eCBpbnNlcnRzIHRoZSBzaGVsbC1lc2NhcGVkIHJlbW90ZSBwYXRoIGl0IGNob3NlIGluc3Rl", - "YWQuIFBlci1maWxlIG91dHB1dHMgYXJlIHNwYWNlLWpvaW5lZC4gRmlyc3QgbWF0Y2hpbmcgZW5hYmxlZCBydWxlIHdpbnM7IG5vIG1hdGNoIHJ1bnMgdGhl", - "IGJ1aWx0LWluIHNjcCB1bmNoYW5nZWQuIEEgbm9uLXplcm8gZXhpdCwgdGltZW91dCwgb3IgY2FuY2VsIGluc2VydHMgbm90aGluZy4iLAogICAgICAgICAg", - "Iml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAg", - "ICAgICAgInJlcXVpcmVkIjogWyJjb21tYW5kIl0sCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICJob3N0UGF0dGVybiI6IHsK", - "ICAgICAgICAgICAgICAgICJ0eXBlIjogWyJzdHJpbmciLCAibnVsbCJdLAogICAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAg", - "ICAiZGVzY3JpcHRpb24iOiAiZm5tYXRjaCBnbG9iIG1hdGNoZWQgYWdhaW5zdCB0aGUgc3NoIGRlc3RpbmF0aW9uICh1c2VyQCBhbmQgSVB2NiBicmFja2V0", - "cyBzdHJpcHBlZCwgbG93ZXJjYXNlZCksIGxpa2UgYSBzaW5nbGUgc3NoX2NvbmZpZyBIb3N0IHBhdHRlcm4uIE9taXQgdGhlIGtleSBvciBzZXQgaXQgdG8g", - "bnVsbCBmb3IgYSBjYXRjaC1hbGwgKGEgYmxhbmsgc3RyaW5nIGlzIHJlamVjdGVkKS4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29tbWFu", - "ZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAgICJw", - "YXR0ZXJuIjogIlxcUyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hlbGwgY29tbWFuZCBydW4gdmlhIC9iaW4vc2ggLWMsIG9uY2UgcGVy", - "IGZpbGUuIEl0IHJlY2VpdmVzIHRoZSBmaWxlIGFuZCBlbmRwb2ludCBvbiBpdHMgZW52aXJvbm1lbnQgKENNVVhfVVBMT0FEX0xPQ0FMX1BBVEgsIENNVVhf", - "VVBMT0FEX1JFTU9URV9QQVRILCBDTVVYX1VQTE9BRF9ERVNUSU5BVElPTiwgQ01VWF9VUExPQURfUE9SVCwgQ01VWF9VUExPQURfSURFTlRJVFlfRklMRSwg", - "Q01VWF9VUExPQURfU1NIX09QVElPTlMpLiBJdHMgc3Rkb3V0IGlzIHdoYXQgY211eCBpbnNlcnRzIGF0IHRoZSBjdXJzb3IuIgogICAgICAgICAgICAgIH0s", - "CiAgICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAgICJkZWZhdWx0Ijog", - "dHJ1ZSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRoaXMgcnVsZSBpcyBhY3RpdmUuIERlZmF1bHRzIHRvIHRydWUuIgogICAg", - "ICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJub3RpZmljYXRpb25zIjogewogICAg", - "ICAidGl0bGUiOiAibm90aWZpY2F0aW9ucyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJOb3RpZmljYXRpb24gYmVoYXZpb3IgZnJvbSBTZXR0aW5ncyA+IE5v", - "dGlmaWNhdGlvbnMuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0", - "aWVzIjogewogICAgICAgICJkb2NrQmFkZ2UiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJi", - "b29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSB1bnJlYWQgY291bnQgaW4gdGhl", - "IERvY2sgdGlsZS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0luTWVudUJhciI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwK", - "ICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhl", - "IG1lbnUgYmFyIGV4dHJhLiIKICAgICAgICB9LAogICAgICAgICJ1bnJlYWRQYW5lUmluZyI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9i", - "YWwiXSwKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhp", - "Z2hsaWdodCBwYW5lcyB3aXRoIHVucmVhZCBub3RpZmljYXRpb25zLiIKICAgICAgICB9LAogICAgICAgICJwYW5lRmxhc2giOiB7CiAgICAgICAgICAieC1j", - "bXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAg", - "ICJkZXNjcmlwdGlvbiI6ICJGbGFzaCB0aGUgZm9jdXNlZCBwYW5lIHdoZW4gcmVxdWVzdGVkLiIKICAgICAgICB9LAogICAgICAgICJwYW5lRmxhc2hDb2xv", - "ciI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAog", - "ICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnBh", - "bmVGbGFzaENvbG9yIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZSB0aGUgcGFuZSBmbGFzaCBhbmQgdW5yZWFkIHJpbmcgY29sb3IuIE51", - "bGwga2VlcHMgdGhlIGJ1aWx0LWluIGJsdWUuIgogICAgICAgIH0sCiAgICAgICAgInN1cHByZXNzT25seUZvY3VzZWRTdXJmYWNlIjogewogICAgICAgICAg", - "IngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAg", - "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnN1cHByZXNzT25seUZvY3VzZWRTdXJmYWNlIiwKICAg", - "ICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIGVuYWJsZWQsIGEgbm90aWZpY2F0aW9uIGJhbm5lciBpcyBhdXRvLXdpdGhkcmF3biBvbmx5IHdoZW4gaXRz", - "IHN1cmZhY2UgaXMgdGhlIGV4YWN0IGZvY3VzZWQgc3VyZmFjZS4gQSBiYW5uZXIgZGVsaXZlcmVkIGZvciBhIG5vbi1mb2N1c2VkIHN1cmZhY2UgaW4gdGhl", - "IGN1cnJlbnRseSB2aXNpYmxlIHdvcmtzcGFjZSBzdGF5cyB1cCB1bnRpbCB5b3UgZm9jdXMgdGhhdCBzdXJmYWNlIChvciBjbGljay9kaXNtaXNzIGl0KSwg", - "aW5zdGVhZCBvZiBiZWluZyByZXRyYWN0ZWQgd2hlbiB0aGUgd29ya3NwYWNlIGJlY29tZXMgdmlzaWJsZS4gT2ZmIHByZXNlcnZlcyB0aGUgbGVnYWN5IHdv", - "cmtzcGFjZS12aXNpYmlsaXR5IHdpdGhkcmF3LiIKICAgICAgICB9LAogICAgICAgICJhZ2VudFBlcm1pc3Npb25Qcm9tcHQiOiB7CiAgICAgICAgICAieC1j", + "bXV4Lmpzb24gb3IgY211eC5qc29uIHN1cHBvcnRzIGFjdGlvbnMsIGNvbW1hbmRzLCBub3RpZmljYXRpb24gaG9va3MsIFVJIGFjdGlvbiB3aXJpbmcsIEFn", + "ZW50IENoYXQgb3ZlcnJpZGVzLCB2YXVsdCBhZ2VudHMsIHdvcmtzcGFjZS1ncm91cCBvdmVycmlkZXMsIGFuZCB3b3Jrc3BhY2UgbGF1bmNoL2J1dHRvbiBj", + "b25maWd1cmF0aW9uLiIsCiAgInR5cGUiOiAib2JqZWN0IiwKICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAicHJvcGVydGllcyI6IHsKICAg", + "ICIkc2NoZW1hIjogewogICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAiZm9ybWF0IjogInVyaSIsCiAgICAgICJkZWZhdWx0IjogImh0dHBzOi8vcmF3", + "LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tYW5hZmxvdy1haS9jbXV4L21haW4vd2ViL2RhdGEvY211eC5zY2hlbWEuanNvbiIsCiAgICAgICJkZXNjcmlwdGlv", + "biI6ICJPcHRpb25hbCBzY2hlbWEgVVJMIGZvciBlZGl0b3IgY29tcGxldGlvbiBhbmQgdmFsaWRhdGlvbi4iCiAgICB9LAogICAgInNjaGVtYVZlcnNpb24i", + "OiB7CiAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAibWluaW11bSI6IDEsCiAgICAgICJkZWZhdWx0IjogMSwKICAgICAgImRlc2NyaXB0aW9uIjog", + "IlNjaGVtYSB2ZXJzaW9uIGZvciBmb3J3YXJkLWNvbXBhdGlibGUgbWlncmF0aW9ucy4gTmV3ZXIgdmVyc2lvbnMgYXJlIHBhcnNlZCBvbiBhIGJlc3QtZWZm", + "b3J0IGJhc2lzLiIKICAgIH0sCiAgICAicGFuZUJvcmRlckNvbG9yIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICIkcmVm", + "IjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAiZGVmYXVsdCI6IG51bGwsCiAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlw", + "dGlvbnMucGFuZUJvcmRlckNvbG9yIiwKICAgICAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlIHRoZSBjbXV4IHBhbmUgZGl2aWRlciBjb2xvciBpbiBzcGxp", + "dCB3b3Jrc3BhY2VzLiBUaGlzIGFmZmVjdHMgY211eCBwYW5lIGJvdW5kYXJpZXMsIG5vdCBHaG9zdHR5IGludGVybmFsIHNwbGl0cy4iCiAgICB9LAogICAg", + "ImFjdGl2ZVBhbmVCb3JkZXJDb2xvciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9y", + "SGV4T3JOdWxsIiwKICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFjdGl2ZVBhbmVC", + "b3JkZXJDb2xvciIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBib3JkZXIgY29sb3IgZHJhd24gYXJvdW5kIHRoZSBmb2N1c2VkIGNtdXggcGFu", + "ZSBpbiBzcGxpdCB3b3Jrc3BhY2VzLiIKICAgIH0sCiAgICAiYWN0aW9ucyI6IHsKICAgICAgInRpdGxlIjogImFjdGlvbnMiLAogICAgICAiZGVzY3JpcHRp", + "b24iOiAiQWN0aW9uIHJlZ2lzdHJ5IHVzZWQgYnkgdGhlIHN1cmZhY2UgdGFiIGJhciwgQ29tbWFuZCBQYWxldHRlLCBzaG9ydGN1dHMsIGFuZCBwbHVzLWJ1", + "dHRvbiBtZW51LiBFYWNoIGVudHJ5IHN1cHBvcnRzIHR5cGUgXCJidWlsdGluXCIsIFwiY29tbWFuZFwiLCBcImFnZW50XCIgKGFueSBDTEkgYWdlbnQgbmFt", + "ZSwgZS5nLiBjbGF1ZGUsIGNvZGV4LCBvcGVuY29kZSwgb3IgYSBjdXN0b20gYmluYXJ5LCB3aXRoIG9wdGlvbmFsIGFyZ3MpLCBcIndvcmtzcGFjZUNvbW1h", + "bmRcIiwgb3IgXCJ3b3Jrc3BhY2VcIiAoaW5saW5lIHdvcmtzcGFjZSB3aXRoIG5hbWUvY3dkL2NvbG9yL2Vudi9zZXR1cC9sYXlvdXQsIHBsdXMgb3B0aW9u", + "YWwgcmVzdGFydCkuIElubGluZSB3b3Jrc3BhY2UgZW50cmllcyBhcmUgYXV0by1vZmZlcmVkIGluIHRoZSBuZXctd29ya3NwYWNlIHBsdXMtYnV0dG9uIG1l", + "bnU7IHNldCBuZXdXb3Jrc3BhY2VNZW51IHRydWUvZmFsc2Ugb24gYW55IGFjdGlvbiB0byBvdmVycmlkZS4gXCJTYXZlIFdvcmtzcGFjZSBhcyBMYXlvdXRc", + "IiBpbiB0aGUgcGx1cy1idXR0b24gbWVudSB3cml0ZXMgZW50cmllcyBoZXJlLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFs", + "UHJvcGVydGllcyI6IHRydWUKICAgIH0sCiAgICAidWkiOiB7CiAgICAgICJ0aXRsZSI6ICJ1aSIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJVSSBhY3Rpb24g", + "d2lyaW5nLCBpbmNsdWRpbmcgc3VyZmFjZSB0YWIgYmFyIGJ1dHRvbnMgYW5kIHBsdXMtYnV0dG9uIGJlaGF2aW9yLiBUaGUgcGx1cy1idXR0b24gY29udGV4", + "dCBtZW51IHNob3dzIHVpLm5ld1dvcmtzcGFjZS5jb250ZXh0TWVudSAob3IgdGhlIGRlZmF1bHQgaXRlbXMpIGZvbGxvd2VkIGJ5IGFjdGlvbnMgdGhhdCBv", + "cHQgaW4gdmlhIG5ld1dvcmtzcGFjZU1lbnUuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZSwK", + "ICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgIm5ld1dvcmtzcGFjZSI6IHsKICAgICAgICAgICJ0aXRsZSI6ICJuZXdXb3Jrc3BhY2UiLAogICAgICAg", + "ICAgImRlc2NyaXB0aW9uIjogIk5ldyBXb3Jrc3BhY2UgYnV0dG9uIGJlaGF2aW9yIGFuZCBjb250ZXh0LW1lbnUgd2lyaW5nLiIsCiAgICAgICAgICAidHlw", + "ZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZSwKICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAg", + "ICAiYWN0aW9uIjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIklEIG9mIHRoZSBhY3Rp", + "b24gcnVuIGJ5IHBsYWluIE5ldyBXb3Jrc3BhY2UuIFRoaXMgaXMgdGhlIGRlZmF1bHQgd29ya3NwYWNlIGxheW91dDsgb21pdCBvciByZW1vdmUgaXQgZm9y", + "IE5vbmUgKEJsYW5rIFRlcm1pbmFsKS4gUHJvamVjdC1sb2NhbCB1aS5uZXdXb3Jrc3BhY2UuYWN0aW9uIHdpbnMgb3ZlciB0aGUgZ2xvYmFsIHZhbHVlLiIK", + "ICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJjb21tYW5kcyI6IHsKICAgICAgInRpdGxlIjogImNvbW1h", + "bmRzIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkN1c3RvbSBzaGVsbCBjb21tYW5kcyBhbmQgd29ya3NwYWNlIGxheW91dCBkZWZpbml0aW9ucy4gV29ya3Nw", + "YWNlIGRlZmluaXRpb25zIHN1cHBvcnQgbmFtZSwgY3dkLCBjb2xvciwgZW52LCBsYXlvdXQsIGFuZCBzZXR1cCAoYSBib290c3RyYXAgY29tbWFuZCBzZW50", + "IHRvIHRoZSBmaXJzdCB0ZXJtaW5hbCBiZWZvcmUgaXRzIG93biBjb21tYW5kKS4iLAogICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICJpdGVtcyI6IHsK", + "ICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHRydWUKICAgICAgfQogICAgfSwKICAgICJjb21wdXRl", + "clVzZSI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAiY29tcHV0ZXJVc2UiLAogICAgICAidHlwZSI6ICJv", + "YmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgImRlc2NyaXB0aW9uIjogIkxvY2FsIGNvbXB1dGVyLXVzZSB0b29s", + "cyBhbmQgbWVudS1iYXIgdmlzaWJpbGl0eS4iLAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmNvbXB1dGVyVXNlLmRlc2Ny", + "aXB0aW9uIiwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAg", + "ICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbGxvdyBzdXBwb3J0ZWQgYWdlbnQgbGF1bmNoZXMgaW4gY211eCB0ZXJtaW5h", + "bHMgdG8gYXR0YWNoIHRoZSBsb2NhbCBjb21wdXRlci11c2UgdG9vbHMuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlv", + "bnMuY29tcHV0ZXJVc2UuZW5hYmxlZCIKICAgICAgICB9LAogICAgICAgICJzaG93SW5NZW51QmFyIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIs", + "CiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBsaXZlIGNvbXB1dGVyLXVzZSBzZXNzaW9ucyBhbmQg", + "Zm9jdXMgYWN0aW9ucyBpbiB0aGUgbWVudSBiYXIuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuY29tcHV0ZXJV", + "c2Uuc2hvd0luTWVudUJhciIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiYWdlbnRDaGF0IjogewogICAgICAidGl0bGUiOiAiYWdlbnRDaGF0IiwK", + "ICAgICAgImRlc2NyaXB0aW9uIjogIkFnZW50IENoYXQgR1VJIHNlcnZlciBzZXR0aW5ncy4gVGhlIGJ1aWx0LWluIE5ldyBhZ2VudCBjaGF0IGFjdGlvbiBv", + "cGVucyB0aGlzIFVSTCBpbiBhIGJyb3dzZXIgd29ya3NwYWNlLCBwcm9iaW5nIC9oZWFsdGh6IGZpcnN0IGFuZCBvcHRpb25hbGx5IHN0YXJ0aW5nIHRoZSBz", + "ZXJ2ZXIgd2l0aCBzdGFydENvbW1hbmQuIiwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZGVzY3JpcHRp", + "b24iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAg", + "ICAgICAgInVybCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZm9ybWF0IjogInVyaSIsCiAgICAgICAgICAicGF0dGVybiI6", + "ICJeaHR0cHM/Oi8vIiwKICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgImRlZmF1bHQiOiAiaHR0cDovLzEyNy4wLjAuMTo3NzM5IiwKICAg", + "ICAgICAgICJkZXNjcmlwdGlvbiI6ICJCYXNlIFVSTCBmb3IgdGhlIG1hY2hpbmUtbG9jYWwgQWdlbnQgQ2hhdCBHVUkgc2VydmVyLiBjbXV4IHByb2JlcyA8", + "dXJsPi9oZWFsdGh6IGJlZm9yZSBvcGVuaW5nIHRoZSB3b3Jrc3BhY2UuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlv", + "bnMuYWdlbnRDaGF0LnVybCIKICAgICAgICB9LAogICAgICAgICJzdGFydENvbW1hbmQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAg", + "ICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgc2hlbGwgY29tbWFuZCB0byBzdGFydCB0aGUgQWdlbnQgQ2hh", + "dCBzZXJ2ZXIgd2hlbiA8dXJsPi9oZWFsdGh6IGlzIHVucmVhY2hhYmxlLiBjbXV4IHJ1bnMgaXQgZGV0YWNoZWQgd2l0aCB0aGUgdXNlcidzIFNIRUxMLCBw", + "b2xscyBoZWFsdGh6IGZvciBhIHNob3J0IGJvdW5kZWQgd2luZG93LCB0aGVuIG9wZW5zIHRoZSB3b3Jrc3BhY2UgZWl0aGVyIHdheS4iLAogICAgICAgICAg", + "ImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuc3RhcnRDb21tYW5kIgogICAgICAgIH0sCiAgICAgICAgImtleXMiOiB7", + "CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRp", + "b24iOiAiS2V5Ym9hcmQgYmVoYXZpb3Igb3ZlcnJpZGVzIGZvciB0aGUgQWdlbnQgQ2hhdCB3ZWIgVUkuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6", + "ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmtleXMuZGVzY3JpcHRpb24iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJj", + "dHJsSiI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJlbnVtIjogWyJuZXdsaW5lIiwgIm1lbnUiXSwKICAgICAg", + "ICAgICAgICAiZGVmYXVsdCI6ICJuZXdsaW5lIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQmVoYXZpb3IgZm9yIEN0cmwrSiBpbiBBZ2VudCBD", + "aGF0IHRleHQgZmllbGRzLiBVc2UgbmV3bGluZSB0byBpbnNlcnQgYSBsaW5lIGJyZWFrLCBvciBtZW51IHRvIG1vdmUgdG8gdGhlIG5leHQgcG9wdXAgaXRl", + "bSB3aGlsZSBhIG1lbnUgaXMgb3Blbi4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0Lmtl", + "eXMuY3RybEoiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJmb250cyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVj", + "dCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGb250IG92ZXJyaWRlcyBmb3Ig", + "dGhlIEFnZW50IENoYXQgd2ViIFVJLiBPbWl0dGVkIHZhbHVlcyBmYWxsIGJhY2sgdG8gR2hvc3R0eSBhbmQgYnVpbHQtaW4gZGVmYXVsdHMuIiwKICAgICAg", + "ICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmRlc2NyaXB0aW9uIiwKICAgICAgICAgICJwcm9wZXJ0", + "aWVzIjogewogICAgICAgICAgICAic2Fuc0ZhbWlseSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJtaW5MZW5n", + "dGgiOiAxLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDU1MgZm9udCBmYW1pbHkgdXNlZCBmb3IgQWdlbnQgQ2hhdCBib2R5IGFuZCBVSSB0ZXh0", + "LiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuc2Fuc0ZhbWlseSIKICAgICAg", + "ICAgICAgfSwKICAgICAgICAgICAgImJvZHlGYW1pbHkiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAibWluTGVu", + "Z3RoIjogMSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxpYXMgZm9yIHNhbnNGYW1pbHkuIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25L", + "ZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5ib2R5RmFtaWx5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZmFtaWx5Ijog", + "ewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9u", + "IjogIkFsaWFzIGZvciBzYW5zRmFtaWx5LiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQu", + "Zm9udHMuZmFtaWx5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiYmFzZVNpemUiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAg", + "ICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkJhc2UgQWdlbnQgQ2hhdCBmb250IHNpemUg", + "aW4gQ1NTIHBpeGVscy4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmJhc2VT", + "aXplIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiYm9keVNpemUiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICAg", + "ICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsaWFzIGZvciBiYXNlU2l6ZS4iLAogICAgICAgICAgICAg", + "ICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmJvZHlTaXplIgogICAgICAgICAgICB9LAogICAgICAgICAg", + "ICAibW9ub0ZhbWlseSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAg", + "ICAgICJkZXNjcmlwdGlvbiI6ICJDU1MgZm9udCBmYW1pbHkgdXNlZCBmb3IgQWdlbnQgQ2hhdCBjb2RlIGFuZCBtb25vc3BhY2UgdGV4dC4iLAogICAgICAg", + "ICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLm1vbm9GYW1pbHkiCiAgICAgICAgICAgIH0sCiAg", + "ICAgICAgICAgICJjb2RlRmFtaWx5IjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAg", + "ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsaWFzIGZvciBtb25vRmFtaWx5LiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVt", + "YURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuY29kZUZhbWlseSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImNvZGVTaXplIjogewogICAgICAg", + "ICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAgICAgImV4Y2x1c2l2ZU1pbmltdW0iOiAwLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6", + "ICJBZ2VudCBDaGF0IGNvZGUgZm9udCBzaXplIGluIENTUyBwaXhlbHMuIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3Jp", + "cHRpb25zLmFnZW50Q2hhdC5mb250cy5jb2RlU2l6ZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm1vbm9TaXplIjogewogICAgICAgICAgICAgICJ0", + "eXBlIjogIm51bWJlciIsCiAgICAgICAgICAgICAgImV4Y2x1c2l2ZU1pbmltdW0iOiAwLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbGlhcyBm", + "b3IgY29kZVNpemUuIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5tb25vU2l6", + "ZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImNvZGVMaW5lSGVpZ2h0IjogewogICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAg", + "ICAgICAgImV4Y2x1c2l2ZU1pbmltdW0iOiAwLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMaW5lLWhlaWdodCBtdWx0aXBsaWVyIHVzZWQgZm9y", + "IEFnZW50IENoYXQgY29kZSBibG9ja3MuIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5m", + "b250cy5jb2RlTGluZUhlaWdodCIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJ2YXVsdCI6IHsKICAg", + "ICAgInRpdGxlIjogInZhdWx0IiwKICAgICAgImRlc2NyaXB0aW9uIjogIlZhdWx0IHNlc3Npb24gcmVzdG9yZSBhZ2VudCByZWdpc3RyYXRpb25zLiBjbXV4", + "IGluY2x1ZGVzIFBpIGJ5IGRlZmF1bHQ7IHVzZSB0aGlzIHNlY3Rpb24gdG8gYWRkIG9yIG92ZXJyaWRlIEpTT05MLWJhY2tlZCBjb2RpbmcgYWdlbnRzIHdp", + "dGhvdXQgYW4gYXBwIHVwZGF0ZS4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAg", + "InByb3BlcnRpZXMiOiB7CiAgICAgICAgImFnZW50cyI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJD", + "dXN0b20gY29kaW5nIGFnZW50cyB0aGF0IFZhdWx0IGNhbiBkZXRlY3QsIGxpc3QsIGFuZCByZXN1bWUuIiwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAg", + "ICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZSwKICAgICAgICAgICAgInJlcXVpcmVkIjog", + "WyJpZCIsICJuYW1lIiwgInNlc3Npb25JZFNvdXJjZSIsICJyZXN1bWVDb21tYW5kIl0sCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAg", + "ICAgICJpZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAicGF0dGVybiI6ICJeW0EtWmEtejAtOS5fLV0r", + "JCIsCiAgICAgICAgICAgICAgICAibWF4TGVuZ3RoIjogNjQsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU3RhYmxlIGNhc2UtcHJlc2Vydmlu", + "ZyBBU0NJSSBpZGVudGlmaWVyIHVzZWQgaW4gVmF1bHQgcGVyc2lzdGVuY2UsIGZvciBleGFtcGxlIHBpLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAg", + "ICAgICJuYW1lIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNwbGF5IG5h", + "bWUgc2hvd24gaW4gVmF1bHQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImljb25Bc3NldE5hbWUiOiB7CiAgICAgICAgICAgICAgICAidHlw", + "ZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIGFzc2V0IGNhdGFsb2cgaW1hZ2UgbmFtZSBzaG93biBmb3Ig", + "dGhpcyBhZ2VudCBpbiBWYXVsdC4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiZGV0ZWN0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAi", + "b2JqZWN0IiwKICAgICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJ1", + "bGVzIGZvciBkZXRlY3RpbmcgYSBydW5uaW5nIGFnZW50IHByb2Nlc3MgaW5zaWRlIGEgY211eCB0ZXJtaW5hbC4iLAogICAgICAgICAgICAgICAgInByb3Bl", + "cnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgICJwcm9jZXNzTmFtZSI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAg", + "ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFeGVjdXRhYmxlIGJhc2VuYW1lIHRvIG1hdGNoLCBmb3IgZXhhbXBsZSBwaS4iCiAgICAgICAgICAgICAg", + "ICAgIH0sCiAgICAgICAgICAgICAgICAgICJhcmd2Q29udGFpbnMiOiB7CiAgICAgICAgICAgICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICAgICAg", + "ICAgICAgeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFycmF5", + "IiwKICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1zIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg", + "ICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdWJzdHJpbmcgb3Igc3Vic3RyaW5ncyB0aGF0IG11c3QgYXBwZWFy", + "IGluIHRoZSBwcm9jZXNzIGFyZ3YuIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAg", + "ICAic2Vzc2lvbklkU291cmNlIjogewogICAgICAgICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg", + "InR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVXNlIHBpU2Vzc2lvbkZpbGUgZm9yIFBpIEpTT05MIGRpc2Nv", + "dmVyeSwgb3IgYW4gYXJndiBvcHRpb24gc3VjaCBhcyAtLXNlc3Npb24uIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICB7CiAgICAg", + "ICAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAg", + "ICAgICAgICAgICAgICAicmVxdWlyZWQiOiBbInR5cGUiXSwKICAgICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAg", + "ICAgICJ0eXBlIjogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAiZW51bSI6IFsi", + "YXJndk9wdGlvbiIsICJwaVNlc3Npb25GaWxlIl0KICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAiYXJndk9wdGlvbiI6", + "IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlv", + "biB3aG9zZSBmb2xsb3dpbmcgdmFsdWUgaXMgdGhlIHNlc3Npb24gaWQsIGZvciBleGFtcGxlIC0tc2Vzc2lvbi4iCiAgICAgICAgICAgICAgICAgICAgICB9", + "CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYWxsT2YiOiBbCiAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg", + "ICAgICAgICAgICAgICJpZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg", + "ICJ0eXBlIjogeyAiY29uc3QiOiAiYXJndk9wdGlvbiIgfQogICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwK", + "ICAgICAgICAgICAgICAgICAgICAgICAgInRoZW4iOiB7ICJyZXF1aXJlZCI6IFsiYXJndk9wdGlvbiJdIH0KICAgICAgICAgICAgICAgICAgICAgIH0sCiAg", + "ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJpZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAicHJvcGVydGll", + "cyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogeyAiY29uc3QiOiAicGlTZXNzaW9uRmlsZSIgfQogICAgICAgICAgICAgICAgICAg", + "ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInRoZW4iOiB7CiAgICAgICAgICAgICAgICAgICAg", + "ICAgICAgIm5vdCI6IHsgInJlcXVpcmVkIjogWyJhcmd2T3B0aW9uIl0gfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg", + "ICB9CiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgImRlc2NyaXB0", + "aW9uIjogIldoZXJlIGNtdXggcmVhZHMgdGhlIG5hdGl2ZSBzZXNzaW9uIGlkIGZvciBhbiBhY3RpdmUgcHJvY2Vzcy4iCiAgICAgICAgICAgICAgfSwKICAg", + "ICAgICAgICAgICAicmVzdW1lQ29tbWFuZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiYW55T2YiOiBb", + "CiAgICAgICAgICAgICAgICAgIHsgInBhdHRlcm4iOiAiXFx7XFx7c2Vzc2lvbklkXFx9XFx9IiB9LAogICAgICAgICAgICAgICAgICB7ICJwYXR0ZXJuIjog", + "Ilxce1xce3Nlc3Npb25QYXRoXFx9XFx9IiB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsLWxpa2Ug", + "YXJndiB0ZW1wbGF0ZSB1c2VkIHRvIHJlc3VtZSBhIHNlc3Npb24uIFN1cHBvcnRlZCBwbGFjZWhvbGRlcnM6IHt7c2Vzc2lvbklkfX0sIHt7c2Vzc2lvblBh", + "dGh9fSwge3tleGVjdXRhYmxlfX0sIHt7Y3dkfX0sIHt7c2Vzc2lvbkRpcn19LiBNdXN0IGluY2x1ZGUge3tzZXNzaW9uSWR9fSBvciB7e3Nlc3Npb25QYXRo", + "fX0uIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImZvcmtDb21tYW5kIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAg", + "ICAgICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgICAgICAgeyAicGF0dGVybiI6ICJcXHtcXHtzZXNzaW9uSWRcXH1cXH0iIH0sCiAgICAgICAg", + "ICAgICAgICAgIHsgInBhdHRlcm4iOiAiXFx7XFx7c2Vzc2lvblBhdGhcXH1cXH0iIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAiZGVz", + "Y3JpcHRpb24iOiAiT3B0aW9uYWwgc2hlbGwtbGlrZSBhcmd2IHRlbXBsYXRlIHVzZWQgdG8gZm9yayAoYnJhbmNoKSBhIHNlc3Npb24gaW50byBhIG5ldyBj", + "b3B5LCBmb3IgZXhhbXBsZSBcInt7ZXhlY3V0YWJsZX19IC0tc2Vzc2lvbiB7e3Nlc3Npb25JZH19IC0tZm9ya1wiLiBTYW1lIHBsYWNlaG9sZGVycyBhcyBy", + "ZXN1bWVDb21tYW5kLiBPbWl0IHdoZW4gdGhlIGFnZW50IGhhcyBubyBmb3JrIGNhcGFiaWxpdHk7IEZvcmsgQ29udmVyc2F0aW9uIHN0YXlzIGhpZGRlbiBm", + "b3IgaXQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImN3ZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAg", + "ICAgICAgICAiZW51bSI6IFsicHJlc2VydmUiLCAiaWdub3JlIl0sCiAgICAgICAgICAgICAgICAiZGVmYXVsdCI6ICJwcmVzZXJ2ZSIsCiAgICAgICAgICAg", + "ICAgICAiZGVzY3JpcHRpb24iOiAiV2hldGhlciBWYXVsdCBzaG91bGQgY2QgdG8gdGhlIHNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGJlZm9yZSBydW5uaW5n", + "IHJlc3VtZUNvbW1hbmQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInNlc3Npb25EaXJlY3RvcnkiOiB7CiAgICAgICAgICAgICAgICAidHlw", + "ZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHJvb3QgZGlyZWN0b3J5IGZvciBKU09OTCBzZXNzaW9uIGRp", + "c2NvdmVyeSwgc3VjaCBhcyB+Ly5waS9hZ2VudC9zZXNzaW9ucy4iCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAg", + "ICAgImRlZmF1bHQiOiBbXQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJuZXdXb3Jrc3BhY2VDb21tYW5kIjogewogICAgICAidHlwZSI6ICJzdHJp", + "bmciLAogICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IG5hbWUgb2YgYSB3b3Jrc3BhY2UgY29tbWFuZCB0byBydW4gd2hlbiBjcmVhdGluZyBhIG5ldyB3", + "b3Jrc3BhY2UuIFByZWZlciB1aS5uZXdXb3Jrc3BhY2UuYWN0aW9uIGZvciBuZXcgY29uZmlncy4iCiAgICB9LAogICAgIndvcmtzcGFjZUdyb3VwcyI6IHsK", + "ICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgInRpdGxlIjogIndvcmtzcGFjZUdyb3VwcyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJQZXItY3dkIGN1", + "c3RvbWl6YXRpb24gZm9yIHNpZGViYXIgd29ya3NwYWNlIGdyb3Vwcy4gVGhlIGFuY2hvciB3b3Jrc3BhY2UncyBjd2QgaXMgbWF0Y2hlZCBhZ2FpbnN0IHRo", + "ZSBrZXlzIGluIGBieUN3ZGA7IGxvbmdlc3QtbWF0Y2ggd2lucy4gS2V5cyBjb250YWluaW5nIGAqYCBvciBgP2AgYXJlIG1hdGNoZWQgYXMgZm5tYXRjaCBn", + "bG9icyAod2l0aCBgfmAgZXhwYW5kZWQpOyBvdGhlciBrZXlzIGFyZSBwYXRoIHByZWZpeGVzLiIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZh", + "bHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAibmV3V29ya3NwYWNlUGxhY2VtZW50IjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBb", + "Imdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJhZnRlckN1cnJlbnQiLCAidG9wIiwgImVuZCJdLAog", + "ICAgICAgICAgImRlZmF1bHQiOiAiYWZ0ZXJDdXJyZW50IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJHbG9iYWwgZGVmYXVsdCBmb3Igd2hlcmUgQ21k", + "LU4gaW5zaWRlIGEgZ3JvdXAsIHRoZSBncm91cCBoZWFkZXIgKyBidXR0b24sIGFuZCBjb25maWd1cmVkIGdyb3VwIGFjdGlvbnMgcGxhY2UgdGhlIG5ldyB3", + "b3Jrc3BhY2U6IGBhZnRlckN1cnJlbnRgIChhZnRlciB0aGUgYWN0aXZlIGluLWdyb3VwIHdvcmtzcGFjZSwgZmFsbGluZyBiYWNrIHRvIHRvcCksIGB0b3Bg", + "IChzZWNvbmQgc2xvdCwganVzdCBhZnRlciB0aGUgYW5jaG9yKSwgb3IgYGVuZGAgKGFmdGVyIHRoZSBsYXN0IG1lbWJlcikuIiwKICAgICAgICAgICJkZXNj", + "cmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMud29ya3NwYWNlR3JvdXBzLm5ld1dvcmtzcGFjZVBsYWNlbWVudCIKICAgICAgICB9LAogICAgICAg", + "ICJieUN3ZCI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWFwIG9mIGN3ZCBwYXR0ZXJucyB0byBn", + "cm91cCBjdXN0b21pemF0aW9uLiBFbXB0eSB3aGVuIG9taXR0ZWQuIiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAg", + "InR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewog", + "ICAgICAgICAgICAgICJjb2xvciI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", + "SGV4IGNvbG9yIChlLmcuIFwiIzdBNEZEOFwiKSBhcHBsaWVkIGFzIHRoZSBncm91cCBoZWFkZXIgdGludCB3aGVuIHRoZSBncm91cCBpdHNlbGYgaGFzIG5v", + "IGV4cGxpY2l0IGN1c3RvbUNvbG9yLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJpY29uIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAi", + "c3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTRiBTeW1ib2wgbmFtZSAoZS5nLiBcImZvbGRlci5maWxsXCIsIFwibGFkeWJ1Zy5m", + "aWxsXCIpIGZvciB0aGUgZ3JvdXAgaGVhZGVyLiBGYWxscyBiYWNrIHRvIFwiZm9sZGVyLmZpbGxcIiB3aGVuIG9taXR0ZWQuIgogICAgICAgICAgICAgIH0s", + "CiAgICAgICAgICAgICAgImNvbnRleHRNZW51IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgICAgICAgImRlc2NyaXB0", + "aW9uIjogIkl0ZW1zIGFwcGVhcmluZyBpbiB0aGUgcmlnaHQtY2xpY2sgbWVudSBvbiB0aGUgZ3JvdXAncyArIGJ1dHRvbi4gU2FtZSBzY2hlbWEgYXMgdGhl", + "IGdsb2JhbCB1aS5uZXdXb3Jrc3BhY2UuY29udGV4dE1lbnUgZW50cmllcy4iLAogICAgICAgICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAgICAg", + "ICAib25lT2YiOiBbCiAgICAgICAgICAgICAgICAgICAgeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAgICAgICAgICAgICAgICAgeyAidHlwZSI6ICJvYmpl", + "Y3QiLCAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlIH0KICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0s", + "CiAgICAgICAgICAgICAgIm5ld1dvcmtzcGFjZVBsYWNlbWVudCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAg", + "ICAiZW51bSI6IFsiYWZ0ZXJDdXJyZW50IiwgInRvcCIsICJlbmQiXSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJQZXItY3dkIG92ZXJyaWRl", + "IGZvciB3aGVyZSBDbWQtTiBpbnNpZGUgdGhlIGdyb3VwLCB0aGUgZ3JvdXAgaGVhZGVyICsgYnV0dG9uLCBhbmQgY29uZmlndXJlZCBncm91cCBhY3Rpb25z", + "IHBsYWNlIHRoZSBuZXcgd29ya3NwYWNlOiBgYWZ0ZXJDdXJyZW50YCAoYWZ0ZXIgdGhlIGFjdGl2ZSBpbi1ncm91cCB3b3Jrc3BhY2UsIGZhbGxpbmcgYmFj", + "ayB0byB0b3ApLCBgdG9wYCAoc2Vjb25kIHNsb3QsIGp1c3QgYWZ0ZXIgdGhlIGFuY2hvciksIG9yIGBlbmRgIChhZnRlciB0aGUgbGFzdCBtZW1iZXIpLiBG", + "YWxscyBiYWNrIHRvIHRoZSBnbG9iYWwgZGVmYXVsdCB3aGVuIG9taXR0ZWQuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFE", + "ZXNjcmlwdGlvbnMud29ya3NwYWNlR3JvdXBzLmJ5Q3dkLm5ld1dvcmtzcGFjZVBsYWNlbWVudCIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAg", + "ICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAic3VyZmFjZVRhYkJhckJ1dHRvbnMiOiB7CiAgICAgICJ0aXRsZSI6ICJzdXJmYWNlVGFi", + "QmFyQnV0dG9ucyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgcm9vdC1sZXZlbCBzdXJmYWNlIHRhYiBiYXIgYnV0dG9ucy4gUHJlZmVyIHVpLnN1", + "cmZhY2VUYWJCYXIuYnV0dG9ucyBmb3IgbmV3IGNvbmZpZ3MuIiwKICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAiaXRlbXMiOiB7CiAgICAgICAgIm9u", + "ZU9mIjogWwogICAgICAgICAgeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAg", + "ICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHRydWUKICAgICAgICAgIH0KICAgICAgICBdCiAgICAgIH0KICAgIH0sCiAgICAiYXBwIjogewogICAgICAi", + "eC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJhcHAiLAogICAgICAiZGVzY3JpcHRpb24iOiAiR2VuZXJhbCBhcHAgcHJlZmVy", + "ZW5jZXMgZnJvbSBTZXR0aW5ncyA+IEFwcC4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwK", + "ICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImxhbmd1YWdlIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjog", + "WwogICAgICAgICAgICAic3lzdGVtIiwKICAgICAgICAgICAgImVuIiwKICAgICAgICAgICAgImFyIiwKICAgICAgICAgICAgImJzIiwKICAgICAgICAgICAg", + "InpoLUhhbnMiLAogICAgICAgICAgICAiemgtSGFudCIsCiAgICAgICAgICAgICJkYSIsCiAgICAgICAgICAgICJkZSIsCiAgICAgICAgICAgICJlcyIsCiAg", + "ICAgICAgICAgICJmciIsCiAgICAgICAgICAgICJpdCIsCiAgICAgICAgICAgICJqYSIsCiAgICAgICAgICAgICJrbyIsCiAgICAgICAgICAgICJuYiIsCiAg", + "ICAgICAgICAgICJwbCIsCiAgICAgICAgICAgICJwdC1CUiIsCiAgICAgICAgICAgICJydSIsCiAgICAgICAgICAgICJ0aCIsCiAgICAgICAgICAgICJ0ciIK", + "ICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzeXN0ZW0iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlByZWZlcnJlZCBhcHAgbGFuZ3Vh", + "Z2UuIgogICAgICAgIH0sCiAgICAgICAgImFwcGVhcmFuY2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInN5", + "c3RlbSIsICJsaWdodCIsICJkYXJrIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzeXN0ZW0iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFwcCBhcHBl", + "YXJhbmNlIG1vZGUuIgogICAgICAgIH0sCiAgICAgICAgImFwcEljb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0i", + "OiBbImF1dG9tYXRpYyIsICJsaWdodCIsICJkYXJrIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJhdXRvbWF0aWMiLAogICAgICAgICAgImRlc2NyaXB0aW9u", + "IjogIkRvY2sgYW5kIGFwcCBzd2l0Y2hlciBpY29uIHN0eWxlLiIKICAgICAgICB9LAogICAgICAgICJ3aW5kb3dUaXRsZVRlbXBsYXRlIjogewogICAgICAg", + "ICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", + "b25zLmFwcC53aW5kb3dUaXRsZVRlbXBsYXRlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBOU1dpbmRvdyB0aXRsZSB0ZW1wbGF0ZS4g", + "QmxhbmsgcHJlc2VydmVzIGNtdXgncyBleGlzdGluZyBkZWZhdWx0IHRpdGxlIGJlaGF2aW9yLCBpbmNsdWRpbmcgdGhlIGN1cnJlbnQtZGlyZWN0b3J5IGZh", + "bGxiYWNrLiBTdXBwb3J0ZWQgcGxhY2Vob2xkZXJzOiB7d2luZG93SWR9LCB7d2luZG93VG9rZW59LCB7YWN0aXZlV29ya3NwYWNlfSwge2FjdGl2ZURpcmVj", + "dG9yeX0sIHtkZWZhdWx0VGl0bGV9LCB7YXBwTmFtZX0uIgogICAgICAgIH0sCiAgICAgICAgIm1lbnVCYXJPbmx5IjogewogICAgICAgICAgInR5cGUiOiAi", + "Ym9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGhlIERvY2sgaWNvbiBhbmQgYXBw", + "IHN3aXRjaGVyIGVudHJ5IHdoaWxlIGtlZXBpbmcgY211eCBhdmFpbGFibGUgZnJvbSB0aGUgbWVudSBiYXIuIgogICAgICAgIH0sCiAgICAgICAgIm5ld1dv", + "cmtzcGFjZVBsYWNlbWVudCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsidG9wIiwgImFmdGVyQ3VycmVudCIs", + "ICJlbmQiXSwKICAgICAgICAgICJkZWZhdWx0IjogImFmdGVyQ3VycmVudCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlcmUgbmV3IHdvcmtzcGFj", + "ZXMgYXJlIGluc2VydGVkIGluIHRoZSBzaWRlYmFyLiIKICAgICAgICB9LAogICAgICAgICJmb3JrQ29udmVyc2F0aW9uRGVmYXVsdERlc3RpbmF0aW9uIjog", + "ewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJyaWdodCIsICJsZWZ0IiwgInRvcCIsICJib3R0b20iLCAibmV3VGFi", + "IiwgIm5ld1dvcmtzcGFjZSJdLAogICAgICAgICAgImRlZmF1bHQiOiAicmlnaHQiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2Ny", + "aXB0aW9ucy5hcHAuZm9ya0NvbnZlcnNhdGlvbkRlZmF1bHREZXN0aW5hdGlvbiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVmYXVsdCBkZXN0aW5h", + "dGlvbiBmb3IgdGhlIHRhYiBjb250ZXh0IG1lbnUncyBwcmltYXJ5IEZvcmsgQ29udmVyc2F0aW9uIGFjdGlvbi4gVGhlIHN1Ym1lbnUgc3RpbGwgZXhwb3Nl", + "cyBldmVyeSBkZXN0aW5hdGlvbi4iCiAgICAgICAgfSwKICAgICAgICAid29ya3NwYWNlSW5oZXJpdFdvcmtpbmdEaXJlY3RvcnkiOiB7CiAgICAgICAgICAi", + "dHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUsIG5ldyB3b3Jr", + "c3BhY2VzIGluaGVyaXQgdGhlIGN1cnJlbnQgd29ya3NwYWNlIHdvcmtpbmcgZGlyZWN0b3J5LiBXaGVuIGZhbHNlLCBuZXcgd29ya3NwYWNlcyB1c2UgR2hv", + "c3R0eSdzIHdvcmtpbmctZGlyZWN0b3J5IHNldHRpbmcgaW5zdGVhZC4iCiAgICAgICAgfSwKICAgICAgICAibWluaW1hbE1vZGUiOiB7CiAgICAgICAgICAi", + "dHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlkZSB0aGUgd29ya3NwYWNl", + "IHRpdGxlIGJhciBhbmQgbW92ZSBjb250cm9scyBpbnRvIHRoZSBzaWRlYmFyLiIKICAgICAgICB9LAogICAgICAgICJrZWVwV29ya3NwYWNlT3BlbldoZW5D", + "bG9zaW5nTGFzdFN1cmZhY2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAi", + "ZGVzY3JpcHRpb24iOiAiV2hlbiB0cnVlLCBjbG9zaW5nIHRoZSBsYXN0IHN1cmZhY2Uga2VlcHMgdGhlIHdvcmtzcGFjZSBvcGVuLiIKICAgICAgICB9LAog", + "ICAgICAgICJmb2N1c1BhbmVPbkZpcnN0Q2xpY2siOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwK", + "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIGNtdXggaXMgaW5hY3RpdmUsIHRoZSBmaXJzdCBjbGljayBjYW4gYWN0aXZhdGUgYW5kIGZvY3VzIHRo", + "ZSBjbGlja2VkIHBhbmUuIgogICAgICAgIH0sCiAgICAgICAgInBhbmVSZXNpemVTdGVwUGl4ZWxzIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIs", + "CiAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAibWF4aW11bSI6IDIwMCwKICAgICAgICAgICJkZWZhdWx0IjogMjAsCiAgICAgICAgICAiZGVz", + "Y3JpcHRpb24iOiAiUGl4ZWxzIG1vdmVkIHBlciBrZXlwcmVzcyB3aGVuIHVzaW5nIHBhbmUtcmVzaXplIHNob3J0Y3V0cy4iLAogICAgICAgICAgImRlc2Ny", + "aXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hcHAucGFuZVJlc2l6ZVN0ZXBQaXhlbHMiCiAgICAgICAgfSwKICAgICAgICAiZm9jdXNIaXN0b3J5", + "SW5jbHVkZXNQYW5lc0FuZFRhYnMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAg", + "ICAiZGVzY3JpcHRpb24iOiAiV2hlbiB0cnVlLCBCYWNrIGFuZCBGb3J3YXJkIGluY2x1ZGUgZm9jdXMgY2hhbmdlcyBiZXR3ZWVuIHBhbmVzIGFuZCB0YWJz", + "LiBXaGVuIGZhbHNlLCB0aGV5IG5hdmlnYXRlIGJldHdlZW4gd29ya3NwYWNlcyBvbmx5LiIKICAgICAgICB9LAogICAgICAgICJwcmVmZXJyZWRFZGl0b3Ii", + "OiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDdXN0b20g", + "ZWRpdG9yIGNvbW1hbmQgdXNlZCB3aGVuIENtZC1jbGljayBmaWxlIHByZXZpZXdzIGFyZSBkaXNhYmxlZCBvciBhIGZpbGUgaXMgdW5zdXBwb3J0ZWQuIExl", + "YXZlIGVtcHR5IHRvIHVzZSB0aGUgZGVmYXVsdC4iCiAgICAgICAgfSwKICAgICAgICAib3BlblN1cHBvcnRlZEZpbGVzSW5DbXV4IjogewogICAgICAgICAg", + "InR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiBlbmFibGVkLCBDbWQt", + "Y2xpY2tpbmcgcmVhZGFibGUgbG9jYWwgZmlsZXMgb3BlbnMgc3VwcG9ydGVkIHByZXZpZXdzIGluIGNtdXgsIGluY2x1ZGluZyB0ZXh0LCBjb2RlLCBQREZz", + "LCBpbWFnZXMsIGF1ZGlvLCB2aWRlbywgYW5kIFF1aWNrIExvb2sgZmlsZXMuIFByZXZpZXcgaGVhZGVycyBpbmNsdWRlIGFuIE9wZW4gV2l0aCBtZW51IGJh", + "c2VkIG9uIHRoZSB1c2VyJ3MgZGVmYXVsdCBhbmQgY29tcGF0aWJsZSBtYWNPUyBhcHBzIGZvciB0aGF0IGZpbGUuIgogICAgICAgIH0sCiAgICAgICAgIm9w", + "ZW5NYXJrZG93bkluQ211eFZpZXdlciI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAg", + "ICAgImRlc2NyaXB0aW9uIjogIldoZW4gZW5hYmxlZCwgQ21kLWNsaWNraW5nIC5tZC8ubWFya2Rvd24vLm1rZC8ubWR4IGZpbGVzIG9wZW5zIHRoZSByZW5k", + "ZXJlZCBjbXV4IG1hcmtkb3duIHZpZXdlciBwYW5lbCAod2l0aCBsaXZlIHJlbG9hZCkgaW5zdGVhZCBvZiB0aGUgZ2VuZXJpYyBmaWxlIHByZXZpZXcuIgog", + "ICAgICAgIH0sCiAgICAgICAgImdsb2JhbEZvbnRNYWduaWZpY2F0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWlu", + "aW11bSI6IDUwLAogICAgICAgICAgIm1heGltdW0iOiAyMDAsCiAgICAgICAgICAibXVsdGlwbGVPZiI6IDEwLAogICAgICAgICAgImRlZmF1bHQiOiAxMDAs", + "CiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC5nbG9iYWxGb250TWFnbmlmaWNhdGlvbiIsCiAgICAgICAgICAi", + "ZGVzY3JpcHRpb24iOiAiU2NhbGVzIGNtdXgtb3duZWQgdGVybWluYWxzLCB0YWIgdGl0bGVzLCBzaWRlYmFycywgc2V0dGluZ3MsIG92ZXJsYXlzLCBhbmQg", + "YXBwIGNocm9tZSBieSB0aGlzIHBlcmNlbnRhZ2UuIFJlbmRlcmVkIGJyb3dzZXIgcGFnZSBjb250ZW50IGlzIGV4Y2x1ZGVkLiIKICAgICAgICB9LAogICAg", + "ICAgICJyZW9yZGVyT25Ob3RpZmljYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAg", + "ICAgICAgICJkZXNjcmlwdGlvbiI6ICJNb3ZlIHdvcmtzcGFjZXMgd2l0aCBuZXcgbm90aWZpY2F0aW9ucyB0b3dhcmQgdGhlIHRvcC4iCiAgICAgICAgfSwK", + "ICAgICAgICAiaU1lc3NhZ2VNb2RlIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAg", + "ICAgImRlc2NyaXB0aW9uIjogIk1vdmUgYSB3b3Jrc3BhY2UgdG8gdGhlIHRvcCBhbmQgc2hvdyB0aGUgc3VibWl0dGVkIG1lc3NhZ2Ugd2hlbiBzZW5kaW5n", + "IGFuIGFnZW50IHByb21wdC4iCiAgICAgICAgfSwKICAgICAgICAic2VuZEFub255bW91c1RlbGVtZXRyeSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", + "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93IGFub255bW91cyB0ZWxlbWV0cnkuIgogICAg", + "ICAgIH0sCiAgICAgICAgImNvbmZpcm1RdWl0IjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJhbHdheXMiLCAi", + "ZGlydHktb25seSIsICJuZXZlciJdLAogICAgICAgICAgImRlZmF1bHQiOiAiYWx3YXlzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFE", + "ZXNjcmlwdGlvbnMuYXBwLmNvbmZpcm1RdWl0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb250cm9sIHdoZW4gY211eCBhc2tzIGZvciBjb25maXJt", + "YXRpb24gYmVmb3JlIHF1aXR0aW5nLiBERVYgYnVpbGRzIGFsd2F5cyBxdWl0IGltbWVkaWF0ZWx5IHJlZ2FyZGxlc3Mgb2YgdGhpcyBzZXR0aW5nLiBMZWdh", + "Y3kgYXBwLndhcm5CZWZvcmVRdWl0IGlzIHN0aWxsIGFjY2VwdGVkIGFzIGEgYm9vbGVhbiBmYWxsYmFjay4iCiAgICAgICAgfSwKICAgICAgICAid2FybkJl", + "Zm9yZVF1aXQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlv", + "bktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLndhcm5CZWZvcmVRdWl0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgYm9vbGVhbiBm", + "YWxsYmFjayBmb3IgcXVpdCBjb25maXJtYXRpb24uIFVzZSBhcHAuY29uZmlybVF1aXQgZm9yIG5ldyBjb25maWdzLiIKICAgICAgICB9LAogICAgICAgICJ3", + "YXJuQmVmb3JlQ2xvc2luZ1RhYiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAg", + "ImRlc2NyaXB0aW9uIjogIlNob3cgYSBjb25maXJtYXRpb24gYmVmb3JlIGNsb3NpbmcgYSB0YWIuIgogICAgICAgIH0sCiAgICAgICAgIndhcm5CZWZvcmVD", + "bG9zaW5nVGFiWEJ1dHRvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJk", + "ZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLndhcm5CZWZvcmVDbG9zaW5nVGFiWEJ1dHRvbiIsCiAgICAgICAgICAiZGVzY3JpcHRp", + "b24iOiAiU2hvdyBhIGNvbmZpcm1hdGlvbiBiZWZvcmUgY2xvc2luZyBhIHRhYiB3aXRoIHRoZSB0YWIgY2xvc2UgYnV0dG9uLiIKICAgICAgICB9LAogICAg", + "ICAgICJoaWRlVGFiQ2xvc2VCdXR0b24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAg", + "ICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC5oaWRlVGFiQ2xvc2VCdXR0b24iLAogICAgICAgICAgImRlc2NyaXB0aW9u", + "IjogIkhpZGUgdGFiIGNsb3NlIGJ1dHRvbnMgaW4gdGhlIHBhbmUgdGFiIGJhci4iCiAgICAgICAgfSwKICAgICAgICAicmVuYW1lU2VsZWN0c0V4aXN0aW5n", + "TmFtZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", + "IlNlbGVjdCB0aGUgY3VycmVudCBuYW1lIHdoZW4gb3BlbmluZyByZW5hbWUgZmxvd3MuIgogICAgICAgIH0sCiAgICAgICAgImNvbW1hbmRQYWxldHRlU2Vh", + "cmNoZXNBbGxTdXJmYWNlcyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJk", + "ZXNjcmlwdGlvbiI6ICJTZWFyY2ggZXZlcnkgc3VyZmFjZSBpbiB0aGUgY29tbWFuZCBwYWxldHRlIHN3aXRjaGVyIGluc3RlYWQgb2Ygb25seSB0aGUgYWN0", + "aXZlIHdvcmtzcGFjZS4iCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgInRlcm1pbmFsIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFs", + "Il0sCiAgICAgICJ0aXRsZSI6ICJ0ZXJtaW5hbCIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJUZXJtaW5hbCBwcmVzZW50YXRpb24gc2V0dGluZ3MgZnJvbSBT", + "ZXR0aW5ncyA+IFRlcm1pbmFsLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAi", + "cHJvcGVydGllcyI6IHsKICAgICAgICAiYWRhcHRpdmVEZWZhdWx0VGhlbWUiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJk", + "ZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuYWRhcHRpdmVEZWZhdWx0VGhl", + "bWUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdHJ1ZSAodGhlIGRlZmF1bHQpLCBjbXV4IHN1cHBsaWVzIGFuIGFwcGVhcmFuY2UtYWRhcHRp", + "dmUgZGVmYXVsdCBwYWxldHRlIHVubGVzcyBhIEdob3N0dHkgdGhlbWUgb3IgdGVybWluYWwgY29sb3JzIGFyZSBjb25maWd1cmVkLiBGb250IGFuZCBvdGhl", + "ciBzZXR0aW5ncyBhcmUgcHJlc2VydmVkLiBXaGVuIGZhbHNlLCBHaG9zdHR5IHVzZXMgaXRzIGZpeGVkIGJ1aWx0LWluIHBhbGV0dGUuIEV4cGxpY2l0IHRo", + "ZW1lcyBhbmQgY29sb3JzIGFsd2F5cyB0YWtlIHByZWNlZGVuY2UsIGluY2x1ZGluZyB0aGVtZSA9IGxpZ2h0OlgsZGFyazpZLiIKICAgICAgICB9LAogICAg", + "ICAgICJzaG93U2Nyb2xsQmFyIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAi", + "ZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgcmlnaHQtZWRnZSB0ZXJtaW5hbCBzY3JvbGwgYmFyIHdoZW4gc2Nyb2xsYmFjayBpcyBhdmFpbGFibGUuIGNtdXgg", + "YXV0b21hdGljYWxseSBzdXBwcmVzc2VzIGl0IGZvciBhbHRlcm5hdGUtc2NyZWVuIHN0eWxlIFRVSSBzdXJmYWNlcy4iCiAgICAgICAgfSwKICAgICAgICAi", + "c2Nyb2xsU3BlZWQiOiB7CiAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAwLjI1LAogICAgICAgICAgIm1heGltdW0i", + "OiAzLjAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEuMCwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwu", + "c2Nyb2xsU3BlZWQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk11bHRpcGxpZXIgYXBwbGllZCB0byB0ZXJtaW5hbCBzY3JvbGwgd2hlZWwgYW5kIHRy", + "YWNrcGFkIGRlbHRhcy4gSGlnaGVyIHZhbHVlcyBzY3JvbGwgZmFzdGVyOyBsb3dlciB2YWx1ZXMgc2Nyb2xsIHNsb3dlci4iCiAgICAgICAgfSwKICAgICAg", + "ICAic2Vzc2lvbkNvbnRlbnRNYXhXaWR0aCI6IHsKICAgICAgICAgICJvbmVPZiI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJ0eXBlIjogImJv", + "b2xlYW4iLAogICAgICAgICAgICAgICJjb25zdCI6IGZhbHNlCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAidHlwZSI6ICJu", + "dW1iZXIiLAogICAgICAgICAgICAgICJtaW5pbXVtIjogMzIwLAogICAgICAgICAgICAgICJtdWx0aXBsZU9mIjogMjAKICAgICAgICAgICAgfQogICAgICAg", + "ICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFs", + "LnNlc3Npb25Db250ZW50TWF4V2lkdGgiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIG1heGltdW0gd2lkdGgsIGluIHBvaW50cywgZm9y", + "IHRlcm1pbmFsIGFuZCBidWlsdC1pbiBhZ2VudCBjaGF0IGNvbnRlbnQuIFNldCBmYWxzZSB0byB1c2UgdGhlIGZ1bGwgcGFuZSB3aWR0aC4iCiAgICAgICAg", + "fSwKICAgICAgICAic2Vzc2lvbkNvbnRlbnRBbGlnbm1lbnQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImxl", + "ZnQiLCAiY2VudGVyIiwgInJpZ2h0Il0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJjZW50ZXIiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVt", + "YURlc2NyaXB0aW9ucy50ZXJtaW5hbC5zZXNzaW9uQ29udGVudEFsaWdubWVudCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG9yaXpvbnRhbCBwbGFj", + "ZW1lbnQgZm9yIHRlcm1pbmFsIGFuZCBidWlsdC1pbiBhZ2VudCBjaGF0IGNvbnRlbnQgd2hlbiBzZXNzaW9uQ29udGVudE1heFdpZHRoIGlzIGVuYWJsZWQu", + "IgogICAgICAgIH0sCiAgICAgICAgImNvcHlPblNlbGVjdCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBm", + "YWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuY29weU9uU2VsZWN0IiwKICAgICAgICAgICJk", + "ZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUsIGNvcHkgc2VsZWN0ZWQgdGVybWluYWwgdGV4dCB0byB0aGUgc3lzdGVtIGNsaXBib2FyZCB3aGVuIHRoZSBzZWxl", + "Y3Rpb24gaXMgY29tbWl0dGVkLiBXaGVuIGZhbHNlLCBjbXV4IGRvZXMgbm90IGVtaXQgYSBHaG9zdHR5IGNvcHktb24tc2VsZWN0IG92ZXJyaWRlOyBHaG9z", + "dHR5IGNvbmZpZyBhbmQgZGVmYXVsdHMgY29udHJvbCBzZWxlY3Rpb24tY2xpcGJvYXJkIGJlaGF2aW9yLiIKICAgICAgICB9LAogICAgICAgICJhdXRvUmVz", + "dW1lQWdlbnRTZXNzaW9ucyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRl", + "c2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcnVuIGFnZW50IHJlc3VtZSBjb21tYW5kcyBmb3IgcmVzdG9yZWQgdGVybWluYWwgc2Vzc2lvbnMgd2hlbiBj", + "bXV4IHJlb3BlbnMgYWZ0ZXIgcXVpdC4gU2V0IGZhbHNlIHRvIHJlc3RvcmUgcGFuZXMgd2hpbGUga2VlcGluZyBDbGF1ZGUgQ29kZSwgQ29kZXgsIE9wZW5D", + "b2RlLCBhbmQgb3RoZXIgc2F2ZWQgYWdlbnQgc2Vzc2lvbnMgaWRsZSB1bnRpbCB5b3UgcmVzdW1lIHRoZW0gbWFudWFsbHkuIgogICAgICAgIH0sCiAgICAg", + "ICAgInNob3dUZXh0Qm94T25OZXdUZXJtaW5hbHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2Us", + "CiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnNob3dUZXh0Qm94T25OZXdUZXJtaW5hbHMiLAogICAg", + "ICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGJldGEgVGV4dEJveCBpbnB1dCBieSBkZWZhdWx0IGZvciBuZXdseSBjcmVhdGVkIHdvcmtzcGFjZXMs", + "IHRlcm1pbmFsIHRhYnMsIGFuZCB0ZXJtaW5hbCBzcGxpdHMuIgogICAgICAgIH0sCiAgICAgICAgImZvY3VzVGV4dEJveE9uTmV3VGVybWluYWxzIjogewog", + "ICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVt", + "YURlc2NyaXB0aW9ucy50ZXJtaW5hbC5mb2N1c1RleHRCb3hPbk5ld1Rlcm1pbmFscyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRm9jdXMgdGhlIGJl", + "dGEgVGV4dEJveCBpbnB1dCBieSBkZWZhdWx0IGZvciBuZXdseSBjcmVhdGVkIHdvcmtzcGFjZXMsIHRlcm1pbmFsIHRhYnMsIGFuZCB0ZXJtaW5hbCBzcGxp", + "dHMuIEZvY3VzaW5nIGFsc28gc2hvd3MgdGhlIFRleHRCb3guIgogICAgICAgIH0sCiAgICAgICAgImFnZW50SGliZXJuYXRpb24iOiB7CiAgICAgICAgICAi", + "dHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2No", + "ZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLmFnZW50SGliZXJuYXRpb24iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJvdXRpbmUgQWdlbnQgSGliZXJu", + "YXRpb24gc2V0dGluZ3MuIGNtdXgga2lsbHMgaWRsZSBiYWNrZ3JvdW5kIGFnZW50IHByb2Nlc3NlcyB0byBmcmVlIFJBTSBhbmQgQ1BVLCB0aGVuIHJlc3Vt", + "ZXMgdGhlbSB3aXRoIHRoZWlyIHNhdmVkIHNlc3Npb24gd2hlbiB0aGVpciB0YWIgaXMgdmlzaXRlZC4gUm91dGluZSBoaWJlcm5hdGlvbiByZXF1aXJlcyBh", + "IHJlc3RvcmFibGUgY29kaW5nIGFnZW50IHdob3NlIGxpZmVjeWNsZSByZXBvcnRzIGlkbGUsIGFuIG9mZi1zY3JlZW4gdGVybWluYWwsIGEgbGl2ZS10ZXJt", + "aW5hbCBjb3VudCBhYm92ZSB0aGUgY29uZmlndXJlZCBsaW1pdCwgYW5kIHVuY2hhbmdlZCBvdXRwdXQgdGhyb3VnaCB0aGUgaWRsZSBhbmQgY29uZmlybWF0", + "aW9uIHdpbmRvd3MuIEluZGVwZW5kZW50bHksIGR1cmluZyBjcml0aWNhbCBtZW1vcnkgcHJlc3N1cmUgY211eCBtYXkgaGliZXJuYXRlIGEgYm91bmRlZCBi", + "YXRjaCBvZiBzYWZlIGlkbGUgYmFja2dyb3VuZCBhZ2VudHMgZXZlbiB3aGVuIGVuYWJsZWQgaXMgZmFsc2U7IHZpc2libGUsIHJ1bm5pbmcsIG5lZWRzLWlu", + "cHV0LCByZWNlbnRseSBjaGFuZ2VkLCBhbmQgdW5wcm90ZWN0YWJsZSBhZ2VudHMgcmVtYWluIGV4Y2x1ZGVkLiBUaGUgcGxhY2Vob2xkZXIgUmVzdW1lIGJ1", + "dHRvbiBpcyBhIG1hbnVhbCBmYWxsYmFjay4iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJlbmFibGVkIjogewogICAgICAgICAg", + "ICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNj", + "aGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5hZ2VudEhpYmVybmF0aW9uRW5hYmxlZCIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBy", + "b3V0aW5lIEFnZW50IEhpYmVybmF0aW9uIGJhc2VkIG9uIHRoZSBsaXZlLXRlcm1pbmFsIGxpbWl0LiBDcml0aWNhbC1wcmVzc3VyZSBzYWZldHkgaGliZXJu", + "YXRpb24gcmVtYWlucyBhY3RpdmUgd2hlbiBmYWxzZS4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJpZGxlU2Vjb25kcyI6IHsKICAgICAgICAgICAg", + "ICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDUsCiAgICAgICAgICAgICAgIm1heGltdW0iOiA2MDQ4MDAsCiAgICAgICAg", + "ICAgICAgImRlZmF1bHQiOiA1LAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNaW5pbXVtIHNlY29uZHMgd2l0aCBubyB0ZXJtaW5hbCBvdXRwdXQg", + "b3IgaW5wdXQgYmVmb3JlIGFuIGlkbGUgcmVzdG9yYWJsZSBhZ2VudCB0ZXJtaW5hbCBjYW4gaGliZXJuYXRlLiBBIHNob3J0IGNvbmZpcm1hdGlvbiBzZXR0", + "bGUgd2luZG93ICh+NjBzKSBzdGlsbCBhcHBsaWVzIG9uIHRvcCBvZiB0aGlzIGJlZm9yZSB0aGUgYWdlbnQgaXMga2lsbGVkLiIKICAgICAgICAgICAgfSwK", + "ICAgICAgICAgICAgIm1heExpdmVUZXJtaW5hbHMiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAgICAgIm1pbmltdW0i", + "OiAxLAogICAgICAgICAgICAgICJtYXhpbXVtIjogMjU2LAogICAgICAgICAgICAgICJkZWZhdWx0IjogMTIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9u", + "IjogIk1heGltdW0gbGl2ZSByZXN0b3JhYmxlIGFnZW50IHRlcm1pbmFscyB0byBrZWVwIGJlZm9yZSBjbXV4IGhpYmVybmF0ZXMgZWxpZ2libGUgYmFja2dy", + "b3VuZCB0ZXJtaW5hbHMsIG9sZGVzdCBmaXJzdC4iCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJyZW5kZXJlclJlYWxp", + "emF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAg", + "ImRlc2NyaXB0aW9uIjogIlJlY2xhaW0gb2ZmLXNjcmVlbiB0ZXJtaW5hbCBHUFUgcmVuZGVyZXIgbWVtb3J5LiBjbXV4IHJlbGVhc2VzIHRoZSBNZXRhbCBy", + "ZW5kZXJlciAoSU9TdXJmYWNlKSBvZiBhIHRlcm1pbmFsIHRoYXQgaGFzIHN0YXllZCBvZmYtc2NyZWVuIGFuZCBpZGxlIHdoaWxlIGtlZXBpbmcgaXRzIHBy", + "b2Nlc3MgYW5kIHRlcm1pbmFsIHN0YXRlIGFsaXZlLCB0aGVuIHJlYnVpbGRzIHRoZSByZW5kZXJlciBpbnN0YW50bHkgd2hlbiB0aGUgdGFiIGlzIHZpc2l0", + "ZWQgYWdhaW4uIE5vbi1kZXN0cnVjdGl2ZSBhbmQgb24gYnkgZGVmYXVsdC4iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJlbmFi", + "bGVkIjogewogICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICAgICAiZGVz", + "Y3JpcHRpb24iOiAiUmVjbGFpbSBvZmYtc2NyZWVuIHRlcm1pbmFsIHJlbmRlcmVyIG1lbW9yeS4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJpZGxl", + "U2Vjb25kcyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDUsCiAgICAgICAgICAgICAgIm1h", + "eGltdW0iOiA2MDQ4MDAsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiA1LAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNaW5pbXVtIHNlY29uZHMg", + "YSB0ZXJtaW5hbCBtdXN0IHN0YXkgb2ZmLXNjcmVlbiBiZWZvcmUgaXRzIEdQVSByZW5kZXJlciBtZW1vcnkgaXMgcmVjbGFpbWVkLiIKICAgICAgICAgICAg", + "fSwKICAgICAgICAgICAgIm1heFdhcm1SZW5kZXJlcnMiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAgICAgIm1pbmlt", + "dW0iOiAxLAogICAgICAgICAgICAgICJtYXhpbXVtIjogMjU2LAogICAgICAgICAgICAgICJkZWZhdWx0IjogMSwKICAgICAgICAgICAgICAiZGVzY3JpcHRp", + "b24iOiAiTW9zdCByZWNlbnRseSB2aXNpYmxlIHRlcm1pbmFscyB0byBrZWVwIHJlbmRlcmVyLXJlYWR5IHNvIHN3aXRjaGluZyBzdGF5cyBpbnN0YW50LiBF", + "eHRyYSBvZmYtc2NyZWVuIHJlbmRlcmVycyBhcmUgcmVjbGFpbWVkIG9sZGVzdCBmaXJzdC4iCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9", + "LAogICAgICAgICJ0ZXh0Qm94TWF4TGluZXMiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAg", + "ICAgICJtYXhpbXVtIjogMjAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gbnVtYmVyIG9mIGxp", + "bmVzIHRoZSByaWNoIHRlcm1pbmFsIFRleHRCb3ggaW5wdXQgY2FuIGdyb3cgdG8gYmVmb3JlIGl0IHNjcm9sbHMuIgogICAgICAgIH0sCiAgICAgICAgInRl", + "eHRCb3hEZWZhdWx0U3VibWl0QWN0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogInRleHQtZW50cnki", + "LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgVGV4dEJveCBzdWJtaXQgYWN0aW9uIElEIGZvciBuZXcgdGVybWluYWwgc2Vzc2lvbnMuIFVz", + "ZSB0ZXh0LWVudHJ5IGZvciBwbGFpbiBpbnB1dCBvciBvbmUgb2YgdGhlIGNvbmZpZ3VyZWQgYWN0aW9uIElEcy4iLAogICAgICAgICAgImRlc2NyaXB0aW9u", + "S2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94RGVmYXVsdFN1Ym1pdEFjdGlvbiIKICAgICAgICB9LAogICAgICAgICJ0ZXh0Qm94", + "U3VibWl0QWN0aW9ucyI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJkZWZhdWx0IjogW10sCiAgICAgICAgICAiZGVzY3JpcHRp", + "b24iOiAiQ29uZmlndXJhYmxlIFRleHRCb3ggc3VibWl0IGFjdGlvbnMgc2hvd24gb24gdGhlIHN1Ym1pdCBidXR0b24sIFNoaWZ0LVRhYiBjeWNsZSwgYW5k", + "IHJpZ2h0LWNsaWNrIG1lbnUuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1p", + "dEFjdGlvbnMiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiYWRkaXRpb25hbFByb3Bl", + "cnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAgInJlcXVpcmVkIjogWyJpZCIsICJ0aXRsZSIsICJraW5kIiwgInN5c3RlbUltYWdlIiwgImJhY2tncm91bmRD", + "b2xvckhleCJdLAogICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAiaWQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJp", + "bmciLAogICAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXltBLVphLXowLTkuXy1dKyQiLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN0YWJs", + "ZSBhY3Rpb24gSUQgcmVmZXJlbmNlZCBieSB0ZXJtaW5hbC50ZXh0Qm94RGVmYXVsdFN1Ym1pdEFjdGlvbi4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0", + "aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uSWQiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAg", + "ICAidGl0bGUiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1lbnUgbGFiZWwg", + "Zm9yIHRoaXMgc3VibWl0IGFjdGlvbi4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50", + "ZXh0Qm94U3VibWl0QWN0aW9uVGl0bGUiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAia2luZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjog", + "InN0cmluZyIsCiAgICAgICAgICAgICAgICAiZW51bSI6IFsidGV4dEVudHJ5IiwgImNvbW1hbmRUZW1wbGF0ZSJdLAogICAgICAgICAgICAgICAgImRlc2Ny", + "aXB0aW9uIjogIldoZXRoZXIgdGhpcyBhY3Rpb24gc3VibWl0cyBwbGFpbiBUZXh0IEVudHJ5IG9yIGV4cGFuZHMgYSBzaGVsbCBjb21tYW5kIHRlbXBsYXRl", + "LiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25LaW5k", + "IgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNvbW1hbmRUZW1wbGF0ZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAg", + "ICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hlbGwgY29tbWFuZCB0ZW1wbGF0ZSBmb3IgY29tbWFuZFRlbXBsYXRlIGFjdGlvbnMuIEluY2x1ZGUg", + "e3twcm9tcHR9fSB0byBzaGVsbC1xdW90ZSB0aGUgcHJvbXB0IGludG8gdGhlIGNvbW1hbmQuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6", + "ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbkNvbW1hbmRUZW1wbGF0ZSIKICAgICAgICAgICAgICB9LAogICAgICAg", + "ICAgICAgICJwcmVzZXJ2ZVByb21wdEFmdGVyTGF1bmNoIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgICAi", + "ZGVzY3JpcHRpb24iOiAiV2hlbiB0cnVlLCBsYXVuY2ggY29tbWFuZFRlbXBsYXRlIHdpdGhvdXQgdGhlIHByb21wdCBhbmQga2VlcCB0aGUgcHJvbXB0IGlu", + "IHRoZSBUZXh0Qm94IGZvciB0aGUgYWN0aXZlIGFnZW50LiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25z", + "LnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25QcmVzZXJ2ZVByb21wdEFmdGVyTGF1bmNoIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInN5", + "c3RlbUltYWdlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGYWxsYmFjayBT", + "RiBTeW1ib2wgbmFtZSBzaG93biBvbiB0aGUgc3VibWl0IGJ1dHRvbi4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2Ny", + "aXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uU3lzdGVtSW1hZ2UiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiYXNzZXROYW1l", + "IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBhcHAgYXNzZXQg", + "Y2F0YWxvZyBpbWFnZSBuYW1lIHNob3duIG9uIHRoZSBzdWJtaXQgYnV0dG9uLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1h", + "RGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25Bc3NldE5hbWUiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiaW1hZ2VQ", + "YXRoIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBQTkcgb3Ig", + "aW1hZ2UgZmlsZSBwYXRoIHNob3duIG9uIHRoZSBzdWJtaXQgYnV0dG9uLiBUaWxkZSBpcyBleHBhbmRlZC4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0", + "aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uSW1hZ2VQYXRoIgogICAgICAgICAgICAgIH0sCiAgICAg", + "ICAgICAgICAgImJhY2tncm91bmRDb2xvckhleCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAicGF0dGVy", + "biI6ICJeIz9bMC05QS1GYS1mXXs2fShbMC05QS1GYS1mXXsyfSk/JCIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWN0aW9uIGNvbG9yIG1l", + "dGFkYXRhIGFzIFJHQiBvciBSR0JBIGhleC4gVGhlIHN1Ym1pdCBidXR0b24gZmlsbCBzdGF5cyB3aGl0ZSBhbmQgb25seSBjaGFuZ2VzIG9wYWNpdHkgYmV0", + "d2VlbiBlbmFibGVkIGFuZCBkaXNhYmxlZCBzdGF0ZXMuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMu", + "dGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbkJhY2tncm91bmRDb2xvckhleCIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAg", + "ICJhbGxPZiI6IFsKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaWYiOiB7CiAgICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IFsia2luZCJd", + "LAogICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAia2luZCI6IHsgImNvbnN0IjogImNvbW1hbmRUZW1wbGF0", + "ZSIgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInRoZW4iOiB7CiAgICAgICAgICAgICAgICAgICJy", + "ZXF1aXJlZCI6IFsiY29tbWFuZFRlbXBsYXRlIl0sCiAgICAgICAgICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg", + "ICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImNvbW1hbmRUZW1wbGF0ZSI6IHsKICAgICAgICAgICAgICAg", + "ICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIlxce1xce3Byb21wdFxcfVxcfSIKICAg", + "ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAg", + "ewogICAgICAgICAgICAgICAgICAgICAgInJlcXVpcmVkIjogWyJwcmVzZXJ2ZVByb21wdEFmdGVyTGF1bmNoIl0sCiAgICAgICAgICAgICAgICAgICAgICAi", + "cHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlUHJvbXB0QWZ0ZXJMYXVuY2giOiB7ICJjb25zdCI6IHRydWUgfQogICAg", + "ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgfQogICAgICAgICAg", + "ICAgIH0KICAgICAgICAgICAgXQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInJlc3VtZUNvbW1hbmRzIjogewogICAgICAgICAgInR5cGUiOiAi", + "YXJyYXkiLAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaWduZWQgY29tbWFuZC1wcmVmaXggYXBwcm92YWxz", + "IGZvciByZXN0b3Jpbmcgbm9uLWFnZW50IHRlcm1pbmFsIHN1cmZhY2VzLiBjbXV4IHdyaXRlcyB0aGlzIGxpc3Qgd2hlbiB5b3UgYXBwcm92ZSBhIHN1cmZh", + "Y2UgcmVzdW1lIGNvbW1hbmQuIiwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0", + "aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICJyZXF1aXJlZCI6IFsidmVyc2lvbiIsICJpZCIsICJjb21tYW5kUHJlZml4IiwgImVudmly", + "b25tZW50S2V5cyIsICJwb2xpY3kiLCAiY3JlYXRlZEF0IiwgInVwZGF0ZWRBdCIsICJzaWduYXR1cmUiXSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7", + "CiAgICAgICAgICAgICAgInZlcnNpb24iOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAgICJjb25zdCI6IDEK", + "ICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJpZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICB9LAog", + "ICAgICAgICAgICAgICJuYW1lIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNv", + "bW1hbmRQcmVmaXgiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAgICAgICAibWluSXRlbXMiOiAxLAogICAgICAgICAg", + "ICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMQogICAg", + "ICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaGVsbCBhcmd2IHByZWZpeCB0aGF0IG11c3QgbWF0Y2ggdGhlIHNhdmVk", + "IHJlc3VtZSBjb21tYW5kLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJjd2QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmci", + "LAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHdvcmtpbmcgZGlyZWN0b3J5IHRoYXQgbXVzdCBtYXRjaCB0aGUgc2F2ZWQgcmVz", + "dW1lIGNvbW1hbmQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImVudmlyb25tZW50IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAib2Jq", + "ZWN0IiwKICAgICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAg", + "ICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBub24tc2Vuc2l0aXZlIGVudmlyb25tZW50IHZhbHVlcyB0aGF0", + "IG11c3QgbWF0Y2ggdGhlIHNhdmVkIHJlc3VtZSBjb21tYW5kLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJlbnZpcm9ubWVudEtleXMiOiB7", + "CiAgICAgICAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0", + "cmluZyIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6", + "ICJzdHJpbmciCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAicG9saWN5IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAg", + "ICAgICAgICAgICAgICJlbnVtIjogWyJtYW51YWwiLCAicHJvbXB0IiwgImF1dG8iXQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNyZWF0ZWRB", + "dCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJ1cGRhdGVkQXQiOiB7CiAgICAg", + "ICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAibGFzdFVzZWRBdCI6IHsKICAgICAgICAgICAgICAg", + "ICJ0eXBlIjogIm51bWJlciIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJzaWduYXR1cmUiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJz", + "dHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhNQUMgc2lnbmF0dXJlIGZvciB0aGUgcmVjb3JkLiBDaGFuZ2luZyBzaWduZWQgZmll", + "bGRzIGludmFsaWRhdGVzIHRoZSBhcHByb3ZhbC4iCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAg", + "ICAidXBsb2FkQ29tbWFuZHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlc2Ny", + "aXB0aW9uIjogIkhvc3Qtc2NvcGVkIHJ1bGVzIHRoYXQgcmVwbGFjZSB0aGUgYnVpbHQtaW4gc2NwIGZvciB0ZXJtaW5hbCBmaWxlIGRyb3BzIGFuZCBwYXN0", + "ZXMgb3ZlciBTU0guIFdoZW4gdGhlIHNzaCBkZXN0aW5hdGlvbiBtYXRjaGVzIGEgcnVsZSwgY211eCBydW5zIHRoYXQgcnVsZSdzIGNvbW1hbmQgb25jZSBw", + "ZXIgZmlsZSBpbnN0ZWFkIG9mIHNjcCwgYW5kIGluc2VydHMgdGhlIGNvbW1hbmQncyBzdGRvdXQgYXQgdGhlIGN1cnNvciAodmVyYmF0aW0sIHdpdGggY29u", + "dHJvbCBjaGFyYWN0ZXJzIHN0cmlwcGVkKTsgaWYgdGhlIGNvbW1hbmQgcHJpbnRzIG5vdGhpbmcsIGNtdXggaW5zZXJ0cyB0aGUgc2hlbGwtZXNjYXBlZCBy", + "ZW1vdGUgcGF0aCBpdCBjaG9zZSBpbnN0ZWFkLiBQZXItZmlsZSBvdXRwdXRzIGFyZSBzcGFjZS1qb2luZWQuIEZpcnN0IG1hdGNoaW5nIGVuYWJsZWQgcnVs", + "ZSB3aW5zOyBubyBtYXRjaCBydW5zIHRoZSBidWlsdC1pbiBzY3AgdW5jaGFuZ2VkLiBBIG5vbi16ZXJvIGV4aXQsIHRpbWVvdXQsIG9yIGNhbmNlbCBpbnNl", + "cnRzIG5vdGhpbmcuIiwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQ", + "cm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICJyZXF1aXJlZCI6IFsiY29tbWFuZCJdLAogICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAg", + "ICAgICAgICAiaG9zdFBhdHRlcm4iOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6IFsic3RyaW5nIiwgIm51bGwiXSwKICAgICAgICAgICAgICAgICJtaW5M", + "ZW5ndGgiOiAxLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogImZubWF0Y2ggZ2xvYiBtYXRjaGVkIGFnYWluc3QgdGhlIHNzaCBkZXN0aW5hdGlv", + "biAodXNlckAgYW5kIElQdjYgYnJhY2tldHMgc3RyaXBwZWQsIGxvd2VyY2FzZWQpLCBsaWtlIGEgc2luZ2xlIHNzaF9jb25maWcgSG9zdCBwYXR0ZXJuLiBP", + "bWl0IHRoZSBrZXkgb3Igc2V0IGl0IHRvIG51bGwgZm9yIGEgY2F0Y2gtYWxsIChhIGJsYW5rIHN0cmluZyBpcyByZWplY3RlZCkuIgogICAgICAgICAgICAg", + "IH0sCiAgICAgICAgICAgICAgImNvbW1hbmQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgIm1pbkxlbmd0", + "aCI6IDEsCiAgICAgICAgICAgICAgICAicGF0dGVybiI6ICJcXFMiLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGNvbW1hbmQgcnVu", + "IHZpYSAvYmluL3NoIC1jLCBvbmNlIHBlciBmaWxlLiBJdCByZWNlaXZlcyB0aGUgZmlsZSBhbmQgZW5kcG9pbnQgb24gaXRzIGVudmlyb25tZW50IChDTVVY", + "X1VQTE9BRF9MT0NBTF9QQVRILCBDTVVYX1VQTE9BRF9SRU1PVEVfUEFUSCwgQ01VWF9VUExPQURfREVTVElOQVRJT04sIENNVVhfVVBMT0FEX1BPUlQsIENN", + "VVhfVVBMT0FEX0lERU5USVRZX0ZJTEUsIENNVVhfVVBMT0FEX1NTSF9PUFRJT05TKS4gSXRzIHN0ZG91dCBpcyB3aGF0IGNtdXggaW5zZXJ0cyBhdCB0aGUg", + "Y3Vyc29yLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJlbmFibGVkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAg", + "ICAgICAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGlzIHJ1bGUgaXMgYWN0aXZl", + "LiBEZWZhdWx0cyB0byB0cnVlLiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAg", + "ICAibm90aWZpY2F0aW9ucyI6IHsKICAgICAgInRpdGxlIjogIm5vdGlmaWNhdGlvbnMiLAogICAgICAiZGVzY3JpcHRpb24iOiAiTm90aWZpY2F0aW9uIGJl", + "aGF2aW9yIGZyb20gU2V0dGluZ3MgPiBOb3RpZmljYXRpb25zLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGll", + "cyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZG9ja0JhZGdlIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2Jh", + "bCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hv", + "dyB0aGUgdW5yZWFkIGNvdW50IGluIHRoZSBEb2NrIHRpbGUuIgogICAgICAgIH0sCiAgICAgICAgInNob3dJbk1lbnVCYXIiOiB7CiAgICAgICAgICAieC1j", "bXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAg", - "ICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5hZ2VudFBlcm1pc3Npb25Qcm9tcHQiLAogICAgICAgICAgImRl", - "c2NyaXB0aW9uIjogIk5vdGlmeSB3aGVuIGFuIGFnZW50IChlLmcuIENsYXVkZSBDb2RlKSBpcyBibG9ja2VkIHdhaXRpbmcgZm9yIHlvdXIgcGVybWlzc2lv", - "biB0byBydW4gYSB0b29sLiBPbiBieSBkZWZhdWx0LCBzaW5jZSB0aGlzIGlzIHRoZSBhbGVydCB5b3UgbXVzdCBhY3Qgb24gdG8gdW5ibG9jayB0aGUgYWdl", - "bnQuIgogICAgICAgIH0sCiAgICAgICAgImFnZW50VHVybkNvbXBsZXRlIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAg", - "ICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJ3aGVuSWRsZSIsICJhbHdheXMiLCAibmV2ZXIiXSwKICAgICAgICAgICJkZWZh", - "dWx0IjogIndoZW5JZGxlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5hZ2VudFR1cm5D", - "b21wbGV0ZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiB0byBub3RpZnkgdGhhdCBhbiBhZ2VudCBmaW5pc2hlZCBhIHR1cm4uIHdoZW5JZGxl", - "IChkZWZhdWx0KSBzdXBwcmVzc2VzIHRoZSBub3RpZmljYXRpb24gd2hpbGUgdGhlIGFnZW50IHN0aWxsIGhhcyBhIHJ1bm5pbmcgYmFja2dyb3VuZCB0YXNr", - "IG9yIGEgcGVuZGluZyBzY2hlZHVsZWQgd2FrZXVwLCBzbyB5b3UgYXJlIHBpbmdlZCBvbmNlIHdvcmsgdHJ1bHkgZHJhaW5zLiBhbHdheXMgbm90aWZpZXMg", - "b24gZXZlcnkgdHVybiBlbmQ7IG5ldmVyIGRpc2FibGVzIGl0LiIKICAgICAgICB9LAogICAgICAgICJhZ2VudElkbGVSZW1pbmRlciI6IHsKICAgICAgICAg", - "ICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAg", - "ICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLmFnZW50SWRsZVJlbWluZGVyIiwKICAgICAgICAgICJk", - "ZXNjcmlwdGlvbiI6ICJOb3RpZnkgd2hlbiBhbiBhZ2VudCBoYXMgYmVlbiBpZGxlIHdhaXRpbmcgZm9yIHlvdXIgaW5wdXQgKGFib3V0IDYwcyBhZnRlciBh", - "IHR1cm4gZW5kcykuIFN1cHByZXNzZWQgd2hpbGUgYmFja2dyb3VuZCB3b3JrIGZyb20gdGhlIGxhc3QgdHVybiBpcyBzdGlsbCBwZW5kaW5nLCBzbyBhIHJ1", - "bm5pbmcgYnVpbGQgb3Igd2F0Y2hlciBkb2VzIG5vdCB0cmlnZ2VyIGEgZmFsc2Ugd2FpdGluZyBhbGVydC4iCiAgICAgICAgfSwKICAgICAgICAic291bmQi", - "OiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBb", - "CiAgICAgICAgICAgICJkZWZhdWx0IiwKICAgICAgICAgICAgIkJhc3NvIiwKICAgICAgICAgICAgIkJsb3ciLAogICAgICAgICAgICAiQm90dGxlIiwKICAg", - "ICAgICAgICAgIkZyb2ciLAogICAgICAgICAgICAiRnVuayIsCiAgICAgICAgICAgICJHbGFzcyIsCiAgICAgICAgICAgICJIZXJvIiwKICAgICAgICAgICAg", - "Ik1vcnNlIiwKICAgICAgICAgICAgIlBpbmciLAogICAgICAgICAgICAiUG9wIiwKICAgICAgICAgICAgIlB1cnIiLAogICAgICAgICAgICAiU29zdW1pIiwK", - "ICAgICAgICAgICAgIlN1Ym1hcmluZSIsCiAgICAgICAgICAgICJUaW5rIiwKICAgICAgICAgICAgImN1c3RvbV9maWxlIiwKICAgICAgICAgICAgIm5vbmUi", - "CiAgICAgICAgICBdLAogICAgICAgICAgImRlZmF1bHQiOiAiZGVmYXVsdCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTm90aWZpY2F0aW9uIHNvdW5k", - "IHByZXNldC4iCiAgICAgICAgfSwKICAgICAgICAiY3VzdG9tU291bmRGaWxlUGF0aCI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwi", - "XSwKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkxvY2FsIHBh", - "dGggdG8gdGhlIGN1c3RvbSBub3RpZmljYXRpb24gc291bmQgZmlsZS4iCiAgICAgICAgfSwKICAgICAgICAic291bmRPdmVycmlkZXMiOiB7CiAgICAgICAg", - "ICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAg", - "ICAgICJtYXhQcm9wZXJ0aWVzIjogMjU2LAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmljYXRpb25zLnNv", - "dW5kT3ZlcnJpZGVzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTcGFyc2UgcGVyLWFnZW50IGFuZCBwZXItYWxlcnQtdHlwZSBub3RpZmljYXRpb24g", - "c291bmQgb3ZlcnJpZGVzLiBNaXNzaW5nIGNlbGxzIHVzZSBub3RpZmljYXRpb25zLnNvdW5kLiIsCiAgICAgICAgICAicHJvcGVydHlOYW1lcyI6IHsKICAg", - "ICAgICAgICAgImFsbE9mIjogWwogICAgICAgICAgICAgIHsgInBhdHRlcm4iOiAiXltBLVphLXowLTkuXy1dKyQiIH0sCiAgICAgICAgICAgICAgeyAibWF4", - "TGVuZ3RoIjogNjQgfSwKICAgICAgICAgICAgICB7ICJub3QiOiB7ICJlbnVtIjogWyIuIiwgIi4uIl0gfSB9CiAgICAgICAgICAgIF0KICAgICAgICAgIH0s", - "CiAgICAgICAgICAicGF0dGVyblByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJeW0EtWmEtejAtOS5fLV0rJCI6IHsKICAgICAgICAgICAgICAidHlwZSI6", - "ICJvYmplY3QiLAogICAgICAgICAgICAgICJtYXhQcm9wZXJ0aWVzIjogMywKICAgICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwK", - "ICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICJ0dXJuRG9uZSI6IHsgIiRyZWYiOiAiIy8kZGVmcy9ub3RpZmljYXRpb25T", - "b3VuZE92ZXJyaWRlIiB9LAogICAgICAgICAgICAgICAgIm5lZWRzSW5wdXQiOiB7ICIkcmVmIjogIiMvJGRlZnMvbm90aWZpY2F0aW9uU291bmRPdmVycmlk", - "ZSIgfSwKICAgICAgICAgICAgICAgICJlcnJvclN0YWxsZWQiOiB7ICIkcmVmIjogIiMvJGRlZnMvbm90aWZpY2F0aW9uU291bmRPdmVycmlkZSIgfQogICAg", - "ICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlCiAgICAgICAgfSwK", - "ICAgICAgICAiY29tbWFuZCI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAg", - "ICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHNoZWxsIGNvbW1hbmQgdG8gcnVuIGFsb25nc2lkZSBu", - "b3RpZmljYXRpb24gZGVsaXZlcnkuIgogICAgICAgIH0sCiAgICAgICAgImhvb2tzTW9kZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAg", - "ICAgICAiZW51bSI6IFsiYXBwZW5kIiwgInJlcGxhY2UiXSwKICAgICAgICAgICJkZWZhdWx0IjogImFwcGVuZCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", - "OiAiQ29udHJvbHMgd2hldGhlciBwcm9qZWN0LWxvY2FsIG5vdGlmaWNhdGlvbiBob29rcyBhcHBlbmQgdG8gaW5oZXJpdGVkIGhvb2tzIG9yIHJlcGxhY2Ug", - "dGhlbS4iCiAgICAgICAgfSwKICAgICAgICAiaG9va3MiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAog", - "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbXBvc2FibGUgc2hlbGwgaG9va3MgdGhhdCByZWNlaXZlIG5vdGlmaWNhdGlvbiBwb2xpY3kgSlNPTiBvbiBz", - "dGRpbiBhbmQgcmV0dXJuIHVwZGF0ZWQgcG9saWN5IEpTT04gb24gc3Rkb3V0LiIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjog", - "Im9iamVjdCIsCiAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgICAicmVxdWlyZWQiOiBbImlkIiwgImNvbW1h", - "bmQiXSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgImlkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwK", - "ICAgICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN0YWJsZSBob29rIGlkZW50aWZpZXIgdXNl", - "ZCBpbiBsb2dzIGFuZCBmYWlsdXJlIGFsZXJ0cy4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiY29tbWFuZCI6IHsKICAgICAgICAgICAgICAg", - "ICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIi4qXFxTLioiLAog", - "ICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGNvbW1hbmQgcnVuIHdpdGggbm90aWZpY2F0aW9uIHBvbGljeSBKU09OIG9uIHN0ZGluLiIK", - "ICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJ0aW1lb3V0U2Vjb25kcyI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAg", - "ICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IDIwLAogICAgICAgICAgICAgICAgImRlc2NyaXB0", - "aW9uIjogIk1heGltdW0gdGltZSBjbXV4IHdhaXRzIGZvciB0aGlzIGhvb2sgYmVmb3JlIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0IG5vdGlmaWNhdGlvbiBi", - "ZWhhdmlvci4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiZW5hYmxlZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAog", - "ICAgICAgICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhpcyBob29rIHdpdGhvdXQg", - "cmVtb3ZpbmcgaXQuIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJzaWRl", - "YmFyIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJzaWRlYmFyIiwKICAgICAgImRlc2NyaXB0aW9uIjog", - "IlNpZGViYXIgY29udGVudCBhbmQgbWV0YWRhdGEgdmlzaWJpbGl0eSBmcm9tIFNldHRpbmdzID4gU2lkZWJhci4iLAogICAgICAidHlwZSI6ICJvYmplY3Qi", - "LAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImhpZGVBbGxEZXRhaWxzIjogewog", - "ICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhpZGUgYWxs", - "IHBlci13b3Jrc3BhY2UgZGV0YWlsIHJvd3MuIgogICAgICAgIH0sCiAgICAgICAgIndyYXBXb3Jrc3BhY2VUaXRsZXMiOiB7CiAgICAgICAgICAidHlwZSI6", - "ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxsb3cgd29ya3NwYWNlIHRpdGxlcyBp", - "biB0aGUgc2lkZWJhciB0byB3cmFwIHRvIG11bHRpcGxlIGxpbmVzIGluc3RlYWQgb2YgdHJ1bmNhdGluZyBhZnRlciBvbmUgbGluZS4iCiAgICAgICAgfSwK", - "ICAgICAgICAic2hvd1dvcmtzcGFjZURlc2NyaXB0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRy", - "dWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBjdXN0b20gd29ya3NwYWNlIGRlc2NyaXB0aW9ucyBpbiB0aGUgc2lkZWJhci4iCiAgICAgICAg", - "fSwKICAgICAgICAiYmV0YSI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwK", - "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFeHBlcmltZW50YWwgc2lkZWJhciBmZWF0dXJlcy4iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAg", - "ICAgICAgICJ3b3Jrc3BhY2VUb2RvcyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVy", - "dGllcyI6IGZhbHNlLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXb3Jrc3BhY2UgdG9kb3MgY2hlY2tsaXN0IHByZXNlbnRhdGlvbi4iLAogICAg", - "ICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgImNoZWNrbGlzdFN0eWxlIjogewogICAgICAgICAgICAgICAgICAidHlwZSI6ICJz", - "dHJpbmciLAogICAgICAgICAgICAgICAgICAiZW51bSI6IFsicG9wb3ZlciIsICJpbmxpbmUiXSwKICAgICAgICAgICAgICAgICAgImRlZmF1bHQiOiAicG9w", - "b3ZlciIsCiAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIb3cgYSByb3cncyBjaGVja2xpc3Qgb3BlbnMgZnJvbSBpdHMgc3VtbWFyeSBsaW5l", - "OiBhbiBhbmNob3JlZCBwb3BvdmVyIG9yIGlubGluZSBleHBhbnNpb24uIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAg", - "fQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImJyYW5jaExheW91dCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAi", - "ZW51bSI6IFsidmVydGljYWwiLCAiaW5saW5lIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJ2ZXJ0aWNhbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", - "U2hvdyBnaXQgYnJhbmNoIGRldGFpbHMgc3RhY2tlZCB2ZXJ0aWNhbGx5IG9yIGlubGluZS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd05vdGlmaWNhdGlv", - "bk1lc3NhZ2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlv", - "biI6ICJTaG93IHRoZSBsYXRlc3Qgbm90aWZpY2F0aW9uIHRleHQgaW4gdGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgIm5vdGlmaWNhdGlvbk1l", - "c3NhZ2VMaW5lTGltaXQiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJtYXhpbXVt", - "IjogNTAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEyLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gbGluZXMgc2hvd24gZm9yIHRoZSBsYXRl", - "c3Qgbm90aWZpY2F0aW9uIGJlbG93IGVhY2ggd29ya3NwYWNlIHRpdGxlLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", - "b25zLnNpZGViYXIubm90aWZpY2F0aW9uTWVzc2FnZUxpbmVMaW1pdCIKICAgICAgICB9LAogICAgICAgICJzaG93QnJhbmNoRGlyZWN0b3J5IjogewogICAg", - "ICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgd29y", - "a3NwYWNlIHdvcmtpbmcgZGlyZWN0b3J5LiIKICAgICAgICB9LAogICAgICAgICJzaG93UHVsbFJlcXVlc3RzIjogewogICAgICAgICAgInR5cGUiOiAiYm9v", - "bGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBwdWxsIHJlcXVlc3QgbWV0YWRhdGEgaW4g", - "dGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgIndhdGNoR2l0U3RhdHVzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAg", - "ICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2F0Y2ggcmVwb3NpdG9yeSBmaWxlcyBmb3Igc2lkZWJhciBicmFuY2ggYW5k", - "IHB1bGwgcmVxdWVzdCBtZXRhZGF0YSB3aXRob3V0IHBvbGxpbmcgZ2l0LiIKICAgICAgICB9LAogICAgICAgICJtYWtlUHVsbFJlcXVlc3RzQ2xpY2thYmxl", - "IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxs", - "b3cgc2lkZWJhciBwdWxsIHJlcXVlc3QgbWV0YWRhdGEgdG8gb3BlbiBsaW5rcyB3aGVuIGNsaWNrZWQuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5QdWxs", - "UmVxdWVzdExpbmtzSW5DbXV4QnJvd3NlciI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAg", - "ICAgICAgImRlc2NyaXB0aW9uIjogIk9wZW4gc2lkZWJhciBwdWxsIHJlcXVlc3QgbGlua3MgaW4gdGhlIGVtYmVkZGVkIGNtdXggYnJvd3Nlci4iCiAgICAg", - "ICAgfSwKICAgICAgICAib3BlblBvcnRMaW5rc0luQ211eEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZh", - "dWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVuIHNpZGViYXIgcG9ydCBsaW5rcyBpbiB0aGUgZW1iZWRkZWQgY211eCBicm93c2Vy", - "LiIKICAgICAgICB9LAogICAgICAgICJzaG93U1NIIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUs", - "CiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBTU0ggY29ubmVjdGlvbiBkZXRhaWxzLiIKICAgICAgICB9LAogICAgICAgICJzaG93UG9ydHMiOiB7", - "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGxp", - "c3RlbmluZyBwb3J0cy4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0xvZyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRl", - "ZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgcmVjZW50IGxvZyBzbmlwcGV0cy4iCiAgICAgICAgfSwKICAgICAgICAic2hv", - "d1Byb2dyZXNzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRp", - "b24iOiAiU2hvdyBwcm9ncmVzcyBpbmRpY2F0b3JzLiIKICAgICAgICB9LAogICAgICAgICJzaG93QWdlbnRBY3Rpdml0eSI6IHsKICAgICAgICAgICJ0eXBl", - "IjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGxvYWRpbmcgc3Bpbm5l", - "ciBvbiB3b3Jrc3BhY2VzIHdpdGggcnVubmluZyBjb2RpbmcgYWdlbnRzIG9yIGFjdGl2ZSBsb2FkZXJzLiIKICAgICAgICB9LAogICAgICAgICJsb2FkaW5n", - "U3Bpbm5lclBvc2l0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJsZWFkaW5nIiwgInRyYWlsaW5nIl0s", - "CiAgICAgICAgICAiZGVmYXVsdCI6ICJsZWFkaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGljaCBzaWRlIG9mIHRoZSB3b3Jrc3BhY2Ugcm93", - "IHRoZSBsb2FkaW5nIHNwaW5uZXIgYXBwZWFycyBvbjogbGVhZGluZyAobGVmdCwgc2hhcmluZyB0aGUgdW5yZWFkLWJhZGdlIHNsb3QpIG9yIHRyYWlsaW5n", - "IChyaWdodCkuIgogICAgICAgIH0sCiAgICAgICAgIm5vdGlmaWNhdGlvbkJhZGdlUG9zaXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAog", - "ICAgICAgICAgImVudW0iOiBbImxlYWRpbmciLCAidHJhaWxpbmciXSwKICAgICAgICAgICJkZWZhdWx0IjogImxlYWRpbmciLAogICAgICAgICAgImRlc2Ny", - "aXB0aW9uIjogIldoaWNoIHNpZGUgb2YgdGhlIHdvcmtzcGFjZSByb3cgdGhlIHVucmVhZCBub3RpZmljYXRpb24gYmFkZ2UgYXBwZWFycyBvbjogbGVhZGlu", - "ZyAobGVmdCkgb3IgdHJhaWxpbmcgKHJpZ2h0KS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0N1c3RvbU1ldGFkYXRhIjogewogICAgICAgICAgInR5cGUi", - "OiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBjdXN0b20gbWV0YWRhdGEgcGls", - "bHMuIgogICAgICAgIH0sCiAgICAgICAgInJpZ2h0TWF4V2lkdGgiOiB7CiAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgImV4Y2x1c2l2", - "ZU1pbmltdW0iOiAwLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5zaWRlYmFyLnJpZ2h0TWF4V2lkdGgiLAogICAg", - "ICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gd2lkdGggaW4gcG9pbnRzIGZvciB0aGUgcmlnaHQgc2lkZWJhci4gV2hlbiBvbWl0dGVkLCB0aGUgYnVp", - "bHQtaW4gZHluYW1pYyBjYXAgYXBwbGllcy4iCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIndvcmtzcGFjZUNvbG9ycyI6IHsKICAgICAgIngtY211", - "eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAid29ya3NwYWNlQ29sb3JzIiwKICAgICAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSB0", - "YWIgYW5kIGJhZGdlIGNvbG9ycyBmcm9tIFNldHRpbmdzID4gV29ya3NwYWNlIENvbG9ycy4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRk", - "aXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImluZGljYXRvclN0eWxlIjogewogICAgICAgICAgInR5", - "cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAibGVmdFJhaWwiLAogICAgICAgICAgICAic29saWRGaWxsIiwKICAgICAg", - "ICAgICAgInJhaWwiLAogICAgICAgICAgICAiYm9yZGVyIiwKICAgICAgICAgICAgIndhc2giLAogICAgICAgICAgICAibGlmdCIsCiAgICAgICAgICAgICJ0", - "eXBvZ3JhcGh5IiwKICAgICAgICAgICAgIndhc2hSYWlsIiwKICAgICAgICAgICAgImJsdWVXYXNoQ29sb3JSYWlsIgogICAgICAgICAgXSwKICAgICAgICAg", - "ICJkZWZhdWx0IjogImxlZnRSYWlsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBY3RpdmUgd29ya3NwYWNlIGluZGljYXRvciBzdHlsZS4gTGVnYWN5", - "IGFsaWFzZXMgYXJlIGFjY2VwdGVkIGFuZCBub3JtYWxpemVkLiIKICAgICAgICB9LAogICAgICAgICJzZWxlY3Rpb25Db2xvciI6IHsKICAgICAgICAgICIk", - "cmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk92ZXJy", - "aWRlIHRoZSBzZWxlY3RlZCB3b3Jrc3BhY2UgYmFja2dyb3VuZCBjb2xvci4iCiAgICAgICAgfSwKICAgICAgICAibm90aWZpY2F0aW9uQmFkZ2VDb2xvciI6", - "IHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2Ny", - "aXB0aW9uIjogIk92ZXJyaWRlIHRoZSB1bnJlYWQgbm90aWZpY2F0aW9uIGJhZGdlIGNvbG9yLiIKICAgICAgICB9LAogICAgICAgICJjb2xvcnMiOiB7CiAg", - "ICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZ1bGwgbmFtZWQgd29ya3NwYWNlIGNvbG9yIHBhbGV0dGUuIElu", - "Y2x1ZGUgYnVpbHQtaW4gZW50cmllcyB5b3Ugd2FudCB0byBrZWVwLCByZW1vdmUga2V5cyB0byByZW1vdmUgY29sb3JzLCBhbmQgYWRkIG1vcmUgbmFtZWQg", - "ZW50cmllcyB0byBleHRlbmQgdGhlIHBpY2tlci4iLAogICAgICAgICAgImRlZmF1bHQiOiB7CiAgICAgICAgICAgICJSZWQiOiAiI0MwMzkyQiIsCiAgICAg", - "ICAgICAgICJDcmltc29uIjogIiM5MjJCMjEiLAogICAgICAgICAgICAiT3JhbmdlIjogIiNBMDQwMDAiLAogICAgICAgICAgICAiQW1iZXIiOiAiIzdENjYw", - "OCIsCiAgICAgICAgICAgICJPbGl2ZSI6ICIjNEE1QzE4IiwKICAgICAgICAgICAgIkdyZWVuIjogIiMxOTZGM0QiLAogICAgICAgICAgICAiVGVhbCI6ICIj", - "MDA2QjZCIiwKICAgICAgICAgICAgIkFxdWEiOiAiIzBFNkI4QyIsCiAgICAgICAgICAgICJCbHVlIjogIiMxNTY1QzAiLAogICAgICAgICAgICAiTmF2eSI6", - "ICIjMUE1Mjc2IiwKICAgICAgICAgICAgIkluZGlnbyI6ICIjMjgzNTkzIiwKICAgICAgICAgICAgIlB1cnBsZSI6ICIjNkExQjlBIiwKICAgICAgICAgICAg", - "Ik1hZ2VudGEiOiAiI0FEMTQ1NyIsCiAgICAgICAgICAgICJSb3NlIjogIiM4ODBFNEYiLAogICAgICAgICAgICAiQnJvd24iOiAiIzdCM0YwMCIsCiAgICAg", - "ICAgICAgICJDaGFyY29hbCI6ICIjM0U0QjVFIgogICAgICAgICAgfSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAg", - "IiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJwYWxldHRlT3ZlcnJpZGVzIjogewogICAgICAgICAg", - "InR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgd29ya3NwYWNlIGNvbG9yIG92ZXJyaWRlcyBmb3IgYnVpbHQtaW4g", - "cGFsZXR0ZSBuYW1lcy4gUHJlZmVyIHdvcmtzcGFjZUNvbG9ycy5jb2xvcnMgZm9yIG5ldyBjb25maWdzLiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHt9LAog", - "ICAgICAgICAgImRlcHJlY2F0ZWQiOiB0cnVlLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiJHJlZiI6ICIjLyRk", - "ZWZzL2NvbG9ySGV4IgogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgImN1c3RvbUNvbG9ycyI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwK", - "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgbGlzdCBvZiBjdXN0b20gd29ya3NwYWNlIGNvbG9ycy4gUHJlZmVyIHdvcmtzcGFjZUNvbG9ycy5j", - "b2xvcnMgZm9yIG5ldyBjb25maWdzLiIsCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlcHJlY2F0ZWQiOiB0cnVlLAogICAgICAgICAg", - "Iml0ZW1zIjogewogICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAg", - "ICJzaWRlYmFyQXBwZWFyYW5jZSI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAic2lkZWJhckFwcGVhcmFu", - "Y2UiLAogICAgICAiZGVzY3JpcHRpb24iOiAiU2lkZWJhciB0aW50IHNldHRpbmdzIGZyb20gU2V0dGluZ3MgPiBTaWRlYmFyIEFwcGVhcmFuY2UuIiwKICAg", - "ICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJt", - "YXRjaFRlcm1pbmFsQmFja2dyb3VuZCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAg", - "ICAgICJkZXNjcmlwdGlvbiI6ICJVc2UgdGhlIHRlcm1pbmFsIGJhY2tncm91bmQgaW5zdGVhZCBvZiB0aGUgc2lkZWJhciB0aW50LiIKICAgICAgICB9LAog", - "ICAgICAgICJ0aW50Q29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IiwKICAgICAgICAgICJkZWZhdWx0IjogIiMwMDAwMDAi", - "LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkJhc2Ugc2lkZWJhciB0aW50IGNvbG9yIHVzZWQgd2hlbiBsaWdodC9kYXJrIG92ZXJyaWRlcyBhcmUgbm90", - "IHNldC4iCiAgICAgICAgfSwKICAgICAgICAibGlnaHRNb2RlVGludENvbG9yIjogewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleE9yTnVs", - "bCIsCiAgICAgICAgICAiZGVmYXVsdCI6IG51bGwsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2lkZWJhciB0aW50IG92ZXJyaWRlIGZvciBsaWdodCBh", - "cHBlYXJhbmNlLiIKICAgICAgICB9LAogICAgICAgICJkYXJrTW9kZVRpbnRDb2xvciI6IHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhP", - "ck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIgdGludCBvdmVycmlkZSBmb3IgZGFy", - "ayBhcHBlYXJhbmNlLiIKICAgICAgICB9LAogICAgICAgICJ0aW50T3BhY2l0eSI6IHsKICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAi", - "bWluaW11bSI6IDAsCiAgICAgICAgICAibWF4aW11bSI6IDEsCiAgICAgICAgICAiZGVmYXVsdCI6IDAuMDMsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", - "U2lkZWJhciB0aW50IG9wYWNpdHkgZnJvbSAwIHRvIDEuIE5vdGU6IHRoaXMgb25seSBjb250cm9scyB0aGUgc2lkZWJhciB0aW50LCBub3QgdGVybWluYWwv", - "d2luZG93IHRyYW5zcGFyZW5jeS4gRm9yIHRlcm1pbmFsIGJhY2tncm91bmQgdHJhbnNwYXJlbmN5IG9yIGJsdXIsIHNldCBgYmFja2dyb3VuZC1vcGFjaXR5", - "YCBhbmQgYGJhY2tncm91bmQtYmx1cmAgaW4gYH4vLmNvbmZpZy9naG9zdHR5L2NvbmZpZ2AgYW5kIHJ1biBgY211eCByZWxvYWQtY29uZmlnYC4iCiAgICAg", - "ICAgfQogICAgICB9CiAgICB9LAogICAgImF1dG9tYXRpb24iOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjog", - "ImF1dG9tYXRpb24iLAogICAgICAiZGVzY3JpcHRpb24iOiAiU29ja2V0IGNvbnRyb2wgYW5kIGF1dG9tYXRpb24gc2V0dGluZ3MgZnJvbSBTZXR0aW5ncyA+", - "IEF1dG9tYXRpb24uIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0", - "aWVzIjogewogICAgICAgICJzb2NrZXRDb250cm9sTW9kZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsKICAg", - "ICAgICAgICAgIm9mZiIsCiAgICAgICAgICAgICJjbXV4T25seSIsCiAgICAgICAgICAgICJhdXRvbWF0aW9uIiwKICAgICAgICAgICAgInBhc3N3b3JkIiwK", - "ICAgICAgICAgICAgImFsbG93QWxsIiwKICAgICAgICAgICAgIm9wZW5BY2Nlc3MiLAogICAgICAgICAgICAiZnVsbE9wZW5BY2Nlc3MiLAogICAgICAgICAg", - "ICAibm90aWZpY2F0aW9ucyIsCiAgICAgICAgICAgICJmdWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogImNtdXhPbmx5IiwKICAgICAg", - "ICAgICJkZXNjcmlwdGlvbiI6ICJTb2NrZXQgY29udHJvbCBtb2RlLiBMZWdhY3kgYWxpYXNlcyBhcmUgYWNjZXB0ZWQgYW5kIG5vcm1hbGl6ZWQuIgogICAg", - "ICAgIH0sCiAgICAgICAgInNvY2tldFBhc3N3b3JkIjogewogICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInR5cGUi", - "OiAic3RyaW5nIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVsbCIKICAgICAgICAgICAgfQogICAgICAg", - "ICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUGFzc3dvcmQgZm9yIHBhc3N3b3JkLW1vZGUgc29ja2V0", - "IGFjY2Vzcy4gVXNlIG51bGwgb3IgYW4gZW1wdHkgc3RyaW5nIHRvIGNsZWFyIGl0LiIKICAgICAgICB9LAogICAgICAgICJjbGF1ZGVDb2RlSW50ZWdyYXRp", - "b24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJF", - "bmFibGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgQ2xhdWRlIENvZGUuIgogICAgICAgIH0sCiAgICAgICAgImNsYXVkZUJpbmFyeVBhdGgiOiB7CiAg", - "ICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDdXN0b20gcGF0aCB0", - "byB0aGUgY2xhdWRlIGJpbmFyeS4iCiAgICAgICAgfSwKICAgICAgICAid29ya3NwYWNlQXV0b05hbWluZyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", - "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXV0b21hdGlv", - "bi53b3Jrc3BhY2VBdXRvTmFtaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHQtaW4gQUkgYXV0by1uYW1pbmcgb2Ygd29ya3NwYWNlcyBhbmQg", - "dGFicyBmcm9tIGFnZW50IGNvbnZlcnNhdGlvbiBjb250ZW50LiBXaGVuIGVuYWJsZWQsIGNtdXggc3VtbWFyaXplcyBzdXBwb3J0ZWQgYWdlbnQgc2Vzc2lv", - "bnMgaW50byBzaG9ydCB0aXRsZXMgdXNpbmcgZWFjaCBhZ2VudCdzIG93biBiaW5hcnk7IG1hbnVhbCByZW5hbWVzIGFsd2F5cyB3aW4uIgogICAgICAgIH0s", - "CiAgICAgICAgImF1dG9OYW1pbmdBZ2VudCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICJhdXRvIiwKICAg", - "ICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXV0b21hdGlvbi5hdXRvTmFtaW5nQWdlbnQiLAogICAgICAgICAgImRlc2Ny", - "aXB0aW9uIjogIldoaWNoIGFnZW50IGdlbmVyYXRlcyBhdXRvLW5hbWVzIGZvciBldmVyeSBzZXNzaW9uLiBcImF1dG9cIiAoZGVmYXVsdCkgbmFtZXMgZWFj", - "aCBzZXNzaW9uIHdpdGggaXRzIG93biBhZ2VudDsgYW55IGFnZW50IHNsdWcgKGNsYXVkZSwgY29kZXgsIGdyb2ssIG9wZW5jb2RlLCBwaSwgb21wLCDigKYp", - "IG92ZXJyaWRlcyBuYW1pbmcgZm9yIGFsbCBzZXNzaW9ucywgZXZlbiBvdGhlciBhZ2VudHMnIHNlc3Npb25zLiBVbmRyaXZlYWJsZSBvciB1bmluc3RhbGxl", - "ZCBhZ2VudHMgZmFsbCBiYWNrIHRvIHRoZSBzZXNzaW9uJ3Mgb3duIGFnZW50LCBzbyBuYW1pbmcgbmV2ZXIgYnJlYWtzLiIKICAgICAgICB9LAogICAgICAg", - "ICJyaXBncmVwQmluYXJ5UGF0aCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRl", - "c2NyaXB0aW9uIjogIkN1c3RvbSBwYXRoIHRvIHRoZSByaXBncmVwIChyZykgYmluYXJ5IHVzZWQgYnkgcHJvamVjdCBzZWFyY2guIgogICAgICAgIH0sCiAg", - "ICAgICAgInN1cHByZXNzU3ViYWdlbnROb3RpZmljYXRpb25zIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6", - "IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24uc3VwcHJlc3NTdWJhZ2VudE5vdGlmaWNh", - "dGlvbnMiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN1cHByZXNzIHZpc2libGUgY29tcGxldGlvbiBub3RpZmljYXRpb25zIGFuZCBzdGF0dXMgbXV0", - "YXRpb25zIGZyb20gbmVzdGVkIENvZGV4IG9yIENsYXVkZSBjaGlsZCBhZ2VudHMgd2hpbGUga2VlcGluZyB0aGVpciBldmVudHMgaW4gRmVlZCB0ZWxlbWV0", - "cnkuIgogICAgICAgIH0sCiAgICAgICAgImFtcEludGVncmF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVs", - "dCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24uYW1wSW50ZWdyYXRpb24iLAogICAg", - "ICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBjbXV4IGludGVncmF0aW9uIGhvb2tzIGZvciBBbXAuIFdoZW4gZGlzYWJsZWQsIHRoZSBidW5kbGVkIHBs", - "dWdpbiBzdGF5cyBpbmFjdGl2ZSB3aXRob3V0IG5lZWRpbmcgdG8gYmUgcmVtb3ZlZC4iCiAgICAgICAgfSwKICAgICAgICAiY3Vyc29ySW50ZWdyYXRpb24i", - "OiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFi", - "bGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgQ3Vyc29yLiIKICAgICAgICB9LAogICAgICAgICJnZW1pbmlJbnRlZ3JhdGlvbiI6IHsKICAgICAgICAg", - "ICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBjbXV4IGludGVn", - "cmF0aW9uIGhvb2tzIGZvciBHZW1pbmkuIgogICAgICAgIH0sCiAgICAgICAgImtpcm9JbnRlZ3JhdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", - "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBjbXV4IGludGVncmF0aW9uIGhvb2tzIGZv", - "ciBLaXJvIENMSS4iCiAgICAgICAgfSwKICAgICAgICAia2lyb05vdGlmaWNhdGlvbkxldmVsIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAg", - "ICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAibWluaW1hbCIsCiAgICAgICAgICAgICJzdGFuZGFyZCIsCiAgICAgICAgICAgICJ2ZXJib3NlIgogICAg", - "ICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogInN0YW5kYXJkIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb250cm9scyBob3cgbWFueSBLaXJv", - "IHRvb2wgZXZlbnRzIGFwcGVhciBpbiBGZWVkLiIKICAgICAgICB9LAogICAgICAgICJwb3J0QmFzZSI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIi", - "LAogICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgImRlZmF1bHQiOiA5MTAwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN0YXJ0aW5nIHZh", - "bHVlIGZvciB3b3Jrc3BhY2UgQ01VWF9QT1JUIGFzc2lnbm1lbnRzLiIKICAgICAgICB9LAogICAgICAgICJwb3J0UmFuZ2UiOiB7CiAgICAgICAgICAidHlw", - "ZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJkZWZhdWx0IjogMTAsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", - "TnVtYmVyIG9mIHBvcnRzIHJlc2VydmVkIHBlciB3b3Jrc3BhY2UuIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJicm93c2VyIjogewogICAgICAi", - "eC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJicm93c2VyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkVtYmVkZGVkIGJyb3dz", - "ZXIgc2V0dGluZ3MgZnJvbSBTZXR0aW5ncyA+IEJyb3dzZXIuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVz", - "IjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJkZWZhdWx0U2VhcmNoRW5naW5lIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5n", - "IiwKICAgICAgICAgICJlbnVtIjogWyJnb29nbGUiLCAiZHVja2R1Y2tnbyIsICJiaW5nIiwgImthZ2kiLCAic3RhcnRwYWdlIiwgImJyYXZlIiwgInBlcnBs", - "ZXhpdHkiLCAiZXhhIiwgInlhaG9vIiwgImVjb3NpYSIsICJxd2FudCIsICJtb2plZWsiLCAid2lraXBlZGlhIiwgImdpdGh1YiIsICJiYWlkdSIsICJ5YW5k", - "ZXgiLCAiY3VzdG9tIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJnb29nbGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0", - "aW9ucy5icm93c2VyLmRlZmF1bHRTZWFyY2hFbmdpbmUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgc2VhcmNoIGVuZ2luZSBmb3Igbm9u", - "LVVSTCBicm93c2VyIGFkZHJlc3MgYmFyIHF1ZXJpZXMuIFVzZSBjdXN0b20gd2l0aCBjdXN0b21TZWFyY2hFbmdpbmVVUkxUZW1wbGF0ZSBmb3IgYXJiaXRy", - "YXJ5IHByb3ZpZGVycy4iCiAgICAgICAgfSwKICAgICAgICAiY3VzdG9tU2VhcmNoRW5naW5lTmFtZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIs", - "CiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmN1c3RvbVNl", - "YXJjaEVuZ2luZU5hbWUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbmFtZSB1c2VkIHdoZW4gZGVmYXVsdFNlYXJjaEVuZ2luZSBpcyBj", - "dXN0b20uIgogICAgICAgIH0sCiAgICAgICAgImN1c3RvbVNlYXJjaEVuZ2luZVVSTFRlbXBsYXRlIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwK", - "ICAgICAgICAgICJkZWZhdWx0IjogImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vc2VhcmNoP3E9e3F1ZXJ5fSIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXki", - "OiAic2NoZW1hRGVzY3JpcHRpb25zLmJyb3dzZXIuY3VzdG9tU2VhcmNoRW5naW5lVVJMVGVtcGxhdGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNl", - "YXJjaCBVUkwgdXNlZCB3aGVuIGRlZmF1bHRTZWFyY2hFbmdpbmUgaXMgY3VzdG9tLiBJbmNsdWRlIHtxdWVyeX0gb3IgJXMgZm9yIHRoZSBlbmNvZGVkIHF1", - "ZXJ5LiBJZiBvbWl0dGVkLCBjbXV4IGFwcGVuZHMgcT0gdG8gdGhlIFVSTC4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1NlYXJjaFN1Z2dlc3Rpb25zIjog", - "ewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBv", - "bW5pYmFyIHNlYXJjaCBzdWdnZXN0aW9ucy4iCiAgICAgICAgfSwKICAgICAgICAidGhlbWUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAg", - "ICAgICAgImVudW0iOiBbInN5c3RlbSIsICJsaWdodCIsICJkYXJrIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzeXN0ZW0iLAogICAgICAgICAgImRlc2Ny", - "aXB0aW9uIjogIkVtYmVkZGVkIGJyb3dzZXIgdGhlbWUuIgogICAgICAgIH0sCiAgICAgICAgImRlZmF1bHRab29tTGV2ZWwiOiB7CiAgICAgICAgICAidHlw", - "ZSI6ICJudW1iZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAwLjI1LAogICAgICAgICAgIm1heGltdW0iOiA1LAogICAgICAgICAgImRlZmF1bHQiOiAxLAog", - "ICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmRlZmF1bHRab29tTGV2ZWwiLAogICAgICAgICAgImRlc2Ny", - "aXB0aW9uIjogIkRlZmF1bHQgcGFnZSB6b29tIGZhY3RvciBhcHBsaWVkIHRvIG5ld2x5IG9wZW5lZCBicm93c2VyIHBhZ2VzICgxID0gMTAwJSkuIFpvb20g", - "SW4sIFpvb20gT3V0LCBhbmQgQWN0dWFsIFNpemUgc3RpbGwgYWRqdXN0IGVhY2ggcGFnZS4iCiAgICAgICAgfSwKICAgICAgICAiZGlzY2FyZEhpZGRlbldl", - "YlZpZXdzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", - "OiAiQWxsb3cgaGlkZGVuIGJyb3dzZXIgdGFicyB0byByZWxlYXNlIHBhZ2UgbWVtb3J5IGFuZCByZXN0b3JlIHdoZW4gc2hvd24gYWdhaW4uIgogICAgICAg", - "IH0sCiAgICAgICAgImhpZGRlbldlYlZpZXdEaXNjYXJkRGVsYXlTZWNvbmRzIjogewogICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICJt", - "aW5pbXVtIjogMCwKICAgICAgICAgICJtYXhpbXVtIjogMzYwMCwKICAgICAgICAgICJkZWZhdWx0IjogMzAwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", - "IlNlY29uZHMgYSBicm93c2VyIHRhYiBtdXN0IHN0YXkgaGlkZGVuIGJlZm9yZSBjbXV4IGZyZWVzIGl0cyBwYWdlIG1lbW9yeS4iCiAgICAgICAgfSwKICAg", - "ICAgICAiYXNrV2hlcmVUb1NhdmVEb3dubG9hZHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2Us", - "CiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmJyb3dzZXIuYXNrV2hlcmVUb1NhdmVEb3dubG9hZHMiLAogICAgICAg", - "ICAgImRlc2NyaXB0aW9uIjogIlNob3cgYSBzYXZlIHBhbmVsIGZvciBicm93c2VyIGRvd25sb2FkcyBpbnN0ZWFkIG9mIHNhdmluZyBkaXJlY3RseSB0byBE", - "b3dubG9hZHMuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5UZXJtaW5hbExpbmtzSW5DbXV4QnJvd3NlciI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", - "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wZW4gY2xpY2tlZCB0ZXJtaW5hbCBsaW5rcyBpbiB0", - "aGUgZW1iZWRkZWQgYnJvd3Nlci4iCiAgICAgICAgfSwKICAgICAgICAiaW50ZXJjZXB0VGVybWluYWxPcGVuQ29tbWFuZEluQ211eEJyb3dzZXIiOiB7CiAg", - "ICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJJbnRlcmNlcHQg", - "dGVybWluYWwgb3BlbiBodHRwKHMpIGNvbW1hbmRzIGFuZCByb3V0ZSB0aGVtIHRocm91Z2ggdGhlIGVtYmVkZGVkIGJyb3dzZXIuIgogICAgICAgIH0sCiAg", - "ICAgICAgImhvc3RzVG9PcGVuSW5FbWJlZGRlZEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAg", - "ICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", - "IkFsbG93bGlzdCBvZiBob3N0cyB0aGF0IHNob3VsZCBzdGF5IGluc2lkZSB0aGUgZW1iZWRkZWQgYnJvd3Nlci4iCiAgICAgICAgfSwKICAgICAgICAidXJs", - "c1RvQWx3YXlzT3BlbkV4dGVybmFsbHkiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0", - "eXBlIjogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJ1bGVzIHRoYXQg", - "YWx3YXlzIG9wZW4gbWF0Y2hpbmcgVVJMcyBpbiB0aGUgc3lzdGVtIGJyb3dzZXIuIgogICAgICAgIH0sCiAgICAgICAgImluc2VjdXJlSHR0cEhvc3RzQWxs", - "b3dlZEluRW1iZWRkZWRCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlw", - "ZSI6ICJzdHJpbmciCiAgICAgICAgICB9LAogICAgICAgICAgImRlZmF1bHQiOiBbCiAgICAgICAgICAgICJsb2NhbGhvc3QiLAogICAgICAgICAgICAiKi5s", - "b2NhbGhvc3QiLAogICAgICAgICAgICAiMTI3LjAuMC4xIiwKICAgICAgICAgICAgIjo6MSIsCiAgICAgICAgICAgICIwLjAuMC4wIiwKICAgICAgICAgICAg", - "IioubG9jYWx0ZXN0Lm1lIgogICAgICAgICAgXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIVFRQIGhvc3RzIGFsbG93ZWQgaW4gdGhlIGVtYmVkZGVk", - "IGJyb3dzZXIgd2l0aG91dCBhIHdhcm5pbmcgcHJvbXB0LiIKICAgICAgICB9LAogICAgICAgICJ1cmxBbGxvd2xpc3QiOiB7CiAgICAgICAgICAidHlwZSI6", - "ICJhcnJheSIsCiAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVzY3Jp", - "cHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmJyb3dzZXIudXJsQWxsb3dsaXN0IiwKICAgICAgICAgICJkZWZhdWx0IjogWwogICAgICAgICAgICAi", - "bG9jYWxob3N0IiwKICAgICAgICAgICAgIioubG9jYWxob3N0IiwKICAgICAgICAgICAgIjEyNy4wLjAuMSIsCiAgICAgICAgICAgICI6OjEiLAogICAgICAg", - "ICAgICAiMC4wLjAuMCIsCiAgICAgICAgICAgICIqLmxvY2FsdGVzdC5tZSIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG9zdCBv", - "ciBVUkwgcGF0dGVybnMgdGhhdCByZXN0cmljdCBlbWJlZGRlZC1icm93c2VyIG5hdmlnYXRpb24uIFRoZSBTZXR0aW5ncyBVSSBzdWdnZXN0cyBsb2NhbCBk", - "ZXZlbG9wbWVudCBvcmlnaW5zOyBzYXZpbmcgYSBsaXN0IG9wdHMgaW50byB0aGUgb3B0aW9uYWwgcmVzdHJpY3Rpb24uIFJlbW92ZSBlbnRyaWVzIHRvIGJs", - "b2NrIHRoZW0sIG9yIGxlYXZlIHRoZSB1c2VyIHZhbHVlIGVtcHR5IHRvIGRpc2FibGUgaXQgd2hlbiBubyBtYW5hZ2VkIHBvbGljeSBhcHBsaWVzLiIKICAg", - "ICAgICB9LAogICAgICAgICJzaG93SW1wb3J0SGludE9uQmxhbmtUYWJzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVm", - "YXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgYnJvd3NlciBpbXBvcnQgaGludCBvbiBibGFuayB0YWJzLiIKICAgICAg", - "ICB9LAogICAgICAgICJyZWFjdEdyYWJWZXJzaW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIjAuMS4y", - "OSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUGlubmVkIHJlYWN0LWdyYWIgdmVyc2lvbiBmb3IgdGhlIGJyb3dzZXIgdG9vbGJhciBoZWxwZXIuIgog", - "ICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJtb2JpbGUiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjog", - "Im1vYmlsZSIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJNYWMtc2lkZSBzZXR0aW5ncyBmb3IgY211eCBvbiBpT1MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0", - "IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJhcnRpZmFjdEZvbGRlckFjY2Vz", - "cyI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsic3VidHJlZSIsICJvbmVMZXZlbCJdLAogICAgICAgICAgImRl", - "ZmF1bHQiOiAic3VidHJlZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29udHJvbHMgd2hldGhlciBhIHJlZmVyZW5jZWQgb3IgdGVybWluYWwtdmlz", - "aWJsZSBkaXJlY3RvcnkgYXV0aG9yaXplcyBpdHMgZnVsbCBjYW5vbmljYWwgc3VidHJlZSBvciBvbmx5IGltbWVkaWF0ZSBjaGlsZHJlbi4iCiAgICAgICAg", - "fQogICAgICB9CiAgICB9LAogICAgIm1hcmtkb3duIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJtYXJr", - "ZG93biIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJCdWlsdC1pbiBtYXJrZG93biB2aWV3ZXIgc2V0dGluZ3MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwK", - "ICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJmb250U2l6ZSI6IHsKICAgICAgICAg", - "ICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgIm1pbmltdW0iOiA4LAogICAgICAgICAgIm1heGltdW0iOiA5NiwKICAgICAgICAgICJkZWZhdWx0Ijog", - "MTUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVmYXVsdCBib2R5IGZvbnQgc2l6ZSwgaW4gcG9pbnRzLCBmb3IgbmV3bHkgb3BlbmVkIG1hcmtkb3du", - "IHZpZXdlcnMuIFpvb20gYSB2aWV3ZXIgbGl2ZSB3aXRoIENtZC0rIC8gQ21kLS0gLyBDbWQtMC4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNj", - "aGVtYURlc2NyaXB0aW9ucy5tYXJrZG93bi5mb250U2l6ZSIKICAgICAgICB9LAogICAgICAgICJmb250RmFtaWx5IjogewogICAgICAgICAgInR5cGUiOiAi", - "c3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVmYXVsdCBib2R5IGZvbnQgZmFtaWx5IGZvciBu", - "ZXdseSBvcGVuZWQgbWFya2Rvd24gdmlld2Vycy4gTGVhdmUgZW1wdHkgZm9yIHRoZSBzeXN0ZW0gbWFya2Rvd24gZm9udCBzdGFjay4iLAogICAgICAgICAg", - "ImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5tYXJrZG93bi5mb250RmFtaWx5IgogICAgICAgIH0sCiAgICAgICAgIm1heFdpZHRoIjog", - "ewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDMyMCwKICAgICAgICAgICJtYXhpbXVtIjogMjQwMCwKICAgICAg", - "ICAgICJkZWZhdWx0IjogOTgwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgbWF4aW11bSByZWFkaW5nIGNvbHVtbiB3aWR0aCwgaW4gQ1NT", - "IHBpeGVscywgZm9yIG5ld2x5IG9wZW5lZCBtYXJrZG93biB2aWV3ZXJzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", - "b25zLm1hcmtkb3duLm1heFdpZHRoIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJjYW52YXMiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJn", - "bG9iYWwiXSwKICAgICAgInRpdGxlIjogImNhbnZhcyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGcmVlZm9ybSBjYW52YXMgd29ya3NwYWNlIGxheW91dCBz", - "ZXR0aW5ncy4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMi", - "OiB7CiAgICAgICAgInBhbmVHYXAiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMCwKICAgICAgICAgICJt", - "YXhpbXVtIjogNjQsCiAgICAgICAgICAiZGVmYXVsdCI6IDE2LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNwYWNpbmcgYmV0d2VlbiBwYW5lcyBpbiB0", - "aGUgY2FudmFzIGxheW91dCwgaW4gcG9pbnRzLiBTbmFwcGluZywgdGlkeSwgYW5kIG5ldy1wYW5lIHBsYWNlbWVudCBhbGwgdXNlIHRoaXMgb25lIGdhcC4i", - "LAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5jYW52YXMucGFuZUdhcCIKICAgICAgICB9LAogICAgICAgICJzbmFw", - "cGluZ0VuYWJsZWQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlw", - "dGlvbiI6ICJTbmFwIHBhbmUgZHJhZ3MgYW5kIHJlc2l6ZXMgdG8gbmVpZ2hib3IgZWRnZXMgYW5kIHRoZSBwYW5lIGdhcC4gSG9sZCBDb21tYW5kIHRvIHN1", - "c3BlbmQgc25hcHBpbmcgZm9yIG9uZSBnZXN0dXJlLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmNhbnZhcy5z", - "bmFwcGluZ0VuYWJsZWQiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImZpbGVFZGl0b3IiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9i", - "YWwiXSwKICAgICAgInRpdGxlIjogImZpbGVFZGl0b3IiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQnVpbHQtaW4gZmlsZSBlZGl0b3Igc2V0dGluZ3MuIiwK", - "ICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAg", - "ICJ3b3JkV3JhcCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlw", - "dGlvbiI6ICJXcmFwIGxvbmcgbGluZXMgYXQgdGhlIGVkaXRvcidzIHJpZ2h0IGVkZ2UgaW5zdGVhZCBvZiBzY3JvbGxpbmcgaG9yaXpvbnRhbGx5LiIsCiAg", - "ICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3Iud29yZFdyYXAiCiAgICAgICAgfSwKICAgICAgICAic3lu", - "dGF4SGlnaGxpZ2h0aW5nIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVz", - "Y3JpcHRpb24iOiAiQ29sb3Igc291cmNlIHRva2VucyBpbiB0aGUgYnVpbHQtaW4gZmlsZSBlZGl0b3IuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6", - "ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5zeW50YXhIaWdobGlnaHRpbmciCiAgICAgICAgfSwKICAgICAgICAibGluZU51bWJlcnMiOiB7CiAg", - "ICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGEgbGlu", - "ZS1udW1iZXIgZ3V0dGVyIGluIHRoZSBidWlsdC1pbiBmaWxlIGVkaXRvci4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0", - "aW9ucy5maWxlRWRpdG9yLmxpbmVOdW1iZXJzIgogICAgICAgIH0sCiAgICAgICAgImluZGVudEd1aWRlcyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", - "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRyYXcgdmVydGljYWwgaW5kZW50IGd1aWRlcyBpbiB0", - "aGUgYnVpbHQtaW4gZmlsZSBlZGl0b3IuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5pbmRl", - "bnRHdWlkZXMiCiAgICAgICAgfSwKICAgICAgICAiY3VycmVudExpbmVIaWdobGlnaHQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAg", - "ICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWdobGlnaHQgdGhlIGNhcmV0J3MgbGluZSB3aGVuIHRoZSBzZWxlY3Rp", - "b24gaXMgZW1wdHkuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5jdXJyZW50TGluZUhpZ2hs", - "aWdodCIKICAgICAgICB9LAogICAgICAgICJ0YWJXaWR0aCI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgImRlZmF1bHQiOiA0", - "LAogICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgIm1heGltdW0iOiA4LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbHVtbnMgcGVyIHRh", - "YiBzdG9wIGZvciBpbmRlbnQgZ3VpZGVzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3IudGFi", - "V2lkdGgiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImZpbGVFeHBsb3JlciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAog", - "ICAgICAidGl0bGUiOiAiZmlsZUV4cGxvcmVyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlJpZ2h0LXNpZGViYXIgZmlsZSBleHBsb3JlciAoZmlsZSB0cmVl", - "KSBzZXR0aW5ncy4iLAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFeHBsb3Jlci5kZXNjcmlwdGlvbiIsCiAgICAg", - "ICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZG91", - "YmxlQ2xpY2tBY3Rpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInByZXZpZXciLCAiZGVmYXVsdEVkaXRv", - "ciIsICJwcmVmZXJyZWRFZGl0b3IiXSwKICAgICAgICAgICJkZWZhdWx0IjogInByZXZpZXciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoYXQgZG91", - "YmxlLWNsaWNraW5nIChvciBwcmVzc2luZyBSZXR1cm4gb24gYSBzZWFyY2ggcmVzdWx0IGZvcikgYSBmaWxlIGluIHRoZSBmaWxlIGV4cGxvcmVyIGRvZXMu", - "IGBwcmV2aWV3YCBvcGVucyB0aGUgYnVpbHQtaW4gY211eCBmaWxlIHByZXZpZXcgKHRoZSBkZWZhdWx0IGFuZCBoaXN0b3JpY2FsIGJlaGF2aW9yKS4gYGRl", - "ZmF1bHRFZGl0b3JgIG9wZW5zIHdpdGggdGhlIG1hY09TIGRlZmF1bHQgYXBwIGZvciB0aGUgZmlsZSB0eXBlLiBgcHJlZmVycmVkRWRpdG9yYCBvcGVucyB3", - "aXRoIHRoZSBgYXBwLnByZWZlcnJlZEVkaXRvcmAgY29tbWFuZCwgZmFsbGluZyBiYWNrIHRvIHRoZSBkZWZhdWx0IGFwcCB3aGVuIG5vbmUgaXMgc2V0LiBP", - "bmx5IGFwcGxpZXMgdG8gZmlsZXM7IGRpcmVjdG9yaWVzIGFsd2F5cyBleHBhbmQvY29sbGFwc2UsIGFuZCBub24tbG9jYWwgKHJlbW90ZSkgZmlsZSBleHBs", - "b3JlcnMgYWx3YXlzIG9wZW4gdGhlIGNtdXggcHJldmlldy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5maWxl", - "RXhwbG9yZXIuZG91YmxlQ2xpY2tBY3Rpb24iCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgImRpZmZWaWV3ZXIiOiB7CiAgICAgICJ4LWNtdXgtc2Nv", - "cGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogImRpZmZWaWV3ZXIiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQnVpbHQtaW4gZGlmZiB2aWV3ZXIg", - "c2V0dGluZ3MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVz", - "IjogewogICAgICAgICJkZWZhdWx0TGF5b3V0IjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJ1bmlmaWVkIiwg", - "InNwbGl0Il0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJ1bmlmaWVkIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IGxheW91dCBmb3IgbmV3", - "bHkgb3BlbmVkIGRpZmYgdmlld2Vycy4gVGhlIHRvb2xiYXIgbGF5b3V0IHRvZ2dsZSBwZXJzaXN0cyB0aGUgdXNlcidzIGxhc3QgY2hvaWNlOyBhbiBleHBs", - "aWNpdCBgY211eCBkaWZmIC0tbGF5b3V0YCBvcHRpb24gb3ZlcnJpZGVzIGJvdGguIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNj", - "cmlwdGlvbnMuZGlmZlZpZXdlci5kZWZhdWx0TGF5b3V0IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJyaWdodFNpZGViYXIiOiB7CiAgICAgICJ0", - "aXRsZSI6ICJyaWdodFNpZGViYXIiLAogICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IGFuZCBleHRlbnNpb24tb3duZWQgcmlnaHQtc2lkZWJhciBjb25m", - "aWd1cmF0aW9uIHByZXNlcnZlZCBpbiBjbXV4Lmpzb24uIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjog", - "dHJ1ZQogICAgfSwKICAgICJzaG9ydGN1dHMiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogInNob3J0Y3V0", - "cyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJLZXlib2FyZCBzaG9ydGN1dCBzZXR0aW5ncyBmcm9tIFNldHRpbmdzID4gS2V5Ym9hcmQgU2hvcnRjdXRzLiIs", + "ICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSBtZW51IGJhciBleHRyYS4iCiAgICAgICAgfSwKICAgICAgICAidW5yZWFkUGFuZVJpbmciOiB7CiAgICAgICAg", + "ICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAg", + "ICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWdobGlnaHQgcGFuZXMgd2l0aCB1bnJlYWQgbm90aWZpY2F0aW9ucy4iCiAgICAgICAgfSwKICAgICAgICAicGFu", + "ZUZsYXNoIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAi", + "ZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmxhc2ggdGhlIGZvY3VzZWQgcGFuZSB3aGVuIHJlcXVlc3RlZC4iCiAgICAgICAg", + "fSwKICAgICAgICAicGFuZUZsYXNoQ29sb3IiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAiJHJlZiI6ICIj", + "LyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNj", + "cmlwdGlvbnMubm90aWZpY2F0aW9ucy5wYW5lRmxhc2hDb2xvciIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3ZlcnJpZGUgdGhlIHBhbmUgZmxhc2gg", + "YW5kIHVucmVhZCByaW5nIGNvbG9yLiBOdWxsIGtlZXBzIHRoZSBidWlsdC1pbiBibHVlLiIKICAgICAgICB9LAogICAgICAgICJzdXBwcmVzc09ubHlGb2N1", + "c2VkU3VyZmFjZSI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAg", + "ICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5zdXBwcmVz", + "c09ubHlGb2N1c2VkU3VyZmFjZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiBlbmFibGVkLCBhIG5vdGlmaWNhdGlvbiBiYW5uZXIgaXMgYXV0", + "by13aXRoZHJhd24gb25seSB3aGVuIGl0cyBzdXJmYWNlIGlzIHRoZSBleGFjdCBmb2N1c2VkIHN1cmZhY2UuIEEgYmFubmVyIGRlbGl2ZXJlZCBmb3IgYSBu", + "b24tZm9jdXNlZCBzdXJmYWNlIGluIHRoZSBjdXJyZW50bHkgdmlzaWJsZSB3b3Jrc3BhY2Ugc3RheXMgdXAgdW50aWwgeW91IGZvY3VzIHRoYXQgc3VyZmFj", + "ZSAob3IgY2xpY2svZGlzbWlzcyBpdCksIGluc3RlYWQgb2YgYmVpbmcgcmV0cmFjdGVkIHdoZW4gdGhlIHdvcmtzcGFjZSBiZWNvbWVzIHZpc2libGUuIE9m", + "ZiBwcmVzZXJ2ZXMgdGhlIGxlZ2FjeSB3b3Jrc3BhY2UtdmlzaWJpbGl0eSB3aXRoZHJhdy4iCiAgICAgICAgfSwKICAgICAgICAiYWdlbnRQZXJtaXNzaW9u", + "UHJvbXB0IjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAi", + "ZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLm5vdGlmaWNhdGlvbnMuYWdlbnRQZXJtaXNz", + "aW9uUHJvbXB0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJOb3RpZnkgd2hlbiBhbiBhZ2VudCAoZS5nLiBDbGF1ZGUgQ29kZSkgaXMgYmxvY2tlZCB3", + "YWl0aW5nIGZvciB5b3VyIHBlcm1pc3Npb24gdG8gcnVuIGEgdG9vbC4gT24gYnkgZGVmYXVsdCwgc2luY2UgdGhpcyBpcyB0aGUgYWxlcnQgeW91IG11c3Qg", + "YWN0IG9uIHRvIHVuYmxvY2sgdGhlIGFnZW50LiIKICAgICAgICB9LAogICAgICAgICJhZ2VudFR1cm5Db21wbGV0ZSI6IHsKICAgICAgICAgICJ4LWNtdXgt", + "c2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsid2hlbklkbGUiLCAiYWx3YXlzIiwg", + "Im5ldmVyIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJ3aGVuSWRsZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25z", + "Lm5vdGlmaWNhdGlvbnMuYWdlbnRUdXJuQ29tcGxldGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdG8gbm90aWZ5IHRoYXQgYW4gYWdlbnQg", + "ZmluaXNoZWQgYSB0dXJuLiB3aGVuSWRsZSAoZGVmYXVsdCkgc3VwcHJlc3NlcyB0aGUgbm90aWZpY2F0aW9uIHdoaWxlIHRoZSBhZ2VudCBzdGlsbCBoYXMg", + "YSBydW5uaW5nIGJhY2tncm91bmQgdGFzayBvciBhIHBlbmRpbmcgc2NoZWR1bGVkIHdha2V1cCwgc28geW91IGFyZSBwaW5nZWQgb25jZSB3b3JrIHRydWx5", + "IGRyYWlucy4gYWx3YXlzIG5vdGlmaWVzIG9uIGV2ZXJ5IHR1cm4gZW5kOyBuZXZlciBkaXNhYmxlcyBpdC4iCiAgICAgICAgfSwKICAgICAgICAiYWdlbnRJ", + "ZGxlUmVtaW5kZXIiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAg", + "ICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5hZ2VudElk", + "bGVSZW1pbmRlciIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTm90aWZ5IHdoZW4gYW4gYWdlbnQgaGFzIGJlZW4gaWRsZSB3YWl0aW5nIGZvciB5b3Vy", + "IGlucHV0IChhYm91dCA2MHMgYWZ0ZXIgYSB0dXJuIGVuZHMpLiBTdXBwcmVzc2VkIHdoaWxlIGJhY2tncm91bmQgd29yayBmcm9tIHRoZSBsYXN0IHR1cm4g", + "aXMgc3RpbGwgcGVuZGluZywgc28gYSBydW5uaW5nIGJ1aWxkIG9yIHdhdGNoZXIgZG9lcyBub3QgdHJpZ2dlciBhIGZhbHNlIHdhaXRpbmcgYWxlcnQuIgog", + "ICAgICAgIH0sCiAgICAgICAgInNvdW5kIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAic3Ry", + "aW5nIiwKICAgICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAiZGVmYXVsdCIsCiAgICAgICAgICAgICJCYXNzbyIsCiAgICAgICAgICAgICJCbG93IiwK", + "ICAgICAgICAgICAgIkJvdHRsZSIsCiAgICAgICAgICAgICJGcm9nIiwKICAgICAgICAgICAgIkZ1bmsiLAogICAgICAgICAgICAiR2xhc3MiLAogICAgICAg", + "ICAgICAiSGVybyIsCiAgICAgICAgICAgICJNb3JzZSIsCiAgICAgICAgICAgICJQaW5nIiwKICAgICAgICAgICAgIlBvcCIsCiAgICAgICAgICAgICJQdXJy", + "IiwKICAgICAgICAgICAgIlNvc3VtaSIsCiAgICAgICAgICAgICJTdWJtYXJpbmUiLAogICAgICAgICAgICAiVGluayIsCiAgICAgICAgICAgICJjdXN0b21f", + "ZmlsZSIsCiAgICAgICAgICAgICJub25lIgogICAgICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogImRlZmF1bHQiLAogICAgICAgICAgImRlc2NyaXB0", + "aW9uIjogIk5vdGlmaWNhdGlvbiBzb3VuZCBwcmVzZXQuIgogICAgICAgIH0sCiAgICAgICAgImN1c3RvbVNvdW5kRmlsZVBhdGgiOiB7CiAgICAgICAgICAi", + "eC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAg", + "ICJkZXNjcmlwdGlvbiI6ICJMb2NhbCBwYXRoIHRvIHRoZSBjdXN0b20gbm90aWZpY2F0aW9uIHNvdW5kIGZpbGUuIgogICAgICAgIH0sCiAgICAgICAgInNv", + "dW5kT3ZlcnJpZGVzIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAg", + "ICAgICJkZWZhdWx0Ijoge30sCiAgICAgICAgICAibWF4UHJvcGVydGllcyI6IDI1NiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNj", + "cmlwdGlvbnMubm90aWZpY2F0aW9ucy5zb3VuZE92ZXJyaWRlcyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU3BhcnNlIHBlci1hZ2VudCBhbmQgcGVy", + "LWFsZXJ0LXR5cGUgbm90aWZpY2F0aW9uIHNvdW5kIG92ZXJyaWRlcy4gTWlzc2luZyBjZWxscyB1c2Ugbm90aWZpY2F0aW9ucy5zb3VuZC4iLAogICAgICAg", + "ICAgInByb3BlcnR5TmFtZXMiOiB7CiAgICAgICAgICAgICJhbGxPZiI6IFsKICAgICAgICAgICAgICB7ICJwYXR0ZXJuIjogIl5bQS1aYS16MC05Ll8tXSsk", + "IiB9LAogICAgICAgICAgICAgIHsgIm1heExlbmd0aCI6IDY0IH0sCiAgICAgICAgICAgICAgeyAibm90IjogeyAiZW51bSI6IFsiLiIsICIuLiJdIH0gfQog", + "ICAgICAgICAgICBdCiAgICAgICAgICB9LAogICAgICAgICAgInBhdHRlcm5Qcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiXltBLVphLXowLTkuXy1dKyQi", + "OiB7CiAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAibWF4UHJvcGVydGllcyI6IDMsCiAgICAgICAgICAgICAgImFkZGl0", + "aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAidHVybkRvbmUiOiB7ICIkcmVm", + "IjogIiMvJGRlZnMvbm90aWZpY2F0aW9uU291bmRPdmVycmlkZSIgfSwKICAgICAgICAgICAgICAgICJuZWVkc0lucHV0IjogeyAiJHJlZiI6ICIjLyRkZWZz", + "L25vdGlmaWNhdGlvblNvdW5kT3ZlcnJpZGUiIH0sCiAgICAgICAgICAgICAgICAiZXJyb3JTdGFsbGVkIjogeyAiJHJlZiI6ICIjLyRkZWZzL25vdGlmaWNh", + "dGlvblNvdW5kT3ZlcnJpZGUiIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiYWRkaXRpb25hbFByb3Bl", + "cnRpZXMiOiBmYWxzZQogICAgICAgIH0sCiAgICAgICAgImNvbW1hbmQiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAg", + "ICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBzaGVsbCBj", + "b21tYW5kIHRvIHJ1biBhbG9uZ3NpZGUgbm90aWZpY2F0aW9uIGRlbGl2ZXJ5LiIKICAgICAgICB9LAogICAgICAgICJob29rc01vZGUiOiB7CiAgICAgICAg", + "ICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImFwcGVuZCIsICJyZXBsYWNlIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJhcHBlbmQi", + "LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2xzIHdoZXRoZXIgcHJvamVjdC1sb2NhbCBub3RpZmljYXRpb24gaG9va3MgYXBwZW5kIHRvIGlu", + "aGVyaXRlZCBob29rcyBvciByZXBsYWNlIHRoZW0uIgogICAgICAgIH0sCiAgICAgICAgImhvb2tzIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAog", + "ICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb21wb3NhYmxlIHNoZWxsIGhvb2tzIHRoYXQgcmVjZWl2ZSBub3Rp", + "ZmljYXRpb24gcG9saWN5IEpTT04gb24gc3RkaW4gYW5kIHJldHVybiB1cGRhdGVkIHBvbGljeSBKU09OIG9uIHN0ZG91dC4iLAogICAgICAgICAgIml0ZW1z", + "IjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAg", + "InJlcXVpcmVkIjogWyJpZCIsICJjb21tYW5kIl0sCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICJpZCI6IHsKICAgICAgICAg", + "ICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJT", + "dGFibGUgaG9vayBpZGVudGlmaWVyIHVzZWQgaW4gbG9ncyBhbmQgZmFpbHVyZSBhbGVydHMuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNv", + "bW1hbmQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAg", + "ICAicGF0dGVybiI6ICIuKlxcUy4qIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaGVsbCBjb21tYW5kIHJ1biB3aXRoIG5vdGlmaWNhdGlv", + "biBwb2xpY3kgSlNPTiBvbiBzdGRpbi4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAidGltZW91dFNlY29uZHMiOiB7CiAgICAgICAgICAgICAg", + "ICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgICAgICAgImV4Y2x1c2l2ZU1pbmltdW0iOiAwLAogICAgICAgICAgICAgICAgImRlZmF1bHQiOiAyMCwK", + "ICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXhpbXVtIHRpbWUgY211eCB3YWl0cyBmb3IgdGhpcyBob29rIGJlZm9yZSBmYWxsaW5nIGJhY2sg", + "dG8gZGVmYXVsdCBub3RpZmljYXRpb24gYmVoYXZpb3IuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAg", + "ICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJE", + "aXNhYmxlIHRoaXMgaG9vayB3aXRob3V0IHJlbW92aW5nIGl0LiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9", + "CiAgICAgIH0KICAgIH0sCiAgICAic2lkZWJhciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAic2lkZWJh", + "ciIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJTaWRlYmFyIGNvbnRlbnQgYW5kIG1ldGFkYXRhIHZpc2liaWxpdHkgZnJvbSBTZXR0aW5ncyA+IFNpZGViYXIu", + "IiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAg", + "ICAgICJoaWRlQWxsRGV0YWlscyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAg", + "ICJkZXNjcmlwdGlvbiI6ICJIaWRlIGFsbCBwZXItd29ya3NwYWNlIGRldGFpbCByb3dzLiIKICAgICAgICB9LAogICAgICAgICJ3cmFwV29ya3NwYWNlVGl0", + "bGVzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", + "IkFsbG93IHdvcmtzcGFjZSB0aXRsZXMgaW4gdGhlIHNpZGViYXIgdG8gd3JhcCB0byBtdWx0aXBsZSBsaW5lcyBpbnN0ZWFkIG9mIHRydW5jYXRpbmcgYWZ0", + "ZXIgb25lIGxpbmUuIgogICAgICAgIH0sCiAgICAgICAgInNob3dXb3Jrc3BhY2VEZXNjcmlwdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4i", + "LAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VzdG9tIHdvcmtzcGFjZSBkZXNjcmlwdGlvbnMg", + "aW4gdGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgImJldGEiOiB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0", + "aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRXhwZXJpbWVudGFsIHNpZGViYXIgZmVhdHVyZXMuIiwKICAgICAg", + "ICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAid29ya3NwYWNlVG9kb3MiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAg", + "ICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV29ya3NwYWNlIHRvZG9zIGNoZWNr", + "bGlzdCBwcmVzZW50YXRpb24uIiwKICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICJjaGVja2xpc3RTdHlsZSI6IHsKICAg", + "ICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgImVudW0iOiBbInBvcG92ZXIiLCAiaW5saW5lIl0sCiAgICAgICAg", + "ICAgICAgICAgICJkZWZhdWx0IjogInBvcG92ZXIiLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG93IGEgcm93J3MgY2hlY2tsaXN0IG9w", + "ZW5zIGZyb20gaXRzIHN1bW1hcnkgbGluZTogYW4gYW5jaG9yZWQgcG9wb3ZlciBvciBpbmxpbmUgZXhwYW5zaW9uLiIKICAgICAgICAgICAgICAgIH0KICAg", + "ICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJicmFuY2hMYXlvdXQiOiB7CiAgICAgICAgICAidHlw", + "ZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInZlcnRpY2FsIiwgImlubGluZSJdLAogICAgICAgICAgImRlZmF1bHQiOiAidmVydGljYWwiLAog", + "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgZ2l0IGJyYW5jaCBkZXRhaWxzIHN0YWNrZWQgdmVydGljYWxseSBvciBpbmxpbmUuIgogICAgICAgIH0s", + "CiAgICAgICAgInNob3dOb3RpZmljYXRpb25NZXNzYWdlIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRy", + "dWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgbGF0ZXN0IG5vdGlmaWNhdGlvbiB0ZXh0IGluIHRoZSBzaWRlYmFyLiIKICAgICAgICB9", + "LAogICAgICAgICJub3RpZmljYXRpb25NZXNzYWdlTGluZUxpbWl0IjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11", + "bSI6IDEsCiAgICAgICAgICAibWF4aW11bSI6IDUwLAogICAgICAgICAgImRlZmF1bHQiOiAxMiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXhpbXVt", + "IGxpbmVzIHNob3duIGZvciB0aGUgbGF0ZXN0IG5vdGlmaWNhdGlvbiBiZWxvdyBlYWNoIHdvcmtzcGFjZSB0aXRsZS4iLAogICAgICAgICAgImRlc2NyaXB0", + "aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5zaWRlYmFyLm5vdGlmaWNhdGlvbk1lc3NhZ2VMaW5lTGltaXQiCiAgICAgICAgfSwKICAgICAgICAic2hv", + "d0JyYW5jaERpcmVjdG9yeSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRl", + "c2NyaXB0aW9uIjogIlNob3cgdGhlIHdvcmtzcGFjZSB3b3JraW5nIGRpcmVjdG9yeS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1B1bGxSZXF1ZXN0cyI6", + "IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cg", + "cHVsbCByZXF1ZXN0IG1ldGFkYXRhIGluIHRoZSBzaWRlYmFyLiIKICAgICAgICB9LAogICAgICAgICJ3YXRjaEdpdFN0YXR1cyI6IHsKICAgICAgICAgICJ0", + "eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldhdGNoIHJlcG9zaXRvcnkgZmls", + "ZXMgZm9yIHNpZGViYXIgYnJhbmNoIGFuZCBwdWxsIHJlcXVlc3QgbWV0YWRhdGEgd2l0aG91dCBwb2xsaW5nIGdpdC4iCiAgICAgICAgfSwKICAgICAgICAi", + "bWFrZVB1bGxSZXF1ZXN0c0NsaWNrYWJsZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAg", + "ICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93IHNpZGViYXIgcHVsbCByZXF1ZXN0IG1ldGFkYXRhIHRvIG9wZW4gbGlua3Mgd2hlbiBjbGlja2VkLiIKICAg", + "ICAgICB9LAogICAgICAgICJvcGVuUHVsbFJlcXVlc3RMaW5rc0luQ211eEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAg", + "ICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVuIHNpZGViYXIgcHVsbCByZXF1ZXN0IGxpbmtzIGluIHRoZSBlbWJl", + "ZGRlZCBjbXV4IGJyb3dzZXIuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5Qb3J0TGlua3NJbkNtdXhCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAi", + "Ym9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3BlbiBzaWRlYmFyIHBvcnQgbGlua3MgaW4g", + "dGhlIGVtYmVkZGVkIGNtdXggYnJvd3Nlci4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1NTSCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAog", + "ICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgU1NIIGNvbm5lY3Rpb24gZGV0YWlscy4iCiAgICAgICAg", + "fSwKICAgICAgICAic2hvd1BvcnRzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAg", + "ICAiZGVzY3JpcHRpb24iOiAiU2hvdyBsaXN0ZW5pbmcgcG9ydHMuIgogICAgICAgIH0sCiAgICAgICAgInNob3dMb2ciOiB7CiAgICAgICAgICAidHlwZSI6", + "ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHJlY2VudCBsb2cgc25pcHBldHMu", + "IgogICAgICAgIH0sCiAgICAgICAgInNob3dQcm9ncmVzcyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0", + "cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgcHJvZ3Jlc3MgaW5kaWNhdG9ycy4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0FnZW50QWN0", + "aXZpdHkiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6", + "ICJTaG93IHRoZSBsb2FkaW5nIHNwaW5uZXIgb24gd29ya3NwYWNlcyB3aXRoIHJ1bm5pbmcgY29kaW5nIGFnZW50cyBvciBhY3RpdmUgbG9hZGVycy4iCiAg", + "ICAgICAgfSwKICAgICAgICAibG9hZGluZ1NwaW5uZXJQb3NpdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6", + "IFsibGVhZGluZyIsICJ0cmFpbGluZyJdLAogICAgICAgICAgImRlZmF1bHQiOiAibGVhZGluZyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hpY2gg", + "c2lkZSBvZiB0aGUgd29ya3NwYWNlIHJvdyB0aGUgbG9hZGluZyBzcGlubmVyIGFwcGVhcnMgb246IGxlYWRpbmcgKGxlZnQsIHNoYXJpbmcgdGhlIHVucmVh", + "ZC1iYWRnZSBzbG90KSBvciB0cmFpbGluZyAocmlnaHQpLiIKICAgICAgICB9LAogICAgICAgICJub3RpZmljYXRpb25CYWRnZVBvc2l0aW9uIjogewogICAg", + "ICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJsZWFkaW5nIiwgInRyYWlsaW5nIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJs", + "ZWFkaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGljaCBzaWRlIG9mIHRoZSB3b3Jrc3BhY2Ugcm93IHRoZSB1bnJlYWQgbm90aWZpY2F0aW9u", + "IGJhZGdlIGFwcGVhcnMgb246IGxlYWRpbmcgKGxlZnQpIG9yIHRyYWlsaW5nIChyaWdodCkuIgogICAgICAgIH0sCiAgICAgICAgInNob3dDdXN0b21NZXRh", + "ZGF0YSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", + "IlNob3cgY3VzdG9tIG1ldGFkYXRhIHBpbGxzLiIKICAgICAgICB9LAogICAgICAgICJyaWdodE1heFdpZHRoIjogewogICAgICAgICAgInR5cGUiOiAibnVt", + "YmVyIiwKICAgICAgICAgICJleGNsdXNpdmVNaW5pbXVtIjogMCwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuc2lk", + "ZWJhci5yaWdodE1heFdpZHRoIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXhpbXVtIHdpZHRoIGluIHBvaW50cyBmb3IgdGhlIHJpZ2h0IHNpZGVi", + "YXIuIFdoZW4gb21pdHRlZCwgdGhlIGJ1aWx0LWluIGR5bmFtaWMgY2FwIGFwcGxpZXMuIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJ3b3Jrc3Bh", + "Y2VDb2xvcnMiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogIndvcmtzcGFjZUNvbG9ycyIsCiAgICAgICJk", + "ZXNjcmlwdGlvbiI6ICJXb3Jrc3BhY2UgdGFiIGFuZCBiYWRnZSBjb2xvcnMgZnJvbSBTZXR0aW5ncyA+IFdvcmtzcGFjZSBDb2xvcnMuIiwKICAgICAgInR5", + "cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJpbmRpY2F0", + "b3JTdHlsZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsKICAgICAgICAgICAgImxlZnRSYWlsIiwKICAgICAg", + "ICAgICAgInNvbGlkRmlsbCIsCiAgICAgICAgICAgICJyYWlsIiwKICAgICAgICAgICAgImJvcmRlciIsCiAgICAgICAgICAgICJ3YXNoIiwKICAgICAgICAg", + "ICAgImxpZnQiLAogICAgICAgICAgICAidHlwb2dyYXBoeSIsCiAgICAgICAgICAgICJ3YXNoUmFpbCIsCiAgICAgICAgICAgICJibHVlV2FzaENvbG9yUmFp", + "bCIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJsZWZ0UmFpbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWN0aXZlIHdvcmtzcGFj", + "ZSBpbmRpY2F0b3Igc3R5bGUuIExlZ2FjeSBhbGlhc2VzIGFyZSBhY2NlcHRlZCBhbmQgbm9ybWFsaXplZC4iCiAgICAgICAgfSwKICAgICAgICAic2VsZWN0", + "aW9uQ29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAg", + "ICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZSB0aGUgc2VsZWN0ZWQgd29ya3NwYWNlIGJhY2tncm91bmQgY29sb3IuIgogICAgICAgIH0sCiAgICAgICAg", + "Im5vdGlmaWNhdGlvbkJhZGdlQ29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0", + "IjogbnVsbCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZSB0aGUgdW5yZWFkIG5vdGlmaWNhdGlvbiBiYWRnZSBjb2xvci4iCiAgICAgICAg", + "fSwKICAgICAgICAiY29sb3JzIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGdWxsIG5hbWVkIHdv", + "cmtzcGFjZSBjb2xvciBwYWxldHRlLiBJbmNsdWRlIGJ1aWx0LWluIGVudHJpZXMgeW91IHdhbnQgdG8ga2VlcCwgcmVtb3ZlIGtleXMgdG8gcmVtb3ZlIGNv", + "bG9ycywgYW5kIGFkZCBtb3JlIG5hbWVkIGVudHJpZXMgdG8gZXh0ZW5kIHRoZSBwaWNrZXIuIiwKICAgICAgICAgICJkZWZhdWx0IjogewogICAgICAgICAg", + "ICAiUmVkIjogIiNDMDM5MkIiLAogICAgICAgICAgICAiQ3JpbXNvbiI6ICIjOTIyQjIxIiwKICAgICAgICAgICAgIk9yYW5nZSI6ICIjQTA0MDAwIiwKICAg", + "ICAgICAgICAgIkFtYmVyIjogIiM3RDY2MDgiLAogICAgICAgICAgICAiT2xpdmUiOiAiIzRBNUMxOCIsCiAgICAgICAgICAgICJHcmVlbiI6ICIjMTk2RjNE", + "IiwKICAgICAgICAgICAgIlRlYWwiOiAiIzAwNkI2QiIsCiAgICAgICAgICAgICJBcXVhIjogIiMwRTZCOEMiLAogICAgICAgICAgICAiQmx1ZSI6ICIjMTU2", + "NUMwIiwKICAgICAgICAgICAgIk5hdnkiOiAiIzFBNTI3NiIsCiAgICAgICAgICAgICJJbmRpZ28iOiAiIzI4MzU5MyIsCiAgICAgICAgICAgICJQdXJwbGUi", + "OiAiIzZBMUI5QSIsCiAgICAgICAgICAgICJNYWdlbnRhIjogIiNBRDE0NTciLAogICAgICAgICAgICAiUm9zZSI6ICIjODgwRTRGIiwKICAgICAgICAgICAg", + "IkJyb3duIjogIiM3QjNGMDAiLAogICAgICAgICAgICAiQ2hhcmNvYWwiOiAiIzNFNEI1RSIKICAgICAgICAgIH0sCiAgICAgICAgICAiYWRkaXRpb25hbFBy", + "b3BlcnRpZXMiOiB7CiAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXgiCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicGFsZXR0", + "ZU92ZXJyaWRlcyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IHdvcmtzcGFjZSBjb2xv", + "ciBvdmVycmlkZXMgZm9yIGJ1aWx0LWluIHBhbGV0dGUgbmFtZXMuIFByZWZlciB3b3Jrc3BhY2VDb2xvcnMuY29sb3JzIGZvciBuZXcgY29uZmlncy4iLAog", + "ICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAgICAgICJkZXByZWNhdGVkIjogdHJ1ZSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsK", + "ICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJjdXN0b21Db2xvcnMiOiB7CiAg", + "ICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IGxpc3Qgb2YgY3VzdG9tIHdvcmtzcGFjZSBjb2xvcnMu", + "IFByZWZlciB3b3Jrc3BhY2VDb2xvcnMuY29sb3JzIGZvciBuZXcgY29uZmlncy4iLAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXBy", + "ZWNhdGVkIjogdHJ1ZSwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICAgIH0KICAg", + "ICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAic2lkZWJhckFwcGVhcmFuY2UiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAg", + "InRpdGxlIjogInNpZGViYXJBcHBlYXJhbmNlIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIgdGludCBzZXR0aW5ncyBmcm9tIFNldHRpbmdzID4g", + "U2lkZWJhciBBcHBlYXJhbmNlLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAi", + "cHJvcGVydGllcyI6IHsKICAgICAgICAibWF0Y2hUZXJtaW5hbEJhY2tncm91bmQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAg", + "ICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVXNlIHRoZSB0ZXJtaW5hbCBiYWNrZ3JvdW5kIGluc3RlYWQgb2YgdGhlIHNp", + "ZGViYXIgdGludC4iCiAgICAgICAgfSwKICAgICAgICAidGludENvbG9yIjogewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIsCiAgICAg", + "ICAgICAiZGVmYXVsdCI6ICIjMDAwMDAwIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJCYXNlIHNpZGViYXIgdGludCBjb2xvciB1c2VkIHdoZW4gbGln", + "aHQvZGFyayBvdmVycmlkZXMgYXJlIG5vdCBzZXQuIgogICAgICAgIH0sCiAgICAgICAgImxpZ2h0TW9kZVRpbnRDb2xvciI6IHsKICAgICAgICAgICIkcmVm", + "IjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIg", + "dGludCBvdmVycmlkZSBmb3IgbGlnaHQgYXBwZWFyYW5jZS4iCiAgICAgICAgfSwKICAgICAgICAiZGFya01vZGVUaW50Q29sb3IiOiB7CiAgICAgICAgICAi", + "JHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaWRl", + "YmFyIHRpbnQgb3ZlcnJpZGUgZm9yIGRhcmsgYXBwZWFyYW5jZS4iCiAgICAgICAgfSwKICAgICAgICAidGludE9wYWNpdHkiOiB7CiAgICAgICAgICAidHlw", + "ZSI6ICJudW1iZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAwLAogICAgICAgICAgIm1heGltdW0iOiAxLAogICAgICAgICAgImRlZmF1bHQiOiAwLjAzLAog", + "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIgdGludCBvcGFjaXR5IGZyb20gMCB0byAxLiBOb3RlOiB0aGlzIG9ubHkgY29udHJvbHMgdGhlIHNp", + "ZGViYXIgdGludCwgbm90IHRlcm1pbmFsL3dpbmRvdyB0cmFuc3BhcmVuY3kuIEZvciB0ZXJtaW5hbCBiYWNrZ3JvdW5kIHRyYW5zcGFyZW5jeSBvciBibHVy", + "LCBzZXQgYGJhY2tncm91bmQtb3BhY2l0eWAgYW5kIGBiYWNrZ3JvdW5kLWJsdXJgIGluIGB+Ly5jb25maWcvZ2hvc3R0eS9jb25maWdgIGFuZCBydW4gYGNt", + "dXggcmVsb2FkLWNvbmZpZ2AuIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJhdXRvbWF0aW9uIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsi", + "Z2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJhdXRvbWF0aW9uIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlNvY2tldCBjb250cm9sIGFuZCBhdXRvbWF0aW9u", + "IHNldHRpbmdzIGZyb20gU2V0dGluZ3MgPiBBdXRvbWF0aW9uLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGll", + "cyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAic29ja2V0Q29udHJvbE1vZGUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmci", + "LAogICAgICAgICAgImVudW0iOiBbCiAgICAgICAgICAgICJvZmYiLAogICAgICAgICAgICAiY211eE9ubHkiLAogICAgICAgICAgICAiYXV0b21hdGlvbiIs", + "CiAgICAgICAgICAgICJwYXNzd29yZCIsCiAgICAgICAgICAgICJhbGxvd0FsbCIsCiAgICAgICAgICAgICJvcGVuQWNjZXNzIiwKICAgICAgICAgICAgImZ1", + "bGxPcGVuQWNjZXNzIiwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbnMiLAogICAgICAgICAgICAiZnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVm", + "YXVsdCI6ICJjbXV4T25seSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU29ja2V0IGNvbnRyb2wgbW9kZS4gTGVnYWN5IGFsaWFzZXMgYXJlIGFjY2Vw", + "dGVkIGFuZCBub3JtYWxpemVkLiIKICAgICAgICB9LAogICAgICAgICJzb2NrZXRQYXNzd29yZCI6IHsKICAgICAgICAgICJvbmVPZiI6IFsKICAgICAgICAg", + "ICAgewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJ0eXBlIjogIm51", + "bGwiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlBhc3N3b3Jk", + "IGZvciBwYXNzd29yZC1tb2RlIHNvY2tldCBhY2Nlc3MuIFVzZSBudWxsIG9yIGFuIGVtcHR5IHN0cmluZyB0byBjbGVhciBpdC4iCiAgICAgICAgfSwKICAg", + "ICAgICAiY2xhdWRlQ29kZUludGVncmF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAg", + "ICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlIGNtdXggaW50ZWdyYXRpb24gaG9va3MgZm9yIENsYXVkZSBDb2RlLiIKICAgICAgICB9LAogICAgICAg", + "ICJjbGF1ZGVCaW5hcnlQYXRoIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVz", + "Y3JpcHRpb24iOiAiQ3VzdG9tIHBhdGggdG8gdGhlIGNsYXVkZSBiaW5hcnkuIgogICAgICAgIH0sCiAgICAgICAgIndvcmtzcGFjZUF1dG9OYW1pbmciOiB7", + "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2No", + "ZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24ud29ya3NwYWNlQXV0b05hbWluZyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0LWluIEFJIGF1dG8t", + "bmFtaW5nIG9mIHdvcmtzcGFjZXMgYW5kIHRhYnMgZnJvbSBhZ2VudCBjb252ZXJzYXRpb24gY29udGVudC4gV2hlbiBlbmFibGVkLCBjbXV4IHN1bW1hcml6", + "ZXMgc3VwcG9ydGVkIGFnZW50IHNlc3Npb25zIGludG8gc2hvcnQgdGl0bGVzIHVzaW5nIGVhY2ggYWdlbnQncyBvd24gYmluYXJ5OyBtYW51YWwgcmVuYW1l", + "cyBhbHdheXMgd2luLiIKICAgICAgICB9LAogICAgICAgICJhdXRvTmFtaW5nQWdlbnQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAg", + "ICAgImRlZmF1bHQiOiAiYXV0byIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24uYXV0b05hbWlu", + "Z0FnZW50IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGljaCBhZ2VudCBnZW5lcmF0ZXMgYXV0by1uYW1lcyBmb3IgZXZlcnkgc2Vzc2lvbi4gXCJh", + "dXRvXCIgKGRlZmF1bHQpIG5hbWVzIGVhY2ggc2Vzc2lvbiB3aXRoIGl0cyBvd24gYWdlbnQ7IGFueSBhZ2VudCBzbHVnIChjbGF1ZGUsIGNvZGV4LCBncm9r", + "LCBvcGVuY29kZSwgcGksIG9tcCwg4oCmKSBvdmVycmlkZXMgbmFtaW5nIGZvciBhbGwgc2Vzc2lvbnMsIGV2ZW4gb3RoZXIgYWdlbnRzJyBzZXNzaW9ucy4g", + "VW5kcml2ZWFibGUgb3IgdW5pbnN0YWxsZWQgYWdlbnRzIGZhbGwgYmFjayB0byB0aGUgc2Vzc2lvbidzIG93biBhZ2VudCwgc28gbmFtaW5nIG5ldmVyIGJy", + "ZWFrcy4iCiAgICAgICAgfSwKICAgICAgICAicmlwZ3JlcEJpbmFyeVBhdGgiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRl", + "ZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDdXN0b20gcGF0aCB0byB0aGUgcmlwZ3JlcCAocmcpIGJpbmFyeSB1c2VkIGJ5IHByb2pl", + "Y3Qgc2VhcmNoLiIKICAgICAgICB9LAogICAgICAgICJzdXBwcmVzc1N1YmFnZW50Tm90aWZpY2F0aW9ucyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", + "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hdXRvbWF0aW9u", + "LnN1cHByZXNzU3ViYWdlbnROb3RpZmljYXRpb25zIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdXBwcmVzcyB2aXNpYmxlIGNvbXBsZXRpb24gbm90", + "aWZpY2F0aW9ucyBhbmQgc3RhdHVzIG11dGF0aW9ucyBmcm9tIG5lc3RlZCBDb2RleCBvciBDbGF1ZGUgY2hpbGQgYWdlbnRzIHdoaWxlIGtlZXBpbmcgdGhl", + "aXIgZXZlbnRzIGluIEZlZWQgdGVsZW1ldHJ5LiIKICAgICAgICB9LAogICAgICAgICJhbXBJbnRlZ3JhdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJv", + "b2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hdXRvbWF0", + "aW9uLmFtcEludGVncmF0aW9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgQW1wLiBXaGVu", + "IGRpc2FibGVkLCB0aGUgYnVuZGxlZCBwbHVnaW4gc3RheXMgaW5hY3RpdmUgd2l0aG91dCBuZWVkaW5nIHRvIGJlIHJlbW92ZWQuIgogICAgICAgIH0sCiAg", + "ICAgICAgImN1cnNvckludGVncmF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAg", + "ICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlIGNtdXggaW50ZWdyYXRpb24gaG9va3MgZm9yIEN1cnNvci4iCiAgICAgICAgfSwKICAgICAgICAiZ2VtaW5p", + "SW50ZWdyYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlw", + "dGlvbiI6ICJFbmFibGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgR2VtaW5pLiIKICAgICAgICB9LAogICAgICAgICJraXJvSW50ZWdyYXRpb24iOiB7", + "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGUg", + "Y211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgS2lybyBDTEkuIgogICAgICAgIH0sCiAgICAgICAgImtpcm9Ob3RpZmljYXRpb25MZXZlbCI6IHsKICAgICAg", + "ICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsKICAgICAgICAgICAgIm1pbmltYWwiLAogICAgICAgICAgICAic3RhbmRhcmQiLAog", + "ICAgICAgICAgICAidmVyYm9zZSIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzdGFuZGFyZCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", + "OiAiQ29udHJvbHMgaG93IG1hbnkgS2lybyB0b29sIGV2ZW50cyBhcHBlYXIgaW4gRmVlZC4iCiAgICAgICAgfSwKICAgICAgICAicG9ydEJhc2UiOiB7CiAg", + "ICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJkZWZhdWx0IjogOTEwMCwKICAgICAgICAgICJk", + "ZXNjcmlwdGlvbiI6ICJTdGFydGluZyB2YWx1ZSBmb3Igd29ya3NwYWNlIENNVVhfUE9SVCBhc3NpZ25tZW50cy4iCiAgICAgICAgfSwKICAgICAgICAicG9y", + "dFJhbmdlIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAiZGVmYXVsdCI6IDEwLAog", + "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIk51bWJlciBvZiBwb3J0cyByZXNlcnZlZCBwZXIgd29ya3NwYWNlLiIKICAgICAgICB9CiAgICAgIH0KICAgIH0s", + "CiAgICAiYnJvd3NlciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAiYnJvd3NlciIsCiAgICAgICJkZXNj", + "cmlwdGlvbiI6ICJFbWJlZGRlZCBicm93c2VyIHNldHRpbmdzIGZyb20gU2V0dGluZ3MgPiBCcm93c2VyLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAg", + "ICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZGVmYXVsdFNlYXJjaEVuZ2luZSI6IHsK", + "ICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsiZ29vZ2xlIiwgImR1Y2tkdWNrZ28iLCAiYmluZyIsICJrYWdpIiwgInN0", + "YXJ0cGFnZSIsICJicmF2ZSIsICJwZXJwbGV4aXR5IiwgImV4YSIsICJ5YWhvbyIsICJlY29zaWEiLCAicXdhbnQiLCAibW9qZWVrIiwgIndpa2lwZWRpYSIs", + "ICJnaXRodWIiLCAiYmFpZHUiLCAieWFuZGV4IiwgImN1c3RvbSJdLAogICAgICAgICAgImRlZmF1bHQiOiAiZ29vZ2xlIiwKICAgICAgICAgICJkZXNjcmlw", + "dGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYnJvd3Nlci5kZWZhdWx0U2VhcmNoRW5naW5lIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZh", + "dWx0IHNlYXJjaCBlbmdpbmUgZm9yIG5vbi1VUkwgYnJvd3NlciBhZGRyZXNzIGJhciBxdWVyaWVzLiBVc2UgY3VzdG9tIHdpdGggY3VzdG9tU2VhcmNoRW5n", + "aW5lVVJMVGVtcGxhdGUgZm9yIGFyYml0cmFyeSBwcm92aWRlcnMuIgogICAgICAgIH0sCiAgICAgICAgImN1c3RvbVNlYXJjaEVuZ2luZU5hbWUiOiB7CiAg", + "ICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNj", + "cmlwdGlvbnMuYnJvd3Nlci5jdXN0b21TZWFyY2hFbmdpbmVOYW1lIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNwbGF5IG5hbWUgdXNlZCB3aGVu", + "IGRlZmF1bHRTZWFyY2hFbmdpbmUgaXMgY3VzdG9tLiIKICAgICAgICB9LAogICAgICAgICJjdXN0b21TZWFyY2hFbmdpbmVVUkxUZW1wbGF0ZSI6IHsKICAg", + "ICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICJodHRwczovL3d3dy5nb29nbGUuY29tL3NlYXJjaD9xPXtxdWVyeX0iLAog", + "ICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmN1c3RvbVNlYXJjaEVuZ2luZVVSTFRlbXBsYXRlIiwKICAg", + "ICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZWFyY2ggVVJMIHVzZWQgd2hlbiBkZWZhdWx0U2VhcmNoRW5naW5lIGlzIGN1c3RvbS4gSW5jbHVkZSB7cXVlcnl9", + "IG9yICVzIGZvciB0aGUgZW5jb2RlZCBxdWVyeS4gSWYgb21pdHRlZCwgY211eCBhcHBlbmRzIHE9IHRvIHRoZSBVUkwuIgogICAgICAgIH0sCiAgICAgICAg", + "InNob3dTZWFyY2hTdWdnZXN0aW9ucyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAg", + "ICAgImRlc2NyaXB0aW9uIjogIlNob3cgb21uaWJhciBzZWFyY2ggc3VnZ2VzdGlvbnMuIgogICAgICAgIH0sCiAgICAgICAgInRoZW1lIjogewogICAgICAg", + "ICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJzeXN0ZW0iLCAibGlnaHQiLCAiZGFyayJdLAogICAgICAgICAgImRlZmF1bHQiOiAi", + "c3lzdGVtIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbWJlZGRlZCBicm93c2VyIHRoZW1lLiIKICAgICAgICB9LAogICAgICAgICJkZWZhdWx0Wm9v", + "bUxldmVsIjogewogICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICJtaW5pbXVtIjogMC4yNSwKICAgICAgICAgICJtYXhpbXVtIjogNSwK", + "ICAgICAgICAgICJkZWZhdWx0IjogMSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYnJvd3Nlci5kZWZhdWx0Wm9v", + "bUxldmVsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IHBhZ2Ugem9vbSBmYWN0b3IgYXBwbGllZCB0byBuZXdseSBvcGVuZWQgYnJvd3Nl", + "ciBwYWdlcyAoMSA9IDEwMCUpLiBab29tIEluLCBab29tIE91dCwgYW5kIEFjdHVhbCBTaXplIHN0aWxsIGFkanVzdCBlYWNoIHBhZ2UuIgogICAgICAgIH0s", + "CiAgICAgICAgImRpc2NhcmRIaWRkZW5XZWJWaWV3cyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVl", + "LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93IGhpZGRlbiBicm93c2VyIHRhYnMgdG8gcmVsZWFzZSBwYWdlIG1lbW9yeSBhbmQgcmVzdG9yZSB3", + "aGVuIHNob3duIGFnYWluLiIKICAgICAgICB9LAogICAgICAgICJoaWRkZW5XZWJWaWV3RGlzY2FyZERlbGF5U2Vjb25kcyI6IHsKICAgICAgICAgICJ0eXBl", + "IjogIm51bWJlciIsCiAgICAgICAgICAibWluaW11bSI6IDAsCiAgICAgICAgICAibWF4aW11bSI6IDM2MDAsCiAgICAgICAgICAiZGVmYXVsdCI6IDMwMCwK", + "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZWNvbmRzIGEgYnJvd3NlciB0YWIgbXVzdCBzdGF5IGhpZGRlbiBiZWZvcmUgY211eCBmcmVlcyBpdHMgcGFn", + "ZSBtZW1vcnkuIgogICAgICAgIH0sCiAgICAgICAgImFza1doZXJlVG9TYXZlRG93bmxvYWRzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAg", + "ICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmFza1doZXJl", + "VG9TYXZlRG93bmxvYWRzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGEgc2F2ZSBwYW5lbCBmb3IgYnJvd3NlciBkb3dubG9hZHMgaW5zdGVh", + "ZCBvZiBzYXZpbmcgZGlyZWN0bHkgdG8gRG93bmxvYWRzLiIKICAgICAgICB9LAogICAgICAgICJvcGVuVGVybWluYWxMaW5rc0luQ211eEJyb3dzZXIiOiB7", + "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVuIGNs", + "aWNrZWQgdGVybWluYWwgbGlua3MgaW4gdGhlIGVtYmVkZGVkIGJyb3dzZXIuIgogICAgICAgIH0sCiAgICAgICAgImludGVyY2VwdFRlcm1pbmFsT3BlbkNv", + "bW1hbmRJbkNtdXhCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAi", + "ZGVzY3JpcHRpb24iOiAiSW50ZXJjZXB0IHRlcm1pbmFsIG9wZW4gaHR0cChzKSBjb21tYW5kcyBhbmQgcm91dGUgdGhlbSB0aHJvdWdoIHRoZSBlbWJlZGRl", + "ZCBicm93c2VyLiIKICAgICAgICB9LAogICAgICAgICJob3N0c1RvT3BlbkluRW1iZWRkZWRCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXki", + "LAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICB9LAogICAgICAgICAgImRlZmF1bHQiOiBbXSwK", + "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbGxvd2xpc3Qgb2YgaG9zdHMgdGhhdCBzaG91bGQgc3RheSBpbnNpZGUgdGhlIGVtYmVkZGVkIGJyb3dzZXIu", + "IgogICAgICAgIH0sCiAgICAgICAgInVybHNUb0Fsd2F5c09wZW5FeHRlcm5hbGx5IjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAg", + "Iml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICB9LAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJk", + "ZXNjcmlwdGlvbiI6ICJSdWxlcyB0aGF0IGFsd2F5cyBvcGVuIG1hdGNoaW5nIFVSTHMgaW4gdGhlIHN5c3RlbSBicm93c2VyLiIKICAgICAgICB9LAogICAg", + "ICAgICJpbnNlY3VyZUh0dHBIb3N0c0FsbG93ZWRJbkVtYmVkZGVkQnJvd3NlciI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJp", + "dGVtcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgfSwKICAgICAgICAgICJkZWZhdWx0IjogWwogICAgICAgICAgICAibG9j", + "YWxob3N0IiwKICAgICAgICAgICAgIioubG9jYWxob3N0IiwKICAgICAgICAgICAgIjEyNy4wLjAuMSIsCiAgICAgICAgICAgICI6OjEiLAogICAgICAgICAg", + "ICAiMC4wLjAuMCIsCiAgICAgICAgICAgICIqLmxvY2FsdGVzdC5tZSIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSFRUUCBob3N0", + "cyBhbGxvd2VkIGluIHRoZSBlbWJlZGRlZCBicm93c2VyIHdpdGhvdXQgYSB3YXJuaW5nIHByb21wdC4iCiAgICAgICAgfSwKICAgICAgICAidXJsQWxsb3ds", + "aXN0IjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAg", + "ICAgICB9LAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLnVybEFsbG93bGlzdCIsCiAgICAgICAgICAi", + "ZGVmYXVsdCI6IFsKICAgICAgICAgICAgImxvY2FsaG9zdCIsCiAgICAgICAgICAgICIqLmxvY2FsaG9zdCIsCiAgICAgICAgICAgICIxMjcuMC4wLjEiLAog", + "ICAgICAgICAgICAiOjoxIiwKICAgICAgICAgICAgIjAuMC4wLjAiLAogICAgICAgICAgICAiKi5sb2NhbHRlc3QubWUiCiAgICAgICAgICBdLAogICAgICAg", + "ICAgImRlc2NyaXB0aW9uIjogIkhvc3Qgb3IgVVJMIHBhdHRlcm5zIHRoYXQgcmVzdHJpY3QgZW1iZWRkZWQtYnJvd3NlciBuYXZpZ2F0aW9uLiBUaGUgU2V0", + "dGluZ3MgVUkgc3VnZ2VzdHMgbG9jYWwgZGV2ZWxvcG1lbnQgb3JpZ2luczsgc2F2aW5nIGEgbGlzdCBvcHRzIGludG8gdGhlIG9wdGlvbmFsIHJlc3RyaWN0", + "aW9uLiBSZW1vdmUgZW50cmllcyB0byBibG9jayB0aGVtLCBvciBsZWF2ZSB0aGUgdXNlciB2YWx1ZSBlbXB0eSB0byBkaXNhYmxlIGl0IHdoZW4gbm8gbWFu", + "YWdlZCBwb2xpY3kgYXBwbGllcy4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0ltcG9ydEhpbnRPbkJsYW5rVGFicyI6IHsKICAgICAgICAgICJ0eXBlIjog", + "ImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGJyb3dzZXIgaW1wb3J0IGhp", + "bnQgb24gYmxhbmsgdGFicy4iCiAgICAgICAgfSwKICAgICAgICAicmVhY3RHcmFiVmVyc2lvbiI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAg", + "ICAgICAgICAiZGVmYXVsdCI6ICIwLjEuMjkiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlBpbm5lZCByZWFjdC1ncmFiIHZlcnNpb24gZm9yIHRoZSBi", + "cm93c2VyIHRvb2xiYXIgaGVscGVyLiIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAibW9iaWxlIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsi", + "Z2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJtb2JpbGUiLAogICAgICAiZGVzY3JpcHRpb24iOiAiTWFjLXNpZGUgc2V0dGluZ3MgZm9yIGNtdXggb24gaU9T", + "LiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAg", + "ICAgICAiYXJ0aWZhY3RGb2xkZXJBY2Nlc3MiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInN1YnRyZWUiLCAi", + "b25lTGV2ZWwiXSwKICAgICAgICAgICJkZWZhdWx0IjogInN1YnRyZWUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2xzIHdoZXRoZXIgYSBy", + "ZWZlcmVuY2VkIG9yIHRlcm1pbmFsLXZpc2libGUgZGlyZWN0b3J5IGF1dGhvcml6ZXMgaXRzIGZ1bGwgY2Fub25pY2FsIHN1YnRyZWUgb3Igb25seSBpbW1l", + "ZGlhdGUgY2hpbGRyZW4uIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJtYXJrZG93biI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2Jh", + "bCJdLAogICAgICAidGl0bGUiOiAibWFya2Rvd24iLAogICAgICAiZGVzY3JpcHRpb24iOiAiQnVpbHQtaW4gbWFya2Rvd24gdmlld2VyIHNldHRpbmdzLiIs", "CiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAg", - "ICAic2hvd01vZGlmaWVySG9sZEhpbnRzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAg", - "ICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBzaG9ydGN1dC1oaW50IGNoaXBzIHdoaWxlIGhvbGRpbmcgQ21kIG9yIENvbnRyb2wuIiwKICAgICAgICAgICJk", - "ZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuc2hvcnRjdXRzLnNob3dNb2RpZmllckhvbGRIaW50cyIKICAgICAgICB9LAogICAgICAgICJi", - "aW5kaW5ncyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiZGVmYXVsdCI6IHt9LAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", - "IlNob3J0Y3V0IG92ZXJyaWRlcyBrZXllZCBieSBjbXV4IGFjdGlvbiBpZC4gVXNlIGEgc3RyaW5nIGZvciBhIHNpbmdsZSBzaG9ydGN1dCwgYW4gYXJyYXkg", - "Zm9yIGEgY2hvcmQsIG51bGwsIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2FibGVkIHRvIHVuYmluZC4iLAogICAgICAg", - "ICAgInByb3BlcnR5TmFtZXMiOiB7CiAgICAgICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAgICJvcGVuU2V0dGluZ3MiLAogICAgICAgICAgICAgICJy", - "ZWxvYWRDb25maWd1cmF0aW9uIiwKICAgICAgICAgICAgICAic2hvd0hpZGVBbGxXaW5kb3dzIiwKICAgICAgICAgICAgICAiZ2xvYmFsU2VhcmNoIiwKICAg", - "ICAgICAgICAgICAibmV3V2luZG93IiwKICAgICAgICAgICAgICAiY2xvc2VXaW5kb3ciLAogICAgICAgICAgICAgICJ0b2dnbGVGdWxsU2NyZWVuIiwKICAg", - "ICAgICAgICAgICAicXVpdCIsCiAgICAgICAgICAgICAgInRvZ2dsZVNpZGViYXIiLAogICAgICAgICAgICAgICJuZXdUYWIiLAogICAgICAgICAgICAgICJu", - "ZXdCcm93c2VyV29ya3NwYWNlIiwKICAgICAgICAgICAgICAibmV3Q2xvdWRXb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJuZXdDbG91ZE1hY2hpbmUiLAog", - "ICAgICAgICAgICAgICJvcGVuRm9sZGVyIiwKICAgICAgICAgICAgICAicmVvcGVuUHJldmlvdXNTZXNzaW9uIiwKICAgICAgICAgICAgICAiZ29Ub1dvcmtz", - "cGFjZSIsCiAgICAgICAgICAgICAgImNvbW1hbmRQYWxldHRlIiwKICAgICAgICAgICAgICAiY29tbWFuZFBhbGV0dGVOZXh0IiwKICAgICAgICAgICAgICAi", - "Y29tbWFuZFBhbGV0dGVQcmV2aW91cyIsCiAgICAgICAgICAgICAgInNlbmRGZWVkYmFjayIsCiAgICAgICAgICAgICAgInNob3dOb3RpZmljYXRpb25zIiwK", - "ICAgICAgICAgICAgICAianVtcFRvVW5yZWFkIiwKICAgICAgICAgICAgICAidG9nZ2xlVW5yZWFkIiwKICAgICAgICAgICAgICAibWFya09sZGVzdFVucmVh", - "ZEFuZEp1bXBOZXh0IiwKICAgICAgICAgICAgICAibWFya0FsbE5vdGlmaWNhdGlvbnNSZWFkIiwKICAgICAgICAgICAgICAiY2xlYXJBbGxOb3RpZmljYXRp", - "b25zIiwKICAgICAgICAgICAgICAiZm9jdXNSaWdodFNpZGViYXIiLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb0ZpbGVzIiwKICAgICAg", - "ICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9GaW5kIiwKICAgICAgICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9TZXNzaW9ucyIsCiAgICAgICAg", - "ICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRmVlZCIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRG9jayIsCiAgICAgICAgICAgICAg", - "InN3aXRjaFJpZ2h0U2lkZWJhclRvTWFjaGluZXMiLAogICAgICAgICAgICAgICJ0cmlnZ2VyRmxhc2giLAogICAgICAgICAgICAgICJuZXh0U3VyZmFjZSIs", - "CiAgICAgICAgICAgICAgInByZXZTdXJmYWNlIiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VMZWZ0IiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VS", - "aWdodCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9QcmV2aW91c1BhbmUiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvTmV4dFBhbmUiLAog", - "ICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZUxlZnQiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZVJpZ2h0IiwKICAgICAgICAgICAg", - "ICAibW92ZVN1cmZhY2VUb1BhbmVVcCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9QYW5lRG93biIsCiAgICAgICAgICAgICAgInNlbGVjdFN1cmZh", - "Y2VCeU51bWJlciIsCiAgICAgICAgICAgICAgIm5leHRTaWRlYmFyVGFiIiwKICAgICAgICAgICAgICAicHJldlNpZGViYXJUYWIiLAogICAgICAgICAgICAg", - "ICJuZXh0U2lkZWJhclRhYkluR3JvdXAiLAogICAgICAgICAgICAgICJwcmV2U2lkZWJhclRhYkluR3JvdXAiLAogICAgICAgICAgICAgICJtb3ZlV29ya3Nw", - "YWNlVXAiLAogICAgICAgICAgICAgICJtb3ZlV29ya3NwYWNlRG93biIsCiAgICAgICAgICAgICAgImZvY3VzSGlzdG9yeUJhY2siLAogICAgICAgICAgICAg", - "ICJmb2N1c0hpc3RvcnlGb3J3YXJkIiwKICAgICAgICAgICAgICAic2VsZWN0V29ya3NwYWNlQnlOdW1iZXIiLAogICAgICAgICAgICAgICJyZW5hbWVUYWIi", - "LAogICAgICAgICAgICAgICJyZW5hbWVXb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJlZGl0V29ya3NwYWNlRGVzY3JpcHRpb24iLAogICAgICAgICAgICAg", - "ICJtYXJrV29ya3NwYWNlRG9uZSIsCiAgICAgICAgICAgICAgImN5Y2xlV29ya3NwYWNlU3RhdHVzIiwKICAgICAgICAgICAgICAidG9nZ2xlQ2hlY2tsaXN0", - "SXRlbUNvbXBsZXRlIiwKICAgICAgICAgICAgICAiY2xvc2VUYWIiLAogICAgICAgICAgICAgICJjbG9zZU90aGVyVGFic0luUGFuZSIsCiAgICAgICAgICAg", - "ICAgImNsb3NlV29ya3NwYWNlIiwKICAgICAgICAgICAgICAibmV3V29ya3NwYWNlR3JvdXAiLAogICAgICAgICAgICAgICJncm91cFNlbGVjdGVkV29ya3Nw", - "YWNlcyIsCiAgICAgICAgICAgICAgInRvZ2dsZUZvY3VzZWRXb3Jrc3BhY2VHcm91cENvbGxhcHNlZCIsCiAgICAgICAgICAgICAgInJlb3BlbkNsb3NlZFdv", - "cmtzcGFjZSIsCiAgICAgICAgICAgICAgInJlb3BlbkNsb3NlZEJyb3dzZXJQYW5lbCIsCiAgICAgICAgICAgICAgIm5ld1N1cmZhY2UiLAogICAgICAgICAg", - "ICAgICJ0b2dnbGVUZXJtaW5hbENvcHlNb2RlIiwKICAgICAgICAgICAgICAiZm9jdXNUZXh0Qm94SW5wdXQiLAogICAgICAgICAgICAgICJjeWNsZVRleHRC", - "b3hTdWJtaXRBY3Rpb24iLAogICAgICAgICAgICAgICJhdHRhY2hUZXh0Qm94RmlsZSIsCiAgICAgICAgICAgICAgInNlbmRDdHJsRlRvVGVybWluYWwiLAog", - "ICAgICAgICAgICAgICJjbGVhclNjcmVlbktlZXBTY3JvbGxiYWNrIiwKICAgICAgICAgICAgICAic2ltdWxhdG9ySG9tZSIsCiAgICAgICAgICAgICAgInNp", - "bXVsYXRvclJvdGF0ZUxlZnQiLAogICAgICAgICAgICAgICJzaW11bGF0b3JSb3RhdGVSaWdodCIsCiAgICAgICAgICAgICAgInNpbXVsYXRvclRvZ2dsZUFw", - "cGVhcmFuY2UiLAogICAgICAgICAgICAgICJzaW11bGF0b3JUb2dnbGVTb2Z0d2FyZUtleWJvYXJkIiwKICAgICAgICAgICAgICAiZm9jdXNMZWZ0IiwKICAg", - "ICAgICAgICAgICAiZm9jdXNSaWdodCIsCiAgICAgICAgICAgICAgImZvY3VzVXAiLAogICAgICAgICAgICAgICJmb2N1c0Rvd24iLAogICAgICAgICAgICAg", - "ICJmb2N1c1ByZXZpb3VzUGFuZSIsCiAgICAgICAgICAgICAgImZvY3VzTmV4dFBhbmUiLAogICAgICAgICAgICAgICJzcGxpdFJpZ2h0IiwKICAgICAgICAg", - "ICAgICAic3BsaXREb3duIiwKICAgICAgICAgICAgICAidG9nZ2xlU3BsaXRab29tIiwKICAgICAgICAgICAgICAiaW5jcmVhc2VXb3Jrc3BhY2VUZXJtaW5h", - "bEZvbnRTaXplIiwKICAgICAgICAgICAgICAiZGVjcmVhc2VXb3Jrc3BhY2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAicmVzZXRXb3Jrc3Bh", - "Y2VUZXJtaW5hbEZvbnRTaXplIiwKICAgICAgICAgICAgICAiZXF1YWxpemVTcGxpdHMiLAogICAgICAgICAgICAgICJyZXNpemUtcGFuZS1sZWZ0IiwKICAg", - "ICAgICAgICAgICAicmVzaXplLXBhbmUtcmlnaHQiLAogICAgICAgICAgICAgICJyZXNpemUtcGFuZS11cCIsCiAgICAgICAgICAgICAgInJlc2l6ZS1wYW5l", - "LWRvd24iLAogICAgICAgICAgICAgICJzcGxpdEJyb3dzZXJSaWdodCIsCiAgICAgICAgICAgICAgInNwbGl0QnJvd3NlckRvd24iLAogICAgICAgICAgICAg", - "ICJ0b2dnbGVDYW52YXNMYXlvdXQiLAogICAgICAgICAgICAgICJjYW52YXNSZXZlYWxGb2N1c2VkUGFuZSIsCiAgICAgICAgICAgICAgImNhbnZhc092ZXJ2", - "aWV3IiwKICAgICAgICAgICAgICAiY2FudmFzWm9vbUluIiwKICAgICAgICAgICAgICAiY2FudmFzWm9vbU91dCIsCiAgICAgICAgICAgICAgImNhbnZhc1pv", - "b21SZXNldCIsCiAgICAgICAgICAgICAgImNhbnZhc1RpZHkiLAogICAgICAgICAgICAgICJjYW52YXNBbGlnbkxlZnQiLAogICAgICAgICAgICAgICJjYW52", - "YXNBbGlnblJpZ2h0IiwKICAgICAgICAgICAgICAiY2FudmFzQWxpZ25Ub3AiLAogICAgICAgICAgICAgICJjYW52YXNBbGlnbkJvdHRvbSIsCiAgICAgICAg", - "ICAgICAgImNhbnZhc0VxdWFsaXplV2lkdGhzIiwKICAgICAgICAgICAgICAiY2FudmFzRXF1YWxpemVIZWlnaHRzIiwKICAgICAgICAgICAgICAiY2FudmFz", - "RGlzdHJpYnV0ZUhvcml6b250YWxseSIsCiAgICAgICAgICAgICAgImNhbnZhc0Rpc3RyaWJ1dGVWZXJ0aWNhbGx5IiwKICAgICAgICAgICAgICAidG9nZ2xl", - "RmlsZUV4cGxvcmVyIiwKICAgICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlvbiIsCiAgICAgICAgICAgICAgImZpbGVFeHBsb3Jlck9wZW5T", - "ZWxlY3Rpb25GaW5kZXJBbGlhcyIsCiAgICAgICAgICAgICAgInNhdmVGaWxlUHJldmlldyIsCiAgICAgICAgICAgICAgIm9wZW5Ccm93c2VyIiwKICAgICAg", - "ICAgICAgICAiZm9jdXNCcm93c2VyQWRkcmVzc0JhciIsCiAgICAgICAgICAgICAgImJyb3dzZXJCYWNrIiwKICAgICAgICAgICAgICAiYnJvd3NlckZvcndh", - "cmQiLAogICAgICAgICAgICAgICJicm93c2VyUmVsb2FkIiwKICAgICAgICAgICAgICAiYnJvd3NlckhhcmRSZWxvYWQiLAogICAgICAgICAgICAgICJicm93", - "c2VyWm9vbUluIiwKICAgICAgICAgICAgICAiYnJvd3Nlclpvb21PdXQiLAogICAgICAgICAgICAgICJicm93c2VyWm9vbVJlc2V0IiwKICAgICAgICAgICAg", - "ICAibWFya2Rvd25ab29tSW4iLAogICAgICAgICAgICAgICJtYXJrZG93blpvb21PdXQiLAogICAgICAgICAgICAgICJtYXJrZG93blpvb21SZXNldCIsCiAg", - "ICAgICAgICAgICAgImZpbmQiLAogICAgICAgICAgICAgICJmaW5kSW5EaXJlY3RvcnkiLAogICAgICAgICAgICAgICJmaW5kTmV4dCIsCiAgICAgICAgICAg", - "ICAgImZpbmRQcmV2aW91cyIsCiAgICAgICAgICAgICAgImhpZGVGaW5kIiwKICAgICAgICAgICAgICAidXNlU2VsZWN0aW9uRm9yRmluZCIsCiAgICAgICAg", - "ICAgICAgInRvZ2dsZUJyb3dzZXJEZXZlbG9wZXJUb29scyIsCiAgICAgICAgICAgICAgInNob3dCcm93c2VySmF2YVNjcmlwdENvbnNvbGUiLAogICAgICAg", - "ICAgICAgICJ0b2dnbGVCcm93c2VyRm9jdXNNb2RlIiwKICAgICAgICAgICAgICAidG9nZ2xlQnJvd3NlckRlc2lnbk1vZGUiLAogICAgICAgICAgICAgICJ0", - "b2dnbGVSZWFjdEdyYWIiLAogICAgICAgICAgICAgICJvcGVuRGlmZlZpZXdlciIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxEb3duIiwKICAg", - "ICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbEhhbGZQYWdlRG93biIsCiAgICAgICAgICAg", - "ICAgImRpZmZWaWV3ZXJTY3JvbGxIYWxmUGFnZVVwIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbERvd25FbWFjcyIsCiAgICAgICAgICAgICAg", - "ImRpZmZWaWV3ZXJTY3JvbGxVcEVtYWNzIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFRvQm90dG9tIiwKICAgICAgICAgICAgICAiZGlmZlZp", - "ZXdlclNjcm9sbFRvVG9wIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlck9wZW5GaWxlU2VhcmNoIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlck5leHRG", - "aWxlIiwKICAgICAgICAgICAgICAiZGlmZlZpZXdlclByZXZpb3VzRmlsZSIKICAgICAgICAgICAgXQogICAgICAgICAgfSwKICAgICAgICAgICJwcm9wZXJ0", - "aWVzIjogewogICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlvbiI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3NpbmdsZUJh", - "cmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZmlsZUV4cGxvcmVyT3BlblNlbGVjdGlv", - "bkZpbmRlckFsaWFzIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFi", - "bGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsRG93biI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2Jh", - "cmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwIjogewog", - "ICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAg", - "ICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VEb3duIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hv", - "cnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VVcCI6IHsKICAgICAgICAg", - "ICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAi", - "ZGlmZlZpZXdlclNjcm9sbERvd25FbWFjcyI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGlu", - "Z051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFVwRW1hY3MiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAi", - "Iy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3Jv", - "bGxUb0JvdHRvbSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAg", - "ICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbFRvVG9wIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0", - "U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyT3BlbkZpbGVTZWFyY2giOiB7CiAg", - "ICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAg", - "ICAgICAgImRpZmZWaWV3ZXJOZXh0RmlsZSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGlu", - "Z051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclByZXZpb3VzRmlsZSI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIj", - "LyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgImFkZGl0", - "aW9uYWxQcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgfQogICAg", - "ICAgIH0sCiAgICAgICAgIndoZW4iOiB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAgICAgICJk", - "ZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBwZXItYWN0aW9uIGNvbnRleHQgcHJlZGljYXRlcyAoVlMgQ29kZS1zdHlsZSBgd2hlbmAgY2xhdXNlcyksIGtleWVk", - "IGJ5IGNtdXggYWN0aW9uIGlkLiBFYWNoIHZhbHVlIGlzIGEgYm9vbGVhbiBleHByZXNzaW9uIG92ZXIgY29udGV4dCBrZXlzIGNvbWJpbmVkIHdpdGggISwg", - "JiYsIHx8LCBhbmQgcGFyZW50aGVzZXMuIEJvb2xlYW4ga2V5czogc2lkZWJhckZvY3VzLCBicm93c2VyRm9jdXMsIG1hcmtkb3duRm9jdXMsIGZpbGVQcmV2", - "aWV3VGV4dEVkaXRvckZvY3VzLCBzaW11bGF0b3JGb2N1cywgdGVybWluYWxGb2N1cywgY29tbWFuZFBhbGV0dGVWaXNpYmxlLCB0ZXJtaW5hbEZpbmRWaXNp", - "YmxlLCB3b3Jrc3BhY2VDYW52YXNMYXlvdXQuIFR5cGVkIGtleXMgc3VwcG9ydCBjb21wYXJpc29uczogdGhlIHN0cmluZyBzaWRlYmFyTW9kZSAoZmlsZXMs", - "IGZpbmQsIHNlc3Npb25zLCBmZWVkLCBvciBkb2NrKSBhbmQgdGhlIGludGVnZXJzIHBhbmVDb3VudCBhbmQgd29ya3NwYWNlQ291bnQuIENvbXBhcmlzb24g", - "b3BlcmF0b3JzIGFyZSA9PSwgIT0sID1+IChyZWdleCksIDwsIDw9LCA+LCA+PSwgYW5kIGBpbiBbYSwgYl1gOyBhbiB1bmtub3duIG9yIGFic2VudCBrZXkg", - "cmVhZHMgYXMgZmFsc2UuIFRoZSBib29sZWFuIGxpdGVyYWxzIHRydWUgYW5kIGZhbHNlIGFyZSBhbHNvIGFjY2VwdGVkOyBga2V5ID09IGZhbHNlYCBpcyB0", - "aGUgc2FtZSBhcyBgIWtleWAuIFRoZSBhY3Rpb24ncyBzaG9ydGN1dCBvbmx5IGZpcmVzIChhbmQgb25seSBjb25mbGljdHMgd2l0aCBvdGhlciBzaG9ydGN1", - "dHMpIHdoZW4gdGhlIGNsYXVzZSBob2xkcy4gRXhhbXBsZXM6IHsgXCJzZWxlY3RXb3Jrc3BhY2VCeU51bWJlclwiOiBcIiFzaWRlYmFyRm9jdXNcIiB9IHNl", - "bGVjdHMgd29ya3NwYWNlcyB3aXRoIEN0cmwrMeKAkzkgZXZlcnl3aGVyZSBleGNlcHQgd2hlbiB0aGUgcmlnaHQgc2lkZWJhciBpcyBmb2N1c2VkOyB7IFwi", - "c2VsZWN0U3VyZmFjZUJ5TnVtYmVyXCI6IFwic2lkZWJhck1vZGUgPT0gJ2ZpbmQnICYmIHBhbmVDb3VudCA+IDFcIiB9IHNjb3BlcyBhIGJpbmRpbmcgdG8g", - "dGhlIEZpbmQgc2lkZWJhciB3aGVuIHRoZSB3b3Jrc3BhY2UgaGFzIG11bHRpcGxlIHBhbmVzLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2No", - "ZW1hRGVzY3JpcHRpb25zLnNob3J0Y3V0cy53aGVuIiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAi", - "c3RyaW5nIgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0sCiAgIiRkZWZzIjogewogICAgImNvbG9ySGV4IjogewogICAgICAidHlw", - "ZSI6ICJzdHJpbmciLAogICAgICAicGF0dGVybiI6ICJeI1swLTlBLUZhLWZdezZ9JCIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJVcHBlcmNhc2Ugb3IgbG93", - "ZXJjYXNlIDYtZGlnaXQgaGV4IGNvbG9yLiIKICAgIH0sCiAgICAiY29sb3JIZXhPck51bGwiOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAg", - "ICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIKICAgICAgICB9CiAg", - "ICAgIF0KICAgIH0sCiAgICAibm90aWZpY2F0aW9uU291bmRPdmVycmlkZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICJ0eXBl", - "IjogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJyZXF1aXJlZCI6IFsic291bmQiXSwKICAg", - "ICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAic291bmQiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAg", - "ICAiZW51bSI6IFsiZGVmYXVsdCIsICJCYXNzbyIsICJCbG93IiwgIkJvdHRsZSIsICJGcm9nIiwgIkZ1bmsiLCAiR2xhc3MiLCAiSGVybyIsICJNb3JzZSIs", - "ICJQaW5nIiwgIlBvcCIsICJQdXJyIiwgIlNvc3VtaSIsICJTdWJtYXJpbmUiLCAiVGluayIsICJub25lIl0KICAgICAgICAgICAgfQogICAgICAgICAgfQog", - "ICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAog", - "ICAgICAgICAgInJlcXVpcmVkIjogWyJzb3VuZCIsICJjdXN0b21Tb3VuZEZpbGVQYXRoIl0sCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAg", - "ICAgInNvdW5kIjogeyAiY29uc3QiOiAiY3VzdG9tX2ZpbGUiIH0sCiAgICAgICAgICAgICJjdXN0b21Tb3VuZEZpbGVQYXRoIjogewogICAgICAgICAgICAg", - "ICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiLipcXFMuKiIKICAgICAg", - "ICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgXSwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5ub3RpZmlj", - "YXRpb25zLnNvdW5kT3ZlcnJpZGUiLAogICAgICAiZGVzY3JpcHRpb24iOiAiQSBub3RpZmljYXRpb24gc291bmQgb3ZlcnJpZGUuIGBkZWZhdWx0YCB1c2Vz", - "IG5vdGlmaWNhdGlvbnMuc291bmQsIGBub25lYCBkaXNhYmxlcyBwbGF5YmFjaywgYW5kIHRoZSByZW1haW5pbmcgdmFsdWVzIHNlbGVjdCBhIGJ1aWx0LWlu", - "IG9yIGN1c3RvbSBzb3VuZC4iCiAgICB9LAogICAgInNob3J0Y3V0QmluZGluZyI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIk", - "cmVmIjogIiMvJGRlZnMvdW5ib3VuZFNob3J0Y3V0QmluZGluZyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIEFj", - "Y2VwdGVkIHZhbHVlcyBhcmUgYW4gZW1wdHkgc3RyaW5nLCBub25lLCBjbGVhciwgdW5ib3VuZCwgb3IgZGlzYWJsZWQuIgogICAgICAgIH0sCiAgICAgICAg", - "ewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dEZpcnN0U3Ryb2tlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaW5nbGUtc3Ryb2tl", - "IHNob3J0Y3V0LCBmb3IgZXhhbXBsZSBjbWQrbiBvciBjbWQrc3BhY2UuIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAiYXJyYXki", - "LAogICAgICAgICAgIm1pbkl0ZW1zIjogMSwKICAgICAgICAgICJtYXhJdGVtcyI6IDIsCiAgICAgICAgICAicHJlZml4SXRlbXMiOiBbCiAgICAgICAgICAg", - "IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0Rmlyc3RTdHJva2UiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAg", - "ICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9u", - "IjogIkNob3JkZWQgc2hvcnRjdXQuIEV4YW1wbGU6IFtcImN0cmwrYlwiLCBcImNcIl0uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaG9ydGN1", - "dEJpbmRpbmdOdWxsYWJsZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRCaW5kaW5n", - "IgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hv", - "cnRjdXQuIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVP", - "ZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3VuYm91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9u", - "IjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMgYXJlIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRp", - "c2FibGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9r", - "ZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2luZ2xlLXN0cm9rZSBzaG9ydGN1dC4gQmFyZSBmaXJzdCBzdHJva2VzIGFyZSBhY2NlcHRlZCBmb3Ig", - "dGhpcyBhY3Rpb24uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJzaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSI6", - "IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5k", - "aW5nIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMg", - "c2hvcnRjdXQuIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJiYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVPZiI6", + "ICAiZm9udFNpemUiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogOCwKICAgICAgICAgICJtYXhpbXVtIjog", + "OTYsCiAgICAgICAgICAiZGVmYXVsdCI6IDE1LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgYm9keSBmb250IHNpemUsIGluIHBvaW50cywg", + "Zm9yIG5ld2x5IG9wZW5lZCBtYXJrZG93biB2aWV3ZXJzLiBab29tIGEgdmlld2VyIGxpdmUgd2l0aCBDbWQtKyAvIENtZC0tIC8gQ21kLTAuIiwKICAgICAg", + "ICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubWFya2Rvd24uZm9udFNpemUiCiAgICAgICAgfSwKICAgICAgICAiZm9udEZhbWls", + "eSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1", + "bHQgYm9keSBmb250IGZhbWlseSBmb3IgbmV3bHkgb3BlbmVkIG1hcmtkb3duIHZpZXdlcnMuIExlYXZlIGVtcHR5IGZvciB0aGUgc3lzdGVtIG1hcmtkb3du", + "IGZvbnQgc3RhY2suIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubWFya2Rvd24uZm9udEZhbWlseSIKICAgICAg", + "ICB9LAogICAgICAgICJtYXhXaWR0aCI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAzMjAsCiAgICAgICAg", + "ICAibWF4aW11bSI6IDI0MDAsCiAgICAgICAgICAiZGVmYXVsdCI6IDk4MCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IG1heGltdW0gcmVh", + "ZGluZyBjb2x1bW4gd2lkdGgsIGluIENTUyBwaXhlbHMsIGZvciBuZXdseSBvcGVuZWQgbWFya2Rvd24gdmlld2Vycy4iLAogICAgICAgICAgImRlc2NyaXB0", + "aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5tYXJrZG93bi5tYXhXaWR0aCIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiY2FudmFzIjogewog", + "ICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJjYW52YXMiLAogICAgICAiZGVzY3JpcHRpb24iOiAiRnJlZWZvcm0g", + "Y2FudmFzIHdvcmtzcGFjZSBsYXlvdXQgc2V0dGluZ3MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjog", + "ZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJwYW5lR2FwIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAi", + "bWluaW11bSI6IDAsCiAgICAgICAgICAibWF4aW11bSI6IDY0LAogICAgICAgICAgImRlZmF1bHQiOiAxNiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJT", + "cGFjaW5nIGJldHdlZW4gcGFuZXMgaW4gdGhlIGNhbnZhcyBsYXlvdXQsIGluIHBvaW50cy4gU25hcHBpbmcsIHRpZHksIGFuZCBuZXctcGFuZSBwbGFjZW1l", + "bnQgYWxsIHVzZSB0aGlzIG9uZSBnYXAuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuY2FudmFzLnBhbmVHYXAi", + "CiAgICAgICAgfSwKICAgICAgICAic25hcHBpbmdFbmFibGVkIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6", + "IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU25hcCBwYW5lIGRyYWdzIGFuZCByZXNpemVzIHRvIG5laWdoYm9yIGVkZ2VzIGFuZCB0aGUgcGFu", + "ZSBnYXAuIEhvbGQgQ29tbWFuZCB0byBzdXNwZW5kIHNuYXBwaW5nIGZvciBvbmUgZ2VzdHVyZS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNj", + "aGVtYURlc2NyaXB0aW9ucy5jYW52YXMuc25hcHBpbmdFbmFibGVkIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJmaWxlRWRpdG9yIjogewogICAg", + "ICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJmaWxlRWRpdG9yIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkJ1aWx0LWlu", + "IGZpbGUgZWRpdG9yIHNldHRpbmdzLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAg", + "ICAicHJvcGVydGllcyI6IHsKICAgICAgICAid29yZFdyYXAiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0Ijog", + "ZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV3JhcCBsb25nIGxpbmVzIGF0IHRoZSBlZGl0b3IncyByaWdodCBlZGdlIGluc3RlYWQgb2Ygc2Ny", + "b2xsaW5nIGhvcml6b250YWxseS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5maWxlRWRpdG9yLndvcmRXcmFw", + "IgogICAgICAgIH0sCiAgICAgICAgInN5bnRheEhpZ2hsaWdodGluZyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1", + "bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbG9yIHNvdXJjZSB0b2tlbnMgaW4gdGhlIGJ1aWx0LWluIGZpbGUgZWRpdG9yLiIsCiAg", + "ICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3Iuc3ludGF4SGlnaGxpZ2h0aW5nIgogICAgICAgIH0sCiAg", + "ICAgICAgImxpbmVOdW1iZXJzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAi", + "ZGVzY3JpcHRpb24iOiAiU2hvdyBhIGxpbmUtbnVtYmVyIGd1dHRlciBpbiB0aGUgYnVpbHQtaW4gZmlsZSBlZGl0b3IuIiwKICAgICAgICAgICJkZXNjcmlw", + "dGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5saW5lTnVtYmVycyIKICAgICAgICB9LAogICAgICAgICJpbmRlbnRHdWlkZXMiOiB7", + "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEcmF3IHZl", + "cnRpY2FsIGluZGVudCBndWlkZXMgaW4gdGhlIGJ1aWx0LWluIGZpbGUgZWRpdG9yLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVz", + "Y3JpcHRpb25zLmZpbGVFZGl0b3IuaW5kZW50R3VpZGVzIgogICAgICAgIH0sCiAgICAgICAgImN1cnJlbnRMaW5lSGlnaGxpZ2h0IjogewogICAgICAgICAg", + "InR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlnaGxpZ2h0IHRoZSBjYXJl", + "dCdzIGxpbmUgd2hlbiB0aGUgc2VsZWN0aW9uIGlzIGVtcHR5LiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZp", + "bGVFZGl0b3IuY3VycmVudExpbmVIaWdobGlnaHQiCiAgICAgICAgfSwKICAgICAgICAidGFiV2lkdGgiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2Vy", + "IiwKICAgICAgICAgICJkZWZhdWx0IjogNCwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJtYXhpbXVtIjogOCwKICAgICAgICAgICJkZXNj", + "cmlwdGlvbiI6ICJDb2x1bW5zIHBlciB0YWIgc3RvcCBmb3IgaW5kZW50IGd1aWRlcy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURl", + "c2NyaXB0aW9ucy5maWxlRWRpdG9yLnRhYldpZHRoIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJmaWxlRXhwbG9yZXIiOiB7CiAgICAgICJ4LWNt", + "dXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogImZpbGVFeHBsb3JlciIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJSaWdodC1zaWRlYmFy", + "IGZpbGUgZXhwbG9yZXIgKGZpbGUgdHJlZSkgc2V0dGluZ3MuIiwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5maWxlRXhw", + "bG9yZXIuZGVzY3JpcHRpb24iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInBy", + "b3BlcnRpZXMiOiB7CiAgICAgICAgImRvdWJsZUNsaWNrQWN0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjog", + "WyJwcmV2aWV3IiwgImRlZmF1bHRFZGl0b3IiLCAicHJlZmVycmVkRWRpdG9yIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJwcmV2aWV3IiwKICAgICAgICAg", + "ICJkZXNjcmlwdGlvbiI6ICJXaGF0IGRvdWJsZS1jbGlja2luZyAob3IgcHJlc3NpbmcgUmV0dXJuIG9uIGEgc2VhcmNoIHJlc3VsdCBmb3IpIGEgZmlsZSBp", + "biB0aGUgZmlsZSBleHBsb3JlciBkb2VzLiBgcHJldmlld2Agb3BlbnMgdGhlIGJ1aWx0LWluIGNtdXggZmlsZSBwcmV2aWV3ICh0aGUgZGVmYXVsdCBhbmQg", + "aGlzdG9yaWNhbCBiZWhhdmlvcikuIGBkZWZhdWx0RWRpdG9yYCBvcGVucyB3aXRoIHRoZSBtYWNPUyBkZWZhdWx0IGFwcCBmb3IgdGhlIGZpbGUgdHlwZS4g", + "YHByZWZlcnJlZEVkaXRvcmAgb3BlbnMgd2l0aCB0aGUgYGFwcC5wcmVmZXJyZWRFZGl0b3JgIGNvbW1hbmQsIGZhbGxpbmcgYmFjayB0byB0aGUgZGVmYXVs", + "dCBhcHAgd2hlbiBub25lIGlzIHNldC4gT25seSBhcHBsaWVzIHRvIGZpbGVzOyBkaXJlY3RvcmllcyBhbHdheXMgZXhwYW5kL2NvbGxhcHNlLCBhbmQgbm9u", + "LWxvY2FsIChyZW1vdGUpIGZpbGUgZXhwbG9yZXJzIGFsd2F5cyBvcGVuIHRoZSBjbXV4IHByZXZpZXcuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6", + "ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUV4cGxvcmVyLmRvdWJsZUNsaWNrQWN0aW9uIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJkaWZmVmll", + "d2VyIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJkaWZmVmlld2VyIiwKICAgICAgImRlc2NyaXB0aW9u", + "IjogIkJ1aWx0LWluIGRpZmYgdmlld2VyIHNldHRpbmdzLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6", + "IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZGVmYXVsdExheW91dCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAg", + "ICAgICAiZW51bSI6IFsidW5pZmllZCIsICJzcGxpdCJdLAogICAgICAgICAgImRlZmF1bHQiOiAidW5pZmllZCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", + "OiAiRGVmYXVsdCBsYXlvdXQgZm9yIG5ld2x5IG9wZW5lZCBkaWZmIHZpZXdlcnMuIFRoZSB0b29sYmFyIGxheW91dCB0b2dnbGUgcGVyc2lzdHMgdGhlIHVz", + "ZXIncyBsYXN0IGNob2ljZTsgYW4gZXhwbGljaXQgYGNtdXggZGlmZiAtLWxheW91dGAgb3B0aW9uIG92ZXJyaWRlcyBib3RoLiIsCiAgICAgICAgICAiZGVz", + "Y3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmRpZmZWaWV3ZXIuZGVmYXVsdExheW91dCIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAi", + "cmlnaHRTaWRlYmFyIjogewogICAgICAidGl0bGUiOiAicmlnaHRTaWRlYmFyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkxlZ2FjeSBhbmQgZXh0ZW5zaW9u", + "LW93bmVkIHJpZ2h0LXNpZGViYXIgY29uZmlndXJhdGlvbiBwcmVzZXJ2ZWQgaW4gY211eC5qc29uLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAg", + "ICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHRydWUKICAgIH0sCiAgICAic2hvcnRjdXRzIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0s", + "CiAgICAgICJ0aXRsZSI6ICJzaG9ydGN1dHMiLAogICAgICAiZGVzY3JpcHRpb24iOiAiS2V5Ym9hcmQgc2hvcnRjdXQgc2V0dGluZ3MgZnJvbSBTZXR0aW5n", + "cyA+IEtleWJvYXJkIFNob3J0Y3V0cy4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAg", + "ICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgInNob3dNb2RpZmllckhvbGRIaW50cyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAg", + "ICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgc2hvcnRjdXQtaGludCBjaGlwcyB3aGlsZSBob2xkaW5nIENtZCBv", + "ciBDb250cm9sLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnNob3J0Y3V0cy5zaG93TW9kaWZpZXJIb2xkSGlu", + "dHMiCiAgICAgICAgfSwKICAgICAgICAiYmluZGluZ3MiOiB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwK", + "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG9ydGN1dCBvdmVycmlkZXMga2V5ZWQgYnkgY211eCBhY3Rpb24gaWQuIFVzZSBhIHN0cmluZyBmb3IgYSBz", + "aW5nbGUgc2hvcnRjdXQsIGFuIGFycmF5IGZvciBhIGNob3JkLCBudWxsLCBhbiBlbXB0eSBzdHJpbmcsIG5vbmUsIGNsZWFyLCB1bmJvdW5kLCBvciBkaXNh", + "YmxlZCB0byB1bmJpbmQuIiwKICAgICAgICAgICJwcm9wZXJ0eU5hbWVzIjogewogICAgICAgICAgICAiZW51bSI6IFsKICAgICAgICAgICAgICAib3BlblNl", + "dHRpbmdzIiwKICAgICAgICAgICAgICAicmVsb2FkQ29uZmlndXJhdGlvbiIsCiAgICAgICAgICAgICAgInNob3dIaWRlQWxsV2luZG93cyIsCiAgICAgICAg", + "ICAgICAgImdsb2JhbFNlYXJjaCIsCiAgICAgICAgICAgICAgIm5ld1dpbmRvdyIsCiAgICAgICAgICAgICAgImNsb3NlV2luZG93IiwKICAgICAgICAgICAg", + "ICAidG9nZ2xlRnVsbFNjcmVlbiIsCiAgICAgICAgICAgICAgInF1aXQiLAogICAgICAgICAgICAgICJ0b2dnbGVTaWRlYmFyIiwKICAgICAgICAgICAgICAi", + "bmV3VGFiIiwKICAgICAgICAgICAgICAibmV3QnJvd3NlcldvcmtzcGFjZSIsCiAgICAgICAgICAgICAgIm5ld0Nsb3VkV29ya3NwYWNlIiwKICAgICAgICAg", + "ICAgICAibmV3Q2xvdWRNYWNoaW5lIiwKICAgICAgICAgICAgICAib3BlbkZvbGRlciIsCiAgICAgICAgICAgICAgInJlb3BlblByZXZpb3VzU2Vzc2lvbiIs", + "CiAgICAgICAgICAgICAgImdvVG9Xb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJjb21tYW5kUGFsZXR0ZSIsCiAgICAgICAgICAgICAgImNvbW1hbmRQYWxl", + "dHRlTmV4dCIsCiAgICAgICAgICAgICAgImNvbW1hbmRQYWxldHRlUHJldmlvdXMiLAogICAgICAgICAgICAgICJzZW5kRmVlZGJhY2siLAogICAgICAgICAg", + "ICAgICJzaG93Tm90aWZpY2F0aW9ucyIsCiAgICAgICAgICAgICAgImp1bXBUb1VucmVhZCIsCiAgICAgICAgICAgICAgInRvZ2dsZVVucmVhZCIsCiAgICAg", + "ICAgICAgICAgIm1hcmtPbGRlc3RVbnJlYWRBbmRKdW1wTmV4dCIsCiAgICAgICAgICAgICAgIm1hcmtBbGxOb3RpZmljYXRpb25zUmVhZCIsCiAgICAgICAg", + "ICAgICAgImNsZWFyQWxsTm90aWZpY2F0aW9ucyIsCiAgICAgICAgICAgICAgImZvY3VzUmlnaHRTaWRlYmFyIiwKICAgICAgICAgICAgICAic3dpdGNoUmln", + "aHRTaWRlYmFyVG9GaWxlcyIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRmluZCIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lk", + "ZWJhclRvU2Vzc2lvbnMiLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb0ZlZWQiLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGVi", + "YXJUb0RvY2siLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb01hY2hpbmVzIiwKICAgICAgICAgICAgICAidHJpZ2dlckZsYXNoIiwKICAg", + "ICAgICAgICAgICAibmV4dFN1cmZhY2UiLAogICAgICAgICAgICAgICJwcmV2U3VyZmFjZSIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlTGVmdCIsCiAg", + "ICAgICAgICAgICAgIm1vdmVTdXJmYWNlUmlnaHQiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUHJldmlvdXNQYW5lIiwKICAgICAgICAgICAgICAi", + "bW92ZVN1cmZhY2VUb05leHRQYW5lIiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VUb1BhbmVMZWZ0IiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VU", + "b1BhbmVSaWdodCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9QYW5lVXAiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZURvd24iLAog", + "ICAgICAgICAgICAgICJzZWxlY3RTdXJmYWNlQnlOdW1iZXIiLAogICAgICAgICAgICAgICJuZXh0U2lkZWJhclRhYiIsCiAgICAgICAgICAgICAgInByZXZT", + "aWRlYmFyVGFiIiwKICAgICAgICAgICAgICAibmV4dFNpZGViYXJUYWJJbkdyb3VwIiwKICAgICAgICAgICAgICAicHJldlNpZGViYXJUYWJJbkdyb3VwIiwK", + "ICAgICAgICAgICAgICAibW92ZVdvcmtzcGFjZVVwIiwKICAgICAgICAgICAgICAibW92ZVdvcmtzcGFjZURvd24iLAogICAgICAgICAgICAgICJmb2N1c0hp", + "c3RvcnlCYWNrIiwKICAgICAgICAgICAgICAiZm9jdXNIaXN0b3J5Rm9yd2FyZCIsCiAgICAgICAgICAgICAgInNlbGVjdFdvcmtzcGFjZUJ5TnVtYmVyIiwK", + "ICAgICAgICAgICAgICAicmVuYW1lVGFiIiwKICAgICAgICAgICAgICAicmVuYW1lV29ya3NwYWNlIiwKICAgICAgICAgICAgICAiZWRpdFdvcmtzcGFjZURl", + "c2NyaXB0aW9uIiwKICAgICAgICAgICAgICAibWFya1dvcmtzcGFjZURvbmUiLAogICAgICAgICAgICAgICJjeWNsZVdvcmtzcGFjZVN0YXR1cyIsCiAgICAg", + "ICAgICAgICAgInRvZ2dsZUNoZWNrbGlzdEl0ZW1Db21wbGV0ZSIsCiAgICAgICAgICAgICAgImNsb3NlVGFiIiwKICAgICAgICAgICAgICAiY2xvc2VPdGhl", + "clRhYnNJblBhbmUiLAogICAgICAgICAgICAgICJjbG9zZVdvcmtzcGFjZSIsCiAgICAgICAgICAgICAgIm5ld1dvcmtzcGFjZUdyb3VwIiwKICAgICAgICAg", + "ICAgICAiZ3JvdXBTZWxlY3RlZFdvcmtzcGFjZXMiLAogICAgICAgICAgICAgICJ0b2dnbGVGb2N1c2VkV29ya3NwYWNlR3JvdXBDb2xsYXBzZWQiLAogICAg", + "ICAgICAgICAgICJyZW9wZW5DbG9zZWRXb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJyZW9wZW5DbG9zZWRCcm93c2VyUGFuZWwiLAogICAgICAgICAgICAg", + "ICJuZXdTdXJmYWNlIiwKICAgICAgICAgICAgICAidG9nZ2xlVGVybWluYWxDb3B5TW9kZSIsCiAgICAgICAgICAgICAgImZvY3VzVGV4dEJveElucHV0IiwK", + "ICAgICAgICAgICAgICAiY3ljbGVUZXh0Qm94U3VibWl0QWN0aW9uIiwKICAgICAgICAgICAgICAiYXR0YWNoVGV4dEJveEZpbGUiLAogICAgICAgICAgICAg", + "ICJzZW5kQ3RybEZUb1Rlcm1pbmFsIiwKICAgICAgICAgICAgICAiY2xlYXJTY3JlZW5LZWVwU2Nyb2xsYmFjayIsCiAgICAgICAgICAgICAgInNpbXVsYXRv", + "ckhvbWUiLAogICAgICAgICAgICAgICJzaW11bGF0b3JSb3RhdGVMZWZ0IiwKICAgICAgICAgICAgICAic2ltdWxhdG9yUm90YXRlUmlnaHQiLAogICAgICAg", + "ICAgICAgICJzaW11bGF0b3JUb2dnbGVBcHBlYXJhbmNlIiwKICAgICAgICAgICAgICAic2ltdWxhdG9yVG9nZ2xlU29mdHdhcmVLZXlib2FyZCIsCiAgICAg", + "ICAgICAgICAgImZvY3VzTGVmdCIsCiAgICAgICAgICAgICAgImZvY3VzUmlnaHQiLAogICAgICAgICAgICAgICJmb2N1c1VwIiwKICAgICAgICAgICAgICAi", + "Zm9jdXNEb3duIiwKICAgICAgICAgICAgICAiZm9jdXNQcmV2aW91c1BhbmUiLAogICAgICAgICAgICAgICJmb2N1c05leHRQYW5lIiwKICAgICAgICAgICAg", + "ICAic3BsaXRSaWdodCIsCiAgICAgICAgICAgICAgInNwbGl0RG93biIsCiAgICAgICAgICAgICAgInRvZ2dsZVNwbGl0Wm9vbSIsCiAgICAgICAgICAgICAg", + "ImluY3JlYXNlV29ya3NwYWNlVGVybWluYWxGb250U2l6ZSIsCiAgICAgICAgICAgICAgImRlY3JlYXNlV29ya3NwYWNlVGVybWluYWxGb250U2l6ZSIsCiAg", + "ICAgICAgICAgICAgInJlc2V0V29ya3NwYWNlVGVybWluYWxGb250U2l6ZSIsCiAgICAgICAgICAgICAgImVxdWFsaXplU3BsaXRzIiwKICAgICAgICAgICAg", + "ICAicmVzaXplLXBhbmUtbGVmdCIsCiAgICAgICAgICAgICAgInJlc2l6ZS1wYW5lLXJpZ2h0IiwKICAgICAgICAgICAgICAicmVzaXplLXBhbmUtdXAiLAog", + "ICAgICAgICAgICAgICJyZXNpemUtcGFuZS1kb3duIiwKICAgICAgICAgICAgICAic3BsaXRCcm93c2VyUmlnaHQiLAogICAgICAgICAgICAgICJzcGxpdEJy", + "b3dzZXJEb3duIiwKICAgICAgICAgICAgICAidG9nZ2xlQ2FudmFzTGF5b3V0IiwKICAgICAgICAgICAgICAiY2FudmFzUmV2ZWFsRm9jdXNlZFBhbmUiLAog", + "ICAgICAgICAgICAgICJjYW52YXNPdmVydmlldyIsCiAgICAgICAgICAgICAgImNhbnZhc1pvb21JbiIsCiAgICAgICAgICAgICAgImNhbnZhc1pvb21PdXQi", + "LAogICAgICAgICAgICAgICJjYW52YXNab29tUmVzZXQiLAogICAgICAgICAgICAgICJjYW52YXNUaWR5IiwKICAgICAgICAgICAgICAiY2FudmFzQWxpZ25M", + "ZWZ0IiwKICAgICAgICAgICAgICAiY2FudmFzQWxpZ25SaWdodCIsCiAgICAgICAgICAgICAgImNhbnZhc0FsaWduVG9wIiwKICAgICAgICAgICAgICAiY2Fu", + "dmFzQWxpZ25Cb3R0b20iLAogICAgICAgICAgICAgICJjYW52YXNFcXVhbGl6ZVdpZHRocyIsCiAgICAgICAgICAgICAgImNhbnZhc0VxdWFsaXplSGVpZ2h0", + "cyIsCiAgICAgICAgICAgICAgImNhbnZhc0Rpc3RyaWJ1dGVIb3Jpem9udGFsbHkiLAogICAgICAgICAgICAgICJjYW52YXNEaXN0cmlidXRlVmVydGljYWxs", + "eSIsCiAgICAgICAgICAgICAgInRvZ2dsZUZpbGVFeHBsb3JlciIsCiAgICAgICAgICAgICAgImZpbGVFeHBsb3Jlck9wZW5TZWxlY3Rpb24iLAogICAgICAg", + "ICAgICAgICJmaWxlRXhwbG9yZXJPcGVuU2VsZWN0aW9uRmluZGVyQWxpYXMiLAogICAgICAgICAgICAgICJzYXZlRmlsZVByZXZpZXciLAogICAgICAgICAg", + "ICAgICJvcGVuQnJvd3NlciIsCiAgICAgICAgICAgICAgImZvY3VzQnJvd3NlckFkZHJlc3NCYXIiLAogICAgICAgICAgICAgICJicm93c2VyQmFjayIsCiAg", + "ICAgICAgICAgICAgImJyb3dzZXJGb3J3YXJkIiwKICAgICAgICAgICAgICAiYnJvd3NlclJlbG9hZCIsCiAgICAgICAgICAgICAgImJyb3dzZXJIYXJkUmVs", + "b2FkIiwKICAgICAgICAgICAgICAiYnJvd3Nlclpvb21JbiIsCiAgICAgICAgICAgICAgImJyb3dzZXJab29tT3V0IiwKICAgICAgICAgICAgICAiYnJvd3Nl", + "clpvb21SZXNldCIsCiAgICAgICAgICAgICAgIm1hcmtkb3duWm9vbUluIiwKICAgICAgICAgICAgICAibWFya2Rvd25ab29tT3V0IiwKICAgICAgICAgICAg", + "ICAibWFya2Rvd25ab29tUmVzZXQiLAogICAgICAgICAgICAgICJmaW5kIiwKICAgICAgICAgICAgICAiZmluZEluRGlyZWN0b3J5IiwKICAgICAgICAgICAg", + "ICAiZmluZE5leHQiLAogICAgICAgICAgICAgICJmaW5kUHJldmlvdXMiLAogICAgICAgICAgICAgICJoaWRlRmluZCIsCiAgICAgICAgICAgICAgInVzZVNl", + "bGVjdGlvbkZvckZpbmQiLAogICAgICAgICAgICAgICJ0b2dnbGVCcm93c2VyRGV2ZWxvcGVyVG9vbHMiLAogICAgICAgICAgICAgICJzaG93QnJvd3Nlckph", + "dmFTY3JpcHRDb25zb2xlIiwKICAgICAgICAgICAgICAidG9nZ2xlQnJvd3NlckZvY3VzTW9kZSIsCiAgICAgICAgICAgICAgInRvZ2dsZUJyb3dzZXJEZXNp", + "Z25Nb2RlIiwKICAgICAgICAgICAgICAidG9nZ2xlUmVhY3RHcmFiIiwKICAgICAgICAgICAgICAib3BlbkRpZmZWaWV3ZXIiLAogICAgICAgICAgICAgICJk", + "aWZmVmlld2VyU2Nyb2xsRG93biIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxVcCIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxI", + "YWxmUGFnZURvd24iLAogICAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VVcCIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxE", + "b3duRW1hY3MiLAogICAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsVXBFbWFjcyIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxUb0JvdHRv", + "bSIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxUb1RvcCIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJPcGVuRmlsZVNlYXJjaCIsCiAgICAg", + "ICAgICAgICAgImRpZmZWaWV3ZXJOZXh0RmlsZSIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJQcmV2aW91c0ZpbGUiCiAgICAgICAgICAgIF0KICAgICAg", + "ICAgIH0sCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImZpbGVFeHBsb3Jlck9wZW5TZWxlY3Rpb24iOiB7CiAgICAgICAgICAgICAg", + "IiRyZWYiOiAiIy8kZGVmcy9zaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAg", + "ImZpbGVFeHBsb3Jlck9wZW5TZWxlY3Rpb25GaW5kZXJBbGlhcyI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3NpbmdsZUJhcmVGaXJzdFN0", + "cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbERvd24iOiB7CiAgICAgICAg", + "ICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAg", + "ImRpZmZWaWV3ZXJTY3JvbGxVcCI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxh", + "YmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbEhhbGZQYWdlRG93biI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIj", + "LyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9s", + "bEhhbGZQYWdlVXAiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAg", + "ICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxEb3duRW1hY3MiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJl", + "Rmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxVcEVtYWNzIjog", + "ewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAg", + "ICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsVG9Cb3R0b20iOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9y", + "dGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxUb1RvcCI6IHsKICAgICAgICAgICAgICAi", + "JHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZp", + "ZXdlck9wZW5GaWxlU2VhcmNoIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFi", + "bGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyTmV4dEZpbGUiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJl", + "Rmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJQcmV2aW91c0ZpbGUiOiB7", + "CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfQogICAg", + "ICAgICAgfSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dEJpbmRpbmdO", + "dWxsYWJsZSIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJ3aGVuIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJk", + "ZWZhdWx0Ijoge30sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgcGVyLWFjdGlvbiBjb250ZXh0IHByZWRpY2F0ZXMgKFZTIENvZGUtc3R5", + "bGUgYHdoZW5gIGNsYXVzZXMpLCBrZXllZCBieSBjbXV4IGFjdGlvbiBpZC4gRWFjaCB2YWx1ZSBpcyBhIGJvb2xlYW4gZXhwcmVzc2lvbiBvdmVyIGNvbnRl", + "eHQga2V5cyBjb21iaW5lZCB3aXRoICEsICYmLCB8fCwgYW5kIHBhcmVudGhlc2VzLiBCb29sZWFuIGtleXM6IHNpZGViYXJGb2N1cywgYnJvd3NlckZvY3Vz", + "LCBtYXJrZG93bkZvY3VzLCBmaWxlUHJldmlld1RleHRFZGl0b3JGb2N1cywgc2ltdWxhdG9yRm9jdXMsIHRlcm1pbmFsRm9jdXMsIGNvbW1hbmRQYWxldHRl", + "VmlzaWJsZSwgdGVybWluYWxGaW5kVmlzaWJsZSwgd29ya3NwYWNlQ2FudmFzTGF5b3V0LiBUeXBlZCBrZXlzIHN1cHBvcnQgY29tcGFyaXNvbnM6IHRoZSBz", + "dHJpbmcgc2lkZWJhck1vZGUgKGZpbGVzLCBmaW5kLCBzZXNzaW9ucywgZmVlZCwgb3IgZG9jaykgYW5kIHRoZSBpbnRlZ2VycyBwYW5lQ291bnQgYW5kIHdv", + "cmtzcGFjZUNvdW50LiBDb21wYXJpc29uIG9wZXJhdG9ycyBhcmUgPT0sICE9LCA9fiAocmVnZXgpLCA8LCA8PSwgPiwgPj0sIGFuZCBgaW4gW2EsIGJdYDsg", + "YW4gdW5rbm93biBvciBhYnNlbnQga2V5IHJlYWRzIGFzIGZhbHNlLiBUaGUgYm9vbGVhbiBsaXRlcmFscyB0cnVlIGFuZCBmYWxzZSBhcmUgYWxzbyBhY2Nl", + "cHRlZDsgYGtleSA9PSBmYWxzZWAgaXMgdGhlIHNhbWUgYXMgYCFrZXlgLiBUaGUgYWN0aW9uJ3Mgc2hvcnRjdXQgb25seSBmaXJlcyAoYW5kIG9ubHkgY29u", + "ZmxpY3RzIHdpdGggb3RoZXIgc2hvcnRjdXRzKSB3aGVuIHRoZSBjbGF1c2UgaG9sZHMuIEV4YW1wbGVzOiB7IFwic2VsZWN0V29ya3NwYWNlQnlOdW1iZXJc", + "IjogXCIhc2lkZWJhckZvY3VzXCIgfSBzZWxlY3RzIHdvcmtzcGFjZXMgd2l0aCBDdHJsKzHigJM5IGV2ZXJ5d2hlcmUgZXhjZXB0IHdoZW4gdGhlIHJpZ2h0", + "IHNpZGViYXIgaXMgZm9jdXNlZDsgeyBcInNlbGVjdFN1cmZhY2VCeU51bWJlclwiOiBcInNpZGViYXJNb2RlID09ICdmaW5kJyAmJiBwYW5lQ291bnQgPiAx", + "XCIgfSBzY29wZXMgYSBiaW5kaW5nIHRvIHRoZSBGaW5kIHNpZGViYXIgd2hlbiB0aGUgd29ya3NwYWNlIGhhcyBtdWx0aXBsZSBwYW5lcy4iLAogICAgICAg", + "ICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5zaG9ydGN1dHMud2hlbiIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMi", + "OiB7CiAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9LAogICIkZGVmcyI6IHsKICAg", + "ICJjb2xvckhleCI6IHsKICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgInBhdHRlcm4iOiAiXiNbMC05QS1GYS1mXXs2fSQiLAogICAgICAiZGVzY3Jp", + "cHRpb24iOiAiVXBwZXJjYXNlIG9yIGxvd2VyY2FzZSA2LWRpZ2l0IGhleCBjb2xvci4iCiAgICB9LAogICAgImNvbG9ySGV4T3JOdWxsIjogewogICAgICAi", + "b25lT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0", + "eXBlIjogIm51bGwiCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgIm5vdGlmaWNhdGlvblNvdW5kT3ZlcnJpZGUiOiB7CiAgICAgICJvbmVPZiI6IFsK", + "ICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAi", + "cmVxdWlyZWQiOiBbInNvdW5kIl0sCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgInNvdW5kIjogewogICAgICAgICAgICAgICJ0eXBl", + "IjogInN0cmluZyIsCiAgICAgICAgICAgICAgImVudW0iOiBbImRlZmF1bHQiLCAiQmFzc28iLCAiQmxvdyIsICJCb3R0bGUiLCAiRnJvZyIsICJGdW5rIiwg", + "IkdsYXNzIiwgIkhlcm8iLCAiTW9yc2UiLCAiUGluZyIsICJQb3AiLCAiUHVyciIsICJTb3N1bWkiLCAiU3VibWFyaW5lIiwgIlRpbmsiLCAibm9uZSJdCiAg", + "ICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRp", + "b25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJyZXF1aXJlZCI6IFsic291bmQiLCAiY3VzdG9tU291bmRGaWxlUGF0aCJdLAogICAgICAgICAg", + "InByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJzb3VuZCI6IHsgImNvbnN0IjogImN1c3RvbV9maWxlIiB9LAogICAgICAgICAgICAiY3VzdG9tU291bmRG", + "aWxlUGF0aCI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgICAgICJw", + "YXR0ZXJuIjogIi4qXFxTLioiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbktleSI6ICJz", + "Y2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5zb3VuZE92ZXJyaWRlIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkEgbm90aWZpY2F0aW9uIHNvdW5k", + "IG92ZXJyaWRlLiBgZGVmYXVsdGAgdXNlcyBub3RpZmljYXRpb25zLnNvdW5kLCBgbm9uZWAgZGlzYWJsZXMgcGxheWJhY2ssIGFuZCB0aGUgcmVtYWluaW5n", + "IHZhbHVlcyBzZWxlY3QgYSBidWlsdC1pbiBvciBjdXN0b20gc291bmQuIgogICAgfSwKICAgICJzaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVPZiI6", "IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3VuYm91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", "IlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMgYXJlIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2Fi", - "bGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9rZSIs", - "CiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2luZ2xlLXN0cm9rZSBzaG9ydGN1dC4gQmFyZSBmaXJzdCBzdHJva2VzIGFyZSBhY2NlcHRlZCBmb3IgdGhp", - "cyBhY3Rpb24uIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIm1pbkl0ZW1zIjogMSwKICAgICAg", - "ICAgICJtYXhJdGVtcyI6IDIsCiAgICAgICAgICAicHJlZml4SXRlbXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZz", - "L2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0Rmlyc3RTdHJva2UiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAiJHJlZiI6ICIj", - "LyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgICAgICB9CiAgICAgICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNob3JkZWQgc2hvcnRj", - "dXQuIEJhcmUgZmlyc3Qgc3Ryb2tlcyBhcmUgYWNjZXB0ZWQgZm9yIHRoaXMgYWN0aW9uLiBFeGFtcGxlOiBbXCJnXCIsIFwiZ1wiXS4iCiAgICAgICAgfQog", - "ICAgICBdCiAgICB9LAogICAgImJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIjogewogICAgICAib25lT2YiOiBbCiAgICAgICAgewog", - "ICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmciCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAi", - "dHlwZSI6ICJudWxsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmJpbmQgdGhpcyBzaG9ydGN1dC4iCiAgICAgICAgfQogICAgICBdCiAgICB9LAog", - "ICAgInVuYm91bmRTaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICJlbnVtIjogWyIiLCAibm9uZSIsICJjbGVhciIs", - "ICJ1bmJvdW5kIiwgImRpc2FibGVkIl0KICAgIH0sCiAgICAic2hvcnRjdXRGaXJzdFN0cm9rZSI6IHsKICAgICAgImFsbE9mIjogWwogICAgICAgIHsKICAg", + "bGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRGaXJzdFN0cm9rZSIsCiAgICAgICAgICAiZGVz", + "Y3JpcHRpb24iOiAiU2luZ2xlLXN0cm9rZSBzaG9ydGN1dCwgZm9yIGV4YW1wbGUgY21kK24gb3IgY21kK3NwYWNlLiIKICAgICAgICB9LAogICAgICAgIHsK", + "ICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJtaW5JdGVtcyI6IDEsCiAgICAgICAgICAibWF4SXRlbXMiOiAyLAogICAgICAgICAgInBy", + "ZWZpeEl0ZW1zIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dEZpcnN0U3Ryb2tlIgogICAgICAgICAg", + "ICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dFN0cm9rZSIKICAgICAgICAgICAgfQogICAgICAgICAg", + "XSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDaG9yZGVkIHNob3J0Y3V0LiBFeGFtcGxlOiBbXCJjdHJsK2JcIiwgXCJjXCJdLiIKICAgICAgICB9CiAg", + "ICAgIF0KICAgIH0sCiAgICAic2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6", + "ICIjLyRkZWZzL3Nob3J0Y3V0QmluZGluZyIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogIm51bGwiLAogICAgICAgICAgImRlc2Ny", + "aXB0aW9uIjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAic2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRj", + "dXRCaW5kaW5nIjogewogICAgICAib25lT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy91bmJvdW5kU2hvcnRjdXRCaW5kaW5n", + "IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmJpbmQgdGhpcyBzaG9ydGN1dC4gQWNjZXB0ZWQgdmFsdWVzIGFyZSBhbiBlbXB0eSBzdHJpbmcsIG5v", + "bmUsIGNsZWFyLCB1bmJvdW5kLCBvciBkaXNhYmxlZC4iCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJz", + "dFN0cm9rZVNob3J0Y3V0Rmlyc3RTdHJva2UiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpbmdsZS1zdHJva2Ugc2hvcnRjdXQuIEJhcmUgZmlyc3Qg", + "c3Ryb2tlcyBhcmUgYWNjZXB0ZWQgZm9yIHRoaXMgYWN0aW9uLiIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAic2luZ2xlQmFyZUZpcnN0U3Ryb2tl", + "U2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3NpbmdsZUJh", + "cmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZyIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogIm51bGwiLAogICAgICAgICAgImRl", + "c2NyaXB0aW9uIjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAiYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRC", + "aW5kaW5nIjogewogICAgICAib25lT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy91bmJvdW5kU2hvcnRjdXRCaW5kaW5nIiwK", + "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmJpbmQgdGhpcyBzaG9ydGN1dC4gQWNjZXB0ZWQgdmFsdWVzIGFyZSBhbiBlbXB0eSBzdHJpbmcsIG5vbmUs", + "IGNsZWFyLCB1bmJvdW5kLCBvciBkaXNhYmxlZC4iCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0", + "cm9rZVNob3J0Y3V0Rmlyc3RTdHJva2UiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpbmdsZS1zdHJva2Ugc2hvcnRjdXQuIEJhcmUgZmlyc3Qgc3Ry", + "b2tlcyBhcmUgYWNjZXB0ZWQgZm9yIHRoaXMgYWN0aW9uLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAg", + "ICAgICJtaW5JdGVtcyI6IDEsCiAgICAgICAgICAibWF4SXRlbXMiOiAyLAogICAgICAgICAgInByZWZpeEl0ZW1zIjogWwogICAgICAgICAgICB7CiAgICAg", + "ICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEZpcnN0U3Ryb2tlIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7", + "CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dFN0cm9rZSIKICAgICAgICAgICAgfQogICAgICAgICAgXSwKICAgICAgICAgICJkZXNj", + "cmlwdGlvbiI6ICJDaG9yZGVkIHNob3J0Y3V0LiBCYXJlIGZpcnN0IHN0cm9rZXMgYXJlIGFjY2VwdGVkIGZvciB0aGlzIGFjdGlvbi4gRXhhbXBsZTogW1wi", + "Z1wiLCBcImdcIl0uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJiYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSI6IHsKICAg", + "ICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nIgogICAgICAg", + "IH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIgog", + "ICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJ1bmJvdW5kU2hvcnRjdXRCaW5kaW5nIjogewogICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAiZW51", + "bSI6IFsiIiwgIm5vbmUiLCAiY2xlYXIiLCAidW5ib3VuZCIsICJkaXNhYmxlZCJdCiAgICB9LAogICAgInNob3J0Y3V0Rmlyc3RTdHJva2UiOiB7CiAgICAg", + "ICJhbGxPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgIH0sCiAgICAgICAgewogICAg", + "ICAgICAgImFueU9mIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXig/Oig/OltjQ11bbU1dW2REXXxbY0NdW29PXVttTV1b", + "bU1dW2FBXVtuTl1bZERdfFtzU11baEhdW2lJXVtmRl1bdFRdfFtvT11bcFBdW3RUXXxbb09dW3BQXVt0VF1baUldW29PXVtuTl18W2FBXVtsTF1bdFRdfFtj", + "Q11bdFRdW3JSXVtsTF18W2NDXVtvT11bbk5dW3RUXVtyUl1bb09dW2xMXXxbY0NdW3RUXVtsTF184oyYfOKHp3zijKV84oyDKVxcKykrIgogICAgICAgICAg", + "ICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXig/OiB8W3NTXVtwUF1bYUFdW2NDXVtlRV18W3NTXVtwUF1bYUFdW2NDXVtl", + "RV1bYkJdW2FBXVtyUl18PFtzU11bcFBdW2FBXVtjQ11bZUVdPikkIgogICAgICAgICAgICB9CiAgICAgICAgICBdCiAgICAgICAgfQogICAgICBdLAogICAg", + "ICAiZGVzY3JpcHRpb24iOiAiRmlyc3Qgb3Igb25seSBzaG9ydGN1dCBzdHJva2UuIE11c3QgaW5jbHVkZSBhIG1vZGlmaWVyIHVubGVzcyB0aGUga2V5IGlz", + "IFNwYWNlLiIKICAgIH0sCiAgICAiYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9rZSI6IHsKICAgICAgImFsbE9mIjogWwogICAgICAgIHsKICAg", "ICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRTdHJva2UiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYW55T2YiOiBbCiAgICAgICAg", "ICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86KD86W2NDXVttTV1bZERdfFtjQ11bb09dW21NXVttTV1bYUFdW25OXVtkRF18W3NTXVtoSF1b", "aUldW2ZGXVt0VF18W29PXVtwUF1bdFRdfFtvT11bcFBdW3RUXVtpSV1bb09dW25OXXxbYUFdW2xMXVt0VF18W2NDXVt0VF1bclJdW2xMXXxbY0NdW29PXVtu", "Tl1bdFRdW3JSXVtvT11bbExdfFtjQ11bdFRdW2xMXXzijJh84oenfOKMpXzijIMpXFwrKSsiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAg", "ICAgICAgICAicGF0dGVybiI6ICJeKD86IHxbc1NdW3BQXVthQV1bY0NdW2VFXXxbc1NdW3BQXVthQV1bY0NdW2VFXVtiQl1bYUFdW3JSXXw8W3NTXVtwUF1b", - "YUFdW2NDXVtlRV0+KSQiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBv", - "ciBvbmx5IHNob3J0Y3V0IHN0cm9rZS4gTXVzdCBpbmNsdWRlIGEgbW9kaWZpZXIgdW5sZXNzIHRoZSBrZXkgaXMgU3BhY2UuIgogICAgfSwKICAgICJiYXJl", - "Rmlyc3RTdHJva2VTaG9ydGN1dEZpcnN0U3Ryb2tlIjogewogICAgICAiYWxsT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9z", - "aG9ydGN1dFN0cm9rZSIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0", - "ZXJuIjogIl4oPzooPzpbY0NdW21NXVtkRF18W2NDXVtvT11bbU1dW21NXVthQV1bbk5dW2REXXxbc1NdW2hIXVtpSV1bZkZdW3RUXXxbb09dW3BQXVt0VF18", - "W29PXVtwUF1bdFRdW2lJXVtvT11bbk5dfFthQV1bbExdW3RUXXxbY0NdW3RUXVtyUl1bbExdfFtjQ11bb09dW25OXVt0VF1bclJdW29PXVtsTF18W2NDXVt0", - "VF1bbExdfOKMmHzih6d84oylfOKMgylcXCspKyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzog", - "fFtzU11bcFBdW2FBXVtjQ11bZUVdfFtzU11bcFBdW2FBXVtjQ11bZUVdW2JCXVthQV1bclJdfDxbc1NdW3BQXVthQV1bY0NdW2VFXT4pJCIKICAgICAgICAg", - "ICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzpbclJdW2VFXVt0VF1bdVVdW3JSXVtuTl18W2VFXVtuTl1bdFRdW2VF", - "XVtyUl184oapKSQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86W2xMXVtlRV1bZkZdW3RUXXxb", - "YUFdW3JSXVtyUl1bb09dW3dXXVtsTF1bZUVdW2ZGXVt0VF18W2xMXVtlRV1bZkZdW3RUXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkHxbclJdW2lJXVtnR11b", - "aEhdW3RUXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtyUl1baUldW2dHXVtoSF1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2FBXVtyUl1bclJdW29PXVt3V118", - "4oaSfFt1VV1bcFBdfFthQV1bclJdW3JSXVtvT11bd1ddW3VVXVtwUF18W3VVXVtwUF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpF8W2REXVtvT11bd1ddW25O", - "XXxbYUFdW3JSXVtyUl1bb09dW3dXXVtkRF1bb09dW3dXXVtuTl18W2REXVtvT11bd1ddW25OXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkykkIgogICAgICAg", - "ICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXig/OltBLVphLXowLTldfFssLi9cXFxcOydgPVxcW1xcXS1dfFtjQ11b", - "b09dW21NXVttTV1bYUFdfFtwUF1bZUVdW3JSXVtpSV1bb09dW2REXXxbZERdW29PXVt0VF18W3NTXVtsTF1bYUFdW3NTXVtoSF18W2JCXVthQV1bY0NdW2tL", - "XVtzU11bbExdW2FBXVtzU11baEhdfFtzU11bZUVdW21NXVtpSV1bY0NdW29PXVtsTF1bb09dW25OXXxbcVFdW3VVXVtvT11bdFRdW2VFXXxbYUFdW3BQXVtv", - "T11bc1NdW3RUXVtyUl1bb09dW3BQXVtoSF1bZUVdfFtiQl1bYUFdW2NDXVtrS11bdFRdW2lJXVtjQ11ba0tdfFtnR11bclJdW2FBXVt2Vl1bZUVdfFttTV1b", - "aUldW25OXVt1VV1bc1NdfFtoSF1beVldW3BQXVtoSF1bZUVdW25OXXxbcFBdW2xMXVt1VV1bc1NdfFtlRV1bcVFdW3VVXVthQV1bbExdW3NTXXxbbExdW2VF", - "XVtmRl1bdFRdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbb09dW3BQXVtlRV1bbk5dW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbclJdW2lJ", - "XVtnR11baEhdW3RUXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W2NDXVtsTF1bb09dW3NTXVtlRV1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRd", - "KSQiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBvciBvbmx5IHNob3J0", - "Y3V0IHN0cm9rZS4gQmFyZSBwcmludGFibGUga2V5cyBhcmUgYWNjZXB0ZWQgZm9yIGFjdGlvbnMgdGhhdCBvcHQgaW50byBiYXJlIGZpcnN0IHN0cm9rZXMu", - "IgogICAgfSwKICAgICJzaG9ydGN1dFN0cm9rZSI6IHsKICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgInBhdHRlcm4iOiAiXig/Oig/OltjQ11bbU1d", - "W2REXXxbY0NdW29PXVttTV1bbU1dW2FBXVtuTl1bZERdfFtzU11baEhdW2lJXVtmRl1bdFRdfFtvT11bcFBdW3RUXXxbb09dW3BQXVt0VF1baUldW29PXVtu", - "Tl18W2FBXVtsTF1bdFRdfFtjQ11bdFRdW3JSXVtsTF18W2NDXVtvT11bbk5dW3RUXVtyUl1bb09dW2xMXXxbY0NdW3RUXVtsTF184oyYfOKHp3zijKV84oyD", - "KVxcKykqKD86IHxbQS1aYS16MC05XXxbbExdW2VFXVtmRl1bdFRdfFthQV1bclJdW3JSXVtvT11bd1ddW2xMXVtlRV1bZkZdW3RUXXxbbExdW2VFXVtmRl1b", - "dFRdW2FBXVtyUl1bclJdW29PXVt3V1184oaQfFtyUl1baUldW2dHXVtoSF1bdFRdfFthQV1bclJdW3JSXVtvT11bd1ddW3JSXVtpSV1bZ0ddW2hIXVt0VF18", - "W3JSXVtpSV1bZ0ddW2hIXVt0VF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpJ8W3VVXVtwUF18W2FBXVtyUl1bclJdW29PXVt3V11bdVVdW3BQXXxbdVVdW3BQ", - "XVthQV1bclJdW3JSXVtvT11bd1ddfOKGkXxbZERdW29PXVt3V11bbk5dfFthQV1bclJdW3JSXVtvT11bd1ddW2REXVtvT11bd1ddW25OXXxbZERdW29PXVt3", - "V11bbk5dW2FBXVtyUl1bclJdW29PXVt3V1184oaTfFt0VF1bYUFdW2JCXXxbclJdW2VFXVt0VF1bdVVdW3JSXVtuTl18W2VFXVtuTl1bdFRdW2VFXVtyUl18", - "4oapfFtzU11bcFBdW2FBXVtjQ11bZUVdfFtzU11bcFBdW2FBXVtjQ11bZUVdW2JCXVthQV1bclJdfDxbc1NdW3BQXVthQV1bY0NdW2VFXT58WywuL1xcXFw7", - "J2A9XFxbXFxdLV18W2NDXVtvT11bbU1dW21NXVthQV18W3BQXVtlRV1bclJdW2lJXVtvT11bZERdfFtkRF1bb09dW3RUXXxbc1NdW2xMXVthQV1bc1NdW2hI", - "XXxbYkJdW2FBXVtjQ11ba0tdW3NTXVtsTF1bYUFdW3NTXVtoSF18W3NTXVtlRV1bbU1dW2lJXVtjQ11bb09dW2xMXVtvT11bbk5dfFtxUV1bdVVdW29PXVt0", - "VF1bZUVdfFthQV1bcFBdW29PXVtzU11bdFRdW3JSXVtvT11bcFBdW2hIXVtlRV18W2JCXVthQV1bY0NdW2tLXVt0VF1baUldW2NDXVtrS118W2dHXVtyUl1b", - "YUFdW3ZWXVtlRV18W21NXVtpSV1bbk5dW3VVXVtzU118W2hIXVt5WV1bcFBdW2hIXVtlRV1bbk5dfFtwUF1bbExdW3VVXVtzU118W2VFXVtxUV1bdVVdW2FB", - "XVtsTF1bc1NdfFtsTF1bZUVdW2ZGXVt0VF1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtvT11bcFBdW2VFXVtuTl1bYkJdW3JSXVthQV1bY0NdW2tL", - "XVtlRV1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbY0NdW2xMXVtvT11bc1NdW2VFXVtiQl1bclJdW2FB", - "XVtjQ11ba0tdW2VFXVt0VF18W2ZGXSg/OlsxLTldfDFbMC05XXwyMCl8W3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJ", - "XVthQV1bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bdVVdW3BQXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLlt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVt1VV1b", - "cFBdfFt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVtkRF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1b", - "ZERdW29PXVt3V11bbk5dfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW2REXVtvT11bd1ddW25OXXxbYkJdW3JSXVtp", - "SV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VF", - "XVtzU11bc1NdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW3VVXVtwUF18", - "W2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVtkRF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1bYkJdW3JSXVtpSV1b", - "Z0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW2REXVtvT11bd1ddW25OXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltiQl1bclJdW2lJXVtnR11baEhdW3RU", - "XVtuTl1bZUVdW3NTXVtzU11bZERdW29PXVt3V11bbk5dfFttTV1bdVVdW3RUXVtlRV18W21NXVtlRV1bZERdW2lJXVthQV1bbU1dW3VVXVt0VF1bZUVdfFtt", - "TV1bZUVdW2REXVtpSV1bYUFdXFwuW21NXVt1VV1bdFRdW2VFXXxbcFBdW2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18W21NXVtlRV1bZERdW2lJ", - "XVthQV1bcFBdW2xMXVthQV1beVldW3BQXVthQV1bdVVdW3NTXVtlRV18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bcFBdW2xMXVthQV1beVldW3BQXVthQV1b", - "dVVdW3NTXVtlRV18W25OXVtlRV1beFhdW3RUXVt0VF1bclJdW2FBXVtjQ11ba0tdfFttTV1bZUVdW2REXVtpSV1bYUFdW25OXVtlRV1beFhdW3RUXXxbbU1d", - "W2VFXVtkRF1baUldW2FBXVxcLltuTl1bZUVdW3hYXVt0VF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bbk5dW2VFXVt4WF1bdFRdW3RUXVtyUl1bYUFdW2ND", - "XVtrS118W3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU11bdFRdW3JSXVthQV1bY0NdW2tLXXxbbU1dW2VFXVtkRF1baUldW2FBXVtwUF1bclJdW2VF", - "XVt2Vl1baUldW29PXVt1VV1bc1NdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU118W21NXVtlRV1bZERd", - "W2lJXVthQV1cXC5bcFBdW3JSXVtlRV1bdlZdW2lJXVtvT11bdVVdW3NTXVt0VF1bclJdW2FBXVtjQ11ba0tdKSQiLAogICAgICAiZGVzY3JpcHRpb24iOiAi", - "T25lIGtleWJvYXJkIHNob3J0Y3V0IHN0cm9rZSB1c2luZyBtb2RpZmllcitrZXkgc3ludGF4LiBTdXBwb3J0ZWQga2V5IG5hbWVzIGluY2x1ZGUgc3BhY2Us", - "IFNwYWNlLCA8c3BhY2U+LCBhbmQgPFNwYWNlPi4iCiAgICB9CiAgfQp9Cg==", + "YUFdW2NDXVtlRV0+KSQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86W3JSXVtlRV1bdFRdW3VV", + "XVtyUl1bbk5dfFtlRV1bbk5dW3RUXVtlRV1bclJdfOKGqSkkIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4i", + "OiAiXig/OltsTF1bZUVdW2ZGXVt0VF18W2FBXVtyUl1bclJdW29PXVt3V11bbExdW2VFXVtmRl1bdFRdfFtsTF1bZUVdW2ZGXVt0VF1bYUFdW3JSXVtyUl1b", + "b09dW3dXXXzihpB8W3JSXVtpSV1bZ0ddW2hIXVt0VF18W2FBXVtyUl1bclJdW29PXVt3V11bclJdW2lJXVtnR11baEhdW3RUXXxbclJdW2lJXVtnR11baEhd", + "W3RUXVthQV1bclJdW3JSXVtvT11bd1ddfOKGknxbdVVdW3BQXXxbYUFdW3JSXVtyUl1bb09dW3dXXVt1VV1bcFBdfFt1VV1bcFBdW2FBXVtyUl1bclJdW29P", + "XVt3V1184oaRfFtkRF1bb09dW3dXXVtuTl18W2FBXVtyUl1bclJdW29PXVt3V11bZERdW29PXVt3V11bbk5dfFtkRF1bb09dW3dXXVtuTl1bYUFdW3JSXVty", + "Ul1bb09dW3dXXXzihpMpJCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzpbQS1aYS16MC05XXxb", + "LC4vXFxcXDsnYD1cXFtcXF0tXXxbY0NdW29PXVttTV1bbU1dW2FBXXxbcFBdW2VFXVtyUl1baUldW29PXVtkRF18W2REXVtvT11bdFRdfFtzU11bbExdW2FB", + "XVtzU11baEhdfFtiQl1bYUFdW2NDXVtrS11bc1NdW2xMXVthQV1bc1NdW2hIXXxbc1NdW2VFXVttTV1baUldW2NDXVtvT11bbExdW29PXVtuTl18W3FRXVt1", + "VV1bb09dW3RUXVtlRV18W2FBXVtwUF1bb09dW3NTXVt0VF1bclJdW29PXVtwUF1baEhdW2VFXXxbYkJdW2FBXVtjQ11ba0tdW3RUXVtpSV1bY0NdW2tLXXxb", + "Z0ddW3JSXVthQV1bdlZdW2VFXXxbbU1dW2lJXVtuTl1bdVVdW3NTXXxbaEhdW3lZXVtwUF1baEhdW2VFXVtuTl18W3BQXVtsTF1bdVVdW3NTXXxbZUVdW3FR", + "XVt1VV1bYUFdW2xMXVtzU118W2xMXVtlRV1bZkZdW3RUXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W29PXVtwUF1bZUVdW25OXVtiQl1bclJdW2FB", + "XVtjQ11ba0tdW2VFXVt0VF18W3JSXVtpSV1bZ0ddW2hIXVt0VF1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtjQ11bbExdW29PXVtzU11bZUVdW2JC", + "XVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXSkkIgogICAgICAgICAgICB9CiAgICAgICAgICBdCiAgICAgICAgfQogICAgICBdLAogICAgICAiZGVzY3JpcHRp", + "b24iOiAiRmlyc3Qgb3Igb25seSBzaG9ydGN1dCBzdHJva2UuIEJhcmUgcHJpbnRhYmxlIGtleXMgYXJlIGFjY2VwdGVkIGZvciBhY3Rpb25zIHRoYXQgb3B0", + "IGludG8gYmFyZSBmaXJzdCBzdHJva2VzLiIKICAgIH0sCiAgICAic2hvcnRjdXRTdHJva2UiOiB7CiAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICJw", + "YXR0ZXJuIjogIl4oPzooPzpbY0NdW21NXVtkRF18W2NDXVtvT11bbU1dW21NXVthQV1bbk5dW2REXXxbc1NdW2hIXVtpSV1bZkZdW3RUXXxbb09dW3BQXVt0", + "VF18W29PXVtwUF1bdFRdW2lJXVtvT11bbk5dfFthQV1bbExdW3RUXXxbY0NdW3RUXVtyUl1bbExdfFtjQ11bb09dW25OXVt0VF1bclJdW29PXVtsTF18W2ND", + "XVt0VF1bbExdfOKMmHzih6d84oylfOKMgylcXCspKig/OiB8W0EtWmEtejAtOV18W2xMXVtlRV1bZkZdW3RUXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtsTF1b", + "ZUVdW2ZGXVt0VF18W2xMXVtlRV1bZkZdW3RUXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkHxbclJdW2lJXVtnR11baEhdW3RUXXxbYUFdW3JSXVtyUl1bb09d", + "W3dXXVtyUl1baUldW2dHXVtoSF1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2FBXVtyUl1bclJdW29PXVt3V1184oaSfFt1VV1bcFBdfFthQV1bclJdW3JS", + "XVtvT11bd1ddW3VVXVtwUF18W3VVXVtwUF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpF8W2REXVtvT11bd1ddW25OXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtk", + "RF1bb09dW3dXXVtuTl18W2REXVtvT11bd1ddW25OXVthQV1bclJdW3JSXVtvT11bd1ddfOKGk3xbdFRdW2FBXVtiQl18W3JSXVtlRV1bdFRdW3VVXVtyUl1b", + "bk5dfFtlRV1bbk5dW3RUXVtlRV1bclJdfOKGqXxbc1NdW3BQXVthQV1bY0NdW2VFXXxbc1NdW3BQXVthQV1bY0NdW2VFXVtiQl1bYUFdW3JSXXw8W3NTXVtw", + "UF1bYUFdW2NDXVtlRV0+fFssLi9cXFxcOydgPVxcW1xcXS1dfFtjQ11bb09dW21NXVttTV1bYUFdfFtwUF1bZUVdW3JSXVtpSV1bb09dW2REXXxbZERdW29P", + "XVt0VF18W3NTXVtsTF1bYUFdW3NTXVtoSF18W2JCXVthQV1bY0NdW2tLXVtzU11bbExdW2FBXVtzU11baEhdfFtzU11bZUVdW21NXVtpSV1bY0NdW29PXVts", + "TF1bb09dW25OXXxbcVFdW3VVXVtvT11bdFRdW2VFXXxbYUFdW3BQXVtvT11bc1NdW3RUXVtyUl1bb09dW3BQXVtoSF1bZUVdfFtiQl1bYUFdW2NDXVtrS11b", + "dFRdW2lJXVtjQ11ba0tdfFtnR11bclJdW2FBXVt2Vl1bZUVdfFttTV1baUldW25OXVt1VV1bc1NdfFtoSF1beVldW3BQXVtoSF1bZUVdW25OXXxbcFBdW2xM", + "XVt1VV1bc1NdfFtlRV1bcVFdW3VVXVthQV1bbExdW3NTXXxbbExdW2VFXVtmRl1bdFRdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbb09dW3BQXVtl", + "RV1bbk5dW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbclJdW2lJXVtnR11baEhdW3RUXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W2NDXVts", + "TF1bb09dW3NTXVtlRV1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtmRl0oPzpbMS05XXwxWzAtOV18MjApfFt2Vl1bb09dW2xMXVt1VV1bbU1dW2VF", + "XVt1VV1bcFBdfFttTV1bZUVdW2REXVtpSV1bYUFdW3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bdlZd", + "W29PXVtsTF1bdVVdW21NXVtlRV1bdVVdW3BQXXxbdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bZERdW29PXVt3V11bbk5dfFttTV1bZUVdW2REXVtpSV1bYUFd", + "W3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW2REXVtvT11bd1ddW25OXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLlt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVtk", + "RF1bb09dW3dXXVtuTl18W2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVt1VV1bcFBdfFttTV1bZUVdW2REXVtpSV1bYUFdW2JCXVty", + "Ul1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVt1VV1bcFBdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW2JCXVtyUl1baUldW2dHXVtoSF1bdFRd", + "W25OXVtlRV1bc1NdW3NTXVt1VV1bcFBdfFtiQl1bclJdW2lJXVtnR11baEhdW3RUXVtuTl1bZUVdW3NTXVtzU11bZERdW29PXVt3V11bbk5dfFttTV1bZUVd", + "W2REXVtpSV1bYUFdW2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVtkRF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1c", + "XC5bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW2REXVtvT11bd1ddW25OXXxbbU1dW3VVXVt0VF1bZUVdfFttTV1bZUVdW2REXVtp", + "SV1bYUFdW21NXVt1VV1bdFRdW2VFXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLlttTV1bdVVdW3RUXVtlRV18W3BQXVtsTF1bYUFdW3lZXVtwUF1bYUFdW3VV", + "XVtzU11bZUVdfFttTV1bZUVdW2REXVtpSV1bYUFdW3BQXVtsTF1bYUFdW3lZXVtwUF1bYUFdW3VVXVtzU11bZUVdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwu", + "W3BQXVtsTF1bYUFdW3lZXVtwUF1bYUFdW3VVXVtzU11bZUVdfFtuTl1bZUVdW3hYXVt0VF1bdFRdW3JSXVthQV1bY0NdW2tLXXxbbU1dW2VFXVtkRF1baUld", + "W2FBXVtuTl1bZUVdW3hYXVt0VF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bbk5dW2VFXVt4WF1bdFRdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW25OXVtl", + "RV1beFhdW3RUXVt0VF1bclJdW2FBXVtjQ11ba0tdfFtwUF1bclJdW2VFXVt2Vl1baUldW29PXVt1VV1bc1NdW3RUXVtyUl1bYUFdW2NDXVtrS118W21NXVtl", + "RV1bZERdW2lJXVthQV1bcFBdW3JSXVtlRV1bdlZdW2lJXVtvT11bdVVdW3NTXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltwUF1bclJdW2VFXVt2Vl1baUld", + "W29PXVt1VV1bc1NdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU11bdFRdW3JSXVthQV1bY0NdW2tLXSkk", + "IiwKICAgICAgImRlc2NyaXB0aW9uIjogIk9uZSBrZXlib2FyZCBzaG9ydGN1dCBzdHJva2UgdXNpbmcgbW9kaWZpZXIra2V5IHN5bnRheC4gU3VwcG9ydGVk", + "IGtleSBuYW1lcyBpbmNsdWRlIHNwYWNlLCBTcGFjZSwgPHNwYWNlPiwgYW5kIDxTcGFjZT4uIgogICAgfQogIH0KfQo=", ].joined() guard let data = Data(base64Encoded: base64) else { preconditionFailure("embedded cmux.json schema is corrupt") From 3b32df3b4fe1296d9a3450962eaaa30c858af39a Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:32:44 -0700 Subject: [PATCH 28/55] config validation: preserve future schema compatibility --- .../CmuxConfigSemanticValidator.swift | 166 +++++++++++++++--- 1 file changed, 146 insertions(+), 20 deletions(-) diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift index fa5ecfcf2942..241964ef878e 100644 --- a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift @@ -44,13 +44,23 @@ public struct CmuxConfigSemanticValidator { with: data, options: [.fragmentsAllowed] ) - return validate(instance, against: rootSchema, path: "$") + return validate(jsonObject: instance) + } + + public func validate(jsonObject instance: Any) -> [CmuxConfigSemanticIssue] { + validate( + instance, + against: rootSchema, + path: "$", + tolerateUnknownProperties: usesFutureSchemaVersion(instance) + ) } private func validate( _ instance: Any, against schema: [String: Any], - path: String + path: String, + tolerateUnknownProperties: Bool ) -> [CmuxConfigSemanticIssue] { if scope == .project, let scopes = schema["x-cmux-scopes"] as? [String], @@ -69,7 +79,14 @@ public struct CmuxConfigSemanticValidator { guard let target = resolvedReference(ref) else { return [CmuxConfigSemanticIssue(path: path, message: "references an unknown schema definition '\(ref)'")] } - issues.append(contentsOf: validate(instance, against: target, path: path)) + issues.append( + contentsOf: validate( + instance, + against: target, + path: path, + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) } if let typeSpec = schema["type"], !matchesType(instance, typeSpec: typeSpec) { @@ -103,13 +120,27 @@ public struct CmuxConfigSemanticValidator { if let allOf = schema["allOf"] as? [Any] { for raw in allOf { guard let childSchema = raw as? [String: Any] else { continue } - issues.append(contentsOf: validate(instance, against: childSchema, path: path)) + issues.append( + contentsOf: validate( + instance, + against: childSchema, + path: path, + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) } } if let anyOf = schema["anyOf"] as? [Any] { let alternatives = anyOf.compactMap { $0 as? [String: Any] } - .map { validate(instance, against: $0, path: path) } + .map { + validate( + instance, + against: $0, + path: path, + tolerateUnknownProperties: tolerateUnknownProperties + ) + } if !alternatives.contains(where: \.isEmpty) { issues.append(CmuxConfigSemanticIssue(path: path, message: "does not match any allowed form")) if let best = alternatives.min(by: { $0.count < $1.count }) { @@ -120,7 +151,14 @@ public struct CmuxConfigSemanticValidator { if let oneOf = schema["oneOf"] as? [Any] { let alternatives = oneOf.compactMap { $0 as? [String: Any] } - .map { validate(instance, against: $0, path: path) } + .map { + validate( + instance, + against: $0, + path: path, + tolerateUnknownProperties: tolerateUnknownProperties + ) + } let passing = alternatives.filter(\.isEmpty).count if passing != 1 { let message = passing == 0 @@ -135,13 +173,30 @@ public struct CmuxConfigSemanticValidator { } if let condition = schema["if"] as? [String: Any], - validate(instance, against: condition, path: path).isEmpty, + validate( + instance, + against: condition, + path: path, + tolerateUnknownProperties: tolerateUnknownProperties + ).isEmpty, let thenSchema = schema["then"] as? [String: Any] { - issues.append(contentsOf: validate(instance, against: thenSchema, path: path)) + issues.append( + contentsOf: validate( + instance, + against: thenSchema, + path: path, + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) } if let forbidden = schema["not"] as? [String: Any], - validate(instance, against: forbidden, path: path).isEmpty { + validate( + instance, + against: forbidden, + path: path, + tolerateUnknownProperties: tolerateUnknownProperties + ).isEmpty { issues.append( CmuxConfigSemanticIssue( path: path, @@ -155,9 +210,23 @@ public struct CmuxConfigSemanticValidator { } else if let number = jsonNumber(instance) { issues.append(contentsOf: validateNumber(number, schema: schema, path: path)) } else if let array = instance as? [Any] { - issues.append(contentsOf: validateArray(array, schema: schema, path: path)) + issues.append( + contentsOf: validateArray( + array, + schema: schema, + path: path, + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) } else if let object = instance as? [String: Any] { - issues.append(contentsOf: validateObject(object, schema: schema, path: path)) + issues.append( + contentsOf: validateObject( + object, + schema: schema, + path: path, + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) } return deduplicated(issues) @@ -225,7 +294,8 @@ public struct CmuxConfigSemanticValidator { private func validateArray( _ value: [Any], schema: [String: Any], - path: String + path: String, + tolerateUnknownProperties: Bool ) -> [CmuxConfigSemanticIssue] { var issues: [CmuxConfigSemanticIssue] = [] if let minimum = schemaInteger(schema["minItems"]), value.count < minimum { @@ -239,9 +309,23 @@ public struct CmuxConfigSemanticValidator { let itemSchema = schema["items"] as? [String: Any] for (index, item) in value.enumerated() { if index < prefixSchemas.count { - issues.append(contentsOf: validate(item, against: prefixSchemas[index], path: "\(path)[\(index)]")) + issues.append( + contentsOf: validate( + item, + against: prefixSchemas[index], + path: "\(path)[\(index)]", + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) } else if let itemSchema { - issues.append(contentsOf: validate(item, against: itemSchema, path: "\(path)[\(index)]")) + issues.append( + contentsOf: validate( + item, + against: itemSchema, + path: "\(path)[\(index)]", + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) } } return issues @@ -250,7 +334,8 @@ public struct CmuxConfigSemanticValidator { private func validateObject( _ value: [String: Any], schema: [String: Any], - path: String + path: String, + tolerateUnknownProperties: Bool ) -> [CmuxConfigSemanticIssue] { var issues: [CmuxConfigSemanticIssue] = [] if let minimum = schemaInteger(schema["minProperties"]), value.count < minimum { @@ -275,18 +360,39 @@ public struct CmuxConfigSemanticValidator { let child = childPath(path, key: key) guard let childValue = value[key] else { continue } if let propertyNameSchema { - issues.append(contentsOf: validate(key, against: propertyNameSchema, path: child)) + issues.append( + contentsOf: validate( + key, + against: propertyNameSchema, + path: child, + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) } var matchedPropertySchema = false if let propertySchema = properties[key] as? [String: Any] { - issues.append(contentsOf: validate(childValue, against: propertySchema, path: child)) + issues.append( + contentsOf: validate( + childValue, + against: propertySchema, + path: child, + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) matchedPropertySchema = true } for pattern in patternProperties.keys.sorted() where matchesPattern(key, pattern: pattern) { guard let patternSchema = patternProperties[pattern] as? [String: Any] else { continue } - issues.append(contentsOf: validate(childValue, against: patternSchema, path: child)) + issues.append( + contentsOf: validate( + childValue, + against: patternSchema, + path: child, + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) matchedPropertySchema = true } if matchedPropertySchema { @@ -294,14 +400,34 @@ public struct CmuxConfigSemanticValidator { } if let allowed = additional as? Bool, !allowed { - issues.append(CmuxConfigSemanticIssue(path: child, message: "unknown configuration key")) + if !tolerateUnknownProperties { + issues.append(CmuxConfigSemanticIssue(path: child, message: "unknown configuration key")) + } } else if let additionalSchema = additional as? [String: Any] { - issues.append(contentsOf: validate(childValue, against: additionalSchema, path: child)) + issues.append( + contentsOf: validate( + childValue, + against: additionalSchema, + path: child, + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) } } return issues } + private func usesFutureSchemaVersion(_ instance: Any) -> Bool { + guard let root = instance as? [String: Any], + let configuredVersion = schemaInteger(root["schemaVersion"]), + let properties = rootSchema["properties"] as? [String: Any], + let versionSchema = properties["schemaVersion"] as? [String: Any], + let currentVersion = schemaInteger(versionSchema["default"]) else { + return false + } + return configuredVersion > currentVersion + } + private func resolvedReference(_ ref: String) -> [String: Any]? { guard ref.hasPrefix("#/") else { return nil } var current: Any = rootSchema From 287ffafb5bf30458057f5ce6e8e73cb747a72401 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:33:07 -0700 Subject: [PATCH 29/55] tests: preserve future config schema compatibility --- .../CmuxConfigSemanticValidatorTests.swift | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Packages/macOS/CmuxFoundation/Tests/CmuxFoundationTests/CmuxConfigSemanticValidatorTests.swift b/Packages/macOS/CmuxFoundation/Tests/CmuxFoundationTests/CmuxConfigSemanticValidatorTests.swift index 4ae8431d6e3a..f4cf3afe6918 100644 --- a/Packages/macOS/CmuxFoundation/Tests/CmuxFoundationTests/CmuxConfigSemanticValidatorTests.swift +++ b/Packages/macOS/CmuxFoundation/Tests/CmuxFoundationTests/CmuxConfigSemanticValidatorTests.swift @@ -92,6 +92,29 @@ struct CmuxConfigSemanticValidatorTests { ) } + @Test("future schema versions tolerate unknown additions but still validate known fields") + func futureSchemaCompatibility() throws { + let futureExtension = try issues([ + "schemaVersion": 2, + "futureSection": ["newKey": true], + "app": ["appearance": "dark"], + ]) + #expect(futureExtension.isEmpty) + + let invalidKnownField = try issues([ + "schemaVersion": 2, + "futureSection": ["newKey": true], + "app": ["appearance": "neon"], + ]) + #expect( + contains( + invalidKnownField, + path: "$.app.appearance", + message: "must be one of" + ) + ) + } + @Test("project scope rejects global settings while keeping project hooks legal") func enforcesProjectScope() throws { let globalOnly = try issues( From 9a610197a27e26eeb6347f10ac524b11e73b4d82 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:33:23 -0700 Subject: [PATCH 30/55] settings: share semantic validation diagnostics --- Sources/KeyboardShortcutSettingsFileStore.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Sources/KeyboardShortcutSettingsFileStore.swift b/Sources/KeyboardShortcutSettingsFileStore.swift index e570f00692e6..0afaf5e2c6e0 100644 --- a/Sources/KeyboardShortcutSettingsFileStore.swift +++ b/Sources/KeyboardShortcutSettingsFileStore.swift @@ -359,6 +359,11 @@ final class CmuxSettingsFileStore { let sanitized = try JSONCParser.preprocess(data: data) let object = try JSONSerialization.jsonObject(with: sanitized, options: []) guard let root = object as? [String: Any] else { return .invalid } + for issue in CmuxConfigSemanticValidator(scope: .global).validate(jsonObject: root) { + cmuxSettingsFileStoreLogger.warning( + "semantic config issue '\(issue.path, privacy: .private(mask: .hash))' in \(path, privacy: .private(mask: .hash)): \(issue.message, privacy: .public)" + ) + } let malformedAutomation = root["automation"] != nil && !(root["automation"] is [String: Any]) return .parsed(parseSettingsFile(root: root, sourcePath: path), malformedAutomation: malformedAutomation) } catch { From f92922f8cafe9d7d6942d87e352af68cc89603f9 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:34:07 -0700 Subject: [PATCH 31/55] config: keep generated schema within Swift file budget --- scripts/generate-cmux-config-schema.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/generate-cmux-config-schema.py b/scripts/generate-cmux-config-schema.py index 2fd15780fda8..34157e6c62dc 100644 --- a/scripts/generate-cmux-config-schema.py +++ b/scripts/generate-cmux-config-schema.py @@ -23,7 +23,7 @@ def generated_source() -> str: encoded = base64.b64encode(SCHEMA.read_bytes()).decode("ascii") - chunks = [encoded[i : i + 120] for i in range(0, len(encoded), 120)] + chunks = [encoded[i : i + 400] for i in range(0, len(encoded), 400)] body = "\n".join(f' "{chunk}",' for chunk in chunks) return f"""// Generated by scripts/generate-cmux-config-schema.py. Do not edit. // Source: web/data/cmux.schema.json From fa70f56cbed35ee921099d10acb5ddee3df3a68b Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:34:20 -0700 Subject: [PATCH 32/55] config: regenerate compact embedded schema --- .../CmuxConfigSchema.generated.swift | 1363 ++++------------- 1 file changed, 315 insertions(+), 1048 deletions(-) diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift index 2e9c6da9dcaf..0c9e5fa91185 100644 --- a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift @@ -6,1054 +6,321 @@ import Foundation enum CmuxEmbeddedConfigSchema { static let data: Data = { let base64 = [ - "ewogICIkc2NoZW1hIjogImh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvc2NoZW1hIiwKICAiJGlkIjogImh0dHBzOi8vcmF3LmdpdGh1", - "YnVzZXJjb250ZW50LmNvbS9tYW5hZmxvdy1haS9jbXV4L21haW4vd2ViL2RhdGEvY211eC5zY2hlbWEuanNvbiIsCiAgInRpdGxlIjogImNtdXguanNvbiIs", - "CiAgImRlc2NyaXB0aW9uIjogImNtdXggY29uZmlndXJhdGlvbi4gR2xvYmFsIGNtdXguanNvbiBzdXBwb3J0cyBhcHAgc2V0dGluZ3MsIHNob3J0Y3V0cywg", - "YWN0aW9ucywgY3VzdG9tIGNvbW1hbmRzLCBub3RpZmljYXRpb24gaG9va3MsIGFuZCB3b3Jrc3BhY2UgbGF5b3V0cy4gUHJvamVjdC1sb2NhbCAuY211eC9j", - "bXV4Lmpzb24gb3IgY211eC5qc29uIHN1cHBvcnRzIGFjdGlvbnMsIGNvbW1hbmRzLCBub3RpZmljYXRpb24gaG9va3MsIFVJIGFjdGlvbiB3aXJpbmcsIEFn", - "ZW50IENoYXQgb3ZlcnJpZGVzLCB2YXVsdCBhZ2VudHMsIHdvcmtzcGFjZS1ncm91cCBvdmVycmlkZXMsIGFuZCB3b3Jrc3BhY2UgbGF1bmNoL2J1dHRvbiBj", - "b25maWd1cmF0aW9uLiIsCiAgInR5cGUiOiAib2JqZWN0IiwKICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAicHJvcGVydGllcyI6IHsKICAg", - "ICIkc2NoZW1hIjogewogICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAiZm9ybWF0IjogInVyaSIsCiAgICAgICJkZWZhdWx0IjogImh0dHBzOi8vcmF3", - "LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tYW5hZmxvdy1haS9jbXV4L21haW4vd2ViL2RhdGEvY211eC5zY2hlbWEuanNvbiIsCiAgICAgICJkZXNjcmlwdGlv", - "biI6ICJPcHRpb25hbCBzY2hlbWEgVVJMIGZvciBlZGl0b3IgY29tcGxldGlvbiBhbmQgdmFsaWRhdGlvbi4iCiAgICB9LAogICAgInNjaGVtYVZlcnNpb24i", - "OiB7CiAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAibWluaW11bSI6IDEsCiAgICAgICJkZWZhdWx0IjogMSwKICAgICAgImRlc2NyaXB0aW9uIjog", - "IlNjaGVtYSB2ZXJzaW9uIGZvciBmb3J3YXJkLWNvbXBhdGlibGUgbWlncmF0aW9ucy4gTmV3ZXIgdmVyc2lvbnMgYXJlIHBhcnNlZCBvbiBhIGJlc3QtZWZm", - "b3J0IGJhc2lzLiIKICAgIH0sCiAgICAicGFuZUJvcmRlckNvbG9yIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICIkcmVm", - "IjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAiZGVmYXVsdCI6IG51bGwsCiAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlw", - "dGlvbnMucGFuZUJvcmRlckNvbG9yIiwKICAgICAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlIHRoZSBjbXV4IHBhbmUgZGl2aWRlciBjb2xvciBpbiBzcGxp", - "dCB3b3Jrc3BhY2VzLiBUaGlzIGFmZmVjdHMgY211eCBwYW5lIGJvdW5kYXJpZXMsIG5vdCBHaG9zdHR5IGludGVybmFsIHNwbGl0cy4iCiAgICB9LAogICAg", - "ImFjdGl2ZVBhbmVCb3JkZXJDb2xvciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9y", - "SGV4T3JOdWxsIiwKICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFjdGl2ZVBhbmVC", - "b3JkZXJDb2xvciIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBib3JkZXIgY29sb3IgZHJhd24gYXJvdW5kIHRoZSBmb2N1c2VkIGNtdXggcGFu", - "ZSBpbiBzcGxpdCB3b3Jrc3BhY2VzLiIKICAgIH0sCiAgICAiYWN0aW9ucyI6IHsKICAgICAgInRpdGxlIjogImFjdGlvbnMiLAogICAgICAiZGVzY3JpcHRp", - "b24iOiAiQWN0aW9uIHJlZ2lzdHJ5IHVzZWQgYnkgdGhlIHN1cmZhY2UgdGFiIGJhciwgQ29tbWFuZCBQYWxldHRlLCBzaG9ydGN1dHMsIGFuZCBwbHVzLWJ1", - "dHRvbiBtZW51LiBFYWNoIGVudHJ5IHN1cHBvcnRzIHR5cGUgXCJidWlsdGluXCIsIFwiY29tbWFuZFwiLCBcImFnZW50XCIgKGFueSBDTEkgYWdlbnQgbmFt", - "ZSwgZS5nLiBjbGF1ZGUsIGNvZGV4LCBvcGVuY29kZSwgb3IgYSBjdXN0b20gYmluYXJ5LCB3aXRoIG9wdGlvbmFsIGFyZ3MpLCBcIndvcmtzcGFjZUNvbW1h", - "bmRcIiwgb3IgXCJ3b3Jrc3BhY2VcIiAoaW5saW5lIHdvcmtzcGFjZSB3aXRoIG5hbWUvY3dkL2NvbG9yL2Vudi9zZXR1cC9sYXlvdXQsIHBsdXMgb3B0aW9u", - "YWwgcmVzdGFydCkuIElubGluZSB3b3Jrc3BhY2UgZW50cmllcyBhcmUgYXV0by1vZmZlcmVkIGluIHRoZSBuZXctd29ya3NwYWNlIHBsdXMtYnV0dG9uIG1l", - "bnU7IHNldCBuZXdXb3Jrc3BhY2VNZW51IHRydWUvZmFsc2Ugb24gYW55IGFjdGlvbiB0byBvdmVycmlkZS4gXCJTYXZlIFdvcmtzcGFjZSBhcyBMYXlvdXRc", - "IiBpbiB0aGUgcGx1cy1idXR0b24gbWVudSB3cml0ZXMgZW50cmllcyBoZXJlLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFs", - "UHJvcGVydGllcyI6IHRydWUKICAgIH0sCiAgICAidWkiOiB7CiAgICAgICJ0aXRsZSI6ICJ1aSIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJVSSBhY3Rpb24g", - "d2lyaW5nLCBpbmNsdWRpbmcgc3VyZmFjZSB0YWIgYmFyIGJ1dHRvbnMgYW5kIHBsdXMtYnV0dG9uIGJlaGF2aW9yLiBUaGUgcGx1cy1idXR0b24gY29udGV4", - "dCBtZW51IHNob3dzIHVpLm5ld1dvcmtzcGFjZS5jb250ZXh0TWVudSAob3IgdGhlIGRlZmF1bHQgaXRlbXMpIGZvbGxvd2VkIGJ5IGFjdGlvbnMgdGhhdCBv", - "cHQgaW4gdmlhIG5ld1dvcmtzcGFjZU1lbnUuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZSwK", - "ICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgIm5ld1dvcmtzcGFjZSI6IHsKICAgICAgICAgICJ0aXRsZSI6ICJuZXdXb3Jrc3BhY2UiLAogICAgICAg", - "ICAgImRlc2NyaXB0aW9uIjogIk5ldyBXb3Jrc3BhY2UgYnV0dG9uIGJlaGF2aW9yIGFuZCBjb250ZXh0LW1lbnUgd2lyaW5nLiIsCiAgICAgICAgICAidHlw", - "ZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZSwKICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAg", - "ICAiYWN0aW9uIjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIklEIG9mIHRoZSBhY3Rp", - "b24gcnVuIGJ5IHBsYWluIE5ldyBXb3Jrc3BhY2UuIFRoaXMgaXMgdGhlIGRlZmF1bHQgd29ya3NwYWNlIGxheW91dDsgb21pdCBvciByZW1vdmUgaXQgZm9y", - "IE5vbmUgKEJsYW5rIFRlcm1pbmFsKS4gUHJvamVjdC1sb2NhbCB1aS5uZXdXb3Jrc3BhY2UuYWN0aW9uIHdpbnMgb3ZlciB0aGUgZ2xvYmFsIHZhbHVlLiIK", - "ICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJjb21tYW5kcyI6IHsKICAgICAgInRpdGxlIjogImNvbW1h", - "bmRzIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkN1c3RvbSBzaGVsbCBjb21tYW5kcyBhbmQgd29ya3NwYWNlIGxheW91dCBkZWZpbml0aW9ucy4gV29ya3Nw", - "YWNlIGRlZmluaXRpb25zIHN1cHBvcnQgbmFtZSwgY3dkLCBjb2xvciwgZW52LCBsYXlvdXQsIGFuZCBzZXR1cCAoYSBib290c3RyYXAgY29tbWFuZCBzZW50", - "IHRvIHRoZSBmaXJzdCB0ZXJtaW5hbCBiZWZvcmUgaXRzIG93biBjb21tYW5kKS4iLAogICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICJpdGVtcyI6IHsK", - "ICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHRydWUKICAgICAgfQogICAgfSwKICAgICJjb21wdXRl", - "clVzZSI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAiY29tcHV0ZXJVc2UiLAogICAgICAidHlwZSI6ICJv", - "YmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgImRlc2NyaXB0aW9uIjogIkxvY2FsIGNvbXB1dGVyLXVzZSB0b29s", - "cyBhbmQgbWVudS1iYXIgdmlzaWJpbGl0eS4iLAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmNvbXB1dGVyVXNlLmRlc2Ny", - "aXB0aW9uIiwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAg", - "ICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbGxvdyBzdXBwb3J0ZWQgYWdlbnQgbGF1bmNoZXMgaW4gY211eCB0ZXJtaW5h", - "bHMgdG8gYXR0YWNoIHRoZSBsb2NhbCBjb21wdXRlci11c2UgdG9vbHMuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlv", - "bnMuY29tcHV0ZXJVc2UuZW5hYmxlZCIKICAgICAgICB9LAogICAgICAgICJzaG93SW5NZW51QmFyIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIs", - "CiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBsaXZlIGNvbXB1dGVyLXVzZSBzZXNzaW9ucyBhbmQg", - "Zm9jdXMgYWN0aW9ucyBpbiB0aGUgbWVudSBiYXIuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuY29tcHV0ZXJV", - "c2Uuc2hvd0luTWVudUJhciIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiYWdlbnRDaGF0IjogewogICAgICAidGl0bGUiOiAiYWdlbnRDaGF0IiwK", - "ICAgICAgImRlc2NyaXB0aW9uIjogIkFnZW50IENoYXQgR1VJIHNlcnZlciBzZXR0aW5ncy4gVGhlIGJ1aWx0LWluIE5ldyBhZ2VudCBjaGF0IGFjdGlvbiBv", - "cGVucyB0aGlzIFVSTCBpbiBhIGJyb3dzZXIgd29ya3NwYWNlLCBwcm9iaW5nIC9oZWFsdGh6IGZpcnN0IGFuZCBvcHRpb25hbGx5IHN0YXJ0aW5nIHRoZSBz", - "ZXJ2ZXIgd2l0aCBzdGFydENvbW1hbmQuIiwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZGVzY3JpcHRp", - "b24iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAg", - "ICAgICAgInVybCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZm9ybWF0IjogInVyaSIsCiAgICAgICAgICAicGF0dGVybiI6", - "ICJeaHR0cHM/Oi8vIiwKICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgImRlZmF1bHQiOiAiaHR0cDovLzEyNy4wLjAuMTo3NzM5IiwKICAg", - "ICAgICAgICJkZXNjcmlwdGlvbiI6ICJCYXNlIFVSTCBmb3IgdGhlIG1hY2hpbmUtbG9jYWwgQWdlbnQgQ2hhdCBHVUkgc2VydmVyLiBjbXV4IHByb2JlcyA8", - "dXJsPi9oZWFsdGh6IGJlZm9yZSBvcGVuaW5nIHRoZSB3b3Jrc3BhY2UuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlv", - "bnMuYWdlbnRDaGF0LnVybCIKICAgICAgICB9LAogICAgICAgICJzdGFydENvbW1hbmQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAg", - "ICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgc2hlbGwgY29tbWFuZCB0byBzdGFydCB0aGUgQWdlbnQgQ2hh", - "dCBzZXJ2ZXIgd2hlbiA8dXJsPi9oZWFsdGh6IGlzIHVucmVhY2hhYmxlLiBjbXV4IHJ1bnMgaXQgZGV0YWNoZWQgd2l0aCB0aGUgdXNlcidzIFNIRUxMLCBw", - "b2xscyBoZWFsdGh6IGZvciBhIHNob3J0IGJvdW5kZWQgd2luZG93LCB0aGVuIG9wZW5zIHRoZSB3b3Jrc3BhY2UgZWl0aGVyIHdheS4iLAogICAgICAgICAg", - "ImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuc3RhcnRDb21tYW5kIgogICAgICAgIH0sCiAgICAgICAgImtleXMiOiB7", - "CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRp", - "b24iOiAiS2V5Ym9hcmQgYmVoYXZpb3Igb3ZlcnJpZGVzIGZvciB0aGUgQWdlbnQgQ2hhdCB3ZWIgVUkuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6", - "ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmtleXMuZGVzY3JpcHRpb24iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJj", - "dHJsSiI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJlbnVtIjogWyJuZXdsaW5lIiwgIm1lbnUiXSwKICAgICAg", - "ICAgICAgICAiZGVmYXVsdCI6ICJuZXdsaW5lIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQmVoYXZpb3IgZm9yIEN0cmwrSiBpbiBBZ2VudCBD", - "aGF0IHRleHQgZmllbGRzLiBVc2UgbmV3bGluZSB0byBpbnNlcnQgYSBsaW5lIGJyZWFrLCBvciBtZW51IHRvIG1vdmUgdG8gdGhlIG5leHQgcG9wdXAgaXRl", - "bSB3aGlsZSBhIG1lbnUgaXMgb3Blbi4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0Lmtl", - "eXMuY3RybEoiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJmb250cyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVj", - "dCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGb250IG92ZXJyaWRlcyBmb3Ig", - "dGhlIEFnZW50IENoYXQgd2ViIFVJLiBPbWl0dGVkIHZhbHVlcyBmYWxsIGJhY2sgdG8gR2hvc3R0eSBhbmQgYnVpbHQtaW4gZGVmYXVsdHMuIiwKICAgICAg", - "ICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmRlc2NyaXB0aW9uIiwKICAgICAgICAgICJwcm9wZXJ0", - "aWVzIjogewogICAgICAgICAgICAic2Fuc0ZhbWlseSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJtaW5MZW5n", - "dGgiOiAxLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDU1MgZm9udCBmYW1pbHkgdXNlZCBmb3IgQWdlbnQgQ2hhdCBib2R5IGFuZCBVSSB0ZXh0", - "LiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuc2Fuc0ZhbWlseSIKICAgICAg", - "ICAgICAgfSwKICAgICAgICAgICAgImJvZHlGYW1pbHkiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAibWluTGVu", - "Z3RoIjogMSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxpYXMgZm9yIHNhbnNGYW1pbHkuIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25L", - "ZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5ib2R5RmFtaWx5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZmFtaWx5Ijog", - "ewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9u", - "IjogIkFsaWFzIGZvciBzYW5zRmFtaWx5LiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQu", - "Zm9udHMuZmFtaWx5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiYmFzZVNpemUiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAg", - "ICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkJhc2UgQWdlbnQgQ2hhdCBmb250IHNpemUg", - "aW4gQ1NTIHBpeGVscy4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmJhc2VT", - "aXplIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiYm9keVNpemUiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICAg", - "ICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsaWFzIGZvciBiYXNlU2l6ZS4iLAogICAgICAgICAgICAg", - "ICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmJvZHlTaXplIgogICAgICAgICAgICB9LAogICAgICAgICAg", - "ICAibW9ub0ZhbWlseSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAg", - "ICAgICJkZXNjcmlwdGlvbiI6ICJDU1MgZm9udCBmYW1pbHkgdXNlZCBmb3IgQWdlbnQgQ2hhdCBjb2RlIGFuZCBtb25vc3BhY2UgdGV4dC4iLAogICAgICAg", - "ICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLm1vbm9GYW1pbHkiCiAgICAgICAgICAgIH0sCiAg", - "ICAgICAgICAgICJjb2RlRmFtaWx5IjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAg", - "ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsaWFzIGZvciBtb25vRmFtaWx5LiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVt", - "YURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuY29kZUZhbWlseSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImNvZGVTaXplIjogewogICAgICAg", - "ICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAgICAgImV4Y2x1c2l2ZU1pbmltdW0iOiAwLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6", - "ICJBZ2VudCBDaGF0IGNvZGUgZm9udCBzaXplIGluIENTUyBwaXhlbHMuIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3Jp", - "cHRpb25zLmFnZW50Q2hhdC5mb250cy5jb2RlU2l6ZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm1vbm9TaXplIjogewogICAgICAgICAgICAgICJ0", - "eXBlIjogIm51bWJlciIsCiAgICAgICAgICAgICAgImV4Y2x1c2l2ZU1pbmltdW0iOiAwLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbGlhcyBm", - "b3IgY29kZVNpemUuIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5tb25vU2l6", - "ZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImNvZGVMaW5lSGVpZ2h0IjogewogICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAg", - "ICAgICAgImV4Y2x1c2l2ZU1pbmltdW0iOiAwLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMaW5lLWhlaWdodCBtdWx0aXBsaWVyIHVzZWQgZm9y", - "IEFnZW50IENoYXQgY29kZSBibG9ja3MuIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5m", - "b250cy5jb2RlTGluZUhlaWdodCIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJ2YXVsdCI6IHsKICAg", - "ICAgInRpdGxlIjogInZhdWx0IiwKICAgICAgImRlc2NyaXB0aW9uIjogIlZhdWx0IHNlc3Npb24gcmVzdG9yZSBhZ2VudCByZWdpc3RyYXRpb25zLiBjbXV4", - "IGluY2x1ZGVzIFBpIGJ5IGRlZmF1bHQ7IHVzZSB0aGlzIHNlY3Rpb24gdG8gYWRkIG9yIG92ZXJyaWRlIEpTT05MLWJhY2tlZCBjb2RpbmcgYWdlbnRzIHdp", - "dGhvdXQgYW4gYXBwIHVwZGF0ZS4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAg", - "InByb3BlcnRpZXMiOiB7CiAgICAgICAgImFnZW50cyI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJD", - "dXN0b20gY29kaW5nIGFnZW50cyB0aGF0IFZhdWx0IGNhbiBkZXRlY3QsIGxpc3QsIGFuZCByZXN1bWUuIiwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAg", - "ICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZSwKICAgICAgICAgICAgInJlcXVpcmVkIjog", - "WyJpZCIsICJuYW1lIiwgInNlc3Npb25JZFNvdXJjZSIsICJyZXN1bWVDb21tYW5kIl0sCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAg", - "ICAgICJpZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAicGF0dGVybiI6ICJeW0EtWmEtejAtOS5fLV0r", - "JCIsCiAgICAgICAgICAgICAgICAibWF4TGVuZ3RoIjogNjQsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU3RhYmxlIGNhc2UtcHJlc2Vydmlu", - "ZyBBU0NJSSBpZGVudGlmaWVyIHVzZWQgaW4gVmF1bHQgcGVyc2lzdGVuY2UsIGZvciBleGFtcGxlIHBpLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAg", - "ICAgICJuYW1lIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNwbGF5IG5h", - "bWUgc2hvd24gaW4gVmF1bHQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImljb25Bc3NldE5hbWUiOiB7CiAgICAgICAgICAgICAgICAidHlw", - "ZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIGFzc2V0IGNhdGFsb2cgaW1hZ2UgbmFtZSBzaG93biBmb3Ig", - "dGhpcyBhZ2VudCBpbiBWYXVsdC4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiZGV0ZWN0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAi", - "b2JqZWN0IiwKICAgICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJ1", - "bGVzIGZvciBkZXRlY3RpbmcgYSBydW5uaW5nIGFnZW50IHByb2Nlc3MgaW5zaWRlIGEgY211eCB0ZXJtaW5hbC4iLAogICAgICAgICAgICAgICAgInByb3Bl", - "cnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgICJwcm9jZXNzTmFtZSI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAg", - "ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFeGVjdXRhYmxlIGJhc2VuYW1lIHRvIG1hdGNoLCBmb3IgZXhhbXBsZSBwaS4iCiAgICAgICAgICAgICAg", - "ICAgIH0sCiAgICAgICAgICAgICAgICAgICJhcmd2Q29udGFpbnMiOiB7CiAgICAgICAgICAgICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICAgICAg", - "ICAgICAgeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFycmF5", - "IiwKICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1zIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg", - "ICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdWJzdHJpbmcgb3Igc3Vic3RyaW5ncyB0aGF0IG11c3QgYXBwZWFy", - "IGluIHRoZSBwcm9jZXNzIGFyZ3YuIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAg", - "ICAic2Vzc2lvbklkU291cmNlIjogewogICAgICAgICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg", - "InR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVXNlIHBpU2Vzc2lvbkZpbGUgZm9yIFBpIEpTT05MIGRpc2Nv", - "dmVyeSwgb3IgYW4gYXJndiBvcHRpb24gc3VjaCBhcyAtLXNlc3Npb24uIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICB7CiAgICAg", - "ICAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAg", - "ICAgICAgICAgICAgICAicmVxdWlyZWQiOiBbInR5cGUiXSwKICAgICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAg", - "ICAgICJ0eXBlIjogewogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAiZW51bSI6IFsi", - "YXJndk9wdGlvbiIsICJwaVNlc3Npb25GaWxlIl0KICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAiYXJndk9wdGlvbiI6", - "IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlv", - "biB3aG9zZSBmb2xsb3dpbmcgdmFsdWUgaXMgdGhlIHNlc3Npb24gaWQsIGZvciBleGFtcGxlIC0tc2Vzc2lvbi4iCiAgICAgICAgICAgICAgICAgICAgICB9", - "CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYWxsT2YiOiBbCiAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg", - "ICAgICAgICAgICAgICJpZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg", - "ICJ0eXBlIjogeyAiY29uc3QiOiAiYXJndk9wdGlvbiIgfQogICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwK", - "ICAgICAgICAgICAgICAgICAgICAgICAgInRoZW4iOiB7ICJyZXF1aXJlZCI6IFsiYXJndk9wdGlvbiJdIH0KICAgICAgICAgICAgICAgICAgICAgIH0sCiAg", - "ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJpZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAicHJvcGVydGll", - "cyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogeyAiY29uc3QiOiAicGlTZXNzaW9uRmlsZSIgfQogICAgICAgICAgICAgICAgICAg", - "ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInRoZW4iOiB7CiAgICAgICAgICAgICAgICAgICAg", - "ICAgICAgIm5vdCI6IHsgInJlcXVpcmVkIjogWyJhcmd2T3B0aW9uIl0gfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg", - "ICB9CiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgImRlc2NyaXB0", - "aW9uIjogIldoZXJlIGNtdXggcmVhZHMgdGhlIG5hdGl2ZSBzZXNzaW9uIGlkIGZvciBhbiBhY3RpdmUgcHJvY2Vzcy4iCiAgICAgICAgICAgICAgfSwKICAg", - "ICAgICAgICAgICAicmVzdW1lQ29tbWFuZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiYW55T2YiOiBb", - "CiAgICAgICAgICAgICAgICAgIHsgInBhdHRlcm4iOiAiXFx7XFx7c2Vzc2lvbklkXFx9XFx9IiB9LAogICAgICAgICAgICAgICAgICB7ICJwYXR0ZXJuIjog", - "Ilxce1xce3Nlc3Npb25QYXRoXFx9XFx9IiB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsLWxpa2Ug", - "YXJndiB0ZW1wbGF0ZSB1c2VkIHRvIHJlc3VtZSBhIHNlc3Npb24uIFN1cHBvcnRlZCBwbGFjZWhvbGRlcnM6IHt7c2Vzc2lvbklkfX0sIHt7c2Vzc2lvblBh", - "dGh9fSwge3tleGVjdXRhYmxlfX0sIHt7Y3dkfX0sIHt7c2Vzc2lvbkRpcn19LiBNdXN0IGluY2x1ZGUge3tzZXNzaW9uSWR9fSBvciB7e3Nlc3Npb25QYXRo", - "fX0uIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImZvcmtDb21tYW5kIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAg", - "ICAgICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgICAgICAgeyAicGF0dGVybiI6ICJcXHtcXHtzZXNzaW9uSWRcXH1cXH0iIH0sCiAgICAgICAg", - "ICAgICAgICAgIHsgInBhdHRlcm4iOiAiXFx7XFx7c2Vzc2lvblBhdGhcXH1cXH0iIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAiZGVz", - "Y3JpcHRpb24iOiAiT3B0aW9uYWwgc2hlbGwtbGlrZSBhcmd2IHRlbXBsYXRlIHVzZWQgdG8gZm9yayAoYnJhbmNoKSBhIHNlc3Npb24gaW50byBhIG5ldyBj", - "b3B5LCBmb3IgZXhhbXBsZSBcInt7ZXhlY3V0YWJsZX19IC0tc2Vzc2lvbiB7e3Nlc3Npb25JZH19IC0tZm9ya1wiLiBTYW1lIHBsYWNlaG9sZGVycyBhcyBy", - "ZXN1bWVDb21tYW5kLiBPbWl0IHdoZW4gdGhlIGFnZW50IGhhcyBubyBmb3JrIGNhcGFiaWxpdHk7IEZvcmsgQ29udmVyc2F0aW9uIHN0YXlzIGhpZGRlbiBm", - "b3IgaXQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImN3ZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAg", - "ICAgICAgICAiZW51bSI6IFsicHJlc2VydmUiLCAiaWdub3JlIl0sCiAgICAgICAgICAgICAgICAiZGVmYXVsdCI6ICJwcmVzZXJ2ZSIsCiAgICAgICAgICAg", - "ICAgICAiZGVzY3JpcHRpb24iOiAiV2hldGhlciBWYXVsdCBzaG91bGQgY2QgdG8gdGhlIHNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGJlZm9yZSBydW5uaW5n", - "IHJlc3VtZUNvbW1hbmQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInNlc3Npb25EaXJlY3RvcnkiOiB7CiAgICAgICAgICAgICAgICAidHlw", - "ZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHJvb3QgZGlyZWN0b3J5IGZvciBKU09OTCBzZXNzaW9uIGRp", - "c2NvdmVyeSwgc3VjaCBhcyB+Ly5waS9hZ2VudC9zZXNzaW9ucy4iCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAg", - "ICAgImRlZmF1bHQiOiBbXQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJuZXdXb3Jrc3BhY2VDb21tYW5kIjogewogICAgICAidHlwZSI6ICJzdHJp", - "bmciLAogICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IG5hbWUgb2YgYSB3b3Jrc3BhY2UgY29tbWFuZCB0byBydW4gd2hlbiBjcmVhdGluZyBhIG5ldyB3", - "b3Jrc3BhY2UuIFByZWZlciB1aS5uZXdXb3Jrc3BhY2UuYWN0aW9uIGZvciBuZXcgY29uZmlncy4iCiAgICB9LAogICAgIndvcmtzcGFjZUdyb3VwcyI6IHsK", - "ICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgInRpdGxlIjogIndvcmtzcGFjZUdyb3VwcyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJQZXItY3dkIGN1", - "c3RvbWl6YXRpb24gZm9yIHNpZGViYXIgd29ya3NwYWNlIGdyb3Vwcy4gVGhlIGFuY2hvciB3b3Jrc3BhY2UncyBjd2QgaXMgbWF0Y2hlZCBhZ2FpbnN0IHRo", - "ZSBrZXlzIGluIGBieUN3ZGA7IGxvbmdlc3QtbWF0Y2ggd2lucy4gS2V5cyBjb250YWluaW5nIGAqYCBvciBgP2AgYXJlIG1hdGNoZWQgYXMgZm5tYXRjaCBn", - "bG9icyAod2l0aCBgfmAgZXhwYW5kZWQpOyBvdGhlciBrZXlzIGFyZSBwYXRoIHByZWZpeGVzLiIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZh", - "bHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAibmV3V29ya3NwYWNlUGxhY2VtZW50IjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBb", - "Imdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJhZnRlckN1cnJlbnQiLCAidG9wIiwgImVuZCJdLAog", - "ICAgICAgICAgImRlZmF1bHQiOiAiYWZ0ZXJDdXJyZW50IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJHbG9iYWwgZGVmYXVsdCBmb3Igd2hlcmUgQ21k", - "LU4gaW5zaWRlIGEgZ3JvdXAsIHRoZSBncm91cCBoZWFkZXIgKyBidXR0b24sIGFuZCBjb25maWd1cmVkIGdyb3VwIGFjdGlvbnMgcGxhY2UgdGhlIG5ldyB3", - "b3Jrc3BhY2U6IGBhZnRlckN1cnJlbnRgIChhZnRlciB0aGUgYWN0aXZlIGluLWdyb3VwIHdvcmtzcGFjZSwgZmFsbGluZyBiYWNrIHRvIHRvcCksIGB0b3Bg", - "IChzZWNvbmQgc2xvdCwganVzdCBhZnRlciB0aGUgYW5jaG9yKSwgb3IgYGVuZGAgKGFmdGVyIHRoZSBsYXN0IG1lbWJlcikuIiwKICAgICAgICAgICJkZXNj", - "cmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMud29ya3NwYWNlR3JvdXBzLm5ld1dvcmtzcGFjZVBsYWNlbWVudCIKICAgICAgICB9LAogICAgICAg", - "ICJieUN3ZCI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWFwIG9mIGN3ZCBwYXR0ZXJucyB0byBn", - "cm91cCBjdXN0b21pemF0aW9uLiBFbXB0eSB3aGVuIG9taXR0ZWQuIiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAg", - "InR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewog", - "ICAgICAgICAgICAgICJjb2xvciI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi", - "SGV4IGNvbG9yIChlLmcuIFwiIzdBNEZEOFwiKSBhcHBsaWVkIGFzIHRoZSBncm91cCBoZWFkZXIgdGludCB3aGVuIHRoZSBncm91cCBpdHNlbGYgaGFzIG5v", - "IGV4cGxpY2l0IGN1c3RvbUNvbG9yLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJpY29uIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAi", - "c3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTRiBTeW1ib2wgbmFtZSAoZS5nLiBcImZvbGRlci5maWxsXCIsIFwibGFkeWJ1Zy5m", - "aWxsXCIpIGZvciB0aGUgZ3JvdXAgaGVhZGVyLiBGYWxscyBiYWNrIHRvIFwiZm9sZGVyLmZpbGxcIiB3aGVuIG9taXR0ZWQuIgogICAgICAgICAgICAgIH0s", - "CiAgICAgICAgICAgICAgImNvbnRleHRNZW51IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgICAgICAgImRlc2NyaXB0", - "aW9uIjogIkl0ZW1zIGFwcGVhcmluZyBpbiB0aGUgcmlnaHQtY2xpY2sgbWVudSBvbiB0aGUgZ3JvdXAncyArIGJ1dHRvbi4gU2FtZSBzY2hlbWEgYXMgdGhl", - "IGdsb2JhbCB1aS5uZXdXb3Jrc3BhY2UuY29udGV4dE1lbnUgZW50cmllcy4iLAogICAgICAgICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAgICAg", - "ICAib25lT2YiOiBbCiAgICAgICAgICAgICAgICAgICAgeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAgICAgICAgICAgICAgICAgeyAidHlwZSI6ICJvYmpl", - "Y3QiLCAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlIH0KICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0s", - "CiAgICAgICAgICAgICAgIm5ld1dvcmtzcGFjZVBsYWNlbWVudCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAg", - "ICAiZW51bSI6IFsiYWZ0ZXJDdXJyZW50IiwgInRvcCIsICJlbmQiXSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJQZXItY3dkIG92ZXJyaWRl", - "IGZvciB3aGVyZSBDbWQtTiBpbnNpZGUgdGhlIGdyb3VwLCB0aGUgZ3JvdXAgaGVhZGVyICsgYnV0dG9uLCBhbmQgY29uZmlndXJlZCBncm91cCBhY3Rpb25z", - "IHBsYWNlIHRoZSBuZXcgd29ya3NwYWNlOiBgYWZ0ZXJDdXJyZW50YCAoYWZ0ZXIgdGhlIGFjdGl2ZSBpbi1ncm91cCB3b3Jrc3BhY2UsIGZhbGxpbmcgYmFj", - "ayB0byB0b3ApLCBgdG9wYCAoc2Vjb25kIHNsb3QsIGp1c3QgYWZ0ZXIgdGhlIGFuY2hvciksIG9yIGBlbmRgIChhZnRlciB0aGUgbGFzdCBtZW1iZXIpLiBG", - "YWxscyBiYWNrIHRvIHRoZSBnbG9iYWwgZGVmYXVsdCB3aGVuIG9taXR0ZWQuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFE", - "ZXNjcmlwdGlvbnMud29ya3NwYWNlR3JvdXBzLmJ5Q3dkLm5ld1dvcmtzcGFjZVBsYWNlbWVudCIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAg", - "ICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAic3VyZmFjZVRhYkJhckJ1dHRvbnMiOiB7CiAgICAgICJ0aXRsZSI6ICJzdXJmYWNlVGFi", - "QmFyQnV0dG9ucyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgcm9vdC1sZXZlbCBzdXJmYWNlIHRhYiBiYXIgYnV0dG9ucy4gUHJlZmVyIHVpLnN1", - "cmZhY2VUYWJCYXIuYnV0dG9ucyBmb3IgbmV3IGNvbmZpZ3MuIiwKICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAiaXRlbXMiOiB7CiAgICAgICAgIm9u", - "ZU9mIjogWwogICAgICAgICAgeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAg", - "ICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHRydWUKICAgICAgICAgIH0KICAgICAgICBdCiAgICAgIH0KICAgIH0sCiAgICAiYXBwIjogewogICAgICAi", - "eC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJhcHAiLAogICAgICAiZGVzY3JpcHRpb24iOiAiR2VuZXJhbCBhcHAgcHJlZmVy", - "ZW5jZXMgZnJvbSBTZXR0aW5ncyA+IEFwcC4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwK", - "ICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImxhbmd1YWdlIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjog", - "WwogICAgICAgICAgICAic3lzdGVtIiwKICAgICAgICAgICAgImVuIiwKICAgICAgICAgICAgImFyIiwKICAgICAgICAgICAgImJzIiwKICAgICAgICAgICAg", - "InpoLUhhbnMiLAogICAgICAgICAgICAiemgtSGFudCIsCiAgICAgICAgICAgICJkYSIsCiAgICAgICAgICAgICJkZSIsCiAgICAgICAgICAgICJlcyIsCiAg", - "ICAgICAgICAgICJmciIsCiAgICAgICAgICAgICJpdCIsCiAgICAgICAgICAgICJqYSIsCiAgICAgICAgICAgICJrbyIsCiAgICAgICAgICAgICJuYiIsCiAg", - "ICAgICAgICAgICJwbCIsCiAgICAgICAgICAgICJwdC1CUiIsCiAgICAgICAgICAgICJydSIsCiAgICAgICAgICAgICJ0aCIsCiAgICAgICAgICAgICJ0ciIK", - "ICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzeXN0ZW0iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlByZWZlcnJlZCBhcHAgbGFuZ3Vh", - "Z2UuIgogICAgICAgIH0sCiAgICAgICAgImFwcGVhcmFuY2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInN5", - "c3RlbSIsICJsaWdodCIsICJkYXJrIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzeXN0ZW0iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFwcCBhcHBl", - "YXJhbmNlIG1vZGUuIgogICAgICAgIH0sCiAgICAgICAgImFwcEljb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0i", - "OiBbImF1dG9tYXRpYyIsICJsaWdodCIsICJkYXJrIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJhdXRvbWF0aWMiLAogICAgICAgICAgImRlc2NyaXB0aW9u", - "IjogIkRvY2sgYW5kIGFwcCBzd2l0Y2hlciBpY29uIHN0eWxlLiIKICAgICAgICB9LAogICAgICAgICJ3aW5kb3dUaXRsZVRlbXBsYXRlIjogewogICAgICAg", - "ICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRp", - "b25zLmFwcC53aW5kb3dUaXRsZVRlbXBsYXRlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBOU1dpbmRvdyB0aXRsZSB0ZW1wbGF0ZS4g", - "QmxhbmsgcHJlc2VydmVzIGNtdXgncyBleGlzdGluZyBkZWZhdWx0IHRpdGxlIGJlaGF2aW9yLCBpbmNsdWRpbmcgdGhlIGN1cnJlbnQtZGlyZWN0b3J5IGZh", - "bGxiYWNrLiBTdXBwb3J0ZWQgcGxhY2Vob2xkZXJzOiB7d2luZG93SWR9LCB7d2luZG93VG9rZW59LCB7YWN0aXZlV29ya3NwYWNlfSwge2FjdGl2ZURpcmVj", - "dG9yeX0sIHtkZWZhdWx0VGl0bGV9LCB7YXBwTmFtZX0uIgogICAgICAgIH0sCiAgICAgICAgIm1lbnVCYXJPbmx5IjogewogICAgICAgICAgInR5cGUiOiAi", - "Ym9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGhlIERvY2sgaWNvbiBhbmQgYXBw", - "IHN3aXRjaGVyIGVudHJ5IHdoaWxlIGtlZXBpbmcgY211eCBhdmFpbGFibGUgZnJvbSB0aGUgbWVudSBiYXIuIgogICAgICAgIH0sCiAgICAgICAgIm5ld1dv", - "cmtzcGFjZVBsYWNlbWVudCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsidG9wIiwgImFmdGVyQ3VycmVudCIs", - "ICJlbmQiXSwKICAgICAgICAgICJkZWZhdWx0IjogImFmdGVyQ3VycmVudCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlcmUgbmV3IHdvcmtzcGFj", - "ZXMgYXJlIGluc2VydGVkIGluIHRoZSBzaWRlYmFyLiIKICAgICAgICB9LAogICAgICAgICJmb3JrQ29udmVyc2F0aW9uRGVmYXVsdERlc3RpbmF0aW9uIjog", - "ewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJyaWdodCIsICJsZWZ0IiwgInRvcCIsICJib3R0b20iLCAibmV3VGFi", - "IiwgIm5ld1dvcmtzcGFjZSJdLAogICAgICAgICAgImRlZmF1bHQiOiAicmlnaHQiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2Ny", - "aXB0aW9ucy5hcHAuZm9ya0NvbnZlcnNhdGlvbkRlZmF1bHREZXN0aW5hdGlvbiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVmYXVsdCBkZXN0aW5h", - "dGlvbiBmb3IgdGhlIHRhYiBjb250ZXh0IG1lbnUncyBwcmltYXJ5IEZvcmsgQ29udmVyc2F0aW9uIGFjdGlvbi4gVGhlIHN1Ym1lbnUgc3RpbGwgZXhwb3Nl", - "cyBldmVyeSBkZXN0aW5hdGlvbi4iCiAgICAgICAgfSwKICAgICAgICAid29ya3NwYWNlSW5oZXJpdFdvcmtpbmdEaXJlY3RvcnkiOiB7CiAgICAgICAgICAi", - "dHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUsIG5ldyB3b3Jr", - "c3BhY2VzIGluaGVyaXQgdGhlIGN1cnJlbnQgd29ya3NwYWNlIHdvcmtpbmcgZGlyZWN0b3J5LiBXaGVuIGZhbHNlLCBuZXcgd29ya3NwYWNlcyB1c2UgR2hv", - "c3R0eSdzIHdvcmtpbmctZGlyZWN0b3J5IHNldHRpbmcgaW5zdGVhZC4iCiAgICAgICAgfSwKICAgICAgICAibWluaW1hbE1vZGUiOiB7CiAgICAgICAgICAi", - "dHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlkZSB0aGUgd29ya3NwYWNl", - "IHRpdGxlIGJhciBhbmQgbW92ZSBjb250cm9scyBpbnRvIHRoZSBzaWRlYmFyLiIKICAgICAgICB9LAogICAgICAgICJrZWVwV29ya3NwYWNlT3BlbldoZW5D", - "bG9zaW5nTGFzdFN1cmZhY2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAi", - "ZGVzY3JpcHRpb24iOiAiV2hlbiB0cnVlLCBjbG9zaW5nIHRoZSBsYXN0IHN1cmZhY2Uga2VlcHMgdGhlIHdvcmtzcGFjZSBvcGVuLiIKICAgICAgICB9LAog", - "ICAgICAgICJmb2N1c1BhbmVPbkZpcnN0Q2xpY2siOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwK", - "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIGNtdXggaXMgaW5hY3RpdmUsIHRoZSBmaXJzdCBjbGljayBjYW4gYWN0aXZhdGUgYW5kIGZvY3VzIHRo", - "ZSBjbGlja2VkIHBhbmUuIgogICAgICAgIH0sCiAgICAgICAgInBhbmVSZXNpemVTdGVwUGl4ZWxzIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIs", - "CiAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAibWF4aW11bSI6IDIwMCwKICAgICAgICAgICJkZWZhdWx0IjogMjAsCiAgICAgICAgICAiZGVz", - "Y3JpcHRpb24iOiAiUGl4ZWxzIG1vdmVkIHBlciBrZXlwcmVzcyB3aGVuIHVzaW5nIHBhbmUtcmVzaXplIHNob3J0Y3V0cy4iLAogICAgICAgICAgImRlc2Ny", - "aXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hcHAucGFuZVJlc2l6ZVN0ZXBQaXhlbHMiCiAgICAgICAgfSwKICAgICAgICAiZm9jdXNIaXN0b3J5", - "SW5jbHVkZXNQYW5lc0FuZFRhYnMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAg", - "ICAiZGVzY3JpcHRpb24iOiAiV2hlbiB0cnVlLCBCYWNrIGFuZCBGb3J3YXJkIGluY2x1ZGUgZm9jdXMgY2hhbmdlcyBiZXR3ZWVuIHBhbmVzIGFuZCB0YWJz", - "LiBXaGVuIGZhbHNlLCB0aGV5IG5hdmlnYXRlIGJldHdlZW4gd29ya3NwYWNlcyBvbmx5LiIKICAgICAgICB9LAogICAgICAgICJwcmVmZXJyZWRFZGl0b3Ii", - "OiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDdXN0b20g", - "ZWRpdG9yIGNvbW1hbmQgdXNlZCB3aGVuIENtZC1jbGljayBmaWxlIHByZXZpZXdzIGFyZSBkaXNhYmxlZCBvciBhIGZpbGUgaXMgdW5zdXBwb3J0ZWQuIExl", - "YXZlIGVtcHR5IHRvIHVzZSB0aGUgZGVmYXVsdC4iCiAgICAgICAgfSwKICAgICAgICAib3BlblN1cHBvcnRlZEZpbGVzSW5DbXV4IjogewogICAgICAgICAg", - "InR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiBlbmFibGVkLCBDbWQt", - "Y2xpY2tpbmcgcmVhZGFibGUgbG9jYWwgZmlsZXMgb3BlbnMgc3VwcG9ydGVkIHByZXZpZXdzIGluIGNtdXgsIGluY2x1ZGluZyB0ZXh0LCBjb2RlLCBQREZz", - "LCBpbWFnZXMsIGF1ZGlvLCB2aWRlbywgYW5kIFF1aWNrIExvb2sgZmlsZXMuIFByZXZpZXcgaGVhZGVycyBpbmNsdWRlIGFuIE9wZW4gV2l0aCBtZW51IGJh", - "c2VkIG9uIHRoZSB1c2VyJ3MgZGVmYXVsdCBhbmQgY29tcGF0aWJsZSBtYWNPUyBhcHBzIGZvciB0aGF0IGZpbGUuIgogICAgICAgIH0sCiAgICAgICAgIm9w", - "ZW5NYXJrZG93bkluQ211eFZpZXdlciI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAg", - "ICAgImRlc2NyaXB0aW9uIjogIldoZW4gZW5hYmxlZCwgQ21kLWNsaWNraW5nIC5tZC8ubWFya2Rvd24vLm1rZC8ubWR4IGZpbGVzIG9wZW5zIHRoZSByZW5k", - "ZXJlZCBjbXV4IG1hcmtkb3duIHZpZXdlciBwYW5lbCAod2l0aCBsaXZlIHJlbG9hZCkgaW5zdGVhZCBvZiB0aGUgZ2VuZXJpYyBmaWxlIHByZXZpZXcuIgog", - "ICAgICAgIH0sCiAgICAgICAgImdsb2JhbEZvbnRNYWduaWZpY2F0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWlu", - "aW11bSI6IDUwLAogICAgICAgICAgIm1heGltdW0iOiAyMDAsCiAgICAgICAgICAibXVsdGlwbGVPZiI6IDEwLAogICAgICAgICAgImRlZmF1bHQiOiAxMDAs", - "CiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC5nbG9iYWxGb250TWFnbmlmaWNhdGlvbiIsCiAgICAgICAgICAi", - "ZGVzY3JpcHRpb24iOiAiU2NhbGVzIGNtdXgtb3duZWQgdGVybWluYWxzLCB0YWIgdGl0bGVzLCBzaWRlYmFycywgc2V0dGluZ3MsIG92ZXJsYXlzLCBhbmQg", - "YXBwIGNocm9tZSBieSB0aGlzIHBlcmNlbnRhZ2UuIFJlbmRlcmVkIGJyb3dzZXIgcGFnZSBjb250ZW50IGlzIGV4Y2x1ZGVkLiIKICAgICAgICB9LAogICAg", - "ICAgICJyZW9yZGVyT25Ob3RpZmljYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAg", - "ICAgICAgICJkZXNjcmlwdGlvbiI6ICJNb3ZlIHdvcmtzcGFjZXMgd2l0aCBuZXcgbm90aWZpY2F0aW9ucyB0b3dhcmQgdGhlIHRvcC4iCiAgICAgICAgfSwK", - "ICAgICAgICAiaU1lc3NhZ2VNb2RlIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAg", - "ICAgImRlc2NyaXB0aW9uIjogIk1vdmUgYSB3b3Jrc3BhY2UgdG8gdGhlIHRvcCBhbmQgc2hvdyB0aGUgc3VibWl0dGVkIG1lc3NhZ2Ugd2hlbiBzZW5kaW5n", - "IGFuIGFnZW50IHByb21wdC4iCiAgICAgICAgfSwKICAgICAgICAic2VuZEFub255bW91c1RlbGVtZXRyeSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", - "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93IGFub255bW91cyB0ZWxlbWV0cnkuIgogICAg", - "ICAgIH0sCiAgICAgICAgImNvbmZpcm1RdWl0IjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJhbHdheXMiLCAi", - "ZGlydHktb25seSIsICJuZXZlciJdLAogICAgICAgICAgImRlZmF1bHQiOiAiYWx3YXlzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFE", - "ZXNjcmlwdGlvbnMuYXBwLmNvbmZpcm1RdWl0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb250cm9sIHdoZW4gY211eCBhc2tzIGZvciBjb25maXJt", - "YXRpb24gYmVmb3JlIHF1aXR0aW5nLiBERVYgYnVpbGRzIGFsd2F5cyBxdWl0IGltbWVkaWF0ZWx5IHJlZ2FyZGxlc3Mgb2YgdGhpcyBzZXR0aW5nLiBMZWdh", - "Y3kgYXBwLndhcm5CZWZvcmVRdWl0IGlzIHN0aWxsIGFjY2VwdGVkIGFzIGEgYm9vbGVhbiBmYWxsYmFjay4iCiAgICAgICAgfSwKICAgICAgICAid2FybkJl", - "Zm9yZVF1aXQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlv", - "bktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLndhcm5CZWZvcmVRdWl0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgYm9vbGVhbiBm", - "YWxsYmFjayBmb3IgcXVpdCBjb25maXJtYXRpb24uIFVzZSBhcHAuY29uZmlybVF1aXQgZm9yIG5ldyBjb25maWdzLiIKICAgICAgICB9LAogICAgICAgICJ3", - "YXJuQmVmb3JlQ2xvc2luZ1RhYiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAg", - "ImRlc2NyaXB0aW9uIjogIlNob3cgYSBjb25maXJtYXRpb24gYmVmb3JlIGNsb3NpbmcgYSB0YWIuIgogICAgICAgIH0sCiAgICAgICAgIndhcm5CZWZvcmVD", - "bG9zaW5nVGFiWEJ1dHRvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJk", - "ZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLndhcm5CZWZvcmVDbG9zaW5nVGFiWEJ1dHRvbiIsCiAgICAgICAgICAiZGVzY3JpcHRp", - "b24iOiAiU2hvdyBhIGNvbmZpcm1hdGlvbiBiZWZvcmUgY2xvc2luZyBhIHRhYiB3aXRoIHRoZSB0YWIgY2xvc2UgYnV0dG9uLiIKICAgICAgICB9LAogICAg", - "ICAgICJoaWRlVGFiQ2xvc2VCdXR0b24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAg", - "ICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC5oaWRlVGFiQ2xvc2VCdXR0b24iLAogICAgICAgICAgImRlc2NyaXB0aW9u", - "IjogIkhpZGUgdGFiIGNsb3NlIGJ1dHRvbnMgaW4gdGhlIHBhbmUgdGFiIGJhci4iCiAgICAgICAgfSwKICAgICAgICAicmVuYW1lU2VsZWN0c0V4aXN0aW5n", - "TmFtZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", - "IlNlbGVjdCB0aGUgY3VycmVudCBuYW1lIHdoZW4gb3BlbmluZyByZW5hbWUgZmxvd3MuIgogICAgICAgIH0sCiAgICAgICAgImNvbW1hbmRQYWxldHRlU2Vh", - "cmNoZXNBbGxTdXJmYWNlcyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJk", - "ZXNjcmlwdGlvbiI6ICJTZWFyY2ggZXZlcnkgc3VyZmFjZSBpbiB0aGUgY29tbWFuZCBwYWxldHRlIHN3aXRjaGVyIGluc3RlYWQgb2Ygb25seSB0aGUgYWN0", - "aXZlIHdvcmtzcGFjZS4iCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgInRlcm1pbmFsIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFs", - "Il0sCiAgICAgICJ0aXRsZSI6ICJ0ZXJtaW5hbCIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJUZXJtaW5hbCBwcmVzZW50YXRpb24gc2V0dGluZ3MgZnJvbSBT", - "ZXR0aW5ncyA+IFRlcm1pbmFsLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAi", - "cHJvcGVydGllcyI6IHsKICAgICAgICAiYWRhcHRpdmVEZWZhdWx0VGhlbWUiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJk", - "ZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuYWRhcHRpdmVEZWZhdWx0VGhl", - "bWUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdHJ1ZSAodGhlIGRlZmF1bHQpLCBjbXV4IHN1cHBsaWVzIGFuIGFwcGVhcmFuY2UtYWRhcHRp", - "dmUgZGVmYXVsdCBwYWxldHRlIHVubGVzcyBhIEdob3N0dHkgdGhlbWUgb3IgdGVybWluYWwgY29sb3JzIGFyZSBjb25maWd1cmVkLiBGb250IGFuZCBvdGhl", - "ciBzZXR0aW5ncyBhcmUgcHJlc2VydmVkLiBXaGVuIGZhbHNlLCBHaG9zdHR5IHVzZXMgaXRzIGZpeGVkIGJ1aWx0LWluIHBhbGV0dGUuIEV4cGxpY2l0IHRo", - "ZW1lcyBhbmQgY29sb3JzIGFsd2F5cyB0YWtlIHByZWNlZGVuY2UsIGluY2x1ZGluZyB0aGVtZSA9IGxpZ2h0OlgsZGFyazpZLiIKICAgICAgICB9LAogICAg", - "ICAgICJzaG93U2Nyb2xsQmFyIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAi", - "ZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgcmlnaHQtZWRnZSB0ZXJtaW5hbCBzY3JvbGwgYmFyIHdoZW4gc2Nyb2xsYmFjayBpcyBhdmFpbGFibGUuIGNtdXgg", - "YXV0b21hdGljYWxseSBzdXBwcmVzc2VzIGl0IGZvciBhbHRlcm5hdGUtc2NyZWVuIHN0eWxlIFRVSSBzdXJmYWNlcy4iCiAgICAgICAgfSwKICAgICAgICAi", - "c2Nyb2xsU3BlZWQiOiB7CiAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAwLjI1LAogICAgICAgICAgIm1heGltdW0i", - "OiAzLjAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEuMCwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwu", - "c2Nyb2xsU3BlZWQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk11bHRpcGxpZXIgYXBwbGllZCB0byB0ZXJtaW5hbCBzY3JvbGwgd2hlZWwgYW5kIHRy", - "YWNrcGFkIGRlbHRhcy4gSGlnaGVyIHZhbHVlcyBzY3JvbGwgZmFzdGVyOyBsb3dlciB2YWx1ZXMgc2Nyb2xsIHNsb3dlci4iCiAgICAgICAgfSwKICAgICAg", - "ICAic2Vzc2lvbkNvbnRlbnRNYXhXaWR0aCI6IHsKICAgICAgICAgICJvbmVPZiI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJ0eXBlIjogImJv", - "b2xlYW4iLAogICAgICAgICAgICAgICJjb25zdCI6IGZhbHNlCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAidHlwZSI6ICJu", - "dW1iZXIiLAogICAgICAgICAgICAgICJtaW5pbXVtIjogMzIwLAogICAgICAgICAgICAgICJtdWx0aXBsZU9mIjogMjAKICAgICAgICAgICAgfQogICAgICAg", - "ICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFs", - "LnNlc3Npb25Db250ZW50TWF4V2lkdGgiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIG1heGltdW0gd2lkdGgsIGluIHBvaW50cywgZm9y", - "IHRlcm1pbmFsIGFuZCBidWlsdC1pbiBhZ2VudCBjaGF0IGNvbnRlbnQuIFNldCBmYWxzZSB0byB1c2UgdGhlIGZ1bGwgcGFuZSB3aWR0aC4iCiAgICAgICAg", - "fSwKICAgICAgICAic2Vzc2lvbkNvbnRlbnRBbGlnbm1lbnQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImxl", - "ZnQiLCAiY2VudGVyIiwgInJpZ2h0Il0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJjZW50ZXIiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVt", - "YURlc2NyaXB0aW9ucy50ZXJtaW5hbC5zZXNzaW9uQ29udGVudEFsaWdubWVudCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG9yaXpvbnRhbCBwbGFj", - "ZW1lbnQgZm9yIHRlcm1pbmFsIGFuZCBidWlsdC1pbiBhZ2VudCBjaGF0IGNvbnRlbnQgd2hlbiBzZXNzaW9uQ29udGVudE1heFdpZHRoIGlzIGVuYWJsZWQu", - "IgogICAgICAgIH0sCiAgICAgICAgImNvcHlPblNlbGVjdCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBm", - "YWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuY29weU9uU2VsZWN0IiwKICAgICAgICAgICJk", - "ZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUsIGNvcHkgc2VsZWN0ZWQgdGVybWluYWwgdGV4dCB0byB0aGUgc3lzdGVtIGNsaXBib2FyZCB3aGVuIHRoZSBzZWxl", - "Y3Rpb24gaXMgY29tbWl0dGVkLiBXaGVuIGZhbHNlLCBjbXV4IGRvZXMgbm90IGVtaXQgYSBHaG9zdHR5IGNvcHktb24tc2VsZWN0IG92ZXJyaWRlOyBHaG9z", - "dHR5IGNvbmZpZyBhbmQgZGVmYXVsdHMgY29udHJvbCBzZWxlY3Rpb24tY2xpcGJvYXJkIGJlaGF2aW9yLiIKICAgICAgICB9LAogICAgICAgICJhdXRvUmVz", - "dW1lQWdlbnRTZXNzaW9ucyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRl", - "c2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcnVuIGFnZW50IHJlc3VtZSBjb21tYW5kcyBmb3IgcmVzdG9yZWQgdGVybWluYWwgc2Vzc2lvbnMgd2hlbiBj", - "bXV4IHJlb3BlbnMgYWZ0ZXIgcXVpdC4gU2V0IGZhbHNlIHRvIHJlc3RvcmUgcGFuZXMgd2hpbGUga2VlcGluZyBDbGF1ZGUgQ29kZSwgQ29kZXgsIE9wZW5D", - "b2RlLCBhbmQgb3RoZXIgc2F2ZWQgYWdlbnQgc2Vzc2lvbnMgaWRsZSB1bnRpbCB5b3UgcmVzdW1lIHRoZW0gbWFudWFsbHkuIgogICAgICAgIH0sCiAgICAg", - "ICAgInNob3dUZXh0Qm94T25OZXdUZXJtaW5hbHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2Us", - "CiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnNob3dUZXh0Qm94T25OZXdUZXJtaW5hbHMiLAogICAg", - "ICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGJldGEgVGV4dEJveCBpbnB1dCBieSBkZWZhdWx0IGZvciBuZXdseSBjcmVhdGVkIHdvcmtzcGFjZXMs", - "IHRlcm1pbmFsIHRhYnMsIGFuZCB0ZXJtaW5hbCBzcGxpdHMuIgogICAgICAgIH0sCiAgICAgICAgImZvY3VzVGV4dEJveE9uTmV3VGVybWluYWxzIjogewog", - "ICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVt", - "YURlc2NyaXB0aW9ucy50ZXJtaW5hbC5mb2N1c1RleHRCb3hPbk5ld1Rlcm1pbmFscyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRm9jdXMgdGhlIGJl", - "dGEgVGV4dEJveCBpbnB1dCBieSBkZWZhdWx0IGZvciBuZXdseSBjcmVhdGVkIHdvcmtzcGFjZXMsIHRlcm1pbmFsIHRhYnMsIGFuZCB0ZXJtaW5hbCBzcGxp", - "dHMuIEZvY3VzaW5nIGFsc28gc2hvd3MgdGhlIFRleHRCb3guIgogICAgICAgIH0sCiAgICAgICAgImFnZW50SGliZXJuYXRpb24iOiB7CiAgICAgICAgICAi", - "dHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2No", - "ZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLmFnZW50SGliZXJuYXRpb24iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJvdXRpbmUgQWdlbnQgSGliZXJu", - "YXRpb24gc2V0dGluZ3MuIGNtdXgga2lsbHMgaWRsZSBiYWNrZ3JvdW5kIGFnZW50IHByb2Nlc3NlcyB0byBmcmVlIFJBTSBhbmQgQ1BVLCB0aGVuIHJlc3Vt", - "ZXMgdGhlbSB3aXRoIHRoZWlyIHNhdmVkIHNlc3Npb24gd2hlbiB0aGVpciB0YWIgaXMgdmlzaXRlZC4gUm91dGluZSBoaWJlcm5hdGlvbiByZXF1aXJlcyBh", - "IHJlc3RvcmFibGUgY29kaW5nIGFnZW50IHdob3NlIGxpZmVjeWNsZSByZXBvcnRzIGlkbGUsIGFuIG9mZi1zY3JlZW4gdGVybWluYWwsIGEgbGl2ZS10ZXJt", - "aW5hbCBjb3VudCBhYm92ZSB0aGUgY29uZmlndXJlZCBsaW1pdCwgYW5kIHVuY2hhbmdlZCBvdXRwdXQgdGhyb3VnaCB0aGUgaWRsZSBhbmQgY29uZmlybWF0", - "aW9uIHdpbmRvd3MuIEluZGVwZW5kZW50bHksIGR1cmluZyBjcml0aWNhbCBtZW1vcnkgcHJlc3N1cmUgY211eCBtYXkgaGliZXJuYXRlIGEgYm91bmRlZCBi", - "YXRjaCBvZiBzYWZlIGlkbGUgYmFja2dyb3VuZCBhZ2VudHMgZXZlbiB3aGVuIGVuYWJsZWQgaXMgZmFsc2U7IHZpc2libGUsIHJ1bm5pbmcsIG5lZWRzLWlu", - "cHV0LCByZWNlbnRseSBjaGFuZ2VkLCBhbmQgdW5wcm90ZWN0YWJsZSBhZ2VudHMgcmVtYWluIGV4Y2x1ZGVkLiBUaGUgcGxhY2Vob2xkZXIgUmVzdW1lIGJ1", - "dHRvbiBpcyBhIG1hbnVhbCBmYWxsYmFjay4iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJlbmFibGVkIjogewogICAgICAgICAg", - "ICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNj", - "aGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5hZ2VudEhpYmVybmF0aW9uRW5hYmxlZCIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBy", - "b3V0aW5lIEFnZW50IEhpYmVybmF0aW9uIGJhc2VkIG9uIHRoZSBsaXZlLXRlcm1pbmFsIGxpbWl0LiBDcml0aWNhbC1wcmVzc3VyZSBzYWZldHkgaGliZXJu", - "YXRpb24gcmVtYWlucyBhY3RpdmUgd2hlbiBmYWxzZS4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJpZGxlU2Vjb25kcyI6IHsKICAgICAgICAgICAg", - "ICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDUsCiAgICAgICAgICAgICAgIm1heGltdW0iOiA2MDQ4MDAsCiAgICAgICAg", - "ICAgICAgImRlZmF1bHQiOiA1LAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNaW5pbXVtIHNlY29uZHMgd2l0aCBubyB0ZXJtaW5hbCBvdXRwdXQg", - "b3IgaW5wdXQgYmVmb3JlIGFuIGlkbGUgcmVzdG9yYWJsZSBhZ2VudCB0ZXJtaW5hbCBjYW4gaGliZXJuYXRlLiBBIHNob3J0IGNvbmZpcm1hdGlvbiBzZXR0", - "bGUgd2luZG93ICh+NjBzKSBzdGlsbCBhcHBsaWVzIG9uIHRvcCBvZiB0aGlzIGJlZm9yZSB0aGUgYWdlbnQgaXMga2lsbGVkLiIKICAgICAgICAgICAgfSwK", - "ICAgICAgICAgICAgIm1heExpdmVUZXJtaW5hbHMiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAgICAgIm1pbmltdW0i", - "OiAxLAogICAgICAgICAgICAgICJtYXhpbXVtIjogMjU2LAogICAgICAgICAgICAgICJkZWZhdWx0IjogMTIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9u", - "IjogIk1heGltdW0gbGl2ZSByZXN0b3JhYmxlIGFnZW50IHRlcm1pbmFscyB0byBrZWVwIGJlZm9yZSBjbXV4IGhpYmVybmF0ZXMgZWxpZ2libGUgYmFja2dy", - "b3VuZCB0ZXJtaW5hbHMsIG9sZGVzdCBmaXJzdC4iCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJyZW5kZXJlclJlYWxp", - "emF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAg", - "ImRlc2NyaXB0aW9uIjogIlJlY2xhaW0gb2ZmLXNjcmVlbiB0ZXJtaW5hbCBHUFUgcmVuZGVyZXIgbWVtb3J5LiBjbXV4IHJlbGVhc2VzIHRoZSBNZXRhbCBy", - "ZW5kZXJlciAoSU9TdXJmYWNlKSBvZiBhIHRlcm1pbmFsIHRoYXQgaGFzIHN0YXllZCBvZmYtc2NyZWVuIGFuZCBpZGxlIHdoaWxlIGtlZXBpbmcgaXRzIHBy", - "b2Nlc3MgYW5kIHRlcm1pbmFsIHN0YXRlIGFsaXZlLCB0aGVuIHJlYnVpbGRzIHRoZSByZW5kZXJlciBpbnN0YW50bHkgd2hlbiB0aGUgdGFiIGlzIHZpc2l0", - "ZWQgYWdhaW4uIE5vbi1kZXN0cnVjdGl2ZSBhbmQgb24gYnkgZGVmYXVsdC4iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJlbmFi", - "bGVkIjogewogICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICAgICAiZGVz", - "Y3JpcHRpb24iOiAiUmVjbGFpbSBvZmYtc2NyZWVuIHRlcm1pbmFsIHJlbmRlcmVyIG1lbW9yeS4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJpZGxl", - "U2Vjb25kcyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDUsCiAgICAgICAgICAgICAgIm1h", - "eGltdW0iOiA2MDQ4MDAsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiA1LAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNaW5pbXVtIHNlY29uZHMg", - "YSB0ZXJtaW5hbCBtdXN0IHN0YXkgb2ZmLXNjcmVlbiBiZWZvcmUgaXRzIEdQVSByZW5kZXJlciBtZW1vcnkgaXMgcmVjbGFpbWVkLiIKICAgICAgICAgICAg", - "fSwKICAgICAgICAgICAgIm1heFdhcm1SZW5kZXJlcnMiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAgICAgIm1pbmlt", - "dW0iOiAxLAogICAgICAgICAgICAgICJtYXhpbXVtIjogMjU2LAogICAgICAgICAgICAgICJkZWZhdWx0IjogMSwKICAgICAgICAgICAgICAiZGVzY3JpcHRp", - "b24iOiAiTW9zdCByZWNlbnRseSB2aXNpYmxlIHRlcm1pbmFscyB0byBrZWVwIHJlbmRlcmVyLXJlYWR5IHNvIHN3aXRjaGluZyBzdGF5cyBpbnN0YW50LiBF", - "eHRyYSBvZmYtc2NyZWVuIHJlbmRlcmVycyBhcmUgcmVjbGFpbWVkIG9sZGVzdCBmaXJzdC4iCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9", - "LAogICAgICAgICJ0ZXh0Qm94TWF4TGluZXMiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAg", - "ICAgICJtYXhpbXVtIjogMjAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gbnVtYmVyIG9mIGxp", - "bmVzIHRoZSByaWNoIHRlcm1pbmFsIFRleHRCb3ggaW5wdXQgY2FuIGdyb3cgdG8gYmVmb3JlIGl0IHNjcm9sbHMuIgogICAgICAgIH0sCiAgICAgICAgInRl", - "eHRCb3hEZWZhdWx0U3VibWl0QWN0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogInRleHQtZW50cnki", - "LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgVGV4dEJveCBzdWJtaXQgYWN0aW9uIElEIGZvciBuZXcgdGVybWluYWwgc2Vzc2lvbnMuIFVz", - "ZSB0ZXh0LWVudHJ5IGZvciBwbGFpbiBpbnB1dCBvciBvbmUgb2YgdGhlIGNvbmZpZ3VyZWQgYWN0aW9uIElEcy4iLAogICAgICAgICAgImRlc2NyaXB0aW9u", - "S2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94RGVmYXVsdFN1Ym1pdEFjdGlvbiIKICAgICAgICB9LAogICAgICAgICJ0ZXh0Qm94", - "U3VibWl0QWN0aW9ucyI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJkZWZhdWx0IjogW10sCiAgICAgICAgICAiZGVzY3JpcHRp", - "b24iOiAiQ29uZmlndXJhYmxlIFRleHRCb3ggc3VibWl0IGFjdGlvbnMgc2hvd24gb24gdGhlIHN1Ym1pdCBidXR0b24sIFNoaWZ0LVRhYiBjeWNsZSwgYW5k", - "IHJpZ2h0LWNsaWNrIG1lbnUuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1p", - "dEFjdGlvbnMiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiYWRkaXRpb25hbFByb3Bl", - "cnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAgInJlcXVpcmVkIjogWyJpZCIsICJ0aXRsZSIsICJraW5kIiwgInN5c3RlbUltYWdlIiwgImJhY2tncm91bmRD", - "b2xvckhleCJdLAogICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAiaWQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJp", - "bmciLAogICAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXltBLVphLXowLTkuXy1dKyQiLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN0YWJs", - "ZSBhY3Rpb24gSUQgcmVmZXJlbmNlZCBieSB0ZXJtaW5hbC50ZXh0Qm94RGVmYXVsdFN1Ym1pdEFjdGlvbi4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0", - "aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uSWQiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAg", - "ICAidGl0bGUiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1lbnUgbGFiZWwg", - "Zm9yIHRoaXMgc3VibWl0IGFjdGlvbi4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50", - "ZXh0Qm94U3VibWl0QWN0aW9uVGl0bGUiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAia2luZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjog", - "InN0cmluZyIsCiAgICAgICAgICAgICAgICAiZW51bSI6IFsidGV4dEVudHJ5IiwgImNvbW1hbmRUZW1wbGF0ZSJdLAogICAgICAgICAgICAgICAgImRlc2Ny", - "aXB0aW9uIjogIldoZXRoZXIgdGhpcyBhY3Rpb24gc3VibWl0cyBwbGFpbiBUZXh0IEVudHJ5IG9yIGV4cGFuZHMgYSBzaGVsbCBjb21tYW5kIHRlbXBsYXRl", - "LiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25LaW5k", - "IgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNvbW1hbmRUZW1wbGF0ZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAg", - "ICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hlbGwgY29tbWFuZCB0ZW1wbGF0ZSBmb3IgY29tbWFuZFRlbXBsYXRlIGFjdGlvbnMuIEluY2x1ZGUg", - "e3twcm9tcHR9fSB0byBzaGVsbC1xdW90ZSB0aGUgcHJvbXB0IGludG8gdGhlIGNvbW1hbmQuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6", - "ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbkNvbW1hbmRUZW1wbGF0ZSIKICAgICAgICAgICAgICB9LAogICAgICAg", - "ICAgICAgICJwcmVzZXJ2ZVByb21wdEFmdGVyTGF1bmNoIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgICAi", - "ZGVzY3JpcHRpb24iOiAiV2hlbiB0cnVlLCBsYXVuY2ggY29tbWFuZFRlbXBsYXRlIHdpdGhvdXQgdGhlIHByb21wdCBhbmQga2VlcCB0aGUgcHJvbXB0IGlu", - "IHRoZSBUZXh0Qm94IGZvciB0aGUgYWN0aXZlIGFnZW50LiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25z", - "LnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25QcmVzZXJ2ZVByb21wdEFmdGVyTGF1bmNoIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInN5", - "c3RlbUltYWdlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGYWxsYmFjayBT", - "RiBTeW1ib2wgbmFtZSBzaG93biBvbiB0aGUgc3VibWl0IGJ1dHRvbi4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2Ny", - "aXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uU3lzdGVtSW1hZ2UiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiYXNzZXROYW1l", - "IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBhcHAgYXNzZXQg", - "Y2F0YWxvZyBpbWFnZSBuYW1lIHNob3duIG9uIHRoZSBzdWJtaXQgYnV0dG9uLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1h", - "RGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25Bc3NldE5hbWUiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiaW1hZ2VQ", - "YXRoIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBQTkcgb3Ig", - "aW1hZ2UgZmlsZSBwYXRoIHNob3duIG9uIHRoZSBzdWJtaXQgYnV0dG9uLiBUaWxkZSBpcyBleHBhbmRlZC4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0", - "aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uSW1hZ2VQYXRoIgogICAgICAgICAgICAgIH0sCiAgICAg", - "ICAgICAgICAgImJhY2tncm91bmRDb2xvckhleCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAicGF0dGVy", - "biI6ICJeIz9bMC05QS1GYS1mXXs2fShbMC05QS1GYS1mXXsyfSk/JCIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWN0aW9uIGNvbG9yIG1l", - "dGFkYXRhIGFzIFJHQiBvciBSR0JBIGhleC4gVGhlIHN1Ym1pdCBidXR0b24gZmlsbCBzdGF5cyB3aGl0ZSBhbmQgb25seSBjaGFuZ2VzIG9wYWNpdHkgYmV0", - "d2VlbiBlbmFibGVkIGFuZCBkaXNhYmxlZCBzdGF0ZXMuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMu", - "dGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbkJhY2tncm91bmRDb2xvckhleCIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAg", - "ICJhbGxPZiI6IFsKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaWYiOiB7CiAgICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IFsia2luZCJd", - "LAogICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAia2luZCI6IHsgImNvbnN0IjogImNvbW1hbmRUZW1wbGF0", - "ZSIgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInRoZW4iOiB7CiAgICAgICAgICAgICAgICAgICJy", - "ZXF1aXJlZCI6IFsiY29tbWFuZFRlbXBsYXRlIl0sCiAgICAgICAgICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg", - "ICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImNvbW1hbmRUZW1wbGF0ZSI6IHsKICAgICAgICAgICAgICAg", - "ICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICJwYXR0ZXJuIjogIlxce1xce3Byb21wdFxcfVxcfSIKICAg", - "ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAg", - "ewogICAgICAgICAgICAgICAgICAgICAgInJlcXVpcmVkIjogWyJwcmVzZXJ2ZVByb21wdEFmdGVyTGF1bmNoIl0sCiAgICAgICAgICAgICAgICAgICAgICAi", - "cHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlUHJvbXB0QWZ0ZXJMYXVuY2giOiB7ICJjb25zdCI6IHRydWUgfQogICAg", - "ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgfQogICAgICAgICAg", - "ICAgIH0KICAgICAgICAgICAgXQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInJlc3VtZUNvbW1hbmRzIjogewogICAgICAgICAgInR5cGUiOiAi", - "YXJyYXkiLAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaWduZWQgY29tbWFuZC1wcmVmaXggYXBwcm92YWxz", - "IGZvciByZXN0b3Jpbmcgbm9uLWFnZW50IHRlcm1pbmFsIHN1cmZhY2VzLiBjbXV4IHdyaXRlcyB0aGlzIGxpc3Qgd2hlbiB5b3UgYXBwcm92ZSBhIHN1cmZh", - "Y2UgcmVzdW1lIGNvbW1hbmQuIiwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0", - "aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICJyZXF1aXJlZCI6IFsidmVyc2lvbiIsICJpZCIsICJjb21tYW5kUHJlZml4IiwgImVudmly", - "b25tZW50S2V5cyIsICJwb2xpY3kiLCAiY3JlYXRlZEF0IiwgInVwZGF0ZWRBdCIsICJzaWduYXR1cmUiXSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7", - "CiAgICAgICAgICAgICAgInZlcnNpb24iOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAgICJjb25zdCI6IDEK", - "ICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJpZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICB9LAog", - "ICAgICAgICAgICAgICJuYW1lIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNv", - "bW1hbmRQcmVmaXgiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAgICAgICAibWluSXRlbXMiOiAxLAogICAgICAgICAg", - "ICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMQogICAg", - "ICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaGVsbCBhcmd2IHByZWZpeCB0aGF0IG11c3QgbWF0Y2ggdGhlIHNhdmVk", - "IHJlc3VtZSBjb21tYW5kLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJjd2QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmci", - "LAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHdvcmtpbmcgZGlyZWN0b3J5IHRoYXQgbXVzdCBtYXRjaCB0aGUgc2F2ZWQgcmVz", - "dW1lIGNvbW1hbmQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImVudmlyb25tZW50IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAib2Jq", - "ZWN0IiwKICAgICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAg", - "ICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBub24tc2Vuc2l0aXZlIGVudmlyb25tZW50IHZhbHVlcyB0aGF0", - "IG11c3QgbWF0Y2ggdGhlIHNhdmVkIHJlc3VtZSBjb21tYW5kLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJlbnZpcm9ubWVudEtleXMiOiB7", - "CiAgICAgICAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0", - "cmluZyIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6", - "ICJzdHJpbmciCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAicG9saWN5IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAg", - "ICAgICAgICAgICAgICJlbnVtIjogWyJtYW51YWwiLCAicHJvbXB0IiwgImF1dG8iXQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNyZWF0ZWRB", - "dCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJ1cGRhdGVkQXQiOiB7CiAgICAg", - "ICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAibGFzdFVzZWRBdCI6IHsKICAgICAgICAgICAgICAg", - "ICJ0eXBlIjogIm51bWJlciIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJzaWduYXR1cmUiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJz", - "dHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhNQUMgc2lnbmF0dXJlIGZvciB0aGUgcmVjb3JkLiBDaGFuZ2luZyBzaWduZWQgZmll", - "bGRzIGludmFsaWRhdGVzIHRoZSBhcHByb3ZhbC4iCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAg", - "ICAidXBsb2FkQ29tbWFuZHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlc2Ny", - "aXB0aW9uIjogIkhvc3Qtc2NvcGVkIHJ1bGVzIHRoYXQgcmVwbGFjZSB0aGUgYnVpbHQtaW4gc2NwIGZvciB0ZXJtaW5hbCBmaWxlIGRyb3BzIGFuZCBwYXN0", - "ZXMgb3ZlciBTU0guIFdoZW4gdGhlIHNzaCBkZXN0aW5hdGlvbiBtYXRjaGVzIGEgcnVsZSwgY211eCBydW5zIHRoYXQgcnVsZSdzIGNvbW1hbmQgb25jZSBw", - "ZXIgZmlsZSBpbnN0ZWFkIG9mIHNjcCwgYW5kIGluc2VydHMgdGhlIGNvbW1hbmQncyBzdGRvdXQgYXQgdGhlIGN1cnNvciAodmVyYmF0aW0sIHdpdGggY29u", - "dHJvbCBjaGFyYWN0ZXJzIHN0cmlwcGVkKTsgaWYgdGhlIGNvbW1hbmQgcHJpbnRzIG5vdGhpbmcsIGNtdXggaW5zZXJ0cyB0aGUgc2hlbGwtZXNjYXBlZCBy", - "ZW1vdGUgcGF0aCBpdCBjaG9zZSBpbnN0ZWFkLiBQZXItZmlsZSBvdXRwdXRzIGFyZSBzcGFjZS1qb2luZWQuIEZpcnN0IG1hdGNoaW5nIGVuYWJsZWQgcnVs", - "ZSB3aW5zOyBubyBtYXRjaCBydW5zIHRoZSBidWlsdC1pbiBzY3AgdW5jaGFuZ2VkLiBBIG5vbi16ZXJvIGV4aXQsIHRpbWVvdXQsIG9yIGNhbmNlbCBpbnNl", - "cnRzIG5vdGhpbmcuIiwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQ", - "cm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICJyZXF1aXJlZCI6IFsiY29tbWFuZCJdLAogICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAg", - "ICAgICAgICAiaG9zdFBhdHRlcm4iOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6IFsic3RyaW5nIiwgIm51bGwiXSwKICAgICAgICAgICAgICAgICJtaW5M", - "ZW5ndGgiOiAxLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogImZubWF0Y2ggZ2xvYiBtYXRjaGVkIGFnYWluc3QgdGhlIHNzaCBkZXN0aW5hdGlv", - "biAodXNlckAgYW5kIElQdjYgYnJhY2tldHMgc3RyaXBwZWQsIGxvd2VyY2FzZWQpLCBsaWtlIGEgc2luZ2xlIHNzaF9jb25maWcgSG9zdCBwYXR0ZXJuLiBP", - "bWl0IHRoZSBrZXkgb3Igc2V0IGl0IHRvIG51bGwgZm9yIGEgY2F0Y2gtYWxsIChhIGJsYW5rIHN0cmluZyBpcyByZWplY3RlZCkuIgogICAgICAgICAgICAg", - "IH0sCiAgICAgICAgICAgICAgImNvbW1hbmQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgIm1pbkxlbmd0", - "aCI6IDEsCiAgICAgICAgICAgICAgICAicGF0dGVybiI6ICJcXFMiLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGNvbW1hbmQgcnVu", - "IHZpYSAvYmluL3NoIC1jLCBvbmNlIHBlciBmaWxlLiBJdCByZWNlaXZlcyB0aGUgZmlsZSBhbmQgZW5kcG9pbnQgb24gaXRzIGVudmlyb25tZW50IChDTVVY", - "X1VQTE9BRF9MT0NBTF9QQVRILCBDTVVYX1VQTE9BRF9SRU1PVEVfUEFUSCwgQ01VWF9VUExPQURfREVTVElOQVRJT04sIENNVVhfVVBMT0FEX1BPUlQsIENN", - "VVhfVVBMT0FEX0lERU5USVRZX0ZJTEUsIENNVVhfVVBMT0FEX1NTSF9PUFRJT05TKS4gSXRzIHN0ZG91dCBpcyB3aGF0IGNtdXggaW5zZXJ0cyBhdCB0aGUg", - "Y3Vyc29yLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJlbmFibGVkIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAg", - "ICAgICAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGlzIHJ1bGUgaXMgYWN0aXZl", - "LiBEZWZhdWx0cyB0byB0cnVlLiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAg", - "ICAibm90aWZpY2F0aW9ucyI6IHsKICAgICAgInRpdGxlIjogIm5vdGlmaWNhdGlvbnMiLAogICAgICAiZGVzY3JpcHRpb24iOiAiTm90aWZpY2F0aW9uIGJl", - "aGF2aW9yIGZyb20gU2V0dGluZ3MgPiBOb3RpZmljYXRpb25zLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGll", - "cyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZG9ja0JhZGdlIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2Jh", - "bCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hv", - "dyB0aGUgdW5yZWFkIGNvdW50IGluIHRoZSBEb2NrIHRpbGUuIgogICAgICAgIH0sCiAgICAgICAgInNob3dJbk1lbnVCYXIiOiB7CiAgICAgICAgICAieC1j", - "bXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAg", - "ICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSBtZW51IGJhciBleHRyYS4iCiAgICAgICAgfSwKICAgICAgICAidW5yZWFkUGFuZVJpbmciOiB7CiAgICAgICAg", - "ICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAg", - "ICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWdobGlnaHQgcGFuZXMgd2l0aCB1bnJlYWQgbm90aWZpY2F0aW9ucy4iCiAgICAgICAgfSwKICAgICAgICAicGFu", - "ZUZsYXNoIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAi", - "ZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmxhc2ggdGhlIGZvY3VzZWQgcGFuZSB3aGVuIHJlcXVlc3RlZC4iCiAgICAgICAg", - "fSwKICAgICAgICAicGFuZUZsYXNoQ29sb3IiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAiJHJlZiI6ICIj", - "LyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNj", - "cmlwdGlvbnMubm90aWZpY2F0aW9ucy5wYW5lRmxhc2hDb2xvciIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3ZlcnJpZGUgdGhlIHBhbmUgZmxhc2gg", - "YW5kIHVucmVhZCByaW5nIGNvbG9yLiBOdWxsIGtlZXBzIHRoZSBidWlsdC1pbiBibHVlLiIKICAgICAgICB9LAogICAgICAgICJzdXBwcmVzc09ubHlGb2N1", - "c2VkU3VyZmFjZSI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAg", - "ICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5zdXBwcmVz", - "c09ubHlGb2N1c2VkU3VyZmFjZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiBlbmFibGVkLCBhIG5vdGlmaWNhdGlvbiBiYW5uZXIgaXMgYXV0", - "by13aXRoZHJhd24gb25seSB3aGVuIGl0cyBzdXJmYWNlIGlzIHRoZSBleGFjdCBmb2N1c2VkIHN1cmZhY2UuIEEgYmFubmVyIGRlbGl2ZXJlZCBmb3IgYSBu", - "b24tZm9jdXNlZCBzdXJmYWNlIGluIHRoZSBjdXJyZW50bHkgdmlzaWJsZSB3b3Jrc3BhY2Ugc3RheXMgdXAgdW50aWwgeW91IGZvY3VzIHRoYXQgc3VyZmFj", - "ZSAob3IgY2xpY2svZGlzbWlzcyBpdCksIGluc3RlYWQgb2YgYmVpbmcgcmV0cmFjdGVkIHdoZW4gdGhlIHdvcmtzcGFjZSBiZWNvbWVzIHZpc2libGUuIE9m", - "ZiBwcmVzZXJ2ZXMgdGhlIGxlZ2FjeSB3b3Jrc3BhY2UtdmlzaWJpbGl0eSB3aXRoZHJhdy4iCiAgICAgICAgfSwKICAgICAgICAiYWdlbnRQZXJtaXNzaW9u", - "UHJvbXB0IjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAi", - "ZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLm5vdGlmaWNhdGlvbnMuYWdlbnRQZXJtaXNz", - "aW9uUHJvbXB0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJOb3RpZnkgd2hlbiBhbiBhZ2VudCAoZS5nLiBDbGF1ZGUgQ29kZSkgaXMgYmxvY2tlZCB3", - "YWl0aW5nIGZvciB5b3VyIHBlcm1pc3Npb24gdG8gcnVuIGEgdG9vbC4gT24gYnkgZGVmYXVsdCwgc2luY2UgdGhpcyBpcyB0aGUgYWxlcnQgeW91IG11c3Qg", - "YWN0IG9uIHRvIHVuYmxvY2sgdGhlIGFnZW50LiIKICAgICAgICB9LAogICAgICAgICJhZ2VudFR1cm5Db21wbGV0ZSI6IHsKICAgICAgICAgICJ4LWNtdXgt", - "c2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsid2hlbklkbGUiLCAiYWx3YXlzIiwg", - "Im5ldmVyIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJ3aGVuSWRsZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25z", - "Lm5vdGlmaWNhdGlvbnMuYWdlbnRUdXJuQ29tcGxldGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdG8gbm90aWZ5IHRoYXQgYW4gYWdlbnQg", - "ZmluaXNoZWQgYSB0dXJuLiB3aGVuSWRsZSAoZGVmYXVsdCkgc3VwcHJlc3NlcyB0aGUgbm90aWZpY2F0aW9uIHdoaWxlIHRoZSBhZ2VudCBzdGlsbCBoYXMg", - "YSBydW5uaW5nIGJhY2tncm91bmQgdGFzayBvciBhIHBlbmRpbmcgc2NoZWR1bGVkIHdha2V1cCwgc28geW91IGFyZSBwaW5nZWQgb25jZSB3b3JrIHRydWx5", - "IGRyYWlucy4gYWx3YXlzIG5vdGlmaWVzIG9uIGV2ZXJ5IHR1cm4gZW5kOyBuZXZlciBkaXNhYmxlcyBpdC4iCiAgICAgICAgfSwKICAgICAgICAiYWdlbnRJ", - "ZGxlUmVtaW5kZXIiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAg", - "ICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5hZ2VudElk", - "bGVSZW1pbmRlciIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTm90aWZ5IHdoZW4gYW4gYWdlbnQgaGFzIGJlZW4gaWRsZSB3YWl0aW5nIGZvciB5b3Vy", - "IGlucHV0IChhYm91dCA2MHMgYWZ0ZXIgYSB0dXJuIGVuZHMpLiBTdXBwcmVzc2VkIHdoaWxlIGJhY2tncm91bmQgd29yayBmcm9tIHRoZSBsYXN0IHR1cm4g", - "aXMgc3RpbGwgcGVuZGluZywgc28gYSBydW5uaW5nIGJ1aWxkIG9yIHdhdGNoZXIgZG9lcyBub3QgdHJpZ2dlciBhIGZhbHNlIHdhaXRpbmcgYWxlcnQuIgog", - "ICAgICAgIH0sCiAgICAgICAgInNvdW5kIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAic3Ry", - "aW5nIiwKICAgICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAiZGVmYXVsdCIsCiAgICAgICAgICAgICJCYXNzbyIsCiAgICAgICAgICAgICJCbG93IiwK", - "ICAgICAgICAgICAgIkJvdHRsZSIsCiAgICAgICAgICAgICJGcm9nIiwKICAgICAgICAgICAgIkZ1bmsiLAogICAgICAgICAgICAiR2xhc3MiLAogICAgICAg", - "ICAgICAiSGVybyIsCiAgICAgICAgICAgICJNb3JzZSIsCiAgICAgICAgICAgICJQaW5nIiwKICAgICAgICAgICAgIlBvcCIsCiAgICAgICAgICAgICJQdXJy", - "IiwKICAgICAgICAgICAgIlNvc3VtaSIsCiAgICAgICAgICAgICJTdWJtYXJpbmUiLAogICAgICAgICAgICAiVGluayIsCiAgICAgICAgICAgICJjdXN0b21f", - "ZmlsZSIsCiAgICAgICAgICAgICJub25lIgogICAgICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogImRlZmF1bHQiLAogICAgICAgICAgImRlc2NyaXB0", - "aW9uIjogIk5vdGlmaWNhdGlvbiBzb3VuZCBwcmVzZXQuIgogICAgICAgIH0sCiAgICAgICAgImN1c3RvbVNvdW5kRmlsZVBhdGgiOiB7CiAgICAgICAgICAi", - "eC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAg", - "ICJkZXNjcmlwdGlvbiI6ICJMb2NhbCBwYXRoIHRvIHRoZSBjdXN0b20gbm90aWZpY2F0aW9uIHNvdW5kIGZpbGUuIgogICAgICAgIH0sCiAgICAgICAgInNv", - "dW5kT3ZlcnJpZGVzIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAg", - "ICAgICJkZWZhdWx0Ijoge30sCiAgICAgICAgICAibWF4UHJvcGVydGllcyI6IDI1NiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNj", - "cmlwdGlvbnMubm90aWZpY2F0aW9ucy5zb3VuZE92ZXJyaWRlcyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU3BhcnNlIHBlci1hZ2VudCBhbmQgcGVy", - "LWFsZXJ0LXR5cGUgbm90aWZpY2F0aW9uIHNvdW5kIG92ZXJyaWRlcy4gTWlzc2luZyBjZWxscyB1c2Ugbm90aWZpY2F0aW9ucy5zb3VuZC4iLAogICAgICAg", - "ICAgInByb3BlcnR5TmFtZXMiOiB7CiAgICAgICAgICAgICJhbGxPZiI6IFsKICAgICAgICAgICAgICB7ICJwYXR0ZXJuIjogIl5bQS1aYS16MC05Ll8tXSsk", - "IiB9LAogICAgICAgICAgICAgIHsgIm1heExlbmd0aCI6IDY0IH0sCiAgICAgICAgICAgICAgeyAibm90IjogeyAiZW51bSI6IFsiLiIsICIuLiJdIH0gfQog", - "ICAgICAgICAgICBdCiAgICAgICAgICB9LAogICAgICAgICAgInBhdHRlcm5Qcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiXltBLVphLXowLTkuXy1dKyQi", - "OiB7CiAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAibWF4UHJvcGVydGllcyI6IDMsCiAgICAgICAgICAgICAgImFkZGl0", - "aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAidHVybkRvbmUiOiB7ICIkcmVm", - "IjogIiMvJGRlZnMvbm90aWZpY2F0aW9uU291bmRPdmVycmlkZSIgfSwKICAgICAgICAgICAgICAgICJuZWVkc0lucHV0IjogeyAiJHJlZiI6ICIjLyRkZWZz", - "L25vdGlmaWNhdGlvblNvdW5kT3ZlcnJpZGUiIH0sCiAgICAgICAgICAgICAgICAiZXJyb3JTdGFsbGVkIjogeyAiJHJlZiI6ICIjLyRkZWZzL25vdGlmaWNh", - "dGlvblNvdW5kT3ZlcnJpZGUiIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiYWRkaXRpb25hbFByb3Bl", - "cnRpZXMiOiBmYWxzZQogICAgICAgIH0sCiAgICAgICAgImNvbW1hbmQiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAg", - "ICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBzaGVsbCBj", - "b21tYW5kIHRvIHJ1biBhbG9uZ3NpZGUgbm90aWZpY2F0aW9uIGRlbGl2ZXJ5LiIKICAgICAgICB9LAogICAgICAgICJob29rc01vZGUiOiB7CiAgICAgICAg", - "ICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImFwcGVuZCIsICJyZXBsYWNlIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJhcHBlbmQi", - "LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2xzIHdoZXRoZXIgcHJvamVjdC1sb2NhbCBub3RpZmljYXRpb24gaG9va3MgYXBwZW5kIHRvIGlu", - "aGVyaXRlZCBob29rcyBvciByZXBsYWNlIHRoZW0uIgogICAgICAgIH0sCiAgICAgICAgImhvb2tzIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAog", - "ICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb21wb3NhYmxlIHNoZWxsIGhvb2tzIHRoYXQgcmVjZWl2ZSBub3Rp", - "ZmljYXRpb24gcG9saWN5IEpTT04gb24gc3RkaW4gYW5kIHJldHVybiB1cGRhdGVkIHBvbGljeSBKU09OIG9uIHN0ZG91dC4iLAogICAgICAgICAgIml0ZW1z", - "IjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAg", - "InJlcXVpcmVkIjogWyJpZCIsICJjb21tYW5kIl0sCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICJpZCI6IHsKICAgICAgICAg", - "ICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJT", - "dGFibGUgaG9vayBpZGVudGlmaWVyIHVzZWQgaW4gbG9ncyBhbmQgZmFpbHVyZSBhbGVydHMuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNv", - "bW1hbmQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAg", - "ICAicGF0dGVybiI6ICIuKlxcUy4qIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaGVsbCBjb21tYW5kIHJ1biB3aXRoIG5vdGlmaWNhdGlv", - "biBwb2xpY3kgSlNPTiBvbiBzdGRpbi4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAidGltZW91dFNlY29uZHMiOiB7CiAgICAgICAgICAgICAg", - "ICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgICAgICAgImV4Y2x1c2l2ZU1pbmltdW0iOiAwLAogICAgICAgICAgICAgICAgImRlZmF1bHQiOiAyMCwK", - "ICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXhpbXVtIHRpbWUgY211eCB3YWl0cyBmb3IgdGhpcyBob29rIGJlZm9yZSBmYWxsaW5nIGJhY2sg", - "dG8gZGVmYXVsdCBub3RpZmljYXRpb24gYmVoYXZpb3IuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAg", - "ICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJE", - "aXNhYmxlIHRoaXMgaG9vayB3aXRob3V0IHJlbW92aW5nIGl0LiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9", - "CiAgICAgIH0KICAgIH0sCiAgICAic2lkZWJhciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAic2lkZWJh", - "ciIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJTaWRlYmFyIGNvbnRlbnQgYW5kIG1ldGFkYXRhIHZpc2liaWxpdHkgZnJvbSBTZXR0aW5ncyA+IFNpZGViYXIu", - "IiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAg", - "ICAgICJoaWRlQWxsRGV0YWlscyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAg", - "ICJkZXNjcmlwdGlvbiI6ICJIaWRlIGFsbCBwZXItd29ya3NwYWNlIGRldGFpbCByb3dzLiIKICAgICAgICB9LAogICAgICAgICJ3cmFwV29ya3NwYWNlVGl0", - "bGVzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", - "IkFsbG93IHdvcmtzcGFjZSB0aXRsZXMgaW4gdGhlIHNpZGViYXIgdG8gd3JhcCB0byBtdWx0aXBsZSBsaW5lcyBpbnN0ZWFkIG9mIHRydW5jYXRpbmcgYWZ0", - "ZXIgb25lIGxpbmUuIgogICAgICAgIH0sCiAgICAgICAgInNob3dXb3Jrc3BhY2VEZXNjcmlwdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4i", - "LAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VzdG9tIHdvcmtzcGFjZSBkZXNjcmlwdGlvbnMg", - "aW4gdGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgImJldGEiOiB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0", - "aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRXhwZXJpbWVudGFsIHNpZGViYXIgZmVhdHVyZXMuIiwKICAgICAg", - "ICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAid29ya3NwYWNlVG9kb3MiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAg", - "ICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV29ya3NwYWNlIHRvZG9zIGNoZWNr", - "bGlzdCBwcmVzZW50YXRpb24uIiwKICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICJjaGVja2xpc3RTdHlsZSI6IHsKICAg", - "ICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgImVudW0iOiBbInBvcG92ZXIiLCAiaW5saW5lIl0sCiAgICAgICAg", - "ICAgICAgICAgICJkZWZhdWx0IjogInBvcG92ZXIiLAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG93IGEgcm93J3MgY2hlY2tsaXN0IG9w", - "ZW5zIGZyb20gaXRzIHN1bW1hcnkgbGluZTogYW4gYW5jaG9yZWQgcG9wb3ZlciBvciBpbmxpbmUgZXhwYW5zaW9uLiIKICAgICAgICAgICAgICAgIH0KICAg", - "ICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJicmFuY2hMYXlvdXQiOiB7CiAgICAgICAgICAidHlw", - "ZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInZlcnRpY2FsIiwgImlubGluZSJdLAogICAgICAgICAgImRlZmF1bHQiOiAidmVydGljYWwiLAog", - "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgZ2l0IGJyYW5jaCBkZXRhaWxzIHN0YWNrZWQgdmVydGljYWxseSBvciBpbmxpbmUuIgogICAgICAgIH0s", - "CiAgICAgICAgInNob3dOb3RpZmljYXRpb25NZXNzYWdlIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRy", - "dWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgbGF0ZXN0IG5vdGlmaWNhdGlvbiB0ZXh0IGluIHRoZSBzaWRlYmFyLiIKICAgICAgICB9", - "LAogICAgICAgICJub3RpZmljYXRpb25NZXNzYWdlTGluZUxpbWl0IjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11", - "bSI6IDEsCiAgICAgICAgICAibWF4aW11bSI6IDUwLAogICAgICAgICAgImRlZmF1bHQiOiAxMiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXhpbXVt", - "IGxpbmVzIHNob3duIGZvciB0aGUgbGF0ZXN0IG5vdGlmaWNhdGlvbiBiZWxvdyBlYWNoIHdvcmtzcGFjZSB0aXRsZS4iLAogICAgICAgICAgImRlc2NyaXB0", - "aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5zaWRlYmFyLm5vdGlmaWNhdGlvbk1lc3NhZ2VMaW5lTGltaXQiCiAgICAgICAgfSwKICAgICAgICAic2hv", - "d0JyYW5jaERpcmVjdG9yeSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRl", - "c2NyaXB0aW9uIjogIlNob3cgdGhlIHdvcmtzcGFjZSB3b3JraW5nIGRpcmVjdG9yeS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1B1bGxSZXF1ZXN0cyI6", - "IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cg", - "cHVsbCByZXF1ZXN0IG1ldGFkYXRhIGluIHRoZSBzaWRlYmFyLiIKICAgICAgICB9LAogICAgICAgICJ3YXRjaEdpdFN0YXR1cyI6IHsKICAgICAgICAgICJ0", - "eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldhdGNoIHJlcG9zaXRvcnkgZmls", - "ZXMgZm9yIHNpZGViYXIgYnJhbmNoIGFuZCBwdWxsIHJlcXVlc3QgbWV0YWRhdGEgd2l0aG91dCBwb2xsaW5nIGdpdC4iCiAgICAgICAgfSwKICAgICAgICAi", - "bWFrZVB1bGxSZXF1ZXN0c0NsaWNrYWJsZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAg", - "ICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93IHNpZGViYXIgcHVsbCByZXF1ZXN0IG1ldGFkYXRhIHRvIG9wZW4gbGlua3Mgd2hlbiBjbGlja2VkLiIKICAg", - "ICAgICB9LAogICAgICAgICJvcGVuUHVsbFJlcXVlc3RMaW5rc0luQ211eEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAg", - "ICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVuIHNpZGViYXIgcHVsbCByZXF1ZXN0IGxpbmtzIGluIHRoZSBlbWJl", - "ZGRlZCBjbXV4IGJyb3dzZXIuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5Qb3J0TGlua3NJbkNtdXhCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAi", - "Ym9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3BlbiBzaWRlYmFyIHBvcnQgbGlua3MgaW4g", - "dGhlIGVtYmVkZGVkIGNtdXggYnJvd3Nlci4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1NTSCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAog", - "ICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgU1NIIGNvbm5lY3Rpb24gZGV0YWlscy4iCiAgICAgICAg", - "fSwKICAgICAgICAic2hvd1BvcnRzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAg", - "ICAiZGVzY3JpcHRpb24iOiAiU2hvdyBsaXN0ZW5pbmcgcG9ydHMuIgogICAgICAgIH0sCiAgICAgICAgInNob3dMb2ciOiB7CiAgICAgICAgICAidHlwZSI6", - "ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHJlY2VudCBsb2cgc25pcHBldHMu", - "IgogICAgICAgIH0sCiAgICAgICAgInNob3dQcm9ncmVzcyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0", - "cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgcHJvZ3Jlc3MgaW5kaWNhdG9ycy4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0FnZW50QWN0", - "aXZpdHkiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6", - "ICJTaG93IHRoZSBsb2FkaW5nIHNwaW5uZXIgb24gd29ya3NwYWNlcyB3aXRoIHJ1bm5pbmcgY29kaW5nIGFnZW50cyBvciBhY3RpdmUgbG9hZGVycy4iCiAg", - "ICAgICAgfSwKICAgICAgICAibG9hZGluZ1NwaW5uZXJQb3NpdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6", - "IFsibGVhZGluZyIsICJ0cmFpbGluZyJdLAogICAgICAgICAgImRlZmF1bHQiOiAibGVhZGluZyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hpY2gg", - "c2lkZSBvZiB0aGUgd29ya3NwYWNlIHJvdyB0aGUgbG9hZGluZyBzcGlubmVyIGFwcGVhcnMgb246IGxlYWRpbmcgKGxlZnQsIHNoYXJpbmcgdGhlIHVucmVh", - "ZC1iYWRnZSBzbG90KSBvciB0cmFpbGluZyAocmlnaHQpLiIKICAgICAgICB9LAogICAgICAgICJub3RpZmljYXRpb25CYWRnZVBvc2l0aW9uIjogewogICAg", - "ICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJsZWFkaW5nIiwgInRyYWlsaW5nIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJs", - "ZWFkaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGljaCBzaWRlIG9mIHRoZSB3b3Jrc3BhY2Ugcm93IHRoZSB1bnJlYWQgbm90aWZpY2F0aW9u", - "IGJhZGdlIGFwcGVhcnMgb246IGxlYWRpbmcgKGxlZnQpIG9yIHRyYWlsaW5nIChyaWdodCkuIgogICAgICAgIH0sCiAgICAgICAgInNob3dDdXN0b21NZXRh", - "ZGF0YSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", - "IlNob3cgY3VzdG9tIG1ldGFkYXRhIHBpbGxzLiIKICAgICAgICB9LAogICAgICAgICJyaWdodE1heFdpZHRoIjogewogICAgICAgICAgInR5cGUiOiAibnVt", - "YmVyIiwKICAgICAgICAgICJleGNsdXNpdmVNaW5pbXVtIjogMCwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuc2lk", - "ZWJhci5yaWdodE1heFdpZHRoIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXhpbXVtIHdpZHRoIGluIHBvaW50cyBmb3IgdGhlIHJpZ2h0IHNpZGVi", - "YXIuIFdoZW4gb21pdHRlZCwgdGhlIGJ1aWx0LWluIGR5bmFtaWMgY2FwIGFwcGxpZXMuIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJ3b3Jrc3Bh", - "Y2VDb2xvcnMiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogIndvcmtzcGFjZUNvbG9ycyIsCiAgICAgICJk", - "ZXNjcmlwdGlvbiI6ICJXb3Jrc3BhY2UgdGFiIGFuZCBiYWRnZSBjb2xvcnMgZnJvbSBTZXR0aW5ncyA+IFdvcmtzcGFjZSBDb2xvcnMuIiwKICAgICAgInR5", - "cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJpbmRpY2F0", - "b3JTdHlsZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsKICAgICAgICAgICAgImxlZnRSYWlsIiwKICAgICAg", - "ICAgICAgInNvbGlkRmlsbCIsCiAgICAgICAgICAgICJyYWlsIiwKICAgICAgICAgICAgImJvcmRlciIsCiAgICAgICAgICAgICJ3YXNoIiwKICAgICAgICAg", - "ICAgImxpZnQiLAogICAgICAgICAgICAidHlwb2dyYXBoeSIsCiAgICAgICAgICAgICJ3YXNoUmFpbCIsCiAgICAgICAgICAgICJibHVlV2FzaENvbG9yUmFp", - "bCIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJsZWZ0UmFpbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWN0aXZlIHdvcmtzcGFj", - "ZSBpbmRpY2F0b3Igc3R5bGUuIExlZ2FjeSBhbGlhc2VzIGFyZSBhY2NlcHRlZCBhbmQgbm9ybWFsaXplZC4iCiAgICAgICAgfSwKICAgICAgICAic2VsZWN0", - "aW9uQ29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAg", - "ICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZSB0aGUgc2VsZWN0ZWQgd29ya3NwYWNlIGJhY2tncm91bmQgY29sb3IuIgogICAgICAgIH0sCiAgICAgICAg", - "Im5vdGlmaWNhdGlvbkJhZGdlQ29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0", - "IjogbnVsbCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZSB0aGUgdW5yZWFkIG5vdGlmaWNhdGlvbiBiYWRnZSBjb2xvci4iCiAgICAgICAg", - "fSwKICAgICAgICAiY29sb3JzIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGdWxsIG5hbWVkIHdv", - "cmtzcGFjZSBjb2xvciBwYWxldHRlLiBJbmNsdWRlIGJ1aWx0LWluIGVudHJpZXMgeW91IHdhbnQgdG8ga2VlcCwgcmVtb3ZlIGtleXMgdG8gcmVtb3ZlIGNv", - "bG9ycywgYW5kIGFkZCBtb3JlIG5hbWVkIGVudHJpZXMgdG8gZXh0ZW5kIHRoZSBwaWNrZXIuIiwKICAgICAgICAgICJkZWZhdWx0IjogewogICAgICAgICAg", - "ICAiUmVkIjogIiNDMDM5MkIiLAogICAgICAgICAgICAiQ3JpbXNvbiI6ICIjOTIyQjIxIiwKICAgICAgICAgICAgIk9yYW5nZSI6ICIjQTA0MDAwIiwKICAg", - "ICAgICAgICAgIkFtYmVyIjogIiM3RDY2MDgiLAogICAgICAgICAgICAiT2xpdmUiOiAiIzRBNUMxOCIsCiAgICAgICAgICAgICJHcmVlbiI6ICIjMTk2RjNE", - "IiwKICAgICAgICAgICAgIlRlYWwiOiAiIzAwNkI2QiIsCiAgICAgICAgICAgICJBcXVhIjogIiMwRTZCOEMiLAogICAgICAgICAgICAiQmx1ZSI6ICIjMTU2", - "NUMwIiwKICAgICAgICAgICAgIk5hdnkiOiAiIzFBNTI3NiIsCiAgICAgICAgICAgICJJbmRpZ28iOiAiIzI4MzU5MyIsCiAgICAgICAgICAgICJQdXJwbGUi", - "OiAiIzZBMUI5QSIsCiAgICAgICAgICAgICJNYWdlbnRhIjogIiNBRDE0NTciLAogICAgICAgICAgICAiUm9zZSI6ICIjODgwRTRGIiwKICAgICAgICAgICAg", - "IkJyb3duIjogIiM3QjNGMDAiLAogICAgICAgICAgICAiQ2hhcmNvYWwiOiAiIzNFNEI1RSIKICAgICAgICAgIH0sCiAgICAgICAgICAiYWRkaXRpb25hbFBy", - "b3BlcnRpZXMiOiB7CiAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXgiCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicGFsZXR0", - "ZU92ZXJyaWRlcyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IHdvcmtzcGFjZSBjb2xv", - "ciBvdmVycmlkZXMgZm9yIGJ1aWx0LWluIHBhbGV0dGUgbmFtZXMuIFByZWZlciB3b3Jrc3BhY2VDb2xvcnMuY29sb3JzIGZvciBuZXcgY29uZmlncy4iLAog", - "ICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAgICAgICJkZXByZWNhdGVkIjogdHJ1ZSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsK", - "ICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJjdXN0b21Db2xvcnMiOiB7CiAg", - "ICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IGxpc3Qgb2YgY3VzdG9tIHdvcmtzcGFjZSBjb2xvcnMu", - "IFByZWZlciB3b3Jrc3BhY2VDb2xvcnMuY29sb3JzIGZvciBuZXcgY29uZmlncy4iLAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXBy", - "ZWNhdGVkIjogdHJ1ZSwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICAgIH0KICAg", - "ICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAic2lkZWJhckFwcGVhcmFuY2UiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAg", - "InRpdGxlIjogInNpZGViYXJBcHBlYXJhbmNlIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIgdGludCBzZXR0aW5ncyBmcm9tIFNldHRpbmdzID4g", - "U2lkZWJhciBBcHBlYXJhbmNlLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAi", - "cHJvcGVydGllcyI6IHsKICAgICAgICAibWF0Y2hUZXJtaW5hbEJhY2tncm91bmQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAg", - "ICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVXNlIHRoZSB0ZXJtaW5hbCBiYWNrZ3JvdW5kIGluc3RlYWQgb2YgdGhlIHNp", - "ZGViYXIgdGludC4iCiAgICAgICAgfSwKICAgICAgICAidGludENvbG9yIjogewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIsCiAgICAg", - "ICAgICAiZGVmYXVsdCI6ICIjMDAwMDAwIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJCYXNlIHNpZGViYXIgdGludCBjb2xvciB1c2VkIHdoZW4gbGln", - "aHQvZGFyayBvdmVycmlkZXMgYXJlIG5vdCBzZXQuIgogICAgICAgIH0sCiAgICAgICAgImxpZ2h0TW9kZVRpbnRDb2xvciI6IHsKICAgICAgICAgICIkcmVm", - "IjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIg", - "dGludCBvdmVycmlkZSBmb3IgbGlnaHQgYXBwZWFyYW5jZS4iCiAgICAgICAgfSwKICAgICAgICAiZGFya01vZGVUaW50Q29sb3IiOiB7CiAgICAgICAgICAi", - "JHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaWRl", - "YmFyIHRpbnQgb3ZlcnJpZGUgZm9yIGRhcmsgYXBwZWFyYW5jZS4iCiAgICAgICAgfSwKICAgICAgICAidGludE9wYWNpdHkiOiB7CiAgICAgICAgICAidHlw", - "ZSI6ICJudW1iZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAwLAogICAgICAgICAgIm1heGltdW0iOiAxLAogICAgICAgICAgImRlZmF1bHQiOiAwLjAzLAog", - "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIgdGludCBvcGFjaXR5IGZyb20gMCB0byAxLiBOb3RlOiB0aGlzIG9ubHkgY29udHJvbHMgdGhlIHNp", - "ZGViYXIgdGludCwgbm90IHRlcm1pbmFsL3dpbmRvdyB0cmFuc3BhcmVuY3kuIEZvciB0ZXJtaW5hbCBiYWNrZ3JvdW5kIHRyYW5zcGFyZW5jeSBvciBibHVy", - "LCBzZXQgYGJhY2tncm91bmQtb3BhY2l0eWAgYW5kIGBiYWNrZ3JvdW5kLWJsdXJgIGluIGB+Ly5jb25maWcvZ2hvc3R0eS9jb25maWdgIGFuZCBydW4gYGNt", - "dXggcmVsb2FkLWNvbmZpZ2AuIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJhdXRvbWF0aW9uIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsi", - "Z2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJhdXRvbWF0aW9uIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlNvY2tldCBjb250cm9sIGFuZCBhdXRvbWF0aW9u", - "IHNldHRpbmdzIGZyb20gU2V0dGluZ3MgPiBBdXRvbWF0aW9uLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGll", - "cyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAic29ja2V0Q29udHJvbE1vZGUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmci", - "LAogICAgICAgICAgImVudW0iOiBbCiAgICAgICAgICAgICJvZmYiLAogICAgICAgICAgICAiY211eE9ubHkiLAogICAgICAgICAgICAiYXV0b21hdGlvbiIs", - "CiAgICAgICAgICAgICJwYXNzd29yZCIsCiAgICAgICAgICAgICJhbGxvd0FsbCIsCiAgICAgICAgICAgICJvcGVuQWNjZXNzIiwKICAgICAgICAgICAgImZ1", - "bGxPcGVuQWNjZXNzIiwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbnMiLAogICAgICAgICAgICAiZnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVm", - "YXVsdCI6ICJjbXV4T25seSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU29ja2V0IGNvbnRyb2wgbW9kZS4gTGVnYWN5IGFsaWFzZXMgYXJlIGFjY2Vw", - "dGVkIGFuZCBub3JtYWxpemVkLiIKICAgICAgICB9LAogICAgICAgICJzb2NrZXRQYXNzd29yZCI6IHsKICAgICAgICAgICJvbmVPZiI6IFsKICAgICAgICAg", - "ICAgewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJ0eXBlIjogIm51", - "bGwiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlBhc3N3b3Jk", - "IGZvciBwYXNzd29yZC1tb2RlIHNvY2tldCBhY2Nlc3MuIFVzZSBudWxsIG9yIGFuIGVtcHR5IHN0cmluZyB0byBjbGVhciBpdC4iCiAgICAgICAgfSwKICAg", - "ICAgICAiY2xhdWRlQ29kZUludGVncmF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAg", - "ICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlIGNtdXggaW50ZWdyYXRpb24gaG9va3MgZm9yIENsYXVkZSBDb2RlLiIKICAgICAgICB9LAogICAgICAg", - "ICJjbGF1ZGVCaW5hcnlQYXRoIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVz", - "Y3JpcHRpb24iOiAiQ3VzdG9tIHBhdGggdG8gdGhlIGNsYXVkZSBiaW5hcnkuIgogICAgICAgIH0sCiAgICAgICAgIndvcmtzcGFjZUF1dG9OYW1pbmciOiB7", - "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2No", - "ZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24ud29ya3NwYWNlQXV0b05hbWluZyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0LWluIEFJIGF1dG8t", - "bmFtaW5nIG9mIHdvcmtzcGFjZXMgYW5kIHRhYnMgZnJvbSBhZ2VudCBjb252ZXJzYXRpb24gY29udGVudC4gV2hlbiBlbmFibGVkLCBjbXV4IHN1bW1hcml6", - "ZXMgc3VwcG9ydGVkIGFnZW50IHNlc3Npb25zIGludG8gc2hvcnQgdGl0bGVzIHVzaW5nIGVhY2ggYWdlbnQncyBvd24gYmluYXJ5OyBtYW51YWwgcmVuYW1l", - "cyBhbHdheXMgd2luLiIKICAgICAgICB9LAogICAgICAgICJhdXRvTmFtaW5nQWdlbnQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAg", - "ICAgImRlZmF1bHQiOiAiYXV0byIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24uYXV0b05hbWlu", - "Z0FnZW50IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGljaCBhZ2VudCBnZW5lcmF0ZXMgYXV0by1uYW1lcyBmb3IgZXZlcnkgc2Vzc2lvbi4gXCJh", - "dXRvXCIgKGRlZmF1bHQpIG5hbWVzIGVhY2ggc2Vzc2lvbiB3aXRoIGl0cyBvd24gYWdlbnQ7IGFueSBhZ2VudCBzbHVnIChjbGF1ZGUsIGNvZGV4LCBncm9r", - "LCBvcGVuY29kZSwgcGksIG9tcCwg4oCmKSBvdmVycmlkZXMgbmFtaW5nIGZvciBhbGwgc2Vzc2lvbnMsIGV2ZW4gb3RoZXIgYWdlbnRzJyBzZXNzaW9ucy4g", - "VW5kcml2ZWFibGUgb3IgdW5pbnN0YWxsZWQgYWdlbnRzIGZhbGwgYmFjayB0byB0aGUgc2Vzc2lvbidzIG93biBhZ2VudCwgc28gbmFtaW5nIG5ldmVyIGJy", - "ZWFrcy4iCiAgICAgICAgfSwKICAgICAgICAicmlwZ3JlcEJpbmFyeVBhdGgiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRl", - "ZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDdXN0b20gcGF0aCB0byB0aGUgcmlwZ3JlcCAocmcpIGJpbmFyeSB1c2VkIGJ5IHByb2pl", - "Y3Qgc2VhcmNoLiIKICAgICAgICB9LAogICAgICAgICJzdXBwcmVzc1N1YmFnZW50Tm90aWZpY2F0aW9ucyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xl", - "YW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hdXRvbWF0aW9u", - "LnN1cHByZXNzU3ViYWdlbnROb3RpZmljYXRpb25zIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdXBwcmVzcyB2aXNpYmxlIGNvbXBsZXRpb24gbm90", - "aWZpY2F0aW9ucyBhbmQgc3RhdHVzIG11dGF0aW9ucyBmcm9tIG5lc3RlZCBDb2RleCBvciBDbGF1ZGUgY2hpbGQgYWdlbnRzIHdoaWxlIGtlZXBpbmcgdGhl", - "aXIgZXZlbnRzIGluIEZlZWQgdGVsZW1ldHJ5LiIKICAgICAgICB9LAogICAgICAgICJhbXBJbnRlZ3JhdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJv", - "b2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hdXRvbWF0", - "aW9uLmFtcEludGVncmF0aW9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgQW1wLiBXaGVu", - "IGRpc2FibGVkLCB0aGUgYnVuZGxlZCBwbHVnaW4gc3RheXMgaW5hY3RpdmUgd2l0aG91dCBuZWVkaW5nIHRvIGJlIHJlbW92ZWQuIgogICAgICAgIH0sCiAg", - "ICAgICAgImN1cnNvckludGVncmF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAg", - "ICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlIGNtdXggaW50ZWdyYXRpb24gaG9va3MgZm9yIEN1cnNvci4iCiAgICAgICAgfSwKICAgICAgICAiZ2VtaW5p", - "SW50ZWdyYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlw", - "dGlvbiI6ICJFbmFibGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgR2VtaW5pLiIKICAgICAgICB9LAogICAgICAgICJraXJvSW50ZWdyYXRpb24iOiB7", - "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGUg", - "Y211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgS2lybyBDTEkuIgogICAgICAgIH0sCiAgICAgICAgImtpcm9Ob3RpZmljYXRpb25MZXZlbCI6IHsKICAgICAg", - "ICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsKICAgICAgICAgICAgIm1pbmltYWwiLAogICAgICAgICAgICAic3RhbmRhcmQiLAog", - "ICAgICAgICAgICAidmVyYm9zZSIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzdGFuZGFyZCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", - "OiAiQ29udHJvbHMgaG93IG1hbnkgS2lybyB0b29sIGV2ZW50cyBhcHBlYXIgaW4gRmVlZC4iCiAgICAgICAgfSwKICAgICAgICAicG9ydEJhc2UiOiB7CiAg", - "ICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJkZWZhdWx0IjogOTEwMCwKICAgICAgICAgICJk", - "ZXNjcmlwdGlvbiI6ICJTdGFydGluZyB2YWx1ZSBmb3Igd29ya3NwYWNlIENNVVhfUE9SVCBhc3NpZ25tZW50cy4iCiAgICAgICAgfSwKICAgICAgICAicG9y", - "dFJhbmdlIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAiZGVmYXVsdCI6IDEwLAog", - "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIk51bWJlciBvZiBwb3J0cyByZXNlcnZlZCBwZXIgd29ya3NwYWNlLiIKICAgICAgICB9CiAgICAgIH0KICAgIH0s", - "CiAgICAiYnJvd3NlciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAiYnJvd3NlciIsCiAgICAgICJkZXNj", - "cmlwdGlvbiI6ICJFbWJlZGRlZCBicm93c2VyIHNldHRpbmdzIGZyb20gU2V0dGluZ3MgPiBCcm93c2VyLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAg", - "ICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZGVmYXVsdFNlYXJjaEVuZ2luZSI6IHsK", - "ICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsiZ29vZ2xlIiwgImR1Y2tkdWNrZ28iLCAiYmluZyIsICJrYWdpIiwgInN0", - "YXJ0cGFnZSIsICJicmF2ZSIsICJwZXJwbGV4aXR5IiwgImV4YSIsICJ5YWhvbyIsICJlY29zaWEiLCAicXdhbnQiLCAibW9qZWVrIiwgIndpa2lwZWRpYSIs", - "ICJnaXRodWIiLCAiYmFpZHUiLCAieWFuZGV4IiwgImN1c3RvbSJdLAogICAgICAgICAgImRlZmF1bHQiOiAiZ29vZ2xlIiwKICAgICAgICAgICJkZXNjcmlw", - "dGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYnJvd3Nlci5kZWZhdWx0U2VhcmNoRW5naW5lIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZh", - "dWx0IHNlYXJjaCBlbmdpbmUgZm9yIG5vbi1VUkwgYnJvd3NlciBhZGRyZXNzIGJhciBxdWVyaWVzLiBVc2UgY3VzdG9tIHdpdGggY3VzdG9tU2VhcmNoRW5n", - "aW5lVVJMVGVtcGxhdGUgZm9yIGFyYml0cmFyeSBwcm92aWRlcnMuIgogICAgICAgIH0sCiAgICAgICAgImN1c3RvbVNlYXJjaEVuZ2luZU5hbWUiOiB7CiAg", - "ICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNj", - "cmlwdGlvbnMuYnJvd3Nlci5jdXN0b21TZWFyY2hFbmdpbmVOYW1lIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNwbGF5IG5hbWUgdXNlZCB3aGVu", - "IGRlZmF1bHRTZWFyY2hFbmdpbmUgaXMgY3VzdG9tLiIKICAgICAgICB9LAogICAgICAgICJjdXN0b21TZWFyY2hFbmdpbmVVUkxUZW1wbGF0ZSI6IHsKICAg", - "ICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICJodHRwczovL3d3dy5nb29nbGUuY29tL3NlYXJjaD9xPXtxdWVyeX0iLAog", - "ICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmN1c3RvbVNlYXJjaEVuZ2luZVVSTFRlbXBsYXRlIiwKICAg", - "ICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZWFyY2ggVVJMIHVzZWQgd2hlbiBkZWZhdWx0U2VhcmNoRW5naW5lIGlzIGN1c3RvbS4gSW5jbHVkZSB7cXVlcnl9", - "IG9yICVzIGZvciB0aGUgZW5jb2RlZCBxdWVyeS4gSWYgb21pdHRlZCwgY211eCBhcHBlbmRzIHE9IHRvIHRoZSBVUkwuIgogICAgICAgIH0sCiAgICAgICAg", - "InNob3dTZWFyY2hTdWdnZXN0aW9ucyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAg", - "ICAgImRlc2NyaXB0aW9uIjogIlNob3cgb21uaWJhciBzZWFyY2ggc3VnZ2VzdGlvbnMuIgogICAgICAgIH0sCiAgICAgICAgInRoZW1lIjogewogICAgICAg", - "ICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJzeXN0ZW0iLCAibGlnaHQiLCAiZGFyayJdLAogICAgICAgICAgImRlZmF1bHQiOiAi", - "c3lzdGVtIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbWJlZGRlZCBicm93c2VyIHRoZW1lLiIKICAgICAgICB9LAogICAgICAgICJkZWZhdWx0Wm9v", - "bUxldmVsIjogewogICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICJtaW5pbXVtIjogMC4yNSwKICAgICAgICAgICJtYXhpbXVtIjogNSwK", - "ICAgICAgICAgICJkZWZhdWx0IjogMSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYnJvd3Nlci5kZWZhdWx0Wm9v", - "bUxldmVsIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IHBhZ2Ugem9vbSBmYWN0b3IgYXBwbGllZCB0byBuZXdseSBvcGVuZWQgYnJvd3Nl", - "ciBwYWdlcyAoMSA9IDEwMCUpLiBab29tIEluLCBab29tIE91dCwgYW5kIEFjdHVhbCBTaXplIHN0aWxsIGFkanVzdCBlYWNoIHBhZ2UuIgogICAgICAgIH0s", - "CiAgICAgICAgImRpc2NhcmRIaWRkZW5XZWJWaWV3cyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVl", - "LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93IGhpZGRlbiBicm93c2VyIHRhYnMgdG8gcmVsZWFzZSBwYWdlIG1lbW9yeSBhbmQgcmVzdG9yZSB3", - "aGVuIHNob3duIGFnYWluLiIKICAgICAgICB9LAogICAgICAgICJoaWRkZW5XZWJWaWV3RGlzY2FyZERlbGF5U2Vjb25kcyI6IHsKICAgICAgICAgICJ0eXBl", - "IjogIm51bWJlciIsCiAgICAgICAgICAibWluaW11bSI6IDAsCiAgICAgICAgICAibWF4aW11bSI6IDM2MDAsCiAgICAgICAgICAiZGVmYXVsdCI6IDMwMCwK", - "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZWNvbmRzIGEgYnJvd3NlciB0YWIgbXVzdCBzdGF5IGhpZGRlbiBiZWZvcmUgY211eCBmcmVlcyBpdHMgcGFn", - "ZSBtZW1vcnkuIgogICAgICAgIH0sCiAgICAgICAgImFza1doZXJlVG9TYXZlRG93bmxvYWRzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAg", - "ICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmFza1doZXJl", - "VG9TYXZlRG93bmxvYWRzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGEgc2F2ZSBwYW5lbCBmb3IgYnJvd3NlciBkb3dubG9hZHMgaW5zdGVh", - "ZCBvZiBzYXZpbmcgZGlyZWN0bHkgdG8gRG93bmxvYWRzLiIKICAgICAgICB9LAogICAgICAgICJvcGVuVGVybWluYWxMaW5rc0luQ211eEJyb3dzZXIiOiB7", - "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVuIGNs", - "aWNrZWQgdGVybWluYWwgbGlua3MgaW4gdGhlIGVtYmVkZGVkIGJyb3dzZXIuIgogICAgICAgIH0sCiAgICAgICAgImludGVyY2VwdFRlcm1pbmFsT3BlbkNv", - "bW1hbmRJbkNtdXhCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAi", - "ZGVzY3JpcHRpb24iOiAiSW50ZXJjZXB0IHRlcm1pbmFsIG9wZW4gaHR0cChzKSBjb21tYW5kcyBhbmQgcm91dGUgdGhlbSB0aHJvdWdoIHRoZSBlbWJlZGRl", - "ZCBicm93c2VyLiIKICAgICAgICB9LAogICAgICAgICJob3N0c1RvT3BlbkluRW1iZWRkZWRCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXki", - "LAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICB9LAogICAgICAgICAgImRlZmF1bHQiOiBbXSwK", - "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbGxvd2xpc3Qgb2YgaG9zdHMgdGhhdCBzaG91bGQgc3RheSBpbnNpZGUgdGhlIGVtYmVkZGVkIGJyb3dzZXIu", - "IgogICAgICAgIH0sCiAgICAgICAgInVybHNUb0Fsd2F5c09wZW5FeHRlcm5hbGx5IjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAg", - "Iml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICB9LAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJk", - "ZXNjcmlwdGlvbiI6ICJSdWxlcyB0aGF0IGFsd2F5cyBvcGVuIG1hdGNoaW5nIFVSTHMgaW4gdGhlIHN5c3RlbSBicm93c2VyLiIKICAgICAgICB9LAogICAg", - "ICAgICJpbnNlY3VyZUh0dHBIb3N0c0FsbG93ZWRJbkVtYmVkZGVkQnJvd3NlciI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJp", - "dGVtcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgfSwKICAgICAgICAgICJkZWZhdWx0IjogWwogICAgICAgICAgICAibG9j", - "YWxob3N0IiwKICAgICAgICAgICAgIioubG9jYWxob3N0IiwKICAgICAgICAgICAgIjEyNy4wLjAuMSIsCiAgICAgICAgICAgICI6OjEiLAogICAgICAgICAg", - "ICAiMC4wLjAuMCIsCiAgICAgICAgICAgICIqLmxvY2FsdGVzdC5tZSIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSFRUUCBob3N0", - "cyBhbGxvd2VkIGluIHRoZSBlbWJlZGRlZCBicm93c2VyIHdpdGhvdXQgYSB3YXJuaW5nIHByb21wdC4iCiAgICAgICAgfSwKICAgICAgICAidXJsQWxsb3ds", - "aXN0IjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAg", - "ICAgICB9LAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLnVybEFsbG93bGlzdCIsCiAgICAgICAgICAi", - "ZGVmYXVsdCI6IFsKICAgICAgICAgICAgImxvY2FsaG9zdCIsCiAgICAgICAgICAgICIqLmxvY2FsaG9zdCIsCiAgICAgICAgICAgICIxMjcuMC4wLjEiLAog", - "ICAgICAgICAgICAiOjoxIiwKICAgICAgICAgICAgIjAuMC4wLjAiLAogICAgICAgICAgICAiKi5sb2NhbHRlc3QubWUiCiAgICAgICAgICBdLAogICAgICAg", - "ICAgImRlc2NyaXB0aW9uIjogIkhvc3Qgb3IgVVJMIHBhdHRlcm5zIHRoYXQgcmVzdHJpY3QgZW1iZWRkZWQtYnJvd3NlciBuYXZpZ2F0aW9uLiBUaGUgU2V0", - "dGluZ3MgVUkgc3VnZ2VzdHMgbG9jYWwgZGV2ZWxvcG1lbnQgb3JpZ2luczsgc2F2aW5nIGEgbGlzdCBvcHRzIGludG8gdGhlIG9wdGlvbmFsIHJlc3RyaWN0", - "aW9uLiBSZW1vdmUgZW50cmllcyB0byBibG9jayB0aGVtLCBvciBsZWF2ZSB0aGUgdXNlciB2YWx1ZSBlbXB0eSB0byBkaXNhYmxlIGl0IHdoZW4gbm8gbWFu", - "YWdlZCBwb2xpY3kgYXBwbGllcy4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0ltcG9ydEhpbnRPbkJsYW5rVGFicyI6IHsKICAgICAgICAgICJ0eXBlIjog", - "ImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGJyb3dzZXIgaW1wb3J0IGhp", - "bnQgb24gYmxhbmsgdGFicy4iCiAgICAgICAgfSwKICAgICAgICAicmVhY3RHcmFiVmVyc2lvbiI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAg", - "ICAgICAgICAiZGVmYXVsdCI6ICIwLjEuMjkiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlBpbm5lZCByZWFjdC1ncmFiIHZlcnNpb24gZm9yIHRoZSBi", - "cm93c2VyIHRvb2xiYXIgaGVscGVyLiIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAibW9iaWxlIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsi", - "Z2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJtb2JpbGUiLAogICAgICAiZGVzY3JpcHRpb24iOiAiTWFjLXNpZGUgc2V0dGluZ3MgZm9yIGNtdXggb24gaU9T", - "LiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAg", - "ICAgICAiYXJ0aWZhY3RGb2xkZXJBY2Nlc3MiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInN1YnRyZWUiLCAi", - "b25lTGV2ZWwiXSwKICAgICAgICAgICJkZWZhdWx0IjogInN1YnRyZWUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2xzIHdoZXRoZXIgYSBy", - "ZWZlcmVuY2VkIG9yIHRlcm1pbmFsLXZpc2libGUgZGlyZWN0b3J5IGF1dGhvcml6ZXMgaXRzIGZ1bGwgY2Fub25pY2FsIHN1YnRyZWUgb3Igb25seSBpbW1l", - "ZGlhdGUgY2hpbGRyZW4uIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJtYXJrZG93biI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2Jh", - "bCJdLAogICAgICAidGl0bGUiOiAibWFya2Rvd24iLAogICAgICAiZGVzY3JpcHRpb24iOiAiQnVpbHQtaW4gbWFya2Rvd24gdmlld2VyIHNldHRpbmdzLiIs", - "CiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAg", - "ICAiZm9udFNpemUiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogOCwKICAgICAgICAgICJtYXhpbXVtIjog", - "OTYsCiAgICAgICAgICAiZGVmYXVsdCI6IDE1LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgYm9keSBmb250IHNpemUsIGluIHBvaW50cywg", - "Zm9yIG5ld2x5IG9wZW5lZCBtYXJrZG93biB2aWV3ZXJzLiBab29tIGEgdmlld2VyIGxpdmUgd2l0aCBDbWQtKyAvIENtZC0tIC8gQ21kLTAuIiwKICAgICAg", - "ICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubWFya2Rvd24uZm9udFNpemUiCiAgICAgICAgfSwKICAgICAgICAiZm9udEZhbWls", - "eSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1", - "bHQgYm9keSBmb250IGZhbWlseSBmb3IgbmV3bHkgb3BlbmVkIG1hcmtkb3duIHZpZXdlcnMuIExlYXZlIGVtcHR5IGZvciB0aGUgc3lzdGVtIG1hcmtkb3du", - "IGZvbnQgc3RhY2suIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubWFya2Rvd24uZm9udEZhbWlseSIKICAgICAg", - "ICB9LAogICAgICAgICJtYXhXaWR0aCI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAzMjAsCiAgICAgICAg", - "ICAibWF4aW11bSI6IDI0MDAsCiAgICAgICAgICAiZGVmYXVsdCI6IDk4MCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IG1heGltdW0gcmVh", - "ZGluZyBjb2x1bW4gd2lkdGgsIGluIENTUyBwaXhlbHMsIGZvciBuZXdseSBvcGVuZWQgbWFya2Rvd24gdmlld2Vycy4iLAogICAgICAgICAgImRlc2NyaXB0", - "aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5tYXJrZG93bi5tYXhXaWR0aCIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiY2FudmFzIjogewog", - "ICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJjYW52YXMiLAogICAgICAiZGVzY3JpcHRpb24iOiAiRnJlZWZvcm0g", - "Y2FudmFzIHdvcmtzcGFjZSBsYXlvdXQgc2V0dGluZ3MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjog", - "ZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJwYW5lR2FwIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAi", - "bWluaW11bSI6IDAsCiAgICAgICAgICAibWF4aW11bSI6IDY0LAogICAgICAgICAgImRlZmF1bHQiOiAxNiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJT", - "cGFjaW5nIGJldHdlZW4gcGFuZXMgaW4gdGhlIGNhbnZhcyBsYXlvdXQsIGluIHBvaW50cy4gU25hcHBpbmcsIHRpZHksIGFuZCBuZXctcGFuZSBwbGFjZW1l", - "bnQgYWxsIHVzZSB0aGlzIG9uZSBnYXAuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuY2FudmFzLnBhbmVHYXAi", - "CiAgICAgICAgfSwKICAgICAgICAic25hcHBpbmdFbmFibGVkIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6", - "IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU25hcCBwYW5lIGRyYWdzIGFuZCByZXNpemVzIHRvIG5laWdoYm9yIGVkZ2VzIGFuZCB0aGUgcGFu", - "ZSBnYXAuIEhvbGQgQ29tbWFuZCB0byBzdXNwZW5kIHNuYXBwaW5nIGZvciBvbmUgZ2VzdHVyZS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNj", - "aGVtYURlc2NyaXB0aW9ucy5jYW52YXMuc25hcHBpbmdFbmFibGVkIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJmaWxlRWRpdG9yIjogewogICAg", - "ICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJmaWxlRWRpdG9yIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkJ1aWx0LWlu", - "IGZpbGUgZWRpdG9yIHNldHRpbmdzLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAg", - "ICAicHJvcGVydGllcyI6IHsKICAgICAgICAid29yZFdyYXAiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0Ijog", - "ZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV3JhcCBsb25nIGxpbmVzIGF0IHRoZSBlZGl0b3IncyByaWdodCBlZGdlIGluc3RlYWQgb2Ygc2Ny", - "b2xsaW5nIGhvcml6b250YWxseS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5maWxlRWRpdG9yLndvcmRXcmFw", - "IgogICAgICAgIH0sCiAgICAgICAgInN5bnRheEhpZ2hsaWdodGluZyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1", - "bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbG9yIHNvdXJjZSB0b2tlbnMgaW4gdGhlIGJ1aWx0LWluIGZpbGUgZWRpdG9yLiIsCiAg", - "ICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3Iuc3ludGF4SGlnaGxpZ2h0aW5nIgogICAgICAgIH0sCiAg", - "ICAgICAgImxpbmVOdW1iZXJzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAi", - "ZGVzY3JpcHRpb24iOiAiU2hvdyBhIGxpbmUtbnVtYmVyIGd1dHRlciBpbiB0aGUgYnVpbHQtaW4gZmlsZSBlZGl0b3IuIiwKICAgICAgICAgICJkZXNjcmlw", - "dGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5saW5lTnVtYmVycyIKICAgICAgICB9LAogICAgICAgICJpbmRlbnRHdWlkZXMiOiB7", - "CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEcmF3IHZl", - "cnRpY2FsIGluZGVudCBndWlkZXMgaW4gdGhlIGJ1aWx0LWluIGZpbGUgZWRpdG9yLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVz", - "Y3JpcHRpb25zLmZpbGVFZGl0b3IuaW5kZW50R3VpZGVzIgogICAgICAgIH0sCiAgICAgICAgImN1cnJlbnRMaW5lSGlnaGxpZ2h0IjogewogICAgICAgICAg", - "InR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlnaGxpZ2h0IHRoZSBjYXJl", - "dCdzIGxpbmUgd2hlbiB0aGUgc2VsZWN0aW9uIGlzIGVtcHR5LiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZp", - "bGVFZGl0b3IuY3VycmVudExpbmVIaWdobGlnaHQiCiAgICAgICAgfSwKICAgICAgICAidGFiV2lkdGgiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2Vy", - "IiwKICAgICAgICAgICJkZWZhdWx0IjogNCwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJtYXhpbXVtIjogOCwKICAgICAgICAgICJkZXNj", - "cmlwdGlvbiI6ICJDb2x1bW5zIHBlciB0YWIgc3RvcCBmb3IgaW5kZW50IGd1aWRlcy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURl", - "c2NyaXB0aW9ucy5maWxlRWRpdG9yLnRhYldpZHRoIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJmaWxlRXhwbG9yZXIiOiB7CiAgICAgICJ4LWNt", - "dXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogImZpbGVFeHBsb3JlciIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJSaWdodC1zaWRlYmFy", - "IGZpbGUgZXhwbG9yZXIgKGZpbGUgdHJlZSkgc2V0dGluZ3MuIiwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5maWxlRXhw", - "bG9yZXIuZGVzY3JpcHRpb24iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInBy", - "b3BlcnRpZXMiOiB7CiAgICAgICAgImRvdWJsZUNsaWNrQWN0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjog", - "WyJwcmV2aWV3IiwgImRlZmF1bHRFZGl0b3IiLCAicHJlZmVycmVkRWRpdG9yIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJwcmV2aWV3IiwKICAgICAgICAg", - "ICJkZXNjcmlwdGlvbiI6ICJXaGF0IGRvdWJsZS1jbGlja2luZyAob3IgcHJlc3NpbmcgUmV0dXJuIG9uIGEgc2VhcmNoIHJlc3VsdCBmb3IpIGEgZmlsZSBp", - "biB0aGUgZmlsZSBleHBsb3JlciBkb2VzLiBgcHJldmlld2Agb3BlbnMgdGhlIGJ1aWx0LWluIGNtdXggZmlsZSBwcmV2aWV3ICh0aGUgZGVmYXVsdCBhbmQg", - "aGlzdG9yaWNhbCBiZWhhdmlvcikuIGBkZWZhdWx0RWRpdG9yYCBvcGVucyB3aXRoIHRoZSBtYWNPUyBkZWZhdWx0IGFwcCBmb3IgdGhlIGZpbGUgdHlwZS4g", - "YHByZWZlcnJlZEVkaXRvcmAgb3BlbnMgd2l0aCB0aGUgYGFwcC5wcmVmZXJyZWRFZGl0b3JgIGNvbW1hbmQsIGZhbGxpbmcgYmFjayB0byB0aGUgZGVmYXVs", - "dCBhcHAgd2hlbiBub25lIGlzIHNldC4gT25seSBhcHBsaWVzIHRvIGZpbGVzOyBkaXJlY3RvcmllcyBhbHdheXMgZXhwYW5kL2NvbGxhcHNlLCBhbmQgbm9u", - "LWxvY2FsIChyZW1vdGUpIGZpbGUgZXhwbG9yZXJzIGFsd2F5cyBvcGVuIHRoZSBjbXV4IHByZXZpZXcuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6", - "ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUV4cGxvcmVyLmRvdWJsZUNsaWNrQWN0aW9uIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJkaWZmVmll", - "d2VyIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJkaWZmVmlld2VyIiwKICAgICAgImRlc2NyaXB0aW9u", - "IjogIkJ1aWx0LWluIGRpZmYgdmlld2VyIHNldHRpbmdzLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6", - "IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZGVmYXVsdExheW91dCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAg", - "ICAgICAiZW51bSI6IFsidW5pZmllZCIsICJzcGxpdCJdLAogICAgICAgICAgImRlZmF1bHQiOiAidW5pZmllZCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", - "OiAiRGVmYXVsdCBsYXlvdXQgZm9yIG5ld2x5IG9wZW5lZCBkaWZmIHZpZXdlcnMuIFRoZSB0b29sYmFyIGxheW91dCB0b2dnbGUgcGVyc2lzdHMgdGhlIHVz", - "ZXIncyBsYXN0IGNob2ljZTsgYW4gZXhwbGljaXQgYGNtdXggZGlmZiAtLWxheW91dGAgb3B0aW9uIG92ZXJyaWRlcyBib3RoLiIsCiAgICAgICAgICAiZGVz", - "Y3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmRpZmZWaWV3ZXIuZGVmYXVsdExheW91dCIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAi", - "cmlnaHRTaWRlYmFyIjogewogICAgICAidGl0bGUiOiAicmlnaHRTaWRlYmFyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkxlZ2FjeSBhbmQgZXh0ZW5zaW9u", - "LW93bmVkIHJpZ2h0LXNpZGViYXIgY29uZmlndXJhdGlvbiBwcmVzZXJ2ZWQgaW4gY211eC5qc29uLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAg", - "ICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHRydWUKICAgIH0sCiAgICAic2hvcnRjdXRzIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0s", - "CiAgICAgICJ0aXRsZSI6ICJzaG9ydGN1dHMiLAogICAgICAiZGVzY3JpcHRpb24iOiAiS2V5Ym9hcmQgc2hvcnRjdXQgc2V0dGluZ3MgZnJvbSBTZXR0aW5n", - "cyA+IEtleWJvYXJkIFNob3J0Y3V0cy4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAg", - "ICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgInNob3dNb2RpZmllckhvbGRIaW50cyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAg", - "ICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgc2hvcnRjdXQtaGludCBjaGlwcyB3aGlsZSBob2xkaW5nIENtZCBv", - "ciBDb250cm9sLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnNob3J0Y3V0cy5zaG93TW9kaWZpZXJIb2xkSGlu", - "dHMiCiAgICAgICAgfSwKICAgICAgICAiYmluZGluZ3MiOiB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwK", - "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG9ydGN1dCBvdmVycmlkZXMga2V5ZWQgYnkgY211eCBhY3Rpb24gaWQuIFVzZSBhIHN0cmluZyBmb3IgYSBz", - "aW5nbGUgc2hvcnRjdXQsIGFuIGFycmF5IGZvciBhIGNob3JkLCBudWxsLCBhbiBlbXB0eSBzdHJpbmcsIG5vbmUsIGNsZWFyLCB1bmJvdW5kLCBvciBkaXNh", - "YmxlZCB0byB1bmJpbmQuIiwKICAgICAgICAgICJwcm9wZXJ0eU5hbWVzIjogewogICAgICAgICAgICAiZW51bSI6IFsKICAgICAgICAgICAgICAib3BlblNl", - "dHRpbmdzIiwKICAgICAgICAgICAgICAicmVsb2FkQ29uZmlndXJhdGlvbiIsCiAgICAgICAgICAgICAgInNob3dIaWRlQWxsV2luZG93cyIsCiAgICAgICAg", - "ICAgICAgImdsb2JhbFNlYXJjaCIsCiAgICAgICAgICAgICAgIm5ld1dpbmRvdyIsCiAgICAgICAgICAgICAgImNsb3NlV2luZG93IiwKICAgICAgICAgICAg", - "ICAidG9nZ2xlRnVsbFNjcmVlbiIsCiAgICAgICAgICAgICAgInF1aXQiLAogICAgICAgICAgICAgICJ0b2dnbGVTaWRlYmFyIiwKICAgICAgICAgICAgICAi", - "bmV3VGFiIiwKICAgICAgICAgICAgICAibmV3QnJvd3NlcldvcmtzcGFjZSIsCiAgICAgICAgICAgICAgIm5ld0Nsb3VkV29ya3NwYWNlIiwKICAgICAgICAg", - "ICAgICAibmV3Q2xvdWRNYWNoaW5lIiwKICAgICAgICAgICAgICAib3BlbkZvbGRlciIsCiAgICAgICAgICAgICAgInJlb3BlblByZXZpb3VzU2Vzc2lvbiIs", - "CiAgICAgICAgICAgICAgImdvVG9Xb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJjb21tYW5kUGFsZXR0ZSIsCiAgICAgICAgICAgICAgImNvbW1hbmRQYWxl", - "dHRlTmV4dCIsCiAgICAgICAgICAgICAgImNvbW1hbmRQYWxldHRlUHJldmlvdXMiLAogICAgICAgICAgICAgICJzZW5kRmVlZGJhY2siLAogICAgICAgICAg", - "ICAgICJzaG93Tm90aWZpY2F0aW9ucyIsCiAgICAgICAgICAgICAgImp1bXBUb1VucmVhZCIsCiAgICAgICAgICAgICAgInRvZ2dsZVVucmVhZCIsCiAgICAg", - "ICAgICAgICAgIm1hcmtPbGRlc3RVbnJlYWRBbmRKdW1wTmV4dCIsCiAgICAgICAgICAgICAgIm1hcmtBbGxOb3RpZmljYXRpb25zUmVhZCIsCiAgICAgICAg", - "ICAgICAgImNsZWFyQWxsTm90aWZpY2F0aW9ucyIsCiAgICAgICAgICAgICAgImZvY3VzUmlnaHRTaWRlYmFyIiwKICAgICAgICAgICAgICAic3dpdGNoUmln", - "aHRTaWRlYmFyVG9GaWxlcyIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRmluZCIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lk", - "ZWJhclRvU2Vzc2lvbnMiLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb0ZlZWQiLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGVi", - "YXJUb0RvY2siLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb01hY2hpbmVzIiwKICAgICAgICAgICAgICAidHJpZ2dlckZsYXNoIiwKICAg", - "ICAgICAgICAgICAibmV4dFN1cmZhY2UiLAogICAgICAgICAgICAgICJwcmV2U3VyZmFjZSIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlTGVmdCIsCiAg", - "ICAgICAgICAgICAgIm1vdmVTdXJmYWNlUmlnaHQiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUHJldmlvdXNQYW5lIiwKICAgICAgICAgICAgICAi", - "bW92ZVN1cmZhY2VUb05leHRQYW5lIiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VUb1BhbmVMZWZ0IiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VU", - "b1BhbmVSaWdodCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9QYW5lVXAiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZURvd24iLAog", - "ICAgICAgICAgICAgICJzZWxlY3RTdXJmYWNlQnlOdW1iZXIiLAogICAgICAgICAgICAgICJuZXh0U2lkZWJhclRhYiIsCiAgICAgICAgICAgICAgInByZXZT", - "aWRlYmFyVGFiIiwKICAgICAgICAgICAgICAibmV4dFNpZGViYXJUYWJJbkdyb3VwIiwKICAgICAgICAgICAgICAicHJldlNpZGViYXJUYWJJbkdyb3VwIiwK", - "ICAgICAgICAgICAgICAibW92ZVdvcmtzcGFjZVVwIiwKICAgICAgICAgICAgICAibW92ZVdvcmtzcGFjZURvd24iLAogICAgICAgICAgICAgICJmb2N1c0hp", - "c3RvcnlCYWNrIiwKICAgICAgICAgICAgICAiZm9jdXNIaXN0b3J5Rm9yd2FyZCIsCiAgICAgICAgICAgICAgInNlbGVjdFdvcmtzcGFjZUJ5TnVtYmVyIiwK", - "ICAgICAgICAgICAgICAicmVuYW1lVGFiIiwKICAgICAgICAgICAgICAicmVuYW1lV29ya3NwYWNlIiwKICAgICAgICAgICAgICAiZWRpdFdvcmtzcGFjZURl", - "c2NyaXB0aW9uIiwKICAgICAgICAgICAgICAibWFya1dvcmtzcGFjZURvbmUiLAogICAgICAgICAgICAgICJjeWNsZVdvcmtzcGFjZVN0YXR1cyIsCiAgICAg", - "ICAgICAgICAgInRvZ2dsZUNoZWNrbGlzdEl0ZW1Db21wbGV0ZSIsCiAgICAgICAgICAgICAgImNsb3NlVGFiIiwKICAgICAgICAgICAgICAiY2xvc2VPdGhl", - "clRhYnNJblBhbmUiLAogICAgICAgICAgICAgICJjbG9zZVdvcmtzcGFjZSIsCiAgICAgICAgICAgICAgIm5ld1dvcmtzcGFjZUdyb3VwIiwKICAgICAgICAg", - "ICAgICAiZ3JvdXBTZWxlY3RlZFdvcmtzcGFjZXMiLAogICAgICAgICAgICAgICJ0b2dnbGVGb2N1c2VkV29ya3NwYWNlR3JvdXBDb2xsYXBzZWQiLAogICAg", - "ICAgICAgICAgICJyZW9wZW5DbG9zZWRXb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJyZW9wZW5DbG9zZWRCcm93c2VyUGFuZWwiLAogICAgICAgICAgICAg", - "ICJuZXdTdXJmYWNlIiwKICAgICAgICAgICAgICAidG9nZ2xlVGVybWluYWxDb3B5TW9kZSIsCiAgICAgICAgICAgICAgImZvY3VzVGV4dEJveElucHV0IiwK", - "ICAgICAgICAgICAgICAiY3ljbGVUZXh0Qm94U3VibWl0QWN0aW9uIiwKICAgICAgICAgICAgICAiYXR0YWNoVGV4dEJveEZpbGUiLAogICAgICAgICAgICAg", - "ICJzZW5kQ3RybEZUb1Rlcm1pbmFsIiwKICAgICAgICAgICAgICAiY2xlYXJTY3JlZW5LZWVwU2Nyb2xsYmFjayIsCiAgICAgICAgICAgICAgInNpbXVsYXRv", - "ckhvbWUiLAogICAgICAgICAgICAgICJzaW11bGF0b3JSb3RhdGVMZWZ0IiwKICAgICAgICAgICAgICAic2ltdWxhdG9yUm90YXRlUmlnaHQiLAogICAgICAg", - "ICAgICAgICJzaW11bGF0b3JUb2dnbGVBcHBlYXJhbmNlIiwKICAgICAgICAgICAgICAic2ltdWxhdG9yVG9nZ2xlU29mdHdhcmVLZXlib2FyZCIsCiAgICAg", - "ICAgICAgICAgImZvY3VzTGVmdCIsCiAgICAgICAgICAgICAgImZvY3VzUmlnaHQiLAogICAgICAgICAgICAgICJmb2N1c1VwIiwKICAgICAgICAgICAgICAi", - "Zm9jdXNEb3duIiwKICAgICAgICAgICAgICAiZm9jdXNQcmV2aW91c1BhbmUiLAogICAgICAgICAgICAgICJmb2N1c05leHRQYW5lIiwKICAgICAgICAgICAg", - "ICAic3BsaXRSaWdodCIsCiAgICAgICAgICAgICAgInNwbGl0RG93biIsCiAgICAgICAgICAgICAgInRvZ2dsZVNwbGl0Wm9vbSIsCiAgICAgICAgICAgICAg", - "ImluY3JlYXNlV29ya3NwYWNlVGVybWluYWxGb250U2l6ZSIsCiAgICAgICAgICAgICAgImRlY3JlYXNlV29ya3NwYWNlVGVybWluYWxGb250U2l6ZSIsCiAg", - "ICAgICAgICAgICAgInJlc2V0V29ya3NwYWNlVGVybWluYWxGb250U2l6ZSIsCiAgICAgICAgICAgICAgImVxdWFsaXplU3BsaXRzIiwKICAgICAgICAgICAg", - "ICAicmVzaXplLXBhbmUtbGVmdCIsCiAgICAgICAgICAgICAgInJlc2l6ZS1wYW5lLXJpZ2h0IiwKICAgICAgICAgICAgICAicmVzaXplLXBhbmUtdXAiLAog", - "ICAgICAgICAgICAgICJyZXNpemUtcGFuZS1kb3duIiwKICAgICAgICAgICAgICAic3BsaXRCcm93c2VyUmlnaHQiLAogICAgICAgICAgICAgICJzcGxpdEJy", - "b3dzZXJEb3duIiwKICAgICAgICAgICAgICAidG9nZ2xlQ2FudmFzTGF5b3V0IiwKICAgICAgICAgICAgICAiY2FudmFzUmV2ZWFsRm9jdXNlZFBhbmUiLAog", - "ICAgICAgICAgICAgICJjYW52YXNPdmVydmlldyIsCiAgICAgICAgICAgICAgImNhbnZhc1pvb21JbiIsCiAgICAgICAgICAgICAgImNhbnZhc1pvb21PdXQi", - "LAogICAgICAgICAgICAgICJjYW52YXNab29tUmVzZXQiLAogICAgICAgICAgICAgICJjYW52YXNUaWR5IiwKICAgICAgICAgICAgICAiY2FudmFzQWxpZ25M", - "ZWZ0IiwKICAgICAgICAgICAgICAiY2FudmFzQWxpZ25SaWdodCIsCiAgICAgICAgICAgICAgImNhbnZhc0FsaWduVG9wIiwKICAgICAgICAgICAgICAiY2Fu", - "dmFzQWxpZ25Cb3R0b20iLAogICAgICAgICAgICAgICJjYW52YXNFcXVhbGl6ZVdpZHRocyIsCiAgICAgICAgICAgICAgImNhbnZhc0VxdWFsaXplSGVpZ2h0", - "cyIsCiAgICAgICAgICAgICAgImNhbnZhc0Rpc3RyaWJ1dGVIb3Jpem9udGFsbHkiLAogICAgICAgICAgICAgICJjYW52YXNEaXN0cmlidXRlVmVydGljYWxs", - "eSIsCiAgICAgICAgICAgICAgInRvZ2dsZUZpbGVFeHBsb3JlciIsCiAgICAgICAgICAgICAgImZpbGVFeHBsb3Jlck9wZW5TZWxlY3Rpb24iLAogICAgICAg", - "ICAgICAgICJmaWxlRXhwbG9yZXJPcGVuU2VsZWN0aW9uRmluZGVyQWxpYXMiLAogICAgICAgICAgICAgICJzYXZlRmlsZVByZXZpZXciLAogICAgICAgICAg", - "ICAgICJvcGVuQnJvd3NlciIsCiAgICAgICAgICAgICAgImZvY3VzQnJvd3NlckFkZHJlc3NCYXIiLAogICAgICAgICAgICAgICJicm93c2VyQmFjayIsCiAg", - "ICAgICAgICAgICAgImJyb3dzZXJGb3J3YXJkIiwKICAgICAgICAgICAgICAiYnJvd3NlclJlbG9hZCIsCiAgICAgICAgICAgICAgImJyb3dzZXJIYXJkUmVs", - "b2FkIiwKICAgICAgICAgICAgICAiYnJvd3Nlclpvb21JbiIsCiAgICAgICAgICAgICAgImJyb3dzZXJab29tT3V0IiwKICAgICAgICAgICAgICAiYnJvd3Nl", - "clpvb21SZXNldCIsCiAgICAgICAgICAgICAgIm1hcmtkb3duWm9vbUluIiwKICAgICAgICAgICAgICAibWFya2Rvd25ab29tT3V0IiwKICAgICAgICAgICAg", - "ICAibWFya2Rvd25ab29tUmVzZXQiLAogICAgICAgICAgICAgICJmaW5kIiwKICAgICAgICAgICAgICAiZmluZEluRGlyZWN0b3J5IiwKICAgICAgICAgICAg", - "ICAiZmluZE5leHQiLAogICAgICAgICAgICAgICJmaW5kUHJldmlvdXMiLAogICAgICAgICAgICAgICJoaWRlRmluZCIsCiAgICAgICAgICAgICAgInVzZVNl", - "bGVjdGlvbkZvckZpbmQiLAogICAgICAgICAgICAgICJ0b2dnbGVCcm93c2VyRGV2ZWxvcGVyVG9vbHMiLAogICAgICAgICAgICAgICJzaG93QnJvd3Nlckph", - "dmFTY3JpcHRDb25zb2xlIiwKICAgICAgICAgICAgICAidG9nZ2xlQnJvd3NlckZvY3VzTW9kZSIsCiAgICAgICAgICAgICAgInRvZ2dsZUJyb3dzZXJEZXNp", - "Z25Nb2RlIiwKICAgICAgICAgICAgICAidG9nZ2xlUmVhY3RHcmFiIiwKICAgICAgICAgICAgICAib3BlbkRpZmZWaWV3ZXIiLAogICAgICAgICAgICAgICJk", - "aWZmVmlld2VyU2Nyb2xsRG93biIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxVcCIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxI", - "YWxmUGFnZURvd24iLAogICAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VVcCIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxE", - "b3duRW1hY3MiLAogICAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsVXBFbWFjcyIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxUb0JvdHRv", - "bSIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxUb1RvcCIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJPcGVuRmlsZVNlYXJjaCIsCiAgICAg", - "ICAgICAgICAgImRpZmZWaWV3ZXJOZXh0RmlsZSIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJQcmV2aW91c0ZpbGUiCiAgICAgICAgICAgIF0KICAgICAg", - "ICAgIH0sCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImZpbGVFeHBsb3Jlck9wZW5TZWxlY3Rpb24iOiB7CiAgICAgICAgICAgICAg", - "IiRyZWYiOiAiIy8kZGVmcy9zaW5nbGVCYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAg", - "ImZpbGVFeHBsb3Jlck9wZW5TZWxlY3Rpb25GaW5kZXJBbGlhcyI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3NpbmdsZUJhcmVGaXJzdFN0", - "cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbERvd24iOiB7CiAgICAgICAg", - "ICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAg", - "ImRpZmZWaWV3ZXJTY3JvbGxVcCI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxh", - "YmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbEhhbGZQYWdlRG93biI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIj", - "LyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9s", - "bEhhbGZQYWdlVXAiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAg", - "ICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxEb3duRW1hY3MiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJl", - "Rmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxVcEVtYWNzIjog", - "ewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAg", - "ICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsVG9Cb3R0b20iOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9y", - "dGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxUb1RvcCI6IHsKICAgICAgICAgICAgICAi", - "JHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZp", - "ZXdlck9wZW5GaWxlU2VhcmNoIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFi", - "bGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyTmV4dEZpbGUiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJl", - "Rmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJQcmV2aW91c0ZpbGUiOiB7", - "CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfQogICAg", - "ICAgICAgfSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dEJpbmRpbmdO", - "dWxsYWJsZSIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJ3aGVuIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJk", - "ZWZhdWx0Ijoge30sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgcGVyLWFjdGlvbiBjb250ZXh0IHByZWRpY2F0ZXMgKFZTIENvZGUtc3R5", - "bGUgYHdoZW5gIGNsYXVzZXMpLCBrZXllZCBieSBjbXV4IGFjdGlvbiBpZC4gRWFjaCB2YWx1ZSBpcyBhIGJvb2xlYW4gZXhwcmVzc2lvbiBvdmVyIGNvbnRl", - "eHQga2V5cyBjb21iaW5lZCB3aXRoICEsICYmLCB8fCwgYW5kIHBhcmVudGhlc2VzLiBCb29sZWFuIGtleXM6IHNpZGViYXJGb2N1cywgYnJvd3NlckZvY3Vz", - "LCBtYXJrZG93bkZvY3VzLCBmaWxlUHJldmlld1RleHRFZGl0b3JGb2N1cywgc2ltdWxhdG9yRm9jdXMsIHRlcm1pbmFsRm9jdXMsIGNvbW1hbmRQYWxldHRl", - "VmlzaWJsZSwgdGVybWluYWxGaW5kVmlzaWJsZSwgd29ya3NwYWNlQ2FudmFzTGF5b3V0LiBUeXBlZCBrZXlzIHN1cHBvcnQgY29tcGFyaXNvbnM6IHRoZSBz", - "dHJpbmcgc2lkZWJhck1vZGUgKGZpbGVzLCBmaW5kLCBzZXNzaW9ucywgZmVlZCwgb3IgZG9jaykgYW5kIHRoZSBpbnRlZ2VycyBwYW5lQ291bnQgYW5kIHdv", - "cmtzcGFjZUNvdW50LiBDb21wYXJpc29uIG9wZXJhdG9ycyBhcmUgPT0sICE9LCA9fiAocmVnZXgpLCA8LCA8PSwgPiwgPj0sIGFuZCBgaW4gW2EsIGJdYDsg", - "YW4gdW5rbm93biBvciBhYnNlbnQga2V5IHJlYWRzIGFzIGZhbHNlLiBUaGUgYm9vbGVhbiBsaXRlcmFscyB0cnVlIGFuZCBmYWxzZSBhcmUgYWxzbyBhY2Nl", - "cHRlZDsgYGtleSA9PSBmYWxzZWAgaXMgdGhlIHNhbWUgYXMgYCFrZXlgLiBUaGUgYWN0aW9uJ3Mgc2hvcnRjdXQgb25seSBmaXJlcyAoYW5kIG9ubHkgY29u", - "ZmxpY3RzIHdpdGggb3RoZXIgc2hvcnRjdXRzKSB3aGVuIHRoZSBjbGF1c2UgaG9sZHMuIEV4YW1wbGVzOiB7IFwic2VsZWN0V29ya3NwYWNlQnlOdW1iZXJc", - "IjogXCIhc2lkZWJhckZvY3VzXCIgfSBzZWxlY3RzIHdvcmtzcGFjZXMgd2l0aCBDdHJsKzHigJM5IGV2ZXJ5d2hlcmUgZXhjZXB0IHdoZW4gdGhlIHJpZ2h0", - "IHNpZGViYXIgaXMgZm9jdXNlZDsgeyBcInNlbGVjdFN1cmZhY2VCeU51bWJlclwiOiBcInNpZGViYXJNb2RlID09ICdmaW5kJyAmJiBwYW5lQ291bnQgPiAx", - "XCIgfSBzY29wZXMgYSBiaW5kaW5nIHRvIHRoZSBGaW5kIHNpZGViYXIgd2hlbiB0aGUgd29ya3NwYWNlIGhhcyBtdWx0aXBsZSBwYW5lcy4iLAogICAgICAg", - "ICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5zaG9ydGN1dHMud2hlbiIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMi", - "OiB7CiAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9LAogICIkZGVmcyI6IHsKICAg", - "ICJjb2xvckhleCI6IHsKICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgInBhdHRlcm4iOiAiXiNbMC05QS1GYS1mXXs2fSQiLAogICAgICAiZGVzY3Jp", - "cHRpb24iOiAiVXBwZXJjYXNlIG9yIGxvd2VyY2FzZSA2LWRpZ2l0IGhleCBjb2xvci4iCiAgICB9LAogICAgImNvbG9ySGV4T3JOdWxsIjogewogICAgICAi", - "b25lT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0", - "eXBlIjogIm51bGwiCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgIm5vdGlmaWNhdGlvblNvdW5kT3ZlcnJpZGUiOiB7CiAgICAgICJvbmVPZiI6IFsK", - "ICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAi", - "cmVxdWlyZWQiOiBbInNvdW5kIl0sCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgInNvdW5kIjogewogICAgICAgICAgICAgICJ0eXBl", - "IjogInN0cmluZyIsCiAgICAgICAgICAgICAgImVudW0iOiBbImRlZmF1bHQiLCAiQmFzc28iLCAiQmxvdyIsICJCb3R0bGUiLCAiRnJvZyIsICJGdW5rIiwg", - "IkdsYXNzIiwgIkhlcm8iLCAiTW9yc2UiLCAiUGluZyIsICJQb3AiLCAiUHVyciIsICJTb3N1bWkiLCAiU3VibWFyaW5lIiwgIlRpbmsiLCAibm9uZSJdCiAg", - "ICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRp", - "b25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJyZXF1aXJlZCI6IFsic291bmQiLCAiY3VzdG9tU291bmRGaWxlUGF0aCJdLAogICAgICAgICAg", - "InByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJzb3VuZCI6IHsgImNvbnN0IjogImN1c3RvbV9maWxlIiB9LAogICAgICAgICAgICAiY3VzdG9tU291bmRG", - "aWxlUGF0aCI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgICAgICJw", - "YXR0ZXJuIjogIi4qXFxTLioiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbktleSI6ICJz", - "Y2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5zb3VuZE92ZXJyaWRlIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkEgbm90aWZpY2F0aW9uIHNvdW5k", - "IG92ZXJyaWRlLiBgZGVmYXVsdGAgdXNlcyBub3RpZmljYXRpb25zLnNvdW5kLCBgbm9uZWAgZGlzYWJsZXMgcGxheWJhY2ssIGFuZCB0aGUgcmVtYWluaW5n", - "IHZhbHVlcyBzZWxlY3QgYSBidWlsdC1pbiBvciBjdXN0b20gc291bmQuIgogICAgfSwKICAgICJzaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVPZiI6", - "IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3VuYm91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", - "IlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMgYXJlIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2Fi", - "bGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRGaXJzdFN0cm9rZSIsCiAgICAgICAgICAiZGVz", - "Y3JpcHRpb24iOiAiU2luZ2xlLXN0cm9rZSBzaG9ydGN1dCwgZm9yIGV4YW1wbGUgY21kK24gb3IgY21kK3NwYWNlLiIKICAgICAgICB9LAogICAgICAgIHsK", - "ICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJtaW5JdGVtcyI6IDEsCiAgICAgICAgICAibWF4SXRlbXMiOiAyLAogICAgICAgICAgInBy", - "ZWZpeEl0ZW1zIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dEZpcnN0U3Ryb2tlIgogICAgICAgICAg", - "ICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dFN0cm9rZSIKICAgICAgICAgICAgfQogICAgICAgICAg", - "XSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDaG9yZGVkIHNob3J0Y3V0LiBFeGFtcGxlOiBbXCJjdHJsK2JcIiwgXCJjXCJdLiIKICAgICAgICB9CiAg", - "ICAgIF0KICAgIH0sCiAgICAic2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6", - "ICIjLyRkZWZzL3Nob3J0Y3V0QmluZGluZyIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogIm51bGwiLAogICAgICAgICAgImRlc2Ny", - "aXB0aW9uIjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAic2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRj", - "dXRCaW5kaW5nIjogewogICAgICAib25lT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy91bmJvdW5kU2hvcnRjdXRCaW5kaW5n", - "IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmJpbmQgdGhpcyBzaG9ydGN1dC4gQWNjZXB0ZWQgdmFsdWVzIGFyZSBhbiBlbXB0eSBzdHJpbmcsIG5v", - "bmUsIGNsZWFyLCB1bmJvdW5kLCBvciBkaXNhYmxlZC4iCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJz", - "dFN0cm9rZVNob3J0Y3V0Rmlyc3RTdHJva2UiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpbmdsZS1zdHJva2Ugc2hvcnRjdXQuIEJhcmUgZmlyc3Qg", - "c3Ryb2tlcyBhcmUgYWNjZXB0ZWQgZm9yIHRoaXMgYWN0aW9uLiIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAic2luZ2xlQmFyZUZpcnN0U3Ryb2tl", - "U2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3NpbmdsZUJh", - "cmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZyIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogIm51bGwiLAogICAgICAgICAgImRl", - "c2NyaXB0aW9uIjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAiYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRC", - "aW5kaW5nIjogewogICAgICAib25lT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy91bmJvdW5kU2hvcnRjdXRCaW5kaW5nIiwK", - "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmJpbmQgdGhpcyBzaG9ydGN1dC4gQWNjZXB0ZWQgdmFsdWVzIGFyZSBhbiBlbXB0eSBzdHJpbmcsIG5vbmUs", - "IGNsZWFyLCB1bmJvdW5kLCBvciBkaXNhYmxlZC4iCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0", - "cm9rZVNob3J0Y3V0Rmlyc3RTdHJva2UiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpbmdsZS1zdHJva2Ugc2hvcnRjdXQuIEJhcmUgZmlyc3Qgc3Ry", - "b2tlcyBhcmUgYWNjZXB0ZWQgZm9yIHRoaXMgYWN0aW9uLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAg", - "ICAgICJtaW5JdGVtcyI6IDEsCiAgICAgICAgICAibWF4SXRlbXMiOiAyLAogICAgICAgICAgInByZWZpeEl0ZW1zIjogWwogICAgICAgICAgICB7CiAgICAg", - "ICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEZpcnN0U3Ryb2tlIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7", - "CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dFN0cm9rZSIKICAgICAgICAgICAgfQogICAgICAgICAgXSwKICAgICAgICAgICJkZXNj", - "cmlwdGlvbiI6ICJDaG9yZGVkIHNob3J0Y3V0LiBCYXJlIGZpcnN0IHN0cm9rZXMgYXJlIGFjY2VwdGVkIGZvciB0aGlzIGFjdGlvbi4gRXhhbXBsZTogW1wi", - "Z1wiLCBcImdcIl0uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJiYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSI6IHsKICAg", - "ICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nIgogICAgICAg", - "IH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIgog", - "ICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJ1bmJvdW5kU2hvcnRjdXRCaW5kaW5nIjogewogICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAiZW51", - "bSI6IFsiIiwgIm5vbmUiLCAiY2xlYXIiLCAidW5ib3VuZCIsICJkaXNhYmxlZCJdCiAgICB9LAogICAgInNob3J0Y3V0Rmlyc3RTdHJva2UiOiB7CiAgICAg", - "ICJhbGxPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgIH0sCiAgICAgICAgewogICAg", - "ICAgICAgImFueU9mIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXig/Oig/OltjQ11bbU1dW2REXXxbY0NdW29PXVttTV1b", - "bU1dW2FBXVtuTl1bZERdfFtzU11baEhdW2lJXVtmRl1bdFRdfFtvT11bcFBdW3RUXXxbb09dW3BQXVt0VF1baUldW29PXVtuTl18W2FBXVtsTF1bdFRdfFtj", - "Q11bdFRdW3JSXVtsTF18W2NDXVtvT11bbk5dW3RUXVtyUl1bb09dW2xMXXxbY0NdW3RUXVtsTF184oyYfOKHp3zijKV84oyDKVxcKykrIgogICAgICAgICAg", - "ICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXig/OiB8W3NTXVtwUF1bYUFdW2NDXVtlRV18W3NTXVtwUF1bYUFdW2NDXVtl", - "RV1bYkJdW2FBXVtyUl18PFtzU11bcFBdW2FBXVtjQ11bZUVdPikkIgogICAgICAgICAgICB9CiAgICAgICAgICBdCiAgICAgICAgfQogICAgICBdLAogICAg", - "ICAiZGVzY3JpcHRpb24iOiAiRmlyc3Qgb3Igb25seSBzaG9ydGN1dCBzdHJva2UuIE11c3QgaW5jbHVkZSBhIG1vZGlmaWVyIHVubGVzcyB0aGUga2V5IGlz", - "IFNwYWNlLiIKICAgIH0sCiAgICAiYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9rZSI6IHsKICAgICAgImFsbE9mIjogWwogICAgICAgIHsKICAg", - "ICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRTdHJva2UiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYW55T2YiOiBbCiAgICAgICAg", - "ICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86KD86W2NDXVttTV1bZERdfFtjQ11bb09dW21NXVttTV1bYUFdW25OXVtkRF18W3NTXVtoSF1b", - "aUldW2ZGXVt0VF18W29PXVtwUF1bdFRdfFtvT11bcFBdW3RUXVtpSV1bb09dW25OXXxbYUFdW2xMXVt0VF18W2NDXVt0VF1bclJdW2xMXXxbY0NdW29PXVtu", - "Tl1bdFRdW3JSXVtvT11bbExdfFtjQ11bdFRdW2xMXXzijJh84oenfOKMpXzijIMpXFwrKSsiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAg", - "ICAgICAgICAicGF0dGVybiI6ICJeKD86IHxbc1NdW3BQXVthQV1bY0NdW2VFXXxbc1NdW3BQXVthQV1bY0NdW2VFXVtiQl1bYUFdW3JSXXw8W3NTXVtwUF1b", - "YUFdW2NDXVtlRV0+KSQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86W3JSXVtlRV1bdFRdW3VV", - "XVtyUl1bbk5dfFtlRV1bbk5dW3RUXVtlRV1bclJdfOKGqSkkIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4i", - "OiAiXig/OltsTF1bZUVdW2ZGXVt0VF18W2FBXVtyUl1bclJdW29PXVt3V11bbExdW2VFXVtmRl1bdFRdfFtsTF1bZUVdW2ZGXVt0VF1bYUFdW3JSXVtyUl1b", - "b09dW3dXXXzihpB8W3JSXVtpSV1bZ0ddW2hIXVt0VF18W2FBXVtyUl1bclJdW29PXVt3V11bclJdW2lJXVtnR11baEhdW3RUXXxbclJdW2lJXVtnR11baEhd", - "W3RUXVthQV1bclJdW3JSXVtvT11bd1ddfOKGknxbdVVdW3BQXXxbYUFdW3JSXVtyUl1bb09dW3dXXVt1VV1bcFBdfFt1VV1bcFBdW2FBXVtyUl1bclJdW29P", - "XVt3V1184oaRfFtkRF1bb09dW3dXXVtuTl18W2FBXVtyUl1bclJdW29PXVt3V11bZERdW29PXVt3V11bbk5dfFtkRF1bb09dW3dXXVtuTl1bYUFdW3JSXVty", - "Ul1bb09dW3dXXXzihpMpJCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJwYXR0ZXJuIjogIl4oPzpbQS1aYS16MC05XXxb", - "LC4vXFxcXDsnYD1cXFtcXF0tXXxbY0NdW29PXVttTV1bbU1dW2FBXXxbcFBdW2VFXVtyUl1baUldW29PXVtkRF18W2REXVtvT11bdFRdfFtzU11bbExdW2FB", - "XVtzU11baEhdfFtiQl1bYUFdW2NDXVtrS11bc1NdW2xMXVthQV1bc1NdW2hIXXxbc1NdW2VFXVttTV1baUldW2NDXVtvT11bbExdW29PXVtuTl18W3FRXVt1", - "VV1bb09dW3RUXVtlRV18W2FBXVtwUF1bb09dW3NTXVt0VF1bclJdW29PXVtwUF1baEhdW2VFXXxbYkJdW2FBXVtjQ11ba0tdW3RUXVtpSV1bY0NdW2tLXXxb", - "Z0ddW3JSXVthQV1bdlZdW2VFXXxbbU1dW2lJXVtuTl1bdVVdW3NTXXxbaEhdW3lZXVtwUF1baEhdW2VFXVtuTl18W3BQXVtsTF1bdVVdW3NTXXxbZUVdW3FR", - "XVt1VV1bYUFdW2xMXVtzU118W2xMXVtlRV1bZkZdW3RUXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W29PXVtwUF1bZUVdW25OXVtiQl1bclJdW2FB", - "XVtjQ11ba0tdW2VFXVt0VF18W3JSXVtpSV1bZ0ddW2hIXVt0VF1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtjQ11bbExdW29PXVtzU11bZUVdW2JC", - "XVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXSkkIgogICAgICAgICAgICB9CiAgICAgICAgICBdCiAgICAgICAgfQogICAgICBdLAogICAgICAiZGVzY3JpcHRp", - "b24iOiAiRmlyc3Qgb3Igb25seSBzaG9ydGN1dCBzdHJva2UuIEJhcmUgcHJpbnRhYmxlIGtleXMgYXJlIGFjY2VwdGVkIGZvciBhY3Rpb25zIHRoYXQgb3B0", - "IGludG8gYmFyZSBmaXJzdCBzdHJva2VzLiIKICAgIH0sCiAgICAic2hvcnRjdXRTdHJva2UiOiB7CiAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICJw", - "YXR0ZXJuIjogIl4oPzooPzpbY0NdW21NXVtkRF18W2NDXVtvT11bbU1dW21NXVthQV1bbk5dW2REXXxbc1NdW2hIXVtpSV1bZkZdW3RUXXxbb09dW3BQXVt0", - "VF18W29PXVtwUF1bdFRdW2lJXVtvT11bbk5dfFthQV1bbExdW3RUXXxbY0NdW3RUXVtyUl1bbExdfFtjQ11bb09dW25OXVt0VF1bclJdW29PXVtsTF18W2ND", - "XVt0VF1bbExdfOKMmHzih6d84oylfOKMgylcXCspKig/OiB8W0EtWmEtejAtOV18W2xMXVtlRV1bZkZdW3RUXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtsTF1b", - "ZUVdW2ZGXVt0VF18W2xMXVtlRV1bZkZdW3RUXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkHxbclJdW2lJXVtnR11baEhdW3RUXXxbYUFdW3JSXVtyUl1bb09d", - "W3dXXVtyUl1baUldW2dHXVtoSF1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2FBXVtyUl1bclJdW29PXVt3V1184oaSfFt1VV1bcFBdfFthQV1bclJdW3JS", - "XVtvT11bd1ddW3VVXVtwUF18W3VVXVtwUF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpF8W2REXVtvT11bd1ddW25OXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtk", - "RF1bb09dW3dXXVtuTl18W2REXVtvT11bd1ddW25OXVthQV1bclJdW3JSXVtvT11bd1ddfOKGk3xbdFRdW2FBXVtiQl18W3JSXVtlRV1bdFRdW3VVXVtyUl1b", - "bk5dfFtlRV1bbk5dW3RUXVtlRV1bclJdfOKGqXxbc1NdW3BQXVthQV1bY0NdW2VFXXxbc1NdW3BQXVthQV1bY0NdW2VFXVtiQl1bYUFdW3JSXXw8W3NTXVtw", - "UF1bYUFdW2NDXVtlRV0+fFssLi9cXFxcOydgPVxcW1xcXS1dfFtjQ11bb09dW21NXVttTV1bYUFdfFtwUF1bZUVdW3JSXVtpSV1bb09dW2REXXxbZERdW29P", - "XVt0VF18W3NTXVtsTF1bYUFdW3NTXVtoSF18W2JCXVthQV1bY0NdW2tLXVtzU11bbExdW2FBXVtzU11baEhdfFtzU11bZUVdW21NXVtpSV1bY0NdW29PXVts", - "TF1bb09dW25OXXxbcVFdW3VVXVtvT11bdFRdW2VFXXxbYUFdW3BQXVtvT11bc1NdW3RUXVtyUl1bb09dW3BQXVtoSF1bZUVdfFtiQl1bYUFdW2NDXVtrS11b", - "dFRdW2lJXVtjQ11ba0tdfFtnR11bclJdW2FBXVt2Vl1bZUVdfFttTV1baUldW25OXVt1VV1bc1NdfFtoSF1beVldW3BQXVtoSF1bZUVdW25OXXxbcFBdW2xM", - "XVt1VV1bc1NdfFtlRV1bcVFdW3VVXVthQV1bbExdW3NTXXxbbExdW2VFXVtmRl1bdFRdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbb09dW3BQXVtl", - "RV1bbk5dW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbclJdW2lJXVtnR11baEhdW3RUXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W2NDXVts", - "TF1bb09dW3NTXVtlRV1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtmRl0oPzpbMS05XXwxWzAtOV18MjApfFt2Vl1bb09dW2xMXVt1VV1bbU1dW2VF", - "XVt1VV1bcFBdfFttTV1bZUVdW2REXVtpSV1bYUFdW3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bdlZd", - "W29PXVtsTF1bdVVdW21NXVtlRV1bdVVdW3BQXXxbdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bZERdW29PXVt3V11bbk5dfFttTV1bZUVdW2REXVtpSV1bYUFd", - "W3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW2REXVtvT11bd1ddW25OXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLlt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVtk", - "RF1bb09dW3dXXVtuTl18W2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVt1VV1bcFBdfFttTV1bZUVdW2REXVtpSV1bYUFdW2JCXVty", - "Ul1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVt1VV1bcFBdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW2JCXVtyUl1baUldW2dHXVtoSF1bdFRd", - "W25OXVtlRV1bc1NdW3NTXVt1VV1bcFBdfFtiQl1bclJdW2lJXVtnR11baEhdW3RUXVtuTl1bZUVdW3NTXVtzU11bZERdW29PXVt3V11bbk5dfFttTV1bZUVd", - "W2REXVtpSV1bYUFdW2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVtkRF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1c", - "XC5bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW2REXVtvT11bd1ddW25OXXxbbU1dW3VVXVt0VF1bZUVdfFttTV1bZUVdW2REXVtp", - "SV1bYUFdW21NXVt1VV1bdFRdW2VFXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLlttTV1bdVVdW3RUXVtlRV18W3BQXVtsTF1bYUFdW3lZXVtwUF1bYUFdW3VV", - "XVtzU11bZUVdfFttTV1bZUVdW2REXVtpSV1bYUFdW3BQXVtsTF1bYUFdW3lZXVtwUF1bYUFdW3VVXVtzU11bZUVdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwu", - "W3BQXVtsTF1bYUFdW3lZXVtwUF1bYUFdW3VVXVtzU11bZUVdfFtuTl1bZUVdW3hYXVt0VF1bdFRdW3JSXVthQV1bY0NdW2tLXXxbbU1dW2VFXVtkRF1baUld", - "W2FBXVtuTl1bZUVdW3hYXVt0VF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bbk5dW2VFXVt4WF1bdFRdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW25OXVtl", - "RV1beFhdW3RUXVt0VF1bclJdW2FBXVtjQ11ba0tdfFtwUF1bclJdW2VFXVt2Vl1baUldW29PXVt1VV1bc1NdW3RUXVtyUl1bYUFdW2NDXVtrS118W21NXVtl", - "RV1bZERdW2lJXVthQV1bcFBdW3JSXVtlRV1bdlZdW2lJXVtvT11bdVVdW3NTXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltwUF1bclJdW2VFXVt2Vl1baUld", - "W29PXVt1VV1bc1NdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU11bdFRdW3JSXVthQV1bY0NdW2tLXSkk", - "IiwKICAgICAgImRlc2NyaXB0aW9uIjogIk9uZSBrZXlib2FyZCBzaG9ydGN1dCBzdHJva2UgdXNpbmcgbW9kaWZpZXIra2V5IHN5bnRheC4gU3VwcG9ydGVk", - "IGtleSBuYW1lcyBpbmNsdWRlIHNwYWNlLCBTcGFjZSwgPHNwYWNlPiwgYW5kIDxTcGFjZT4uIgogICAgfQogIH0KfQo=", + "ewogICIkc2NoZW1hIjogImh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvc2NoZW1hIiwKICAiJGlkIjogImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tYW5hZmxvdy1haS9jbXV4L21haW4vd2ViL2RhdGEvY211eC5zY2hlbWEuanNvbiIsCiAgInRpdGxlIjogImNtdXguanNvbiIsCiAgImRlc2NyaXB0aW9uIjogImNtdXggY29uZmlndXJhdGlvbi4gR2xvYmFsIGNtdXguanNvbiBzdXBwb3J0cyBhcHAgc2V0dGluZ3MsIHNob3J0Y3V0cywgYWN0aW9ucywgY3VzdG9tIGNvbW1hbmRzLCBub3Rp", + "ZmljYXRpb24gaG9va3MsIGFuZCB3b3Jrc3BhY2UgbGF5b3V0cy4gUHJvamVjdC1sb2NhbCAuY211eC9jbXV4Lmpzb24gb3IgY211eC5qc29uIHN1cHBvcnRzIGFjdGlvbnMsIGNvbW1hbmRzLCBub3RpZmljYXRpb24gaG9va3MsIFVJIGFjdGlvbiB3aXJpbmcsIEFnZW50IENoYXQgb3ZlcnJpZGVzLCB2YXVsdCBhZ2VudHMsIHdvcmtzcGFjZS1ncm91cCBvdmVycmlkZXMsIGFuZCB3b3Jrc3BhY2UgbGF1bmNoL2J1dHRvbiBjb25maWd1cmF0aW9uLiIsCiAgInR5cGUiOiAib2JqZWN0IiwKICAiYWRkaXRpb25hbFByb3BlcnRpZXMi", + "OiBmYWxzZSwKICAicHJvcGVydGllcyI6IHsKICAgICIkc2NoZW1hIjogewogICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAiZm9ybWF0IjogInVyaSIsCiAgICAgICJkZWZhdWx0IjogImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tYW5hZmxvdy1haS9jbXV4L21haW4vd2ViL2RhdGEvY211eC5zY2hlbWEuanNvbiIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBzY2hlbWEgVVJMIGZvciBlZGl0b3IgY29tcGxldGlvbiBhbmQgdmFsaWRhdGlvbi4iCiAgICB9LAogICAgInNjaGVtYVZlcnNpb24i", + "OiB7CiAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAgICAibWluaW11bSI6IDEsCiAgICAgICJkZWZhdWx0IjogMSwKICAgICAgImRlc2NyaXB0aW9uIjogIlNjaGVtYSB2ZXJzaW9uIGZvciBmb3J3YXJkLWNvbXBhdGlibGUgbWlncmF0aW9ucy4gTmV3ZXIgdmVyc2lvbnMgYXJlIHBhcnNlZCBvbiBhIGJlc3QtZWZmb3J0IGJhc2lzLiIKICAgIH0sCiAgICAicGFuZUJvcmRlckNvbG9yIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAog", + "ICAgICAiZGVmYXVsdCI6IG51bGwsCiAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMucGFuZUJvcmRlckNvbG9yIiwKICAgICAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlIHRoZSBjbXV4IHBhbmUgZGl2aWRlciBjb2xvciBpbiBzcGxpdCB3b3Jrc3BhY2VzLiBUaGlzIGFmZmVjdHMgY211eCBwYW5lIGJvdW5kYXJpZXMsIG5vdCBHaG9zdHR5IGludGVybmFsIHNwbGl0cy4iCiAgICB9LAogICAgImFjdGl2ZVBhbmVCb3JkZXJDb2xvciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJd", + "LAogICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFjdGl2ZVBhbmVCb3JkZXJDb2xvciIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBib3JkZXIgY29sb3IgZHJhd24gYXJvdW5kIHRoZSBmb2N1c2VkIGNtdXggcGFuZSBpbiBzcGxpdCB3b3Jrc3BhY2VzLiIKICAgIH0sCiAgICAiYWN0aW9ucyI6IHsKICAgICAgInRpdGxlIjogImFjdGlvbnMiLAogICAgICAiZGVzY3JpcHRp", + "b24iOiAiQWN0aW9uIHJlZ2lzdHJ5IHVzZWQgYnkgdGhlIHN1cmZhY2UgdGFiIGJhciwgQ29tbWFuZCBQYWxldHRlLCBzaG9ydGN1dHMsIGFuZCBwbHVzLWJ1dHRvbiBtZW51LiBFYWNoIGVudHJ5IHN1cHBvcnRzIHR5cGUgXCJidWlsdGluXCIsIFwiY29tbWFuZFwiLCBcImFnZW50XCIgKGFueSBDTEkgYWdlbnQgbmFtZSwgZS5nLiBjbGF1ZGUsIGNvZGV4LCBvcGVuY29kZSwgb3IgYSBjdXN0b20gYmluYXJ5LCB3aXRoIG9wdGlvbmFsIGFyZ3MpLCBcIndvcmtzcGFjZUNvbW1hbmRcIiwgb3IgXCJ3b3Jrc3BhY2VcIiAoaW5saW5l", + "IHdvcmtzcGFjZSB3aXRoIG5hbWUvY3dkL2NvbG9yL2Vudi9zZXR1cC9sYXlvdXQsIHBsdXMgb3B0aW9uYWwgcmVzdGFydCkuIElubGluZSB3b3Jrc3BhY2UgZW50cmllcyBhcmUgYXV0by1vZmZlcmVkIGluIHRoZSBuZXctd29ya3NwYWNlIHBsdXMtYnV0dG9uIG1lbnU7IHNldCBuZXdXb3Jrc3BhY2VNZW51IHRydWUvZmFsc2Ugb24gYW55IGFjdGlvbiB0byBvdmVycmlkZS4gXCJTYXZlIFdvcmtzcGFjZSBhcyBMYXlvdXRcIiBpbiB0aGUgcGx1cy1idXR0b24gbWVudSB3cml0ZXMgZW50cmllcyBoZXJlLiIsCiAgICAgICJ0eXBl", + "IjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHRydWUKICAgIH0sCiAgICAidWkiOiB7CiAgICAgICJ0aXRsZSI6ICJ1aSIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJVSSBhY3Rpb24gd2lyaW5nLCBpbmNsdWRpbmcgc3VyZmFjZSB0YWIgYmFyIGJ1dHRvbnMgYW5kIHBsdXMtYnV0dG9uIGJlaGF2aW9yLiBUaGUgcGx1cy1idXR0b24gY29udGV4dCBtZW51IHNob3dzIHVpLm5ld1dvcmtzcGFjZS5jb250ZXh0TWVudSAob3IgdGhlIGRlZmF1bHQgaXRlbXMpIGZvbGxvd2VkIGJ5IGFjdGlvbnMgdGhhdCBv", + "cHQgaW4gdmlhIG5ld1dvcmtzcGFjZU1lbnUuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgIm5ld1dvcmtzcGFjZSI6IHsKICAgICAgICAgICJ0aXRsZSI6ICJuZXdXb3Jrc3BhY2UiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk5ldyBXb3Jrc3BhY2UgYnV0dG9uIGJlaGF2aW9yIGFuZCBjb250ZXh0LW1lbnUgd2lyaW5nLiIsCiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0", + "aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZSwKICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiYWN0aW9uIjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIklEIG9mIHRoZSBhY3Rpb24gcnVuIGJ5IHBsYWluIE5ldyBXb3Jrc3BhY2UuIFRoaXMgaXMgdGhlIGRlZmF1bHQgd29ya3NwYWNlIGxheW91dDsgb21pdCBvciByZW1vdmUgaXQgZm9yIE5vbmUgKEJsYW5rIFRlcm1pbmFsKS4gUHJvamVjdC1sb2NhbCB1aS5uZXdXb3Jrc3BhY2UuYWN0aW9u", + "IHdpbnMgb3ZlciB0aGUgZ2xvYmFsIHZhbHVlLiIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJjb21tYW5kcyI6IHsKICAgICAgInRpdGxlIjogImNvbW1hbmRzIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkN1c3RvbSBzaGVsbCBjb21tYW5kcyBhbmQgd29ya3NwYWNlIGxheW91dCBkZWZpbml0aW9ucy4gV29ya3NwYWNlIGRlZmluaXRpb25zIHN1cHBvcnQgbmFtZSwgY3dkLCBjb2xvciwgZW52LCBsYXlvdXQsIGFuZCBzZXR1cCAoYSBib290c3RyYXAgY29tbWFuZCBzZW50", + "IHRvIHRoZSBmaXJzdCB0ZXJtaW5hbCBiZWZvcmUgaXRzIG93biBjb21tYW5kKS4iLAogICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICJpdGVtcyI6IHsKICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHRydWUKICAgICAgfQogICAgfSwKICAgICJjb21wdXRlclVzZSI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAiY29tcHV0ZXJVc2UiLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3Bl", + "cnRpZXMiOiBmYWxzZSwKICAgICAgImRlc2NyaXB0aW9uIjogIkxvY2FsIGNvbXB1dGVyLXVzZSB0b29scyBhbmQgbWVudS1iYXIgdmlzaWJpbGl0eS4iLAogICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmNvbXB1dGVyVXNlLmRlc2NyaXB0aW9uIiwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbGxvdyBzdXBwb3J0ZWQg", + "YWdlbnQgbGF1bmNoZXMgaW4gY211eCB0ZXJtaW5hbHMgdG8gYXR0YWNoIHRoZSBsb2NhbCBjb21wdXRlci11c2UgdG9vbHMuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuY29tcHV0ZXJVc2UuZW5hYmxlZCIKICAgICAgICB9LAogICAgICAgICJzaG93SW5NZW51QmFyIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBsaXZlIGNvbXB1dGVyLXVzZSBzZXNzaW9ucyBhbmQg", + "Zm9jdXMgYWN0aW9ucyBpbiB0aGUgbWVudSBiYXIuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuY29tcHV0ZXJVc2Uuc2hvd0luTWVudUJhciIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiYWdlbnRDaGF0IjogewogICAgICAidGl0bGUiOiAiYWdlbnRDaGF0IiwKICAgICAgImRlc2NyaXB0aW9uIjogIkFnZW50IENoYXQgR1VJIHNlcnZlciBzZXR0aW5ncy4gVGhlIGJ1aWx0LWluIE5ldyBhZ2VudCBjaGF0IGFjdGlvbiBvcGVucyB0aGlzIFVSTCBpbiBhIGJyb3dzZXIgd29y", + "a3NwYWNlLCBwcm9iaW5nIC9oZWFsdGh6IGZpcnN0IGFuZCBvcHRpb25hbGx5IHN0YXJ0aW5nIHRoZSBzZXJ2ZXIgd2l0aCBzdGFydENvbW1hbmQuIiwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZGVzY3JpcHRpb24iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgInVybCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZm9ybWF0", + "IjogInVyaSIsCiAgICAgICAgICAicGF0dGVybiI6ICJeaHR0cHM/Oi8vIiwKICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgImRlZmF1bHQiOiAiaHR0cDovLzEyNy4wLjAuMTo3NzM5IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJCYXNlIFVSTCBmb3IgdGhlIG1hY2hpbmUtbG9jYWwgQWdlbnQgQ2hhdCBHVUkgc2VydmVyLiBjbXV4IHByb2JlcyA8dXJsPi9oZWFsdGh6IGJlZm9yZSBvcGVuaW5nIHRoZSB3b3Jrc3BhY2UuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlv", + "bnMuYWdlbnRDaGF0LnVybCIKICAgICAgICB9LAogICAgICAgICJzdGFydENvbW1hbmQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgc2hlbGwgY29tbWFuZCB0byBzdGFydCB0aGUgQWdlbnQgQ2hhdCBzZXJ2ZXIgd2hlbiA8dXJsPi9oZWFsdGh6IGlzIHVucmVhY2hhYmxlLiBjbXV4IHJ1bnMgaXQgZGV0YWNoZWQgd2l0aCB0aGUgdXNlcidzIFNIRUxMLCBwb2xscyBoZWFsdGh6IGZvciBhIHNob3J0IGJvdW5k", + "ZWQgd2luZG93LCB0aGVuIG9wZW5zIHRoZSB3b3Jrc3BhY2UgZWl0aGVyIHdheS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuc3RhcnRDb21tYW5kIgogICAgICAgIH0sCiAgICAgICAgImtleXMiOiB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiS2V5Ym9hcmQgYmVoYXZpb3Igb3ZlcnJpZGVzIGZvciB0aGUgQWdlbnQgQ2hhdCB3ZWIgVUku", + "IiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmtleXMuZGVzY3JpcHRpb24iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJjdHJsSiI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJlbnVtIjogWyJuZXdsaW5lIiwgIm1lbnUiXSwKICAgICAgICAgICAgICAiZGVmYXVsdCI6ICJuZXdsaW5lIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQmVoYXZpb3IgZm9yIEN0cmwrSiBpbiBBZ2VudCBD", + "aGF0IHRleHQgZmllbGRzLiBVc2UgbmV3bGluZSB0byBpbnNlcnQgYSBsaW5lIGJyZWFrLCBvciBtZW51IHRvIG1vdmUgdG8gdGhlIG5leHQgcG9wdXAgaXRlbSB3aGlsZSBhIG1lbnUgaXMgb3Blbi4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmtleXMuY3RybEoiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJmb250cyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3Bl", + "cnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGb250IG92ZXJyaWRlcyBmb3IgdGhlIEFnZW50IENoYXQgd2ViIFVJLiBPbWl0dGVkIHZhbHVlcyBmYWxsIGJhY2sgdG8gR2hvc3R0eSBhbmQgYnVpbHQtaW4gZGVmYXVsdHMuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmRlc2NyaXB0aW9uIiwKICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAic2Fuc0ZhbWlseSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJz", + "dHJpbmciLAogICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDU1MgZm9udCBmYW1pbHkgdXNlZCBmb3IgQWdlbnQgQ2hhdCBib2R5IGFuZCBVSSB0ZXh0LiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuc2Fuc0ZhbWlseSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImJvZHlGYW1pbHkiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAibWluTGVu", + "Z3RoIjogMSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWxpYXMgZm9yIHNhbnNGYW1pbHkuIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5ib2R5RmFtaWx5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZmFtaWx5IjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsaWFzIGZvciBzYW5zRmFtaWx5LiIsCiAg", + "ICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuZmFtaWx5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiYmFzZVNpemUiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkJhc2UgQWdlbnQgQ2hhdCBmb250IHNpemUgaW4gQ1NTIHBpeGVscy4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNj", + "cmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmJhc2VTaXplIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiYm9keVNpemUiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICAgICAiZXhjbHVzaXZlTWluaW11bSI6IDAsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsaWFzIGZvciBiYXNlU2l6ZS4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLmJvZHlTaXplIgogICAgICAgICAgICB9LAogICAgICAgICAg", + "ICAibW9ub0ZhbWlseSI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDU1MgZm9udCBmYW1pbHkgdXNlZCBmb3IgQWdlbnQgQ2hhdCBjb2RlIGFuZCBtb25vc3BhY2UgdGV4dC4iLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYWdlbnRDaGF0LmZvbnRzLm1vbm9GYW1pbHkiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJjb2RlRmFtaWx5IjogewogICAg", + "ICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsaWFzIGZvciBtb25vRmFtaWx5LiIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hZ2VudENoYXQuZm9udHMuY29kZUZhbWlseSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImNvZGVTaXplIjogewogICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAgICAgImV4Y2x1c2l2ZU1pbmltdW0iOiAw", + "LAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBZ2VudCBDaGF0IGNvZGUgZm9udCBzaXplIGluIENTUyBwaXhlbHMuIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5jb2RlU2l6ZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm1vbm9TaXplIjogewogICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAgICAgImV4Y2x1c2l2ZU1pbmltdW0iOiAwLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbGlhcyBm", + "b3IgY29kZVNpemUuIiwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5tb25vU2l6ZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImNvZGVMaW5lSGVpZ2h0IjogewogICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAgICAgImV4Y2x1c2l2ZU1pbmltdW0iOiAwLAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMaW5lLWhlaWdodCBtdWx0aXBsaWVyIHVzZWQgZm9yIEFnZW50IENoYXQgY29kZSBibG9ja3MuIiwKICAg", + "ICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFnZW50Q2hhdC5mb250cy5jb2RlTGluZUhlaWdodCIKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJ2YXVsdCI6IHsKICAgICAgInRpdGxlIjogInZhdWx0IiwKICAgICAgImRlc2NyaXB0aW9uIjogIlZhdWx0IHNlc3Npb24gcmVzdG9yZSBhZ2VudCByZWdpc3RyYXRpb25zLiBjbXV4IGluY2x1ZGVzIFBpIGJ5IGRlZmF1bHQ7IHVzZSB0aGlzIHNlY3Rpb24gdG8gYWRkIG9yIG92ZXJyaWRl", + "IEpTT05MLWJhY2tlZCBjb2RpbmcgYWdlbnRzIHdpdGhvdXQgYW4gYXBwIHVwZGF0ZS4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImFnZW50cyI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDdXN0b20gY29kaW5nIGFnZW50cyB0aGF0IFZhdWx0IGNhbiBkZXRlY3QsIGxpc3QsIGFuZCByZXN1bWUuIiwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAg", + "ICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogdHJ1ZSwKICAgICAgICAgICAgInJlcXVpcmVkIjogWyJpZCIsICJuYW1lIiwgInNlc3Npb25JZFNvdXJjZSIsICJyZXN1bWVDb21tYW5kIl0sCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICJpZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAicGF0dGVybiI6ICJeW0EtWmEtejAtOS5fLV0rJCIsCiAgICAgICAgICAgICAgICAibWF4TGVuZ3Ro", + "IjogNjQsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU3RhYmxlIGNhc2UtcHJlc2VydmluZyBBU0NJSSBpZGVudGlmaWVyIHVzZWQgaW4gVmF1bHQgcGVyc2lzdGVuY2UsIGZvciBleGFtcGxlIHBpLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJuYW1lIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNwbGF5IG5hbWUgc2hvd24gaW4gVmF1bHQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImljb25Bc3Nl", + "dE5hbWUiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIGFzc2V0IGNhdGFsb2cgaW1hZ2UgbmFtZSBzaG93biBmb3IgdGhpcyBhZ2VudCBpbiBWYXVsdC4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiZGV0ZWN0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJ1", + "bGVzIGZvciBkZXRlY3RpbmcgYSBydW5uaW5nIGFnZW50IHByb2Nlc3MgaW5zaWRlIGEgY211eCB0ZXJtaW5hbC4iLAogICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAgICJwcm9jZXNzTmFtZSI6IHsKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFeGVjdXRhYmxlIGJhc2VuYW1lIHRvIG1hdGNoLCBmb3IgZXhhbXBsZSBwaS4iCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJhcmd2", + "Q29udGFpbnMiOiB7CiAgICAgICAgICAgICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICAgICAgICAgICAgeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1zIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdWJzdHJpbmcg", + "b3Igc3Vic3RyaW5ncyB0aGF0IG11c3QgYXBwZWFyIGluIHRoZSBwcm9jZXNzIGFyZ3YuIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAic2Vzc2lvbklkU291cmNlIjogewogICAgICAgICAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVXNlIHBpU2Vzc2lvbkZpbGUgZm9yIFBpIEpTT05MIGRpc2Nv", + "dmVyeSwgb3IgYW4gYXJndiBvcHRpb24gc3VjaCBhcyAtLXNlc3Npb24uIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAicmVxdWlyZWQiOiBbInR5cGUiXSwKICAgICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogewogICAgICAgICAgICAgICAg", + "ICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAiZW51bSI6IFsiYXJndk9wdGlvbiIsICJwaVNlc3Npb25GaWxlIl0KICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAiYXJndk9wdGlvbiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbiB3aG9zZSBmb2xsb3dpbmcgdmFsdWUgaXMgdGhlIHNlc3Npb24gaWQsIGZvciBleGFtcGxlIC0tc2Vz", + "c2lvbi4iCiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYWxsT2YiOiBbCiAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJpZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogeyAiY29uc3QiOiAiYXJndk9wdGlvbiIgfQogICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwK", + "ICAgICAgICAgICAgICAgICAgICAgICAgInRoZW4iOiB7ICJyZXF1aXJlZCI6IFsiYXJndk9wdGlvbiJdIH0KICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJpZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogeyAiY29uc3QiOiAicGlTZXNzaW9uRmlsZSIgfQogICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg", + "ICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInRoZW4iOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vdCI6IHsgInJlcXVpcmVkIjogWyJhcmd2T3B0aW9uIl0gfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZXJlIGNtdXggcmVhZHMgdGhlIG5hdGl2ZSBzZXNzaW9uIGlkIGZvciBhbiBhY3RpdmUg", + "cHJvY2Vzcy4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAicmVzdW1lQ29tbWFuZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiYW55T2YiOiBbCiAgICAgICAgICAgICAgICAgIHsgInBhdHRlcm4iOiAiXFx7XFx7c2Vzc2lvbklkXFx9XFx9IiB9LAogICAgICAgICAgICAgICAgICB7ICJwYXR0ZXJuIjogIlxce1xce3Nlc3Npb25QYXRoXFx9XFx9IiB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsLWxpa2Ug", + "YXJndiB0ZW1wbGF0ZSB1c2VkIHRvIHJlc3VtZSBhIHNlc3Npb24uIFN1cHBvcnRlZCBwbGFjZWhvbGRlcnM6IHt7c2Vzc2lvbklkfX0sIHt7c2Vzc2lvblBhdGh9fSwge3tleGVjdXRhYmxlfX0sIHt7Y3dkfX0sIHt7c2Vzc2lvbkRpcn19LiBNdXN0IGluY2x1ZGUge3tzZXNzaW9uSWR9fSBvciB7e3Nlc3Npb25QYXRofX0uIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImZvcmtDb21tYW5kIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJhbnlPZiI6IFsKICAgICAg", + "ICAgICAgICAgICAgeyAicGF0dGVybiI6ICJcXHtcXHtzZXNzaW9uSWRcXH1cXH0iIH0sCiAgICAgICAgICAgICAgICAgIHsgInBhdHRlcm4iOiAiXFx7XFx7c2Vzc2lvblBhdGhcXH1cXH0iIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0aW9uYWwgc2hlbGwtbGlrZSBhcmd2IHRlbXBsYXRlIHVzZWQgdG8gZm9yayAoYnJhbmNoKSBhIHNlc3Npb24gaW50byBhIG5ldyBjb3B5LCBmb3IgZXhhbXBsZSBcInt7ZXhlY3V0YWJsZX19IC0tc2Vzc2lvbiB7e3Nlc3Npb25JZH19IC0t", + "Zm9ya1wiLiBTYW1lIHBsYWNlaG9sZGVycyBhcyByZXN1bWVDb21tYW5kLiBPbWl0IHdoZW4gdGhlIGFnZW50IGhhcyBubyBmb3JrIGNhcGFiaWxpdHk7IEZvcmsgQ29udmVyc2F0aW9uIHN0YXlzIGhpZGRlbiBmb3IgaXQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImN3ZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZW51bSI6IFsicHJlc2VydmUiLCAiaWdub3JlIl0sCiAgICAgICAgICAgICAgICAiZGVmYXVsdCI6ICJwcmVzZXJ2ZSIsCiAgICAgICAgICAg", + "ICAgICAiZGVzY3JpcHRpb24iOiAiV2hldGhlciBWYXVsdCBzaG91bGQgY2QgdG8gdGhlIHNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGJlZm9yZSBydW5uaW5nIHJlc3VtZUNvbW1hbmQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInNlc3Npb25EaXJlY3RvcnkiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHJvb3QgZGlyZWN0b3J5IGZvciBKU09OTCBzZXNzaW9uIGRpc2NvdmVyeSwgc3VjaCBhcyB+Ly5waS9hZ2VudC9z", + "ZXNzaW9ucy4iCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgImRlZmF1bHQiOiBbXQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJuZXdXb3Jrc3BhY2VDb21tYW5kIjogewogICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IG5hbWUgb2YgYSB3b3Jrc3BhY2UgY29tbWFuZCB0byBydW4gd2hlbiBjcmVhdGluZyBhIG5ldyB3b3Jrc3BhY2UuIFByZWZlciB1aS5uZXdXb3Jrc3BhY2UuYWN0aW9uIGZvciBuZXcgY29uZmlncy4iCiAg", + "ICB9LAogICAgIndvcmtzcGFjZUdyb3VwcyI6IHsKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgInRpdGxlIjogIndvcmtzcGFjZUdyb3VwcyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJQZXItY3dkIGN1c3RvbWl6YXRpb24gZm9yIHNpZGViYXIgd29ya3NwYWNlIGdyb3Vwcy4gVGhlIGFuY2hvciB3b3Jrc3BhY2UncyBjd2QgaXMgbWF0Y2hlZCBhZ2FpbnN0IHRoZSBrZXlzIGluIGBieUN3ZGA7IGxvbmdlc3QtbWF0Y2ggd2lucy4gS2V5cyBjb250YWluaW5nIGAqYCBvciBgP2AgYXJlIG1hdGNoZWQgYXMgZm5tYXRjaCBn", + "bG9icyAod2l0aCBgfmAgZXhwYW5kZWQpOyBvdGhlciBrZXlzIGFyZSBwYXRoIHByZWZpeGVzLiIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAibmV3V29ya3NwYWNlUGxhY2VtZW50IjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJhZnRlckN1cnJlbnQiLCAidG9wIiwgImVuZCJdLAogICAgICAgICAgImRlZmF1bHQiOiAiYWZ0ZXJDdXJy", + "ZW50IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJHbG9iYWwgZGVmYXVsdCBmb3Igd2hlcmUgQ21kLU4gaW5zaWRlIGEgZ3JvdXAsIHRoZSBncm91cCBoZWFkZXIgKyBidXR0b24sIGFuZCBjb25maWd1cmVkIGdyb3VwIGFjdGlvbnMgcGxhY2UgdGhlIG5ldyB3b3Jrc3BhY2U6IGBhZnRlckN1cnJlbnRgIChhZnRlciB0aGUgYWN0aXZlIGluLWdyb3VwIHdvcmtzcGFjZSwgZmFsbGluZyBiYWNrIHRvIHRvcCksIGB0b3BgIChzZWNvbmQgc2xvdCwganVzdCBhZnRlciB0aGUgYW5jaG9yKSwgb3IgYGVuZGAgKGFmdGVyIHRoZSBs", + "YXN0IG1lbWJlcikuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMud29ya3NwYWNlR3JvdXBzLm5ld1dvcmtzcGFjZVBsYWNlbWVudCIKICAgICAgICB9LAogICAgICAgICJieUN3ZCI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTWFwIG9mIGN3ZCBwYXR0ZXJucyB0byBncm91cCBjdXN0b21pemF0aW9uLiBFbXB0eSB3aGVuIG9taXR0ZWQuIiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAg", + "InR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICJjb2xvciI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGV4IGNvbG9yIChlLmcuIFwiIzdBNEZEOFwiKSBhcHBsaWVkIGFzIHRoZSBncm91cCBoZWFkZXIgdGludCB3aGVuIHRoZSBncm91cCBpdHNlbGYgaGFzIG5vIGV4cGxpY2l0IGN1c3RvbUNvbG9yLiIKICAgICAg", + "ICAgICAgICB9LAogICAgICAgICAgICAgICJpY29uIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTRiBTeW1ib2wgbmFtZSAoZS5nLiBcImZvbGRlci5maWxsXCIsIFwibGFkeWJ1Zy5maWxsXCIpIGZvciB0aGUgZ3JvdXAgaGVhZGVyLiBGYWxscyBiYWNrIHRvIFwiZm9sZGVyLmZpbGxcIiB3aGVuIG9taXR0ZWQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNvbnRleHRNZW51IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiYXJy", + "YXkiLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkl0ZW1zIGFwcGVhcmluZyBpbiB0aGUgcmlnaHQtY2xpY2sgbWVudSBvbiB0aGUgZ3JvdXAncyArIGJ1dHRvbi4gU2FtZSBzY2hlbWEgYXMgdGhlIGdsb2JhbCB1aS5uZXdXb3Jrc3BhY2UuY29udGV4dE1lbnUgZW50cmllcy4iLAogICAgICAgICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAgICAgICAib25lT2YiOiBbCiAgICAgICAgICAgICAgICAgICAgeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAgICAgICAgICAgICAgICAgeyAidHlwZSI6ICJvYmpl", + "Y3QiLCAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB0cnVlIH0KICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIm5ld1dvcmtzcGFjZVBsYWNlbWVudCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZW51bSI6IFsiYWZ0ZXJDdXJyZW50IiwgInRvcCIsICJlbmQiXSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJQZXItY3dkIG92ZXJyaWRlIGZvciB3aGVyZSBDbWQtTiBpbnNpZGUgdGhlIGdy", + "b3VwLCB0aGUgZ3JvdXAgaGVhZGVyICsgYnV0dG9uLCBhbmQgY29uZmlndXJlZCBncm91cCBhY3Rpb25zIHBsYWNlIHRoZSBuZXcgd29ya3NwYWNlOiBgYWZ0ZXJDdXJyZW50YCAoYWZ0ZXIgdGhlIGFjdGl2ZSBpbi1ncm91cCB3b3Jrc3BhY2UsIGZhbGxpbmcgYmFjayB0byB0b3ApLCBgdG9wYCAoc2Vjb25kIHNsb3QsIGp1c3QgYWZ0ZXIgdGhlIGFuY2hvciksIG9yIGBlbmRgIChhZnRlciB0aGUgbGFzdCBtZW1iZXIpLiBGYWxscyBiYWNrIHRvIHRoZSBnbG9iYWwgZGVmYXVsdCB3aGVuIG9taXR0ZWQuIiwKICAgICAgICAgICAg", + "ICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMud29ya3NwYWNlR3JvdXBzLmJ5Q3dkLm5ld1dvcmtzcGFjZVBsYWNlbWVudCIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAic3VyZmFjZVRhYkJhckJ1dHRvbnMiOiB7CiAgICAgICJ0aXRsZSI6ICJzdXJmYWNlVGFiQmFyQnV0dG9ucyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgcm9vdC1sZXZlbCBzdXJmYWNlIHRhYiBiYXIgYnV0dG9ucy4gUHJlZmVyIHVpLnN1", + "cmZhY2VUYWJCYXIuYnV0dG9ucyBmb3IgbmV3IGNvbmZpZ3MuIiwKICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAiaXRlbXMiOiB7CiAgICAgICAgIm9uZU9mIjogWwogICAgICAgICAgeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHRydWUKICAgICAgICAgIH0KICAgICAgICBdCiAgICAgIH0KICAgIH0sCiAgICAiYXBwIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAg", + "ICAgICJ0aXRsZSI6ICJhcHAiLAogICAgICAiZGVzY3JpcHRpb24iOiAiR2VuZXJhbCBhcHAgcHJlZmVyZW5jZXMgZnJvbSBTZXR0aW5ncyA+IEFwcC4iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImxhbmd1YWdlIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAic3lzdGVtIiwKICAgICAgICAgICAgImVuIiwKICAgICAgICAgICAgImFyIiwK", + "ICAgICAgICAgICAgImJzIiwKICAgICAgICAgICAgInpoLUhhbnMiLAogICAgICAgICAgICAiemgtSGFudCIsCiAgICAgICAgICAgICJkYSIsCiAgICAgICAgICAgICJkZSIsCiAgICAgICAgICAgICJlcyIsCiAgICAgICAgICAgICJmciIsCiAgICAgICAgICAgICJpdCIsCiAgICAgICAgICAgICJqYSIsCiAgICAgICAgICAgICJrbyIsCiAgICAgICAgICAgICJuYiIsCiAgICAgICAgICAgICJwbCIsCiAgICAgICAgICAgICJwdC1CUiIsCiAgICAgICAgICAgICJydSIsCiAgICAgICAgICAgICJ0aCIsCiAgICAgICAgICAgICJ0ciIK", + "ICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzeXN0ZW0iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlByZWZlcnJlZCBhcHAgbGFuZ3VhZ2UuIgogICAgICAgIH0sCiAgICAgICAgImFwcGVhcmFuY2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInN5c3RlbSIsICJsaWdodCIsICJkYXJrIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzeXN0ZW0iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFwcCBhcHBlYXJhbmNlIG1vZGUuIgogICAgICAgIH0sCiAgICAg", + "ICAgImFwcEljb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImF1dG9tYXRpYyIsICJsaWdodCIsICJkYXJrIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJhdXRvbWF0aWMiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRvY2sgYW5kIGFwcCBzd2l0Y2hlciBpY29uIHN0eWxlLiIKICAgICAgICB9LAogICAgICAgICJ3aW5kb3dUaXRsZVRlbXBsYXRlIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVz", + "Y3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC53aW5kb3dUaXRsZVRlbXBsYXRlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBOU1dpbmRvdyB0aXRsZSB0ZW1wbGF0ZS4gQmxhbmsgcHJlc2VydmVzIGNtdXgncyBleGlzdGluZyBkZWZhdWx0IHRpdGxlIGJlaGF2aW9yLCBpbmNsdWRpbmcgdGhlIGN1cnJlbnQtZGlyZWN0b3J5IGZhbGxiYWNrLiBTdXBwb3J0ZWQgcGxhY2Vob2xkZXJzOiB7d2luZG93SWR9LCB7d2luZG93VG9rZW59LCB7YWN0aXZlV29ya3NwYWNlfSwge2FjdGl2ZURpcmVj", + "dG9yeX0sIHtkZWZhdWx0VGl0bGV9LCB7YXBwTmFtZX0uIgogICAgICAgIH0sCiAgICAgICAgIm1lbnVCYXJPbmx5IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGhlIERvY2sgaWNvbiBhbmQgYXBwIHN3aXRjaGVyIGVudHJ5IHdoaWxlIGtlZXBpbmcgY211eCBhdmFpbGFibGUgZnJvbSB0aGUgbWVudSBiYXIuIgogICAgICAgIH0sCiAgICAgICAgIm5ld1dvcmtzcGFjZVBsYWNlbWVudCI6IHsKICAgICAgICAg", + "ICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsidG9wIiwgImFmdGVyQ3VycmVudCIsICJlbmQiXSwKICAgICAgICAgICJkZWZhdWx0IjogImFmdGVyQ3VycmVudCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlcmUgbmV3IHdvcmtzcGFjZXMgYXJlIGluc2VydGVkIGluIHRoZSBzaWRlYmFyLiIKICAgICAgICB9LAogICAgICAgICJmb3JrQ29udmVyc2F0aW9uRGVmYXVsdERlc3RpbmF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJyaWdodCIsICJs", + "ZWZ0IiwgInRvcCIsICJib3R0b20iLCAibmV3VGFiIiwgIm5ld1dvcmtzcGFjZSJdLAogICAgICAgICAgImRlZmF1bHQiOiAicmlnaHQiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hcHAuZm9ya0NvbnZlcnNhdGlvbkRlZmF1bHREZXN0aW5hdGlvbiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVmYXVsdCBkZXN0aW5hdGlvbiBmb3IgdGhlIHRhYiBjb250ZXh0IG1lbnUncyBwcmltYXJ5IEZvcmsgQ29udmVyc2F0aW9uIGFjdGlvbi4gVGhlIHN1Ym1lbnUgc3RpbGwgZXhwb3Nl", + "cyBldmVyeSBkZXN0aW5hdGlvbi4iCiAgICAgICAgfSwKICAgICAgICAid29ya3NwYWNlSW5oZXJpdFdvcmtpbmdEaXJlY3RvcnkiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUsIG5ldyB3b3Jrc3BhY2VzIGluaGVyaXQgdGhlIGN1cnJlbnQgd29ya3NwYWNlIHdvcmtpbmcgZGlyZWN0b3J5LiBXaGVuIGZhbHNlLCBuZXcgd29ya3NwYWNlcyB1c2UgR2hvc3R0eSdzIHdvcmtpbmctZGlyZWN0b3J5IHNldHRp", + "bmcgaW5zdGVhZC4iCiAgICAgICAgfSwKICAgICAgICAibWluaW1hbE1vZGUiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlkZSB0aGUgd29ya3NwYWNlIHRpdGxlIGJhciBhbmQgbW92ZSBjb250cm9scyBpbnRvIHRoZSBzaWRlYmFyLiIKICAgICAgICB9LAogICAgICAgICJrZWVwV29ya3NwYWNlT3BlbldoZW5DbG9zaW5nTGFzdFN1cmZhY2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAg", + "ICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiB0cnVlLCBjbG9zaW5nIHRoZSBsYXN0IHN1cmZhY2Uga2VlcHMgdGhlIHdvcmtzcGFjZSBvcGVuLiIKICAgICAgICB9LAogICAgICAgICJmb2N1c1BhbmVPbkZpcnN0Q2xpY2siOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIGNtdXggaXMgaW5hY3RpdmUsIHRoZSBmaXJzdCBjbGljayBjYW4gYWN0aXZhdGUgYW5kIGZvY3VzIHRo", + "ZSBjbGlja2VkIHBhbmUuIgogICAgICAgIH0sCiAgICAgICAgInBhbmVSZXNpemVTdGVwUGl4ZWxzIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAibWF4aW11bSI6IDIwMCwKICAgICAgICAgICJkZWZhdWx0IjogMjAsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUGl4ZWxzIG1vdmVkIHBlciBrZXlwcmVzcyB3aGVuIHVzaW5nIHBhbmUtcmVzaXplIHNob3J0Y3V0cy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9u", + "cy5hcHAucGFuZVJlc2l6ZVN0ZXBQaXhlbHMiCiAgICAgICAgfSwKICAgICAgICAiZm9jdXNIaXN0b3J5SW5jbHVkZXNQYW5lc0FuZFRhYnMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiB0cnVlLCBCYWNrIGFuZCBGb3J3YXJkIGluY2x1ZGUgZm9jdXMgY2hhbmdlcyBiZXR3ZWVuIHBhbmVzIGFuZCB0YWJzLiBXaGVuIGZhbHNlLCB0aGV5IG5hdmlnYXRlIGJldHdlZW4gd29ya3NwYWNlcyBvbmx5LiIKICAgICAg", + "ICB9LAogICAgICAgICJwcmVmZXJyZWRFZGl0b3IiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDdXN0b20gZWRpdG9yIGNvbW1hbmQgdXNlZCB3aGVuIENtZC1jbGljayBmaWxlIHByZXZpZXdzIGFyZSBkaXNhYmxlZCBvciBhIGZpbGUgaXMgdW5zdXBwb3J0ZWQuIExlYXZlIGVtcHR5IHRvIHVzZSB0aGUgZGVmYXVsdC4iCiAgICAgICAgfSwKICAgICAgICAib3BlblN1cHBvcnRlZEZpbGVzSW5DbXV4IjogewogICAgICAgICAg", + "InR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiBlbmFibGVkLCBDbWQtY2xpY2tpbmcgcmVhZGFibGUgbG9jYWwgZmlsZXMgb3BlbnMgc3VwcG9ydGVkIHByZXZpZXdzIGluIGNtdXgsIGluY2x1ZGluZyB0ZXh0LCBjb2RlLCBQREZzLCBpbWFnZXMsIGF1ZGlvLCB2aWRlbywgYW5kIFF1aWNrIExvb2sgZmlsZXMuIFByZXZpZXcgaGVhZGVycyBpbmNsdWRlIGFuIE9wZW4gV2l0aCBtZW51IGJhc2VkIG9uIHRoZSB1c2VyJ3MgZGVmYXVsdCBhbmQg", + "Y29tcGF0aWJsZSBtYWNPUyBhcHBzIGZvciB0aGF0IGZpbGUuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5NYXJrZG93bkluQ211eFZpZXdlciI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gZW5hYmxlZCwgQ21kLWNsaWNraW5nIC5tZC8ubWFya2Rvd24vLm1rZC8ubWR4IGZpbGVzIG9wZW5zIHRoZSByZW5kZXJlZCBjbXV4IG1hcmtkb3duIHZpZXdlciBwYW5lbCAod2l0aCBsaXZlIHJlbG9hZCkgaW5zdGVhZCBv", + "ZiB0aGUgZ2VuZXJpYyBmaWxlIHByZXZpZXcuIgogICAgICAgIH0sCiAgICAgICAgImdsb2JhbEZvbnRNYWduaWZpY2F0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDUwLAogICAgICAgICAgIm1heGltdW0iOiAyMDAsCiAgICAgICAgICAibXVsdGlwbGVPZiI6IDEwLAogICAgICAgICAgImRlZmF1bHQiOiAxMDAsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC5nbG9iYWxGb250TWFnbmlmaWNhdGlvbiIsCiAgICAgICAgICAi", + "ZGVzY3JpcHRpb24iOiAiU2NhbGVzIGNtdXgtb3duZWQgdGVybWluYWxzLCB0YWIgdGl0bGVzLCBzaWRlYmFycywgc2V0dGluZ3MsIG92ZXJsYXlzLCBhbmQgYXBwIGNocm9tZSBieSB0aGlzIHBlcmNlbnRhZ2UuIFJlbmRlcmVkIGJyb3dzZXIgcGFnZSBjb250ZW50IGlzIGV4Y2x1ZGVkLiIKICAgICAgICB9LAogICAgICAgICJyZW9yZGVyT25Ob3RpZmljYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNb3ZlIHdv", + "cmtzcGFjZXMgd2l0aCBuZXcgbm90aWZpY2F0aW9ucyB0b3dhcmQgdGhlIHRvcC4iCiAgICAgICAgfSwKICAgICAgICAiaU1lc3NhZ2VNb2RlIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1vdmUgYSB3b3Jrc3BhY2UgdG8gdGhlIHRvcCBhbmQgc2hvdyB0aGUgc3VibWl0dGVkIG1lc3NhZ2Ugd2hlbiBzZW5kaW5nIGFuIGFnZW50IHByb21wdC4iCiAgICAgICAgfSwKICAgICAgICAic2VuZEFub255bW91c1RlbGVtZXRy", + "eSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93IGFub255bW91cyB0ZWxlbWV0cnkuIgogICAgICAgIH0sCiAgICAgICAgImNvbmZpcm1RdWl0IjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJhbHdheXMiLCAiZGlydHktb25seSIsICJuZXZlciJdLAogICAgICAgICAgImRlZmF1bHQiOiAiYWx3YXlzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFE", + "ZXNjcmlwdGlvbnMuYXBwLmNvbmZpcm1RdWl0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb250cm9sIHdoZW4gY211eCBhc2tzIGZvciBjb25maXJtYXRpb24gYmVmb3JlIHF1aXR0aW5nLiBERVYgYnVpbGRzIGFsd2F5cyBxdWl0IGltbWVkaWF0ZWx5IHJlZ2FyZGxlc3Mgb2YgdGhpcyBzZXR0aW5nLiBMZWdhY3kgYXBwLndhcm5CZWZvcmVRdWl0IGlzIHN0aWxsIGFjY2VwdGVkIGFzIGEgYm9vbGVhbiBmYWxsYmFjay4iCiAgICAgICAgfSwKICAgICAgICAid2FybkJlZm9yZVF1aXQiOiB7CiAgICAgICAgICAidHlwZSI6", + "ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLndhcm5CZWZvcmVRdWl0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMZWdhY3kgYm9vbGVhbiBmYWxsYmFjayBmb3IgcXVpdCBjb25maXJtYXRpb24uIFVzZSBhcHAuY29uZmlybVF1aXQgZm9yIG5ldyBjb25maWdzLiIKICAgICAgICB9LAogICAgICAgICJ3YXJuQmVmb3JlQ2xvc2luZ1RhYiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAg", + "ICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgYSBjb25maXJtYXRpb24gYmVmb3JlIGNsb3NpbmcgYSB0YWIuIgogICAgICAgIH0sCiAgICAgICAgIndhcm5CZWZvcmVDbG9zaW5nVGFiWEJ1dHRvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYXBwLndhcm5CZWZvcmVDbG9zaW5nVGFiWEJ1dHRvbiIsCiAgICAgICAgICAiZGVzY3JpcHRp", + "b24iOiAiU2hvdyBhIGNvbmZpcm1hdGlvbiBiZWZvcmUgY2xvc2luZyBhIHRhYiB3aXRoIHRoZSB0YWIgY2xvc2UgYnV0dG9uLiIKICAgICAgICB9LAogICAgICAgICJoaWRlVGFiQ2xvc2VCdXR0b24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmFwcC5oaWRlVGFiQ2xvc2VCdXR0b24iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGFiIGNsb3NlIGJ1dHRvbnMgaW4g", + "dGhlIHBhbmUgdGFiIGJhci4iCiAgICAgICAgfSwKICAgICAgICAicmVuYW1lU2VsZWN0c0V4aXN0aW5nTmFtZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlbGVjdCB0aGUgY3VycmVudCBuYW1lIHdoZW4gb3BlbmluZyByZW5hbWUgZmxvd3MuIgogICAgICAgIH0sCiAgICAgICAgImNvbW1hbmRQYWxldHRlU2VhcmNoZXNBbGxTdXJmYWNlcyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAg", + "ImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZWFyY2ggZXZlcnkgc3VyZmFjZSBpbiB0aGUgY29tbWFuZCBwYWxldHRlIHN3aXRjaGVyIGluc3RlYWQgb2Ygb25seSB0aGUgYWN0aXZlIHdvcmtzcGFjZS4iCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgInRlcm1pbmFsIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJ0ZXJtaW5hbCIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJUZXJtaW5hbCBwcmVzZW50YXRpb24gc2V0dGluZ3MgZnJvbSBT", + "ZXR0aW5ncyA+IFRlcm1pbmFsLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiYWRhcHRpdmVEZWZhdWx0VGhlbWUiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuYWRhcHRpdmVEZWZhdWx0VGhlbWUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjog", + "IldoZW4gdHJ1ZSAodGhlIGRlZmF1bHQpLCBjbXV4IHN1cHBsaWVzIGFuIGFwcGVhcmFuY2UtYWRhcHRpdmUgZGVmYXVsdCBwYWxldHRlIHVubGVzcyBhIEdob3N0dHkgdGhlbWUgb3IgdGVybWluYWwgY29sb3JzIGFyZSBjb25maWd1cmVkLiBGb250IGFuZCBvdGhlciBzZXR0aW5ncyBhcmUgcHJlc2VydmVkLiBXaGVuIGZhbHNlLCBHaG9zdHR5IHVzZXMgaXRzIGZpeGVkIGJ1aWx0LWluIHBhbGV0dGUuIEV4cGxpY2l0IHRoZW1lcyBhbmQgY29sb3JzIGFsd2F5cyB0YWtlIHByZWNlZGVuY2UsIGluY2x1ZGluZyB0aGVtZSA9IGxp", + "Z2h0OlgsZGFyazpZLiIKICAgICAgICB9LAogICAgICAgICJzaG93U2Nyb2xsQmFyIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgcmlnaHQtZWRnZSB0ZXJtaW5hbCBzY3JvbGwgYmFyIHdoZW4gc2Nyb2xsYmFjayBpcyBhdmFpbGFibGUuIGNtdXggYXV0b21hdGljYWxseSBzdXBwcmVzc2VzIGl0IGZvciBhbHRlcm5hdGUtc2NyZWVuIHN0eWxlIFRVSSBzdXJmYWNlcy4iCiAgICAgICAgfSwKICAgICAgICAi", + "c2Nyb2xsU3BlZWQiOiB7CiAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAwLjI1LAogICAgICAgICAgIm1heGltdW0iOiAzLjAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEuMCwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuc2Nyb2xsU3BlZWQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk11bHRpcGxpZXIgYXBwbGllZCB0byB0ZXJtaW5hbCBzY3JvbGwgd2hlZWwgYW5kIHRyYWNrcGFkIGRlbHRhcy4gSGlnaGVyIHZhbHVlcyBz", + "Y3JvbGwgZmFzdGVyOyBsb3dlciB2YWx1ZXMgc2Nyb2xsIHNsb3dlci4iCiAgICAgICAgfSwKICAgICAgICAic2Vzc2lvbkNvbnRlbnRNYXhXaWR0aCI6IHsKICAgICAgICAgICJvbmVPZiI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICJjb25zdCI6IGZhbHNlCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgICAgICJtaW5pbXVtIjogMzIwLAogICAgICAgICAgICAgICJtdWx0aXBs", + "ZU9mIjogMjAKICAgICAgICAgICAgfQogICAgICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnNlc3Npb25Db250ZW50TWF4V2lkdGgiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIG1heGltdW0gd2lkdGgsIGluIHBvaW50cywgZm9yIHRlcm1pbmFsIGFuZCBidWlsdC1pbiBhZ2VudCBjaGF0IGNvbnRlbnQuIFNldCBmYWxzZSB0byB1c2UgdGhlIGZ1bGwgcGFuZSB3aWR0aC4iCiAgICAgICAg", + "fSwKICAgICAgICAic2Vzc2lvbkNvbnRlbnRBbGlnbm1lbnQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImxlZnQiLCAiY2VudGVyIiwgInJpZ2h0Il0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJjZW50ZXIiLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5zZXNzaW9uQ29udGVudEFsaWdubWVudCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG9yaXpvbnRhbCBwbGFjZW1lbnQgZm9yIHRlcm1pbmFsIGFuZCBidWlsdC1p", + "biBhZ2VudCBjaGF0IGNvbnRlbnQgd2hlbiBzZXNzaW9uQ29udGVudE1heFdpZHRoIGlzIGVuYWJsZWQuIgogICAgICAgIH0sCiAgICAgICAgImNvcHlPblNlbGVjdCI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwuY29weU9uU2VsZWN0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGVuIHRydWUsIGNvcHkgc2VsZWN0ZWQgdGVybWluYWwgdGV4dCB0byB0aGUg", + "c3lzdGVtIGNsaXBib2FyZCB3aGVuIHRoZSBzZWxlY3Rpb24gaXMgY29tbWl0dGVkLiBXaGVuIGZhbHNlLCBjbXV4IGRvZXMgbm90IGVtaXQgYSBHaG9zdHR5IGNvcHktb24tc2VsZWN0IG92ZXJyaWRlOyBHaG9zdHR5IGNvbmZpZyBhbmQgZGVmYXVsdHMgY29udHJvbCBzZWxlY3Rpb24tY2xpcGJvYXJkIGJlaGF2aW9yLiIKICAgICAgICB9LAogICAgICAgICJhdXRvUmVzdW1lQWdlbnRTZXNzaW9ucyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRl", + "c2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcnVuIGFnZW50IHJlc3VtZSBjb21tYW5kcyBmb3IgcmVzdG9yZWQgdGVybWluYWwgc2Vzc2lvbnMgd2hlbiBjbXV4IHJlb3BlbnMgYWZ0ZXIgcXVpdC4gU2V0IGZhbHNlIHRvIHJlc3RvcmUgcGFuZXMgd2hpbGUga2VlcGluZyBDbGF1ZGUgQ29kZSwgQ29kZXgsIE9wZW5Db2RlLCBhbmQgb3RoZXIgc2F2ZWQgYWdlbnQgc2Vzc2lvbnMgaWRsZSB1bnRpbCB5b3UgcmVzdW1lIHRoZW0gbWFudWFsbHkuIgogICAgICAgIH0sCiAgICAgICAgInNob3dUZXh0Qm94T25OZXdUZXJtaW5hbHMi", + "OiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnNob3dUZXh0Qm94T25OZXdUZXJtaW5hbHMiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGJldGEgVGV4dEJveCBpbnB1dCBieSBkZWZhdWx0IGZvciBuZXdseSBjcmVhdGVkIHdvcmtzcGFjZXMsIHRlcm1pbmFsIHRhYnMsIGFuZCB0ZXJtaW5hbCBzcGxpdHMuIgogICAgICAgIH0sCiAgICAgICAgImZv", + "Y3VzVGV4dEJveE9uTmV3VGVybWluYWxzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5mb2N1c1RleHRCb3hPbk5ld1Rlcm1pbmFscyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRm9jdXMgdGhlIGJldGEgVGV4dEJveCBpbnB1dCBieSBkZWZhdWx0IGZvciBuZXdseSBjcmVhdGVkIHdvcmtzcGFjZXMsIHRlcm1pbmFsIHRhYnMsIGFuZCB0ZXJtaW5hbCBzcGxp", + "dHMuIEZvY3VzaW5nIGFsc28gc2hvd3MgdGhlIFRleHRCb3guIgogICAgICAgIH0sCiAgICAgICAgImFnZW50SGliZXJuYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLmFnZW50SGliZXJuYXRpb24iLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJvdXRpbmUgQWdlbnQgSGliZXJuYXRpb24gc2V0dGluZ3MuIGNtdXgga2lsbHMgaWRs", + "ZSBiYWNrZ3JvdW5kIGFnZW50IHByb2Nlc3NlcyB0byBmcmVlIFJBTSBhbmQgQ1BVLCB0aGVuIHJlc3VtZXMgdGhlbSB3aXRoIHRoZWlyIHNhdmVkIHNlc3Npb24gd2hlbiB0aGVpciB0YWIgaXMgdmlzaXRlZC4gUm91dGluZSBoaWJlcm5hdGlvbiByZXF1aXJlcyBhIHJlc3RvcmFibGUgY29kaW5nIGFnZW50IHdob3NlIGxpZmVjeWNsZSByZXBvcnRzIGlkbGUsIGFuIG9mZi1zY3JlZW4gdGVybWluYWwsIGEgbGl2ZS10ZXJtaW5hbCBjb3VudCBhYm92ZSB0aGUgY29uZmlndXJlZCBsaW1pdCwgYW5kIHVuY2hhbmdlZCBvdXRwdXQg", + "dGhyb3VnaCB0aGUgaWRsZSBhbmQgY29uZmlybWF0aW9uIHdpbmRvd3MuIEluZGVwZW5kZW50bHksIGR1cmluZyBjcml0aWNhbCBtZW1vcnkgcHJlc3N1cmUgY211eCBtYXkgaGliZXJuYXRlIGEgYm91bmRlZCBiYXRjaCBvZiBzYWZlIGlkbGUgYmFja2dyb3VuZCBhZ2VudHMgZXZlbiB3aGVuIGVuYWJsZWQgaXMgZmFsc2U7IHZpc2libGUsIHJ1bm5pbmcsIG5lZWRzLWlucHV0LCByZWNlbnRseSBjaGFuZ2VkLCBhbmQgdW5wcm90ZWN0YWJsZSBhZ2VudHMgcmVtYWluIGV4Y2x1ZGVkLiBUaGUgcGxhY2Vob2xkZXIgUmVzdW1lIGJ1", + "dHRvbiBpcyBhIG1hbnVhbCBmYWxsYmFjay4iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJlbmFibGVkIjogewogICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC5hZ2VudEhpYmVybmF0aW9uRW5hYmxlZCIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSByb3V0aW5lIEFnZW50IEhpYmVybmF0aW9uIGJhc2Vk", + "IG9uIHRoZSBsaXZlLXRlcm1pbmFsIGxpbWl0LiBDcml0aWNhbC1wcmVzc3VyZSBzYWZldHkgaGliZXJuYXRpb24gcmVtYWlucyBhY3RpdmUgd2hlbiBmYWxzZS4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJpZGxlU2Vjb25kcyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDUsCiAgICAgICAgICAgICAgIm1heGltdW0iOiA2MDQ4MDAsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiA1LAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNaW5pbXVtIHNl", + "Y29uZHMgd2l0aCBubyB0ZXJtaW5hbCBvdXRwdXQgb3IgaW5wdXQgYmVmb3JlIGFuIGlkbGUgcmVzdG9yYWJsZSBhZ2VudCB0ZXJtaW5hbCBjYW4gaGliZXJuYXRlLiBBIHNob3J0IGNvbmZpcm1hdGlvbiBzZXR0bGUgd2luZG93ICh+NjBzKSBzdGlsbCBhcHBsaWVzIG9uIHRvcCBvZiB0aGlzIGJlZm9yZSB0aGUgYWdlbnQgaXMga2lsbGVkLiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm1heExpdmVUZXJtaW5hbHMiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAgICAgIm1pbmltdW0i", + "OiAxLAogICAgICAgICAgICAgICJtYXhpbXVtIjogMjU2LAogICAgICAgICAgICAgICJkZWZhdWx0IjogMTIsCiAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gbGl2ZSByZXN0b3JhYmxlIGFnZW50IHRlcm1pbmFscyB0byBrZWVwIGJlZm9yZSBjbXV4IGhpYmVybmF0ZXMgZWxpZ2libGUgYmFja2dyb3VuZCB0ZXJtaW5hbHMsIG9sZGVzdCBmaXJzdC4iCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJyZW5kZXJlclJlYWxpemF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAi", + "b2JqZWN0IiwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJlY2xhaW0gb2ZmLXNjcmVlbiB0ZXJtaW5hbCBHUFUgcmVuZGVyZXIgbWVtb3J5LiBjbXV4IHJlbGVhc2VzIHRoZSBNZXRhbCByZW5kZXJlciAoSU9TdXJmYWNlKSBvZiBhIHRlcm1pbmFsIHRoYXQgaGFzIHN0YXllZCBvZmYtc2NyZWVuIGFuZCBpZGxlIHdoaWxlIGtlZXBpbmcgaXRzIHByb2Nlc3MgYW5kIHRlcm1pbmFsIHN0YXRlIGFsaXZlLCB0aGVuIHJlYnVpbGRzIHRoZSByZW5kZXJlciBp", + "bnN0YW50bHkgd2hlbiB0aGUgdGFiIGlzIHZpc2l0ZWQgYWdhaW4uIE5vbi1kZXN0cnVjdGl2ZSBhbmQgb24gYnkgZGVmYXVsdC4iLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJlbmFibGVkIjogewogICAgICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmVjbGFpbSBvZmYtc2NyZWVuIHRlcm1pbmFsIHJlbmRlcmVyIG1lbW9yeS4iCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJpZGxl", + "U2Vjb25kcyI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAibWluaW11bSI6IDUsCiAgICAgICAgICAgICAgIm1heGltdW0iOiA2MDQ4MDAsCiAgICAgICAgICAgICAgImRlZmF1bHQiOiA1LAogICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNaW5pbXVtIHNlY29uZHMgYSB0ZXJtaW5hbCBtdXN0IHN0YXkgb2ZmLXNjcmVlbiBiZWZvcmUgaXRzIEdQVSByZW5kZXJlciBtZW1vcnkgaXMgcmVjbGFpbWVkLiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm1heFdhcm1SZW5kZXJl", + "cnMiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAgICAgIm1pbmltdW0iOiAxLAogICAgICAgICAgICAgICJtYXhpbXVtIjogMjU2LAogICAgICAgICAgICAgICJkZWZhdWx0IjogMSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTW9zdCByZWNlbnRseSB2aXNpYmxlIHRlcm1pbmFscyB0byBrZWVwIHJlbmRlcmVyLXJlYWR5IHNvIHN3aXRjaGluZyBzdGF5cyBpbnN0YW50LiBFeHRyYSBvZmYtc2NyZWVuIHJlbmRlcmVycyBhcmUgcmVjbGFpbWVkIG9sZGVzdCBmaXJzdC4iCiAgICAg", + "ICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJ0ZXh0Qm94TWF4TGluZXMiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJtYXhpbXVtIjogMjAsCiAgICAgICAgICAiZGVmYXVsdCI6IDEwLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1heGltdW0gbnVtYmVyIG9mIGxpbmVzIHRoZSByaWNoIHRlcm1pbmFsIFRleHRCb3ggaW5wdXQgY2FuIGdyb3cgdG8gYmVmb3JlIGl0IHNjcm9sbHMuIgogICAgICAgIH0sCiAgICAgICAgInRl", + "eHRCb3hEZWZhdWx0U3VibWl0QWN0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJkZWZhdWx0IjogInRleHQtZW50cnkiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgVGV4dEJveCBzdWJtaXQgYWN0aW9uIElEIGZvciBuZXcgdGVybWluYWwgc2Vzc2lvbnMuIFVzZSB0ZXh0LWVudHJ5IGZvciBwbGFpbiBpbnB1dCBvciBvbmUgb2YgdGhlIGNvbmZpZ3VyZWQgYWN0aW9uIElEcy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJt", + "aW5hbC50ZXh0Qm94RGVmYXVsdFN1Ym1pdEFjdGlvbiIKICAgICAgICB9LAogICAgICAgICJ0ZXh0Qm94U3VibWl0QWN0aW9ucyI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJkZWZhdWx0IjogW10sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29uZmlndXJhYmxlIFRleHRCb3ggc3VibWl0IGFjdGlvbnMgc2hvd24gb24gdGhlIHN1Ym1pdCBidXR0b24sIFNoaWZ0LVRhYiBjeWNsZSwgYW5kIHJpZ2h0LWNsaWNrIG1lbnUuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNj", + "cmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbnMiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAgInJlcXVpcmVkIjogWyJpZCIsICJ0aXRsZSIsICJraW5kIiwgInN5c3RlbUltYWdlIiwgImJhY2tncm91bmRDb2xvckhleCJdLAogICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAiaWQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJp", + "bmciLAogICAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXltBLVphLXowLTkuXy1dKyQiLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlN0YWJsZSBhY3Rpb24gSUQgcmVmZXJlbmNlZCBieSB0ZXJtaW5hbC50ZXh0Qm94RGVmYXVsdFN1Ym1pdEFjdGlvbi4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uSWQiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAidGl0bGUiOiB7CiAgICAgICAgICAgICAgICAi", + "dHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk1lbnUgbGFiZWwgZm9yIHRoaXMgc3VibWl0IGFjdGlvbi4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uVGl0bGUiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAia2luZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAiZW51bSI6IFsidGV4dEVudHJ5IiwgImNvbW1hbmRUZW1w", + "bGF0ZSJdLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgdGhpcyBhY3Rpb24gc3VibWl0cyBwbGFpbiBUZXh0IEVudHJ5IG9yIGV4cGFuZHMgYSBzaGVsbCBjb21tYW5kIHRlbXBsYXRlLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25LaW5kIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNvbW1hbmRUZW1wbGF0ZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAg", + "ICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hlbGwgY29tbWFuZCB0ZW1wbGF0ZSBmb3IgY29tbWFuZFRlbXBsYXRlIGFjdGlvbnMuIEluY2x1ZGUge3twcm9tcHR9fSB0byBzaGVsbC1xdW90ZSB0aGUgcHJvbXB0IGludG8gdGhlIGNvbW1hbmQuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMudGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbkNvbW1hbmRUZW1wbGF0ZSIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJwcmVzZXJ2ZVByb21wdEFmdGVyTGF1", + "bmNoIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiB0cnVlLCBsYXVuY2ggY29tbWFuZFRlbXBsYXRlIHdpdGhvdXQgdGhlIHByb21wdCBhbmQga2VlcCB0aGUgcHJvbXB0IGluIHRoZSBUZXh0Qm94IGZvciB0aGUgYWN0aXZlIGFnZW50LiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25QcmVzZXJ2ZVByb21wdEFmdGVyTGF1bmNoIgogICAg", + "ICAgICAgICAgIH0sCiAgICAgICAgICAgICAgInN5c3RlbUltYWdlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGYWxsYmFjayBTRiBTeW1ib2wgbmFtZSBzaG93biBvbiB0aGUgc3VibWl0IGJ1dHRvbi4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uU3lzdGVtSW1hZ2UiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiYXNzZXROYW1l", + "IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBhcHAgYXNzZXQgY2F0YWxvZyBpbWFnZSBuYW1lIHNob3duIG9uIHRoZSBzdWJtaXQgYnV0dG9uLiIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLnRlcm1pbmFsLnRleHRCb3hTdWJtaXRBY3Rpb25Bc3NldE5hbWUiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiaW1hZ2VQYXRoIjogewogICAgICAgICAgICAgICAgInR5cGUi", + "OiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBQTkcgb3IgaW1hZ2UgZmlsZSBwYXRoIHNob3duIG9uIHRoZSBzdWJtaXQgYnV0dG9uLiBUaWxkZSBpcyBleHBhbmRlZC4iLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy50ZXJtaW5hbC50ZXh0Qm94U3VibWl0QWN0aW9uSW1hZ2VQYXRoIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImJhY2tncm91bmRDb2xvckhleCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0", + "cmluZyIsCiAgICAgICAgICAgICAgICAicGF0dGVybiI6ICJeIz9bMC05QS1GYS1mXXs2fShbMC05QS1GYS1mXXsyfSk/JCIsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWN0aW9uIGNvbG9yIG1ldGFkYXRhIGFzIFJHQiBvciBSR0JBIGhleC4gVGhlIHN1Ym1pdCBidXR0b24gZmlsbCBzdGF5cyB3aGl0ZSBhbmQgb25seSBjaGFuZ2VzIG9wYWNpdHkgYmV0d2VlbiBlbmFibGVkIGFuZCBkaXNhYmxlZCBzdGF0ZXMuIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMu", + "dGVybWluYWwudGV4dEJveFN1Ym1pdEFjdGlvbkJhY2tncm91bmRDb2xvckhleCIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJhbGxPZiI6IFsKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaWYiOiB7CiAgICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IFsia2luZCJdLAogICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAia2luZCI6IHsgImNvbnN0IjogImNvbW1hbmRUZW1wbGF0ZSIgfQogICAgICAgICAgICAgICAgICB9CiAgICAg", + "ICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInRoZW4iOiB7CiAgICAgICAgICAgICAgICAgICJyZXF1aXJlZCI6IFsiY29tbWFuZFRlbXBsYXRlIl0sCiAgICAgICAgICAgICAgICAgICJhbnlPZiI6IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImNvbW1hbmRUZW1wbGF0ZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICJwYXR0", + "ZXJuIjogIlxce1xce3Byb21wdFxcfVxcfSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgInJlcXVpcmVkIjogWyJwcmVzZXJ2ZVByb21wdEFmdGVyTGF1bmNoIl0sCiAgICAgICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInByZXNlcnZlUHJvbXB0QWZ0ZXJMYXVuY2giOiB7ICJjb25zdCI6IHRydWUgfQogICAg", + "ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInJlc3VtZUNvbW1hbmRzIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaWduZWQgY29tbWFuZC1wcmVmaXggYXBwcm92YWxzIGZvciByZXN0b3Jpbmcgbm9uLWFnZW50IHRlcm1p", + "bmFsIHN1cmZhY2VzLiBjbXV4IHdyaXRlcyB0aGlzIGxpc3Qgd2hlbiB5b3UgYXBwcm92ZSBhIHN1cmZhY2UgcmVzdW1lIGNvbW1hbmQuIiwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICJyZXF1aXJlZCI6IFsidmVyc2lvbiIsICJpZCIsICJjb21tYW5kUHJlZml4IiwgImVudmlyb25tZW50S2V5cyIsICJwb2xpY3kiLCAiY3JlYXRlZEF0IiwgInVwZGF0ZWRBdCIsICJzaWduYXR1cmUi", + "XSwKICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgInZlcnNpb24iOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICAgICAgICJjb25zdCI6IDEKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJpZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJuYW1lIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNv", + "bW1hbmRQcmVmaXgiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAgICAgICAibWluSXRlbXMiOiAxLAogICAgICAgICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaGVsbCBhcmd2IHByZWZpeCB0aGF0IG11c3QgbWF0Y2ggdGhlIHNhdmVkIHJlc3VtZSBjb21tYW5kLiIKICAgICAgICAgICAg", + "ICB9LAogICAgICAgICAgICAgICJjd2QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wdGlvbmFsIHdvcmtpbmcgZGlyZWN0b3J5IHRoYXQgbXVzdCBtYXRjaCB0aGUgc2F2ZWQgcmVzdW1lIGNvbW1hbmQuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImVudmlyb25tZW50IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAg", + "ICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBub24tc2Vuc2l0aXZlIGVudmlyb25tZW50IHZhbHVlcyB0aGF0IG11c3QgbWF0Y2ggdGhlIHNhdmVkIHJlc3VtZSBjb21tYW5kLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJlbnZpcm9ubWVudEtleXMiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAgICAgICAiaXRlbXMiOiB7CiAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0", + "cmluZyIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAicG9saWN5IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJlbnVtIjogWyJtYW51YWwiLCAicHJvbXB0IiwgImF1dG8iXQogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNyZWF0ZWRBdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjog", + "Im51bWJlciIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJ1cGRhdGVkQXQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAibGFzdFVzZWRBdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bWJlciIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJzaWduYXR1cmUiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhNQUMgc2lnbmF0dXJlIGZvciB0", + "aGUgcmVjb3JkLiBDaGFuZ2luZyBzaWduZWQgZmllbGRzIGludmFsaWRhdGVzIHRoZSBhcHByb3ZhbC4iCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAidXBsb2FkQ29tbWFuZHMiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAgICAgICAiZGVmYXVsdCI6IFtdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhvc3Qtc2NvcGVkIHJ1bGVzIHRoYXQgcmVwbGFjZSB0aGUgYnVpbHQtaW4gc2NwIGZvciB0ZXJtaW5hbCBmaWxlIGRyb3BzIGFuZCBwYXN0", + "ZXMgb3ZlciBTU0guIFdoZW4gdGhlIHNzaCBkZXN0aW5hdGlvbiBtYXRjaGVzIGEgcnVsZSwgY211eCBydW5zIHRoYXQgcnVsZSdzIGNvbW1hbmQgb25jZSBwZXIgZmlsZSBpbnN0ZWFkIG9mIHNjcCwgYW5kIGluc2VydHMgdGhlIGNvbW1hbmQncyBzdGRvdXQgYXQgdGhlIGN1cnNvciAodmVyYmF0aW0sIHdpdGggY29udHJvbCBjaGFyYWN0ZXJzIHN0cmlwcGVkKTsgaWYgdGhlIGNvbW1hbmQgcHJpbnRzIG5vdGhpbmcsIGNtdXggaW5zZXJ0cyB0aGUgc2hlbGwtZXNjYXBlZCByZW1vdGUgcGF0aCBpdCBjaG9zZSBpbnN0ZWFkLiBQ", + "ZXItZmlsZSBvdXRwdXRzIGFyZSBzcGFjZS1qb2luZWQuIEZpcnN0IG1hdGNoaW5nIGVuYWJsZWQgcnVsZSB3aW5zOyBubyBtYXRjaCBydW5zIHRoZSBidWlsdC1pbiBzY3AgdW5jaGFuZ2VkLiBBIG5vbi16ZXJvIGV4aXQsIHRpbWVvdXQsIG9yIGNhbmNlbCBpbnNlcnRzIG5vdGhpbmcuIiwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICJyZXF1aXJlZCI6IFsiY29tbWFuZCJdLAogICAg", + "ICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAiaG9zdFBhdHRlcm4iOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6IFsic3RyaW5nIiwgIm51bGwiXSwKICAgICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogImZubWF0Y2ggZ2xvYiBtYXRjaGVkIGFnYWluc3QgdGhlIHNzaCBkZXN0aW5hdGlvbiAodXNlckAgYW5kIElQdjYgYnJhY2tldHMgc3RyaXBwZWQsIGxvd2VyY2FzZWQpLCBsaWtlIGEgc2luZ2xlIHNzaF9jb25maWcgSG9zdCBwYXR0ZXJuLiBP", + "bWl0IHRoZSBrZXkgb3Igc2V0IGl0IHRvIG51bGwgZm9yIGEgY2F0Y2gtYWxsIChhIGJsYW5rIHN0cmluZyBpcyByZWplY3RlZCkuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNvbW1hbmQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgICAicGF0dGVybiI6ICJcXFMiLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGNvbW1hbmQgcnVuIHZpYSAvYmluL3NoIC1jLCBvbmNlIHBlciBmaWxl", + "LiBJdCByZWNlaXZlcyB0aGUgZmlsZSBhbmQgZW5kcG9pbnQgb24gaXRzIGVudmlyb25tZW50IChDTVVYX1VQTE9BRF9MT0NBTF9QQVRILCBDTVVYX1VQTE9BRF9SRU1PVEVfUEFUSCwgQ01VWF9VUExPQURfREVTVElOQVRJT04sIENNVVhfVVBMT0FEX1BPUlQsIENNVVhfVVBMT0FEX0lERU5USVRZX0ZJTEUsIENNVVhfVVBMT0FEX1NTSF9PUFRJT05TKS4gSXRzIHN0ZG91dCBpcyB3aGF0IGNtdXggaW5zZXJ0cyBhdCB0aGUgY3Vyc29yLiIKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICJlbmFibGVkIjogewogICAgICAg", + "ICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGlzIHJ1bGUgaXMgYWN0aXZlLiBEZWZhdWx0cyB0byB0cnVlLiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAibm90aWZpY2F0aW9ucyI6IHsKICAgICAgInRpdGxlIjogIm5vdGlmaWNhdGlvbnMiLAogICAgICAiZGVzY3JpcHRpb24iOiAiTm90aWZpY2F0aW9uIGJl", + "aGF2aW9yIGZyb20gU2V0dGluZ3MgPiBOb3RpZmljYXRpb25zLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZG9ja0JhZGdlIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgdW5yZWFkIGNvdW50IGluIHRoZSBEb2Nr", + "IHRpbGUuIgogICAgICAgIH0sCiAgICAgICAgInNob3dJbk1lbnVCYXIiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSBtZW51IGJhciBleHRyYS4iCiAgICAgICAgfSwKICAgICAgICAidW5yZWFkUGFuZVJpbmciOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwK", + "ICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWdobGlnaHQgcGFuZXMgd2l0aCB1bnJlYWQgbm90aWZpY2F0aW9ucy4iCiAgICAgICAgfSwKICAgICAgICAicGFuZUZsYXNoIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmxhc2ggdGhlIGZvY3VzZWQgcGFuZSB3aGVuIHJlcXVlc3RlZC4iCiAgICAgICAg", + "fSwKICAgICAgICAicGFuZUZsYXNoQ29sb3IiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5wYW5lRmxhc2hDb2xvciIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3ZlcnJpZGUgdGhlIHBhbmUgZmxhc2ggYW5kIHVucmVhZCByaW5nIGNvbG9yLiBOdWxsIGtl", + "ZXBzIHRoZSBidWlsdC1pbiBibHVlLiIKICAgICAgICB9LAogICAgICAgICJzdXBwcmVzc09ubHlGb2N1c2VkU3VyZmFjZSI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5zdXBwcmVzc09ubHlGb2N1c2VkU3VyZmFjZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hlbiBlbmFibGVk", + "LCBhIG5vdGlmaWNhdGlvbiBiYW5uZXIgaXMgYXV0by13aXRoZHJhd24gb25seSB3aGVuIGl0cyBzdXJmYWNlIGlzIHRoZSBleGFjdCBmb2N1c2VkIHN1cmZhY2UuIEEgYmFubmVyIGRlbGl2ZXJlZCBmb3IgYSBub24tZm9jdXNlZCBzdXJmYWNlIGluIHRoZSBjdXJyZW50bHkgdmlzaWJsZSB3b3Jrc3BhY2Ugc3RheXMgdXAgdW50aWwgeW91IGZvY3VzIHRoYXQgc3VyZmFjZSAob3IgY2xpY2svZGlzbWlzcyBpdCksIGluc3RlYWQgb2YgYmVpbmcgcmV0cmFjdGVkIHdoZW4gdGhlIHdvcmtzcGFjZSBiZWNvbWVzIHZpc2libGUuIE9m", + "ZiBwcmVzZXJ2ZXMgdGhlIGxlZ2FjeSB3b3Jrc3BhY2UtdmlzaWJpbGl0eSB3aXRoZHJhdy4iCiAgICAgICAgfSwKICAgICAgICAiYWdlbnRQZXJtaXNzaW9uUHJvbXB0IjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLm5vdGlmaWNhdGlvbnMuYWdlbnRQZXJtaXNzaW9uUHJvbXB0IiwKICAgICAgICAgICJkZXNjcmlw", + "dGlvbiI6ICJOb3RpZnkgd2hlbiBhbiBhZ2VudCAoZS5nLiBDbGF1ZGUgQ29kZSkgaXMgYmxvY2tlZCB3YWl0aW5nIGZvciB5b3VyIHBlcm1pc3Npb24gdG8gcnVuIGEgdG9vbC4gT24gYnkgZGVmYXVsdCwgc2luY2UgdGhpcyBpcyB0aGUgYWxlcnQgeW91IG11c3QgYWN0IG9uIHRvIHVuYmxvY2sgdGhlIGFnZW50LiIKICAgICAgICB9LAogICAgICAgICJhZ2VudFR1cm5Db21wbGV0ZSI6IHsKICAgICAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAi", + "ZW51bSI6IFsid2hlbklkbGUiLCAiYWx3YXlzIiwgIm5ldmVyIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJ3aGVuSWRsZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLm5vdGlmaWNhdGlvbnMuYWdlbnRUdXJuQ29tcGxldGUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldoZW4gdG8gbm90aWZ5IHRoYXQgYW4gYWdlbnQgZmluaXNoZWQgYSB0dXJuLiB3aGVuSWRsZSAoZGVmYXVsdCkgc3VwcHJlc3NlcyB0aGUgbm90aWZpY2F0aW9uIHdoaWxlIHRoZSBhZ2VudCBzdGlsbCBoYXMg", + "YSBydW5uaW5nIGJhY2tncm91bmQgdGFzayBvciBhIHBlbmRpbmcgc2NoZWR1bGVkIHdha2V1cCwgc28geW91IGFyZSBwaW5nZWQgb25jZSB3b3JrIHRydWx5IGRyYWlucy4gYWx3YXlzIG5vdGlmaWVzIG9uIGV2ZXJ5IHR1cm4gZW5kOyBuZXZlciBkaXNhYmxlcyBpdC4iCiAgICAgICAgfSwKICAgICAgICAiYWdlbnRJZGxlUmVtaW5kZXIiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAg", + "ICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5hZ2VudElkbGVSZW1pbmRlciIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTm90aWZ5IHdoZW4gYW4gYWdlbnQgaGFzIGJlZW4gaWRsZSB3YWl0aW5nIGZvciB5b3VyIGlucHV0IChhYm91dCA2MHMgYWZ0ZXIgYSB0dXJuIGVuZHMpLiBTdXBwcmVzc2VkIHdoaWxlIGJhY2tncm91bmQgd29yayBmcm9tIHRoZSBsYXN0IHR1cm4gaXMgc3RpbGwgcGVuZGluZywgc28gYSBydW5uaW5nIGJ1aWxkIG9yIHdhdGNoZXIgZG9lcyBub3QgdHJp", + "Z2dlciBhIGZhbHNlIHdhaXRpbmcgYWxlcnQuIgogICAgICAgIH0sCiAgICAgICAgInNvdW5kIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWwogICAgICAgICAgICAiZGVmYXVsdCIsCiAgICAgICAgICAgICJCYXNzbyIsCiAgICAgICAgICAgICJCbG93IiwKICAgICAgICAgICAgIkJvdHRsZSIsCiAgICAgICAgICAgICJGcm9nIiwKICAgICAgICAgICAgIkZ1bmsiLAogICAgICAgICAgICAiR2xhc3MiLAogICAgICAg", + "ICAgICAiSGVybyIsCiAgICAgICAgICAgICJNb3JzZSIsCiAgICAgICAgICAgICJQaW5nIiwKICAgICAgICAgICAgIlBvcCIsCiAgICAgICAgICAgICJQdXJyIiwKICAgICAgICAgICAgIlNvc3VtaSIsCiAgICAgICAgICAgICJTdWJtYXJpbmUiLAogICAgICAgICAgICAiVGluayIsCiAgICAgICAgICAgICJjdXN0b21fZmlsZSIsCiAgICAgICAgICAgICJub25lIgogICAgICAgICAgXSwKICAgICAgICAgICJkZWZhdWx0IjogImRlZmF1bHQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWNhdGlvbiBzb3VuZCBwcmVz", + "ZXQuIgogICAgICAgIH0sCiAgICAgICAgImN1c3RvbVNvdW5kRmlsZVBhdGgiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMb2NhbCBwYXRoIHRvIHRoZSBjdXN0b20gbm90aWZpY2F0aW9uIHNvdW5kIGZpbGUuIgogICAgICAgIH0sCiAgICAgICAgInNvdW5kT3ZlcnJpZGVzIjogewogICAgICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAg", + "ICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZWZhdWx0Ijoge30sCiAgICAgICAgICAibWF4UHJvcGVydGllcyI6IDI1NiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5zb3VuZE92ZXJyaWRlcyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU3BhcnNlIHBlci1hZ2VudCBhbmQgcGVyLWFsZXJ0LXR5cGUgbm90aWZpY2F0aW9uIHNvdW5kIG92ZXJyaWRlcy4gTWlzc2luZyBjZWxscyB1c2Ugbm90aWZpY2F0aW9ucy5zb3VuZC4iLAogICAgICAg", + "ICAgInByb3BlcnR5TmFtZXMiOiB7CiAgICAgICAgICAgICJhbGxPZiI6IFsKICAgICAgICAgICAgICB7ICJwYXR0ZXJuIjogIl5bQS1aYS16MC05Ll8tXSskIiB9LAogICAgICAgICAgICAgIHsgIm1heExlbmd0aCI6IDY0IH0sCiAgICAgICAgICAgICAgeyAibm90IjogeyAiZW51bSI6IFsiLiIsICIuLiJdIH0gfQogICAgICAgICAgICBdCiAgICAgICAgICB9LAogICAgICAgICAgInBhdHRlcm5Qcm9wZXJ0aWVzIjogewogICAgICAgICAgICAiXltBLVphLXowLTkuXy1dKyQiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAib2Jq", + "ZWN0IiwKICAgICAgICAgICAgICAibWF4UHJvcGVydGllcyI6IDMsCiAgICAgICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICAgICAidHVybkRvbmUiOiB7ICIkcmVmIjogIiMvJGRlZnMvbm90aWZpY2F0aW9uU291bmRPdmVycmlkZSIgfSwKICAgICAgICAgICAgICAgICJuZWVkc0lucHV0IjogeyAiJHJlZiI6ICIjLyRkZWZzL25vdGlmaWNhdGlvblNvdW5kT3ZlcnJpZGUiIH0sCiAgICAgICAgICAgICAgICAiZXJyb3JTdGFsbGVk", + "IjogeyAiJHJlZiI6ICIjLyRkZWZzL25vdGlmaWNhdGlvblNvdW5kT3ZlcnJpZGUiIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZQogICAgICAgIH0sCiAgICAgICAgImNvbW1hbmQiOiB7CiAgICAgICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcHRpb25hbCBzaGVsbCBj", + "b21tYW5kIHRvIHJ1biBhbG9uZ3NpZGUgbm90aWZpY2F0aW9uIGRlbGl2ZXJ5LiIKICAgICAgICB9LAogICAgICAgICJob29rc01vZGUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbImFwcGVuZCIsICJyZXBsYWNlIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJhcHBlbmQiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2xzIHdoZXRoZXIgcHJvamVjdC1sb2NhbCBub3RpZmljYXRpb24gaG9va3MgYXBwZW5kIHRvIGluaGVyaXRlZCBob29rcyBvciByZXBsYWNlIHRoZW0u", + "IgogICAgICAgIH0sCiAgICAgICAgImhvb2tzIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb21wb3NhYmxlIHNoZWxsIGhvb2tzIHRoYXQgcmVjZWl2ZSBub3RpZmljYXRpb24gcG9saWN5IEpTT04gb24gc3RkaW4gYW5kIHJldHVybiB1cGRhdGVkIHBvbGljeSBKU09OIG9uIHN0ZG91dC4iLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAiYWRkaXRpb25hbFBy", + "b3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAgInJlcXVpcmVkIjogWyJpZCIsICJjb21tYW5kIl0sCiAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICJpZCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgICAibWluTGVuZ3RoIjogMSwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdGFibGUgaG9vayBpZGVudGlmaWVyIHVzZWQgaW4gbG9ncyBhbmQgZmFpbHVyZSBhbGVydHMuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImNv", + "bW1hbmQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICAgIm1pbkxlbmd0aCI6IDEsCiAgICAgICAgICAgICAgICAicGF0dGVybiI6ICIuKlxcUy4qIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaGVsbCBjb21tYW5kIHJ1biB3aXRoIG5vdGlmaWNhdGlvbiBwb2xpY3kgSlNPTiBvbiBzdGRpbi4iCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAidGltZW91dFNlY29uZHMiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAg", + "ICAgICAgImV4Y2x1c2l2ZU1pbmltdW0iOiAwLAogICAgICAgICAgICAgICAgImRlZmF1bHQiOiAyMCwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXhpbXVtIHRpbWUgY211eCB3YWl0cyBmb3IgdGhpcyBob29rIGJlZm9yZSBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdCBub3RpZmljYXRpb24gYmVoYXZpb3IuIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImVuYWJsZWQiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAg", + "ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNhYmxlIHRoaXMgaG9vayB3aXRob3V0IHJlbW92aW5nIGl0LiIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAic2lkZWJhciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAic2lkZWJhciIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJTaWRlYmFyIGNvbnRlbnQgYW5kIG1ldGFkYXRhIHZpc2liaWxpdHkgZnJvbSBTZXR0aW5ncyA+IFNpZGViYXIu", + "IiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJoaWRlQWxsRGV0YWlscyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiBmYWxzZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWRlIGFsbCBwZXItd29ya3NwYWNlIGRldGFpbCByb3dzLiIKICAgICAgICB9LAogICAgICAgICJ3cmFwV29ya3NwYWNlVGl0bGVzIjogewogICAgICAgICAgInR5cGUiOiAiYm9v", + "bGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93IHdvcmtzcGFjZSB0aXRsZXMgaW4gdGhlIHNpZGViYXIgdG8gd3JhcCB0byBtdWx0aXBsZSBsaW5lcyBpbnN0ZWFkIG9mIHRydW5jYXRpbmcgYWZ0ZXIgb25lIGxpbmUuIgogICAgICAgIH0sCiAgICAgICAgInNob3dXb3Jrc3BhY2VEZXNjcmlwdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cg", + "Y3VzdG9tIHdvcmtzcGFjZSBkZXNjcmlwdGlvbnMgaW4gdGhlIHNpZGViYXIuIgogICAgICAgIH0sCiAgICAgICAgImJldGEiOiB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRXhwZXJpbWVudGFsIHNpZGViYXIgZmVhdHVyZXMuIiwKICAgICAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICAgICAid29ya3NwYWNlVG9kb3MiOiB7CiAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAg", + "ICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV29ya3NwYWNlIHRvZG9zIGNoZWNrbGlzdCBwcmVzZW50YXRpb24uIiwKICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICJjaGVja2xpc3RTdHlsZSI6IHsKICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICAgICAgICAgImVudW0iOiBbInBvcG92ZXIiLCAiaW5saW5lIl0sCiAgICAgICAgICAgICAgICAgICJkZWZhdWx0IjogInBvcG92ZXIi", + "LAogICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSG93IGEgcm93J3MgY2hlY2tsaXN0IG9wZW5zIGZyb20gaXRzIHN1bW1hcnkgbGluZTogYW4gYW5jaG9yZWQgcG9wb3ZlciBvciBpbmxpbmUgZXhwYW5zaW9uLiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJicmFuY2hMYXlvdXQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInZlcnRpY2FsIiwgImlubGluZSJdLAogICAg", + "ICAgICAgImRlZmF1bHQiOiAidmVydGljYWwiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgZ2l0IGJyYW5jaCBkZXRhaWxzIHN0YWNrZWQgdmVydGljYWxseSBvciBpbmxpbmUuIgogICAgICAgIH0sCiAgICAgICAgInNob3dOb3RpZmljYXRpb25NZXNzYWdlIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyB0aGUgbGF0ZXN0IG5vdGlmaWNhdGlvbiB0ZXh0IGluIHRoZSBzaWRlYmFyLiIKICAgICAgICB9", + "LAogICAgICAgICJub3RpZmljYXRpb25NZXNzYWdlTGluZUxpbWl0IjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAibWF4aW11bSI6IDUwLAogICAgICAgICAgImRlZmF1bHQiOiAxMiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXhpbXVtIGxpbmVzIHNob3duIGZvciB0aGUgbGF0ZXN0IG5vdGlmaWNhdGlvbiBiZWxvdyBlYWNoIHdvcmtzcGFjZSB0aXRsZS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5z", + "aWRlYmFyLm5vdGlmaWNhdGlvbk1lc3NhZ2VMaW5lTGltaXQiCiAgICAgICAgfSwKICAgICAgICAic2hvd0JyYW5jaERpcmVjdG9yeSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHdvcmtzcGFjZSB3b3JraW5nIGRpcmVjdG9yeS4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1B1bGxSZXF1ZXN0cyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAog", + "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgcHVsbCByZXF1ZXN0IG1ldGFkYXRhIGluIHRoZSBzaWRlYmFyLiIKICAgICAgICB9LAogICAgICAgICJ3YXRjaEdpdFN0YXR1cyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIldhdGNoIHJlcG9zaXRvcnkgZmlsZXMgZm9yIHNpZGViYXIgYnJhbmNoIGFuZCBwdWxsIHJlcXVlc3QgbWV0YWRhdGEgd2l0aG91dCBwb2xsaW5nIGdpdC4iCiAgICAgICAgfSwKICAgICAgICAi", + "bWFrZVB1bGxSZXF1ZXN0c0NsaWNrYWJsZSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93IHNpZGViYXIgcHVsbCByZXF1ZXN0IG1ldGFkYXRhIHRvIG9wZW4gbGlua3Mgd2hlbiBjbGlja2VkLiIKICAgICAgICB9LAogICAgICAgICJvcGVuUHVsbFJlcXVlc3RMaW5rc0luQ211eEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAg", + "ICJkZXNjcmlwdGlvbiI6ICJPcGVuIHNpZGViYXIgcHVsbCByZXF1ZXN0IGxpbmtzIGluIHRoZSBlbWJlZGRlZCBjbXV4IGJyb3dzZXIuIgogICAgICAgIH0sCiAgICAgICAgIm9wZW5Qb3J0TGlua3NJbkNtdXhCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3BlbiBzaWRlYmFyIHBvcnQgbGlua3MgaW4gdGhlIGVtYmVkZGVkIGNtdXggYnJvd3Nlci4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1NTSCI6IHsK", + "ICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgU1NIIGNvbm5lY3Rpb24gZGV0YWlscy4iCiAgICAgICAgfSwKICAgICAgICAic2hvd1BvcnRzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBsaXN0ZW5pbmcgcG9ydHMuIgogICAgICAgIH0sCiAgICAgICAgInNob3dMb2ciOiB7CiAgICAgICAgICAidHlwZSI6", + "ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHJlY2VudCBsb2cgc25pcHBldHMuIgogICAgICAgIH0sCiAgICAgICAgInNob3dQcm9ncmVzcyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgcHJvZ3Jlc3MgaW5kaWNhdG9ycy4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0FnZW50QWN0aXZpdHkiOiB7CiAgICAgICAgICAidHlwZSI6ICJi", + "b29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IHRoZSBsb2FkaW5nIHNwaW5uZXIgb24gd29ya3NwYWNlcyB3aXRoIHJ1bm5pbmcgY29kaW5nIGFnZW50cyBvciBhY3RpdmUgbG9hZGVycy4iCiAgICAgICAgfSwKICAgICAgICAibG9hZGluZ1NwaW5uZXJQb3NpdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsibGVhZGluZyIsICJ0cmFpbGluZyJdLAogICAgICAgICAgImRlZmF1bHQiOiAibGVhZGluZyIsCiAg", + "ICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2hpY2ggc2lkZSBvZiB0aGUgd29ya3NwYWNlIHJvdyB0aGUgbG9hZGluZyBzcGlubmVyIGFwcGVhcnMgb246IGxlYWRpbmcgKGxlZnQsIHNoYXJpbmcgdGhlIHVucmVhZC1iYWRnZSBzbG90KSBvciB0cmFpbGluZyAocmlnaHQpLiIKICAgICAgICB9LAogICAgICAgICJub3RpZmljYXRpb25CYWRnZVBvc2l0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJsZWFkaW5nIiwgInRyYWlsaW5nIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJs", + "ZWFkaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGljaCBzaWRlIG9mIHRoZSB3b3Jrc3BhY2Ugcm93IHRoZSB1bnJlYWQgbm90aWZpY2F0aW9uIGJhZGdlIGFwcGVhcnMgb246IGxlYWRpbmcgKGxlZnQpIG9yIHRyYWlsaW5nIChyaWdodCkuIgogICAgICAgIH0sCiAgICAgICAgInNob3dDdXN0b21NZXRhZGF0YSI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VzdG9tIG1ldGFkYXRhIHBpbGxzLiIK", + "ICAgICAgICB9LAogICAgICAgICJyaWdodE1heFdpZHRoIjogewogICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICJleGNsdXNpdmVNaW5pbXVtIjogMCwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuc2lkZWJhci5yaWdodE1heFdpZHRoIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXhpbXVtIHdpZHRoIGluIHBvaW50cyBmb3IgdGhlIHJpZ2h0IHNpZGViYXIuIFdoZW4gb21pdHRlZCwgdGhlIGJ1aWx0LWluIGR5bmFtaWMgY2FwIGFwcGxpZXMuIgogICAgICAg", + "IH0KICAgICAgfQogICAgfSwKICAgICJ3b3Jrc3BhY2VDb2xvcnMiOiB7CiAgICAgICJ4LWNtdXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogIndvcmtzcGFjZUNvbG9ycyIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJXb3Jrc3BhY2UgdGFiIGFuZCBiYWRnZSBjb2xvcnMgZnJvbSBTZXR0aW5ncyA+IFdvcmtzcGFjZSBDb2xvcnMuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJpbmRpY2F0", + "b3JTdHlsZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsKICAgICAgICAgICAgImxlZnRSYWlsIiwKICAgICAgICAgICAgInNvbGlkRmlsbCIsCiAgICAgICAgICAgICJyYWlsIiwKICAgICAgICAgICAgImJvcmRlciIsCiAgICAgICAgICAgICJ3YXNoIiwKICAgICAgICAgICAgImxpZnQiLAogICAgICAgICAgICAidHlwb2dyYXBoeSIsCiAgICAgICAgICAgICJ3YXNoUmFpbCIsCiAgICAgICAgICAgICJibHVlV2FzaENvbG9yUmFpbCIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVm", + "YXVsdCI6ICJsZWZ0UmFpbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQWN0aXZlIHdvcmtzcGFjZSBpbmRpY2F0b3Igc3R5bGUuIExlZ2FjeSBhbGlhc2VzIGFyZSBhY2NlcHRlZCBhbmQgbm9ybWFsaXplZC4iCiAgICAgICAgfSwKICAgICAgICAic2VsZWN0aW9uQ29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZSB0aGUgc2VsZWN0ZWQgd29ya3NwYWNlIGJhY2tncm91", + "bmQgY29sb3IuIgogICAgICAgIH0sCiAgICAgICAgIm5vdGlmaWNhdGlvbkJhZGdlQ29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZSB0aGUgdW5yZWFkIG5vdGlmaWNhdGlvbiBiYWRnZSBjb2xvci4iCiAgICAgICAgfSwKICAgICAgICAiY29sb3JzIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGdWxsIG5hbWVkIHdv", + "cmtzcGFjZSBjb2xvciBwYWxldHRlLiBJbmNsdWRlIGJ1aWx0LWluIGVudHJpZXMgeW91IHdhbnQgdG8ga2VlcCwgcmVtb3ZlIGtleXMgdG8gcmVtb3ZlIGNvbG9ycywgYW5kIGFkZCBtb3JlIG5hbWVkIGVudHJpZXMgdG8gZXh0ZW5kIHRoZSBwaWNrZXIuIiwKICAgICAgICAgICJkZWZhdWx0IjogewogICAgICAgICAgICAiUmVkIjogIiNDMDM5MkIiLAogICAgICAgICAgICAiQ3JpbXNvbiI6ICIjOTIyQjIxIiwKICAgICAgICAgICAgIk9yYW5nZSI6ICIjQTA0MDAwIiwKICAgICAgICAgICAgIkFtYmVyIjogIiM3RDY2MDgiLAog", + "ICAgICAgICAgICAiT2xpdmUiOiAiIzRBNUMxOCIsCiAgICAgICAgICAgICJHcmVlbiI6ICIjMTk2RjNEIiwKICAgICAgICAgICAgIlRlYWwiOiAiIzAwNkI2QiIsCiAgICAgICAgICAgICJBcXVhIjogIiMwRTZCOEMiLAogICAgICAgICAgICAiQmx1ZSI6ICIjMTU2NUMwIiwKICAgICAgICAgICAgIk5hdnkiOiAiIzFBNTI3NiIsCiAgICAgICAgICAgICJJbmRpZ28iOiAiIzI4MzU5MyIsCiAgICAgICAgICAgICJQdXJwbGUiOiAiIzZBMUI5QSIsCiAgICAgICAgICAgICJNYWdlbnRhIjogIiNBRDE0NTciLAogICAgICAgICAgICAi", + "Um9zZSI6ICIjODgwRTRGIiwKICAgICAgICAgICAgIkJyb3duIjogIiM3QjNGMDAiLAogICAgICAgICAgICAiQ2hhcmNvYWwiOiAiIzNFNEI1RSIKICAgICAgICAgIH0sCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXgiCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicGFsZXR0ZU92ZXJyaWRlcyI6IHsKICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IHdvcmtzcGFjZSBjb2xv", + "ciBvdmVycmlkZXMgZm9yIGJ1aWx0LWluIHBhbGV0dGUgbmFtZXMuIFByZWZlciB3b3Jrc3BhY2VDb2xvcnMuY29sb3JzIGZvciBuZXcgY29uZmlncy4iLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAgICAgICJkZXByZWNhdGVkIjogdHJ1ZSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJjdXN0b21Db2xvcnMiOiB7CiAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCiAgICAg", + "ICAgICAiZGVzY3JpcHRpb24iOiAiTGVnYWN5IGxpc3Qgb2YgY3VzdG9tIHdvcmtzcGFjZSBjb2xvcnMuIFByZWZlciB3b3Jrc3BhY2VDb2xvcnMuY29sb3JzIGZvciBuZXcgY29uZmlncy4iLAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXByZWNhdGVkIjogdHJ1ZSwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAic2lkZWJhckFwcGVhcmFuY2UiOiB7CiAgICAgICJ4LWNt", + "dXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogInNpZGViYXJBcHBlYXJhbmNlIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIgdGludCBzZXR0aW5ncyBmcm9tIFNldHRpbmdzID4gU2lkZWJhciBBcHBlYXJhbmNlLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAibWF0Y2hUZXJtaW5hbEJhY2tncm91bmQiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAg", + "ICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVXNlIHRoZSB0ZXJtaW5hbCBiYWNrZ3JvdW5kIGluc3RlYWQgb2YgdGhlIHNpZGViYXIgdGludC4iCiAgICAgICAgfSwKICAgICAgICAidGludENvbG9yIjogewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIjMDAwMDAwIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJCYXNlIHNpZGViYXIgdGludCBjb2xvciB1c2VkIHdoZW4gbGlnaHQvZGFyayBvdmVycmlkZXMgYXJlIG5vdCBzZXQu", + "IgogICAgICAgIH0sCiAgICAgICAgImxpZ2h0TW9kZVRpbnRDb2xvciI6IHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvY29sb3JIZXhPck51bGwiLAogICAgICAgICAgImRlZmF1bHQiOiBudWxsLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIgdGludCBvdmVycmlkZSBmb3IgbGlnaHQgYXBwZWFyYW5jZS4iCiAgICAgICAgfSwKICAgICAgICAiZGFya01vZGVUaW50Q29sb3IiOiB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2NvbG9ySGV4T3JOdWxsIiwKICAgICAgICAgICJkZWZhdWx0IjogbnVsbCwK", + "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaWRlYmFyIHRpbnQgb3ZlcnJpZGUgZm9yIGRhcmsgYXBwZWFyYW5jZS4iCiAgICAgICAgfSwKICAgICAgICAidGludE9wYWNpdHkiOiB7CiAgICAgICAgICAidHlwZSI6ICJudW1iZXIiLAogICAgICAgICAgIm1pbmltdW0iOiAwLAogICAgICAgICAgIm1heGltdW0iOiAxLAogICAgICAgICAgImRlZmF1bHQiOiAwLjAzLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpZGViYXIgdGludCBvcGFjaXR5IGZyb20gMCB0byAxLiBOb3RlOiB0aGlzIG9ubHkgY29udHJvbHMgdGhlIHNp", + "ZGViYXIgdGludCwgbm90IHRlcm1pbmFsL3dpbmRvdyB0cmFuc3BhcmVuY3kuIEZvciB0ZXJtaW5hbCBiYWNrZ3JvdW5kIHRyYW5zcGFyZW5jeSBvciBibHVyLCBzZXQgYGJhY2tncm91bmQtb3BhY2l0eWAgYW5kIGBiYWNrZ3JvdW5kLWJsdXJgIGluIGB+Ly5jb25maWcvZ2hvc3R0eS9jb25maWdgIGFuZCBydW4gYGNtdXggcmVsb2FkLWNvbmZpZ2AuIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJhdXRvbWF0aW9uIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJhdXRv", + "bWF0aW9uIiwKICAgICAgImRlc2NyaXB0aW9uIjogIlNvY2tldCBjb250cm9sIGFuZCBhdXRvbWF0aW9uIHNldHRpbmdzIGZyb20gU2V0dGluZ3MgPiBBdXRvbWF0aW9uLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAic29ja2V0Q29udHJvbE1vZGUiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbCiAgICAgICAgICAgICJvZmYiLAogICAgICAgICAgICAiY211eE9u", + "bHkiLAogICAgICAgICAgICAiYXV0b21hdGlvbiIsCiAgICAgICAgICAgICJwYXNzd29yZCIsCiAgICAgICAgICAgICJhbGxvd0FsbCIsCiAgICAgICAgICAgICJvcGVuQWNjZXNzIiwKICAgICAgICAgICAgImZ1bGxPcGVuQWNjZXNzIiwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbnMiLAogICAgICAgICAgICAiZnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJjbXV4T25seSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU29ja2V0IGNvbnRyb2wgbW9kZS4gTGVnYWN5IGFsaWFzZXMgYXJlIGFjY2Vw", + "dGVkIGFuZCBub3JtYWxpemVkLiIKICAgICAgICB9LAogICAgICAgICJzb2NrZXRQYXNzd29yZCI6IHsKICAgICAgICAgICJvbmVPZiI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICJ0eXBlIjogIm51bGwiCiAgICAgICAgICAgIH0KICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlBhc3N3b3JkIGZvciBwYXNzd29yZC1tb2RlIHNvY2tldCBhY2Nl", + "c3MuIFVzZSBudWxsIG9yIGFuIGVtcHR5IHN0cmluZyB0byBjbGVhciBpdC4iCiAgICAgICAgfSwKICAgICAgICAiY2xhdWRlQ29kZUludGVncmF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlIGNtdXggaW50ZWdyYXRpb24gaG9va3MgZm9yIENsYXVkZSBDb2RlLiIKICAgICAgICB9LAogICAgICAgICJjbGF1ZGVCaW5hcnlQYXRoIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAg", + "ICJkZWZhdWx0IjogIiIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9tIHBhdGggdG8gdGhlIGNsYXVkZSBiaW5hcnkuIgogICAgICAgIH0sCiAgICAgICAgIndvcmtzcGFjZUF1dG9OYW1pbmciOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24ud29ya3NwYWNlQXV0b05hbWluZyIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3B0LWluIEFJIGF1dG8t", + "bmFtaW5nIG9mIHdvcmtzcGFjZXMgYW5kIHRhYnMgZnJvbSBhZ2VudCBjb252ZXJzYXRpb24gY29udGVudC4gV2hlbiBlbmFibGVkLCBjbXV4IHN1bW1hcml6ZXMgc3VwcG9ydGVkIGFnZW50IHNlc3Npb25zIGludG8gc2hvcnQgdGl0bGVzIHVzaW5nIGVhY2ggYWdlbnQncyBvd24gYmluYXJ5OyBtYW51YWwgcmVuYW1lcyBhbHdheXMgd2luLiIKICAgICAgICB9LAogICAgICAgICJhdXRvTmFtaW5nQWdlbnQiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiYXV0byIsCiAgICAgICAg", + "ICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmF1dG9tYXRpb24uYXV0b05hbWluZ0FnZW50IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGljaCBhZ2VudCBnZW5lcmF0ZXMgYXV0by1uYW1lcyBmb3IgZXZlcnkgc2Vzc2lvbi4gXCJhdXRvXCIgKGRlZmF1bHQpIG5hbWVzIGVhY2ggc2Vzc2lvbiB3aXRoIGl0cyBvd24gYWdlbnQ7IGFueSBhZ2VudCBzbHVnIChjbGF1ZGUsIGNvZGV4LCBncm9rLCBvcGVuY29kZSwgcGksIG9tcCwg4oCmKSBvdmVycmlkZXMgbmFtaW5nIGZvciBhbGwgc2Vzc2lvbnMs", + "IGV2ZW4gb3RoZXIgYWdlbnRzJyBzZXNzaW9ucy4gVW5kcml2ZWFibGUgb3IgdW5pbnN0YWxsZWQgYWdlbnRzIGZhbGwgYmFjayB0byB0aGUgc2Vzc2lvbidzIG93biBhZ2VudCwgc28gbmFtaW5nIG5ldmVyIGJyZWFrcy4iCiAgICAgICAgfSwKICAgICAgICAicmlwZ3JlcEJpbmFyeVBhdGgiOiB7CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDdXN0b20gcGF0aCB0byB0aGUgcmlwZ3JlcCAocmcpIGJpbmFyeSB1c2VkIGJ5IHByb2pl", + "Y3Qgc2VhcmNoLiIKICAgICAgICB9LAogICAgICAgICJzdXBwcmVzc1N1YmFnZW50Tm90aWZpY2F0aW9ucyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hdXRvbWF0aW9uLnN1cHByZXNzU3ViYWdlbnROb3RpZmljYXRpb25zIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdXBwcmVzcyB2aXNpYmxlIGNvbXBsZXRpb24gbm90aWZpY2F0aW9ucyBhbmQgc3RhdHVzIG11dGF0aW9u", + "cyBmcm9tIG5lc3RlZCBDb2RleCBvciBDbGF1ZGUgY2hpbGQgYWdlbnRzIHdoaWxlIGtlZXBpbmcgdGhlaXIgZXZlbnRzIGluIEZlZWQgdGVsZW1ldHJ5LiIKICAgICAgICB9LAogICAgICAgICJhbXBJbnRlZ3JhdGlvbiI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5hdXRvbWF0aW9uLmFtcEludGVncmF0aW9uIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGUgY211eCBp", + "bnRlZ3JhdGlvbiBob29rcyBmb3IgQW1wLiBXaGVuIGRpc2FibGVkLCB0aGUgYnVuZGxlZCBwbHVnaW4gc3RheXMgaW5hY3RpdmUgd2l0aG91dCBuZWVkaW5nIHRvIGJlIHJlbW92ZWQuIgogICAgICAgIH0sCiAgICAgICAgImN1cnNvckludGVncmF0aW9uIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlIGNtdXggaW50ZWdyYXRpb24gaG9va3MgZm9yIEN1cnNvci4iCiAgICAgICAgfSwKICAgICAgICAiZ2VtaW5p", + "SW50ZWdyYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgR2VtaW5pLiIKICAgICAgICB9LAogICAgICAgICJraXJvSW50ZWdyYXRpb24iOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGUgY211eCBpbnRlZ3JhdGlvbiBob29rcyBmb3IgS2ly", + "byBDTEkuIgogICAgICAgIH0sCiAgICAgICAgImtpcm9Ob3RpZmljYXRpb25MZXZlbCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsKICAgICAgICAgICAgIm1pbmltYWwiLAogICAgICAgICAgICAic3RhbmRhcmQiLAogICAgICAgICAgICAidmVyYm9zZSIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJzdGFuZGFyZCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29udHJvbHMgaG93IG1hbnkgS2lybyB0b29sIGV2ZW50cyBhcHBlYXIgaW4gRmVlZC4iCiAgICAg", + "ICAgfSwKICAgICAgICAicG9ydEJhc2UiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJkZWZhdWx0IjogOTEwMCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTdGFydGluZyB2YWx1ZSBmb3Igd29ya3NwYWNlIENNVVhfUE9SVCBhc3NpZ25tZW50cy4iCiAgICAgICAgfSwKICAgICAgICAicG9ydFJhbmdlIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDEsCiAgICAgICAgICAiZGVmYXVsdCI6IDEwLAog", + "ICAgICAgICAgImRlc2NyaXB0aW9uIjogIk51bWJlciBvZiBwb3J0cyByZXNlcnZlZCBwZXIgd29ya3NwYWNlLiIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiYnJvd3NlciI6IHsKICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAiYnJvd3NlciIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJFbWJlZGRlZCBicm93c2VyIHNldHRpbmdzIGZyb20gU2V0dGluZ3MgPiBCcm93c2VyLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZh", + "bHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZGVmYXVsdFNlYXJjaEVuZ2luZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsiZ29vZ2xlIiwgImR1Y2tkdWNrZ28iLCAiYmluZyIsICJrYWdpIiwgInN0YXJ0cGFnZSIsICJicmF2ZSIsICJwZXJwbGV4aXR5IiwgImV4YSIsICJ5YWhvbyIsICJlY29zaWEiLCAicXdhbnQiLCAibW9qZWVrIiwgIndpa2lwZWRpYSIsICJnaXRodWIiLCAiYmFpZHUiLCAieWFuZGV4IiwgImN1c3RvbSJdLAogICAgICAgICAgImRlZmF1bHQi", + "OiAiZ29vZ2xlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYnJvd3Nlci5kZWZhdWx0U2VhcmNoRW5naW5lIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IHNlYXJjaCBlbmdpbmUgZm9yIG5vbi1VUkwgYnJvd3NlciBhZGRyZXNzIGJhciBxdWVyaWVzLiBVc2UgY3VzdG9tIHdpdGggY3VzdG9tU2VhcmNoRW5naW5lVVJMVGVtcGxhdGUgZm9yIGFyYml0cmFyeSBwcm92aWRlcnMuIgogICAgICAgIH0sCiAgICAgICAgImN1c3RvbVNlYXJjaEVuZ2luZU5hbWUiOiB7CiAg", + "ICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImRlZmF1bHQiOiAiIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYnJvd3Nlci5jdXN0b21TZWFyY2hFbmdpbmVOYW1lIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNwbGF5IG5hbWUgdXNlZCB3aGVuIGRlZmF1bHRTZWFyY2hFbmdpbmUgaXMgY3VzdG9tLiIKICAgICAgICB9LAogICAgICAgICJjdXN0b21TZWFyY2hFbmdpbmVVUkxUZW1wbGF0ZSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAg", + "ICAgICAiZGVmYXVsdCI6ICJodHRwczovL3d3dy5nb29nbGUuY29tL3NlYXJjaD9xPXtxdWVyeX0iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmN1c3RvbVNlYXJjaEVuZ2luZVVSTFRlbXBsYXRlIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZWFyY2ggVVJMIHVzZWQgd2hlbiBkZWZhdWx0U2VhcmNoRW5naW5lIGlzIGN1c3RvbS4gSW5jbHVkZSB7cXVlcnl9IG9yICVzIGZvciB0aGUgZW5jb2RlZCBxdWVyeS4gSWYgb21pdHRlZCwgY211eCBhcHBlbmRzIHE9IHRv", + "IHRoZSBVUkwuIgogICAgICAgIH0sCiAgICAgICAgInNob3dTZWFyY2hTdWdnZXN0aW9ucyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgb21uaWJhciBzZWFyY2ggc3VnZ2VzdGlvbnMuIgogICAgICAgIH0sCiAgICAgICAgInRoZW1lIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJzeXN0ZW0iLCAibGlnaHQiLCAiZGFyayJdLAogICAgICAgICAgImRlZmF1bHQiOiAi", + "c3lzdGVtIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbWJlZGRlZCBicm93c2VyIHRoZW1lLiIKICAgICAgICB9LAogICAgICAgICJkZWZhdWx0Wm9vbUxldmVsIjogewogICAgICAgICAgInR5cGUiOiAibnVtYmVyIiwKICAgICAgICAgICJtaW5pbXVtIjogMC4yNSwKICAgICAgICAgICJtYXhpbXVtIjogNSwKICAgICAgICAgICJkZWZhdWx0IjogMSwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuYnJvd3Nlci5kZWZhdWx0Wm9vbUxldmVsIiwKICAgICAgICAgICJkZXNjcmlwdGlv", + "biI6ICJEZWZhdWx0IHBhZ2Ugem9vbSBmYWN0b3IgYXBwbGllZCB0byBuZXdseSBvcGVuZWQgYnJvd3NlciBwYWdlcyAoMSA9IDEwMCUpLiBab29tIEluLCBab29tIE91dCwgYW5kIEFjdHVhbCBTaXplIHN0aWxsIGFkanVzdCBlYWNoIHBhZ2UuIgogICAgICAgIH0sCiAgICAgICAgImRpc2NhcmRIaWRkZW5XZWJWaWV3cyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93IGhpZGRlbiBicm93c2VyIHRhYnMgdG8gcmVs", + "ZWFzZSBwYWdlIG1lbW9yeSBhbmQgcmVzdG9yZSB3aGVuIHNob3duIGFnYWluLiIKICAgICAgICB9LAogICAgICAgICJoaWRkZW5XZWJWaWV3RGlzY2FyZERlbGF5U2Vjb25kcyI6IHsKICAgICAgICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAgICAgICAibWluaW11bSI6IDAsCiAgICAgICAgICAibWF4aW11bSI6IDM2MDAsCiAgICAgICAgICAiZGVmYXVsdCI6IDMwMCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZWNvbmRzIGEgYnJvd3NlciB0YWIgbXVzdCBzdGF5IGhpZGRlbiBiZWZvcmUgY211eCBmcmVlcyBpdHMgcGFn", + "ZSBtZW1vcnkuIgogICAgICAgIH0sCiAgICAgICAgImFza1doZXJlVG9TYXZlRG93bmxvYWRzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IGZhbHNlLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLmFza1doZXJlVG9TYXZlRG93bmxvYWRzIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG93IGEgc2F2ZSBwYW5lbCBmb3IgYnJvd3NlciBkb3dubG9hZHMgaW5zdGVhZCBvZiBzYXZpbmcgZGlyZWN0bHkgdG8gRG93bmxv", + "YWRzLiIKICAgICAgICB9LAogICAgICAgICJvcGVuVGVybWluYWxMaW5rc0luQ211eEJyb3dzZXIiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVuIGNsaWNrZWQgdGVybWluYWwgbGlua3MgaW4gdGhlIGVtYmVkZGVkIGJyb3dzZXIuIgogICAgICAgIH0sCiAgICAgICAgImludGVyY2VwdFRlcm1pbmFsT3BlbkNvbW1hbmRJbkNtdXhCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAg", + "ICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSW50ZXJjZXB0IHRlcm1pbmFsIG9wZW4gaHR0cChzKSBjb21tYW5kcyBhbmQgcm91dGUgdGhlbSB0aHJvdWdoIHRoZSBlbWJlZGRlZCBicm93c2VyLiIKICAgICAgICB9LAogICAgICAgICJob3N0c1RvT3BlbkluRW1iZWRkZWRCcm93c2VyIjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICB9LAogICAgICAgICAgImRlZmF1bHQiOiBbXSwK", + "ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbGxvd2xpc3Qgb2YgaG9zdHMgdGhhdCBzaG91bGQgc3RheSBpbnNpZGUgdGhlIGVtYmVkZGVkIGJyb3dzZXIuIgogICAgICAgIH0sCiAgICAgICAgInVybHNUb0Fsd2F5c09wZW5FeHRlcm5hbGx5IjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICB9LAogICAgICAgICAgImRlZmF1bHQiOiBbXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSdWxlcyB0aGF0IGFsd2F5", + "cyBvcGVuIG1hdGNoaW5nIFVSTHMgaW4gdGhlIHN5c3RlbSBicm93c2VyLiIKICAgICAgICB9LAogICAgICAgICJpbnNlY3VyZUh0dHBIb3N0c0FsbG93ZWRJbkVtYmVkZGVkQnJvd3NlciI6IHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJpdGVtcyI6IHsKICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgfSwKICAgICAgICAgICJkZWZhdWx0IjogWwogICAgICAgICAgICAibG9jYWxob3N0IiwKICAgICAgICAgICAgIioubG9jYWxob3N0IiwKICAgICAgICAgICAgIjEyNy4wLjAuMSIs", + "CiAgICAgICAgICAgICI6OjEiLAogICAgICAgICAgICAiMC4wLjAuMCIsCiAgICAgICAgICAgICIqLmxvY2FsdGVzdC5tZSIKICAgICAgICAgIF0sCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSFRUUCBob3N0cyBhbGxvd2VkIGluIHRoZSBlbWJlZGRlZCBicm93c2VyIHdpdGhvdXQgYSB3YXJuaW5nIHByb21wdC4iCiAgICAgICAgfSwKICAgICAgICAidXJsQWxsb3dsaXN0IjogewogICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAogICAgICAgICAgIml0ZW1zIjogewogICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAg", + "ICAgICB9LAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5icm93c2VyLnVybEFsbG93bGlzdCIsCiAgICAgICAgICAiZGVmYXVsdCI6IFsKICAgICAgICAgICAgImxvY2FsaG9zdCIsCiAgICAgICAgICAgICIqLmxvY2FsaG9zdCIsCiAgICAgICAgICAgICIxMjcuMC4wLjEiLAogICAgICAgICAgICAiOjoxIiwKICAgICAgICAgICAgIjAuMC4wLjAiLAogICAgICAgICAgICAiKi5sb2NhbHRlc3QubWUiCiAgICAgICAgICBdLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkhvc3Qgb3IgVVJM", + "IHBhdHRlcm5zIHRoYXQgcmVzdHJpY3QgZW1iZWRkZWQtYnJvd3NlciBuYXZpZ2F0aW9uLiBUaGUgU2V0dGluZ3MgVUkgc3VnZ2VzdHMgbG9jYWwgZGV2ZWxvcG1lbnQgb3JpZ2luczsgc2F2aW5nIGEgbGlzdCBvcHRzIGludG8gdGhlIG9wdGlvbmFsIHJlc3RyaWN0aW9uLiBSZW1vdmUgZW50cmllcyB0byBibG9jayB0aGVtLCBvciBsZWF2ZSB0aGUgdXNlciB2YWx1ZSBlbXB0eSB0byBkaXNhYmxlIGl0IHdoZW4gbm8gbWFuYWdlZCBwb2xpY3kgYXBwbGllcy4iCiAgICAgICAgfSwKICAgICAgICAic2hvd0ltcG9ydEhpbnRPbkJs", + "YW5rVGFicyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGJyb3dzZXIgaW1wb3J0IGhpbnQgb24gYmxhbmsgdGFicy4iCiAgICAgICAgfSwKICAgICAgICAicmVhY3RHcmFiVmVyc2lvbiI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIwLjEuMjkiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlBpbm5lZCByZWFjdC1ncmFiIHZlcnNpb24gZm9yIHRoZSBi", + "cm93c2VyIHRvb2xiYXIgaGVscGVyLiIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAibW9iaWxlIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJtb2JpbGUiLAogICAgICAiZGVzY3JpcHRpb24iOiAiTWFjLXNpZGUgc2V0dGluZ3MgZm9yIGNtdXggb24gaU9TLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiYXJ0aWZhY3RGb2xkZXJBY2Nlc3MiOiB7", + "CiAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgImVudW0iOiBbInN1YnRyZWUiLCAib25lTGV2ZWwiXSwKICAgICAgICAgICJkZWZhdWx0IjogInN1YnRyZWUiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2xzIHdoZXRoZXIgYSByZWZlcmVuY2VkIG9yIHRlcm1pbmFsLXZpc2libGUgZGlyZWN0b3J5IGF1dGhvcml6ZXMgaXRzIGZ1bGwgY2Fub25pY2FsIHN1YnRyZWUgb3Igb25seSBpbW1lZGlhdGUgY2hpbGRyZW4uIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJtYXJrZG93biI6IHsK", + "ICAgICAgIngtY211eC1zY29wZXMiOiBbImdsb2JhbCJdLAogICAgICAidGl0bGUiOiAibWFya2Rvd24iLAogICAgICAiZGVzY3JpcHRpb24iOiAiQnVpbHQtaW4gbWFya2Rvd24gdmlld2VyIHNldHRpbmdzLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZm9udFNpemUiOiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJtaW5pbXVtIjogOCwKICAgICAgICAgICJtYXhpbXVtIjog", + "OTYsCiAgICAgICAgICAiZGVmYXVsdCI6IDE1LAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgYm9keSBmb250IHNpemUsIGluIHBvaW50cywgZm9yIG5ld2x5IG9wZW5lZCBtYXJrZG93biB2aWV3ZXJzLiBab29tIGEgdmlld2VyIGxpdmUgd2l0aCBDbWQtKyAvIENtZC0tIC8gQ21kLTAuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubWFya2Rvd24uZm9udFNpemUiCiAgICAgICAgfSwKICAgICAgICAiZm9udEZhbWlseSI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmlu", + "ZyIsCiAgICAgICAgICAiZGVmYXVsdCI6ICIiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRlZmF1bHQgYm9keSBmb250IGZhbWlseSBmb3IgbmV3bHkgb3BlbmVkIG1hcmtkb3duIHZpZXdlcnMuIExlYXZlIGVtcHR5IGZvciB0aGUgc3lzdGVtIG1hcmtkb3duIGZvbnQgc3RhY2suIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubWFya2Rvd24uZm9udEZhbWlseSIKICAgICAgICB9LAogICAgICAgICJtYXhXaWR0aCI6IHsKICAgICAgICAgICJ0eXBlIjogImludGVnZXIiLAogICAg", + "ICAgICAgIm1pbmltdW0iOiAzMjAsCiAgICAgICAgICAibWF4aW11bSI6IDI0MDAsCiAgICAgICAgICAiZGVmYXVsdCI6IDk4MCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZWZhdWx0IG1heGltdW0gcmVhZGluZyBjb2x1bW4gd2lkdGgsIGluIENTUyBwaXhlbHMsIGZvciBuZXdseSBvcGVuZWQgbWFya2Rvd24gdmlld2Vycy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5tYXJrZG93bi5tYXhXaWR0aCIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiY2FudmFzIjogewog", + "ICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJjYW52YXMiLAogICAgICAiZGVzY3JpcHRpb24iOiAiRnJlZWZvcm0gY2FudmFzIHdvcmtzcGFjZSBsYXlvdXQgc2V0dGluZ3MuIiwKICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIjogewogICAgICAgICJwYW5lR2FwIjogewogICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCiAgICAgICAgICAibWluaW11bSI6IDAsCiAgICAgICAgICAibWF4aW11", + "bSI6IDY0LAogICAgICAgICAgImRlZmF1bHQiOiAxNiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTcGFjaW5nIGJldHdlZW4gcGFuZXMgaW4gdGhlIGNhbnZhcyBsYXlvdXQsIGluIHBvaW50cy4gU25hcHBpbmcsIHRpZHksIGFuZCBuZXctcGFuZSBwbGFjZW1lbnQgYWxsIHVzZSB0aGlzIG9uZSBnYXAuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuY2FudmFzLnBhbmVHYXAiCiAgICAgICAgfSwKICAgICAgICAic25hcHBpbmdFbmFibGVkIjogewogICAgICAgICAgInR5cGUiOiAi", + "Ym9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU25hcCBwYW5lIGRyYWdzIGFuZCByZXNpemVzIHRvIG5laWdoYm9yIGVkZ2VzIGFuZCB0aGUgcGFuZSBnYXAuIEhvbGQgQ29tbWFuZCB0byBzdXNwZW5kIHNuYXBwaW5nIGZvciBvbmUgZ2VzdHVyZS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5jYW52YXMuc25hcHBpbmdFbmFibGVkIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJmaWxlRWRpdG9yIjogewogICAg", + "ICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJmaWxlRWRpdG9yIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkJ1aWx0LWluIGZpbGUgZWRpdG9yIHNldHRpbmdzLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAid29yZFdyYXAiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogZmFsc2UsCiAgICAgICAgICAiZGVzY3JpcHRpb24i", + "OiAiV3JhcCBsb25nIGxpbmVzIGF0IHRoZSBlZGl0b3IncyByaWdodCBlZGdlIGluc3RlYWQgb2Ygc2Nyb2xsaW5nIGhvcml6b250YWxseS4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5maWxlRWRpdG9yLndvcmRXcmFwIgogICAgICAgIH0sCiAgICAgICAgInN5bnRheEhpZ2hsaWdodGluZyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbG9yIHNvdXJjZSB0b2tlbnMgaW4g", + "dGhlIGJ1aWx0LWluIGZpbGUgZWRpdG9yLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3Iuc3ludGF4SGlnaGxpZ2h0aW5nIgogICAgICAgIH0sCiAgICAgICAgImxpbmVOdW1iZXJzIjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2hvdyBhIGxpbmUtbnVtYmVyIGd1dHRlciBpbiB0aGUgYnVpbHQtaW4gZmlsZSBlZGl0b3IuIiwKICAgICAgICAgICJkZXNjcmlw", + "dGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUVkaXRvci5saW5lTnVtYmVycyIKICAgICAgICB9LAogICAgICAgICJpbmRlbnRHdWlkZXMiOiB7CiAgICAgICAgICAidHlwZSI6ICJib29sZWFuIiwKICAgICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEcmF3IHZlcnRpY2FsIGluZGVudCBndWlkZXMgaW4gdGhlIGJ1aWx0LWluIGZpbGUgZWRpdG9yLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3IuaW5kZW50R3Vp", + "ZGVzIgogICAgICAgIH0sCiAgICAgICAgImN1cnJlbnRMaW5lSGlnaGxpZ2h0IjogewogICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCiAgICAgICAgICAiZGVmYXVsdCI6IHRydWUsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSGlnaGxpZ2h0IHRoZSBjYXJldCdzIGxpbmUgd2hlbiB0aGUgc2VsZWN0aW9uIGlzIGVtcHR5LiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmZpbGVFZGl0b3IuY3VycmVudExpbmVIaWdobGlnaHQiCiAgICAgICAgfSwKICAgICAgICAidGFiV2lkdGgi", + "OiB7CiAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKICAgICAgICAgICJkZWZhdWx0IjogNCwKICAgICAgICAgICJtaW5pbXVtIjogMSwKICAgICAgICAgICJtYXhpbXVtIjogOCwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb2x1bW5zIHBlciB0YWIgc3RvcCBmb3IgaW5kZW50IGd1aWRlcy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5maWxlRWRpdG9yLnRhYldpZHRoIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJmaWxlRXhwbG9yZXIiOiB7CiAgICAgICJ4LWNt", + "dXgtc2NvcGVzIjogWyJnbG9iYWwiXSwKICAgICAgInRpdGxlIjogImZpbGVFeHBsb3JlciIsCiAgICAgICJkZXNjcmlwdGlvbiI6ICJSaWdodC1zaWRlYmFyIGZpbGUgZXhwbG9yZXIgKGZpbGUgdHJlZSkgc2V0dGluZ3MuIiwKICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5maWxlRXhwbG9yZXIuZGVzY3JpcHRpb24iLAogICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgImRvdWJsZUNs", + "aWNrQWN0aW9uIjogewogICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgICAgICJlbnVtIjogWyJwcmV2aWV3IiwgImRlZmF1bHRFZGl0b3IiLCAicHJlZmVycmVkRWRpdG9yIl0sCiAgICAgICAgICAiZGVmYXVsdCI6ICJwcmV2aWV3IiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJXaGF0IGRvdWJsZS1jbGlja2luZyAob3IgcHJlc3NpbmcgUmV0dXJuIG9uIGEgc2VhcmNoIHJlc3VsdCBmb3IpIGEgZmlsZSBpbiB0aGUgZmlsZSBleHBsb3JlciBkb2VzLiBgcHJldmlld2Agb3BlbnMgdGhlIGJ1aWx0LWluIGNtdXgg", + "ZmlsZSBwcmV2aWV3ICh0aGUgZGVmYXVsdCBhbmQgaGlzdG9yaWNhbCBiZWhhdmlvcikuIGBkZWZhdWx0RWRpdG9yYCBvcGVucyB3aXRoIHRoZSBtYWNPUyBkZWZhdWx0IGFwcCBmb3IgdGhlIGZpbGUgdHlwZS4gYHByZWZlcnJlZEVkaXRvcmAgb3BlbnMgd2l0aCB0aGUgYGFwcC5wcmVmZXJyZWRFZGl0b3JgIGNvbW1hbmQsIGZhbGxpbmcgYmFjayB0byB0aGUgZGVmYXVsdCBhcHAgd2hlbiBub25lIGlzIHNldC4gT25seSBhcHBsaWVzIHRvIGZpbGVzOyBkaXJlY3RvcmllcyBhbHdheXMgZXhwYW5kL2NvbGxhcHNlLCBhbmQgbm9u", + "LWxvY2FsIChyZW1vdGUpIGZpbGUgZXhwbG9yZXJzIGFsd2F5cyBvcGVuIHRoZSBjbXV4IHByZXZpZXcuIiwKICAgICAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMuZmlsZUV4cGxvcmVyLmRvdWJsZUNsaWNrQWN0aW9uIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJkaWZmVmlld2VyIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJkaWZmVmlld2VyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkJ1aWx0LWluIGRpZmYgdmlld2VyIHNldHRp", + "bmdzLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IGZhbHNlLAogICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAiZGVmYXVsdExheW91dCI6IHsKICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAiZW51bSI6IFsidW5pZmllZCIsICJzcGxpdCJdLAogICAgICAgICAgImRlZmF1bHQiOiAidW5pZmllZCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVmYXVsdCBsYXlvdXQgZm9yIG5ld2x5IG9wZW5lZCBkaWZmIHZpZXdlcnMuIFRoZSB0b29sYmFy", + "IGxheW91dCB0b2dnbGUgcGVyc2lzdHMgdGhlIHVzZXIncyBsYXN0IGNob2ljZTsgYW4gZXhwbGljaXQgYGNtdXggZGlmZiAtLWxheW91dGAgb3B0aW9uIG92ZXJyaWRlcyBib3RoLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25zLmRpZmZWaWV3ZXIuZGVmYXVsdExheW91dCIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAicmlnaHRTaWRlYmFyIjogewogICAgICAidGl0bGUiOiAicmlnaHRTaWRlYmFyIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkxlZ2FjeSBhbmQgZXh0ZW5zaW9u", + "LW93bmVkIHJpZ2h0LXNpZGViYXIgY29uZmlndXJhdGlvbiBwcmVzZXJ2ZWQgaW4gY211eC5qc29uLiIsCiAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHRydWUKICAgIH0sCiAgICAic2hvcnRjdXRzIjogewogICAgICAieC1jbXV4LXNjb3BlcyI6IFsiZ2xvYmFsIl0sCiAgICAgICJ0aXRsZSI6ICJzaG9ydGN1dHMiLAogICAgICAiZGVzY3JpcHRpb24iOiAiS2V5Ym9hcmQgc2hvcnRjdXQgc2V0dGluZ3MgZnJvbSBTZXR0aW5ncyA+IEtleWJvYXJkIFNob3J0Y3V0cy4iLAogICAg", + "ICAidHlwZSI6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgInNob3dNb2RpZmllckhvbGRIaW50cyI6IHsKICAgICAgICAgICJ0eXBlIjogImJvb2xlYW4iLAogICAgICAgICAgImRlZmF1bHQiOiB0cnVlLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNob3cgc2hvcnRjdXQtaGludCBjaGlwcyB3aGlsZSBob2xkaW5nIENtZCBvciBDb250cm9sLiIsCiAgICAgICAgICAiZGVzY3JpcHRpb25LZXkiOiAic2NoZW1hRGVzY3JpcHRpb25z", + "LnNob3J0Y3V0cy5zaG93TW9kaWZpZXJIb2xkSGludHMiCiAgICAgICAgfSwKICAgICAgICAiYmluZGluZ3MiOiB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImRlZmF1bHQiOiB7fSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTaG9ydGN1dCBvdmVycmlkZXMga2V5ZWQgYnkgY211eCBhY3Rpb24gaWQuIFVzZSBhIHN0cmluZyBmb3IgYSBzaW5nbGUgc2hvcnRjdXQsIGFuIGFycmF5IGZvciBhIGNob3JkLCBudWxsLCBhbiBlbXB0eSBzdHJpbmcsIG5vbmUsIGNsZWFyLCB1bmJvdW5kLCBvciBkaXNh", + "YmxlZCB0byB1bmJpbmQuIiwKICAgICAgICAgICJwcm9wZXJ0eU5hbWVzIjogewogICAgICAgICAgICAiZW51bSI6IFsKICAgICAgICAgICAgICAib3BlblNldHRpbmdzIiwKICAgICAgICAgICAgICAicmVsb2FkQ29uZmlndXJhdGlvbiIsCiAgICAgICAgICAgICAgInNob3dIaWRlQWxsV2luZG93cyIsCiAgICAgICAgICAgICAgImdsb2JhbFNlYXJjaCIsCiAgICAgICAgICAgICAgIm5ld1dpbmRvdyIsCiAgICAgICAgICAgICAgImNsb3NlV2luZG93IiwKICAgICAgICAgICAgICAidG9nZ2xlRnVsbFNjcmVlbiIsCiAgICAgICAg", + "ICAgICAgInF1aXQiLAogICAgICAgICAgICAgICJ0b2dnbGVTaWRlYmFyIiwKICAgICAgICAgICAgICAibmV3VGFiIiwKICAgICAgICAgICAgICAibmV3QnJvd3NlcldvcmtzcGFjZSIsCiAgICAgICAgICAgICAgIm5ld0Nsb3VkV29ya3NwYWNlIiwKICAgICAgICAgICAgICAibmV3Q2xvdWRNYWNoaW5lIiwKICAgICAgICAgICAgICAib3BlbkZvbGRlciIsCiAgICAgICAgICAgICAgInJlb3BlblByZXZpb3VzU2Vzc2lvbiIsCiAgICAgICAgICAgICAgImdvVG9Xb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJjb21tYW5kUGFsZXR0", + "ZSIsCiAgICAgICAgICAgICAgImNvbW1hbmRQYWxldHRlTmV4dCIsCiAgICAgICAgICAgICAgImNvbW1hbmRQYWxldHRlUHJldmlvdXMiLAogICAgICAgICAgICAgICJzZW5kRmVlZGJhY2siLAogICAgICAgICAgICAgICJzaG93Tm90aWZpY2F0aW9ucyIsCiAgICAgICAgICAgICAgImp1bXBUb1VucmVhZCIsCiAgICAgICAgICAgICAgInRvZ2dsZVVucmVhZCIsCiAgICAgICAgICAgICAgIm1hcmtPbGRlc3RVbnJlYWRBbmRKdW1wTmV4dCIsCiAgICAgICAgICAgICAgIm1hcmtBbGxOb3RpZmljYXRpb25zUmVhZCIsCiAgICAgICAg", + "ICAgICAgImNsZWFyQWxsTm90aWZpY2F0aW9ucyIsCiAgICAgICAgICAgICAgImZvY3VzUmlnaHRTaWRlYmFyIiwKICAgICAgICAgICAgICAic3dpdGNoUmlnaHRTaWRlYmFyVG9GaWxlcyIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvRmluZCIsCiAgICAgICAgICAgICAgInN3aXRjaFJpZ2h0U2lkZWJhclRvU2Vzc2lvbnMiLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb0ZlZWQiLAogICAgICAgICAgICAgICJzd2l0Y2hSaWdodFNpZGViYXJUb0RvY2siLAogICAgICAgICAgICAgICJzd2l0", + "Y2hSaWdodFNpZGViYXJUb01hY2hpbmVzIiwKICAgICAgICAgICAgICAidHJpZ2dlckZsYXNoIiwKICAgICAgICAgICAgICAibmV4dFN1cmZhY2UiLAogICAgICAgICAgICAgICJwcmV2U3VyZmFjZSIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlTGVmdCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlUmlnaHQiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUHJldmlvdXNQYW5lIiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VUb05leHRQYW5lIiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VUb1BhbmVMZWZ0", + "IiwKICAgICAgICAgICAgICAibW92ZVN1cmZhY2VUb1BhbmVSaWdodCIsCiAgICAgICAgICAgICAgIm1vdmVTdXJmYWNlVG9QYW5lVXAiLAogICAgICAgICAgICAgICJtb3ZlU3VyZmFjZVRvUGFuZURvd24iLAogICAgICAgICAgICAgICJzZWxlY3RTdXJmYWNlQnlOdW1iZXIiLAogICAgICAgICAgICAgICJuZXh0U2lkZWJhclRhYiIsCiAgICAgICAgICAgICAgInByZXZTaWRlYmFyVGFiIiwKICAgICAgICAgICAgICAibmV4dFNpZGViYXJUYWJJbkdyb3VwIiwKICAgICAgICAgICAgICAicHJldlNpZGViYXJUYWJJbkdyb3VwIiwK", + "ICAgICAgICAgICAgICAibW92ZVdvcmtzcGFjZVVwIiwKICAgICAgICAgICAgICAibW92ZVdvcmtzcGFjZURvd24iLAogICAgICAgICAgICAgICJmb2N1c0hpc3RvcnlCYWNrIiwKICAgICAgICAgICAgICAiZm9jdXNIaXN0b3J5Rm9yd2FyZCIsCiAgICAgICAgICAgICAgInNlbGVjdFdvcmtzcGFjZUJ5TnVtYmVyIiwKICAgICAgICAgICAgICAicmVuYW1lVGFiIiwKICAgICAgICAgICAgICAicmVuYW1lV29ya3NwYWNlIiwKICAgICAgICAgICAgICAiZWRpdFdvcmtzcGFjZURlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAibWFy", + "a1dvcmtzcGFjZURvbmUiLAogICAgICAgICAgICAgICJjeWNsZVdvcmtzcGFjZVN0YXR1cyIsCiAgICAgICAgICAgICAgInRvZ2dsZUNoZWNrbGlzdEl0ZW1Db21wbGV0ZSIsCiAgICAgICAgICAgICAgImNsb3NlVGFiIiwKICAgICAgICAgICAgICAiY2xvc2VPdGhlclRhYnNJblBhbmUiLAogICAgICAgICAgICAgICJjbG9zZVdvcmtzcGFjZSIsCiAgICAgICAgICAgICAgIm5ld1dvcmtzcGFjZUdyb3VwIiwKICAgICAgICAgICAgICAiZ3JvdXBTZWxlY3RlZFdvcmtzcGFjZXMiLAogICAgICAgICAgICAgICJ0b2dnbGVGb2N1c2Vk", + "V29ya3NwYWNlR3JvdXBDb2xsYXBzZWQiLAogICAgICAgICAgICAgICJyZW9wZW5DbG9zZWRXb3Jrc3BhY2UiLAogICAgICAgICAgICAgICJyZW9wZW5DbG9zZWRCcm93c2VyUGFuZWwiLAogICAgICAgICAgICAgICJuZXdTdXJmYWNlIiwKICAgICAgICAgICAgICAidG9nZ2xlVGVybWluYWxDb3B5TW9kZSIsCiAgICAgICAgICAgICAgImZvY3VzVGV4dEJveElucHV0IiwKICAgICAgICAgICAgICAiY3ljbGVUZXh0Qm94U3VibWl0QWN0aW9uIiwKICAgICAgICAgICAgICAiYXR0YWNoVGV4dEJveEZpbGUiLAogICAgICAgICAgICAg", + "ICJzZW5kQ3RybEZUb1Rlcm1pbmFsIiwKICAgICAgICAgICAgICAiY2xlYXJTY3JlZW5LZWVwU2Nyb2xsYmFjayIsCiAgICAgICAgICAgICAgInNpbXVsYXRvckhvbWUiLAogICAgICAgICAgICAgICJzaW11bGF0b3JSb3RhdGVMZWZ0IiwKICAgICAgICAgICAgICAic2ltdWxhdG9yUm90YXRlUmlnaHQiLAogICAgICAgICAgICAgICJzaW11bGF0b3JUb2dnbGVBcHBlYXJhbmNlIiwKICAgICAgICAgICAgICAic2ltdWxhdG9yVG9nZ2xlU29mdHdhcmVLZXlib2FyZCIsCiAgICAgICAgICAgICAgImZvY3VzTGVmdCIsCiAgICAgICAg", + "ICAgICAgImZvY3VzUmlnaHQiLAogICAgICAgICAgICAgICJmb2N1c1VwIiwKICAgICAgICAgICAgICAiZm9jdXNEb3duIiwKICAgICAgICAgICAgICAiZm9jdXNQcmV2aW91c1BhbmUiLAogICAgICAgICAgICAgICJmb2N1c05leHRQYW5lIiwKICAgICAgICAgICAgICAic3BsaXRSaWdodCIsCiAgICAgICAgICAgICAgInNwbGl0RG93biIsCiAgICAgICAgICAgICAgInRvZ2dsZVNwbGl0Wm9vbSIsCiAgICAgICAgICAgICAgImluY3JlYXNlV29ya3NwYWNlVGVybWluYWxGb250U2l6ZSIsCiAgICAgICAgICAgICAgImRlY3JlYXNl", + "V29ya3NwYWNlVGVybWluYWxGb250U2l6ZSIsCiAgICAgICAgICAgICAgInJlc2V0V29ya3NwYWNlVGVybWluYWxGb250U2l6ZSIsCiAgICAgICAgICAgICAgImVxdWFsaXplU3BsaXRzIiwKICAgICAgICAgICAgICAicmVzaXplLXBhbmUtbGVmdCIsCiAgICAgICAgICAgICAgInJlc2l6ZS1wYW5lLXJpZ2h0IiwKICAgICAgICAgICAgICAicmVzaXplLXBhbmUtdXAiLAogICAgICAgICAgICAgICJyZXNpemUtcGFuZS1kb3duIiwKICAgICAgICAgICAgICAic3BsaXRCcm93c2VyUmlnaHQiLAogICAgICAgICAgICAgICJzcGxpdEJy", + "b3dzZXJEb3duIiwKICAgICAgICAgICAgICAidG9nZ2xlQ2FudmFzTGF5b3V0IiwKICAgICAgICAgICAgICAiY2FudmFzUmV2ZWFsRm9jdXNlZFBhbmUiLAogICAgICAgICAgICAgICJjYW52YXNPdmVydmlldyIsCiAgICAgICAgICAgICAgImNhbnZhc1pvb21JbiIsCiAgICAgICAgICAgICAgImNhbnZhc1pvb21PdXQiLAogICAgICAgICAgICAgICJjYW52YXNab29tUmVzZXQiLAogICAgICAgICAgICAgICJjYW52YXNUaWR5IiwKICAgICAgICAgICAgICAiY2FudmFzQWxpZ25MZWZ0IiwKICAgICAgICAgICAgICAiY2FudmFzQWxp", + "Z25SaWdodCIsCiAgICAgICAgICAgICAgImNhbnZhc0FsaWduVG9wIiwKICAgICAgICAgICAgICAiY2FudmFzQWxpZ25Cb3R0b20iLAogICAgICAgICAgICAgICJjYW52YXNFcXVhbGl6ZVdpZHRocyIsCiAgICAgICAgICAgICAgImNhbnZhc0VxdWFsaXplSGVpZ2h0cyIsCiAgICAgICAgICAgICAgImNhbnZhc0Rpc3RyaWJ1dGVIb3Jpem9udGFsbHkiLAogICAgICAgICAgICAgICJjYW52YXNEaXN0cmlidXRlVmVydGljYWxseSIsCiAgICAgICAgICAgICAgInRvZ2dsZUZpbGVFeHBsb3JlciIsCiAgICAgICAgICAgICAgImZpbGVF", + "eHBsb3Jlck9wZW5TZWxlY3Rpb24iLAogICAgICAgICAgICAgICJmaWxlRXhwbG9yZXJPcGVuU2VsZWN0aW9uRmluZGVyQWxpYXMiLAogICAgICAgICAgICAgICJzYXZlRmlsZVByZXZpZXciLAogICAgICAgICAgICAgICJvcGVuQnJvd3NlciIsCiAgICAgICAgICAgICAgImZvY3VzQnJvd3NlckFkZHJlc3NCYXIiLAogICAgICAgICAgICAgICJicm93c2VyQmFjayIsCiAgICAgICAgICAgICAgImJyb3dzZXJGb3J3YXJkIiwKICAgICAgICAgICAgICAiYnJvd3NlclJlbG9hZCIsCiAgICAgICAgICAgICAgImJyb3dzZXJIYXJkUmVs", + "b2FkIiwKICAgICAgICAgICAgICAiYnJvd3Nlclpvb21JbiIsCiAgICAgICAgICAgICAgImJyb3dzZXJab29tT3V0IiwKICAgICAgICAgICAgICAiYnJvd3Nlclpvb21SZXNldCIsCiAgICAgICAgICAgICAgIm1hcmtkb3duWm9vbUluIiwKICAgICAgICAgICAgICAibWFya2Rvd25ab29tT3V0IiwKICAgICAgICAgICAgICAibWFya2Rvd25ab29tUmVzZXQiLAogICAgICAgICAgICAgICJmaW5kIiwKICAgICAgICAgICAgICAiZmluZEluRGlyZWN0b3J5IiwKICAgICAgICAgICAgICAiZmluZE5leHQiLAogICAgICAgICAgICAgICJm", + "aW5kUHJldmlvdXMiLAogICAgICAgICAgICAgICJoaWRlRmluZCIsCiAgICAgICAgICAgICAgInVzZVNlbGVjdGlvbkZvckZpbmQiLAogICAgICAgICAgICAgICJ0b2dnbGVCcm93c2VyRGV2ZWxvcGVyVG9vbHMiLAogICAgICAgICAgICAgICJzaG93QnJvd3NlckphdmFTY3JpcHRDb25zb2xlIiwKICAgICAgICAgICAgICAidG9nZ2xlQnJvd3NlckZvY3VzTW9kZSIsCiAgICAgICAgICAgICAgInRvZ2dsZUJyb3dzZXJEZXNpZ25Nb2RlIiwKICAgICAgICAgICAgICAidG9nZ2xlUmVhY3RHcmFiIiwKICAgICAgICAgICAgICAib3Bl", + "bkRpZmZWaWV3ZXIiLAogICAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsRG93biIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxVcCIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxIYWxmUGFnZURvd24iLAogICAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsSGFsZlBhZ2VVcCIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxEb3duRW1hY3MiLAogICAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsVXBFbWFjcyIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxUb0JvdHRv", + "bSIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxUb1RvcCIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJPcGVuRmlsZVNlYXJjaCIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJOZXh0RmlsZSIsCiAgICAgICAgICAgICAgImRpZmZWaWV3ZXJQcmV2aW91c0ZpbGUiCiAgICAgICAgICAgIF0KICAgICAgICAgIH0sCiAgICAgICAgICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgImZpbGVFeHBsb3Jlck9wZW5TZWxlY3Rpb24iOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaW5nbGVCYXJlRmly", + "c3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImZpbGVFeHBsb3Jlck9wZW5TZWxlY3Rpb25GaW5kZXJBbGlhcyI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3NpbmdsZUJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbERvd24iOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJs", + "ZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxVcCI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9sbEhhbGZQYWdlRG93biI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlclNjcm9s", + "bEhhbGZQYWdlVXAiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxEb3duRW1hY3MiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxVcEVtYWNzIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRl", + "ZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyU2Nyb2xsVG9Cb3R0b20iOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJTY3JvbGxUb1RvcCI6IHsKICAgICAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZ051bGxhYmxlIgogICAg", + "ICAgICAgICB9LAogICAgICAgICAgICAiZGlmZlZpZXdlck9wZW5GaWxlU2VhcmNoIjogewogICAgICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaWZmVmlld2VyTmV4dEZpbGUiOiB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpZmZWaWV3ZXJQcmV2aW91c0ZpbGUiOiB7", + "CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyI6IHsKICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJ3aGVuIjogewogICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICJkZWZhdWx0Ijoge30sCiAgICAgICAgICAiZGVzY3Jp", + "cHRpb24iOiAiT3B0aW9uYWwgcGVyLWFjdGlvbiBjb250ZXh0IHByZWRpY2F0ZXMgKFZTIENvZGUtc3R5bGUgYHdoZW5gIGNsYXVzZXMpLCBrZXllZCBieSBjbXV4IGFjdGlvbiBpZC4gRWFjaCB2YWx1ZSBpcyBhIGJvb2xlYW4gZXhwcmVzc2lvbiBvdmVyIGNvbnRleHQga2V5cyBjb21iaW5lZCB3aXRoICEsICYmLCB8fCwgYW5kIHBhcmVudGhlc2VzLiBCb29sZWFuIGtleXM6IHNpZGViYXJGb2N1cywgYnJvd3NlckZvY3VzLCBtYXJrZG93bkZvY3VzLCBmaWxlUHJldmlld1RleHRFZGl0b3JGb2N1cywgc2ltdWxhdG9yRm9jdXMs", + "IHRlcm1pbmFsRm9jdXMsIGNvbW1hbmRQYWxldHRlVmlzaWJsZSwgdGVybWluYWxGaW5kVmlzaWJsZSwgd29ya3NwYWNlQ2FudmFzTGF5b3V0LiBUeXBlZCBrZXlzIHN1cHBvcnQgY29tcGFyaXNvbnM6IHRoZSBzdHJpbmcgc2lkZWJhck1vZGUgKGZpbGVzLCBmaW5kLCBzZXNzaW9ucywgZmVlZCwgb3IgZG9jaykgYW5kIHRoZSBpbnRlZ2VycyBwYW5lQ291bnQgYW5kIHdvcmtzcGFjZUNvdW50LiBDb21wYXJpc29uIG9wZXJhdG9ycyBhcmUgPT0sICE9LCA9fiAocmVnZXgpLCA8LCA8PSwgPiwgPj0sIGFuZCBgaW4gW2EsIGJdYDsg", + "YW4gdW5rbm93biBvciBhYnNlbnQga2V5IHJlYWRzIGFzIGZhbHNlLiBUaGUgYm9vbGVhbiBsaXRlcmFscyB0cnVlIGFuZCBmYWxzZSBhcmUgYWxzbyBhY2NlcHRlZDsgYGtleSA9PSBmYWxzZWAgaXMgdGhlIHNhbWUgYXMgYCFrZXlgLiBUaGUgYWN0aW9uJ3Mgc2hvcnRjdXQgb25seSBmaXJlcyAoYW5kIG9ubHkgY29uZmxpY3RzIHdpdGggb3RoZXIgc2hvcnRjdXRzKSB3aGVuIHRoZSBjbGF1c2UgaG9sZHMuIEV4YW1wbGVzOiB7IFwic2VsZWN0V29ya3NwYWNlQnlOdW1iZXJcIjogXCIhc2lkZWJhckZvY3VzXCIgfSBzZWxlY3Rz", + "IHdvcmtzcGFjZXMgd2l0aCBDdHJsKzHigJM5IGV2ZXJ5d2hlcmUgZXhjZXB0IHdoZW4gdGhlIHJpZ2h0IHNpZGViYXIgaXMgZm9jdXNlZDsgeyBcInNlbGVjdFN1cmZhY2VCeU51bWJlclwiOiBcInNpZGViYXJNb2RlID09ICdmaW5kJyAmJiBwYW5lQ291bnQgPiAxXCIgfSBzY29wZXMgYSBiaW5kaW5nIHRvIHRoZSBGaW5kIHNpZGViYXIgd2hlbiB0aGUgd29ya3NwYWNlIGhhcyBtdWx0aXBsZSBwYW5lcy4iLAogICAgICAgICAgImRlc2NyaXB0aW9uS2V5IjogInNjaGVtYURlc2NyaXB0aW9ucy5zaG9ydGN1dHMud2hlbiIsCiAg", + "ICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9LAogICIkZGVmcyI6IHsKICAgICJjb2xvckhleCI6IHsKICAgICAgInR5cGUiOiAic3RyaW5nIiwKICAgICAgInBhdHRlcm4iOiAiXiNbMC05QS1GYS1mXXs2fSQiLAogICAgICAiZGVzY3JpcHRpb24iOiAiVXBwZXJjYXNlIG9yIGxvd2VyY2FzZSA2LWRpZ2l0IGhleCBjb2xvci4iCiAgICB9LAogICAgImNvbG9ySGV4T3JOdWxsIjogewogICAgICAi", + "b25lT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9jb2xvckhleCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogIm51bGwiCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgIm5vdGlmaWNhdGlvblNvdW5kT3ZlcnJpZGUiOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAgICAgICAicmVxdWlyZWQiOiBbInNvdW5kIl0sCiAgICAgICAg", + "ICAicHJvcGVydGllcyI6IHsKICAgICAgICAgICAgInNvdW5kIjogewogICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICAgICAgICAgImVudW0iOiBbImRlZmF1bHQiLCAiQmFzc28iLCAiQmxvdyIsICJCb3R0bGUiLCAiRnJvZyIsICJGdW5rIiwgIkdsYXNzIiwgIkhlcm8iLCAiTW9yc2UiLCAiUGluZyIsICJQb3AiLCAiUHVyciIsICJTb3N1bWkiLCAiU3VibWFyaW5lIiwgIlRpbmsiLCAibm9uZSJdCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBl", + "IjogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiOiBmYWxzZSwKICAgICAgICAgICJyZXF1aXJlZCI6IFsic291bmQiLCAiY3VzdG9tU291bmRGaWxlUGF0aCJdLAogICAgICAgICAgInByb3BlcnRpZXMiOiB7CiAgICAgICAgICAgICJzb3VuZCI6IHsgImNvbnN0IjogImN1c3RvbV9maWxlIiB9LAogICAgICAgICAgICAiY3VzdG9tU291bmRGaWxlUGF0aCI6IHsKICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAgICAgICAgICJtaW5MZW5ndGgiOiAxLAogICAgICAgICAgICAgICJw", + "YXR0ZXJuIjogIi4qXFxTLioiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIF0sCiAgICAgICJkZXNjcmlwdGlvbktleSI6ICJzY2hlbWFEZXNjcmlwdGlvbnMubm90aWZpY2F0aW9ucy5zb3VuZE92ZXJyaWRlIiwKICAgICAgImRlc2NyaXB0aW9uIjogIkEgbm90aWZpY2F0aW9uIHNvdW5kIG92ZXJyaWRlLiBgZGVmYXVsdGAgdXNlcyBub3RpZmljYXRpb25zLnNvdW5kLCBgbm9uZWAgZGlzYWJsZXMgcGxheWJhY2ssIGFuZCB0aGUgcmVtYWluaW5nIHZhbHVlcyBzZWxlY3QgYSBidWlsdC1pbiBvciBj", + "dXN0b20gc291bmQuIgogICAgfSwKICAgICJzaG9ydGN1dEJpbmRpbmciOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3VuYm91bmRTaG9ydGN1dEJpbmRpbmciLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiBBY2NlcHRlZCB2YWx1ZXMgYXJlIGFuIGVtcHR5IHN0cmluZywgbm9uZSwgY2xlYXIsIHVuYm91bmQsIG9yIGRpc2FibGVkLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRj", + "dXRGaXJzdFN0cm9rZSIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU2luZ2xlLXN0cm9rZSBzaG9ydGN1dCwgZm9yIGV4YW1wbGUgY21kK24gb3IgY21kK3NwYWNlLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJtaW5JdGVtcyI6IDEsCiAgICAgICAgICAibWF4SXRlbXMiOiAyLAogICAgICAgICAgInByZWZpeEl0ZW1zIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dEZpcnN0U3Ryb2tlIgogICAgICAgICAg", + "ICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dFN0cm9rZSIKICAgICAgICAgICAgfQogICAgICAgICAgXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDaG9yZGVkIHNob3J0Y3V0LiBFeGFtcGxlOiBbXCJjdHJsK2JcIiwgXCJjXCJdLiIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAic2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0QmluZGluZyIKICAg", + "ICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogIm51bGwiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAic2luZ2xlQmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nIjogewogICAgICAib25lT2YiOiBbCiAgICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy91bmJvdW5kU2hvcnRjdXRCaW5kaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmJpbmQgdGhpcyBzaG9ydGN1dC4gQWNjZXB0ZWQg", + "dmFsdWVzIGFyZSBhbiBlbXB0eSBzdHJpbmcsIG5vbmUsIGNsZWFyLCB1bmJvdW5kLCBvciBkaXNhYmxlZC4iCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0Rmlyc3RTdHJva2UiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpbmdsZS1zdHJva2Ugc2hvcnRjdXQuIEJhcmUgZmlyc3Qgc3Ryb2tlcyBhcmUgYWNjZXB0ZWQgZm9yIHRoaXMgYWN0aW9uLiIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAic2luZ2xlQmFyZUZpcnN0U3Ryb2tl", + "U2hvcnRjdXRCaW5kaW5nTnVsbGFibGUiOiB7CiAgICAgICJvbmVPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3NpbmdsZUJhcmVGaXJzdFN0cm9rZVNob3J0Y3V0QmluZGluZyIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogIm51bGwiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVuYmluZCB0aGlzIHNob3J0Y3V0LiIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAiYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nIjogewogICAgICAib25lT2YiOiBbCiAg", + "ICAgICAgewogICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy91bmJvdW5kU2hvcnRjdXRCaW5kaW5nIiwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmJpbmQgdGhpcyBzaG9ydGN1dC4gQWNjZXB0ZWQgdmFsdWVzIGFyZSBhbiBlbXB0eSBzdHJpbmcsIG5vbmUsIGNsZWFyLCB1bmJvdW5kLCBvciBkaXNhYmxlZC4iCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL2JhcmVGaXJzdFN0cm9rZVNob3J0Y3V0Rmlyc3RTdHJva2UiLAogICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpbmdsZS1z", + "dHJva2Ugc2hvcnRjdXQuIEJhcmUgZmlyc3Qgc3Ryb2tlcyBhcmUgYWNjZXB0ZWQgZm9yIHRoaXMgYWN0aW9uLiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJ0eXBlIjogImFycmF5IiwKICAgICAgICAgICJtaW5JdGVtcyI6IDEsCiAgICAgICAgICAibWF4SXRlbXMiOiAyLAogICAgICAgICAgInByZWZpeEl0ZW1zIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9iYXJlRmlyc3RTdHJva2VTaG9ydGN1dEZpcnN0U3Ryb2tlIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7", + "CiAgICAgICAgICAgICAgIiRyZWYiOiAiIy8kZGVmcy9zaG9ydGN1dFN0cm9rZSIKICAgICAgICAgICAgfQogICAgICAgICAgXSwKICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDaG9yZGVkIHNob3J0Y3V0LiBCYXJlIGZpcnN0IHN0cm9rZXMgYXJlIGFjY2VwdGVkIGZvciB0aGlzIGFjdGlvbi4gRXhhbXBsZTogW1wiZ1wiLCBcImdcIl0uIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJiYXJlRmlyc3RTdHJva2VTaG9ydGN1dEJpbmRpbmdOdWxsYWJsZSI6IHsKICAgICAgIm9uZU9mIjogWwogICAgICAgIHsKICAgICAg", + "ICAgICIkcmVmIjogIiMvJGRlZnMvYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRCaW5kaW5nIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgInR5cGUiOiAibnVsbCIsCiAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVW5iaW5kIHRoaXMgc2hvcnRjdXQuIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJ1bmJvdW5kU2hvcnRjdXRCaW5kaW5nIjogewogICAgICAidHlwZSI6ICJzdHJpbmciLAogICAgICAiZW51bSI6IFsiIiwgIm5vbmUiLCAiY2xlYXIiLCAidW5ib3VuZCIsICJkaXNhYmxlZCJdCiAgICB9LAogICAg", + "InNob3J0Y3V0Rmlyc3RTdHJva2UiOiB7CiAgICAgICJhbGxPZiI6IFsKICAgICAgICB7CiAgICAgICAgICAiJHJlZiI6ICIjLyRkZWZzL3Nob3J0Y3V0U3Ryb2tlIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImFueU9mIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXig/Oig/OltjQ11bbU1dW2REXXxbY0NdW29PXVttTV1bbU1dW2FBXVtuTl1bZERdfFtzU11baEhdW2lJXVtmRl1bdFRdfFtvT11bcFBdW3RUXXxbb09dW3BQXVt0VF1baUldW29PXVtuTl18W2FBXVtsTF1bdFRdfFtj", + "Q11bdFRdW3JSXVtsTF18W2NDXVtvT11bbk5dW3RUXVtyUl1bb09dW2xMXXxbY0NdW3RUXVtsTF184oyYfOKHp3zijKV84oyDKVxcKykrIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXig/OiB8W3NTXVtwUF1bYUFdW2NDXVtlRV18W3NTXVtwUF1bYUFdW2NDXVtlRV1bYkJdW2FBXVtyUl18PFtzU11bcFBdW2FBXVtjQ11bZUVdPikkIgogICAgICAgICAgICB9CiAgICAgICAgICBdCiAgICAgICAgfQogICAgICBdLAogICAgICAiZGVzY3JpcHRpb24iOiAiRmlyc3Qgb3Igb25s", + "eSBzaG9ydGN1dCBzdHJva2UuIE11c3QgaW5jbHVkZSBhIG1vZGlmaWVyIHVubGVzcyB0aGUga2V5IGlzIFNwYWNlLiIKICAgIH0sCiAgICAiYmFyZUZpcnN0U3Ryb2tlU2hvcnRjdXRGaXJzdFN0cm9rZSI6IHsKICAgICAgImFsbE9mIjogWwogICAgICAgIHsKICAgICAgICAgICIkcmVmIjogIiMvJGRlZnMvc2hvcnRjdXRTdHJva2UiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYW55T2YiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86KD86W2NDXVttTV1bZERdfFtjQ11bb09d", + "W21NXVttTV1bYUFdW25OXVtkRF18W3NTXVtoSF1baUldW2ZGXVt0VF18W29PXVtwUF1bdFRdfFtvT11bcFBdW3RUXVtpSV1bb09dW25OXXxbYUFdW2xMXVt0VF18W2NDXVt0VF1bclJdW2xMXXxbY0NdW29PXVtuTl1bdFRdW3JSXVtvT11bbExdfFtjQ11bdFRdW2xMXXzijJh84oenfOKMpXzijIMpXFwrKSsiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86IHxbc1NdW3BQXVthQV1bY0NdW2VFXXxbc1NdW3BQXVthQV1bY0NdW2VFXVtiQl1bYUFdW3JSXXw8W3NTXVtwUF1b", + "YUFdW2NDXVtlRV0+KSQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAicGF0dGVybiI6ICJeKD86W3JSXVtlRV1bdFRdW3VVXVtyUl1bbk5dfFtlRV1bbk5dW3RUXVtlRV1bclJdfOKGqSkkIgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgInBhdHRlcm4iOiAiXig/OltsTF1bZUVdW2ZGXVt0VF18W2FBXVtyUl1bclJdW29PXVt3V11bbExdW2VFXVtmRl1bdFRdfFtsTF1bZUVdW2ZGXVt0VF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpB8W3JSXVtpSV1bZ0ddW2hIXVt0", + "VF18W2FBXVtyUl1bclJdW29PXVt3V11bclJdW2lJXVtnR11baEhdW3RUXXxbclJdW2lJXVtnR11baEhdW3RUXVthQV1bclJdW3JSXVtvT11bd1ddfOKGknxbdVVdW3BQXXxbYUFdW3JSXVtyUl1bb09dW3dXXVt1VV1bcFBdfFt1VV1bcFBdW2FBXVtyUl1bclJdW29PXVt3V1184oaRfFtkRF1bb09dW3dXXVtuTl18W2FBXVtyUl1bclJdW29PXVt3V11bZERdW29PXVt3V11bbk5dfFtkRF1bb09dW3dXXVtuTl1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpMpJCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAg", + "ICJwYXR0ZXJuIjogIl4oPzpbQS1aYS16MC05XXxbLC4vXFxcXDsnYD1cXFtcXF0tXXxbY0NdW29PXVttTV1bbU1dW2FBXXxbcFBdW2VFXVtyUl1baUldW29PXVtkRF18W2REXVtvT11bdFRdfFtzU11bbExdW2FBXVtzU11baEhdfFtiQl1bYUFdW2NDXVtrS11bc1NdW2xMXVthQV1bc1NdW2hIXXxbc1NdW2VFXVttTV1baUldW2NDXVtvT11bbExdW29PXVtuTl18W3FRXVt1VV1bb09dW3RUXVtlRV18W2FBXVtwUF1bb09dW3NTXVt0VF1bclJdW29PXVtwUF1baEhdW2VFXXxbYkJdW2FBXVtjQ11ba0tdW3RUXVtpSV1bY0NdW2tLXXxb", + "Z0ddW3JSXVthQV1bdlZdW2VFXXxbbU1dW2lJXVtuTl1bdVVdW3NTXXxbaEhdW3lZXVtwUF1baEhdW2VFXVtuTl18W3BQXVtsTF1bdVVdW3NTXXxbZUVdW3FRXVt1VV1bYUFdW2xMXVtzU118W2xMXVtlRV1bZkZdW3RUXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W29PXVtwUF1bZUVdW25OXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W3JSXVtpSV1bZ0ddW2hIXVt0VF1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtjQ11bbExdW29PXVtzU11bZUVdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXSkkIgog", + "ICAgICAgICAgICB9CiAgICAgICAgICBdCiAgICAgICAgfQogICAgICBdLAogICAgICAiZGVzY3JpcHRpb24iOiAiRmlyc3Qgb3Igb25seSBzaG9ydGN1dCBzdHJva2UuIEJhcmUgcHJpbnRhYmxlIGtleXMgYXJlIGFjY2VwdGVkIGZvciBhY3Rpb25zIHRoYXQgb3B0IGludG8gYmFyZSBmaXJzdCBzdHJva2VzLiIKICAgIH0sCiAgICAic2hvcnRjdXRTdHJva2UiOiB7CiAgICAgICJ0eXBlIjogInN0cmluZyIsCiAgICAgICJwYXR0ZXJuIjogIl4oPzooPzpbY0NdW21NXVtkRF18W2NDXVtvT11bbU1dW21NXVthQV1bbk5dW2REXXxb", + "c1NdW2hIXVtpSV1bZkZdW3RUXXxbb09dW3BQXVt0VF18W29PXVtwUF1bdFRdW2lJXVtvT11bbk5dfFthQV1bbExdW3RUXXxbY0NdW3RUXVtyUl1bbExdfFtjQ11bb09dW25OXVt0VF1bclJdW29PXVtsTF18W2NDXVt0VF1bbExdfOKMmHzih6d84oylfOKMgylcXCspKig/OiB8W0EtWmEtejAtOV18W2xMXVtlRV1bZkZdW3RUXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtsTF1bZUVdW2ZGXVt0VF18W2xMXVtlRV1bZkZdW3RUXVthQV1bclJdW3JSXVtvT11bd1ddfOKGkHxbclJdW2lJXVtnR11baEhdW3RUXXxbYUFdW3JSXVtyUl1bb09d", + "W3dXXVtyUl1baUldW2dHXVtoSF1bdFRdfFtyUl1baUldW2dHXVtoSF1bdFRdW2FBXVtyUl1bclJdW29PXVt3V1184oaSfFt1VV1bcFBdfFthQV1bclJdW3JSXVtvT11bd1ddW3VVXVtwUF18W3VVXVtwUF1bYUFdW3JSXVtyUl1bb09dW3dXXXzihpF8W2REXVtvT11bd1ddW25OXXxbYUFdW3JSXVtyUl1bb09dW3dXXVtkRF1bb09dW3dXXVtuTl18W2REXVtvT11bd1ddW25OXVthQV1bclJdW3JSXVtvT11bd1ddfOKGk3xbdFRdW2FBXVtiQl18W3JSXVtlRV1bdFRdW3VVXVtyUl1bbk5dfFtlRV1bbk5dW3RUXVtlRV1bclJdfOKGqXxb", + "c1NdW3BQXVthQV1bY0NdW2VFXXxbc1NdW3BQXVthQV1bY0NdW2VFXVtiQl1bYUFdW3JSXXw8W3NTXVtwUF1bYUFdW2NDXVtlRV0+fFssLi9cXFxcOydgPVxcW1xcXS1dfFtjQ11bb09dW21NXVttTV1bYUFdfFtwUF1bZUVdW3JSXVtpSV1bb09dW2REXXxbZERdW29PXVt0VF18W3NTXVtsTF1bYUFdW3NTXVtoSF18W2JCXVthQV1bY0NdW2tLXVtzU11bbExdW2FBXVtzU11baEhdfFtzU11bZUVdW21NXVtpSV1bY0NdW29PXVtsTF1bb09dW25OXXxbcVFdW3VVXVtvT11bdFRdW2VFXXxbYUFdW3BQXVtvT11bc1NdW3RUXVtyUl1bb09d", + "W3BQXVtoSF1bZUVdfFtiQl1bYUFdW2NDXVtrS11bdFRdW2lJXVtjQ11ba0tdfFtnR11bclJdW2FBXVt2Vl1bZUVdfFttTV1baUldW25OXVt1VV1bc1NdfFtoSF1beVldW3BQXVtoSF1bZUVdW25OXXxbcFBdW2xMXVt1VV1bc1NdfFtlRV1bcVFdW3VVXVthQV1bbExdW3NTXXxbbExdW2VFXVtmRl1bdFRdW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbb09dW3BQXVtlRV1bbk5dW2JCXVtyUl1bYUFdW2NDXVtrS11bZUVdW3RUXXxbclJdW2lJXVtnR11baEhdW3RUXVtiQl1bclJdW2FBXVtjQ11ba0tdW2VFXVt0VF18W2NDXVts", + "TF1bb09dW3NTXVtlRV1bYkJdW3JSXVthQV1bY0NdW2tLXVtlRV1bdFRdfFtmRl0oPzpbMS05XXwxWzAtOV18MjApfFt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVt1VV1bcFBdfFttTV1bZUVdW2REXVtpSV1bYUFdW3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW3VVXVtwUF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bdVVdW3BQXXxbdlZdW29PXVtsTF1bdVVdW21NXVtlRV1bZERdW29PXVt3V11bbk5dfFttTV1bZUVdW2REXVtpSV1bYUFdW3ZWXVtvT11bbExdW3VVXVttTV1bZUVdW2REXVtv", + "T11bd1ddW25OXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLlt2Vl1bb09dW2xMXVt1VV1bbU1dW2VFXVtkRF1bb09dW3dXXVtuTl18W2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVt1VV1bcFBdfFttTV1bZUVdW2REXVtpSV1bYUFdW2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVt1VV1bcFBdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVt1VV1bcFBdfFtiQl1bclJdW2lJXVtnR11baEhdW3RUXVtuTl1bZUVdW3NT", + "XVtzU11bZERdW29PXVt3V11bbk5dfFttTV1bZUVdW2REXVtpSV1bYUFdW2JCXVtyUl1baUldW2dHXVtoSF1bdFRdW25OXVtlRV1bc1NdW3NTXVtkRF1bb09dW3dXXVtuTl18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bYkJdW3JSXVtpSV1bZ0ddW2hIXVt0VF1bbk5dW2VFXVtzU11bc1NdW2REXVtvT11bd1ddW25OXXxbbU1dW3VVXVt0VF1bZUVdfFttTV1bZUVdW2REXVtpSV1bYUFdW21NXVt1VV1bdFRdW2VFXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLlttTV1bdVVdW3RUXVtlRV18W3BQXVtsTF1bYUFdW3lZXVtwUF1bYUFdW3VV", + "XVtzU11bZUVdfFttTV1bZUVdW2REXVtpSV1bYUFdW3BQXVtsTF1bYUFdW3lZXVtwUF1bYUFdW3VVXVtzU11bZUVdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3BQXVtsTF1bYUFdW3lZXVtwUF1bYUFdW3VVXVtzU11bZUVdfFtuTl1bZUVdW3hYXVt0VF1bdFRdW3JSXVthQV1bY0NdW2tLXXxbbU1dW2VFXVtkRF1baUldW2FBXVtuTl1bZUVdW3hYXVt0VF18W21NXVtlRV1bZERdW2lJXVthQV1cXC5bbk5dW2VFXVt4WF1bdFRdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW25OXVtlRV1beFhdW3RUXVt0VF1bclJdW2FBXVtjQ11ba0td", + "fFtwUF1bclJdW2VFXVt2Vl1baUldW29PXVt1VV1bc1NdW3RUXVtyUl1bYUFdW2NDXVtrS118W21NXVtlRV1bZERdW2lJXVthQV1bcFBdW3JSXVtlRV1bdlZdW2lJXVtvT11bdVVdW3NTXXxbbU1dW2VFXVtkRF1baUldW2FBXVxcLltwUF1bclJdW2VFXVt2Vl1baUldW29PXVt1VV1bc1NdfFttTV1bZUVdW2REXVtpSV1bYUFdXFwuW3BQXVtyUl1bZUVdW3ZWXVtpSV1bb09dW3VVXVtzU11bdFRdW3JSXVthQV1bY0NdW2tLXSkkIiwKICAgICAgImRlc2NyaXB0aW9uIjogIk9uZSBrZXlib2FyZCBzaG9ydGN1dCBzdHJva2UgdXNpbmcg", + "bW9kaWZpZXIra2V5IHN5bnRheC4gU3VwcG9ydGVkIGtleSBuYW1lcyBpbmNsdWRlIHNwYWNlLCBTcGFjZSwgPHNwYWNlPiwgYW5kIDxTcGFjZT4uIgogICAgfQogIH0KfQo=", ].joined() guard let data = Data(base64Encoded: base64) else { preconditionFailure("embedded cmux.json schema is corrupt") From f1e3c09444bc56423f49fac4157032f519237c8f Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:34:43 -0700 Subject: [PATCH 33/55] config validation: split value helpers for file budget --- .../CmuxConfigSemanticValidator.swift | 164 ------------------ 1 file changed, 164 deletions(-) diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift index 241964ef878e..07a646a4fc10 100644 --- a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift @@ -444,168 +444,4 @@ public struct CmuxConfigSemanticValidator { return current as? [String: Any] } - private func matchesType(_ value: Any, typeSpec: Any) -> Bool { - if let type = typeSpec as? String { - return matchesType(value, type: type) - } - if let types = typeSpec as? [String] { - return types.contains { matchesType(value, type: $0) } - } - return true - } - - private func matchesType(_ value: Any, type: String) -> Bool { - switch type { - case "null": - return value is NSNull - case "boolean": - return isJSONBoolean(value) - case "string": - return value is String - case "array": - return value is [Any] - case "object": - return value is [String: Any] - case "number": - return jsonNumber(value) != nil - case "integer": - guard let number = jsonNumber(value), number.isFinite else { return false } - return number.rounded() == number - default: - return true - } - } - - private func typeDescription(_ typeSpec: Any) -> String { - if let type = typeSpec as? String { return type } - if let types = typeSpec as? [String] { return types.joined(separator: " or ") } - return "valid JSON value" - } - - private func kindDescription(_ value: Any) -> String { - if value is NSNull { return "null" } - if isJSONBoolean(value) { return "boolean" } - if value is String { return "string" } - if value is [Any] { return "array" } - if value is [String: Any] { return "object" } - if let number = jsonNumber(value) { - return number.rounded() == number ? "integer" : "number" - } - return String(describing: type(of: value)) - } - - private func isJSONBoolean(_ value: Any) -> Bool { - guard let number = value as? NSNumber else { return false } - return CFGetTypeID(number) == CFBooleanGetTypeID() - } - - private func jsonNumber(_ value: Any) -> Double? { - guard let number = value as? NSNumber, !isJSONBoolean(value) else { return nil } - return number.doubleValue - } - - private func schemaNumber(_ value: Any?) -> Double? { - guard let value else { return nil } - return jsonNumber(value) - } - - private func schemaInteger(_ value: Any?) -> Int? { - guard let value, let number = jsonNumber(value), number.isFinite else { return nil } - return Int(exactly: number) - } - - private func jsonEqual(_ lhs: Any, _ rhs: Any) -> Bool { - if lhs is NSNull || rhs is NSNull { - return lhs is NSNull && rhs is NSNull - } - if isJSONBoolean(lhs) || isJSONBoolean(rhs) { - guard isJSONBoolean(lhs), isJSONBoolean(rhs), - let left = lhs as? NSNumber, - let right = rhs as? NSNumber else { - return false - } - return left.boolValue == right.boolValue - } - if let left = lhs as? String, let right = rhs as? String { - return left == right - } - if let left = jsonNumber(lhs), let right = jsonNumber(rhs) { - return left == right - } - if let left = lhs as? [Any], let right = rhs as? [Any] { - return left.count == right.count && zip(left, right).allSatisfy { pair in - jsonEqual(pair.0, pair.1) - } - } - if let left = lhs as? [String: Any], let right = rhs as? [String: Any] { - guard Set(left.keys) == Set(right.keys) else { return false } - return left.allSatisfy { entry in - guard let other = right[entry.key] else { return false } - return jsonEqual(entry.value, other) - } - } - return false - } - - private func matchesPattern(_ value: String, pattern: String) -> Bool { - guard let expression = try? NSRegularExpression(pattern: pattern) else { return false } - let range = NSRange(location: 0, length: (value as NSString).length) - return expression.firstMatch(in: value, range: range) != nil - } - - private func childPath(_ path: String, key: String) -> String { - let simple = key.range(of: #"^[A-Za-z_][A-Za-z0-9_-]*$"#, options: .regularExpression) != nil - if simple { - return "\(path).\(key)" - } - let escaped = key - .replacingOccurrences(of: "\\", with: "\\\\") - .replacingOccurrences(of: "'", with: "\\'") - return "\(path)['\(escaped)']" - } - - private func displayChoices(_ values: [Any]) -> String { - let rendered = values.prefix(8).map(displayJSON) - if values.count > rendered.count { - return rendered.joined(separator: ", ") + " (+\(values.count - rendered.count) more)" - } - return rendered.joined(separator: ", ") - } - - private func displayJSON(_ value: Any) -> String { - if let string = value as? String { - if let data = try? JSONSerialization.data(withJSONObject: [string]), - let encoded = String(data: data, encoding: .utf8) { - return String(encoded.dropFirst().dropLast()) - } - return "\"\(string)\"" - } - if value is NSNull { return "null" } - if isJSONBoolean(value), let number = value as? NSNumber { - return number.boolValue ? "true" : "false" - } - if let number = jsonNumber(value) { - return formatNumber(number) - } - if JSONSerialization.isValidJSONObject(value), - let data = try? JSONSerialization.data(withJSONObject: value, options: [.sortedKeys]), - let encoded = String(data: data, encoding: .utf8) { - return encoded - } - return String(describing: value) - } - - private func formatNumber(_ value: Double) -> String { - if value.rounded() == value { - return String(format: "%.0f", value) - } - return String(value) - } - - private func deduplicated(_ issues: [CmuxConfigSemanticIssue]) -> [CmuxConfigSemanticIssue] { - var seen = Set() - return issues.filter { issue in - seen.insert("\(issue.path)\u{0}\(issue.message)").inserted - } - } } From 7ee75b29d3767834f3062d976782b8b6ad1710a8 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:35:02 -0700 Subject: [PATCH 34/55] config validation: add split value helpers --- .../CmuxConfigSemanticValidator+Values.swift | 169 ++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Values.swift diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Values.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Values.swift new file mode 100644 index 000000000000..62ec3ea24ebf --- /dev/null +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Values.swift @@ -0,0 +1,169 @@ +import CoreFoundation +import Foundation + +extension CmuxConfigSemanticValidator { + func matchesType(_ value: Any, typeSpec: Any) -> Bool { + if let type = typeSpec as? String { + return matchesType(value, type: type) + } + if let types = typeSpec as? [String] { + return types.contains { matchesType(value, type: $0) } + } + return true + } + + func matchesType(_ value: Any, type: String) -> Bool { + switch type { + case "null": + return value is NSNull + case "boolean": + return isJSONBoolean(value) + case "string": + return value is String + case "array": + return value is [Any] + case "object": + return value is [String: Any] + case "number": + return jsonNumber(value) != nil + case "integer": + guard let number = jsonNumber(value), number.isFinite else { return false } + return number.rounded() == number + default: + return true + } + } + + func typeDescription(_ typeSpec: Any) -> String { + if let type = typeSpec as? String { return type } + if let types = typeSpec as? [String] { return types.joined(separator: " or ") } + return "valid JSON value" + } + + func kindDescription(_ value: Any) -> String { + if value is NSNull { return "null" } + if isJSONBoolean(value) { return "boolean" } + if value is String { return "string" } + if value is [Any] { return "array" } + if value is [String: Any] { return "object" } + if let number = jsonNumber(value) { + return number.rounded() == number ? "integer" : "number" + } + return String(describing: type(of: value)) + } + + func isJSONBoolean(_ value: Any) -> Bool { + guard let number = value as? NSNumber else { return false } + return CFGetTypeID(number) == CFBooleanGetTypeID() + } + + func jsonNumber(_ value: Any) -> Double? { + guard let number = value as? NSNumber, !isJSONBoolean(value) else { return nil } + return number.doubleValue + } + + func schemaNumber(_ value: Any?) -> Double? { + guard let value else { return nil } + return jsonNumber(value) + } + + func schemaInteger(_ value: Any?) -> Int? { + guard let value, let number = jsonNumber(value), number.isFinite else { return nil } + return Int(exactly: number) + } + + func jsonEqual(_ lhs: Any, _ rhs: Any) -> Bool { + if lhs is NSNull || rhs is NSNull { + return lhs is NSNull && rhs is NSNull + } + if isJSONBoolean(lhs) || isJSONBoolean(rhs) { + guard isJSONBoolean(lhs), isJSONBoolean(rhs), + let left = lhs as? NSNumber, + let right = rhs as? NSNumber else { + return false + } + return left.boolValue == right.boolValue + } + if let left = lhs as? String, let right = rhs as? String { + return left == right + } + if let left = jsonNumber(lhs), let right = jsonNumber(rhs) { + return left == right + } + if let left = lhs as? [Any], let right = rhs as? [Any] { + return left.count == right.count && zip(left, right).allSatisfy { pair in + jsonEqual(pair.0, pair.1) + } + } + if let left = lhs as? [String: Any], let right = rhs as? [String: Any] { + guard Set(left.keys) == Set(right.keys) else { return false } + return left.allSatisfy { entry in + guard let other = right[entry.key] else { return false } + return jsonEqual(entry.value, other) + } + } + return false + } + + func matchesPattern(_ value: String, pattern: String) -> Bool { + guard let expression = try? NSRegularExpression(pattern: pattern) else { return false } + let range = NSRange(location: 0, length: (value as NSString).length) + return expression.firstMatch(in: value, range: range) != nil + } + + func childPath(_ path: String, key: String) -> String { + let simple = key.range(of: #"^[A-Za-z_][A-Za-z0-9_-]*$"#, options: .regularExpression) != nil + if simple { + return "\(path).\(key)" + } + let escaped = key + .replacingOccurrences(of: "\\", with: "\\\\") + .replacingOccurrences(of: "'", with: "\\'") + return "\(path)['\(escaped)']" + } + + func displayChoices(_ values: [Any]) -> String { + let rendered = values.prefix(8).map(displayJSON) + if values.count > rendered.count { + return rendered.joined(separator: ", ") + " (+\(values.count - rendered.count) more)" + } + return rendered.joined(separator: ", ") + } + + func displayJSON(_ value: Any) -> String { + if let string = value as? String { + if let data = try? JSONSerialization.data(withJSONObject: [string]), + let encoded = String(data: data, encoding: .utf8) { + return String(encoded.dropFirst().dropLast()) + } + return "\"\(string)\"" + } + if value is NSNull { return "null" } + if isJSONBoolean(value), let number = value as? NSNumber { + return number.boolValue ? "true" : "false" + } + if let number = jsonNumber(value) { + return formatNumber(number) + } + if JSONSerialization.isValidJSONObject(value), + let data = try? JSONSerialization.data(withJSONObject: value, options: [.sortedKeys]), + let encoded = String(data: data, encoding: .utf8) { + return encoded + } + return String(describing: value) + } + + func formatNumber(_ value: Double) -> String { + if value.rounded() == value { + return String(format: "%.0f", value) + } + return String(value) + } + + func deduplicated(_ issues: [CmuxConfigSemanticIssue]) -> [CmuxConfigSemanticIssue] { + var seen = Set() + return issues.filter { issue in + seen.insert("\(issue.path)\u{0}\(issue.message)").inserted + } + } +} From 4bab61355717a3148bf584c43e197ca6aca056c4 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:35:51 -0700 Subject: [PATCH 35/55] cli: extract config validation command --- CLI/CMUXCLI+Config.swift | 432 --------------------------------------- 1 file changed, 432 deletions(-) diff --git a/CLI/CMUXCLI+Config.swift b/CLI/CMUXCLI+Config.swift index f7d28f2f6586..86bca6a97b68 100644 --- a/CLI/CMUXCLI+Config.swift +++ b/CLI/CMUXCLI+Config.swift @@ -371,436 +371,4 @@ extension CMUXCLI { return trimmed.isEmpty ? nil : trimmed } - private struct ConfigDoctorOptions { - let paths: [String] - let scope: CmuxConfigSemanticScope? - } - - private struct ConfigDoctorTarget { - let label: String - let displayPath: String - let path: String - let missingIsError: Bool - let scope: CmuxConfigSemanticScope - } - - private struct ConfigDoctorFinding { - let label: String - let displayPath: String - let path: String - let status: String - let message: String? - let keys: [String] - let byteCount: Int? - let issues: [CmuxConfigSemanticIssue] - - init( - label: String, - displayPath: String, - path: String, - status: String, - message: String?, - keys: [String], - byteCount: Int?, - issues: [CmuxConfigSemanticIssue] = [] - ) { - self.label = label - self.displayPath = displayPath - self.path = path - self.status = status - self.message = message - self.keys = keys - self.byteCount = byteCount - self.issues = issues - } - - var isError: Bool { status == "error" } - - var payload: [String: Any] { - var result: [String: Any] = [ - "label": label, - "display_path": displayPath, - "path": path, - "status": status, - "ok": !isError, - "keys": keys, - ] - if let message { - result["message"] = message - } - if let byteCount { - result["bytes"] = byteCount - } - if !issues.isEmpty { - result["issues"] = issues.map { ["path": $0.path, "message": $0.message] } - } - return result - } - } - - private struct ConfigDoctorReport { - let findings: [ConfigDoctorFinding] - - var errorCount: Int { - findings.filter(\.isError).count - } - - var payload: [String: Any] { - [ - "ok": errorCount == 0, - "error_count": errorCount, - "findings": findings.map(\.payload), - "reload_command": "cmux reload-config", - "docs_url": CMUXCLI.settingsDocsURL, - "schema_url": CMUXCLI.settingsSchemaURL, - ] - } - } - - private func runConfigDoctor( - arguments: [String], - jsonOutput: Bool, - commandName: String - ) throws -> ConfigDoctorReport { - let options = try parseConfigDoctorOptions(arguments, commandName: commandName) - let targets = options.paths.isEmpty - ? defaultConfigDoctorTargets() - : options.paths.enumerated().map { index, rawPath in - let path = Self.absoluteConfigPath(rawPath) - return ConfigDoctorTarget( - label: "custom \(index + 1)", - displayPath: Self.tildePath(path), - path: path, - missingIsError: true, - scope: options.scope ?? configSemanticScope(for: path) - ) - } - let findings = targets.map(configDoctorFinding(for:)) - let report = ConfigDoctorReport(findings: findings) - - if jsonOutput { - print(jsonString(report.payload)) - } else { - printConfigDoctorReport(report, commandName: commandName) - } - return report - } - - private func parseConfigDoctorOptions( - _ arguments: [String], - commandName: String - ) throws -> ConfigDoctorOptions { - var paths: [String] = [] - var scope: CmuxConfigSemanticScope? - var index = 0 - while index < arguments.count { - let argument = arguments[index] - if argument == "--path" { - let nextIndex = index + 1 - guard nextIndex < arguments.count else { - throw CLIError(message: "cmux config \(commandName) --path requires a path") - } - paths.append(arguments[nextIndex]) - index += 2 - continue - } - if argument.hasPrefix("--path=") { - let rawPath = String(argument.dropFirst("--path=".count)) - guard !rawPath.isEmpty else { - throw CLIError(message: "cmux config \(commandName) --path requires a path") - } - paths.append(rawPath) - index += 1 - continue - } - if argument == "--scope" { - let nextIndex = index + 1 - guard nextIndex < arguments.count, - let parsedScope = CmuxConfigSemanticScope(rawValue: arguments[nextIndex].lowercased()) else { - throw CLIError(message: "cmux config \(commandName) --scope requires global or project") - } - scope = parsedScope - index += 2 - continue - } - if argument.hasPrefix("--scope=") { - let rawScope = String(argument.dropFirst("--scope=".count)).lowercased() - guard let parsedScope = CmuxConfigSemanticScope(rawValue: rawScope) else { - throw CLIError(message: "cmux config \(commandName) --scope requires global or project") - } - scope = parsedScope - index += 1 - continue - } - if argument.hasPrefix("-") { - throw CLIError(message: "Unknown config \(commandName) option '\(argument)'") - } - throw CLIError(message: "Unknown config \(commandName) argument '\(argument)'. Use --path .") - } - return ConfigDoctorOptions(paths: paths, scope: scope) - } - - private func defaultConfigDoctorTargets() -> [ConfigDoctorTarget] { - let primary = Self.absoluteConfigPath(Self.primarySettingsDisplayPath) - var targets = [ - ConfigDoctorTarget( - label: "primary", - displayPath: Self.primarySettingsDisplayPath, - path: primary, - missingIsError: false, - scope: .global - ) - ] - - if let projectPath = findProjectConfigPath(), projectPath != primary { - targets.append( - ConfigDoctorTarget( - label: "project", - displayPath: Self.tildePath(projectPath), - path: projectPath, - missingIsError: false, - scope: .project - ) - ) - } - - let optionalPaths = [ - ("legacy config", Self.legacySettingsDisplayPath), - ("legacy app support", Self.fallbackSettingsDisplayPath), - ] - for (label, displayPath) in optionalPaths { - let path = Self.absoluteConfigPath(displayPath) - guard path != primary, - FileManager.default.fileExists(atPath: path), - !targets.contains(where: { $0.path == path }) else { - continue - } - targets.append( - ConfigDoctorTarget( - label: label, - displayPath: displayPath, - path: path, - missingIsError: false, - scope: .global - ) - ) - } - return targets - } - - private func findProjectConfigPath() -> String? { - let fileManager = FileManager.default - let rawHomePath = ProcessInfo.processInfo.environment["HOME"] ?? fileManager.homeDirectoryForCurrentUser.path - let homePath = URL(fileURLWithPath: rawHomePath).standardizedFileURL.path - var current = URL(fileURLWithPath: fileManager.currentDirectoryPath).standardizedFileURL.path - while true { - if current == homePath { - return nil - } - let candidates = [ - ((current as NSString).appendingPathComponent(".cmux") as NSString) - .appendingPathComponent("cmux.json"), - (current as NSString).appendingPathComponent("cmux.json"), - ] - for candidate in candidates { - var isDirectory = ObjCBool(false) - if fileManager.fileExists(atPath: candidate, isDirectory: &isDirectory), - !isDirectory.boolValue { - return URL(fileURLWithPath: candidate).standardizedFileURL.path - } - } - let parent = (current as NSString).deletingLastPathComponent - if parent == current { - return nil - } - current = parent - } - } - - private func configDoctorFinding(for target: ConfigDoctorTarget) -> ConfigDoctorFinding { - let fileManager = FileManager.default - var isDirectory = ObjCBool(false) - guard fileManager.fileExists(atPath: target.path, isDirectory: &isDirectory) else { - let message = target.missingIsError - ? "file not found" - : "not found; cmux will use defaults until this file exists" - return ConfigDoctorFinding( - label: target.label, - displayPath: target.displayPath, - path: target.path, - status: target.missingIsError ? "error" : "missing", - message: message, - keys: [], - byteCount: nil - ) - } - if isDirectory.boolValue { - return ConfigDoctorFinding( - label: target.label, - displayPath: target.displayPath, - path: target.path, - status: "error", - message: "path is a directory, expected a file", - keys: [], - byteCount: nil - ) - } - - do { - let data = try Data(contentsOf: URL(fileURLWithPath: target.path)) - guard !data.isEmpty else { - return ConfigDoctorFinding( - label: target.label, - displayPath: target.displayPath, - path: target.path, - status: "error", - message: "file is empty", - keys: [], - byteCount: 0 - ) - } - let sanitized = try JSONCParser.preprocess(data: data) - let object = try JSONSerialization.jsonObject(with: sanitized) - guard let dictionary = object as? [String: Any] else { - return ConfigDoctorFinding( - label: target.label, - displayPath: target.displayPath, - path: target.path, - status: "error", - message: "top-level value must be a JSON object", - keys: [], - byteCount: data.count - ) - } - let validator = CmuxConfigSemanticValidator(scope: target.scope) - let issues = try validator.validate(jsonData: sanitized) - if !issues.isEmpty { - return ConfigDoctorFinding( - label: target.label, - displayPath: target.displayPath, - path: target.path, - status: "error", - message: "semantic validation failed", - keys: dictionary.keys.sorted(), - byteCount: data.count, - issues: issues - ) - } - return ConfigDoctorFinding( - label: target.label, - displayPath: target.displayPath, - path: target.path, - status: "ok", - message: "JSONC syntax and semantic validation passed", - keys: dictionary.keys.sorted(), - byteCount: data.count - ) - } catch { - return ConfigDoctorFinding( - label: target.label, - displayPath: target.displayPath, - path: target.path, - status: "error", - message: Self.configDoctorErrorMessage(error), - keys: [], - byteCount: nil - ) - } - } - - private func printConfigDoctorReport(_ report: ConfigDoctorReport, commandName: String) { - print("cmux config \(commandName)") - for finding in report.findings { - print("\(finding.status.uppercased()) \(finding.label): \(finding.displayPath)") - print(" path: \(finding.path)") - if let byteCount = finding.byteCount { - print(" bytes: \(byteCount)") - } - if !finding.keys.isEmpty { - print(" keys: \(finding.keys.joined(separator: ", "))") - } - if let message = finding.message { - print(" \(message)") - } - for issue in finding.issues { - print(" \(issue.path): \(issue.message)") - } - } - print() - print("Docs: \(Self.settingsDocsURL)") - print("Schema: \(Self.settingsSchemaURL)") - print("Reload: cmux reload-config") - } - - private func configSemanticScope(for path: String) -> CmuxConfigSemanticScope { - let normalized = URL(fileURLWithPath: path).standardizedFileURL.path - let globalPaths = [ - Self.primarySettingsDisplayPath, - Self.legacySettingsDisplayPath, - Self.fallbackSettingsDisplayPath, - ].map(Self.absoluteConfigPath) - if globalPaths.contains(normalized) { - return .global - } - if let projectPath = findProjectConfigPath(), - URL(fileURLWithPath: projectPath).standardizedFileURL.path == normalized { - return .project - } - let parent = (normalized as NSString).deletingLastPathComponent - if (parent as NSString).lastPathComponent == ".cmux" { - return .project - } - return .global - } - - private static func absoluteConfigPath(_ rawPath: String) -> String { - let homePath = ProcessInfo.processInfo.environment["HOME"] ?? NSHomeDirectory() - let expanded: String - if rawPath == "~" { - expanded = homePath - } else if rawPath.hasPrefix("~/") { - expanded = (homePath as NSString).appendingPathComponent(String(rawPath.dropFirst(2))) - } else { - expanded = rawPath - } - - let absolute = (expanded as NSString).isAbsolutePath - ? expanded - : (FileManager.default.currentDirectoryPath as NSString).appendingPathComponent(expanded) - return URL(fileURLWithPath: absolute).standardizedFileURL.path - } - - private static func tildePath(_ path: String) -> String { - let homePath = URL(fileURLWithPath: ProcessInfo.processInfo.environment["HOME"] ?? NSHomeDirectory()) - .standardizedFileURL - .path - let normalized = URL(fileURLWithPath: path).standardizedFileURL.path - if normalized == homePath { - return "~" - } - let prefix = homePath.hasSuffix("/") ? homePath : homePath + "/" - if normalized.hasPrefix(prefix) { - return "~/" + String(normalized.dropFirst(prefix.count)) - } - return normalized - } - - private static func configDoctorErrorMessage(_ error: Error) -> String { - let nsError = error as NSError - if let debug = nsError.userInfo[NSDebugDescriptionErrorKey] as? String { - let trimmed = debug.trimmingCharacters(in: .whitespacesAndNewlines) - if !trimmed.isEmpty { - return trimmed - } - } - let described = String(describing: error).trimmingCharacters(in: .whitespacesAndNewlines) - if !described.isEmpty { - return described - } - let localized = nsError.localizedDescription.trimmingCharacters(in: .whitespacesAndNewlines) - if !localized.isEmpty { - return localized - } - return "unknown config parse error" - } } From 29d47e8f9a31c619eb38e74eff2ebee27f2370a1 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:36:02 -0700 Subject: [PATCH 36/55] cli: add extracted config validation command --- CLI/CMUXCLI+ConfigValidation.swift | 438 +++++++++++++++++++++++++++++ 1 file changed, 438 insertions(+) create mode 100644 CLI/CMUXCLI+ConfigValidation.swift diff --git a/CLI/CMUXCLI+ConfigValidation.swift b/CLI/CMUXCLI+ConfigValidation.swift new file mode 100644 index 000000000000..4278d2624943 --- /dev/null +++ b/CLI/CMUXCLI+ConfigValidation.swift @@ -0,0 +1,438 @@ +import Foundation +import CmuxFoundation + +extension CMUXCLI { + struct ConfigDoctorOptions { + let paths: [String] + let scope: CmuxConfigSemanticScope? + } + + struct ConfigDoctorTarget { + let label: String + let displayPath: String + let path: String + let missingIsError: Bool + let scope: CmuxConfigSemanticScope + } + + struct ConfigDoctorFinding { + let label: String + let displayPath: String + let path: String + let status: String + let message: String? + let keys: [String] + let byteCount: Int? + let issues: [CmuxConfigSemanticIssue] + + init( + label: String, + displayPath: String, + path: String, + status: String, + message: String?, + keys: [String], + byteCount: Int?, + issues: [CmuxConfigSemanticIssue] = [] + ) { + self.label = label + self.displayPath = displayPath + self.path = path + self.status = status + self.message = message + self.keys = keys + self.byteCount = byteCount + self.issues = issues + } + + var isError: Bool { status == "error" } + + var payload: [String: Any] { + var result: [String: Any] = [ + "label": label, + "display_path": displayPath, + "path": path, + "status": status, + "ok": !isError, + "keys": keys, + ] + if let message { + result["message"] = message + } + if let byteCount { + result["bytes"] = byteCount + } + if !issues.isEmpty { + result["issues"] = issues.map { ["path": $0.path, "message": $0.message] } + } + return result + } + } + + struct ConfigDoctorReport { + let findings: [ConfigDoctorFinding] + + var errorCount: Int { + findings.filter(\.isError).count + } + + var payload: [String: Any] { + [ + "ok": errorCount == 0, + "error_count": errorCount, + "findings": findings.map(\.payload), + "reload_command": "cmux reload-config", + "docs_url": CMUXCLI.settingsDocsURL, + "schema_url": CMUXCLI.settingsSchemaURL, + ] + } + } + + func runConfigDoctor( + arguments: [String], + jsonOutput: Bool, + commandName: String + ) throws -> ConfigDoctorReport { + let options = try parseConfigDoctorOptions(arguments, commandName: commandName) + let targets = options.paths.isEmpty + ? defaultConfigDoctorTargets() + : options.paths.enumerated().map { index, rawPath in + let path = Self.absoluteConfigPath(rawPath) + return ConfigDoctorTarget( + label: "custom \(index + 1)", + displayPath: Self.tildePath(path), + path: path, + missingIsError: true, + scope: options.scope ?? configSemanticScope(for: path) + ) + } + let findings = targets.map(configDoctorFinding(for:)) + let report = ConfigDoctorReport(findings: findings) + + if jsonOutput { + print(jsonString(report.payload)) + } else { + printConfigDoctorReport(report, commandName: commandName) + } + return report + } + + private func parseConfigDoctorOptions( + _ arguments: [String], + commandName: String + ) throws -> ConfigDoctorOptions { + var paths: [String] = [] + var scope: CmuxConfigSemanticScope? + var index = 0 + while index < arguments.count { + let argument = arguments[index] + if argument == "--path" { + let nextIndex = index + 1 + guard nextIndex < arguments.count else { + throw CLIError(message: "cmux config \(commandName) --path requires a path") + } + paths.append(arguments[nextIndex]) + index += 2 + continue + } + if argument.hasPrefix("--path=") { + let rawPath = String(argument.dropFirst("--path=".count)) + guard !rawPath.isEmpty else { + throw CLIError(message: "cmux config \(commandName) --path requires a path") + } + paths.append(rawPath) + index += 1 + continue + } + if argument == "--scope" { + let nextIndex = index + 1 + guard nextIndex < arguments.count, + let parsedScope = CmuxConfigSemanticScope(rawValue: arguments[nextIndex].lowercased()) else { + throw CLIError(message: "cmux config \(commandName) --scope requires global or project") + } + scope = parsedScope + index += 2 + continue + } + if argument.hasPrefix("--scope=") { + let rawScope = String(argument.dropFirst("--scope=".count)).lowercased() + guard let parsedScope = CmuxConfigSemanticScope(rawValue: rawScope) else { + throw CLIError(message: "cmux config \(commandName) --scope requires global or project") + } + scope = parsedScope + index += 1 + continue + } + if argument.hasPrefix("-") { + throw CLIError(message: "Unknown config \(commandName) option '\(argument)'") + } + throw CLIError(message: "Unknown config \(commandName) argument '\(argument)'. Use --path .") + } + return ConfigDoctorOptions(paths: paths, scope: scope) + } + + private func defaultConfigDoctorTargets() -> [ConfigDoctorTarget] { + let primary = Self.absoluteConfigPath(Self.primarySettingsDisplayPath) + var targets = [ + ConfigDoctorTarget( + label: "primary", + displayPath: Self.primarySettingsDisplayPath, + path: primary, + missingIsError: false, + scope: .global + ) + ] + + if let projectPath = findProjectConfigPath(), projectPath != primary { + targets.append( + ConfigDoctorTarget( + label: "project", + displayPath: Self.tildePath(projectPath), + path: projectPath, + missingIsError: false, + scope: .project + ) + ) + } + + let optionalPaths = [ + ("legacy config", Self.legacySettingsDisplayPath), + ("legacy app support", Self.fallbackSettingsDisplayPath), + ] + for (label, displayPath) in optionalPaths { + let path = Self.absoluteConfigPath(displayPath) + guard path != primary, + FileManager.default.fileExists(atPath: path), + !targets.contains(where: { $0.path == path }) else { + continue + } + targets.append( + ConfigDoctorTarget( + label: label, + displayPath: displayPath, + path: path, + missingIsError: false, + scope: .global + ) + ) + } + return targets + } + + private func findProjectConfigPath() -> String? { + let fileManager = FileManager.default + let rawHomePath = ProcessInfo.processInfo.environment["HOME"] ?? fileManager.homeDirectoryForCurrentUser.path + let homePath = URL(fileURLWithPath: rawHomePath).standardizedFileURL.path + var current = URL(fileURLWithPath: fileManager.currentDirectoryPath).standardizedFileURL.path + while true { + if current == homePath { + return nil + } + let candidates = [ + ((current as NSString).appendingPathComponent(".cmux") as NSString) + .appendingPathComponent("cmux.json"), + (current as NSString).appendingPathComponent("cmux.json"), + ] + for candidate in candidates { + var isDirectory = ObjCBool(false) + if fileManager.fileExists(atPath: candidate, isDirectory: &isDirectory), + !isDirectory.boolValue { + return URL(fileURLWithPath: candidate).standardizedFileURL.path + } + } + let parent = (current as NSString).deletingLastPathComponent + if parent == current { + return nil + } + current = parent + } + } + + private func configDoctorFinding(for target: ConfigDoctorTarget) -> ConfigDoctorFinding { + let fileManager = FileManager.default + var isDirectory = ObjCBool(false) + guard fileManager.fileExists(atPath: target.path, isDirectory: &isDirectory) else { + let message = target.missingIsError + ? "file not found" + : "not found; cmux will use defaults until this file exists" + return ConfigDoctorFinding( + label: target.label, + displayPath: target.displayPath, + path: target.path, + status: target.missingIsError ? "error" : "missing", + message: message, + keys: [], + byteCount: nil + ) + } + if isDirectory.boolValue { + return ConfigDoctorFinding( + label: target.label, + displayPath: target.displayPath, + path: target.path, + status: "error", + message: "path is a directory, expected a file", + keys: [], + byteCount: nil + ) + } + + do { + let data = try Data(contentsOf: URL(fileURLWithPath: target.path)) + guard !data.isEmpty else { + return ConfigDoctorFinding( + label: target.label, + displayPath: target.displayPath, + path: target.path, + status: "error", + message: "file is empty", + keys: [], + byteCount: 0 + ) + } + let sanitized = try JSONCParser.preprocess(data: data) + let object = try JSONSerialization.jsonObject(with: sanitized) + guard let dictionary = object as? [String: Any] else { + return ConfigDoctorFinding( + label: target.label, + displayPath: target.displayPath, + path: target.path, + status: "error", + message: "top-level value must be a JSON object", + keys: [], + byteCount: data.count + ) + } + let validator = CmuxConfigSemanticValidator(scope: target.scope) + let issues = try validator.validate(jsonData: sanitized) + if !issues.isEmpty { + return ConfigDoctorFinding( + label: target.label, + displayPath: target.displayPath, + path: target.path, + status: "error", + message: "semantic validation failed", + keys: dictionary.keys.sorted(), + byteCount: data.count, + issues: issues + ) + } + return ConfigDoctorFinding( + label: target.label, + displayPath: target.displayPath, + path: target.path, + status: "ok", + message: "JSONC syntax and semantic validation passed", + keys: dictionary.keys.sorted(), + byteCount: data.count + ) + } catch { + return ConfigDoctorFinding( + label: target.label, + displayPath: target.displayPath, + path: target.path, + status: "error", + message: Self.configDoctorErrorMessage(error), + keys: [], + byteCount: nil + ) + } + } + + private func printConfigDoctorReport(_ report: ConfigDoctorReport, commandName: String) { + print("cmux config \(commandName)") + for finding in report.findings { + print("\(finding.status.uppercased()) \(finding.label): \(finding.displayPath)") + print(" path: \(finding.path)") + if let byteCount = finding.byteCount { + print(" bytes: \(byteCount)") + } + if !finding.keys.isEmpty { + print(" keys: \(finding.keys.joined(separator: ", "))") + } + if let message = finding.message { + print(" \(message)") + } + for issue in finding.issues { + print(" \(issue.path): \(issue.message)") + } + } + print() + print("Docs: \(Self.settingsDocsURL)") + print("Schema: \(Self.settingsSchemaURL)") + print("Reload: cmux reload-config") + } + + private func configSemanticScope(for path: String) -> CmuxConfigSemanticScope { + let normalized = URL(fileURLWithPath: path).standardizedFileURL.path + let globalPaths = [ + Self.primarySettingsDisplayPath, + Self.legacySettingsDisplayPath, + Self.fallbackSettingsDisplayPath, + ].map(Self.absoluteConfigPath) + if globalPaths.contains(normalized) { + return .global + } + if let projectPath = findProjectConfigPath(), + URL(fileURLWithPath: projectPath).standardizedFileURL.path == normalized { + return .project + } + let parent = (normalized as NSString).deletingLastPathComponent + if (parent as NSString).lastPathComponent == ".cmux" { + return .project + } + return .global + } + + private static func absoluteConfigPath(_ rawPath: String) -> String { + let homePath = ProcessInfo.processInfo.environment["HOME"] ?? NSHomeDirectory() + let expanded: String + if rawPath == "~" { + expanded = homePath + } else if rawPath.hasPrefix("~/") { + expanded = (homePath as NSString).appendingPathComponent(String(rawPath.dropFirst(2))) + } else { + expanded = rawPath + } + + let absolute = (expanded as NSString).isAbsolutePath + ? expanded + : (FileManager.default.currentDirectoryPath as NSString).appendingPathComponent(expanded) + return URL(fileURLWithPath: absolute).standardizedFileURL.path + } + + static func tildePath(_ path: String) -> String { + let homePath = URL(fileURLWithPath: ProcessInfo.processInfo.environment["HOME"] ?? NSHomeDirectory()) + .standardizedFileURL + .path + let normalized = URL(fileURLWithPath: path).standardizedFileURL.path + if normalized == homePath { + return "~" + } + let prefix = homePath.hasSuffix("/") ? homePath : homePath + "/" + if normalized.hasPrefix(prefix) { + return "~/" + String(normalized.dropFirst(prefix.count)) + } + return normalized + } + + static func configDoctorErrorMessage(_ error: Error) -> String { + let nsError = error as NSError + if let debug = nsError.userInfo[NSDebugDescriptionErrorKey] as? String { + let trimmed = debug.trimmingCharacters(in: .whitespacesAndNewlines) + if !trimmed.isEmpty { + return trimmed + } + } + let described = String(describing: error).trimmingCharacters(in: .whitespacesAndNewlines) + if !described.isEmpty { + return described + } + let localized = nsError.localizedDescription.trimmingCharacters(in: .whitespacesAndNewlines) + if !localized.isEmpty { + return localized + } + return "unknown config parse error" + } + +} From f8d1c8eebb0e7b9a983698c309acf563130b21d8 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:36:19 -0700 Subject: [PATCH 37/55] settings: keep shared validation within file budget --- Sources/KeyboardShortcutSettingsFileStore.swift | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Sources/KeyboardShortcutSettingsFileStore.swift b/Sources/KeyboardShortcutSettingsFileStore.swift index 0afaf5e2c6e0..fee6f50ad200 100644 --- a/Sources/KeyboardShortcutSettingsFileStore.swift +++ b/Sources/KeyboardShortcutSettingsFileStore.swift @@ -354,15 +354,12 @@ final class CmuxSettingsFileStore { guard let data = fileManager.contents(atPath: path), !data.isEmpty else { return .invalid } - do { let sanitized = try JSONCParser.preprocess(data: data) let object = try JSONSerialization.jsonObject(with: sanitized, options: []) guard let root = object as? [String: Any] else { return .invalid } for issue in CmuxConfigSemanticValidator(scope: .global).validate(jsonObject: root) { - cmuxSettingsFileStoreLogger.warning( - "semantic config issue '\(issue.path, privacy: .private(mask: .hash))' in \(path, privacy: .private(mask: .hash)): \(issue.message, privacy: .public)" - ) + cmuxSettingsFileStoreLogger.warning("semantic config issue '\(issue.path, privacy: .private(mask: .hash))' in \(path, privacy: .private(mask: .hash)): \(issue.message, privacy: .public)") } let malformedAutomation = root["automation"] != nil && !(root["automation"] is [String: Any]) return .parsed(parseSettingsFile(root: root, sourcePath: path), malformedAutomation: malformedAutomation) From 769052d9942d90f57643dbee4beff81037805186 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:36:31 -0700 Subject: [PATCH 38/55] settings: preserve settings store line budget --- Sources/KeyboardShortcutSettingsFileStore.swift | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Sources/KeyboardShortcutSettingsFileStore.swift b/Sources/KeyboardShortcutSettingsFileStore.swift index fee6f50ad200..b0c9587f4e7c 100644 --- a/Sources/KeyboardShortcutSettingsFileStore.swift +++ b/Sources/KeyboardShortcutSettingsFileStore.swift @@ -358,9 +358,7 @@ final class CmuxSettingsFileStore { let sanitized = try JSONCParser.preprocess(data: data) let object = try JSONSerialization.jsonObject(with: sanitized, options: []) guard let root = object as? [String: Any] else { return .invalid } - for issue in CmuxConfigSemanticValidator(scope: .global).validate(jsonObject: root) { - cmuxSettingsFileStoreLogger.warning("semantic config issue '\(issue.path, privacy: .private(mask: .hash))' in \(path, privacy: .private(mask: .hash)): \(issue.message, privacy: .public)") - } + for issue in CmuxConfigSemanticValidator(scope: .global).validate(jsonObject: root) { cmuxSettingsFileStoreLogger.warning("semantic config issue '\(issue.path, privacy: .private(mask: .hash))' in \(path, privacy: .private(mask: .hash)): \(issue.message, privacy: .public)") } let malformedAutomation = root["automation"] != nil && !(root["automation"] is [String: Any]) return .parsed(parseSettingsFile(root: root, sourcePath: path), malformedAutomation: malformedAutomation) } catch { From 6aba415586aa05d7356586bc79d9d8edd0693613 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:38:55 -0700 Subject: [PATCH 39/55] project: wire config validation CLI source --- cmux.xcodeproj/project.pbxproj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmux.xcodeproj/project.pbxproj b/cmux.xcodeproj/project.pbxproj index 426ba041cd90..a286dfed1f5e 100644 --- a/cmux.xcodeproj/project.pbxproj +++ b/cmux.xcodeproj/project.pbxproj @@ -1122,6 +1122,7 @@ B90000D2A1B2C3D4E5F60719 /* CMUXCLI+CommandSuggestions.swift in Sources */ = {isa = PBXBuildFile; fileRef = B90000D1A1B2C3D4E5F60719 /* CMUXCLI+CommandSuggestions.swift */; }; CC0033E15A1B2C3D4E5F0001 /* CMUXCLI+Comments.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC0033E15A1B2C3D4E5F0002 /* CMUXCLI+Comments.swift */; }; B9000050A1B2C3D4E5F60719 /* CMUXCLI+Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9000051A1B2C3D4E5F60719 /* CMUXCLI+Config.swift */; }; + 112080C00000000000000008 /* CMUXCLI+ConfigValidation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 112080A00000000000000008 /* CMUXCLI+ConfigValidation.swift */; }; 112950000000000000000006 /* CMUXCLI+ContinuationSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 112950000000000000000005 /* CMUXCLI+ContinuationSupport.swift */; }; D1FF51000000000000000001 /* CMUXCLI+DiffSidecar.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1FF51000000000000000002 /* CMUXCLI+DiffSidecar.swift */; }; C0DE75890000000000000001 /* CMUXCLI+DiffViewerBundledAssets.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0DE75890000000000000002 /* CMUXCLI+DiffViewerBundledAssets.swift */; }; @@ -5082,6 +5083,7 @@ B90000D1A1B2C3D4E5F60719 /* CMUXCLI+CommandSuggestions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CMUXCLI+CommandSuggestions.swift"; sourceTree = ""; }; CC0033E15A1B2C3D4E5F0002 /* CMUXCLI+Comments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CMUXCLI+Comments.swift"; sourceTree = ""; }; B9000051A1B2C3D4E5F60719 /* CMUXCLI+Config.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CMUXCLI+Config.swift"; sourceTree = ""; }; + 112080A00000000000000008 /* CMUXCLI+ConfigValidation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CMUXCLI+ConfigValidation.swift"; sourceTree = ""; }; 112950000000000000000005 /* CMUXCLI+ContinuationSupport.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CMUXCLI+ContinuationSupport.swift"; sourceTree = ""; }; D1FF51000000000000000002 /* CMUXCLI+DiffSidecar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CMUXCLI+DiffSidecar.swift"; sourceTree = ""; }; C0DE75890000000000000002 /* CMUXCLI+DiffViewerBundledAssets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CMUXCLI+DiffViewerBundledAssets.swift"; sourceTree = ""; }; @@ -10575,6 +10577,7 @@ D1275700D1275700D1275702 /* SocketClient+V2.swift */, B9000049A1B2C3D4E5F60719 /* CMUXCLI+TmuxCompatHUDSupport.swift */, B9000051A1B2C3D4E5F60719 /* CMUXCLI+Config.swift */, + 112080A00000000000000008 /* CMUXCLI+ConfigValidation.swift */, 7E5D35CC62B0F252F9EC2AD1 /* CMUXCLI+WorkspaceTodo.swift */, C0DE10651000000000000011 /* LocalTmuxSessionRegistry.swift */, C0DE10651000000000000012 /* LocalTmuxCommandBuilder.swift */, @@ -14952,6 +14955,7 @@ B90000D2A1B2C3D4E5F60719 /* CMUXCLI+CommandSuggestions.swift in Sources */, CC0033E15A1B2C3D4E5F0001 /* CMUXCLI+Comments.swift in Sources */, B9000050A1B2C3D4E5F60719 /* CMUXCLI+Config.swift in Sources */, + 112080C00000000000000008 /* CMUXCLI+ConfigValidation.swift in Sources */, 112950000000000000000006 /* CMUXCLI+ContinuationSupport.swift in Sources */, D1FF51000000000000000001 /* CMUXCLI+DiffSidecar.swift in Sources */, C0DE75890000000000000001 /* CMUXCLI+DiffViewerBundledAssets.swift in Sources */, From 4e6316a73926a95114bff747f7968024fa41d620 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:40:43 -0700 Subject: [PATCH 40/55] ci: exercise semantic config validation --- .github/workflows/cli-pipe-regressions.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/cli-pipe-regressions.yml b/.github/workflows/cli-pipe-regressions.yml index 136d47542dee..9571c59a4b37 100644 --- a/.github/workflows/cli-pipe-regressions.yml +++ b/.github/workflows/cli-pipe-regressions.yml @@ -6,6 +6,9 @@ on: - 'CLI/**' - 'tests/test_cli_broken_pipe_writes.py' - 'tests/test_cli_socket_operation_deadline.py' + - 'tests/test_cli_config_doctor.py' + - 'scripts/generate-cmux-config-schema.py' + - 'web/data/cmux.schema.json' - 'cmux.xcodeproj/**' - 'Packages/macOS/CmuxFoundation/**' - '.github/workflows/cli-pipe-regressions.yml' @@ -58,6 +61,10 @@ jobs: -clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \ -resolvePackageDependencies + - name: Test semantic config validator + run: | + swift test --package-path Packages/macOS/CmuxFoundation --filter CmuxConfigSemanticValidatorTests -Xswiftc -warnings-as-errors + - name: Build the standalone CLI run: | set -euo pipefail @@ -78,6 +85,7 @@ jobs: export CMUX_CLI_BIN="$CMUX_CLI_PRODUCTS/cmux" export DYLD_FRAMEWORK_PATH="$CMUX_CLI_PRODUCTS/Frameworks:$CMUX_CLI_PRODUCTS" python3 tests/test_cli_broken_pipe_writes.py 2>&1 | tee "$RUNNER_TEMP/cli-pipes.log" + python3 tests/test_cli_config_doctor.py 2>&1 | tee "$RUNNER_TEMP/cli-config-validation.log" - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 if: always() @@ -87,4 +95,5 @@ jobs: ${{ runner.temp }}/cli-revision.txt ${{ runner.temp }}/cli-build.log ${{ runner.temp }}/cli-pipes.log + ${{ runner.temp }}/cli-config-validation.log retention-days: 7 From 77fd47eeaabcef0c2610af9b72c99cf4a1847245 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:43:44 -0700 Subject: [PATCH 41/55] ci: avoid unrelated package warning failures --- .github/workflows/cli-pipe-regressions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cli-pipe-regressions.yml b/.github/workflows/cli-pipe-regressions.yml index 9571c59a4b37..c67704cd57d8 100644 --- a/.github/workflows/cli-pipe-regressions.yml +++ b/.github/workflows/cli-pipe-regressions.yml @@ -63,7 +63,7 @@ jobs: - name: Test semantic config validator run: | - swift test --package-path Packages/macOS/CmuxFoundation --filter CmuxConfigSemanticValidatorTests -Xswiftc -warnings-as-errors + swift test --package-path Packages/macOS/CmuxFoundation --filter CmuxConfigSemanticValidatorTests - name: Build the standalone CLI run: | From edfeb579b8b7f917ed9e05c25b503472a4b9105d Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:48:15 -0700 Subject: [PATCH 42/55] ci: use pinned Xcode for config validation --- .github/workflows/cli-pipe-regressions.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cli-pipe-regressions.yml b/.github/workflows/cli-pipe-regressions.yml index c67704cd57d8..0c569959aa6a 100644 --- a/.github/workflows/cli-pipe-regressions.yml +++ b/.github/workflows/cli-pipe-regressions.yml @@ -39,8 +39,10 @@ jobs: run: | if [ -n "${CMUX_CI_XCODE_APP:-}" ]; then sudo xcode-select --switch "$CMUX_CI_XCODE_APP/Contents/Developer" + xcodebuild -version + else + ./scripts/select-ci-xcode.sh fi - xcodebuild -version - name: Initialize Ghostty and download its binary framework run: | From 626eadcb29f9cc6aed733cf1131a328fab51ec2a Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:51:03 -0700 Subject: [PATCH 43/55] settings helper: infer config scope from runtime discovery --- skills/cmux-settings/scripts/cmux-settings | 45 ++++++++++++++++++---- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/skills/cmux-settings/scripts/cmux-settings b/skills/cmux-settings/scripts/cmux-settings index 4eebf1675df5..a0d7a5648c6f 100755 --- a/skills/cmux-settings/scripts/cmux-settings +++ b/skills/cmux-settings/scripts/cmux-settings @@ -210,7 +210,23 @@ def find_cmux_cli() -> str | None: return shutil.which("cmux") -def semantic_scope_for(path: Path) -> str: +def discovered_project_config() -> Path | None: + current = Path.cwd().resolve() + home = Path.home().resolve() + while current != home: + for candidate in (current / ".cmux" / "cmux.json", current / "cmux.json"): + if candidate.is_file(): + return candidate.resolve() + parent = current.parent + if parent == current: + break + current = parent + return None + + +def semantic_scope_for(path: Path, explicit_scope: str | None = None) -> str: + if explicit_scope is not None: + return explicit_scope resolved = path.expanduser().resolve() global_paths = { DEFAULT_PATH.expanduser().resolve(), @@ -219,7 +235,9 @@ def semantic_scope_for(path: Path) -> str: } if resolved in global_paths: return "global" - if resolved.parent.name == ".cmux" or resolved.name == "cmux.json": + if resolved.parent.name == ".cmux": + return "project" + if discovered_project_config() == resolved: return "project" return "global" @@ -287,7 +305,11 @@ def validate_file_with_cmux(path: Path, scope: str) -> bool: return False -def validate_candidate(data: dict[str, Any], source_path: Path) -> bool: +def validate_candidate( + data: dict[str, Any], + source_path: Path, + explicit_scope: str | None = None, +) -> bool: encoded = json.dumps(data, indent=2, ensure_ascii=False) + "\n" with tempfile.NamedTemporaryFile( mode="w", encoding="utf-8", delete=False, suffix=".cmux.json" @@ -295,7 +317,10 @@ def validate_candidate(data: dict[str, Any], source_path: Path) -> bool: tmp.write(encoded) candidate = Path(tmp.name) try: - return validate_file_with_cmux(candidate, semantic_scope_for(source_path)) + return validate_file_with_cmux( + candidate, + semantic_scope_for(source_path, explicit_scope), + ) finally: candidate.unlink(missing_ok=True) @@ -401,7 +426,7 @@ def cmd_set(args: argparse.Namespace) -> int: if not changed: print(f"unchanged: {args.key} = {json.dumps(value)}") return 0 - if not validate_candidate(data, path): + if not validate_candidate(data, path, args.scope): return 1 atomic_write(path, data) print(f"set: {args.key} = {json.dumps(value)}") @@ -414,7 +439,7 @@ def cmd_unset(args: argparse.Namespace) -> int: if not unset_at(data, split_path(args.key)): print(f"unchanged: {args.key} (not present)") return 0 - if not validate_candidate(data, path): + if not validate_candidate(data, path, args.scope): return 1 atomic_write(path, data) print(f"unset: {args.key}") @@ -437,7 +462,7 @@ def cmd_list_supported(args: argparse.Namespace) -> int: def cmd_validate(args: argparse.Namespace) -> int: path = Path(args.file) - scope = semantic_scope_for(path) + scope = semantic_scope_for(path, args.scope) if path.exists(): if not validate_file_with_cmux(path, scope): return 1 @@ -488,6 +513,12 @@ def main() -> int: default=str(DEFAULT_PATH), help=f"settings file path (default: {DEFAULT_PATH})", ) + parser.add_argument( + "--scope", + choices=("global", "project"), + default=None, + help="validation scope override (default: infer from the target path/current project)", + ) sub = parser.add_subparsers(dest="cmd", required=True) sub.add_parser("path").set_defaults(func=cmd_path) From 582bf1cdc21f27b050eb1a43d5f52a8185f758d7 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:54:54 -0700 Subject: [PATCH 44/55] foundation: bundle config validation localizations --- Packages/macOS/CmuxFoundation/Package.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Packages/macOS/CmuxFoundation/Package.swift b/Packages/macOS/CmuxFoundation/Package.swift index 5a8eacc82a82..f715e7aab37a 100644 --- a/Packages/macOS/CmuxFoundation/Package.swift +++ b/Packages/macOS/CmuxFoundation/Package.swift @@ -21,6 +21,7 @@ let package = Package( .target( name: "CmuxFoundation", dependencies: ["CmuxFoundationAtomicsC"], + resources: [.process("Resources")], swiftSettings: [ .swiftLanguageMode(.v6), .enableUpcomingFeature("ExistentialAny"), From 9129428b1d15e8946270db32bf372f6cc8995aa4 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:54:57 -0700 Subject: [PATCH 45/55] foundation: add config validation localization helper --- .../CmuxConfigValidationLocalization.swift | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigValidationLocalization.swift diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigValidationLocalization.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigValidationLocalization.swift new file mode 100644 index 000000000000..d63d27f9ec49 --- /dev/null +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigValidationLocalization.swift @@ -0,0 +1,19 @@ +import Foundation + +public enum CmuxConfigValidationLocalization { + public static func string( + _ key: StaticString, + defaultValue: String.LocalizationValue + ) -> String { + String(localized: key, defaultValue: defaultValue, bundle: .module) + } + + public static func format( + _ key: StaticString, + defaultValue: String.LocalizationValue, + _ arguments: any CVarArg... + ) -> String { + let localized = string(key, defaultValue: defaultValue) + return String(format: localized, locale: Locale.current, arguments: arguments) + } +} From 432feefccab68354ef54e1c6262d4fafc72edd18 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:55:57 -0700 Subject: [PATCH 46/55] foundation: localize config validation diagnostics --- .../Resources/Localizable.xcstrings | 2366 +++++++++++++++++ 1 file changed, 2366 insertions(+) create mode 100644 Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/Resources/Localizable.xcstrings diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/Resources/Localizable.xcstrings b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/Resources/Localizable.xcstrings new file mode 100644 index 000000000000..d8df2c97fa3c --- /dev/null +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/Resources/Localizable.xcstrings @@ -0,0 +1,2366 @@ +{ + "sourceLanguage": "en", + "strings": { + "config.validation.array.max": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "must contain at most %lld item(s)" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "darf höchstens %lld Element(e) enthalten" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "doit contenir au plus %lld élément(s)" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يجب ألا يتجاوز %lld عنصرًا" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "debe contener como máximo %lld elemento(s)" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "最多只能包含 %lld 個項目" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "最多只能包含 %lld 个项目" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "최대 %lld개의 항목을 포함해야 합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "%lld 個以下の項目である必要があります" + } + } + } + }, + "config.validation.array.min": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "must contain at least %lld item(s)" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "muss mindestens %lld Element(e) enthalten" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "doit contenir au moins %lld élément(s)" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يجب أن يحتوي على %lld عنصرًا على الأقل" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "debe contener al menos %lld elemento(s)" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "必須至少包含 %lld 個項目" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "必须至少包含 %lld 个项目" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "최소 %lld개의 항목을 포함해야 합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "少なくとも %lld 個の項目が必要です" + } + } + } + }, + "config.validation.choices.more": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "(+%lld more)" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "(+%lld weitere)" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "(+%lld autres)" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "(+%lld أخرى)" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "(+%lld más)" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "(另有 %lld 個)" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "(另有 %lld 个)" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "(+%lld개 더)" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "(他 %lld 件)" + } + } + } + }, + "config.validation.cli.errorCount": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ found %lld error(s)" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ hat %lld Fehler gefunden" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ a trouvé %lld erreur(s)" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "عثر cmux config %@ على %lld خطأ" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ encontró %lld error(es)" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ 發現 %lld 個錯誤" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ 发现 %lld 个错误" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@에서 %lld개의 오류를 찾았습니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ で %lld 件のエラーが見つかりました" + } + } + } + }, + "config.validation.cli.failed": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "semantic validation failed" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "semantische Validierung fehlgeschlagen" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "échec de la validation sémantique" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "فشل التحقق الدلالي" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "falló la validación semántica" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "語意驗證失敗" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "语义验证失败" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "의미 검증에 실패했습니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "意味検証に失敗しました" + } + } + } + }, + "config.validation.cli.help": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Validate JSONC syntax and cmux config semantics." + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "JSONC-Syntax und cmux-Konfigurationssemantik prüfen." + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Valider la syntaxe JSONC et la sémantique de configuration cmux." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تحقق من صياغة JSONC ودلالات إعداد cmux." + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Valida la sintaxis JSONC y la semántica de configuración de cmux." + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "驗證 JSONC 語法與 cmux 設定語意。" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "验证 JSONC 语法和 cmux 配置语义。" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "JSONC 구문과 cmux 구성 의미를 검증합니다." + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "JSONC 構文と cmux 設定の意味を検証します。" + } + } + } + }, + "config.validation.cli.passed": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "JSONC syntax and semantic validation passed" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "JSONC-Syntax und semantische Validierung erfolgreich" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "syntaxe JSONC et validation sémantique réussies" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "نجح التحقق من صياغة JSONC والدلالات" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "la sintaxis JSONC y la validación semántica son correctas" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "JSONC 語法與語意驗證皆通過" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "JSONC 语法和语义验证均通过" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "JSONC 구문 및 의미 검증을 통과했습니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "JSONC 構文と意味検証に合格しました" + } + } + } + }, + "config.validation.cli.pathRequired": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --path requires a path" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --path benötigt einen Pfad" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --path nécessite un chemin" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يتطلب cmux config %@ --path مسارًا" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --path requiere una ruta" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --path 需要路徑" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --path 需要路径" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --path에는 경로가 필요합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --path にはパスが必要です" + } + } + } + }, + "config.validation.cli.scopeRequired": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --scope requires global or project" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --scope benötigt global oder project" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --scope nécessite global ou project" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يتطلب cmux config %@ --scope القيمة global أو project" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --scope requiere global o project" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --scope 需要 global 或 project" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --scope 需要 global 或 project" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --scope에는 global 또는 project가 필요합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "cmux config %@ --scope には global または project が必要です" + } + } + } + }, + "config.validation.cli.unknownArgument": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Unknown config %@ argument '%@'. Use --path ." + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Unbekanntes Argument für config %@: '%@'. Verwende --path ." + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Argument config %@ inconnu « %@ ». Utilisez --path ." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "وسيط غير معروف لـ config %@: '%@'. استخدم --path ." + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Argumento desconocido de config %@: '%@'. Usa --path ." + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "未知的 config %@ 引數「%@」。請使用 --path 。" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "未知的 config %@ 参数“%@”。请使用 --path 。" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "알 수 없는 config %@ 인수 '%@'. --path 를 사용하세요." + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "config %@ の不明な引数 '%@'。--path を使用してください。" + } + } + } + }, + "config.validation.cli.unknownOption": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Unknown config %@ option '%@'" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Unbekannte Option für config %@: '%@'" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Option config %@ inconnue « %@ »" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "خيار غير معروف لـ config %@: '%@'" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Opción desconocida de config %@: '%@'" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "未知的 config %@ 選項「%@」" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "未知的 config %@ 选项“%@”" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "알 수 없는 config %@ 옵션 '%@'" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "config %@ の不明なオプション '%@'" + } + } + } + }, + "config.validation.form.disallowed": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "uses a disallowed value combination" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "verwendet eine unzulässige Wertekombination" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "utilise une combinaison de valeurs non autorisée" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يستخدم مجموعة قيم غير مسموح بها" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "usa una combinación de valores no permitida" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "使用了不允許的值組合" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "使用了不允许的值组合" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "허용되지 않는 값 조합을 사용합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "許可されていない値の組み合わせです" + } + } + } + }, + "config.validation.form.multiple": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "matches multiple mutually exclusive forms" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "entspricht mehreren sich gegenseitig ausschließenden Formen" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "correspond à plusieurs formes mutuellement exclusives" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يطابق عدة صيغ متنافية" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "coincide con varias formas mutuamente excluyentes" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "同時符合多個互斥格式" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "同时匹配多个互斥形式" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "서로 배타적인 여러 형식과 일치합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "相互排他的な複数の形式に一致しています" + } + } + } + }, + "config.validation.form.none": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "does not match any allowed form" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "entspricht keiner zulässigen Form" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "ne correspond à aucune forme autorisée" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "لا يطابق أي صيغة مسموح بها" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "no coincide con ninguna forma permitida" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "不符合任何允許的格式" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "不匹配任何允许的形式" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "허용된 형식과 일치하지 않습니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "許可されている形式のいずれにも一致しません" + } + } + } + }, + "config.validation.number.gt": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "must be > %@" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "muss > %@ sein" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "doit être > %@" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يجب أن يكون > %@" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "debe ser > %@" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "必須 > %@" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "必须 > %@" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "> %@여야 합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "> %@ である必要があります" + } + } + } + }, + "config.validation.number.lt": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "must be < %@" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "muss < %@ sein" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "doit être < %@" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يجب أن يكون < %@" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "debe ser < %@" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "必須 < %@" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "必须 < %@" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "< %@여야 합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "< %@ である必要があります" + } + } + } + }, + "config.validation.number.max": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "must be <= %@" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "muss <= %@ sein" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "doit être <= %@" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يجب أن يكون <= %@" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "debe ser <= %@" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "必須 <= %@" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "必须 <= %@" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "<= %@여야 합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "<= %@ である必要があります" + } + } + } + }, + "config.validation.number.min": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "must be >= %@" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "muss >= %@ sein" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "doit être >= %@" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يجب أن يكون >= %@" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "debe ser >= %@" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "必須 >= %@" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "必须 >= %@" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": ">= %@여야 합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": ">= %@ である必要があります" + } + } + } + }, + "config.validation.number.multiple": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "must be a multiple of %@" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "muss ein Vielfaches von %@ sein" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "doit être un multiple de %@" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يجب أن يكون من مضاعفات %@" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "debe ser un múltiplo de %@" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "必須是 %@ 的倍數" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "必须是 %@ 的倍数" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "%@의 배수여야 합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "%@ の倍数である必要があります" + } + } + } + }, + "config.validation.object.max": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "must contain at most %lld key(s)" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "darf höchstens %lld Schlüssel enthalten" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "doit contenir au plus %lld clé(s)" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يجب ألا يتجاوز %lld مفتاحًا" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "debe contener como máximo %lld clave(s)" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "最多只能包含 %lld 個鍵" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "最多只能包含 %lld 个键" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "최대 %lld개의 키를 포함해야 합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "%lld 個以下のキーである必要があります" + } + } + } + }, + "config.validation.object.min": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "must contain at least %lld key(s)" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "muss mindestens %lld Schlüssel enthalten" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "doit contenir au moins %lld clé(s)" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يجب أن يحتوي على %lld مفتاحًا على الأقل" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "debe contener al menos %lld clave(s)" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "必須至少包含 %lld 個鍵" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "必须至少包含 %lld 个键" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "최소 %lld개의 키를 포함해야 합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "少なくとも %lld 個のキーが必要です" + } + } + } + }, + "config.validation.required": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "is required" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "ist erforderlich" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "est requis" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "مطلوب" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "es obligatorio" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "為必填" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "为必填项" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "필수입니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "必須です" + } + } + } + }, + "config.validation.schema.unknownReference": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "references an unknown schema definition '%@'" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "verweist auf eine unbekannte Schemadefinition '%@'" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "référence une définition de schéma inconnue « %@ »" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يشير إلى تعريف مخطط غير معروف '%@'" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "hace referencia a una definición de esquema desconocida '%@'" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "參照了未知的結構描述定義「%@」" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "引用了未知的架构定义“%@”" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "알 수 없는 스키마 정의 '%@'을(를) 참조합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "不明なスキーマ定義 '%@' を参照しています" + } + } + } + }, + "config.validation.scope.globalOnly": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "is only supported in the global cmux.json" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "wird nur in der globalen cmux.json unterstützt" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "est uniquement pris en charge dans le fichier cmux.json global" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "مدعوم فقط في ملف cmux.json العام" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "solo se admite en el cmux.json global" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "僅支援於全域 cmux.json" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "仅支持在全局 cmux.json 中使用" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "전역 cmux.json에서만 지원됩니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "グローバル cmux.json でのみサポートされています" + } + } + } + }, + "config.validation.string.absoluteURI": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "must be an absolute URI" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "muss eine absolute URI sein" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "doit être un URI absolu" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يجب أن يكون URI مطلقًا" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "debe ser un URI absoluto" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "必須是絕對 URI" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "必须是绝对 URI" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "절대 URI여야 합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "絶対 URI である必要があります" + } + } + } + }, + "config.validation.string.max": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "must contain at most %lld character(s)" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "darf höchstens %lld Zeichen enthalten" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "doit contenir au plus %lld caractère(s)" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يجب ألا يتجاوز %lld حرفًا" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "debe contener como máximo %lld carácter(es)" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "最多只能包含 %lld 個字元" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "最多只能包含 %lld 个字符" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "최대 %lld자여야 합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "%lld 文字以下である必要があります" + } + } + } + }, + "config.validation.string.min": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "must contain at least %lld character(s)" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "muss mindestens %lld Zeichen enthalten" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "doit contenir au moins %lld caractère(s)" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يجب أن يحتوي على %lld حرفًا على الأقل" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "debe contener al menos %lld carácter(es)" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "必須至少包含 %lld 個字元" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "必须至少包含 %lld 个字符" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "최소 %lld자 이상이어야 합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "少なくとも %lld 文字必要です" + } + } + } + }, + "config.validation.string.pattern": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "must match pattern %@" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "muss dem Muster %@ entsprechen" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "doit correspondre au motif %@" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يجب أن يطابق النمط %@" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "debe coincidir con el patrón %@" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "必須符合模式 %@" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "必须匹配模式 %@" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "패턴 %@와 일치해야 합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "パターン %@ に一致する必要があります" + } + } + } + }, + "config.validation.type.array": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "array" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Array" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "tableau" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "مصفوفة" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "arreglo" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "陣列" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "数组" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "배열" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "配列" + } + } + } + }, + "config.validation.type.boolean": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "boolean" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Boolescher Wert" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "booléen" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "قيمة منطقية" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "booleano" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "布林值" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "布尔值" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "불리언" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "ブール値" + } + } + } + }, + "config.validation.type.expected": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "expected %@, got %@" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "%@ erwartet, %@ erhalten" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "%@ attendu, %@ obtenu" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "المتوقع %@، وتم العثور على %@" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "se esperaba %@, se obtuvo %@" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "預期為 %@,實際為 %@" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "预期为 %@,实际为 %@" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "%@이(가) 필요하지만 %@이(가) 입력되었습니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "%@ が必要ですが、%@ が指定されています" + } + } + } + }, + "config.validation.type.integer": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "integer" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Ganzzahl" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "entier" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "عدد صحيح" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "entero" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "整數" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "整数" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "정수" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "整数" + } + } + } + }, + "config.validation.type.jsonValue": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "valid JSON value" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "gültiger JSON-Wert" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "valeur JSON valide" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "قيمة JSON صالحة" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "valor JSON válido" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "有效的 JSON 值" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "有效的 JSON 值" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "유효한 JSON 값" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "有効な JSON 値" + } + } + } + }, + "config.validation.type.null": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "null" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Nullwert" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "valeur nulle" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "قيمة null" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "valor null" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "null 值" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "null 值" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "null 값" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "null 値" + } + } + } + }, + "config.validation.type.number": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "number" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Zahl" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "nombre" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "رقم" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "número" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "數值" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "数值" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "숫자" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "数値" + } + } + } + }, + "config.validation.type.object": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "object" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Objekt" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "objet" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "كائن" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "objeto" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "物件" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "对象" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "객체" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "オブジェクト" + } + } + } + }, + "config.validation.type.string": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "string" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Zeichenfolge" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "chaîne" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "سلسلة نصية" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "cadena" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "字串" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "字符串" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "문자열" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "文字列" + } + } + } + }, + "config.validation.unknownKey": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "unknown configuration key" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "unbekannter Konfigurationsschlüssel" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "clé de configuration inconnue" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "مفتاح إعداد غير معروف" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "clave de configuración desconocida" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "未知的設定鍵" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "未知的配置键" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "알 수 없는 구성 키" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "不明な構成キー" + } + } + } + }, + "config.validation.value.equal": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "must equal %@" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "muss %@ entsprechen" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "doit être égal à %@" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يجب أن يساوي %@" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "debe ser igual a %@" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "必須等於 %@" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "必须等于 %@" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "%@와 같아야 합니다" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "%@ と等しくなければなりません" + } + } + } + }, + "config.validation.value.oneOf": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "must be one of %@" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "muss einer der folgenden Werte sein: %@" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "doit être l'une des valeurs suivantes : %@" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يجب أن يكون إحدى القيم التالية: %@" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "debe ser uno de los siguientes valores: %@" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "必須是下列其中一個值:%@" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "必须是以下值之一:%@" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "다음 값 중 하나여야 합니다: %@" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "次のいずれかである必要があります: %@" + } + } + } + } + }, + "version": "1.0" +} From 01f2457600217c4f30d2c842888bc6e3903ac6c2 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:57:01 -0700 Subject: [PATCH 47/55] config validation: localize semantic diagnostics --- .../CmuxConfigSemanticValidator.swift | 217 ++++++++++++++++-- 1 file changed, 193 insertions(+), 24 deletions(-) diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift index 07a646a4fc10..6e1342e72186 100644 --- a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift @@ -68,7 +68,10 @@ public struct CmuxConfigSemanticValidator { return [ CmuxConfigSemanticIssue( path: path, - message: "is only supported in the global cmux.json" + message: CmuxConfigValidationLocalization.string( + "config.validation.scope.globalOnly", + defaultValue: "is only supported in the global cmux.json" + ) ) ] } @@ -77,7 +80,16 @@ public struct CmuxConfigSemanticValidator { if let ref = schema["$ref"] as? String { guard let target = resolvedReference(ref) else { - return [CmuxConfigSemanticIssue(path: path, message: "references an unknown schema definition '\(ref)'")] + return [ + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.schema.unknownReference", + defaultValue: "references an unknown schema definition '%@'", + ref + ) + ) + ] } issues.append( contentsOf: validate( @@ -93,7 +105,12 @@ public struct CmuxConfigSemanticValidator { return [ CmuxConfigSemanticIssue( path: path, - message: "expected \(typeDescription(typeSpec)), got \(kindDescription(instance))" + message: CmuxConfigValidationLocalization.format( + "config.validation.type.expected", + defaultValue: "expected %@, got %@", + typeDescription(typeSpec), + kindDescription(instance) + ) ) ] } @@ -102,7 +119,11 @@ public struct CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: "must equal \(displayJSON(constant))" + message: CmuxConfigValidationLocalization.format( + "config.validation.value.equal", + defaultValue: "must equal %@", + displayJSON(constant) + ) ) ) } @@ -112,7 +133,11 @@ public struct CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: "must be one of \(displayChoices(choices))" + message: CmuxConfigValidationLocalization.format( + "config.validation.value.oneOf", + defaultValue: "must be one of %@", + displayChoices(choices) + ) ) ) } @@ -142,7 +167,15 @@ public struct CmuxConfigSemanticValidator { ) } if !alternatives.contains(where: \.isEmpty) { - issues.append(CmuxConfigSemanticIssue(path: path, message: "does not match any allowed form")) + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.string( + "config.validation.form.none", + defaultValue: "does not match any allowed form" + ) + ) + ) if let best = alternatives.min(by: { $0.count < $1.count }) { issues.append(contentsOf: best.prefix(2)) } @@ -162,8 +195,14 @@ public struct CmuxConfigSemanticValidator { let passing = alternatives.filter(\.isEmpty).count if passing != 1 { let message = passing == 0 - ? "does not match any allowed form" - : "matches multiple mutually exclusive forms" + ? CmuxConfigValidationLocalization.string( + "config.validation.form.none", + defaultValue: "does not match any allowed form" + ) + : CmuxConfigValidationLocalization.string( + "config.validation.form.multiple", + defaultValue: "matches multiple mutually exclusive forms" + ) issues.append(CmuxConfigSemanticIssue(path: path, message: message)) if passing == 0, let best = alternatives.min(by: { $0.count < $1.count }) { @@ -200,7 +239,10 @@ public struct CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: "uses a disallowed value combination" + message: CmuxConfigValidationLocalization.string( + "config.validation.form.disallowed", + defaultValue: "uses a disallowed value combination" + ) ) ) } @@ -239,19 +281,54 @@ public struct CmuxConfigSemanticValidator { ) -> [CmuxConfigSemanticIssue] { var issues: [CmuxConfigSemanticIssue] = [] if let minimum = schemaInteger(schema["minLength"]), value.count < minimum { - issues.append(CmuxConfigSemanticIssue(path: path, message: "must contain at least \(minimum) character(s)")) + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.string.min", + defaultValue: "must contain at least %lld character(s)", + Int64(minimum) + ) + ) + ) } if let maximum = schemaInteger(schema["maxLength"]), value.count > maximum { - issues.append(CmuxConfigSemanticIssue(path: path, message: "must contain at most \(maximum) character(s)")) + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.string.max", + defaultValue: "must contain at most %lld character(s)", + Int64(maximum) + ) + ) + ) } if let pattern = schema["pattern"] as? String, !matchesPattern(value, pattern: pattern) { - issues.append(CmuxConfigSemanticIssue(path: path, message: "must match pattern \(displayJSON(pattern))")) + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.string.pattern", + defaultValue: "must match pattern %@", + displayJSON(pattern) + ) + ) + ) } if let format = schema["format"] as? String, format == "uri" { let components = URLComponents(string: value) if components?.scheme?.isEmpty != false { - issues.append(CmuxConfigSemanticIssue(path: path, message: "must be an absolute URI")) + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.string( + "config.validation.string.absoluteURI", + defaultValue: "must be an absolute URI" + ) + ) + ) } } return issues @@ -264,16 +341,52 @@ public struct CmuxConfigSemanticValidator { ) -> [CmuxConfigSemanticIssue] { var issues: [CmuxConfigSemanticIssue] = [] if let minimum = schemaNumber(schema["minimum"]), value < minimum { - issues.append(CmuxConfigSemanticIssue(path: path, message: "must be >= \(formatNumber(minimum))")) + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.number.min", + defaultValue: "must be >= %@", + formatNumber(minimum) + ) + ) + ) } if let maximum = schemaNumber(schema["maximum"]), value > maximum { - issues.append(CmuxConfigSemanticIssue(path: path, message: "must be <= \(formatNumber(maximum))")) + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.number.max", + defaultValue: "must be <= %@", + formatNumber(maximum) + ) + ) + ) } if let minimum = schemaNumber(schema["exclusiveMinimum"]), value <= minimum { - issues.append(CmuxConfigSemanticIssue(path: path, message: "must be > \(formatNumber(minimum))")) + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.number.gt", + defaultValue: "must be > %@", + formatNumber(minimum) + ) + ) + ) } if let maximum = schemaNumber(schema["exclusiveMaximum"]), value >= maximum { - issues.append(CmuxConfigSemanticIssue(path: path, message: "must be < \(formatNumber(maximum))")) + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.number.lt", + defaultValue: "must be < %@", + formatNumber(maximum) + ) + ) + ) } if let multiple = schemaNumber(schema["multipleOf"]), multiple > 0 { let quotient = value / multiple @@ -283,7 +396,11 @@ public struct CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: "must be a multiple of \(formatNumber(multiple))" + message: CmuxConfigValidationLocalization.format( + "config.validation.number.multiple", + defaultValue: "must be a multiple of %@", + formatNumber(multiple) + ) ) ) } @@ -299,10 +416,28 @@ public struct CmuxConfigSemanticValidator { ) -> [CmuxConfigSemanticIssue] { var issues: [CmuxConfigSemanticIssue] = [] if let minimum = schemaInteger(schema["minItems"]), value.count < minimum { - issues.append(CmuxConfigSemanticIssue(path: path, message: "must contain at least \(minimum) item(s)")) + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.array.min", + defaultValue: "must contain at least %lld item(s)", + Int64(minimum) + ) + ) + ) } if let maximum = schemaInteger(schema["maxItems"]), value.count > maximum { - issues.append(CmuxConfigSemanticIssue(path: path, message: "must contain at most \(maximum) item(s)")) + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.array.max", + defaultValue: "must contain at most %lld item(s)", + Int64(maximum) + ) + ) + ) } let prefixSchemas = (schema["prefixItems"] as? [Any])?.compactMap { $0 as? [String: Any] } ?? [] @@ -339,15 +474,41 @@ public struct CmuxConfigSemanticValidator { ) -> [CmuxConfigSemanticIssue] { var issues: [CmuxConfigSemanticIssue] = [] if let minimum = schemaInteger(schema["minProperties"]), value.count < minimum { - issues.append(CmuxConfigSemanticIssue(path: path, message: "must contain at least \(minimum) key(s)")) + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.object.min", + defaultValue: "must contain at least %lld key(s)", + Int64(minimum) + ) + ) + ) } if let maximum = schemaInteger(schema["maxProperties"]), value.count > maximum { - issues.append(CmuxConfigSemanticIssue(path: path, message: "must contain at most \(maximum) key(s)")) + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.object.max", + defaultValue: "must contain at most %lld key(s)", + Int64(maximum) + ) + ) + ) } if let required = schema["required"] as? [String] { for key in required where value[key] == nil { - issues.append(CmuxConfigSemanticIssue(path: childPath(path, key: key), message: "is required")) + issues.append( + CmuxConfigSemanticIssue( + path: childPath(path, key: key), + message: CmuxConfigValidationLocalization.string( + "config.validation.required", + defaultValue: "is required" + ) + ) + ) } } @@ -401,7 +562,15 @@ public struct CmuxConfigSemanticValidator { if let allowed = additional as? Bool, !allowed { if !tolerateUnknownProperties { - issues.append(CmuxConfigSemanticIssue(path: child, message: "unknown configuration key")) + issues.append( + CmuxConfigSemanticIssue( + path: child, + message: CmuxConfigValidationLocalization.string( + "config.validation.unknownKey", + defaultValue: "unknown configuration key" + ) + ) + ) } } else if let additionalSchema = additional as? [String: Any] { issues.append( From 2deba3851cc66a0688ac28facf2677ad42239008 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:57:19 -0700 Subject: [PATCH 48/55] config validation: localize value descriptions --- .../CmuxConfigSemanticValidator+Values.swift | 74 ++++++++++++++++--- 1 file changed, 64 insertions(+), 10 deletions(-) diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Values.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Values.swift index 62ec3ea24ebf..f1ab003f1b1c 100644 --- a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Values.swift +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Values.swift @@ -35,23 +35,72 @@ extension CmuxConfigSemanticValidator { } func typeDescription(_ typeSpec: Any) -> String { - if let type = typeSpec as? String { return type } - if let types = typeSpec as? [String] { return types.joined(separator: " or ") } - return "valid JSON value" + if let type = typeSpec as? String { + return localizedType(type) + } + if let types = typeSpec as? [String] { + return types.map(localizedType).joined(separator: " / ") + } + return CmuxConfigValidationLocalization.string( + "config.validation.type.jsonValue", + defaultValue: "valid JSON value" + ) } func kindDescription(_ value: Any) -> String { - if value is NSNull { return "null" } - if isJSONBoolean(value) { return "boolean" } - if value is String { return "string" } - if value is [Any] { return "array" } - if value is [String: Any] { return "object" } + if value is NSNull { return localizedType("null") } + if isJSONBoolean(value) { return localizedType("boolean") } + if value is String { return localizedType("string") } + if value is [Any] { return localizedType("array") } + if value is [String: Any] { return localizedType("object") } if let number = jsonNumber(value) { - return number.rounded() == number ? "integer" : "number" + return localizedType(number.rounded() == number ? "integer" : "number") } return String(describing: type(of: value)) } + func localizedType(_ type: String) -> String { + switch type { + case "null": + return CmuxConfigValidationLocalization.string( + "config.validation.type.null", + defaultValue: "null" + ) + case "boolean": + return CmuxConfigValidationLocalization.string( + "config.validation.type.boolean", + defaultValue: "boolean" + ) + case "string": + return CmuxConfigValidationLocalization.string( + "config.validation.type.string", + defaultValue: "string" + ) + case "array": + return CmuxConfigValidationLocalization.string( + "config.validation.type.array", + defaultValue: "array" + ) + case "object": + return CmuxConfigValidationLocalization.string( + "config.validation.type.object", + defaultValue: "object" + ) + case "number": + return CmuxConfigValidationLocalization.string( + "config.validation.type.number", + defaultValue: "number" + ) + case "integer": + return CmuxConfigValidationLocalization.string( + "config.validation.type.integer", + defaultValue: "integer" + ) + default: + return type + } + } + func isJSONBoolean(_ value: Any) -> Bool { guard let number = value as? NSNumber else { return false } return CFGetTypeID(number) == CFBooleanGetTypeID() @@ -125,7 +174,12 @@ extension CmuxConfigSemanticValidator { func displayChoices(_ values: [Any]) -> String { let rendered = values.prefix(8).map(displayJSON) if values.count > rendered.count { - return rendered.joined(separator: ", ") + " (+\(values.count - rendered.count) more)" + let suffix = CmuxConfigValidationLocalization.format( + "config.validation.choices.more", + defaultValue: "(+%lld more)", + Int64(values.count - rendered.count) + ) + return rendered.joined(separator: ", ") + " " + suffix } return rendered.joined(separator: ", ") } From e2b7b286d88800d51eba0caad8efe2601929ee77 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:57:43 -0700 Subject: [PATCH 49/55] config validation: split constraint checks for file budget --- .../CmuxConfigSemanticValidator.swift | 314 +----------------- 1 file changed, 1 insertion(+), 313 deletions(-) diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift index 6e1342e72186..87204f9bd359 100644 --- a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift @@ -56,7 +56,7 @@ public struct CmuxConfigSemanticValidator { ) } - private func validate( + func validate( _ instance: Any, against schema: [String: Any], path: String, @@ -274,318 +274,6 @@ public struct CmuxConfigSemanticValidator { return deduplicated(issues) } - private func validateString( - _ value: String, - schema: [String: Any], - path: String - ) -> [CmuxConfigSemanticIssue] { - var issues: [CmuxConfigSemanticIssue] = [] - if let minimum = schemaInteger(schema["minLength"]), value.count < minimum { - issues.append( - CmuxConfigSemanticIssue( - path: path, - message: CmuxConfigValidationLocalization.format( - "config.validation.string.min", - defaultValue: "must contain at least %lld character(s)", - Int64(minimum) - ) - ) - ) - } - if let maximum = schemaInteger(schema["maxLength"]), value.count > maximum { - issues.append( - CmuxConfigSemanticIssue( - path: path, - message: CmuxConfigValidationLocalization.format( - "config.validation.string.max", - defaultValue: "must contain at most %lld character(s)", - Int64(maximum) - ) - ) - ) - } - if let pattern = schema["pattern"] as? String, - !matchesPattern(value, pattern: pattern) { - issues.append( - CmuxConfigSemanticIssue( - path: path, - message: CmuxConfigValidationLocalization.format( - "config.validation.string.pattern", - defaultValue: "must match pattern %@", - displayJSON(pattern) - ) - ) - ) - } - if let format = schema["format"] as? String, format == "uri" { - let components = URLComponents(string: value) - if components?.scheme?.isEmpty != false { - issues.append( - CmuxConfigSemanticIssue( - path: path, - message: CmuxConfigValidationLocalization.string( - "config.validation.string.absoluteURI", - defaultValue: "must be an absolute URI" - ) - ) - ) - } - } - return issues - } - - private func validateNumber( - _ value: Double, - schema: [String: Any], - path: String - ) -> [CmuxConfigSemanticIssue] { - var issues: [CmuxConfigSemanticIssue] = [] - if let minimum = schemaNumber(schema["minimum"]), value < minimum { - issues.append( - CmuxConfigSemanticIssue( - path: path, - message: CmuxConfigValidationLocalization.format( - "config.validation.number.min", - defaultValue: "must be >= %@", - formatNumber(minimum) - ) - ) - ) - } - if let maximum = schemaNumber(schema["maximum"]), value > maximum { - issues.append( - CmuxConfigSemanticIssue( - path: path, - message: CmuxConfigValidationLocalization.format( - "config.validation.number.max", - defaultValue: "must be <= %@", - formatNumber(maximum) - ) - ) - ) - } - if let minimum = schemaNumber(schema["exclusiveMinimum"]), value <= minimum { - issues.append( - CmuxConfigSemanticIssue( - path: path, - message: CmuxConfigValidationLocalization.format( - "config.validation.number.gt", - defaultValue: "must be > %@", - formatNumber(minimum) - ) - ) - ) - } - if let maximum = schemaNumber(schema["exclusiveMaximum"]), value >= maximum { - issues.append( - CmuxConfigSemanticIssue( - path: path, - message: CmuxConfigValidationLocalization.format( - "config.validation.number.lt", - defaultValue: "must be < %@", - formatNumber(maximum) - ) - ) - ) - } - if let multiple = schemaNumber(schema["multipleOf"]), multiple > 0 { - let quotient = value / multiple - let distance = abs(quotient - quotient.rounded()) - let tolerance = 1e-10 * max(1, abs(quotient)) - if distance > tolerance { - issues.append( - CmuxConfigSemanticIssue( - path: path, - message: CmuxConfigValidationLocalization.format( - "config.validation.number.multiple", - defaultValue: "must be a multiple of %@", - formatNumber(multiple) - ) - ) - ) - } - } - return issues - } - - private func validateArray( - _ value: [Any], - schema: [String: Any], - path: String, - tolerateUnknownProperties: Bool - ) -> [CmuxConfigSemanticIssue] { - var issues: [CmuxConfigSemanticIssue] = [] - if let minimum = schemaInteger(schema["minItems"]), value.count < minimum { - issues.append( - CmuxConfigSemanticIssue( - path: path, - message: CmuxConfigValidationLocalization.format( - "config.validation.array.min", - defaultValue: "must contain at least %lld item(s)", - Int64(minimum) - ) - ) - ) - } - if let maximum = schemaInteger(schema["maxItems"]), value.count > maximum { - issues.append( - CmuxConfigSemanticIssue( - path: path, - message: CmuxConfigValidationLocalization.format( - "config.validation.array.max", - defaultValue: "must contain at most %lld item(s)", - Int64(maximum) - ) - ) - ) - } - - let prefixSchemas = (schema["prefixItems"] as? [Any])?.compactMap { $0 as? [String: Any] } ?? [] - let itemSchema = schema["items"] as? [String: Any] - for (index, item) in value.enumerated() { - if index < prefixSchemas.count { - issues.append( - contentsOf: validate( - item, - against: prefixSchemas[index], - path: "\(path)[\(index)]", - tolerateUnknownProperties: tolerateUnknownProperties - ) - ) - } else if let itemSchema { - issues.append( - contentsOf: validate( - item, - against: itemSchema, - path: "\(path)[\(index)]", - tolerateUnknownProperties: tolerateUnknownProperties - ) - ) - } - } - return issues - } - - private func validateObject( - _ value: [String: Any], - schema: [String: Any], - path: String, - tolerateUnknownProperties: Bool - ) -> [CmuxConfigSemanticIssue] { - var issues: [CmuxConfigSemanticIssue] = [] - if let minimum = schemaInteger(schema["minProperties"]), value.count < minimum { - issues.append( - CmuxConfigSemanticIssue( - path: path, - message: CmuxConfigValidationLocalization.format( - "config.validation.object.min", - defaultValue: "must contain at least %lld key(s)", - Int64(minimum) - ) - ) - ) - } - if let maximum = schemaInteger(schema["maxProperties"]), value.count > maximum { - issues.append( - CmuxConfigSemanticIssue( - path: path, - message: CmuxConfigValidationLocalization.format( - "config.validation.object.max", - defaultValue: "must contain at most %lld key(s)", - Int64(maximum) - ) - ) - ) - } - - if let required = schema["required"] as? [String] { - for key in required where value[key] == nil { - issues.append( - CmuxConfigSemanticIssue( - path: childPath(path, key: key), - message: CmuxConfigValidationLocalization.string( - "config.validation.required", - defaultValue: "is required" - ) - ) - ) - } - } - - let properties = schema["properties"] as? [String: Any] ?? [:] - let patternProperties = schema["patternProperties"] as? [String: Any] ?? [:] - let propertyNameSchema = schema["propertyNames"] as? [String: Any] - let additional = schema["additionalProperties"] - - for key in value.keys.sorted() { - let child = childPath(path, key: key) - guard let childValue = value[key] else { continue } - if let propertyNameSchema { - issues.append( - contentsOf: validate( - key, - against: propertyNameSchema, - path: child, - tolerateUnknownProperties: tolerateUnknownProperties - ) - ) - } - - var matchedPropertySchema = false - if let propertySchema = properties[key] as? [String: Any] { - issues.append( - contentsOf: validate( - childValue, - against: propertySchema, - path: child, - tolerateUnknownProperties: tolerateUnknownProperties - ) - ) - matchedPropertySchema = true - } - for pattern in patternProperties.keys.sorted() - where matchesPattern(key, pattern: pattern) { - guard let patternSchema = patternProperties[pattern] as? [String: Any] else { continue } - issues.append( - contentsOf: validate( - childValue, - against: patternSchema, - path: child, - tolerateUnknownProperties: tolerateUnknownProperties - ) - ) - matchedPropertySchema = true - } - if matchedPropertySchema { - continue - } - - if let allowed = additional as? Bool, !allowed { - if !tolerateUnknownProperties { - issues.append( - CmuxConfigSemanticIssue( - path: child, - message: CmuxConfigValidationLocalization.string( - "config.validation.unknownKey", - defaultValue: "unknown configuration key" - ) - ) - ) - } - } else if let additionalSchema = additional as? [String: Any] { - issues.append( - contentsOf: validate( - childValue, - against: additionalSchema, - path: child, - tolerateUnknownProperties: tolerateUnknownProperties - ) - ) - } - } - return issues - } - private func usesFutureSchemaVersion(_ instance: Any) -> Bool { guard let root = instance as? [String: Any], let configuredVersion = schemaInteger(root["schemaVersion"]), From 7964765187c925eac8faebcb9d7acb5a04366008 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:57:46 -0700 Subject: [PATCH 50/55] config validation: add constraint checks --- ...xConfigSemanticValidator+Constraints.swift | 315 ++++++++++++++++++ 1 file changed, 315 insertions(+) create mode 100644 Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Constraints.swift diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Constraints.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Constraints.swift new file mode 100644 index 000000000000..c29883f5f2a0 --- /dev/null +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Constraints.swift @@ -0,0 +1,315 @@ +import Foundation + +extension CmuxConfigSemanticValidator { + func validateString( + _ value: String, + schema: [String: Any], + path: String + ) -> [CmuxConfigSemanticIssue] { + var issues: [CmuxConfigSemanticIssue] = [] + if let minimum = schemaInteger(schema["minLength"]), value.count < minimum { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.string.min", + defaultValue: "must contain at least %lld character(s)", + Int64(minimum) + ) + ) + ) + } + if let maximum = schemaInteger(schema["maxLength"]), value.count > maximum { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.string.max", + defaultValue: "must contain at most %lld character(s)", + Int64(maximum) + ) + ) + ) + } + if let pattern = schema["pattern"] as? String, + !matchesPattern(value, pattern: pattern) { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.string.pattern", + defaultValue: "must match pattern %@", + displayJSON(pattern) + ) + ) + ) + } + if let format = schema["format"] as? String, format == "uri" { + let components = URLComponents(string: value) + if components?.scheme?.isEmpty != false { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.string( + "config.validation.string.absoluteURI", + defaultValue: "must be an absolute URI" + ) + ) + ) + } + } + return issues + } + + func validateNumber( + _ value: Double, + schema: [String: Any], + path: String + ) -> [CmuxConfigSemanticIssue] { + var issues: [CmuxConfigSemanticIssue] = [] + if let minimum = schemaNumber(schema["minimum"]), value < minimum { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.number.min", + defaultValue: "must be >= %@", + formatNumber(minimum) + ) + ) + ) + } + if let maximum = schemaNumber(schema["maximum"]), value > maximum { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.number.max", + defaultValue: "must be <= %@", + formatNumber(maximum) + ) + ) + ) + } + if let minimum = schemaNumber(schema["exclusiveMinimum"]), value <= minimum { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.number.gt", + defaultValue: "must be > %@", + formatNumber(minimum) + ) + ) + ) + } + if let maximum = schemaNumber(schema["exclusiveMaximum"]), value >= maximum { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.number.lt", + defaultValue: "must be < %@", + formatNumber(maximum) + ) + ) + ) + } + if let multiple = schemaNumber(schema["multipleOf"]), multiple > 0 { + let quotient = value / multiple + let distance = abs(quotient - quotient.rounded()) + let tolerance = 1e-10 * max(1, abs(quotient)) + if distance > tolerance { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.number.multiple", + defaultValue: "must be a multiple of %@", + formatNumber(multiple) + ) + ) + ) + } + } + return issues + } + + func validateArray( + _ value: [Any], + schema: [String: Any], + path: String, + tolerateUnknownProperties: Bool + ) -> [CmuxConfigSemanticIssue] { + var issues: [CmuxConfigSemanticIssue] = [] + if let minimum = schemaInteger(schema["minItems"]), value.count < minimum { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.array.min", + defaultValue: "must contain at least %lld item(s)", + Int64(minimum) + ) + ) + ) + } + if let maximum = schemaInteger(schema["maxItems"]), value.count > maximum { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.array.max", + defaultValue: "must contain at most %lld item(s)", + Int64(maximum) + ) + ) + ) + } + + let prefixSchemas = (schema["prefixItems"] as? [Any])?.compactMap { $0 as? [String: Any] } ?? [] + let itemSchema = schema["items"] as? [String: Any] + for (index, item) in value.enumerated() { + if index < prefixSchemas.count { + issues.append( + contentsOf: validate( + item, + against: prefixSchemas[index], + path: "\(path)[\(index)]", + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) + } else if let itemSchema { + issues.append( + contentsOf: validate( + item, + against: itemSchema, + path: "\(path)[\(index)]", + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) + } + } + return issues + } + + func validateObject( + _ value: [String: Any], + schema: [String: Any], + path: String, + tolerateUnknownProperties: Bool + ) -> [CmuxConfigSemanticIssue] { + var issues: [CmuxConfigSemanticIssue] = [] + if let minimum = schemaInteger(schema["minProperties"]), value.count < minimum { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.object.min", + defaultValue: "must contain at least %lld key(s)", + Int64(minimum) + ) + ) + ) + } + if let maximum = schemaInteger(schema["maxProperties"]), value.count > maximum { + issues.append( + CmuxConfigSemanticIssue( + path: path, + message: CmuxConfigValidationLocalization.format( + "config.validation.object.max", + defaultValue: "must contain at most %lld key(s)", + Int64(maximum) + ) + ) + ) + } + + if let required = schema["required"] as? [String] { + for key in required where value[key] == nil { + issues.append( + CmuxConfigSemanticIssue( + path: childPath(path, key: key), + message: CmuxConfigValidationLocalization.string( + "config.validation.required", + defaultValue: "is required" + ) + ) + ) + } + } + + let properties = schema["properties"] as? [String: Any] ?? [:] + let patternProperties = schema["patternProperties"] as? [String: Any] ?? [:] + let propertyNameSchema = schema["propertyNames"] as? [String: Any] + let additional = schema["additionalProperties"] + + for key in value.keys.sorted() { + let child = childPath(path, key: key) + guard let childValue = value[key] else { continue } + if let propertyNameSchema { + issues.append( + contentsOf: validate( + key, + against: propertyNameSchema, + path: child, + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) + } + + var matchedPropertySchema = false + if let propertySchema = properties[key] as? [String: Any] { + issues.append( + contentsOf: validate( + childValue, + against: propertySchema, + path: child, + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) + matchedPropertySchema = true + } + for pattern in patternProperties.keys.sorted() + where matchesPattern(key, pattern: pattern) { + guard let patternSchema = patternProperties[pattern] as? [String: Any] else { continue } + issues.append( + contentsOf: validate( + childValue, + against: patternSchema, + path: child, + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) + matchedPropertySchema = true + } + if matchedPropertySchema { + continue + } + + if let allowed = additional as? Bool, !allowed { + if !tolerateUnknownProperties { + issues.append( + CmuxConfigSemanticIssue( + path: child, + message: CmuxConfigValidationLocalization.string( + "config.validation.unknownKey", + defaultValue: "unknown configuration key" + ) + ) + ) + } + } else if let additionalSchema = additional as? [String: Any] { + issues.append( + contentsOf: validate( + childValue, + against: additionalSchema, + path: child, + tolerateUnknownProperties: tolerateUnknownProperties + ) + ) + } + } + return issues + } +} From 6007312aa1dcfcda67f0a227423baebde9376c6f Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:58:13 -0700 Subject: [PATCH 51/55] cli: localize semantic config validation output --- CLI/CMUXCLI+ConfigValidation.swift | 60 ++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 8 deletions(-) diff --git a/CLI/CMUXCLI+ConfigValidation.swift b/CLI/CMUXCLI+ConfigValidation.swift index 4278d2624943..d306340420d9 100644 --- a/CLI/CMUXCLI+ConfigValidation.swift +++ b/CLI/CMUXCLI+ConfigValidation.swift @@ -129,7 +129,13 @@ extension CMUXCLI { if argument == "--path" { let nextIndex = index + 1 guard nextIndex < arguments.count else { - throw CLIError(message: "cmux config \(commandName) --path requires a path") + throw CLIError( + message: CmuxConfigValidationLocalization.format( + "config.validation.cli.pathRequired", + defaultValue: "cmux config %@ --path requires a path", + commandName + ) + ) } paths.append(arguments[nextIndex]) index += 2 @@ -138,7 +144,13 @@ extension CMUXCLI { if argument.hasPrefix("--path=") { let rawPath = String(argument.dropFirst("--path=".count)) guard !rawPath.isEmpty else { - throw CLIError(message: "cmux config \(commandName) --path requires a path") + throw CLIError( + message: CmuxConfigValidationLocalization.format( + "config.validation.cli.pathRequired", + defaultValue: "cmux config %@ --path requires a path", + commandName + ) + ) } paths.append(rawPath) index += 1 @@ -148,7 +160,13 @@ extension CMUXCLI { let nextIndex = index + 1 guard nextIndex < arguments.count, let parsedScope = CmuxConfigSemanticScope(rawValue: arguments[nextIndex].lowercased()) else { - throw CLIError(message: "cmux config \(commandName) --scope requires global or project") + throw CLIError( + message: CmuxConfigValidationLocalization.format( + "config.validation.cli.scopeRequired", + defaultValue: "cmux config %@ --scope requires global or project", + commandName + ) + ) } scope = parsedScope index += 2 @@ -157,16 +175,36 @@ extension CMUXCLI { if argument.hasPrefix("--scope=") { let rawScope = String(argument.dropFirst("--scope=".count)).lowercased() guard let parsedScope = CmuxConfigSemanticScope(rawValue: rawScope) else { - throw CLIError(message: "cmux config \(commandName) --scope requires global or project") + throw CLIError( + message: CmuxConfigValidationLocalization.format( + "config.validation.cli.scopeRequired", + defaultValue: "cmux config %@ --scope requires global or project", + commandName + ) + ) } scope = parsedScope index += 1 continue } if argument.hasPrefix("-") { - throw CLIError(message: "Unknown config \(commandName) option '\(argument)'") + throw CLIError( + message: CmuxConfigValidationLocalization.format( + "config.validation.cli.unknownOption", + defaultValue: "Unknown config %@ option '%@'", + commandName, + argument + ) + ) } - throw CLIError(message: "Unknown config \(commandName) argument '\(argument)'. Use --path .") + throw CLIError( + message: CmuxConfigValidationLocalization.format( + "config.validation.cli.unknownArgument", + defaultValue: "Unknown config %@ argument '%@'. Use --path .", + commandName, + argument + ) + ) } return ConfigDoctorOptions(paths: paths, scope: scope) } @@ -311,7 +349,10 @@ extension CMUXCLI { displayPath: target.displayPath, path: target.path, status: "error", - message: "semantic validation failed", + message: CmuxConfigValidationLocalization.string( + "config.validation.cli.failed", + defaultValue: "semantic validation failed" + ), keys: dictionary.keys.sorted(), byteCount: data.count, issues: issues @@ -322,7 +363,10 @@ extension CMUXCLI { displayPath: target.displayPath, path: target.path, status: "ok", - message: "JSONC syntax and semantic validation passed", + message: CmuxConfigValidationLocalization.string( + "config.validation.cli.passed", + defaultValue: "JSONC syntax and semantic validation passed" + ), keys: dictionary.keys.sorted(), byteCount: data.count ) From 4555eeed1f33927431eb699ad03329bae4e4edce Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:58:27 -0700 Subject: [PATCH 52/55] cli: localize config validation help --- CLI/CMUXCLI+Config.swift | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/CLI/CMUXCLI+Config.swift b/CLI/CMUXCLI+Config.swift index 86bca6a97b68..d7c17fad6bed 100644 --- a/CLI/CMUXCLI+Config.swift +++ b/CLI/CMUXCLI+Config.swift @@ -69,7 +69,14 @@ extension CMUXCLI { commandName: subcommand ) if report.errorCount > 0 { - throw CLIError(message: "cmux config \(subcommand) found \(report.errorCount) error(s)") + throw CLIError( + message: CmuxConfigValidationLocalization.format( + "config.validation.cli.errorCount", + defaultValue: "cmux config %@ found %lld error(s)", + subcommand, + Int64(report.errorCount) + ) + ) } case "reload": guard args.count == 1 else { @@ -109,6 +116,10 @@ extension CMUXCLI { } func configUsage() -> String { + let validationHelp = CmuxConfigValidationLocalization.string( + "config.validation.cli.help", + defaultValue: "Validate JSONC syntax and cmux config semantics." + ) return """ Usage: cmux config @@ -116,7 +127,7 @@ extension CMUXCLI { Subcommands: doctor|check|validate [--path ] [--scope ] - Validate JSONC syntax and cmux config semantics. + \(validationHelp) path|paths Print cmux.json paths, docs URL, and schema URL. docs|documentation Print the same output as `cmux docs settings`. reload Reload Ghostty config + cmux.json and refresh terminals (alias for `cmux reload-config`). From fcf44c0ee5df9a67fd641f57997e0948377818c6 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:59:04 -0700 Subject: [PATCH 53/55] tests: cover custom global helper scope --- tests/test_cli_config_doctor.py | 52 +++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/tests/test_cli_config_doctor.py b/tests/test_cli_config_doctor.py index b472344a719c..456bdf94d102 100644 --- a/tests/test_cli_config_doctor.py +++ b/tests/test_cli_config_doctor.py @@ -123,6 +123,58 @@ def main() -> int: (home / "cmux.json").write_text('{"homeLevel": true,,}\n', encoding="utf-8") config_path = home / ".config" / "cmux" / "cmux.json" config_path.parent.mkdir(parents=True) + custom_global_path = home / "custom-global" / "cmux.json" + custom_global_path.parent.mkdir() + custom_global_path.write_text( + json.dumps({"app": {"appearance": "dark"}}) + "\n", + encoding="utf-8", + ) + custom_global_validate = subprocess.run( + [ + sys.executable, + str(helper), + "--file", + str(custom_global_path), + "validate", + ], + text=True, + capture_output=True, + cwd=workspace, + env=helper_env, + timeout=5, + check=False, + ) + if custom_global_validate.returncode != 0: + failures.append( + "custom global cmux.json was misclassified as project-local: " + + custom_global_validate.stderr + ) + + explicit_project_validate = subprocess.run( + [ + sys.executable, + str(helper), + "--file", + str(custom_global_path), + "--scope", + "project", + "validate", + ], + text=True, + capture_output=True, + cwd=workspace, + env=helper_env, + timeout=5, + check=False, + ) + if explicit_project_validate.returncode == 0: + failures.append("cmux-settings --scope project did not reject global-only app settings") + if "$.app" not in explicit_project_validate.stderr: + failures.append( + "cmux-settings --scope project did not report the rejected app path: " + + explicit_project_validate.stderr + ) + config_path.write_text( """ { From bc48ad8744fa2f9b26c519287bc5865d84d4aeac Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 19 Sep 2026 12:59:19 -0700 Subject: [PATCH 54/55] docs: describe config validation scope override --- skills/cmux-settings/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skills/cmux-settings/SKILL.md b/skills/cmux-settings/SKILL.md index 83d168d02a31..dceccb7f41a5 100644 --- a/skills/cmux-settings/SKILL.md +++ b/skills/cmux-settings/SKILL.md @@ -32,7 +32,7 @@ The rest of this doc assumes it is on `$PATH` as `cmux-settings`; from a checkou | `cmux-settings validate` | Run the same semantic validation as `cmux config validate` (unknown paths, types, enums, bounds, nested constraints, and config scope). | | `cmux-settings open` | Open `cmux.json` in `$EDITOR`, VS Code, Cursor, or TextEdit. | -`--file ` overrides the target file, useful for `--file ~/.config/cmux/settings.json`. +`--file ` overrides the target file. Scope is inferred from the real global paths and the project config discovered from the current directory; use `--scope global|project` to override that inference for an arbitrary file. ## Workflow From cf7fb8b3f542a1c6df3df19c9e4c750d3caafb76 Mon Sep 17 00:00:00 2001 From: Leo Li Date: Sat, 19 Sep 2026 13:27:39 -0700 Subject: [PATCH 55/55] fix: unblock semantic config validation build and tests --- CLI/CMUXCLI+Config.swift | 4 +-- CLI/CMUXCLI+ConfigValidation.swift | 16 +++++----- ...xConfigSemanticValidator+Constraints.swift | 30 +++++++++---------- .../CmuxConfigSemanticValidator+Values.swift | 18 +++++------ .../CmuxConfigSemanticValidator.swift | 18 +++++------ .../CmuxConfigValidationLocalization.swift | 13 ++++---- docs/cli-contract.md | 2 +- tests/test_cli_config_doctor.py | 5 ++++ 8 files changed, 56 insertions(+), 50 deletions(-) diff --git a/CLI/CMUXCLI+Config.swift b/CLI/CMUXCLI+Config.swift index d7c17fad6bed..b7cce744d26d 100644 --- a/CLI/CMUXCLI+Config.swift +++ b/CLI/CMUXCLI+Config.swift @@ -70,7 +70,7 @@ extension CMUXCLI { ) if report.errorCount > 0 { throw CLIError( - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.cli.errorCount", defaultValue: "cmux config %@ found %lld error(s)", subcommand, @@ -116,7 +116,7 @@ extension CMUXCLI { } func configUsage() -> String { - let validationHelp = CmuxConfigValidationLocalization.string( + let validationHelp = CmuxConfigValidationLocalization().string( "config.validation.cli.help", defaultValue: "Validate JSONC syntax and cmux config semantics." ) diff --git a/CLI/CMUXCLI+ConfigValidation.swift b/CLI/CMUXCLI+ConfigValidation.swift index d306340420d9..f5af197f2aa8 100644 --- a/CLI/CMUXCLI+ConfigValidation.swift +++ b/CLI/CMUXCLI+ConfigValidation.swift @@ -130,7 +130,7 @@ extension CMUXCLI { let nextIndex = index + 1 guard nextIndex < arguments.count else { throw CLIError( - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.cli.pathRequired", defaultValue: "cmux config %@ --path requires a path", commandName @@ -145,7 +145,7 @@ extension CMUXCLI { let rawPath = String(argument.dropFirst("--path=".count)) guard !rawPath.isEmpty else { throw CLIError( - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.cli.pathRequired", defaultValue: "cmux config %@ --path requires a path", commandName @@ -161,7 +161,7 @@ extension CMUXCLI { guard nextIndex < arguments.count, let parsedScope = CmuxConfigSemanticScope(rawValue: arguments[nextIndex].lowercased()) else { throw CLIError( - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.cli.scopeRequired", defaultValue: "cmux config %@ --scope requires global or project", commandName @@ -176,7 +176,7 @@ extension CMUXCLI { let rawScope = String(argument.dropFirst("--scope=".count)).lowercased() guard let parsedScope = CmuxConfigSemanticScope(rawValue: rawScope) else { throw CLIError( - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.cli.scopeRequired", defaultValue: "cmux config %@ --scope requires global or project", commandName @@ -189,7 +189,7 @@ extension CMUXCLI { } if argument.hasPrefix("-") { throw CLIError( - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.cli.unknownOption", defaultValue: "Unknown config %@ option '%@'", commandName, @@ -198,7 +198,7 @@ extension CMUXCLI { ) } throw CLIError( - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.cli.unknownArgument", defaultValue: "Unknown config %@ argument '%@'. Use --path .", commandName, @@ -349,7 +349,7 @@ extension CMUXCLI { displayPath: target.displayPath, path: target.path, status: "error", - message: CmuxConfigValidationLocalization.string( + message: CmuxConfigValidationLocalization().string( "config.validation.cli.failed", defaultValue: "semantic validation failed" ), @@ -363,7 +363,7 @@ extension CMUXCLI { displayPath: target.displayPath, path: target.path, status: "ok", - message: CmuxConfigValidationLocalization.string( + message: CmuxConfigValidationLocalization().string( "config.validation.cli.passed", defaultValue: "JSONC syntax and semantic validation passed" ), diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Constraints.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Constraints.swift index c29883f5f2a0..3947428fbad5 100644 --- a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Constraints.swift +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Constraints.swift @@ -11,7 +11,7 @@ extension CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.string.min", defaultValue: "must contain at least %lld character(s)", Int64(minimum) @@ -23,7 +23,7 @@ extension CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.string.max", defaultValue: "must contain at most %lld character(s)", Int64(maximum) @@ -36,7 +36,7 @@ extension CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.string.pattern", defaultValue: "must match pattern %@", displayJSON(pattern) @@ -50,7 +50,7 @@ extension CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.string( + message: CmuxConfigValidationLocalization().string( "config.validation.string.absoluteURI", defaultValue: "must be an absolute URI" ) @@ -71,7 +71,7 @@ extension CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.number.min", defaultValue: "must be >= %@", formatNumber(minimum) @@ -83,7 +83,7 @@ extension CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.number.max", defaultValue: "must be <= %@", formatNumber(maximum) @@ -95,7 +95,7 @@ extension CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.number.gt", defaultValue: "must be > %@", formatNumber(minimum) @@ -107,7 +107,7 @@ extension CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.number.lt", defaultValue: "must be < %@", formatNumber(maximum) @@ -123,7 +123,7 @@ extension CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.number.multiple", defaultValue: "must be a multiple of %@", formatNumber(multiple) @@ -146,7 +146,7 @@ extension CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.array.min", defaultValue: "must contain at least %lld item(s)", Int64(minimum) @@ -158,7 +158,7 @@ extension CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.array.max", defaultValue: "must contain at most %lld item(s)", Int64(maximum) @@ -204,7 +204,7 @@ extension CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.object.min", defaultValue: "must contain at least %lld key(s)", Int64(minimum) @@ -216,7 +216,7 @@ extension CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.object.max", defaultValue: "must contain at most %lld key(s)", Int64(maximum) @@ -230,7 +230,7 @@ extension CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: childPath(path, key: key), - message: CmuxConfigValidationLocalization.string( + message: CmuxConfigValidationLocalization().string( "config.validation.required", defaultValue: "is required" ) @@ -292,7 +292,7 @@ extension CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: child, - message: CmuxConfigValidationLocalization.string( + message: CmuxConfigValidationLocalization().string( "config.validation.unknownKey", defaultValue: "unknown configuration key" ) diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Values.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Values.swift index f1ab003f1b1c..ada8f9039ac8 100644 --- a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Values.swift +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator+Values.swift @@ -41,7 +41,7 @@ extension CmuxConfigSemanticValidator { if let types = typeSpec as? [String] { return types.map(localizedType).joined(separator: " / ") } - return CmuxConfigValidationLocalization.string( + return CmuxConfigValidationLocalization().string( "config.validation.type.jsonValue", defaultValue: "valid JSON value" ) @@ -62,37 +62,37 @@ extension CmuxConfigSemanticValidator { func localizedType(_ type: String) -> String { switch type { case "null": - return CmuxConfigValidationLocalization.string( + return CmuxConfigValidationLocalization().string( "config.validation.type.null", defaultValue: "null" ) case "boolean": - return CmuxConfigValidationLocalization.string( + return CmuxConfigValidationLocalization().string( "config.validation.type.boolean", defaultValue: "boolean" ) case "string": - return CmuxConfigValidationLocalization.string( + return CmuxConfigValidationLocalization().string( "config.validation.type.string", defaultValue: "string" ) case "array": - return CmuxConfigValidationLocalization.string( + return CmuxConfigValidationLocalization().string( "config.validation.type.array", defaultValue: "array" ) case "object": - return CmuxConfigValidationLocalization.string( + return CmuxConfigValidationLocalization().string( "config.validation.type.object", defaultValue: "object" ) case "number": - return CmuxConfigValidationLocalization.string( + return CmuxConfigValidationLocalization().string( "config.validation.type.number", defaultValue: "number" ) case "integer": - return CmuxConfigValidationLocalization.string( + return CmuxConfigValidationLocalization().string( "config.validation.type.integer", defaultValue: "integer" ) @@ -174,7 +174,7 @@ extension CmuxConfigSemanticValidator { func displayChoices(_ values: [Any]) -> String { let rendered = values.prefix(8).map(displayJSON) if values.count > rendered.count { - let suffix = CmuxConfigValidationLocalization.format( + let suffix = CmuxConfigValidationLocalization().format( "config.validation.choices.more", defaultValue: "(+%lld more)", Int64(values.count - rendered.count) diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift index 87204f9bd359..873c3c5b409c 100644 --- a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSemanticValidator.swift @@ -68,7 +68,7 @@ public struct CmuxConfigSemanticValidator { return [ CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.string( + message: CmuxConfigValidationLocalization().string( "config.validation.scope.globalOnly", defaultValue: "is only supported in the global cmux.json" ) @@ -83,7 +83,7 @@ public struct CmuxConfigSemanticValidator { return [ CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.schema.unknownReference", defaultValue: "references an unknown schema definition '%@'", ref @@ -105,7 +105,7 @@ public struct CmuxConfigSemanticValidator { return [ CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.type.expected", defaultValue: "expected %@, got %@", typeDescription(typeSpec), @@ -119,7 +119,7 @@ public struct CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.value.equal", defaultValue: "must equal %@", displayJSON(constant) @@ -133,7 +133,7 @@ public struct CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.format( + message: CmuxConfigValidationLocalization().format( "config.validation.value.oneOf", defaultValue: "must be one of %@", displayChoices(choices) @@ -170,7 +170,7 @@ public struct CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.string( + message: CmuxConfigValidationLocalization().string( "config.validation.form.none", defaultValue: "does not match any allowed form" ) @@ -195,11 +195,11 @@ public struct CmuxConfigSemanticValidator { let passing = alternatives.filter(\.isEmpty).count if passing != 1 { let message = passing == 0 - ? CmuxConfigValidationLocalization.string( + ? CmuxConfigValidationLocalization().string( "config.validation.form.none", defaultValue: "does not match any allowed form" ) - : CmuxConfigValidationLocalization.string( + : CmuxConfigValidationLocalization().string( "config.validation.form.multiple", defaultValue: "matches multiple mutually exclusive forms" ) @@ -239,7 +239,7 @@ public struct CmuxConfigSemanticValidator { issues.append( CmuxConfigSemanticIssue( path: path, - message: CmuxConfigValidationLocalization.string( + message: CmuxConfigValidationLocalization().string( "config.validation.form.disallowed", defaultValue: "uses a disallowed value combination" ) diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigValidationLocalization.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigValidationLocalization.swift index d63d27f9ec49..7e1458096689 100644 --- a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigValidationLocalization.swift +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigValidationLocalization.swift @@ -1,16 +1,17 @@ import Foundation -public enum CmuxConfigValidationLocalization { - public static func string( +public struct CmuxConfigValidationLocalization { + public init() {} + public func string( _ key: StaticString, - defaultValue: String.LocalizationValue + defaultValue: String ) -> String { - String(localized: key, defaultValue: defaultValue, bundle: .module) + String(localized: key, defaultValue: String.LocalizationValue(stringLiteral: defaultValue), bundle: .module) } - public static func format( + public func format( _ key: StaticString, - defaultValue: String.LocalizationValue, + defaultValue: String, _ arguments: any CVarArg... ) -> String { let localized = string(key, defaultValue: defaultValue) diff --git a/docs/cli-contract.md b/docs/cli-contract.md index 1c029b214bb1..d429221c39ee 100644 --- a/docs/cli-contract.md +++ b/docs/cli-contract.md @@ -618,7 +618,7 @@ Config subcommands: | Command | Contract | | --- | --- | -| `config doctor [--path ]`, `config check`, `config validate` | Validate JSONC syntax and semantic cmux.json constraints (recognized paths, value types, enums, bounds, nested values, and project/global scope). When `--path` is absent, default discovery checks the primary config, project-level `.cmux/cmux.json` or `cmux.json`, and legacy config files. `--path ` may be repeated; `--scope global|project` overrides scope inference for explicit files. Exits 0 on success and 1 on any error. Supports `--json`. Works without a socket. | +| `config doctor [--path ]`, `config check`, `config validate` | Validate JSONC syntax and semantic cmux.json constraints (recognized paths, value types, enums, bounds, nested values, and project/global scope). When `--path` is absent, default discovery checks the primary config, project-level `.cmux/cmux.json` or `cmux.json`, and legacy config files. `--path ` may be repeated; `--scope global\|project` overrides scope inference for explicit files. Exits 0 on success and 1 on any error. Supports `--json`. Works without a socket. | | `config path`, `config paths` | Print cmux.json paths, docs URL, schema URL, backup reminder, and reload command without a socket. | | `config docs`, `config documentation` | Print the same output as `docs settings` without a socket. | | `config reload` | Ask the running cmux app to reload configuration. Requires a socket. | diff --git a/tests/test_cli_config_doctor.py b/tests/test_cli_config_doctor.py index 456bdf94d102..7dd0843d9c70 100644 --- a/tests/test_cli_config_doctor.py +++ b/tests/test_cli_config_doctor.py @@ -120,6 +120,11 @@ def main() -> int: home = Path(temp) workspace = home / "workspace" / "child" workspace.mkdir(parents=True) + helper = repo_root / "skills" / "cmux-settings" / "scripts" / "cmux-settings" + helper_env = dict(os.environ) + helper_env["HOME"] = str(home) + helper_env["CMUX_CLI_BIN"] = cli_path + helper_env["CMUX_CLI_SENTRY_DISABLED"] = "1" (home / "cmux.json").write_text('{"homeLevel": true,,}\n', encoding="utf-8") config_path = home / ".config" / "cmux" / "cmux.json" config_path.parent.mkdir(parents=True)