github.com/replicatedcom/ship@v0.50.0/integration/init/istio/expected/.ship/state.json (about)

     1  {
     2    "v1": {
     3      "config": {},
     4      "releaseName": "istio",
     5      "helmValuesDefaults": "#\n# Gateways Configuration, refer to the charts/gateways/values.yaml\n# for detailed configuration\n#\ngateways:\n  enabled: true\n\n#\n# sidecar-injector webhook configuration, refer to the\n# charts/sidecarInjectorWebhook/values.yaml for detailed configuration\n#\nsidecarInjectorWebhook:\n  enabled: true\n\n#\n# galley configuration, refer to charts/galley/values.yaml\n# for detailed configuration\n#\ngalley:\n  enabled: true\n\n#\n# mixer configuration\n#\nmixer:\n  enabled: true\n\n#\n# pilot configuration\n#\npilot:\n  enabled: true\n\n#\n# security configuration\n#\nsecurity:\n  enabled: true\n\n#\n# nodeagent configuration\n#\nnodeagent:\n  enabled: false\n\n#\n# ingress configuration\n#\ningress:\n  enabled: false\n\n#\n# addon grafana configuration\n#\ngrafana:\n  enabled: false\n\n#\n# addon prometheus configuration\n#\nprometheus:\n  enabled: true\n\n#\n# addon servicegraph configuration\n#\nservicegraph:\n  enabled: false\n\n#\n# addon jaeger tracing configuration\n#\ntracing:\n  enabled: false\n\n#\n# addon kiali tracing configuration\n#\nkiali:\n  enabled: false\n\n# Common settings used among istio subcharts.\nglobal:\n  # Default hub for Istio images.\n  # Releases are published to docker hub under 'istio' project.\n  # Daily builds from prow are on gcr.io, and nightly builds from circle on docker.io/istionightly\n  hub: gcr.io/istio-release\n\n  # Default tag for Istio images.\n  tag: master-latest-daily\n\n  k8sIngress:\n    enabled: false\n    # Gateway used for legacy k8s Ingress resources. By default it is\n    # using 'istio:ingress', to match 0.8 config. It requires that\n    # ingress.enabled is set to true. You can also set it\n    # to ingressgateway, or any other gateway you define in the 'gateway'\n    # section.\n    gatewayName: ingress\n    # enableHttps will add port 443 on the ingress.\n    # It REQUIRES that the certificates are installed  in the\n    # expected secrets - enabling this option without certificates\n    # will result in LDS rejection and the ingress will not work.\n    enableHttps: false\n\n  proxy:\n    image: proxyv2\n\n    # DNS domain suffix for pilot proxy agent. Default value is \"${POD_NAMESPACE}.svc.cluster.local\".\n    proxyDomain: \"\"\n\n    # DNS domain suffix for pilot proxy discovery. Default value is \"cluster.local\".\n    discoveryDomain: \"\"\n\n    # Resources for the sidecar.\n    resources:\n      requests:\n        cpu: 10m\n      #  memory: 128Mi\n      # limits:\n      #   cpu: 100m\n      #   memory: 128Mi\n\n    # Controls number of Proxy worker threads.\n    # If set to 0 (default), then start worker thread for each CPU thread/core.\n    concurrency: 0\n\n    # Configures the access log for each sidecar. Setting it to an empty string will\n    # disable access log for sidecar.\n    accessLogFile: \"/dev/stdout\"\n\n    #If set to true, istio-proxy container will have privileged securityContext\n    privileged: false\n\n    # If set, newly injected sidecars will have core dumps enabled.\n    enableCoreDump: false\n\n    # Default port for Pilot agent health checks. A value of 0 will disable health checking.\n    statusPort: 15020\n\n    # The initial delay for readiness probes in seconds.\n    readinessInitialDelaySeconds: 1\n\n    # The period between readiness probes.\n    readinessPeriodSeconds: 2\n\n    # The number of successive failed probes before indicating readiness failure.\n    readinessFailureThreshold: 30\n\n    # istio egress capture whitelist\n    # https://istio.io/docs/tasks/traffic-management/egress.html#calling-external-services-directly\n    # example: includeIPRanges: \"172.30.0.0/16,172.20.0.0/16\"\n    # would only capture egress traffic on those two IP Ranges, all other outbound traffic would\n    # be allowed by the sidecar\n    includeIPRanges: \"*\"\n    excludeIPRanges: \"\"\n\n    # istio ingress capture whitelist\n    # examples:\n    #     Redirect no inbound traffic to Envoy:    --includeInboundPorts=\"\"\n    #     Redirect all inbound traffic to Envoy:   --includeInboundPorts=\"*\"\n    #     Redirect only selected ports:            --includeInboundPorts=\"80,8080\"\n    includeInboundPorts: \"*\"\n    excludeInboundPorts: \"\"\n\n    # This controls the 'policy' in the sidecar injector.\n    autoInject: enabled\n\n    # Sets the destination Statsd in envoy (the value of the \"--statsdUdpAddress\" proxy argument\n    # would be \u003chost\u003e:\u003cport\u003e).\n    # Disabled by default.\n    # The istio-statsd-prom-bridge is deprecated and should not be used moving forward.\n    envoyStatsd:\n      # If enabled is set to true, host and port must also be provided. Istio no longer provides a statsd collector.\n      enabled: false\n      host: # example: statsd-svc\n      port: # example: 9125\n\n    # This controls the stats collection for proxies. To disable stats\n    # collection, set the prometheusPort to 0.\n    stats:\n      prometheusPort: 15090\n\n    # Specify which tracer to use. One of: lightstep, zipkin\n    tracer: \"zipkin\"\n\n  proxy_init:\n    # Base name for the proxy_init container, used to configure iptables.\n    image: proxy_init\n\n  # imagePullPolicy is applied to istio control plane components.\n  # local tests require IfNotPresent, to avoid uploading to dockerhub.\n  # TODO: Switch to Always as default, and override in the local tests.\n  imagePullPolicy: IfNotPresent\n\n  # controlPlaneMtls enabled. Will result in delays starting the pods while secrets are\n  # propagated, not recommended for tests.\n  controlPlaneSecurityEnabled: false\n\n  # SDS enabled. IF set to true, mTLS certificates for the sidecars will be\n  # distributed through the SecretDiscoveryService instead of using K8S secrets to mount the certificates.\n  sdsEnabled: false\n\n  # disablePolicyChecks disables mixer policy checks.\n  # Will set the value with same name in istio config map - pilot needs to be restarted to take effect.\n  disablePolicyChecks: false\n\n  # EnableTracing sets the value with same name in istio config map, requires pilot restart to take effect.\n  enableTracing: true\n\n  # Configuration for each of the supported tracers\n  tracer:\n    # Configuration for envoy to send trace data to LightStep.\n    # Disabled by default.\n    # address: the \u003chost\u003e:\u003cport\u003e of the satellite pool\n    # accessToken: required for sending data to the pool\n    # secure: specifies whether data should be sent with TLS\n    # cacertPath: the path to the file containing the cacert to use when verifying TLS. If secure is true, this is\n    #   required. If a value is specified then a secret called \"lightstep.cacert\" must be created in the destination\n    #   namespace with the key matching the base of the provided cacertPath and the value being the cacert itself.\n    #\n    lightstep:\n      address: \"\"                # example: lightstep-satellite:443\n      accessToken: \"\"            # example: abcdefg1234567\n      secure: true               # example: true|false\n      cacertPath: \"\"             # example: /etc/lightstep/cacert.pem\n    zipkin:\n      # Host:Port for reporting trace data in zipkin format. If not specified, will default to\n      # zipkin service (port 9411) in the same namespace as the other istio components.\n      address: \"\"\n\n  # Default mtls policy. If true, mtls between services will be enabled by default.\n  mtls:\n    # Default setting for service-to-service mtls. Can be set explicitly using\n    # destination rules or service annotations.\n    enabled: false\n\n  # ImagePullSecrets for all ServiceAccount, list of secrets in the same namespace\n  # to use for pulling any images in pods that reference this ServiceAccount.\n  # For components that don't use ServiceAccounts (i.e. grafana, servicegraph, tracing)\n  # ImagePullSecrets will be added to the corresponding Deployment(StatefulSet) objects.\n  # Must be set for any clustser configured with private docker registry.\n  imagePullSecrets:\n    # - private-registry-key\n\n  # Specify pod scheduling arch(amd64, ppc64le, s390x) and weight as follows:\n  #   0 - Never scheduled\n  #   1 - Least preferred\n  #   2 - No preference\n  #   3 - Most preferred\n  arch:\n    amd64: 2\n    s390x: 2\n    ppc64le: 2\n\n  # Whether to restrict the applications namespace the controller manages;\n  # If not set, controller watches all namespaces\n  oneNamespace: false\n\n  # Whether to perform server-side validation of configuration.\n  configValidation: true\n\n  # Custom DNS config for the pod to resolve names of services in other\n  # clusters. Use this to add additional search domains, and other settings.\n  # see\n  # https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#dns-config\n  # This does not apply to gateway pods as they typically need a different\n  # set of DNS settings than the normal application pods (e.g., in\n  # multicluster scenarios).\n  #podDNSConfig:\n  #  dnsConfig:\n  #    searches: #some dummy examples\n  #    - foo.bar.baz\n  #    - {{ \"[[ valueOrDefault .DeploymentMeta.Namespace \\\"default\\\" ]]\" }}.bazoo\n\n  # If set to true, the pilot and citadel mtls will be exposed on the\n  # ingress gateway\n  meshExpansion:\n    enabled: false\n    # If set to true, the pilot and citadel mtls and the plain text pilot ports\n    # will be exposed on an internal gateway\n    useILB: false\n\n  multiCluster:\n    # Set to true to connect two kubernetes clusters using a LB gateway as\n    # the only entry point into the cluster (instead of requiring pod to\n    # pod connectivity across two clusters). Note that for this system to\n    # work, service objects from remote clusters have to be replicated to\n    # local cluster (without the pod selectors). In addition, service\n    # entries have to be added for each replicated service object, where\n    # the endpoints in the service entry point to the remote cluster's\n    # mcgatewayIP:15443. All clusters should be using Istio mTLS and must\n    # have a shared root CA for this model to work.\n    connectUsingGateway: false\n\n  # A minimal set of requested resources to applied to all deployments so that\n  # Horizontal Pod Autoscaler will be able to function (if set).\n  # Each component can overwrite these default values by adding its own resources\n  # block in the relevant section below and setting the desired resources values.\n  defaultResources:\n    requests:\n      cpu: 10m\n    #   memory: 128Mi\n    # limits:\n    #   cpu: 100m\n    #   memory: 128Mi\n\n  # Kubernetes \u003e=v1.11.0 will create two PriorityClass, including system-cluster-critical and\n  # system-node-critical, it is better to configure this in order to make sure your Istio pods\n  # will not be killed because of low priority class.\n  # Refer to https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass\n  # for more detail.\n  priorityClassName: \"\"\n\n  # Include the crd definition when generating the template.\n  # For 'helm template' and helm install \u003e 2.10 it should be true.\n  # For helm \u003c 2.9, crds must be installed ahead of time with\n  # 'kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml\n  # and this options must be set off.\n  crds: true\n\n  # Use the Mesh Control Protocol (MCP) for configuring Mixer and\n  # Pilot. Requires galley (`--set galley.enabled=true`).\n  useMCP: false\n",
     6      "upstream": "https://github.com/istio/istio/tree/d3eed9a347ad02f0b79e3f92330878f88953cf64/install/kubernetes/helm/istio",
     7      "metadata": {
     8        "applicationType": "helm",
     9        "sequence": 0,
    10        "icon": "https://istio.io/favicons/android-192x192.png",
    11        "name": "istio",
    12        "releaseNotes": "Add support for configuring LightStep as a tracing backend (#9270)\n\n* Add LightStep configuration\r\n\r\n- Validate LightStep ProxyConfig options\r\n- Clean up formatting of envoy_bootstrap\r\n by using a single indentation scheme\r\n- Update bootstrap golden files and add new ones for tracing\r\n- Update bootstrap tests to check new tracing options\r\n\r\n* Add root cacert.pem into proxy containers\r\n\r\n* Update bootstrap config test\r\n\r\n* Update golden files\r\n\r\n* Move tracer configuration up a level (replacing old one)\r\n\r\n* Remove lightstep as default proxy tracer\r\n\r\n* Set default proxy.tracer to zipkin\r\n\r\n* Make fixes to yaml\r\n\r\n- Make istio-remote configmap set the same default zipkin\r\n  address as istio configmap\r\n- Explicitly check that tracer == \"zipkin\" instead of always\r\n  defaulting to it\r\n\r\n* Replace check for global.remoteZipkinAddress with global.proxy.tracer\r\n\r\n* Enable mounting a custom cacert file\r\n\r\n* Remove default cacert.pem\r\n\r\n* Fix issues after rebase",
    13        "version": "1.1.0",
    14        "license": {
    15          "id": "",
    16          "assignee": "",
    17          "createdAt": "0001-01-01T00:00:00Z",
    18          "expiresAt": "0001-01-01T00:00:00Z",
    19          "type": ""
    20        }
    21      },
    22      "upstreamContents": {
    23        "upstreamFiles": [
    24          {
    25            "filePath": ".helmignore",
    26            "fileContents": "Tk9URVMudHh0Cg=="
    27          },
    28          {
    29            "filePath": "Chart.yaml",
    30            "fileContents": "YXBpVmVyc2lvbjogdjEKbmFtZTogaXN0aW8KdmVyc2lvbjogMS4xLjAKYXBwVmVyc2lvbjogMS4xLjAKdGlsbGVyVmVyc2lvbjogIj49Mi43LjItMCIKZGVzY3JpcHRpb246IEhlbG0gY2hhcnQgZm9yIGFsbCBpc3RpbyBjb21wb25lbnRzCmtleXdvcmRzOgogIC0gaXN0aW8KICAtIHNlY3VyaXR5CiAgLSBzaWRlY2FySW5qZWN0b3JXZWJob29rCiAgLSBtaXhlcgogIC0gcGlsb3QKICAtIGdhbGxleQpzb3VyY2VzOgogIC0gaHR0cDovL2dpdGh1Yi5jb20vaXN0aW8vaXN0aW8KZW5naW5lOiBnb3RwbAppY29uOiBodHRwczovL2lzdGlvLmlvL2Zhdmljb25zL2FuZHJvaWQtMTkyeDE5Mi5wbmcK"
    31          },
    32          {
    33            "filePath": "LICENSE",
    34            "fileContents": "CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBhY2hlIExpY2Vuc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAyLjAsIEphbnVhcnkgMjAwNAogICAgICAgICAgICAgICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvCgogICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgVVNFLCBSRVBST0RVQ1RJT04sIEFORCBESVNUUklCVVRJT04KCiAgIDEuIERlZmluaXRpb25zLgoKICAgICAgIkxpY2Vuc2UiIHNoYWxsIG1lYW4gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciB1c2UsIHJlcHJvZHVjdGlvbiwKICAgICAgYW5kIGRpc3RyaWJ1dGlvbiBhcyBkZWZpbmVkIGJ5IFNlY3Rpb25zIDEgdGhyb3VnaCA5IG9mIHRoaXMgZG9jdW1lbnQuCgogICAgICAiTGljZW5zb3IiIHNoYWxsIG1lYW4gdGhlIGNvcHlyaWdodCBvd25lciBvciBlbnRpdHkgYXV0aG9yaXplZCBieQogICAgICB0aGUgY29weXJpZ2h0IG93bmVyIHRoYXQgaXMgZ3JhbnRpbmcgdGhlIExpY2Vuc2UuCgogICAgICAiTGVnYWwgRW50aXR5IiBzaGFsbCBtZWFuIHRoZSB1bmlvbiBvZiB0aGUgYWN0aW5nIGVudGl0eSBhbmQgYWxsCiAgICAgIG90aGVyIGVudGl0aWVzIHRoYXQgY29udHJvbCwgYXJlIGNvbnRyb2xsZWQgYnksIG9yIGFyZSB1bmRlciBjb21tb24KICAgICAgY29udHJvbCB3aXRoIHRoYXQgZW50aXR5LiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwKICAgICAgImNvbnRyb2wiIG1lYW5zIChpKSB0aGUgcG93ZXIsIGRpcmVjdCBvciBpbmRpcmVjdCwgdG8gY2F1c2UgdGhlCiAgICAgIGRpcmVjdGlvbiBvciBtYW5hZ2VtZW50IG9mIHN1Y2ggZW50aXR5LCB3aGV0aGVyIGJ5IGNvbnRyYWN0IG9yCiAgICAgIG90aGVyd2lzZSwgb3IgKGlpKSBvd25lcnNoaXAgb2YgZmlmdHkgcGVyY2VudCAoNTAlKSBvciBtb3JlIG9mIHRoZQogICAgICBvdXRzdGFuZGluZyBzaGFyZXMsIG9yIChpaWkpIGJlbmVmaWNpYWwgb3duZXJzaGlwIG9mIHN1Y2ggZW50aXR5LgoKICAgICAgIllvdSIgKG9yICJZb3VyIikgc2hhbGwgbWVhbiBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eQogICAgICBleGVyY2lzaW5nIHBlcm1pc3Npb25zIGdyYW50ZWQgYnkgdGhpcyBMaWNlbnNlLgoKICAgICAgIlNvdXJjZSIgZm9ybSBzaGFsbCBtZWFuIHRoZSBwcmVmZXJyZWQgZm9ybSBmb3IgbWFraW5nIG1vZGlmaWNhdGlvbnMsCiAgICAgIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gc29mdHdhcmUgc291cmNlIGNvZGUsIGRvY3VtZW50YXRpb24KICAgICAgc291cmNlLCBhbmQgY29uZmlndXJhdGlvbiBmaWxlcy4KCiAgICAgICJPYmplY3QiIGZvcm0gc2hhbGwgbWVhbiBhbnkgZm9ybSByZXN1bHRpbmcgZnJvbSBtZWNoYW5pY2FsCiAgICAgIHRyYW5zZm9ybWF0aW9uIG9yIHRyYW5zbGF0aW9uIG9mIGEgU291cmNlIGZvcm0sIGluY2x1ZGluZyBidXQKICAgICAgbm90IGxpbWl0ZWQgdG8gY29tcGlsZWQgb2JqZWN0IGNvZGUsIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uLAogICAgICBhbmQgY29udmVyc2lvbnMgdG8gb3RoZXIgbWVkaWEgdHlwZXMuCgogICAgICAiV29yayIgc2hhbGwgbWVhbiB0aGUgd29yayBvZiBhdXRob3JzaGlwLCB3aGV0aGVyIGluIFNvdXJjZSBvcgogICAgICBPYmplY3QgZm9ybSwgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIExpY2Vuc2UsIGFzIGluZGljYXRlZCBieSBhCiAgICAgIGNvcHlyaWdodCBub3RpY2UgdGhhdCBpcyBpbmNsdWRlZCBpbiBvciBhdHRhY2hlZCB0byB0aGUgd29yawogICAgICAoYW4gZXhhbXBsZSBpcyBwcm92aWRlZCBpbiB0aGUgQXBwZW5kaXggYmVsb3cpLgoKICAgICAgIkRlcml2YXRpdmUgV29ya3MiIHNoYWxsIG1lYW4gYW55IHdvcmssIHdoZXRoZXIgaW4gU291cmNlIG9yIE9iamVjdAogICAgICBmb3JtLCB0aGF0IGlzIGJhc2VkIG9uIChvciBkZXJpdmVkIGZyb20pIHRoZSBXb3JrIGFuZCBmb3Igd2hpY2ggdGhlCiAgICAgIGVkaXRvcmlhbCByZXZpc2lvbnMsIGFubm90YXRpb25zLCBlbGFib3JhdGlvbnMsIG9yIG90aGVyIG1vZGlmaWNhdGlvbnMKICAgICAgcmVwcmVzZW50LCBhcyBhIHdob2xlLCBhbiBvcmlnaW5hbCB3b3JrIG9mIGF1dGhvcnNoaXAuIEZvciB0aGUgcHVycG9zZXMKICAgICAgb2YgdGhpcyBMaWNlbnNlLCBEZXJpdmF0aXZlIFdvcmtzIHNoYWxsIG5vdCBpbmNsdWRlIHdvcmtzIHRoYXQgcmVtYWluCiAgICAgIHNlcGFyYWJsZSBmcm9tLCBvciBtZXJlbHkgbGluayAob3IgYmluZCBieSBuYW1lKSB0byB0aGUgaW50ZXJmYWNlcyBvZiwKICAgICAgdGhlIFdvcmsgYW5kIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZi4KCiAgICAgICJDb250cmlidXRpb24iIHNoYWxsIG1lYW4gYW55IHdvcmsgb2YgYXV0aG9yc2hpcCwgaW5jbHVkaW5nCiAgICAgIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIG9mIHRoZSBXb3JrIGFuZCBhbnkgbW9kaWZpY2F0aW9ucyBvciBhZGRpdGlvbnMKICAgICAgdG8gdGhhdCBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgdGhhdCBpcyBpbnRlbnRpb25hbGx5CiAgICAgIHN1Ym1pdHRlZCB0byBMaWNlbnNvciBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIKICAgICAgb3IgYnkgYW4gaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkgYXV0aG9yaXplZCB0byBzdWJtaXQgb24gYmVoYWxmIG9mCiAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCAic3VibWl0dGVkIgogICAgICBtZWFucyBhbnkgZm9ybSBvZiBlbGVjdHJvbmljLCB2ZXJiYWwsIG9yIHdyaXR0ZW4gY29tbXVuaWNhdGlvbiBzZW50CiAgICAgIHRvIHRoZSBMaWNlbnNvciBvciBpdHMgcmVwcmVzZW50YXRpdmVzLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvCiAgICAgIGNvbW11bmljYXRpb24gb24gZWxlY3Ryb25pYyBtYWlsaW5nIGxpc3RzLCBzb3VyY2UgY29kZSBjb250cm9sIHN5c3RlbXMsCiAgICAgIGFuZCBpc3N1ZSB0cmFja2luZyBzeXN0ZW1zIHRoYXQgYXJlIG1hbmFnZWQgYnksIG9yIG9uIGJlaGFsZiBvZiwgdGhlCiAgICAgIExpY2Vuc29yIGZvciB0aGUgcHVycG9zZSBvZiBkaXNjdXNzaW5nIGFuZCBpbXByb3ZpbmcgdGhlIFdvcmssIGJ1dAogICAgICBleGNsdWRpbmcgY29tbXVuaWNhdGlvbiB0aGF0IGlzIGNvbnNwaWN1b3VzbHkgbWFya2VkIG9yIG90aGVyd2lzZQogICAgICBkZXNpZ25hdGVkIGluIHdyaXRpbmcgYnkgdGhlIGNvcHlyaWdodCBvd25lciBhcyAiTm90IGEgQ29udHJpYnV0aW9uLiIKCiAgICAgICJDb250cmlidXRvciIgc2hhbGwgbWVhbiBMaWNlbnNvciBhbmQgYW55IGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5CiAgICAgIG9uIGJlaGFsZiBvZiB3aG9tIGEgQ29udHJpYnV0aW9uIGhhcyBiZWVuIHJlY2VpdmVkIGJ5IExpY2Vuc29yIGFuZAogICAgICBzdWJzZXF1ZW50bHkgaW5jb3Jwb3JhdGVkIHdpdGhpbiB0aGUgV29yay4KCiAgIDIuIEdyYW50IG9mIENvcHlyaWdodCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgogICAgICB0aGlzIExpY2Vuc2UsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyB0byBZb3UgYSBwZXJwZXR1YWwsCiAgICAgIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlCiAgICAgIGNvcHlyaWdodCBsaWNlbnNlIHRvIHJlcHJvZHVjZSwgcHJlcGFyZSBEZXJpdmF0aXZlIFdvcmtzIG9mLAogICAgICBwdWJsaWNseSBkaXNwbGF5LCBwdWJsaWNseSBwZXJmb3JtLCBzdWJsaWNlbnNlLCBhbmQgZGlzdHJpYnV0ZSB0aGUKICAgICAgV29yayBhbmQgc3VjaCBEZXJpdmF0aXZlIFdvcmtzIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybS4KCiAgIDMuIEdyYW50IG9mIFBhdGVudCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgogICAgICB0aGlzIExpY2Vuc2UsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyB0byBZb3UgYSBwZXJwZXR1YWwsCiAgICAgIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlCiAgICAgIChleGNlcHQgYXMgc3RhdGVkIGluIHRoaXMgc2VjdGlvbikgcGF0ZW50IGxpY2Vuc2UgdG8gbWFrZSwgaGF2ZSBtYWRlLAogICAgICB1c2UsIG9mZmVyIHRvIHNlbGwsIHNlbGwsIGltcG9ydCwgYW5kIG90aGVyd2lzZSB0cmFuc2ZlciB0aGUgV29yaywKICAgICAgd2hlcmUgc3VjaCBsaWNlbnNlIGFwcGxpZXMgb25seSB0byB0aG9zZSBwYXRlbnQgY2xhaW1zIGxpY2Vuc2FibGUKICAgICAgYnkgc3VjaCBDb250cmlidXRvciB0aGF0IGFyZSBuZWNlc3NhcmlseSBpbmZyaW5nZWQgYnkgdGhlaXIKICAgICAgQ29udHJpYnV0aW9uKHMpIGFsb25lIG9yIGJ5IGNvbWJpbmF0aW9uIG9mIHRoZWlyIENvbnRyaWJ1dGlvbihzKQogICAgICB3aXRoIHRoZSBXb3JrIHRvIHdoaWNoIHN1Y2ggQ29udHJpYnV0aW9uKHMpIHdhcyBzdWJtaXR0ZWQuIElmIFlvdQogICAgICBpbnN0aXR1dGUgcGF0ZW50IGxpdGlnYXRpb24gYWdhaW5zdCBhbnkgZW50aXR5IChpbmNsdWRpbmcgYQogICAgICBjcm9zcy1jbGFpbSBvciBjb3VudGVyY2xhaW0gaW4gYSBsYXdzdWl0KSBhbGxlZ2luZyB0aGF0IHRoZSBXb3JrCiAgICAgIG9yIGEgQ29udHJpYnV0aW9uIGluY29ycG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsgY29uc3RpdHV0ZXMgZGlyZWN0CiAgICAgIG9yIGNvbnRyaWJ1dG9yeSBwYXRlbnQgaW5mcmluZ2VtZW50LCB0aGVuIGFueSBwYXRlbnQgbGljZW5zZXMKICAgICAgZ3JhbnRlZCB0byBZb3UgdW5kZXIgdGhpcyBMaWNlbnNlIGZvciB0aGF0IFdvcmsgc2hhbGwgdGVybWluYXRlCiAgICAgIGFzIG9mIHRoZSBkYXRlIHN1Y2ggbGl0aWdhdGlvbiBpcyBmaWxlZC4KCiAgIDQuIFJlZGlzdHJpYnV0aW9uLiBZb3UgbWF5IHJlcHJvZHVjZSBhbmQgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlCiAgICAgIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mIGluIGFueSBtZWRpdW0sIHdpdGggb3Igd2l0aG91dAogICAgICBtb2RpZmljYXRpb25zLCBhbmQgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLCBwcm92aWRlZCB0aGF0IFlvdQogICAgICBtZWV0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKCiAgICAgIChhKSBZb3UgbXVzdCBnaXZlIGFueSBvdGhlciByZWNpcGllbnRzIG9mIHRoZSBXb3JrIG9yCiAgICAgICAgICBEZXJpdmF0aXZlIFdvcmtzIGEgY29weSBvZiB0aGlzIExpY2Vuc2U7IGFuZAoKICAgICAgKGIpIFlvdSBtdXN0IGNhdXNlIGFueSBtb2RpZmllZCBmaWxlcyB0byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcwogICAgICAgICAgc3RhdGluZyB0aGF0IFlvdSBjaGFuZ2VkIHRoZSBmaWxlczsgYW5kCgogICAgICAoYykgWW91IG11c3QgcmV0YWluLCBpbiB0aGUgU291cmNlIGZvcm0gb2YgYW55IERlcml2YXRpdmUgV29ya3MKICAgICAgICAgIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsbCBjb3B5cmlnaHQsIHBhdGVudCwgdHJhZGVtYXJrLCBhbmQKICAgICAgICAgIGF0dHJpYnV0aW9uIG5vdGljZXMgZnJvbSB0aGUgU291cmNlIGZvcm0gb2YgdGhlIFdvcmssCiAgICAgICAgICBleGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdCBwZXJ0YWluIHRvIGFueSBwYXJ0IG9mCiAgICAgICAgICB0aGUgRGVyaXZhdGl2ZSBXb3JrczsgYW5kCgogICAgICAoZCkgSWYgdGhlIFdvcmsgaW5jbHVkZXMgYSAiTk9USUNFIiB0ZXh0IGZpbGUgYXMgcGFydCBvZiBpdHMKICAgICAgICAgIGRpc3RyaWJ1dGlvbiwgdGhlbiBhbnkgRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlIG11c3QKICAgICAgICAgIGluY2x1ZGUgYSByZWFkYWJsZSBjb3B5IG9mIHRoZSBhdHRyaWJ1dGlvbiBub3RpY2VzIGNvbnRhaW5lZAogICAgICAgICAgd2l0aGluIHN1Y2ggTk9USUNFIGZpbGUsIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8gbm90CiAgICAgICAgICBwZXJ0YWluIHRvIGFueSBwYXJ0IG9mIHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpbiBhdCBsZWFzdCBvbmUKICAgICAgICAgIG9mIHRoZSBmb2xsb3dpbmcgcGxhY2VzOiB3aXRoaW4gYSBOT1RJQ0UgdGV4dCBmaWxlIGRpc3RyaWJ1dGVkCiAgICAgICAgICBhcyBwYXJ0IG9mIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyB3aXRoaW4gdGhlIFNvdXJjZSBmb3JtIG9yCiAgICAgICAgICBkb2N1bWVudGF0aW9uLCBpZiBwcm92aWRlZCBhbG9uZyB3aXRoIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBvciwKICAgICAgICAgIHdpdGhpbiBhIGRpc3BsYXkgZ2VuZXJhdGVkIGJ5IHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpZiBhbmQKICAgICAgICAgIHdoZXJldmVyIHN1Y2ggdGhpcmQtcGFydHkgbm90aWNlcyBub3JtYWxseSBhcHBlYXIuIFRoZSBjb250ZW50cwogICAgICAgICAgb2YgdGhlIE5PVElDRSBmaWxlIGFyZSBmb3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5IGFuZAogICAgICAgICAgZG8gbm90IG1vZGlmeSB0aGUgTGljZW5zZS4gWW91IG1heSBhZGQgWW91ciBvd24gYXR0cmlidXRpb24KICAgICAgICAgIG5vdGljZXMgd2l0aGluIERlcml2YXRpdmUgV29ya3MgdGhhdCBZb3UgZGlzdHJpYnV0ZSwgYWxvbmdzaWRlCiAgICAgICAgICBvciBhcyBhbiBhZGRlbmR1bSB0byB0aGUgTk9USUNFIHRleHQgZnJvbSB0aGUgV29yaywgcHJvdmlkZWQKICAgICAgICAgIHRoYXQgc3VjaCBhZGRpdGlvbmFsIGF0dHJpYnV0aW9uIG5vdGljZXMgY2Fubm90IGJlIGNvbnN0cnVlZAogICAgICAgICAgYXMgbW9kaWZ5aW5nIHRoZSBMaWNlbnNlLgoKICAgICAgWW91IG1heSBhZGQgWW91ciBvd24gY29weXJpZ2h0IHN0YXRlbWVudCB0byBZb3VyIG1vZGlmaWNhdGlvbnMgYW5kCiAgICAgIG1heSBwcm92aWRlIGFkZGl0aW9uYWwgb3IgZGlmZmVyZW50IGxpY2Vuc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMKICAgICAgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLCBvciBkaXN0cmlidXRpb24gb2YgWW91ciBtb2RpZmljYXRpb25zLCBvcgogICAgICBmb3IgYW55IHN1Y2ggRGVyaXZhdGl2ZSBXb3JrcyBhcyBhIHdob2xlLCBwcm92aWRlZCBZb3VyIHVzZSwKICAgICAgcmVwcm9kdWN0aW9uLCBhbmQgZGlzdHJpYnV0aW9uIG9mIHRoZSBXb3JrIG90aGVyd2lzZSBjb21wbGllcyB3aXRoCiAgICAgIHRoZSBjb25kaXRpb25zIHN0YXRlZCBpbiB0aGlzIExpY2Vuc2UuCgogICA1LiBTdWJtaXNzaW9uIG9mIENvbnRyaWJ1dGlvbnMuIFVubGVzcyBZb3UgZXhwbGljaXRseSBzdGF0ZSBvdGhlcndpc2UsCiAgICAgIGFueSBDb250cmlidXRpb24gaW50ZW50aW9uYWxseSBzdWJtaXR0ZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yawogICAgICBieSBZb3UgdG8gdGhlIExpY2Vuc29yIHNoYWxsIGJlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgogICAgICB0aGlzIExpY2Vuc2UsIHdpdGhvdXQgYW55IGFkZGl0aW9uYWwgdGVybXMgb3IgY29uZGl0aW9ucy4KICAgICAgTm90d2l0aHN0YW5kaW5nIHRoZSBhYm92ZSwgbm90aGluZyBoZXJlaW4gc2hhbGwgc3VwZXJzZWRlIG9yIG1vZGlmeQogICAgICB0aGUgdGVybXMgb2YgYW55IHNlcGFyYXRlIGxpY2Vuc2UgYWdyZWVtZW50IHlvdSBtYXkgaGF2ZSBleGVjdXRlZAogICAgICB3aXRoIExpY2Vuc29yIHJlZ2FyZGluZyBzdWNoIENvbnRyaWJ1dGlvbnMuCgogICA2LiBUcmFkZW1hcmtzLiBUaGlzIExpY2Vuc2UgZG9lcyBub3QgZ3JhbnQgcGVybWlzc2lvbiB0byB1c2UgdGhlIHRyYWRlCiAgICAgIG5hbWVzLCB0cmFkZW1hcmtzLCBzZXJ2aWNlIG1hcmtzLCBvciBwcm9kdWN0IG5hbWVzIG9mIHRoZSBMaWNlbnNvciwKICAgICAgZXhjZXB0IGFzIHJlcXVpcmVkIGZvciByZWFzb25hYmxlIGFuZCBjdXN0b21hcnkgdXNlIGluIGRlc2NyaWJpbmcgdGhlCiAgICAgIG9yaWdpbiBvZiB0aGUgV29yayBhbmQgcmVwcm9kdWNpbmcgdGhlIGNvbnRlbnQgb2YgdGhlIE5PVElDRSBmaWxlLgoKICAgNy4gRGlzY2xhaW1lciBvZiBXYXJyYW50eS4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yCiAgICAgIGFncmVlZCB0byBpbiB3cml0aW5nLCBMaWNlbnNvciBwcm92aWRlcyB0aGUgV29yayAoYW5kIGVhY2gKICAgICAgQ29udHJpYnV0b3IgcHJvdmlkZXMgaXRzIENvbnRyaWJ1dGlvbnMpIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAgICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvcgogICAgICBpbXBsaWVkLCBpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgYW55IHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucwogICAgICBvZiBUSVRMRSwgTk9OLUlORlJJTkdFTUVOVCwgTUVSQ0hBTlRBQklMSVRZLCBvciBGSVRORVNTIEZPUiBBCiAgICAgIFBBUlRJQ1VMQVIgUFVSUE9TRS4gWW91IGFyZSBzb2xlbHkgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHRoZQogICAgICBhcHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcgb3IgcmVkaXN0cmlidXRpbmcgdGhlIFdvcmsgYW5kIGFzc3VtZSBhbnkKICAgICAgcmlza3MgYXNzb2NpYXRlZCB3aXRoIFlvdXIgZXhlcmNpc2Ugb2YgcGVybWlzc2lvbnMgdW5kZXIgdGhpcyBMaWNlbnNlLgoKICAgOC4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuIEluIG5vIGV2ZW50IGFuZCB1bmRlciBubyBsZWdhbCB0aGVvcnksCiAgICAgIHdoZXRoZXIgaW4gdG9ydCAoaW5jbHVkaW5nIG5lZ2xpZ2VuY2UpLCBjb250cmFjdCwgb3Igb3RoZXJ3aXNlLAogICAgICB1bmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgKHN1Y2ggYXMgZGVsaWJlcmF0ZSBhbmQgZ3Jvc3NseQogICAgICBuZWdsaWdlbnQgYWN0cykgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNoYWxsIGFueSBDb250cmlidXRvciBiZQogICAgICBsaWFibGUgdG8gWW91IGZvciBkYW1hZ2VzLCBpbmNsdWRpbmcgYW55IGRpcmVjdCwgaW5kaXJlY3QsIHNwZWNpYWwsCiAgICAgIGluY2lkZW50YWwsIG9yIGNvbnNlcXVlbnRpYWwgZGFtYWdlcyBvZiBhbnkgY2hhcmFjdGVyIGFyaXNpbmcgYXMgYQogICAgICByZXN1bHQgb2YgdGhpcyBMaWNlbnNlIG9yIG91dCBvZiB0aGUgdXNlIG9yIGluYWJpbGl0eSB0byB1c2UgdGhlCiAgICAgIFdvcmsgKGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gZGFtYWdlcyBmb3IgbG9zcyBvZiBnb29kd2lsbCwKICAgICAgd29yayBzdG9wcGFnZSwgY29tcHV0ZXIgZmFpbHVyZSBvciBtYWxmdW5jdGlvbiwgb3IgYW55IGFuZCBhbGwKICAgICAgb3RoZXIgY29tbWVyY2lhbCBkYW1hZ2VzIG9yIGxvc3NlcyksIGV2ZW4gaWYgc3VjaCBDb250cmlidXRvcgogICAgICBoYXMgYmVlbiBhZHZpc2VkIG9mIHRoZSBwb3NzaWJpbGl0eSBvZiBzdWNoIGRhbWFnZXMuCgogICA5LiBBY2NlcHRpbmcgV2FycmFudHkgb3IgQWRkaXRpb25hbCBMaWFiaWxpdHkuIFdoaWxlIHJlZGlzdHJpYnV0aW5nCiAgICAgIHRoZSBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgWW91IG1heSBjaG9vc2UgdG8gb2ZmZXIsCiAgICAgIGFuZCBjaGFyZ2UgYSBmZWUgZm9yLCBhY2NlcHRhbmNlIG9mIHN1cHBvcnQsIHdhcnJhbnR5LCBpbmRlbW5pdHksCiAgICAgIG9yIG90aGVyIGxpYWJpbGl0eSBvYmxpZ2F0aW9ucyBhbmQvb3IgcmlnaHRzIGNvbnNpc3RlbnQgd2l0aCB0aGlzCiAgICAgIExpY2Vuc2UuIEhvd2V2ZXIsIGluIGFjY2VwdGluZyBzdWNoIG9ibGlnYXRpb25zLCBZb3UgbWF5IGFjdCBvbmx5CiAgICAgIG9uIFlvdXIgb3duIGJlaGFsZiBhbmQgb24gWW91ciBzb2xlIHJlc3BvbnNpYmlsaXR5LCBub3Qgb24gYmVoYWxmCiAgICAgIG9mIGFueSBvdGhlciBDb250cmlidXRvciwgYW5kIG9ubHkgaWYgWW91IGFncmVlIHRvIGluZGVtbmlmeSwKICAgICAgZGVmZW5kLCBhbmQgaG9sZCBlYWNoIENvbnRyaWJ1dG9yIGhhcm1sZXNzIGZvciBhbnkgbGlhYmlsaXR5CiAgICAgIGluY3VycmVkIGJ5LCBvciBjbGFpbXMgYXNzZXJ0ZWQgYWdhaW5zdCwgc3VjaCBDb250cmlidXRvciBieSByZWFzb24KICAgICAgb2YgeW91ciBhY2NlcHRpbmcgYW55IHN1Y2ggd2FycmFudHkgb3IgYWRkaXRpb25hbCBsaWFiaWxpdHkuCgogICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgIEFQUEVORElYOiBIb3cgdG8gYXBwbHkgdGhlIEFwYWNoZSBMaWNlbnNlIHRvIHlvdXIgd29yay4KCiAgICAgIFRvIGFwcGx5IHRoZSBBcGFjaGUgTGljZW5zZSB0byB5b3VyIHdvcmssIGF0dGFjaCB0aGUgZm9sbG93aW5nCiAgICAgIGJvaWxlcnBsYXRlIG5vdGljZSwgd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzICJ7fSIKICAgICAgcmVwbGFjZWQgd2l0aCB5b3VyIG93biBpZGVudGlmeWluZyBpbmZvcm1hdGlvbi4gKERvbid0IGluY2x1ZGUKICAgICAgdGhlIGJyYWNrZXRzISkgIFRoZSB0ZXh0IHNob3VsZCBiZSBlbmNsb3NlZCBpbiB0aGUgYXBwcm9wcmlhdGUKICAgICAgY29tbWVudCBzeW50YXggZm9yIHRoZSBmaWxlIGZvcm1hdC4gV2UgYWxzbyByZWNvbW1lbmQgdGhhdCBhCiAgICAgIGZpbGUgb3IgY2xhc3MgbmFtZSBhbmQgZGVzY3JpcHRpb24gb2YgcHVycG9zZSBiZSBpbmNsdWRlZCBvbiB0aGUKICAgICAgc2FtZSAicHJpbnRlZCBwYWdlIiBhcyB0aGUgY29weXJpZ2h0IG5vdGljZSBmb3IgZWFzaWVyCiAgICAgIGlkZW50aWZpY2F0aW9uIHdpdGhpbiB0aGlyZC1wYXJ0eSBhcmNoaXZlcy4KCiAgIENvcHlyaWdodCAyMDE4IElzdGlvIEF1dGhvcnMKCiAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwogICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4K"
    35          },
    36          {
    37            "filePath": "README.md",
    38            "fileContents": "IyBJc3RpbwoKW0lzdGlvXShodHRwczovL2lzdGlvLmlvLykgaXMgYW4gb3BlbiBwbGF0Zm9ybSBmb3IgcHJvdmlkaW5nIGEgdW5pZm9ybSB3YXkgdG8gaW50ZWdyYXRlIG1pY3Jvc2VydmljZXMsIG1hbmFnZSB0cmFmZmljIGZsb3cgYWNyb3NzIG1pY3Jvc2VydmljZXMsIGVuZm9yY2UgcG9saWNpZXMgYW5kIGFnZ3JlZ2F0ZSB0ZWxlbWV0cnkgZGF0YS4KCiMjIEludHJvZHVjdGlvbgoKVGhpcyBjaGFydCBib290c3RyYXBzIGFsbCBpc3RpbyBbY29tcG9uZW50c10oaHR0cHM6Ly9pc3Rpby5pby9kb2NzL2NvbmNlcHRzL3doYXQtaXMtaXN0aW8vb3ZlcnZpZXcuaHRtbCkgZGVwbG95bWVudCBvbiBhIFtLdWJlcm5ldGVzXShodHRwOi8va3ViZXJuZXRlcy5pbykgY2x1c3RlciB1c2luZyB0aGUgW0hlbG1dKGh0dHBzOi8vaGVsbS5zaCkgcGFja2FnZSBtYW5hZ2VyLgoKIyMgQ2hhcnQgRGV0YWlscwoKVGhpcyBjaGFydCBjYW4gaW5zdGFsbCBtdWx0aXBsZSBpc3RpbyBjb21wb25lbnRzIGFzIHN1YmNoYXJ0czoKLSBpbmdyZXNzCi0gaW5ncmVzc2dhdGV3YXkKLSBlZ3Jlc3NnYXRld2F5Ci0gc2lkZWNhckluamVjdG9yV2ViaG9vawotIGdhbGxleQotIG1peGVyCi0gcGlsb3QKLSBzZWN1cml0eShjaXRhZGVsKQotIGdyYWZhbmEKLSBwcm9tZXRoZXVzCi0gc2VydmljZWdyYXBoCi0gdHJhY2luZyhqYWVnZXIpCi0ga2lhbGkKClRvIGVuYWJsZSBvciBkaXNhYmxlIGVhY2ggY29tcG9uZW50LCBjaGFuZ2UgdGhlIGNvcnJlc3BvbmRpbmcgYGVuYWJsZWRgIGZsYWcuCgojIyBQcmVyZXF1aXNpdGVzCgotIEt1YmVybmV0ZXMgMS45IG9yIG5ld2VyIGNsdXN0ZXIgd2l0aCBSQkFDIChSb2xlLUJhc2VkIEFjY2VzcyBDb250cm9sKSBlbmFibGVkIGlzIHJlcXVpcmVkCi0gSGVsbSAyLjcuMiBvciBuZXdlciBvciBhbHRlcm5hdGVseSB0aGUgYWJpbGl0eSB0byBtb2RpZnkgUkJBQyBydWxlcyBpcyBhbHNvIHJlcXVpcmVkCi0gSWYgeW91IHdhbnQgdG8gZW5hYmxlIGF1dG9tYXRpYyBzaWRlY2FyIGluamVjdGlvbiwgS3ViZXJuZXRlcyAxLjkrIHdpdGggYGFkbWlzc2lvbnJlZ2lzdHJhdGlvbmAgQVBJIGlzIHJlcXVpcmVkLCBhbmQgYGt1YmUtYXBpc2VydmVyYCBwcm9jZXNzIG11c3QgaGF2ZSB0aGUgYGFkbWlzc2lvbi1jb250cm9sYCBmbGFnIHNldCB3aXRoIHRoZSBgTXV0YXRpbmdBZG1pc3Npb25XZWJob29rYCBhbmQgYFZhbGlkYXRpbmdBZG1pc3Npb25XZWJob29rYCBhZG1pc3Npb24gY29udHJvbGxlcnMgYWRkZWQgYW5kIGxpc3RlZCBpbiB0aGUgY29ycmVjdCBvcmRlci4KCiMjIFJlc291cmNlcyBSZXF1aXJlZAoKVGhlIGNoYXJ0IGRlcGxveXMgcG9kcyB0aGF0IGNvbnN1bWUgbWluaW11bSByZXNvdXJjZXMgYXMgc3BlY2lmaWVkIGluIHRoZSByZXNvdXJjZXMgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXIuCgojIyBJbnN0YWxsaW5nIHRoZSBDaGFydAoKMS4gSWYgYSBzZXJ2aWNlIGFjY291bnQgaGFzIG5vdCBhbHJlYWR5IGJlZW4gaW5zdGFsbGVkIGZvciBUaWxsZXIsIGluc3RhbGwgb25lOgpgYGAKJCBrdWJlY3RsIGFwcGx5IC1mIGluc3RhbGwva3ViZXJuZXRlcy9oZWxtL2hlbG0tc2VydmljZS1hY2NvdW50LnlhbWwKYGBgCgoyLiBJbnN0YWxsIFRpbGxlciBvbiB5b3VyIGNsdXN0ZXIgd2l0aCB0aGUgc2VydmljZSBhY2NvdW50OgpgYGAKJCBoZWxtIGluaXQgLS1zZXJ2aWNlLWFjY291bnQgdGlsbGVyCmBgYAoKMy4gU2V0IGFuZCBjcmVhdGUgdGhlIG5hbWVzcGFjZSB3aGVyZSBJc3RpbyB3YXMgaW5zdGFsbGVkOgpgYGAKJCBOQU1FU1BBQ0U9aXN0aW8tc3lzdGVtCiQga3ViZWN0bCBjcmVhdGUgbnMgJE5BTUVTUEFDRQpgYGAKCjQuIEluc3RhbGwgSXN0aW/igJlzIFtDdXN0b20gUmVzb3VyY2UgRGVmaW5pdGlvbnNdKGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2V4dGVuZC1rdWJlcm5ldGVzL2FwaS1leHRlbnNpb24vY3VzdG9tLXJlc291cmNlcy8jY3VzdG9tcmVzb3VyY2VkZWZpbml0aW9ucykgdmlhIGBrdWJlY3RsIGFwcGx5YCwgYW5kIHdhaXQgYSBmZXcgc2Vjb25kcyBmb3IgdGhlIENSRHMgdG8gYmUgY29tbWl0dGVkIGluIHRoZSBrdWJlLWFwaXNlcnZlcjoKICAgYGBgCiAgICQga3ViZWN0bCBhcHBseSAtZiBpbnN0YWxsL2t1YmVybmV0ZXMvaGVsbS9pc3Rpby90ZW1wbGF0ZXMvY3Jkcy55YW1sCiAgIGBgYAogICAqKk5vdGUqKjogSWYgeW91IGFyZSBlbmFibGluZyBgY2VydG1hbmFnZXJgLCB5b3UgYWxzbyBuZWVkIHRvIGluc3RhbGwgaXRzIENSRHMgYW5kIHdhaXQgYSBmZXcgc2Vjb25kcyBmb3IgdGhlIENSRHMgdG8gYmUgY29tbWl0dGVkIGluIHRoZSBrdWJlLWFwaXNlcnZlcjoKICAgYGBgCiAgICQga3ViZWN0bCBhcHBseSAtZiBpbnN0YWxsL2t1YmVybmV0ZXMvaGVsbS9pc3Rpby9jaGFydHMvY2VydG1hbmFnZXIvdGVtcGxhdGVzL2NyZHMueWFtbAogICBgYGAKCjUuIElmIHlvdSBhcmUgZW5hYmxpbmcgYGtpYWxpYCwgeW91IG5lZWQgdG8gY3JlYXRlIHRoZSBzZWNyZXQgdGhhdCBjb250YWlucyB0aGUgdXNlcm5hbWUgYW5kIHBhc3NwaHJhc2UgZm9yIGBraWFsaWAgZGFzaGJvYXJkOgogICBgYGAKICAgJCBlY2hvIC1uICdhZG1pbicgfCBiYXNlNjQKICAgWVdSdGFXND0KICAgJCBlY2hvIC1uICcxZjJkMWUyZTY3ZGYnIHwgYmFzZTY0CiAgIE1XWXlaREZsTW1VMk4yUm0KICAgJCBjYXQgPDxFT0YgfCBrdWJlY3RsIGFwcGx5IC1mIC0KICAgYXBpVmVyc2lvbjogdjEKICAga2luZDogU2VjcmV0CiAgIG1ldGFkYXRhOgogICAgIG5hbWU6IGtpYWxpCiAgICAgbmFtZXNwYWNlOiAkTkFNRVNQQUNFCiAgICAgbGFiZWxzOgogICAgICAgYXBwOiBraWFsaQogICB0eXBlOiBPcGFxdWUKICAgZGF0YToKICAgICB1c2VybmFtZTogWVdSdGFXND0KICAgICBwYXNzcGhyYXNlOiBNV1l5WkRGbE1tVTJOMlJtCiAgIEVPRgogICBgYGAKCjYuIElmIHlvdSBhcmUgdXNpbmcgc2VjdXJpdHkgbW9kZSBmb3IgR3JhZmFuYSwgY3JlYXRlIHRoZSBzZWNyZXQgZmlyc3QgYXMgZm9sbG93czoKCkVuY29kZSB1c2VybmFtZSwgeW91IGNhbiBjaGFuZ2UgdGhlIHVzZXJuYW1lIHRvIHRoZSBuYW1lIGFzIHlvdSB3YW50OgpgYGAKJCBlY2hvIC1uICdhZG1pbicgfCBiYXNlNjQKWVdSdGFXND0KYGBgCgpFbmNvZGUgcGFzc3BocmFzZSwgeW91IGNhbiBjaGFuZ2UgdGhlIHBhc3NwaHJhc2UgdG8gdGhlIHBhc3NwaHJhc2UgYXMgeW91IHdhbnQ6CmBgYAokIGVjaG8gLW4gJzFmMmQxZTJlNjdkZicgfCBiYXNlNjQKTVdZeVpERmxNbVUyTjJSbQpgYGAKCkNyZWF0ZSBzZWNyZXQgZm9yIEdyYWZhbmE6CmBgYAokIGNhdCA8PEVPRiB8IGt1YmVjdGwgYXBwbHkgLWYgLQphcGlWZXJzaW9uOiB2MQpraW5kOiBTZWNyZXQKbWV0YWRhdGE6CiAgbmFtZTogZ3JhZmFuYQogIG5hbWVzcGFjZTogJE5BTUVTUEFDRQogIGxhYmVsczoKICAgIGFwcDogZ3JhZmFuYQp0eXBlOiBPcGFxdWUKZGF0YToKICB1c2VybmFtZTogWVdSdGFXND0KICBwYXNzcGhyYXNlOiBNV1l5WkRGbE1tVTJOMlJtCkVPRgpgYGAKCjcuIFRvIGluc3RhbGwgdGhlIGNoYXJ0IHdpdGggdGhlIHJlbGVhc2UgbmFtZSBgaXN0aW9gIGluIG5hbWVzcGFjZSAkTkFNRVNQQUNFIHlvdSBkZWZpbmVkIGFib3ZlOgogICAgLSBXaXRoIFthdXRvbWF0aWMgc2lkZWNhciBpbmplY3Rpb25dKGh0dHBzOi8vaXN0aW8uaW8vZG9jcy9zZXR1cC9rdWJlcm5ldGVzL3NpZGVjYXItaW5qZWN0aW9uLyNhdXRvbWF0aWMtc2lkZWNhci1pbmplY3Rpb24pIChyZXF1aXJlcyBLdWJlcm5ldGVzID49MS45LjApOgogICAgYGBgCiAgICAkIGhlbG0gaW5zdGFsbCBpbnN0YWxsL2t1YmVybmV0ZXMvaGVsbS9pc3RpbyAtLW5hbWUgaXN0aW8gLS1uYW1lc3BhY2UgJE5BTUVTUEFDRQogICAgYGBgCgogICAgLSBXaXRob3V0IHRoZSBzaWRlY2FyIGluamVjdGlvbiB3ZWJob29rOgogICAgYGBgCiAgICAkIGhlbG0gaW5zdGFsbCBpbnN0YWxsL2t1YmVybmV0ZXMvaGVsbS9pc3RpbyAtLW5hbWUgaXN0aW8gLS1uYW1lc3BhY2UgJE5BTUVTUEFDRSAtLXNldCBzaWRlY2FySW5qZWN0b3JXZWJob29rLmVuYWJsZWQ9ZmFsc2UKICAgIGBgYAoKIyMgQ29uZmlndXJhdGlvbgoKVGhlIEhlbG0gY2hhcnQgc2hpcHMgd2l0aCByZWFzb25hYmxlIGRlZmF1bHRzLiAgVGhlcmUgbWF5IGJlIGNpcmN1bXN0YW5jZXMgaW4gd2hpY2ggZGVmYXVsdHMgcmVxdWlyZSBvdmVycmlkZXMuClRvIG92ZXJyaWRlIEhlbG0gdmFsdWVzLCB1c2UgYC0tc2V0IGtleT12YWx1ZWAgYXJndW1lbnQgZHVyaW5nIHRoZSBgaGVsbSBpbnN0YWxsYCBjb21tYW5kLiAgTXVsdGlwbGUgYC0tc2V0YCBvcGVyYXRpb25zIG1heSBiZSB1c2VkIGluIHRoZSBzYW1lIEhlbG0gb3BlcmF0aW9uLgoKSGVsbSBjaGFydHMgZXhwb3NlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB3aGljaCBhcmUgY3VycmVudGx5IGluIGFscGhhLiAgVGhlIGN1cnJlbnRseSBleHBvc2VkIG9wdGlvbnMgYXJlIGV4cGxhaW5lZCBpbiB0aGUgZm9sbG93aW5nIHRhYmxlOgoKfCBQYXJhbWV0ZXIgfCBEZXNjcmlwdGlvbiB8IFZhbHVlcyB8IERlZmF1bHQgfAp8IC0tLSB8IC0tLSB8IC0tLSB8IC0tLSB8CnwgYGdsb2JhbC5odWJgIHwgU3BlY2lmaWVzIHRoZSBIVUIgZm9yIG1vc3QgaW1hZ2VzIHVzZWQgYnkgSXN0aW8gfCByZWdpc3RyeS9uYW1lc3BhY2UgfCBgZG9ja2VyLmlvL2lzdGlvYCB8CnwgYGdsb2JhbC50YWdgIHwgU3BlY2lmaWVzIHRoZSBUQUcgZm9yIG1vc3QgaW1hZ2VzIHVzZWQgYnkgSXN0aW8gfCB2YWxpZCBpbWFnZSB0YWcgfCBgMC44LmxhdGVzdGAgfAp8IGBnbG9iYWwucHJveHkuaW1hZ2VgIHwgU3BlY2lmaWVzIHRoZSBwcm94eSBpbWFnZSBuYW1lIHwgdmFsaWQgcHJveHkgbmFtZSB8IGBwcm94eXYyYCB8CnwgYGdsb2JhbC5wcm94eS5jb25jdXJyZW5jeWAgfCBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBwcm94eSB3b3JrZXIgdGhyZWFkcyB8IG51bWJlciwgMCA9IGF1dG8gfCBgMGAgfAp8IGBnbG9iYWwuaW1hZ2VQdWxsUG9saWN5YCB8IFNwZWNpZmllcyB0aGUgaW1hZ2UgcHVsbCBwb2xpY3kgfCB2YWxpZCBpbWFnZSBwdWxsIHBvbGljeSB8IGBJZk5vdFByZXNlbnRgIHwKfCBgZ2xvYmFsLmNvbnRyb2xQbGFuZVNlY3VyaXR5RW5hYmxlZGAgfCBTcGVjaWZpZXMgd2hldGhlciBjb250cm9sIHBsYW5lIG1UTFMgaXMgZW5hYmxlZCB8IHRydWUvZmFsc2UgfCBgZmFsc2VgIHwKfCBgZ2xvYmFsLm10bHMuZW5hYmxlZGAgfCBTcGVjaWZpZXMgd2hldGhlciBtVExTIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBiZXR3ZWVuIHNlcnZpY2VzIHwgdHJ1ZS9mYWxzZSB8IGBmYWxzZWAgfAp8IGBnbG9iYWwucmJhY0VuYWJsZWRgIHwgU3BlY2lmaWVzIHdoZXRoZXIgdG8gY3JlYXRlIElzdGlvIFJCQUMgcnVsZXMgb3Igbm90IHwgdHJ1ZS9mYWxzZSB8IGB0cnVlYCB8CnwgYGdsb2JhbC5yZWZyZXNoSW50ZXJ2YWxgIHwgU3BlY2lmaWVzIHRoZSBtZXNoIGRpc2NvdmVyeSByZWZyZXNoIGludGVydmFsIHwgaW50ZWdlciBmb2xsb3dlZCBieSBzIHwgYDEwc2AgfAp8IGBnbG9iYWwuYXJjaC5hbWQ2NGAgfCBTcGVjaWZpZXMgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGZvciBgYW1kNjRgIGFyY2hpdGVjdHVyZXMgfCAwID0gbmV2ZXIsIDEgPSBsZWFzdCBwcmVmZXJyZWQsIDIgPSBubyBwcmVmZXJlbmNlLCAzID0gbW9zdCBwcmVmZXJyZWQgfCBgMmAgfAp8IGBnbG9iYWwuYXJjaC5zMzkweGAgfCBTcGVjaWZpZXMgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGZvciBgczM5MHhgIGFyY2hpdGVjdHVyZXMgfCAwID0gbmV2ZXIsIDEgPSBsZWFzdCBwcmVmZXJyZWQsIDIgPSBubyBwcmVmZXJlbmNlLCAzID0gbW9zdCBwcmVmZXJyZWQgfCBgMmAgfAp8IGBnbG9iYWwuYXJjaC5wcGM2NGxlYCB8IFNwZWNpZmllcyB0aGUgc2NoZWR1bGluZyBwb2xpY3kgZm9yIGBwcGM2NGxlYCBhcmNoaXRlY3R1cmVzIHwgMCA9IG5ldmVyLCAxID0gbGVhc3QgcHJlZmVycmVkLCAyID0gbm8gcHJlZmVyZW5jZSwgMyA9IG1vc3QgcHJlZmVycmVkIHwgYDJgIHwKfCBgaW5ncmVzcy5lbmFibGVkYCB8IFNwZWNpZmllcyB3aGV0aGVyIEluZ3Jlc3Mgc2hvdWxkIGJlIGluc3RhbGxlZCB8IHRydWUvZmFsc2UgfCBgdHJ1ZWAgfAp8IGBnYXRld2F5cy5pc3Rpby1pbmdyZXNzZ2F0ZXdheS5lbmFibGVkYCB8IFNwZWNpZmllcyB3aGV0aGVyIEluZ3Jlc3MgZ2F0ZXdheSBzaG91bGQgYmUgaW5zdGFsbGVkIHwgdHJ1ZS9mYWxzZSB8IGB0cnVlYCB8CnwgYGdhdGV3YXlzLmlzdGlvLWVncmVzc2dhdGV3YXkuZW5hYmxlZGAgfCBTcGVjaWZpZXMgd2hldGhlciBFZ3Jlc3MgZ2F0ZXdheSBzaG91bGQgYmUgaW5zdGFsbGVkIHwgdHJ1ZS9mYWxzZSB8IGB0cnVlYCB8CnwgYHNpZGVjYXJJbmplY3RvcldlYmhvb2suZW5hYmxlZGAgfCBTcGVjaWZpZXMgd2hldGhlciBhdXRvbWF0aWMgc2lkZWNhci1pbmplY3RvciBzaG91bGQgYmUgaW5zdGFsbGVkIHwgYHRydWVgIHwKfCBgZ2FsbGV5LmVuYWJsZWRgIHwgU3BlY2lmaWVzIHdoZXRoZXIgR2FsbGV5IHNob3VsZCBiZSBpbnN0YWxsZWQgZm9yIHNlcnZlci1zaWRlIGNvbmZpZyB2YWxpZGF0aW9uIHwgdHJ1ZS9mYWxzZSB8IGB0cnVlYCB8CnwgYG1peGVyLmVuYWJsZWRgIHwgU3BlY2lmaWVzIHdoZXRoZXIgTWl4ZXIgc2hvdWxkIGJlIGluc3RhbGxlZCB8IHRydWUvZmFsc2UgfCBgdHJ1ZWAgfAp8IGBwaWxvdC5lbmFibGVkYCB8IFNwZWNpZmllcyB3aGV0aGVyIFBpbG90IHNob3VsZCBiZSBpbnN0YWxsZWQgfCB0cnVlL2ZhbHNlIHwgYHRydWVgIHwKfCBgZ3JhZmFuYS5lbmFibGVkYCB8IFNwZWNpZmllcyB3aGV0aGVyIEdyYWZhbmEgYWRkb24gc2hvdWxkIGJlIGluc3RhbGxlZCB8IHRydWUvZmFsc2UgfCBgZmFsc2VgIHwKfCBgZ3JhZmFuYS5wZXJzaXN0YCB8IFNwZWNpZmllcyB3aGV0aGVyIEdyYWZhbmEgYWRkb24gc2hvdWxkIHBlcnNpc3QgY29uZmlnIGRhdGEgfCB0cnVlL2ZhbHNlIHwgYGZhbHNlYCB8CnwgYGdyYWZhbmEuc3RvcmFnZUNsYXNzTmFtZWAgfCBJZiBgZ3JhZmFuYS5wZXJzaXN0YCBpcyB0cnVlLCBzcGVjaWZpZXMgdGhlIFtgU3RvcmFnZUNsYXNzYF0oaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvc3RvcmFnZS9zdG9yYWdlLWNsYXNzZXMvKSB0byB1c2UgZm9yIHRoZSBgUGVyc2lzdGVudFZvbHVtZUNsYWltYCB8IGBTdG9yYWdlQ2xhc3NgIHwgIiIgfAp8IGBncmFmYW5hLmFjY2Vzc01vZGVgIHwgSWYgYGdyYWZhbmEucGVyc2lzdGAgaXMgdHJ1ZSwgc3BlY2lmaWVzIHRoZSBbYEFjY2VzcyBNb2RlYF0oaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvc3RvcmFnZS9wZXJzaXN0ZW50LXZvbHVtZXMvI2FjY2Vzcy1tb2RlcykgdG8gdXNlIGZvciB0aGUgYFBlcnNpc3RlbnRWb2x1bWVDbGFpbWAgfCBSV08vUk9YL1JXWCB8IGBSZWFkV3JpdGVNYW55YCB8CnwgYHByb21ldGhldXMuZW5hYmxlZGAgfCBTcGVjaWZpZXMgd2hldGhlciBQcm9tZXRoZXVzIGFkZG9uIHNob3VsZCBiZSBpbnN0YWxsZWQgfCB0cnVlL2ZhbHNlIHwgYHRydWVgIHwKfCBgc2VydmljZWdyYXBoLmVuYWJsZWRgIHwgU3BlY2lmaWVzIHdoZXRoZXIgU2VydmljZWdyYXBoIGFkZG9uIHNob3VsZCBiZSBpbnN0YWxsZWQgfCB0cnVlL2ZhbHNlIHwgYGZhbHNlYCB8CnwgYHRyYWNpbmcuZW5hYmxlZGAgfCBTcGVjaWZpZXMgd2hldGhlciBUcmFjaW5nKGphZWdlcikgYWRkb24gc2hvdWxkIGJlIGluc3RhbGxlZCB8IHRydWUvZmFsc2UgfCBgZmFsc2VgIHwKfCBga2lhbGkuZW5hYmxlZGAgfCBTcGVjaWZpZXMgd2hldGhlciBLaWFsaSBhZGRvbiBzaG91bGQgYmUgaW5zdGFsbGVkIHwgdHJ1ZS9mYWxzZSB8IGBmYWxzZWAgfAoKIyMgVW5pbnN0YWxsaW5nIHRoZSBDaGFydAoKVG8gdW5pbnN0YWxsL2RlbGV0ZSB0aGUgYGlzdGlvYCByZWxlYXNlOgpgYGAKJCBoZWxtIGRlbGV0ZSBpc3RpbwpgYGAKVGhlIGNvbW1hbmQgcmVtb3ZlcyBhbGwgdGhlIEt1YmVybmV0ZXMgY29tcG9uZW50cyBhc3NvY2lhdGVkIHdpdGggdGhlIGNoYXJ0IGFuZCBkZWxldGVzIHRoZSByZWxlYXNlLgoKVG8gdW5pbnN0YWxsL2RlbGV0ZSB0aGUgYGlzdGlvYCByZWxlYXNlIGNvbXBsZXRlbHkgYW5kIG1ha2UgaXRzIG5hbWUgZnJlZSBmb3IgbGF0ZXIgdXNlOgpgYGAKJCBoZWxtIGRlbGV0ZSBpc3RpbyAtLXB1cmdlCmBgYAo="
    39          },
    40          {
    41            "filePath": "requirements.yaml",
    42            "fileContents": "ZGVwZW5kZW5jaWVzOgogIC0gbmFtZTogc2lkZWNhckluamVjdG9yV2ViaG9vawogICAgdmVyc2lvbjogMS4xLjAKICAgIGNvbmRpdGlvbjogc2lkZWNhckluamVjdG9yV2ViaG9vay5lbmFibGVkCiAgICByZXBvc2l0b3J5OiBmaWxlOi8vLi4vc3ViY2hhcnRzL3NpZGVjYXJJbmplY3RvcldlYmhvb2sKICAtIG5hbWU6IHNlY3VyaXR5CiAgICB2ZXJzaW9uOiAxLjEuMAogICAgY29uZGl0aW9uOiBzZWN1cml0eS5lbmFibGVkCiAgICByZXBvc2l0b3J5OiBmaWxlOi8vLi4vc3ViY2hhcnRzL3NlY3VyaXR5CiAgLSBuYW1lOiBpbmdyZXNzCiAgICB2ZXJzaW9uOiAxLjEuMAogICAgY29uZGl0aW9uOiBpbmdyZXNzLmVuYWJsZWQKICAgIHJlcG9zaXRvcnk6IGZpbGU6Ly8uLi9zdWJjaGFydHMvaW5ncmVzcwogIC0gbmFtZTogZ2F0ZXdheXMKICAgIHZlcnNpb246IDEuMS4wCiAgICBjb25kaXRpb246IGdhdGV3YXlzLmVuYWJsZWQKICAgIHJlcG9zaXRvcnk6IGZpbGU6Ly8uLi9zdWJjaGFydHMvZ2F0ZXdheXMKICAtIG5hbWU6IG1peGVyCiAgICB2ZXJzaW9uOiAxLjEuMAogICAgY29uZGl0aW9uOiBtaXhlci5lbmFibGVkCiAgICByZXBvc2l0b3J5OiBmaWxlOi8vLi4vc3ViY2hhcnRzL21peGVyCiAgLSBuYW1lOiBub2RlYWdlbnQKICAgIHZlcnNpb246IDEuMS4wCiAgICBjb25kaXRpb246IG5vZGVhZ2VudC5lbmFibGVkCiAgICByZXBvc2l0b3J5OiBmaWxlOi8vLi4vc3ViY2hhcnRzL25vZGVhZ2VudAogIC0gbmFtZTogcGlsb3QKICAgIHZlcnNpb246IDEuMS4wCiAgICBjb25kaXRpb246IHBpbG90LmVuYWJsZWQKICAgIHJlcG9zaXRvcnk6IGZpbGU6Ly8uLi9zdWJjaGFydHMvcGlsb3QKICAtIG5hbWU6IGdyYWZhbmEKICAgIHZlcnNpb246IDEuMS4wCiAgICBjb25kaXRpb246IGdyYWZhbmEuZW5hYmxlZAogICAgcmVwb3NpdG9yeTogZmlsZTovLy4uL3N1YmNoYXJ0cy9ncmFmYW5hCiAgLSBuYW1lOiBwcm9tZXRoZXVzCiAgICB2ZXJzaW9uOiAxLjEuMAogICAgY29uZGl0aW9uOiBwcm9tZXRoZXVzLmVuYWJsZWQKICAgIHJlcG9zaXRvcnk6IGZpbGU6Ly8uLi9zdWJjaGFydHMvcHJvbWV0aGV1cwogIC0gbmFtZTogc2VydmljZWdyYXBoCiAgICB2ZXJzaW9uOiAxLjEuMAogICAgY29uZGl0aW9uOiBzZXJ2aWNlZ3JhcGguZW5hYmxlZAogICAgcmVwb3NpdG9yeTogZmlsZTovLy4uL3N1YmNoYXJ0cy9zZXJ2aWNlZ3JhcGgKICAtIG5hbWU6IHRyYWNpbmcKICAgIHZlcnNpb246IDEuMS4wCiAgICBjb25kaXRpb246IHRyYWNpbmcuZW5hYmxlZAogICAgcmVwb3NpdG9yeTogZmlsZTovLy4uL3N1YmNoYXJ0cy90cmFjaW5nCiAgLSBuYW1lOiBnYWxsZXkKICAgIHZlcnNpb246IDEuMS4wCiAgICBjb25kaXRpb246IGdhbGxleS5lbmFibGVkCiAgICByZXBvc2l0b3J5OiBmaWxlOi8vLi4vc3ViY2hhcnRzL2dhbGxleQogIC0gbmFtZToga2lhbGkKICAgIHZlcnNpb246IDEuMS4wCiAgICBjb25kaXRpb246IGtpYWxpLmVuYWJsZWQKICAgIHJlcG9zaXRvcnk6IGZpbGU6Ly8uLi9zdWJjaGFydHMva2lhbGkKICAtIG5hbWU6IGNlcnRtYW5hZ2VyCiAgICB2ZXJzaW9uOiAxLjEuMAogICAgY29uZGl0aW9uOiBjZXJ0bWFuYWdlci5lbmFibGVkCiAgICByZXBvc2l0b3J5OiBmaWxlOi8vLi4vc3ViY2hhcnRzL2NlcnRtYW5hZ2Vy"
    43          },
    44          {
    45            "filePath": "templates/NOTES.txt",
    46            "fileContents": "VGhhbmsgeW91IGZvciBpbnN0YWxsaW5nIHt7IC5DaGFydC5OYW1lIH19LgoKWW91ciByZWxlYXNlIGlzIG5hbWVkIHt7IC5SZWxlYXNlLk5hbWUgfX0uCgpUbyBnZXQgc3RhcnRlZCBydW5uaW5nIGFwcGxpY2F0aW9uIHdpdGggSXN0aW8sIGV4ZWN1dGUgdGhlIGZvbGxvd2luZyBzdGVwczoKCnt7LSBpZiBpbmRleCAuVmFsdWVzICJzaWRlY2FySW5qZWN0b3JXZWJob29rIiAiZW5hYmxlZCIgfX0KMS4gTGFiZWwgbmFtZXNwYWNlIHRoYXQgYXBwbGljYXRpb24gb2JqZWN0IHdpbGwgYmUgZGVwbG95ZWQgdG8gYnkgdGhlIGZvbGxvd2luZyBjb21tYW5kICh0YWtlIGRlZmF1bHQgbmFtZXNwYWNlIGFzIGFuIGV4YW1wbGUpCgokIGt1YmVjdGwgbGFiZWwgbmFtZXNwYWNlIGRlZmF1bHQgaXN0aW8taW5qZWN0aW9uPWVuYWJsZWQKJCBrdWJlY3RsIGdldCBuYW1lc3BhY2UgLUwgaXN0aW8taW5qZWN0aW9uCgoyLiBEZXBsb3kgeW91ciBhcHBsaWNhdGlvbnMKCiQga3ViZWN0bCBhcHBseSAtZiA8eW91ci1hcHBsaWNhdGlvbj4ueWFtbAp7ey0gZWxzZSB9fQoxLiBEb3dubG9hZCB0aGUgbGF0ZXN0IHJlbGVhc2UgcGFja2FnZSB0byBnZXQgc2lkZWNhciBpbmplY3Rpb24gdG9vbAoKJCBjdXJsIC1MIGh0dHBzOi8vZ2l0LmlvL2dldExhdGVzdElzdGlvIHwgc2ggLQokIG12IGlzdGlvLSogaXN0aW8tbGF0ZXN0CiQgZXhwb3J0IFBBVEg9IiRQQVRIOiRQV0QvaXN0aW8tbGF0ZXN0L2JpbiIKCjIuIERlcGxveSB5b3VyIGFwcGxpY2F0aW9uIGJ5IG1hbnVhbGx5IGluamVjdGluZyBlbnZveSBzaWRlY2FyIHdpdGggYGlzdGlvY3RsIGt1YmUtaW5qZWN0YAoKJCBrdWJlY3RsIGFwcGx5IC1mIDwoaXN0aW9jdGwga3ViZS1pbmplY3QgLWYgPHlvdXItYXBwbGljYXRpb24+LnlhbWwpCnt7LSBlbmQgfX0KCkZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHJ1bm5pbmcgSXN0aW8sIHZpc2l0OgpodHRwczovL2lzdGlvLmlvLw=="
    47          },
    48          {
    49            "filePath": "templates/_affinity.tpl",
    50            "fileContents": "e3svKiBhZmZpbml0eSAtIGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vYXNzaWduLXBvZC1ub2RlLyAqL319Cgp7ey0gZGVmaW5lICJub2RlYWZmaW5pdHkiIH19CiAgbm9kZUFmZmluaXR5OgogICAgcmVxdWlyZWREdXJpbmdTY2hlZHVsaW5nSWdub3JlZER1cmluZ0V4ZWN1dGlvbjoKICAgIHt7LSBpbmNsdWRlICJub2RlQWZmaW5pdHlSZXF1aXJlZER1cmluZ1NjaGVkdWxpbmciIC4gfX0KICAgIHByZWZlcnJlZER1cmluZ1NjaGVkdWxpbmdJZ25vcmVkRHVyaW5nRXhlY3V0aW9uOgogICAge3stIGluY2x1ZGUgIm5vZGVBZmZpbml0eVByZWZlcnJlZER1cmluZ1NjaGVkdWxpbmciIC4gfX0Ke3stIGVuZCB9fQoKe3stIGRlZmluZSAibm9kZUFmZmluaXR5UmVxdWlyZWREdXJpbmdTY2hlZHVsaW5nIiB9fQogICAgICBub2RlU2VsZWN0b3JUZXJtczoKICAgICAgLSBtYXRjaEV4cHJlc3Npb25zOgogICAgICAgIC0ga2V5OiBiZXRhLmt1YmVybmV0ZXMuaW8vYXJjaAogICAgICAgICAgb3BlcmF0b3I6IEluCiAgICAgICAgICB2YWx1ZXM6CiAgICAgICAge3stIHJhbmdlICRrZXksICR2YWwgOj0gLlZhbHVlcy5nbG9iYWwuYXJjaCB9fQogICAgICAgICAge3stIGlmIGd0ICgkdmFsIHwgaW50KSAwIH19CiAgICAgICAgICAtIHt7ICRrZXkgfX0KICAgICAgICAgIHt7LSBlbmQgfX0KICAgICAgICB7ey0gZW5kIH19Cnt7LSBlbmQgfX0KCnt7LSBkZWZpbmUgIm5vZGVBZmZpbml0eVByZWZlcnJlZER1cmluZ1NjaGVkdWxpbmciIH19CiAge3stIHJhbmdlICRrZXksICR2YWwgOj0gLlZhbHVlcy5nbG9iYWwuYXJjaCB9fQogICAge3stIGlmIGd0ICgkdmFsIHwgaW50KSAwIH19CiAgICAtIHdlaWdodDoge3sgJHZhbCB8IGludCB9fQogICAgICBwcmVmZXJlbmNlOgogICAgICAgIG1hdGNoRXhwcmVzc2lvbnM6CiAgICAgICAgLSBrZXk6IGJldGEua3ViZXJuZXRlcy5pby9hcmNoCiAgICAgICAgICBvcGVyYXRvcjogSW4KICAgICAgICAgIHZhbHVlczoKICAgICAgICAgIC0ge3sgJGtleSB9fQogICAge3stIGVuZCB9fQogIHt7LSBlbmQgfX0Ke3stIGVuZCB9fQ=="
    51          },
    52          {
    53            "filePath": "templates/_helpers.tpl",
    54            "fileContents": "e3svKiB2aW06IHNldCBmaWxldHlwZT1tdXN0YWNoZTogKi99fQp7ey8qCkV4cGFuZCB0aGUgbmFtZSBvZiB0aGUgY2hhcnQuCiovfX0Ke3stIGRlZmluZSAiaXN0aW8ubmFtZSIgLX19Cnt7LSBkZWZhdWx0IC5DaGFydC5OYW1lIC5WYWx1ZXMubmFtZU92ZXJyaWRlIHwgdHJ1bmMgNjMgfCB0cmltU3VmZml4ICItIiAtfX0Ke3stIGVuZCAtfX0KCnt7LyoKQ3JlYXRlIGEgZGVmYXVsdCBmdWxseSBxdWFsaWZpZWQgYXBwIG5hbWUuCldlIHRydW5jYXRlIGF0IDYzIGNoYXJzIGJlY2F1c2Ugc29tZSBLdWJlcm5ldGVzIG5hbWUgZmllbGRzIGFyZSBsaW1pdGVkIHRvIHRoaXMgKGJ5IHRoZSBETlMgbmFtaW5nIHNwZWMpLgpJZiByZWxlYXNlIG5hbWUgY29udGFpbnMgY2hhcnQgbmFtZSBpdCB3aWxsIGJlIHVzZWQgYXMgYSBmdWxsIG5hbWUuCiovfX0Ke3stIGRlZmluZSAiaXN0aW8uZnVsbG5hbWUiIC19fQp7ey0gaWYgLlZhbHVlcy5mdWxsbmFtZU92ZXJyaWRlIC19fQp7ey0gLlZhbHVlcy5mdWxsbmFtZU92ZXJyaWRlIHwgdHJ1bmMgNjMgfCB0cmltU3VmZml4ICItIiAtfX0Ke3stIGVsc2UgLX19Cnt7LSAkbmFtZSA6PSBkZWZhdWx0IC5DaGFydC5OYW1lIC5WYWx1ZXMubmFtZU92ZXJyaWRlIC19fQp7ey0gaWYgY29udGFpbnMgJG5hbWUgLlJlbGVhc2UuTmFtZSAtfX0Ke3stIC5SZWxlYXNlLk5hbWUgfCB0cnVuYyA2MyB8IHRyaW1TdWZmaXggIi0iIC19fQp7ey0gZWxzZSAtfX0Ke3stIHByaW50ZiAiJXMtJXMiIC5SZWxlYXNlLk5hbWUgJG5hbWUgfCB0cnVuYyA2MyB8IHRyaW1TdWZmaXggIi0iIC19fQp7ey0gZW5kIC19fQp7ey0gZW5kIC19fQp7ey0gZW5kIC19fQoKe3svKgpDcmVhdGUgY2hhcnQgbmFtZSBhbmQgdmVyc2lvbiBhcyB1c2VkIGJ5IHRoZSBjaGFydCBsYWJlbC4KKi99fQp7ey0gZGVmaW5lICJpc3Rpby5jaGFydCIgLX19Cnt7LSBwcmludGYgIiVzLSVzIiAuQ2hhcnQuTmFtZSAuQ2hhcnQuVmVyc2lvbiB8IHJlcGxhY2UgIisiICJfIiB8IHRydW5jIDYzIHwgdHJpbVN1ZmZpeCAiLSIgLX19Cnt7LSBlbmQgLX19Cgp7ey8qCkNyZWF0ZSBhIGZ1bGx5IHF1YWxpZmllZCBjb25maWdtYXAgbmFtZS4KKi99fQp7ey0gZGVmaW5lICJpc3Rpby5jb25maWdtYXAuZnVsbG5hbWUiIC19fQp7ey0gcHJpbnRmICIlcy0lcyIgLlJlbGVhc2UuTmFtZSAiaXN0aW8tbWVzaC1jb25maWciIHwgdHJ1bmMgNjMgfCB0cmltU3VmZml4ICItIiAtfX0Ke3stIGVuZCAtfX0KCnt7LyoKQ29uZmlnbWFwIGNoZWNrc3VtLgoqL319Cnt7LSBkZWZpbmUgImlzdGlvLmNvbmZpZ21hcC5jaGVja3N1bSIgLX19Cnt7LSBwcmludCAkLlRlbXBsYXRlLkJhc2VQYXRoICIvY29uZmlnbWFwLnlhbWwiIHwgc2hhMjU2c3VtIC19fQp7ey0gZW5kIC19fQo="
    55          },
    56          {
    57            "filePath": "templates/configmap.yaml",
    58            "fileContents": "e3stIGlmIC5WYWx1ZXMucGlsb3QuZW5hYmxlZCB9fQphcGlWZXJzaW9uOiB2MQpraW5kOiBDb25maWdNYXAKbWV0YWRhdGE6CiAgbmFtZTogaXN0aW8KICBuYW1lc3BhY2U6IHt7IC5SZWxlYXNlLk5hbWVzcGFjZSB9fQogIGxhYmVsczoKICAgIGFwcDoge3sgdGVtcGxhdGUgImlzdGlvLm5hbWUiIC4gfX0KICAgIGNoYXJ0OiB7eyB0ZW1wbGF0ZSAiaXN0aW8uY2hhcnQiIC4gfX0KICAgIGhlcml0YWdlOiB7eyAuUmVsZWFzZS5TZXJ2aWNlIH19CiAgICByZWxlYXNlOiB7eyAuUmVsZWFzZS5OYW1lIH19CmRhdGE6CiAgbWVzaDogfC0KICAgICMgU2V0IHRoZSBmb2xsb3dpbmcgdmFyaWFibGUgdG8gdHJ1ZSB0byBkaXNhYmxlIHBvbGljeSBjaGVja3MgYnkgdGhlIE1peGVyLgogICAgIyBOb3RlIHRoYXQgbWV0cmljcyB3aWxsIHN0aWxsIGJlIHJlcG9ydGVkIHRvIHRoZSBNaXhlci4KICAgIGRpc2FibGVQb2xpY3lDaGVja3M6IHt7IC5WYWx1ZXMuZ2xvYmFsLmRpc2FibGVQb2xpY3lDaGVja3MgfX0KCiAgICAjIFNldCBlbmFibGVUcmFjaW5nIHRvIGZhbHNlIHRvIGRpc2FibGUgcmVxdWVzdCB0cmFjaW5nLgogICAgZW5hYmxlVHJhY2luZzoge3sgLlZhbHVlcy5nbG9iYWwuZW5hYmxlVHJhY2luZyB9fQoKICAgICMgU2V0IGFjY2Vzc0xvZ0ZpbGUgdG8gZW1wdHkgc3RyaW5nIHRvIGRpc2FibGUgYWNjZXNzIGxvZy4KICAgIGFjY2Vzc0xvZ0ZpbGU6ICJ7eyAuVmFsdWVzLmdsb2JhbC5wcm94eS5hY2Nlc3NMb2dGaWxlIH19IgogICAgIwogICAgIyBEZXByZWNhdGVkOiBtaXhlciBpcyB1c2luZyBFRFMKICAgIHt7LSBpZiAuVmFsdWVzLm1peGVyLmVuYWJsZWQgfX0KICAgIHt7LSBpZiAuVmFsdWVzLmdsb2JhbC5jb250cm9sUGxhbmVTZWN1cml0eUVuYWJsZWQgfX0KICAgIG1peGVyQ2hlY2tTZXJ2ZXI6IGlzdGlvLXBvbGljeS57eyAuUmVsZWFzZS5OYW1lc3BhY2UgfX0uc3ZjLmNsdXN0ZXIubG9jYWw6MTUwMDQKICAgIG1peGVyUmVwb3J0U2VydmVyOiBpc3Rpby10ZWxlbWV0cnkue3sgLlJlbGVhc2UuTmFtZXNwYWNlIH19LnN2Yy5jbHVzdGVyLmxvY2FsOjE1MDA0CiAgICB7ey0gZWxzZSB9fQogICAgbWl4ZXJDaGVja1NlcnZlcjogaXN0aW8tcG9saWN5Lnt7IC5SZWxlYXNlLk5hbWVzcGFjZSB9fS5zdmMuY2x1c3Rlci5sb2NhbDo5MDkxCiAgICBtaXhlclJlcG9ydFNlcnZlcjogaXN0aW8tdGVsZW1ldHJ5Lnt7IC5SZWxlYXNlLk5hbWVzcGFjZSB9fS5zdmMuY2x1c3Rlci5sb2NhbDo5MDkxCiAgICB7ey0gZW5kIH19CiAgICB7ey0gZW5kIH19CgogICAge3stIGlmIC5WYWx1ZXMuaW5ncmVzcy5lbmFibGVkIH19CiAgICAjIFRoaXMgaXMgdGhlIGs4cyBpbmdyZXNzIHNlcnZpY2UgbmFtZSwgdXBkYXRlIGlmIHlvdSB1c2VkIGEgZGlmZmVyZW50IG5hbWUKICAgIGluZ3Jlc3NTZXJ2aWNlOiBpc3Rpby17eyAuVmFsdWVzLmdsb2JhbC5rOHNJbmdyZXNzU2VsZWN0b3IgfX0KICAgIHt7LSBlbmQgfX0KCiAgICAjIFVuaXggRG9tYWluIFNvY2tldCB0aHJvdWdoIHdoaWNoIGVudm95IGNvbW11bmljYXRlcyB3aXRoIE5vZGVBZ2VudCBTRFMgdG8gZ2V0CiAgICAjIGtleS9jZXJ0IGZvciBtVExTLiBVc2Ugc2VjcmV0LW1vdW50IGZpbGVzIGluc3RlYWQgb2YgU0RTIGlmIHNldCB0byBlbXB0eS4gCiAgICBzZHNVZHNQYXRoOiAiIgoKICAgICMKICAgIGRlZmF1bHRDb25maWc6CiAgICAgICMKICAgICAgIyBUQ1AgY29ubmVjdGlvbiB0aW1lb3V0IGJldHdlZW4gRW52b3kgJiB0aGUgYXBwbGljYXRpb24sIGFuZCBiZXR3ZWVuIEVudm95cy4KICAgICAgY29ubmVjdFRpbWVvdXQ6IDEwcwogICAgICAjCiAgICAgICMjIyBBRFZBTkNFRCBTRVRUSU5HUyAjIyMjIyMjIyMjIyMjCiAgICAgICMgV2hlcmUgc2hvdWxkIGVudm95J3MgY29uZmlndXJhdGlvbiBiZSBzdG9yZWQgaW4gdGhlIGlzdGlvLXByb3h5IGNvbnRhaW5lcgogICAgICBjb25maWdQYXRoOiAiL2V0Yy9pc3Rpby9wcm94eSIKICAgICAgYmluYXJ5UGF0aDogIi91c3IvbG9jYWwvYmluL2Vudm95IgogICAgICAjIFRoZSBwc2V1ZG8gc2VydmljZSBuYW1lIHVzZWQgZm9yIEVudm95LgogICAgICBzZXJ2aWNlQ2x1c3RlcjogaXN0aW8tcHJveHkKICAgICAgIyBUaGVzZSBzZXR0aW5ncyB0aGF0IGRldGVybWluZSBob3cgbG9uZyBhbiBvbGQgRW52b3kKICAgICAgIyBwcm9jZXNzIHNob3VsZCBiZSBrZXB0IGFsaXZlIGFmdGVyIGFuIG9jY2FzaW9uYWwgcmVsb2FkLgogICAgICBkcmFpbkR1cmF0aW9uOiA0NXMKICAgICAgcGFyZW50U2h1dGRvd25EdXJhdGlvbjogMW0wcwogICAgICAjCiAgICAgICMgVGhlIG1vZGUgdXNlZCB0byByZWRpcmVjdCBpbmJvdW5kIGNvbm5lY3Rpb25zIHRvIEVudm95LiBUaGlzIHNldHRpbmcKICAgICAgIyBoYXMgbm8gZWZmZWN0IG9uIG91dGJvdW5kIHRyYWZmaWM6IGlwdGFibGVzIFJFRElSRUNUIGlzIGFsd2F5cyB1c2VkIGZvcgogICAgICAjIG91dGJvdW5kIGNvbm5lY3Rpb25zLgogICAgICAjIElmICJSRURJUkVDVCIsIHVzZSBpcHRhYmxlcyBSRURJUkVDVCB0byBOQVQgYW5kIHJlZGlyZWN0IHRvIEVudm95LgogICAgICAjIFRoZSAiUkVESVJFQ1QiIG1vZGUgbG9zZXMgc291cmNlIGFkZHJlc3NlcyBkdXJpbmcgcmVkaXJlY3Rpb24uCiAgICAgICMgSWYgIlRQUk9YWSIsIHVzZSBpcHRhYmxlcyBUUFJPWFkgdG8gcmVkaXJlY3QgdG8gRW52b3kuCiAgICAgICMgVGhlICJUUFJPWFkiIG1vZGUgcHJlc2VydmVzIGJvdGggdGhlIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gSVAKICAgICAgIyBhZGRyZXNzZXMgYW5kIHBvcnRzLCBzbyB0aGF0IHRoZXkgY2FuIGJlIHVzZWQgZm9yIGFkdmFuY2VkIGZpbHRlcmluZwogICAgICAjIGFuZCBtYW5pcHVsYXRpb24uCiAgICAgICMgVGhlICJUUFJPWFkiIG1vZGUgYWxzbyBjb25maWd1cmVzIHRoZSBzaWRlY2FyIHRvIHJ1biB3aXRoIHRoZQogICAgICAjIENBUF9ORVRfQURNSU4gY2FwYWJpbGl0eSwgd2hpY2ggaXMgcmVxdWlyZWQgdG8gdXNlIFRQUk9YWS4KICAgICAgI2ludGVyY2VwdGlvbk1vZGU6IFJFRElSRUNUCiAgICAgICMKICAgICAgIyBQb3J0IHdoZXJlIEVudm95IGxpc3RlbnMgKG9uIGxvY2FsIGhvc3QpIGZvciBhZG1pbiBjb21tYW5kcwogICAgICAjIFlvdSBjYW4gZXhlYyBpbnRvIHRoZSBpc3Rpby1wcm94eSBjb250YWluZXIgaW4gYSBwb2QgYW5kCiAgICAgICMgY3VybCB0aGUgYWRtaW4gcG9ydCAoY3VybCBodHRwOi8vbG9jYWxob3N0OjE1MDAwLykgdG8gb2J0YWluCiAgICAgICMgZGlhZ25vc3RpYyBpbmZvcm1hdGlvbiBmcm9tIEVudm95LiBTZWUKICAgICAgIyBodHRwczovL2x5ZnQuZ2l0aHViLmlvL2Vudm95L2RvY3Mvb3BlcmF0aW9ucy9hZG1pbi5odG1sCiAgICAgICMgZm9yIG1vcmUgZGV0YWlscwogICAgICBwcm94eUFkbWluUG9ydDogMTUwMDAKICAgICAgIwogICAgICAjIFNldCBjb25jdXJyZW5jeSB0byBhIHNwZWNpZmljIG51bWJlciB0byBjb250cm9sIHRoZSBudW1iZXIgb2YgUHJveHkgd29ya2VyIHRocmVhZHMuCiAgICAgICMgSWYgc2V0IHRvIDAgKGRlZmF1bHQpLCB0aGVuIHN0YXJ0IHdvcmtlciB0aHJlYWQgZm9yIGVhY2ggQ1BVIHRocmVhZC9jb3JlLgogICAgICBjb25jdXJyZW5jeToge3sgLlZhbHVlcy5nbG9iYWwucHJveHkuY29uY3VycmVuY3kgfX0KICAgICAgIwogICAgICB0cmFjaW5nOgogICAgICB7ey0gaWYgZXEgLlZhbHVlcy5nbG9iYWwucHJveHkudHJhY2VyICJsaWdodHN0ZXAiIH19CiAgICAgICAgbGlnaHRzdGVwOgogICAgICAgICAgIyBBZGRyZXNzIG9mIHRoZSBMaWdodFN0ZXAgU2F0ZWxsaXRlIHBvb2wKICAgICAgICAgIGFkZHJlc3M6IHt7IC5WYWx1ZXMuZ2xvYmFsLnRyYWNlci5saWdodHN0ZXAuYWRkcmVzcyB9fQogICAgICAgICAgIyBBY2Nlc3MgVG9rZW4gdXNlZCB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBTYXRlbGxpdGUgcG9vbAogICAgICAgICAgYWNjZXNzVG9rZW46IHt7IC5WYWx1ZXMuZ2xvYmFsLnRyYWNlci5saWdodHN0ZXAuYWNjZXNzVG9rZW4gfX0KICAgICAgICAgICMgV2hldGhlciBjb21tdW5pY2F0aW9uIHdpdGggdGhlIFNhdGVsbGl0ZSBwb29sIHNob3VsZCBiZSBzZWN1cmUKICAgICAgICAgIHNlY3VyZToge3sgLlZhbHVlcy5nbG9iYWwudHJhY2VyLmxpZ2h0c3RlcC5zZWN1cmUgfX0KICAgICAgICAgICMgUGF0aCB0byB0aGUgZmlsZSBjb250YWluaW5nIHRoZSBjYWNlcnQgdG8gdXNlIHdoZW4gdmVyaWZ5aW5nIFRMUwogICAgICAgICAgY2FjZXJ0UGF0aDoge3sgLlZhbHVlcy5nbG9iYWwudHJhY2VyLmxpZ2h0c3RlcC5jYWNlcnRQYXRoIH19CiAgICAgIHt7LSBlbHNlIGlmIGVxIC5WYWx1ZXMuZ2xvYmFsLnByb3h5LnRyYWNlciAiemlwa2luIiB9fQogICAgICAgIHppcGtpbjoKICAgICAgICAgICMgQWRkcmVzcyBvZiB0aGUgWmlwa2luIGNvbGxlY3RvcgogICAgICAgIHt7LSBpZiAuVmFsdWVzLmdsb2JhbC50cmFjZXIuemlwa2luLmFkZHJlc3MgfX0KICAgICAgICAgIGFkZHJlc3M6IHt7IC5WYWx1ZXMuZ2xvYmFsLnRyYWNlci56aXBraW4uYWRkcmVzcyB9fQogICAgICAgIHt7LSBlbHNlIH19CiAgICAgICAgICBhZGRyZXNzOiB6aXBraW4ue3sgLlJlbGVhc2UuTmFtZXNwYWNlIH19Ojk0MTEKICAgICAgICB7ey0gZW5kIH19CiAgICAgIHt7LSBlbmQgfX0KCiAgICB7ey0gaWYgLlZhbHVlcy5nbG9iYWwucHJveHkuZW52b3lTdGF0c2QuZW5hYmxlZCB9fQogICAgICAjCiAgICAgICMgU3RhdHNkIG1ldHJpY3MgY29sbGVjdG9yIGNvbnZlcnRzIHN0YXRzZCBtZXRyaWNzIGludG8gUHJvbWV0aGV1cyBtZXRyaWNzLgogICAgICBzdGF0c2RVZHBBZGRyZXNzOiB7eyAuVmFsdWVzLmdsb2JhbC5wcm94eS5lbnZveVN0YXRzZC5ob3N0IH19Lnt7IC5SZWxlYXNlLk5hbWVzcGFjZSB9fTp7eyAuVmFsdWVzLmdsb2JhbC5wcm94eS5lbnZveVN0YXRzZC5wb3J0IH19CiAgICB7ey0gZW5kIH19CgogICAge3stIGlmIC5WYWx1ZXMuZ2xvYmFsLmNvbnRyb2xQbGFuZVNlY3VyaXR5RW5hYmxlZCB9fQogICAgICAjCiAgICAgICMgTXV0dWFsIFRMUyBhdXRoZW50aWNhdGlvbiBiZXR3ZWVuIHNpZGVjYXJzIGFuZCBpc3RpbyBjb250cm9sIHBsYW5lLgogICAgICBjb250cm9sUGxhbmVBdXRoUG9saWN5OiBNVVRVQUxfVExTCiAgICAgICMKICAgICAgIyBBZGRyZXNzIHdoZXJlIGlzdGlvIFBpbG90IHNlcnZpY2UgaXMgcnVubmluZwogICAgICBkaXNjb3ZlcnlBZGRyZXNzOiBpc3Rpby1waWxvdC57eyAuUmVsZWFzZS5OYW1lc3BhY2UgfX06MTUwMTEKICAgIHt7LSBlbHNlIH19CiAgICAgICMKICAgICAgIyBNdXR1YWwgVExTIGF1dGhlbnRpY2F0aW9uIGJldHdlZW4gc2lkZWNhcnMgYW5kIGlzdGlvIGNvbnRyb2wgcGxhbmUuCiAgICAgIGNvbnRyb2xQbGFuZUF1dGhQb2xpY3k6IE5PTkUKICAgICAgIwogICAgICAjIEFkZHJlc3Mgd2hlcmUgaXN0aW8gUGlsb3Qgc2VydmljZSBpcyBydW5uaW5nCiAgICAgIGRpc2NvdmVyeUFkZHJlc3M6IGlzdGlvLXBpbG90Lnt7IC5SZWxlYXNlLk5hbWVzcGFjZSB9fToxNTAxMAogICAge3stIGVuZCB9fQp7ey0gZW5kIH19Cg=="
    59          },
    60          {
    61            "filePath": "templates/crds.yaml",
    62            "fileContents": "IyB7eyBpZiBvciAuVmFsdWVzLmdsb2JhbC5jcmRzIChzZW12ZXJDb21wYXJlICI+PTIuMTAuMC0wIiAuQ2FwYWJpbGl0aWVzLlRpbGxlclZlcnNpb24uU2VtVmVyKSB9fQojIHRoZXNlIENSRHMgb25seSBtYWtlIHNlbnNlIHdoZW4gcGlsb3QgaXMgZW5hYmxlZAojIHt7LSBpZiBvciAuVmFsdWVzLnBpbG90LmVuYWJsZWQgLlZhbHVlcy5nbG9iYWwudXNlTUNQIH19CmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHZpcnR1YWxzZXJ2aWNlcy5uZXR3b3JraW5nLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IGlzdGlvLXBpbG90CiAgICBjaGFydDogaXN0aW8KICAgIGhlcml0YWdlOiBUaWxsZXIKICAgIHJlbGVhc2U6IGlzdGlvCnNwZWM6CiAgZ3JvdXA6IG5ldHdvcmtpbmcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IFZpcnR1YWxTZXJ2aWNlCiAgICBsaXN0S2luZDogVmlydHVhbFNlcnZpY2VMaXN0CiAgICBwbHVyYWw6IHZpcnR1YWxzZXJ2aWNlcwogICAgc2luZ3VsYXI6IHZpcnR1YWxzZXJ2aWNlCiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBuZXR3b3JraW5nLWlzdGlvLWlvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uOiB2MWFscGhhMwotLS0KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFiZXRhMQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KbWV0YWRhdGE6CiAgbmFtZTogZGVzdGluYXRpb25ydWxlcy5uZXR3b3JraW5nLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IGlzdGlvLXBpbG90CiAgICBjaGFydDogaXN0aW8KICAgIGhlcml0YWdlOiBUaWxsZXIKICAgIHJlbGVhc2U6IGlzdGlvCnNwZWM6CiAgZ3JvdXA6IG5ldHdvcmtpbmcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IERlc3RpbmF0aW9uUnVsZQogICAgbGlzdEtpbmQ6IERlc3RpbmF0aW9uUnVsZUxpc3QKICAgIHBsdXJhbDogZGVzdGluYXRpb25ydWxlcwogICAgc2luZ3VsYXI6IGRlc3RpbmF0aW9ucnVsZQogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gbmV0d29ya2luZy1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTMKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IHNlcnZpY2VlbnRyaWVzLm5ldHdvcmtpbmcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogaXN0aW8tcGlsb3QKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogbmV0d29ya2luZy5pc3Rpby5pbwogIG5hbWVzOgogICAga2luZDogU2VydmljZUVudHJ5CiAgICBsaXN0S2luZDogU2VydmljZUVudHJ5TGlzdAogICAgcGx1cmFsOiBzZXJ2aWNlZW50cmllcwogICAgc2luZ3VsYXI6IHNlcnZpY2VlbnRyeQogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gbmV0d29ya2luZy1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTMKLS0tCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCm1ldGFkYXRhOgogIG5hbWU6IGdhdGV3YXlzLm5ldHdvcmtpbmcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogICAgImhlbG0uc2gvaG9vay13ZWlnaHQiOiAiLTUiCiAgbGFiZWxzOgogICAgYXBwOiBpc3Rpby1waWxvdAogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBuZXR3b3JraW5nLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBHYXRld2F5CiAgICBwbHVyYWw6IGdhdGV3YXlzCiAgICBzaW5ndWxhcjogZ2F0ZXdheQogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gbmV0d29ya2luZy1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTMgCi0tLQphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgptZXRhZGF0YToKICBuYW1lOiBlbnZveWZpbHRlcnMubmV0d29ya2luZy5pc3Rpby5pbwogIGFubm90YXRpb25zOgogICAgImhlbG0uc2gvaG9vayI6IGNyZC1pbnN0YWxsCiAgbGFiZWxzOgogICAgYXBwOiBpc3Rpby1waWxvdAogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBuZXR3b3JraW5nLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBFbnZveUZpbHRlcgogICAgcGx1cmFsOiBlbnZveWZpbHRlcnMKICAgIHNpbmd1bGFyOiBlbnZveWZpbHRlcgogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gbmV0d29ya2luZy1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTMKLS0tCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCm1ldGFkYXRhOgogIG5hbWU6IGNsdXN0ZXJyYmFjY29uZmlncy5yYmFjLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IGlzdGlvLXBpbG90CiAgICBpc3RpbzogcmJhYwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogcmJhYy5pc3Rpby5pbwogIG5hbWVzOgogICAga2luZDogQ2x1c3RlclJiYWNDb25maWcKICAgIHBsdXJhbDogY2x1c3RlcnJiYWNjb25maWdzCiAgICBzaW5ndWxhcjogY2x1c3RlcnJiYWNjb25maWcKICAgIGNhdGVnb3JpZXM6CiAgICAtIGlzdGlvLWlvCiAgICAtIHJiYWMtaXN0aW8taW8KICBzY29wZTogQ2x1c3RlcgogIHZlcnNpb246IHYxYWxwaGExCi0tLQojIHt7LSBlbmQgfX0KCiMgdGhlc2UgQ1JEcyBvbmx5IG1ha2Ugc2Vuc2Ugd2hlbiBzZWN1cml0eSBpcyBlbmFibGVkCiMge3stIGlmIG9yIC5WYWx1ZXMuc2VjdXJpdHkuZW5hYmxlZCAuVmFsdWVzLmdsb2JhbC51c2VNQ1AgfX0Ka2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogcG9saWNpZXMuYXV0aGVudGljYXRpb24uaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogaXN0aW8tY2l0YWRlbAogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBhdXRoZW50aWNhdGlvbi5pc3Rpby5pbwogIG5hbWVzOgogICAga2luZDogUG9saWN5CiAgICBwbHVyYWw6IHBvbGljaWVzCiAgICBzaW5ndWxhcjogcG9saWN5CiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBhdXRoZW50aWNhdGlvbi1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTEKLS0tCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCm1ldGFkYXRhOgogIG5hbWU6IG1lc2hwb2xpY2llcy5hdXRoZW50aWNhdGlvbi5pc3Rpby5pbwogIGFubm90YXRpb25zOgogICAgImhlbG0uc2gvaG9vayI6IGNyZC1pbnN0YWxsCiAgbGFiZWxzOgogICAgYXBwOiBpc3Rpby1jaXRhZGVsCiAgICBjaGFydDogaXN0aW8KICAgIGhlcml0YWdlOiBUaWxsZXIKICAgIHJlbGVhc2U6IGlzdGlvCnNwZWM6CiAgZ3JvdXA6IGF1dGhlbnRpY2F0aW9uLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBNZXNoUG9saWN5CiAgICBsaXN0S2luZDogTWVzaFBvbGljeUxpc3QKICAgIHBsdXJhbDogbWVzaHBvbGljaWVzCiAgICBzaW5ndWxhcjogbWVzaHBvbGljeQogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gYXV0aGVudGljYXRpb24taXN0aW8taW8KICBzY29wZTogQ2x1c3RlcgogIHZlcnNpb246IHYxYWxwaGExCi0tLQojIHt7LSBlbmQgfX0KCiMge3stIGlmIG9yIC5WYWx1ZXMubWl4ZXIuZW5hYmxlZCAuVmFsdWVzLmdsb2JhbC51c2VNQ1AgfX0Ka2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogaHR0cGFwaXNwZWNiaW5kaW5ncy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogaXN0aW8tbWl4ZXIKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogY29uZmlnLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBIVFRQQVBJU3BlY0JpbmRpbmcKICAgIHBsdXJhbDogaHR0cGFwaXNwZWNiaW5kaW5ncwogICAgc2luZ3VsYXI6IGh0dHBhcGlzcGVjYmluZGluZwogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gYXBpbS1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTIKLS0tCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCm1ldGFkYXRhOgogIG5hbWU6IGh0dHBhcGlzcGVjcy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogaXN0aW8tbWl4ZXIKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogY29uZmlnLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBIVFRQQVBJU3BlYwogICAgcGx1cmFsOiBodHRwYXBpc3BlY3MKICAgIHNpbmd1bGFyOiBodHRwYXBpc3BlYwogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gYXBpbS1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTIKLS0tCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCm1ldGFkYXRhOgogIG5hbWU6IHF1b3Rhc3BlY2JpbmRpbmdzLmNvbmZpZy5pc3Rpby5pbwogIGFubm90YXRpb25zOgogICAgImhlbG0uc2gvaG9vayI6IGNyZC1pbnN0YWxsCiAgbGFiZWxzOgogICAgYXBwOiBpc3Rpby1taXhlcgogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBjb25maWcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IFF1b3RhU3BlY0JpbmRpbmcKICAgIHBsdXJhbDogcXVvdGFzcGVjYmluZGluZ3MKICAgIHNpbmd1bGFyOiBxdW90YXNwZWNiaW5kaW5nCiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBhcGltLWlzdGlvLWlvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uOiB2MWFscGhhMgotLS0Ka2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogcXVvdGFzcGVjcy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogaXN0aW8tbWl4ZXIKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogY29uZmlnLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBRdW90YVNwZWMKICAgIHBsdXJhbDogcXVvdGFzcGVjcwogICAgc2luZ3VsYXI6IHF1b3Rhc3BlYwogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gYXBpbS1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTIKLS0tCgojIE1peGVyIENSRHMKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogcnVsZXMuY29uZmlnLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiBpc3Rpby5pby5taXhlcgogICAgaXN0aW86IGNvcmUKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogY29uZmlnLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBydWxlCiAgICBwbHVyYWw6IHJ1bGVzCiAgICBzaW5ndWxhcjogcnVsZQogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gcG9saWN5LWlzdGlvLWlvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uOiB2MWFscGhhMgotLS0KCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCm1ldGFkYXRhOgogIG5hbWU6IGF0dHJpYnV0ZW1hbmlmZXN0cy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IGlzdGlvLmlvLm1peGVyCiAgICBpc3RpbzogY29yZQogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBjb25maWcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IGF0dHJpYnV0ZW1hbmlmZXN0CiAgICBwbHVyYWw6IGF0dHJpYnV0ZW1hbmlmZXN0cwogICAgc2luZ3VsYXI6IGF0dHJpYnV0ZW1hbmlmZXN0CiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBwb2xpY3ktaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGEyCi0tLQoKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogYnlwYXNzZXMuY29uZmlnLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiBieXBhc3MKICAgIGlzdGlvOiBtaXhlci1hZGFwdGVyCiAgICBjaGFydDogaXN0aW8KICAgIGhlcml0YWdlOiBUaWxsZXIKICAgIHJlbGVhc2U6IGlzdGlvCnNwZWM6CiAgZ3JvdXA6IGNvbmZpZy5pc3Rpby5pbwogIG5hbWVzOgogICAga2luZDogYnlwYXNzCiAgICBwbHVyYWw6IGJ5cGFzc2VzCiAgICBzaW5ndWxhcjogYnlwYXNzCiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBwb2xpY3ktaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGEyCi0tLQoKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogY2lyY29udXNlcy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IGNpcmNvbnVzCiAgICBpc3RpbzogbWl4ZXItYWRhcHRlcgogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBjb25maWcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IGNpcmNvbnVzCiAgICBwbHVyYWw6IGNpcmNvbnVzZXMKICAgIHNpbmd1bGFyOiBjaXJjb251cwogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gcG9saWN5LWlzdGlvLWlvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uOiB2MWFscGhhMgotLS0KCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCm1ldGFkYXRhOgogIG5hbWU6IGRlbmllcnMuY29uZmlnLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiBkZW5pZXIKICAgIGlzdGlvOiBtaXhlci1hZGFwdGVyCiAgICBjaGFydDogaXN0aW8KICAgIGhlcml0YWdlOiBUaWxsZXIKICAgIHJlbGVhc2U6IGlzdGlvCnNwZWM6CiAgZ3JvdXA6IGNvbmZpZy5pc3Rpby5pbwogIG5hbWVzOgogICAga2luZDogZGVuaWVyCiAgICBwbHVyYWw6IGRlbmllcnMKICAgIHNpbmd1bGFyOiBkZW5pZXIKICAgIGNhdGVnb3JpZXM6CiAgICAtIGlzdGlvLWlvCiAgICAtIHBvbGljeS1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTIKLS0tCgpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFiZXRhMQptZXRhZGF0YToKICBuYW1lOiBmbHVlbnRkcy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IGZsdWVudGQKICAgIGlzdGlvOiBtaXhlci1hZGFwdGVyCiAgICBjaGFydDogaXN0aW8KICAgIGhlcml0YWdlOiBUaWxsZXIKICAgIHJlbGVhc2U6IGlzdGlvCnNwZWM6CiAgZ3JvdXA6IGNvbmZpZy5pc3Rpby5pbwogIG5hbWVzOgogICAga2luZDogZmx1ZW50ZAogICAgcGx1cmFsOiBmbHVlbnRkcwogICAgc2luZ3VsYXI6IGZsdWVudGQKICAgIGNhdGVnb3JpZXM6CiAgICAtIGlzdGlvLWlvCiAgICAtIHBvbGljeS1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTIKLS0tCgpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFiZXRhMQptZXRhZGF0YToKICBuYW1lOiBrdWJlcm5ldGVzZW52cy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IGt1YmVybmV0ZXNlbnYKICAgIGlzdGlvOiBtaXhlci1hZGFwdGVyCiAgICBjaGFydDogaXN0aW8KICAgIGhlcml0YWdlOiBUaWxsZXIKICAgIHJlbGVhc2U6IGlzdGlvCnNwZWM6CiAgZ3JvdXA6IGNvbmZpZy5pc3Rpby5pbwogIG5hbWVzOgogICAga2luZDoga3ViZXJuZXRlc2VudgogICAgcGx1cmFsOiBrdWJlcm5ldGVzZW52cwogICAgc2luZ3VsYXI6IGt1YmVybmV0ZXNlbnYKICAgIGNhdGVnb3JpZXM6CiAgICAtIGlzdGlvLWlvCiAgICAtIHBvbGljeS1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTIKLS0tCgpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFiZXRhMQptZXRhZGF0YToKICBuYW1lOiBsaXN0Y2hlY2tlcnMuY29uZmlnLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiBsaXN0Y2hlY2tlcgogICAgaXN0aW86IG1peGVyLWFkYXB0ZXIKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogY29uZmlnLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBsaXN0Y2hlY2tlcgogICAgcGx1cmFsOiBsaXN0Y2hlY2tlcnMKICAgIHNpbmd1bGFyOiBsaXN0Y2hlY2tlcgogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gcG9saWN5LWlzdGlvLWlvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uOiB2MWFscGhhMgotLS0KCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCm1ldGFkYXRhOgogIG5hbWU6IG1lbXF1b3Rhcy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IG1lbXF1b3RhCiAgICBpc3RpbzogbWl4ZXItYWRhcHRlcgogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBjb25maWcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IG1lbXF1b3RhCiAgICBwbHVyYWw6IG1lbXF1b3RhcwogICAgc2luZ3VsYXI6IG1lbXF1b3RhCiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBwb2xpY3ktaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGEyCi0tLQoKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogbm9vcHMuY29uZmlnLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiBub29wCiAgICBpc3RpbzogbWl4ZXItYWRhcHRlcgogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBjb25maWcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IG5vb3AKICAgIHBsdXJhbDogbm9vcHMKICAgIHNpbmd1bGFyOiBub29wCiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBwb2xpY3ktaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGEyCi0tLQoKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogb3Bhcy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IG9wYQogICAgaXN0aW86IG1peGVyLWFkYXB0ZXIKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogY29uZmlnLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBvcGEKICAgIHBsdXJhbDogb3BhcwogICAgc2luZ3VsYXI6IG9wYQogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gcG9saWN5LWlzdGlvLWlvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uOiB2MWFscGhhMgotLS0KCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCm1ldGFkYXRhOgogIG5hbWU6IHByb21ldGhldXNlcy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IHByb21ldGhldXMKICAgIGlzdGlvOiBtaXhlci1hZGFwdGVyCiAgICBjaGFydDogaXN0aW8KICAgIGhlcml0YWdlOiBUaWxsZXIKICAgIHJlbGVhc2U6IGlzdGlvCnNwZWM6CiAgZ3JvdXA6IGNvbmZpZy5pc3Rpby5pbwogIG5hbWVzOgogICAga2luZDogcHJvbWV0aGV1cwogICAgcGx1cmFsOiBwcm9tZXRoZXVzZXMKICAgIHNpbmd1bGFyOiBwcm9tZXRoZXVzCiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBwb2xpY3ktaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGEyCi0tLQoKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogcmJhY3MuY29uZmlnLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiByYmFjCiAgICBpc3RpbzogbWl4ZXItYWRhcHRlcgogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBjb25maWcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IHJiYWMKICAgIHBsdXJhbDogcmJhY3MKICAgIHNpbmd1bGFyOiByYmFjCiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBwb2xpY3ktaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGEyCi0tLQoKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogcmVkaXNxdW90YXMuY29uZmlnLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiByZWRpc3F1b3RhCiAgICBpc3RpbzogbWl4ZXItYWRhcHRlcgogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBjb25maWcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IHJlZGlzcXVvdGEKICAgIHBsdXJhbDogcmVkaXNxdW90YXMKICAgIHNpbmd1bGFyOiByZWRpc3F1b3RhCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uOiB2MWFscGhhMgotLS0KCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCm1ldGFkYXRhOgogIG5hbWU6IHNlcnZpY2Vjb250cm9scy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IHNlcnZpY2Vjb250cm9sCiAgICBpc3RpbzogbWl4ZXItYWRhcHRlcgogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBjb25maWcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IHNlcnZpY2Vjb250cm9sCiAgICBwbHVyYWw6IHNlcnZpY2Vjb250cm9scwogICAgc2luZ3VsYXI6IHNlcnZpY2Vjb250cm9sCiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBwb2xpY3ktaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGEyCgotLS0KCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCm1ldGFkYXRhOgogIG5hbWU6IHNpZ25hbGZ4cy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IHNpZ25hbGZ4CiAgICBpc3RpbzogbWl4ZXItYWRhcHRlcgogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBjb25maWcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IHNpZ25hbGZ4CiAgICBwbHVyYWw6IHNpZ25hbGZ4cwogICAgc2luZ3VsYXI6IHNpZ25hbGZ4CiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBwb2xpY3ktaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGEyCi0tLQoKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogc29sYXJ3aW5kc2VzLmNvbmZpZy5pc3Rpby5pbwogIGFubm90YXRpb25zOgogICAgImhlbG0uc2gvaG9vayI6IGNyZC1pbnN0YWxsCiAgbGFiZWxzOgogICAgYXBwOiBtaXhlcgogICAgcGFja2FnZTogc29sYXJ3aW5kcwogICAgaXN0aW86IG1peGVyLWFkYXB0ZXIKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogY29uZmlnLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBzb2xhcndpbmRzCiAgICBwbHVyYWw6IHNvbGFyd2luZHNlcwogICAgc2luZ3VsYXI6IHNvbGFyd2luZHMKICAgIGNhdGVnb3JpZXM6CiAgICAtIGlzdGlvLWlvCiAgICAtIHBvbGljeS1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTIKLS0tCgpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFiZXRhMQptZXRhZGF0YToKICBuYW1lOiBzdGFja2RyaXZlcnMuY29uZmlnLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiBzdGFja2RyaXZlcgogICAgaXN0aW86IG1peGVyLWFkYXB0ZXIKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogY29uZmlnLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBzdGFja2RyaXZlcgogICAgcGx1cmFsOiBzdGFja2RyaXZlcnMKICAgIHNpbmd1bGFyOiBzdGFja2RyaXZlcgogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gcG9saWN5LWlzdGlvLWlvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uOiB2MWFscGhhMgotLS0KCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCm1ldGFkYXRhOgogIG5hbWU6IHN0YXRzZHMuY29uZmlnLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiBzdGF0c2QKICAgIGlzdGlvOiBtaXhlci1hZGFwdGVyCiAgICBjaGFydDogaXN0aW8KICAgIGhlcml0YWdlOiBUaWxsZXIKICAgIHJlbGVhc2U6IGlzdGlvCnNwZWM6CiAgZ3JvdXA6IGNvbmZpZy5pc3Rpby5pbwogIG5hbWVzOgogICAga2luZDogc3RhdHNkCiAgICBwbHVyYWw6IHN0YXRzZHMKICAgIHNpbmd1bGFyOiBzdGF0c2QKICAgIGNhdGVnb3JpZXM6CiAgICAtIGlzdGlvLWlvCiAgICAtIHBvbGljeS1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTIKLS0tCgpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFiZXRhMQptZXRhZGF0YToKICBuYW1lOiBzdGRpb3MuY29uZmlnLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiBzdGRpbwogICAgaXN0aW86IG1peGVyLWFkYXB0ZXIKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogY29uZmlnLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBzdGRpbwogICAgcGx1cmFsOiBzdGRpb3MKICAgIHNpbmd1bGFyOiBzdGRpbwogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gcG9saWN5LWlzdGlvLWlvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uOiB2MWFscGhhMgotLS0KCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCm1ldGFkYXRhOgogIG5hbWU6IGFwaWtleXMuY29uZmlnLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiBhcGlrZXkKICAgIGlzdGlvOiBtaXhlci1pbnN0YW5jZQogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBjb25maWcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IGFwaWtleQogICAgcGx1cmFsOiBhcGlrZXlzCiAgICBzaW5ndWxhcjogYXBpa2V5CiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBwb2xpY3ktaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGEyCi0tLQoKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogYXV0aG9yaXphdGlvbnMuY29uZmlnLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiBhdXRob3JpemF0aW9uCiAgICBpc3RpbzogbWl4ZXItaW5zdGFuY2UKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogY29uZmlnLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBhdXRob3JpemF0aW9uCiAgICBwbHVyYWw6IGF1dGhvcml6YXRpb25zCiAgICBzaW5ndWxhcjogYXV0aG9yaXphdGlvbgogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gcG9saWN5LWlzdGlvLWlvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uOiB2MWFscGhhMgotLS0KCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCm1ldGFkYXRhOgogIG5hbWU6IGNoZWNrbm90aGluZ3MuY29uZmlnLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiBjaGVja25vdGhpbmcKICAgIGlzdGlvOiBtaXhlci1pbnN0YW5jZQogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBjb25maWcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IGNoZWNrbm90aGluZwogICAgcGx1cmFsOiBjaGVja25vdGhpbmdzCiAgICBzaW5ndWxhcjogY2hlY2tub3RoaW5nCiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBwb2xpY3ktaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGEyCi0tLQoKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZToga3ViZXJuZXRlc2VzLmNvbmZpZy5pc3Rpby5pbwogIGFubm90YXRpb25zOgogICAgImhlbG0uc2gvaG9vayI6IGNyZC1pbnN0YWxsCiAgbGFiZWxzOgogICAgYXBwOiBtaXhlcgogICAgcGFja2FnZTogYWRhcHRlci50ZW1wbGF0ZS5rdWJlcm5ldGVzCiAgICBpc3RpbzogbWl4ZXItaW5zdGFuY2UKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogY29uZmlnLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBrdWJlcm5ldGVzCiAgICBwbHVyYWw6IGt1YmVybmV0ZXNlcwogICAgc2luZ3VsYXI6IGt1YmVybmV0ZXMKICAgIGNhdGVnb3JpZXM6CiAgICAtIGlzdGlvLWlvCiAgICAtIHBvbGljeS1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTIKLS0tCgpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFiZXRhMQptZXRhZGF0YToKICBuYW1lOiBsaXN0ZW50cmllcy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IGxpc3RlbnRyeQogICAgaXN0aW86IG1peGVyLWluc3RhbmNlCiAgICBjaGFydDogaXN0aW8KICAgIGhlcml0YWdlOiBUaWxsZXIKICAgIHJlbGVhc2U6IGlzdGlvCnNwZWM6CiAgZ3JvdXA6IGNvbmZpZy5pc3Rpby5pbwogIG5hbWVzOgogICAga2luZDogbGlzdGVudHJ5CiAgICBwbHVyYWw6IGxpc3RlbnRyaWVzCiAgICBzaW5ndWxhcjogbGlzdGVudHJ5CiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBwb2xpY3ktaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGEyCi0tLQoKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogbG9nZW50cmllcy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IGxvZ2VudHJ5CiAgICBpc3RpbzogbWl4ZXItaW5zdGFuY2UKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogY29uZmlnLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBsb2dlbnRyeQogICAgcGx1cmFsOiBsb2dlbnRyaWVzCiAgICBzaW5ndWxhcjogbG9nZW50cnkKICAgIGNhdGVnb3JpZXM6CiAgICAtIGlzdGlvLWlvCiAgICAtIHBvbGljeS1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTIKLS0tCgpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFiZXRhMQptZXRhZGF0YToKICBuYW1lOiBlZGdlcy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IGVkZ2UKICAgIGlzdGlvOiBtaXhlci1pbnN0YW5jZQogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBjb25maWcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IGVkZ2UKICAgIHBsdXJhbDogZWRnZXMKICAgIHNpbmd1bGFyOiBlZGdlCiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBwb2xpY3ktaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGEyCi0tLQoKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogbWV0cmljcy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IG1ldHJpYwogICAgaXN0aW86IG1peGVyLWluc3RhbmNlCiAgICBjaGFydDogaXN0aW8KICAgIGhlcml0YWdlOiBUaWxsZXIKICAgIHJlbGVhc2U6IGlzdGlvCnNwZWM6CiAgZ3JvdXA6IGNvbmZpZy5pc3Rpby5pbwogIG5hbWVzOgogICAga2luZDogbWV0cmljCiAgICBwbHVyYWw6IG1ldHJpY3MKICAgIHNpbmd1bGFyOiBtZXRyaWMKICAgIGNhdGVnb3JpZXM6CiAgICAtIGlzdGlvLWlvCiAgICAtIHBvbGljeS1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTIKLS0tCgpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFiZXRhMQptZXRhZGF0YToKICBuYW1lOiBxdW90YXMuY29uZmlnLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiBxdW90YQogICAgaXN0aW86IG1peGVyLWluc3RhbmNlCiAgICBjaGFydDogaXN0aW8KICAgIGhlcml0YWdlOiBUaWxsZXIKICAgIHJlbGVhc2U6IGlzdGlvCnNwZWM6CiAgZ3JvdXA6IGNvbmZpZy5pc3Rpby5pbwogIG5hbWVzOgogICAga2luZDogcXVvdGEKICAgIHBsdXJhbDogcXVvdGFzCiAgICBzaW5ndWxhcjogcXVvdGEKICAgIGNhdGVnb3JpZXM6CiAgICAtIGlzdGlvLWlvCiAgICAtIHBvbGljeS1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTIKLS0tCgpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFiZXRhMQptZXRhZGF0YToKICBuYW1lOiByZXBvcnRub3RoaW5ncy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IHJlcG9ydG5vdGhpbmcKICAgIGlzdGlvOiBtaXhlci1pbnN0YW5jZQogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBjb25maWcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IHJlcG9ydG5vdGhpbmcKICAgIHBsdXJhbDogcmVwb3J0bm90aGluZ3MKICAgIHNpbmd1bGFyOiByZXBvcnRub3RoaW5nCiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBwb2xpY3ktaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGEyCi0tLQoKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogc2VydmljZWNvbnRyb2xyZXBvcnRzLmNvbmZpZy5pc3Rpby5pbwogIGFubm90YXRpb25zOgogICAgImhlbG0uc2gvaG9vayI6IGNyZC1pbnN0YWxsCiAgbGFiZWxzOgogICAgYXBwOiBtaXhlcgogICAgcGFja2FnZTogc2VydmljZWNvbnRyb2xyZXBvcnQKICAgIGlzdGlvOiBtaXhlci1pbnN0YW5jZQogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBjb25maWcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IHNlcnZpY2Vjb250cm9scmVwb3J0CiAgICBwbHVyYWw6IHNlcnZpY2Vjb250cm9scmVwb3J0cwogICAgc2luZ3VsYXI6IHNlcnZpY2Vjb250cm9scmVwb3J0CiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBwb2xpY3ktaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGEyCi0tLQoKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogdHJhY2VzcGFucy5jb25maWcuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IHRyYWNlc3BhbgogICAgaXN0aW86IG1peGVyLWluc3RhbmNlCiAgICBjaGFydDogaXN0aW8KICAgIGhlcml0YWdlOiBUaWxsZXIKICAgIHJlbGVhc2U6IGlzdGlvCnNwZWM6CiAgZ3JvdXA6IGNvbmZpZy5pc3Rpby5pbwogIG5hbWVzOgogICAga2luZDogdHJhY2VzcGFuCiAgICBwbHVyYWw6IHRyYWNlc3BhbnMKICAgIHNpbmd1bGFyOiB0cmFjZXNwYW4KICAgIGNhdGVnb3JpZXM6CiAgICAtIGlzdGlvLWlvCiAgICAtIHBvbGljeS1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTIKLS0tCgpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFiZXRhMQptZXRhZGF0YToKICBuYW1lOiByYmFjY29uZmlncy5yYmFjLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiBpc3Rpby5pby5taXhlcgogICAgaXN0aW86IHJiYWMKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogcmJhYy5pc3Rpby5pbwogIG5hbWVzOgogICAga2luZDogUmJhY0NvbmZpZwogICAgcGx1cmFsOiByYmFjY29uZmlncwogICAgc2luZ3VsYXI6IHJiYWNjb25maWcKICAgIGNhdGVnb3JpZXM6CiAgICAtIGlzdGlvLWlvCiAgICAtIHJiYWMtaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGExCi0tLQoKa2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogc2VydmljZXJvbGVzLnJiYWMuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IGlzdGlvLmlvLm1peGVyCiAgICBpc3RpbzogcmJhYwogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiByYmFjLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBTZXJ2aWNlUm9sZQogICAgcGx1cmFsOiBzZXJ2aWNlcm9sZXMKICAgIHNpbmd1bGFyOiBzZXJ2aWNlcm9sZQogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gcmJhYy1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTEKLS0tCgpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFiZXRhMQptZXRhZGF0YToKICBuYW1lOiBzZXJ2aWNlcm9sZWJpbmRpbmdzLnJiYWMuaXN0aW8uaW8KICBhbm5vdGF0aW9uczoKICAgICJoZWxtLnNoL2hvb2siOiBjcmQtaW5zdGFsbAogIGxhYmVsczoKICAgIGFwcDogbWl4ZXIKICAgIHBhY2thZ2U6IGlzdGlvLmlvLm1peGVyCiAgICBpc3RpbzogcmJhYwogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiByYmFjLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBTZXJ2aWNlUm9sZUJpbmRpbmcKICAgIHBsdXJhbDogc2VydmljZXJvbGViaW5kaW5ncwogICAgc2luZ3VsYXI6IHNlcnZpY2Vyb2xlYmluZGluZwogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gcmJhYy1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTEKLS0tCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCm1ldGFkYXRhOgogIG5hbWU6IGFkYXB0ZXJzLmNvbmZpZy5pc3Rpby5pbwogIGFubm90YXRpb25zOgogICAgImhlbG0uc2gvaG9vayI6IGNyZC1pbnN0YWxsCiAgbGFiZWxzOgogICAgYXBwOiBtaXhlcgogICAgcGFja2FnZTogYWRhcHRlcgogICAgaXN0aW86IG1peGVyLWFkYXB0ZXIKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogY29uZmlnLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBhZGFwdGVyCiAgICBwbHVyYWw6IGFkYXB0ZXJzCiAgICBzaW5ndWxhcjogYWRhcHRlcgogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gcG9saWN5LWlzdGlvLWlvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uOiB2MWFscGhhMgotLS0Ka2luZDogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uCmFwaVZlcnNpb246IGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYmV0YTEKbWV0YWRhdGE6CiAgbmFtZTogaW5zdGFuY2VzLmNvbmZpZy5pc3Rpby5pbwogIGFubm90YXRpb25zOgogICAgImhlbG0uc2gvaG9vayI6IGNyZC1pbnN0YWxsCiAgbGFiZWxzOgogICAgYXBwOiBtaXhlcgogICAgcGFja2FnZTogaW5zdGFuY2UKICAgIGlzdGlvOiBtaXhlci1pbnN0YW5jZQogICAgY2hhcnQ6IGlzdGlvCiAgICBoZXJpdGFnZTogVGlsbGVyCiAgICByZWxlYXNlOiBpc3RpbwpzcGVjOgogIGdyb3VwOiBjb25maWcuaXN0aW8uaW8KICBuYW1lczoKICAgIGtpbmQ6IGluc3RhbmNlCiAgICBwbHVyYWw6IGluc3RhbmNlcwogICAgc2luZ3VsYXI6IGluc3RhbmNlCiAgICBjYXRlZ29yaWVzOgogICAgLSBpc3Rpby1pbwogICAgLSBwb2xpY3ktaXN0aW8taW8KICBzY29wZTogTmFtZXNwYWNlZAogIHZlcnNpb246IHYxYWxwaGEyCi0tLQpraW5kOiBDdXN0b21SZXNvdXJjZURlZmluaXRpb24KYXBpVmVyc2lvbjogYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFiZXRhMQptZXRhZGF0YToKICBuYW1lOiB0ZW1wbGF0ZXMuY29uZmlnLmlzdGlvLmlvCiAgYW5ub3RhdGlvbnM6CiAgICAiaGVsbS5zaC9ob29rIjogY3JkLWluc3RhbGwKICBsYWJlbHM6CiAgICBhcHA6IG1peGVyCiAgICBwYWNrYWdlOiB0ZW1wbGF0ZQogICAgaXN0aW86IG1peGVyLXRlbXBsYXRlCiAgICBjaGFydDogaXN0aW8KICAgIGhlcml0YWdlOiBUaWxsZXIKICAgIHJlbGVhc2U6IGlzdGlvCnNwZWM6CiAgZ3JvdXA6IGNvbmZpZy5pc3Rpby5pbwogIG5hbWVzOgogICAga2luZDogdGVtcGxhdGUKICAgIHBsdXJhbDogdGVtcGxhdGVzCiAgICBzaW5ndWxhcjogdGVtcGxhdGUKICAgIGNhdGVnb3JpZXM6CiAgICAtIGlzdGlvLWlvCiAgICAtIHBvbGljeS1pc3Rpby1pbwogIHNjb3BlOiBOYW1lc3BhY2VkCiAgdmVyc2lvbjogdjFhbHBoYTIKLS0tCmtpbmQ6IEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbgphcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zLms4cy5pby92MWJldGExCm1ldGFkYXRhOgogIG5hbWU6IGhhbmRsZXJzLmNvbmZpZy5pc3Rpby5pbwogIGFubm90YXRpb25zOgogICAgImhlbG0uc2gvaG9vayI6IGNyZC1pbnN0YWxsCiAgbGFiZWxzOgogICAgYXBwOiBtaXhlcgogICAgcGFja2FnZTogaGFuZGxlcgogICAgaXN0aW86IG1peGVyLWhhbmRsZXIKICAgIGNoYXJ0OiBpc3RpbwogICAgaGVyaXRhZ2U6IFRpbGxlcgogICAgcmVsZWFzZTogaXN0aW8Kc3BlYzoKICBncm91cDogY29uZmlnLmlzdGlvLmlvCiAgbmFtZXM6CiAgICBraW5kOiBoYW5kbGVyCiAgICBwbHVyYWw6IGhhbmRsZXJzCiAgICBzaW5ndWxhcjogaGFuZGxlcgogICAgY2F0ZWdvcmllczoKICAgIC0gaXN0aW8taW8KICAgIC0gcG9saWN5LWlzdGlvLWlvCiAgc2NvcGU6IE5hbWVzcGFjZWQKICB2ZXJzaW9uOiB2MWFscGhhMgotLS0KIyB7ey0gZW5kIH19CiMge3sgZW5kIH19Cg=="
    63          },
    64          {
    65            "filePath": "templates/install-custom-resources.sh.tpl",
    66            "fileContents": "e3sgZGVmaW5lICJpbnN0YWxsLWN1c3RvbS1yZXNvdXJjZXMuc2gudHBsIiB9fQojIS9iaW4vc2gKCnNldCAteAoKaWYgWyAiJCMiIC1uZSAiMSIgXTsgdGhlbgogICAgZWNobyAiZmlyc3QgYXJndW1lbnQgc2hvdWxkIGJlIHBhdGggdG8gY3VzdG9tIHJlc291cmNlIHlhbWwiCiAgICBleGl0IDEKZmkKCnBhdGhUb1Jlc291cmNlWUFNTD0kezF9CgprdWJlY3RsIGdldCB2YWxpZGF0aW5nd2ViaG9va2NvbmZpZ3VyYXRpb24gaXN0aW8tZ2FsbGV5IDI+L2Rldi9udWxsCmlmIFsgIiQ/IiAtZXEgMCBdOyB0aGVuCiAgICBlY2hvICJpc3Rpby1nYWxsZXkgdmFsaWRhdGluZ3dlYmhvb2tjb25maWd1cmF0aW9uIGZvdW5kIC0gd2FpdGluZyBmb3IgaXN0aW8tZ2FsbGV5IGRlcGxveW1lbnQgdG8gYmUgcmVhZHkiCiAgICB3aGlsZSB0cnVlOyBkbwogICAgICAgIGt1YmVjdGwgLW4ge3sgLlJlbGVhc2UuTmFtZXNwYWNlIH19IGdldCBkZXBsb3ltZW50IGlzdGlvLWdhbGxleSAyPi9kZXYvbnVsbAogICAgICAgIGlmIFsgIiQ/IiAtZXEgMCBdOyB0aGVuCiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgZmkKICAgICAgICBzbGVlcCAxCiAgICBkb25lCiAgICBrdWJlY3RsIC1uIHt7IC5SZWxlYXNlLk5hbWVzcGFjZSB9fSByb2xsb3V0IHN0YXR1cyBkZXBsb3ltZW50IGlzdGlvLWdhbGxleQogICAgaWYgWyAiJD8iIC1uZSAwIF07IHRoZW4KICAgICAgICBlY2hvICJpc3Rpby1nYWxsZXkgZGVwbG95bWVudCByb2xsb3V0IHN0YXR1cyBjaGVjayBmYWlsZWQiCiAgICAgICAgZXhpdCAxCiAgICBmaQogICAgZWNobyAiaXN0aW8tZ2FsbGV5IGRlcGxveW1lbnQgcmVhZHkgZm9yIGNvbmZpZ3VyYXRpb24gdmFsaWRhdGlvbiIKZmkKc2xlZXAgNQprdWJlY3RsIGFwcGx5IC1mICR7cGF0aFRvUmVzb3VyY2VZQU1MfQp7eyBlbmQgfX0K"
    67          },
    68          {
    69            "filePath": "templates/sidecar-injector-configmap.yaml",
    70            "fileContents": "e3stIGlmIG5vdCAuVmFsdWVzLmdsb2JhbC5vbWl0U2lkZWNhckluamVjdG9yQ29uZmlnTWFwIH19CmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBpc3Rpby1zaWRlY2FyLWluamVjdG9yCiAgbmFtZXNwYWNlOiB7eyAuUmVsZWFzZS5OYW1lc3BhY2UgfX0KICBsYWJlbHM6CiAgICBhcHA6IHt7IHRlbXBsYXRlICJpc3Rpby5uYW1lIiAuIH19CiAgICBjaGFydDoge3sgdGVtcGxhdGUgImlzdGlvLmNoYXJ0IiAuIH19CiAgICBoZXJpdGFnZToge3sgLlJlbGVhc2UuU2VydmljZSB9fQogICAgcmVsZWFzZToge3sgLlJlbGVhc2UuTmFtZSB9fQogICAgaXN0aW86IHNpZGVjYXItaW5qZWN0b3IKZGF0YToKICBjb25maWc6IHwtCiAgICBwb2xpY3k6IHt7IC5WYWx1ZXMuZ2xvYmFsLnByb3h5LmF1dG9JbmplY3QgfX0KICAgIHRlbXBsYXRlOiB8LQogICAgICBpbml0Q29udGFpbmVyczoKICAgICAgLSBuYW1lOiBpc3Rpby1pbml0Cnt7LSBpZiBjb250YWlucyAiLyIgLlZhbHVlcy5nbG9iYWwucHJveHlfaW5pdC5pbWFnZSB9fQogICAgICAgIGltYWdlOiAie3sgLlZhbHVlcy5nbG9iYWwucHJveHlfaW5pdC5pbWFnZSB9fSIKe3stIGVsc2UgfX0KICAgICAgICBpbWFnZTogInt7IC5WYWx1ZXMuZ2xvYmFsLmh1YiB9fS97eyAuVmFsdWVzLmdsb2JhbC5wcm94eV9pbml0LmltYWdlIH19Ont7IC5WYWx1ZXMuZ2xvYmFsLnRhZyB9fSIKe3stIGVuZCB9fQogICAgICAgIGFyZ3M6CiAgICAgICAgLSAiLXAiCiAgICAgICAgLSB7eyAiW1sgLk1lc2hDb25maWcuUHJveHlMaXN0ZW5Qb3J0IF1dIiB9fQogICAgICAgIC0gIi11IgogICAgICAgIC0gMTMzNwogICAgICAgIC0gIi1tIgogICAgICAgIC0ge3sgIltbIGFubm90YXRpb24gLk9iamVjdE1ldGEgYHNpZGVjYXIuaXN0aW8uaW8vaW50ZXJjZXB0aW9uTW9kZWAgLlByb3h5Q29uZmlnLkludGVyY2VwdGlvbk1vZGUgXV0iIH19CiAgICAgICAgLSAiLWkiCiAgICAgICAgLSB7eyAiXCJbWyBhbm5vdGF0aW9uIC5PYmplY3RNZXRhIGB0cmFmZmljLnNpZGVjYXIuaXN0aW8uaW8vaW5jbHVkZU91dGJvdW5kSVBSYW5nZXNgICIgfX0gInt7IC5WYWx1ZXMuZ2xvYmFsLnByb3h5LmluY2x1ZGVJUFJhbmdlcyB9fSIge3sgIiBdXVwiIiB9fQogICAgICAgIC0gIi14IgogICAgICAgIC0ge3sgIlwiW1sgYW5ub3RhdGlvbiAuT2JqZWN0TWV0YSBgdHJhZmZpYy5zaWRlY2FyLmlzdGlvLmlvL2V4Y2x1ZGVPdXRib3VuZElQUmFuZ2VzYCAiIH19ICJ7eyAuVmFsdWVzLmdsb2JhbC5wcm94eS5leGNsdWRlSVBSYW5nZXMgfX0iIHt7ICIgXV1cIiIgfX0KICAgICAgICAtICItYiIKICAgICAgICAtIHt7ICJcIltbIGFubm90YXRpb24gLk9iamVjdE1ldGEgYHRyYWZmaWMuc2lkZWNhci5pc3Rpby5pby9pbmNsdWRlSW5ib3VuZFBvcnRzYCAoaW5jbHVkZUluYm91bmRQb3J0cyAuU3BlYy5Db250YWluZXJzKSBdXVwiIiB9fQogICAgICAgIC0gIi1kIgogICAgICAgIC0ge3sgIlwiW1sgZXhjbHVkZUluYm91bmRQb3J0IChhbm5vdGF0aW9uIC5PYmplY3RNZXRhIGBzdGF0dXMuc2lkZWNhci5pc3Rpby5pby9wb3J0YCAiIH19IHt7IC5WYWx1ZXMuZ2xvYmFsLnByb3h5LnN0YXR1c1BvcnQgfX0ge3sgIikgKGFubm90YXRpb24gLk9iamVjdE1ldGEgYHRyYWZmaWMuc2lkZWNhci5pc3Rpby5pby9leGNsdWRlSW5ib3VuZFBvcnRzYCAiIH19ICJ7eyAuVmFsdWVzLmdsb2JhbC5wcm94eS5leGNsdWRlSW5ib3VuZFBvcnRzIH19IiB7eyAiKSBdXVwiIiB9fQogICAgICAgIGltYWdlUHVsbFBvbGljeToge3sgLlZhbHVlcy5nbG9iYWwuaW1hZ2VQdWxsUG9saWN5IH19CiAgICAgICAgcmVzb3VyY2VzOgogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdTogMTBtCiAgICAgICAgICAgIG1lbW9yeTogMTBNaQogICAgICAgICAgbGltaXRzOgogICAgICAgICAgICBjcHU6IDEwbQogICAgICAgICAgICBtZW1vcnk6IDEwTWkKICAgICAgICBzZWN1cml0eUNvbnRleHQ6CiAgICAgICAgICBjYXBhYmlsaXRpZXM6CiAgICAgICAgICAgIGFkZDoKICAgICAgICAgICAgLSBORVRfQURNSU4KICAgICAgICAgIHt7IGlmIC5WYWx1ZXMuZ2xvYmFsLnByb3h5LnByaXZpbGVnZWQgfX0KICAgICAgICAgIHByaXZpbGVnZWQ6IHRydWUKICAgICAgICAgIHt7IGVuZCAtfX0KICAgICAgICByZXN0YXJ0UG9saWN5OiBBbHdheXMKICAgICAge3sgaWYgZXEgLlZhbHVlcy5nbG9iYWwucHJveHkuZW5hYmxlQ29yZUR1bXAgdHJ1ZSB9fQogICAgICAtIG5hbWU6IGVuYWJsZS1jb3JlLWR1bXAKICAgICAgICBhcmdzOgogICAgICAgIC0gLWMKICAgICAgICAtIHN5c2N0bCAtdyBrZXJuZWwuY29yZV9wYXR0ZXJuPS92YXIvbGliL2lzdGlvL2NvcmUucHJveHkgJiYgdWxpbWl0IC1jIHVubGltaXRlZAogICAgICAgIGNvbW1hbmQ6CiAgICAgICAgICAtIC9iaW4vc2gKICB7ey0gaWYgY29udGFpbnMgIi8iIC5WYWx1ZXMuZ2xvYmFsLnByb3h5X2luaXQuaW1hZ2UgfX0KICAgICAgICBpbWFnZTogInt7IC5WYWx1ZXMuZ2xvYmFsLnByb3h5X2luaXQuaW1hZ2UgfX0iCiAge3stIGVsc2UgfX0KICAgICAgICBpbWFnZTogInt7IC5WYWx1ZXMuZ2xvYmFsLmh1YiB9fS97eyAuVmFsdWVzLmdsb2JhbC5wcm94eV9pbml0LmltYWdlIH19Ont7IC5WYWx1ZXMuZ2xvYmFsLnRhZyB9fSIKICB7ey0gZW5kIH19CiAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBJZk5vdFByZXNlbnQKICAgICAgICByZXNvdXJjZXM6IHt9CiAgICAgICAgc2VjdXJpdHlDb250ZXh0OgogICAgICAgICAgcHJpdmlsZWdlZDogdHJ1ZQogICAgICB7eyBlbmQgfX0KICAgICAgY29udGFpbmVyczoKICAgICAgLSBuYW1lOiBpc3Rpby1wcm94eQp7ey0gaWYgY29udGFpbnMgIi8iIC5WYWx1ZXMuZ2xvYmFsLnByb3h5LmltYWdlIH19CiAgICAgICAgaW1hZ2U6IHt7ICJbWyBhbm5vdGF0aW9uIC5PYmplY3RNZXRhIGBzaWRlY2FyLmlzdGlvLmlvL3Byb3h5SW1hZ2VgICIgfX0gInt7IC5WYWx1ZXMuZ2xvYmFsLnByb3h5LmltYWdlIH19IiB7eyAiIF1dIiB9fQp7ey0gZWxzZSB9fQogICAgICAgIGltYWdlOiB7eyAiW1sgYW5ub3RhdGlvbiAuT2JqZWN0TWV0YSBgc2lkZWNhci5pc3Rpby5pby9wcm94eUltYWdlYCAiIH19ICJ7eyAuVmFsdWVzLmdsb2JhbC5odWIgfX0ve3sgLlZhbHVlcy5nbG9iYWwucHJveHkuaW1hZ2UgfX06e3sgLlZhbHVlcy5nbG9iYWwudGFnIH19IiB7eyAiIF1dIiB9fQp7ey0gZW5kIH19Cnt7IGlmIG5lIC5WYWx1ZXMuZ2xvYmFsLnByb3h5LnN0YXRzLnByb21ldGhldXNQb3J0IDAuIH19CiAgICAgICAgcG9ydHM6CiAgICAgICAgLSBjb250YWluZXJQb3J0OiB7eyAuVmFsdWVzLmdsb2JhbC5wcm94eS5zdGF0cy5wcm9tZXRoZXVzUG9ydCB9fQogICAgICAgICAgcHJvdG9jb2w6IFRDUAogICAgICAgICAgbmFtZTogaHR0cC1lbnZveS1wcm9tCnt7IGVuZCB9fQogICAgICAgIGFyZ3M6CiAgICAgICAgLSBwcm94eQogICAgICAgIC0gc2lkZWNhcgp7ey0gaWYgLlZhbHVlcy5nbG9iYWwucHJveHkucHJveHlEb21haW4gfX0KICAgICAgICAtIC0tZG9tYWluCiAgICAgICAgLSB7eyAuVmFsdWVzLmdsb2JhbC5wcm94eS5wcm94eURvbWFpbiB9fQp7ey0gZW5kIH19CiAgICAgICAgLSAtLWNvbmZpZ1BhdGgKICAgICAgICAtIHt7ICJbWyAuUHJveHlDb25maWcuQ29uZmlnUGF0aCBdXSIgfX0KICAgICAgICAtIC0tYmluYXJ5UGF0aAogICAgICAgIC0ge3sgIltbIC5Qcm94eUNvbmZpZy5CaW5hcnlQYXRoIF1dIiB9fQogICAgICAgIC0gLS1zZXJ2aWNlQ2x1c3RlcgogICAgICAgIHt7ICJbWyBpZiBuZSBcIlwiIChpbmRleCAuT2JqZWN0TWV0YS5MYWJlbHMgXCJhcHBcIikgLV1dIiB9fQogICAgICAgIC0ge3sgIltbIGluZGV4IC5PYmplY3RNZXRhLkxhYmVscyBcImFwcFwiIF1dLltbIHZhbHVlT3JEZWZhdWx0IC5EZXBsb3ltZW50TWV0YS5OYW1lc3BhY2UgXCJkZWZhdWx0XCIgXV0iIH19CiAgICAgICAge3sgIltbIGVsc2UgLV1dIiB9fQogICAgICAgIC0ge3sgIltbIHZhbHVlT3JEZWZhdWx0IC5EZXBsb3ltZW50TWV0YS5OYW1lIFwiaXN0aW8tcHJveHlcIiBdXS5bWyB2YWx1ZU9yRGVmYXVsdCAuRGVwbG95bWVudE1ldGEuTmFtZXNwYWNlIFwiZGVmYXVsdFwiIF1dIiB9fQogICAgICAgIHt7ICJbWyBlbmQgLV1dIiB9fQogICAgICAgIC0gLS1kcmFpbkR1cmF0aW9uCiAgICAgICAgLSB7eyAiW1sgZm9ybWF0RHVyYXRpb24gLlByb3h5Q29uZmlnLkRyYWluRHVyYXRpb24gXV0iIH19CiAgICAgICAgLSAtLXBhcmVudFNodXRkb3duRHVyYXRpb24KICAgICAgICAtIHt7ICJbWyBmb3JtYXREdXJhdGlvbiAuUHJveHlDb25maWcuUGFyZW50U2h1dGRvd25EdXJhdGlvbiBdXSIgfX0KICAgICAgICAtIC0tZGlzY292ZXJ5QWRkcmVzcwogICAgICAgIC0ge3sgIltbIC5Qcm94eUNvbmZpZy5EaXNjb3ZlcnlBZGRyZXNzIF1dIiB9fQogICAgICB7ey0gaWYgZXEgLlZhbHVlcy5nbG9iYWwucHJveHkudHJhY2VyICJsaWdodHN0ZXAiIH19CiAgICAgICAgLSAtLWxpZ2h0c3RlcEFkZHJlc3MKICAgICAgICAtIHt7ICJbWyAuUHJveHlDb25maWcuR2V0VHJhY2luZy5HZXRMaWdodHN0ZXAuR2V0QWRkcmVzcyBdXSIgfX0KICAgICAgICAtIC0tbGlnaHRzdGVwQWNjZXNzVG9rZW4KICAgICAgICAtIHt7ICJbWyAuUHJveHlDb25maWcuR2V0VHJhY2luZy5HZXRMaWdodHN0ZXAuR2V0QWNjZXNzVG9rZW4gXV0iIH19CiAgICAgICAgLSAtLWxpZ2h0c3RlcFNlY3VyZT17eyAiW1sgLlByb3h5Q29uZmlnLkdldFRyYWNpbmcuR2V0TGlnaHRzdGVwLkdldFNlY3VyZSBdXSIgfX0KICAgICAgICAtIC0tbGlnaHRzdGVwQ2FjZXJ0UGF0aAogICAgICAgIC0ge3sgIltbIC5Qcm94eUNvbmZpZy5HZXRUcmFjaW5nLkdldExpZ2h0c3RlcC5HZXRDYWNlcnRQYXRoIF1dIiB9fQogICAgICB7ey0gZWxzZSBpZiBlcSAuVmFsdWVzLmdsb2JhbC5wcm94eS50cmFjZXIgInppcGtpbiIgfX0KICAgICAgICAtIC0temlwa2luQWRkcmVzcwogICAgICAgIC0ge3sgIltbIC5Qcm94eUNvbmZpZy5HZXRUcmFjaW5nLkdldFppcGtpbi5HZXRBZGRyZXNzIF1dIiB9fQogICAgICB7ey0gZW5kIH19CiAgICAgICAgLSAtLWNvbm5lY3RUaW1lb3V0CiAgICAgICAgLSB7eyAiW1sgZm9ybWF0RHVyYXRpb24gLlByb3h5Q29uZmlnLkNvbm5lY3RUaW1lb3V0IF1dIiB9fQogICAgICB7ey0gaWYgLlZhbHVlcy5nbG9iYWwucHJveHkuZW52b3lTdGF0c2QuZW5hYmxlZCB9fQogICAgICAgIC0gLS1zdGF0c2RVZHBBZGRyZXNzCiAgICAgICAgLSB7eyAiW1sgLlByb3h5Q29uZmlnLlN0YXRzZFVkcEFkZHJlc3MgXV0iIH19CiAgICAgIHt7LSBlbmQgfX0KICAgICAgICAtIC0tcHJveHlBZG1pblBvcnQKICAgICAgICAtIHt7ICJbWyAuUHJveHlDb25maWcuUHJveHlBZG1pblBvcnQgXV0iIH19CiAgICAgICAge3sgIltbIGlmIGd0IC5Qcm94eUNvbmZpZy5Db25jdXJyZW5jeSAwIC1dXSIgfX0KICAgICAgICAtIC0tY29uY3VycmVuY3kKICAgICAgICAtIHt7ICJbWyAuUHJveHlDb25maWcuQ29uY3VycmVuY3kgXV0iIH19CiAgICAgICAge3sgIltbIGVuZCAtXV0iIH19CiAgICAgICAgLSAtLWNvbnRyb2xQbGFuZUF1dGhQb2xpY3kKICAgICAgICAtIHt7ICJbWyBhbm5vdGF0aW9uIC5PYmplY3RNZXRhIGBzaWRlY2FyLmlzdGlvLmlvL2NvbnRyb2xQbGFuZUF1dGhQb2xpY3lgIC5Qcm94eUNvbmZpZy5Db250cm9sUGxhbmVBdXRoUG9saWN5IF1dIiB9fQogICAgICB7eyAiW1stIGlmIChuZSAoYW5ub3RhdGlvbiAuT2JqZWN0TWV0YSBgc3RhdHVzLnNpZGVjYXIuaXN0aW8uaW8vcG9ydGAgIiB9fSB7eyAuVmFsdWVzLmdsb2JhbC5wcm94eS5zdGF0dXNQb3J0IH19IHt7ICIpIFwiMFwiKSBdXSIgfX0KICAgICAgICAtIC0tc3RhdHVzUG9ydAogICAgICAgIC0ge3sgIltbIGFubm90YXRpb24gLk9iamVjdE1ldGEgYHN0YXR1cy5zaWRlY2FyLmlzdGlvLmlvL3BvcnRgICIgfX0ge3sgLlZhbHVlcy5nbG9iYWwucHJveHkuc3RhdHVzUG9ydCB9fSB7eyAiIF1dIiB9fQogICAgICAgIC0gLS1hcHBsaWNhdGlvblBvcnRzCiAgICAgICAgLSB7eyAiXCJbWyBhbm5vdGF0aW9uIC5PYmplY3RNZXRhIGByZWFkaW5lc3Muc3RhdHVzLnNpZGVjYXIuaXN0aW8uaW8vYXBwbGljYXRpb25Qb3J0c2AgKGFwcGxpY2F0aW9uUG9ydHMgLlNwZWMuQ29udGFpbmVycykgXV1cIiIgfX0KICAgICAge3sgIltbLSBlbmQgXV0iIH19CiAgICAgICAgZW52OgogICAgICAgIC0gbmFtZTogUE9EX05BTUUKICAgICAgICAgIHZhbHVlRnJvbToKICAgICAgICAgICAgZmllbGRSZWY6CiAgICAgICAgICAgICAgZmllbGRQYXRoOiBtZXRhZGF0YS5uYW1lCiAgICAgICAgLSBuYW1lOiBQT0RfTkFNRVNQQUNFCiAgICAgICAgICB2YWx1ZUZyb206CiAgICAgICAgICAgIGZpZWxkUmVmOgogICAgICAgICAgICAgIGZpZWxkUGF0aDogbWV0YWRhdGEubmFtZXNwYWNlCiAgICAgICAgLSBuYW1lOiBJTlNUQU5DRV9JUAogICAgICAgICAgdmFsdWVGcm9tOgogICAgICAgICAgICBmaWVsZFJlZjoKICAgICAgICAgICAgICBmaWVsZFBhdGg6IHN0YXR1cy5wb2RJUAogICAgICAgIC0gbmFtZTogSVNUSU9fTUVUQV9QT0RfTkFNRQogICAgICAgICAgdmFsdWVGcm9tOgogICAgICAgICAgICBmaWVsZFJlZjoKICAgICAgICAgICAgICBmaWVsZFBhdGg6IG1ldGFkYXRhLm5hbWUKICAgICAgICAtIG5hbWU6IElTVElPX01FVEFfSU5URVJDRVBUSU9OX01PREUKICAgICAgICAgIHZhbHVlOiB7eyAiW1sgb3IgKGluZGV4IC5PYmplY3RNZXRhLkFubm90YXRpb25zIFwic2lkZWNhci5pc3Rpby5pby9pbnRlcmNlcHRpb25Nb2RlXCIpIC5Qcm94eUNvbmZpZy5JbnRlcmNlcHRpb25Nb2RlLlN0cmluZyBdXSIgfX0KICAgICAgICB7eyAiW1sgaWYgLk9iamVjdE1ldGEuQW5ub3RhdGlvbnMgXV0iIH19CiAgICAgICAgLSBuYW1lOiBJU1RJT19NRVRBSlNPTl9BTk5PVEFUSU9OUwogICAgICAgICAgdmFsdWU6IHwKICAgICAgICAgICAgICAgICB7eyAiW1sgdG9KU09OIC5PYmplY3RNZXRhLkFubm90YXRpb25zIF1dIiB9fQogICAgICAgIHt7ICJbWyBlbmQgXV0iIH19CiAgICAgICAge3sgIltbIHJhbmdlICRrLCR2IDo9IC5PYmplY3RNZXRhLkxhYmVscyBdXSIgfX0KICAgICAgICAtIG5hbWU6IElTVElPX01FVEFfe3sgIltbICRrIF1dIiB9fQogICAgICAgICAgdmFsdWU6ICJ7eyAiW1sgJHYgXV0iIH19IgogICAgICAgIHt7ICJbWyBlbmQgXV0iIH19CiAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiB7eyAuVmFsdWVzLmdsb2JhbC5pbWFnZVB1bGxQb2xpY3kgfX0KICAgICAgICB7eyAiW1sgaWYgKG5lIChhbm5vdGF0aW9uIC5PYmplY3RNZXRhIGBzdGF0dXMuc2lkZWNhci5pc3Rpby5pby9wb3J0YCAiIH19IHt7IC5WYWx1ZXMuZ2xvYmFsLnByb3h5LnN0YXR1c1BvcnQgfX0ge3sgIikgXCIwXCIpIF1dIiB9fQogICAgICAgIHJlYWRpbmVzc1Byb2JlOgogICAgICAgICAgaHR0cEdldDoKICAgICAgICAgICAgcGF0aDogL2hlYWx0aHovcmVhZHkKICAgICAgICAgICAgcG9ydDoge3sgIltbIGFubm90YXRpb24gLk9iamVjdE1ldGEgYHN0YXR1cy5zaWRlY2FyLmlzdGlvLmlvL3BvcnRgICIgfX0ge3sgLlZhbHVlcy5nbG9iYWwucHJveHkuc3RhdHVzUG9ydCB9fSB7eyAiIF1dIiB9fQogICAgICAgICAgaW5pdGlhbERlbGF5U2Vjb25kczoge3sgIltbIGFubm90YXRpb24gLk9iamVjdE1ldGEgYHJlYWRpbmVzcy5zdGF0dXMuc2lkZWNhci5pc3Rpby5pby9pbml0aWFsRGVsYXlTZWNvbmRzYCAiIH19IHt7IC5WYWx1ZXMuZ2xvYmFsLnByb3h5LnJlYWRpbmVzc0luaXRpYWxEZWxheVNlY29uZHMgfX0ge3sgIiBdXSIgfX0KICAgICAgICAgIHBlcmlvZFNlY29uZHM6IHt7ICJbWyBhbm5vdGF0aW9uIC5PYmplY3RNZXRhIGByZWFkaW5lc3Muc3RhdHVzLnNpZGVjYXIuaXN0aW8uaW8vcGVyaW9kU2Vjb25kc2AgIiB9fSB7eyAuVmFsdWVzLmdsb2JhbC5wcm94eS5yZWFkaW5lc3NQZXJpb2RTZWNvbmRzIH19IHt7ICIgXV0iIH19CiAgICAgICAgICBmYWlsdXJlVGhyZXNob2xkOiB7eyAiW1sgYW5ub3RhdGlvbiAuT2JqZWN0TWV0YSBgcmVhZGluZXNzLnN0YXR1cy5zaWRlY2FyLmlzdGlvLmlvL2ZhaWx1cmVUaHJlc2hvbGRgICIgfX0ge3sgLlZhbHVlcy5nbG9iYWwucHJveHkucmVhZGluZXNzRmFpbHVyZVRocmVzaG9sZCB9fSB7eyAiIF1dIiB9fQogICAgICAgIHt7ICJbWyBlbmQgLV1dIiAtfX0KICAgICAgICBzZWN1cml0eUNvbnRleHQ6CiAgICAgICAgICB7eyBpZiAuVmFsdWVzLmdsb2JhbC5wcm94eS5wcml2aWxlZ2VkIH19CiAgICAgICAgICBwcml2aWxlZ2VkOiB0cnVlCiAgICAgICAgICB7eyBlbmQgLX19CiAgICAgICAgICB7ey0gaWYgbmUgLlZhbHVlcy5nbG9iYWwucHJveHkuZW5hYmxlQ29yZUR1bXAgdHJ1ZSB9fQogICAgICAgICAgcmVhZE9ubHlSb290RmlsZXN5c3RlbTogdHJ1ZQogICAgICAgICAge3stIGVuZCB9fQogICAgICAgICAge3sgIltbIGlmIGVxIChhbm5vdGF0aW9uIC5PYmplY3RNZXRhIGBzaWRlY2FyLmlzdGlvLmlvL2ludGVyY2VwdGlvbk1vZGVgIC5Qcm94eUNvbmZpZy5JbnRlcmNlcHRpb25Nb2RlKSBcIlRQUk9YWVwiIC1dXSIgfX0KICAgICAgICAgIGNhcGFiaWxpdGllczoKICAgICAgICAgICAgYWRkOgogICAgICAgICAgICAtIE5FVF9BRE1JTgogICAgICAgICAgcnVuQXNHcm91cDogMTMzNwogICAgICAgICAge3sgIltbIGVsc2UgLV1dIiB9fQogICAgICAgICAgcnVuQXNVc2VyOiAxMzM3CiAgICAgICAgICB7eyAiW1stIGVuZCBdXSIgfX0KICAgICAgICByZXNvdXJjZXM6CiAgICAgICAgICB7eyAiW1sgaWYgKGlzc2V0IC5PYmplY3RNZXRhLkFubm90YXRpb25zIGBzaWRlY2FyLmlzdGlvLmlvL3Byb3h5Q1BVYCkgLV1dIiB9fQogICAgICAgICAgcmVxdWVzdHM6CiAgICAgICAgICAgIGNwdToge3sgIlwiW1sgaW5kZXggLk9iamVjdE1ldGEuQW5ub3RhdGlvbnMgYHNpZGVjYXIuaXN0aW8uaW8vcHJveHlDUFVgIF1dXCIiIH19CiAgICAgICAgICAgIG1lbW9yeToge3sgIlwiW1sgaW5kZXggLk9iamVjdE1ldGEuQW5ub3RhdGlvbnMgYHNpZGVjYXIuaXN0aW8uaW8vcHJveHlNZW1vcnlgIF1dXCIiIH19CiAgICAgICAge3sgIltbIGVsc2UgLV1dIiB9fQp7ey0gaWYgLlZhbHVlcy5nbG9iYWwucHJveHkucmVzb3VyY2VzIH19Cnt7IHRvWWFtbCAuVmFsdWVzLmdsb2JhbC5wcm94eS5yZXNvdXJjZXMgfCBpbmRlbnQgMTAgfX0Ke3stIGVuZCB9fQogICAgICAgIHt7ICJbWyBlbmQgLV1dIiB9fQogICAgICAgIHZvbHVtZU1vdW50czoKICAgICAgICAtIG1vdW50UGF0aDogL2V0Yy9pc3Rpby9wcm94eQogICAgICAgICAgbmFtZTogaXN0aW8tZW52b3kKICAgICAgICAtIG1vdW50UGF0aDogL2V0Yy9jZXJ0cy8KICAgICAgICAgIG5hbWU6IGlzdGlvLWNlcnRzCiAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgIHt7IGlmIC5WYWx1ZXMuZ2xvYmFsLnNkc0VuYWJsZWQgfX0KICAgICAgICAtIG1vdW50UGF0aDogL3Zhci9ydW4vc2RzCiAgICAgICAgICBuYW1lOiBzZHMtdWRzLXBhdGgKICAgICAgICB7ey0gZW5kIH19CiAgICAgICAge3sgaWYgYW5kIChlcSAuVmFsdWVzLmdsb2JhbC5wcm94eS50cmFjZXIgImxpZ2h0c3RlcCIpIC5WYWx1ZXMuZ2xvYmFsLnRyYWNlci5saWdodHN0ZXAuY2FjZXJ0UGF0aCB9fQogICAgICAgIC0gbW91bnRQYXRoOiB7eyAiW1sgZGlyZWN0b3J5IC5Qcm94eUNvbmZpZy5HZXRUcmFjaW5nLkdldExpZ2h0c3RlcC5HZXRDYWNlcnRQYXRoIF1dIiB9fQogICAgICAgICAgbmFtZTogbGlnaHRzdGVwLWNlcnRzCiAgICAgICAgICByZWFkT25seTogdHJ1ZQogICAgICAgIHt7LSBlbmQgfX0KICAgICAgdm9sdW1lczoKICAgICAge3sgaWYgLlZhbHVlcy5nbG9iYWwuc2RzRW5hYmxlZCB9fQogICAgICAtIG5hbWU6IHNkcy11ZHMtcGF0aAogICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgcGF0aDogL3Zhci9ydW4vc2RzCiAgICAgIHt7LSBlbmQgfX0KICAgICAge3sgaWYgYW5kIChlcSAuVmFsdWVzLmdsb2JhbC5wcm94eS50cmFjZXIgImxpZ2h0c3RlcCIpIC5WYWx1ZXMuZ2xvYmFsLnRyYWNlci5saWdodHN0ZXAuY2FjZXJ0UGF0aCB9fQogICAgICAtIG5hbWU6IGxpZ2h0c3RlcC1jZXJ0cwogICAgICAgIHNlY3JldDoKICAgICAgICAgIG9wdGlvbmFsOiB0cnVlCiAgICAgICAgICBzZWNyZXROYW1lOiBsaWdodHN0ZXAuY2FjZXJ0CiAgICAgIHt7LSBlbmQgfX0KICAgICAgLSBlbXB0eURpcjoKICAgICAgICAgIG1lZGl1bTogTWVtb3J5CiAgICAgICAgbmFtZTogaXN0aW8tZW52b3kKICAgICAgLSBuYW1lOiBpc3Rpby1jZXJ0cwogICAgICAgIHNlY3JldDoKICAgICAgICAgIG9wdGlvbmFsOiB0cnVlCiAgICAgICAgICB7eyAiW1sgaWYgZXEgLlNwZWMuU2VydmljZUFjY291bnROYW1lIFwiXCIgLV1dIiB9fQogICAgICAgICAgc2VjcmV0TmFtZTogaXN0aW8uZGVmYXVsdAogICAgICAgICAge3sgIltbIGVsc2UgLV1dIiB9fQogICAgICAgICAgc2VjcmV0TmFtZToge3sgIltbIHByaW50ZiBcImlzdGlvLiVzXCIgLlNwZWMuU2VydmljZUFjY291bnROYW1lIF1dIiAgfX0KICAgICAgICAgIHt7ICJbWyBlbmQgLV1dIiB9fQp7ey0gZW5kIH19Cnt7LSBpZiAuVmFsdWVzLmdsb2JhbC5wb2RETlNDb25maWcgfX0Ke3sgdG9ZYW1sIC5WYWx1ZXMuZ2xvYmFsLnBvZEROU0NvbmZpZyB8IGluZGVudCA4IH19Cnt7LSBlbmQgfX0K"
    71          },
    72          {
    73            "filePath": "values-istio-auth-mcp.yaml",
    74            "fileContents": "IyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgaXN0aW8ueWFtbApnbG9iYWw6CiAgIyBjb250cm9sUGxhbmVNdGxzIGVuYWJsZWQuIFdpbGwgcmVzdWx0IGluIGRlbGF5cyBzdGFydGluZyB0aGUgcG9kcyB3aGlsZSBzZWNyZXRzIGFyZQogICMgcHJvcGFnYXRlZCwgbm90IHJlY29tbWVuZGVkIGZvciB0ZXN0cy4KICBjb250cm9sUGxhbmVTZWN1cml0eUVuYWJsZWQ6IHRydWUKCiAgbXRsczoKICAgICMgRGVmYXVsdCBzZXR0aW5nIGZvciBzZXJ2aWNlLXRvLXNlcnZpY2UgbXRscy4gQ2FuIGJlIHNldCBleHBsaWNpdGx5IHVzaW5nCiAgICAjIGRlc3RpbmF0aW9uIHJ1bGVzIG9yIHNlcnZpY2UgYW5ub3RhdGlvbnMuCiAgICBlbmFibGVkOiB0cnVlCgogICMjIGltYWdlUHVsbFNlY3JldHMgZm9yIGFsbCBTZXJ2aWNlQWNjb3VudC4gTXVzdCBiZSBzZXQgZm9yIGFueSBjbHVzdHNlciBjb25maWd1cmVkIHdpdGggcHJpdmF0ZSBkb2NrZXIgcmVnaXN0cnkuCiAgIyBpbWFnZVB1bGxTZWNyZXRzOgogICMgICAtIG5hbWU6ICJwcml2YXRlLXJlZ2lzdHJ5LWtleSIKCiAgIyBEZWZhdWx0IGlzIDEwcyBzZWNvbmQKICByZWZyZXNoSW50ZXJ2YWw6IDFzCgogIHVzZU1DUDogdHJ1ZQoKaXN0aW90ZXN0aW5nOgogIG9uZU5hbWVTcGFjZTogZmFsc2UKCnByb21ldGhldXM6CiAgZW5hYmxlZDogdHJ1ZQoKZ2FsbGV5OgogIGVuYWJsZWQ6IHRydWUKCnNlY3VyaXR5OgogIGVuYWJsZWQ6IHRydWUK"
    75          },
    76          {
    77            "filePath": "values-istio-auth-multicluster.yaml",
    78            "fileContents": "IyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgaXN0aW8tYXV0aC1tdWx0aWNsdXN0ZXIueWFtbCwgdXNlZCBmb3IgQ0kvQ0QuCmdsb2JhbDoKICAjIGNvbnRyb2xQbGFuZU10bHMgZW5hYmxlZC4gV2lsbCByZXN1bHQgaW4gZGVsYXlzIHN0YXJ0aW5nIHRoZSBwb2RzIHdoaWxlIHNlY3JldHMgYXJlCiAgIyBwcm9wYWdhdGVkLCBub3QgcmVjb21tZW5kZWQgZm9yIHRlc3RzLgogIGNvbnRyb2xQbGFuZVNlY3VyaXR5RW5hYmxlZDogdHJ1ZQoKICBtdGxzOgogICAgIyBEZWZhdWx0IHNldHRpbmcgZm9yIHNlcnZpY2UtdG8tc2VydmljZSBtdGxzLiBDYW4gYmUgc2V0IGV4cGxpY2l0bHkgdXNpbmcKICAgICMgZGVzdGluYXRpb24gcnVsZXMgb3Igc2VydmljZSBhbm5vdGF0aW9ucy4KICAgIGVuYWJsZWQ6IHRydWUKCiAgIyMgaW1hZ2VQdWxsU2VjcmV0cyBmb3IgYWxsIFNlcnZpY2VBY2NvdW50LiBNdXN0IGJlIHNldCBmb3IgYW55IGNsdXN0c2VyIGNvbmZpZ3VyZWQgd2l0aCBwcml2YXRlIGRvY2tlciByZWdpc3RyeS4KICAjIGltYWdlUHVsbFNlY3JldHM6CiAgIyAgIC0gbmFtZTogInByaXZhdGUtcmVnaXN0cnkta2V5IgoKICAjIERlZmF1bHQgaXMgMTBzIHNlY29uZAogIHJlZnJlc2hJbnRlcnZhbDogMXMKCiMgSW4gYSBtdWx0aXBsZSBjbHVzdGVyIGVudmlyb25tZW50LCBjaXRhZGVsIHVzZXMgdGhlIHNhbWUgcm9vdCBjZXJ0aWZpY2F0ZSBpbiBhbGwgdGhlIGNsdXN0ZXJzCnNlY3VyaXR5OgogIHNlbGZTaWduZWQ6IGZhbHNlCg=="
    79          },
    80          {
    81            "filePath": "values-istio-auth.yaml",
    82            "fileContents": "IyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgaXN0aW8tYXV0aC55YW1sIGZvciBhdXRvbWF0ZWQgQ0kvQ0QgdGVzdCwgdXNpbmcgdjEvYWxwaGExCiMgb3IgdjIvYWxwaGEzIHdpdGggJ2dyYWR1YWwgbWlncmF0aW9uJyAodXNpbmcgZW52IHZhcmlhYmxlIGF0IGluamVjdCB0aW1lKS4KZ2xvYmFsOgogICMgY29udHJvbFBsYW5lTXRscyBlbmFibGVkLiBXaWxsIHJlc3VsdCBpbiBkZWxheXMgc3RhcnRpbmcgdGhlIHBvZHMgd2hpbGUgc2VjcmV0cyBhcmUKICAjIHByb3BhZ2F0ZWQsIG5vdCByZWNvbW1lbmRlZCBmb3IgdGVzdHMuCiAgY29udHJvbFBsYW5lU2VjdXJpdHlFbmFibGVkOiB0cnVlCgogIG10bHM6CiAgICAjIERlZmF1bHQgc2V0dGluZyBmb3Igc2VydmljZS10by1zZXJ2aWNlIG10bHMuIENhbiBiZSBzZXQgZXhwbGljaXRseSB1c2luZwogICAgIyBkZXN0aW5hdGlvbiBydWxlcyBvciBzZXJ2aWNlIGFubm90YXRpb25zLgogICAgZW5hYmxlZDogdHJ1ZQoKCiAgIyMgaW1hZ2VQdWxsU2VjcmV0cyBmb3IgYWxsIFNlcnZpY2VBY2NvdW50LiBNdXN0IGJlIHNldCBmb3IgYW55IGNsdXN0c2VyIGNvbmZpZ3VyZWQgd2l0aCBwcml2YXRlIGRvY2tlciByZWdpc3RyeS4KICAjIGltYWdlUHVsbFNlY3JldHM6CiAgIyAgIC0gbmFtZTogInByaXZhdGUtcmVnaXN0cnkta2V5IgoKICAjIERlZmF1bHQgaXMgMTBzIHNlY29uZAogIHJlZnJlc2hJbnRlcnZhbDogMXMKCg=="
    83          },
    84          {
    85            "filePath": "values-istio-demo-auth.yaml",
    86            "fileContents": "IyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgaXN0aW8tYXV0aC55YW1sIGZvciBtaW5pbWFsLCBkZW1vIG1vZGUgd2l0aCBNVExTIGVuYWJsZWQuCiMgSXQgaXMgc2hpcHBlZCB3aXRoIHRoZSByZWxlYXNlLCB1c2VkIGZvciBib29raW5mbyBvciBxdWljayBpbnN0YWxsYXRpb24gb2YgaXN0aW8uCiMgSW5jbHVkZXMgY29tcG9uZW50cyB1c2VkIGluIHRoZSBkZW1vLCBkZWZhdWx0cyB0byBhbHBoYTMgcnVsZXMuCmdsb2JhbDoKICBjb250cm9sUGxhbmVTZWN1cml0eUVuYWJsZWQ6IHRydWUKCiAgbXRsczoKICAgICMgRGVmYXVsdCBzZXR0aW5nIGZvciBzZXJ2aWNlLXRvLXNlcnZpY2UgbXRscy4gQ2FuIGJlIHNldCBleHBsaWNpdGx5IHVzaW5nCiAgICAjIGRlc3RpbmF0aW9uIHJ1bGVzIG9yIHNlcnZpY2UgYW5ub3RhdGlvbnMuCiAgICBlbmFibGVkOiB0cnVlCgppbmdyZXNzOgogICMgSW5ncmVzcyBpcyB1c2VkIGZvciBtaWdyYXRpb24sIGZvciBhbHBoYTMgd2UgZXhwZWN0IGluZ3Jlc3NnYXRld2F5CiAgZW5hYmxlZDogZmFsc2UKCnByb21ldGhldXM6CiAgZW5hYmxlZDogdHJ1ZQoKcGlsb3Q6CiAgdHJhY2VTYW1wbGluZzogMTAwLjAKCnNpZGVjYXJJbmplY3RvcldlYmhvb2s6CiAgZW5hYmxlZDogdHJ1ZQogIGVuYWJsZU5hbWVzcGFjZXNCeURlZmF1bHQ6IGZhbHNlCgpncmFmYW5hOgogIGVuYWJsZWQ6IHRydWUKCnRyYWNpbmc6CiAgZW5hYmxlZDogdHJ1ZQoKc2VydmljZWdyYXBoOgogIGVuYWJsZWQ6IHRydWUKCmdhbGxleToKICBlbmFibGVkOiB0cnVlCgpraWFsaToKICBlbmFibGVkOiB0cnVlCg=="
    87          },
    88          {
    89            "filePath": "values-istio-demo.yaml",
    90            "fileContents": "IyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgaXN0aW8ueWFtbCBmb3IgbWluaW1hbCwgZGVtbyBtb2RlLgojIEl0IGlzIHNoaXBwZWQgd2l0aCB0aGUgcmVsZWFzZSwgdXNlZCBmb3IgYm9va2luZm8gb3IgcXVpY2sgaW5zdGFsbGF0aW9uIG9mIGlzdGlvLgojIEluY2x1ZGVzIGNvbXBvbmVudHMgdXNlZCBpbiB0aGUgZGVtbywgZGVmYXVsdHMgdG8gYWxwaGEzIHJ1bGVzLgoKIyBJZiBydW5uaW5nIGluIG1pbmlrdWJlIHlvdSBtYXkgYWRkOgojIC0tc2V0IGdsb2JhbC5ub2RlUG9ydD10cnVlCiMgLS1zZXQgaW5ncmVzc2dhdGV3YXkuc2VydmljZS50eXBlPU5vZGVQb3J0Cmdsb2JhbDoKICBub2RlUG9ydDogZmFsc2UKCmluZ3Jlc3M6CiAgIyBJbmdyZXNzIGlzIHVzZWQgZm9yIG1pZ3JhdGlvbiwgZm9yIGFscGhhMyB3ZSBleHBlY3QgaW5ncmVzc2dhdGV3YXkKICBlbmFibGVkOiBmYWxzZQoKcHJvbWV0aGV1czoKICBlbmFibGVkOiB0cnVlCgpwaWxvdDoKICB0cmFjZVNhbXBsaW5nOiAxMDAuMAoKc2lkZWNhckluamVjdG9yV2ViaG9vazoKICBlbmFibGVkOiB0cnVlCiAgZW5hYmxlTmFtZXNwYWNlc0J5RGVmYXVsdDogZmFsc2UKCmdyYWZhbmE6CiAgZW5hYmxlZDogdHJ1ZQoKdHJhY2luZzoKICBlbmFibGVkOiB0cnVlCgpzZXJ2aWNlZ3JhcGg6CiAgZW5hYmxlZDogdHJ1ZQoKZ2FsbGV5OgogIGVuYWJsZWQ6IHRydWUKCmtpYWxpOgogIGVuYWJsZWQ6IHRydWUK"
    91          },
    92          {
    93            "filePath": "values-istio-gateways.yaml",
    94            "fileContents": "IyBDb21tb24gc2V0dGluZ3MuCmdsb2JhbDoKICAjIEluY2x1ZGUgdGhlIGNyZCBkZWZpbml0aW9uIHdoZW4gZ2VuZXJhdGluZyB0aGUgdGVtcGxhdGUuCiAgIyBGb3IgJ2hlbG0gdGVtcGxhdGUnIGFuZCBoZWxtIGluc3RhbGwgPiAyLjEwIGl0IHNob3VsZCBiZSB0cnVlLgogICMgRm9yIGhlbG0gPCAyLjksIGNyZHMgbXVzdCBiZSBpbnN0YWxsZWQgYWhlYWQgb2YgdGltZSB3aXRoCiAgIyAna3ViZWN0bCBhcHBseSAtZiBpbnN0YWxsL2t1YmVybmV0ZXMvaGVsbS9pc3Rpby90ZW1wbGF0ZXMvY3Jkcy55YW1sCiAgIyBhbmQgdGhpcyBvcHRpb25zIG11c3QgYmUgc2V0IG9mZi4KICBjcmRzOiBmYWxzZQoKICAjIE9taXQgdGhlIGlzdGlvLXNpZGVjYXItaW5qZWN0b3IgY29uZmlnbWFwIHdoZW4gZ2VuZXJhdGUgYQogICMgc3RhbmRhbG9uZSBnYXRld2F5LiBHYXRld2F5cyBtYXkgYmUgY3JlYXRlZCBpbiBuYW1lc3BhY2VzIG90aGVyCiAgIyB0aGFuIGBpc3Rpby1zeXN0ZW1gIGFuZCB3ZSBkb24ndCB3YW50IHRvIHJlLWNyZWF0ZSB0aGUgaW5qZWN0b3IKICAjIGNvbmZpZ21hcCBpbiB0aG9zZS4KICBvbWl0U2lkZWNhckluamVjdG9yQ29uZmlnTWFwOiB0cnVlCgogICMgSXN0aW8gY29udHJvbCBwbGFuZSBuYW1lc3BhY2U6IFRoaXMgc3BlY2lmaWVzIHdoZXJlIHRoZSBJc3RpbyBjb250cm9sCiAgIyBwbGFuZSB3YXMgaW5zdGFsbGVkIGVhcmxpZXIuICBNb2RpZnkgdGhpcyBpZiB5b3UgaW5zdGFsbGVkIHRoZSBjb250cm9sCiAgIyBwbGFuZSBpbiBhIGRpZmZlcmVudCBuYW1lc3BhY2UgdGhhbiBpc3Rpby1zeXN0ZW0uCiAgaXN0aW9OYW1lc3BhY2U6IGlzdGlvLXN5c3RlbQoKICBwcm94eToKICAgICMgU2V0cyB0aGUgZGVzdGluYXRpb24gU3RhdHNkIGluIGVudm95ICh0aGUgdmFsdWUgb2YgdGhlICItLXN0YXRzZFVkcEFkZHJlc3MiIHByb3h5IGFyZ3VtZW50CiAgICAjIHdvdWxkIGJlIDxob3N0Pjo8cG9ydD4pLgogICAgIyBEaXNhYmxlZCBieSBkZWZhdWx0LgogICAgIyBUaGUgaXN0aW8tc3RhdHNkLXByb20tYnJpZGdlIGlzIGRlcHJlY2F0ZWQgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBtb3ZpbmcgZm9yd2FyZC4KICAgIGVudm95U3RhdHNkOgogICAgICAjIElmIGVuYWJsZWQgaXMgc2V0IHRvIHRydWUsIGhvc3QgYW5kIHBvcnQgbXVzdCBhbHNvIGJlIHByb3ZpZGVkLiBJc3RpbyBubyBsb25nZXIgcHJvdmlkZXMgYSBzdGF0c2QgY29sbGVjdG9yLgogICAgICBlbmFibGVkOiBmYWxzZQogICAgICBob3N0OiAjIGV4YW1wbGU6IHN0YXRzZC1zdmMKICAgICAgcG9ydDogIyBleGFtcGxlOiA5MTI1CgoKIwojIEdhdGV3YXlzIENvbmZpZ3VyYXRpb24KIyBCeSBkZWZhdWx0IChpZiBlbmFibGVkKSBhIHBhaXIgb2YgSW5ncmVzcyBhbmQgRWdyZXNzIEdhdGV3YXlzIHdpbGwgYmUgY3JlYXRlZCBmb3IgdGhlIG1lc2guCiMgWW91IGNhbiBhZGQgbW9yZSBnYXRld2F5cyBpbiBhZGRpdGlvbiB0byB0aGUgZGVmYXVsdHMgYnV0IG1ha2Ugc3VyZSB0aG9zZSBhcmUgdW5pcXVlbHkgbmFtZWQKIyBhbmQgdGhhdCBOb2RlUG9ydHMgYXJlIG5vdCBjb25mbGljdGluZy4KIyBEaXNhYmxlIHNwZWNpZmMgZ2F0ZXdheSBieSBzZXR0aW5nIHRoZSBgZW5hYmxlZGAgdG8gZmFsc2UuCiMKZ2F0ZXdheXM6CiAgZW5hYmxlZDogdHJ1ZQoKICBjdXN0b20tZ2F0ZXdheToKICAgIGVuYWJsZWQ6IHRydWUKICAgIGxhYmVsczoKICAgICAgYXBwOiBjdXN0b20tZ2F0ZXdheQogICAgcmVwbGljYUNvdW50OiAxCiAgICBhdXRvc2NhbGVNaW46IDEKICAgIGF1dG9zY2FsZU1heDogNQogICAgcmVzb3VyY2VzOiB7fQogICAgICAjIGxpbWl0czoKICAgICAgIyAgY3B1OiAxMDBtCiAgICAgICMgIG1lbW9yeTogMTI4TWkKICAgICAgI3JlcXVlc3RzOgogICAgICAjICBjcHU6IDE4MDBtCiAgICAgICMgIG1lbW9yeTogMjU2TWkKCiAgICBsb2FkQmFsYW5jZXJJUDogIiIKICAgIHNlcnZpY2VBbm5vdGF0aW9uczoge30KICAgIHR5cGU6IExvYWRCYWxhbmNlciAjY2hhbmdlIHRvIE5vZGVQb3J0LCBDbHVzdGVySVAgb3IgTG9hZEJhbGFuY2VyIGlmIG5lZWQgYmUKCiAgICBwb3J0czoKICAgICAgIyMgWW91IGNhbiBhZGQgY3VzdG9tIGdhdGV3YXkgcG9ydHMKICAgIC0gcG9ydDogODAKICAgICAgdGFyZ2V0UG9ydDogODAKICAgICAgbmFtZTogaHR0cDIKICAgICAgIyBub2RlUG9ydDogMzEzODAKICAgIC0gcG9ydDogNDQzCiAgICAgIG5hbWU6IGh0dHBzCiAgICAgICMgbm9kZVBvcnQ6IDMxMzkwCiAgICAtIHBvcnQ6IDMxNDAwCiAgICAgIG5hbWU6IHRjcAogICAgICAjIG5vZGVQb3J0OiAzMTQwMAogICAgIyBQaWxvdCBhbmQgQ2l0YWRlbCBNVExTIHBvcnRzIGFyZSBlbmFibGVkIGluIGdhdGV3YXkgLSBidXQgd2lsbCBvbmx5IHJlZGlyZWN0CiAgICAjIHRvIHBpbG90L2NpdGFkZWwgaWYgZ2xvYmFsLm1lc2hFeHBhbnNpb24gc2V0dGluZ3MgYXJlIGVuYWJsZWQuCiAgICAtIHBvcnQ6IDE1MDExCiAgICAgIHRhcmdldFBvcnQ6IDE1MDExCiAgICAgIG5hbWU6IHRjcC1waWxvdC1ncnBjLXRscwogICAgLSBwb3J0OiA4MDYwCiAgICAgIHRhcmdldFBvcnQ6IDgwNjAKICAgICAgbmFtZTogdGNwLWNpdGFkZWwtZ3JwYy10bHMKICAgICMgQWRkb24gcG9ydHMgZm9yIGtpYWxpIGFyZSBlbmFibGVkIGluIGdhdGV3YXkgLSBidXQgd2lsbCBvbmx5IHJlZGlyZWN0IGlmCiAgICAjIHRoZSBnYXRld2F5IGNvbmZpZ3VyYXRpb24gZm9yIHRoZSB2YXJpb3VzIGNvbXBvbmVudHMgYXJlIGVuYWJsZWQuCiAgICAtIHBvcnQ6IDE1MDI5CiAgICAtIHRhcmdldFBvcnQ6IDE1MDI5CiAgICAjIFRlbGVtZXRyeS1yZWxhdGVkIHBvcnRzIGFyZSBlbmFibGVkIGluIGdhdGV3YXkgLSBidXQgd2lsbCBvbmx5IHJlZGlyZWN0IGlmCiAgICAjIHRoZSBnYXRld2F5IGNvbmZpZ3VyYXRpb24gZm9yIHRoZSB2YXJpb3VzIGNvbXBvbmVudHMgYXJlIGVuYWJsZWQuCiAgICAtIHBvcnQ6IDE1MDMwCiAgICAgIHRhcmdldFBvcnQ6IDE1MDMwCiAgICAgIG5hbWU6IGh0dHAyLXByb21ldGhldXMKICAgIC0gcG9ydDogMTUwMzEKICAgICAgdGFyZ2V0UG9ydDogMTUwMzEKICAgICAgbmFtZTogaHR0cDItZ3JhZmFuYQogICAgLSBwb3J0OiAxNTAzMgogICAgICB0YXJnZXRQb3J0OiAxNTAzMgogICAgICBuYW1lOiBodHRwMi10cmFjaW5nCiAgICBzZWNyZXRWb2x1bWVzOgogICAgLSBuYW1lOiBjdXN0b21nYXRld2F5LWNlcnRzCiAgICAgIHNlY3JldE5hbWU6IGlzdGlvLWN1c3RvbWdhdGV3YXktY2VydHMKICAgICAgbW91bnRQYXRoOiAvZXRjL2lzdGlvL2N1c3RvbWdhdGV3YXktY2VydHMKICAgIC0gbmFtZTogY3VzdG9tZ2F0ZXdheS1jYS1jZXJ0cwogICAgICBzZWNyZXROYW1lOiBpc3Rpby1jdXN0b21nYXRld2F5LWNhLWNlcnRzCiAgICAgIG1vdW50UGF0aDogL2V0Yy9pc3Rpby9jdXN0b21nYXRld2F5LWNhLWNlcnRzCgojIGFsbCBvdGhlciBjb21wb25lbnRzIGFyZSBkaXNhYmxlZCBleGNlcHQgdGhlIGdhdGV3YXlzCmluZ3Jlc3M6CiAgZW5hYmxlZDogZmFsc2UKCnNlY3VyaXR5OgogIGVuYWJsZWQ6IGZhbHNlCgpzaWRlY2FySW5qZWN0b3JXZWJob29rOgogIGVuYWJsZWQ6IGZhbHNlCgpnYWxsZXk6CiAgZW5hYmxlZDogZmFsc2UKCm1peGVyOgogIGVuYWJsZWQ6IGZhbHNlCgpwaWxvdDoKICBlbmFibGVkOiBmYWxzZQoKZ3JhZmFuYToKICBlbmFibGVkOiBmYWxzZQoKcHJvbWV0aGV1czoKICBlbmFibGVkOiBmYWxzZQoKc2VydmljZWdyYXBoOgogIGVuYWJsZWQ6IGZhbHNlCgp0cmFjaW5nOgogIGVuYWJsZWQ6IGZhbHNlCgpraWFsaToKICBlbmFibGVkOiBmYWxzZQoKY2VydG1hbmFnZXI6CiAgZW5hYmxlZDogZmFsc2UK"
    95          },
    96          {
    97            "filePath": "values-istio-mcp.yaml",
    98            "fileContents": "IyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgaXN0aW8ueWFtbApnbG9iYWw6CiAgIyBjb250cm9sUGxhbmVNdGxzIGVuYWJsZWQuIFdpbGwgcmVzdWx0IGluIGRlbGF5cyBzdGFydGluZyB0aGUgcG9kcyB3aGlsZSBzZWNyZXRzIGFyZQogICMgcHJvcGFnYXRlZCwgbm90IHJlY29tbWVuZGVkIGZvciB0ZXN0cy4KICBjb250cm9sUGxhbmVTZWN1cml0eUVuYWJsZWQ6IGZhbHNlCgogIG10bHM6CiAgICAjIERlZmF1bHQgc2V0dGluZyBmb3Igc2VydmljZS10by1zZXJ2aWNlIG10bHMuIENhbiBiZSBzZXQgZXhwbGljaXRseSB1c2luZwogICAgIyBkZXN0aW5hdGlvbiBydWxlcyBvciBzZXJ2aWNlIGFubm90YXRpb25zLgogICAgZW5hYmxlZDogZmFsc2UKCiAgIyMgaW1hZ2VQdWxsU2VjcmV0cyBmb3IgYWxsIFNlcnZpY2VBY2NvdW50LiBNdXN0IGJlIHNldCBmb3IgYW55IGNsdXN0c2VyIGNvbmZpZ3VyZWQgd2l0aCBwcml2YXRlIGRvY2tlciByZWdpc3RyeS4KICAjIGltYWdlUHVsbFNlY3JldHM6CiAgIyAgIC0gbmFtZTogInByaXZhdGUtcmVnaXN0cnkta2V5IgoKICAjIERlZmF1bHQgaXMgMTBzIHNlY29uZAogIHJlZnJlc2hJbnRlcnZhbDogMXMKCiAgdXNlTUNQOiB0cnVlCgppc3Rpb3Rlc3Rpbmc6CiAgb25lTmFtZVNwYWNlOiBmYWxzZQoKcHJvbWV0aGV1czoKICBlbmFibGVkOiB0cnVlCgpnYWxsZXk6CiAgZW5hYmxlZDogdHJ1ZQo="
    99          },
   100          {
   101            "filePath": "values-istio-multicluster.yaml",
   102            "fileContents": "IyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgaXN0aW8tbXVsdGljbHVzdGVyLnlhbWwsIHVzZWQgZm9yIENJL0NELgpnbG9iYWw6CiAgIyBjb250cm9sUGxhbmVNdGxzIGVuYWJsZWQuIFdpbGwgcmVzdWx0IGluIGRlbGF5cyBzdGFydGluZyB0aGUgcG9kcyB3aGlsZSBzZWNyZXRzIGFyZQogICMgcHJvcGFnYXRlZCwgbm90IHJlY29tbWVuZGVkIGZvciB0ZXN0cy4KICBjb250cm9sUGxhbmVTZWN1cml0eUVuYWJsZWQ6IGZhbHNlCgogIG10bHM6CiAgICAjIERlZmF1bHQgc2V0dGluZyBmb3Igc2VydmljZS10by1zZXJ2aWNlIG10bHMuIENhbiBiZSBzZXQgZXhwbGljaXRseSB1c2luZwogICAgIyBkZXN0aW5hdGlvbiBydWxlcyBvciBzZXJ2aWNlIGFubm90YXRpb25zLgogICAgZW5hYmxlZDogZmFsc2UKCiAgIyMgaW1hZ2VQdWxsU2VjcmV0cyBmb3IgYWxsIFNlcnZpY2VBY2NvdW50LiBNdXN0IGJlIHNldCBmb3IgYW55IGNsdXN0c2VyIGNvbmZpZ3VyZWQgd2l0aCBwcml2YXRlIGRvY2tlciByZWdpc3RyeS4KICAjIGltYWdlUHVsbFNlY3JldHM6CiAgIyAgIC0gbmFtZTogInByaXZhdGUtcmVnaXN0cnkta2V5IgoKICAjIERlZmF1bHQgaXMgMTBzIHNlY29uZAogIHJlZnJlc2hJbnRlcnZhbDogMXMKCnByb21ldGhldXM6CiAgZW5hYmxlZDogdHJ1ZQoKIyBJbiBhIG11bHRpcGxlIGNsdXN0ZXIgZW52aXJvbm1lbnQsIGNpdGFkZWwgdXNlcyB0aGUgc2FtZSByb290IGNlcnRpZmljYXRlIGluIGFsbCB0aGUgY2x1c3RlcnMKc2VjdXJpdHk6CiAgc2VsZlNpZ25lZDogZmFsc2UK"
   103          },
   104          {
   105            "filePath": "values-istio-one-namespace-auth.yaml",
   106            "fileContents": "IyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgaXN0aW8ueWFtbCB1c2VkIGZvciBkZXByZWNhdGVkIENJL0NEIHRlc3RpbmcuCmdsb2JhbDoKICAjIGNvbnRyb2xQbGFuZU10bHMgZW5hYmxlZC4gV2lsbCByZXN1bHQgaW4gZGVsYXlzIHN0YXJ0aW5nIHRoZSBwb2RzIHdoaWxlIHNlY3JldHMgYXJlCiAgIyBwcm9wYWdhdGVkLCBub3QgcmVjb21tZW5kZWQgZm9yIHRlc3RzLgogIGNvbnRyb2xQbGFuZVNlY3VyaXR5RW5hYmxlZDogdHJ1ZQoKICBtdGxzOgogICAgIyBEZWZhdWx0IHNldHRpbmcgZm9yIHNlcnZpY2UtdG8tc2VydmljZSBtdGxzLiBDYW4gYmUgc2V0IGV4cGxpY2l0bHkgdXNpbmcKICAgICMgZGVzdGluYXRpb24gcnVsZXMgb3Igc2VydmljZSBhbm5vdGF0aW9ucy4KICAgIGVuYWJsZWQ6IHRydWUKCiAgIyMgaW1hZ2VQdWxsU2VjcmV0cyBmb3IgYWxsIFNlcnZpY2VBY2NvdW50LiBNdXN0IGJlIHNldCBmb3IgYW55IGNsdXN0c2VyIGNvbmZpZ3VyZWQgd2l0aCBwcml2YXRlIGRvY2tlciByZWdpc3RyeS4KICAjIGltYWdlUHVsbFNlY3JldHM6CiAgIyAgIC0gbmFtZTogInByaXZhdGUtcmVnaXN0cnkta2V5IgoKICAjIERlZmF1bHQgaXMgMTBzIHNlY29uZAogIHJlZnJlc2hJbnRlcnZhbDogMXMKCmlzdGlvdGVzdGluZzoKICBvbmVOYW1lU3BhY2U6IHRydWUK"
   107          },
   108          {
   109            "filePath": "values-istio-one-namespace.yaml",
   110            "fileContents": "IyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgaXN0aW8ueWFtbCB1c2VkIGZvciBkZXByZWNhdGVkIENJL0NEIHRlc3RpbmcuCmdsb2JhbDoKICAjIGNvbnRyb2xQbGFuZU10bHMgZW5hYmxlZC4gV2lsbCByZXN1bHQgaW4gZGVsYXlzIHN0YXJ0aW5nIHRoZSBwb2RzIHdoaWxlIHNlY3JldHMgYXJlCiAgIyBwcm9wYWdhdGVkLCBub3QgcmVjb21tZW5kZWQgZm9yIHRlc3RzLgogIGNvbnRyb2xQbGFuZVNlY3VyaXR5RW5hYmxlZDogZmFsc2UKCiAgbXRsczoKICAgICMgRGVmYXVsdCBzZXR0aW5nIGZvciBzZXJ2aWNlLXRvLXNlcnZpY2UgbXRscy4gQ2FuIGJlIHNldCBleHBsaWNpdGx5IHVzaW5nCiAgICAjIGRlc3RpbmF0aW9uIHJ1bGVzIG9yIHNlcnZpY2UgYW5ub3RhdGlvbnMuCiAgICBlbmFibGVkOiBmYWxzZQoKICAjIyBpbWFnZVB1bGxTZWNyZXRzIGZvciBhbGwgU2VydmljZUFjY291bnQuIE11c3QgYmUgc2V0IGZvciBhbnkgY2x1c3RzZXIgY29uZmlndXJlZCB3aXRoIHByaXZhdGUgZG9ja2VyIHJlZ2lzdHJ5LgogICMgaW1hZ2VQdWxsU2VjcmV0czoKICAjICAgLSBuYW1lOiAicHJpdmF0ZS1yZWdpc3RyeS1rZXkiCgogICMgRGVmYXVsdCBpcyAxMHMgc2Vjb25kCiAgcmVmcmVzaEludGVydmFsOiAxcwoKaXN0aW90ZXN0aW5nOgogIG9uZU5hbWVTcGFjZTogdHJ1ZQo="
   111          },
   112          {
   113            "filePath": "values-istio.yaml",
   114            "fileContents": "IyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgaXN0aW8ueWFtbCBmb3IgYXV0b21hdGVkIENJL0NEIHRlc3QsIHVzaW5nIHYxL2FscGhhMQojIG9yIHYyL2FscGhhMyB3aXRoICdncmFkdWFsIG1pZ3JhdGlvbicgKHVzaW5nIGVudiB2YXJpYWJsZSBhdCBpbmplY3QgdGltZSkuCmdsb2JhbDoKICAjIyBpbWFnZVB1bGxTZWNyZXRzIGZvciBhbGwgU2VydmljZUFjY291bnQuIE11c3QgYmUgc2V0IGZvciBhbnkgY2x1c3RzZXIgY29uZmlndXJlZCB3aXRoIHByaXZhdGUgZG9ja2VyIHJlZ2lzdHJ5LgogICMgaW1hZ2VQdWxsU2VjcmV0czoKICAjICAgLSBuYW1lOiAicHJpdmF0ZS1yZWdpc3RyeS1rZXkiCgogICMgRGVmYXVsdCBpcyAxMHMgc2Vjb25kCiAgcmVmcmVzaEludGVydmFsOiAxcwo="
   115          },
   116          {
   117            "filePath": "values.yaml",
   118            "fileContents": "IwojIEdhdGV3YXlzIENvbmZpZ3VyYXRpb24sIHJlZmVyIHRvIHRoZSBjaGFydHMvZ2F0ZXdheXMvdmFsdWVzLnlhbWwKIyBmb3IgZGV0YWlsZWQgY29uZmlndXJhdGlvbgojCmdhdGV3YXlzOgogIGVuYWJsZWQ6IHRydWUKCiMKIyBzaWRlY2FyLWluamVjdG9yIHdlYmhvb2sgY29uZmlndXJhdGlvbiwgcmVmZXIgdG8gdGhlCiMgY2hhcnRzL3NpZGVjYXJJbmplY3RvcldlYmhvb2svdmFsdWVzLnlhbWwgZm9yIGRldGFpbGVkIGNvbmZpZ3VyYXRpb24KIwpzaWRlY2FySW5qZWN0b3JXZWJob29rOgogIGVuYWJsZWQ6IHRydWUKCiMKIyBnYWxsZXkgY29uZmlndXJhdGlvbiwgcmVmZXIgdG8gY2hhcnRzL2dhbGxleS92YWx1ZXMueWFtbAojIGZvciBkZXRhaWxlZCBjb25maWd1cmF0aW9uCiMKZ2FsbGV5OgogIGVuYWJsZWQ6IHRydWUKCiMKIyBtaXhlciBjb25maWd1cmF0aW9uCiMKbWl4ZXI6CiAgZW5hYmxlZDogdHJ1ZQoKIwojIHBpbG90IGNvbmZpZ3VyYXRpb24KIwpwaWxvdDoKICBlbmFibGVkOiB0cnVlCgojCiMgc2VjdXJpdHkgY29uZmlndXJhdGlvbgojCnNlY3VyaXR5OgogIGVuYWJsZWQ6IHRydWUKCiMKIyBub2RlYWdlbnQgY29uZmlndXJhdGlvbgojCm5vZGVhZ2VudDoKICBlbmFibGVkOiBmYWxzZQoKIwojIGluZ3Jlc3MgY29uZmlndXJhdGlvbgojCmluZ3Jlc3M6CiAgZW5hYmxlZDogZmFsc2UKCiMKIyBhZGRvbiBncmFmYW5hIGNvbmZpZ3VyYXRpb24KIwpncmFmYW5hOgogIGVuYWJsZWQ6IGZhbHNlCgojCiMgYWRkb24gcHJvbWV0aGV1cyBjb25maWd1cmF0aW9uCiMKcHJvbWV0aGV1czoKICBlbmFibGVkOiB0cnVlCgojCiMgYWRkb24gc2VydmljZWdyYXBoIGNvbmZpZ3VyYXRpb24KIwpzZXJ2aWNlZ3JhcGg6CiAgZW5hYmxlZDogZmFsc2UKCiMKIyBhZGRvbiBqYWVnZXIgdHJhY2luZyBjb25maWd1cmF0aW9uCiMKdHJhY2luZzoKICBlbmFibGVkOiBmYWxzZQoKIwojIGFkZG9uIGtpYWxpIHRyYWNpbmcgY29uZmlndXJhdGlvbgojCmtpYWxpOgogIGVuYWJsZWQ6IGZhbHNlCgojIENvbW1vbiBzZXR0aW5ncyB1c2VkIGFtb25nIGlzdGlvIHN1YmNoYXJ0cy4KZ2xvYmFsOgogICMgRGVmYXVsdCBodWIgZm9yIElzdGlvIGltYWdlcy4KICAjIFJlbGVhc2VzIGFyZSBwdWJsaXNoZWQgdG8gZG9ja2VyIGh1YiB1bmRlciAnaXN0aW8nIHByb2plY3QuCiAgIyBEYWlseSBidWlsZHMgZnJvbSBwcm93IGFyZSBvbiBnY3IuaW8sIGFuZCBuaWdodGx5IGJ1aWxkcyBmcm9tIGNpcmNsZSBvbiBkb2NrZXIuaW8vaXN0aW9uaWdodGx5CiAgaHViOiBnY3IuaW8vaXN0aW8tcmVsZWFzZQoKICAjIERlZmF1bHQgdGFnIGZvciBJc3RpbyBpbWFnZXMuCiAgdGFnOiBtYXN0ZXItbGF0ZXN0LWRhaWx5CgogIGs4c0luZ3Jlc3M6CiAgICBlbmFibGVkOiBmYWxzZQogICAgIyBHYXRld2F5IHVzZWQgZm9yIGxlZ2FjeSBrOHMgSW5ncmVzcyByZXNvdXJjZXMuIEJ5IGRlZmF1bHQgaXQgaXMKICAgICMgdXNpbmcgJ2lzdGlvOmluZ3Jlc3MnLCB0byBtYXRjaCAwLjggY29uZmlnLiBJdCByZXF1aXJlcyB0aGF0CiAgICAjIGluZ3Jlc3MuZW5hYmxlZCBpcyBzZXQgdG8gdHJ1ZS4gWW91IGNhbiBhbHNvIHNldCBpdAogICAgIyB0byBpbmdyZXNzZ2F0ZXdheSwgb3IgYW55IG90aGVyIGdhdGV3YXkgeW91IGRlZmluZSBpbiB0aGUgJ2dhdGV3YXknCiAgICAjIHNlY3Rpb24uCiAgICBnYXRld2F5TmFtZTogaW5ncmVzcwogICAgIyBlbmFibGVIdHRwcyB3aWxsIGFkZCBwb3J0IDQ0MyBvbiB0aGUgaW5ncmVzcy4KICAgICMgSXQgUkVRVUlSRVMgdGhhdCB0aGUgY2VydGlmaWNhdGVzIGFyZSBpbnN0YWxsZWQgIGluIHRoZQogICAgIyBleHBlY3RlZCBzZWNyZXRzIC0gZW5hYmxpbmcgdGhpcyBvcHRpb24gd2l0aG91dCBjZXJ0aWZpY2F0ZXMKICAgICMgd2lsbCByZXN1bHQgaW4gTERTIHJlamVjdGlvbiBhbmQgdGhlIGluZ3Jlc3Mgd2lsbCBub3Qgd29yay4KICAgIGVuYWJsZUh0dHBzOiBmYWxzZQoKICBwcm94eToKICAgIGltYWdlOiBwcm94eXYyCgogICAgIyBETlMgZG9tYWluIHN1ZmZpeCBmb3IgcGlsb3QgcHJveHkgYWdlbnQuIERlZmF1bHQgdmFsdWUgaXMgIiR7UE9EX05BTUVTUEFDRX0uc3ZjLmNsdXN0ZXIubG9jYWwiLgogICAgcHJveHlEb21haW46ICIiCgogICAgIyBETlMgZG9tYWluIHN1ZmZpeCBmb3IgcGlsb3QgcHJveHkgZGlzY292ZXJ5LiBEZWZhdWx0IHZhbHVlIGlzICJjbHVzdGVyLmxvY2FsIi4KICAgIGRpc2NvdmVyeURvbWFpbjogIiIKCiAgICAjIFJlc291cmNlcyBmb3IgdGhlIHNpZGVjYXIuCiAgICByZXNvdXJjZXM6CiAgICAgIHJlcXVlc3RzOgogICAgICAgIGNwdTogMTBtCiAgICAgICMgIG1lbW9yeTogMTI4TWkKICAgICAgIyBsaW1pdHM6CiAgICAgICMgICBjcHU6IDEwMG0KICAgICAgIyAgIG1lbW9yeTogMTI4TWkKCiAgICAjIENvbnRyb2xzIG51bWJlciBvZiBQcm94eSB3b3JrZXIgdGhyZWFkcy4KICAgICMgSWYgc2V0IHRvIDAgKGRlZmF1bHQpLCB0aGVuIHN0YXJ0IHdvcmtlciB0aHJlYWQgZm9yIGVhY2ggQ1BVIHRocmVhZC9jb3JlLgogICAgY29uY3VycmVuY3k6IDAKCiAgICAjIENvbmZpZ3VyZXMgdGhlIGFjY2VzcyBsb2cgZm9yIGVhY2ggc2lkZWNhci4gU2V0dGluZyBpdCB0byBhbiBlbXB0eSBzdHJpbmcgd2lsbAogICAgIyBkaXNhYmxlIGFjY2VzcyBsb2cgZm9yIHNpZGVjYXIuCiAgICBhY2Nlc3NMb2dGaWxlOiAiL2Rldi9zdGRvdXQiCgogICAgI0lmIHNldCB0byB0cnVlLCBpc3Rpby1wcm94eSBjb250YWluZXIgd2lsbCBoYXZlIHByaXZpbGVnZWQgc2VjdXJpdHlDb250ZXh0CiAgICBwcml2aWxlZ2VkOiBmYWxzZQoKICAgICMgSWYgc2V0LCBuZXdseSBpbmplY3RlZCBzaWRlY2FycyB3aWxsIGhhdmUgY29yZSBkdW1wcyBlbmFibGVkLgogICAgZW5hYmxlQ29yZUR1bXA6IGZhbHNlCgogICAgIyBEZWZhdWx0IHBvcnQgZm9yIFBpbG90IGFnZW50IGhlYWx0aCBjaGVja3MuIEEgdmFsdWUgb2YgMCB3aWxsIGRpc2FibGUgaGVhbHRoIGNoZWNraW5nLgogICAgc3RhdHVzUG9ydDogMTUwMjAKCiAgICAjIFRoZSBpbml0aWFsIGRlbGF5IGZvciByZWFkaW5lc3MgcHJvYmVzIGluIHNlY29uZHMuCiAgICByZWFkaW5lc3NJbml0aWFsRGVsYXlTZWNvbmRzOiAxCgogICAgIyBUaGUgcGVyaW9kIGJldHdlZW4gcmVhZGluZXNzIHByb2Jlcy4KICAgIHJlYWRpbmVzc1BlcmlvZFNlY29uZHM6IDIKCiAgICAjIFRoZSBudW1iZXIgb2Ygc3VjY2Vzc2l2ZSBmYWlsZWQgcHJvYmVzIGJlZm9yZSBpbmRpY2F0aW5nIHJlYWRpbmVzcyBmYWlsdXJlLgogICAgcmVhZGluZXNzRmFpbHVyZVRocmVzaG9sZDogMzAKCiAgICAjIGlzdGlvIGVncmVzcyBjYXB0dXJlIHdoaXRlbGlzdAogICAgIyBodHRwczovL2lzdGlvLmlvL2RvY3MvdGFza3MvdHJhZmZpYy1tYW5hZ2VtZW50L2VncmVzcy5odG1sI2NhbGxpbmctZXh0ZXJuYWwtc2VydmljZXMtZGlyZWN0bHkKICAgICMgZXhhbXBsZTogaW5jbHVkZUlQUmFuZ2VzOiAiMTcyLjMwLjAuMC8xNiwxNzIuMjAuMC4wLzE2IgogICAgIyB3b3VsZCBvbmx5IGNhcHR1cmUgZWdyZXNzIHRyYWZmaWMgb24gdGhvc2UgdHdvIElQIFJhbmdlcywgYWxsIG90aGVyIG91dGJvdW5kIHRyYWZmaWMgd291bGQKICAgICMgYmUgYWxsb3dlZCBieSB0aGUgc2lkZWNhcgogICAgaW5jbHVkZUlQUmFuZ2VzOiAiKiIKICAgIGV4Y2x1ZGVJUFJhbmdlczogIiIKCiAgICAjIGlzdGlvIGluZ3Jlc3MgY2FwdHVyZSB3aGl0ZWxpc3QKICAgICMgZXhhbXBsZXM6CiAgICAjICAgICBSZWRpcmVjdCBubyBpbmJvdW5kIHRyYWZmaWMgdG8gRW52b3k6ICAgIC0taW5jbHVkZUluYm91bmRQb3J0cz0iIgogICAgIyAgICAgUmVkaXJlY3QgYWxsIGluYm91bmQgdHJhZmZpYyB0byBFbnZveTogICAtLWluY2x1ZGVJbmJvdW5kUG9ydHM9IioiCiAgICAjICAgICBSZWRpcmVjdCBvbmx5IHNlbGVjdGVkIHBvcnRzOiAgICAgICAgICAgIC0taW5jbHVkZUluYm91bmRQb3J0cz0iODAsODA4MCIKICAgIGluY2x1ZGVJbmJvdW5kUG9ydHM6ICIqIgogICAgZXhjbHVkZUluYm91bmRQb3J0czogIiIKCiAgICAjIFRoaXMgY29udHJvbHMgdGhlICdwb2xpY3knIGluIHRoZSBzaWRlY2FyIGluamVjdG9yLgogICAgYXV0b0luamVjdDogZW5hYmxlZAoKICAgICMgU2V0cyB0aGUgZGVzdGluYXRpb24gU3RhdHNkIGluIGVudm95ICh0aGUgdmFsdWUgb2YgdGhlICItLXN0YXRzZFVkcEFkZHJlc3MiIHByb3h5IGFyZ3VtZW50CiAgICAjIHdvdWxkIGJlIDxob3N0Pjo8cG9ydD4pLgogICAgIyBEaXNhYmxlZCBieSBkZWZhdWx0LgogICAgIyBUaGUgaXN0aW8tc3RhdHNkLXByb20tYnJpZGdlIGlzIGRlcHJlY2F0ZWQgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBtb3ZpbmcgZm9yd2FyZC4KICAgIGVudm95U3RhdHNkOgogICAgICAjIElmIGVuYWJsZWQgaXMgc2V0IHRvIHRydWUsIGhvc3QgYW5kIHBvcnQgbXVzdCBhbHNvIGJlIHByb3ZpZGVkLiBJc3RpbyBubyBsb25nZXIgcHJvdmlkZXMgYSBzdGF0c2QgY29sbGVjdG9yLgogICAgICBlbmFibGVkOiBmYWxzZQogICAgICBob3N0OiAjIGV4YW1wbGU6IHN0YXRzZC1zdmMKICAgICAgcG9ydDogIyBleGFtcGxlOiA5MTI1CgogICAgIyBUaGlzIGNvbnRyb2xzIHRoZSBzdGF0cyBjb2xsZWN0aW9uIGZvciBwcm94aWVzLiBUbyBkaXNhYmxlIHN0YXRzCiAgICAjIGNvbGxlY3Rpb24sIHNldCB0aGUgcHJvbWV0aGV1c1BvcnQgdG8gMC4KICAgIHN0YXRzOgogICAgICBwcm9tZXRoZXVzUG9ydDogMTUwOTAKCiAgICAjIFNwZWNpZnkgd2hpY2ggdHJhY2VyIHRvIHVzZS4gT25lIG9mOiBsaWdodHN0ZXAsIHppcGtpbgogICAgdHJhY2VyOiAiemlwa2luIgoKICBwcm94eV9pbml0OgogICAgIyBCYXNlIG5hbWUgZm9yIHRoZSBwcm94eV9pbml0IGNvbnRhaW5lciwgdXNlZCB0byBjb25maWd1cmUgaXB0YWJsZXMuCiAgICBpbWFnZTogcHJveHlfaW5pdAoKICAjIGltYWdlUHVsbFBvbGljeSBpcyBhcHBsaWVkIHRvIGlzdGlvIGNvbnRyb2wgcGxhbmUgY29tcG9uZW50cy4KICAjIGxvY2FsIHRlc3RzIHJlcXVpcmUgSWZOb3RQcmVzZW50LCB0byBhdm9pZCB1cGxvYWRpbmcgdG8gZG9ja2VyaHViLgogICMgVE9ETzogU3dpdGNoIHRvIEFsd2F5cyBhcyBkZWZhdWx0LCBhbmQgb3ZlcnJpZGUgaW4gdGhlIGxvY2FsIHRlc3RzLgogIGltYWdlUHVsbFBvbGljeTogSWZOb3RQcmVzZW50CgogICMgY29udHJvbFBsYW5lTXRscyBlbmFibGVkLiBXaWxsIHJlc3VsdCBpbiBkZWxheXMgc3RhcnRpbmcgdGhlIHBvZHMgd2hpbGUgc2VjcmV0cyBhcmUKICAjIHByb3BhZ2F0ZWQsIG5vdCByZWNvbW1lbmRlZCBmb3IgdGVzdHMuCiAgY29udHJvbFBsYW5lU2VjdXJpdHlFbmFibGVkOiBmYWxzZQoKICAjIFNEUyBlbmFibGVkLiBJRiBzZXQgdG8gdHJ1ZSwgbVRMUyBjZXJ0aWZpY2F0ZXMgZm9yIHRoZSBzaWRlY2FycyB3aWxsIGJlCiAgIyBkaXN0cmlidXRlZCB0aHJvdWdoIHRoZSBTZWNyZXREaXNjb3ZlcnlTZXJ2aWNlIGluc3RlYWQgb2YgdXNpbmcgSzhTIHNlY3JldHMgdG8gbW91bnQgdGhlIGNlcnRpZmljYXRlcy4KICBzZHNFbmFibGVkOiBmYWxzZQoKICAjIGRpc2FibGVQb2xpY3lDaGVja3MgZGlzYWJsZXMgbWl4ZXIgcG9saWN5IGNoZWNrcy4KICAjIFdpbGwgc2V0IHRoZSB2YWx1ZSB3aXRoIHNhbWUgbmFtZSBpbiBpc3RpbyBjb25maWcgbWFwIC0gcGlsb3QgbmVlZHMgdG8gYmUgcmVzdGFydGVkIHRvIHRha2UgZWZmZWN0LgogIGRpc2FibGVQb2xpY3lDaGVja3M6IGZhbHNlCgogICMgRW5hYmxlVHJhY2luZyBzZXRzIHRoZSB2YWx1ZSB3aXRoIHNhbWUgbmFtZSBpbiBpc3RpbyBjb25maWcgbWFwLCByZXF1aXJlcyBwaWxvdCByZXN0YXJ0IHRvIHRha2UgZWZmZWN0LgogIGVuYWJsZVRyYWNpbmc6IHRydWUKCiAgIyBDb25maWd1cmF0aW9uIGZvciBlYWNoIG9mIHRoZSBzdXBwb3J0ZWQgdHJhY2VycwogIHRyYWNlcjoKICAgICMgQ29uZmlndXJhdGlvbiBmb3IgZW52b3kgdG8gc2VuZCB0cmFjZSBkYXRhIHRvIExpZ2h0U3RlcC4KICAgICMgRGlzYWJsZWQgYnkgZGVmYXVsdC4KICAgICMgYWRkcmVzczogdGhlIDxob3N0Pjo8cG9ydD4gb2YgdGhlIHNhdGVsbGl0ZSBwb29sCiAgICAjIGFjY2Vzc1Rva2VuOiByZXF1aXJlZCBmb3Igc2VuZGluZyBkYXRhIHRvIHRoZSBwb29sCiAgICAjIHNlY3VyZTogc3BlY2lmaWVzIHdoZXRoZXIgZGF0YSBzaG91bGQgYmUgc2VudCB3aXRoIFRMUwogICAgIyBjYWNlcnRQYXRoOiB0aGUgcGF0aCB0byB0aGUgZmlsZSBjb250YWluaW5nIHRoZSBjYWNlcnQgdG8gdXNlIHdoZW4gdmVyaWZ5aW5nIFRMUy4gSWYgc2VjdXJlIGlzIHRydWUsIHRoaXMgaXMKICAgICMgICByZXF1aXJlZC4gSWYgYSB2YWx1ZSBpcyBzcGVjaWZpZWQgdGhlbiBhIHNlY3JldCBjYWxsZWQgImxpZ2h0c3RlcC5jYWNlcnQiIG11c3QgYmUgY3JlYXRlZCBpbiB0aGUgZGVzdGluYXRpb24KICAgICMgICBuYW1lc3BhY2Ugd2l0aCB0aGUga2V5IG1hdGNoaW5nIHRoZSBiYXNlIG9mIHRoZSBwcm92aWRlZCBjYWNlcnRQYXRoIGFuZCB0aGUgdmFsdWUgYmVpbmcgdGhlIGNhY2VydCBpdHNlbGYuCiAgICAjCiAgICBsaWdodHN0ZXA6CiAgICAgIGFkZHJlc3M6ICIiICAgICAgICAgICAgICAgICMgZXhhbXBsZTogbGlnaHRzdGVwLXNhdGVsbGl0ZTo0NDMKICAgICAgYWNjZXNzVG9rZW46ICIiICAgICAgICAgICAgIyBleGFtcGxlOiBhYmNkZWZnMTIzNDU2NwogICAgICBzZWN1cmU6IHRydWUgICAgICAgICAgICAgICAjIGV4YW1wbGU6IHRydWV8ZmFsc2UKICAgICAgY2FjZXJ0UGF0aDogIiIgICAgICAgICAgICAgIyBleGFtcGxlOiAvZXRjL2xpZ2h0c3RlcC9jYWNlcnQucGVtCiAgICB6aXBraW46CiAgICAgICMgSG9zdDpQb3J0IGZvciByZXBvcnRpbmcgdHJhY2UgZGF0YSBpbiB6aXBraW4gZm9ybWF0LiBJZiBub3Qgc3BlY2lmaWVkLCB3aWxsIGRlZmF1bHQgdG8KICAgICAgIyB6aXBraW4gc2VydmljZSAocG9ydCA5NDExKSBpbiB0aGUgc2FtZSBuYW1lc3BhY2UgYXMgdGhlIG90aGVyIGlzdGlvIGNvbXBvbmVudHMuCiAgICAgIGFkZHJlc3M6ICIiCgogICMgRGVmYXVsdCBtdGxzIHBvbGljeS4gSWYgdHJ1ZSwgbXRscyBiZXR3ZWVuIHNlcnZpY2VzIHdpbGwgYmUgZW5hYmxlZCBieSBkZWZhdWx0LgogIG10bHM6CiAgICAjIERlZmF1bHQgc2V0dGluZyBmb3Igc2VydmljZS10by1zZXJ2aWNlIG10bHMuIENhbiBiZSBzZXQgZXhwbGljaXRseSB1c2luZwogICAgIyBkZXN0aW5hdGlvbiBydWxlcyBvciBzZXJ2aWNlIGFubm90YXRpb25zLgogICAgZW5hYmxlZDogZmFsc2UKCiAgIyBJbWFnZVB1bGxTZWNyZXRzIGZvciBhbGwgU2VydmljZUFjY291bnQsIGxpc3Qgb2Ygc2VjcmV0cyBpbiB0aGUgc2FtZSBuYW1lc3BhY2UKICAjIHRvIHVzZSBmb3IgcHVsbGluZyBhbnkgaW1hZ2VzIGluIHBvZHMgdGhhdCByZWZlcmVuY2UgdGhpcyBTZXJ2aWNlQWNjb3VudC4KICAjIEZvciBjb21wb25lbnRzIHRoYXQgZG9uJ3QgdXNlIFNlcnZpY2VBY2NvdW50cyAoaS5lLiBncmFmYW5hLCBzZXJ2aWNlZ3JhcGgsIHRyYWNpbmcpCiAgIyBJbWFnZVB1bGxTZWNyZXRzIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgRGVwbG95bWVudChTdGF0ZWZ1bFNldCkgb2JqZWN0cy4KICAjIE11c3QgYmUgc2V0IGZvciBhbnkgY2x1c3RzZXIgY29uZmlndXJlZCB3aXRoIHByaXZhdGUgZG9ja2VyIHJlZ2lzdHJ5LgogIGltYWdlUHVsbFNlY3JldHM6CiAgICAjIC0gcHJpdmF0ZS1yZWdpc3RyeS1rZXkKCiAgIyBTcGVjaWZ5IHBvZCBzY2hlZHVsaW5nIGFyY2goYW1kNjQsIHBwYzY0bGUsIHMzOTB4KSBhbmQgd2VpZ2h0IGFzIGZvbGxvd3M6CiAgIyAgIDAgLSBOZXZlciBzY2hlZHVsZWQKICAjICAgMSAtIExlYXN0IHByZWZlcnJlZAogICMgICAyIC0gTm8gcHJlZmVyZW5jZQogICMgICAzIC0gTW9zdCBwcmVmZXJyZWQKICBhcmNoOgogICAgYW1kNjQ6IDIKICAgIHMzOTB4OiAyCiAgICBwcGM2NGxlOiAyCgogICMgV2hldGhlciB0byByZXN0cmljdCB0aGUgYXBwbGljYXRpb25zIG5hbWVzcGFjZSB0aGUgY29udHJvbGxlciBtYW5hZ2VzOwogICMgSWYgbm90IHNldCwgY29udHJvbGxlciB3YXRjaGVzIGFsbCBuYW1lc3BhY2VzCiAgb25lTmFtZXNwYWNlOiBmYWxzZQoKICAjIFdoZXRoZXIgdG8gcGVyZm9ybSBzZXJ2ZXItc2lkZSB2YWxpZGF0aW9uIG9mIGNvbmZpZ3VyYXRpb24uCiAgY29uZmlnVmFsaWRhdGlvbjogdHJ1ZQoKICAjIEN1c3RvbSBETlMgY29uZmlnIGZvciB0aGUgcG9kIHRvIHJlc29sdmUgbmFtZXMgb2Ygc2VydmljZXMgaW4gb3RoZXIKICAjIGNsdXN0ZXJzLiBVc2UgdGhpcyB0byBhZGQgYWRkaXRpb25hbCBzZWFyY2ggZG9tYWlucywgYW5kIG90aGVyIHNldHRpbmdzLgogICMgc2VlCiAgIyBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9zZXJ2aWNlcy1uZXR3b3JraW5nL2Rucy1wb2Qtc2VydmljZS8jZG5zLWNvbmZpZwogICMgVGhpcyBkb2VzIG5vdCBhcHBseSB0byBnYXRld2F5IHBvZHMgYXMgdGhleSB0eXBpY2FsbHkgbmVlZCBhIGRpZmZlcmVudAogICMgc2V0IG9mIEROUyBzZXR0aW5ncyB0aGFuIHRoZSBub3JtYWwgYXBwbGljYXRpb24gcG9kcyAoZS5nLiwgaW4KICAjIG11bHRpY2x1c3RlciBzY2VuYXJpb3MpLgogICNwb2RETlNDb25maWc6CiAgIyAgZG5zQ29uZmlnOgogICMgICAgc2VhcmNoZXM6ICNzb21lIGR1bW15IGV4YW1wbGVzCiAgIyAgICAtIGZvby5iYXIuYmF6CiAgIyAgICAtIHt7ICJbWyB2YWx1ZU9yRGVmYXVsdCAuRGVwbG95bWVudE1ldGEuTmFtZXNwYWNlIFwiZGVmYXVsdFwiIF1dIiB9fS5iYXpvbwoKICAjIElmIHNldCB0byB0cnVlLCB0aGUgcGlsb3QgYW5kIGNpdGFkZWwgbXRscyB3aWxsIGJlIGV4cG9zZWQgb24gdGhlCiAgIyBpbmdyZXNzIGdhdGV3YXkKICBtZXNoRXhwYW5zaW9uOgogICAgZW5hYmxlZDogZmFsc2UKICAgICMgSWYgc2V0IHRvIHRydWUsIHRoZSBwaWxvdCBhbmQgY2l0YWRlbCBtdGxzIGFuZCB0aGUgcGxhaW4gdGV4dCBwaWxvdCBwb3J0cwogICAgIyB3aWxsIGJlIGV4cG9zZWQgb24gYW4gaW50ZXJuYWwgZ2F0ZXdheQogICAgdXNlSUxCOiBmYWxzZQoKICBtdWx0aUNsdXN0ZXI6CiAgICAjIFNldCB0byB0cnVlIHRvIGNvbm5lY3QgdHdvIGt1YmVybmV0ZXMgY2x1c3RlcnMgdXNpbmcgYSBMQiBnYXRld2F5IGFzCiAgICAjIHRoZSBvbmx5IGVudHJ5IHBvaW50IGludG8gdGhlIGNsdXN0ZXIgKGluc3RlYWQgb2YgcmVxdWlyaW5nIHBvZCB0bwogICAgIyBwb2QgY29ubmVjdGl2aXR5IGFjcm9zcyB0d28gY2x1c3RlcnMpLiBOb3RlIHRoYXQgZm9yIHRoaXMgc3lzdGVtIHRvCiAgICAjIHdvcmssIHNlcnZpY2Ugb2JqZWN0cyBmcm9tIHJlbW90ZSBjbHVzdGVycyBoYXZlIHRvIGJlIHJlcGxpY2F0ZWQgdG8KICAgICMgbG9jYWwgY2x1c3RlciAod2l0aG91dCB0aGUgcG9kIHNlbGVjdG9ycykuIEluIGFkZGl0aW9uLCBzZXJ2aWNlCiAgICAjIGVudHJpZXMgaGF2ZSB0byBiZSBhZGRlZCBmb3IgZWFjaCByZXBsaWNhdGVkIHNlcnZpY2Ugb2JqZWN0LCB3aGVyZQogICAgIyB0aGUgZW5kcG9pbnRzIGluIHRoZSBzZXJ2aWNlIGVudHJ5IHBvaW50IHRvIHRoZSByZW1vdGUgY2x1c3RlcidzCiAgICAjIG1jZ2F0ZXdheUlQOjE1NDQzLiBBbGwgY2x1c3RlcnMgc2hvdWxkIGJlIHVzaW5nIElzdGlvIG1UTFMgYW5kIG11c3QKICAgICMgaGF2ZSBhIHNoYXJlZCByb290IENBIGZvciB0aGlzIG1vZGVsIHRvIHdvcmsuCiAgICBjb25uZWN0VXNpbmdHYXRld2F5OiBmYWxzZQoKICAjIEEgbWluaW1hbCBzZXQgb2YgcmVxdWVzdGVkIHJlc291cmNlcyB0byBhcHBsaWVkIHRvIGFsbCBkZXBsb3ltZW50cyBzbyB0aGF0CiAgIyBIb3Jpem9udGFsIFBvZCBBdXRvc2NhbGVyIHdpbGwgYmUgYWJsZSB0byBmdW5jdGlvbiAoaWYgc2V0KS4KICAjIEVhY2ggY29tcG9uZW50IGNhbiBvdmVyd3JpdGUgdGhlc2UgZGVmYXVsdCB2YWx1ZXMgYnkgYWRkaW5nIGl0cyBvd24gcmVzb3VyY2VzCiAgIyBibG9jayBpbiB0aGUgcmVsZXZhbnQgc2VjdGlvbiBiZWxvdyBhbmQgc2V0dGluZyB0aGUgZGVzaXJlZCByZXNvdXJjZXMgdmFsdWVzLgogIGRlZmF1bHRSZXNvdXJjZXM6CiAgICByZXF1ZXN0czoKICAgICAgY3B1OiAxMG0KICAgICMgICBtZW1vcnk6IDEyOE1pCiAgICAjIGxpbWl0czoKICAgICMgICBjcHU6IDEwMG0KICAgICMgICBtZW1vcnk6IDEyOE1pCgogICMgS3ViZXJuZXRlcyA+PXYxLjExLjAgd2lsbCBjcmVhdGUgdHdvIFByaW9yaXR5Q2xhc3MsIGluY2x1ZGluZyBzeXN0ZW0tY2x1c3Rlci1jcml0aWNhbCBhbmQKICAjIHN5c3RlbS1ub2RlLWNyaXRpY2FsLCBpdCBpcyBiZXR0ZXIgdG8gY29uZmlndXJlIHRoaXMgaW4gb3JkZXIgdG8gbWFrZSBzdXJlIHlvdXIgSXN0aW8gcG9kcwogICMgd2lsbCBub3QgYmUga2lsbGVkIGJlY2F1c2Ugb2YgbG93IHByaW9yaXR5IGNsYXNzLgogICMgUmVmZXIgdG8gaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9wb2QtcHJpb3JpdHktcHJlZW1wdGlvbi8jcHJpb3JpdHljbGFzcwogICMgZm9yIG1vcmUgZGV0YWlsLgogIHByaW9yaXR5Q2xhc3NOYW1lOiAiIgoKICAjIEluY2x1ZGUgdGhlIGNyZCBkZWZpbml0aW9uIHdoZW4gZ2VuZXJhdGluZyB0aGUgdGVtcGxhdGUuCiAgIyBGb3IgJ2hlbG0gdGVtcGxhdGUnIGFuZCBoZWxtIGluc3RhbGwgPiAyLjEwIGl0IHNob3VsZCBiZSB0cnVlLgogICMgRm9yIGhlbG0gPCAyLjksIGNyZHMgbXVzdCBiZSBpbnN0YWxsZWQgYWhlYWQgb2YgdGltZSB3aXRoCiAgIyAna3ViZWN0bCBhcHBseSAtZiBpbnN0YWxsL2t1YmVybmV0ZXMvaGVsbS9pc3Rpby90ZW1wbGF0ZXMvY3Jkcy55YW1sCiAgIyBhbmQgdGhpcyBvcHRpb25zIG11c3QgYmUgc2V0IG9mZi4KICBjcmRzOiB0cnVlCgogICMgVXNlIHRoZSBNZXNoIENvbnRyb2wgUHJvdG9jb2wgKE1DUCkgZm9yIGNvbmZpZ3VyaW5nIE1peGVyIGFuZAogICMgUGlsb3QuIFJlcXVpcmVzIGdhbGxleSAoYC0tc2V0IGdhbGxleS5lbmFibGVkPXRydWVgKS4KICB1c2VNQ1A6IGZhbHNlCg=="
   119          }
   120        ]
   121      },
   122      "contentSHA": "0a839a8a5ab266c94322bb414aabd0480b84ebb3136ff491394a2b335a716a50"
   123    }
   124  }