Back to Templates
Appwrite 2 logo

Appwrite 2

v2.3.0

Appwrite is an end-to-end platform for building Web, Mobile, Native, or Backend apps, packaged as a set of Docker microservices. This template deploys Appwrite 2.3 with PostgreSQL, MongoDB, Redis, ClickHouse, Open Runtimes, MQTT, and the Appwrite Console for self-hosted application development.

Deploy on Dokploy

Deploy Appwrite 2 on Dokploy

  1. Install Dokploy on your server if you haven't already.
  2. In your Dokploy panel, open a project and click Create Service → Template.
  3. Search for Appwrite 2 and click Create — Dokploy configures domains, environment variables, and volumes for you.

Alternatively, create a Compose service, go to Advanced → Import from Base64, and paste this payload:

base64
ewogICJjb21wb3NlIjogIngtbG9nZ2luZzpcbiAgbG9nZ2luZzpcbiAgICBkcml2ZXI6IGpzb24tZmlsZVxuICAgIG9wdGlvbnM6XG4gICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgIG1heC1zaXplOiBcIjEwbVwiXG5zZXJ2aWNlczpcbiAgYXBwd3JpdGU6XG4gICAgbG9nZ2luZzpcbiAgICAgIGRyaXZlcjoganNvbi1maWxlXG4gICAgICBvcHRpb25zOlxuICAgICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgICAgbWF4LXNpemU6IDEwbVxuICAgIGltYWdlOiBhcHB3cml0ZS9hcHB3cml0ZToyLjMuMFxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgaGVhbHRoY2hlY2s6XG4gICAgICB0ZXN0OlxuICAgICAgICAtIENNRC1TSEVMTFxuICAgICAgICAtICdjdXJsIC1mc1MgLW8gL2Rldi9udWxsIC1IIFwiSG9zdDogJCR7X0FQUF9ET01BSU46LWxvY2FsaG9zdH1cIiBodHRwOi8vbG9jYWxob3N0L3YxL2hlYWx0aC92ZXJzaW9uJ1xuICAgICAgaW50ZXJ2YWw6IDVzXG4gICAgICB0aW1lb3V0OiA1c1xuICAgICAgcmV0cmllczogMTJcbiAgICAgIHN0YXJ0X3BlcmlvZDogMTIwc1xuICAgIGxhYmVsczpcbiAgICAgIC0gdHJhZWZpay5lbmFibGU9dHJ1ZVxuICAgICAgLSAndHJhZWZpay5odHRwLnJvdXRlcnMuYXBwd3JpdGUtc2l0ZXMtd2lsZGNhcmQucnVsZT1Ib3N0UmVnZXhwKGBeLitcXC4ke19BUFBfRE9NQUlOX1NJVEVTfSQkYCknXG4gICAgICAtIHRyYWVmaWsuaHR0cC5yb3V0ZXJzLmFwcHdyaXRlLXNpdGVzLXdpbGRjYXJkLmVudHJ5cG9pbnRzPXdlYlxuICAgICAgLSB0cmFlZmlrLmh0dHAucm91dGVycy5hcHB3cml0ZS1zaXRlcy13aWxkY2FyZC5zZXJ2aWNlPWFwcHdyaXRlLXdpbGRjYXJkXG4gICAgICAtICd0cmFlZmlrLmh0dHAucm91dGVycy5hcHB3cml0ZS1zaXRlcy13aWxkY2FyZC1zZWN1cmUucnVsZT1Ib3N0UmVnZXhwKGBeLitcXC4ke19BUFBfRE9NQUlOX1NJVEVTfSQkYCknXG4gICAgICAtIHRyYWVmaWsuaHR0cC5yb3V0ZXJzLmFwcHdyaXRlLXNpdGVzLXdpbGRjYXJkLXNlY3VyZS5lbnRyeXBvaW50cz13ZWJzZWN1cmVcbiAgICAgIC0gdHJhZWZpay5odHRwLnJvdXRlcnMuYXBwd3JpdGUtc2l0ZXMtd2lsZGNhcmQtc2VjdXJlLnRscz10cnVlXG4gICAgICAtIHRyYWVmaWsuaHR0cC5yb3V0ZXJzLmFwcHdyaXRlLXNpdGVzLXdpbGRjYXJkLXNlY3VyZS5zZXJ2aWNlPWFwcHdyaXRlLXdpbGRjYXJkXG4gICAgICAtICd0cmFlZmlrLmh0dHAucm91dGVycy5hcHB3cml0ZS1mdW5jdGlvbnMtd2lsZGNhcmQucnVsZT1Ib3N0UmVnZXhwKGBeLitcXC4ke19BUFBfRE9NQUlOX0ZVTkNUSU9OU30kJGApJ1xuICAgICAgLSB0cmFlZmlrLmh0dHAucm91dGVycy5hcHB3cml0ZS1mdW5jdGlvbnMtd2lsZGNhcmQuZW50cnlwb2ludHM9d2ViXG4gICAgICAtIHRyYWVmaWsuaHR0cC5yb3V0ZXJzLmFwcHdyaXRlLWZ1bmN0aW9ucy13aWxkY2FyZC5zZXJ2aWNlPWFwcHdyaXRlLXdpbGRjYXJkXG4gICAgICAtICd0cmFlZmlrLmh0dHAucm91dGVycy5hcHB3cml0ZS1mdW5jdGlvbnMtd2lsZGNhcmQtc2VjdXJlLnJ1bGU9SG9zdFJlZ2V4cChgXi4rXFwuJHtfQVBQX0RPTUFJTl9GVU5DVElPTlN9JCRgKSdcbiAgICAgIC0gdHJhZWZpay5odHRwLnJvdXRlcnMuYXBwd3JpdGUtZnVuY3Rpb25zLXdpbGRjYXJkLXNlY3VyZS5lbnRyeXBvaW50cz13ZWJzZWN1cmVcbiAgICAgIC0gdHJhZWZpay5odHRwLnJvdXRlcnMuYXBwd3JpdGUtZnVuY3Rpb25zLXdpbGRjYXJkLXNlY3VyZS50bHM9dHJ1ZVxuICAgICAgLSB0cmFlZmlrLmh0dHAucm91dGVycy5hcHB3cml0ZS1mdW5jdGlvbnMtd2lsZGNhcmQtc2VjdXJlLnNlcnZpY2U9YXBwd3JpdGUtd2lsZGNhcmRcbiAgICAgIC0gdHJhZWZpay5odHRwLnNlcnZpY2VzLmFwcHdyaXRlLXdpbGRjYXJkLmxvYWRiYWxhbmNlci5zZXJ2ZXIucG9ydD04MFxuICAgIHZvbHVtZXM6XG4gICAgICAtIGFwcHdyaXRlLXVwbG9hZHM6L3N0b3JhZ2UvdXBsb2Fkczpyd1xuICAgICAgLSBhcHB3cml0ZS1pbXBvcnRzOi9zdG9yYWdlL2ltcG9ydHM6cndcbiAgICAgIC0gYXBwd3JpdGUtY2FjaGU6L3N0b3JhZ2UvY2FjaGU6cndcbiAgICAgIC0gYXBwd3JpdGUtY29uZmlnOi9zdG9yYWdlL2NvbmZpZzpyd1xuICAgICAgLSBhcHB3cml0ZS1jZXJ0aWZpY2F0ZXM6L3N0b3JhZ2UvY2VydGlmaWNhdGVzOnJ3XG4gICAgICAtIGFwcHdyaXRlLWZ1bmN0aW9uczovc3RvcmFnZS9mdW5jdGlvbnM6cndcbiAgICAgIC0gYXBwd3JpdGUtc2l0ZXM6L3N0b3JhZ2Uvc2l0ZXM6cndcbiAgICAgIC0gYXBwd3JpdGUtYnVpbGRzOi9zdG9yYWdlL2J1aWxkczpyd1xuICAgIGRlcGVuZHNfb246XG4gICAgICByZWRpczpcbiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHlcbiAgICAgIHBvc3RncmVzcWw6XG4gICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5XG4gICAgICBhcHB3cml0ZS1nZW86XG4gICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5XG4gICAgICBhcHB3cml0ZS1hdXRvZ3Jhdml0eTpcbiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX3N0YXJ0ZWRcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gX0FQUF9FTlZcbiAgICAgIC0gX0FQUF9VU0FHRV9TVEFUU1xuICAgICAgLSBfQVBQX1VTQUdFX1BBU1NcbiAgICAgIC0gX0FQUF9DT05ORUNUSU9OU19EQl9VU0FHRVxuICAgICAgLSBfQVBQX1BPT0xfU0laRV9VU0FHRVxuICAgICAgLSBfQVBQX0NPTk5FQ1RJT05TX0RCX0VYRUNVVElPTlNcbiAgICAgIC0gX0FQUF9QT09MX1NJWkVfRVhFQ1VUSU9OU1xuICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9VU0FHRV9UVExcbiAgICAgIC0gX0FQUF9TVEFUU19VU0FHRV9RVUVVRV9OQU1FXG4gICAgICAtIF9BUFBfU1RBVFNfUkVTT1VSQ0VTX1FVRVVFX05BTUVcbiAgICAgIC0gX0FQUF9TVEFUU19SRVNPVVJDRVNfSU5URVJWQUxcbiAgICAgIC0gX0FQUF9FRElUSU9OXG4gICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFXG4gICAgICAtIF9BUFBfTE9DQUxFXG4gICAgICAtIF9BUFBfQ09NUFJFU1NJT05fRU5BQkxFRFxuICAgICAgLSBfQVBQX0NPTVBSRVNTSU9OX01JTl9TSVpFX0JZVEVTXG4gICAgICAtIF9BUFBfQ09OU09MRV9XSElURUxJU1RfUk9PVFxuICAgICAgLSBfQVBQX0NPTlNPTEVfV0hJVEVMSVNUX0VNQUlMU1xuICAgICAgLSBfQVBQX0NPTlNPTEVfU0VTU0lPTl9BTEVSVFNcbiAgICAgIC0gX0FQUF9DT05TT0xFX1dISVRFTElTVF9JUFNcbiAgICAgIC0gX0FQUF9DT05TT0xFX0hPU1ROQU1FU1xuICAgICAgLSBfQVBQX0NPTlNPTEVfU0NIRU1BXG4gICAgICAtIF9BUFBfQ09OU09MRV9HSVRIVUJfQVBQX0lEXG4gICAgICAtIF9BUFBfQ09OU09MRV9HSVRIVUJfU0VDUkVUXG4gICAgICAtIF9BUFBfQ09OU09MRV9HSVRMQUJfQVBQX0lEXG4gICAgICAtIF9BUFBfQ09OU09MRV9HSVRMQUJfU0VDUkVUXG4gICAgICAtIF9BUFBfQ09OU09MRV9HSVRMQUJfRU5EUE9JTlRcbiAgICAgIC0gX0FQUF9DT05TT0xFX0JJVEJVQ0tFVF9BUFBfSURcbiAgICAgIC0gX0FQUF9DT05TT0xFX0JJVEJVQ0tFVF9TRUNSRVRcbiAgICAgIC0gX0FQUF9DT05TT0xFX0dPT0dMRV9BUFBfSURcbiAgICAgIC0gX0FQUF9DT05TT0xFX0dPT0dMRV9TRUNSRVRcbiAgICAgIC0gX0FQUF9TWVNURU1fRU1BSUxfTkFNRVxuICAgICAgLSBfQVBQX1NZU1RFTV9FTUFJTF9BRERSRVNTXG4gICAgICAtIF9BUFBfU1lTVEVNX1RFQU1fRU1BSUxcbiAgICAgIC0gX0FQUF9FTUFJTF9TRUNVUklUWVxuICAgICAgLSBfQVBQX1NZU1RFTV9SRVNQT05TRV9GT1JNQVRcbiAgICAgIC0gX0FQUF9PUFRJT05TX0FCVVNFXG4gICAgICAtIF9BUFBfT1BUSU9OU19BQlVTRV9JTkNSRUFTRURfTElNSVRfUFJPSkVDVFNcbiAgICAgIC0gX0FQUF9PUFRJT05TX1JPVVRFUl9QUk9URUNUSU9OXG4gICAgICAtIF9BUFBfT1BUSU9OU19GT1JDRV9IVFRQU1xuICAgICAgLSBfQVBQX09QVElPTlNfUk9VVEVSX0ZPUkNFX0hUVFBTXG4gICAgICAtIF9BUFBfUk9VVEVSX0FVVE9fQ0VSVElGSUNBVEVTXG4gICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjFcbiAgICAgIC0gX0FQUF9OT1RJRklDQVRJT05TX1RSQUNLSU5HX1NFQ1JFVFxuICAgICAgLSBfQVBQX0RPTUFJTlxuICAgICAgLSBfQVBQX0NPTlNPTEVfRE9NQUlOXG4gICAgICAtIF9BUFBfQ09OU09MRV9VUkxcbiAgICAgIC0gX0FQUF9DT05TT0xFX1RSVVNURURfUFJPSkVDVFNcbiAgICAgIC0gX0FQUF9ET01BSU5fVEFSR0VUX0NOQU1FXG4gICAgICAtIF9BUFBfRE9NQUlOX1RBUkdFVF9BQUFBXG4gICAgICAtIF9BUFBfRE9NQUlOX1RBUkdFVF9BXG4gICAgICAtIF9BUFBfRE9NQUlOX1RBUkdFVF9DQUFcbiAgICAgIC0gX0FQUF9ETlNcbiAgICAgIC0gX0FQUF9ET01BSU5fRlVOQ1RJT05TXG4gICAgICAtIF9BUFBfUkVESVNfSE9TVFxuICAgICAgLSBfQVBQX1JFRElTX1BPUlRcbiAgICAgIC0gX0FQUF9SRURJU19VU0VSXG4gICAgICAtIF9BUFBfUkVESVNfUEFTU1xuICAgICAgLSBfQVBQX0RCX0FEQVBURVJcbiAgICAgIC0gX0FQUF9EQl9IT1NUXG4gICAgICAtIF9BUFBfREJfUE9SVFxuICAgICAgLSBfQVBQX0RCX1NDSEVNQVxuICAgICAgLSBfQVBQX0RCX1VTRVJcbiAgICAgIC0gX0FQUF9EQl9QQVNTXG4gICAgICAtIF9BUFBfREJfQURBUFRFUl9WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9EQl9IT1NUX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0RCX1BPUlRfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfREJfU0NIRU1BX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0RCX1VTRVJfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfREJfUEFTU19WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9EQl9BREFQVEVSX0RPQ1VNRU5UU0RCXG4gICAgICAtIF9BUFBfREJfSE9TVF9ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX0RCX1BPUlRfRE9DVU1FTlRTREJcbiAgICAgIC0gX0FQUF9EQl9TQ0hFTUFfRE9DVU1FTlRTREJcbiAgICAgIC0gX0FQUF9EQl9VU0VSX0RPQ1VNRU5UU0RCXG4gICAgICAtIF9BUFBfREJfUEFTU19ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX0RPQ1VNRU5UU0RCXG4gICAgICAtIF9BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfU01UUF9IT1NUXG4gICAgICAtIF9BUFBfU01UUF9QT1JUXG4gICAgICAtIF9BUFBfU01UUF9TRUNVUkVcbiAgICAgIC0gX0FQUF9TTVRQX1VTRVJOQU1FXG4gICAgICAtIF9BUFBfU01UUF9QQVNTV09SRFxuICAgICAgLSBfQVBQX1NUT1JBR0VfTElNSVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1BSRVZJRVdfTElNSVRcbiAgICAgIC0gX0FQUF9BVVRPR1JBVklUWV9IT1NUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9BTlRJVklSVVNcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0FOVElWSVJVU19IT1NUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9BTlRJVklSVVNfUE9SVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfREVWSUNFXG4gICAgICAtIF9BUFBfU1RPUkFHRV9TM19BQ0NFU1NfS0VZXG4gICAgICAtIF9BUFBfU1RPUkFHRV9TM19TRUNSRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX1JFR0lPTlxuICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfQlVDS0VUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9TM19FTkRQT0lOVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0FDQ0VTU19LRVlcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19TRUNSRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19SRUdJT05cbiAgICAgIC0gX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19CVUNLRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9BQ0NFU1NfS0VZXG4gICAgICAtIF9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfU0VDUkVUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfUkVHSU9OXG4gICAgICAtIF9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQlVDS0VUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9MSU5PREVfQUNDRVNTX0tFWVxuICAgICAgLSBfQVBQX1NUT1JBR0VfTElOT0RFX1NFQ1JFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfTElOT0RFX1JFR0lPTlxuICAgICAgLSBfQVBQX1NUT1JBR0VfTElOT0RFX0JVQ0tFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfV0FTQUJJX0FDQ0VTU19LRVlcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1dBU0FCSV9TRUNSRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1dBU0FCSV9SRUdJT05cbiAgICAgIC0gX0FQUF9TVE9SQUdFX1dBU0FCSV9CVUNLRVRcbiAgICAgIC0gX0FQUF9DT01QVVRFX1NJWkVfTElNSVRcbiAgICAgIC0gX0FQUF9DT01QVVRFX0JVSUxEX1NJWkVfTElNSVRcbiAgICAgIC0gX0FQUF9GVU5DVElPTlNfVElNRU9VVFxuICAgICAgLSBfQVBQX1NJVEVTX1RJTUVPVVRcbiAgICAgIC0gX0FQUF9DT01QVVRFX0JVSUxEX1RJTUVPVVRcbiAgICAgIC0gX0FQUF9DT01QVVRFX0NQVVNcbiAgICAgIC0gX0FQUF9DT01QVVRFX01FTU9SWVxuICAgICAgLSBfQVBQX0ZVTkNUSU9OU19SVU5USU1FU1xuICAgICAgLSBfQVBQX1NJVEVTX1JVTlRJTUVTXG4gICAgICAtIF9BUFBfRE9NQUlOX1NJVEVTXG4gICAgICAtIF9BUFBfRVhFQ1VUT1JfU0VDUkVUXG4gICAgICAtIF9BUFBfRVhFQ1VUT1JfSE9TVFxuICAgICAgLSBfQVBQX0JVSUxEU19WT0xVTUVcbiAgICAgIC0gX0FQUF9KT0JTX0hPU1RcbiAgICAgIC0gX0FQUF9KT0JTX1NFQ1JFVFxuICAgICAgLSBfQVBQX0pPQlNfRU5EUE9JTlRcbiAgICAgIC0gX0FQUF9MT0dHSU5HX0NPTkZJR1xuICAgICAgLSBfQVBQX0xPR0dJTkdfRk9STUFUXG4gICAgICAtIF9BUFBfTE9DS0lOR19FTkFCTEVEXG4gICAgICAtIF9BUFBfTUFJTlRFTkFOQ0VfSU5URVJWQUxcbiAgICAgIC0gX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fRVhFQ1VUSU9OXG4gICAgICAtIF9BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0NBQ0hFXG4gICAgICAtIF9BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FCVVNFXG4gICAgICAtIF9BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUXG4gICAgICAtIF9BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUX0NPTlNPTEVcbiAgICAgIC0gX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fU0NIRURVTEVTXG4gICAgICAtIF9BUFBfU01TX1BST1ZJREVSXG4gICAgICAtIF9BUFBfU01TX0ZST01cbiAgICAgIC0gX0FQUF9HUkFQSFFMX0lOVFJPU1BFQ1RJT05cbiAgICAgIC0gX0FQUF9HUkFQSFFMX01BWF9CQVRDSF9TSVpFXG4gICAgICAtIF9BUFBfR1JBUEhRTF9NQVhfQ09NUExFWElUWVxuICAgICAgLSBfQVBQX0dSQVBIUUxfTUFYX0RFUFRIXG4gICAgICAtIF9BUFBfVkNTX0dJVEhVQl9BUFBfTkFNRVxuICAgICAgLSBfQVBQX1ZDU19HSVRIVUJfUFJJVkFURV9LRVlcbiAgICAgIC0gX0FQUF9WQ1NfR0lUSFVCX0FQUF9JRFxuICAgICAgLSBfQVBQX1ZDU19HSVRIVUJfV0VCSE9PS19TRUNSRVRcbiAgICAgIC0gX0FQUF9WQ1NfR0lUSFVCX0NMSUVOVF9TRUNSRVRcbiAgICAgIC0gX0FQUF9WQ1NfR0lUSFVCX0NMSUVOVF9JRFxuICAgICAgLSBfQVBQX1ZDU19HSVRFQV9FTkRQT0lOVFxuICAgICAgLSBfQVBQX1ZDU19HSVRFQV9CUk9XU0VSX0VORFBPSU5UXG4gICAgICAtIF9BUFBfVkNTX0dJVEVBX0NMSUVOVF9JRFxuICAgICAgLSBfQVBQX1ZDU19HSVRFQV9DTElFTlRfU0VDUkVUXG4gICAgICAtIF9BUFBfVkNTX0dJVEVBX1dFQkhPT0tfU0VDUkVUXG4gICAgICAtIF9BUFBfVkNTX0dJVExBQl9FTkRQT0lOVFxuICAgICAgLSBfQVBQX1ZDU19HSVRMQUJfQ0xJRU5UX0lEXG4gICAgICAtIF9BUFBfVkNTX0dJVExBQl9DTElFTlRfU0VDUkVUXG4gICAgICAtIF9BUFBfVkNTX0dJVExBQl9XRUJIT09LX1NFQ1JFVFxuICAgICAgLSBfQVBQX1ZDU19CSVRCVUNLRVRfQ0xJRU5UX0lEXG4gICAgICAtIF9BUFBfVkNTX0JJVEJVQ0tFVF9DTElFTlRfU0VDUkVUXG4gICAgICAtIF9BUFBfVkNTX0JJVEJVQ0tFVF9XRUJIT09LX1NFQ1JFVFxuICAgICAgLSBfQVBQX1ZDU19PUklHSU5fQ0xJRU5UX0lEXG4gICAgICAtIF9BUFBfVkNTX09SSUdJTl9QUklWQVRFX0tFWVxuICAgICAgLSBfQVBQX1ZDU19XRUJIT09LX1VSTFxuICAgICAgLSBfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX0lEXG4gICAgICAtIF9BUFBfTUlHUkFUSU9OU19GSVJFQkFTRV9DTElFTlRfU0VDUkVUXG4gICAgICAtIF9BUFBfQVNTSVNUQU5UX09QRU5BSV9BUElfS0VZXG4gICAgICAtIF9BUFBfQ09OU09MRV9DT1VOVFJJRVNfREVOWUxJU1RcbiAgICAgIC0gX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTXG4gICAgICAtIF9BUFBfREFUQUJBU0VfU0hBUkVEX05BTUVTUEFDRVxuICAgICAgLSBfQVBQX0ZVTkNUSU9OU19DUkVBVElPTl9BQlVTRV9MSU1JVFxuICAgICAgLSBfQVBQX0NVU1RPTV9ET01BSU5fREVOWV9MSVNUXG4gICAgICAtIF9BUFBfVFJVU1RFRF9IRUFERVJTXG4gICAgICAtIF9BUFBfTUlHUkFUSU9OX0hPU1RcbiAgICAgIC0gX0FQUF9HRU9fU0VDUkVUXG4gICAgICAtIF9BUFBfR0VPX0VORFBPSU5UXG4gICAgICAtIF9BUFBfUFdORURfUEFTU1dPUkRTX0RTTlxuICAgICAgLSBfQVBQX0xJTUlUX0RBVEFCQVNFX0JBVENIXG4gICAgICAtIF9BUFBfRE9DVU1FTlRTREJcbiAgICAgIC0gX0FQUF9WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9FTUJFRERJTkdcbiAgYXBwd3JpdGUtY29uc29sZTpcbiAgICBsb2dnaW5nOlxuICAgICAgZHJpdmVyOiBqc29uLWZpbGVcbiAgICAgIG9wdGlvbnM6XG4gICAgICAgIG1heC1maWxlOiBcIjVcIlxuICAgICAgICBtYXgtc2l6ZTogMTBtXG4gICAgaW1hZ2U6IGFwcHdyaXRlL25ldzoxLjEuMTU5LXNlbGYtaG9zdGVkXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gVklURV9DT05TT0xFX1BST0ZJTEU9c2VsZi1ob3N0ZWRcbiAgICAgIC0gQVBQV1JJVEVfRU5EUE9JTlRfU0FNRV9PUklHSU49dHJ1ZVxuICAgICAgLSBWSVRFX0dST1dUSF9FTkRQT0lOVD1odHRwczovL2dyb3d0aC5hcHB3cml0ZS5pby92MVxuICBhcHB3cml0ZS1yZWFsdGltZTpcbiAgICBlbnRyeXBvaW50OiByZWFsdGltZVxuICAgIGxvZ2dpbmc6XG4gICAgICBkcml2ZXI6IGpzb24tZmlsZVxuICAgICAgb3B0aW9uczpcbiAgICAgICAgbWF4LWZpbGU6IFwiNVwiXG4gICAgICAgIG1heC1zaXplOiAxMG1cbiAgICBpbWFnZTogYXBwd3JpdGUvYXBwd3JpdGU6Mi4zLjBcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGRlcGVuZHNfb246XG4gICAgICAtICR7X0FQUF9EQl9IT1NUOi1wb3N0Z3Jlc3FsfVxuICAgICAgLSByZWRpc1xuICAgIGVudmlyb25tZW50OlxuICAgICAgLSBfQVBQX0VOVlxuICAgICAgLSBfQVBQX1VTQUdFX1NUQVRTXG4gICAgICAtIF9BUFBfU1RBVFNfVVNBR0VfUVVFVUVfTkFNRVxuICAgICAgLSBfQVBQX1dPUktFUl9QRVJfQ09SRVxuICAgICAgLSBfQVBQX09QVElPTlNfQUJVU0VcbiAgICAgIC0gX0FQUF9PUFRJT05TX1JPVVRFUl9QUk9URUNUSU9OXG4gICAgICAtIF9BUFBfQ09OU09MRV9IT1NUTkFNRVNcbiAgICAgIC0gX0FQUF9SRUFMVElNRV9UQUlMX1JBVEVcbiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMVxuICAgICAgLSBfQVBQX1JFRElTX0hPU1RcbiAgICAgIC0gX0FQUF9SRURJU19QT1JUXG4gICAgICAtIF9BUFBfUkVESVNfVVNFUlxuICAgICAgLSBfQVBQX1JFRElTX1BBU1NcbiAgICAgIC0gX0FQUF9EQl9BREFQVEVSXG4gICAgICAtIF9BUFBfREJfSE9TVFxuICAgICAgLSBfQVBQX0RCX1BPUlRcbiAgICAgIC0gX0FQUF9EQl9TQ0hFTUFcbiAgICAgIC0gX0FQUF9EQl9VU0VSXG4gICAgICAtIF9BUFBfREJfUEFTU1xuICAgICAgLSBfQVBQX0RCX0FEQVBURVJfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfREJfSE9TVF9WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9EQl9QT1JUX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0RCX1NDSEVNQV9WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9EQl9VU0VSX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0RCX1BBU1NfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfREJfQURBUFRFUl9ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX0RCX0hPU1RfRE9DVU1FTlRTREJcbiAgICAgIC0gX0FQUF9EQl9QT1JUX0RPQ1VNRU5UU0RCXG4gICAgICAtIF9BUFBfREJfU0NIRU1BX0RPQ1VNRU5UU0RCXG4gICAgICAtIF9BUFBfREJfVVNFUl9ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX0RCX1BBU1NfRE9DVU1FTlRTREJcbiAgICAgIC0gX0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0xPR0dJTkdfQ09ORklHXG4gICAgICAtIF9BUFBfTE9HR0lOR19GT1JNQVRcbiAgICAgIC0gX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTXG4gICAgICAtIF9BUFBfTElNSVRfREFUQUJBU0VfQkFUQ0hcbiAgICAgIC0gX0FQUF9ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0VNQkVERElOR1xuXG4gIGFwcHdyaXRlLW1xdHQ6XG4gICAgZW50cnlwb2ludDogbXF0dFxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgbG9nZ2luZzpcbiAgICAgIGRyaXZlcjoganNvbi1maWxlXG4gICAgICBvcHRpb25zOlxuICAgICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgICAgbWF4LXNpemU6IDEwbVxuICAgIGltYWdlOiBhcHB3cml0ZS9hcHB3cml0ZToyLjMuMFxuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDpcbiAgICAgICAgLSBDTURcbiAgICAgICAgLSBwaHBcbiAgICAgICAgLSAtclxuICAgICAgICAtIFwiZXhpdChAZnNvY2tvcGVuKCcxMjcuMC4wLjEnLCAxODgzKSA/IDAgOiAxKTtcIlxuICAgICAgaW50ZXJ2YWw6IDVzXG4gICAgICB0aW1lb3V0OiA1c1xuICAgICAgcmV0cmllczogMjBcbiAgICAgIHN0YXJ0X3BlcmlvZDogMjBzXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIF9BUFBfRU5WXG4gICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFXG4gICAgICAtIF9BUFBfT1BUSU9OU19BQlVTRVxuICAgICAgLSBfQVBQX09QVElPTlNfUk9VVEVSX1BST1RFQ1RJT05cbiAgICAgIC0gX0FQUF9SRUFMVElNRV9UQUlMX1JBVEVcbiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMVxuICAgICAgLSBfQVBQX1JFRElTX0hPU1RcbiAgICAgIC0gX0FQUF9SRURJU19QT1JUXG4gICAgICAtIF9BUFBfUkVESVNfVVNFUlxuICAgICAgLSBfQVBQX1JFRElTX1BBU1NcbiAgICAgIC0gX0FQUF9EQl9BREFQVEVSXG4gICAgICAtIF9BUFBfREJfSE9TVFxuICAgICAgLSBfQVBQX0RCX1BPUlRcbiAgICAgIC0gX0FQUF9EQl9TQ0hFTUFcbiAgICAgIC0gX0FQUF9EQl9VU0VSXG4gICAgICAtIF9BUFBfREJfUEFTU1xuICAgICAgLSBfQVBQX0RCX0FEQVBURVJfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfREJfSE9TVF9WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9EQl9QT1JUX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0RCX1NDSEVNQV9WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9EQl9VU0VSX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0RCX1BBU1NfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfTE9HR0lOR19DT05GSUdcbiAgICAgIC0gX0FQUF9MT0dHSU5HX0ZPUk1BVFxuICAgICAgLSBfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVNcbiAgICAgIC0gX0FQUF9NUVRUX1JFUExBWV9ERVBUSFxuICAgICAgLSBfQVBQX01RVFRfV1NfUE9SVFxuICAgICAgLSBfQVBQX01RVFRfTUFYX1BBQ0tFVF9TSVpFXG5cbiAgYXBwd3JpdGUtd29ya2VyOlxuICAgIGVudHJ5cG9pbnQ6IHdvcmtlclxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgbG9nZ2luZzpcbiAgICAgIGRyaXZlcjoganNvbi1maWxlXG4gICAgICBvcHRpb25zOlxuICAgICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgICAgbWF4LXNpemU6IDEwbVxuICAgIGltYWdlOiBhcHB3cml0ZS9hcHB3cml0ZToyLjMuMFxuICAgIGRlcGVuZHNfb246XG4gICAgICAtIHJlZGlzXG4gICAgICAtICR7X0FQUF9EQl9IT1NUOi1wb3N0Z3Jlc3FsfVxuICAgIHZvbHVtZXM6XG4gICAgICAtIGFwcHdyaXRlLXVwbG9hZHM6L3N0b3JhZ2UvdXBsb2Fkczpyd1xuICAgICAgLSBhcHB3cml0ZS1jYWNoZTovc3RvcmFnZS9jYWNoZTpyd1xuICAgICAgLSBhcHB3cml0ZS1mdW5jdGlvbnM6L3N0b3JhZ2UvZnVuY3Rpb25zOnJ3XG4gICAgICAtIGFwcHdyaXRlLXNpdGVzOi9zdG9yYWdlL3NpdGVzOnJ3XG4gICAgICAtIGFwcHdyaXRlLWJ1aWxkczovc3RvcmFnZS9idWlsZHM6cndcbiAgICAgIC0gYXBwd3JpdGUtY2VydGlmaWNhdGVzOi9zdG9yYWdlL2NlcnRpZmljYXRlczpyd1xuICAgICAgLSBhcHB3cml0ZS1jb25maWc6L3N0b3JhZ2UvY29uZmlnOnJ3XG4gICAgICAtIGFwcHdyaXRlLWltcG9ydHM6L3N0b3JhZ2UvaW1wb3J0czpyd1xuICAgIGV4dHJhX2hvc3RzOlxuICAgICAgLSBob3N0LmRvY2tlci5pbnRlcm5hbDpob3N0LWdhdGV3YXlcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gX0FQUF9FTlZcbiAgICAgIC0gX0FQUF9VU0FHRV9TVEFUU1xuICAgICAgLSBfQVBQX1VTQUdFX1BBU1NcbiAgICAgIC0gX0FQUF9DT05ORUNUSU9OU19EQl9VU0FHRVxuICAgICAgLSBfQVBQX1BPT0xfU0laRV9VU0FHRVxuICAgICAgLSBfQVBQX0NPTk5FQ1RJT05TX0RCX0VYRUNVVElPTlNcbiAgICAgIC0gX0FQUF9QT09MX1NJWkVfRVhFQ1VUSU9OU1xuICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9VU0FHRV9UVExcbiAgICAgIC0gX0FQUF9TVEFUU19VU0FHRV9RVUVVRV9OQU1FXG4gICAgICAtIF9BUFBfU1RBVFNfUkVTT1VSQ0VTX1FVRVVFX05BTUVcbiAgICAgIC0gX0FQUF9TVEFUU19SRVNPVVJDRVNfSU5URVJWQUxcbiAgICAgIC0gX0FQUF9XT1JLRVJTX05VTT0xXG4gICAgICAjIFBvb2wgc2l6aW5nIG9ubHkgKHN1bSBvZiBwZXItcXVldWUgY2FwcykuIEVhY2ggcXVldWUga2VlcHMgaXRzIG93biBtYXhDb3JvdXRpbmVzIGluIFBIUDsgZGF0YWJhc2VzIHN0YXlzIGF0IDEuXG4gICAgICAtIF9BUFBfV09SS0VSX01BWF9DT1JPVVRJTkVTPTc4XG4gICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFXG4gICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjFcbiAgICAgIC0gX0FQUF9FTUFJTF9TRUNVUklUWVxuICAgICAgLSBfQVBQX0VNQUlMX0NFUlRJRklDQVRFU1xuICAgICAgLSBfQVBQX0RCX0FEQVBURVJcbiAgICAgIC0gX0FQUF9EQl9IT1NUXG4gICAgICAtIF9BUFBfREJfUE9SVFxuICAgICAgLSBfQVBQX0RCX1NDSEVNQVxuICAgICAgLSBfQVBQX0RCX1VTRVJcbiAgICAgIC0gX0FQUF9EQl9QQVNTXG4gICAgICAtIF9BUFBfREJfQURBUFRFUl9WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9EQl9IT1NUX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0RCX1BPUlRfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfREJfU0NIRU1BX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0RCX1VTRVJfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfREJfUEFTU19WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9EQl9BREFQVEVSX0RPQ1VNRU5UU0RCXG4gICAgICAtIF9BUFBfREJfSE9TVF9ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX0RCX1BPUlRfRE9DVU1FTlRTREJcbiAgICAgIC0gX0FQUF9EQl9TQ0hFTUFfRE9DVU1FTlRTREJcbiAgICAgIC0gX0FQUF9EQl9VU0VSX0RPQ1VNRU5UU0RCXG4gICAgICAtIF9BUFBfREJfUEFTU19ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX0RPQ1VNRU5UU0RCXG4gICAgICAtIF9BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfUkVESVNfSE9TVFxuICAgICAgLSBfQVBQX1JFRElTX1BPUlRcbiAgICAgIC0gX0FQUF9SRURJU19VU0VSXG4gICAgICAtIF9BUFBfUkVESVNfUEFTU1xuICAgICAgLSBfQVBQX0xPR0dJTkdfQ09ORklHXG4gICAgICAtIF9BUFBfTE9HR0lOR19GT1JNQVRcbiAgICAgIC0gX0FQUF9RVUVVRV9OQU1FXG4gICAgICAtIF9BUFBfREFUQUJBU0VfU0hBUkVEX1RBQkxFU1xuICAgICAgLSBfQVBQX0NPTlNPTEVfVVJMXG4gICAgICAtIF9BUFBfQ09OU09MRV9ET01BSU5cbiAgICAgIC0gX0FQUF9DT05TT0xFX1RSVVNURURfUFJPSkVDVFNcbiAgICAgIC0gX0FQUF9ET01BSU5cbiAgICAgIC0gX0FQUF9ET01BSU5fVEFSR0VUX0NOQU1FXG4gICAgICAtIF9BUFBfRE9NQUlOX1RBUkdFVF9BQUFBXG4gICAgICAtIF9BUFBfRE9NQUlOX1RBUkdFVF9BXG4gICAgICAtIF9BUFBfRE9NQUlOX1RBUkdFVF9DQUFcbiAgICAgIC0gX0FQUF9ETlNcbiAgICAgIC0gX0FQUF9ET01BSU5fRlVOQ1RJT05TXG4gICAgICAtIF9BUFBfRE9NQUlOX1NJVEVTXG4gICAgICAtIF9BUFBfT1BUSU9OU19GT1JDRV9IVFRQU1xuICAgICAgLSBfQVBQX09QVElPTlNfUk9VVEVSX0ZPUkNFX0hUVFBTXG4gICAgICAtIF9BUFBfV0VCSE9PS19NQVhfRkFJTEVEX0FUVEVNUFRTXG4gICAgICAtIF9BUFBfU1RPUkFHRV9ERVZJQ0VcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX0FDQ0VTU19LRVlcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX1NFQ1JFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfUkVHSU9OXG4gICAgICAtIF9BUFBfU1RPUkFHRV9TM19CVUNLRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX0VORFBPSU5UXG4gICAgICAtIF9BUFBfU1RPUkFHRV9ET19TUEFDRVNfQUNDRVNTX0tFWVxuICAgICAgLSBfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1NFQ1JFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1JFR0lPTlxuICAgICAgLSBfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0JVQ0tFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0FDQ0VTU19LRVlcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9TRUNSRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9SRUdJT05cbiAgICAgIC0gX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9CVUNLRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0xJTk9ERV9BQ0NFU1NfS0VZXG4gICAgICAtIF9BUFBfU1RPUkFHRV9MSU5PREVfU0VDUkVUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9MSU5PREVfUkVHSU9OXG4gICAgICAtIF9BUFBfU1RPUkFHRV9MSU5PREVfQlVDS0VUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9XQVNBQklfQUNDRVNTX0tFWVxuICAgICAgLSBfQVBQX1NUT1JBR0VfV0FTQUJJX1NFQ1JFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfV0FTQUJJX1JFR0lPTlxuICAgICAgLSBfQVBQX1NUT1JBR0VfV0FTQUJJX0JVQ0tFVFxuICAgICAgLSBfQVBQX0VYRUNVVE9SX1NFQ1JFVFxuICAgICAgLSBfQVBQX0VYRUNVVE9SX0hPU1RcbiAgICAgIC0gX0FQUF9ET0NLRVJfSFVCX1VTRVJOQU1FXG4gICAgICAtIF9BUFBfRE9DS0VSX0hVQl9QQVNTV09SRFxuICAgICAgLSBfQVBQX0ZVTkNUSU9OU19USU1FT1VUXG4gICAgICAtIF9BUFBfU0lURVNfVElNRU9VVFxuICAgICAgLSBfQVBQX0NPTVBVVEVfQlVJTERfVElNRU9VVFxuICAgICAgLSBfQVBQX0NPTVBVVEVfQ1BVU1xuICAgICAgLSBfQVBQX0NPTVBVVEVfTUVNT1JZXG4gICAgICAtIF9BUFBfT1BFTl9SVU5USU1FU19ORlRcbiAgICAgIC0gX0FQUF9DT01QVVRFX1NJWkVfTElNSVRcbiAgICAgIC0gX0FQUF9DT01QVVRFX0JVSUxEX1NJWkVfTElNSVRcbiAgICAgIC0gX0FQUF9WQ1NfR0lUSFVCX0FQUF9OQU1FXG4gICAgICAtIF9BUFBfVkNTX0dJVEhVQl9QUklWQVRFX0tFWVxuICAgICAgLSBfQVBQX1ZDU19HSVRIVUJfQVBQX0lEXG4gICAgICAtIF9BUFBfVkNTX0dJVEVBX0VORFBPSU5UXG4gICAgICAtIF9BUFBfVkNTX0dJVEVBX0JST1dTRVJfRU5EUE9JTlRcbiAgICAgIC0gX0FQUF9WQ1NfR0lURUFfQ0xJRU5UX0lEXG4gICAgICAtIF9BUFBfVkNTX0dJVEVBX0NMSUVOVF9TRUNSRVRcbiAgICAgIC0gX0FQUF9WQ1NfR0lURUFfV0VCSE9PS19TRUNSRVRcbiAgICAgIC0gX0FQUF9WQ1NfR0lUTEFCX0VORFBPSU5UXG4gICAgICAtIF9BUFBfVkNTX0dJVExBQl9DTElFTlRfSURcbiAgICAgIC0gX0FQUF9WQ1NfR0lUTEFCX0NMSUVOVF9TRUNSRVRcbiAgICAgIC0gX0FQUF9WQ1NfR0lUTEFCX1dFQkhPT0tfU0VDUkVUXG4gICAgICAtIF9BUFBfVkNTX0JJVEJVQ0tFVF9DTElFTlRfSURcbiAgICAgIC0gX0FQUF9WQ1NfQklUQlVDS0VUX0NMSUVOVF9TRUNSRVRcbiAgICAgIC0gX0FQUF9WQ1NfQklUQlVDS0VUX1dFQkhPT0tfU0VDUkVUXG4gICAgICAtIF9BUFBfVkNTX09SSUdJTl9DTElFTlRfSURcbiAgICAgIC0gX0FQUF9WQ1NfT1JJR0lOX1BSSVZBVEVfS0VZXG4gICAgICAtIF9BUFBfVkNTX1dFQkhPT0tfVVJMXG4gICAgICAtIF9BUFBfQlVJTERTX1ZPTFVNRVxuICAgICAgLSBfQVBQX0pPQlNfSE9TVFxuICAgICAgLSBfQVBQX0pPQlNfU0VDUkVUXG4gICAgICAtIF9BUFBfSk9CU19FTkRQT0lOVFxuICAgICAgLSBfQVBQX0JST1dTRVJfSE9TVFxuICAgICAgLSBfQVBQX1dPUktFUl9TQ1JFRU5TSE9UU19ST1VURVJcbiAgICAgIC0gX0FQUF9OT1RJRklDQVRJT05TX1RSQUNLSU5HX1NFQ1JFVFxuICAgICAgLSBfQVBQX1NZU1RFTV9FTUFJTF9OQU1FXG4gICAgICAtIF9BUFBfU1lTVEVNX0VNQUlMX0FERFJFU1NcbiAgICAgIC0gX0FQUF9TTVRQX0hPU1RcbiAgICAgIC0gX0FQUF9TTVRQX1BPUlRcbiAgICAgIC0gX0FQUF9TTVRQX1NFQ1VSRVxuICAgICAgLSBfQVBQX1NNVFBfVVNFUk5BTUVcbiAgICAgIC0gX0FQUF9TTVRQX1BBU1NXT1JEXG4gICAgICAtIF9BUFBfU01TX0ZST01cbiAgICAgIC0gX0FQUF9TTVNfUFJPVklERVJcbiAgICAgIC0gX0FQUF9TTVNfUFJPSkVDVFNfREVOWV9MSVNUXG4gICAgICAtIF9BUFBfTUlHUkFUSU9OU19GSVJFQkFTRV9DTElFTlRfSURcbiAgICAgIC0gX0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9TRUNSRVRcbiAgICAgIC0gX0FQUF9NSUdSQVRJT05fSE9TVFxuICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVFxuICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVF9DT05TT0xFXG4gICAgICAtIF9BUFBfTElNSVRfREFUQUJBU0VfQkFUQ0hcbiAgICAgIC0gX0FQUF9ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0VNQkVERElOR1xuXG4gIGFwcHdyaXRlLXRhc2stc2NoZWR1bGVyOlxuICAgIGVudHJ5cG9pbnQ6IHNjaGVkdWxlXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBsb2dnaW5nOlxuICAgICAgZHJpdmVyOiBqc29uLWZpbGVcbiAgICAgIG9wdGlvbnM6XG4gICAgICAgIG1heC1maWxlOiBcIjVcIlxuICAgICAgICBtYXgtc2l6ZTogMTBtXG4gICAgaW1hZ2U6IGFwcHdyaXRlL2FwcHdyaXRlOjIuMy4wXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIC0gJHtfQVBQX0RCX0hPU1Q6LXBvc3RncmVzcWx9XG4gICAgICAtIHJlZGlzXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIF9BUFBfRU5WXG4gICAgICAtIF9BUFBfVVNBR0VfU1RBVFNcbiAgICAgIC0gX0FQUF9VU0FHRV9QQVNTXG4gICAgICAtIF9BUFBfQ09OTkVDVElPTlNfREJfVVNBR0VcbiAgICAgIC0gX0FQUF9QT09MX1NJWkVfVVNBR0VcbiAgICAgIC0gX0FQUF9DT05ORUNUSU9OU19EQl9FWEVDVVRJT05TXG4gICAgICAtIF9BUFBfUE9PTF9TSVpFX0VYRUNVVElPTlNcbiAgICAgIC0gX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfVFRMXG4gICAgICAtIF9BUFBfU1RBVFNfVVNBR0VfUVVFVUVfTkFNRVxuICAgICAgLSBfQVBQX1NUQVRTX1JFU09VUkNFU19RVUVVRV9OQU1FXG4gICAgICAtIF9BUFBfU1RBVFNfUkVTT1VSQ0VTX0lOVEVSVkFMXG4gICAgICAtIF9BUFBfTE9HR0lOR19GT1JNQVRcbiAgICAgICMgQ29tYmluZWQgbW9kZSBydW5zIGZ1bmN0aW9ucy9leGVjdXRpb25zL21lc3NhZ2VzIHRpbWVycyArIGVucXVldWUgY29yb3V0aW5lc1xuICAgICAgIyBhZ2FpbnN0IHNoYXJlZCBjb25zb2xlL2NhY2hlIHBvb2xzOyBmbG9vciBtdXN0IGNvdmVyIGNvbmN1cnJlbnQgdGlja3MuXG4gICAgICAtIF9BUFBfV09SS0VSX01BWF9DT1JPVVRJTkVTPThcbiAgICAgIC0gX0FQUF9XT1JLRVJfUEVSX0NPUkVcbiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMVxuICAgICAgLSBfQVBQX09QVElPTlNfRk9SQ0VfSFRUUFNcbiAgICAgIC0gX0FQUF9ET01BSU5cbiAgICAgIC0gX0FQUF9DT05TT0xFX0RPTUFJTlxuICAgICAgLSBfQVBQX0NPTlNPTEVfU0NIRU1BXG4gICAgICAtIF9BUFBfRE9NQUlOX0ZVTkNUSU9OU1xuICAgICAgLSBfQVBQX0RPTUFJTl9TSVRFU1xuICAgICAgLSBfQVBQX01JR1JBVElPTl9IT1NUXG4gICAgICAtIF9BUFBfUkVESVNfSE9TVFxuICAgICAgLSBfQVBQX1JFRElTX1BPUlRcbiAgICAgIC0gX0FQUF9SRURJU19VU0VSXG4gICAgICAtIF9BUFBfUkVESVNfUEFTU1xuICAgICAgLSBfQVBQX0RCX0FEQVBURVJcbiAgICAgIC0gX0FQUF9EQl9IT1NUXG4gICAgICAtIF9BUFBfREJfUE9SVFxuICAgICAgLSBfQVBQX0RCX1NDSEVNQVxuICAgICAgLSBfQVBQX0RCX1VTRVJcbiAgICAgIC0gX0FQUF9EQl9QQVNTXG4gICAgICAtIF9BUFBfREFUQUJBU0VfU0hBUkVEX1RBQkxFU1xuICAgICAgLSBfQVBQX0ZVTkNUSU9OU19TQ0hFRFVMRV9TUFJFQURcblxuICBhcHB3cml0ZS13b3JrZXItc3RhdHMtdXNhZ2U6XG4gICAgcHJvZmlsZXM6XG4gICAgICAtIHNlcGFyYXRlXG4gICAgZXh0ZW5kczpcbiAgICAgIHNlcnZpY2U6IGFwcHdyaXRlLXdvcmtlclxuICAgIGVudHJ5cG9pbnQ6IHdvcmtlci1zdGF0cy11c2FnZVxuXG4gIGFwcHdyaXRlLXdvcmtlci1zdGF0cy1yZXNvdXJjZXM6XG4gICAgcHJvZmlsZXM6XG4gICAgICAtIHNlcGFyYXRlXG4gICAgZXh0ZW5kczpcbiAgICAgIHNlcnZpY2U6IGFwcHdyaXRlLXdvcmtlclxuICAgIGVudHJ5cG9pbnQ6IHdvcmtlci1zdGF0cy1yZXNvdXJjZXNcblxuICBhcHB3cml0ZS10YXNrLXN0YXRzLXJlc291cmNlczpcbiAgICBwcm9maWxlczpcbiAgICAgIC0gc2VwYXJhdGVcbiAgICBleHRlbmRzOlxuICAgICAgc2VydmljZTogYXBwd3JpdGUtdGFzay1zY2hlZHVsZXJcbiAgICBlbnRyeXBvaW50OiBzdGF0cy1yZXNvdXJjZXNcblxuICBhcHB3cml0ZS13b3JrZXItd2ViaG9va3M6XG4gICAgcHJvZmlsZXM6XG4gICAgICAtIHNlcGFyYXRlXG4gICAgZW50cnlwb2ludDogd29ya2VyLXdlYmhvb2tzXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBsb2dnaW5nOlxuICAgICAgZHJpdmVyOiBqc29uLWZpbGVcbiAgICAgIG9wdGlvbnM6XG4gICAgICAgIG1heC1maWxlOiBcIjVcIlxuICAgICAgICBtYXgtc2l6ZTogMTBtXG4gICAgaW1hZ2U6IGFwcHdyaXRlL2FwcHdyaXRlOjIuMy4wXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIC0gcmVkaXNcbiAgICAgIC0gJHtfQVBQX0RCX0hPU1Q6LXBvc3RncmVzcWx9XG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIF9BUFBfRU5WXG4gICAgICAtIF9BUFBfV09SS0VSU19OVU09MVxuICAgICAgLSBfQVBQX1dPUktFUl9NQVhfQ09ST1VUSU5FUz04XG4gICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFXG4gICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjFcbiAgICAgIC0gX0FQUF9FTUFJTF9TRUNVUklUWVxuICAgICAgLSBfQVBQX0RCX0FEQVBURVJcbiAgICAgIC0gX0FQUF9EQl9IT1NUXG4gICAgICAtIF9BUFBfREJfUE9SVFxuICAgICAgLSBfQVBQX0RCX1NDSEVNQVxuICAgICAgLSBfQVBQX0RCX1VTRVJcbiAgICAgIC0gX0FQUF9EQl9QQVNTXG4gICAgICAtIF9BUFBfUkVESVNfSE9TVFxuICAgICAgLSBfQVBQX1JFRElTX1BPUlRcbiAgICAgIC0gX0FQUF9SRURJU19VU0VSXG4gICAgICAtIF9BUFBfUkVESVNfUEFTU1xuICAgICAgLSBfQVBQX0xPR0dJTkdfQ09ORklHXG4gICAgICAtIF9BUFBfTE9HR0lOR19GT1JNQVRcbiAgICAgIC0gX0FQUF9XRUJIT09LX01BWF9GQUlMRURfQVRURU1QVFNcbiAgICAgIC0gX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTXG4gICAgICAtIF9BUFBfQ09OU09MRV9VUkxcbiAgYXBwd3JpdGUtd29ya2VyLWRlbGV0ZXM6XG4gICAgcHJvZmlsZXM6XG4gICAgICAtIHNlcGFyYXRlXG4gICAgZW50cnlwb2ludDogd29ya2VyLWRlbGV0ZXNcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGxvZ2dpbmc6XG4gICAgICBkcml2ZXI6IGpzb24tZmlsZVxuICAgICAgb3B0aW9uczpcbiAgICAgICAgbWF4LWZpbGU6IFwiNVwiXG4gICAgICAgIG1heC1zaXplOiAxMG1cbiAgICBpbWFnZTogYXBwd3JpdGUvYXBwd3JpdGU6Mi4zLjBcbiAgICBkZXBlbmRzX29uOlxuICAgICAgLSByZWRpc1xuICAgICAgLSAke19BUFBfREJfSE9TVDotcG9zdGdyZXNxbH1cbiAgICB2b2x1bWVzOlxuICAgICAgLSBhcHB3cml0ZS11cGxvYWRzOi9zdG9yYWdlL3VwbG9hZHM6cndcbiAgICAgIC0gYXBwd3JpdGUtY2FjaGU6L3N0b3JhZ2UvY2FjaGU6cndcbiAgICAgIC0gYXBwd3JpdGUtZnVuY3Rpb25zOi9zdG9yYWdlL2Z1bmN0aW9uczpyd1xuICAgICAgLSBhcHB3cml0ZS1zaXRlczovc3RvcmFnZS9zaXRlczpyd1xuICAgICAgLSBhcHB3cml0ZS1idWlsZHM6L3N0b3JhZ2UvYnVpbGRzOnJ3XG4gICAgICAtIGFwcHdyaXRlLWNlcnRpZmljYXRlczovc3RvcmFnZS9jZXJ0aWZpY2F0ZXM6cndcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gX0FQUF9FTlZcbiAgICAgIC0gX0FQUF9VU0FHRV9QQVNTXG4gICAgICAtIF9BUFBfQ09OTkVDVElPTlNfREJfVVNBR0VcbiAgICAgIC0gX0FQUF9DT05ORUNUSU9OU19EQl9FWEVDVVRJT05TXG4gICAgICAtIF9BUFBfUE9PTF9TSVpFX0VYRUNVVElPTlNcbiAgICAgIC0gX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fRVhFQ1VUSU9OXG4gICAgICAtIF9BUFBfV09SS0VSU19OVU09MVxuICAgICAgLSBfQVBQX1dPUktFUl9NQVhfQ09ST1VUSU5FUz04XG4gICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFXG4gICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjFcbiAgICAgIC0gX0FQUF9SRURJU19IT1NUXG4gICAgICAtIF9BUFBfUkVESVNfUE9SVFxuICAgICAgLSBfQVBQX1JFRElTX1VTRVJcbiAgICAgIC0gX0FQUF9SRURJU19QQVNTXG4gICAgICAtIF9BUFBfREJfQURBUFRFUlxuICAgICAgLSBfQVBQX0RCX0hPU1RcbiAgICAgIC0gX0FQUF9EQl9QT1JUXG4gICAgICAtIF9BUFBfREJfU0NIRU1BXG4gICAgICAtIF9BUFBfREJfVVNFUlxuICAgICAgLSBfQVBQX0RCX1BBU1NcbiAgICAgIC0gX0FQUF9EQl9BREFQVEVSX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0RCX0hPU1RfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfREJfUE9SVF9WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9EQl9TQ0hFTUFfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfREJfVVNFUl9WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9EQl9QQVNTX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0RCX0FEQVBURVJfRE9DVU1FTlRTREJcbiAgICAgIC0gX0FQUF9EQl9IT1NUX0RPQ1VNRU5UU0RCXG4gICAgICAtIF9BUFBfREJfUE9SVF9ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX0RCX1NDSEVNQV9ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX0RCX1VTRVJfRE9DVU1FTlRTREJcbiAgICAgIC0gX0FQUF9EQl9QQVNTX0RPQ1VNRU5UU0RCXG4gICAgICAtIF9BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfRE9DVU1FTlRTREJcbiAgICAgIC0gX0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0RFVklDRVxuICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfQUNDRVNTX0tFWVxuICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfU0VDUkVUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9TM19SRUdJT05cbiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX0JVQ0tFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfRU5EUE9JTlRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19BQ0NFU1NfS0VZXG4gICAgICAtIF9BUFBfU1RPUkFHRV9ET19TUEFDRVNfU0VDUkVUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9ET19TUEFDRVNfUkVHSU9OXG4gICAgICAtIF9BUFBfU1RPUkFHRV9ET19TUEFDRVNfQlVDS0VUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQUNDRVNTX0tFWVxuICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1NFQ1JFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1JFR0lPTlxuICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0JVQ0tFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfTElOT0RFX0FDQ0VTU19LRVlcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0xJTk9ERV9TRUNSRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0xJTk9ERV9SRUdJT05cbiAgICAgIC0gX0FQUF9TVE9SQUdFX0xJTk9ERV9CVUNLRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1dBU0FCSV9BQ0NFU1NfS0VZXG4gICAgICAtIF9BUFBfU1RPUkFHRV9XQVNBQklfU0VDUkVUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9XQVNBQklfUkVHSU9OXG4gICAgICAtIF9BUFBfU1RPUkFHRV9XQVNBQklfQlVDS0VUXG4gICAgICAtIF9BUFBfTE9HR0lOR19DT05GSUdcbiAgICAgIC0gX0FQUF9MT0dHSU5HX0ZPUk1BVFxuICAgICAgLSBfQVBQX0VYRUNVVE9SX1NFQ1JFVFxuICAgICAgLSBfQVBQX0VYRUNVVE9SX0hPU1RcbiAgICAgIC0gX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTXG4gICAgICAtIF9BUFBfRU1BSUxfQ0VSVElGSUNBVEVTXG4gICAgICAtIF9BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUXG4gICAgICAtIF9BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUX0NPTlNPTEVcbiAgYXBwd3JpdGUtd29ya2VyLWRhdGFiYXNlczpcbiAgICBwcm9maWxlczpcbiAgICAgIC0gc2VwYXJhdGVcbiAgICBlbnRyeXBvaW50OiB3b3JrZXItZGF0YWJhc2VzXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBsb2dnaW5nOlxuICAgICAgZHJpdmVyOiBqc29uLWZpbGVcbiAgICAgIG9wdGlvbnM6XG4gICAgICAgIG1heC1maWxlOiBcIjVcIlxuICAgICAgICBtYXgtc2l6ZTogMTBtXG4gICAgaW1hZ2U6IGFwcHdyaXRlL2FwcHdyaXRlOjIuMy4wXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIC0gcmVkaXNcbiAgICAgIC0gJHtfQVBQX0RCX0hPU1Q6LXBvc3RncmVzcWx9XG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIF9BUFBfRU5WXG4gICAgICAtIF9BUFBfV09SS0VSU19OVU09MVxuICAgICAgLSBfQVBQX1dPUktFUl9NQVhfQ09ST1VUSU5FUz0xXG4gICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFXG4gICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjFcbiAgICAgIC0gX0FQUF9SRURJU19IT1NUXG4gICAgICAtIF9BUFBfUkVESVNfUE9SVFxuICAgICAgLSBfQVBQX1JFRElTX1VTRVJcbiAgICAgIC0gX0FQUF9SRURJU19QQVNTXG4gICAgICAtIF9BUFBfREJfQURBUFRFUlxuICAgICAgLSBfQVBQX0RCX0hPU1RcbiAgICAgIC0gX0FQUF9EQl9QT1JUXG4gICAgICAtIF9BUFBfREJfU0NIRU1BXG4gICAgICAtIF9BUFBfREJfVVNFUlxuICAgICAgLSBfQVBQX0RCX1BBU1NcbiAgICAgIC0gX0FQUF9EQl9BREFQVEVSX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0RCX0hPU1RfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfREJfUE9SVF9WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9EQl9TQ0hFTUFfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfREJfVVNFUl9WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9EQl9QQVNTX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0RCX0FEQVBURVJfRE9DVU1FTlRTREJcbiAgICAgIC0gX0FQUF9EQl9IT1NUX0RPQ1VNRU5UU0RCXG4gICAgICAtIF9BUFBfREJfUE9SVF9ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX0RCX1NDSEVNQV9ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX0RCX1VTRVJfRE9DVU1FTlRTREJcbiAgICAgIC0gX0FQUF9EQl9QQVNTX0RPQ1VNRU5UU0RCXG4gICAgICAtIF9BUFBfQ09OTkVDVElPTlNfREFUQUJBU0VfRE9DVU1FTlRTREJcbiAgICAgIC0gX0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9MT0dHSU5HX0NPTkZJR1xuICAgICAgLSBfQVBQX0xPR0dJTkdfRk9STUFUXG4gICAgICAtIF9BUFBfUVVFVUVfTkFNRVxuICAgICAgLSBfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVNcbiAgICAgIC0gX0FQUF9MSU1JVF9EQVRBQkFTRV9CQVRDSFxuICAgICAgLSBfQVBQX0RPQ1VNRU5UU0RCXG4gICAgICAtIF9BUFBfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfRU1CRURESU5HXG4gIGFwcHdyaXRlLXdvcmtlci1idWlsZHM6XG4gICAgcHJvZmlsZXM6XG4gICAgICAtIHNlcGFyYXRlXG4gICAgZW50cnlwb2ludDogd29ya2VyLWJ1aWxkc1xuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgbG9nZ2luZzpcbiAgICAgIGRyaXZlcjoganNvbi1maWxlXG4gICAgICBvcHRpb25zOlxuICAgICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgICAgbWF4LXNpemU6IDEwbVxuICAgIGltYWdlOiBhcHB3cml0ZS9hcHB3cml0ZToyLjMuMFxuICAgIHZvbHVtZXM6XG4gICAgICAtIGFwcHdyaXRlLWZ1bmN0aW9uczovc3RvcmFnZS9mdW5jdGlvbnM6cndcbiAgICAgIC0gYXBwd3JpdGUtc2l0ZXM6L3N0b3JhZ2Uvc2l0ZXM6cndcbiAgICAgIC0gYXBwd3JpdGUtYnVpbGRzOi9zdG9yYWdlL2J1aWxkczpyd1xuICAgIGRlcGVuZHNfb246XG4gICAgICAtIHJlZGlzXG4gICAgICAtICR7X0FQUF9EQl9IT1NUOi1wb3N0Z3Jlc3FsfVxuICAgIGVudmlyb25tZW50OlxuICAgICAgLSBfQVBQX0VOVlxuICAgICAgLSBfQVBQX1dPUktFUlNfTlVNPTFcbiAgICAgIC0gX0FQUF9XT1JLRVJfTUFYX0NPUk9VVElORVM9OFxuICAgICAgLSBfQVBQX1dPUktFUl9QRVJfQ09SRVxuICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxXG4gICAgICAtIF9BUFBfRVhFQ1VUT1JfU0VDUkVUXG4gICAgICAtIF9BUFBfRVhFQ1VUT1JfSE9TVFxuICAgICAgLSBfQVBQX1JFRElTX0hPU1RcbiAgICAgIC0gX0FQUF9SRURJU19QT1JUXG4gICAgICAtIF9BUFBfUkVESVNfVVNFUlxuICAgICAgLSBfQVBQX1JFRElTX1BBU1NcbiAgICAgIC0gX0FQUF9EQl9BREFQVEVSXG4gICAgICAtIF9BUFBfREJfSE9TVFxuICAgICAgLSBfQVBQX0RCX1BPUlRcbiAgICAgIC0gX0FQUF9EQl9TQ0hFTUFcbiAgICAgIC0gX0FQUF9EQl9VU0VSXG4gICAgICAtIF9BUFBfREJfUEFTU1xuICAgICAgLSBfQVBQX0xPR0dJTkdfQ09ORklHXG4gICAgICAtIF9BUFBfTE9HR0lOR19GT1JNQVRcbiAgICAgIC0gX0FQUF9WQ1NfR0lUSFVCX0FQUF9OQU1FXG4gICAgICAtIF9BUFBfVkNTX0dJVEhVQl9QUklWQVRFX0tFWVxuICAgICAgLSBfQVBQX1ZDU19HSVRIVUJfQVBQX0lEXG4gICAgICAtIF9BUFBfVkNTX0dJVEVBX0VORFBPSU5UXG4gICAgICAtIF9BUFBfVkNTX0dJVEVBX0JST1dTRVJfRU5EUE9JTlRcbiAgICAgIC0gX0FQUF9WQ1NfR0lURUFfQ0xJRU5UX0lEXG4gICAgICAtIF9BUFBfVkNTX0dJVEVBX0NMSUVOVF9TRUNSRVRcbiAgICAgIC0gX0FQUF9WQ1NfR0lURUFfV0VCSE9PS19TRUNSRVRcbiAgICAgIC0gX0FQUF9WQ1NfR0lUTEFCX0VORFBPSU5UXG4gICAgICAtIF9BUFBfVkNTX0dJVExBQl9DTElFTlRfSURcbiAgICAgIC0gX0FQUF9WQ1NfR0lUTEFCX0NMSUVOVF9TRUNSRVRcbiAgICAgIC0gX0FQUF9WQ1NfR0lUTEFCX1dFQkhPT0tfU0VDUkVUXG4gICAgICAtIF9BUFBfVkNTX0JJVEJVQ0tFVF9DTElFTlRfSURcbiAgICAgIC0gX0FQUF9WQ1NfQklUQlVDS0VUX0NMSUVOVF9TRUNSRVRcbiAgICAgIC0gX0FQUF9WQ1NfQklUQlVDS0VUX1dFQkhPT0tfU0VDUkVUXG4gICAgICAtIF9BUFBfVkNTX09SSUdJTl9DTElFTlRfSURcbiAgICAgIC0gX0FQUF9WQ1NfT1JJR0lOX1BSSVZBVEVfS0VZXG4gICAgICAtIF9BUFBfVkNTX1dFQkhPT0tfVVJMXG4gICAgICAtIF9BUFBfRlVOQ1RJT05TX1RJTUVPVVRcbiAgICAgIC0gX0FQUF9TSVRFU19USU1FT1VUXG4gICAgICAtIF9BUFBfQ09NUFVURV9CVUlMRF9USU1FT1VUXG4gICAgICAtIF9BUFBfQ09NUFVURV9DUFVTXG4gICAgICAtIF9BUFBfQ09NUFVURV9NRU1PUllcbiAgICAgIC0gX0FQUF9PUEVOX1JVTlRJTUVTX05GVFxuICAgICAgLSBfQVBQX0NPTVBVVEVfU0laRV9MSU1JVFxuICAgICAgLSBfQVBQX0NPTVBVVEVfQlVJTERfU0laRV9MSU1JVFxuICAgICAgLSBfQVBQX09QVElPTlNfRk9SQ0VfSFRUUFNcbiAgICAgIC0gX0FQUF9PUFRJT05TX1JPVVRFUl9GT1JDRV9IVFRQU1xuICAgICAgLSBfQVBQX0RPTUFJTlxuICAgICAgLSBfQVBQX0NPTlNPTEVfRE9NQUlOXG4gICAgICAtIF9BUFBfQ09OU09MRV9VUkxcbiAgICAgIC0gX0FQUF9DT05TT0xFX1RSVVNURURfUFJPSkVDVFNcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0RFVklDRVxuICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfQUNDRVNTX0tFWVxuICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfU0VDUkVUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9TM19SRUdJT05cbiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX0JVQ0tFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfRU5EUE9JTlRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19BQ0NFU1NfS0VZXG4gICAgICAtIF9BUFBfU1RPUkFHRV9ET19TUEFDRVNfU0VDUkVUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9ET19TUEFDRVNfUkVHSU9OXG4gICAgICAtIF9BUFBfU1RPUkFHRV9ET19TUEFDRVNfQlVDS0VUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQUNDRVNTX0tFWVxuICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1NFQ1JFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1JFR0lPTlxuICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0JVQ0tFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfTElOT0RFX0FDQ0VTU19LRVlcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0xJTk9ERV9TRUNSRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0xJTk9ERV9SRUdJT05cbiAgICAgIC0gX0FQUF9TVE9SQUdFX0xJTk9ERV9CVUNLRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1dBU0FCSV9BQ0NFU1NfS0VZXG4gICAgICAtIF9BUFBfU1RPUkFHRV9XQVNBQklfU0VDUkVUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9XQVNBQklfUkVHSU9OXG4gICAgICAtIF9BUFBfU1RPUkFHRV9XQVNBQklfQlVDS0VUXG4gICAgICAtIF9BUFBfREFUQUJBU0VfU0hBUkVEX1RBQkxFU1xuICAgICAgLSBfQVBQX0RPTUFJTl9TSVRFU1xuICAgICAgLSBfQVBQX0JVSUxEU19WT0xVTUVcbiAgICAgIC0gX0FQUF9KT0JTX0hPU1RcbiAgICAgIC0gX0FQUF9KT0JTX1NFQ1JFVFxuICAgICAgLSBfQVBQX0pPQlNfRU5EUE9JTlRcbiAgICBleHRyYV9ob3N0czpcbiAgICAgIC0gaG9zdC5kb2NrZXIuaW50ZXJuYWw6aG9zdC1nYXRld2F5XG5cbiAgYXBwd3JpdGUtd29ya2VyLWpvYnM6XG4gICAgcHJvZmlsZXM6XG4gICAgICAtIHNlcGFyYXRlXG4gICAgZW50cnlwb2ludDogd29ya2VyLWpvYnNcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGxvZ2dpbmc6XG4gICAgICBkcml2ZXI6IGpzb24tZmlsZVxuICAgICAgb3B0aW9uczpcbiAgICAgICAgbWF4LWZpbGU6IFwiNVwiXG4gICAgICAgIG1heC1zaXplOiAxMG1cbiAgICBpbWFnZTogYXBwd3JpdGUvYXBwd3JpdGU6Mi4zLjBcbiAgICB2b2x1bWVzOlxuICAgICAgLSBhcHB3cml0ZS1idWlsZHM6L3N0b3JhZ2UvYnVpbGRzOnJ3XG4gICAgZGVwZW5kc19vbjpcbiAgICAgIC0gcmVkaXNcbiAgICAgIC0gJHtfQVBQX0RCX0hPU1Q6LXBvc3RncmVzcWx9XG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIF9BUFBfRU5WXG4gICAgICAtIF9BUFBfV09SS0VSU19OVU09MVxuICAgICAgLSBfQVBQX1dPUktFUl9NQVhfQ09ST1VUSU5FUz04XG4gICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFXG4gICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjFcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0RFVklDRVxuICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfQUNDRVNTX0tFWVxuICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfU0VDUkVUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9TM19SRUdJT05cbiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX0JVQ0tFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfRU5EUE9JTlRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19BQ0NFU1NfS0VZXG4gICAgICAtIF9BUFBfU1RPUkFHRV9ET19TUEFDRVNfU0VDUkVUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9ET19TUEFDRVNfUkVHSU9OXG4gICAgICAtIF9BUFBfU1RPUkFHRV9ET19TUEFDRVNfQlVDS0VUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQUNDRVNTX0tFWVxuICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1NFQ1JFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1JFR0lPTlxuICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0JVQ0tFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfTElOT0RFX0FDQ0VTU19LRVlcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0xJTk9ERV9TRUNSRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0xJTk9ERV9SRUdJT05cbiAgICAgIC0gX0FQUF9TVE9SQUdFX0xJTk9ERV9CVUNLRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1dBU0FCSV9BQ0NFU1NfS0VZXG4gICAgICAtIF9BUFBfU1RPUkFHRV9XQVNBQklfU0VDUkVUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9XQVNBQklfUkVHSU9OXG4gICAgICAtIF9BUFBfU1RPUkFHRV9XQVNBQklfQlVDS0VUXG4gICAgICAtIF9BUFBfSk9CU19IT1NUXG4gICAgICAtIF9BUFBfSk9CU19TRUNSRVRcbiAgICAgIC0gX0FQUF9DT01QVVRFX0JVSUxEX1NJWkVfTElNSVRcbiAgICAgIC0gX0FQUF9SRURJU19IT1NUXG4gICAgICAtIF9BUFBfUkVESVNfUE9SVFxuICAgICAgLSBfQVBQX1JFRElTX1VTRVJcbiAgICAgIC0gX0FQUF9SRURJU19QQVNTXG4gICAgICAtIF9BUFBfREJfQURBUFRFUlxuICAgICAgLSBfQVBQX0RCX0hPU1RcbiAgICAgIC0gX0FQUF9EQl9QT1JUXG4gICAgICAtIF9BUFBfREJfU0NIRU1BXG4gICAgICAtIF9BUFBfREJfVVNFUlxuICAgICAgLSBfQVBQX0RCX1BBU1NcbiAgICAgIC0gX0FQUF9MT0dHSU5HX0NPTkZJR1xuICAgICAgLSBfQVBQX0xPR0dJTkdfRk9STUFUXG4gICAgICAtIF9BUFBfREFUQUJBU0VfU0hBUkVEX1RBQkxFU1xuICAgIGV4dHJhX2hvc3RzOlxuICAgICAgLSBob3N0LmRvY2tlci5pbnRlcm5hbDpob3N0LWdhdGV3YXlcblxuICBhcHB3cml0ZS13b3JrZXItc2NyZWVuc2hvdHM6XG4gICAgcHJvZmlsZXM6XG4gICAgICAtIHNlcGFyYXRlXG4gICAgZW50cnlwb2ludDogd29ya2VyLXNjcmVlbnNob3RzXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBsb2dnaW5nOlxuICAgICAgZHJpdmVyOiBqc29uLWZpbGVcbiAgICAgIG9wdGlvbnM6XG4gICAgICAgIG1heC1maWxlOiBcIjVcIlxuICAgICAgICBtYXgtc2l6ZTogMTBtXG4gICAgaW1hZ2U6IGFwcHdyaXRlL2FwcHdyaXRlOjIuMy4wXG4gICAgdm9sdW1lczpcbiAgICAgIC0gYXBwd3JpdGUtdXBsb2Fkczovc3RvcmFnZS91cGxvYWRzOnJ3XG4gICAgZGVwZW5kc19vbjpcbiAgICAgIC0gcmVkaXNcbiAgICAgIC0gJHtfQVBQX0RCX0hPU1Q6LXBvc3RncmVzcWx9XG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIF9BUFBfQlJPV1NFUl9IT1NUXG4gICAgICAtIF9BUFBfU0lURVNfVElNRU9VVFxuICAgICAgLSBfQVBQX1dPUktFUl9TQ1JFRU5TSE9UU19ST1VURVJcbiAgICAgIC0gX0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTXG4gICAgICAtIF9BUFBfRU5WXG4gICAgICAtIF9BUFBfV09SS0VSU19OVU09MVxuICAgICAgLSBfQVBQX1dPUktFUl9NQVhfQ09ST1VUSU5FUz04XG4gICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFXG4gICAgICAtIF9BUFBfTE9HR0lOR19DT05GSUdcbiAgICAgIC0gX0FQUF9MT0dHSU5HX0ZPUk1BVFxuICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxXG4gICAgICAtIF9BUFBfUkVESVNfSE9TVFxuICAgICAgLSBfQVBQX1JFRElTX1BPUlRcbiAgICAgIC0gX0FQUF9SRURJU19VU0VSXG4gICAgICAtIF9BUFBfUkVESVNfUEFTU1xuICAgICAgLSBfQVBQX0RCX0FEQVBURVJcbiAgICAgIC0gX0FQUF9EQl9IT1NUXG4gICAgICAtIF9BUFBfREJfUE9SVFxuICAgICAgLSBfQVBQX0RCX1NDSEVNQVxuICAgICAgLSBfQVBQX0RCX1VTRVJcbiAgICAgIC0gX0FQUF9EQl9QQVNTXG4gICAgICAtIF9BUFBfREFUQUJBU0VfU0hBUkVEX1RBQkxFU1xuICAgICAgLSBfQVBQX1NUT1JBR0VfREVWSUNFXG4gICAgICAtIF9BUFBfU1RPUkFHRV9TM19BQ0NFU1NfS0VZXG4gICAgICAtIF9BUFBfU1RPUkFHRV9TM19TRUNSRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX1JFR0lPTlxuICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfQlVDS0VUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9TM19FTkRQT0lOVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0FDQ0VTU19LRVlcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19TRUNSRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19SRUdJT05cbiAgICAgIC0gX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19CVUNLRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9BQ0NFU1NfS0VZXG4gICAgICAtIF9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfU0VDUkVUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfUkVHSU9OXG4gICAgICAtIF9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQlVDS0VUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9MSU5PREVfQUNDRVNTX0tFWVxuICAgICAgLSBfQVBQX1NUT1JBR0VfTElOT0RFX1NFQ1JFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfTElOT0RFX1JFR0lPTlxuICAgICAgLSBfQVBQX1NUT1JBR0VfTElOT0RFX0JVQ0tFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfV0FTQUJJX0FDQ0VTU19LRVlcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1dBU0FCSV9TRUNSRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1dBU0FCSV9SRUdJT05cbiAgICAgIC0gX0FQUF9TVE9SQUdFX1dBU0FCSV9CVUNLRVRcbiAgICBleHRyYV9ob3N0czpcbiAgICAgIC0gaG9zdC5kb2NrZXIuaW50ZXJuYWw6aG9zdC1nYXRld2F5XG4gIGFwcHdyaXRlLXdvcmtlci1jZXJ0aWZpY2F0ZXM6XG4gICAgcHJvZmlsZXM6XG4gICAgICAtIHNlcGFyYXRlXG4gICAgZW50cnlwb2ludDogd29ya2VyLWNlcnRpZmljYXRlc1xuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgbG9nZ2luZzpcbiAgICAgIGRyaXZlcjoganNvbi1maWxlXG4gICAgICBvcHRpb25zOlxuICAgICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgICAgbWF4LXNpemU6IDEwbVxuICAgIGltYWdlOiBhcHB3cml0ZS9hcHB3cml0ZToyLjMuMFxuICAgIGRlcGVuZHNfb246XG4gICAgICAtIHJlZGlzXG4gICAgICAtICR7X0FQUF9EQl9IT1NUOi1wb3N0Z3Jlc3FsfVxuICAgIHZvbHVtZXM6XG4gICAgICAtIGFwcHdyaXRlLWNvbmZpZzovc3RvcmFnZS9jb25maWc6cndcbiAgICAgIC0gYXBwd3JpdGUtY2VydGlmaWNhdGVzOi9zdG9yYWdlL2NlcnRpZmljYXRlczpyd1xuICAgIGVudmlyb25tZW50OlxuICAgICAgLSBfQVBQX0VOVlxuICAgICAgLSBfQVBQX1dPUktFUlNfTlVNPTFcbiAgICAgIC0gX0FQUF9XT1JLRVJfTUFYX0NPUk9VVElORVM9OFxuICAgICAgLSBfQVBQX1dPUktFUl9QRVJfQ09SRVxuICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxXG4gICAgICAtIF9BUFBfRE9NQUlOXG4gICAgICAtIF9BUFBfRE9NQUlOX1RBUkdFVF9DTkFNRVxuICAgICAgLSBfQVBQX0RPTUFJTl9UQVJHRVRfQUFBQVxuICAgICAgLSBfQVBQX0RPTUFJTl9UQVJHRVRfQVxuICAgICAgLSBfQVBQX0RPTUFJTl9UQVJHRVRfQ0FBXG4gICAgICAtIF9BUFBfRE5TXG4gICAgICAtIF9BUFBfRE9NQUlOX0ZVTkNUSU9OU1xuICAgICAgLSBfQVBQX0RPTUFJTl9TSVRFU1xuICAgICAgLSBfQVBQX0VNQUlMX0NFUlRJRklDQVRFU1xuICAgICAgLSBfQVBQX1JFRElTX0hPU1RcbiAgICAgIC0gX0FQUF9SRURJU19QT1JUXG4gICAgICAtIF9BUFBfUkVESVNfVVNFUlxuICAgICAgLSBfQVBQX1JFRElTX1BBU1NcbiAgICAgIC0gX0FQUF9EQl9BREFQVEVSXG4gICAgICAtIF9BUFBfREJfSE9TVFxuICAgICAgLSBfQVBQX0RCX1BPUlRcbiAgICAgIC0gX0FQUF9EQl9TQ0hFTUFcbiAgICAgIC0gX0FQUF9EQl9VU0VSXG4gICAgICAtIF9BUFBfREJfUEFTU1xuICAgICAgLSBfQVBQX0xPR0dJTkdfQ09ORklHXG4gICAgICAtIF9BUFBfTE9HR0lOR19GT1JNQVRcbiAgICAgIC0gX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTXG5cbiAgYXBwd3JpdGUtd29ya2VyLWV4ZWN1dGlvbnM6XG4gICAgcHJvZmlsZXM6XG4gICAgICAtIHNlcGFyYXRlXG4gICAgZW50cnlwb2ludDogd29ya2VyLWV4ZWN1dGlvbnNcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGxvZ2dpbmc6XG4gICAgICBkcml2ZXI6IGpzb24tZmlsZVxuICAgICAgb3B0aW9uczpcbiAgICAgICAgbWF4LWZpbGU6IFwiNVwiXG4gICAgICAgIG1heC1zaXplOiAxMG1cbiAgICBpbWFnZTogYXBwd3JpdGUvYXBwd3JpdGU6Mi4zLjBcbiAgICBkZXBlbmRzX29uOlxuICAgICAgLSByZWRpc1xuICAgICAgLSAke19BUFBfREJfSE9TVDotcG9zdGdyZXNxbH1cbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gX0FQUF9FTlZcbiAgICAgIC0gX0FQUF9VU0FHRV9QQVNTXG4gICAgICAtIF9BUFBfQ09OTkVDVElPTlNfREJfVVNBR0VcbiAgICAgIC0gX0FQUF9DT05ORUNUSU9OU19EQl9FWEVDVVRJT05TXG4gICAgICAtIF9BUFBfUE9PTF9TSVpFX0VYRUNVVElPTlNcbiAgICAgIC0gX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fRVhFQ1VUSU9OXG4gICAgICAtIF9BUFBfV09SS0VSU19OVU09MVxuICAgICAgLSBfQVBQX1dPUktFUl9NQVhfQ09ST1VUSU5FUz04XG4gICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFXG4gICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjFcbiAgICAgIC0gX0FQUF9SRURJU19IT1NUXG4gICAgICAtIF9BUFBfUkVESVNfUE9SVFxuICAgICAgLSBfQVBQX1JFRElTX1VTRVJcbiAgICAgIC0gX0FQUF9SRURJU19QQVNTXG4gICAgICAtIF9BUFBfREJfQURBUFRFUlxuICAgICAgLSBfQVBQX0RCX0hPU1RcbiAgICAgIC0gX0FQUF9EQl9QT1JUXG4gICAgICAtIF9BUFBfREJfU0NIRU1BXG4gICAgICAtIF9BUFBfREJfVVNFUlxuICAgICAgLSBfQVBQX0RCX1BBU1NcbiAgICAgIC0gX0FQUF9MT0dHSU5HX0NPTkZJR1xuICAgICAgLSBfQVBQX0xPR0dJTkdfRk9STUFUXG4gICAgICAtIF9BUFBfREFUQUJBU0VfU0hBUkVEX1RBQkxFU1xuXG4gIGFwcHdyaXRlLXdvcmtlci1mdW5jdGlvbnM6XG4gICAgcHJvZmlsZXM6XG4gICAgICAtIHNlcGFyYXRlXG4gICAgZW50cnlwb2ludDogd29ya2VyLWZ1bmN0aW9uc1xuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgbG9nZ2luZzpcbiAgICAgIGRyaXZlcjoganNvbi1maWxlXG4gICAgICBvcHRpb25zOlxuICAgICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgICAgbWF4LXNpemU6IDEwbVxuICAgIGltYWdlOiBhcHB3cml0ZS9hcHB3cml0ZToyLjMuMFxuICAgIGRlcGVuZHNfb246XG4gICAgICAtICR7X0FQUF9EQl9IT1NUOi1wb3N0Z3Jlc3FsfVxuICAgICAgLSByZWRpc1xuICAgIGVudmlyb25tZW50OlxuICAgICAgLSBfQVBQX0VOVlxuICAgICAgLSBfQVBQX1dPUktFUlNfTlVNPTFcbiAgICAgIC0gX0FQUF9XT1JLRVJfTUFYX0NPUk9VVElORVM9OFxuICAgICAgLSBfQVBQX1dPUktFUl9QRVJfQ09SRVxuICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxXG4gICAgICAtIF9BUFBfRE9NQUlOXG4gICAgICAtIF9BUFBfT1BUSU9OU19GT1JDRV9IVFRQU1xuICAgICAgLSBfQVBQX1JFRElTX0hPU1RcbiAgICAgIC0gX0FQUF9SRURJU19QT1JUXG4gICAgICAtIF9BUFBfUkVESVNfVVNFUlxuICAgICAgLSBfQVBQX1JFRElTX1BBU1NcbiAgICAgIC0gX0FQUF9EQl9BREFQVEVSXG4gICAgICAtIF9BUFBfREJfSE9TVFxuICAgICAgLSBfQVBQX0RCX1BPUlRcbiAgICAgIC0gX0FQUF9EQl9TQ0hFTUFcbiAgICAgIC0gX0FQUF9EQl9VU0VSXG4gICAgICAtIF9BUFBfREJfUEFTU1xuICAgICAgLSBfQVBQX0ZVTkNUSU9OU19USU1FT1VUXG4gICAgICAtIF9BUFBfU0lURVNfVElNRU9VVFxuICAgICAgLSBfQVBQX0NPTVBVVEVfQlVJTERfVElNRU9VVFxuICAgICAgLSBfQVBQX0NPTVBVVEVfQ1BVU1xuICAgICAgLSBfQVBQX0NPTVBVVEVfTUVNT1JZXG4gICAgICAtIF9BUFBfRVhFQ1VUT1JfU0VDUkVUXG4gICAgICAtIF9BUFBfRVhFQ1VUT1JfSE9TVFxuICAgICAgLSBfQVBQX0RPQ0tFUl9IVUJfVVNFUk5BTUVcbiAgICAgIC0gX0FQUF9ET0NLRVJfSFVCX1BBU1NXT1JEXG4gICAgICAtIF9BUFBfTE9HR0lOR19DT05GSUdcbiAgICAgIC0gX0FQUF9MT0dHSU5HX0ZPUk1BVFxuICAgICAgLSBfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVNcbiAgYXBwd3JpdGUtd29ya2VyLW1haWxzOlxuICAgIHByb2ZpbGVzOlxuICAgICAgLSBzZXBhcmF0ZVxuICAgIGVudHJ5cG9pbnQ6IHdvcmtlci1tYWlsc1xuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgbG9nZ2luZzpcbiAgICAgIGRyaXZlcjoganNvbi1maWxlXG4gICAgICBvcHRpb25zOlxuICAgICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgICAgbWF4LXNpemU6IDEwbVxuICAgIGltYWdlOiBhcHB3cml0ZS9hcHB3cml0ZToyLjMuMFxuICAgIGRlcGVuZHNfb246XG4gICAgICAtIHJlZGlzXG4gICAgICAtICR7X0FQUF9EQl9IT1NUOi1wb3N0Z3Jlc3FsfVxuICAgIGVudmlyb25tZW50OlxuICAgICAgLSBfQVBQX0VOVlxuICAgICAgLSBfQVBQX1dPUktFUlNfTlVNPTFcbiAgICAgIC0gX0FQUF9XT1JLRVJfTUFYX0NPUk9VVElORVM9NlxuICAgICAgLSBfQVBQX1dPUktFUl9QRVJfQ09SRVxuICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxXG4gICAgICAtIF9BUFBfTk9USUZJQ0FUSU9OU19UUkFDS0lOR19TRUNSRVRcbiAgICAgIC0gX0FQUF9TWVNURU1fRU1BSUxfTkFNRVxuICAgICAgLSBfQVBQX1NZU1RFTV9FTUFJTF9BRERSRVNTXG4gICAgICAtIF9BUFBfUkVESVNfSE9TVFxuICAgICAgLSBfQVBQX1JFRElTX1BPUlRcbiAgICAgIC0gX0FQUF9SRURJU19VU0VSXG4gICAgICAtIF9BUFBfUkVESVNfUEFTU1xuICAgICAgLSBfQVBQX0RCX0hPU1RcbiAgICAgIC0gX0FQUF9EQl9QT1JUXG4gICAgICAtIF9BUFBfREJfU0NIRU1BXG4gICAgICAtIF9BUFBfREJfVVNFUlxuICAgICAgLSBfQVBQX0RCX1BBU1NcbiAgICAgIC0gX0FQUF9EQl9BREFQVEVSXG4gICAgICAtIF9BUFBfU01UUF9IT1NUXG4gICAgICAtIF9BUFBfU01UUF9QT1JUXG4gICAgICAtIF9BUFBfU01UUF9TRUNVUkVcbiAgICAgIC0gX0FQUF9TTVRQX1VTRVJOQU1FXG4gICAgICAtIF9BUFBfU01UUF9QQVNTV09SRFxuICAgICAgLSBfQVBQX0xPR0dJTkdfQ09ORklHXG4gICAgICAtIF9BUFBfTE9HR0lOR19GT1JNQVRcbiAgICAgIC0gX0FQUF9ET01BSU5cbiAgICAgIC0gX0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTXG4gICAgICAtIF9BUFBfREFUQUJBU0VfU0hBUkVEX1RBQkxFU1xuXG4gIGFwcHdyaXRlLXdvcmtlci1ub3RpZmljYXRpb25zOlxuICAgIHByb2ZpbGVzOlxuICAgICAgLSBzZXBhcmF0ZVxuICAgIGVudHJ5cG9pbnQ6IHdvcmtlci1ub3RpZmljYXRpb25zXG4gICAgbG9nZ2luZzpcbiAgICAgIGRyaXZlcjoganNvbi1maWxlXG4gICAgICBvcHRpb25zOlxuICAgICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgICAgbWF4LXNpemU6IDEwbVxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgaW1hZ2U6IGFwcHdyaXRlL2FwcHdyaXRlOjIuMy4wXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIC0gcmVkaXNcbiAgICAgIC0gJHtfQVBQX0RCX0hPU1Q6LXBvc3RncmVzcWx9XG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIF9BUFBfRU5WXG4gICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFXG4gICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjFcbiAgICAgIC0gX0FQUF9OT1RJRklDQVRJT05TX1RSQUNLSU5HX1NFQ1JFVFxuICAgICAgLSBfQVBQX1NZU1RFTV9FTUFJTF9OQU1FXG4gICAgICAtIF9BUFBfU1lTVEVNX0VNQUlMX0FERFJFU1NcbiAgICAgIC0gX0FQUF9SRURJU19IT1NUXG4gICAgICAtIF9BUFBfUkVESVNfUE9SVFxuICAgICAgLSBfQVBQX1JFRElTX1VTRVJcbiAgICAgIC0gX0FQUF9SRURJU19QQVNTXG4gICAgICAtIF9BUFBfREJfSE9TVFxuICAgICAgLSBfQVBQX0RCX1BPUlRcbiAgICAgIC0gX0FQUF9EQl9TQ0hFTUFcbiAgICAgIC0gX0FQUF9EQl9VU0VSXG4gICAgICAtIF9BUFBfREJfUEFTU1xuICAgICAgLSBfQVBQX0RCX0FEQVBURVJcbiAgICAgIC0gX0FQUF9TTVRQX0hPU1RcbiAgICAgIC0gX0FQUF9TTVRQX1BPUlRcbiAgICAgIC0gX0FQUF9TTVRQX1NFQ1VSRVxuICAgICAgLSBfQVBQX1NNVFBfVVNFUk5BTUVcbiAgICAgIC0gX0FQUF9TTVRQX1BBU1NXT1JEXG4gICAgICAtIF9BUFBfTE9HR0lOR19DT05GSUdcbiAgICAgIC0gX0FQUF9MT0dHSU5HX0ZPUk1BVFxuICAgICAgLSBfQVBQX0RPTUFJTlxuICAgICAgLSBfQVBQX09QVElPTlNfRk9SQ0VfSFRUUFNcbiAgICAgIC0gX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTXG4gIGFwcHdyaXRlLXdvcmtlci1tZXNzYWdpbmc6XG4gICAgcHJvZmlsZXM6XG4gICAgICAtIHNlcGFyYXRlXG4gICAgZW50cnlwb2ludDogd29ya2VyLW1lc3NhZ2luZ1xuICAgIGxvZ2dpbmc6XG4gICAgICBkcml2ZXI6IGpzb24tZmlsZVxuICAgICAgb3B0aW9uczpcbiAgICAgICAgbWF4LWZpbGU6IFwiNVwiXG4gICAgICAgIG1heC1zaXplOiAxMG1cbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGltYWdlOiBhcHB3cml0ZS9hcHB3cml0ZToyLjMuMFxuICAgIHZvbHVtZXM6XG4gICAgICAtIGFwcHdyaXRlLXVwbG9hZHM6L3N0b3JhZ2UvdXBsb2Fkczpyd1xuICAgIGRlcGVuZHNfb246XG4gICAgICAtIHJlZGlzXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIF9BUFBfRU5WXG4gICAgICAtIF9BUFBfV09SS0VSU19OVU09MVxuICAgICAgLSBfQVBQX1dPUktFUl9NQVhfQ09ST1VUSU5FUz0xXG4gICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFXG4gICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjFcbiAgICAgIC0gX0FQUF9SRURJU19IT1NUXG4gICAgICAtIF9BUFBfUkVESVNfUE9SVFxuICAgICAgLSBfQVBQX1JFRElTX1VTRVJcbiAgICAgIC0gX0FQUF9SRURJU19QQVNTXG4gICAgICAtIF9BUFBfREJfQURBUFRFUlxuICAgICAgLSBfQVBQX0RCX0hPU1RcbiAgICAgIC0gX0FQUF9EQl9QT1JUXG4gICAgICAtIF9BUFBfREJfU0NIRU1BXG4gICAgICAtIF9BUFBfREJfVVNFUlxuICAgICAgLSBfQVBQX0RCX1BBU1NcbiAgICAgIC0gX0FQUF9MT0dHSU5HX0NPTkZJR1xuICAgICAgLSBfQVBQX0xPR0dJTkdfRk9STUFUXG4gICAgICAtIF9BUFBfU01TX0ZST01cbiAgICAgIC0gX0FQUF9TTVNfUFJPVklERVJcbiAgICAgIC0gX0FQUF9TTVNfUFJPSkVDVFNfREVOWV9MSVNUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9ERVZJQ0VcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX0FDQ0VTU19LRVlcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX1NFQ1JFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfUzNfUkVHSU9OXG4gICAgICAtIF9BUFBfU1RPUkFHRV9TM19CVUNLRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX1MzX0VORFBPSU5UXG4gICAgICAtIF9BUFBfU1RPUkFHRV9ET19TUEFDRVNfQUNDRVNTX0tFWVxuICAgICAgLSBfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1NFQ1JFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX1JFR0lPTlxuICAgICAgLSBfQVBQX1NUT1JBR0VfRE9fU1BBQ0VTX0JVQ0tFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX0FDQ0VTU19LRVlcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9TRUNSRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9SRUdJT05cbiAgICAgIC0gX0FQUF9TVE9SQUdFX0JBQ0tCTEFaRV9CVUNLRVRcbiAgICAgIC0gX0FQUF9TVE9SQUdFX0xJTk9ERV9BQ0NFU1NfS0VZXG4gICAgICAtIF9BUFBfU1RPUkFHRV9MSU5PREVfU0VDUkVUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9MSU5PREVfUkVHSU9OXG4gICAgICAtIF9BUFBfU1RPUkFHRV9MSU5PREVfQlVDS0VUXG4gICAgICAtIF9BUFBfU1RPUkFHRV9XQVNBQklfQUNDRVNTX0tFWVxuICAgICAgLSBfQVBQX1NUT1JBR0VfV0FTQUJJX1NFQ1JFVFxuICAgICAgLSBfQVBQX1NUT1JBR0VfV0FTQUJJX1JFR0lPTlxuICAgICAgLSBfQVBQX1NUT1JBR0VfV0FTQUJJX0JVQ0tFVFxuICAgICAgLSBfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVNcbiAgYXBwd3JpdGUtd29ya2VyLW1pZ3JhdGlvbnM6XG4gICAgcHJvZmlsZXM6XG4gICAgICAtIHNlcGFyYXRlXG4gICAgZW50cnlwb2ludDogd29ya2VyLW1pZ3JhdGlvbnNcbiAgICBsb2dnaW5nOlxuICAgICAgZHJpdmVyOiBqc29uLWZpbGVcbiAgICAgIG9wdGlvbnM6XG4gICAgICAgIG1heC1maWxlOiBcIjVcIlxuICAgICAgICBtYXgtc2l6ZTogMTBtXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBpbWFnZTogYXBwd3JpdGUvYXBwd3JpdGU6Mi4zLjBcbiAgICB2b2x1bWVzOlxuICAgICAgLSBhcHB3cml0ZS1pbXBvcnRzOi9zdG9yYWdlL2ltcG9ydHM6cndcbiAgICAgIC0gYXBwd3JpdGUtdXBsb2Fkczovc3RvcmFnZS91cGxvYWRzOnJ3XG4gICAgZGVwZW5kc19vbjpcbiAgICAgIC0gJHtfQVBQX0RCX0hPU1Q6LXBvc3RncmVzcWx9XG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIF9BUFBfRU5WXG4gICAgICAtIF9BUFBfV09SS0VSU19OVU09MVxuICAgICAgLSBfQVBQX1dPUktFUl9NQVhfQ09ST1VUSU5FUz0xXG4gICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFXG4gICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjFcbiAgICAgIC0gX0FQUF9ET01BSU5cbiAgICAgIC0gX0FQUF9ET01BSU5fVEFSR0VUX0NOQU1FXG4gICAgICAtIF9BUFBfRE9NQUlOX1RBUkdFVF9BQUFBXG4gICAgICAtIF9BUFBfRE9NQUlOX1RBUkdFVF9BXG4gICAgICAtIF9BUFBfRE9NQUlOX1RBUkdFVF9DQUFcbiAgICAgIC0gX0FQUF9ETlNcbiAgICAgIC0gX0FQUF9FTUFJTF9TRUNVUklUWVxuICAgICAgLSBfQVBQX1JFRElTX0hPU1RcbiAgICAgIC0gX0FQUF9SRURJU19QT1JUXG4gICAgICAtIF9BUFBfUkVESVNfVVNFUlxuICAgICAgLSBfQVBQX1JFRElTX1BBU1NcbiAgICAgIC0gX0FQUF9EQl9BREFQVEVSXG4gICAgICAtIF9BUFBfREJfSE9TVFxuICAgICAgLSBfQVBQX0RCX1BPUlRcbiAgICAgIC0gX0FQUF9EQl9TQ0hFTUFcbiAgICAgIC0gX0FQUF9EQl9VU0VSXG4gICAgICAtIF9BUFBfREJfUEFTU1xuICAgICAgLSBfQVBQX0RCX0FEQVBURVJfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfREJfSE9TVF9WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9EQl9QT1JUX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0RCX1NDSEVNQV9WRUNUT1JTREJcbiAgICAgIC0gX0FQUF9EQl9VU0VSX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0RCX1BBU1NfVkVDVE9SU0RCXG4gICAgICAtIF9BUFBfREJfQURBUFRFUl9ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX0RCX0hPU1RfRE9DVU1FTlRTREJcbiAgICAgIC0gX0FQUF9EQl9QT1JUX0RPQ1VNRU5UU0RCXG4gICAgICAtIF9BUFBfREJfU0NIRU1BX0RPQ1VNRU5UU0RCXG4gICAgICAtIF9BUFBfREJfVVNFUl9ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX0RCX1BBU1NfRE9DVU1FTlRTREJcbiAgICAgIC0gX0FQUF9DT05ORUNUSU9OU19EQVRBQkFTRV9ET0NVTUVOVFNEQlxuICAgICAgLSBfQVBQX0NPTk5FQ1RJT05TX0RBVEFCQVNFX1ZFQ1RPUlNEQlxuICAgICAgLSBfQVBQX0xPR0dJTkdfQ09ORklHXG4gICAgICAtIF9BUFBfTE9HR0lOR19GT1JNQVRcbiAgICAgIC0gX0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9JRFxuICAgICAgLSBfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX1NFQ1JFVFxuICAgICAgLSBfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVNcbiAgICAgIC0gX0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTXG4gICAgICAtIF9BUFBfTUlHUkFUSU9OX0hPU1RcbiAgYXBwd3JpdGUtdGFzay1tYWludGVuYW5jZTpcbiAgICBlbnRyeXBvaW50OiBtYWludGVuYW5jZVxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgbG9nZ2luZzpcbiAgICAgIGRyaXZlcjoganNvbi1maWxlXG4gICAgICBvcHRpb25zOlxuICAgICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgICAgbWF4LXNpemU6IDEwbVxuICAgIGltYWdlOiBhcHB3cml0ZS9hcHB3cml0ZToyLjMuMFxuICAgIGRlcGVuZHNfb246XG4gICAgICAtICR7X0FQUF9EQl9IT1NUOi1wb3N0Z3Jlc3FsfVxuICAgICAgLSByZWRpc1xuICAgIGVudmlyb25tZW50OlxuICAgICAgLSBfQVBQX0VOVlxuICAgICAgLSBfQVBQX0xPR0dJTkdfRk9STUFUXG4gICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFXG4gICAgICAtIF9BUFBfRE9NQUlOXG4gICAgICAtIF9BUFBfRE9NQUlOX1RBUkdFVF9DTkFNRVxuICAgICAgLSBfQVBQX0RPTUFJTl9UQVJHRVRfQUFBQVxuICAgICAgLSBfQVBQX0RPTUFJTl9UQVJHRVRfQVxuICAgICAgLSBfQVBQX0RPTUFJTl9UQVJHRVRfQ0FBXG4gICAgICAtIF9BUFBfRE5TXG4gICAgICAtIF9BUFBfRE9NQUlOX0ZVTkNUSU9OU1xuICAgICAgLSBfQVBQX0VESVRJT05cbiAgICAgIC0gX0FQUF9ST1VURVJfQVVUT19DRVJUSUZJQ0FURVNcbiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMVxuICAgICAgLSBfQVBQX1JFRElTX0hPU1RcbiAgICAgIC0gX0FQUF9SRURJU19QT1JUXG4gICAgICAtIF9BUFBfUkVESVNfVVNFUlxuICAgICAgLSBfQVBQX1JFRElTX1BBU1NcbiAgICAgIC0gX0FQUF9EQl9BREFQVEVSXG4gICAgICAtIF9BUFBfREJfSE9TVFxuICAgICAgLSBfQVBQX0RCX1BPUlRcbiAgICAgIC0gX0FQUF9EQl9TQ0hFTUFcbiAgICAgIC0gX0FQUF9EQl9VU0VSXG4gICAgICAtIF9BUFBfREJfUEFTU1xuICAgICAgLSBfQVBQX01BSU5URU5BTkNFX0lOVEVSVkFMXG4gICAgICAtIF9BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0VYRUNVVElPTlxuICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9DQUNIRVxuICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BQlVTRVxuICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVFxuICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVF9DT05TT0xFXG4gICAgICAtIF9BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX1NDSEVEVUxFU1xuICAgICAgLSBfQVBQX01BSU5URU5BTkNFX1NUQVJUX1RJTUVcbiAgICAgIC0gX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTXG4gIGFwcHdyaXRlLXRhc2staW50ZXJ2YWw6XG4gICAgZW50cnlwb2ludDogaW50ZXJ2YWxcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGxvZ2dpbmc6XG4gICAgICBkcml2ZXI6IGpzb24tZmlsZVxuICAgICAgb3B0aW9uczpcbiAgICAgICAgbWF4LWZpbGU6IFwiNVwiXG4gICAgICAgIG1heC1zaXplOiAxMG1cbiAgICBpbWFnZTogYXBwd3JpdGUvYXBwd3JpdGU6Mi4zLjBcbiAgICBkZXBlbmRzX29uOlxuICAgICAgLSAke19BUFBfREJfSE9TVDotcG9zdGdyZXNxbH1cbiAgICAgIC0gcmVkaXNcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gX0FQUF9FTlZcbiAgICAgIC0gX0FQUF9MT0dHSU5HX0ZPUk1BVFxuICAgICAgLSBfQVBQX1dPUktFUl9QRVJfQ09SRVxuICAgICAgLSBfQVBQX0RPTUFJTlxuICAgICAgLSBfQVBQX0RPTUFJTl9UQVJHRVRfQ05BTUVcbiAgICAgIC0gX0FQUF9ET01BSU5fVEFSR0VUX0FBQUFcbiAgICAgIC0gX0FQUF9ET01BSU5fVEFSR0VUX0FcbiAgICAgIC0gX0FQUF9ET01BSU5fVEFSR0VUX0NBQVxuICAgICAgLSBfQVBQX0ROU1xuICAgICAgLSBfQVBQX0RPTUFJTl9GVU5DVElPTlNcbiAgICAgIC0gX0FQUF9ET01BSU5fU0lURVNcbiAgICAgIC0gX0FQUF9PUEVOU1NMX0tFWV9WMVxuICAgICAgLSBfQVBQX1JFRElTX0hPU1RcbiAgICAgIC0gX0FQUF9SRURJU19QT1JUXG4gICAgICAtIF9BUFBfUkVESVNfVVNFUlxuICAgICAgLSBfQVBQX1JFRElTX1BBU1NcbiAgICAgIC0gX0FQUF9EQl9BREFQVEVSXG4gICAgICAtIF9BUFBfREJfSE9TVFxuICAgICAgLSBfQVBQX0RCX1BPUlRcbiAgICAgIC0gX0FQUF9EQl9TQ0hFTUFcbiAgICAgIC0gX0FQUF9EQl9VU0VSXG4gICAgICAtIF9BUFBfREJfUEFTU1xuICAgICAgLSBfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVNcbiAgICAgIC0gX0FQUF9JTlRFUlZBTF9ET01BSU5fVkVSSUZJQ0FUSU9OXG4gICAgICAtIF9BUFBfSU5URVJWQUxfQ0xFQU5VUF9TVEFMRV9FWEVDVVRJT05TXG5cbiAgYXBwd3JpdGUtdGFzay1zY2hlZHVsZXItZnVuY3Rpb25zOlxuICAgIHByb2ZpbGVzOlxuICAgICAgLSBzZXBhcmF0ZVxuICAgIGVudHJ5cG9pbnQ6IHNjaGVkdWxlLWZ1bmN0aW9uc1xuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgbG9nZ2luZzpcbiAgICAgIGRyaXZlcjoganNvbi1maWxlXG4gICAgICBvcHRpb25zOlxuICAgICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgICAgbWF4LXNpemU6IDEwbVxuICAgIGltYWdlOiBhcHB3cml0ZS9hcHB3cml0ZToyLjMuMFxuICAgIGRlcGVuZHNfb246XG4gICAgICAtICR7X0FQUF9EQl9IT1NUOi1wb3N0Z3Jlc3FsfVxuICAgICAgLSByZWRpc1xuICAgIGVudmlyb25tZW50OlxuICAgICAgLSBfQVBQX0VOVlxuICAgICAgLSBfQVBQX0xPR0dJTkdfRk9STUFUXG4gICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFXG4gICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjFcbiAgICAgIC0gX0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTXG4gICAgICAtIF9BUFBfRE9NQUlOXG4gICAgICAtIF9BUFBfQ09OU09MRV9ET01BSU5cbiAgICAgIC0gX0FQUF9ET01BSU5fRlVOQ1RJT05TXG4gICAgICAtIF9BUFBfRE9NQUlOX1NJVEVTXG4gICAgICAtIF9BUFBfTUlHUkFUSU9OX0hPU1RcbiAgICAgIC0gX0FQUF9DT05TT0xFX1NDSEVNQVxuICAgICAgLSBfQVBQX1JFRElTX0hPU1RcbiAgICAgIC0gX0FQUF9SRURJU19QT1JUXG4gICAgICAtIF9BUFBfUkVESVNfVVNFUlxuICAgICAgLSBfQVBQX1JFRElTX1BBU1NcbiAgICAgIC0gX0FQUF9EQl9BREFQVEVSXG4gICAgICAtIF9BUFBfREJfSE9TVFxuICAgICAgLSBfQVBQX0RCX1BPUlRcbiAgICAgIC0gX0FQUF9EQl9TQ0hFTUFcbiAgICAgIC0gX0FQUF9EQl9VU0VSXG4gICAgICAtIF9BUFBfREJfUEFTU1xuICAgICAgLSBfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVNcbiAgICAgIC0gX0FQUF9GVU5DVElPTlNfU0NIRURVTEVfU1BSRUFEXG4gIGFwcHdyaXRlLXRhc2stc2NoZWR1bGVyLWV4ZWN1dGlvbnM6XG4gICAgcHJvZmlsZXM6XG4gICAgICAtIHNlcGFyYXRlXG4gICAgZW50cnlwb2ludDogc2NoZWR1bGUtZXhlY3V0aW9uc1xuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgbG9nZ2luZzpcbiAgICAgIGRyaXZlcjoganNvbi1maWxlXG4gICAgICBvcHRpb25zOlxuICAgICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgICAgbWF4LXNpemU6IDEwbVxuICAgIGltYWdlOiBhcHB3cml0ZS9hcHB3cml0ZToyLjMuMFxuICAgIGRlcGVuZHNfb246XG4gICAgICAtICR7X0FQUF9EQl9IT1NUOi1wb3N0Z3Jlc3FsfVxuICAgICAgLSByZWRpc1xuICAgIGVudmlyb25tZW50OlxuICAgICAgLSBfQVBQX0VOVlxuICAgICAgLSBfQVBQX0xPR0dJTkdfRk9STUFUXG4gICAgICAtIF9BUFBfV09SS0VSX1BFUl9DT1JFXG4gICAgICAtIF9BUFBfT1BFTlNTTF9LRVlfVjFcbiAgICAgIC0gX0FQUF9PUFRJT05TX0ZPUkNFX0hUVFBTXG4gICAgICAtIF9BUFBfRE9NQUlOXG4gICAgICAtIF9BUFBfQ09OU09MRV9ET01BSU5cbiAgICAgIC0gX0FQUF9ET01BSU5fRlVOQ1RJT05TXG4gICAgICAtIF9BUFBfRE9NQUlOX1NJVEVTXG4gICAgICAtIF9BUFBfTUlHUkFUSU9OX0hPU1RcbiAgICAgIC0gX0FQUF9DT05TT0xFX1NDSEVNQVxuICAgICAgLSBfQVBQX1JFRElTX0hPU1RcbiAgICAgIC0gX0FQUF9SRURJU19QT1JUXG4gICAgICAtIF9BUFBfUkVESVNfVVNFUlxuICAgICAgLSBfQVBQX1JFRElTX1BBU1NcbiAgICAgIC0gX0FQUF9EQl9BREFQVEVSXG4gICAgICAtIF9BUFBfREJfSE9TVFxuICAgICAgLSBfQVBQX0RCX1BPUlRcbiAgICAgIC0gX0FQUF9EQl9TQ0hFTUFcbiAgICAgIC0gX0FQUF9EQl9VU0VSXG4gICAgICAtIF9BUFBfREJfUEFTU1xuICAgICAgLSBfQVBQX0RBVEFCQVNFX1NIQVJFRF9UQUJMRVNcbiAgYXBwd3JpdGUtdGFzay1zY2hlZHVsZXItbWVzc2FnZXM6XG4gICAgcHJvZmlsZXM6XG4gICAgICAtIHNlcGFyYXRlXG4gICAgZW50cnlwb2ludDogc2NoZWR1bGUtbWVzc2FnZXNcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGxvZ2dpbmc6XG4gICAgICBkcml2ZXI6IGpzb24tZmlsZVxuICAgICAgb3B0aW9uczpcbiAgICAgICAgbWF4LWZpbGU6IFwiNVwiXG4gICAgICAgIG1heC1zaXplOiAxMG1cbiAgICBpbWFnZTogYXBwd3JpdGUvYXBwd3JpdGU6Mi4zLjBcbiAgICBkZXBlbmRzX29uOlxuICAgICAgLSAke19BUFBfREJfSE9TVDotcG9zdGdyZXNxbH1cbiAgICAgIC0gcmVkaXNcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gX0FQUF9FTlZcbiAgICAgIC0gX0FQUF9MT0dHSU5HX0ZPUk1BVFxuICAgICAgLSBfQVBQX1dPUktFUl9QRVJfQ09SRVxuICAgICAgLSBfQVBQX09QRU5TU0xfS0VZX1YxXG4gICAgICAtIF9BUFBfUkVESVNfSE9TVFxuICAgICAgLSBfQVBQX1JFRElTX1BPUlRcbiAgICAgIC0gX0FQUF9SRURJU19VU0VSXG4gICAgICAtIF9BUFBfUkVESVNfUEFTU1xuICAgICAgLSBfQVBQX0RCX0FEQVBURVJcbiAgICAgIC0gX0FQUF9EQl9IT1NUXG4gICAgICAtIF9BUFBfREJfUE9SVFxuICAgICAgLSBfQVBQX0RCX1NDSEVNQVxuICAgICAgLSBfQVBQX0RCX1VTRVJcbiAgICAgIC0gX0FQUF9EQl9QQVNTXG4gICAgICAtIF9BUFBfREFUQUJBU0VfU0hBUkVEX1RBQkxFU1xuICBhcHB3cml0ZS1hc3Npc3RhbnQ6XG4gICAgaW1hZ2U6IGFwcHdyaXRlL2Fzc2lzdGFudDowLjguNFxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIF9BUFBfQVNTSVNUQU5UX09QRU5BSV9BUElfS0VZXG4gIGFwcHdyaXRlLWJyb3dzZXI6XG4gICAgaW1hZ2U6IGFwcHdyaXRlL2Jyb3dzZXI6MC4zLjRcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICBhcHB3cml0ZS1hdXRvZ3Jhdml0eTpcbiAgICBpbWFnZTogZ2hjci5pby9hcHB3cml0ZS9hdXRvZ3Jhdml0eTowLjAuMTFcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGVudmlyb25tZW50OlxuICAgICAgLSBNT0RFTF9CQUNLRU5EPWZvY2FsbmV0XG4gIGNsaWNraG91c2U6XG4gICAgaW1hZ2U6IGNsaWNraG91c2UvY2xpY2tob3VzZS1zZXJ2ZXI6MjYuNC4zLWFscGluZVxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIENMSUNLSE9VU0VfREI9YXBwd3JpdGVcbiAgICAgIC0gQ0xJQ0tIT1VTRV9VU0VSPWFwcHdyaXRlXG4gICAgICAtIENMSUNLSE9VU0VfUEFTU1dPUkQ9JHtfQVBQX1VTQUdFX1BBU1M6LWFwcHdyaXRlfVxuICAgICAgLSBDTElDS0hPVVNFX0RFRkFVTFRfQUNDRVNTX01BTkFHRU1FTlQ9MVxuICAgIHZvbHVtZXM6XG4gICAgICAtIGFwcHdyaXRlLWNsaWNraG91c2U6L3Zhci9saWIvY2xpY2tob3VzZTpyd1xuICAgIHVsaW1pdHM6XG4gICAgICBub2ZpbGU6XG4gICAgICAgIHNvZnQ6IDI2MjE0NFxuICAgICAgICBoYXJkOiAyNjIxNDRcbiAgICBoZWFsdGhjaGVjazpcbiAgICAgIHRlc3Q6XG4gICAgICAgIC0gQ01ELVNIRUxMXG4gICAgICAgIC0gJ2NsaWNraG91c2UtY2xpZW50IC0tdXNlciBcIiQkQ0xJQ0tIT1VTRV9VU0VSXCIgLS1wYXNzd29yZCBcIiQkQ0xJQ0tIT1VTRV9QQVNTV09SRFwiIC0tcXVlcnkgXCJTRUxFQ1QgMVwiID4vZGV2L251bGwnXG4gICAgICBpbnRlcnZhbDogNXNcbiAgICAgIHRpbWVvdXQ6IDVzXG4gICAgICByZXRyaWVzOiAyMFxuICAgICAgc3RhcnRfcGVyaW9kOiAzMHNcblxuICBhcHB3cml0ZS1nZW86XG4gICAgbG9nZ2luZzpcbiAgICAgIGRyaXZlcjoganNvbi1maWxlXG4gICAgICBvcHRpb25zOlxuICAgICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgICAgbWF4LXNpemU6IDEwbVxuICAgIGltYWdlOiBhcHB3cml0ZS9nZW86MC4zLjFcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGVudmlyb25tZW50OlxuICAgICAgLSBHRU9fU0VDUkVUPSRfQVBQX0dFT19TRUNSRVRcbiAgICBoZWFsdGhjaGVjazpcbiAgICAgIHRlc3Q6ICdwaHAgLXIgXCJleGl0KGpzb25fZGVjb2RlKGZpbGVfZ2V0X2NvbnRlbnRzKCcnaHR0cDovL2xvY2FsaG9zdC92MS9oZWFsdGgnJykpLT5zdGF0dXMgPT09ICcnb2snJyA/IDAgOiAxKTtcIidcbiAgICAgIGludGVydmFsOiAxMHNcbiAgICAgIHRpbWVvdXQ6IDVzXG4gICAgICByZXRyaWVzOiAzXG4gICAgICBzdGFydF9wZXJpb2Q6IDVzXG5cbiAgb3BlbnJ1bnRpbWVzLWV4ZWN1dG9yOlxuICAgICMgTXVzdCBzdGF5IGVxdWFsIHRvIHRoZSBzZXJ2aWNlIG5hbWU6IHRoZSBleGVjdXRvciBmaW5kcyBpdHMgb3duIGNvbnRhaW5lclxuICAgICMgd2l0aCBnZXRob3N0bmFtZSgpIGFnYWluc3QgRG9ja2VyJ3MgbmFtZSBmaWx0ZXIsIGFuZCB0aGUgZ2VuZXJhdGVkIG5hbWUgaXNcbiAgICAjIFwiPHByb2plY3Q+LW9wZW5ydW50aW1lcy1leGVjdXRvci0xXCIgKHN1YnN0cmluZyBtYXRjaCkuIEEgaG9zdG5hbWUgbGlrZVxuICAgICMgXCJleGMxXCIgbWFrZXMgdGhlIGxvb2t1cCBmYWlsIGFuZCB0aGUgZXhlY3V0b3IgY3Jhc2ggbG9vcHMgd2l0aFxuICAgICMgXCJPd24gY29udGFpbmVyIG5vdCBmb3VuZFwiIChhcHB3cml0ZS9hcHB3cml0ZSMxMzAxNikuIEtlZXAgaXQgaW4gc3luYyB3aXRoXG4gICAgIyBfQVBQX0VYRUNVVE9SX0hPU1Q9aHR0cDovL29wZW5ydW50aW1lcy1leGVjdXRvci92MS5cbiAgICBob3N0bmFtZTogb3BlbnJ1bnRpbWVzLWV4ZWN1dG9yXG4gICAgbG9nZ2luZzpcbiAgICAgIGRyaXZlcjoganNvbi1maWxlXG4gICAgICBvcHRpb25zOlxuICAgICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgICAgbWF4LXNpemU6IDEwbVxuICAgIHN0b3Bfc2lnbmFsOiBTSUdJTlRcbiAgICBpbWFnZTogb3BlbnJ1bnRpbWVzL2V4ZWN1dG9yOjAuMjkuMVxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgdm9sdW1lczpcbiAgICAgIC0gL3Zhci9ydW4vZG9ja2VyLnNvY2s6L3Zhci9ydW4vZG9ja2VyLnNvY2tcbiAgICAgIC0gYXBwd3JpdGUtYnVpbGRzOi9zdG9yYWdlL2J1aWxkczpyd1xuICAgICAgLSBhcHB3cml0ZS1mdW5jdGlvbnM6L3N0b3JhZ2UvZnVuY3Rpb25zOnJ3XG4gICAgICAtIGFwcHdyaXRlLXNpdGVzOi9zdG9yYWdlL3NpdGVzOnJ3XG4gICAgICAtIC90bXA6L3RtcDpyd1xuICAgIGVudmlyb25tZW50OlxuICAgICAgLSBPUFJfRVhFQ1VUT1JfSU1BR0VTPSRfQVBQX0VYRUNVVE9SX0lNQUdFU1xuICAgICAgLSBPUFJfRVhFQ1VUT1JfSU5BQ1RJVkVfVEhSRVNIT0xEPSRfQVBQX0NPTVBVVEVfSU5BQ1RJVkVfVEhSRVNIT0xEXG4gICAgICAtIE9QUl9FWEVDVVRPUl9NQUlOVEVOQU5DRV9JTlRFUlZBTD0kX0FQUF9DT01QVVRFX01BSU5URU5BTkNFX0lOVEVSVkFMXG4gICAgICAtIE9QUl9FWEVDVVRPUl9ORVRXT1JLPSRfQVBQX0NPTVBVVEVfUlVOVElNRVNfTkVUV09SS1xuICAgICAgLSBPUFJfRVhFQ1VUT1JfRE9DS0VSX0hVQl9VU0VSTkFNRT0kX0FQUF9ET0NLRVJfSFVCX1VTRVJOQU1FXG4gICAgICAtIE9QUl9FWEVDVVRPUl9ET0NLRVJfSFVCX1BBU1NXT1JEPSRfQVBQX0RPQ0tFUl9IVUJfUEFTU1dPUkRcbiAgICAgIC0gT1BSX0VYRUNVVE9SX0VOVj0kX0FQUF9FTlZcbiAgICAgIC0gT1BSX0VYRUNVVE9SX1JVTlRJTUVTPSRfQVBQX0ZVTkNUSU9OU19SVU5USU1FUywkX0FQUF9TSVRFU19SVU5USU1FU1xuICAgICAgLSBPUFJfRVhFQ1VUT1JfU0VDUkVUPSRfQVBQX0VYRUNVVE9SX1NFQ1JFVFxuICAgICAgLSBPUFJfRVhFQ1VUT1JfUlVOVElNRV9WRVJTSU9OUz12NVxuICAgICAgLSBPUEVOX1JVTlRJTUVTX05GVD0kX0FQUF9PUEVOX1JVTlRJTUVTX05GVFxuICAgICAgLSBPUFJfRVhFQ1VUT1JfTE9HR0lOR19DT05GSUc9JF9BUFBfTE9HR0lOR19DT05GSUdcbiAgICAgIC0gT1BSX0VYRUNVVE9SX0NPTk5FQ1RJT05fU1RPUkFHRT0ke19BUFBfRVhFQ1VUT1JfQ09OTkVDVElPTl9TVE9SQUdFOi1sb2NhbDovL2xvY2FsaG9zdH1cbiAgICAgIC0gT1BSX0VYRUNVVE9SX0NPTk5FQ1RJT05fQlVJTERfQ0FDSEVfU1RPUkFHRT1cbiAgICBoZWFsdGhjaGVjazpcbiAgICAgIHRlc3Q6XG4gICAgICAgIC0gQ01ELVNIRUxMXG4gICAgICAgIC0gJ2N1cmwgLWZzUyAtSCBcIkF1dGhvcml6YXRpb246IEJlYXJlciAkJE9QUl9FWEVDVVRPUl9TRUNSRVRcIiBodHRwOi8vbG9jYWxob3N0L3YxL2hlYWx0aFxuICAgICAgICAgID4vZGV2L251bGwnXG4gICAgICBpbnRlcnZhbDogNXNcbiAgICAgIHRpbWVvdXQ6IDNzXG4gICAgICByZXRyaWVzOiAyMFxuICAgICAgc3RhcnRfcGVyaW9kOiA1c1xuXG4gIG9yY2hlc3RyYXRvcjpcbiAgICBob3N0bmFtZTogb3JjaGVzdHJhdG9yXG4gICAgbG9nZ2luZzpcbiAgICAgIGRyaXZlcjoganNvbi1maWxlXG4gICAgICBvcHRpb25zOlxuICAgICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgICAgbWF4LXNpemU6IDEwbVxuICAgICMgT25lIGltYWdlIGNhcnJ5aW5nIGV2ZXJ5IG9yY2hlc3RyYXRvciBjb250cm9sIHBsYW5lLiBBcHB3cml0ZSBkcml2ZXMgdGhlXG4gICAgIyBqb2JzIHBsYW5lIHRvZGF5OyB0aGUgcGVyLXBsYW5lIGltYWdlcyBleGlzdCBmb3IgS3ViZXJuZXRlcywgd2hlcmUgZWFjaFxuICAgICMgc2NhbGVzLCBmYWlscyBhbmQgZ2V0cyBSQkFDIG9uIGl0cyBvd24uXG4gICAgaW1hZ2U6IGdoY3IuaW8vb3Blbi1ydW50aW1lcy9vcmNoZXN0cmF0b3Ivb3JjaGVzdHJhdG9yOjIuMi4yXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICB1c2VyOiByb290XG4gICAgdm9sdW1lczpcbiAgICAgIC0gL3Zhci9ydW4vZG9ja2VyLnNvY2s6L3Zhci9ydW4vZG9ja2VyLnNvY2tcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gT1JDSEVTVFJBVE9SX0JBQ0tFTkQ9ZG9ja2VyXG4gICAgICAjIFRoZSBqb2JzIHBsYW5lIGFuZCB0aGUgc2VydmluZyBwbGFuZXMgcmVhZCB0aGUgbmV0d29yayB1bmRlciBkaWZmZXJlbnRcbiAgICAgICMgbmFtZXM7IGJvdGggbmFtZSB0aGUgbmV0d29yayB0aGUgd29ya2xvYWQgY29udGFpbmVycyBqb2luLlxuICAgICAgLSBPUkNIRVNUUkFUT1JfTkVUV09SSz0ke19BUFBfQ09NUFVURV9SVU5USU1FU19ORVRXT1JLOi1kb2twbG95LW5ldHdvcmt9XG4gICAgICAtIERPQ0tFUl9ORVRXT1JLPSR7X0FQUF9DT01QVVRFX1JVTlRJTUVTX05FVFdPUks6LWRva3Bsb3ktbmV0d29ya31cbiAgICAgIC0gQVJUSUZBQ1RfRU5EUE9JTlQ9aHR0cDovL29yY2hlc3RyYXRvcjo4MDgwXG4gICAgICAtIFMzX0VORFBPSU5UPSR7X0FQUF9TVE9SQUdFX1MzX0VORFBPSU5UOi19XG4gICAgICAtIFMzX1JFR0lPTj0ke19BUFBfU1RPUkFHRV9TM19SRUdJT046LXVzLWVhc3QtMX1cbiAgICAgIC0gUzNfQUNDRVNTX0tFWV9JRD0ke19BUFBfU1RPUkFHRV9TM19BQ0NFU1NfS0VZOi19XG4gICAgICAtIFMzX1NFQ1JFVF9BQ0NFU1NfS0VZPSR7X0FQUF9TVE9SQUdFX1MzX1NFQ1JFVDotfVxuXG4gIG1hcmlhZGI6XG4gICAgaW1hZ2U6IG1hcmlhZGI6MTAuMTFcbiAgICBsb2dnaW5nOlxuICAgICAgZHJpdmVyOiBqc29uLWZpbGVcbiAgICAgIG9wdGlvbnM6XG4gICAgICAgIG1heC1maWxlOiBcIjVcIlxuICAgICAgICBtYXgtc2l6ZTogMTBtXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICB2b2x1bWVzOlxuICAgICAgLSBhcHB3cml0ZS1tYXJpYWRiOi92YXIvbGliL215c3FsOnJ3XG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIE1ZU1FMX1JPT1RfUEFTU1dPUkQ9JHtfQVBQX0RCX1JPT1RfUEFTU31cbiAgICAgIC0gTVlTUUxfREFUQUJBU0U9JHtfQVBQX0RCX1NDSEVNQX1cbiAgICAgIC0gTVlTUUxfVVNFUj0ke19BUFBfREJfVVNFUn1cbiAgICAgIC0gTVlTUUxfUEFTU1dPUkQ9JHtfQVBQX0RCX1BBU1N9XG4gICAgICAtIE1BUklBREJfQVVUT19VUEdSQURFPTFcbiAgICBjb21tYW5kOlxuICAgICAgLSBteXNxbGRcbiAgICAgIC0gLS1pbm5vZGItZmx1c2gtbWV0aG9kPWZzeW5jXG4gICAgaGVhbHRoY2hlY2s6XG4gICAgICB0ZXN0OlxuICAgICAgICAtIENNRC1TSEVMTFxuICAgICAgICAtIG1hcmlhZGIgLS1wcm90b2NvbD10Y3AgLWgxMjcuMC4wLjEgLXVyb290IC1wXCIkJE1ZU1FMX1JPT1RfUEFTU1dPUkRcIiAtLXNpbGVudCAtZSBcIlNFTEVDVCAxXCJcbiAgICAgIGludGVydmFsOiA1c1xuICAgICAgdGltZW91dDogNXNcbiAgICAgIHJldHJpZXM6IDEyXG4gICAgICBzdGFydF9wZXJpb2Q6IDEwc1xuICBtb25nb2RiOlxuICAgIGltYWdlOiBtb25nbzo4LjIuNVxuICAgIGxvZ2dpbmc6XG4gICAgICBkcml2ZXI6IGpzb24tZmlsZVxuICAgICAgb3B0aW9uczpcbiAgICAgICAgbWF4LWZpbGU6IFwiNVwiXG4gICAgICAgIG1heC1zaXplOiAxMG1cbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIHZvbHVtZXM6XG4gICAgICAtIGFwcHdyaXRlLW1vbmdvZGI6L2RhdGEvZGJcbiAgICAgIC0gYXBwd3JpdGUtbW9uZ29kYi1rZXlmaWxlOi9kYXRhL2tleWZpbGVcbiAgICAgIC0gLi4vZmlsZXMvbW9uZ28taW5pdC5qczovbW9uZ28taW5pdC5qczpyb1xuICAgICAgLSAuLi9maWxlcy9tb25nby1lbnRyeXBvaW50LnNoOi9tb25nby1lbnRyeXBvaW50LnNoOnJvXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIE1PTkdPX0lOSVREQl9ST09UX1VTRVJOQU1FPXJvb3RcbiAgICAgIC0gTU9OR09fSU5JVERCX1JPT1RfUEFTU1dPUkQ9JHtfQVBQX0RCX1JPT1RfUEFTU31cbiAgICAgIC0gTU9OR09fSU5JVERCX0RBVEFCQVNFPSR7X0FQUF9EQl9TQ0hFTUF9XG4gICAgICAtIE1PTkdPX0lOSVREQl9VU0VSTkFNRT0ke19BUFBfREJfVVNFUn1cbiAgICAgIC0gTU9OR09fSU5JVERCX1BBU1NXT1JEPSR7X0FQUF9EQl9QQVNTfVxuICAgIGVudHJ5cG9pbnQ6XG4gICAgICAtIC9iaW4vYmFzaFxuICAgICAgLSAvbW9uZ28tZW50cnlwb2ludC5zaFxuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDogfFxuICAgICAgICBiYXNoIC1jIFwiXG4gICAgICAgICAgbW9uZ29zaCAtdSByb290IC1wICR7X0FQUF9EQl9ST09UX1BBU1N9IC0tYXV0aGVudGljYXRpb25EYXRhYmFzZSBhZG1pbiAtLXF1aWV0IC0tZXZhbCBcXFwiXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb25zdCBoZWxsbyA9IGRiLmFkbWluQ29tbWFuZCh7aGVsbG86IDF9KTtcbiAgICAgICAgICAgICAgaWYgKGhlbGxvLmlzV3JpdGFibGVQcmltYXJ5ICYmIGhlbGxvLnNldE5hbWUgPT09ICdyczAnKSB7XG4gICAgICAgICAgICAgICAgcXVpdCgwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcnMuaW5pdGlhdGUoe19pZDogJ3JzMCcsIG1lbWJlcnM6IFt7X2lkOiAwLCBob3N0OiAnbW9uZ29kYjoyNzAxNyd9XX0pO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cblxuICAgICAgICAgICAgcXVpdCgxKTtcbiAgICAgICAgICBcXFwiIDI+L2Rldi9udWxsXG4gICAgICAgIFwiXG4gICAgICBpbnRlcnZhbDogMTBzXG4gICAgICB0aW1lb3V0OiAxMHNcbiAgICAgIHJldHJpZXM6IDEwXG4gICAgICBzdGFydF9wZXJpb2Q6IDYwc1xuICBwb3N0Z3Jlc3FsOlxuICAgIGltYWdlOiBhcHB3cml0ZS9wb3N0Z3JlczowLjEuMFxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgbG9nZ2luZzpcbiAgICAgIGRyaXZlcjoganNvbi1maWxlXG4gICAgICBvcHRpb25zOlxuICAgICAgICBtYXgtZmlsZTogXCI1XCJcbiAgICAgICAgbWF4LXNpemU6IDEwbVxuICAgIHZvbHVtZXM6XG4gICAgICAtIGFwcHdyaXRlLXBvc3RncmVzcWw6L3Zhci9saWIvcG9zdGdyZXNxbDpyd1xuICAgIGVudmlyb25tZW50OlxuICAgICAgLSBQT1NUR1JFU19EQj0ke19BUFBfREJfU0NIRU1BfVxuICAgICAgLSBQT1NUR1JFU19VU0VSPSR7X0FQUF9EQl9VU0VSfVxuICAgICAgLSBQT1NUR1JFU19QQVNTV09SRD0ke19BUFBfREJfUEFTU31cbiAgICBoZWFsdGhjaGVjazpcbiAgICAgIHRlc3Q6XG4gICAgICAgIC0gQ01ELVNIRUxMXG4gICAgICAgIC0gcGdfaXNyZWFkeSAtVSAke19BUFBfREJfVVNFUn0gLWQgJHtfQVBQX0RCX1NDSEVNQX1cbiAgICAgIGludGVydmFsOiA1c1xuICAgICAgdGltZW91dDogNXNcbiAgICAgIHJldHJpZXM6IDEwXG4gICAgICBzdGFydF9wZXJpb2Q6IDEwc1xuICAgIGNvbW1hbmQ6XG4gICAgICAtIHBvc3RncmVzXG4gIGFwcHdyaXRlLWVtYmVkZGluZzpcbiAgICBpbWFnZTogYXBwd3JpdGUvZW1iZWRkaW5nOjAuMy4xXG4gICAgcHJvZmlsZXM6XG4gICAgICAtIGVtYmVkZGluZ1xuICAgIGVudmlyb25tZW50OlxuICAgICAgRU1CRURESU5HX01PREVMUzogJHtfQVBQX0VNQkVERElOR19NT0RFTFM6LW5vbWljLWVtYmVkLXRleHR9XG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICB2b2x1bWVzOlxuICAgICAgLSBhcHB3cml0ZS1tb2RlbHM6L2hvbWUvZW1iZWRkZXIvbW9kZWxzXG4gIHJlZGlzOlxuICAgIGltYWdlOiByZWRpczo3LjQuNy1hbHBpbmVcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGxvZ2dpbmc6XG4gICAgICBkcml2ZXI6IGpzb24tZmlsZVxuICAgICAgb3B0aW9uczpcbiAgICAgICAgbWF4LWZpbGU6IFwiNVwiXG4gICAgICAgIG1heC1zaXplOiAxMG1cbiAgICBjb21tYW5kOlxuICAgICAgLSByZWRpcy1zZXJ2ZXJcbiAgICAgIC0gLS1tYXhtZW1vcnlcbiAgICAgIC0gNTEybWJcbiAgICAgIC0gLS1tYXhtZW1vcnktcG9saWN5XG4gICAgICAtIGFsbGtleXMtbHJ1XG4gICAgICAtIC0tbWF4bWVtb3J5LXNhbXBsZXNcbiAgICAgIC0gXCI1XCJcbiAgICB2b2x1bWVzOlxuICAgICAgLSBhcHB3cml0ZS1yZWRpczovZGF0YTpyd1xuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDpcbiAgICAgICAgLSBDTURcbiAgICAgICAgLSByZWRpcy1jbGlcbiAgICAgICAgLSBwaW5nXG4gICAgICBpbnRlcnZhbDogNXNcbiAgICAgIHRpbWVvdXQ6IDVzXG4gICAgICByZXRyaWVzOiAxMlxudm9sdW1lczpcbiAgYXBwd3JpdGUtbWFyaWFkYjogbnVsbFxuICBhcHB3cml0ZS1tb25nb2RiOiBudWxsXG4gIGFwcHdyaXRlLW1vbmdvZGIta2V5ZmlsZTogbnVsbFxuICBhcHB3cml0ZS1wb3N0Z3Jlc3FsOiBudWxsXG4gIGFwcHdyaXRlLXJlZGlzOiBudWxsXG4gIGFwcHdyaXRlLWNhY2hlOiBudWxsXG4gIGFwcHdyaXRlLWNsaWNraG91c2U6IG51bGxcbiAgYXBwd3JpdGUtdXBsb2FkczogbnVsbFxuICBhcHB3cml0ZS1pbXBvcnRzOiBudWxsXG4gIGFwcHdyaXRlLWNlcnRpZmljYXRlczogbnVsbFxuICBhcHB3cml0ZS1mdW5jdGlvbnM6IG51bGxcbiAgYXBwd3JpdGUtc2l0ZXM6IG51bGxcbiAgIyBQaW5uZWQgbmFtZSAodW5wcmVmaXhlZCkgc28gdGhlIGpvYnMtc2VydmljZSBjYW4gYXR0YWNoIGl0IHRvIGJ1aWxkIHdvcmtlcnNcbiAgIyBieSBhIHN0YWJsZSBuYW1lIGFjcm9zcyBlbnZpcm9ubWVudHMgKHNlZSBfQVBQX0JVSUxEU19WT0xVTUUpLlxuICBhcHB3cml0ZS1idWlsZHM6XG4gICAgbmFtZTogYXBwd3JpdGUtYnVpbGRzXG4gIGFwcHdyaXRlLWNvbmZpZzogbnVsbFxuICBhcHB3cml0ZS1tb2RlbHM6IG51bGxcbiAgb3BlbnJ1bnRpbWVzLW5vZGUtbW9kdWxlcy1jYWNoZTogbnVsbCIsCiAgImNvbmZpZyI6ICIjIEFwcHdyaXRlIDIgZXhwb3NlcyB0aGUgQVBJLCB0aGUgQ29uc29sZSwgU2l0ZXMgYW5kIEZ1bmN0aW9ucyBvbiBzZXBhcmF0ZSBob3N0cy5cbiMgRGVmYXVsdHMgYmVsb3cga2VlcCBhIHNpbmdsZSBtYWluIGRvbWFpbiBmb3IgQVBJICsgQ29uc29sZSB3aGlsZSBTaXRlcyBhbmRcbiMgRnVuY3Rpb25zIGxpdmUgb24gdGhlaXIgb3duIHN1YmRvbWFpbnMuIFRvIHNlcGFyYXRlIHRoZSBDb25zb2xlIGZyb20gdGhlIEFQSVxuIyAoZS5nLiB0byBwcm90ZWN0IGl0IGJlaGluZCBDbG91ZGZsYXJlIEFjY2VzcyB3aXRob3V0IGV4cG9zaW5nIHRoZSBwdWJsaWMgQVBJKSxcbiMgY2hhbmdlIGBjb25zb2xlX2RvbWFpbmAgdG8gYSBkZWRpY2F0ZWQgaG9zdCBzdWNoIGFzIFwiY29uc29sZS5leGFtcGxlLmNvbVwiLlxuIyAgIEFQSSAgICAgICAgLT4gJHttYWluX2RvbWFpbn0vdjEgICAgICAgIChhbmQgL3YxL3JlYWx0aW1lLCAvLndlbGwta25vd24pXG4jICAgQ29uc29sZSAgICAtPiAke2NvbnNvbGVfZG9tYWlufS9cbiMgICBTaXRlcyAgICAgIC0+ICR7c2l0ZXNfZG9tYWlufVxuIyAgIEZ1bmN0aW9ucyAgLT4gJHtmdW5jdGlvbnNfZG9tYWlufVxuW3ZhcmlhYmxlc11cbm1haW5fZG9tYWluID0gXCIke2RvbWFpbn1cIlxuY29uc29sZV9kb21haW4gPSBcImNvbnNvbGUuJHttYWluX2RvbWFpbn1cIlxuZnVuY3Rpb25zX2RvbWFpbiA9IFwiZnVuY3Rpb25zLiR7bWFpbl9kb21haW59XCJcbnNpdGVzX2RvbWFpbiA9IFwic2l0ZXMuJHttYWluX2RvbWFpbn1cIlxub3BlbnNzbF9rZXkgPSBcIiR7cGFzc3dvcmQ6MzJ9XCJcbm5vdGlmaWNhdGlvbnNfdHJhY2tpbmdfc2VjcmV0ID0gXCIke3Bhc3N3b3JkOjMyfVwiXG5kYl9yb290X3B3ID0gXCIke3Bhc3N3b3JkOjMyfVwiXG5kYl91c2VyX3B3ID0gXCIke3Bhc3N3b3JkOjMyfVwiXG5leGVjdXRvcl9zZWNyZXQgPSBcIiR7cGFzc3dvcmQ6MzJ9XCJcbmpvYnNfc2VjcmV0ID0gXCIke3Bhc3N3b3JkOjMyfVwiXG51c2FnZV9wYXNzID0gXCIke3Bhc3N3b3JkOjMyfVwiXG5nZW9fc2VjcmV0ID0gXCIke3Bhc3N3b3JkOjMyfVwiXG5cbltjb25maWddXG5lbnYgPSBbXG4gIFwiX0FQUF9FTlY9cHJvZHVjdGlvblwiLFxuICBcIl9BUFBfRURJVElPTj1zZWxmLWhvc3RlZFwiLFxuICBcIl9BUFBfTE9DQUxFPWVuXCIsXG4gIFwiX0FQUF9PUEVOU1NMX0tFWV9WMT0ke29wZW5zc2xfa2V5fVwiLFxuICBcIl9BUFBfTk9USUZJQ0FUSU9OU19UUkFDS0lOR19TRUNSRVQ9JHtub3RpZmljYXRpb25zX3RyYWNraW5nX3NlY3JldH1cIixcbiAgXCJfQVBQX1JVTEVTX0ZPUk1BVD1tZDVcIixcbiAgXCJfQVBQX1NZU1RFTV9SRVNQT05TRV9GT1JNQVQ9XCIsXG4gIFwiX0FQUF9UUlVTVEVEX0hFQURFUlM9eC1mb3J3YXJkZWQtZm9yXCIsXG4gIFwiX0FQUF9XT1JLRVJfUEVSX0NPUkU9NlwiLFxuICBcIl9BUFBfV09SS0VSU19OVU09MVwiLFxuICBcIl9BUFBfV09SS0VSX01BWF9DT1JPVVRJTkVTPTFcIixcbiAgXCJfQVBQX1dPUktFUl9TQ1JFRU5TSE9UU19ST1VURVI9aHR0cDovL2FwcHdyaXRlXCIsXG4gIFwiX0FQUF9SRUFMVElNRV9UQUlMX1JBVEU9NTBcIixcbiAgXCJfQVBQX0NPTVBSRVNTSU9OX0VOQUJMRUQ9ZW5hYmxlZFwiLFxuICBcIl9BUFBfQ09NUFJFU1NJT05fTUlOX1NJWkVfQllURVM9MTAyNFwiLFxuICBcIl9BUFBfRE9NQUlOPSR7bWFpbl9kb21haW59XCIsXG4gIFwiX0FQUF9ET01BSU5fRlVOQ1RJT05TPSR7ZnVuY3Rpb25zX2RvbWFpbn1cIixcbiAgXCJfQVBQX0RPTUFJTl9TSVRFUz0ke3NpdGVzX2RvbWFpbn1cIixcbiAgXCJfQVBQX0RPTUFJTl9UQVJHRVRfQT0xMjcuMC4wLjFcIixcbiAgXCJfQVBQX0RPTUFJTl9UQVJHRVRfQUFBQT06OjFcIixcbiAgXCJfQVBQX0RPTUFJTl9UQVJHRVRfQ0FBPVwiLFxuICBcIl9BUFBfRE9NQUlOX1RBUkdFVF9DTkFNRT1sb2NhbGhvc3RcIixcbiAgXCJfQVBQX0NVU1RPTV9ET01BSU5fREVOWV9MSVNUPWV4YW1wbGUuY29tLHRlc3QuY29tLGFwcC5leGFtcGxlLmNvbVwiLFxuICBcIl9BUFBfRE5TPTguOC44LjhcIixcbiAgXCJfQVBQX09QVElPTlNfRk9SQ0VfSFRUUFM9ZGlzYWJsZWRcIixcbiAgXCJfQVBQX09QVElPTlNfUk9VVEVSX0ZPUkNFX0hUVFBTPWRpc2FibGVkXCIsXG4gIFwiX0FQUF9PUFRJT05TX1JPVVRFUl9QUk9URUNUSU9OPWRpc2FibGVkXCIsXG4gIFwiX0FQUF9ST1VURVJfQVVUT19DRVJUSUZJQ0FURVM9ZGlzYWJsZWRcIixcbiAgXCJfQVBQX09QVElPTlNfQUJVU0U9ZW5hYmxlZFwiLFxuICBcIl9BUFBfT1BUSU9OU19BQlVTRV9JTkNSRUFTRURfTElNSVRfUFJPSkVDVFM9aW5jcmVhc2VkLWxpbWl0LXByb2plY3RcIixcbiAgXCJfQVBQX0NPTlNPTEVfRE9NQUlOPSR7Y29uc29sZV9kb21haW59XCIsXG4gIFwiX0FQUF9DT05TT0xFX1VSTD1odHRwczovLyR7Y29uc29sZV9kb21haW59XCIsXG4gIFwiX0FQUF9DT05TT0xFX0hPU1ROQU1FUz0ke2NvbnNvbGVfZG9tYWlufVwiLFxuICBcIl9BUFBfQ09OU09MRV9TQ0hFTUE9YXBwd3JpdGVpb1wiLFxuICBcIl9BUFBfQ09OU09MRV9TRVNTSU9OX0FMRVJUUz1kaXNhYmxlZFwiLFxuICBcIl9BUFBfQ09OU09MRV9UUlVTVEVEX1BST0pFQ1RTPVwiLFxuICBcIl9BUFBfQ09OU09MRV9DT1VOVFJJRVNfREVOWUxJU1Q9XCIsXG4gIFwiX0FQUF9DT05TT0xFX1dISVRFTElTVF9FTUFJTFM9XCIsXG4gIFwiX0FQUF9DT05TT0xFX1dISVRFTElTVF9JUFM9XCIsXG4gIFwiX0FQUF9DT05TT0xFX1dISVRFTElTVF9ST09UPWVuYWJsZWRcIixcbiAgXCJfQVBQX0NPTlNPTEVfR0lUSFVCX0FQUF9JRD1cIixcbiAgXCJfQVBQX0NPTlNPTEVfR0lUSFVCX1NFQ1JFVD1cIixcbiAgXCJfQVBQX0NPTlNPTEVfR0lUTEFCX0FQUF9JRD1cIixcbiAgXCJfQVBQX0NPTlNPTEVfR0lUTEFCX1NFQ1JFVD1cIixcbiAgXCJfQVBQX0NPTlNPTEVfR0lUTEFCX0VORFBPSU5UPVwiLFxuICBcIl9BUFBfQ09OU09MRV9CSVRCVUNLRVRfQVBQX0lEPVwiLFxuICBcIl9BUFBfQ09OU09MRV9CSVRCVUNLRVRfU0VDUkVUPVwiLFxuICBcIl9BUFBfQ09OU09MRV9HT09HTEVfQVBQX0lEPVwiLFxuICBcIl9BUFBfQ09OU09MRV9HT09HTEVfU0VDUkVUPVwiLFxuICBcIl9BUFBfREJfQURBUFRFUj1wb3N0Z3Jlc3FsXCIsXG4gIFwiX0FQUF9EQl9IT1NUPXBvc3RncmVzcWxcIixcbiAgXCJfQVBQX0RCX1BPUlQ9NTQzMlwiLFxuICBcIl9BUFBfREJfU0NIRU1BPWFwcHdyaXRlXCIsXG4gIFwiX0FQUF9EQl9VU0VSPXVzZXJcIixcbiAgXCJfQVBQX0RCX1BBU1M9JHtkYl91c2VyX3B3fVwiLFxuICBcIl9BUFBfREJfUk9PVF9QQVNTPSR7ZGJfcm9vdF9wd31cIixcbiAgXCJfQVBQX0RBVEFCQVNFX1NIQVJFRF9OQU1FU1BBQ0U9XCIsXG4gIFwiX0FQUF9EQVRBQkFTRV9TSEFSRURfVEFCTEVTPVwiLFxuICBcIl9BUFBfREJfQURBUFRFUl9ET0NVTUVOVFNEQj1tb25nb2RiXCIsXG4gIFwiX0FQUF9EQl9IT1NUX0RPQ1VNRU5UU0RCPW1vbmdvZGJcIixcbiAgXCJfQVBQX0RCX1BPUlRfRE9DVU1FTlRTREI9MjcwMTdcIixcbiAgXCJfQVBQX0RCX0FEQVBURVJfVkVDVE9SU0RCPXBvc3RncmVzcWxcIixcbiAgXCJfQVBQX0RCX0hPU1RfVkVDVE9SU0RCPXBvc3RncmVzcWxcIixcbiAgXCJfQVBQX0RCX1BPUlRfVkVDVE9SU0RCPTU0MzJcIixcbiAgXCJfQVBQX1JFRElTX0hPU1Q9cmVkaXNcIixcbiAgXCJfQVBQX1JFRElTX1BPUlQ9NjM3OVwiLFxuICBcIl9BUFBfUkVESVNfVVNFUj1cIixcbiAgXCJfQVBQX1JFRElTX1BBU1M9XCIsXG4gIFwiX0FQUF9FTUJFRERJTkc9ZGlzYWJsZWRcIixcbiAgXCJfQVBQX0VNQkVERElOR19FTkRQT0lOVD0naHR0cDovL2FwcHdyaXRlLWVtYmVkZGluZzozMDAwL2VtYmVkJ1wiLFxuICBcIl9BUFBfRU1CRURESU5HX01PREVMUz1ub21pYy1lbWJlZC10ZXh0XCIsXG4gIFwiX0FQUF9FTUJFRERJTkdfVElNRU9VVD0zMDAwMFwiLFxuICBcIl9BUFBfUFdORURfUEFTU1dPUkRTX0RTTj1ub25lOi8vbG9jYWxob3N0XCIsXG4gIFwiX0FQUF9NUVRUX1JFUExBWV9ERVBUSD01XCIsXG4gIFwiX0FQUF9NUVRUX01BWF9QQUNLRVRfU0laRT02NDAwMFwiLFxuICBcIl9BUFBfU1RPUkFHRV9ERVZJQ0U9TG9jYWxcIixcbiAgXCJfQVBQX1NUT1JBR0VfTElNSVQ9MzAwMDAwMDBcIixcbiAgXCJfQVBQX1NUT1JBR0VfUFJFVklFV19MSU1JVD0yMDAwMDAwMFwiLFxuICBcIl9BUFBfQVVUT0dSQVZJVFlfSE9TVD1odHRwOi8vYXBwd3JpdGUtYXV0b2dyYXZpdHk6ODA4MFwiLFxuICBcIl9BUFBfU1RPUkFHRV9BTlRJVklSVVM9ZGlzYWJsZWRcIixcbiAgXCJfQVBQX1NUT1JBR0VfQU5USVZJUlVTX0hPU1Q9Y2xhbWF2XCIsXG4gIFwiX0FQUF9TVE9SQUdFX0FOVElWSVJVU19QT1JUPTMzMTBcIixcbiAgXCJfQVBQX1NUT1JBR0VfUzNfQUNDRVNTX0tFWT1cIixcbiAgXCJfQVBQX1NUT1JBR0VfUzNfU0VDUkVUPVwiLFxuICBcIl9BUFBfU1RPUkFHRV9TM19SRUdJT049dXMtZWFzdC0xXCIsXG4gIFwiX0FQUF9TVE9SQUdFX1MzX0JVQ0tFVD1cIixcbiAgXCJfQVBQX1NUT1JBR0VfUzNfRU5EUE9JTlQ9XCIsXG4gIFwiX0FQUF9TVE9SQUdFX0RPX1NQQUNFU19BQ0NFU1NfS0VZPVwiLFxuICBcIl9BUFBfU1RPUkFHRV9ET19TUEFDRVNfU0VDUkVUPVwiLFxuICBcIl9BUFBfU1RPUkFHRV9ET19TUEFDRVNfUkVHSU9OPXVzLWVhc3QtMVwiLFxuICBcIl9BUFBfU1RPUkFHRV9ET19TUEFDRVNfQlVDS0VUPVwiLFxuICBcIl9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQUNDRVNTX0tFWT1cIixcbiAgXCJfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1NFQ1JFVD1cIixcbiAgXCJfQVBQX1NUT1JBR0VfQkFDS0JMQVpFX1JFR0lPTj11cy13ZXN0LTAwNFwiLFxuICBcIl9BUFBfU1RPUkFHRV9CQUNLQkxBWkVfQlVDS0VUPVwiLFxuICBcIl9BUFBfU1RPUkFHRV9MSU5PREVfQUNDRVNTX0tFWT1cIixcbiAgXCJfQVBQX1NUT1JBR0VfTElOT0RFX1NFQ1JFVD1cIixcbiAgXCJfQVBQX1NUT1JBR0VfTElOT0RFX1JFR0lPTj1ldS1jZW50cmFsLTFcIixcbiAgXCJfQVBQX1NUT1JBR0VfTElOT0RFX0JVQ0tFVD1cIixcbiAgXCJfQVBQX1NUT1JBR0VfV0FTQUJJX0FDQ0VTU19LRVk9XCIsXG4gIFwiX0FQUF9TVE9SQUdFX1dBU0FCSV9TRUNSRVQ9XCIsXG4gIFwiX0FQUF9TVE9SQUdFX1dBU0FCSV9SRUdJT049ZXUtY2VudHJhbC0xXCIsXG4gIFwiX0FQUF9TVE9SQUdFX1dBU0FCSV9CVUNLRVQ9XCIsXG4gIFwiX0FQUF9TWVNURU1fRU1BSUxfTkFNRT1BcHB3cml0ZVwiLFxuICBcIl9BUFBfU1lTVEVNX0VNQUlMX0FERFJFU1M9bm9yZXBseUBhcHB3cml0ZS5pb1wiLFxuICBcIl9BUFBfU1lTVEVNX1RFQU1fRU1BSUw9dGVhbUBhcHB3cml0ZS5pb1wiLFxuICBcIl9BUFBfRU1BSUxfU0VDVVJJVFk9c2VjdXJpdHlAYXBwd3JpdGUuaW9cIixcbiAgXCJfQVBQX0VNQUlMX0NFUlRJRklDQVRFUz1jZXJ0aWZpY2F0ZXNAYXBwd3JpdGUuaW9cIixcbiAgXCJfQVBQX1NNVFBfSE9TVD1cIixcbiAgXCJfQVBQX1NNVFBfUE9SVD1cIixcbiAgXCJfQVBQX1NNVFBfU0VDVVJFPVwiLFxuICBcIl9BUFBfU01UUF9VU0VSTkFNRT1cIixcbiAgXCJfQVBQX1NNVFBfUEFTU1dPUkQ9XCIsXG4gIFwiX0FQUF9TTVNfUFJPVklERVI9XCIsXG4gIFwiX0FQUF9TTVNfRlJPTT1cIixcbiAgXCJfQVBQX1NNU19QUk9KRUNUU19ERU5ZX0xJU1Q9XCIsXG4gIFwiX0FQUF9NRVNTQUdFX0VNQUlMX1RFU1RfRFNOPVwiLFxuICBcIl9BUFBfTUVTU0FHRV9QVVNIX1RFU1RfRFNOPVwiLFxuICBcIl9BUFBfTUVTU0FHRV9TTVNfVEVTVF9EU049XCIsXG4gIFwiX0FQUF9DT01QVVRFX1NJWkVfTElNSVQ9MzAwMDAwMDBcIixcbiAgXCJfQVBQX0NPTVBVVEVfQlVJTERfU0laRV9MSU1JVD0yMDAwMDAwMDAwXCIsXG4gIFwiX0FQUF9DT01QVVRFX0JVSUxEX1RJTUVPVVQ9OTAwXCIsXG4gIFwiX0FQUF9DT01QVVRFX0NQVVM9MFwiLFxuICBcIl9BUFBfQ09NUFVURV9NRU1PUlk9MFwiLFxuICBcIl9BUFBfQ09NUFVURV9JTkFDVElWRV9USFJFU0hPTEQ9NjAwXCIsXG4gIFwiX0FQUF9DT01QVVRFX01BSU5URU5BTkNFX0lOVEVSVkFMPTYwMFwiLFxuICBcIl9BUFBfQ09NUFVURV9SVU5USU1FU19ORVRXT1JLPWRva3Bsb3ktbmV0d29ya1wiLFxuICBcIl9BUFBfT1BFTl9SVU5USU1FU19ORlQ9ZW5hYmxlZFwiLFxuICBcIl9BUFBfRlVOQ1RJT05TX1JVTlRJTUVTPW5vZGUtMjIsbm9kZS0yNCxub2RlLTI2LHB5dGhvbi0zLjEyLHB5dGhvbi0zLjE0LHBocC04LjQscnVieS00LjAsZGFydC0zLjUsZ28tMS4yMyxnby0xLjI2LHJ1c3QtMS44MyxidW4tMS4zLGRlbm8tMi42LGphdmEtMjIsZG90bmV0LTEwLGtvdGxpbi0yLjMsc3dpZnQtNi4yXCIsXG4gIFwiX0FQUF9GVU5DVElPTlNfVElNRU9VVD05MDBcIixcbiAgXCJfQVBQX0ZVTkNUSU9OU19DUkVBVElPTl9BQlVTRV9MSU1JVD01MDAwXCIsXG4gIFwiX0FQUF9TSVRFU19SVU5USU1FUz1zdGF0aWMtMSxub2RlLTIyLG5vZGUtMjQsbm9kZS0yNixmbHV0dGVyLTMuNDRcIixcbiAgXCJfQVBQX1NJVEVTX1RJTUVPVVQ9NjBcIixcbiAgXCJfQVBQX0VYRUNVVE9SX0hPU1Q9aHR0cDovL29wZW5ydW50aW1lcy1leGVjdXRvci92MVwiLFxuICBcIl9BUFBfRVhFQ1VUT1JfU0VDUkVUPSR7ZXhlY3V0b3Jfc2VjcmV0fVwiLFxuICBcIl9BUFBfRVhFQ1VUT1JfSU1BR0VTPW9wZW5ydW50aW1lcy9ub2RlOnY1LTIyLG9wZW5ydW50aW1lcy9ub2RlOnY1LTI0LG9wZW5ydW50aW1lcy9ub2RlOnY1LTI2LG9wZW5ydW50aW1lcy9zdGF0aWM6djUtMSxvcGVucnVudGltZXMvcHl0aG9uOnY1LTMuMTIsb3BlbnJ1bnRpbWVzL3B5dGhvbjp2NS0zLjE0LG9wZW5ydW50aW1lcy9waHA6djUtOC40LG9wZW5ydW50aW1lcy9ydWJ5OnY1LTQuMCxvcGVucnVudGltZXMvZGFydDp2NS0zLjUsb3BlbnJ1bnRpbWVzL2dvOnY1LTEuMjMsb3BlbnJ1bnRpbWVzL2dvOnY1LTEuMjYsb3BlbnJ1bnRpbWVzL3J1c3Q6djUtMS44MyxvcGVucnVudGltZXMvYnVuOnY1LTEuMyxvcGVucnVudGltZXMvZGVubzp2NS0yLjYsb3BlbnJ1bnRpbWVzL2phdmE6djUtMjIsb3BlbnJ1bnRpbWVzL2RvdG5ldDp2NS0xMCxvcGVucnVudGltZXMva290bGluOnY1LTIuMyxvcGVucnVudGltZXMvc3dpZnQ6djUtNi4yLG9wZW5ydW50aW1lcy9mbHV0dGVyOnY1LTMuNDRcIixcbiAgXCJfQVBQX0VYRUNVVE9SX0NPTk5FQ1RJT05fU1RPUkFHRT1sb2NhbDovL2xvY2FsaG9zdFwiLFxuICBcIl9BUFBfQlVJTERTX1ZPTFVNRT1hcHB3cml0ZS1idWlsZHNcIixcbiAgXCJfQVBQX0pPQlNfSE9TVD1odHRwOi8vb3JjaGVzdHJhdG9yOjgwODBcIixcbiAgXCJfQVBQX0pPQlNfU0VDUkVUPSR7am9ic19zZWNyZXR9XCIsXG4gIFwiX0FQUF9KT0JTX0VORFBPSU5UPWh0dHA6Ly9hcHB3cml0ZVwiLFxuICBcIl9BUFBfQlJPV1NFUl9IT1NUPWh0dHA6Ly9hcHB3cml0ZS1icm93c2VyOjMwMDAvdjFcIixcbiAgXCJfQVBQX0RPQ0tFUl9IVUJfVVNFUk5BTUU9XCIsXG4gIFwiX0FQUF9ET0NLRVJfSFVCX1BBU1NXT1JEPVwiLFxuICBcIl9BUFBfTUFJTlRFTkFOQ0VfSU5URVJWQUw9ODY0MDBcIixcbiAgXCJfQVBQX01BSU5URU5BTkNFX1NUQVJUX1RJTUU9MTI6MDBcIixcbiAgXCJfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BQlVTRT04NjQwMFwiLFxuICBcIl9BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0FVRElUPTEyMDk2MDBcIixcbiAgXCJfQVBQX01BSU5URU5BTkNFX1JFVEVOVElPTl9BVURJVF9DT05TT0xFPTE1Nzc4ODAwXCIsXG4gIFwiX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fQ0FDSEU9MjU5MjAwMFwiLFxuICBcIl9BUFBfTUFJTlRFTkFOQ0VfUkVURU5USU9OX0VYRUNVVElPTj0xMjA5NjAwXCIsXG4gIFwiX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fU0NIRURVTEVTPTg2NDAwXCIsXG4gIFwiX0FQUF9VU0FHRV9TVEFUUz1lbmFibGVkXCIsXG4gIFwiX0FQUF9VU0FHRV9QQVNTPSR7dXNhZ2VfcGFzc31cIixcbiAgXCJfQVBQX0NPTk5FQ1RJT05TX0RCX1VTQUdFPWh0dHA6Ly9hcHB3cml0ZToke3VzYWdlX3Bhc3N9QGNsaWNraG91c2U6ODEyMy9hcHB3cml0ZVwiLFxuICBcIl9BUFBfUE9PTF9TSVpFX1VTQUdFPTJcIixcbiAgXCJfQVBQX0NPTk5FQ1RJT05TX0RCX0VYRUNVVElPTlM9aHR0cDovL2FwcHdyaXRlOiR7dXNhZ2VfcGFzc31AY2xpY2tob3VzZTo4MTIzL2FwcHdyaXRlXCIsXG4gIFwiX0FQUF9QT09MX1NJWkVfRVhFQ1VUSU9OUz0yXCIsXG4gIFwiX0FQUF9NQUlOVEVOQU5DRV9SRVRFTlRJT05fVVNBR0VfVFRMPTE4MFwiLFxuICBcIl9BUFBfU1RBVFNfVVNBR0VfUVVFVUVfTkFNRT12MS1zdGF0cy11c2FnZVwiLFxuICBcIl9BUFBfU1RBVFNfUkVTT1VSQ0VTX1FVRVVFX05BTUU9djEtc3RhdHMtcmVzb3VyY2VzXCIsXG4gIFwiX0FQUF9TVEFUU19SRVNPVVJDRVNfSU5URVJWQUw9MzYwMFwiLFxuICBcIl9BUFBfSU5URVJWQUxfQ0xFQU5VUF9TVEFMRV9FWEVDVVRJT05TPTMwMFwiLFxuICBcIl9BUFBfSU5URVJWQUxfRE9NQUlOX1ZFUklGSUNBVElPTj0xMjBcIixcbiAgXCJfQVBQX0dSQVBIUUxfSU5UUk9TUEVDVElPTj1lbmFibGVkXCIsXG4gIFwiX0FQUF9HUkFQSFFMX01BWF9CQVRDSF9TSVpFPTEwXCIsXG4gIFwiX0FQUF9HUkFQSFFMX01BWF9DT01QTEVYSVRZPTI1MFwiLFxuICBcIl9BUFBfR1JBUEhRTF9NQVhfREVQVEg9NFwiLFxuICBcIl9BUFBfQVNTSVNUQU5UX09QRU5BSV9BUElfS0VZPVwiLFxuICBcIl9BUFBfTE9HR0lOR19DT05GSUc9XCIsXG4gIFwiX0FQUF9MT0dHSU5HX0ZPUk1BVD1wcmV0dHlcIixcbiAgXCJfQVBQX01JR1JBVElPTl9IT1NUPWFwcHdyaXRlXCIsXG4gIFwiX0FQUF9NSUdSQVRJT05TX0ZJUkVCQVNFX0NMSUVOVF9JRD1cIixcbiAgXCJfQVBQX01JR1JBVElPTlNfRklSRUJBU0VfQ0xJRU5UX1NFQ1JFVD1cIixcbiAgXCJfQVBQX1BST0pFQ1RfUkVHSU9OUz1kZWZhdWx0XCIsXG4gIFwiX0FQUF9HRU9fU0VDUkVUPSR7Z2VvX3NlY3JldH1cIixcbiAgXCJfQVBQX0dFT19FTkRQT0lOVD1odHRwOi8vYXBwd3JpdGUtZ2VvL3YxXCIsXG4gIFwiX0FQUF9WQ1NfR0lUSFVCX0FQUF9JRD1cIixcbiAgXCJfQVBQX1ZDU19HSVRIVUJfQVBQX05BTUU9XCIsXG4gIFwiX0FQUF9WQ1NfR0lUSFVCX0NMSUVOVF9JRD1cIixcbiAgXCJfQVBQX1ZDU19HSVRIVUJfQ0xJRU5UX1NFQ1JFVD1cIixcbiAgXCJfQVBQX1ZDU19HSVRIVUJfUFJJVkFURV9LRVk9ZGlzYWJsZWRcIixcbiAgXCJfQVBQX1ZDU19HSVRIVUJfV0VCSE9PS19TRUNSRVQ9XCIsXG4gIFwiX0FQUF9WQ1NfR0lURUFfRU5EUE9JTlQ9XCIsXG4gIFwiX0FQUF9WQ1NfR0lURUFfQlJPV1NFUl9FTkRQT0lOVD1cIixcbiAgXCJfQVBQX1ZDU19HSVRFQV9DTElFTlRfSUQ9XCIsXG4gIFwiX0FQUF9WQ1NfR0lURUFfQ0xJRU5UX1NFQ1JFVD1cIixcbiAgXCJfQVBQX1ZDU19HSVRFQV9XRUJIT09LX1NFQ1JFVD1cIixcbiAgXCJfQVBQX1ZDU19HSVRMQUJfRU5EUE9JTlQ9XCIsXG4gIFwiX0FQUF9WQ1NfR0lUTEFCX0NMSUVOVF9JRD1cIixcbiAgXCJfQVBQX1ZDU19HSVRMQUJfQ0xJRU5UX1NFQ1JFVD1cIixcbiAgXCJfQVBQX1ZDU19HSVRMQUJfV0VCSE9PS19TRUNSRVQ9XCIsXG4gIFwiX0FQUF9WQ1NfQklUQlVDS0VUX0NMSUVOVF9JRD1cIixcbiAgXCJfQVBQX1ZDU19CSVRCVUNLRVRfQ0xJRU5UX1NFQ1JFVD1cIixcbiAgXCJfQVBQX1ZDU19CSVRCVUNLRVRfV0VCSE9PS19TRUNSRVQ9XCIsXG4gIFwiX0FQUF9WQ1NfT1JJR0lOX0NMSUVOVF9JRD1cIixcbiAgXCJfQVBQX1ZDU19PUklHSU5fUFJJVkFURV9LRVk9XCIsXG4gIFwiX0FQUF9WQ1NfV0VCSE9PS19VUkw9aHR0cHM6Ly8ke21haW5fZG9tYWlufS92MVwiLFxuICBcIl9BUFBfV0VCSE9PS19NQVhfRkFJTEVEX0FUVEVNUFRTPTEwXCIsXG5dXG5cbltbY29uZmlnLm1vdW50c11dXG5maWxlUGF0aCA9IFwibW9uZ28taW5pdC5qc1wiXG5jb250ZW50ID0gXCJcIlwiLy8gbW9uZ28taW5pdC5qc1xuXG5jb25zdCBhZG1pbkRiID0gZGIuZ2V0U2libGluZ0RCKCdhZG1pbicpO1xuXG5jb25zdCB1c2VybmFtZSA9IHByb2Nlc3MuZW52Lk1PTkdPX0lOSVREQl9VU0VSTkFNRTtcbmNvbnN0IHBhc3N3b3JkID0gcHJvY2Vzcy5lbnYuTU9OR09fSU5JVERCX1BBU1NXT1JEO1xuY29uc3QgZGF0YWJhc2UgPSBwcm9jZXNzLmVudi5NT05HT19JTklUREJfREFUQUJBU0U7XG5cbi8vIElkZW1wb3RlbnQ6IHRoZSBvZmZpY2lhbCBlbnRyeXBvaW50IHJhY2VzIHRoZSByZWFsIHNlcnZlciBvbiBwb3J0IDI3MDE3IHdoZW5cbi8vIGluaXRpYWxpc2luZyBhIGZyZXNoIHZvbHVtZSAoYXBwd3JpdGUvYXBwd3JpdGUjMTM1OTMpLCBzbyB0aGlzIHNjcmlwdCBtYXkgcnVuXG4vLyBtb3JlIHRoYW4gb25jZS4gU2tpcCBpZiB0aGUgdXNlciBhbHJlYWR5IGV4aXN0cy5cbmlmIChhZG1pbkRiLmdldFVzZXIodXNlcm5hbWUpID09PSBudWxsKSB7XG4gIGFkbWluRGIuY3JlYXRlVXNlcih7XG4gICAgdXNlcjogdXNlcm5hbWUsXG4gICAgcHdkOiBwYXNzd29yZCxcbiAgICByb2xlczogW1xuICAgICAgeyByb2xlOiAncmVhZFdyaXRlJywgZGI6IGRhdGFiYXNlIH1cbiAgICBdXG4gIH0pO1xufVxuXCJcIlwiXG5cbltbY29uZmlnLm1vdW50c11dXG5maWxlUGF0aCA9IFwibW9uZ28tZW50cnlwb2ludC5zaFwiXG5jb250ZW50ID0gXCJcIlwiIyEvYmluL2Jhc2hcbnNldCAtZVxuXG5LRVlGSUxFX1BBVEg9XCIvZGF0YS9rZXlmaWxlL21vbmdvLWtleWZpbGVcIlxuXG5pZiBbICEgLWYgXCIkS0VZRklMRV9QQVRIXCIgXTsgdGhlblxuICBlY2hvIFwiR2VuZXJhdGluZyByYW5kb20gTW9uZ29EQiBrZXlmaWxlLi4uXCJcbiAgbWtkaXIgLXAgL2RhdGEva2V5ZmlsZVxuICBvcGVuc3NsIHJhbmQgLWJhc2U2NCA3NTYgPiBcIiRLRVlGSUxFX1BBVEhcIlxuZmlcblxuY2htb2QgNDAwIFwiJEtFWUZJTEVfUEFUSFwiXG5jaG93biBtb25nb2RiOm1vbmdvZGIgXCIkS0VZRklMRV9QQVRIXCIgMj4vZGV2L251bGwgfHwgY2hvd24gOTk5Ojk5OSBcIiRLRVlGSUxFX1BBVEhcIlxuXG4jIFRoZSBzdGFuZGFyZCBlbnRyeXBvaW50IGluaXRpYWxpc2VzIGFuIGVtcHR5IGRhdGEgZGlyZWN0b3J5IHdpdGggYSBzZWNvbmRcbiMgbW9uZ29kIG9uIDI3MDE3LCBzdG9wcGVkIHdpdGggYG1vbmdvZCAtLXNodXRkb3duYC4gVGhhdCByZXR1cm5zIG9uY2UgdGhlXG4jIHNlcnZlciBjbGVhcnMgPGRicGF0aD4vbW9uZ29kLmxvY2ssIHNldmVyYWwgc3RlcHMgYmVmb3JlIGl0IGV4aXRzIGFuZFxuIyByZWxlYXNlcyB0aGUgcG9ydCwgYW5kIHRoZSByZWFsIHNlcnZlciBiaW5kcyBhIG1pbGxpc2Vjb25kIGFmdGVyIGl0IHN0YXJ0cyAtLVxuIyBzbyBhIHNsb3cgc2h1dGRvd24gdGFpbCBsZWF2ZXMgaXQgZXhpdGluZyA0OCwgXCJBZGRyZXNzIGFscmVhZHkgaW4gdXNlXCIsXG4jIHRha2luZyB0aGUgY29udGFpbmVyIHdpdGggaXQgKGFwcHdyaXRlL2FwcHdyaXRlIzEzNTkzKS4gSW5pdGlhbGlzZSBoZXJlXG4jIGluc3RlYWQsIG9uIGEgcG9ydCB0aGUgcmVhbCBzZXJ2ZXIgbmV2ZXIgYmluZHMsIGFuZCBoYW5kIG92ZXIgYSBkaXJlY3RvcnlcbiMgdGhlIHN0YW5kYXJkIGVudHJ5cG9pbnQgaGFzIG5vdGhpbmcgbGVmdCB0byBkby5cbklOSVRfTUFSS0VSPS9kYXRhL2RiLy5hcHB3cml0ZS1pbml0aWFsaXNlZFxuaWYgWyAhIC1lIFwiJElOSVRfTUFSS0VSXCIgXTsgdGhlblxuICBJTklUX1BPUlQ9MjcwMThcbiAgZWNobyBcIkluaXRpYWxpc2luZyBNb25nb0RCIGRhdGEgZGlyZWN0b3J5Li4uXCJcbiAgZmluZCAtTCAvZGF0YS9kYiBcXFxcISAtdXNlciBtb25nb2RiIC1leGVjIGNob3duIG1vbmdvZGIgJ3t9JyArXG4gIGV4cG9ydCBNT05HT19JTklUREJfREFUQUJBU0U9XCIke01PTkdPX0lOSVREQl9EQVRBQkFTRTotdGVzdH1cIlxuICBnb3N1IG1vbmdvZGIgbW9uZ29kIC0tZGJwYXRoIC9kYXRhL2RiIC0tYmluZF9pcCAxMjcuMC4wLjEgLS1wb3J0IFwiJElOSVRfUE9SVFwiICZcbiAgSU5JVF9TRVJWRVI9JCFcbiAgUkVBRFk9XG4gIGZvciBfIGluICQoc2VxIDEgMzApOyBkb1xuICAgIGlmIG1vbmdvc2ggLS1ob3N0IDEyNy4wLjAuMSAtLXBvcnQgXCIkSU5JVF9QT1JUXCIgLS1xdWlldCAtLWV2YWwgJ3F1aXQoMCknID4gL2Rldi9udWxsIDI+JjE7IHRoZW5cbiAgICAgIFJFQURZPTFcbiAgICAgIGJyZWFrXG4gICAgZmlcbiAgICBpZiAhIGtpbGwgLTAgXCIkSU5JVF9TRVJWRVJcIiAyPi9kZXYvbnVsbDsgdGhlblxuICAgICAgYnJlYWtcbiAgICBmaVxuICAgIHNsZWVwIDFcbiAgZG9uZVxuICBpZiBbIC16IFwiJFJFQURZXCIgXTsgdGhlblxuICAgIGVjaG8gXCJNb25nb0RCIGRpZCBub3QgYWNjZXB0IGNvbm5lY3Rpb25zIGZvciBpbml0aWFsaXNhdGlvblwiID4mMlxuICAgIGV4aXQgMVxuICBmaVxuICBtb25nb3NoIC0taG9zdCAxMjcuMC4wLjEgLS1wb3J0IFwiJElOSVRfUE9SVFwiIC0tcXVpZXQgYWRtaW4gLS1ldmFsICdcbiAgICBjb25zdCB1c2VybmFtZSA9IHByb2Nlc3MuZW52Lk1PTkdPX0lOSVREQl9ST09UX1VTRVJOQU1FO1xuICAgIGlmIChkYi5nZXRVc2VyKHVzZXJuYW1lKSA9PT0gbnVsbCkge1xuICAgICAgZGIuY3JlYXRlVXNlcih7XG4gICAgICAgIHVzZXI6IHVzZXJuYW1lLFxuICAgICAgICBwd2Q6IHByb2Nlc3MuZW52Lk1PTkdPX0lOSVREQl9ST09UX1BBU1NXT1JELFxuICAgICAgICByb2xlczogW3sgcm9sZTogXCJyb290XCIsIGRiOiBcImFkbWluXCIgfV1cbiAgICAgIH0pO1xuICAgIH1cbiAgJ1xuICBtb25nb3NoIC0taG9zdCAxMjcuMC4wLjEgLS1wb3J0IFwiJElOSVRfUE9SVFwiIC0tcXVpZXQgXCIkTU9OR09fSU5JVERCX0RBVEFCQVNFXCIgL21vbmdvLWluaXQuanNcbiAgdG91Y2ggXCIkSU5JVF9NQVJLRVJcIlxuICBraWxsIC1URVJNIFwiJElOSVRfU0VSVkVSXCJcbiAgd2FpdCBcIiRJTklUX1NFUlZFUlwiXG4gIGVjaG8gXCJNb25nb0RCIGRhdGEgZGlyZWN0b3J5IGluaXRpYWxpc2VkLlwiXG5maVxuXG5leGVjIGRvY2tlci1lbnRyeXBvaW50LnNoIG1vbmdvZCAtLXJlcGxTZXQgcnMwIC0tYmluZF9pcF9hbGwgLS1hdXRoIC0ta2V5RmlsZSBcIiRLRVlGSUxFX1BBVEhcIlxuXCJcIlwiXG5cbiMgLS0tIE1haW4gZG9tYWluOiBBUEkgKyBDb25zb2xlIChrZXB0IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSkgLS0tXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJhcHB3cml0ZS1jb25zb2xlXCJcbnBvcnQgPSAzMDAwXG5ob3N0ID0gXCIke21haW5fZG9tYWlufVwiXG5wYXRoID0gXCIvXCJcblxuW1tjb25maWcuZG9tYWluc11dXG5zZXJ2aWNlTmFtZSA9IFwiYXBwd3JpdGVcIlxucG9ydCA9IDgwXG5ob3N0ID0gXCIke21haW5fZG9tYWlufVwiXG5wYXRoID0gXCIvdjFcIlxuXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJhcHB3cml0ZVwiXG5wb3J0ID0gODBcbmhvc3QgPSBcIiR7bWFpbl9kb21haW59XCJcbnBhdGggPSBcIi8ud2VsbC1rbm93blwiXG5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcImFwcHdyaXRlLXJlYWx0aW1lXCJcbnBvcnQgPSA4MFxuaG9zdCA9IFwiJHttYWluX2RvbWFpbn1cIlxucGF0aCA9IFwiL3YxL3JlYWx0aW1lXCJcblxuIyAtLS0gRGVkaWNhdGVkIENvbnNvbGUgZG9tYWluIC0tLVxuIyBUaGUgQ29uc29sZSBTUEEgaXMgc2VydmVkIGF0IHRoZSByb290IG9mICR7Y29uc29sZV9kb21haW59LiBSZXF1ZXN0cyB0b1xuIyAvdjEgYW5kIC92MS9yZWFsdGltZSBvbiB0aGF0IHNhbWUgaG9zdCBhcmUgcHJveGllZCB0byB0aGUgQVBJIGFuZCBSZWFsdGltZVxuIyBzZXJ2aWNlcyBzbyB0aGUgQ29uc29sZSByZWFjaGVzIHRoZSBBUEkgb24gaXRzIG93biBvcmlnaW4uIE5vIHdpbGRjYXJkIGlzXG4jIHVzZWQgaGVyZTsgU2l0ZXMgYW5kIEZ1bmN0aW9ucyBrZWVwIHRoZWlyIG93biB3aWxkY2FyZCBob3N0cyBiZWxvdy5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcImFwcHdyaXRlLWNvbnNvbGVcIlxucG9ydCA9IDMwMDBcbmhvc3QgPSBcIiR7Y29uc29sZV9kb21haW59XCJcbnBhdGggPSBcIi9cIlxuXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJhcHB3cml0ZVwiXG5wb3J0ID0gODBcbmhvc3QgPSBcIiR7Y29uc29sZV9kb21haW59XCJcbnBhdGggPSBcIi92MVwiXG5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcImFwcHdyaXRlLXJlYWx0aW1lXCJcbnBvcnQgPSA4MFxuaG9zdCA9IFwiJHtjb25zb2xlX2RvbWFpbn1cIlxucGF0aCA9IFwiL3YxL3JlYWx0aW1lXCJcblxuIyAtLS0gU2l0ZXMgYW5kIEZ1bmN0aW9ucyAod2lsZGNhcmRzIGhhbmRsZWQgYnkgVHJhZWZpayBIb3N0UmVnZXhwIGxhYmVscykgLS0tXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJhcHB3cml0ZVwiXG5wb3J0ID0gODBcbmhvc3QgPSBcIiR7c2l0ZXNfZG9tYWlufVwiXG5wYXRoID0gXCIvXCJcblxuW1tjb25maWcuZG9tYWluc11dXG5zZXJ2aWNlTmFtZSA9IFwiYXBwd3JpdGVcIlxucG9ydCA9IDgwXG5ob3N0ID0gXCIke2Z1bmN0aW9uc19kb21haW59XCJcbnBhdGggPSBcIi9cIiIKfQ==

Configuration

The exact Docker Compose and template configuration this template deploys.

Related Templates

Appwrite logo

Appwrite

Version: 2.3.0

Appwrite is an end-to-end platform for building Web, Mobile, Native, or Backend apps, packaged as a set of Docker microservices. It includes both a backend server and a fully integrated hosting solution for deploying static and server-side rendered frontends. Appwrite abstracts the complexity and repetitiveness required to build modern apps from scratch and allows you to build secure, full-stack applications faster. Using Appwrite, you can easily integrate your app with user authentication and multiple sign-in methods, a database for storing and querying users and team data, storage and file management, image manipulation, Cloud Functions, messaging, and more services.

databasefirebasepostgresql
Autobase logo

Autobase

Version: 2.11.0

Autobase for PostgreSQL® is an open-source alternative to cloud-managed databases (self-hosted DBaaS).

databasepostgresautomation
Bugsink logo

Bugsink

Version: latest

Bugsink is a self-hosted Error Tracker. Built to self-host; Sentry-SDK compatible; Scalable and reliable

hostingself-hosteddevelopment
Bytebase logo

Bytebase

Version: latest

Bytebase is a database management tool that allows you to manage your databases with ease. It provides a simple and effective solution for managing your databases from anywhere.

databaseself-hosted
ClickHouse logo

ClickHouse

Version: latest

ClickHouse is an open-source column-oriented DBMS (columnar database management system) for online analytical processing (OLAP) that allows users to generate analytical reports using SQL queries in real-time. ClickHouse works 100-1000x faster than traditional database management systems, and processes hundreds of millions to over a billion rows and tens of gigabytes of data per server per second.

self-hostedopen-sourcedatabase
Databasement logo

Databasement

Version: 1.8.4

Self-hosted database backup manager with a web UI. Schedule, backup, and restore MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, MongoDB, SQLite, Firebird and Redis to S3, SFTP, Samba or local storage. SSH tunnel support.

backupdatabasemysql

Self-host Appwrite 2 in minutes

Dokploy is a free, open source deployment platform. Deploy Appwrite 2 and 567+ other templates on your own infrastructure with a single click.