diff --git a/templates/compose/appwrite.yaml b/templates/compose/appwrite.yaml index c84821dc15..f20cc86649 100644 --- a/templates/compose/appwrite.yaml +++ b/templates/compose/appwrite.yaml @@ -3,19 +3,20 @@ # category: backend # tags: backend, backend-as-a-service, platform # logo: svgs/appwrite.svg -# port: 3003 +# port: 80 services: appwrite: - image: appwrite/appwrite:2.0.0 + image: appwrite/appwrite:2.5.0 environment: - SERVICE_URL_APPWRITE=/v1 + - _APP_DNS_EXTERNAL=${_APP_DNS_EXTERNAL} + - _APP_ALLOWED_INTERNAL_ADDRESSES=${_APP_ALLOWED_INTERNAL_ADDRESSES} - _APP_ENV=${_APP_ENV:-production} - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} - _APP_USAGE_PASS=$SERVICE_PASSWORD_CLICKHOUSE - _APP_CONNECTIONS_DB_USAGE=http://appwrite:$SERVICE_PASSWORD_CLICKHOUSE@appwrite-clickhouse:8123/appwrite - _APP_POOL_SIZE_USAGE=${_APP_POOL_SIZE_USAGE:-2} - - _APP_EXECUTIONS_DUAL_WRITE=${_APP_EXECUTIONS_DUAL_WRITE:-enabled} - _APP_CONNECTIONS_DB_EXECUTIONS=http://appwrite:$SERVICE_PASSWORD_CLICKHOUSE@appwrite-clickhouse:8123/appwrite - _APP_POOL_SIZE_EXECUTIONS=${_APP_POOL_SIZE_EXECUTIONS:-2} - _APP_MAINTENANCE_RETENTION_USAGE_TTL=${_APP_MAINTENANCE_RETENTION_USAGE_TTL:-180} @@ -24,7 +25,6 @@ services: - _APP_STATS_RESOURCES_INTERVAL=${_APP_STATS_RESOURCES_INTERVAL:-3600} - _APP_EDITION=${_APP_EDITION:-self-hosted} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_POOL_ADAPTER=${_APP_POOL_ADAPTER:-stack} - _APP_LOCALE=${_APP_LOCALE:-en} - _APP_COMPRESSION_ENABLED=${_APP_COMPRESSION_ENABLED:-enabled} - _APP_COMPRESSION_MIN_SIZE_BYTES=${_APP_COMPRESSION_MIN_SIZE_BYTES} @@ -51,14 +51,14 @@ services: - _APP_OPTIONS_ABUSE=${_APP_OPTIONS_ABUSE:-enabled} - _APP_OPTIONS_ABUSE_INCREASED_LIMIT_PROJECTS=${_APP_OPTIONS_ABUSE_INCREASED_LIMIT_PROJECTS} - _APP_OPTIONS_ROUTER_PROTECTION=${_APP_OPTIONS_ROUTER_PROTECTION:-disabled} - - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-enabled} + - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} - _APP_OPTIONS_ROUTER_FORCE_HTTPS=${_APP_OPTIONS_ROUTER_FORCE_HTTPS:-disabled} - _APP_ROUTER_AUTO_CERTIFICATES=${_APP_ROUTER_AUTO_CERTIFICATES:-disabled} - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE - _APP_NOTIFICATIONS_TRACKING_SECRET=$SERVICE_PASSWORD_64_NOTIFICATIONS - _APP_DOMAIN=${_APP_DOMAIN:-$SERVICE_FQDN_APPWRITE} - _APP_CONSOLE_DOMAIN=${_APP_CONSOLE_DOMAIN} - - _APP_CONSOLE_URL_SCHEME=root + - _APP_CONSOLE_URL=${_APP_CONSOLE_URL} - _APP_CONSOLE_TRUSTED_PROJECTS=${_APP_CONSOLE_TRUSTED_PROJECTS} - _APP_DOMAIN_TARGET_CNAME=${_APP_DOMAIN_TARGET_CNAME:-localhost} - _APP_DOMAIN_TARGET_AAAA=${_APP_DOMAIN_TARGET_AAAA:-::1} @@ -97,6 +97,7 @@ services: - _APP_SMTP_PASSWORD=${_APP_SMTP_PASSWORD} - _APP_STORAGE_LIMIT=${_APP_STORAGE_LIMIT:-30000000} - _APP_STORAGE_PREVIEW_LIMIT=${_APP_STORAGE_PREVIEW_LIMIT:-20000000} + - _APP_AUTOGRAVITY_HOST=${_APP_AUTOGRAVITY_HOST} - _APP_STORAGE_ANTIVIRUS=${_APP_STORAGE_ANTIVIRUS:-disabled} - _APP_STORAGE_ANTIVIRUS_HOST=${_APP_STORAGE_ANTIVIRUS_HOST} - _APP_STORAGE_ANTIVIRUS_PORT=${_APP_STORAGE_ANTIVIRUS_PORT:-3310} @@ -123,6 +124,7 @@ services: - _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1} - _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET} - _APP_COMPUTE_SIZE_LIMIT=${_APP_COMPUTE_SIZE_LIMIT:-30000000} + - _APP_COMPUTE_BUILD_SIZE_LIMIT=${_APP_COMPUTE_BUILD_SIZE_LIMIT:-2000000000} - _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT:-900} - _APP_SITES_TIMEOUT=${_APP_SITES_TIMEOUT:-900} - _APP_COMPUTE_BUILD_TIMEOUT=${_APP_COMPUTE_BUILD_TIMEOUT:-2700} @@ -146,7 +148,6 @@ services: - _APP_MAINTENANCE_RETENTION_ABUSE=${_APP_MAINTENANCE_RETENTION_ABUSE:-86400} - _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT:-1209600} - _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE=${_APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE} - - _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=${_APP_MAINTENANCE_RETENTION_USAGE_HOURLY:-8640000} - _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES:-86400} - _APP_SMS_PROVIDER=${_APP_SMS_PROVIDER} - _APP_SMS_FROM=${_APP_SMS_FROM} @@ -177,18 +178,17 @@ services: - _APP_VCS_WEBHOOK_URL=${_APP_VCS_WEBHOOK_URL} - _APP_MIGRATIONS_FIREBASE_CLIENT_ID=${_APP_MIGRATIONS_FIREBASE_CLIENT_ID} - _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=${_APP_MIGRATIONS_FIREBASE_CLIENT_SECRET} - - _APP_ASSISTANT_OPENAI_API_KEY=${_APP_ASSISTANT_OPENAI_API_KEY} - _APP_CONSOLE_COUNTRIES_DENYLIST=${_APP_CONSOLE_COUNTRIES_DENYLIST} - - _APP_EXPERIMENT_LOGGING_PROVIDER=${_APP_EXPERIMENT_LOGGING_PROVIDER} - - _APP_EXPERIMENT_LOGGING_CONFIG=${_APP_EXPERIMENT_LOGGING_CONFIG} - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - _APP_DATABASE_SHARED_NAMESPACE=${_APP_DATABASE_SHARED_NAMESPACE} - _APP_FUNCTIONS_CREATION_ABUSE_LIMIT=${_APP_FUNCTIONS_CREATION_ABUSE_LIMIT} - _APP_CUSTOM_DOMAIN_DENY_LIST=${_APP_CUSTOM_DOMAIN_DENY_LIST:-example.com,test.com,app.example.com} - _APP_TRUSTED_HEADERS=${_APP_TRUSTED_HEADERS:-x-forwarded-for} + - _APP_TRUSTED_PROXIES=${_APP_TRUSTED_PROXIES:-127.0.0.1,::1,10.0.0.0/8,100.64.0.0/10,172.16.0.0/12,192.168.0.0/16} - _APP_MIGRATION_HOST=${_APP_MIGRATION_HOST:-appwrite} - _APP_GEO_SECRET=$SERVICE_PASSWORD_64_GEO - _APP_GEO_ENDPOINT=${_APP_GEO_ENDPOINT:-http://appwrite-geo/v1} + - _APP_PWNED_PASSWORDS_DSN=${_APP_PWNED_PASSWORDS_DSN:-none://localhost} - _APP_LIMIT_DATABASE_BATCH=${_APP_LIMIT_DATABASE_BATCH:-100} - _APP_DOCUMENTSDB=${_APP_DOCUMENTSDB:-disabled} - _APP_VECTORSDB=${_APP_VECTORSDB:-disabled} @@ -219,12 +219,12 @@ services: start_period: 120s appwrite-console: - image: appwrite/new:1.1.16 + image: appwrite/new:1.2.74-self-hosted environment: - SERVICE_URL_APPWRITE_3000=/ - VITE_CONSOLE_PROFILE=self-hosted + - VITE_APPWRITE_VERSION=2.5.0 - APPWRITE_ENDPOINT_SAME_ORIGIN=true - - VITE_GROWTH_ENDPOINT=${VITE_GROWTH_ENDPOINT:-https://growth.appwrite.io/v1} depends_on: appwrite: condition: service_healthy @@ -235,7 +235,7 @@ services: retries: 3 appwrite-realtime: - image: appwrite/appwrite:2.0.0 + image: appwrite/appwrite:2.5.0 entrypoint: realtime environment: - SERVICE_URL_APPWRITE=/v1/realtime @@ -248,6 +248,8 @@ services: - _APP_CONSOLE_HOSTNAMES=${_APP_CONSOLE_HOSTNAMES} - _APP_REALTIME_TAIL_RATE=${_APP_REALTIME_TAIL_RATE:-50} - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE + - _APP_TRUSTED_HEADERS=${_APP_TRUSTED_HEADERS:-x-forwarded-for} + - _APP_TRUSTED_PROXIES=${_APP_TRUSTED_PROXIES:-127.0.0.1,::1,10.0.0.0/8,100.64.0.0/10,172.16.0.0/12,192.168.0.0/16} - _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis} - _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379} - _APP_REDIS_USER=${_APP_REDIS_USER} @@ -274,13 +276,11 @@ services: - _APP_CONNECTIONS_DATABASE_VECTORSDB=${_APP_CONNECTIONS_DATABASE_VECTORSDB} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - _APP_LOGGING_FORMAT=${_APP_LOGGING_FORMAT:-pretty} - - _APP_LOGGING_CONFIG_REALTIME=${_APP_LOGGING_CONFIG_REALTIME} - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - _APP_LIMIT_DATABASE_BATCH=${_APP_LIMIT_DATABASE_BATCH:-100} - _APP_DOCUMENTSDB=${_APP_DOCUMENTSDB:-disabled} - _APP_VECTORSDB=${_APP_VECTORSDB:-disabled} - _APP_EMBEDDING=${_APP_EMBEDDING:-disabled} - - _APP_POOL_ADAPTER=swoole depends_on: appwrite-postgresql: condition: service_healthy @@ -293,15 +293,16 @@ services: retries: 3 appwrite-worker: - image: appwrite/appwrite:2.0.0 + image: appwrite/appwrite:2.5.0 entrypoint: worker environment: - _APP_ENV=${_APP_ENV:-production} + - _APP_DNS_EXTERNAL=${_APP_DNS_EXTERNAL} + - _APP_ALLOWED_INTERNAL_ADDRESSES=${_APP_ALLOWED_INTERNAL_ADDRESSES} - _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled} - _APP_USAGE_PASS=$SERVICE_PASSWORD_CLICKHOUSE - _APP_CONNECTIONS_DB_USAGE=http://appwrite:$SERVICE_PASSWORD_CLICKHOUSE@appwrite-clickhouse:8123/appwrite - _APP_POOL_SIZE_USAGE=${_APP_POOL_SIZE_USAGE:-2} - - _APP_EXECUTIONS_DUAL_WRITE=${_APP_EXECUTIONS_DUAL_WRITE:-enabled} - _APP_CONNECTIONS_DB_EXECUTIONS=http://appwrite:$SERVICE_PASSWORD_CLICKHOUSE@appwrite-clickhouse:8123/appwrite - _APP_POOL_SIZE_EXECUTIONS=${_APP_POOL_SIZE_EXECUTIONS:-2} - _APP_MAINTENANCE_RETENTION_USAGE_TTL=${_APP_MAINTENANCE_RETENTION_USAGE_TTL:-180} @@ -311,7 +312,6 @@ services: - _APP_WORKERS_NUM=1 - _APP_WORKER_MAX_COROUTINES=78 - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_POOL_ADAPTER=${_APP_POOL_ADAPTER:-stack} - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE - _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-security@appwrite.io} - _APP_EMAIL_CERTIFICATES=${_APP_EMAIL_CERTIFICATES} @@ -341,10 +341,9 @@ services: - _APP_REDIS_PASS=${_APP_REDIS_PASS} - _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG} - _APP_LOGGING_FORMAT=${_APP_LOGGING_FORMAT:-pretty} - - _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER} - _APP_QUEUE_NAME=${_APP_QUEUE_NAME} - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - - _APP_CONSOLE_URL_SCHEME=root + - _APP_CONSOLE_URL=${_APP_CONSOLE_URL} - _APP_CONSOLE_DOMAIN=${_APP_CONSOLE_DOMAIN} - _APP_CONSOLE_TRUSTED_PROJECTS=${_APP_CONSOLE_TRUSTED_PROJECTS} - _APP_DOMAIN=${_APP_DOMAIN:-$SERVICE_FQDN_APPWRITE} @@ -355,7 +354,7 @@ services: - _APP_DNS=${_APP_DNS} - _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.$SERVICE_FQDN_APPWRITE} - _APP_DOMAIN_SITES=${_APP_DOMAIN_SITES:-sites.$SERVICE_FQDN_APPWRITE} - - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-enabled} + - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} - _APP_OPTIONS_ROUTER_FORCE_HTTPS=${_APP_OPTIONS_ROUTER_FORCE_HTTPS:-disabled} - _APP_WEBHOOK_MAX_FAILED_ATTEMPTS=${_APP_WEBHOOK_MAX_FAILED_ATTEMPTS:-10} - _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local} @@ -391,6 +390,7 @@ services: - _APP_COMPUTE_MEMORY=${_APP_COMPUTE_MEMORY:-0} - _APP_OPEN_RUNTIMES_NFT=${_APP_OPEN_RUNTIMES_NFT:-enabled} - _APP_COMPUTE_SIZE_LIMIT=${_APP_COMPUTE_SIZE_LIMIT:-30000000} + - _APP_COMPUTE_BUILD_SIZE_LIMIT=${_APP_COMPUTE_BUILD_SIZE_LIMIT:-2000000000} - _APP_VCS_GITHUB_APP_NAME=${_APP_VCS_GITHUB_APP_NAME} - _APP_VCS_GITHUB_PRIVATE_KEY=${_APP_VCS_GITHUB_PRIVATE_KEY} - _APP_VCS_GITHUB_APP_ID=${_APP_VCS_GITHUB_APP_ID} @@ -462,7 +462,7 @@ services: retries: 3 appwrite-task-scheduler: - image: appwrite/appwrite:2.0.0 + image: appwrite/appwrite:2.5.0 entrypoint: schedule environment: - _APP_ENV=${_APP_ENV:-production} @@ -470,7 +470,6 @@ services: - _APP_USAGE_PASS=$SERVICE_PASSWORD_CLICKHOUSE - _APP_CONNECTIONS_DB_USAGE=http://appwrite:$SERVICE_PASSWORD_CLICKHOUSE@appwrite-clickhouse:8123/appwrite - _APP_POOL_SIZE_USAGE=${_APP_POOL_SIZE_USAGE:-2} - - _APP_EXECUTIONS_DUAL_WRITE=${_APP_EXECUTIONS_DUAL_WRITE:-enabled} - _APP_CONNECTIONS_DB_EXECUTIONS=http://appwrite:$SERVICE_PASSWORD_CLICKHOUSE@appwrite-clickhouse:8123/appwrite - _APP_POOL_SIZE_EXECUTIONS=${_APP_POOL_SIZE_EXECUTIONS:-2} - _APP_MAINTENANCE_RETENTION_USAGE_TTL=${_APP_MAINTENANCE_RETENTION_USAGE_TTL:-180} @@ -480,9 +479,8 @@ services: - _APP_LOGGING_FORMAT=${_APP_LOGGING_FORMAT:-pretty} - _APP_WORKER_MAX_COROUTINES=8 - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_POOL_ADAPTER=${_APP_POOL_ADAPTER:-stack} - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE - - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-enabled} + - _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled} - _APP_DOMAIN=${_APP_DOMAIN:-$SERVICE_FQDN_APPWRITE} - _APP_CONSOLE_DOMAIN=${_APP_CONSOLE_DOMAIN} - _APP_CONSOLE_SCHEMA=${_APP_CONSOLE_SCHEMA:-appwriteio} @@ -513,13 +511,12 @@ services: retries: 3 appwrite-task-maintenance: - image: appwrite/appwrite:2.0.0 + image: appwrite/appwrite:2.5.0 entrypoint: maintenance environment: - _APP_ENV=${_APP_ENV:-production} - _APP_LOGGING_FORMAT=${_APP_LOGGING_FORMAT:-pretty} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_POOL_ADAPTER=${_APP_POOL_ADAPTER:-stack} - _APP_DOMAIN=${_APP_DOMAIN:-$SERVICE_FQDN_APPWRITE} - _APP_DOMAIN_TARGET_CNAME=${_APP_DOMAIN_TARGET_CNAME:-localhost} - _APP_DOMAIN_TARGET_AAAA=${_APP_DOMAIN_TARGET_AAAA:-::1} @@ -546,7 +543,6 @@ services: - _APP_MAINTENANCE_RETENTION_ABUSE=${_APP_MAINTENANCE_RETENTION_ABUSE:-86400} - _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT:-1209600} - _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE=${_APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE} - - _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=${_APP_MAINTENANCE_RETENTION_USAGE_HOURLY:-8640000} - _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES:-86400} - _APP_MAINTENANCE_START_TIME=${_APP_MAINTENANCE_START_TIME} - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} @@ -562,13 +558,12 @@ services: retries: 3 appwrite-task-interval: - image: appwrite/appwrite:2.0.0 + image: appwrite/appwrite:2.5.0 entrypoint: interval environment: - _APP_ENV=${_APP_ENV:-production} - _APP_LOGGING_FORMAT=${_APP_LOGGING_FORMAT:-pretty} - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - - _APP_POOL_ADAPTER=${_APP_POOL_ADAPTER:-stack} - _APP_DOMAIN=${_APP_DOMAIN:-$SERVICE_FQDN_APPWRITE} - _APP_DOMAIN_TARGET_CNAME=${_APP_DOMAIN_TARGET_CNAME:-localhost} - _APP_DOMAIN_TARGET_AAAA=${_APP_DOMAIN_TARGET_AAAA:-::1} @@ -603,7 +598,7 @@ services: retries: 3 appwrite-geo: - image: appwrite/geo:0.3.1 + image: appwrite/geo:0.3.2 environment: - GEO_SECRET=$SERVICE_PASSWORD_64_GEO healthcheck: @@ -613,18 +608,17 @@ services: retries: 3 start_period: 10s - appwrite-assistant: - image: appwrite/assistant:0.8.4 - environment: - - _APP_ASSISTANT_OPENAI_API_KEY=${_APP_ASSISTANT_OPENAI_API_KEY} - exclude_from_hc: true - appwrite-browser: - image: appwrite/browser:0.3.4 + image: appwrite/browser:0.3.6 + environment: + - ALLOWED_HOSTS=appwrite + dns: + - 1.1.1.1 + - 8.8.8.8 exclude_from_hc: true openruntimes-executor: - image: openruntimes/executor:0.29.0 + image: openruntimes/executor:1.1.2 hostname: openruntimes-executor stop_signal: SIGINT environment: @@ -656,7 +650,7 @@ services: start_period: 10s orchestrator: - image: ghcr.io/open-runtimes/orchestrator/orchestrator:2.0.1 + image: ghcr.io/open-runtimes/orchestrator/orchestrator:2.2.2 hostname: orchestrator user: root environment: @@ -710,8 +704,91 @@ services: - CLICKHOUSE_USER=appwrite - CLICKHOUSE_PASSWORD=$SERVICE_PASSWORD_CLICKHOUSE - CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 + - CLICKHOUSE_ALWAYS_RUN_INITDB_SCRIPTS=1 volumes: - appwrite-clickhouse:/var/lib/clickhouse:rw + - type: bind + source: ./clickhouse-config.xml + target: /etc/clickhouse-server/config.d/appwrite.xml + read_only: true + content: | + + + + + + + + + + + + + + + event_date + INTERVAL 3 DAY DELETE + event_date + INTERVAL 7 DAY DELETE + event_date + INTERVAL 7 DAY DELETE + event_date + INTERVAL 7 DAY DELETE + event_date + INTERVAL 7 DAY DELETE + event_date + INTERVAL 7 DAY DELETE + + + event_date + INTERVAL 14 DAY DELETE + + - type: bind + source: ./clickhouse-init.sh + target: /docker-entrypoint-initdb.d/clickhouse-init.sh + read_only: true + content: | + #!/bin/bash + # The ClickHouse entrypoint sources this file, so a subshell keeps these options out of it. + ( + set -euo pipefail + + client() { + clickhouse-client --host 127.0.0.1 --user "$CLICKHOUSE_USER" --password "$CLICKHOUSE_PASSWORD" "$@" + } + + # Flushing replaces log tables whose definition changed, keeping each old table as _. + client --query 'SYSTEM FLUSH LOGS' + + # Tables left behind never expire on their own: take the TTL of the log that + # replaced this one, or a week when the log is no longer written at all. + # The named logs must match the ones clickhouse-config.xml removes: a log that + # is still written gets replaced on the next restart if its TTL is altered here. + client --format TSVRaw <<'SQL' | client --multiquery + SELECT concat('ALTER TABLE system.', stale.name, ' MODIFY TTL ', if(active.name = '', 'event_date + INTERVAL 7 DAY DELETE', splitByString(' SETTINGS ', splitByString(' TTL ', active.engine_full)[2])[1]), ';') + FROM ( + SELECT name, splitByChar('_', name)[-1] AS suffix, arrayStringConcat(arrayPopBack(splitByChar('_', name)), '_') AS log + FROM system.tables + WHERE database = 'system' + AND position(engine_full, ' TTL ') = 0 + AND endsWith(engine, 'MergeTree') + AND name IN (SELECT table FROM system.columns WHERE database = 'system' AND name = 'event_date' AND type = 'Date') + ) AS stale + LEFT JOIN system.tables AS active + ON active.database = 'system' + AND active.name = stale.log + AND position(active.engine_full, ' TTL ') > 0 + WHERE (endsWith(stale.log, '_log') AND toUInt64OrNull(stale.suffix) IS NOT NULL) + OR stale.name IN ('asynchronous_metric_log', 'metric_log', 'histogram_metric_log', 'query_metric_log', 'processors_profile_log', 'trace_log', 'text_log') + SQL + ) ulimits: nofile: soft: 262144 diff --git a/templates/service-templates-latest.json b/templates/service-templates-latest.json index 441fd66565..db384057b5 100644 --- a/templates/service-templates-latest.json +++ b/templates/service-templates-latest.json @@ -162,7 +162,7 @@ "appwrite": { "documentation": "https://appwrite.io/docs?utm_source=coolify.io", "slogan": "A backend-as-a-service platform that simplifies the web & mobile app development.", - "compose": "c2VydmljZXM6CiAgYXBwd3JpdGU6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjIuMC4wJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gU0VSVklDRV9VUkxfQVBQV1JJVEU9L3YxCiAgICAgIC0gJ19BUFBfRU5WPSR7X0FQUF9FTlY6LXByb2R1Y3Rpb259JwogICAgICAtICdfQVBQX1VTQUdFX1NUQVRTPSR7X0FQUF9VU0FHRV9TVEFUUzotZW5hYmxlZH0nCiAgICAgIC0gX0FQUF9VU0FHRV9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0UKICAgICAgLSAnX0FQUF9DT05ORUNUSU9OU19EQl9VU0FHRT1odHRwOi8vYXBwd3JpdGU6JFNFUlZJQ0VfUEFTU1dPUkRfQ0xJQ0tIT1VTRUBhcHB3cml0ZS1jbGlja2hvdXNlOjgxMjMvYXBwd3JpdGUnCiAgICAgIC0gJ19BUFBfUE9PTF9TSVpFX1VTQUdFPSR7X0FQUF9QT09MX1NJWkVfVVNBR0U6LTJ9JwogICAgICAtICdfQVBQX0VYRUNVVElPTlNfRFVBTF9XUklURT0ke19BUFBfRVhFQ1VUSU9OU19EVUFMX1dSSVRFOi1lbmFibGVkfScKICAgICAgLSAnX0FQUF9DT05ORUNUSU9OU19EQl9FWEVDVVRJT05TPWh0dHA6Ly9hcHB3cml0ZTokU0VSVklDRV9QQVNTV09SRF9DTElDS0hPVVNFQGFwcHdyaXRlLWNsaWNraG91c2U6ODEyMy9hcHB3cml0ZScKICAgICAgLSAnX0FQUF9QT09MX1NJWkVfRVhFQ1VUSU9OUz0ke19BUFBfUE9PTF9TSVpFX0VYRUNVVElPTlM6LTJ9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9VU0FHRV9UVEw9JHtfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9VU0FHRV9UVEw6LTE4MH0nCiAgICAgIC0gJ19BUFBfU1RBVFNfVVNBR0VfUVVFVUVfTkFNRT0ke19BUFBfU1RBVFNfVVNBR0VfUVVFVUVfTkFNRTotdjEtc3RhdHMtdXNhZ2V9JwogICAgICAtICdfQVBQX1NUQVRTX1JFU09VUkNFU19RVUVVRV9OQU1FPSR7X0FQUF9TVEFUU19SRVNPVVJDRVNfUVVFVUVfTkFNRTotdjEtc3RhdHMtcmVzb3VyY2VzfScKICAgICAgLSAnX0FQUF9TVEFUU19SRVNPVVJDRVNfSU5URVJWQUw9JHtfQVBQX1NUQVRTX1JFU09VUkNFU19JTlRFUlZBTDotMzYwMH0nCiAgICAgIC0gJ19BUFBfRURJVElPTj0ke19BUFBfRURJVElPTjotc2VsZi1ob3N0ZWR9JwogICAgICAtICdfQVBQX1dPUktFUl9QRVJfQ09SRT0ke19BUFBfV09SS0VSX1BFUl9DT1JFOi02fScKICAgICAgLSAnX0FQUF9QT09MX0FEQVBURVI9JHtfQVBQX1BPT0xfQURBUFRFUjotc3RhY2t9JwogICAgICAtICdfQVBQX0xPQ0FMRT0ke19BUFBfTE9DQUxFOi1lbn0nCiAgICAgIC0gJ19BUFBfQ09NUFJFU1NJT05fRU5BQkxFRD0ke19BUFBfQ09NUFJFU1NJT05fRU5BQkxFRDotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfQ09NUFJFU1NJT05fTUlOX1NJWkVfQllURVM9JHtfQVBQX0NPTVBSRVNTSU9OX01JTl9TSVpFX0JZVEVTfScKICAgICAgLSAnX0FQUF9DT05TT0xFX1dISVRFTElTVF9ST09UPSR7X0FQUF9DT05TT0xFX1dISVRFTElTVF9ST09UOi1lbmFibGVkfScKICAgICAgLSAnX0FQUF9DT05TT0xFX1dISVRFTElTVF9FTUFJTFM9JHtfQVBQX0NPTlNPTEVfV0hJVEVMSVNUX0VNQUlMU30nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9TRVNTSU9OX0FMRVJUUz0ke19BUFBfQ09OU09MRV9TRVNTSU9OX0FMRVJUUzotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfV0hJVEVMSVNUX0lQUz0ke19BUFBfQ09OU09MRV9XSElURUxJU1RfSVBTfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0hPU1ROQU1FUz0ke19BUFBfQ09OU09MRV9IT1NUTkFNRVN9JwogICAgICAtICdfQVBQX0NPTlNPTEVfU0NIRU1BPSR7X0FQUF9DT05TT0xFX1NDSEVNQTotYXBwd3JpdGVpb30nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9HSVRIVUJfQVBQX0lEPSR7X0FQUF9DT05TT0xFX0dJVEhVQl9BUFBfSUR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfR0lUSFVCX1NFQ1JFVD0ke19BUFBfQ09OU09MRV9HSVRIVUJfU0VDUkVUfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0dJVExBQl9BUFBfSUQ9JHtfQVBQX0NPTlNPTEVfR0lUTEFCX0FQUF9JRH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9HSVRMQUJfU0VDUkVUPSR7X0FQUF9DT05TT0xFX0dJVExBQl9TRUNSRVR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfR0lUTEFCX0VORFBPSU5UPSR7X0FQUF9DT05TT0xFX0dJVExBQl9FTkRQT0lOVH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9CSVRCVUNLRVRfQVBQX0lEPSR7X0FQUF9DT05TT0xFX0JJVEJVQ0tFVF9BUFBfSUR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfQklUQlVDS0VUX1NFQ1JFVD0ke19BUFBfQ09OU09MRV9CSVRCVUNLRVRfU0VDUkVUfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0dPT0dMRV9BUFBfSUQ9JHtfQVBQX0NPTlNPTEVfR09PR0xFX0FQUF9JRH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9HT09HTEVfU0VDUkVUPSR7X0FQUF9DT05TT0xFX0dPT0dMRV9TRUNSRVR9JwogICAgICAtICdfQVBQX1NZU1RFTV9FTUFJTF9OQU1FPSR7X0FQUF9TWVNURU1fRU1BSUxfTkFNRTotQXBwd3JpdGV9JwogICAgICAtICdfQVBQX1NZU1RFTV9FTUFJTF9BRERSRVNTPSR7X0FQUF9TWVNURU1fRU1BSUxfQUREUkVTUzotbm9yZXBseUBhcHB3cml0ZS5pb30nCiAgICAgIC0gJ19BUFBfU1lTVEVNX1RFQU1fRU1BSUw9JHtfQVBQX1NZU1RFTV9URUFNX0VNQUlMOi10ZWFtQGFwcHdyaXRlLmlvfScKICAgICAgLSAnX0FQUF9FTUFJTF9TRUNVUklUWT0ke19BUFBfRU1BSUxfU0VDVVJJVFk6LXNlY3VyaXR5QGFwcHdyaXRlLmlvfScKICAgICAgLSAnX0FQUF9TWVNURU1fUkVTUE9OU0VfRk9STUFUPSR7X0FQUF9TWVNURU1fUkVTUE9OU0VfRk9STUFUfScKICAgICAgLSAnX0FQUF9PUFRJT05TX0FCVVNFPSR7X0FQUF9PUFRJT05TX0FCVVNFOi1lbmFibGVkfScKICAgICAgLSAnX0FQUF9PUFRJT05TX0FCVVNFX0lOQ1JFQVNFRF9MSU1JVF9QUk9KRUNUUz0ke19BUFBfT1BUSU9OU19BQlVTRV9JTkNSRUFTRURfTElNSVRfUFJPSkVDVFN9JwogICAgICAtICdfQVBQX09QVElPTlNfUk9VVEVSX1BST1RFQ1RJT049JHtfQVBQX09QVElPTlNfUk9VVEVSX1BST1RFQ1RJT046LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTPSR7X0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTOi1lbmFibGVkfScKICAgICAgLSAnX0FQUF9PUFRJT05TX1JPVVRFUl9GT1JDRV9IVFRQUz0ke19BUFBfT1BUSU9OU19ST1VURVJfRk9SQ0VfSFRUUFM6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9ST1VURVJfQVVUT19DRVJUSUZJQ0FURVM9JHtfQVBQX1JPVVRFUl9BVVRPX0NFUlRJRklDQVRFUzotZGlzYWJsZWR9JwogICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjE9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfQVBQV1JJVEUKICAgICAgLSBfQVBQX05PVElGSUNBVElPTlNfVFJBQ0tJTkdfU0VDUkVUPSRTRVJWSUNFX1BBU1NXT1JEXzY0X05PVElGSUNBVElPTlMKICAgICAgLSAnX0FQUF9ET01BSU49JHtfQVBQX0RPTUFJTjotJFNFUlZJQ0VfRlFETl9BUFBXUklURX0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9ET01BSU49JHtfQVBQX0NPTlNPTEVfRE9NQUlOfScKICAgICAgLSBfQVBQX0NPTlNPTEVfVVJMX1NDSEVNRT1yb290CiAgICAgIC0gJ19BUFBfQ09OU09MRV9UUlVTVEVEX1BST0pFQ1RTPSR7X0FQUF9DT05TT0xFX1RSVVNURURfUFJPSkVDVFN9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU6LWxvY2FsaG9zdH0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BQUFBPSR7X0FQUF9ET01BSU5fVEFSR0VUX0FBQUE6LTo6MX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BPSR7X0FQUF9ET01BSU5fVEFSR0VUX0E6LTEyNy4wLjAuMX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9DQUE9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ0FBfScKICAgICAgLSAnX0FQUF9ETlM9JHtfQVBQX0ROU30nCiAgICAgIC0gJ19BUFBfRE9NQUlOX0ZVTkNUSU9OUz0ke19BUFBfRE9NQUlOX0ZVTkNUSU9OUzotZnVuY3Rpb25zLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX1JFRElTX0hPU1Q9JHtfQVBQX1JFRElTX0hPU1Q6LWFwcHdyaXRlLXJlZGlzfScKICAgICAgLSAnX0FQUF9SRURJU19QT1JUPSR7X0FQUF9SRURJU19QT1JUOi02Mzc5fScKICAgICAgLSAnX0FQUF9SRURJU19VU0VSPSR7X0FQUF9SRURJU19VU0VSfScKICAgICAgLSAnX0FQUF9SRURJU19QQVNTPSR7X0FQUF9SRURJU19QQVNTfScKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSPSR7X0FQUF9EQl9BREFQVEVSOi1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9IT1NUPSR7X0FQUF9EQl9IT1NUOi1hcHB3cml0ZS1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9QT1JUPSR7X0FQUF9EQl9QT1JUOi01NDMyfScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUE9JHtfQVBQX0RCX1NDSEVNQTotYXBwd3JpdGV9JwogICAgICAtIF9BUFBfREJfVVNFUj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gX0FQUF9EQl9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTCiAgICAgIC0gJ19BUFBfREJfQURBUFRFUl9WRUNUT1JTREI9JHtfQVBQX0RCX0FEQVBURVJfVkVDVE9SU0RCOi1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9IT1NUX1ZFQ1RPUlNEQj0ke19BUFBfREJfSE9TVF9WRUNUT1JTREI6LWFwcHdyaXRlLXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX1BPUlRfVkVDVE9SU0RCPSR7X0FQUF9EQl9QT1JUX1ZFQ1RPUlNEQjotNTQzMn0nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BX1ZFQ1RPUlNEQj0ke19BUFBfREJfU0NIRU1BX1ZFQ1RPUlNEQjotYXBwd3JpdGV9JwogICAgICAtIF9BUFBfREJfVVNFUl9WRUNUT1JTREI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFUwogICAgICAtIF9BUFBfREJfUEFTU19WRUNUT1JTREI9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9BREFQVEVSX0RPQ1VNRU5UU0RCOi1tb25nb2RifScKICAgICAgLSAnX0FQUF9EQl9IT1NUX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9IT1NUX0RPQ1VNRU5UU0RCfScKICAgICAgLSAnX0FQUF9EQl9QT1JUX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9QT1JUX0RPQ1VNRU5UU0RCOi0yNzAxN30nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9TQ0hFTUFfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1VTRVJfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1VTRVJfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1BBU1NfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1BBU1NfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX0RPQ1VNRU5UU0RCPSR7X0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfVkVDVE9SU0RCPSR7X0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9WRUNUT1JTREJ9JwogICAgICAtICdfQVBQX1NNVFBfSE9TVD0ke19BUFBfU01UUF9IT1NUfScKICAgICAgLSAnX0FQUF9TTVRQX1BPUlQ9JHtfQVBQX1NNVFBfUE9SVH0nCiAgICAgIC0gJ19BUFBfU01UUF9TRUNVUkU9JHtfQVBQX1NNVFBfU0VDVVJFfScKICAgICAgLSAnX0FQUF9TTVRQX1VTRVJOQU1FPSR7X0FQUF9TTVRQX1VTRVJOQU1FfScKICAgICAgLSAnX0FQUF9TTVRQX1BBU1NXT1JEPSR7X0FQUF9TTVRQX1BBU1NXT1JEfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTUlUPSR7X0FQUF9TVE9SQUdFX0xJTUlUOi0zMDAwMDAwMH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9QUkVWSUVXX0xJTUlUPSR7X0FQUF9TVE9SQUdFX1BSRVZJRVdfTElNSVQ6LTIwMDAwMDAwfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0FOVElWSVJVUz0ke19BUFBfU1RPUkFHRV9BTlRJVklSVVM6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0FOVElWSVJVU19IT1NUPSR7X0FQUF9TVE9SQUdFX0FOVElWSVJVU19IT1NUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0FOVElWSVJVU19QT1JUPSR7X0FQUF9TVE9SQUdFX0FOVElWSVJVU19QT1JUOi0zMzEwfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RFVklDRT0ke19BUFBfU1RPUkFHRV9ERVZJQ0U6LWxvY2FsfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfUzNfQUNDRVNTX0tFWX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9TM19TRUNSRVQ9JHtfQVBQX1NUT1JBR0VfUzNfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX1JFR0lPTj0ke19BUFBfU1RPUkFHRV9TM19SRUdJT046LXVzLWVhc3QtMX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9TM19CVUNLRVQ9JHtfQVBQX1NUT1JBR0VfUzNfQlVDS0VUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX0VORFBPSU5UPSR7X0FQUF9TVE9SQUdFX1MzX0VORFBPSU5UfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19BQ0NFU1NfS0VZPSR7X0FQUF9TVE9SQUdFX0RPX1NQQUNFU19BQ0NFU1NfS0VZfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19TRUNSRVQ9JHtfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9ET19TUEFDRVNfUkVHSU9OPSR7X0FQUF9TVE9SQUdFX0RPX1NQQUNFU19SRUdJT046LXVzLWVhc3QtMX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9ET19TUEFDRVNfQlVDS0VUPSR7X0FQUF9TVE9SQUdFX0RPX1NQQUNFU19CVUNLRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0FDQ0VTU19LRVl9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9SRUdJT049JHtfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1JFR0lPTjotdXMtd2VzdC0wMDR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0JVQ0tFVD0ke19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQlVDS0VUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTk9ERV9BQ0NFU1NfS0VZPSR7X0FQUF9TVE9SQUdFX0xJTk9ERV9BQ0NFU1NfS0VZfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTk9ERV9TRUNSRVQ9JHtfQVBQX1NUT1JBR0VfTElOT0RFX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9MSU5PREVfUkVHSU9OPSR7X0FQUF9TVE9SQUdFX0xJTk9ERV9SRUdJT046LWV1LWNlbnRyYWwtMX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9MSU5PREVfQlVDS0VUPSR7X0FQUF9TVE9SQUdFX0xJTk9ERV9CVUNLRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfV0FTQUJJX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfV0FTQUJJX0FDQ0VTU19LRVl9JwogICAgICAtICdfQVBQX1NUT1JBR0VfV0FTQUJJX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9XQVNBQklfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1dBU0FCSV9SRUdJT049JHtfQVBQX1NUT1JBR0VfV0FTQUJJX1JFR0lPTjotZXUtY2VudHJhbC0xfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1dBU0FCSV9CVUNLRVQ9JHtfQVBQX1NUT1JBR0VfV0FTQUJJX0JVQ0tFVH0nCiAgICAgIC0gJ19BUFBfQ09NUFVURV9TSVpFX0xJTUlUPSR7X0FQUF9DT01QVVRFX1NJWkVfTElNSVQ6LTMwMDAwMDAwfScKICAgICAgLSAnX0FQUF9GVU5DVElPTlNfVElNRU9VVD0ke19BUFBfRlVOQ1RJT05TX1RJTUVPVVQ6LTkwMH0nCiAgICAgIC0gJ19BUFBfU0lURVNfVElNRU9VVD0ke19BUFBfU0lURVNfVElNRU9VVDotOTAwfScKICAgICAgLSAnX0FQUF9DT01QVVRFX0JVSUxEX1RJTUVPVVQ9JHtfQVBQX0NPTVBVVEVfQlVJTERfVElNRU9VVDotMjcwMH0nCiAgICAgIC0gJ19BUFBfQ09NUFVURV9DUFVTPSR7X0FQUF9DT01QVVRFX0NQVVM6LTB9JwogICAgICAtICdfQVBQX0NPTVBVVEVfTUVNT1JZPSR7X0FQUF9DT01QVVRFX01FTU9SWTotMH0nCiAgICAgIC0gJ19BUFBfRlVOQ1RJT05TX1JVTlRJTUVTPSR7X0FQUF9GVU5DVElPTlNfUlVOVElNRVM6LW5vZGUtMjJ9JwogICAgICAtICdfQVBQX1NJVEVTX1JVTlRJTUVTPSR7X0FQUF9TSVRFU19SVU5USU1FUzotc3RhdGljLTEsbm9kZS0yMn0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1NJVEVTPSR7X0FQUF9ET01BSU5fU0lURVM6LXNpdGVzLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtIF9BUFBfRVhFQ1VUT1JfU0VDUkVUPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0VYRUNVVE9SCiAgICAgIC0gJ19BUFBfRVhFQ1VUT1JfSE9TVD0ke19BUFBfRVhFQ1VUT1JfSE9TVDotaHR0cDovL29wZW5ydW50aW1lcy1leGVjdXRvci92MX0nCiAgICAgIC0gJ19BUFBfQlVJTERTX1ZPTFVNRT0ke0NPTVBPU0VfUFJPSkVDVF9OQU1FfV9hcHB3cml0ZS1idWlsZHMnCiAgICAgIC0gJ19BUFBfSk9CU19IT1NUPSR7X0FQUF9KT0JTX0hPU1Q6LWh0dHA6Ly9vcmNoZXN0cmF0b3I6ODA4MH0nCiAgICAgIC0gX0FQUF9KT0JTX1NFQ1JFVD0kU0VSVklDRV9QQVNTV09SRF82NF9KT0JTCiAgICAgIC0gJ19BUFBfSk9CU19FTkRQT0lOVD0ke19BUFBfSk9CU19FTkRQT0lOVDotaHR0cDovL2FwcHdyaXRlfScKICAgICAgLSAnX0FQUF9MT0dHSU5HX0NPTkZJRz0ke19BUFBfTE9HR0lOR19DT05GSUd9JwogICAgICAtICdfQVBQX0xPR0dJTkdfRk9STUFUPSR7X0FQUF9MT0dHSU5HX0ZPUk1BVDotcHJldHR5fScKICAgICAgLSAnX0FQUF9MT0NLSU5HX0VOQUJMRUQ9JHtfQVBQX0xPQ0tJTkdfRU5BQkxFRDotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfSU5URVJWQUw9JHtfQVBQX01BSU5URU5BTkNFX0lOVEVSVkFMOi04NjQwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0VYRUNVVElPTj0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0VYRUNVVElPTjotMTIwOTYwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0NBQ0hFPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQ0FDSEU6LTI1OTIwMDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BQlVTRT0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FCVVNFOi04NjQwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVQ6LTEyMDk2MDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVF9DT05TT0xFPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVRfQ09OU09MRX0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1VTQUdFX0hPVVJMWT0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1VTQUdFX0hPVVJMWTotODY0MDAwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1NDSEVEVUxFUz0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1NDSEVEVUxFUzotODY0MDB9JwogICAgICAtICdfQVBQX1NNU19QUk9WSURFUj0ke19BUFBfU01TX1BST1ZJREVSfScKICAgICAgLSAnX0FQUF9TTVNfRlJPTT0ke19BUFBfU01TX0ZST019JwogICAgICAtICdfQVBQX0dSQVBIUUxfSU5UUk9TUEVDVElPTj0ke19BUFBfR1JBUEhRTF9JTlRST1NQRUNUSU9OOi1lbmFibGVkfScKICAgICAgLSAnX0FQUF9HUkFQSFFMX01BWF9CQVRDSF9TSVpFPSR7X0FQUF9HUkFQSFFMX01BWF9CQVRDSF9TSVpFOi0xMH0nCiAgICAgIC0gJ19BUFBfR1JBUEhRTF9NQVhfQ09NUExFWElUWT0ke19BUFBfR1JBUEhRTF9NQVhfQ09NUExFWElUWTotMjUwfScKICAgICAgLSAnX0FQUF9HUkFQSFFMX01BWF9ERVBUSD0ke19BUFBfR1JBUEhRTF9NQVhfREVQVEg6LTN9JwogICAgICAtICdfQVBQX1ZDU19HSVRIVUJfQVBQX05BTUU9JHtfQVBQX1ZDU19HSVRIVUJfQVBQX05BTUV9JwogICAgICAtICdfQVBQX1ZDU19HSVRIVUJfUFJJVkFURV9LRVk9JHtfQVBQX1ZDU19HSVRIVUJfUFJJVkFURV9LRVl9JwogICAgICAtICdfQVBQX1ZDU19HSVRIVUJfQVBQX0lEPSR7X0FQUF9WQ1NfR0lUSFVCX0FQUF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEhVQl9XRUJIT09LX1NFQ1JFVD0ke19BUFBfVkNTX0dJVEhVQl9XRUJIT09LX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEhVQl9DTElFTlRfU0VDUkVUPSR7X0FQUF9WQ1NfR0lUSFVCX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19HSVRIVUJfQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfR0lUSFVCX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEVBX0VORFBPSU5UPSR7X0FQUF9WQ1NfR0lURUFfRU5EUE9JTlR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9CUk9XU0VSX0VORFBPSU5UPSR7X0FQUF9WQ1NfR0lURUFfQlJPV1NFUl9FTkRQT0lOVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEVBX0NMSUVOVF9JRD0ke19BUFBfVkNTX0dJVEVBX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEVBX0NMSUVOVF9TRUNSRVQ9JHtfQVBQX1ZDU19HSVRFQV9DTElFTlRfU0VDUkVUfScKICAgICAgLSAnX0FQUF9WQ1NfR0lURUFfV0VCSE9PS19TRUNSRVQ9JHtfQVBQX1ZDU19HSVRFQV9XRUJIT09LX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVExBQl9FTkRQT0lOVD0ke19BUFBfVkNTX0dJVExBQl9FTkRQT0lOVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVExBQl9DTElFTlRfSUQ9JHtfQVBQX1ZDU19HSVRMQUJfQ0xJRU5UX0lEfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUTEFCX0NMSUVOVF9TRUNSRVQ9JHtfQVBQX1ZDU19HSVRMQUJfQ0xJRU5UX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVExBQl9XRUJIT09LX1NFQ1JFVD0ke19BUFBfVkNTX0dJVExBQl9XRUJIT09LX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX0JJVEJVQ0tFVF9DTElFTlRfSUQ9JHtfQVBQX1ZDU19CSVRCVUNLRVRfQ0xJRU5UX0lEfScKICAgICAgLSAnX0FQUF9WQ1NfQklUQlVDS0VUX0NMSUVOVF9TRUNSRVQ9JHtfQVBQX1ZDU19CSVRCVUNLRVRfQ0xJRU5UX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX0JJVEJVQ0tFVF9XRUJIT09LX1NFQ1JFVD0ke19BUFBfVkNTX0JJVEJVQ0tFVF9XRUJIT09LX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX09SSUdJTl9DTElFTlRfSUQ9JHtfQVBQX1ZDU19PUklHSU5fQ0xJRU5UX0lEfScKICAgICAgLSAnX0FQUF9WQ1NfT1JJR0lOX1BSSVZBVEVfS0VZPSR7X0FQUF9WQ1NfT1JJR0lOX1BSSVZBVEVfS0VZfScKICAgICAgLSAnX0FQUF9WQ1NfV0VCSE9PS19VUkw9JHtfQVBQX1ZDU19XRUJIT09LX1VSTH0nCiAgICAgIC0gJ19BUFBfTUlHUkFUSU9OU19GSVJFQkFTRV9DTElFTlRfSUQ9JHtfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX0lEfScKICAgICAgLSAnX0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9TRUNSRVQ9JHtfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfQVNTSVNUQU5UX09QRU5BSV9BUElfS0VZPSR7X0FQUF9BU1NJU1RBTlRfT1BFTkFJX0FQSV9LRVl9JwogICAgICAtICdfQVBQX0NPTlNPTEVfQ09VTlRSSUVTX0RFTllMSVNUPSR7X0FQUF9DT05TT0xFX0NPVU5UUklFU19ERU5ZTElTVH0nCiAgICAgIC0gJ19BUFBfRVhQRVJJTUVOVF9MT0dHSU5HX1BST1ZJREVSPSR7X0FQUF9FWFBFUklNRU5UX0xPR0dJTkdfUFJPVklERVJ9JwogICAgICAtICdfQVBQX0VYUEVSSU1FTlRfTE9HR0lOR19DT05GSUc9JHtfQVBQX0VYUEVSSU1FTlRfTE9HR0lOR19DT05GSUd9JwogICAgICAtICdfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVM9JHtfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVN9JwogICAgICAtICdfQVBQX0RBVEFCQVNFX1NIQVJFRF9OQU1FU1BBQ0U9JHtfQVBQX0RBVEFCQVNFX1NIQVJFRF9OQU1FU1BBQ0V9JwogICAgICAtICdfQVBQX0ZVTkNUSU9OU19DUkVBVElPTl9BQlVTRV9MSU1JVD0ke19BUFBfRlVOQ1RJT05TX0NSRUFUSU9OX0FCVVNFX0xJTUlUfScKICAgICAgLSAnX0FQUF9DVVNUT01fRE9NQUlOX0RFTllfTElTVD0ke19BUFBfQ1VTVE9NX0RPTUFJTl9ERU5ZX0xJU1Q6LWV4YW1wbGUuY29tLHRlc3QuY29tLGFwcC5leGFtcGxlLmNvbX0nCiAgICAgIC0gJ19BUFBfVFJVU1RFRF9IRUFERVJTPSR7X0FQUF9UUlVTVEVEX0hFQURFUlM6LXgtZm9yd2FyZGVkLWZvcn0nCiAgICAgIC0gJ19BUFBfTUlHUkFUSU9OX0hPU1Q9JHtfQVBQX01JR1JBVElPTl9IT1NUOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9HRU9fU0VDUkVUPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0dFTwogICAgICAtICdfQVBQX0dFT19FTkRQT0lOVD0ke19BUFBfR0VPX0VORFBPSU5UOi1odHRwOi8vYXBwd3JpdGUtZ2VvL3YxfScKICAgICAgLSAnX0FQUF9MSU1JVF9EQVRBQkFTRV9CQVRDSD0ke19BUFBfTElNSVRfREFUQUJBU0VfQkFUQ0g6LTEwMH0nCiAgICAgIC0gJ19BUFBfRE9DVU1FTlRTREI9JHtfQVBQX0RPQ1VNRU5UU0RCOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfVkVDVE9SU0RCPSR7X0FQUF9WRUNUT1JTREI6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9FTUJFRERJTkc9JHtfQVBQX0VNQkVERElORzotZGlzYWJsZWR9JwogICAgdm9sdW1lczoKICAgICAgLSAnYXBwd3JpdGUtdXBsb2Fkczovc3RvcmFnZS91cGxvYWRzOnJ3JwogICAgICAtICdhcHB3cml0ZS1pbXBvcnRzOi9zdG9yYWdlL2ltcG9ydHM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWNhY2hlOi9zdG9yYWdlL2NhY2hlOnJ3JwogICAgICAtICdhcHB3cml0ZS1jb25maWc6L3N0b3JhZ2UvY29uZmlnOnJ3JwogICAgICAtICdhcHB3cml0ZS1jZXJ0aWZpY2F0ZXM6L3N0b3JhZ2UvY2VydGlmaWNhdGVzOnJ3JwogICAgICAtICdhcHB3cml0ZS1mdW5jdGlvbnM6L3N0b3JhZ2UvZnVuY3Rpb25zOnJ3JwogICAgICAtICdhcHB3cml0ZS1zaXRlczovc3RvcmFnZS9zaXRlczpydycKICAgICAgLSAnYXBwd3JpdGUtYnVpbGRzOi9zdG9yYWdlL2J1aWxkczpydycKICAgIGRlcGVuZHNfb246CiAgICAgIGFwcHdyaXRlLXBvc3RncmVzcWw6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgICAgYXBwd3JpdGUtcmVkaXM6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgICAgYXBwd3JpdGUtY2xpY2tob3VzZToKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1nZW86CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAnY3VybCAtZnNTIC1vIC9kZXYvbnVsbCBodHRwOi8vbG9jYWxob3N0L3YxL2hlYWx0aC92ZXJzaW9uIHx8IGV4aXQgMScKICAgICAgaW50ZXJ2YWw6IDIwcwogICAgICB0aW1lb3V0OiA1cwogICAgICByZXRyaWVzOiA2CiAgICAgIHN0YXJ0X3BlcmlvZDogMTIwcwogIGFwcHdyaXRlLWNvbnNvbGU6CiAgICBpbWFnZTogJ2FwcHdyaXRlL25ldzoxLjEuMTYnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRVJWSUNFX1VSTF9BUFBXUklURV8zMDAwPS8KICAgICAgLSBWSVRFX0NPTlNPTEVfUFJPRklMRT1zZWxmLWhvc3RlZAogICAgICAtIEFQUFdSSVRFX0VORFBPSU5UX1NBTUVfT1JJR0lOPXRydWUKICAgICAgLSAnVklURV9HUk9XVEhfRU5EUE9JTlQ9JHtWSVRFX0dST1dUSF9FTkRQT0lOVDotaHR0cHM6Ly9ncm93dGguYXBwd3JpdGUuaW8vdjF9JwogICAgZGVwZW5kc19vbjoKICAgICAgYXBwd3JpdGU6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAnYnVuIC1lICJmZXRjaCgnJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMCcnKS50aGVuKHIgPT4gcHJvY2Vzcy5leGl0KHIuc3RhdHVzIDwgNTAwID8gMCA6IDEpKS5jYXRjaCgoKSA9PiBwcm9jZXNzLmV4aXQoMSkpIicKICAgICAgaW50ZXJ2YWw6IDIwcwogICAgICB0aW1lb3V0OiA1cwogICAgICByZXRyaWVzOiAzCiAgYXBwd3JpdGUtcmVhbHRpbWU6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjIuMC4wJwogICAgZW50cnlwb2ludDogcmVhbHRpbWUKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfVVJMX0FQUFdSSVRFPS92MS9yZWFsdGltZQogICAgICAtICdfQVBQX0VOVj0ke19BUFBfRU5WOi1wcm9kdWN0aW9ufScKICAgICAgLSAnX0FQUF9VU0FHRV9TVEFUUz0ke19BUFBfVVNBR0VfU1RBVFM6LWVuYWJsZWR9JwogICAgICAtICdfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU9JHtfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU6LXYxLXN0YXRzLXVzYWdlfScKICAgICAgLSAnX0FQUF9XT1JLRVJfUEVSX0NPUkU9JHtfQVBQX1dPUktFUl9QRVJfQ09SRTotNn0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19BQlVTRT0ke19BUFBfT1BUSU9OU19BQlVTRTotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19ST1VURVJfUFJPVEVDVElPTj0ke19BUFBfT1BUSU9OU19ST1VURVJfUFJPVEVDVElPTjotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfSE9TVE5BTUVTPSR7X0FQUF9DT05TT0xFX0hPU1ROQU1FU30nCiAgICAgIC0gJ19BUFBfUkVBTFRJTUVfVEFJTF9SQVRFPSR7X0FQUF9SRUFMVElNRV9UQUlMX1JBVEU6LTUwfScKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0FQUFdSSVRFCiAgICAgIC0gJ19BUFBfUkVESVNfSE9TVD0ke19BUFBfUkVESVNfSE9TVDotYXBwd3JpdGUtcmVkaXN9JwogICAgICAtICdfQVBQX1JFRElTX1BPUlQ9JHtfQVBQX1JFRElTX1BPUlQ6LTYzNzl9JwogICAgICAtICdfQVBQX1JFRElTX1VTRVI9JHtfQVBQX1JFRElTX1VTRVJ9JwogICAgICAtICdfQVBQX1JFRElTX1BBU1M9JHtfQVBQX1JFRElTX1BBU1N9JwogICAgICAtICdfQVBQX0RCX0FEQVBURVI9JHtfQVBQX0RCX0FEQVBURVI6LXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX0hPU1Q9JHtfQVBQX0RCX0hPU1Q6LWFwcHdyaXRlLXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX1BPUlQ9JHtfQVBQX0RCX1BPUlQ6LTU0MzJ9JwogICAgICAtICdfQVBQX0RCX1NDSEVNQT0ke19BUFBfREJfU0NIRU1BOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9EQl9VU0VSPSRTRVJWSUNFX1VTRVJfUE9TVEdSRVMKICAgICAgLSBfQVBQX0RCX1BBU1M9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSX1ZFQ1RPUlNEQj0ke19BUFBfREJfQURBUFRFUl9WRUNUT1JTREI6LXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX0hPU1RfVkVDVE9SU0RCPSR7X0FQUF9EQl9IT1NUX1ZFQ1RPUlNEQjotYXBwd3JpdGUtcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfUE9SVF9WRUNUT1JTREI9JHtfQVBQX0RCX1BPUlRfVkVDVE9SU0RCOi01NDMyfScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUFfVkVDVE9SU0RCPSR7X0FQUF9EQl9TQ0hFTUFfVkVDVE9SU0RCOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9EQl9VU0VSX1ZFQ1RPUlNEQj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gX0FQUF9EQl9QQVNTX1ZFQ1RPUlNEQj0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgICAtICdfQVBQX0RCX0FEQVBURVJfRE9DVU1FTlRTREI9JHtfQVBQX0RCX0FEQVBURVJfRE9DVU1FTlRTREI6LW1vbmdvZGJ9JwogICAgICAtICdfQVBQX0RCX0hPU1RfRE9DVU1FTlRTREI9JHtfQVBQX0RCX0hPU1RfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1BPUlRfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1BPUlRfRE9DVU1FTlRTREI6LTI3MDE3fScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUFfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1NDSEVNQV9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfREJfVVNFUl9ET0NVTUVOVFNEQj0ke19BUFBfREJfVVNFUl9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfREJfUEFTU19ET0NVTUVOVFNEQj0ke19BUFBfREJfUEFTU19ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfRE9DVU1FTlRTREI9JHtfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX0RPQ1VNRU5UU0RCfScKICAgICAgLSAnX0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9WRUNUT1JTREI9JHtfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX1ZFQ1RPUlNEQn0nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19DT05GSUc9JHtfQVBQX0xPR0dJTkdfQ09ORklHfScKICAgICAgLSAnX0FQUF9MT0dHSU5HX0ZPUk1BVD0ke19BUFBfTE9HR0lOR19GT1JNQVQ6LXByZXR0eX0nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19DT05GSUdfUkVBTFRJTUU9JHtfQVBQX0xPR0dJTkdfQ09ORklHX1JFQUxUSU1FfScKICAgICAgLSAnX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTPSR7X0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTfScKICAgICAgLSAnX0FQUF9MSU1JVF9EQVRBQkFTRV9CQVRDSD0ke19BUFBfTElNSVRfREFUQUJBU0VfQkFUQ0g6LTEwMH0nCiAgICAgIC0gJ19BUFBfRE9DVU1FTlRTREI9JHtfQVBQX0RPQ1VNRU5UU0RCOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfVkVDVE9SU0RCPSR7X0FQUF9WRUNUT1JTREI6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9FTUJFRERJTkc9JHtfQVBQX0VNQkVERElORzotZGlzYWJsZWR9JwogICAgICAtIF9BUFBfUE9PTF9BREFQVEVSPXN3b29sZQogICAgZGVwZW5kc19vbjoKICAgICAgYXBwd3JpdGUtcG9zdGdyZXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1yZWRpczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdjdXJsIC1zIGxvY2FsaG9zdCA+IC9kZXYvbnVsbCB8fCBleGl0IDEnCiAgICAgIGludGVydmFsOiAyMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMwogIGFwcHdyaXRlLXdvcmtlcjoKICAgIGltYWdlOiAnYXBwd3JpdGUvYXBwd3JpdGU6Mi4wLjAnCiAgICBlbnRyeXBvaW50OiB3b3JrZXIKICAgIGVudmlyb25tZW50OgogICAgICAtICdfQVBQX0VOVj0ke19BUFBfRU5WOi1wcm9kdWN0aW9ufScKICAgICAgLSAnX0FQUF9VU0FHRV9TVEFUUz0ke19BUFBfVVNBR0VfU1RBVFM6LWVuYWJsZWR9JwogICAgICAtIF9BUFBfVVNBR0VfUEFTUz0kU0VSVklDRV9QQVNTV09SRF9DTElDS0hPVVNFCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREJfVVNBR0U9aHR0cDovL2FwcHdyaXRlOiRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0VAYXBwd3JpdGUtY2xpY2tob3VzZTo4MTIzL2FwcHdyaXRlJwogICAgICAtICdfQVBQX1BPT0xfU0laRV9VU0FHRT0ke19BUFBfUE9PTF9TSVpFX1VTQUdFOi0yfScKICAgICAgLSAnX0FQUF9FWEVDVVRJT05TX0RVQUxfV1JJVEU9JHtfQVBQX0VYRUNVVElPTlNfRFVBTF9XUklURTotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREJfRVhFQ1VUSU9OUz1odHRwOi8vYXBwd3JpdGU6JFNFUlZJQ0VfUEFTU1dPUkRfQ0xJQ0tIT1VTRUBhcHB3cml0ZS1jbGlja2hvdXNlOjgxMjMvYXBwd3JpdGUnCiAgICAgIC0gJ19BUFBfUE9PTF9TSVpFX0VYRUNVVElPTlM9JHtfQVBQX1BPT0xfU0laRV9FWEVDVVRJT05TOi0yfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfVFRMPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfVFRMOi0xODB9JwogICAgICAtICdfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU9JHtfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU6LXYxLXN0YXRzLXVzYWdlfScKICAgICAgLSAnX0FQUF9TVEFUU19SRVNPVVJDRVNfUVVFVUVfTkFNRT0ke19BUFBfU1RBVFNfUkVTT1VSQ0VTX1FVRVVFX05BTUU6LXYxLXN0YXRzLXJlc291cmNlc30nCiAgICAgIC0gJ19BUFBfU1RBVFNfUkVTT1VSQ0VTX0lOVEVSVkFMPSR7X0FQUF9TVEFUU19SRVNPVVJDRVNfSU5URVJWQUw6LTM2MDB9JwogICAgICAtIF9BUFBfV09SS0VSU19OVU09MQogICAgICAtIF9BUFBfV09SS0VSX01BWF9DT1JPVVRJTkVTPTc4CiAgICAgIC0gJ19BUFBfV09SS0VSX1BFUl9DT1JFPSR7X0FQUF9XT1JLRVJfUEVSX0NPUkU6LTZ9JwogICAgICAtICdfQVBQX1BPT0xfQURBUFRFUj0ke19BUFBfUE9PTF9BREFQVEVSOi1zdGFja30nCiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMT0kU0VSVklDRV9QQVNTV09SRF82NF9BUFBXUklURQogICAgICAtICdfQVBQX0VNQUlMX1NFQ1VSSVRZPSR7X0FQUF9FTUFJTF9TRUNVUklUWTotc2VjdXJpdHlAYXBwd3JpdGUuaW99JwogICAgICAtICdfQVBQX0VNQUlMX0NFUlRJRklDQVRFUz0ke19BUFBfRU1BSUxfQ0VSVElGSUNBVEVTfScKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSPSR7X0FQUF9EQl9BREFQVEVSOi1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9IT1NUPSR7X0FQUF9EQl9IT1NUOi1hcHB3cml0ZS1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9QT1JUPSR7X0FQUF9EQl9QT1JUOi01NDMyfScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUE9JHtfQVBQX0RCX1NDSEVNQTotYXBwd3JpdGV9JwogICAgICAtIF9BUFBfREJfVVNFUj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gX0FQUF9EQl9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTCiAgICAgIC0gJ19BUFBfREJfQURBUFRFUl9WRUNUT1JTREI9JHtfQVBQX0RCX0FEQVBURVJfVkVDVE9SU0RCOi1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9IT1NUX1ZFQ1RPUlNEQj0ke19BUFBfREJfSE9TVF9WRUNUT1JTREI6LWFwcHdyaXRlLXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX1BPUlRfVkVDVE9SU0RCPSR7X0FQUF9EQl9QT1JUX1ZFQ1RPUlNEQjotNTQzMn0nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BX1ZFQ1RPUlNEQj0ke19BUFBfREJfU0NIRU1BX1ZFQ1RPUlNEQjotYXBwd3JpdGV9JwogICAgICAtIF9BUFBfREJfVVNFUl9WRUNUT1JTREI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFUwogICAgICAtIF9BUFBfREJfUEFTU19WRUNUT1JTREI9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9BREFQVEVSX0RPQ1VNRU5UU0RCOi1tb25nb2RifScKICAgICAgLSAnX0FQUF9EQl9IT1NUX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9IT1NUX0RPQ1VNRU5UU0RCfScKICAgICAgLSAnX0FQUF9EQl9QT1JUX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9QT1JUX0RPQ1VNRU5UU0RCOi0yNzAxN30nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9TQ0hFTUFfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1VTRVJfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1VTRVJfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1BBU1NfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1BBU1NfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX0RPQ1VNRU5UU0RCPSR7X0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfVkVDVE9SU0RCPSR7X0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9WRUNUT1JTREJ9JwogICAgICAtICdfQVBQX1JFRElTX0hPU1Q9JHtfQVBQX1JFRElTX0hPU1Q6LWFwcHdyaXRlLXJlZGlzfScKICAgICAgLSAnX0FQUF9SRURJU19QT1JUPSR7X0FQUF9SRURJU19QT1JUOi02Mzc5fScKICAgICAgLSAnX0FQUF9SRURJU19VU0VSPSR7X0FQUF9SRURJU19VU0VSfScKICAgICAgLSAnX0FQUF9SRURJU19QQVNTPSR7X0FQUF9SRURJU19QQVNTfScKICAgICAgLSAnX0FQUF9MT0dHSU5HX0NPTkZJRz0ke19BUFBfTE9HR0lOR19DT05GSUd9JwogICAgICAtICdfQVBQX0xPR0dJTkdfRk9STUFUPSR7X0FQUF9MT0dHSU5HX0ZPUk1BVDotcHJldHR5fScKICAgICAgLSAnX0FQUF9MT0dHSU5HX1BST1ZJREVSPSR7X0FQUF9MT0dHSU5HX1BST1ZJREVSfScKICAgICAgLSAnX0FQUF9RVUVVRV9OQU1FPSR7X0FQUF9RVUVVRV9OQU1FfScKICAgICAgLSAnX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTPSR7X0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTfScKICAgICAgLSBfQVBQX0NPTlNPTEVfVVJMX1NDSEVNRT1yb290CiAgICAgIC0gJ19BUFBfQ09OU09MRV9ET01BSU49JHtfQVBQX0NPTlNPTEVfRE9NQUlOfScKICAgICAgLSAnX0FQUF9DT05TT0xFX1RSVVNURURfUFJPSkVDVFM9JHtfQVBQX0NPTlNPTEVfVFJVU1RFRF9QUk9KRUNUU30nCiAgICAgIC0gJ19BUFBfRE9NQUlOPSR7X0FQUF9ET01BSU46LSRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU6LWxvY2FsaG9zdH0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BQUFBPSR7X0FQUF9ET01BSU5fVEFSR0VUX0FBQUE6LTo6MX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BPSR7X0FQUF9ET01BSU5fVEFSR0VUX0E6LTEyNy4wLjAuMX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9DQUE9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ0FBfScKICAgICAgLSAnX0FQUF9ETlM9JHtfQVBQX0ROU30nCiAgICAgIC0gJ19BUFBfRE9NQUlOX0ZVTkNUSU9OUz0ke19BUFBfRE9NQUlOX0ZVTkNUSU9OUzotZnVuY3Rpb25zLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9TSVRFUz0ke19BUFBfRE9NQUlOX1NJVEVTOi1zaXRlcy4kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTPSR7X0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTOi1lbmFibGVkfScKICAgICAgLSAnX0FQUF9PUFRJT05TX1JPVVRFUl9GT1JDRV9IVFRQUz0ke19BUFBfT1BUSU9OU19ST1VURVJfRk9SQ0VfSFRUUFM6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9XRUJIT09LX01BWF9GQUlMRURfQVRURU1QVFM9JHtfQVBQX1dFQkhPT0tfTUFYX0ZBSUxFRF9BVFRFTVBUUzotMTB9JwogICAgICAtICdfQVBQX1NUT1JBR0VfREVWSUNFPSR7X0FQUF9TVE9SQUdFX0RFVklDRTotbG9jYWx9JwogICAgICAtICdfQVBQX1NUT1JBR0VfUzNfQUNDRVNTX0tFWT0ke19BUFBfU1RPUkFHRV9TM19BQ0NFU1NfS0VZfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9TM19TRUNSRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfUzNfUkVHSU9OPSR7X0FQUF9TVE9SQUdFX1MzX1JFR0lPTjotdXMtZWFzdC0xfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX0JVQ0tFVD0ke19BUFBfU1RPUkFHRV9TM19CVUNLRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfUzNfRU5EUE9JTlQ9JHtfQVBQX1NUT1JBR0VfUzNfRU5EUE9JTlR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0FDQ0VTU19LRVl9JwogICAgICAtICdfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9ET19TUEFDRVNfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19SRUdJT049JHtfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1JFR0lPTjotdXMtZWFzdC0xfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19CVUNLRVQ9JHtfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0JVQ0tFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQUNDRVNTX0tFWT0ke19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQUNDRVNTX0tFWX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfU0VDUkVUPSR7X0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9TRUNSRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1JFR0lPTj0ke19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfUkVHSU9OOi11cy13ZXN0LTAwNH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQlVDS0VUPSR7X0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9CVUNLRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfTElOT0RFX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfTElOT0RFX0FDQ0VTU19LRVl9JwogICAgICAtICdfQVBQX1NUT1JBR0VfTElOT0RFX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9MSU5PREVfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTk9ERV9SRUdJT049JHtfQVBQX1NUT1JBR0VfTElOT0RFX1JFR0lPTjotZXUtY2VudHJhbC0xfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTk9ERV9CVUNLRVQ9JHtfQVBQX1NUT1JBR0VfTElOT0RFX0JVQ0tFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9XQVNBQklfQUNDRVNTX0tFWT0ke19BUFBfU1RPUkFHRV9XQVNBQklfQUNDRVNTX0tFWX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9XQVNBQklfU0VDUkVUPSR7X0FQUF9TVE9SQUdFX1dBU0FCSV9TRUNSRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfV0FTQUJJX1JFR0lPTj0ke19BUFBfU1RPUkFHRV9XQVNBQklfUkVHSU9OOi1ldS1jZW50cmFsLTF9JwogICAgICAtICdfQVBQX1NUT1JBR0VfV0FTQUJJX0JVQ0tFVD0ke19BUFBfU1RPUkFHRV9XQVNBQklfQlVDS0VUfScKICAgICAgLSBfQVBQX0VYRUNVVE9SX1NFQ1JFVD0kU0VSVklDRV9QQVNTV09SRF82NF9FWEVDVVRPUgogICAgICAtICdfQVBQX0VYRUNVVE9SX0hPU1Q9JHtfQVBQX0VYRUNVVE9SX0hPU1Q6LWh0dHA6Ly9vcGVucnVudGltZXMtZXhlY3V0b3IvdjF9JwogICAgICAtICdfQVBQX0RPQ0tFUl9IVUJfVVNFUk5BTUU9JHtfQVBQX0RPQ0tFUl9IVUJfVVNFUk5BTUV9JwogICAgICAtICdfQVBQX0RPQ0tFUl9IVUJfUEFTU1dPUkQ9JHtfQVBQX0RPQ0tFUl9IVUJfUEFTU1dPUkR9JwogICAgICAtICdfQVBQX0ZVTkNUSU9OU19USU1FT1VUPSR7X0FQUF9GVU5DVElPTlNfVElNRU9VVDotOTAwfScKICAgICAgLSAnX0FQUF9TSVRFU19USU1FT1VUPSR7X0FQUF9TSVRFU19USU1FT1VUOi05MDB9JwogICAgICAtICdfQVBQX0NPTVBVVEVfQlVJTERfVElNRU9VVD0ke19BUFBfQ09NUFVURV9CVUlMRF9USU1FT1VUOi0yNzAwfScKICAgICAgLSAnX0FQUF9DT01QVVRFX0NQVVM9JHtfQVBQX0NPTVBVVEVfQ1BVUzotMH0nCiAgICAgIC0gJ19BUFBfQ09NUFVURV9NRU1PUlk9JHtfQVBQX0NPTVBVVEVfTUVNT1JZOi0wfScKICAgICAgLSAnX0FQUF9PUEVOX1JVTlRJTUVTX05GVD0ke19BUFBfT1BFTl9SVU5USU1FU19ORlQ6LWVuYWJsZWR9JwogICAgICAtICdfQVBQX0NPTVBVVEVfU0laRV9MSU1JVD0ke19BUFBfQ09NUFVURV9TSVpFX0xJTUlUOi0zMDAwMDAwMH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEhVQl9BUFBfTkFNRT0ke19BUFBfVkNTX0dJVEhVQl9BUFBfTkFNRX0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEhVQl9QUklWQVRFX0tFWT0ke19BUFBfVkNTX0dJVEhVQl9QUklWQVRFX0tFWX0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEhVQl9BUFBfSUQ9JHtfQVBQX1ZDU19HSVRIVUJfQVBQX0lEfScKICAgICAgLSAnX0FQUF9WQ1NfR0lURUFfRU5EUE9JTlQ9JHtfQVBQX1ZDU19HSVRFQV9FTkRQT0lOVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEVBX0JST1dTRVJfRU5EUE9JTlQ9JHtfQVBQX1ZDU19HSVRFQV9CUk9XU0VSX0VORFBPSU5UfScKICAgICAgLSAnX0FQUF9WQ1NfR0lURUFfQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfR0lURUFfQ0xJRU5UX0lEfScKICAgICAgLSAnX0FQUF9WQ1NfR0lURUFfQ0xJRU5UX1NFQ1JFVD0ke19BUFBfVkNTX0dJVEVBX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9XRUJIT09LX1NFQ1JFVD0ke19BUFBfVkNTX0dJVEVBX1dFQkhPT0tfU0VDUkVUfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUTEFCX0VORFBPSU5UPSR7X0FQUF9WQ1NfR0lUTEFCX0VORFBPSU5UfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUTEFCX0NMSUVOVF9JRD0ke19BUFBfVkNTX0dJVExBQl9DTElFTlRfSUR9JwogICAgICAtICdfQVBQX1ZDU19HSVRMQUJfQ0xJRU5UX1NFQ1JFVD0ke19BUFBfVkNTX0dJVExBQl9DTElFTlRfU0VDUkVUfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUTEFCX1dFQkhPT0tfU0VDUkVUPSR7X0FQUF9WQ1NfR0lUTEFCX1dFQkhPT0tfU0VDUkVUfScKICAgICAgLSAnX0FQUF9WQ1NfQklUQlVDS0VUX0NMSUVOVF9JRD0ke19BUFBfVkNTX0JJVEJVQ0tFVF9DTElFTlRfSUR9JwogICAgICAtICdfQVBQX1ZDU19CSVRCVUNLRVRfQ0xJRU5UX1NFQ1JFVD0ke19BUFBfVkNTX0JJVEJVQ0tFVF9DTElFTlRfU0VDUkVUfScKICAgICAgLSAnX0FQUF9WQ1NfQklUQlVDS0VUX1dFQkhPT0tfU0VDUkVUPSR7X0FQUF9WQ1NfQklUQlVDS0VUX1dFQkhPT0tfU0VDUkVUfScKICAgICAgLSAnX0FQUF9WQ1NfT1JJR0lOX0NMSUVOVF9JRD0ke19BUFBfVkNTX09SSUdJTl9DTElFTlRfSUR9JwogICAgICAtICdfQVBQX1ZDU19PUklHSU5fUFJJVkFURV9LRVk9JHtfQVBQX1ZDU19PUklHSU5fUFJJVkFURV9LRVl9JwogICAgICAtICdfQVBQX1ZDU19XRUJIT09LX1VSTD0ke19BUFBfVkNTX1dFQkhPT0tfVVJMfScKICAgICAgLSAnX0FQUF9CVUlMRFNfVk9MVU1FPSR7Q09NUE9TRV9QUk9KRUNUX05BTUV9X2FwcHdyaXRlLWJ1aWxkcycKICAgICAgLSAnX0FQUF9KT0JTX0hPU1Q9JHtfQVBQX0pPQlNfSE9TVDotaHR0cDovL29yY2hlc3RyYXRvcjo4MDgwfScKICAgICAgLSBfQVBQX0pPQlNfU0VDUkVUPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0pPQlMKICAgICAgLSAnX0FQUF9KT0JTX0VORFBPSU5UPSR7X0FQUF9KT0JTX0VORFBPSU5UOi1odHRwOi8vYXBwd3JpdGV9JwogICAgICAtICdfQVBQX0JST1dTRVJfSE9TVD0ke19BUFBfQlJPV1NFUl9IT1NUOi1odHRwOi8vYXBwd3JpdGUtYnJvd3NlcjozMDAwL3YxfScKICAgICAgLSAnX0FQUF9XT1JLRVJfU0NSRUVOU0hPVFNfUk9VVEVSPSR7X0FQUF9XT1JLRVJfU0NSRUVOU0hPVFNfUk9VVEVSOi1odHRwOi8vYXBwd3JpdGV9JwogICAgICAtIF9BUFBfTk9USUZJQ0FUSU9OU19UUkFDS0lOR19TRUNSRVQ9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfTk9USUZJQ0FUSU9OUwogICAgICAtICdfQVBQX1NZU1RFTV9FTUFJTF9OQU1FPSR7X0FQUF9TWVNURU1fRU1BSUxfTkFNRTotQXBwd3JpdGV9JwogICAgICAtICdfQVBQX1NZU1RFTV9FTUFJTF9BRERSRVNTPSR7X0FQUF9TWVNURU1fRU1BSUxfQUREUkVTUzotbm9yZXBseUBhcHB3cml0ZS5pb30nCiAgICAgIC0gJ19BUFBfU01UUF9IT1NUPSR7X0FQUF9TTVRQX0hPU1R9JwogICAgICAtICdfQVBQX1NNVFBfUE9SVD0ke19BUFBfU01UUF9QT1JUfScKICAgICAgLSAnX0FQUF9TTVRQX1NFQ1VSRT0ke19BUFBfU01UUF9TRUNVUkV9JwogICAgICAtICdfQVBQX1NNVFBfVVNFUk5BTUU9JHtfQVBQX1NNVFBfVVNFUk5BTUV9JwogICAgICAtICdfQVBQX1NNVFBfUEFTU1dPUkQ9JHtfQVBQX1NNVFBfUEFTU1dPUkR9JwogICAgICAtICdfQVBQX1NNU19GUk9NPSR7X0FQUF9TTVNfRlJPTX0nCiAgICAgIC0gJ19BUFBfU01TX1BST1ZJREVSPSR7X0FQUF9TTVNfUFJPVklERVJ9JwogICAgICAtICdfQVBQX1NNU19QUk9KRUNUU19ERU5ZX0xJU1Q9JHtfQVBQX1NNU19QUk9KRUNUU19ERU5ZX0xJU1R9JwogICAgICAtICdfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX0lEPSR7X0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfTUlHUkFUSU9OU19GSVJFQkFTRV9DTElFTlRfU0VDUkVUPSR7X0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX01JR1JBVElPTl9IT1NUPSR7X0FQUF9NSUdSQVRJT05fSE9TVDotYXBwd3JpdGV9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVD0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUOi0xMjA5NjAwfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVRfQ09OU09MRT0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUX0NPTlNPTEV9JwogICAgICAtICdfQVBQX0xJTUlUX0RBVEFCQVNFX0JBVENIPSR7X0FQUF9MSU1JVF9EQVRBQkFTRV9CQVRDSDotMTAwfScKICAgICAgLSAnX0FQUF9ET0NVTUVOVFNEQj0ke19BUFBfRE9DVU1FTlRTREI6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9WRUNUT1JTREI9JHtfQVBQX1ZFQ1RPUlNEQjotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX0VNQkVERElORz0ke19BUFBfRU1CRURESU5HOi1kaXNhYmxlZH0nCiAgICB2b2x1bWVzOgogICAgICAtICdhcHB3cml0ZS11cGxvYWRzOi9zdG9yYWdlL3VwbG9hZHM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWltcG9ydHM6L3N0b3JhZ2UvaW1wb3J0czpydycKICAgICAgLSAnYXBwd3JpdGUtY2FjaGU6L3N0b3JhZ2UvY2FjaGU6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWNvbmZpZzovc3RvcmFnZS9jb25maWc6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWNlcnRpZmljYXRlczovc3RvcmFnZS9jZXJ0aWZpY2F0ZXM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWZ1bmN0aW9uczovc3RvcmFnZS9mdW5jdGlvbnM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLXNpdGVzOi9zdG9yYWdlL3NpdGVzOnJ3JwogICAgICAtICdhcHB3cml0ZS1idWlsZHM6L3N0b3JhZ2UvYnVpbGRzOnJ3JwogICAgZGVwZW5kc19vbjoKICAgICAgYXBwd3JpdGUtcG9zdGdyZXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1yZWRpczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1jbGlja2hvdXNlOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIG9wZW5ydW50aW1lcy1leGVjdXRvcjoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBvcmNoZXN0cmF0b3I6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAicHMgYXV4IHwgZ3JlcCAtcSAnW3BdaHAnIHx8IGV4aXQgMSIKICAgICAgaW50ZXJ2YWw6IDIwcwogICAgICB0aW1lb3V0OiA1cwogICAgICByZXRyaWVzOiAzCiAgYXBwd3JpdGUtdGFzay1zY2hlZHVsZXI6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjIuMC4wJwogICAgZW50cnlwb2ludDogc2NoZWR1bGUKICAgIGVudmlyb25tZW50OgogICAgICAtICdfQVBQX0VOVj0ke19BUFBfRU5WOi1wcm9kdWN0aW9ufScKICAgICAgLSAnX0FQUF9VU0FHRV9TVEFUUz0ke19BUFBfVVNBR0VfU1RBVFM6LWVuYWJsZWR9JwogICAgICAtIF9BUFBfVVNBR0VfUEFTUz0kU0VSVklDRV9QQVNTV09SRF9DTElDS0hPVVNFCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREJfVVNBR0U9aHR0cDovL2FwcHdyaXRlOiRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0VAYXBwd3JpdGUtY2xpY2tob3VzZTo4MTIzL2FwcHdyaXRlJwogICAgICAtICdfQVBQX1BPT0xfU0laRV9VU0FHRT0ke19BUFBfUE9PTF9TSVpFX1VTQUdFOi0yfScKICAgICAgLSAnX0FQUF9FWEVDVVRJT05TX0RVQUxfV1JJVEU9JHtfQVBQX0VYRUNVVElPTlNfRFVBTF9XUklURTotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREJfRVhFQ1VUSU9OUz1odHRwOi8vYXBwd3JpdGU6JFNFUlZJQ0VfUEFTU1dPUkRfQ0xJQ0tIT1VTRUBhcHB3cml0ZS1jbGlja2hvdXNlOjgxMjMvYXBwd3JpdGUnCiAgICAgIC0gJ19BUFBfUE9PTF9TSVpFX0VYRUNVVElPTlM9JHtfQVBQX1BPT0xfU0laRV9FWEVDVVRJT05TOi0yfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfVFRMPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfVFRMOi0xODB9JwogICAgICAtICdfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU9JHtfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU6LXYxLXN0YXRzLXVzYWdlfScKICAgICAgLSAnX0FQUF9TVEFUU19SRVNPVVJDRVNfUVVFVUVfTkFNRT0ke19BUFBfU1RBVFNfUkVTT1VSQ0VTX1FVRVVFX05BTUU6LXYxLXN0YXRzLXJlc291cmNlc30nCiAgICAgIC0gJ19BUFBfU1RBVFNfUkVTT1VSQ0VTX0lOVEVSVkFMPSR7X0FQUF9TVEFUU19SRVNPVVJDRVNfSU5URVJWQUw6LTM2MDB9JwogICAgICAtICdfQVBQX0xPR0dJTkdfRk9STUFUPSR7X0FQUF9MT0dHSU5HX0ZPUk1BVDotcHJldHR5fScKICAgICAgLSBfQVBQX1dPUktFUl9NQVhfQ09ST1VUSU5FUz04CiAgICAgIC0gJ19BUFBfV09SS0VSX1BFUl9DT1JFPSR7X0FQUF9XT1JLRVJfUEVSX0NPUkU6LTZ9JwogICAgICAtICdfQVBQX1BPT0xfQURBUFRFUj0ke19BUFBfUE9PTF9BREFQVEVSOi1zdGFja30nCiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMT0kU0VSVklDRV9QQVNTV09SRF82NF9BUFBXUklURQogICAgICAtICdfQVBQX09QVElPTlNfRk9SQ0VfSFRUUFM9JHtfQVBQX09QVElPTlNfRk9SQ0VfSFRUUFM6LWVuYWJsZWR9JwogICAgICAtICdfQVBQX0RPTUFJTj0ke19BUFBfRE9NQUlOOi0kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0RPTUFJTj0ke19BUFBfQ09OU09MRV9ET01BSU59JwogICAgICAtICdfQVBQX0NPTlNPTEVfU0NIRU1BPSR7X0FQUF9DT05TT0xFX1NDSEVNQTotYXBwd3JpdGVpb30nCiAgICAgIC0gJ19BUFBfRE9NQUlOX0ZVTkNUSU9OUz0ke19BUFBfRE9NQUlOX0ZVTkNUSU9OUzotZnVuY3Rpb25zLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9TSVRFUz0ke19BUFBfRE9NQUlOX1NJVEVTOi1zaXRlcy4kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9NSUdSQVRJT05fSE9TVD0ke19BUFBfTUlHUkFUSU9OX0hPU1Q6LWFwcHdyaXRlfScKICAgICAgLSAnX0FQUF9SRURJU19IT1NUPSR7X0FQUF9SRURJU19IT1NUOi1hcHB3cml0ZS1yZWRpc30nCiAgICAgIC0gJ19BUFBfUkVESVNfUE9SVD0ke19BUFBfUkVESVNfUE9SVDotNjM3OX0nCiAgICAgIC0gJ19BUFBfUkVESVNfVVNFUj0ke19BUFBfUkVESVNfVVNFUn0nCiAgICAgIC0gJ19BUFBfUkVESVNfUEFTUz0ke19BUFBfUkVESVNfUEFTU30nCiAgICAgIC0gJ19BUFBfREJfQURBUFRFUj0ke19BUFBfREJfQURBUFRFUjotcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfSE9TVD0ke19BUFBfREJfSE9TVDotYXBwd3JpdGUtcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfUE9SVD0ke19BUFBfREJfUE9SVDotNTQzMn0nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BPSR7X0FQUF9EQl9TQ0hFTUE6LWFwcHdyaXRlfScKICAgICAgLSBfQVBQX0RCX1VTRVI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFUwogICAgICAtIF9BUFBfREJfUEFTUz0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgICAtICdfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVM9JHtfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVN9JwogICAgICAtICdfQVBQX0ZVTkNUSU9OU19TQ0hFRFVMRV9TUFJFQUQ9JHtfQVBQX0ZVTkNUSU9OU19TQ0hFRFVMRV9TUFJFQUQ6LTB9JwogICAgZGVwZW5kc19vbjoKICAgICAgYXBwd3JpdGUtcG9zdGdyZXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1yZWRpczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICJwcyBhdXggfCBncmVwIC1xICdbcF1ocCcgfHwgZXhpdCAxIgogICAgICBpbnRlcnZhbDogMjBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDMKICBhcHB3cml0ZS10YXNrLW1haW50ZW5hbmNlOgogICAgaW1hZ2U6ICdhcHB3cml0ZS9hcHB3cml0ZToyLjAuMCcKICAgIGVudHJ5cG9pbnQ6IG1haW50ZW5hbmNlCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnX0FQUF9FTlY9JHtfQVBQX0VOVjotcHJvZHVjdGlvbn0nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19GT1JNQVQ9JHtfQVBQX0xPR0dJTkdfRk9STUFUOi1wcmV0dHl9JwogICAgICAtICdfQVBQX1dPUktFUl9QRVJfQ09SRT0ke19BUFBfV09SS0VSX1BFUl9DT1JFOi02fScKICAgICAgLSAnX0FQUF9QT09MX0FEQVBURVI9JHtfQVBQX1BPT0xfQURBUFRFUjotc3RhY2t9JwogICAgICAtICdfQVBQX0RPTUFJTj0ke19BUFBfRE9NQUlOOi0kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0NOQU1FPSR7X0FQUF9ET01BSU5fVEFSR0VUX0NOQU1FOi1sb2NhbGhvc3R9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQUFBQT0ke19BUFBfRE9NQUlOX1RBUkdFVF9BQUFBOi06OjF9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQT0ke19BUFBfRE9NQUlOX1RBUkdFVF9BOi0xMjcuMC4wLjF9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQ0FBPSR7X0FQUF9ET01BSU5fVEFSR0VUX0NBQX0nCiAgICAgIC0gJ19BUFBfRE5TPSR7X0FQUF9ETlN9JwogICAgICAtICdfQVBQX0RPTUFJTl9GVU5DVElPTlM9JHtfQVBQX0RPTUFJTl9GVU5DVElPTlM6LWZ1bmN0aW9ucy4kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9FRElUSU9OPSR7X0FQUF9FRElUSU9OOi1zZWxmLWhvc3RlZH0nCiAgICAgIC0gJ19BUFBfUk9VVEVSX0FVVE9fQ0VSVElGSUNBVEVTPSR7X0FQUF9ST1VURVJfQVVUT19DRVJUSUZJQ0FURVM6LWRpc2FibGVkfScKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0FQUFdSSVRFCiAgICAgIC0gJ19BUFBfUkVESVNfSE9TVD0ke19BUFBfUkVESVNfSE9TVDotYXBwd3JpdGUtcmVkaXN9JwogICAgICAtICdfQVBQX1JFRElTX1BPUlQ9JHtfQVBQX1JFRElTX1BPUlQ6LTYzNzl9JwogICAgICAtICdfQVBQX1JFRElTX1VTRVI9JHtfQVBQX1JFRElTX1VTRVJ9JwogICAgICAtICdfQVBQX1JFRElTX1BBU1M9JHtfQVBQX1JFRElTX1BBU1N9JwogICAgICAtICdfQVBQX0RCX0FEQVBURVI9JHtfQVBQX0RCX0FEQVBURVI6LXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX0hPU1Q9JHtfQVBQX0RCX0hPU1Q6LWFwcHdyaXRlLXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX1BPUlQ9JHtfQVBQX0RCX1BPUlQ6LTU0MzJ9JwogICAgICAtICdfQVBQX0RCX1NDSEVNQT0ke19BUFBfREJfU0NIRU1BOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9EQl9VU0VSPSRTRVJWSUNFX1VTRVJfUE9TVEdSRVMKICAgICAgLSBfQVBQX0RCX1BBU1M9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9JTlRFUlZBTD0ke19BUFBfTUFJTlRFTkFOQ0VfSU5URVJWQUw6LTg2NDAwfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fRVhFQ1VUSU9OPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fRVhFQ1VUSU9OOi0xMjA5NjAwfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQ0FDSEU9JHtfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9DQUNIRTotMjU5MjAwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FCVVNFPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQUJVU0U6LTg2NDAwfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVQ9JHtfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVDotMTIwOTYwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUX0NPTlNPTEU9JHtfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVF9DT05TT0xFfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfSE9VUkxZPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfSE9VUkxZOi04NjQwMDAwfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fU0NIRURVTEVTPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fU0NIRURVTEVTOi04NjQwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfU1RBUlRfVElNRT0ke19BUFBfTUFJTlRFTkFOQ0VfU1RBUlRfVElNRX0nCiAgICAgIC0gJ19BUFBfREFUQUJBU0VfU0hBUkVEX1RBQkxFUz0ke19BUFBfREFUQUJBU0VfU0hBUkVEX1RBQkxFU30nCiAgICBkZXBlbmRzX29uOgogICAgICBhcHB3cml0ZS1wb3N0Z3Jlc3FsOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIGFwcHdyaXRlLXJlZGlzOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRC1TSEVMTAogICAgICAgIC0gInBzIGF1eCB8IGdyZXAgLXEgJ1twXWhwJyB8fCBleGl0IDEiCiAgICAgIGludGVydmFsOiAyMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMwogIGFwcHdyaXRlLXRhc2staW50ZXJ2YWw6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjIuMC4wJwogICAgZW50cnlwb2ludDogaW50ZXJ2YWwKICAgIGVudmlyb25tZW50OgogICAgICAtICdfQVBQX0VOVj0ke19BUFBfRU5WOi1wcm9kdWN0aW9ufScKICAgICAgLSAnX0FQUF9MT0dHSU5HX0ZPUk1BVD0ke19BUFBfTE9HR0lOR19GT1JNQVQ6LXByZXR0eX0nCiAgICAgIC0gJ19BUFBfV09SS0VSX1BFUl9DT1JFPSR7X0FQUF9XT1JLRVJfUEVSX0NPUkU6LTZ9JwogICAgICAtICdfQVBQX1BPT0xfQURBUFRFUj0ke19BUFBfUE9PTF9BREFQVEVSOi1zdGFja30nCiAgICAgIC0gJ19BUFBfRE9NQUlOPSR7X0FQUF9ET01BSU46LSRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU6LWxvY2FsaG9zdH0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BQUFBPSR7X0FQUF9ET01BSU5fVEFSR0VUX0FBQUE6LTo6MX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BPSR7X0FQUF9ET01BSU5fVEFSR0VUX0E6LTEyNy4wLjAuMX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9DQUE9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ0FBfScKICAgICAgLSAnX0FQUF9ETlM9JHtfQVBQX0ROU30nCiAgICAgIC0gJ19BUFBfRE9NQUlOX0ZVTkNUSU9OUz0ke19BUFBfRE9NQUlOX0ZVTkNUSU9OUzotZnVuY3Rpb25zLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9TSVRFUz0ke19BUFBfRE9NQUlOX1NJVEVTOi1zaXRlcy4kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0FQUFdSSVRFCiAgICAgIC0gJ19BUFBfUkVESVNfSE9TVD0ke19BUFBfUkVESVNfSE9TVDotYXBwd3JpdGUtcmVkaXN9JwogICAgICAtICdfQVBQX1JFRElTX1BPUlQ9JHtfQVBQX1JFRElTX1BPUlQ6LTYzNzl9JwogICAgICAtICdfQVBQX1JFRElTX1VTRVI9JHtfQVBQX1JFRElTX1VTRVJ9JwogICAgICAtICdfQVBQX1JFRElTX1BBU1M9JHtfQVBQX1JFRElTX1BBU1N9JwogICAgICAtICdfQVBQX0RCX0FEQVBURVI9JHtfQVBQX0RCX0FEQVBURVI6LXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX0hPU1Q9JHtfQVBQX0RCX0hPU1Q6LWFwcHdyaXRlLXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX1BPUlQ9JHtfQVBQX0RCX1BPUlQ6LTU0MzJ9JwogICAgICAtICdfQVBQX0RCX1NDSEVNQT0ke19BUFBfREJfU0NIRU1BOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9EQl9VU0VSPSRTRVJWSUNFX1VTRVJfUE9TVEdSRVMKICAgICAgLSBfQVBQX0RCX1BBU1M9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSAnX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTPSR7X0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTfScKICAgICAgLSAnX0FQUF9JTlRFUlZBTF9ET01BSU5fVkVSSUZJQ0FUSU9OPSR7X0FQUF9JTlRFUlZBTF9ET01BSU5fVkVSSUZJQ0FUSU9OOi0xMjB9JwogICAgICAtICdfQVBQX0lOVEVSVkFMX0NMRUFOVVBfU1RBTEVfRVhFQ1VUSU9OUz0ke19BUFBfSU5URVJWQUxfQ0xFQU5VUF9TVEFMRV9FWEVDVVRJT05TOi0zMDB9JwogICAgZGVwZW5kc19vbjoKICAgICAgYXBwd3JpdGUtcG9zdGdyZXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1yZWRpczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICJwcyBhdXggfCBncmVwIC1xICdbcF1ocCcgfHwgZXhpdCAxIgogICAgICBpbnRlcnZhbDogMjBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDMKICBhcHB3cml0ZS1nZW86CiAgICBpbWFnZTogJ2FwcHdyaXRlL2dlbzowLjMuMScKICAgIGVudmlyb25tZW50OgogICAgICAtIEdFT19TRUNSRVQ9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfR0VPCiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRC1TSEVMTAogICAgICAgIC0gInBocCAtciBcImV4aXQoanNvbl9kZWNvZGUoZmlsZV9nZXRfY29udGVudHMoJ2h0dHA6Ly9sb2NhbGhvc3QvdjEvaGVhbHRoJykpLT5zdGF0dXMgPT09ICdvaycgPyAwIDogMSk7XCIiCiAgICAgIGludGVydmFsOiAyMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMwogICAgICBzdGFydF9wZXJpb2Q6IDEwcwogIGFwcHdyaXRlLWFzc2lzdGFudDoKICAgIGltYWdlOiAnYXBwd3JpdGUvYXNzaXN0YW50OjAuOC40JwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gJ19BUFBfQVNTSVNUQU5UX09QRU5BSV9BUElfS0VZPSR7X0FQUF9BU1NJU1RBTlRfT1BFTkFJX0FQSV9LRVl9JwogICAgZXhjbHVkZV9mcm9tX2hjOiB0cnVlCiAgYXBwd3JpdGUtYnJvd3NlcjoKICAgIGltYWdlOiAnYXBwd3JpdGUvYnJvd3NlcjowLjMuNCcKICAgIGV4Y2x1ZGVfZnJvbV9oYzogdHJ1ZQogIG9wZW5ydW50aW1lcy1leGVjdXRvcjoKICAgIGltYWdlOiAnb3BlbnJ1bnRpbWVzL2V4ZWN1dG9yOjAuMjkuMCcKICAgIGhvc3RuYW1lOiBvcGVucnVudGltZXMtZXhlY3V0b3IKICAgIHN0b3Bfc2lnbmFsOiBTSUdJTlQKICAgIGVudmlyb25tZW50OgogICAgICAtICdPUFJfRVhFQ1VUT1JfSU1BR0VTPSR7X0FQUF9FWEVDVVRPUl9JTUFHRVM6LW9wZW5ydW50aW1lcy9ub2RlOnY1LTIyLG9wZW5ydW50aW1lcy9zdGF0aWM6djUtMX0nCiAgICAgIC0gJ09QUl9FWEVDVVRPUl9JTkFDVElWRV9USFJFU0hPTEQ9JHtfQVBQX0NPTVBVVEVfSU5BQ1RJVkVfVEhSRVNIT0xEOi02MDB9JwogICAgICAtICdPUFJfRVhFQ1VUT1JfTUFJTlRFTkFOQ0VfSU5URVJWQUw9JHtfQVBQX0NPTVBVVEVfTUFJTlRFTkFOQ0VfSU5URVJWQUw6LTYwMH0nCiAgICAgIC0gJ09QUl9FWEVDVVRPUl9ORVRXT1JLPSR7X0FQUF9DT01QVVRFX1JVTlRJTUVTX05FVFdPUks6LXJ1bnRpbWVzfScKICAgICAgLSAnT1BSX0VYRUNVVE9SX0RPQ0tFUl9IVUJfVVNFUk5BTUU9JHtfQVBQX0RPQ0tFUl9IVUJfVVNFUk5BTUV9JwogICAgICAtICdPUFJfRVhFQ1VUT1JfRE9DS0VSX0hVQl9QQVNTV09SRD0ke19BUFBfRE9DS0VSX0hVQl9QQVNTV09SRH0nCiAgICAgIC0gJ09QUl9FWEVDVVRPUl9FTlY9JHtfQVBQX0VOVjotcHJvZHVjdGlvbn0nCiAgICAgIC0gJ09QUl9FWEVDVVRPUl9SVU5USU1FUz0ke19BUFBfRlVOQ1RJT05TX1JVTlRJTUVTOi1ub2RlLTIyfSwke19BUFBfU0lURVNfUlVOVElNRVM6LXN0YXRpYy0xLG5vZGUtMjJ9JwogICAgICAtIE9QUl9FWEVDVVRPUl9TRUNSRVQ9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfRVhFQ1VUT1IKICAgICAgLSBPUFJfRVhFQ1VUT1JfUlVOVElNRV9WRVJTSU9OUz12NQogICAgICAtICdPUEVOX1JVTlRJTUVTX05GVD0ke19BUFBfT1BFTl9SVU5USU1FU19ORlQ6LWVuYWJsZWR9JwogICAgICAtICdPUFJfRVhFQ1VUT1JfTE9HR0lOR19DT05GSUc9JHtfQVBQX0xPR0dJTkdfQ09ORklHfScKICAgICAgLSAnT1BSX0VYRUNVVE9SX0NPTk5FQ1RJT05fU1RPUkFHRT0ke19BUFBfRVhFQ1VUT1JfQ09OTkVDVElPTl9TVE9SQUdFOi1sb2NhbDovL2xvY2FsaG9zdH0nCiAgICAgIC0gT1BSX0VYRUNVVE9SX0NPTk5FQ1RJT05fQlVJTERfQ0FDSEVfU1RPUkFHRT0KICAgIHZvbHVtZXM6CiAgICAgIC0gJy92YXIvcnVuL2RvY2tlci5zb2NrOi92YXIvcnVuL2RvY2tlci5zb2NrJwogICAgICAtICdhcHB3cml0ZS1idWlsZHM6L3N0b3JhZ2UvYnVpbGRzOnJ3JwogICAgICAtICdhcHB3cml0ZS1mdW5jdGlvbnM6L3N0b3JhZ2UvZnVuY3Rpb25zOnJ3JwogICAgICAtICdhcHB3cml0ZS1zaXRlczovc3RvcmFnZS9zaXRlczpydycKICAgICAgLSAnL3RtcDovdG1wOnJ3JwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdjdXJsIC1mc1MgLUggIkF1dGhvcml6YXRpb246IEJlYXJlciAkJE9QUl9FWEVDVVRPUl9TRUNSRVQiIGh0dHA6Ly9sb2NhbGhvc3QvdjEvaGVhbHRoID4gL2Rldi9udWxsIHx8IGV4aXQgMScKICAgICAgaW50ZXJ2YWw6IDIwcwogICAgICB0aW1lb3V0OiA1cwogICAgICByZXRyaWVzOiAzCiAgICAgIHN0YXJ0X3BlcmlvZDogMTBzCiAgb3JjaGVzdHJhdG9yOgogICAgaW1hZ2U6ICdnaGNyLmlvL29wZW4tcnVudGltZXMvb3JjaGVzdHJhdG9yL29yY2hlc3RyYXRvcjoyLjAuMScKICAgIGhvc3RuYW1lOiBvcmNoZXN0cmF0b3IKICAgIHVzZXI6IHJvb3QKICAgIGVudmlyb25tZW50OgogICAgICAtIE9SQ0hFU1RSQVRPUl9CQUNLRU5EPWRvY2tlcgogICAgICAtICdPUkNIRVNUUkFUT1JfTkVUV09SSz0ke0NPTVBPU0VfUFJPSkVDVF9OQU1FfScKICAgICAgLSAnRE9DS0VSX05FVFdPUks9JHtDT01QT1NFX1BST0pFQ1RfTkFNRX0nCiAgICAgIC0gJ0FSVElGQUNUX0VORFBPSU5UPWh0dHA6Ly9vcmNoZXN0cmF0b3I6ODA4MCcKICAgICAgLSAnUzNfRU5EUE9JTlQ9JHtfQVBQX1NUT1JBR0VfUzNfRU5EUE9JTlR9JwogICAgICAtICdTM19SRUdJT049JHtfQVBQX1NUT1JBR0VfUzNfUkVHSU9OOi11cy1lYXN0LTF9JwogICAgICAtICdTM19BQ0NFU1NfS0VZX0lEPSR7X0FQUF9TVE9SQUdFX1MzX0FDQ0VTU19LRVl9JwogICAgICAtICdTM19TRUNSRVRfQUNDRVNTX0tFWT0ke19BUFBfU1RPUkFHRV9TM19TRUNSRVR9JwogICAgdm9sdW1lczoKICAgICAgLSAnL3Zhci9ydW4vZG9ja2VyLnNvY2s6L3Zhci9ydW4vZG9ja2VyLnNvY2snCiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRAogICAgICAgIC0gL2tvLWFwcC9vcmNoZXN0cmF0b3IKICAgICAgICAtICctY2hlY2stcmVhZHknCiAgICAgIGludGVydmFsOiAyMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMwogICAgICBzdGFydF9wZXJpb2Q6IDEwcwogIGFwcHdyaXRlLXBvc3RncmVzcWw6CiAgICBpbWFnZTogJ2FwcHdyaXRlL3Bvc3RncmVzOjAuMS4wJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gJ1BPU1RHUkVTX0RCPSR7X0FQUF9EQl9TQ0hFTUE6LWFwcHdyaXRlfScKICAgICAgLSBQT1NUR1JFU19VU0VSPSRTRVJWSUNFX1VTRVJfUE9TVEdSRVMKICAgICAgLSBQT1NUR1JFU19QQVNTV09SRD0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgdm9sdW1lczoKICAgICAgLSAnYXBwd3JpdGUtcG9zdGdyZXNxbDovdmFyL2xpYi9wb3N0Z3Jlc3FsOnJ3JwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdwZ19pc3JlYWR5IC1VICQke1BPU1RHUkVTX1VTRVJ9IC1kICQke1BPU1RHUkVTX0RCfScKICAgICAgaW50ZXJ2YWw6IDEwcwogICAgICB0aW1lb3V0OiA1cwogICAgICByZXRyaWVzOiAxMAogICAgICBzdGFydF9wZXJpb2Q6IDEwcwogIGFwcHdyaXRlLXJlZGlzOgogICAgaW1hZ2U6ICdyZWRpczo3LjQuNy1hbHBpbmUnCiAgICBjb21tYW5kOiAncmVkaXMtc2VydmVyIC0tbWF4bWVtb3J5IDUxMm1iIC0tbWF4bWVtb3J5LXBvbGljeSBhbGxrZXlzLWxydSAtLW1heG1lbW9yeS1zYW1wbGVzIDUnCiAgICB2b2x1bWVzOgogICAgICAtICdhcHB3cml0ZS1yZWRpczovZGF0YTpydycKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ECiAgICAgICAgLSByZWRpcy1jbGkKICAgICAgICAtIHBpbmcKICAgICAgaW50ZXJ2YWw6IDIwcwogICAgICB0aW1lb3V0OiAxMHMKICAgICAgcmV0cmllczogNQogIGFwcHdyaXRlLWNsaWNraG91c2U6CiAgICBpbWFnZTogJ2NsaWNraG91c2UvY2xpY2tob3VzZS1zZXJ2ZXI6MjYuNC4zLWFscGluZScKICAgIGVudmlyb25tZW50OgogICAgICAtIENMSUNLSE9VU0VfREI9YXBwd3JpdGUKICAgICAgLSBDTElDS0hPVVNFX1VTRVI9YXBwd3JpdGUKICAgICAgLSBDTElDS0hPVVNFX1BBU1NXT1JEPSRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0UKICAgICAgLSBDTElDS0hPVVNFX0RFRkFVTFRfQUNDRVNTX01BTkFHRU1FTlQ9MQogICAgdm9sdW1lczoKICAgICAgLSAnYXBwd3JpdGUtY2xpY2tob3VzZTovdmFyL2xpYi9jbGlja2hvdXNlOnJ3JwogICAgdWxpbWl0czoKICAgICAgbm9maWxlOgogICAgICAgIHNvZnQ6IDI2MjE0NAogICAgICAgIGhhcmQ6IDI2MjE0NAogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdjbGlja2hvdXNlLWNsaWVudCAtLXVzZXIgIiQkQ0xJQ0tIT1VTRV9VU0VSIiAtLXBhc3N3b3JkICIkJENMSUNLSE9VU0VfUEFTU1dPUkQiIC0tcXVlcnkgIlNFTEVDVCAxIiA+IC9kZXYvbnVsbCB8fCBleGl0IDEnCiAgICAgIGludGVydmFsOiAxMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMjAKICAgICAgc3RhcnRfcGVyaW9kOiAzMHMK", + "compose": "c2VydmljZXM6CiAgYXBwd3JpdGU6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjIuNS4wJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gU0VSVklDRV9VUkxfQVBQV1JJVEU9L3YxCiAgICAgIC0gJ19BUFBfRE5TX0VYVEVSTkFMPSR7X0FQUF9ETlNfRVhURVJOQUx9JwogICAgICAtICdfQVBQX0FMTE9XRURfSU5URVJOQUxfQUREUkVTU0VTPSR7X0FQUF9BTExPV0VEX0lOVEVSTkFMX0FERFJFU1NFU30nCiAgICAgIC0gJ19BUFBfRU5WPSR7X0FQUF9FTlY6LXByb2R1Y3Rpb259JwogICAgICAtICdfQVBQX1VTQUdFX1NUQVRTPSR7X0FQUF9VU0FHRV9TVEFUUzotZW5hYmxlZH0nCiAgICAgIC0gX0FQUF9VU0FHRV9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0UKICAgICAgLSAnX0FQUF9DT05ORUNUSU9OU19EQl9VU0FHRT1odHRwOi8vYXBwd3JpdGU6JFNFUlZJQ0VfUEFTU1dPUkRfQ0xJQ0tIT1VTRUBhcHB3cml0ZS1jbGlja2hvdXNlOjgxMjMvYXBwd3JpdGUnCiAgICAgIC0gJ19BUFBfUE9PTF9TSVpFX1VTQUdFPSR7X0FQUF9QT09MX1NJWkVfVVNBR0U6LTJ9JwogICAgICAtICdfQVBQX0NPTk5FQ1RJT05TX0RCX0VYRUNVVElPTlM9aHR0cDovL2FwcHdyaXRlOiRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0VAYXBwd3JpdGUtY2xpY2tob3VzZTo4MTIzL2FwcHdyaXRlJwogICAgICAtICdfQVBQX1BPT0xfU0laRV9FWEVDVVRJT05TPSR7X0FQUF9QT09MX1NJWkVfRVhFQ1VUSU9OUzotMn0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1VTQUdFX1RUTD0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1VTQUdFX1RUTDotMTgwfScKICAgICAgLSAnX0FQUF9TVEFUU19VU0FHRV9RVUVVRV9OQU1FPSR7X0FQUF9TVEFUU19VU0FHRV9RVUVVRV9OQU1FOi12MS1zdGF0cy11c2FnZX0nCiAgICAgIC0gJ19BUFBfU1RBVFNfUkVTT1VSQ0VTX1FVRVVFX05BTUU9JHtfQVBQX1NUQVRTX1JFU09VUkNFU19RVUVVRV9OQU1FOi12MS1zdGF0cy1yZXNvdXJjZXN9JwogICAgICAtICdfQVBQX1NUQVRTX1JFU09VUkNFU19JTlRFUlZBTD0ke19BUFBfU1RBVFNfUkVTT1VSQ0VTX0lOVEVSVkFMOi0zNjAwfScKICAgICAgLSAnX0FQUF9FRElUSU9OPSR7X0FQUF9FRElUSU9OOi1zZWxmLWhvc3RlZH0nCiAgICAgIC0gJ19BUFBfV09SS0VSX1BFUl9DT1JFPSR7X0FQUF9XT1JLRVJfUEVSX0NPUkU6LTZ9JwogICAgICAtICdfQVBQX0xPQ0FMRT0ke19BUFBfTE9DQUxFOi1lbn0nCiAgICAgIC0gJ19BUFBfQ09NUFJFU1NJT05fRU5BQkxFRD0ke19BUFBfQ09NUFJFU1NJT05fRU5BQkxFRDotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfQ09NUFJFU1NJT05fTUlOX1NJWkVfQllURVM9JHtfQVBQX0NPTVBSRVNTSU9OX01JTl9TSVpFX0JZVEVTfScKICAgICAgLSAnX0FQUF9DT05TT0xFX1dISVRFTElTVF9ST09UPSR7X0FQUF9DT05TT0xFX1dISVRFTElTVF9ST09UOi1lbmFibGVkfScKICAgICAgLSAnX0FQUF9DT05TT0xFX1dISVRFTElTVF9FTUFJTFM9JHtfQVBQX0NPTlNPTEVfV0hJVEVMSVNUX0VNQUlMU30nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9TRVNTSU9OX0FMRVJUUz0ke19BUFBfQ09OU09MRV9TRVNTSU9OX0FMRVJUUzotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfV0hJVEVMSVNUX0lQUz0ke19BUFBfQ09OU09MRV9XSElURUxJU1RfSVBTfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0hPU1ROQU1FUz0ke19BUFBfQ09OU09MRV9IT1NUTkFNRVN9JwogICAgICAtICdfQVBQX0NPTlNPTEVfU0NIRU1BPSR7X0FQUF9DT05TT0xFX1NDSEVNQTotYXBwd3JpdGVpb30nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9HSVRIVUJfQVBQX0lEPSR7X0FQUF9DT05TT0xFX0dJVEhVQl9BUFBfSUR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfR0lUSFVCX1NFQ1JFVD0ke19BUFBfQ09OU09MRV9HSVRIVUJfU0VDUkVUfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0dJVExBQl9BUFBfSUQ9JHtfQVBQX0NPTlNPTEVfR0lUTEFCX0FQUF9JRH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9HSVRMQUJfU0VDUkVUPSR7X0FQUF9DT05TT0xFX0dJVExBQl9TRUNSRVR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfR0lUTEFCX0VORFBPSU5UPSR7X0FQUF9DT05TT0xFX0dJVExBQl9FTkRQT0lOVH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9CSVRCVUNLRVRfQVBQX0lEPSR7X0FQUF9DT05TT0xFX0JJVEJVQ0tFVF9BUFBfSUR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfQklUQlVDS0VUX1NFQ1JFVD0ke19BUFBfQ09OU09MRV9CSVRCVUNLRVRfU0VDUkVUfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0dPT0dMRV9BUFBfSUQ9JHtfQVBQX0NPTlNPTEVfR09PR0xFX0FQUF9JRH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9HT09HTEVfU0VDUkVUPSR7X0FQUF9DT05TT0xFX0dPT0dMRV9TRUNSRVR9JwogICAgICAtICdfQVBQX1NZU1RFTV9FTUFJTF9OQU1FPSR7X0FQUF9TWVNURU1fRU1BSUxfTkFNRTotQXBwd3JpdGV9JwogICAgICAtICdfQVBQX1NZU1RFTV9FTUFJTF9BRERSRVNTPSR7X0FQUF9TWVNURU1fRU1BSUxfQUREUkVTUzotbm9yZXBseUBhcHB3cml0ZS5pb30nCiAgICAgIC0gJ19BUFBfU1lTVEVNX1RFQU1fRU1BSUw9JHtfQVBQX1NZU1RFTV9URUFNX0VNQUlMOi10ZWFtQGFwcHdyaXRlLmlvfScKICAgICAgLSAnX0FQUF9FTUFJTF9TRUNVUklUWT0ke19BUFBfRU1BSUxfU0VDVVJJVFk6LXNlY3VyaXR5QGFwcHdyaXRlLmlvfScKICAgICAgLSAnX0FQUF9TWVNURU1fUkVTUE9OU0VfRk9STUFUPSR7X0FQUF9TWVNURU1fUkVTUE9OU0VfRk9STUFUfScKICAgICAgLSAnX0FQUF9PUFRJT05TX0FCVVNFPSR7X0FQUF9PUFRJT05TX0FCVVNFOi1lbmFibGVkfScKICAgICAgLSAnX0FQUF9PUFRJT05TX0FCVVNFX0lOQ1JFQVNFRF9MSU1JVF9QUk9KRUNUUz0ke19BUFBfT1BUSU9OU19BQlVTRV9JTkNSRUFTRURfTElNSVRfUFJPSkVDVFN9JwogICAgICAtICdfQVBQX09QVElPTlNfUk9VVEVSX1BST1RFQ1RJT049JHtfQVBQX09QVElPTlNfUk9VVEVSX1BST1RFQ1RJT046LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTPSR7X0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19ST1VURVJfRk9SQ0VfSFRUUFM9JHtfQVBQX09QVElPTlNfUk9VVEVSX0ZPUkNFX0hUVFBTOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfUk9VVEVSX0FVVE9fQ0VSVElGSUNBVEVTPSR7X0FQUF9ST1VURVJfQVVUT19DRVJUSUZJQ0FURVM6LWRpc2FibGVkfScKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0FQUFdSSVRFCiAgICAgIC0gX0FQUF9OT1RJRklDQVRJT05TX1RSQUNLSU5HX1NFQ1JFVD0kU0VSVklDRV9QQVNTV09SRF82NF9OT1RJRklDQVRJT05TCiAgICAgIC0gJ19BUFBfRE9NQUlOPSR7X0FQUF9ET01BSU46LSRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0NPTlNPTEVfRE9NQUlOPSR7X0FQUF9DT05TT0xFX0RPTUFJTn0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9VUkw9JHtfQVBQX0NPTlNPTEVfVVJMfScKICAgICAgLSAnX0FQUF9DT05TT0xFX1RSVVNURURfUFJPSkVDVFM9JHtfQVBQX0NPTlNPTEVfVFJVU1RFRF9QUk9KRUNUU30nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9DTkFNRT0ke19BUFBfRE9NQUlOX1RBUkdFVF9DTkFNRTotbG9jYWxob3N0fScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0FBQUE9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQUFBQTotOjoxfScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0E9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQTotMTI3LjAuMC4xfScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0NBQT0ke19BUFBfRE9NQUlOX1RBUkdFVF9DQUF9JwogICAgICAtICdfQVBQX0ROUz0ke19BUFBfRE5TfScKICAgICAgLSAnX0FQUF9ET01BSU5fRlVOQ1RJT05TPSR7X0FQUF9ET01BSU5fRlVOQ1RJT05TOi1mdW5jdGlvbnMuJFNFUlZJQ0VfRlFETl9BUFBXUklURX0nCiAgICAgIC0gJ19BUFBfUkVESVNfSE9TVD0ke19BUFBfUkVESVNfSE9TVDotYXBwd3JpdGUtcmVkaXN9JwogICAgICAtICdfQVBQX1JFRElTX1BPUlQ9JHtfQVBQX1JFRElTX1BPUlQ6LTYzNzl9JwogICAgICAtICdfQVBQX1JFRElTX1VTRVI9JHtfQVBQX1JFRElTX1VTRVJ9JwogICAgICAtICdfQVBQX1JFRElTX1BBU1M9JHtfQVBQX1JFRElTX1BBU1N9JwogICAgICAtICdfQVBQX0RCX0FEQVBURVI9JHtfQVBQX0RCX0FEQVBURVI6LXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX0hPU1Q9JHtfQVBQX0RCX0hPU1Q6LWFwcHdyaXRlLXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX1BPUlQ9JHtfQVBQX0RCX1BPUlQ6LTU0MzJ9JwogICAgICAtICdfQVBQX0RCX1NDSEVNQT0ke19BUFBfREJfU0NIRU1BOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9EQl9VU0VSPSRTRVJWSUNFX1VTRVJfUE9TVEdSRVMKICAgICAgLSBfQVBQX0RCX1BBU1M9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSX1ZFQ1RPUlNEQj0ke19BUFBfREJfQURBUFRFUl9WRUNUT1JTREI6LXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX0hPU1RfVkVDVE9SU0RCPSR7X0FQUF9EQl9IT1NUX1ZFQ1RPUlNEQjotYXBwd3JpdGUtcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfUE9SVF9WRUNUT1JTREI9JHtfQVBQX0RCX1BPUlRfVkVDVE9SU0RCOi01NDMyfScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUFfVkVDVE9SU0RCPSR7X0FQUF9EQl9TQ0hFTUFfVkVDVE9SU0RCOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9EQl9VU0VSX1ZFQ1RPUlNEQj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gX0FQUF9EQl9QQVNTX1ZFQ1RPUlNEQj0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgICAtICdfQVBQX0RCX0FEQVBURVJfRE9DVU1FTlRTREI9JHtfQVBQX0RCX0FEQVBURVJfRE9DVU1FTlRTREI6LW1vbmdvZGJ9JwogICAgICAtICdfQVBQX0RCX0hPU1RfRE9DVU1FTlRTREI9JHtfQVBQX0RCX0hPU1RfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1BPUlRfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1BPUlRfRE9DVU1FTlRTREI6LTI3MDE3fScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUFfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1NDSEVNQV9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfREJfVVNFUl9ET0NVTUVOVFNEQj0ke19BUFBfREJfVVNFUl9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfREJfUEFTU19ET0NVTUVOVFNEQj0ke19BUFBfREJfUEFTU19ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfRE9DVU1FTlRTREI9JHtfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX0RPQ1VNRU5UU0RCfScKICAgICAgLSAnX0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9WRUNUT1JTREI9JHtfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX1ZFQ1RPUlNEQn0nCiAgICAgIC0gJ19BUFBfU01UUF9IT1NUPSR7X0FQUF9TTVRQX0hPU1R9JwogICAgICAtICdfQVBQX1NNVFBfUE9SVD0ke19BUFBfU01UUF9QT1JUfScKICAgICAgLSAnX0FQUF9TTVRQX1NFQ1VSRT0ke19BUFBfU01UUF9TRUNVUkV9JwogICAgICAtICdfQVBQX1NNVFBfVVNFUk5BTUU9JHtfQVBQX1NNVFBfVVNFUk5BTUV9JwogICAgICAtICdfQVBQX1NNVFBfUEFTU1dPUkQ9JHtfQVBQX1NNVFBfUEFTU1dPUkR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfTElNSVQ9JHtfQVBQX1NUT1JBR0VfTElNSVQ6LTMwMDAwMDAwfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1BSRVZJRVdfTElNSVQ9JHtfQVBQX1NUT1JBR0VfUFJFVklFV19MSU1JVDotMjAwMDAwMDB9JwogICAgICAtICdfQVBQX0FVVE9HUkFWSVRZX0hPU1Q9JHtfQVBQX0FVVE9HUkFWSVRZX0hPU1R9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQU5USVZJUlVTPSR7X0FQUF9TVE9SQUdFX0FOVElWSVJVUzotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQU5USVZJUlVTX0hPU1Q9JHtfQVBQX1NUT1JBR0VfQU5USVZJUlVTX0hPU1R9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQU5USVZJUlVTX1BPUlQ9JHtfQVBQX1NUT1JBR0VfQU5USVZJUlVTX1BPUlQ6LTMzMTB9JwogICAgICAtICdfQVBQX1NUT1JBR0VfREVWSUNFPSR7X0FQUF9TVE9SQUdFX0RFVklDRTotbG9jYWx9JwogICAgICAtICdfQVBQX1NUT1JBR0VfUzNfQUNDRVNTX0tFWT0ke19BUFBfU1RPUkFHRV9TM19BQ0NFU1NfS0VZfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9TM19TRUNSRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfUzNfUkVHSU9OPSR7X0FQUF9TVE9SQUdFX1MzX1JFR0lPTjotdXMtZWFzdC0xfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX0JVQ0tFVD0ke19BUFBfU1RPUkFHRV9TM19CVUNLRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfUzNfRU5EUE9JTlQ9JHtfQVBQX1NUT1JBR0VfUzNfRU5EUE9JTlR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0FDQ0VTU19LRVl9JwogICAgICAtICdfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9ET19TUEFDRVNfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19SRUdJT049JHtfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1JFR0lPTjotdXMtZWFzdC0xfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19CVUNLRVQ9JHtfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0JVQ0tFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQUNDRVNTX0tFWT0ke19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQUNDRVNTX0tFWX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfU0VDUkVUPSR7X0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9TRUNSRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1JFR0lPTj0ke19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfUkVHSU9OOi11cy13ZXN0LTAwNH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQlVDS0VUPSR7X0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9CVUNLRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfTElOT0RFX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfTElOT0RFX0FDQ0VTU19LRVl9JwogICAgICAtICdfQVBQX1NUT1JBR0VfTElOT0RFX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9MSU5PREVfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTk9ERV9SRUdJT049JHtfQVBQX1NUT1JBR0VfTElOT0RFX1JFR0lPTjotZXUtY2VudHJhbC0xfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTk9ERV9CVUNLRVQ9JHtfQVBQX1NUT1JBR0VfTElOT0RFX0JVQ0tFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9XQVNBQklfQUNDRVNTX0tFWT0ke19BUFBfU1RPUkFHRV9XQVNBQklfQUNDRVNTX0tFWX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9XQVNBQklfU0VDUkVUPSR7X0FQUF9TVE9SQUdFX1dBU0FCSV9TRUNSRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfV0FTQUJJX1JFR0lPTj0ke19BUFBfU1RPUkFHRV9XQVNBQklfUkVHSU9OOi1ldS1jZW50cmFsLTF9JwogICAgICAtICdfQVBQX1NUT1JBR0VfV0FTQUJJX0JVQ0tFVD0ke19BUFBfU1RPUkFHRV9XQVNBQklfQlVDS0VUfScKICAgICAgLSAnX0FQUF9DT01QVVRFX1NJWkVfTElNSVQ9JHtfQVBQX0NPTVBVVEVfU0laRV9MSU1JVDotMzAwMDAwMDB9JwogICAgICAtICdfQVBQX0NPTVBVVEVfQlVJTERfU0laRV9MSU1JVD0ke19BUFBfQ09NUFVURV9CVUlMRF9TSVpFX0xJTUlUOi0yMDAwMDAwMDAwfScKICAgICAgLSAnX0FQUF9GVU5DVElPTlNfVElNRU9VVD0ke19BUFBfRlVOQ1RJT05TX1RJTUVPVVQ6LTkwMH0nCiAgICAgIC0gJ19BUFBfU0lURVNfVElNRU9VVD0ke19BUFBfU0lURVNfVElNRU9VVDotOTAwfScKICAgICAgLSAnX0FQUF9DT01QVVRFX0JVSUxEX1RJTUVPVVQ9JHtfQVBQX0NPTVBVVEVfQlVJTERfVElNRU9VVDotMjcwMH0nCiAgICAgIC0gJ19BUFBfQ09NUFVURV9DUFVTPSR7X0FQUF9DT01QVVRFX0NQVVM6LTB9JwogICAgICAtICdfQVBQX0NPTVBVVEVfTUVNT1JZPSR7X0FQUF9DT01QVVRFX01FTU9SWTotMH0nCiAgICAgIC0gJ19BUFBfRlVOQ1RJT05TX1JVTlRJTUVTPSR7X0FQUF9GVU5DVElPTlNfUlVOVElNRVM6LW5vZGUtMjJ9JwogICAgICAtICdfQVBQX1NJVEVTX1JVTlRJTUVTPSR7X0FQUF9TSVRFU19SVU5USU1FUzotc3RhdGljLTEsbm9kZS0yMn0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1NJVEVTPSR7X0FQUF9ET01BSU5fU0lURVM6LXNpdGVzLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtIF9BUFBfRVhFQ1VUT1JfU0VDUkVUPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0VYRUNVVE9SCiAgICAgIC0gJ19BUFBfRVhFQ1VUT1JfSE9TVD0ke19BUFBfRVhFQ1VUT1JfSE9TVDotaHR0cDovL29wZW5ydW50aW1lcy1leGVjdXRvci92MX0nCiAgICAgIC0gJ19BUFBfQlVJTERTX1ZPTFVNRT0ke0NPTVBPU0VfUFJPSkVDVF9OQU1FfV9hcHB3cml0ZS1idWlsZHMnCiAgICAgIC0gJ19BUFBfSk9CU19IT1NUPSR7X0FQUF9KT0JTX0hPU1Q6LWh0dHA6Ly9vcmNoZXN0cmF0b3I6ODA4MH0nCiAgICAgIC0gX0FQUF9KT0JTX1NFQ1JFVD0kU0VSVklDRV9QQVNTV09SRF82NF9KT0JTCiAgICAgIC0gJ19BUFBfSk9CU19FTkRQT0lOVD0ke19BUFBfSk9CU19FTkRQT0lOVDotaHR0cDovL2FwcHdyaXRlfScKICAgICAgLSAnX0FQUF9MT0dHSU5HX0NPTkZJRz0ke19BUFBfTE9HR0lOR19DT05GSUd9JwogICAgICAtICdfQVBQX0xPR0dJTkdfRk9STUFUPSR7X0FQUF9MT0dHSU5HX0ZPUk1BVDotcHJldHR5fScKICAgICAgLSAnX0FQUF9MT0NLSU5HX0VOQUJMRUQ9JHtfQVBQX0xPQ0tJTkdfRU5BQkxFRDotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfSU5URVJWQUw9JHtfQVBQX01BSU5URU5BTkNFX0lOVEVSVkFMOi04NjQwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0VYRUNVVElPTj0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0VYRUNVVElPTjotMTIwOTYwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0NBQ0hFPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQ0FDSEU6LTI1OTIwMDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BQlVTRT0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FCVVNFOi04NjQwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVQ6LTEyMDk2MDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVF9DT05TT0xFPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVRfQ09OU09MRX0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1NDSEVEVUxFUz0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1NDSEVEVUxFUzotODY0MDB9JwogICAgICAtICdfQVBQX1NNU19QUk9WSURFUj0ke19BUFBfU01TX1BST1ZJREVSfScKICAgICAgLSAnX0FQUF9TTVNfRlJPTT0ke19BUFBfU01TX0ZST019JwogICAgICAtICdfQVBQX0dSQVBIUUxfSU5UUk9TUEVDVElPTj0ke19BUFBfR1JBUEhRTF9JTlRST1NQRUNUSU9OOi1lbmFibGVkfScKICAgICAgLSAnX0FQUF9HUkFQSFFMX01BWF9CQVRDSF9TSVpFPSR7X0FQUF9HUkFQSFFMX01BWF9CQVRDSF9TSVpFOi0xMH0nCiAgICAgIC0gJ19BUFBfR1JBUEhRTF9NQVhfQ09NUExFWElUWT0ke19BUFBfR1JBUEhRTF9NQVhfQ09NUExFWElUWTotMjUwfScKICAgICAgLSAnX0FQUF9HUkFQSFFMX01BWF9ERVBUSD0ke19BUFBfR1JBUEhRTF9NQVhfREVQVEg6LTN9JwogICAgICAtICdfQVBQX1ZDU19HSVRIVUJfQVBQX05BTUU9JHtfQVBQX1ZDU19HSVRIVUJfQVBQX05BTUV9JwogICAgICAtICdfQVBQX1ZDU19HSVRIVUJfUFJJVkFURV9LRVk9JHtfQVBQX1ZDU19HSVRIVUJfUFJJVkFURV9LRVl9JwogICAgICAtICdfQVBQX1ZDU19HSVRIVUJfQVBQX0lEPSR7X0FQUF9WQ1NfR0lUSFVCX0FQUF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEhVQl9XRUJIT09LX1NFQ1JFVD0ke19BUFBfVkNTX0dJVEhVQl9XRUJIT09LX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEhVQl9DTElFTlRfU0VDUkVUPSR7X0FQUF9WQ1NfR0lUSFVCX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19HSVRIVUJfQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfR0lUSFVCX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEVBX0VORFBPSU5UPSR7X0FQUF9WQ1NfR0lURUFfRU5EUE9JTlR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9CUk9XU0VSX0VORFBPSU5UPSR7X0FQUF9WQ1NfR0lURUFfQlJPV1NFUl9FTkRQT0lOVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEVBX0NMSUVOVF9JRD0ke19BUFBfVkNTX0dJVEVBX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEVBX0NMSUVOVF9TRUNSRVQ9JHtfQVBQX1ZDU19HSVRFQV9DTElFTlRfU0VDUkVUfScKICAgICAgLSAnX0FQUF9WQ1NfR0lURUFfV0VCSE9PS19TRUNSRVQ9JHtfQVBQX1ZDU19HSVRFQV9XRUJIT09LX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVExBQl9FTkRQT0lOVD0ke19BUFBfVkNTX0dJVExBQl9FTkRQT0lOVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVExBQl9DTElFTlRfSUQ9JHtfQVBQX1ZDU19HSVRMQUJfQ0xJRU5UX0lEfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUTEFCX0NMSUVOVF9TRUNSRVQ9JHtfQVBQX1ZDU19HSVRMQUJfQ0xJRU5UX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVExBQl9XRUJIT09LX1NFQ1JFVD0ke19BUFBfVkNTX0dJVExBQl9XRUJIT09LX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX0JJVEJVQ0tFVF9DTElFTlRfSUQ9JHtfQVBQX1ZDU19CSVRCVUNLRVRfQ0xJRU5UX0lEfScKICAgICAgLSAnX0FQUF9WQ1NfQklUQlVDS0VUX0NMSUVOVF9TRUNSRVQ9JHtfQVBQX1ZDU19CSVRCVUNLRVRfQ0xJRU5UX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX0JJVEJVQ0tFVF9XRUJIT09LX1NFQ1JFVD0ke19BUFBfVkNTX0JJVEJVQ0tFVF9XRUJIT09LX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX09SSUdJTl9DTElFTlRfSUQ9JHtfQVBQX1ZDU19PUklHSU5fQ0xJRU5UX0lEfScKICAgICAgLSAnX0FQUF9WQ1NfT1JJR0lOX1BSSVZBVEVfS0VZPSR7X0FQUF9WQ1NfT1JJR0lOX1BSSVZBVEVfS0VZfScKICAgICAgLSAnX0FQUF9WQ1NfV0VCSE9PS19VUkw9JHtfQVBQX1ZDU19XRUJIT09LX1VSTH0nCiAgICAgIC0gJ19BUFBfTUlHUkFUSU9OU19GSVJFQkFTRV9DTElFTlRfSUQ9JHtfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX0lEfScKICAgICAgLSAnX0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9TRUNSRVQ9JHtfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9DT1VOVFJJRVNfREVOWUxJU1Q9JHtfQVBQX0NPTlNPTEVfQ09VTlRSSUVTX0RFTllMSVNUfScKICAgICAgLSAnX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTPSR7X0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTfScKICAgICAgLSAnX0FQUF9EQVRBQkFTRV9TSEFSRURfTkFNRVNQQUNFPSR7X0FQUF9EQVRBQkFTRV9TSEFSRURfTkFNRVNQQUNFfScKICAgICAgLSAnX0FQUF9GVU5DVElPTlNfQ1JFQVRJT05fQUJVU0VfTElNSVQ9JHtfQVBQX0ZVTkNUSU9OU19DUkVBVElPTl9BQlVTRV9MSU1JVH0nCiAgICAgIC0gJ19BUFBfQ1VTVE9NX0RPTUFJTl9ERU5ZX0xJU1Q9JHtfQVBQX0NVU1RPTV9ET01BSU5fREVOWV9MSVNUOi1leGFtcGxlLmNvbSx0ZXN0LmNvbSxhcHAuZXhhbXBsZS5jb219JwogICAgICAtICdfQVBQX1RSVVNURURfSEVBREVSUz0ke19BUFBfVFJVU1RFRF9IRUFERVJTOi14LWZvcndhcmRlZC1mb3J9JwogICAgICAtICdfQVBQX1RSVVNURURfUFJPWElFUz0ke19BUFBfVFJVU1RFRF9QUk9YSUVTOi0xMjcuMC4wLjEsOjoxLDEwLjAuMC4wLzgsMTAwLjY0LjAuMC8xMCwxNzIuMTYuMC4wLzEyLDE5Mi4xNjguMC4wLzE2fScKICAgICAgLSAnX0FQUF9NSUdSQVRJT05fSE9TVD0ke19BUFBfTUlHUkFUSU9OX0hPU1Q6LWFwcHdyaXRlfScKICAgICAgLSBfQVBQX0dFT19TRUNSRVQ9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfR0VPCiAgICAgIC0gJ19BUFBfR0VPX0VORFBPSU5UPSR7X0FQUF9HRU9fRU5EUE9JTlQ6LWh0dHA6Ly9hcHB3cml0ZS1nZW8vdjF9JwogICAgICAtICdfQVBQX1BXTkVEX1BBU1NXT1JEU19EU049JHtfQVBQX1BXTkVEX1BBU1NXT1JEU19EU046LW5vbmU6Ly9sb2NhbGhvc3R9JwogICAgICAtICdfQVBQX0xJTUlUX0RBVEFCQVNFX0JBVENIPSR7X0FQUF9MSU1JVF9EQVRBQkFTRV9CQVRDSDotMTAwfScKICAgICAgLSAnX0FQUF9ET0NVTUVOVFNEQj0ke19BUFBfRE9DVU1FTlRTREI6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9WRUNUT1JTREI9JHtfQVBQX1ZFQ1RPUlNEQjotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX0VNQkVERElORz0ke19BUFBfRU1CRURESU5HOi1kaXNhYmxlZH0nCiAgICB2b2x1bWVzOgogICAgICAtICdhcHB3cml0ZS11cGxvYWRzOi9zdG9yYWdlL3VwbG9hZHM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWltcG9ydHM6L3N0b3JhZ2UvaW1wb3J0czpydycKICAgICAgLSAnYXBwd3JpdGUtY2FjaGU6L3N0b3JhZ2UvY2FjaGU6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWNvbmZpZzovc3RvcmFnZS9jb25maWc6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWNlcnRpZmljYXRlczovc3RvcmFnZS9jZXJ0aWZpY2F0ZXM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWZ1bmN0aW9uczovc3RvcmFnZS9mdW5jdGlvbnM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLXNpdGVzOi9zdG9yYWdlL3NpdGVzOnJ3JwogICAgICAtICdhcHB3cml0ZS1idWlsZHM6L3N0b3JhZ2UvYnVpbGRzOnJ3JwogICAgZGVwZW5kc19vbjoKICAgICAgYXBwd3JpdGUtcG9zdGdyZXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1yZWRpczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1jbGlja2hvdXNlOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIGFwcHdyaXRlLWdlbzoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdjdXJsIC1mc1MgLW8gL2Rldi9udWxsIGh0dHA6Ly9sb2NhbGhvc3QvdjEvaGVhbHRoL3ZlcnNpb24gfHwgZXhpdCAxJwogICAgICBpbnRlcnZhbDogMjBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDYKICAgICAgc3RhcnRfcGVyaW9kOiAxMjBzCiAgYXBwd3JpdGUtY29uc29sZToKICAgIGltYWdlOiAnYXBwd3JpdGUvbmV3OjEuMi43NC1zZWxmLWhvc3RlZCcKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfVVJMX0FQUFdSSVRFXzMwMDA9LwogICAgICAtIFZJVEVfQ09OU09MRV9QUk9GSUxFPXNlbGYtaG9zdGVkCiAgICAgIC0gVklURV9BUFBXUklURV9WRVJTSU9OPTIuNS4wCiAgICAgIC0gQVBQV1JJVEVfRU5EUE9JTlRfU0FNRV9PUklHSU49dHJ1ZQogICAgZGVwZW5kc19vbjoKICAgICAgYXBwd3JpdGU6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAnYnVuIC1lICJmZXRjaCgnJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMCcnKS50aGVuKHIgPT4gcHJvY2Vzcy5leGl0KHIuc3RhdHVzIDwgNTAwID8gMCA6IDEpKS5jYXRjaCgoKSA9PiBwcm9jZXNzLmV4aXQoMSkpIicKICAgICAgaW50ZXJ2YWw6IDIwcwogICAgICB0aW1lb3V0OiA1cwogICAgICByZXRyaWVzOiAzCiAgYXBwd3JpdGUtcmVhbHRpbWU6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjIuNS4wJwogICAgZW50cnlwb2ludDogcmVhbHRpbWUKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfVVJMX0FQUFdSSVRFPS92MS9yZWFsdGltZQogICAgICAtICdfQVBQX0VOVj0ke19BUFBfRU5WOi1wcm9kdWN0aW9ufScKICAgICAgLSAnX0FQUF9VU0FHRV9TVEFUUz0ke19BUFBfVVNBR0VfU1RBVFM6LWVuYWJsZWR9JwogICAgICAtICdfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU9JHtfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU6LXYxLXN0YXRzLXVzYWdlfScKICAgICAgLSAnX0FQUF9XT1JLRVJfUEVSX0NPUkU9JHtfQVBQX1dPUktFUl9QRVJfQ09SRTotNn0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19BQlVTRT0ke19BUFBfT1BUSU9OU19BQlVTRTotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19ST1VURVJfUFJPVEVDVElPTj0ke19BUFBfT1BUSU9OU19ST1VURVJfUFJPVEVDVElPTjotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfSE9TVE5BTUVTPSR7X0FQUF9DT05TT0xFX0hPU1ROQU1FU30nCiAgICAgIC0gJ19BUFBfUkVBTFRJTUVfVEFJTF9SQVRFPSR7X0FQUF9SRUFMVElNRV9UQUlMX1JBVEU6LTUwfScKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0FQUFdSSVRFCiAgICAgIC0gJ19BUFBfVFJVU1RFRF9IRUFERVJTPSR7X0FQUF9UUlVTVEVEX0hFQURFUlM6LXgtZm9yd2FyZGVkLWZvcn0nCiAgICAgIC0gJ19BUFBfVFJVU1RFRF9QUk9YSUVTPSR7X0FQUF9UUlVTVEVEX1BST1hJRVM6LTEyNy4wLjAuMSw6OjEsMTAuMC4wLjAvOCwxMDAuNjQuMC4wLzEwLDE3Mi4xNi4wLjAvMTIsMTkyLjE2OC4wLjAvMTZ9JwogICAgICAtICdfQVBQX1JFRElTX0hPU1Q9JHtfQVBQX1JFRElTX0hPU1Q6LWFwcHdyaXRlLXJlZGlzfScKICAgICAgLSAnX0FQUF9SRURJU19QT1JUPSR7X0FQUF9SRURJU19QT1JUOi02Mzc5fScKICAgICAgLSAnX0FQUF9SRURJU19VU0VSPSR7X0FQUF9SRURJU19VU0VSfScKICAgICAgLSAnX0FQUF9SRURJU19QQVNTPSR7X0FQUF9SRURJU19QQVNTfScKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSPSR7X0FQUF9EQl9BREFQVEVSOi1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9IT1NUPSR7X0FQUF9EQl9IT1NUOi1hcHB3cml0ZS1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9QT1JUPSR7X0FQUF9EQl9QT1JUOi01NDMyfScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUE9JHtfQVBQX0RCX1NDSEVNQTotYXBwd3JpdGV9JwogICAgICAtIF9BUFBfREJfVVNFUj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gX0FQUF9EQl9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTCiAgICAgIC0gJ19BUFBfREJfQURBUFRFUl9WRUNUT1JTREI9JHtfQVBQX0RCX0FEQVBURVJfVkVDVE9SU0RCOi1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9IT1NUX1ZFQ1RPUlNEQj0ke19BUFBfREJfSE9TVF9WRUNUT1JTREI6LWFwcHdyaXRlLXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX1BPUlRfVkVDVE9SU0RCPSR7X0FQUF9EQl9QT1JUX1ZFQ1RPUlNEQjotNTQzMn0nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BX1ZFQ1RPUlNEQj0ke19BUFBfREJfU0NIRU1BX1ZFQ1RPUlNEQjotYXBwd3JpdGV9JwogICAgICAtIF9BUFBfREJfVVNFUl9WRUNUT1JTREI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFUwogICAgICAtIF9BUFBfREJfUEFTU19WRUNUT1JTREI9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9BREFQVEVSX0RPQ1VNRU5UU0RCOi1tb25nb2RifScKICAgICAgLSAnX0FQUF9EQl9IT1NUX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9IT1NUX0RPQ1VNRU5UU0RCfScKICAgICAgLSAnX0FQUF9EQl9QT1JUX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9QT1JUX0RPQ1VNRU5UU0RCOi0yNzAxN30nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9TQ0hFTUFfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1VTRVJfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1VTRVJfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1BBU1NfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1BBU1NfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX0RPQ1VNRU5UU0RCPSR7X0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfVkVDVE9SU0RCPSR7X0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9WRUNUT1JTREJ9JwogICAgICAtICdfQVBQX0xPR0dJTkdfQ09ORklHPSR7X0FQUF9MT0dHSU5HX0NPTkZJR30nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19GT1JNQVQ9JHtfQVBQX0xPR0dJTkdfRk9STUFUOi1wcmV0dHl9JwogICAgICAtICdfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVM9JHtfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVN9JwogICAgICAtICdfQVBQX0xJTUlUX0RBVEFCQVNFX0JBVENIPSR7X0FQUF9MSU1JVF9EQVRBQkFTRV9CQVRDSDotMTAwfScKICAgICAgLSAnX0FQUF9ET0NVTUVOVFNEQj0ke19BUFBfRE9DVU1FTlRTREI6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9WRUNUT1JTREI9JHtfQVBQX1ZFQ1RPUlNEQjotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX0VNQkVERElORz0ke19BUFBfRU1CRURESU5HOi1kaXNhYmxlZH0nCiAgICBkZXBlbmRzX29uOgogICAgICBhcHB3cml0ZS1wb3N0Z3Jlc3FsOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIGFwcHdyaXRlLXJlZGlzOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRC1TSEVMTAogICAgICAgIC0gJ2N1cmwgLXMgbG9jYWxob3N0ID4gL2Rldi9udWxsIHx8IGV4aXQgMScKICAgICAgaW50ZXJ2YWw6IDIwcwogICAgICB0aW1lb3V0OiA1cwogICAgICByZXRyaWVzOiAzCiAgYXBwd3JpdGUtd29ya2VyOgogICAgaW1hZ2U6ICdhcHB3cml0ZS9hcHB3cml0ZToyLjUuMCcKICAgIGVudHJ5cG9pbnQ6IHdvcmtlcgogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gJ19BUFBfRU5WPSR7X0FQUF9FTlY6LXByb2R1Y3Rpb259JwogICAgICAtICdfQVBQX0ROU19FWFRFUk5BTD0ke19BUFBfRE5TX0VYVEVSTkFMfScKICAgICAgLSAnX0FQUF9BTExPV0VEX0lOVEVSTkFMX0FERFJFU1NFUz0ke19BUFBfQUxMT1dFRF9JTlRFUk5BTF9BRERSRVNTRVN9JwogICAgICAtICdfQVBQX1VTQUdFX1NUQVRTPSR7X0FQUF9VU0FHRV9TVEFUUzotZW5hYmxlZH0nCiAgICAgIC0gX0FQUF9VU0FHRV9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0UKICAgICAgLSAnX0FQUF9DT05ORUNUSU9OU19EQl9VU0FHRT1odHRwOi8vYXBwd3JpdGU6JFNFUlZJQ0VfUEFTU1dPUkRfQ0xJQ0tIT1VTRUBhcHB3cml0ZS1jbGlja2hvdXNlOjgxMjMvYXBwd3JpdGUnCiAgICAgIC0gJ19BUFBfUE9PTF9TSVpFX1VTQUdFPSR7X0FQUF9QT09MX1NJWkVfVVNBR0U6LTJ9JwogICAgICAtICdfQVBQX0NPTk5FQ1RJT05TX0RCX0VYRUNVVElPTlM9aHR0cDovL2FwcHdyaXRlOiRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0VAYXBwd3JpdGUtY2xpY2tob3VzZTo4MTIzL2FwcHdyaXRlJwogICAgICAtICdfQVBQX1BPT0xfU0laRV9FWEVDVVRJT05TPSR7X0FQUF9QT09MX1NJWkVfRVhFQ1VUSU9OUzotMn0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1VTQUdFX1RUTD0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1VTQUdFX1RUTDotMTgwfScKICAgICAgLSAnX0FQUF9TVEFUU19VU0FHRV9RVUVVRV9OQU1FPSR7X0FQUF9TVEFUU19VU0FHRV9RVUVVRV9OQU1FOi12MS1zdGF0cy11c2FnZX0nCiAgICAgIC0gJ19BUFBfU1RBVFNfUkVTT1VSQ0VTX1FVRVVFX05BTUU9JHtfQVBQX1NUQVRTX1JFU09VUkNFU19RVUVVRV9OQU1FOi12MS1zdGF0cy1yZXNvdXJjZXN9JwogICAgICAtICdfQVBQX1NUQVRTX1JFU09VUkNFU19JTlRFUlZBTD0ke19BUFBfU1RBVFNfUkVTT1VSQ0VTX0lOVEVSVkFMOi0zNjAwfScKICAgICAgLSBfQVBQX1dPUktFUlNfTlVNPTEKICAgICAgLSBfQVBQX1dPUktFUl9NQVhfQ09ST1VUSU5FUz03OAogICAgICAtICdfQVBQX1dPUktFUl9QRVJfQ09SRT0ke19BUFBfV09SS0VSX1BFUl9DT1JFOi02fScKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0FQUFdSSVRFCiAgICAgIC0gJ19BUFBfRU1BSUxfU0VDVVJJVFk9JHtfQVBQX0VNQUlMX1NFQ1VSSVRZOi1zZWN1cml0eUBhcHB3cml0ZS5pb30nCiAgICAgIC0gJ19BUFBfRU1BSUxfQ0VSVElGSUNBVEVTPSR7X0FQUF9FTUFJTF9DRVJUSUZJQ0FURVN9JwogICAgICAtICdfQVBQX0RCX0FEQVBURVI9JHtfQVBQX0RCX0FEQVBURVI6LXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX0hPU1Q9JHtfQVBQX0RCX0hPU1Q6LWFwcHdyaXRlLXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX1BPUlQ9JHtfQVBQX0RCX1BPUlQ6LTU0MzJ9JwogICAgICAtICdfQVBQX0RCX1NDSEVNQT0ke19BUFBfREJfU0NIRU1BOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9EQl9VU0VSPSRTRVJWSUNFX1VTRVJfUE9TVEdSRVMKICAgICAgLSBfQVBQX0RCX1BBU1M9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSX1ZFQ1RPUlNEQj0ke19BUFBfREJfQURBUFRFUl9WRUNUT1JTREI6LXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX0hPU1RfVkVDVE9SU0RCPSR7X0FQUF9EQl9IT1NUX1ZFQ1RPUlNEQjotYXBwd3JpdGUtcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfUE9SVF9WRUNUT1JTREI9JHtfQVBQX0RCX1BPUlRfVkVDVE9SU0RCOi01NDMyfScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUFfVkVDVE9SU0RCPSR7X0FQUF9EQl9TQ0hFTUFfVkVDVE9SU0RCOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9EQl9VU0VSX1ZFQ1RPUlNEQj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gX0FQUF9EQl9QQVNTX1ZFQ1RPUlNEQj0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgICAtICdfQVBQX0RCX0FEQVBURVJfRE9DVU1FTlRTREI9JHtfQVBQX0RCX0FEQVBURVJfRE9DVU1FTlRTREI6LW1vbmdvZGJ9JwogICAgICAtICdfQVBQX0RCX0hPU1RfRE9DVU1FTlRTREI9JHtfQVBQX0RCX0hPU1RfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1BPUlRfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1BPUlRfRE9DVU1FTlRTREI6LTI3MDE3fScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUFfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1NDSEVNQV9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfREJfVVNFUl9ET0NVTUVOVFNEQj0ke19BUFBfREJfVVNFUl9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfREJfUEFTU19ET0NVTUVOVFNEQj0ke19BUFBfREJfUEFTU19ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfRE9DVU1FTlRTREI9JHtfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX0RPQ1VNRU5UU0RCfScKICAgICAgLSAnX0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9WRUNUT1JTREI9JHtfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX1ZFQ1RPUlNEQn0nCiAgICAgIC0gJ19BUFBfUkVESVNfSE9TVD0ke19BUFBfUkVESVNfSE9TVDotYXBwd3JpdGUtcmVkaXN9JwogICAgICAtICdfQVBQX1JFRElTX1BPUlQ9JHtfQVBQX1JFRElTX1BPUlQ6LTYzNzl9JwogICAgICAtICdfQVBQX1JFRElTX1VTRVI9JHtfQVBQX1JFRElTX1VTRVJ9JwogICAgICAtICdfQVBQX1JFRElTX1BBU1M9JHtfQVBQX1JFRElTX1BBU1N9JwogICAgICAtICdfQVBQX0xPR0dJTkdfQ09ORklHPSR7X0FQUF9MT0dHSU5HX0NPTkZJR30nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19GT1JNQVQ9JHtfQVBQX0xPR0dJTkdfRk9STUFUOi1wcmV0dHl9JwogICAgICAtICdfQVBQX1FVRVVFX05BTUU9JHtfQVBQX1FVRVVFX05BTUV9JwogICAgICAtICdfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVM9JHtfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVN9JwogICAgICAtICdfQVBQX0NPTlNPTEVfVVJMPSR7X0FQUF9DT05TT0xFX1VSTH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9ET01BSU49JHtfQVBQX0NPTlNPTEVfRE9NQUlOfScKICAgICAgLSAnX0FQUF9DT05TT0xFX1RSVVNURURfUFJPSkVDVFM9JHtfQVBQX0NPTlNPTEVfVFJVU1RFRF9QUk9KRUNUU30nCiAgICAgIC0gJ19BUFBfRE9NQUlOPSR7X0FQUF9ET01BSU46LSRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU6LWxvY2FsaG9zdH0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BQUFBPSR7X0FQUF9ET01BSU5fVEFSR0VUX0FBQUE6LTo6MX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BPSR7X0FQUF9ET01BSU5fVEFSR0VUX0E6LTEyNy4wLjAuMX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9DQUE9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ0FBfScKICAgICAgLSAnX0FQUF9ETlM9JHtfQVBQX0ROU30nCiAgICAgIC0gJ19BUFBfRE9NQUlOX0ZVTkNUSU9OUz0ke19BUFBfRE9NQUlOX0ZVTkNUSU9OUzotZnVuY3Rpb25zLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9TSVRFUz0ke19BUFBfRE9NQUlOX1NJVEVTOi1zaXRlcy4kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTPSR7X0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19ST1VURVJfRk9SQ0VfSFRUUFM9JHtfQVBQX09QVElPTlNfUk9VVEVSX0ZPUkNFX0hUVFBTOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfV0VCSE9PS19NQVhfRkFJTEVEX0FUVEVNUFRTPSR7X0FQUF9XRUJIT09LX01BWF9GQUlMRURfQVRURU1QVFM6LTEwfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RFVklDRT0ke19BUFBfU1RPUkFHRV9ERVZJQ0U6LWxvY2FsfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfUzNfQUNDRVNTX0tFWX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9TM19TRUNSRVQ9JHtfQVBQX1NUT1JBR0VfUzNfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX1JFR0lPTj0ke19BUFBfU1RPUkFHRV9TM19SRUdJT046LXVzLWVhc3QtMX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9TM19CVUNLRVQ9JHtfQVBQX1NUT1JBR0VfUzNfQlVDS0VUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX0VORFBPSU5UPSR7X0FQUF9TVE9SQUdFX1MzX0VORFBPSU5UfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19BQ0NFU1NfS0VZPSR7X0FQUF9TVE9SQUdFX0RPX1NQQUNFU19BQ0NFU1NfS0VZfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19TRUNSRVQ9JHtfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9ET19TUEFDRVNfUkVHSU9OPSR7X0FQUF9TVE9SQUdFX0RPX1NQQUNFU19SRUdJT046LXVzLWVhc3QtMX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9ET19TUEFDRVNfQlVDS0VUPSR7X0FQUF9TVE9SQUdFX0RPX1NQQUNFU19CVUNLRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0FDQ0VTU19LRVl9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9SRUdJT049JHtfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1JFR0lPTjotdXMtd2VzdC0wMDR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0JVQ0tFVD0ke19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQlVDS0VUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTk9ERV9BQ0NFU1NfS0VZPSR7X0FQUF9TVE9SQUdFX0xJTk9ERV9BQ0NFU1NfS0VZfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTk9ERV9TRUNSRVQ9JHtfQVBQX1NUT1JBR0VfTElOT0RFX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9MSU5PREVfUkVHSU9OPSR7X0FQUF9TVE9SQUdFX0xJTk9ERV9SRUdJT046LWV1LWNlbnRyYWwtMX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9MSU5PREVfQlVDS0VUPSR7X0FQUF9TVE9SQUdFX0xJTk9ERV9CVUNLRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfV0FTQUJJX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfV0FTQUJJX0FDQ0VTU19LRVl9JwogICAgICAtICdfQVBQX1NUT1JBR0VfV0FTQUJJX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9XQVNBQklfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1dBU0FCSV9SRUdJT049JHtfQVBQX1NUT1JBR0VfV0FTQUJJX1JFR0lPTjotZXUtY2VudHJhbC0xfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1dBU0FCSV9CVUNLRVQ9JHtfQVBQX1NUT1JBR0VfV0FTQUJJX0JVQ0tFVH0nCiAgICAgIC0gX0FQUF9FWEVDVVRPUl9TRUNSRVQ9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfRVhFQ1VUT1IKICAgICAgLSAnX0FQUF9FWEVDVVRPUl9IT1NUPSR7X0FQUF9FWEVDVVRPUl9IT1NUOi1odHRwOi8vb3BlbnJ1bnRpbWVzLWV4ZWN1dG9yL3YxfScKICAgICAgLSAnX0FQUF9ET0NLRVJfSFVCX1VTRVJOQU1FPSR7X0FQUF9ET0NLRVJfSFVCX1VTRVJOQU1FfScKICAgICAgLSAnX0FQUF9ET0NLRVJfSFVCX1BBU1NXT1JEPSR7X0FQUF9ET0NLRVJfSFVCX1BBU1NXT1JEfScKICAgICAgLSAnX0FQUF9GVU5DVElPTlNfVElNRU9VVD0ke19BUFBfRlVOQ1RJT05TX1RJTUVPVVQ6LTkwMH0nCiAgICAgIC0gJ19BUFBfU0lURVNfVElNRU9VVD0ke19BUFBfU0lURVNfVElNRU9VVDotOTAwfScKICAgICAgLSAnX0FQUF9DT01QVVRFX0JVSUxEX1RJTUVPVVQ9JHtfQVBQX0NPTVBVVEVfQlVJTERfVElNRU9VVDotMjcwMH0nCiAgICAgIC0gJ19BUFBfQ09NUFVURV9DUFVTPSR7X0FQUF9DT01QVVRFX0NQVVM6LTB9JwogICAgICAtICdfQVBQX0NPTVBVVEVfTUVNT1JZPSR7X0FQUF9DT01QVVRFX01FTU9SWTotMH0nCiAgICAgIC0gJ19BUFBfT1BFTl9SVU5USU1FU19ORlQ9JHtfQVBQX09QRU5fUlVOVElNRVNfTkZUOi1lbmFibGVkfScKICAgICAgLSAnX0FQUF9DT01QVVRFX1NJWkVfTElNSVQ9JHtfQVBQX0NPTVBVVEVfU0laRV9MSU1JVDotMzAwMDAwMDB9JwogICAgICAtICdfQVBQX0NPTVBVVEVfQlVJTERfU0laRV9MSU1JVD0ke19BUFBfQ09NUFVURV9CVUlMRF9TSVpFX0xJTUlUOi0yMDAwMDAwMDAwfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUSFVCX0FQUF9OQU1FPSR7X0FQUF9WQ1NfR0lUSFVCX0FQUF9OQU1FfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUSFVCX1BSSVZBVEVfS0VZPSR7X0FQUF9WQ1NfR0lUSFVCX1BSSVZBVEVfS0VZfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUSFVCX0FQUF9JRD0ke19BUFBfVkNTX0dJVEhVQl9BUFBfSUR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9FTkRQT0lOVD0ke19BUFBfVkNTX0dJVEVBX0VORFBPSU5UfScKICAgICAgLSAnX0FQUF9WQ1NfR0lURUFfQlJPV1NFUl9FTkRQT0lOVD0ke19BUFBfVkNTX0dJVEVBX0JST1dTRVJfRU5EUE9JTlR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9DTElFTlRfSUQ9JHtfQVBQX1ZDU19HSVRFQV9DTElFTlRfSUR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9DTElFTlRfU0VDUkVUPSR7X0FQUF9WQ1NfR0lURUFfQ0xJRU5UX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEVBX1dFQkhPT0tfU0VDUkVUPSR7X0FQUF9WQ1NfR0lURUFfV0VCSE9PS19TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19HSVRMQUJfRU5EUE9JTlQ9JHtfQVBQX1ZDU19HSVRMQUJfRU5EUE9JTlR9JwogICAgICAtICdfQVBQX1ZDU19HSVRMQUJfQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfR0lUTEFCX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVExBQl9DTElFTlRfU0VDUkVUPSR7X0FQUF9WQ1NfR0lUTEFCX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19HSVRMQUJfV0VCSE9PS19TRUNSRVQ9JHtfQVBQX1ZDU19HSVRMQUJfV0VCSE9PS19TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19CSVRCVUNLRVRfQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfQklUQlVDS0VUX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX0JJVEJVQ0tFVF9DTElFTlRfU0VDUkVUPSR7X0FQUF9WQ1NfQklUQlVDS0VUX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19CSVRCVUNLRVRfV0VCSE9PS19TRUNSRVQ9JHtfQVBQX1ZDU19CSVRCVUNLRVRfV0VCSE9PS19TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19PUklHSU5fQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfT1JJR0lOX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX09SSUdJTl9QUklWQVRFX0tFWT0ke19BUFBfVkNTX09SSUdJTl9QUklWQVRFX0tFWX0nCiAgICAgIC0gJ19BUFBfVkNTX1dFQkhPT0tfVVJMPSR7X0FQUF9WQ1NfV0VCSE9PS19VUkx9JwogICAgICAtICdfQVBQX0JVSUxEU19WT0xVTUU9JHtDT01QT1NFX1BST0pFQ1RfTkFNRX1fYXBwd3JpdGUtYnVpbGRzJwogICAgICAtICdfQVBQX0pPQlNfSE9TVD0ke19BUFBfSk9CU19IT1NUOi1odHRwOi8vb3JjaGVzdHJhdG9yOjgwODB9JwogICAgICAtIF9BUFBfSk9CU19TRUNSRVQ9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfSk9CUwogICAgICAtICdfQVBQX0pPQlNfRU5EUE9JTlQ9JHtfQVBQX0pPQlNfRU5EUE9JTlQ6LWh0dHA6Ly9hcHB3cml0ZX0nCiAgICAgIC0gJ19BUFBfQlJPV1NFUl9IT1NUPSR7X0FQUF9CUk9XU0VSX0hPU1Q6LWh0dHA6Ly9hcHB3cml0ZS1icm93c2VyOjMwMDAvdjF9JwogICAgICAtICdfQVBQX1dPUktFUl9TQ1JFRU5TSE9UU19ST1VURVI9JHtfQVBQX1dPUktFUl9TQ1JFRU5TSE9UU19ST1VURVI6LWh0dHA6Ly9hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9OT1RJRklDQVRJT05TX1RSQUNLSU5HX1NFQ1JFVD0kU0VSVklDRV9QQVNTV09SRF82NF9OT1RJRklDQVRJT05TCiAgICAgIC0gJ19BUFBfU1lTVEVNX0VNQUlMX05BTUU9JHtfQVBQX1NZU1RFTV9FTUFJTF9OQU1FOi1BcHB3cml0ZX0nCiAgICAgIC0gJ19BUFBfU1lTVEVNX0VNQUlMX0FERFJFU1M9JHtfQVBQX1NZU1RFTV9FTUFJTF9BRERSRVNTOi1ub3JlcGx5QGFwcHdyaXRlLmlvfScKICAgICAgLSAnX0FQUF9TTVRQX0hPU1Q9JHtfQVBQX1NNVFBfSE9TVH0nCiAgICAgIC0gJ19BUFBfU01UUF9QT1JUPSR7X0FQUF9TTVRQX1BPUlR9JwogICAgICAtICdfQVBQX1NNVFBfU0VDVVJFPSR7X0FQUF9TTVRQX1NFQ1VSRX0nCiAgICAgIC0gJ19BUFBfU01UUF9VU0VSTkFNRT0ke19BUFBfU01UUF9VU0VSTkFNRX0nCiAgICAgIC0gJ19BUFBfU01UUF9QQVNTV09SRD0ke19BUFBfU01UUF9QQVNTV09SRH0nCiAgICAgIC0gJ19BUFBfU01TX0ZST009JHtfQVBQX1NNU19GUk9NfScKICAgICAgLSAnX0FQUF9TTVNfUFJPVklERVI9JHtfQVBQX1NNU19QUk9WSURFUn0nCiAgICAgIC0gJ19BUFBfU01TX1BST0pFQ1RTX0RFTllfTElTVD0ke19BUFBfU01TX1BST0pFQ1RTX0RFTllfTElTVH0nCiAgICAgIC0gJ19BUFBfTUlHUkFUSU9OU19GSVJFQkFTRV9DTElFTlRfSUQ9JHtfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX0lEfScKICAgICAgLSAnX0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9TRUNSRVQ9JHtfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfTUlHUkFUSU9OX0hPU1Q9JHtfQVBQX01JR1JBVElPTl9IT1NUOi1hcHB3cml0ZX0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVQ6LTEyMDk2MDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVF9DT05TT0xFPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVRfQ09OU09MRX0nCiAgICAgIC0gJ19BUFBfTElNSVRfREFUQUJBU0VfQkFUQ0g9JHtfQVBQX0xJTUlUX0RBVEFCQVNFX0JBVENIOi0xMDB9JwogICAgICAtICdfQVBQX0RPQ1VNRU5UU0RCPSR7X0FQUF9ET0NVTUVOVFNEQjotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX1ZFQ1RPUlNEQj0ke19BUFBfVkVDVE9SU0RCOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfRU1CRURESU5HPSR7X0FQUF9FTUJFRERJTkc6LWRpc2FibGVkfScKICAgIHZvbHVtZXM6CiAgICAgIC0gJ2FwcHdyaXRlLXVwbG9hZHM6L3N0b3JhZ2UvdXBsb2FkczpydycKICAgICAgLSAnYXBwd3JpdGUtaW1wb3J0czovc3RvcmFnZS9pbXBvcnRzOnJ3JwogICAgICAtICdhcHB3cml0ZS1jYWNoZTovc3RvcmFnZS9jYWNoZTpydycKICAgICAgLSAnYXBwd3JpdGUtY29uZmlnOi9zdG9yYWdlL2NvbmZpZzpydycKICAgICAgLSAnYXBwd3JpdGUtY2VydGlmaWNhdGVzOi9zdG9yYWdlL2NlcnRpZmljYXRlczpydycKICAgICAgLSAnYXBwd3JpdGUtZnVuY3Rpb25zOi9zdG9yYWdlL2Z1bmN0aW9uczpydycKICAgICAgLSAnYXBwd3JpdGUtc2l0ZXM6L3N0b3JhZ2Uvc2l0ZXM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWJ1aWxkczovc3RvcmFnZS9idWlsZHM6cncnCiAgICBkZXBlbmRzX29uOgogICAgICBhcHB3cml0ZS1wb3N0Z3Jlc3FsOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIGFwcHdyaXRlLXJlZGlzOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIGFwcHdyaXRlLWNsaWNraG91c2U6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgICAgb3BlbnJ1bnRpbWVzLWV4ZWN1dG9yOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIG9yY2hlc3RyYXRvcjoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICJwcyBhdXggfCBncmVwIC1xICdbcF1ocCcgfHwgZXhpdCAxIgogICAgICBpbnRlcnZhbDogMjBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDMKICBhcHB3cml0ZS10YXNrLXNjaGVkdWxlcjoKICAgIGltYWdlOiAnYXBwd3JpdGUvYXBwd3JpdGU6Mi41LjAnCiAgICBlbnRyeXBvaW50OiBzY2hlZHVsZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gJ19BUFBfRU5WPSR7X0FQUF9FTlY6LXByb2R1Y3Rpb259JwogICAgICAtICdfQVBQX1VTQUdFX1NUQVRTPSR7X0FQUF9VU0FHRV9TVEFUUzotZW5hYmxlZH0nCiAgICAgIC0gX0FQUF9VU0FHRV9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0UKICAgICAgLSAnX0FQUF9DT05ORUNUSU9OU19EQl9VU0FHRT1odHRwOi8vYXBwd3JpdGU6JFNFUlZJQ0VfUEFTU1dPUkRfQ0xJQ0tIT1VTRUBhcHB3cml0ZS1jbGlja2hvdXNlOjgxMjMvYXBwd3JpdGUnCiAgICAgIC0gJ19BUFBfUE9PTF9TSVpFX1VTQUdFPSR7X0FQUF9QT09MX1NJWkVfVVNBR0U6LTJ9JwogICAgICAtICdfQVBQX0NPTk5FQ1RJT05TX0RCX0VYRUNVVElPTlM9aHR0cDovL2FwcHdyaXRlOiRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0VAYXBwd3JpdGUtY2xpY2tob3VzZTo4MTIzL2FwcHdyaXRlJwogICAgICAtICdfQVBQX1BPT0xfU0laRV9FWEVDVVRJT05TPSR7X0FQUF9QT09MX1NJWkVfRVhFQ1VUSU9OUzotMn0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1VTQUdFX1RUTD0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1VTQUdFX1RUTDotMTgwfScKICAgICAgLSAnX0FQUF9TVEFUU19VU0FHRV9RVUVVRV9OQU1FPSR7X0FQUF9TVEFUU19VU0FHRV9RVUVVRV9OQU1FOi12MS1zdGF0cy11c2FnZX0nCiAgICAgIC0gJ19BUFBfU1RBVFNfUkVTT1VSQ0VTX1FVRVVFX05BTUU9JHtfQVBQX1NUQVRTX1JFU09VUkNFU19RVUVVRV9OQU1FOi12MS1zdGF0cy1yZXNvdXJjZXN9JwogICAgICAtICdfQVBQX1NUQVRTX1JFU09VUkNFU19JTlRFUlZBTD0ke19BUFBfU1RBVFNfUkVTT1VSQ0VTX0lOVEVSVkFMOi0zNjAwfScKICAgICAgLSAnX0FQUF9MT0dHSU5HX0ZPUk1BVD0ke19BUFBfTE9HR0lOR19GT1JNQVQ6LXByZXR0eX0nCiAgICAgIC0gX0FQUF9XT1JLRVJfTUFYX0NPUk9VVElORVM9OAogICAgICAtICdfQVBQX1dPUktFUl9QRVJfQ09SRT0ke19BUFBfV09SS0VSX1BFUl9DT1JFOi02fScKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0FQUFdSSVRFCiAgICAgIC0gJ19BUFBfT1BUSU9OU19GT1JDRV9IVFRQUz0ke19BUFBfT1BUSU9OU19GT1JDRV9IVFRQUzotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX0RPTUFJTj0ke19BUFBfRE9NQUlOOi0kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0RPTUFJTj0ke19BUFBfQ09OU09MRV9ET01BSU59JwogICAgICAtICdfQVBQX0NPTlNPTEVfU0NIRU1BPSR7X0FQUF9DT05TT0xFX1NDSEVNQTotYXBwd3JpdGVpb30nCiAgICAgIC0gJ19BUFBfRE9NQUlOX0ZVTkNUSU9OUz0ke19BUFBfRE9NQUlOX0ZVTkNUSU9OUzotZnVuY3Rpb25zLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9TSVRFUz0ke19BUFBfRE9NQUlOX1NJVEVTOi1zaXRlcy4kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9NSUdSQVRJT05fSE9TVD0ke19BUFBfTUlHUkFUSU9OX0hPU1Q6LWFwcHdyaXRlfScKICAgICAgLSAnX0FQUF9SRURJU19IT1NUPSR7X0FQUF9SRURJU19IT1NUOi1hcHB3cml0ZS1yZWRpc30nCiAgICAgIC0gJ19BUFBfUkVESVNfUE9SVD0ke19BUFBfUkVESVNfUE9SVDotNjM3OX0nCiAgICAgIC0gJ19BUFBfUkVESVNfVVNFUj0ke19BUFBfUkVESVNfVVNFUn0nCiAgICAgIC0gJ19BUFBfUkVESVNfUEFTUz0ke19BUFBfUkVESVNfUEFTU30nCiAgICAgIC0gJ19BUFBfREJfQURBUFRFUj0ke19BUFBfREJfQURBUFRFUjotcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfSE9TVD0ke19BUFBfREJfSE9TVDotYXBwd3JpdGUtcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfUE9SVD0ke19BUFBfREJfUE9SVDotNTQzMn0nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BPSR7X0FQUF9EQl9TQ0hFTUE6LWFwcHdyaXRlfScKICAgICAgLSBfQVBQX0RCX1VTRVI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFUwogICAgICAtIF9BUFBfREJfUEFTUz0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgICAtICdfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVM9JHtfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVN9JwogICAgICAtICdfQVBQX0ZVTkNUSU9OU19TQ0hFRFVMRV9TUFJFQUQ9JHtfQVBQX0ZVTkNUSU9OU19TQ0hFRFVMRV9TUFJFQUQ6LTB9JwogICAgZGVwZW5kc19vbjoKICAgICAgYXBwd3JpdGUtcG9zdGdyZXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1yZWRpczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICJwcyBhdXggfCBncmVwIC1xICdbcF1ocCcgfHwgZXhpdCAxIgogICAgICBpbnRlcnZhbDogMjBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDMKICBhcHB3cml0ZS10YXNrLW1haW50ZW5hbmNlOgogICAgaW1hZ2U6ICdhcHB3cml0ZS9hcHB3cml0ZToyLjUuMCcKICAgIGVudHJ5cG9pbnQ6IG1haW50ZW5hbmNlCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnX0FQUF9FTlY9JHtfQVBQX0VOVjotcHJvZHVjdGlvbn0nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19GT1JNQVQ9JHtfQVBQX0xPR0dJTkdfRk9STUFUOi1wcmV0dHl9JwogICAgICAtICdfQVBQX1dPUktFUl9QRVJfQ09SRT0ke19BUFBfV09SS0VSX1BFUl9DT1JFOi02fScKICAgICAgLSAnX0FQUF9ET01BSU49JHtfQVBQX0RPTUFJTjotJFNFUlZJQ0VfRlFETl9BUFBXUklURX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9DTkFNRT0ke19BUFBfRE9NQUlOX1RBUkdFVF9DTkFNRTotbG9jYWxob3N0fScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0FBQUE9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQUFBQTotOjoxfScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0E9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQTotMTI3LjAuMC4xfScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0NBQT0ke19BUFBfRE9NQUlOX1RBUkdFVF9DQUF9JwogICAgICAtICdfQVBQX0ROUz0ke19BUFBfRE5TfScKICAgICAgLSAnX0FQUF9ET01BSU5fRlVOQ1RJT05TPSR7X0FQUF9ET01BSU5fRlVOQ1RJT05TOi1mdW5jdGlvbnMuJFNFUlZJQ0VfRlFETl9BUFBXUklURX0nCiAgICAgIC0gJ19BUFBfRURJVElPTj0ke19BUFBfRURJVElPTjotc2VsZi1ob3N0ZWR9JwogICAgICAtICdfQVBQX1JPVVRFUl9BVVRPX0NFUlRJRklDQVRFUz0ke19BUFBfUk9VVEVSX0FVVE9fQ0VSVElGSUNBVEVTOi1kaXNhYmxlZH0nCiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMT0kU0VSVklDRV9QQVNTV09SRF82NF9BUFBXUklURQogICAgICAtICdfQVBQX1JFRElTX0hPU1Q9JHtfQVBQX1JFRElTX0hPU1Q6LWFwcHdyaXRlLXJlZGlzfScKICAgICAgLSAnX0FQUF9SRURJU19QT1JUPSR7X0FQUF9SRURJU19QT1JUOi02Mzc5fScKICAgICAgLSAnX0FQUF9SRURJU19VU0VSPSR7X0FQUF9SRURJU19VU0VSfScKICAgICAgLSAnX0FQUF9SRURJU19QQVNTPSR7X0FQUF9SRURJU19QQVNTfScKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSPSR7X0FQUF9EQl9BREFQVEVSOi1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9IT1NUPSR7X0FQUF9EQl9IT1NUOi1hcHB3cml0ZS1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9QT1JUPSR7X0FQUF9EQl9QT1JUOi01NDMyfScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUE9JHtfQVBQX0RCX1NDSEVNQTotYXBwd3JpdGV9JwogICAgICAtIF9BUFBfREJfVVNFUj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gX0FQUF9EQl9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfSU5URVJWQUw9JHtfQVBQX01BSU5URU5BTkNFX0lOVEVSVkFMOi04NjQwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0VYRUNVVElPTj0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0VYRUNVVElPTjotMTIwOTYwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0NBQ0hFPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQ0FDSEU6LTI1OTIwMDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BQlVTRT0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FCVVNFOi04NjQwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVQ6LTEyMDk2MDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVF9DT05TT0xFPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVRfQ09OU09MRX0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1NDSEVEVUxFUz0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1NDSEVEVUxFUzotODY0MDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1NUQVJUX1RJTUU9JHtfQVBQX01BSU5URU5BTkNFX1NUQVJUX1RJTUV9JwogICAgICAtICdfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVM9JHtfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVN9JwogICAgZGVwZW5kc19vbjoKICAgICAgYXBwd3JpdGUtcG9zdGdyZXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1yZWRpczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICJwcyBhdXggfCBncmVwIC1xICdbcF1ocCcgfHwgZXhpdCAxIgogICAgICBpbnRlcnZhbDogMjBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDMKICBhcHB3cml0ZS10YXNrLWludGVydmFsOgogICAgaW1hZ2U6ICdhcHB3cml0ZS9hcHB3cml0ZToyLjUuMCcKICAgIGVudHJ5cG9pbnQ6IGludGVydmFsCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnX0FQUF9FTlY9JHtfQVBQX0VOVjotcHJvZHVjdGlvbn0nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19GT1JNQVQ9JHtfQVBQX0xPR0dJTkdfRk9STUFUOi1wcmV0dHl9JwogICAgICAtICdfQVBQX1dPUktFUl9QRVJfQ09SRT0ke19BUFBfV09SS0VSX1BFUl9DT1JFOi02fScKICAgICAgLSAnX0FQUF9ET01BSU49JHtfQVBQX0RPTUFJTjotJFNFUlZJQ0VfRlFETl9BUFBXUklURX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9DTkFNRT0ke19BUFBfRE9NQUlOX1RBUkdFVF9DTkFNRTotbG9jYWxob3N0fScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0FBQUE9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQUFBQTotOjoxfScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0E9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQTotMTI3LjAuMC4xfScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0NBQT0ke19BUFBfRE9NQUlOX1RBUkdFVF9DQUF9JwogICAgICAtICdfQVBQX0ROUz0ke19BUFBfRE5TfScKICAgICAgLSAnX0FQUF9ET01BSU5fRlVOQ1RJT05TPSR7X0FQUF9ET01BSU5fRlVOQ1RJT05TOi1mdW5jdGlvbnMuJFNFUlZJQ0VfRlFETl9BUFBXUklURX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1NJVEVTPSR7X0FQUF9ET01BSU5fU0lURVM6LXNpdGVzLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjE9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfQVBQV1JJVEUKICAgICAgLSAnX0FQUF9SRURJU19IT1NUPSR7X0FQUF9SRURJU19IT1NUOi1hcHB3cml0ZS1yZWRpc30nCiAgICAgIC0gJ19BUFBfUkVESVNfUE9SVD0ke19BUFBfUkVESVNfUE9SVDotNjM3OX0nCiAgICAgIC0gJ19BUFBfUkVESVNfVVNFUj0ke19BUFBfUkVESVNfVVNFUn0nCiAgICAgIC0gJ19BUFBfUkVESVNfUEFTUz0ke19BUFBfUkVESVNfUEFTU30nCiAgICAgIC0gJ19BUFBfREJfQURBUFRFUj0ke19BUFBfREJfQURBUFRFUjotcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfSE9TVD0ke19BUFBfREJfSE9TVDotYXBwd3JpdGUtcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfUE9SVD0ke19BUFBfREJfUE9SVDotNTQzMn0nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BPSR7X0FQUF9EQl9TQ0hFTUE6LWFwcHdyaXRlfScKICAgICAgLSBfQVBQX0RCX1VTRVI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFUwogICAgICAtIF9BUFBfREJfUEFTUz0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgICAtICdfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVM9JHtfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVN9JwogICAgICAtICdfQVBQX0lOVEVSVkFMX0RPTUFJTl9WRVJJRklDQVRJT049JHtfQVBQX0lOVEVSVkFMX0RPTUFJTl9WRVJJRklDQVRJT046LTEyMH0nCiAgICAgIC0gJ19BUFBfSU5URVJWQUxfQ0xFQU5VUF9TVEFMRV9FWEVDVVRJT05TPSR7X0FQUF9JTlRFUlZBTF9DTEVBTlVQX1NUQUxFX0VYRUNVVElPTlM6LTMwMH0nCiAgICBkZXBlbmRzX29uOgogICAgICBhcHB3cml0ZS1wb3N0Z3Jlc3FsOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIGFwcHdyaXRlLXJlZGlzOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRC1TSEVMTAogICAgICAgIC0gInBzIGF1eCB8IGdyZXAgLXEgJ1twXWhwJyB8fCBleGl0IDEiCiAgICAgIGludGVydmFsOiAyMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMwogIGFwcHdyaXRlLWdlbzoKICAgIGltYWdlOiAnYXBwd3JpdGUvZ2VvOjAuMy4yJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gR0VPX1NFQ1JFVD0kU0VSVklDRV9QQVNTV09SRF82NF9HRU8KICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAicGhwIC1yIFwiZXhpdChqc29uX2RlY29kZShmaWxlX2dldF9jb250ZW50cygnaHR0cDovL2xvY2FsaG9zdC92MS9oZWFsdGgnKSktPnN0YXR1cyA9PT0gJ29rJyA/IDAgOiAxKTtcIiIKICAgICAgaW50ZXJ2YWw6IDIwcwogICAgICB0aW1lb3V0OiA1cwogICAgICByZXRyaWVzOiAzCiAgICAgIHN0YXJ0X3BlcmlvZDogMTBzCiAgYXBwd3JpdGUtYnJvd3NlcjoKICAgIGltYWdlOiAnYXBwd3JpdGUvYnJvd3NlcjowLjMuNicKICAgIGVudmlyb25tZW50OgogICAgICAtIEFMTE9XRURfSE9TVFM9YXBwd3JpdGUKICAgIGRuczoKICAgICAgLSAxLjEuMS4xCiAgICAgIC0gOC44LjguOAogICAgZXhjbHVkZV9mcm9tX2hjOiB0cnVlCiAgb3BlbnJ1bnRpbWVzLWV4ZWN1dG9yOgogICAgaW1hZ2U6ICdvcGVucnVudGltZXMvZXhlY3V0b3I6MS4xLjInCiAgICBob3N0bmFtZTogb3BlbnJ1bnRpbWVzLWV4ZWN1dG9yCiAgICBzdG9wX3NpZ25hbDogU0lHSU5UCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnT1BSX0VYRUNVVE9SX0lNQUdFUz0ke19BUFBfRVhFQ1VUT1JfSU1BR0VTOi1vcGVucnVudGltZXMvbm9kZTp2NS0yMixvcGVucnVudGltZXMvc3RhdGljOnY1LTF9JwogICAgICAtICdPUFJfRVhFQ1VUT1JfSU5BQ1RJVkVfVEhSRVNIT0xEPSR7X0FQUF9DT01QVVRFX0lOQUNUSVZFX1RIUkVTSE9MRDotNjAwfScKICAgICAgLSAnT1BSX0VYRUNVVE9SX01BSU5URU5BTkNFX0lOVEVSVkFMPSR7X0FQUF9DT01QVVRFX01BSU5URU5BTkNFX0lOVEVSVkFMOi02MDB9JwogICAgICAtICdPUFJfRVhFQ1VUT1JfTkVUV09SSz0ke19BUFBfQ09NUFVURV9SVU5USU1FU19ORVRXT1JLOi1ydW50aW1lc30nCiAgICAgIC0gJ09QUl9FWEVDVVRPUl9ET0NLRVJfSFVCX1VTRVJOQU1FPSR7X0FQUF9ET0NLRVJfSFVCX1VTRVJOQU1FfScKICAgICAgLSAnT1BSX0VYRUNVVE9SX0RPQ0tFUl9IVUJfUEFTU1dPUkQ9JHtfQVBQX0RPQ0tFUl9IVUJfUEFTU1dPUkR9JwogICAgICAtICdPUFJfRVhFQ1VUT1JfRU5WPSR7X0FQUF9FTlY6LXByb2R1Y3Rpb259JwogICAgICAtICdPUFJfRVhFQ1VUT1JfUlVOVElNRVM9JHtfQVBQX0ZVTkNUSU9OU19SVU5USU1FUzotbm9kZS0yMn0sJHtfQVBQX1NJVEVTX1JVTlRJTUVTOi1zdGF0aWMtMSxub2RlLTIyfScKICAgICAgLSBPUFJfRVhFQ1VUT1JfU0VDUkVUPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0VYRUNVVE9SCiAgICAgIC0gT1BSX0VYRUNVVE9SX1JVTlRJTUVfVkVSU0lPTlM9djUKICAgICAgLSAnT1BFTl9SVU5USU1FU19ORlQ9JHtfQVBQX09QRU5fUlVOVElNRVNfTkZUOi1lbmFibGVkfScKICAgICAgLSAnT1BSX0VYRUNVVE9SX0xPR0dJTkdfQ09ORklHPSR7X0FQUF9MT0dHSU5HX0NPTkZJR30nCiAgICAgIC0gJ09QUl9FWEVDVVRPUl9DT05ORUNUSU9OX1NUT1JBR0U9JHtfQVBQX0VYRUNVVE9SX0NPTk5FQ1RJT05fU1RPUkFHRTotbG9jYWw6Ly9sb2NhbGhvc3R9JwogICAgICAtIE9QUl9FWEVDVVRPUl9DT05ORUNUSU9OX0JVSUxEX0NBQ0hFX1NUT1JBR0U9CiAgICB2b2x1bWVzOgogICAgICAtICcvdmFyL3J1bi9kb2NrZXIuc29jazovdmFyL3J1bi9kb2NrZXIuc29jaycKICAgICAgLSAnYXBwd3JpdGUtYnVpbGRzOi9zdG9yYWdlL2J1aWxkczpydycKICAgICAgLSAnYXBwd3JpdGUtZnVuY3Rpb25zOi9zdG9yYWdlL2Z1bmN0aW9uczpydycKICAgICAgLSAnYXBwd3JpdGUtc2l0ZXM6L3N0b3JhZ2Uvc2l0ZXM6cncnCiAgICAgIC0gJy90bXA6L3RtcDpydycKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAnY3VybCAtZnNTIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJCRPUFJfRVhFQ1VUT1JfU0VDUkVUIiBodHRwOi8vbG9jYWxob3N0L3YxL2hlYWx0aCA+IC9kZXYvbnVsbCB8fCBleGl0IDEnCiAgICAgIGludGVydmFsOiAyMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMwogICAgICBzdGFydF9wZXJpb2Q6IDEwcwogIG9yY2hlc3RyYXRvcjoKICAgIGltYWdlOiAnZ2hjci5pby9vcGVuLXJ1bnRpbWVzL29yY2hlc3RyYXRvci9vcmNoZXN0cmF0b3I6Mi4yLjInCiAgICBob3N0bmFtZTogb3JjaGVzdHJhdG9yCiAgICB1c2VyOiByb290CiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBPUkNIRVNUUkFUT1JfQkFDS0VORD1kb2NrZXIKICAgICAgLSAnT1JDSEVTVFJBVE9SX05FVFdPUks9JHtDT01QT1NFX1BST0pFQ1RfTkFNRX0nCiAgICAgIC0gJ0RPQ0tFUl9ORVRXT1JLPSR7Q09NUE9TRV9QUk9KRUNUX05BTUV9JwogICAgICAtICdBUlRJRkFDVF9FTkRQT0lOVD1odHRwOi8vb3JjaGVzdHJhdG9yOjgwODAnCiAgICAgIC0gJ1MzX0VORFBPSU5UPSR7X0FQUF9TVE9SQUdFX1MzX0VORFBPSU5UfScKICAgICAgLSAnUzNfUkVHSU9OPSR7X0FQUF9TVE9SQUdFX1MzX1JFR0lPTjotdXMtZWFzdC0xfScKICAgICAgLSAnUzNfQUNDRVNTX0tFWV9JRD0ke19BUFBfU1RPUkFHRV9TM19BQ0NFU1NfS0VZfScKICAgICAgLSAnUzNfU0VDUkVUX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfUzNfU0VDUkVUfScKICAgIHZvbHVtZXM6CiAgICAgIC0gJy92YXIvcnVuL2RvY2tlci5zb2NrOi92YXIvcnVuL2RvY2tlci5zb2NrJwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQKICAgICAgICAtIC9rby1hcHAvb3JjaGVzdHJhdG9yCiAgICAgICAgLSAnLWNoZWNrLXJlYWR5JwogICAgICBpbnRlcnZhbDogMjBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDMKICAgICAgc3RhcnRfcGVyaW9kOiAxMHMKICBhcHB3cml0ZS1wb3N0Z3Jlc3FsOgogICAgaW1hZ2U6ICdhcHB3cml0ZS9wb3N0Z3JlczowLjEuMCcKICAgIGVudmlyb25tZW50OgogICAgICAtICdQT1NUR1JFU19EQj0ke19BUFBfREJfU0NIRU1BOi1hcHB3cml0ZX0nCiAgICAgIC0gUE9TVEdSRVNfVVNFUj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gUE9TVEdSRVNfUEFTU1dPUkQ9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgIHZvbHVtZXM6CiAgICAgIC0gJ2FwcHdyaXRlLXBvc3RncmVzcWw6L3Zhci9saWIvcG9zdGdyZXNxbDpydycKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAncGdfaXNyZWFkeSAtVSAkJHtQT1NUR1JFU19VU0VSfSAtZCAkJHtQT1NUR1JFU19EQn0nCiAgICAgIGludGVydmFsOiAxMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMTAKICAgICAgc3RhcnRfcGVyaW9kOiAxMHMKICBhcHB3cml0ZS1yZWRpczoKICAgIGltYWdlOiAncmVkaXM6Ny40LjctYWxwaW5lJwogICAgY29tbWFuZDogJ3JlZGlzLXNlcnZlciAtLW1heG1lbW9yeSA1MTJtYiAtLW1heG1lbW9yeS1wb2xpY3kgYWxsa2V5cy1scnUgLS1tYXhtZW1vcnktc2FtcGxlcyA1JwogICAgdm9sdW1lczoKICAgICAgLSAnYXBwd3JpdGUtcmVkaXM6L2RhdGE6cncnCiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRAogICAgICAgIC0gcmVkaXMtY2xpCiAgICAgICAgLSBwaW5nCiAgICAgIGludGVydmFsOiAyMHMKICAgICAgdGltZW91dDogMTBzCiAgICAgIHJldHJpZXM6IDUKICBhcHB3cml0ZS1jbGlja2hvdXNlOgogICAgaW1hZ2U6ICdjbGlja2hvdXNlL2NsaWNraG91c2Utc2VydmVyOjI2LjQuMy1hbHBpbmUnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBDTElDS0hPVVNFX0RCPWFwcHdyaXRlCiAgICAgIC0gQ0xJQ0tIT1VTRV9VU0VSPWFwcHdyaXRlCiAgICAgIC0gQ0xJQ0tIT1VTRV9QQVNTV09SRD0kU0VSVklDRV9QQVNTV09SRF9DTElDS0hPVVNFCiAgICAgIC0gQ0xJQ0tIT1VTRV9ERUZBVUxUX0FDQ0VTU19NQU5BR0VNRU5UPTEKICAgICAgLSBDTElDS0hPVVNFX0FMV0FZU19SVU5fSU5JVERCX1NDUklQVFM9MQogICAgdm9sdW1lczoKICAgICAgLSAnYXBwd3JpdGUtY2xpY2tob3VzZTovdmFyL2xpYi9jbGlja2hvdXNlOnJ3JwogICAgICAtCiAgICAgICAgdHlwZTogYmluZAogICAgICAgIHNvdXJjZTogLi9jbGlja2hvdXNlLWNvbmZpZy54bWwKICAgICAgICB0YXJnZXQ6IC9ldGMvY2xpY2tob3VzZS1zZXJ2ZXIvY29uZmlnLmQvYXBwd3JpdGUueG1sCiAgICAgICAgcmVhZF9vbmx5OiB0cnVlCiAgICAgICAgY29udGVudDogIjw/eG1sIHZlcnNpb249XCIxLjBcIj8+XG48IS0tXG4gICAgUmV0ZW50aW9uIGZvciBDbGlja0hvdXNlJ3Mgb3duIHN5c3RlbSBsb2cgdGFibGVzLlxuXG4gICAgRXZlcnkgPHR0bD4gaW4gdGhlIGltYWdlJ3MgY29uZmlnLnhtbCBzaXRzIGluc2lkZSBhbiBYTUwgY29tbWVudCwgc28gdGhlc2VcbiAgICB0YWJsZXMga2VlcCBldmVyeSByb3cgZm9yZXZlciwgYW5kIHRoZSBtZXRyaWMgb25lcyBhZGQgYSByb3cgcGVyIHNlY29uZFxuICAgIHdoZXRoZXIgb3Igbm90IHRoZSBpbnN0YW5jZSBzZXJ2ZXMgdHJhZmZpYy4gTGVmdCBhbG9uZSB0aGV5IG91dGdyb3cgdGhlXG4gICAgdXNhZ2UgZGF0YSB0aGV5IHNpdCBuZXh0IHRvIGFuZCBmaWxsIHRoZSB2b2x1bWUuXG5cbiAgICBXaGVuIGEgd2luZG93IGhlcmUgY2hhbmdlcywgQ2xpY2tIb3VzZSByZXBsYWNlcyB0aGUgdGFibGUgb24gdGhlIG5leHRcbiAgICByZXN0YXJ0IGFuZCBrZWVwcyB0aGUgb2xkIG9uZSwgcm93cyBhbmQgYWxsLCBhcyA8bG9nPl88Tj4uXG4gICAgY2xpY2tob3VzZS1pbml0LnNoIGdpdmVzIHRob3NlIG9sZCB0YWJsZXMgdGhlIHNhbWUgd2luZG93LlxuLS0+XG48Y2xpY2tob3VzZT5cbiAgICA8IS0tIFRoZSBtZXRyaWMsIHRyYWNlIGFuZCBwcm9maWxlIGxvZ3Mgc2FtcGxlIHRoZSBzZXJ2ZXIgZXZlcnkgc2Vjb25kIHdoZXRoZXJcbiAgICAgICAgIG9yIG5vdCBBcHB3cml0ZSBzZXJ2ZXMgdHJhZmZpYywgYW5kIG5vdGhpbmcgcmVhZHMgdGhlbSBiYWNrLCBzbyB0aGVpclxuICAgICAgICAgd3JpdGVzIGFuZCB0aGUgbWVyZ2VzIGJlaGluZCB0aGVtIGFyZSBwdXJlIG92ZXJoZWFkLiAtLT5cbiAgICA8YXN5bmNocm9ub3VzX21ldHJpY19sb2cgcmVtb3ZlPVwiMVwiLz5cbiAgICA8bWV0cmljX2xvZyByZW1vdmU9XCIxXCIvPlxuICAgIDxoaXN0b2dyYW1fbWV0cmljX2xvZyByZW1vdmU9XCIxXCIvPlxuICAgIDxxdWVyeV9tZXRyaWNfbG9nIHJlbW92ZT1cIjFcIi8+XG4gICAgPHByb2Nlc3NvcnNfcHJvZmlsZV9sb2cgcmVtb3ZlPVwiMVwiLz5cbiAgICA8dHJhY2VfbG9nIHJlbW92ZT1cIjFcIi8+XG4gICAgPCEtLSB0ZXh0X2xvZyByZXBlYXRzIHRoZSBzZXJ2ZXIgbG9nIHRoZSBjb250YWluZXIgYWxyZWFkeSB3cml0ZXMuIC0tPlxuICAgIDx0ZXh0X2xvZyByZW1vdmU9XCIxXCIvPlxuXG4gICAgPCEtLSBLZXB0IGZvciBkZWJ1Z2dpbmcsIGNhcHBlZCBzbyB0aGV5IGNhbm5vdCBmaWxsIHRoZSB2b2x1bWUuIC0tPlxuICAgIDxhc3luY2hyb25vdXNfaW5zZXJ0X2xvZz48dHRsPmV2ZW50X2RhdGUgKyBJTlRFUlZBTCAzIERBWSBERUxFVEU8L3R0bD48L2FzeW5jaHJvbm91c19pbnNlcnRfbG9nPlxuICAgIDxxdWVyeV9sb2c+PHR0bD5ldmVudF9kYXRlICsgSU5URVJWQUwgNyBEQVkgREVMRVRFPC90dGw+PC9xdWVyeV9sb2c+XG4gICAgPHF1ZXJ5X3ZpZXdzX2xvZz48dHRsPmV2ZW50X2RhdGUgKyBJTlRFUlZBTCA3IERBWSBERUxFVEU8L3R0bD48L3F1ZXJ5X3ZpZXdzX2xvZz5cbiAgICA8cXVlcnlfdGhyZWFkX2xvZz48dHRsPmV2ZW50X2RhdGUgKyBJTlRFUlZBTCA3IERBWSBERUxFVEU8L3R0bD48L3F1ZXJ5X3RocmVhZF9sb2c+XG4gICAgPHBhcnRfbG9nPjx0dGw+ZXZlbnRfZGF0ZSArIElOVEVSVkFMIDcgREFZIERFTEVURTwvdHRsPjwvcGFydF9sb2c+XG4gICAgPGJhY2tncm91bmRfc2NoZWR1bGVfcG9vbF9sb2c+PHR0bD5ldmVudF9kYXRlICsgSU5URVJWQUwgNyBEQVkgREVMRVRFPC90dGw+PC9iYWNrZ3JvdW5kX3NjaGVkdWxlX3Bvb2xfbG9nPlxuXG4gICAgPCEtLSBMb25nZXIsIHNvIGl0IHN0aWxsIGNvdmVycyBhIHJlcG9ydCB0aGF0IHJlYWNoZXMgdXMgbGF0ZS4gY3Jhc2hfbG9nIGlzXG4gICAgICAgICBkZWxpYmVyYXRlbHkgbGVmdCBhbG9uZTogaXQgaXMgdGlueSBhbmQgd29ydGgga2VlcGluZy4gLS0+XG4gICAgPGVycm9yX2xvZz48dHRsPmV2ZW50X2RhdGUgKyBJTlRFUlZBTCAxNCBEQVkgREVMRVRFPC90dGw+PC9lcnJvcl9sb2c+XG48L2NsaWNraG91c2U+XG4iCiAgICAgIC0KICAgICAgICB0eXBlOiBiaW5kCiAgICAgICAgc291cmNlOiAuL2NsaWNraG91c2UtaW5pdC5zaAogICAgICAgIHRhcmdldDogL2RvY2tlci1lbnRyeXBvaW50LWluaXRkYi5kL2NsaWNraG91c2UtaW5pdC5zaAogICAgICAgIHJlYWRfb25seTogdHJ1ZQogICAgICAgIGNvbnRlbnQ6ICIjIS9iaW4vYmFzaFxuIyBUaGUgQ2xpY2tIb3VzZSBlbnRyeXBvaW50IHNvdXJjZXMgdGhpcyBmaWxlLCBzbyBhIHN1YnNoZWxsIGtlZXBzIHRoZXNlIG9wdGlvbnMgb3V0IG9mIGl0LlxuKFxuICBzZXQgLWV1byBwaXBlZmFpbFxuXG4gIGNsaWVudCgpIHtcbiAgICBjbGlja2hvdXNlLWNsaWVudCAtLWhvc3QgMTI3LjAuMC4xIC0tdXNlciBcIiRDTElDS0hPVVNFX1VTRVJcIiAtLXBhc3N3b3JkIFwiJENMSUNLSE9VU0VfUEFTU1dPUkRcIiBcIiRAXCJcbiAgfVxuXG4gICMgRmx1c2hpbmcgcmVwbGFjZXMgbG9nIHRhYmxlcyB3aG9zZSBkZWZpbml0aW9uIGNoYW5nZWQsIGtlZXBpbmcgZWFjaCBvbGQgdGFibGUgYXMgPGxvZz5fPE4+LlxuICBjbGllbnQgLS1xdWVyeSAnU1lTVEVNIEZMVVNIIExPR1MnXG5cbiAgIyBUYWJsZXMgbGVmdCBiZWhpbmQgbmV2ZXIgZXhwaXJlIG9uIHRoZWlyIG93bjogdGFrZSB0aGUgVFRMIG9mIHRoZSBsb2cgdGhhdFxuICAjIHJlcGxhY2VkIHRoaXMgb25lLCBvciBhIHdlZWsgd2hlbiB0aGUgbG9nIGlzIG5vIGxvbmdlciB3cml0dGVuIGF0IGFsbC5cbiAgIyBUaGUgbmFtZWQgbG9ncyBtdXN0IG1hdGNoIHRoZSBvbmVzIGNsaWNraG91c2UtY29uZmlnLnhtbCByZW1vdmVzOiBhIGxvZyB0aGF0XG4gICMgaXMgc3RpbGwgd3JpdHRlbiBnZXRzIHJlcGxhY2VkIG9uIHRoZSBuZXh0IHJlc3RhcnQgaWYgaXRzIFRUTCBpcyBhbHRlcmVkIGhlcmUuXG4gIGNsaWVudCAtLWZvcm1hdCBUU1ZSYXcgPDwnU1FMJyB8IGNsaWVudCAtLW11bHRpcXVlcnlcblNFTEVDVCBjb25jYXQoJ0FMVEVSIFRBQkxFIHN5c3RlbS4nLCBzdGFsZS5uYW1lLCAnIE1PRElGWSBUVEwgJywgaWYoYWN0aXZlLm5hbWUgPSAnJywgJ2V2ZW50X2RhdGUgKyBJTlRFUlZBTCA3IERBWSBERUxFVEUnLCBzcGxpdEJ5U3RyaW5nKCcgU0VUVElOR1MgJywgc3BsaXRCeVN0cmluZygnIFRUTCAnLCBhY3RpdmUuZW5naW5lX2Z1bGwpWzJdKVsxXSksICc7JylcbkZST00gKFxuICBTRUxFQ1QgbmFtZSwgc3BsaXRCeUNoYXIoJ18nLCBuYW1lKVstMV0gQVMgc3VmZml4LCBhcnJheVN0cmluZ0NvbmNhdChhcnJheVBvcEJhY2soc3BsaXRCeUNoYXIoJ18nLCBuYW1lKSksICdfJykgQVMgbG9nXG4gIEZST00gc3lzdGVtLnRhYmxlc1xuICBXSEVSRSBkYXRhYmFzZSA9ICdzeXN0ZW0nXG4gICAgQU5EIHBvc2l0aW9uKGVuZ2luZV9mdWxsLCAnIFRUTCAnKSA9IDBcbiAgICBBTkQgZW5kc1dpdGgoZW5naW5lLCAnTWVyZ2VUcmVlJylcbiAgICBBTkQgbmFtZSBJTiAoU0VMRUNUIHRhYmxlIEZST00gc3lzdGVtLmNvbHVtbnMgV0hFUkUgZGF0YWJhc2UgPSAnc3lzdGVtJyBBTkQgbmFtZSA9ICdldmVudF9kYXRlJyBBTkQgdHlwZSA9ICdEYXRlJylcbikgQVMgc3RhbGVcbkxFRlQgSk9JTiBzeXN0ZW0udGFibGVzIEFTIGFjdGl2ZVxuICBPTiBhY3RpdmUuZGF0YWJhc2UgPSAnc3lzdGVtJ1xuICBBTkQgYWN0aXZlLm5hbWUgPSBzdGFsZS5sb2dcbiAgQU5EIHBvc2l0aW9uKGFjdGl2ZS5lbmdpbmVfZnVsbCwgJyBUVEwgJykgPiAwXG5XSEVSRSAoZW5kc1dpdGgoc3RhbGUubG9nLCAnX2xvZycpIEFORCB0b1VJbnQ2NE9yTnVsbChzdGFsZS5zdWZmaXgpIElTIE5PVCBOVUxMKVxuICBPUiBzdGFsZS5uYW1lIElOICgnYXN5bmNocm9ub3VzX21ldHJpY19sb2cnLCAnbWV0cmljX2xvZycsICdoaXN0b2dyYW1fbWV0cmljX2xvZycsICdxdWVyeV9tZXRyaWNfbG9nJywgJ3Byb2Nlc3NvcnNfcHJvZmlsZV9sb2cnLCAndHJhY2VfbG9nJywgJ3RleHRfbG9nJylcblNRTFxuKSIKICAgIHVsaW1pdHM6CiAgICAgIG5vZmlsZToKICAgICAgICBzb2Z0OiAyNjIxNDQKICAgICAgICBoYXJkOiAyNjIxNDQKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAnY2xpY2tob3VzZS1jbGllbnQgLS11c2VyICIkJENMSUNLSE9VU0VfVVNFUiIgLS1wYXNzd29yZCAiJCRDTElDS0hPVVNFX1BBU1NXT1JEIiAtLXF1ZXJ5ICJTRUxFQ1QgMSIgPiAvZGV2L251bGwgfHwgZXhpdCAxJwogICAgICBpbnRlcnZhbDogMTBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDIwCiAgICAgIHN0YXJ0X3BlcmlvZDogMzBzCg==", "tags": [ "backend", "backend-as-a-service", @@ -172,7 +172,7 @@ "logo": "svgs/appwrite.svg", "minversion": "0.0.0", "template_last_updated_at": "2026-09-08T19:41:04+02:00", - "port": "3003" + "port": "80" }, "argilla": { "documentation": "https://docs.argilla.io/latest/?utm_source=coolify.io", diff --git a/templates/service-templates.json b/templates/service-templates.json index c16981c03c..bde26e3875 100644 --- a/templates/service-templates.json +++ b/templates/service-templates.json @@ -162,7 +162,7 @@ "appwrite": { "documentation": "https://appwrite.io/docs?utm_source=coolify.io", "slogan": "A backend-as-a-service platform that simplifies the web & mobile app development.", - "compose": "c2VydmljZXM6CiAgYXBwd3JpdGU6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjIuMC4wJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gU0VSVklDRV9GUUROX0FQUFdSSVRFPS92MQogICAgICAtICdfQVBQX0VOVj0ke19BUFBfRU5WOi1wcm9kdWN0aW9ufScKICAgICAgLSAnX0FQUF9VU0FHRV9TVEFUUz0ke19BUFBfVVNBR0VfU1RBVFM6LWVuYWJsZWR9JwogICAgICAtIF9BUFBfVVNBR0VfUEFTUz0kU0VSVklDRV9QQVNTV09SRF9DTElDS0hPVVNFCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREJfVVNBR0U9aHR0cDovL2FwcHdyaXRlOiRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0VAYXBwd3JpdGUtY2xpY2tob3VzZTo4MTIzL2FwcHdyaXRlJwogICAgICAtICdfQVBQX1BPT0xfU0laRV9VU0FHRT0ke19BUFBfUE9PTF9TSVpFX1VTQUdFOi0yfScKICAgICAgLSAnX0FQUF9FWEVDVVRJT05TX0RVQUxfV1JJVEU9JHtfQVBQX0VYRUNVVElPTlNfRFVBTF9XUklURTotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREJfRVhFQ1VUSU9OUz1odHRwOi8vYXBwd3JpdGU6JFNFUlZJQ0VfUEFTU1dPUkRfQ0xJQ0tIT1VTRUBhcHB3cml0ZS1jbGlja2hvdXNlOjgxMjMvYXBwd3JpdGUnCiAgICAgIC0gJ19BUFBfUE9PTF9TSVpFX0VYRUNVVElPTlM9JHtfQVBQX1BPT0xfU0laRV9FWEVDVVRJT05TOi0yfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfVFRMPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfVFRMOi0xODB9JwogICAgICAtICdfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU9JHtfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU6LXYxLXN0YXRzLXVzYWdlfScKICAgICAgLSAnX0FQUF9TVEFUU19SRVNPVVJDRVNfUVVFVUVfTkFNRT0ke19BUFBfU1RBVFNfUkVTT1VSQ0VTX1FVRVVFX05BTUU6LXYxLXN0YXRzLXJlc291cmNlc30nCiAgICAgIC0gJ19BUFBfU1RBVFNfUkVTT1VSQ0VTX0lOVEVSVkFMPSR7X0FQUF9TVEFUU19SRVNPVVJDRVNfSU5URVJWQUw6LTM2MDB9JwogICAgICAtICdfQVBQX0VESVRJT049JHtfQVBQX0VESVRJT046LXNlbGYtaG9zdGVkfScKICAgICAgLSAnX0FQUF9XT1JLRVJfUEVSX0NPUkU9JHtfQVBQX1dPUktFUl9QRVJfQ09SRTotNn0nCiAgICAgIC0gJ19BUFBfUE9PTF9BREFQVEVSPSR7X0FQUF9QT09MX0FEQVBURVI6LXN0YWNrfScKICAgICAgLSAnX0FQUF9MT0NBTEU9JHtfQVBQX0xPQ0FMRTotZW59JwogICAgICAtICdfQVBQX0NPTVBSRVNTSU9OX0VOQUJMRUQ9JHtfQVBQX0NPTVBSRVNTSU9OX0VOQUJMRUQ6LWVuYWJsZWR9JwogICAgICAtICdfQVBQX0NPTVBSRVNTSU9OX01JTl9TSVpFX0JZVEVTPSR7X0FQUF9DT01QUkVTU0lPTl9NSU5fU0laRV9CWVRFU30nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9XSElURUxJU1RfUk9PVD0ke19BUFBfQ09OU09MRV9XSElURUxJU1RfUk9PVDotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9XSElURUxJU1RfRU1BSUxTPSR7X0FQUF9DT05TT0xFX1dISVRFTElTVF9FTUFJTFN9JwogICAgICAtICdfQVBQX0NPTlNPTEVfU0VTU0lPTl9BTEVSVFM9JHtfQVBQX0NPTlNPTEVfU0VTU0lPTl9BTEVSVFM6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9DT05TT0xFX1dISVRFTElTVF9JUFM9JHtfQVBQX0NPTlNPTEVfV0hJVEVMSVNUX0lQU30nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9IT1NUTkFNRVM9JHtfQVBQX0NPTlNPTEVfSE9TVE5BTUVTfScKICAgICAgLSAnX0FQUF9DT05TT0xFX1NDSEVNQT0ke19BUFBfQ09OU09MRV9TQ0hFTUE6LWFwcHdyaXRlaW99JwogICAgICAtICdfQVBQX0NPTlNPTEVfR0lUSFVCX0FQUF9JRD0ke19BUFBfQ09OU09MRV9HSVRIVUJfQVBQX0lEfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0dJVEhVQl9TRUNSRVQ9JHtfQVBQX0NPTlNPTEVfR0lUSFVCX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9HSVRMQUJfQVBQX0lEPSR7X0FQUF9DT05TT0xFX0dJVExBQl9BUFBfSUR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfR0lUTEFCX1NFQ1JFVD0ke19BUFBfQ09OU09MRV9HSVRMQUJfU0VDUkVUfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0dJVExBQl9FTkRQT0lOVD0ke19BUFBfQ09OU09MRV9HSVRMQUJfRU5EUE9JTlR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfQklUQlVDS0VUX0FQUF9JRD0ke19BUFBfQ09OU09MRV9CSVRCVUNLRVRfQVBQX0lEfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0JJVEJVQ0tFVF9TRUNSRVQ9JHtfQVBQX0NPTlNPTEVfQklUQlVDS0VUX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9HT09HTEVfQVBQX0lEPSR7X0FQUF9DT05TT0xFX0dPT0dMRV9BUFBfSUR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfR09PR0xFX1NFQ1JFVD0ke19BUFBfQ09OU09MRV9HT09HTEVfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TWVNURU1fRU1BSUxfTkFNRT0ke19BUFBfU1lTVEVNX0VNQUlMX05BTUU6LUFwcHdyaXRlfScKICAgICAgLSAnX0FQUF9TWVNURU1fRU1BSUxfQUREUkVTUz0ke19BUFBfU1lTVEVNX0VNQUlMX0FERFJFU1M6LW5vcmVwbHlAYXBwd3JpdGUuaW99JwogICAgICAtICdfQVBQX1NZU1RFTV9URUFNX0VNQUlMPSR7X0FQUF9TWVNURU1fVEVBTV9FTUFJTDotdGVhbUBhcHB3cml0ZS5pb30nCiAgICAgIC0gJ19BUFBfRU1BSUxfU0VDVVJJVFk9JHtfQVBQX0VNQUlMX1NFQ1VSSVRZOi1zZWN1cml0eUBhcHB3cml0ZS5pb30nCiAgICAgIC0gJ19BUFBfU1lTVEVNX1JFU1BPTlNFX0ZPUk1BVD0ke19BUFBfU1lTVEVNX1JFU1BPTlNFX0ZPUk1BVH0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19BQlVTRT0ke19BUFBfT1BUSU9OU19BQlVTRTotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19BQlVTRV9JTkNSRUFTRURfTElNSVRfUFJPSkVDVFM9JHtfQVBQX09QVElPTlNfQUJVU0VfSU5DUkVBU0VEX0xJTUlUX1BST0pFQ1RTfScKICAgICAgLSAnX0FQUF9PUFRJT05TX1JPVVRFUl9QUk9URUNUSU9OPSR7X0FQUF9PUFRJT05TX1JPVVRFUl9QUk9URUNUSU9OOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19GT1JDRV9IVFRQUz0ke19BUFBfT1BUSU9OU19GT1JDRV9IVFRQUzotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19ST1VURVJfRk9SQ0VfSFRUUFM9JHtfQVBQX09QVElPTlNfUk9VVEVSX0ZPUkNFX0hUVFBTOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfUk9VVEVSX0FVVE9fQ0VSVElGSUNBVEVTPSR7X0FQUF9ST1VURVJfQVVUT19DRVJUSUZJQ0FURVM6LWRpc2FibGVkfScKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0FQUFdSSVRFCiAgICAgIC0gX0FQUF9OT1RJRklDQVRJT05TX1RSQUNLSU5HX1NFQ1JFVD0kU0VSVklDRV9QQVNTV09SRF82NF9OT1RJRklDQVRJT05TCiAgICAgIC0gJ19BUFBfRE9NQUlOPSR7X0FQUF9ET01BSU46LSRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0NPTlNPTEVfRE9NQUlOPSR7X0FQUF9DT05TT0xFX0RPTUFJTn0nCiAgICAgIC0gX0FQUF9DT05TT0xFX1VSTF9TQ0hFTUU9cm9vdAogICAgICAtICdfQVBQX0NPTlNPTEVfVFJVU1RFRF9QUk9KRUNUUz0ke19BUFBfQ09OU09MRV9UUlVTVEVEX1BST0pFQ1RTfScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0NOQU1FPSR7X0FQUF9ET01BSU5fVEFSR0VUX0NOQU1FOi1sb2NhbGhvc3R9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQUFBQT0ke19BUFBfRE9NQUlOX1RBUkdFVF9BQUFBOi06OjF9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQT0ke19BUFBfRE9NQUlOX1RBUkdFVF9BOi0xMjcuMC4wLjF9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQ0FBPSR7X0FQUF9ET01BSU5fVEFSR0VUX0NBQX0nCiAgICAgIC0gJ19BUFBfRE5TPSR7X0FQUF9ETlN9JwogICAgICAtICdfQVBQX0RPTUFJTl9GVU5DVElPTlM9JHtfQVBQX0RPTUFJTl9GVU5DVElPTlM6LWZ1bmN0aW9ucy4kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9SRURJU19IT1NUPSR7X0FQUF9SRURJU19IT1NUOi1hcHB3cml0ZS1yZWRpc30nCiAgICAgIC0gJ19BUFBfUkVESVNfUE9SVD0ke19BUFBfUkVESVNfUE9SVDotNjM3OX0nCiAgICAgIC0gJ19BUFBfUkVESVNfVVNFUj0ke19BUFBfUkVESVNfVVNFUn0nCiAgICAgIC0gJ19BUFBfUkVESVNfUEFTUz0ke19BUFBfUkVESVNfUEFTU30nCiAgICAgIC0gJ19BUFBfREJfQURBUFRFUj0ke19BUFBfREJfQURBUFRFUjotcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfSE9TVD0ke19BUFBfREJfSE9TVDotYXBwd3JpdGUtcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfUE9SVD0ke19BUFBfREJfUE9SVDotNTQzMn0nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BPSR7X0FQUF9EQl9TQ0hFTUE6LWFwcHdyaXRlfScKICAgICAgLSBfQVBQX0RCX1VTRVI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFUwogICAgICAtIF9BUFBfREJfUEFTUz0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgICAtICdfQVBQX0RCX0FEQVBURVJfVkVDVE9SU0RCPSR7X0FQUF9EQl9BREFQVEVSX1ZFQ1RPUlNEQjotcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfSE9TVF9WRUNUT1JTREI9JHtfQVBQX0RCX0hPU1RfVkVDVE9SU0RCOi1hcHB3cml0ZS1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9QT1JUX1ZFQ1RPUlNEQj0ke19BUFBfREJfUE9SVF9WRUNUT1JTREI6LTU0MzJ9JwogICAgICAtICdfQVBQX0RCX1NDSEVNQV9WRUNUT1JTREI9JHtfQVBQX0RCX1NDSEVNQV9WRUNUT1JTREI6LWFwcHdyaXRlfScKICAgICAgLSBfQVBQX0RCX1VTRVJfVkVDVE9SU0RCPSRTRVJWSUNFX1VTRVJfUE9TVEdSRVMKICAgICAgLSBfQVBQX0RCX1BBU1NfVkVDVE9SU0RCPSRTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTCiAgICAgIC0gJ19BUFBfREJfQURBUFRFUl9ET0NVTUVOVFNEQj0ke19BUFBfREJfQURBUFRFUl9ET0NVTUVOVFNEQjotbW9uZ29kYn0nCiAgICAgIC0gJ19BUFBfREJfSE9TVF9ET0NVTUVOVFNEQj0ke19BUFBfREJfSE9TVF9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfREJfUE9SVF9ET0NVTUVOVFNEQj0ke19BUFBfREJfUE9SVF9ET0NVTUVOVFNEQjotMjcwMTd9JwogICAgICAtICdfQVBQX0RCX1NDSEVNQV9ET0NVTUVOVFNEQj0ke19BUFBfREJfU0NIRU1BX0RPQ1VNRU5UU0RCfScKICAgICAgLSAnX0FQUF9EQl9VU0VSX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9VU0VSX0RPQ1VNRU5UU0RCfScKICAgICAgLSAnX0FQUF9EQl9QQVNTX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9QQVNTX0RPQ1VNRU5UU0RCfScKICAgICAgLSAnX0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9ET0NVTUVOVFNEQj0ke19BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX1ZFQ1RPUlNEQj0ke19BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfVkVDVE9SU0RCfScKICAgICAgLSAnX0FQUF9TTVRQX0hPU1Q9JHtfQVBQX1NNVFBfSE9TVH0nCiAgICAgIC0gJ19BUFBfU01UUF9QT1JUPSR7X0FQUF9TTVRQX1BPUlR9JwogICAgICAtICdfQVBQX1NNVFBfU0VDVVJFPSR7X0FQUF9TTVRQX1NFQ1VSRX0nCiAgICAgIC0gJ19BUFBfU01UUF9VU0VSTkFNRT0ke19BUFBfU01UUF9VU0VSTkFNRX0nCiAgICAgIC0gJ19BUFBfU01UUF9QQVNTV09SRD0ke19BUFBfU01UUF9QQVNTV09SRH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9MSU1JVD0ke19BUFBfU1RPUkFHRV9MSU1JVDotMzAwMDAwMDB9JwogICAgICAtICdfQVBQX1NUT1JBR0VfUFJFVklFV19MSU1JVD0ke19BUFBfU1RPUkFHRV9QUkVWSUVXX0xJTUlUOi0yMDAwMDAwMH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9BTlRJVklSVVM9JHtfQVBQX1NUT1JBR0VfQU5USVZJUlVTOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9BTlRJVklSVVNfSE9TVD0ke19BUFBfU1RPUkFHRV9BTlRJVklSVVNfSE9TVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9BTlRJVklSVVNfUE9SVD0ke19BUFBfU1RPUkFHRV9BTlRJVklSVVNfUE9SVDotMzMxMH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9ERVZJQ0U9JHtfQVBQX1NUT1JBR0VfREVWSUNFOi1sb2NhbH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9TM19BQ0NFU1NfS0VZPSR7X0FQUF9TVE9SQUdFX1MzX0FDQ0VTU19LRVl9JwogICAgICAtICdfQVBQX1NUT1JBR0VfUzNfU0VDUkVUPSR7X0FQUF9TVE9SQUdFX1MzX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9TM19SRUdJT049JHtfQVBQX1NUT1JBR0VfUzNfUkVHSU9OOi11cy1lYXN0LTF9JwogICAgICAtICdfQVBQX1NUT1JBR0VfUzNfQlVDS0VUPSR7X0FQUF9TVE9SQUdFX1MzX0JVQ0tFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9TM19FTkRQT0lOVD0ke19BUFBfU1RPUkFHRV9TM19FTkRQT0lOVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9ET19TUEFDRVNfQUNDRVNTX0tFWT0ke19BUFBfU1RPUkFHRV9ET19TUEFDRVNfQUNDRVNTX0tFWX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9ET19TUEFDRVNfU0VDUkVUPSR7X0FQUF9TVE9SQUdFX0RPX1NQQUNFU19TRUNSRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1JFR0lPTj0ke19BUFBfU1RPUkFHRV9ET19TUEFDRVNfUkVHSU9OOi11cy1lYXN0LTF9JwogICAgICAtICdfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0JVQ0tFVD0ke19BUFBfU1RPUkFHRV9ET19TUEFDRVNfQlVDS0VUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9BQ0NFU1NfS0VZPSR7X0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9BQ0NFU1NfS0VZfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9TRUNSRVQ9JHtfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfUkVHSU9OPSR7X0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9SRUdJT046LXVzLXdlc3QtMDA0fScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9CVUNLRVQ9JHtfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0JVQ0tFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9MSU5PREVfQUNDRVNTX0tFWT0ke19BUFBfU1RPUkFHRV9MSU5PREVfQUNDRVNTX0tFWX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9MSU5PREVfU0VDUkVUPSR7X0FQUF9TVE9SQUdFX0xJTk9ERV9TRUNSRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfTElOT0RFX1JFR0lPTj0ke19BUFBfU1RPUkFHRV9MSU5PREVfUkVHSU9OOi1ldS1jZW50cmFsLTF9JwogICAgICAtICdfQVBQX1NUT1JBR0VfTElOT0RFX0JVQ0tFVD0ke19BUFBfU1RPUkFHRV9MSU5PREVfQlVDS0VUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1dBU0FCSV9BQ0NFU1NfS0VZPSR7X0FQUF9TVE9SQUdFX1dBU0FCSV9BQ0NFU1NfS0VZfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1dBU0FCSV9TRUNSRVQ9JHtfQVBQX1NUT1JBR0VfV0FTQUJJX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9XQVNBQklfUkVHSU9OPSR7X0FQUF9TVE9SQUdFX1dBU0FCSV9SRUdJT046LWV1LWNlbnRyYWwtMX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9XQVNBQklfQlVDS0VUPSR7X0FQUF9TVE9SQUdFX1dBU0FCSV9CVUNLRVR9JwogICAgICAtICdfQVBQX0NPTVBVVEVfU0laRV9MSU1JVD0ke19BUFBfQ09NUFVURV9TSVpFX0xJTUlUOi0zMDAwMDAwMH0nCiAgICAgIC0gJ19BUFBfRlVOQ1RJT05TX1RJTUVPVVQ9JHtfQVBQX0ZVTkNUSU9OU19USU1FT1VUOi05MDB9JwogICAgICAtICdfQVBQX1NJVEVTX1RJTUVPVVQ9JHtfQVBQX1NJVEVTX1RJTUVPVVQ6LTkwMH0nCiAgICAgIC0gJ19BUFBfQ09NUFVURV9CVUlMRF9USU1FT1VUPSR7X0FQUF9DT01QVVRFX0JVSUxEX1RJTUVPVVQ6LTI3MDB9JwogICAgICAtICdfQVBQX0NPTVBVVEVfQ1BVUz0ke19BUFBfQ09NUFVURV9DUFVTOi0wfScKICAgICAgLSAnX0FQUF9DT01QVVRFX01FTU9SWT0ke19BUFBfQ09NUFVURV9NRU1PUlk6LTB9JwogICAgICAtICdfQVBQX0ZVTkNUSU9OU19SVU5USU1FUz0ke19BUFBfRlVOQ1RJT05TX1JVTlRJTUVTOi1ub2RlLTIyfScKICAgICAgLSAnX0FQUF9TSVRFU19SVU5USU1FUz0ke19BUFBfU0lURVNfUlVOVElNRVM6LXN0YXRpYy0xLG5vZGUtMjJ9JwogICAgICAtICdfQVBQX0RPTUFJTl9TSVRFUz0ke19BUFBfRE9NQUlOX1NJVEVTOi1zaXRlcy4kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSBfQVBQX0VYRUNVVE9SX1NFQ1JFVD0kU0VSVklDRV9QQVNTV09SRF82NF9FWEVDVVRPUgogICAgICAtICdfQVBQX0VYRUNVVE9SX0hPU1Q9JHtfQVBQX0VYRUNVVE9SX0hPU1Q6LWh0dHA6Ly9vcGVucnVudGltZXMtZXhlY3V0b3IvdjF9JwogICAgICAtICdfQVBQX0JVSUxEU19WT0xVTUU9JHtDT01QT1NFX1BST0pFQ1RfTkFNRX1fYXBwd3JpdGUtYnVpbGRzJwogICAgICAtICdfQVBQX0pPQlNfSE9TVD0ke19BUFBfSk9CU19IT1NUOi1odHRwOi8vb3JjaGVzdHJhdG9yOjgwODB9JwogICAgICAtIF9BUFBfSk9CU19TRUNSRVQ9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfSk9CUwogICAgICAtICdfQVBQX0pPQlNfRU5EUE9JTlQ9JHtfQVBQX0pPQlNfRU5EUE9JTlQ6LWh0dHA6Ly9hcHB3cml0ZX0nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19DT05GSUc9JHtfQVBQX0xPR0dJTkdfQ09ORklHfScKICAgICAgLSAnX0FQUF9MT0dHSU5HX0ZPUk1BVD0ke19BUFBfTE9HR0lOR19GT1JNQVQ6LXByZXR0eX0nCiAgICAgIC0gJ19BUFBfTE9DS0lOR19FTkFCTEVEPSR7X0FQUF9MT0NLSU5HX0VOQUJMRUQ6LWVuYWJsZWR9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX0lOVEVSVkFMPSR7X0FQUF9NQUlOVEVOQU5DRV9JTlRFUlZBTDotODY0MDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9FWEVDVVRJT049JHtfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9FWEVDVVRJT046LTEyMDk2MDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9DQUNIRT0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0NBQ0hFOi0yNTkyMDAwfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQUJVU0U9JHtfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BQlVTRTotODY0MDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVD0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUOi0xMjA5NjAwfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVRfQ09OU09MRT0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUX0NPTlNPTEV9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9VU0FHRV9IT1VSTFk9JHtfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9VU0FHRV9IT1VSTFk6LTg2NDAwMDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9TQ0hFRFVMRVM9JHtfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9TQ0hFRFVMRVM6LTg2NDAwfScKICAgICAgLSAnX0FQUF9TTVNfUFJPVklERVI9JHtfQVBQX1NNU19QUk9WSURFUn0nCiAgICAgIC0gJ19BUFBfU01TX0ZST009JHtfQVBQX1NNU19GUk9NfScKICAgICAgLSAnX0FQUF9HUkFQSFFMX0lOVFJPU1BFQ1RJT049JHtfQVBQX0dSQVBIUUxfSU5UUk9TUEVDVElPTjotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfR1JBUEhRTF9NQVhfQkFUQ0hfU0laRT0ke19BUFBfR1JBUEhRTF9NQVhfQkFUQ0hfU0laRTotMTB9JwogICAgICAtICdfQVBQX0dSQVBIUUxfTUFYX0NPTVBMRVhJVFk9JHtfQVBQX0dSQVBIUUxfTUFYX0NPTVBMRVhJVFk6LTI1MH0nCiAgICAgIC0gJ19BUFBfR1JBUEhRTF9NQVhfREVQVEg9JHtfQVBQX0dSQVBIUUxfTUFYX0RFUFRIOi0zfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUSFVCX0FQUF9OQU1FPSR7X0FQUF9WQ1NfR0lUSFVCX0FQUF9OQU1FfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUSFVCX1BSSVZBVEVfS0VZPSR7X0FQUF9WQ1NfR0lUSFVCX1BSSVZBVEVfS0VZfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUSFVCX0FQUF9JRD0ke19BUFBfVkNTX0dJVEhVQl9BUFBfSUR9JwogICAgICAtICdfQVBQX1ZDU19HSVRIVUJfV0VCSE9PS19TRUNSRVQ9JHtfQVBQX1ZDU19HSVRIVUJfV0VCSE9PS19TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19HSVRIVUJfQ0xJRU5UX1NFQ1JFVD0ke19BUFBfVkNTX0dJVEhVQl9DTElFTlRfU0VDUkVUfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUSFVCX0NMSUVOVF9JRD0ke19BUFBfVkNTX0dJVEhVQl9DTElFTlRfSUR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9FTkRQT0lOVD0ke19BUFBfVkNTX0dJVEVBX0VORFBPSU5UfScKICAgICAgLSAnX0FQUF9WQ1NfR0lURUFfQlJPV1NFUl9FTkRQT0lOVD0ke19BUFBfVkNTX0dJVEVBX0JST1dTRVJfRU5EUE9JTlR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9DTElFTlRfSUQ9JHtfQVBQX1ZDU19HSVRFQV9DTElFTlRfSUR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9DTElFTlRfU0VDUkVUPSR7X0FQUF9WQ1NfR0lURUFfQ0xJRU5UX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEVBX1dFQkhPT0tfU0VDUkVUPSR7X0FQUF9WQ1NfR0lURUFfV0VCSE9PS19TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19HSVRMQUJfRU5EUE9JTlQ9JHtfQVBQX1ZDU19HSVRMQUJfRU5EUE9JTlR9JwogICAgICAtICdfQVBQX1ZDU19HSVRMQUJfQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfR0lUTEFCX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVExBQl9DTElFTlRfU0VDUkVUPSR7X0FQUF9WQ1NfR0lUTEFCX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19HSVRMQUJfV0VCSE9PS19TRUNSRVQ9JHtfQVBQX1ZDU19HSVRMQUJfV0VCSE9PS19TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19CSVRCVUNLRVRfQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfQklUQlVDS0VUX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX0JJVEJVQ0tFVF9DTElFTlRfU0VDUkVUPSR7X0FQUF9WQ1NfQklUQlVDS0VUX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19CSVRCVUNLRVRfV0VCSE9PS19TRUNSRVQ9JHtfQVBQX1ZDU19CSVRCVUNLRVRfV0VCSE9PS19TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19PUklHSU5fQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfT1JJR0lOX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX09SSUdJTl9QUklWQVRFX0tFWT0ke19BUFBfVkNTX09SSUdJTl9QUklWQVRFX0tFWX0nCiAgICAgIC0gJ19BUFBfVkNTX1dFQkhPT0tfVVJMPSR7X0FQUF9WQ1NfV0VCSE9PS19VUkx9JwogICAgICAtICdfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX0lEPSR7X0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfTUlHUkFUSU9OU19GSVJFQkFTRV9DTElFTlRfU0VDUkVUPSR7X0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX0FTU0lTVEFOVF9PUEVOQUlfQVBJX0tFWT0ke19BUFBfQVNTSVNUQU5UX09QRU5BSV9BUElfS0VZfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0NPVU5UUklFU19ERU5ZTElTVD0ke19BUFBfQ09OU09MRV9DT1VOVFJJRVNfREVOWUxJU1R9JwogICAgICAtICdfQVBQX0VYUEVSSU1FTlRfTE9HR0lOR19QUk9WSURFUj0ke19BUFBfRVhQRVJJTUVOVF9MT0dHSU5HX1BST1ZJREVSfScKICAgICAgLSAnX0FQUF9FWFBFUklNRU5UX0xPR0dJTkdfQ09ORklHPSR7X0FQUF9FWFBFUklNRU5UX0xPR0dJTkdfQ09ORklHfScKICAgICAgLSAnX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTPSR7X0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTfScKICAgICAgLSAnX0FQUF9EQVRBQkFTRV9TSEFSRURfTkFNRVNQQUNFPSR7X0FQUF9EQVRBQkFTRV9TSEFSRURfTkFNRVNQQUNFfScKICAgICAgLSAnX0FQUF9GVU5DVElPTlNfQ1JFQVRJT05fQUJVU0VfTElNSVQ9JHtfQVBQX0ZVTkNUSU9OU19DUkVBVElPTl9BQlVTRV9MSU1JVH0nCiAgICAgIC0gJ19BUFBfQ1VTVE9NX0RPTUFJTl9ERU5ZX0xJU1Q9JHtfQVBQX0NVU1RPTV9ET01BSU5fREVOWV9MSVNUOi1leGFtcGxlLmNvbSx0ZXN0LmNvbSxhcHAuZXhhbXBsZS5jb219JwogICAgICAtICdfQVBQX1RSVVNURURfSEVBREVSUz0ke19BUFBfVFJVU1RFRF9IRUFERVJTOi14LWZvcndhcmRlZC1mb3J9JwogICAgICAtICdfQVBQX01JR1JBVElPTl9IT1NUPSR7X0FQUF9NSUdSQVRJT05fSE9TVDotYXBwd3JpdGV9JwogICAgICAtIF9BUFBfR0VPX1NFQ1JFVD0kU0VSVklDRV9QQVNTV09SRF82NF9HRU8KICAgICAgLSAnX0FQUF9HRU9fRU5EUE9JTlQ9JHtfQVBQX0dFT19FTkRQT0lOVDotaHR0cDovL2FwcHdyaXRlLWdlby92MX0nCiAgICAgIC0gJ19BUFBfTElNSVRfREFUQUJBU0VfQkFUQ0g9JHtfQVBQX0xJTUlUX0RBVEFCQVNFX0JBVENIOi0xMDB9JwogICAgICAtICdfQVBQX0RPQ1VNRU5UU0RCPSR7X0FQUF9ET0NVTUVOVFNEQjotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX1ZFQ1RPUlNEQj0ke19BUFBfVkVDVE9SU0RCOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfRU1CRURESU5HPSR7X0FQUF9FTUJFRERJTkc6LWRpc2FibGVkfScKICAgIHZvbHVtZXM6CiAgICAgIC0gJ2FwcHdyaXRlLXVwbG9hZHM6L3N0b3JhZ2UvdXBsb2FkczpydycKICAgICAgLSAnYXBwd3JpdGUtaW1wb3J0czovc3RvcmFnZS9pbXBvcnRzOnJ3JwogICAgICAtICdhcHB3cml0ZS1jYWNoZTovc3RvcmFnZS9jYWNoZTpydycKICAgICAgLSAnYXBwd3JpdGUtY29uZmlnOi9zdG9yYWdlL2NvbmZpZzpydycKICAgICAgLSAnYXBwd3JpdGUtY2VydGlmaWNhdGVzOi9zdG9yYWdlL2NlcnRpZmljYXRlczpydycKICAgICAgLSAnYXBwd3JpdGUtZnVuY3Rpb25zOi9zdG9yYWdlL2Z1bmN0aW9uczpydycKICAgICAgLSAnYXBwd3JpdGUtc2l0ZXM6L3N0b3JhZ2Uvc2l0ZXM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWJ1aWxkczovc3RvcmFnZS9idWlsZHM6cncnCiAgICBkZXBlbmRzX29uOgogICAgICBhcHB3cml0ZS1wb3N0Z3Jlc3FsOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIGFwcHdyaXRlLXJlZGlzOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIGFwcHdyaXRlLWNsaWNraG91c2U6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgICAgYXBwd3JpdGUtZ2VvOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRC1TSEVMTAogICAgICAgIC0gJ2N1cmwgLWZzUyAtbyAvZGV2L251bGwgaHR0cDovL2xvY2FsaG9zdC92MS9oZWFsdGgvdmVyc2lvbiB8fCBleGl0IDEnCiAgICAgIGludGVydmFsOiAyMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogNgogICAgICBzdGFydF9wZXJpb2Q6IDEyMHMKICBhcHB3cml0ZS1jb25zb2xlOgogICAgaW1hZ2U6ICdhcHB3cml0ZS9uZXc6MS4xLjE2JwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gU0VSVklDRV9GUUROX0FQUFdSSVRFXzMwMDA9LwogICAgICAtIFZJVEVfQ09OU09MRV9QUk9GSUxFPXNlbGYtaG9zdGVkCiAgICAgIC0gQVBQV1JJVEVfRU5EUE9JTlRfU0FNRV9PUklHSU49dHJ1ZQogICAgICAtICdWSVRFX0dST1dUSF9FTkRQT0lOVD0ke1ZJVEVfR1JPV1RIX0VORFBPSU5UOi1odHRwczovL2dyb3d0aC5hcHB3cml0ZS5pby92MX0nCiAgICBkZXBlbmRzX29uOgogICAgICBhcHB3cml0ZToKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdidW4gLWUgImZldGNoKCcnaHR0cDovL2xvY2FsaG9zdDozMDAwJycpLnRoZW4ociA9PiBwcm9jZXNzLmV4aXQoci5zdGF0dXMgPCA1MDAgPyAwIDogMSkpLmNhdGNoKCgpID0+IHByb2Nlc3MuZXhpdCgxKSkiJwogICAgICBpbnRlcnZhbDogMjBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDMKICBhcHB3cml0ZS1yZWFsdGltZToKICAgIGltYWdlOiAnYXBwd3JpdGUvYXBwd3JpdGU6Mi4wLjAnCiAgICBlbnRyeXBvaW50OiByZWFsdGltZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gU0VSVklDRV9GUUROX0FQUFdSSVRFPS92MS9yZWFsdGltZQogICAgICAtICdfQVBQX0VOVj0ke19BUFBfRU5WOi1wcm9kdWN0aW9ufScKICAgICAgLSAnX0FQUF9VU0FHRV9TVEFUUz0ke19BUFBfVVNBR0VfU1RBVFM6LWVuYWJsZWR9JwogICAgICAtICdfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU9JHtfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU6LXYxLXN0YXRzLXVzYWdlfScKICAgICAgLSAnX0FQUF9XT1JLRVJfUEVSX0NPUkU9JHtfQVBQX1dPUktFUl9QRVJfQ09SRTotNn0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19BQlVTRT0ke19BUFBfT1BUSU9OU19BQlVTRTotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19ST1VURVJfUFJPVEVDVElPTj0ke19BUFBfT1BUSU9OU19ST1VURVJfUFJPVEVDVElPTjotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfSE9TVE5BTUVTPSR7X0FQUF9DT05TT0xFX0hPU1ROQU1FU30nCiAgICAgIC0gJ19BUFBfUkVBTFRJTUVfVEFJTF9SQVRFPSR7X0FQUF9SRUFMVElNRV9UQUlMX1JBVEU6LTUwfScKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0FQUFdSSVRFCiAgICAgIC0gJ19BUFBfUkVESVNfSE9TVD0ke19BUFBfUkVESVNfSE9TVDotYXBwd3JpdGUtcmVkaXN9JwogICAgICAtICdfQVBQX1JFRElTX1BPUlQ9JHtfQVBQX1JFRElTX1BPUlQ6LTYzNzl9JwogICAgICAtICdfQVBQX1JFRElTX1VTRVI9JHtfQVBQX1JFRElTX1VTRVJ9JwogICAgICAtICdfQVBQX1JFRElTX1BBU1M9JHtfQVBQX1JFRElTX1BBU1N9JwogICAgICAtICdfQVBQX0RCX0FEQVBURVI9JHtfQVBQX0RCX0FEQVBURVI6LXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX0hPU1Q9JHtfQVBQX0RCX0hPU1Q6LWFwcHdyaXRlLXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX1BPUlQ9JHtfQVBQX0RCX1BPUlQ6LTU0MzJ9JwogICAgICAtICdfQVBQX0RCX1NDSEVNQT0ke19BUFBfREJfU0NIRU1BOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9EQl9VU0VSPSRTRVJWSUNFX1VTRVJfUE9TVEdSRVMKICAgICAgLSBfQVBQX0RCX1BBU1M9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSX1ZFQ1RPUlNEQj0ke19BUFBfREJfQURBUFRFUl9WRUNUT1JTREI6LXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX0hPU1RfVkVDVE9SU0RCPSR7X0FQUF9EQl9IT1NUX1ZFQ1RPUlNEQjotYXBwd3JpdGUtcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfUE9SVF9WRUNUT1JTREI9JHtfQVBQX0RCX1BPUlRfVkVDVE9SU0RCOi01NDMyfScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUFfVkVDVE9SU0RCPSR7X0FQUF9EQl9TQ0hFTUFfVkVDVE9SU0RCOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9EQl9VU0VSX1ZFQ1RPUlNEQj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gX0FQUF9EQl9QQVNTX1ZFQ1RPUlNEQj0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgICAtICdfQVBQX0RCX0FEQVBURVJfRE9DVU1FTlRTREI9JHtfQVBQX0RCX0FEQVBURVJfRE9DVU1FTlRTREI6LW1vbmdvZGJ9JwogICAgICAtICdfQVBQX0RCX0hPU1RfRE9DVU1FTlRTREI9JHtfQVBQX0RCX0hPU1RfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1BPUlRfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1BPUlRfRE9DVU1FTlRTREI6LTI3MDE3fScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUFfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1NDSEVNQV9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfREJfVVNFUl9ET0NVTUVOVFNEQj0ke19BUFBfREJfVVNFUl9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfREJfUEFTU19ET0NVTUVOVFNEQj0ke19BUFBfREJfUEFTU19ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfRE9DVU1FTlRTREI9JHtfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX0RPQ1VNRU5UU0RCfScKICAgICAgLSAnX0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9WRUNUT1JTREI9JHtfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX1ZFQ1RPUlNEQn0nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19DT05GSUc9JHtfQVBQX0xPR0dJTkdfQ09ORklHfScKICAgICAgLSAnX0FQUF9MT0dHSU5HX0ZPUk1BVD0ke19BUFBfTE9HR0lOR19GT1JNQVQ6LXByZXR0eX0nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19DT05GSUdfUkVBTFRJTUU9JHtfQVBQX0xPR0dJTkdfQ09ORklHX1JFQUxUSU1FfScKICAgICAgLSAnX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTPSR7X0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTfScKICAgICAgLSAnX0FQUF9MSU1JVF9EQVRBQkFTRV9CQVRDSD0ke19BUFBfTElNSVRfREFUQUJBU0VfQkFUQ0g6LTEwMH0nCiAgICAgIC0gJ19BUFBfRE9DVU1FTlRTREI9JHtfQVBQX0RPQ1VNRU5UU0RCOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfVkVDVE9SU0RCPSR7X0FQUF9WRUNUT1JTREI6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9FTUJFRERJTkc9JHtfQVBQX0VNQkVERElORzotZGlzYWJsZWR9JwogICAgICAtIF9BUFBfUE9PTF9BREFQVEVSPXN3b29sZQogICAgZGVwZW5kc19vbjoKICAgICAgYXBwd3JpdGUtcG9zdGdyZXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1yZWRpczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdjdXJsIC1zIGxvY2FsaG9zdCA+IC9kZXYvbnVsbCB8fCBleGl0IDEnCiAgICAgIGludGVydmFsOiAyMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMwogIGFwcHdyaXRlLXdvcmtlcjoKICAgIGltYWdlOiAnYXBwd3JpdGUvYXBwd3JpdGU6Mi4wLjAnCiAgICBlbnRyeXBvaW50OiB3b3JrZXIKICAgIGVudmlyb25tZW50OgogICAgICAtICdfQVBQX0VOVj0ke19BUFBfRU5WOi1wcm9kdWN0aW9ufScKICAgICAgLSAnX0FQUF9VU0FHRV9TVEFUUz0ke19BUFBfVVNBR0VfU1RBVFM6LWVuYWJsZWR9JwogICAgICAtIF9BUFBfVVNBR0VfUEFTUz0kU0VSVklDRV9QQVNTV09SRF9DTElDS0hPVVNFCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREJfVVNBR0U9aHR0cDovL2FwcHdyaXRlOiRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0VAYXBwd3JpdGUtY2xpY2tob3VzZTo4MTIzL2FwcHdyaXRlJwogICAgICAtICdfQVBQX1BPT0xfU0laRV9VU0FHRT0ke19BUFBfUE9PTF9TSVpFX1VTQUdFOi0yfScKICAgICAgLSAnX0FQUF9FWEVDVVRJT05TX0RVQUxfV1JJVEU9JHtfQVBQX0VYRUNVVElPTlNfRFVBTF9XUklURTotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREJfRVhFQ1VUSU9OUz1odHRwOi8vYXBwd3JpdGU6JFNFUlZJQ0VfUEFTU1dPUkRfQ0xJQ0tIT1VTRUBhcHB3cml0ZS1jbGlja2hvdXNlOjgxMjMvYXBwd3JpdGUnCiAgICAgIC0gJ19BUFBfUE9PTF9TSVpFX0VYRUNVVElPTlM9JHtfQVBQX1BPT0xfU0laRV9FWEVDVVRJT05TOi0yfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfVFRMPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfVFRMOi0xODB9JwogICAgICAtICdfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU9JHtfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU6LXYxLXN0YXRzLXVzYWdlfScKICAgICAgLSAnX0FQUF9TVEFUU19SRVNPVVJDRVNfUVVFVUVfTkFNRT0ke19BUFBfU1RBVFNfUkVTT1VSQ0VTX1FVRVVFX05BTUU6LXYxLXN0YXRzLXJlc291cmNlc30nCiAgICAgIC0gJ19BUFBfU1RBVFNfUkVTT1VSQ0VTX0lOVEVSVkFMPSR7X0FQUF9TVEFUU19SRVNPVVJDRVNfSU5URVJWQUw6LTM2MDB9JwogICAgICAtIF9BUFBfV09SS0VSU19OVU09MQogICAgICAtIF9BUFBfV09SS0VSX01BWF9DT1JPVVRJTkVTPTc4CiAgICAgIC0gJ19BUFBfV09SS0VSX1BFUl9DT1JFPSR7X0FQUF9XT1JLRVJfUEVSX0NPUkU6LTZ9JwogICAgICAtICdfQVBQX1BPT0xfQURBUFRFUj0ke19BUFBfUE9PTF9BREFQVEVSOi1zdGFja30nCiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMT0kU0VSVklDRV9QQVNTV09SRF82NF9BUFBXUklURQogICAgICAtICdfQVBQX0VNQUlMX1NFQ1VSSVRZPSR7X0FQUF9FTUFJTF9TRUNVUklUWTotc2VjdXJpdHlAYXBwd3JpdGUuaW99JwogICAgICAtICdfQVBQX0VNQUlMX0NFUlRJRklDQVRFUz0ke19BUFBfRU1BSUxfQ0VSVElGSUNBVEVTfScKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSPSR7X0FQUF9EQl9BREFQVEVSOi1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9IT1NUPSR7X0FQUF9EQl9IT1NUOi1hcHB3cml0ZS1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9QT1JUPSR7X0FQUF9EQl9QT1JUOi01NDMyfScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUE9JHtfQVBQX0RCX1NDSEVNQTotYXBwd3JpdGV9JwogICAgICAtIF9BUFBfREJfVVNFUj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gX0FQUF9EQl9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTCiAgICAgIC0gJ19BUFBfREJfQURBUFRFUl9WRUNUT1JTREI9JHtfQVBQX0RCX0FEQVBURVJfVkVDVE9SU0RCOi1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9IT1NUX1ZFQ1RPUlNEQj0ke19BUFBfREJfSE9TVF9WRUNUT1JTREI6LWFwcHdyaXRlLXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX1BPUlRfVkVDVE9SU0RCPSR7X0FQUF9EQl9QT1JUX1ZFQ1RPUlNEQjotNTQzMn0nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BX1ZFQ1RPUlNEQj0ke19BUFBfREJfU0NIRU1BX1ZFQ1RPUlNEQjotYXBwd3JpdGV9JwogICAgICAtIF9BUFBfREJfVVNFUl9WRUNUT1JTREI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFUwogICAgICAtIF9BUFBfREJfUEFTU19WRUNUT1JTREI9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9BREFQVEVSX0RPQ1VNRU5UU0RCOi1tb25nb2RifScKICAgICAgLSAnX0FQUF9EQl9IT1NUX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9IT1NUX0RPQ1VNRU5UU0RCfScKICAgICAgLSAnX0FQUF9EQl9QT1JUX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9QT1JUX0RPQ1VNRU5UU0RCOi0yNzAxN30nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9TQ0hFTUFfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1VTRVJfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1VTRVJfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1BBU1NfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1BBU1NfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX0RPQ1VNRU5UU0RCPSR7X0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfVkVDVE9SU0RCPSR7X0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9WRUNUT1JTREJ9JwogICAgICAtICdfQVBQX1JFRElTX0hPU1Q9JHtfQVBQX1JFRElTX0hPU1Q6LWFwcHdyaXRlLXJlZGlzfScKICAgICAgLSAnX0FQUF9SRURJU19QT1JUPSR7X0FQUF9SRURJU19QT1JUOi02Mzc5fScKICAgICAgLSAnX0FQUF9SRURJU19VU0VSPSR7X0FQUF9SRURJU19VU0VSfScKICAgICAgLSAnX0FQUF9SRURJU19QQVNTPSR7X0FQUF9SRURJU19QQVNTfScKICAgICAgLSAnX0FQUF9MT0dHSU5HX0NPTkZJRz0ke19BUFBfTE9HR0lOR19DT05GSUd9JwogICAgICAtICdfQVBQX0xPR0dJTkdfRk9STUFUPSR7X0FQUF9MT0dHSU5HX0ZPUk1BVDotcHJldHR5fScKICAgICAgLSAnX0FQUF9MT0dHSU5HX1BST1ZJREVSPSR7X0FQUF9MT0dHSU5HX1BST1ZJREVSfScKICAgICAgLSAnX0FQUF9RVUVVRV9OQU1FPSR7X0FQUF9RVUVVRV9OQU1FfScKICAgICAgLSAnX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTPSR7X0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTfScKICAgICAgLSBfQVBQX0NPTlNPTEVfVVJMX1NDSEVNRT1yb290CiAgICAgIC0gJ19BUFBfQ09OU09MRV9ET01BSU49JHtfQVBQX0NPTlNPTEVfRE9NQUlOfScKICAgICAgLSAnX0FQUF9DT05TT0xFX1RSVVNURURfUFJPSkVDVFM9JHtfQVBQX0NPTlNPTEVfVFJVU1RFRF9QUk9KRUNUU30nCiAgICAgIC0gJ19BUFBfRE9NQUlOPSR7X0FQUF9ET01BSU46LSRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU6LWxvY2FsaG9zdH0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BQUFBPSR7X0FQUF9ET01BSU5fVEFSR0VUX0FBQUE6LTo6MX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BPSR7X0FQUF9ET01BSU5fVEFSR0VUX0E6LTEyNy4wLjAuMX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9DQUE9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ0FBfScKICAgICAgLSAnX0FQUF9ETlM9JHtfQVBQX0ROU30nCiAgICAgIC0gJ19BUFBfRE9NQUlOX0ZVTkNUSU9OUz0ke19BUFBfRE9NQUlOX0ZVTkNUSU9OUzotZnVuY3Rpb25zLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9TSVRFUz0ke19BUFBfRE9NQUlOX1NJVEVTOi1zaXRlcy4kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTPSR7X0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTOi1lbmFibGVkfScKICAgICAgLSAnX0FQUF9PUFRJT05TX1JPVVRFUl9GT1JDRV9IVFRQUz0ke19BUFBfT1BUSU9OU19ST1VURVJfRk9SQ0VfSFRUUFM6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9XRUJIT09LX01BWF9GQUlMRURfQVRURU1QVFM9JHtfQVBQX1dFQkhPT0tfTUFYX0ZBSUxFRF9BVFRFTVBUUzotMTB9JwogICAgICAtICdfQVBQX1NUT1JBR0VfREVWSUNFPSR7X0FQUF9TVE9SQUdFX0RFVklDRTotbG9jYWx9JwogICAgICAtICdfQVBQX1NUT1JBR0VfUzNfQUNDRVNTX0tFWT0ke19BUFBfU1RPUkFHRV9TM19BQ0NFU1NfS0VZfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9TM19TRUNSRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfUzNfUkVHSU9OPSR7X0FQUF9TVE9SQUdFX1MzX1JFR0lPTjotdXMtZWFzdC0xfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX0JVQ0tFVD0ke19BUFBfU1RPUkFHRV9TM19CVUNLRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfUzNfRU5EUE9JTlQ9JHtfQVBQX1NUT1JBR0VfUzNfRU5EUE9JTlR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0FDQ0VTU19LRVl9JwogICAgICAtICdfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9ET19TUEFDRVNfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19SRUdJT049JHtfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1JFR0lPTjotdXMtZWFzdC0xfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19CVUNLRVQ9JHtfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0JVQ0tFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQUNDRVNTX0tFWT0ke19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQUNDRVNTX0tFWX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfU0VDUkVUPSR7X0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9TRUNSRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1JFR0lPTj0ke19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfUkVHSU9OOi11cy13ZXN0LTAwNH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQlVDS0VUPSR7X0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9CVUNLRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfTElOT0RFX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfTElOT0RFX0FDQ0VTU19LRVl9JwogICAgICAtICdfQVBQX1NUT1JBR0VfTElOT0RFX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9MSU5PREVfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTk9ERV9SRUdJT049JHtfQVBQX1NUT1JBR0VfTElOT0RFX1JFR0lPTjotZXUtY2VudHJhbC0xfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTk9ERV9CVUNLRVQ9JHtfQVBQX1NUT1JBR0VfTElOT0RFX0JVQ0tFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9XQVNBQklfQUNDRVNTX0tFWT0ke19BUFBfU1RPUkFHRV9XQVNBQklfQUNDRVNTX0tFWX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9XQVNBQklfU0VDUkVUPSR7X0FQUF9TVE9SQUdFX1dBU0FCSV9TRUNSRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfV0FTQUJJX1JFR0lPTj0ke19BUFBfU1RPUkFHRV9XQVNBQklfUkVHSU9OOi1ldS1jZW50cmFsLTF9JwogICAgICAtICdfQVBQX1NUT1JBR0VfV0FTQUJJX0JVQ0tFVD0ke19BUFBfU1RPUkFHRV9XQVNBQklfQlVDS0VUfScKICAgICAgLSBfQVBQX0VYRUNVVE9SX1NFQ1JFVD0kU0VSVklDRV9QQVNTV09SRF82NF9FWEVDVVRPUgogICAgICAtICdfQVBQX0VYRUNVVE9SX0hPU1Q9JHtfQVBQX0VYRUNVVE9SX0hPU1Q6LWh0dHA6Ly9vcGVucnVudGltZXMtZXhlY3V0b3IvdjF9JwogICAgICAtICdfQVBQX0RPQ0tFUl9IVUJfVVNFUk5BTUU9JHtfQVBQX0RPQ0tFUl9IVUJfVVNFUk5BTUV9JwogICAgICAtICdfQVBQX0RPQ0tFUl9IVUJfUEFTU1dPUkQ9JHtfQVBQX0RPQ0tFUl9IVUJfUEFTU1dPUkR9JwogICAgICAtICdfQVBQX0ZVTkNUSU9OU19USU1FT1VUPSR7X0FQUF9GVU5DVElPTlNfVElNRU9VVDotOTAwfScKICAgICAgLSAnX0FQUF9TSVRFU19USU1FT1VUPSR7X0FQUF9TSVRFU19USU1FT1VUOi05MDB9JwogICAgICAtICdfQVBQX0NPTVBVVEVfQlVJTERfVElNRU9VVD0ke19BUFBfQ09NUFVURV9CVUlMRF9USU1FT1VUOi0yNzAwfScKICAgICAgLSAnX0FQUF9DT01QVVRFX0NQVVM9JHtfQVBQX0NPTVBVVEVfQ1BVUzotMH0nCiAgICAgIC0gJ19BUFBfQ09NUFVURV9NRU1PUlk9JHtfQVBQX0NPTVBVVEVfTUVNT1JZOi0wfScKICAgICAgLSAnX0FQUF9PUEVOX1JVTlRJTUVTX05GVD0ke19BUFBfT1BFTl9SVU5USU1FU19ORlQ6LWVuYWJsZWR9JwogICAgICAtICdfQVBQX0NPTVBVVEVfU0laRV9MSU1JVD0ke19BUFBfQ09NUFVURV9TSVpFX0xJTUlUOi0zMDAwMDAwMH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEhVQl9BUFBfTkFNRT0ke19BUFBfVkNTX0dJVEhVQl9BUFBfTkFNRX0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEhVQl9QUklWQVRFX0tFWT0ke19BUFBfVkNTX0dJVEhVQl9QUklWQVRFX0tFWX0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEhVQl9BUFBfSUQ9JHtfQVBQX1ZDU19HSVRIVUJfQVBQX0lEfScKICAgICAgLSAnX0FQUF9WQ1NfR0lURUFfRU5EUE9JTlQ9JHtfQVBQX1ZDU19HSVRFQV9FTkRQT0lOVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEVBX0JST1dTRVJfRU5EUE9JTlQ9JHtfQVBQX1ZDU19HSVRFQV9CUk9XU0VSX0VORFBPSU5UfScKICAgICAgLSAnX0FQUF9WQ1NfR0lURUFfQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfR0lURUFfQ0xJRU5UX0lEfScKICAgICAgLSAnX0FQUF9WQ1NfR0lURUFfQ0xJRU5UX1NFQ1JFVD0ke19BUFBfVkNTX0dJVEVBX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9XRUJIT09LX1NFQ1JFVD0ke19BUFBfVkNTX0dJVEVBX1dFQkhPT0tfU0VDUkVUfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUTEFCX0VORFBPSU5UPSR7X0FQUF9WQ1NfR0lUTEFCX0VORFBPSU5UfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUTEFCX0NMSUVOVF9JRD0ke19BUFBfVkNTX0dJVExBQl9DTElFTlRfSUR9JwogICAgICAtICdfQVBQX1ZDU19HSVRMQUJfQ0xJRU5UX1NFQ1JFVD0ke19BUFBfVkNTX0dJVExBQl9DTElFTlRfU0VDUkVUfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUTEFCX1dFQkhPT0tfU0VDUkVUPSR7X0FQUF9WQ1NfR0lUTEFCX1dFQkhPT0tfU0VDUkVUfScKICAgICAgLSAnX0FQUF9WQ1NfQklUQlVDS0VUX0NMSUVOVF9JRD0ke19BUFBfVkNTX0JJVEJVQ0tFVF9DTElFTlRfSUR9JwogICAgICAtICdfQVBQX1ZDU19CSVRCVUNLRVRfQ0xJRU5UX1NFQ1JFVD0ke19BUFBfVkNTX0JJVEJVQ0tFVF9DTElFTlRfU0VDUkVUfScKICAgICAgLSAnX0FQUF9WQ1NfQklUQlVDS0VUX1dFQkhPT0tfU0VDUkVUPSR7X0FQUF9WQ1NfQklUQlVDS0VUX1dFQkhPT0tfU0VDUkVUfScKICAgICAgLSAnX0FQUF9WQ1NfT1JJR0lOX0NMSUVOVF9JRD0ke19BUFBfVkNTX09SSUdJTl9DTElFTlRfSUR9JwogICAgICAtICdfQVBQX1ZDU19PUklHSU5fUFJJVkFURV9LRVk9JHtfQVBQX1ZDU19PUklHSU5fUFJJVkFURV9LRVl9JwogICAgICAtICdfQVBQX1ZDU19XRUJIT09LX1VSTD0ke19BUFBfVkNTX1dFQkhPT0tfVVJMfScKICAgICAgLSAnX0FQUF9CVUlMRFNfVk9MVU1FPSR7Q09NUE9TRV9QUk9KRUNUX05BTUV9X2FwcHdyaXRlLWJ1aWxkcycKICAgICAgLSAnX0FQUF9KT0JTX0hPU1Q9JHtfQVBQX0pPQlNfSE9TVDotaHR0cDovL29yY2hlc3RyYXRvcjo4MDgwfScKICAgICAgLSBfQVBQX0pPQlNfU0VDUkVUPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0pPQlMKICAgICAgLSAnX0FQUF9KT0JTX0VORFBPSU5UPSR7X0FQUF9KT0JTX0VORFBPSU5UOi1odHRwOi8vYXBwd3JpdGV9JwogICAgICAtICdfQVBQX0JST1dTRVJfSE9TVD0ke19BUFBfQlJPV1NFUl9IT1NUOi1odHRwOi8vYXBwd3JpdGUtYnJvd3NlcjozMDAwL3YxfScKICAgICAgLSAnX0FQUF9XT1JLRVJfU0NSRUVOU0hPVFNfUk9VVEVSPSR7X0FQUF9XT1JLRVJfU0NSRUVOU0hPVFNfUk9VVEVSOi1odHRwOi8vYXBwd3JpdGV9JwogICAgICAtIF9BUFBfTk9USUZJQ0FUSU9OU19UUkFDS0lOR19TRUNSRVQ9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfTk9USUZJQ0FUSU9OUwogICAgICAtICdfQVBQX1NZU1RFTV9FTUFJTF9OQU1FPSR7X0FQUF9TWVNURU1fRU1BSUxfTkFNRTotQXBwd3JpdGV9JwogICAgICAtICdfQVBQX1NZU1RFTV9FTUFJTF9BRERSRVNTPSR7X0FQUF9TWVNURU1fRU1BSUxfQUREUkVTUzotbm9yZXBseUBhcHB3cml0ZS5pb30nCiAgICAgIC0gJ19BUFBfU01UUF9IT1NUPSR7X0FQUF9TTVRQX0hPU1R9JwogICAgICAtICdfQVBQX1NNVFBfUE9SVD0ke19BUFBfU01UUF9QT1JUfScKICAgICAgLSAnX0FQUF9TTVRQX1NFQ1VSRT0ke19BUFBfU01UUF9TRUNVUkV9JwogICAgICAtICdfQVBQX1NNVFBfVVNFUk5BTUU9JHtfQVBQX1NNVFBfVVNFUk5BTUV9JwogICAgICAtICdfQVBQX1NNVFBfUEFTU1dPUkQ9JHtfQVBQX1NNVFBfUEFTU1dPUkR9JwogICAgICAtICdfQVBQX1NNU19GUk9NPSR7X0FQUF9TTVNfRlJPTX0nCiAgICAgIC0gJ19BUFBfU01TX1BST1ZJREVSPSR7X0FQUF9TTVNfUFJPVklERVJ9JwogICAgICAtICdfQVBQX1NNU19QUk9KRUNUU19ERU5ZX0xJU1Q9JHtfQVBQX1NNU19QUk9KRUNUU19ERU5ZX0xJU1R9JwogICAgICAtICdfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX0lEPSR7X0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfTUlHUkFUSU9OU19GSVJFQkFTRV9DTElFTlRfU0VDUkVUPSR7X0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX01JR1JBVElPTl9IT1NUPSR7X0FQUF9NSUdSQVRJT05fSE9TVDotYXBwd3JpdGV9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVD0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUOi0xMjA5NjAwfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVRfQ09OU09MRT0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUX0NPTlNPTEV9JwogICAgICAtICdfQVBQX0xJTUlUX0RBVEFCQVNFX0JBVENIPSR7X0FQUF9MSU1JVF9EQVRBQkFTRV9CQVRDSDotMTAwfScKICAgICAgLSAnX0FQUF9ET0NVTUVOVFNEQj0ke19BUFBfRE9DVU1FTlRTREI6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9WRUNUT1JTREI9JHtfQVBQX1ZFQ1RPUlNEQjotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX0VNQkVERElORz0ke19BUFBfRU1CRURESU5HOi1kaXNhYmxlZH0nCiAgICB2b2x1bWVzOgogICAgICAtICdhcHB3cml0ZS11cGxvYWRzOi9zdG9yYWdlL3VwbG9hZHM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWltcG9ydHM6L3N0b3JhZ2UvaW1wb3J0czpydycKICAgICAgLSAnYXBwd3JpdGUtY2FjaGU6L3N0b3JhZ2UvY2FjaGU6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWNvbmZpZzovc3RvcmFnZS9jb25maWc6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWNlcnRpZmljYXRlczovc3RvcmFnZS9jZXJ0aWZpY2F0ZXM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWZ1bmN0aW9uczovc3RvcmFnZS9mdW5jdGlvbnM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLXNpdGVzOi9zdG9yYWdlL3NpdGVzOnJ3JwogICAgICAtICdhcHB3cml0ZS1idWlsZHM6L3N0b3JhZ2UvYnVpbGRzOnJ3JwogICAgZGVwZW5kc19vbjoKICAgICAgYXBwd3JpdGUtcG9zdGdyZXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1yZWRpczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1jbGlja2hvdXNlOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIG9wZW5ydW50aW1lcy1leGVjdXRvcjoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBvcmNoZXN0cmF0b3I6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAicHMgYXV4IHwgZ3JlcCAtcSAnW3BdaHAnIHx8IGV4aXQgMSIKICAgICAgaW50ZXJ2YWw6IDIwcwogICAgICB0aW1lb3V0OiA1cwogICAgICByZXRyaWVzOiAzCiAgYXBwd3JpdGUtdGFzay1zY2hlZHVsZXI6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjIuMC4wJwogICAgZW50cnlwb2ludDogc2NoZWR1bGUKICAgIGVudmlyb25tZW50OgogICAgICAtICdfQVBQX0VOVj0ke19BUFBfRU5WOi1wcm9kdWN0aW9ufScKICAgICAgLSAnX0FQUF9VU0FHRV9TVEFUUz0ke19BUFBfVVNBR0VfU1RBVFM6LWVuYWJsZWR9JwogICAgICAtIF9BUFBfVVNBR0VfUEFTUz0kU0VSVklDRV9QQVNTV09SRF9DTElDS0hPVVNFCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREJfVVNBR0U9aHR0cDovL2FwcHdyaXRlOiRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0VAYXBwd3JpdGUtY2xpY2tob3VzZTo4MTIzL2FwcHdyaXRlJwogICAgICAtICdfQVBQX1BPT0xfU0laRV9VU0FHRT0ke19BUFBfUE9PTF9TSVpFX1VTQUdFOi0yfScKICAgICAgLSAnX0FQUF9FWEVDVVRJT05TX0RVQUxfV1JJVEU9JHtfQVBQX0VYRUNVVElPTlNfRFVBTF9XUklURTotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREJfRVhFQ1VUSU9OUz1odHRwOi8vYXBwd3JpdGU6JFNFUlZJQ0VfUEFTU1dPUkRfQ0xJQ0tIT1VTRUBhcHB3cml0ZS1jbGlja2hvdXNlOjgxMjMvYXBwd3JpdGUnCiAgICAgIC0gJ19BUFBfUE9PTF9TSVpFX0VYRUNVVElPTlM9JHtfQVBQX1BPT0xfU0laRV9FWEVDVVRJT05TOi0yfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfVFRMPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfVFRMOi0xODB9JwogICAgICAtICdfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU9JHtfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU6LXYxLXN0YXRzLXVzYWdlfScKICAgICAgLSAnX0FQUF9TVEFUU19SRVNPVVJDRVNfUVVFVUVfTkFNRT0ke19BUFBfU1RBVFNfUkVTT1VSQ0VTX1FVRVVFX05BTUU6LXYxLXN0YXRzLXJlc291cmNlc30nCiAgICAgIC0gJ19BUFBfU1RBVFNfUkVTT1VSQ0VTX0lOVEVSVkFMPSR7X0FQUF9TVEFUU19SRVNPVVJDRVNfSU5URVJWQUw6LTM2MDB9JwogICAgICAtICdfQVBQX0xPR0dJTkdfRk9STUFUPSR7X0FQUF9MT0dHSU5HX0ZPUk1BVDotcHJldHR5fScKICAgICAgLSBfQVBQX1dPUktFUl9NQVhfQ09ST1VUSU5FUz04CiAgICAgIC0gJ19BUFBfV09SS0VSX1BFUl9DT1JFPSR7X0FQUF9XT1JLRVJfUEVSX0NPUkU6LTZ9JwogICAgICAtICdfQVBQX1BPT0xfQURBUFRFUj0ke19BUFBfUE9PTF9BREFQVEVSOi1zdGFja30nCiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMT0kU0VSVklDRV9QQVNTV09SRF82NF9BUFBXUklURQogICAgICAtICdfQVBQX09QVElPTlNfRk9SQ0VfSFRUUFM9JHtfQVBQX09QVElPTlNfRk9SQ0VfSFRUUFM6LWVuYWJsZWR9JwogICAgICAtICdfQVBQX0RPTUFJTj0ke19BUFBfRE9NQUlOOi0kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0RPTUFJTj0ke19BUFBfQ09OU09MRV9ET01BSU59JwogICAgICAtICdfQVBQX0NPTlNPTEVfU0NIRU1BPSR7X0FQUF9DT05TT0xFX1NDSEVNQTotYXBwd3JpdGVpb30nCiAgICAgIC0gJ19BUFBfRE9NQUlOX0ZVTkNUSU9OUz0ke19BUFBfRE9NQUlOX0ZVTkNUSU9OUzotZnVuY3Rpb25zLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9TSVRFUz0ke19BUFBfRE9NQUlOX1NJVEVTOi1zaXRlcy4kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9NSUdSQVRJT05fSE9TVD0ke19BUFBfTUlHUkFUSU9OX0hPU1Q6LWFwcHdyaXRlfScKICAgICAgLSAnX0FQUF9SRURJU19IT1NUPSR7X0FQUF9SRURJU19IT1NUOi1hcHB3cml0ZS1yZWRpc30nCiAgICAgIC0gJ19BUFBfUkVESVNfUE9SVD0ke19BUFBfUkVESVNfUE9SVDotNjM3OX0nCiAgICAgIC0gJ19BUFBfUkVESVNfVVNFUj0ke19BUFBfUkVESVNfVVNFUn0nCiAgICAgIC0gJ19BUFBfUkVESVNfUEFTUz0ke19BUFBfUkVESVNfUEFTU30nCiAgICAgIC0gJ19BUFBfREJfQURBUFRFUj0ke19BUFBfREJfQURBUFRFUjotcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfSE9TVD0ke19BUFBfREJfSE9TVDotYXBwd3JpdGUtcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfUE9SVD0ke19BUFBfREJfUE9SVDotNTQzMn0nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BPSR7X0FQUF9EQl9TQ0hFTUE6LWFwcHdyaXRlfScKICAgICAgLSBfQVBQX0RCX1VTRVI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFUwogICAgICAtIF9BUFBfREJfUEFTUz0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgICAtICdfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVM9JHtfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVN9JwogICAgICAtICdfQVBQX0ZVTkNUSU9OU19TQ0hFRFVMRV9TUFJFQUQ9JHtfQVBQX0ZVTkNUSU9OU19TQ0hFRFVMRV9TUFJFQUQ6LTB9JwogICAgZGVwZW5kc19vbjoKICAgICAgYXBwd3JpdGUtcG9zdGdyZXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1yZWRpczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICJwcyBhdXggfCBncmVwIC1xICdbcF1ocCcgfHwgZXhpdCAxIgogICAgICBpbnRlcnZhbDogMjBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDMKICBhcHB3cml0ZS10YXNrLW1haW50ZW5hbmNlOgogICAgaW1hZ2U6ICdhcHB3cml0ZS9hcHB3cml0ZToyLjAuMCcKICAgIGVudHJ5cG9pbnQ6IG1haW50ZW5hbmNlCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnX0FQUF9FTlY9JHtfQVBQX0VOVjotcHJvZHVjdGlvbn0nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19GT1JNQVQ9JHtfQVBQX0xPR0dJTkdfRk9STUFUOi1wcmV0dHl9JwogICAgICAtICdfQVBQX1dPUktFUl9QRVJfQ09SRT0ke19BUFBfV09SS0VSX1BFUl9DT1JFOi02fScKICAgICAgLSAnX0FQUF9QT09MX0FEQVBURVI9JHtfQVBQX1BPT0xfQURBUFRFUjotc3RhY2t9JwogICAgICAtICdfQVBQX0RPTUFJTj0ke19BUFBfRE9NQUlOOi0kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0NOQU1FPSR7X0FQUF9ET01BSU5fVEFSR0VUX0NOQU1FOi1sb2NhbGhvc3R9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQUFBQT0ke19BUFBfRE9NQUlOX1RBUkdFVF9BQUFBOi06OjF9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQT0ke19BUFBfRE9NQUlOX1RBUkdFVF9BOi0xMjcuMC4wLjF9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQ0FBPSR7X0FQUF9ET01BSU5fVEFSR0VUX0NBQX0nCiAgICAgIC0gJ19BUFBfRE5TPSR7X0FQUF9ETlN9JwogICAgICAtICdfQVBQX0RPTUFJTl9GVU5DVElPTlM9JHtfQVBQX0RPTUFJTl9GVU5DVElPTlM6LWZ1bmN0aW9ucy4kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9FRElUSU9OPSR7X0FQUF9FRElUSU9OOi1zZWxmLWhvc3RlZH0nCiAgICAgIC0gJ19BUFBfUk9VVEVSX0FVVE9fQ0VSVElGSUNBVEVTPSR7X0FQUF9ST1VURVJfQVVUT19DRVJUSUZJQ0FURVM6LWRpc2FibGVkfScKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0FQUFdSSVRFCiAgICAgIC0gJ19BUFBfUkVESVNfSE9TVD0ke19BUFBfUkVESVNfSE9TVDotYXBwd3JpdGUtcmVkaXN9JwogICAgICAtICdfQVBQX1JFRElTX1BPUlQ9JHtfQVBQX1JFRElTX1BPUlQ6LTYzNzl9JwogICAgICAtICdfQVBQX1JFRElTX1VTRVI9JHtfQVBQX1JFRElTX1VTRVJ9JwogICAgICAtICdfQVBQX1JFRElTX1BBU1M9JHtfQVBQX1JFRElTX1BBU1N9JwogICAgICAtICdfQVBQX0RCX0FEQVBURVI9JHtfQVBQX0RCX0FEQVBURVI6LXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX0hPU1Q9JHtfQVBQX0RCX0hPU1Q6LWFwcHdyaXRlLXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX1BPUlQ9JHtfQVBQX0RCX1BPUlQ6LTU0MzJ9JwogICAgICAtICdfQVBQX0RCX1NDSEVNQT0ke19BUFBfREJfU0NIRU1BOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9EQl9VU0VSPSRTRVJWSUNFX1VTRVJfUE9TVEdSRVMKICAgICAgLSBfQVBQX0RCX1BBU1M9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9JTlRFUlZBTD0ke19BUFBfTUFJTlRFTkFOQ0VfSU5URVJWQUw6LTg2NDAwfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fRVhFQ1VUSU9OPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fRVhFQ1VUSU9OOi0xMjA5NjAwfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQ0FDSEU9JHtfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9DQUNIRTotMjU5MjAwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FCVVNFPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQUJVU0U6LTg2NDAwfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVQ9JHtfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVDotMTIwOTYwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUX0NPTlNPTEU9JHtfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVF9DT05TT0xFfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfSE9VUkxZPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfSE9VUkxZOi04NjQwMDAwfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fU0NIRURVTEVTPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fU0NIRURVTEVTOi04NjQwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfU1RBUlRfVElNRT0ke19BUFBfTUFJTlRFTkFOQ0VfU1RBUlRfVElNRX0nCiAgICAgIC0gJ19BUFBfREFUQUJBU0VfU0hBUkVEX1RBQkxFUz0ke19BUFBfREFUQUJBU0VfU0hBUkVEX1RBQkxFU30nCiAgICBkZXBlbmRzX29uOgogICAgICBhcHB3cml0ZS1wb3N0Z3Jlc3FsOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIGFwcHdyaXRlLXJlZGlzOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRC1TSEVMTAogICAgICAgIC0gInBzIGF1eCB8IGdyZXAgLXEgJ1twXWhwJyB8fCBleGl0IDEiCiAgICAgIGludGVydmFsOiAyMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMwogIGFwcHdyaXRlLXRhc2staW50ZXJ2YWw6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjIuMC4wJwogICAgZW50cnlwb2ludDogaW50ZXJ2YWwKICAgIGVudmlyb25tZW50OgogICAgICAtICdfQVBQX0VOVj0ke19BUFBfRU5WOi1wcm9kdWN0aW9ufScKICAgICAgLSAnX0FQUF9MT0dHSU5HX0ZPUk1BVD0ke19BUFBfTE9HR0lOR19GT1JNQVQ6LXByZXR0eX0nCiAgICAgIC0gJ19BUFBfV09SS0VSX1BFUl9DT1JFPSR7X0FQUF9XT1JLRVJfUEVSX0NPUkU6LTZ9JwogICAgICAtICdfQVBQX1BPT0xfQURBUFRFUj0ke19BUFBfUE9PTF9BREFQVEVSOi1zdGFja30nCiAgICAgIC0gJ19BUFBfRE9NQUlOPSR7X0FQUF9ET01BSU46LSRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU6LWxvY2FsaG9zdH0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BQUFBPSR7X0FQUF9ET01BSU5fVEFSR0VUX0FBQUE6LTo6MX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BPSR7X0FQUF9ET01BSU5fVEFSR0VUX0E6LTEyNy4wLjAuMX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9DQUE9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ0FBfScKICAgICAgLSAnX0FQUF9ETlM9JHtfQVBQX0ROU30nCiAgICAgIC0gJ19BUFBfRE9NQUlOX0ZVTkNUSU9OUz0ke19BUFBfRE9NQUlOX0ZVTkNUSU9OUzotZnVuY3Rpb25zLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9TSVRFUz0ke19BUFBfRE9NQUlOX1NJVEVTOi1zaXRlcy4kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0FQUFdSSVRFCiAgICAgIC0gJ19BUFBfUkVESVNfSE9TVD0ke19BUFBfUkVESVNfSE9TVDotYXBwd3JpdGUtcmVkaXN9JwogICAgICAtICdfQVBQX1JFRElTX1BPUlQ9JHtfQVBQX1JFRElTX1BPUlQ6LTYzNzl9JwogICAgICAtICdfQVBQX1JFRElTX1VTRVI9JHtfQVBQX1JFRElTX1VTRVJ9JwogICAgICAtICdfQVBQX1JFRElTX1BBU1M9JHtfQVBQX1JFRElTX1BBU1N9JwogICAgICAtICdfQVBQX0RCX0FEQVBURVI9JHtfQVBQX0RCX0FEQVBURVI6LXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX0hPU1Q9JHtfQVBQX0RCX0hPU1Q6LWFwcHdyaXRlLXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX1BPUlQ9JHtfQVBQX0RCX1BPUlQ6LTU0MzJ9JwogICAgICAtICdfQVBQX0RCX1NDSEVNQT0ke19BUFBfREJfU0NIRU1BOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9EQl9VU0VSPSRTRVJWSUNFX1VTRVJfUE9TVEdSRVMKICAgICAgLSBfQVBQX0RCX1BBU1M9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSAnX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTPSR7X0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTfScKICAgICAgLSAnX0FQUF9JTlRFUlZBTF9ET01BSU5fVkVSSUZJQ0FUSU9OPSR7X0FQUF9JTlRFUlZBTF9ET01BSU5fVkVSSUZJQ0FUSU9OOi0xMjB9JwogICAgICAtICdfQVBQX0lOVEVSVkFMX0NMRUFOVVBfU1RBTEVfRVhFQ1VUSU9OUz0ke19BUFBfSU5URVJWQUxfQ0xFQU5VUF9TVEFMRV9FWEVDVVRJT05TOi0zMDB9JwogICAgZGVwZW5kc19vbjoKICAgICAgYXBwd3JpdGUtcG9zdGdyZXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1yZWRpczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICJwcyBhdXggfCBncmVwIC1xICdbcF1ocCcgfHwgZXhpdCAxIgogICAgICBpbnRlcnZhbDogMjBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDMKICBhcHB3cml0ZS1nZW86CiAgICBpbWFnZTogJ2FwcHdyaXRlL2dlbzowLjMuMScKICAgIGVudmlyb25tZW50OgogICAgICAtIEdFT19TRUNSRVQ9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfR0VPCiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRC1TSEVMTAogICAgICAgIC0gInBocCAtciBcImV4aXQoanNvbl9kZWNvZGUoZmlsZV9nZXRfY29udGVudHMoJ2h0dHA6Ly9sb2NhbGhvc3QvdjEvaGVhbHRoJykpLT5zdGF0dXMgPT09ICdvaycgPyAwIDogMSk7XCIiCiAgICAgIGludGVydmFsOiAyMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMwogICAgICBzdGFydF9wZXJpb2Q6IDEwcwogIGFwcHdyaXRlLWFzc2lzdGFudDoKICAgIGltYWdlOiAnYXBwd3JpdGUvYXNzaXN0YW50OjAuOC40JwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gJ19BUFBfQVNTSVNUQU5UX09QRU5BSV9BUElfS0VZPSR7X0FQUF9BU1NJU1RBTlRfT1BFTkFJX0FQSV9LRVl9JwogICAgZXhjbHVkZV9mcm9tX2hjOiB0cnVlCiAgYXBwd3JpdGUtYnJvd3NlcjoKICAgIGltYWdlOiAnYXBwd3JpdGUvYnJvd3NlcjowLjMuNCcKICAgIGV4Y2x1ZGVfZnJvbV9oYzogdHJ1ZQogIG9wZW5ydW50aW1lcy1leGVjdXRvcjoKICAgIGltYWdlOiAnb3BlbnJ1bnRpbWVzL2V4ZWN1dG9yOjAuMjkuMCcKICAgIGhvc3RuYW1lOiBvcGVucnVudGltZXMtZXhlY3V0b3IKICAgIHN0b3Bfc2lnbmFsOiBTSUdJTlQKICAgIGVudmlyb25tZW50OgogICAgICAtICdPUFJfRVhFQ1VUT1JfSU1BR0VTPSR7X0FQUF9FWEVDVVRPUl9JTUFHRVM6LW9wZW5ydW50aW1lcy9ub2RlOnY1LTIyLG9wZW5ydW50aW1lcy9zdGF0aWM6djUtMX0nCiAgICAgIC0gJ09QUl9FWEVDVVRPUl9JTkFDVElWRV9USFJFU0hPTEQ9JHtfQVBQX0NPTVBVVEVfSU5BQ1RJVkVfVEhSRVNIT0xEOi02MDB9JwogICAgICAtICdPUFJfRVhFQ1VUT1JfTUFJTlRFTkFOQ0VfSU5URVJWQUw9JHtfQVBQX0NPTVBVVEVfTUFJTlRFTkFOQ0VfSU5URVJWQUw6LTYwMH0nCiAgICAgIC0gJ09QUl9FWEVDVVRPUl9ORVRXT1JLPSR7X0FQUF9DT01QVVRFX1JVTlRJTUVTX05FVFdPUks6LXJ1bnRpbWVzfScKICAgICAgLSAnT1BSX0VYRUNVVE9SX0RPQ0tFUl9IVUJfVVNFUk5BTUU9JHtfQVBQX0RPQ0tFUl9IVUJfVVNFUk5BTUV9JwogICAgICAtICdPUFJfRVhFQ1VUT1JfRE9DS0VSX0hVQl9QQVNTV09SRD0ke19BUFBfRE9DS0VSX0hVQl9QQVNTV09SRH0nCiAgICAgIC0gJ09QUl9FWEVDVVRPUl9FTlY9JHtfQVBQX0VOVjotcHJvZHVjdGlvbn0nCiAgICAgIC0gJ09QUl9FWEVDVVRPUl9SVU5USU1FUz0ke19BUFBfRlVOQ1RJT05TX1JVTlRJTUVTOi1ub2RlLTIyfSwke19BUFBfU0lURVNfUlVOVElNRVM6LXN0YXRpYy0xLG5vZGUtMjJ9JwogICAgICAtIE9QUl9FWEVDVVRPUl9TRUNSRVQ9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfRVhFQ1VUT1IKICAgICAgLSBPUFJfRVhFQ1VUT1JfUlVOVElNRV9WRVJTSU9OUz12NQogICAgICAtICdPUEVOX1JVTlRJTUVTX05GVD0ke19BUFBfT1BFTl9SVU5USU1FU19ORlQ6LWVuYWJsZWR9JwogICAgICAtICdPUFJfRVhFQ1VUT1JfTE9HR0lOR19DT05GSUc9JHtfQVBQX0xPR0dJTkdfQ09ORklHfScKICAgICAgLSAnT1BSX0VYRUNVVE9SX0NPTk5FQ1RJT05fU1RPUkFHRT0ke19BUFBfRVhFQ1VUT1JfQ09OTkVDVElPTl9TVE9SQUdFOi1sb2NhbDovL2xvY2FsaG9zdH0nCiAgICAgIC0gT1BSX0VYRUNVVE9SX0NPTk5FQ1RJT05fQlVJTERfQ0FDSEVfU1RPUkFHRT0KICAgIHZvbHVtZXM6CiAgICAgIC0gJy92YXIvcnVuL2RvY2tlci5zb2NrOi92YXIvcnVuL2RvY2tlci5zb2NrJwogICAgICAtICdhcHB3cml0ZS1idWlsZHM6L3N0b3JhZ2UvYnVpbGRzOnJ3JwogICAgICAtICdhcHB3cml0ZS1mdW5jdGlvbnM6L3N0b3JhZ2UvZnVuY3Rpb25zOnJ3JwogICAgICAtICdhcHB3cml0ZS1zaXRlczovc3RvcmFnZS9zaXRlczpydycKICAgICAgLSAnL3RtcDovdG1wOnJ3JwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdjdXJsIC1mc1MgLUggIkF1dGhvcml6YXRpb246IEJlYXJlciAkJE9QUl9FWEVDVVRPUl9TRUNSRVQiIGh0dHA6Ly9sb2NhbGhvc3QvdjEvaGVhbHRoID4gL2Rldi9udWxsIHx8IGV4aXQgMScKICAgICAgaW50ZXJ2YWw6IDIwcwogICAgICB0aW1lb3V0OiA1cwogICAgICByZXRyaWVzOiAzCiAgICAgIHN0YXJ0X3BlcmlvZDogMTBzCiAgb3JjaGVzdHJhdG9yOgogICAgaW1hZ2U6ICdnaGNyLmlvL29wZW4tcnVudGltZXMvb3JjaGVzdHJhdG9yL29yY2hlc3RyYXRvcjoyLjAuMScKICAgIGhvc3RuYW1lOiBvcmNoZXN0cmF0b3IKICAgIHVzZXI6IHJvb3QKICAgIGVudmlyb25tZW50OgogICAgICAtIE9SQ0hFU1RSQVRPUl9CQUNLRU5EPWRvY2tlcgogICAgICAtICdPUkNIRVNUUkFUT1JfTkVUV09SSz0ke0NPTVBPU0VfUFJPSkVDVF9OQU1FfScKICAgICAgLSAnRE9DS0VSX05FVFdPUks9JHtDT01QT1NFX1BST0pFQ1RfTkFNRX0nCiAgICAgIC0gJ0FSVElGQUNUX0VORFBPSU5UPWh0dHA6Ly9vcmNoZXN0cmF0b3I6ODA4MCcKICAgICAgLSAnUzNfRU5EUE9JTlQ9JHtfQVBQX1NUT1JBR0VfUzNfRU5EUE9JTlR9JwogICAgICAtICdTM19SRUdJT049JHtfQVBQX1NUT1JBR0VfUzNfUkVHSU9OOi11cy1lYXN0LTF9JwogICAgICAtICdTM19BQ0NFU1NfS0VZX0lEPSR7X0FQUF9TVE9SQUdFX1MzX0FDQ0VTU19LRVl9JwogICAgICAtICdTM19TRUNSRVRfQUNDRVNTX0tFWT0ke19BUFBfU1RPUkFHRV9TM19TRUNSRVR9JwogICAgdm9sdW1lczoKICAgICAgLSAnL3Zhci9ydW4vZG9ja2VyLnNvY2s6L3Zhci9ydW4vZG9ja2VyLnNvY2snCiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRAogICAgICAgIC0gL2tvLWFwcC9vcmNoZXN0cmF0b3IKICAgICAgICAtICctY2hlY2stcmVhZHknCiAgICAgIGludGVydmFsOiAyMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMwogICAgICBzdGFydF9wZXJpb2Q6IDEwcwogIGFwcHdyaXRlLXBvc3RncmVzcWw6CiAgICBpbWFnZTogJ2FwcHdyaXRlL3Bvc3RncmVzOjAuMS4wJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gJ1BPU1RHUkVTX0RCPSR7X0FQUF9EQl9TQ0hFTUE6LWFwcHdyaXRlfScKICAgICAgLSBQT1NUR1JFU19VU0VSPSRTRVJWSUNFX1VTRVJfUE9TVEdSRVMKICAgICAgLSBQT1NUR1JFU19QQVNTV09SRD0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgdm9sdW1lczoKICAgICAgLSAnYXBwd3JpdGUtcG9zdGdyZXNxbDovdmFyL2xpYi9wb3N0Z3Jlc3FsOnJ3JwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdwZ19pc3JlYWR5IC1VICQke1BPU1RHUkVTX1VTRVJ9IC1kICQke1BPU1RHUkVTX0RCfScKICAgICAgaW50ZXJ2YWw6IDEwcwogICAgICB0aW1lb3V0OiA1cwogICAgICByZXRyaWVzOiAxMAogICAgICBzdGFydF9wZXJpb2Q6IDEwcwogIGFwcHdyaXRlLXJlZGlzOgogICAgaW1hZ2U6ICdyZWRpczo3LjQuNy1hbHBpbmUnCiAgICBjb21tYW5kOiAncmVkaXMtc2VydmVyIC0tbWF4bWVtb3J5IDUxMm1iIC0tbWF4bWVtb3J5LXBvbGljeSBhbGxrZXlzLWxydSAtLW1heG1lbW9yeS1zYW1wbGVzIDUnCiAgICB2b2x1bWVzOgogICAgICAtICdhcHB3cml0ZS1yZWRpczovZGF0YTpydycKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ECiAgICAgICAgLSByZWRpcy1jbGkKICAgICAgICAtIHBpbmcKICAgICAgaW50ZXJ2YWw6IDIwcwogICAgICB0aW1lb3V0OiAxMHMKICAgICAgcmV0cmllczogNQogIGFwcHdyaXRlLWNsaWNraG91c2U6CiAgICBpbWFnZTogJ2NsaWNraG91c2UvY2xpY2tob3VzZS1zZXJ2ZXI6MjYuNC4zLWFscGluZScKICAgIGVudmlyb25tZW50OgogICAgICAtIENMSUNLSE9VU0VfREI9YXBwd3JpdGUKICAgICAgLSBDTElDS0hPVVNFX1VTRVI9YXBwd3JpdGUKICAgICAgLSBDTElDS0hPVVNFX1BBU1NXT1JEPSRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0UKICAgICAgLSBDTElDS0hPVVNFX0RFRkFVTFRfQUNDRVNTX01BTkFHRU1FTlQ9MQogICAgdm9sdW1lczoKICAgICAgLSAnYXBwd3JpdGUtY2xpY2tob3VzZTovdmFyL2xpYi9jbGlja2hvdXNlOnJ3JwogICAgdWxpbWl0czoKICAgICAgbm9maWxlOgogICAgICAgIHNvZnQ6IDI2MjE0NAogICAgICAgIGhhcmQ6IDI2MjE0NAogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdjbGlja2hvdXNlLWNsaWVudCAtLXVzZXIgIiQkQ0xJQ0tIT1VTRV9VU0VSIiAtLXBhc3N3b3JkICIkJENMSUNLSE9VU0VfUEFTU1dPUkQiIC0tcXVlcnkgIlNFTEVDVCAxIiA+IC9kZXYvbnVsbCB8fCBleGl0IDEnCiAgICAgIGludGVydmFsOiAxMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMjAKICAgICAgc3RhcnRfcGVyaW9kOiAzMHMK", + "compose": "c2VydmljZXM6CiAgYXBwd3JpdGU6CiAgICBpbWFnZTogJ2FwcHdyaXRlL2FwcHdyaXRlOjIuNS4wJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gU0VSVklDRV9GUUROX0FQUFdSSVRFPS92MQogICAgICAtICdfQVBQX0ROU19FWFRFUk5BTD0ke19BUFBfRE5TX0VYVEVSTkFMfScKICAgICAgLSAnX0FQUF9BTExPV0VEX0lOVEVSTkFMX0FERFJFU1NFUz0ke19BUFBfQUxMT1dFRF9JTlRFUk5BTF9BRERSRVNTRVN9JwogICAgICAtICdfQVBQX0VOVj0ke19BUFBfRU5WOi1wcm9kdWN0aW9ufScKICAgICAgLSAnX0FQUF9VU0FHRV9TVEFUUz0ke19BUFBfVVNBR0VfU1RBVFM6LWVuYWJsZWR9JwogICAgICAtIF9BUFBfVVNBR0VfUEFTUz0kU0VSVklDRV9QQVNTV09SRF9DTElDS0hPVVNFCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREJfVVNBR0U9aHR0cDovL2FwcHdyaXRlOiRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0VAYXBwd3JpdGUtY2xpY2tob3VzZTo4MTIzL2FwcHdyaXRlJwogICAgICAtICdfQVBQX1BPT0xfU0laRV9VU0FHRT0ke19BUFBfUE9PTF9TSVpFX1VTQUdFOi0yfScKICAgICAgLSAnX0FQUF9DT05ORUNUSU9OU19EQl9FWEVDVVRJT05TPWh0dHA6Ly9hcHB3cml0ZTokU0VSVklDRV9QQVNTV09SRF9DTElDS0hPVVNFQGFwcHdyaXRlLWNsaWNraG91c2U6ODEyMy9hcHB3cml0ZScKICAgICAgLSAnX0FQUF9QT09MX1NJWkVfRVhFQ1VUSU9OUz0ke19BUFBfUE9PTF9TSVpFX0VYRUNVVElPTlM6LTJ9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9VU0FHRV9UVEw9JHtfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9VU0FHRV9UVEw6LTE4MH0nCiAgICAgIC0gJ19BUFBfU1RBVFNfVVNBR0VfUVVFVUVfTkFNRT0ke19BUFBfU1RBVFNfVVNBR0VfUVVFVUVfTkFNRTotdjEtc3RhdHMtdXNhZ2V9JwogICAgICAtICdfQVBQX1NUQVRTX1JFU09VUkNFU19RVUVVRV9OQU1FPSR7X0FQUF9TVEFUU19SRVNPVVJDRVNfUVVFVUVfTkFNRTotdjEtc3RhdHMtcmVzb3VyY2VzfScKICAgICAgLSAnX0FQUF9TVEFUU19SRVNPVVJDRVNfSU5URVJWQUw9JHtfQVBQX1NUQVRTX1JFU09VUkNFU19JTlRFUlZBTDotMzYwMH0nCiAgICAgIC0gJ19BUFBfRURJVElPTj0ke19BUFBfRURJVElPTjotc2VsZi1ob3N0ZWR9JwogICAgICAtICdfQVBQX1dPUktFUl9QRVJfQ09SRT0ke19BUFBfV09SS0VSX1BFUl9DT1JFOi02fScKICAgICAgLSAnX0FQUF9MT0NBTEU9JHtfQVBQX0xPQ0FMRTotZW59JwogICAgICAtICdfQVBQX0NPTVBSRVNTSU9OX0VOQUJMRUQ9JHtfQVBQX0NPTVBSRVNTSU9OX0VOQUJMRUQ6LWVuYWJsZWR9JwogICAgICAtICdfQVBQX0NPTVBSRVNTSU9OX01JTl9TSVpFX0JZVEVTPSR7X0FQUF9DT01QUkVTU0lPTl9NSU5fU0laRV9CWVRFU30nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9XSElURUxJU1RfUk9PVD0ke19BUFBfQ09OU09MRV9XSElURUxJU1RfUk9PVDotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9XSElURUxJU1RfRU1BSUxTPSR7X0FQUF9DT05TT0xFX1dISVRFTElTVF9FTUFJTFN9JwogICAgICAtICdfQVBQX0NPTlNPTEVfU0VTU0lPTl9BTEVSVFM9JHtfQVBQX0NPTlNPTEVfU0VTU0lPTl9BTEVSVFM6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9DT05TT0xFX1dISVRFTElTVF9JUFM9JHtfQVBQX0NPTlNPTEVfV0hJVEVMSVNUX0lQU30nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9IT1NUTkFNRVM9JHtfQVBQX0NPTlNPTEVfSE9TVE5BTUVTfScKICAgICAgLSAnX0FQUF9DT05TT0xFX1NDSEVNQT0ke19BUFBfQ09OU09MRV9TQ0hFTUE6LWFwcHdyaXRlaW99JwogICAgICAtICdfQVBQX0NPTlNPTEVfR0lUSFVCX0FQUF9JRD0ke19BUFBfQ09OU09MRV9HSVRIVUJfQVBQX0lEfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0dJVEhVQl9TRUNSRVQ9JHtfQVBQX0NPTlNPTEVfR0lUSFVCX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9HSVRMQUJfQVBQX0lEPSR7X0FQUF9DT05TT0xFX0dJVExBQl9BUFBfSUR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfR0lUTEFCX1NFQ1JFVD0ke19BUFBfQ09OU09MRV9HSVRMQUJfU0VDUkVUfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0dJVExBQl9FTkRQT0lOVD0ke19BUFBfQ09OU09MRV9HSVRMQUJfRU5EUE9JTlR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfQklUQlVDS0VUX0FQUF9JRD0ke19BUFBfQ09OU09MRV9CSVRCVUNLRVRfQVBQX0lEfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0JJVEJVQ0tFVF9TRUNSRVQ9JHtfQVBQX0NPTlNPTEVfQklUQlVDS0VUX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9HT09HTEVfQVBQX0lEPSR7X0FQUF9DT05TT0xFX0dPT0dMRV9BUFBfSUR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfR09PR0xFX1NFQ1JFVD0ke19BUFBfQ09OU09MRV9HT09HTEVfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TWVNURU1fRU1BSUxfTkFNRT0ke19BUFBfU1lTVEVNX0VNQUlMX05BTUU6LUFwcHdyaXRlfScKICAgICAgLSAnX0FQUF9TWVNURU1fRU1BSUxfQUREUkVTUz0ke19BUFBfU1lTVEVNX0VNQUlMX0FERFJFU1M6LW5vcmVwbHlAYXBwd3JpdGUuaW99JwogICAgICAtICdfQVBQX1NZU1RFTV9URUFNX0VNQUlMPSR7X0FQUF9TWVNURU1fVEVBTV9FTUFJTDotdGVhbUBhcHB3cml0ZS5pb30nCiAgICAgIC0gJ19BUFBfRU1BSUxfU0VDVVJJVFk9JHtfQVBQX0VNQUlMX1NFQ1VSSVRZOi1zZWN1cml0eUBhcHB3cml0ZS5pb30nCiAgICAgIC0gJ19BUFBfU1lTVEVNX1JFU1BPTlNFX0ZPUk1BVD0ke19BUFBfU1lTVEVNX1JFU1BPTlNFX0ZPUk1BVH0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19BQlVTRT0ke19BUFBfT1BUSU9OU19BQlVTRTotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19BQlVTRV9JTkNSRUFTRURfTElNSVRfUFJPSkVDVFM9JHtfQVBQX09QVElPTlNfQUJVU0VfSU5DUkVBU0VEX0xJTUlUX1BST0pFQ1RTfScKICAgICAgLSAnX0FQUF9PUFRJT05TX1JPVVRFUl9QUk9URUNUSU9OPSR7X0FQUF9PUFRJT05TX1JPVVRFUl9QUk9URUNUSU9OOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19GT1JDRV9IVFRQUz0ke19BUFBfT1BUSU9OU19GT1JDRV9IVFRQUzotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX09QVElPTlNfUk9VVEVSX0ZPUkNFX0hUVFBTPSR7X0FQUF9PUFRJT05TX1JPVVRFUl9GT1JDRV9IVFRQUzotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX1JPVVRFUl9BVVRPX0NFUlRJRklDQVRFUz0ke19BUFBfUk9VVEVSX0FVVE9fQ0VSVElGSUNBVEVTOi1kaXNhYmxlZH0nCiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMT0kU0VSVklDRV9QQVNTV09SRF82NF9BUFBXUklURQogICAgICAtIF9BUFBfTk9USUZJQ0FUSU9OU19UUkFDS0lOR19TRUNSRVQ9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfTk9USUZJQ0FUSU9OUwogICAgICAtICdfQVBQX0RPTUFJTj0ke19BUFBfRE9NQUlOOi0kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0RPTUFJTj0ke19BUFBfQ09OU09MRV9ET01BSU59JwogICAgICAtICdfQVBQX0NPTlNPTEVfVVJMPSR7X0FQUF9DT05TT0xFX1VSTH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9UUlVTVEVEX1BST0pFQ1RTPSR7X0FQUF9DT05TT0xFX1RSVVNURURfUFJPSkVDVFN9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU6LWxvY2FsaG9zdH0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BQUFBPSR7X0FQUF9ET01BSU5fVEFSR0VUX0FBQUE6LTo6MX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BPSR7X0FQUF9ET01BSU5fVEFSR0VUX0E6LTEyNy4wLjAuMX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9DQUE9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ0FBfScKICAgICAgLSAnX0FQUF9ETlM9JHtfQVBQX0ROU30nCiAgICAgIC0gJ19BUFBfRE9NQUlOX0ZVTkNUSU9OUz0ke19BUFBfRE9NQUlOX0ZVTkNUSU9OUzotZnVuY3Rpb25zLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX1JFRElTX0hPU1Q9JHtfQVBQX1JFRElTX0hPU1Q6LWFwcHdyaXRlLXJlZGlzfScKICAgICAgLSAnX0FQUF9SRURJU19QT1JUPSR7X0FQUF9SRURJU19QT1JUOi02Mzc5fScKICAgICAgLSAnX0FQUF9SRURJU19VU0VSPSR7X0FQUF9SRURJU19VU0VSfScKICAgICAgLSAnX0FQUF9SRURJU19QQVNTPSR7X0FQUF9SRURJU19QQVNTfScKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSPSR7X0FQUF9EQl9BREFQVEVSOi1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9IT1NUPSR7X0FQUF9EQl9IT1NUOi1hcHB3cml0ZS1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9QT1JUPSR7X0FQUF9EQl9QT1JUOi01NDMyfScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUE9JHtfQVBQX0RCX1NDSEVNQTotYXBwd3JpdGV9JwogICAgICAtIF9BUFBfREJfVVNFUj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gX0FQUF9EQl9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTCiAgICAgIC0gJ19BUFBfREJfQURBUFRFUl9WRUNUT1JTREI9JHtfQVBQX0RCX0FEQVBURVJfVkVDVE9SU0RCOi1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9IT1NUX1ZFQ1RPUlNEQj0ke19BUFBfREJfSE9TVF9WRUNUT1JTREI6LWFwcHdyaXRlLXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX1BPUlRfVkVDVE9SU0RCPSR7X0FQUF9EQl9QT1JUX1ZFQ1RPUlNEQjotNTQzMn0nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BX1ZFQ1RPUlNEQj0ke19BUFBfREJfU0NIRU1BX1ZFQ1RPUlNEQjotYXBwd3JpdGV9JwogICAgICAtIF9BUFBfREJfVVNFUl9WRUNUT1JTREI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFUwogICAgICAtIF9BUFBfREJfUEFTU19WRUNUT1JTREI9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9BREFQVEVSX0RPQ1VNRU5UU0RCOi1tb25nb2RifScKICAgICAgLSAnX0FQUF9EQl9IT1NUX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9IT1NUX0RPQ1VNRU5UU0RCfScKICAgICAgLSAnX0FQUF9EQl9QT1JUX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9QT1JUX0RPQ1VNRU5UU0RCOi0yNzAxN30nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9TQ0hFTUFfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1VTRVJfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1VTRVJfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1BBU1NfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1BBU1NfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX0RPQ1VNRU5UU0RCPSR7X0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfVkVDVE9SU0RCPSR7X0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9WRUNUT1JTREJ9JwogICAgICAtICdfQVBQX1NNVFBfSE9TVD0ke19BUFBfU01UUF9IT1NUfScKICAgICAgLSAnX0FQUF9TTVRQX1BPUlQ9JHtfQVBQX1NNVFBfUE9SVH0nCiAgICAgIC0gJ19BUFBfU01UUF9TRUNVUkU9JHtfQVBQX1NNVFBfU0VDVVJFfScKICAgICAgLSAnX0FQUF9TTVRQX1VTRVJOQU1FPSR7X0FQUF9TTVRQX1VTRVJOQU1FfScKICAgICAgLSAnX0FQUF9TTVRQX1BBU1NXT1JEPSR7X0FQUF9TTVRQX1BBU1NXT1JEfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTUlUPSR7X0FQUF9TVE9SQUdFX0xJTUlUOi0zMDAwMDAwMH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9QUkVWSUVXX0xJTUlUPSR7X0FQUF9TVE9SQUdFX1BSRVZJRVdfTElNSVQ6LTIwMDAwMDAwfScKICAgICAgLSAnX0FQUF9BVVRPR1JBVklUWV9IT1NUPSR7X0FQUF9BVVRPR1JBVklUWV9IT1NUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0FOVElWSVJVUz0ke19BUFBfU1RPUkFHRV9BTlRJVklSVVM6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0FOVElWSVJVU19IT1NUPSR7X0FQUF9TVE9SQUdFX0FOVElWSVJVU19IT1NUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0FOVElWSVJVU19QT1JUPSR7X0FQUF9TVE9SQUdFX0FOVElWSVJVU19QT1JUOi0zMzEwfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RFVklDRT0ke19BUFBfU1RPUkFHRV9ERVZJQ0U6LWxvY2FsfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfUzNfQUNDRVNTX0tFWX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9TM19TRUNSRVQ9JHtfQVBQX1NUT1JBR0VfUzNfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX1JFR0lPTj0ke19BUFBfU1RPUkFHRV9TM19SRUdJT046LXVzLWVhc3QtMX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9TM19CVUNLRVQ9JHtfQVBQX1NUT1JBR0VfUzNfQlVDS0VUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX0VORFBPSU5UPSR7X0FQUF9TVE9SQUdFX1MzX0VORFBPSU5UfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19BQ0NFU1NfS0VZPSR7X0FQUF9TVE9SQUdFX0RPX1NQQUNFU19BQ0NFU1NfS0VZfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19TRUNSRVQ9JHtfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9ET19TUEFDRVNfUkVHSU9OPSR7X0FQUF9TVE9SQUdFX0RPX1NQQUNFU19SRUdJT046LXVzLWVhc3QtMX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9ET19TUEFDRVNfQlVDS0VUPSR7X0FQUF9TVE9SQUdFX0RPX1NQQUNFU19CVUNLRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0FDQ0VTU19LRVl9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9SRUdJT049JHtfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1JFR0lPTjotdXMtd2VzdC0wMDR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0JVQ0tFVD0ke19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQlVDS0VUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTk9ERV9BQ0NFU1NfS0VZPSR7X0FQUF9TVE9SQUdFX0xJTk9ERV9BQ0NFU1NfS0VZfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTk9ERV9TRUNSRVQ9JHtfQVBQX1NUT1JBR0VfTElOT0RFX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9MSU5PREVfUkVHSU9OPSR7X0FQUF9TVE9SQUdFX0xJTk9ERV9SRUdJT046LWV1LWNlbnRyYWwtMX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9MSU5PREVfQlVDS0VUPSR7X0FQUF9TVE9SQUdFX0xJTk9ERV9CVUNLRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfV0FTQUJJX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfV0FTQUJJX0FDQ0VTU19LRVl9JwogICAgICAtICdfQVBQX1NUT1JBR0VfV0FTQUJJX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9XQVNBQklfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1dBU0FCSV9SRUdJT049JHtfQVBQX1NUT1JBR0VfV0FTQUJJX1JFR0lPTjotZXUtY2VudHJhbC0xfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1dBU0FCSV9CVUNLRVQ9JHtfQVBQX1NUT1JBR0VfV0FTQUJJX0JVQ0tFVH0nCiAgICAgIC0gJ19BUFBfQ09NUFVURV9TSVpFX0xJTUlUPSR7X0FQUF9DT01QVVRFX1NJWkVfTElNSVQ6LTMwMDAwMDAwfScKICAgICAgLSAnX0FQUF9DT01QVVRFX0JVSUxEX1NJWkVfTElNSVQ9JHtfQVBQX0NPTVBVVEVfQlVJTERfU0laRV9MSU1JVDotMjAwMDAwMDAwMH0nCiAgICAgIC0gJ19BUFBfRlVOQ1RJT05TX1RJTUVPVVQ9JHtfQVBQX0ZVTkNUSU9OU19USU1FT1VUOi05MDB9JwogICAgICAtICdfQVBQX1NJVEVTX1RJTUVPVVQ9JHtfQVBQX1NJVEVTX1RJTUVPVVQ6LTkwMH0nCiAgICAgIC0gJ19BUFBfQ09NUFVURV9CVUlMRF9USU1FT1VUPSR7X0FQUF9DT01QVVRFX0JVSUxEX1RJTUVPVVQ6LTI3MDB9JwogICAgICAtICdfQVBQX0NPTVBVVEVfQ1BVUz0ke19BUFBfQ09NUFVURV9DUFVTOi0wfScKICAgICAgLSAnX0FQUF9DT01QVVRFX01FTU9SWT0ke19BUFBfQ09NUFVURV9NRU1PUlk6LTB9JwogICAgICAtICdfQVBQX0ZVTkNUSU9OU19SVU5USU1FUz0ke19BUFBfRlVOQ1RJT05TX1JVTlRJTUVTOi1ub2RlLTIyfScKICAgICAgLSAnX0FQUF9TSVRFU19SVU5USU1FUz0ke19BUFBfU0lURVNfUlVOVElNRVM6LXN0YXRpYy0xLG5vZGUtMjJ9JwogICAgICAtICdfQVBQX0RPTUFJTl9TSVRFUz0ke19BUFBfRE9NQUlOX1NJVEVTOi1zaXRlcy4kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSBfQVBQX0VYRUNVVE9SX1NFQ1JFVD0kU0VSVklDRV9QQVNTV09SRF82NF9FWEVDVVRPUgogICAgICAtICdfQVBQX0VYRUNVVE9SX0hPU1Q9JHtfQVBQX0VYRUNVVE9SX0hPU1Q6LWh0dHA6Ly9vcGVucnVudGltZXMtZXhlY3V0b3IvdjF9JwogICAgICAtICdfQVBQX0JVSUxEU19WT0xVTUU9JHtDT01QT1NFX1BST0pFQ1RfTkFNRX1fYXBwd3JpdGUtYnVpbGRzJwogICAgICAtICdfQVBQX0pPQlNfSE9TVD0ke19BUFBfSk9CU19IT1NUOi1odHRwOi8vb3JjaGVzdHJhdG9yOjgwODB9JwogICAgICAtIF9BUFBfSk9CU19TRUNSRVQ9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfSk9CUwogICAgICAtICdfQVBQX0pPQlNfRU5EUE9JTlQ9JHtfQVBQX0pPQlNfRU5EUE9JTlQ6LWh0dHA6Ly9hcHB3cml0ZX0nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19DT05GSUc9JHtfQVBQX0xPR0dJTkdfQ09ORklHfScKICAgICAgLSAnX0FQUF9MT0dHSU5HX0ZPUk1BVD0ke19BUFBfTE9HR0lOR19GT1JNQVQ6LXByZXR0eX0nCiAgICAgIC0gJ19BUFBfTE9DS0lOR19FTkFCTEVEPSR7X0FQUF9MT0NLSU5HX0VOQUJMRUQ6LWVuYWJsZWR9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX0lOVEVSVkFMPSR7X0FQUF9NQUlOVEVOQU5DRV9JTlRFUlZBTDotODY0MDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9FWEVDVVRJT049JHtfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9FWEVDVVRJT046LTEyMDk2MDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9DQUNIRT0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0NBQ0hFOi0yNTkyMDAwfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQUJVU0U9JHtfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BQlVTRTotODY0MDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVD0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUOi0xMjA5NjAwfScKICAgICAgLSAnX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVRfQ09OU09MRT0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUX0NPTlNPTEV9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9TQ0hFRFVMRVM9JHtfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9TQ0hFRFVMRVM6LTg2NDAwfScKICAgICAgLSAnX0FQUF9TTVNfUFJPVklERVI9JHtfQVBQX1NNU19QUk9WSURFUn0nCiAgICAgIC0gJ19BUFBfU01TX0ZST009JHtfQVBQX1NNU19GUk9NfScKICAgICAgLSAnX0FQUF9HUkFQSFFMX0lOVFJPU1BFQ1RJT049JHtfQVBQX0dSQVBIUUxfSU5UUk9TUEVDVElPTjotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfR1JBUEhRTF9NQVhfQkFUQ0hfU0laRT0ke19BUFBfR1JBUEhRTF9NQVhfQkFUQ0hfU0laRTotMTB9JwogICAgICAtICdfQVBQX0dSQVBIUUxfTUFYX0NPTVBMRVhJVFk9JHtfQVBQX0dSQVBIUUxfTUFYX0NPTVBMRVhJVFk6LTI1MH0nCiAgICAgIC0gJ19BUFBfR1JBUEhRTF9NQVhfREVQVEg9JHtfQVBQX0dSQVBIUUxfTUFYX0RFUFRIOi0zfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUSFVCX0FQUF9OQU1FPSR7X0FQUF9WQ1NfR0lUSFVCX0FQUF9OQU1FfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUSFVCX1BSSVZBVEVfS0VZPSR7X0FQUF9WQ1NfR0lUSFVCX1BSSVZBVEVfS0VZfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUSFVCX0FQUF9JRD0ke19BUFBfVkNTX0dJVEhVQl9BUFBfSUR9JwogICAgICAtICdfQVBQX1ZDU19HSVRIVUJfV0VCSE9PS19TRUNSRVQ9JHtfQVBQX1ZDU19HSVRIVUJfV0VCSE9PS19TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19HSVRIVUJfQ0xJRU5UX1NFQ1JFVD0ke19BUFBfVkNTX0dJVEhVQl9DTElFTlRfU0VDUkVUfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUSFVCX0NMSUVOVF9JRD0ke19BUFBfVkNTX0dJVEhVQl9DTElFTlRfSUR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9FTkRQT0lOVD0ke19BUFBfVkNTX0dJVEVBX0VORFBPSU5UfScKICAgICAgLSAnX0FQUF9WQ1NfR0lURUFfQlJPV1NFUl9FTkRQT0lOVD0ke19BUFBfVkNTX0dJVEVBX0JST1dTRVJfRU5EUE9JTlR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9DTElFTlRfSUQ9JHtfQVBQX1ZDU19HSVRFQV9DTElFTlRfSUR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9DTElFTlRfU0VDUkVUPSR7X0FQUF9WQ1NfR0lURUFfQ0xJRU5UX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEVBX1dFQkhPT0tfU0VDUkVUPSR7X0FQUF9WQ1NfR0lURUFfV0VCSE9PS19TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19HSVRMQUJfRU5EUE9JTlQ9JHtfQVBQX1ZDU19HSVRMQUJfRU5EUE9JTlR9JwogICAgICAtICdfQVBQX1ZDU19HSVRMQUJfQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfR0lUTEFCX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVExBQl9DTElFTlRfU0VDUkVUPSR7X0FQUF9WQ1NfR0lUTEFCX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19HSVRMQUJfV0VCSE9PS19TRUNSRVQ9JHtfQVBQX1ZDU19HSVRMQUJfV0VCSE9PS19TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19CSVRCVUNLRVRfQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfQklUQlVDS0VUX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX0JJVEJVQ0tFVF9DTElFTlRfU0VDUkVUPSR7X0FQUF9WQ1NfQklUQlVDS0VUX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19CSVRCVUNLRVRfV0VCSE9PS19TRUNSRVQ9JHtfQVBQX1ZDU19CSVRCVUNLRVRfV0VCSE9PS19TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19PUklHSU5fQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfT1JJR0lOX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX09SSUdJTl9QUklWQVRFX0tFWT0ke19BUFBfVkNTX09SSUdJTl9QUklWQVRFX0tFWX0nCiAgICAgIC0gJ19BUFBfVkNTX1dFQkhPT0tfVVJMPSR7X0FQUF9WQ1NfV0VCSE9PS19VUkx9JwogICAgICAtICdfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX0lEPSR7X0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfTUlHUkFUSU9OU19GSVJFQkFTRV9DTElFTlRfU0VDUkVUPSR7X0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfQ09VTlRSSUVTX0RFTllMSVNUPSR7X0FQUF9DT05TT0xFX0NPVU5UUklFU19ERU5ZTElTVH0nCiAgICAgIC0gJ19BUFBfREFUQUJBU0VfU0hBUkVEX1RBQkxFUz0ke19BUFBfREFUQUJBU0VfU0hBUkVEX1RBQkxFU30nCiAgICAgIC0gJ19BUFBfREFUQUJBU0VfU0hBUkVEX05BTUVTUEFDRT0ke19BUFBfREFUQUJBU0VfU0hBUkVEX05BTUVTUEFDRX0nCiAgICAgIC0gJ19BUFBfRlVOQ1RJT05TX0NSRUFUSU9OX0FCVVNFX0xJTUlUPSR7X0FQUF9GVU5DVElPTlNfQ1JFQVRJT05fQUJVU0VfTElNSVR9JwogICAgICAtICdfQVBQX0NVU1RPTV9ET01BSU5fREVOWV9MSVNUPSR7X0FQUF9DVVNUT01fRE9NQUlOX0RFTllfTElTVDotZXhhbXBsZS5jb20sdGVzdC5jb20sYXBwLmV4YW1wbGUuY29tfScKICAgICAgLSAnX0FQUF9UUlVTVEVEX0hFQURFUlM9JHtfQVBQX1RSVVNURURfSEVBREVSUzoteC1mb3J3YXJkZWQtZm9yfScKICAgICAgLSAnX0FQUF9UUlVTVEVEX1BST1hJRVM9JHtfQVBQX1RSVVNURURfUFJPWElFUzotMTI3LjAuMC4xLDo6MSwxMC4wLjAuMC84LDEwMC42NC4wLjAvMTAsMTcyLjE2LjAuMC8xMiwxOTIuMTY4LjAuMC8xNn0nCiAgICAgIC0gJ19BUFBfTUlHUkFUSU9OX0hPU1Q9JHtfQVBQX01JR1JBVElPTl9IT1NUOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9HRU9fU0VDUkVUPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0dFTwogICAgICAtICdfQVBQX0dFT19FTkRQT0lOVD0ke19BUFBfR0VPX0VORFBPSU5UOi1odHRwOi8vYXBwd3JpdGUtZ2VvL3YxfScKICAgICAgLSAnX0FQUF9QV05FRF9QQVNTV09SRFNfRFNOPSR7X0FQUF9QV05FRF9QQVNTV09SRFNfRFNOOi1ub25lOi8vbG9jYWxob3N0fScKICAgICAgLSAnX0FQUF9MSU1JVF9EQVRBQkFTRV9CQVRDSD0ke19BUFBfTElNSVRfREFUQUJBU0VfQkFUQ0g6LTEwMH0nCiAgICAgIC0gJ19BUFBfRE9DVU1FTlRTREI9JHtfQVBQX0RPQ1VNRU5UU0RCOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfVkVDVE9SU0RCPSR7X0FQUF9WRUNUT1JTREI6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9FTUJFRERJTkc9JHtfQVBQX0VNQkVERElORzotZGlzYWJsZWR9JwogICAgdm9sdW1lczoKICAgICAgLSAnYXBwd3JpdGUtdXBsb2Fkczovc3RvcmFnZS91cGxvYWRzOnJ3JwogICAgICAtICdhcHB3cml0ZS1pbXBvcnRzOi9zdG9yYWdlL2ltcG9ydHM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWNhY2hlOi9zdG9yYWdlL2NhY2hlOnJ3JwogICAgICAtICdhcHB3cml0ZS1jb25maWc6L3N0b3JhZ2UvY29uZmlnOnJ3JwogICAgICAtICdhcHB3cml0ZS1jZXJ0aWZpY2F0ZXM6L3N0b3JhZ2UvY2VydGlmaWNhdGVzOnJ3JwogICAgICAtICdhcHB3cml0ZS1mdW5jdGlvbnM6L3N0b3JhZ2UvZnVuY3Rpb25zOnJ3JwogICAgICAtICdhcHB3cml0ZS1zaXRlczovc3RvcmFnZS9zaXRlczpydycKICAgICAgLSAnYXBwd3JpdGUtYnVpbGRzOi9zdG9yYWdlL2J1aWxkczpydycKICAgIGRlcGVuZHNfb246CiAgICAgIGFwcHdyaXRlLXBvc3RncmVzcWw6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgICAgYXBwd3JpdGUtcmVkaXM6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgICAgYXBwd3JpdGUtY2xpY2tob3VzZToKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1nZW86CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAnY3VybCAtZnNTIC1vIC9kZXYvbnVsbCBodHRwOi8vbG9jYWxob3N0L3YxL2hlYWx0aC92ZXJzaW9uIHx8IGV4aXQgMScKICAgICAgaW50ZXJ2YWw6IDIwcwogICAgICB0aW1lb3V0OiA1cwogICAgICByZXRyaWVzOiA2CiAgICAgIHN0YXJ0X3BlcmlvZDogMTIwcwogIGFwcHdyaXRlLWNvbnNvbGU6CiAgICBpbWFnZTogJ2FwcHdyaXRlL25ldzoxLjIuNzQtc2VsZi1ob3N0ZWQnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRVJWSUNFX0ZRRE5fQVBQV1JJVEVfMzAwMD0vCiAgICAgIC0gVklURV9DT05TT0xFX1BST0ZJTEU9c2VsZi1ob3N0ZWQKICAgICAgLSBWSVRFX0FQUFdSSVRFX1ZFUlNJT049Mi41LjAKICAgICAgLSBBUFBXUklURV9FTkRQT0lOVF9TQU1FX09SSUdJTj10cnVlCiAgICBkZXBlbmRzX29uOgogICAgICBhcHB3cml0ZToKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdidW4gLWUgImZldGNoKCcnaHR0cDovL2xvY2FsaG9zdDozMDAwJycpLnRoZW4ociA9PiBwcm9jZXNzLmV4aXQoci5zdGF0dXMgPCA1MDAgPyAwIDogMSkpLmNhdGNoKCgpID0+IHByb2Nlc3MuZXhpdCgxKSkiJwogICAgICBpbnRlcnZhbDogMjBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDMKICBhcHB3cml0ZS1yZWFsdGltZToKICAgIGltYWdlOiAnYXBwd3JpdGUvYXBwd3JpdGU6Mi41LjAnCiAgICBlbnRyeXBvaW50OiByZWFsdGltZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gU0VSVklDRV9GUUROX0FQUFdSSVRFPS92MS9yZWFsdGltZQogICAgICAtICdfQVBQX0VOVj0ke19BUFBfRU5WOi1wcm9kdWN0aW9ufScKICAgICAgLSAnX0FQUF9VU0FHRV9TVEFUUz0ke19BUFBfVVNBR0VfU1RBVFM6LWVuYWJsZWR9JwogICAgICAtICdfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU9JHtfQVBQX1NUQVRTX1VTQUdFX1FVRVVFX05BTUU6LXYxLXN0YXRzLXVzYWdlfScKICAgICAgLSAnX0FQUF9XT1JLRVJfUEVSX0NPUkU9JHtfQVBQX1dPUktFUl9QRVJfQ09SRTotNn0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19BQlVTRT0ke19BUFBfT1BUSU9OU19BQlVTRTotZW5hYmxlZH0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19ST1VURVJfUFJPVEVDVElPTj0ke19BUFBfT1BUSU9OU19ST1VURVJfUFJPVEVDVElPTjotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX0NPTlNPTEVfSE9TVE5BTUVTPSR7X0FQUF9DT05TT0xFX0hPU1ROQU1FU30nCiAgICAgIC0gJ19BUFBfUkVBTFRJTUVfVEFJTF9SQVRFPSR7X0FQUF9SRUFMVElNRV9UQUlMX1JBVEU6LTUwfScKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0FQUFdSSVRFCiAgICAgIC0gJ19BUFBfVFJVU1RFRF9IRUFERVJTPSR7X0FQUF9UUlVTVEVEX0hFQURFUlM6LXgtZm9yd2FyZGVkLWZvcn0nCiAgICAgIC0gJ19BUFBfVFJVU1RFRF9QUk9YSUVTPSR7X0FQUF9UUlVTVEVEX1BST1hJRVM6LTEyNy4wLjAuMSw6OjEsMTAuMC4wLjAvOCwxMDAuNjQuMC4wLzEwLDE3Mi4xNi4wLjAvMTIsMTkyLjE2OC4wLjAvMTZ9JwogICAgICAtICdfQVBQX1JFRElTX0hPU1Q9JHtfQVBQX1JFRElTX0hPU1Q6LWFwcHdyaXRlLXJlZGlzfScKICAgICAgLSAnX0FQUF9SRURJU19QT1JUPSR7X0FQUF9SRURJU19QT1JUOi02Mzc5fScKICAgICAgLSAnX0FQUF9SRURJU19VU0VSPSR7X0FQUF9SRURJU19VU0VSfScKICAgICAgLSAnX0FQUF9SRURJU19QQVNTPSR7X0FQUF9SRURJU19QQVNTfScKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSPSR7X0FQUF9EQl9BREFQVEVSOi1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9IT1NUPSR7X0FQUF9EQl9IT1NUOi1hcHB3cml0ZS1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9QT1JUPSR7X0FQUF9EQl9QT1JUOi01NDMyfScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUE9JHtfQVBQX0RCX1NDSEVNQTotYXBwd3JpdGV9JwogICAgICAtIF9BUFBfREJfVVNFUj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gX0FQUF9EQl9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTCiAgICAgIC0gJ19BUFBfREJfQURBUFRFUl9WRUNUT1JTREI9JHtfQVBQX0RCX0FEQVBURVJfVkVDVE9SU0RCOi1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9IT1NUX1ZFQ1RPUlNEQj0ke19BUFBfREJfSE9TVF9WRUNUT1JTREI6LWFwcHdyaXRlLXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX1BPUlRfVkVDVE9SU0RCPSR7X0FQUF9EQl9QT1JUX1ZFQ1RPUlNEQjotNTQzMn0nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BX1ZFQ1RPUlNEQj0ke19BUFBfREJfU0NIRU1BX1ZFQ1RPUlNEQjotYXBwd3JpdGV9JwogICAgICAtIF9BUFBfREJfVVNFUl9WRUNUT1JTREI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFUwogICAgICAtIF9BUFBfREJfUEFTU19WRUNUT1JTREI9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9BREFQVEVSX0RPQ1VNRU5UU0RCOi1tb25nb2RifScKICAgICAgLSAnX0FQUF9EQl9IT1NUX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9IT1NUX0RPQ1VNRU5UU0RCfScKICAgICAgLSAnX0FQUF9EQl9QT1JUX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9QT1JUX0RPQ1VNRU5UU0RCOi0yNzAxN30nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BX0RPQ1VNRU5UU0RCPSR7X0FQUF9EQl9TQ0hFTUFfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1VTRVJfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1VTRVJfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1BBU1NfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1BBU1NfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX0RPQ1VNRU5UU0RCPSR7X0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfVkVDVE9SU0RCPSR7X0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9WRUNUT1JTREJ9JwogICAgICAtICdfQVBQX0xPR0dJTkdfQ09ORklHPSR7X0FQUF9MT0dHSU5HX0NPTkZJR30nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19GT1JNQVQ9JHtfQVBQX0xPR0dJTkdfRk9STUFUOi1wcmV0dHl9JwogICAgICAtICdfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVM9JHtfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVN9JwogICAgICAtICdfQVBQX0xJTUlUX0RBVEFCQVNFX0JBVENIPSR7X0FQUF9MSU1JVF9EQVRBQkFTRV9CQVRDSDotMTAwfScKICAgICAgLSAnX0FQUF9ET0NVTUVOVFNEQj0ke19BUFBfRE9DVU1FTlRTREI6LWRpc2FibGVkfScKICAgICAgLSAnX0FQUF9WRUNUT1JTREI9JHtfQVBQX1ZFQ1RPUlNEQjotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX0VNQkVERElORz0ke19BUFBfRU1CRURESU5HOi1kaXNhYmxlZH0nCiAgICBkZXBlbmRzX29uOgogICAgICBhcHB3cml0ZS1wb3N0Z3Jlc3FsOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIGFwcHdyaXRlLXJlZGlzOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRC1TSEVMTAogICAgICAgIC0gJ2N1cmwgLXMgbG9jYWxob3N0ID4gL2Rldi9udWxsIHx8IGV4aXQgMScKICAgICAgaW50ZXJ2YWw6IDIwcwogICAgICB0aW1lb3V0OiA1cwogICAgICByZXRyaWVzOiAzCiAgYXBwd3JpdGUtd29ya2VyOgogICAgaW1hZ2U6ICdhcHB3cml0ZS9hcHB3cml0ZToyLjUuMCcKICAgIGVudHJ5cG9pbnQ6IHdvcmtlcgogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gJ19BUFBfRU5WPSR7X0FQUF9FTlY6LXByb2R1Y3Rpb259JwogICAgICAtICdfQVBQX0ROU19FWFRFUk5BTD0ke19BUFBfRE5TX0VYVEVSTkFMfScKICAgICAgLSAnX0FQUF9BTExPV0VEX0lOVEVSTkFMX0FERFJFU1NFUz0ke19BUFBfQUxMT1dFRF9JTlRFUk5BTF9BRERSRVNTRVN9JwogICAgICAtICdfQVBQX1VTQUdFX1NUQVRTPSR7X0FQUF9VU0FHRV9TVEFUUzotZW5hYmxlZH0nCiAgICAgIC0gX0FQUF9VU0FHRV9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0UKICAgICAgLSAnX0FQUF9DT05ORUNUSU9OU19EQl9VU0FHRT1odHRwOi8vYXBwd3JpdGU6JFNFUlZJQ0VfUEFTU1dPUkRfQ0xJQ0tIT1VTRUBhcHB3cml0ZS1jbGlja2hvdXNlOjgxMjMvYXBwd3JpdGUnCiAgICAgIC0gJ19BUFBfUE9PTF9TSVpFX1VTQUdFPSR7X0FQUF9QT09MX1NJWkVfVVNBR0U6LTJ9JwogICAgICAtICdfQVBQX0NPTk5FQ1RJT05TX0RCX0VYRUNVVElPTlM9aHR0cDovL2FwcHdyaXRlOiRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0VAYXBwd3JpdGUtY2xpY2tob3VzZTo4MTIzL2FwcHdyaXRlJwogICAgICAtICdfQVBQX1BPT0xfU0laRV9FWEVDVVRJT05TPSR7X0FQUF9QT09MX1NJWkVfRVhFQ1VUSU9OUzotMn0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1VTQUdFX1RUTD0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1VTQUdFX1RUTDotMTgwfScKICAgICAgLSAnX0FQUF9TVEFUU19VU0FHRV9RVUVVRV9OQU1FPSR7X0FQUF9TVEFUU19VU0FHRV9RVUVVRV9OQU1FOi12MS1zdGF0cy11c2FnZX0nCiAgICAgIC0gJ19BUFBfU1RBVFNfUkVTT1VSQ0VTX1FVRVVFX05BTUU9JHtfQVBQX1NUQVRTX1JFU09VUkNFU19RVUVVRV9OQU1FOi12MS1zdGF0cy1yZXNvdXJjZXN9JwogICAgICAtICdfQVBQX1NUQVRTX1JFU09VUkNFU19JTlRFUlZBTD0ke19BUFBfU1RBVFNfUkVTT1VSQ0VTX0lOVEVSVkFMOi0zNjAwfScKICAgICAgLSBfQVBQX1dPUktFUlNfTlVNPTEKICAgICAgLSBfQVBQX1dPUktFUl9NQVhfQ09ST1VUSU5FUz03OAogICAgICAtICdfQVBQX1dPUktFUl9QRVJfQ09SRT0ke19BUFBfV09SS0VSX1BFUl9DT1JFOi02fScKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0FQUFdSSVRFCiAgICAgIC0gJ19BUFBfRU1BSUxfU0VDVVJJVFk9JHtfQVBQX0VNQUlMX1NFQ1VSSVRZOi1zZWN1cml0eUBhcHB3cml0ZS5pb30nCiAgICAgIC0gJ19BUFBfRU1BSUxfQ0VSVElGSUNBVEVTPSR7X0FQUF9FTUFJTF9DRVJUSUZJQ0FURVN9JwogICAgICAtICdfQVBQX0RCX0FEQVBURVI9JHtfQVBQX0RCX0FEQVBURVI6LXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX0hPU1Q9JHtfQVBQX0RCX0hPU1Q6LWFwcHdyaXRlLXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX1BPUlQ9JHtfQVBQX0RCX1BPUlQ6LTU0MzJ9JwogICAgICAtICdfQVBQX0RCX1NDSEVNQT0ke19BUFBfREJfU0NIRU1BOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9EQl9VU0VSPSRTRVJWSUNFX1VTRVJfUE9TVEdSRVMKICAgICAgLSBfQVBQX0RCX1BBU1M9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSX1ZFQ1RPUlNEQj0ke19BUFBfREJfQURBUFRFUl9WRUNUT1JTREI6LXBvc3RncmVzcWx9JwogICAgICAtICdfQVBQX0RCX0hPU1RfVkVDVE9SU0RCPSR7X0FQUF9EQl9IT1NUX1ZFQ1RPUlNEQjotYXBwd3JpdGUtcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfUE9SVF9WRUNUT1JTREI9JHtfQVBQX0RCX1BPUlRfVkVDVE9SU0RCOi01NDMyfScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUFfVkVDVE9SU0RCPSR7X0FQUF9EQl9TQ0hFTUFfVkVDVE9SU0RCOi1hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9EQl9VU0VSX1ZFQ1RPUlNEQj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gX0FQUF9EQl9QQVNTX1ZFQ1RPUlNEQj0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgICAtICdfQVBQX0RCX0FEQVBURVJfRE9DVU1FTlRTREI9JHtfQVBQX0RCX0FEQVBURVJfRE9DVU1FTlRTREI6LW1vbmdvZGJ9JwogICAgICAtICdfQVBQX0RCX0hPU1RfRE9DVU1FTlRTREI9JHtfQVBQX0RCX0hPU1RfRE9DVU1FTlRTREJ9JwogICAgICAtICdfQVBQX0RCX1BPUlRfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1BPUlRfRE9DVU1FTlRTREI6LTI3MDE3fScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUFfRE9DVU1FTlRTREI9JHtfQVBQX0RCX1NDSEVNQV9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfREJfVVNFUl9ET0NVTUVOVFNEQj0ke19BUFBfREJfVVNFUl9ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfREJfUEFTU19ET0NVTUVOVFNEQj0ke19BUFBfREJfUEFTU19ET0NVTUVOVFNEQn0nCiAgICAgIC0gJ19BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfRE9DVU1FTlRTREI9JHtfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX0RPQ1VNRU5UU0RCfScKICAgICAgLSAnX0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9WRUNUT1JTREI9JHtfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX1ZFQ1RPUlNEQn0nCiAgICAgIC0gJ19BUFBfUkVESVNfSE9TVD0ke19BUFBfUkVESVNfSE9TVDotYXBwd3JpdGUtcmVkaXN9JwogICAgICAtICdfQVBQX1JFRElTX1BPUlQ9JHtfQVBQX1JFRElTX1BPUlQ6LTYzNzl9JwogICAgICAtICdfQVBQX1JFRElTX1VTRVI9JHtfQVBQX1JFRElTX1VTRVJ9JwogICAgICAtICdfQVBQX1JFRElTX1BBU1M9JHtfQVBQX1JFRElTX1BBU1N9JwogICAgICAtICdfQVBQX0xPR0dJTkdfQ09ORklHPSR7X0FQUF9MT0dHSU5HX0NPTkZJR30nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19GT1JNQVQ9JHtfQVBQX0xPR0dJTkdfRk9STUFUOi1wcmV0dHl9JwogICAgICAtICdfQVBQX1FVRVVFX05BTUU9JHtfQVBQX1FVRVVFX05BTUV9JwogICAgICAtICdfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVM9JHtfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVN9JwogICAgICAtICdfQVBQX0NPTlNPTEVfVVJMPSR7X0FQUF9DT05TT0xFX1VSTH0nCiAgICAgIC0gJ19BUFBfQ09OU09MRV9ET01BSU49JHtfQVBQX0NPTlNPTEVfRE9NQUlOfScKICAgICAgLSAnX0FQUF9DT05TT0xFX1RSVVNURURfUFJPSkVDVFM9JHtfQVBQX0NPTlNPTEVfVFJVU1RFRF9QUk9KRUNUU30nCiAgICAgIC0gJ19BUFBfRE9NQUlOPSR7X0FQUF9ET01BSU46LSRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUU6LWxvY2FsaG9zdH0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BQUFBPSR7X0FQUF9ET01BSU5fVEFSR0VUX0FBQUE6LTo6MX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9BPSR7X0FQUF9ET01BSU5fVEFSR0VUX0E6LTEyNy4wLjAuMX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9DQUE9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQ0FBfScKICAgICAgLSAnX0FQUF9ETlM9JHtfQVBQX0ROU30nCiAgICAgIC0gJ19BUFBfRE9NQUlOX0ZVTkNUSU9OUz0ke19BUFBfRE9NQUlOX0ZVTkNUSU9OUzotZnVuY3Rpb25zLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9TSVRFUz0ke19BUFBfRE9NQUlOX1NJVEVTOi1zaXRlcy4kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTPSR7X0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfT1BUSU9OU19ST1VURVJfRk9SQ0VfSFRUUFM9JHtfQVBQX09QVElPTlNfUk9VVEVSX0ZPUkNFX0hUVFBTOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfV0VCSE9PS19NQVhfRkFJTEVEX0FUVEVNUFRTPSR7X0FQUF9XRUJIT09LX01BWF9GQUlMRURfQVRURU1QVFM6LTEwfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RFVklDRT0ke19BUFBfU1RPUkFHRV9ERVZJQ0U6LWxvY2FsfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfUzNfQUNDRVNTX0tFWX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9TM19TRUNSRVQ9JHtfQVBQX1NUT1JBR0VfUzNfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX1JFR0lPTj0ke19BUFBfU1RPUkFHRV9TM19SRUdJT046LXVzLWVhc3QtMX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9TM19CVUNLRVQ9JHtfQVBQX1NUT1JBR0VfUzNfQlVDS0VUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1MzX0VORFBPSU5UPSR7X0FQUF9TVE9SQUdFX1MzX0VORFBPSU5UfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19BQ0NFU1NfS0VZPSR7X0FQUF9TVE9SQUdFX0RPX1NQQUNFU19BQ0NFU1NfS0VZfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19TRUNSRVQ9JHtfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9ET19TUEFDRVNfUkVHSU9OPSR7X0FQUF9TVE9SQUdFX0RPX1NQQUNFU19SRUdJT046LXVzLWVhc3QtMX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9ET19TUEFDRVNfQlVDS0VUPSR7X0FQUF9TVE9SQUdFX0RPX1NQQUNFU19CVUNLRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0FDQ0VTU19LRVl9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9SRUdJT049JHtfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1JFR0lPTjotdXMtd2VzdC0wMDR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0JVQ0tFVD0ke19BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQlVDS0VUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTk9ERV9BQ0NFU1NfS0VZPSR7X0FQUF9TVE9SQUdFX0xJTk9ERV9BQ0NFU1NfS0VZfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX0xJTk9ERV9TRUNSRVQ9JHtfQVBQX1NUT1JBR0VfTElOT0RFX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9MSU5PREVfUkVHSU9OPSR7X0FQUF9TVE9SQUdFX0xJTk9ERV9SRUdJT046LWV1LWNlbnRyYWwtMX0nCiAgICAgIC0gJ19BUFBfU1RPUkFHRV9MSU5PREVfQlVDS0VUPSR7X0FQUF9TVE9SQUdFX0xJTk9ERV9CVUNLRVR9JwogICAgICAtICdfQVBQX1NUT1JBR0VfV0FTQUJJX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfV0FTQUJJX0FDQ0VTU19LRVl9JwogICAgICAtICdfQVBQX1NUT1JBR0VfV0FTQUJJX1NFQ1JFVD0ke19BUFBfU1RPUkFHRV9XQVNBQklfU0VDUkVUfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1dBU0FCSV9SRUdJT049JHtfQVBQX1NUT1JBR0VfV0FTQUJJX1JFR0lPTjotZXUtY2VudHJhbC0xfScKICAgICAgLSAnX0FQUF9TVE9SQUdFX1dBU0FCSV9CVUNLRVQ9JHtfQVBQX1NUT1JBR0VfV0FTQUJJX0JVQ0tFVH0nCiAgICAgIC0gX0FQUF9FWEVDVVRPUl9TRUNSRVQ9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfRVhFQ1VUT1IKICAgICAgLSAnX0FQUF9FWEVDVVRPUl9IT1NUPSR7X0FQUF9FWEVDVVRPUl9IT1NUOi1odHRwOi8vb3BlbnJ1bnRpbWVzLWV4ZWN1dG9yL3YxfScKICAgICAgLSAnX0FQUF9ET0NLRVJfSFVCX1VTRVJOQU1FPSR7X0FQUF9ET0NLRVJfSFVCX1VTRVJOQU1FfScKICAgICAgLSAnX0FQUF9ET0NLRVJfSFVCX1BBU1NXT1JEPSR7X0FQUF9ET0NLRVJfSFVCX1BBU1NXT1JEfScKICAgICAgLSAnX0FQUF9GVU5DVElPTlNfVElNRU9VVD0ke19BUFBfRlVOQ1RJT05TX1RJTUVPVVQ6LTkwMH0nCiAgICAgIC0gJ19BUFBfU0lURVNfVElNRU9VVD0ke19BUFBfU0lURVNfVElNRU9VVDotOTAwfScKICAgICAgLSAnX0FQUF9DT01QVVRFX0JVSUxEX1RJTUVPVVQ9JHtfQVBQX0NPTVBVVEVfQlVJTERfVElNRU9VVDotMjcwMH0nCiAgICAgIC0gJ19BUFBfQ09NUFVURV9DUFVTPSR7X0FQUF9DT01QVVRFX0NQVVM6LTB9JwogICAgICAtICdfQVBQX0NPTVBVVEVfTUVNT1JZPSR7X0FQUF9DT01QVVRFX01FTU9SWTotMH0nCiAgICAgIC0gJ19BUFBfT1BFTl9SVU5USU1FU19ORlQ9JHtfQVBQX09QRU5fUlVOVElNRVNfTkZUOi1lbmFibGVkfScKICAgICAgLSAnX0FQUF9DT01QVVRFX1NJWkVfTElNSVQ9JHtfQVBQX0NPTVBVVEVfU0laRV9MSU1JVDotMzAwMDAwMDB9JwogICAgICAtICdfQVBQX0NPTVBVVEVfQlVJTERfU0laRV9MSU1JVD0ke19BUFBfQ09NUFVURV9CVUlMRF9TSVpFX0xJTUlUOi0yMDAwMDAwMDAwfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUSFVCX0FQUF9OQU1FPSR7X0FQUF9WQ1NfR0lUSFVCX0FQUF9OQU1FfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUSFVCX1BSSVZBVEVfS0VZPSR7X0FQUF9WQ1NfR0lUSFVCX1BSSVZBVEVfS0VZfScKICAgICAgLSAnX0FQUF9WQ1NfR0lUSFVCX0FQUF9JRD0ke19BUFBfVkNTX0dJVEhVQl9BUFBfSUR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9FTkRQT0lOVD0ke19BUFBfVkNTX0dJVEVBX0VORFBPSU5UfScKICAgICAgLSAnX0FQUF9WQ1NfR0lURUFfQlJPV1NFUl9FTkRQT0lOVD0ke19BUFBfVkNTX0dJVEVBX0JST1dTRVJfRU5EUE9JTlR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9DTElFTlRfSUQ9JHtfQVBQX1ZDU19HSVRFQV9DTElFTlRfSUR9JwogICAgICAtICdfQVBQX1ZDU19HSVRFQV9DTElFTlRfU0VDUkVUPSR7X0FQUF9WQ1NfR0lURUFfQ0xJRU5UX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVEVBX1dFQkhPT0tfU0VDUkVUPSR7X0FQUF9WQ1NfR0lURUFfV0VCSE9PS19TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19HSVRMQUJfRU5EUE9JTlQ9JHtfQVBQX1ZDU19HSVRMQUJfRU5EUE9JTlR9JwogICAgICAtICdfQVBQX1ZDU19HSVRMQUJfQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfR0lUTEFCX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX0dJVExBQl9DTElFTlRfU0VDUkVUPSR7X0FQUF9WQ1NfR0lUTEFCX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19HSVRMQUJfV0VCSE9PS19TRUNSRVQ9JHtfQVBQX1ZDU19HSVRMQUJfV0VCSE9PS19TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19CSVRCVUNLRVRfQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfQklUQlVDS0VUX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX0JJVEJVQ0tFVF9DTElFTlRfU0VDUkVUPSR7X0FQUF9WQ1NfQklUQlVDS0VUX0NMSUVOVF9TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19CSVRCVUNLRVRfV0VCSE9PS19TRUNSRVQ9JHtfQVBQX1ZDU19CSVRCVUNLRVRfV0VCSE9PS19TRUNSRVR9JwogICAgICAtICdfQVBQX1ZDU19PUklHSU5fQ0xJRU5UX0lEPSR7X0FQUF9WQ1NfT1JJR0lOX0NMSUVOVF9JRH0nCiAgICAgIC0gJ19BUFBfVkNTX09SSUdJTl9QUklWQVRFX0tFWT0ke19BUFBfVkNTX09SSUdJTl9QUklWQVRFX0tFWX0nCiAgICAgIC0gJ19BUFBfVkNTX1dFQkhPT0tfVVJMPSR7X0FQUF9WQ1NfV0VCSE9PS19VUkx9JwogICAgICAtICdfQVBQX0JVSUxEU19WT0xVTUU9JHtDT01QT1NFX1BST0pFQ1RfTkFNRX1fYXBwd3JpdGUtYnVpbGRzJwogICAgICAtICdfQVBQX0pPQlNfSE9TVD0ke19BUFBfSk9CU19IT1NUOi1odHRwOi8vb3JjaGVzdHJhdG9yOjgwODB9JwogICAgICAtIF9BUFBfSk9CU19TRUNSRVQ9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfSk9CUwogICAgICAtICdfQVBQX0pPQlNfRU5EUE9JTlQ9JHtfQVBQX0pPQlNfRU5EUE9JTlQ6LWh0dHA6Ly9hcHB3cml0ZX0nCiAgICAgIC0gJ19BUFBfQlJPV1NFUl9IT1NUPSR7X0FQUF9CUk9XU0VSX0hPU1Q6LWh0dHA6Ly9hcHB3cml0ZS1icm93c2VyOjMwMDAvdjF9JwogICAgICAtICdfQVBQX1dPUktFUl9TQ1JFRU5TSE9UU19ST1VURVI9JHtfQVBQX1dPUktFUl9TQ1JFRU5TSE9UU19ST1VURVI6LWh0dHA6Ly9hcHB3cml0ZX0nCiAgICAgIC0gX0FQUF9OT1RJRklDQVRJT05TX1RSQUNLSU5HX1NFQ1JFVD0kU0VSVklDRV9QQVNTV09SRF82NF9OT1RJRklDQVRJT05TCiAgICAgIC0gJ19BUFBfU1lTVEVNX0VNQUlMX05BTUU9JHtfQVBQX1NZU1RFTV9FTUFJTF9OQU1FOi1BcHB3cml0ZX0nCiAgICAgIC0gJ19BUFBfU1lTVEVNX0VNQUlMX0FERFJFU1M9JHtfQVBQX1NZU1RFTV9FTUFJTF9BRERSRVNTOi1ub3JlcGx5QGFwcHdyaXRlLmlvfScKICAgICAgLSAnX0FQUF9TTVRQX0hPU1Q9JHtfQVBQX1NNVFBfSE9TVH0nCiAgICAgIC0gJ19BUFBfU01UUF9QT1JUPSR7X0FQUF9TTVRQX1BPUlR9JwogICAgICAtICdfQVBQX1NNVFBfU0VDVVJFPSR7X0FQUF9TTVRQX1NFQ1VSRX0nCiAgICAgIC0gJ19BUFBfU01UUF9VU0VSTkFNRT0ke19BUFBfU01UUF9VU0VSTkFNRX0nCiAgICAgIC0gJ19BUFBfU01UUF9QQVNTV09SRD0ke19BUFBfU01UUF9QQVNTV09SRH0nCiAgICAgIC0gJ19BUFBfU01TX0ZST009JHtfQVBQX1NNU19GUk9NfScKICAgICAgLSAnX0FQUF9TTVNfUFJPVklERVI9JHtfQVBQX1NNU19QUk9WSURFUn0nCiAgICAgIC0gJ19BUFBfU01TX1BST0pFQ1RTX0RFTllfTElTVD0ke19BUFBfU01TX1BST0pFQ1RTX0RFTllfTElTVH0nCiAgICAgIC0gJ19BUFBfTUlHUkFUSU9OU19GSVJFQkFTRV9DTElFTlRfSUQ9JHtfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX0lEfScKICAgICAgLSAnX0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9TRUNSRVQ9JHtfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX1NFQ1JFVH0nCiAgICAgIC0gJ19BUFBfTUlHUkFUSU9OX0hPU1Q9JHtfQVBQX01JR1JBVElPTl9IT1NUOi1hcHB3cml0ZX0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVQ6LTEyMDk2MDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVF9DT05TT0xFPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVRfQ09OU09MRX0nCiAgICAgIC0gJ19BUFBfTElNSVRfREFUQUJBU0VfQkFUQ0g9JHtfQVBQX0xJTUlUX0RBVEFCQVNFX0JBVENIOi0xMDB9JwogICAgICAtICdfQVBQX0RPQ1VNRU5UU0RCPSR7X0FQUF9ET0NVTUVOVFNEQjotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX1ZFQ1RPUlNEQj0ke19BUFBfVkVDVE9SU0RCOi1kaXNhYmxlZH0nCiAgICAgIC0gJ19BUFBfRU1CRURESU5HPSR7X0FQUF9FTUJFRERJTkc6LWRpc2FibGVkfScKICAgIHZvbHVtZXM6CiAgICAgIC0gJ2FwcHdyaXRlLXVwbG9hZHM6L3N0b3JhZ2UvdXBsb2FkczpydycKICAgICAgLSAnYXBwd3JpdGUtaW1wb3J0czovc3RvcmFnZS9pbXBvcnRzOnJ3JwogICAgICAtICdhcHB3cml0ZS1jYWNoZTovc3RvcmFnZS9jYWNoZTpydycKICAgICAgLSAnYXBwd3JpdGUtY29uZmlnOi9zdG9yYWdlL2NvbmZpZzpydycKICAgICAgLSAnYXBwd3JpdGUtY2VydGlmaWNhdGVzOi9zdG9yYWdlL2NlcnRpZmljYXRlczpydycKICAgICAgLSAnYXBwd3JpdGUtZnVuY3Rpb25zOi9zdG9yYWdlL2Z1bmN0aW9uczpydycKICAgICAgLSAnYXBwd3JpdGUtc2l0ZXM6L3N0b3JhZ2Uvc2l0ZXM6cncnCiAgICAgIC0gJ2FwcHdyaXRlLWJ1aWxkczovc3RvcmFnZS9idWlsZHM6cncnCiAgICBkZXBlbmRzX29uOgogICAgICBhcHB3cml0ZS1wb3N0Z3Jlc3FsOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIGFwcHdyaXRlLXJlZGlzOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIGFwcHdyaXRlLWNsaWNraG91c2U6CiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHkKICAgICAgb3BlbnJ1bnRpbWVzLWV4ZWN1dG9yOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIG9yY2hlc3RyYXRvcjoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICJwcyBhdXggfCBncmVwIC1xICdbcF1ocCcgfHwgZXhpdCAxIgogICAgICBpbnRlcnZhbDogMjBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDMKICBhcHB3cml0ZS10YXNrLXNjaGVkdWxlcjoKICAgIGltYWdlOiAnYXBwd3JpdGUvYXBwd3JpdGU6Mi41LjAnCiAgICBlbnRyeXBvaW50OiBzY2hlZHVsZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gJ19BUFBfRU5WPSR7X0FQUF9FTlY6LXByb2R1Y3Rpb259JwogICAgICAtICdfQVBQX1VTQUdFX1NUQVRTPSR7X0FQUF9VU0FHRV9TVEFUUzotZW5hYmxlZH0nCiAgICAgIC0gX0FQUF9VU0FHRV9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0UKICAgICAgLSAnX0FQUF9DT05ORUNUSU9OU19EQl9VU0FHRT1odHRwOi8vYXBwd3JpdGU6JFNFUlZJQ0VfUEFTU1dPUkRfQ0xJQ0tIT1VTRUBhcHB3cml0ZS1jbGlja2hvdXNlOjgxMjMvYXBwd3JpdGUnCiAgICAgIC0gJ19BUFBfUE9PTF9TSVpFX1VTQUdFPSR7X0FQUF9QT09MX1NJWkVfVVNBR0U6LTJ9JwogICAgICAtICdfQVBQX0NPTk5FQ1RJT05TX0RCX0VYRUNVVElPTlM9aHR0cDovL2FwcHdyaXRlOiRTRVJWSUNFX1BBU1NXT1JEX0NMSUNLSE9VU0VAYXBwd3JpdGUtY2xpY2tob3VzZTo4MTIzL2FwcHdyaXRlJwogICAgICAtICdfQVBQX1BPT0xfU0laRV9FWEVDVVRJT05TPSR7X0FQUF9QT09MX1NJWkVfRVhFQ1VUSU9OUzotMn0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1VTQUdFX1RUTD0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1VTQUdFX1RUTDotMTgwfScKICAgICAgLSAnX0FQUF9TVEFUU19VU0FHRV9RVUVVRV9OQU1FPSR7X0FQUF9TVEFUU19VU0FHRV9RVUVVRV9OQU1FOi12MS1zdGF0cy11c2FnZX0nCiAgICAgIC0gJ19BUFBfU1RBVFNfUkVTT1VSQ0VTX1FVRVVFX05BTUU9JHtfQVBQX1NUQVRTX1JFU09VUkNFU19RVUVVRV9OQU1FOi12MS1zdGF0cy1yZXNvdXJjZXN9JwogICAgICAtICdfQVBQX1NUQVRTX1JFU09VUkNFU19JTlRFUlZBTD0ke19BUFBfU1RBVFNfUkVTT1VSQ0VTX0lOVEVSVkFMOi0zNjAwfScKICAgICAgLSAnX0FQUF9MT0dHSU5HX0ZPUk1BVD0ke19BUFBfTE9HR0lOR19GT1JNQVQ6LXByZXR0eX0nCiAgICAgIC0gX0FQUF9XT1JLRVJfTUFYX0NPUk9VVElORVM9OAogICAgICAtICdfQVBQX1dPUktFUl9QRVJfQ09SRT0ke19BUFBfV09SS0VSX1BFUl9DT1JFOi02fScKICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0FQUFdSSVRFCiAgICAgIC0gJ19BUFBfT1BUSU9OU19GT1JDRV9IVFRQUz0ke19BUFBfT1BUSU9OU19GT1JDRV9IVFRQUzotZGlzYWJsZWR9JwogICAgICAtICdfQVBQX0RPTUFJTj0ke19BUFBfRE9NQUlOOi0kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9DT05TT0xFX0RPTUFJTj0ke19BUFBfQ09OU09MRV9ET01BSU59JwogICAgICAtICdfQVBQX0NPTlNPTEVfU0NIRU1BPSR7X0FQUF9DT05TT0xFX1NDSEVNQTotYXBwd3JpdGVpb30nCiAgICAgIC0gJ19BUFBfRE9NQUlOX0ZVTkNUSU9OUz0ke19BUFBfRE9NQUlOX0ZVTkNUSU9OUzotZnVuY3Rpb25zLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtICdfQVBQX0RPTUFJTl9TSVRFUz0ke19BUFBfRE9NQUlOX1NJVEVTOi1zaXRlcy4kU0VSVklDRV9GUUROX0FQUFdSSVRFfScKICAgICAgLSAnX0FQUF9NSUdSQVRJT05fSE9TVD0ke19BUFBfTUlHUkFUSU9OX0hPU1Q6LWFwcHdyaXRlfScKICAgICAgLSAnX0FQUF9SRURJU19IT1NUPSR7X0FQUF9SRURJU19IT1NUOi1hcHB3cml0ZS1yZWRpc30nCiAgICAgIC0gJ19BUFBfUkVESVNfUE9SVD0ke19BUFBfUkVESVNfUE9SVDotNjM3OX0nCiAgICAgIC0gJ19BUFBfUkVESVNfVVNFUj0ke19BUFBfUkVESVNfVVNFUn0nCiAgICAgIC0gJ19BUFBfUkVESVNfUEFTUz0ke19BUFBfUkVESVNfUEFTU30nCiAgICAgIC0gJ19BUFBfREJfQURBUFRFUj0ke19BUFBfREJfQURBUFRFUjotcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfSE9TVD0ke19BUFBfREJfSE9TVDotYXBwd3JpdGUtcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfUE9SVD0ke19BUFBfREJfUE9SVDotNTQzMn0nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BPSR7X0FQUF9EQl9TQ0hFTUE6LWFwcHdyaXRlfScKICAgICAgLSBfQVBQX0RCX1VTRVI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFUwogICAgICAtIF9BUFBfREJfUEFTUz0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgICAtICdfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVM9JHtfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVN9JwogICAgICAtICdfQVBQX0ZVTkNUSU9OU19TQ0hFRFVMRV9TUFJFQUQ9JHtfQVBQX0ZVTkNUSU9OU19TQ0hFRFVMRV9TUFJFQUQ6LTB9JwogICAgZGVwZW5kc19vbjoKICAgICAgYXBwd3JpdGUtcG9zdGdyZXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1yZWRpczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICJwcyBhdXggfCBncmVwIC1xICdbcF1ocCcgfHwgZXhpdCAxIgogICAgICBpbnRlcnZhbDogMjBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDMKICBhcHB3cml0ZS10YXNrLW1haW50ZW5hbmNlOgogICAgaW1hZ2U6ICdhcHB3cml0ZS9hcHB3cml0ZToyLjUuMCcKICAgIGVudHJ5cG9pbnQ6IG1haW50ZW5hbmNlCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnX0FQUF9FTlY9JHtfQVBQX0VOVjotcHJvZHVjdGlvbn0nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19GT1JNQVQ9JHtfQVBQX0xPR0dJTkdfRk9STUFUOi1wcmV0dHl9JwogICAgICAtICdfQVBQX1dPUktFUl9QRVJfQ09SRT0ke19BUFBfV09SS0VSX1BFUl9DT1JFOi02fScKICAgICAgLSAnX0FQUF9ET01BSU49JHtfQVBQX0RPTUFJTjotJFNFUlZJQ0VfRlFETl9BUFBXUklURX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9DTkFNRT0ke19BUFBfRE9NQUlOX1RBUkdFVF9DTkFNRTotbG9jYWxob3N0fScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0FBQUE9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQUFBQTotOjoxfScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0E9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQTotMTI3LjAuMC4xfScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0NBQT0ke19BUFBfRE9NQUlOX1RBUkdFVF9DQUF9JwogICAgICAtICdfQVBQX0ROUz0ke19BUFBfRE5TfScKICAgICAgLSAnX0FQUF9ET01BSU5fRlVOQ1RJT05TPSR7X0FQUF9ET01BSU5fRlVOQ1RJT05TOi1mdW5jdGlvbnMuJFNFUlZJQ0VfRlFETl9BUFBXUklURX0nCiAgICAgIC0gJ19BUFBfRURJVElPTj0ke19BUFBfRURJVElPTjotc2VsZi1ob3N0ZWR9JwogICAgICAtICdfQVBQX1JPVVRFUl9BVVRPX0NFUlRJRklDQVRFUz0ke19BUFBfUk9VVEVSX0FVVE9fQ0VSVElGSUNBVEVTOi1kaXNhYmxlZH0nCiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMT0kU0VSVklDRV9QQVNTV09SRF82NF9BUFBXUklURQogICAgICAtICdfQVBQX1JFRElTX0hPU1Q9JHtfQVBQX1JFRElTX0hPU1Q6LWFwcHdyaXRlLXJlZGlzfScKICAgICAgLSAnX0FQUF9SRURJU19QT1JUPSR7X0FQUF9SRURJU19QT1JUOi02Mzc5fScKICAgICAgLSAnX0FQUF9SRURJU19VU0VSPSR7X0FQUF9SRURJU19VU0VSfScKICAgICAgLSAnX0FQUF9SRURJU19QQVNTPSR7X0FQUF9SRURJU19QQVNTfScKICAgICAgLSAnX0FQUF9EQl9BREFQVEVSPSR7X0FQUF9EQl9BREFQVEVSOi1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9IT1NUPSR7X0FQUF9EQl9IT1NUOi1hcHB3cml0ZS1wb3N0Z3Jlc3FsfScKICAgICAgLSAnX0FQUF9EQl9QT1JUPSR7X0FQUF9EQl9QT1JUOi01NDMyfScKICAgICAgLSAnX0FQUF9EQl9TQ0hFTUE9JHtfQVBQX0RCX1NDSEVNQTotYXBwd3JpdGV9JwogICAgICAtIF9BUFBfREJfVVNFUj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gX0FQUF9EQl9QQVNTPSRTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfSU5URVJWQUw9JHtfQVBQX01BSU5URU5BTkNFX0lOVEVSVkFMOi04NjQwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0VYRUNVVElPTj0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0VYRUNVVElPTjotMTIwOTYwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0NBQ0hFPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQ0FDSEU6LTI1OTIwMDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BQlVTRT0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FCVVNFOi04NjQwMH0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVQ6LTEyMDk2MDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVF9DT05TT0xFPSR7X0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQVVESVRfQ09OU09MRX0nCiAgICAgIC0gJ19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1NDSEVEVUxFUz0ke19BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1NDSEVEVUxFUzotODY0MDB9JwogICAgICAtICdfQVBQX01BSU5URU5BTkNFX1NUQVJUX1RJTUU9JHtfQVBQX01BSU5URU5BTkNFX1NUQVJUX1RJTUV9JwogICAgICAtICdfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVM9JHtfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVN9JwogICAgZGVwZW5kc19vbjoKICAgICAgYXBwd3JpdGUtcG9zdGdyZXNxbDoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgICBhcHB3cml0ZS1yZWRpczoKICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeQogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICJwcyBhdXggfCBncmVwIC1xICdbcF1ocCcgfHwgZXhpdCAxIgogICAgICBpbnRlcnZhbDogMjBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDMKICBhcHB3cml0ZS10YXNrLWludGVydmFsOgogICAgaW1hZ2U6ICdhcHB3cml0ZS9hcHB3cml0ZToyLjUuMCcKICAgIGVudHJ5cG9pbnQ6IGludGVydmFsCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnX0FQUF9FTlY9JHtfQVBQX0VOVjotcHJvZHVjdGlvbn0nCiAgICAgIC0gJ19BUFBfTE9HR0lOR19GT1JNQVQ9JHtfQVBQX0xPR0dJTkdfRk9STUFUOi1wcmV0dHl9JwogICAgICAtICdfQVBQX1dPUktFUl9QRVJfQ09SRT0ke19BUFBfV09SS0VSX1BFUl9DT1JFOi02fScKICAgICAgLSAnX0FQUF9ET01BSU49JHtfQVBQX0RPTUFJTjotJFNFUlZJQ0VfRlFETl9BUFBXUklURX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1RBUkdFVF9DTkFNRT0ke19BUFBfRE9NQUlOX1RBUkdFVF9DTkFNRTotbG9jYWxob3N0fScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0FBQUE9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQUFBQTotOjoxfScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0E9JHtfQVBQX0RPTUFJTl9UQVJHRVRfQTotMTI3LjAuMC4xfScKICAgICAgLSAnX0FQUF9ET01BSU5fVEFSR0VUX0NBQT0ke19BUFBfRE9NQUlOX1RBUkdFVF9DQUF9JwogICAgICAtICdfQVBQX0ROUz0ke19BUFBfRE5TfScKICAgICAgLSAnX0FQUF9ET01BSU5fRlVOQ1RJT05TPSR7X0FQUF9ET01BSU5fRlVOQ1RJT05TOi1mdW5jdGlvbnMuJFNFUlZJQ0VfRlFETl9BUFBXUklURX0nCiAgICAgIC0gJ19BUFBfRE9NQUlOX1NJVEVTPSR7X0FQUF9ET01BSU5fU0lURVM6LXNpdGVzLiRTRVJWSUNFX0ZRRE5fQVBQV1JJVEV9JwogICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjE9JFNFUlZJQ0VfUEFTU1dPUkRfNjRfQVBQV1JJVEUKICAgICAgLSAnX0FQUF9SRURJU19IT1NUPSR7X0FQUF9SRURJU19IT1NUOi1hcHB3cml0ZS1yZWRpc30nCiAgICAgIC0gJ19BUFBfUkVESVNfUE9SVD0ke19BUFBfUkVESVNfUE9SVDotNjM3OX0nCiAgICAgIC0gJ19BUFBfUkVESVNfVVNFUj0ke19BUFBfUkVESVNfVVNFUn0nCiAgICAgIC0gJ19BUFBfUkVESVNfUEFTUz0ke19BUFBfUkVESVNfUEFTU30nCiAgICAgIC0gJ19BUFBfREJfQURBUFRFUj0ke19BUFBfREJfQURBUFRFUjotcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfSE9TVD0ke19BUFBfREJfSE9TVDotYXBwd3JpdGUtcG9zdGdyZXNxbH0nCiAgICAgIC0gJ19BUFBfREJfUE9SVD0ke19BUFBfREJfUE9SVDotNTQzMn0nCiAgICAgIC0gJ19BUFBfREJfU0NIRU1BPSR7X0FQUF9EQl9TQ0hFTUE6LWFwcHdyaXRlfScKICAgICAgLSBfQVBQX0RCX1VTRVI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFUwogICAgICAtIF9BUFBfREJfUEFTUz0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgICAtICdfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVM9JHtfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVN9JwogICAgICAtICdfQVBQX0lOVEVSVkFMX0RPTUFJTl9WRVJJRklDQVRJT049JHtfQVBQX0lOVEVSVkFMX0RPTUFJTl9WRVJJRklDQVRJT046LTEyMH0nCiAgICAgIC0gJ19BUFBfSU5URVJWQUxfQ0xFQU5VUF9TVEFMRV9FWEVDVVRJT05TPSR7X0FQUF9JTlRFUlZBTF9DTEVBTlVQX1NUQUxFX0VYRUNVVElPTlM6LTMwMH0nCiAgICBkZXBlbmRzX29uOgogICAgICBhcHB3cml0ZS1wb3N0Z3Jlc3FsOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICAgIGFwcHdyaXRlLXJlZGlzOgogICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5CiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRC1TSEVMTAogICAgICAgIC0gInBzIGF1eCB8IGdyZXAgLXEgJ1twXWhwJyB8fCBleGl0IDEiCiAgICAgIGludGVydmFsOiAyMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMwogIGFwcHdyaXRlLWdlbzoKICAgIGltYWdlOiAnYXBwd3JpdGUvZ2VvOjAuMy4yJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gR0VPX1NFQ1JFVD0kU0VSVklDRV9QQVNTV09SRF82NF9HRU8KICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAicGhwIC1yIFwiZXhpdChqc29uX2RlY29kZShmaWxlX2dldF9jb250ZW50cygnaHR0cDovL2xvY2FsaG9zdC92MS9oZWFsdGgnKSktPnN0YXR1cyA9PT0gJ29rJyA/IDAgOiAxKTtcIiIKICAgICAgaW50ZXJ2YWw6IDIwcwogICAgICB0aW1lb3V0OiA1cwogICAgICByZXRyaWVzOiAzCiAgICAgIHN0YXJ0X3BlcmlvZDogMTBzCiAgYXBwd3JpdGUtYnJvd3NlcjoKICAgIGltYWdlOiAnYXBwd3JpdGUvYnJvd3NlcjowLjMuNicKICAgIGVudmlyb25tZW50OgogICAgICAtIEFMTE9XRURfSE9TVFM9YXBwd3JpdGUKICAgIGRuczoKICAgICAgLSAxLjEuMS4xCiAgICAgIC0gOC44LjguOAogICAgZXhjbHVkZV9mcm9tX2hjOiB0cnVlCiAgb3BlbnJ1bnRpbWVzLWV4ZWN1dG9yOgogICAgaW1hZ2U6ICdvcGVucnVudGltZXMvZXhlY3V0b3I6MS4xLjInCiAgICBob3N0bmFtZTogb3BlbnJ1bnRpbWVzLWV4ZWN1dG9yCiAgICBzdG9wX3NpZ25hbDogU0lHSU5UCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSAnT1BSX0VYRUNVVE9SX0lNQUdFUz0ke19BUFBfRVhFQ1VUT1JfSU1BR0VTOi1vcGVucnVudGltZXMvbm9kZTp2NS0yMixvcGVucnVudGltZXMvc3RhdGljOnY1LTF9JwogICAgICAtICdPUFJfRVhFQ1VUT1JfSU5BQ1RJVkVfVEhSRVNIT0xEPSR7X0FQUF9DT01QVVRFX0lOQUNUSVZFX1RIUkVTSE9MRDotNjAwfScKICAgICAgLSAnT1BSX0VYRUNVVE9SX01BSU5URU5BTkNFX0lOVEVSVkFMPSR7X0FQUF9DT01QVVRFX01BSU5URU5BTkNFX0lOVEVSVkFMOi02MDB9JwogICAgICAtICdPUFJfRVhFQ1VUT1JfTkVUV09SSz0ke19BUFBfQ09NUFVURV9SVU5USU1FU19ORVRXT1JLOi1ydW50aW1lc30nCiAgICAgIC0gJ09QUl9FWEVDVVRPUl9ET0NLRVJfSFVCX1VTRVJOQU1FPSR7X0FQUF9ET0NLRVJfSFVCX1VTRVJOQU1FfScKICAgICAgLSAnT1BSX0VYRUNVVE9SX0RPQ0tFUl9IVUJfUEFTU1dPUkQ9JHtfQVBQX0RPQ0tFUl9IVUJfUEFTU1dPUkR9JwogICAgICAtICdPUFJfRVhFQ1VUT1JfRU5WPSR7X0FQUF9FTlY6LXByb2R1Y3Rpb259JwogICAgICAtICdPUFJfRVhFQ1VUT1JfUlVOVElNRVM9JHtfQVBQX0ZVTkNUSU9OU19SVU5USU1FUzotbm9kZS0yMn0sJHtfQVBQX1NJVEVTX1JVTlRJTUVTOi1zdGF0aWMtMSxub2RlLTIyfScKICAgICAgLSBPUFJfRVhFQ1VUT1JfU0VDUkVUPSRTRVJWSUNFX1BBU1NXT1JEXzY0X0VYRUNVVE9SCiAgICAgIC0gT1BSX0VYRUNVVE9SX1JVTlRJTUVfVkVSU0lPTlM9djUKICAgICAgLSAnT1BFTl9SVU5USU1FU19ORlQ9JHtfQVBQX09QRU5fUlVOVElNRVNfTkZUOi1lbmFibGVkfScKICAgICAgLSAnT1BSX0VYRUNVVE9SX0xPR0dJTkdfQ09ORklHPSR7X0FQUF9MT0dHSU5HX0NPTkZJR30nCiAgICAgIC0gJ09QUl9FWEVDVVRPUl9DT05ORUNUSU9OX1NUT1JBR0U9JHtfQVBQX0VYRUNVVE9SX0NPTk5FQ1RJT05fU1RPUkFHRTotbG9jYWw6Ly9sb2NhbGhvc3R9JwogICAgICAtIE9QUl9FWEVDVVRPUl9DT05ORUNUSU9OX0JVSUxEX0NBQ0hFX1NUT1JBR0U9CiAgICB2b2x1bWVzOgogICAgICAtICcvdmFyL3J1bi9kb2NrZXIuc29jazovdmFyL3J1bi9kb2NrZXIuc29jaycKICAgICAgLSAnYXBwd3JpdGUtYnVpbGRzOi9zdG9yYWdlL2J1aWxkczpydycKICAgICAgLSAnYXBwd3JpdGUtZnVuY3Rpb25zOi9zdG9yYWdlL2Z1bmN0aW9uczpydycKICAgICAgLSAnYXBwd3JpdGUtc2l0ZXM6L3N0b3JhZ2Uvc2l0ZXM6cncnCiAgICAgIC0gJy90bXA6L3RtcDpydycKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAnY3VybCAtZnNTIC1IICJBdXRob3JpemF0aW9uOiBCZWFyZXIgJCRPUFJfRVhFQ1VUT1JfU0VDUkVUIiBodHRwOi8vbG9jYWxob3N0L3YxL2hlYWx0aCA+IC9kZXYvbnVsbCB8fCBleGl0IDEnCiAgICAgIGludGVydmFsOiAyMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMwogICAgICBzdGFydF9wZXJpb2Q6IDEwcwogIG9yY2hlc3RyYXRvcjoKICAgIGltYWdlOiAnZ2hjci5pby9vcGVuLXJ1bnRpbWVzL29yY2hlc3RyYXRvci9vcmNoZXN0cmF0b3I6Mi4yLjInCiAgICBob3N0bmFtZTogb3JjaGVzdHJhdG9yCiAgICB1c2VyOiByb290CiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBPUkNIRVNUUkFUT1JfQkFDS0VORD1kb2NrZXIKICAgICAgLSAnT1JDSEVTVFJBVE9SX05FVFdPUks9JHtDT01QT1NFX1BST0pFQ1RfTkFNRX0nCiAgICAgIC0gJ0RPQ0tFUl9ORVRXT1JLPSR7Q09NUE9TRV9QUk9KRUNUX05BTUV9JwogICAgICAtICdBUlRJRkFDVF9FTkRQT0lOVD1odHRwOi8vb3JjaGVzdHJhdG9yOjgwODAnCiAgICAgIC0gJ1MzX0VORFBPSU5UPSR7X0FQUF9TVE9SQUdFX1MzX0VORFBPSU5UfScKICAgICAgLSAnUzNfUkVHSU9OPSR7X0FQUF9TVE9SQUdFX1MzX1JFR0lPTjotdXMtZWFzdC0xfScKICAgICAgLSAnUzNfQUNDRVNTX0tFWV9JRD0ke19BUFBfU1RPUkFHRV9TM19BQ0NFU1NfS0VZfScKICAgICAgLSAnUzNfU0VDUkVUX0FDQ0VTU19LRVk9JHtfQVBQX1NUT1JBR0VfUzNfU0VDUkVUfScKICAgIHZvbHVtZXM6CiAgICAgIC0gJy92YXIvcnVuL2RvY2tlci5zb2NrOi92YXIvcnVuL2RvY2tlci5zb2NrJwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQKICAgICAgICAtIC9rby1hcHAvb3JjaGVzdHJhdG9yCiAgICAgICAgLSAnLWNoZWNrLXJlYWR5JwogICAgICBpbnRlcnZhbDogMjBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDMKICAgICAgc3RhcnRfcGVyaW9kOiAxMHMKICBhcHB3cml0ZS1wb3N0Z3Jlc3FsOgogICAgaW1hZ2U6ICdhcHB3cml0ZS9wb3N0Z3JlczowLjEuMCcKICAgIGVudmlyb25tZW50OgogICAgICAtICdQT1NUR1JFU19EQj0ke19BUFBfREJfU0NIRU1BOi1hcHB3cml0ZX0nCiAgICAgIC0gUE9TVEdSRVNfVVNFUj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gUE9TVEdSRVNfUEFTU1dPUkQ9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgIHZvbHVtZXM6CiAgICAgIC0gJ2FwcHdyaXRlLXBvc3RncmVzcWw6L3Zhci9saWIvcG9zdGdyZXNxbDpydycKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAncGdfaXNyZWFkeSAtVSAkJHtQT1NUR1JFU19VU0VSfSAtZCAkJHtQT1NUR1JFU19EQn0nCiAgICAgIGludGVydmFsOiAxMHMKICAgICAgdGltZW91dDogNXMKICAgICAgcmV0cmllczogMTAKICAgICAgc3RhcnRfcGVyaW9kOiAxMHMKICBhcHB3cml0ZS1yZWRpczoKICAgIGltYWdlOiAncmVkaXM6Ny40LjctYWxwaW5lJwogICAgY29tbWFuZDogJ3JlZGlzLXNlcnZlciAtLW1heG1lbW9yeSA1MTJtYiAtLW1heG1lbW9yeS1wb2xpY3kgYWxsa2V5cy1scnUgLS1tYXhtZW1vcnktc2FtcGxlcyA1JwogICAgdm9sdW1lczoKICAgICAgLSAnYXBwd3JpdGUtcmVkaXM6L2RhdGE6cncnCiAgICBoZWFsdGhjaGVjazoKICAgICAgdGVzdDoKICAgICAgICAtIENNRAogICAgICAgIC0gcmVkaXMtY2xpCiAgICAgICAgLSBwaW5nCiAgICAgIGludGVydmFsOiAyMHMKICAgICAgdGltZW91dDogMTBzCiAgICAgIHJldHJpZXM6IDUKICBhcHB3cml0ZS1jbGlja2hvdXNlOgogICAgaW1hZ2U6ICdjbGlja2hvdXNlL2NsaWNraG91c2Utc2VydmVyOjI2LjQuMy1hbHBpbmUnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBDTElDS0hPVVNFX0RCPWFwcHdyaXRlCiAgICAgIC0gQ0xJQ0tIT1VTRV9VU0VSPWFwcHdyaXRlCiAgICAgIC0gQ0xJQ0tIT1VTRV9QQVNTV09SRD0kU0VSVklDRV9QQVNTV09SRF9DTElDS0hPVVNFCiAgICAgIC0gQ0xJQ0tIT1VTRV9ERUZBVUxUX0FDQ0VTU19NQU5BR0VNRU5UPTEKICAgICAgLSBDTElDS0hPVVNFX0FMV0FZU19SVU5fSU5JVERCX1NDUklQVFM9MQogICAgdm9sdW1lczoKICAgICAgLSAnYXBwd3JpdGUtY2xpY2tob3VzZTovdmFyL2xpYi9jbGlja2hvdXNlOnJ3JwogICAgICAtCiAgICAgICAgdHlwZTogYmluZAogICAgICAgIHNvdXJjZTogLi9jbGlja2hvdXNlLWNvbmZpZy54bWwKICAgICAgICB0YXJnZXQ6IC9ldGMvY2xpY2tob3VzZS1zZXJ2ZXIvY29uZmlnLmQvYXBwd3JpdGUueG1sCiAgICAgICAgcmVhZF9vbmx5OiB0cnVlCiAgICAgICAgY29udGVudDogIjw/eG1sIHZlcnNpb249XCIxLjBcIj8+XG48IS0tXG4gICAgUmV0ZW50aW9uIGZvciBDbGlja0hvdXNlJ3Mgb3duIHN5c3RlbSBsb2cgdGFibGVzLlxuXG4gICAgRXZlcnkgPHR0bD4gaW4gdGhlIGltYWdlJ3MgY29uZmlnLnhtbCBzaXRzIGluc2lkZSBhbiBYTUwgY29tbWVudCwgc28gdGhlc2VcbiAgICB0YWJsZXMga2VlcCBldmVyeSByb3cgZm9yZXZlciwgYW5kIHRoZSBtZXRyaWMgb25lcyBhZGQgYSByb3cgcGVyIHNlY29uZFxuICAgIHdoZXRoZXIgb3Igbm90IHRoZSBpbnN0YW5jZSBzZXJ2ZXMgdHJhZmZpYy4gTGVmdCBhbG9uZSB0aGV5IG91dGdyb3cgdGhlXG4gICAgdXNhZ2UgZGF0YSB0aGV5IHNpdCBuZXh0IHRvIGFuZCBmaWxsIHRoZSB2b2x1bWUuXG5cbiAgICBXaGVuIGEgd2luZG93IGhlcmUgY2hhbmdlcywgQ2xpY2tIb3VzZSByZXBsYWNlcyB0aGUgdGFibGUgb24gdGhlIG5leHRcbiAgICByZXN0YXJ0IGFuZCBrZWVwcyB0aGUgb2xkIG9uZSwgcm93cyBhbmQgYWxsLCBhcyA8bG9nPl88Tj4uXG4gICAgY2xpY2tob3VzZS1pbml0LnNoIGdpdmVzIHRob3NlIG9sZCB0YWJsZXMgdGhlIHNhbWUgd2luZG93LlxuLS0+XG48Y2xpY2tob3VzZT5cbiAgICA8IS0tIFRoZSBtZXRyaWMsIHRyYWNlIGFuZCBwcm9maWxlIGxvZ3Mgc2FtcGxlIHRoZSBzZXJ2ZXIgZXZlcnkgc2Vjb25kIHdoZXRoZXJcbiAgICAgICAgIG9yIG5vdCBBcHB3cml0ZSBzZXJ2ZXMgdHJhZmZpYywgYW5kIG5vdGhpbmcgcmVhZHMgdGhlbSBiYWNrLCBzbyB0aGVpclxuICAgICAgICAgd3JpdGVzIGFuZCB0aGUgbWVyZ2VzIGJlaGluZCB0aGVtIGFyZSBwdXJlIG92ZXJoZWFkLiAtLT5cbiAgICA8YXN5bmNocm9ub3VzX21ldHJpY19sb2cgcmVtb3ZlPVwiMVwiLz5cbiAgICA8bWV0cmljX2xvZyByZW1vdmU9XCIxXCIvPlxuICAgIDxoaXN0b2dyYW1fbWV0cmljX2xvZyByZW1vdmU9XCIxXCIvPlxuICAgIDxxdWVyeV9tZXRyaWNfbG9nIHJlbW92ZT1cIjFcIi8+XG4gICAgPHByb2Nlc3NvcnNfcHJvZmlsZV9sb2cgcmVtb3ZlPVwiMVwiLz5cbiAgICA8dHJhY2VfbG9nIHJlbW92ZT1cIjFcIi8+XG4gICAgPCEtLSB0ZXh0X2xvZyByZXBlYXRzIHRoZSBzZXJ2ZXIgbG9nIHRoZSBjb250YWluZXIgYWxyZWFkeSB3cml0ZXMuIC0tPlxuICAgIDx0ZXh0X2xvZyByZW1vdmU9XCIxXCIvPlxuXG4gICAgPCEtLSBLZXB0IGZvciBkZWJ1Z2dpbmcsIGNhcHBlZCBzbyB0aGV5IGNhbm5vdCBmaWxsIHRoZSB2b2x1bWUuIC0tPlxuICAgIDxhc3luY2hyb25vdXNfaW5zZXJ0X2xvZz48dHRsPmV2ZW50X2RhdGUgKyBJTlRFUlZBTCAzIERBWSBERUxFVEU8L3R0bD48L2FzeW5jaHJvbm91c19pbnNlcnRfbG9nPlxuICAgIDxxdWVyeV9sb2c+PHR0bD5ldmVudF9kYXRlICsgSU5URVJWQUwgNyBEQVkgREVMRVRFPC90dGw+PC9xdWVyeV9sb2c+XG4gICAgPHF1ZXJ5X3ZpZXdzX2xvZz48dHRsPmV2ZW50X2RhdGUgKyBJTlRFUlZBTCA3IERBWSBERUxFVEU8L3R0bD48L3F1ZXJ5X3ZpZXdzX2xvZz5cbiAgICA8cXVlcnlfdGhyZWFkX2xvZz48dHRsPmV2ZW50X2RhdGUgKyBJTlRFUlZBTCA3IERBWSBERUxFVEU8L3R0bD48L3F1ZXJ5X3RocmVhZF9sb2c+XG4gICAgPHBhcnRfbG9nPjx0dGw+ZXZlbnRfZGF0ZSArIElOVEVSVkFMIDcgREFZIERFTEVURTwvdHRsPjwvcGFydF9sb2c+XG4gICAgPGJhY2tncm91bmRfc2NoZWR1bGVfcG9vbF9sb2c+PHR0bD5ldmVudF9kYXRlICsgSU5URVJWQUwgNyBEQVkgREVMRVRFPC90dGw+PC9iYWNrZ3JvdW5kX3NjaGVkdWxlX3Bvb2xfbG9nPlxuXG4gICAgPCEtLSBMb25nZXIsIHNvIGl0IHN0aWxsIGNvdmVycyBhIHJlcG9ydCB0aGF0IHJlYWNoZXMgdXMgbGF0ZS4gY3Jhc2hfbG9nIGlzXG4gICAgICAgICBkZWxpYmVyYXRlbHkgbGVmdCBhbG9uZTogaXQgaXMgdGlueSBhbmQgd29ydGgga2VlcGluZy4gLS0+XG4gICAgPGVycm9yX2xvZz48dHRsPmV2ZW50X2RhdGUgKyBJTlRFUlZBTCAxNCBEQVkgREVMRVRFPC90dGw+PC9lcnJvcl9sb2c+XG48L2NsaWNraG91c2U+XG4iCiAgICAgIC0KICAgICAgICB0eXBlOiBiaW5kCiAgICAgICAgc291cmNlOiAuL2NsaWNraG91c2UtaW5pdC5zaAogICAgICAgIHRhcmdldDogL2RvY2tlci1lbnRyeXBvaW50LWluaXRkYi5kL2NsaWNraG91c2UtaW5pdC5zaAogICAgICAgIHJlYWRfb25seTogdHJ1ZQogICAgICAgIGNvbnRlbnQ6ICIjIS9iaW4vYmFzaFxuIyBUaGUgQ2xpY2tIb3VzZSBlbnRyeXBvaW50IHNvdXJjZXMgdGhpcyBmaWxlLCBzbyBhIHN1YnNoZWxsIGtlZXBzIHRoZXNlIG9wdGlvbnMgb3V0IG9mIGl0LlxuKFxuICBzZXQgLWV1byBwaXBlZmFpbFxuXG4gIGNsaWVudCgpIHtcbiAgICBjbGlja2hvdXNlLWNsaWVudCAtLWhvc3QgMTI3LjAuMC4xIC0tdXNlciBcIiRDTElDS0hPVVNFX1VTRVJcIiAtLXBhc3N3b3JkIFwiJENMSUNLSE9VU0VfUEFTU1dPUkRcIiBcIiRAXCJcbiAgfVxuXG4gICMgRmx1c2hpbmcgcmVwbGFjZXMgbG9nIHRhYmxlcyB3aG9zZSBkZWZpbml0aW9uIGNoYW5nZWQsIGtlZXBpbmcgZWFjaCBvbGQgdGFibGUgYXMgPGxvZz5fPE4+LlxuICBjbGllbnQgLS1xdWVyeSAnU1lTVEVNIEZMVVNIIExPR1MnXG5cbiAgIyBUYWJsZXMgbGVmdCBiZWhpbmQgbmV2ZXIgZXhwaXJlIG9uIHRoZWlyIG93bjogdGFrZSB0aGUgVFRMIG9mIHRoZSBsb2cgdGhhdFxuICAjIHJlcGxhY2VkIHRoaXMgb25lLCBvciBhIHdlZWsgd2hlbiB0aGUgbG9nIGlzIG5vIGxvbmdlciB3cml0dGVuIGF0IGFsbC5cbiAgIyBUaGUgbmFtZWQgbG9ncyBtdXN0IG1hdGNoIHRoZSBvbmVzIGNsaWNraG91c2UtY29uZmlnLnhtbCByZW1vdmVzOiBhIGxvZyB0aGF0XG4gICMgaXMgc3RpbGwgd3JpdHRlbiBnZXRzIHJlcGxhY2VkIG9uIHRoZSBuZXh0IHJlc3RhcnQgaWYgaXRzIFRUTCBpcyBhbHRlcmVkIGhlcmUuXG4gIGNsaWVudCAtLWZvcm1hdCBUU1ZSYXcgPDwnU1FMJyB8IGNsaWVudCAtLW11bHRpcXVlcnlcblNFTEVDVCBjb25jYXQoJ0FMVEVSIFRBQkxFIHN5c3RlbS4nLCBzdGFsZS5uYW1lLCAnIE1PRElGWSBUVEwgJywgaWYoYWN0aXZlLm5hbWUgPSAnJywgJ2V2ZW50X2RhdGUgKyBJTlRFUlZBTCA3IERBWSBERUxFVEUnLCBzcGxpdEJ5U3RyaW5nKCcgU0VUVElOR1MgJywgc3BsaXRCeVN0cmluZygnIFRUTCAnLCBhY3RpdmUuZW5naW5lX2Z1bGwpWzJdKVsxXSksICc7JylcbkZST00gKFxuICBTRUxFQ1QgbmFtZSwgc3BsaXRCeUNoYXIoJ18nLCBuYW1lKVstMV0gQVMgc3VmZml4LCBhcnJheVN0cmluZ0NvbmNhdChhcnJheVBvcEJhY2soc3BsaXRCeUNoYXIoJ18nLCBuYW1lKSksICdfJykgQVMgbG9nXG4gIEZST00gc3lzdGVtLnRhYmxlc1xuICBXSEVSRSBkYXRhYmFzZSA9ICdzeXN0ZW0nXG4gICAgQU5EIHBvc2l0aW9uKGVuZ2luZV9mdWxsLCAnIFRUTCAnKSA9IDBcbiAgICBBTkQgZW5kc1dpdGgoZW5naW5lLCAnTWVyZ2VUcmVlJylcbiAgICBBTkQgbmFtZSBJTiAoU0VMRUNUIHRhYmxlIEZST00gc3lzdGVtLmNvbHVtbnMgV0hFUkUgZGF0YWJhc2UgPSAnc3lzdGVtJyBBTkQgbmFtZSA9ICdldmVudF9kYXRlJyBBTkQgdHlwZSA9ICdEYXRlJylcbikgQVMgc3RhbGVcbkxFRlQgSk9JTiBzeXN0ZW0udGFibGVzIEFTIGFjdGl2ZVxuICBPTiBhY3RpdmUuZGF0YWJhc2UgPSAnc3lzdGVtJ1xuICBBTkQgYWN0aXZlLm5hbWUgPSBzdGFsZS5sb2dcbiAgQU5EIHBvc2l0aW9uKGFjdGl2ZS5lbmdpbmVfZnVsbCwgJyBUVEwgJykgPiAwXG5XSEVSRSAoZW5kc1dpdGgoc3RhbGUubG9nLCAnX2xvZycpIEFORCB0b1VJbnQ2NE9yTnVsbChzdGFsZS5zdWZmaXgpIElTIE5PVCBOVUxMKVxuICBPUiBzdGFsZS5uYW1lIElOICgnYXN5bmNocm9ub3VzX21ldHJpY19sb2cnLCAnbWV0cmljX2xvZycsICdoaXN0b2dyYW1fbWV0cmljX2xvZycsICdxdWVyeV9tZXRyaWNfbG9nJywgJ3Byb2Nlc3NvcnNfcHJvZmlsZV9sb2cnLCAndHJhY2VfbG9nJywgJ3RleHRfbG9nJylcblNRTFxuKSIKICAgIHVsaW1pdHM6CiAgICAgIG5vZmlsZToKICAgICAgICBzb2Z0OiAyNjIxNDQKICAgICAgICBoYXJkOiAyNjIxNDQKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAnY2xpY2tob3VzZS1jbGllbnQgLS11c2VyICIkJENMSUNLSE9VU0VfVVNFUiIgLS1wYXNzd29yZCAiJCRDTElDS0hPVVNFX1BBU1NXT1JEIiAtLXF1ZXJ5ICJTRUxFQ1QgMSIgPiAvZGV2L251bGwgfHwgZXhpdCAxJwogICAgICBpbnRlcnZhbDogMTBzCiAgICAgIHRpbWVvdXQ6IDVzCiAgICAgIHJldHJpZXM6IDIwCiAgICAgIHN0YXJ0X3BlcmlvZDogMzBzCg==", "tags": [ "backend", "backend-as-a-service", @@ -172,7 +172,7 @@ "logo": "svgs/appwrite.svg", "minversion": "0.0.0", "template_last_updated_at": "2026-09-08T19:41:04+02:00", - "port": "3003" + "port": "80" }, "argilla": { "documentation": "https://docs.argilla.io/latest/?utm_source=coolify.io", diff --git a/tests/Feature/AppwriteServiceTemplateTest.php b/tests/Feature/AppwriteServiceTemplateTest.php new file mode 100644 index 0000000000..55ee163907 --- /dev/null +++ b/tests/Feature/AppwriteServiceTemplateTest.php @@ -0,0 +1,36 @@ + 0]); + $team = Team::factory()->create(); + $server = Server::factory()->create(['team_id' => $team->id]); + $destination = StandaloneDocker::where('server_id', $server->id)->first() + ?? StandaloneDocker::factory()->create(['server_id' => $server->id]); + $environment = Environment::factory()->create(['project_id' => Project::factory()->create(['team_id' => $team->id])->id]); + $service = Service::factory()->create([ + 'service_type' => 'appwrite', + 'environment_id' => $environment->id, + 'server_id' => $server->id, + 'destination_id' => $destination->id, + 'destination_type' => $destination->getMorphClass(), + 'docker_compose_raw' => file_get_contents(base_path('templates/compose/appwrite.yaml')), + ]); + + $requiredPort = fn (string $name) => ServiceApplication::create(['name' => $name, 'service_id' => $service->id])->getRequiredPort(); + + expect($requiredPort('appwrite'))->toBe(80) + ->and($requiredPort('appwrite-realtime'))->toBe(80) + ->and($requiredPort('appwrite-console'))->toBe(3000); +});