<?xml version='1.0' encoding='UTF-8'?>
<com.cloudbees.plugins.credentials.SystemCredentialsProvider>
  <domainCredentialsMap class="hudson.util.CopyOnWriteMap$Hash">
    <entry>
      <com.cloudbees.plugins.credentials.domains.Domain>
        <specifications/>
      </com.cloudbees.plugins.credentials.domains.Domain>
      <java.util.concurrent.CopyOnWriteArrayList>
        <com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl>
          <scope>GLOBAL</scope>
          <id>3b53d1b7-9c6b-4822-b2d0-82022ade718f</id>
          <description>bazel-io @ github</description>
          <username>bazel-io</username>
          <password>##SECRET:github.bazel-io.jenkins.password##</password>
        </com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl>
        <hudson.plugins.sauce_ondemand.credentials.SauceCredentials>
          <scope>GLOBAL</scope>
          <id>61b4846b-279d-4369-ae20-31e9d8b9bc66</id>
          <description>bazel_rules_webtesting @ Sauce Labs</description>
          <username>bazel_rules_webtesting</username>
          <apiKey>##SECRET:saucelabs.bazel_rules_webtesting.access_key##</apiKey>
        </hudson.plugins.sauce_ondemand.credentials.SauceCredentials>
        <org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl plugin="plain-credentials@1.4">
          <scope>GLOBAL</scope>
          <id>remote-execution</id>
          <description>credentials for remote execution</description>
          <fileName>bazel-public-d5508ebd72fb.json</fileName>
          <secretBytes>##SECRET:remote-execution-secret-bytes##</secretBytes>
        </org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl>
      </java.util.concurrent.CopyOnWriteArrayList>
    </entry>
    <entry>
      <com.cloudbees.plugins.credentials.domains.Domain>
        <name>api.github.com</name>
        <description>Auto generated credentials domain</description>
        <specifications>
          <com.cloudbees.plugins.credentials.domains.HostnameSpecification>
            <includes>api.github.com</includes>
          </com.cloudbees.plugins.credentials.domains.HostnameSpecification>
          <com.cloudbees.plugins.credentials.domains.SchemeSpecification>
            <schemes class="linked-hash-set">
              <string>https</string>
            </schemes>
          </com.cloudbees.plugins.credentials.domains.SchemeSpecification>
          <com.cloudbees.plugins.credentials.domains.PathSpecification>
            <includes>/</includes>
            <caseSensitive>false</caseSensitive>
          </com.cloudbees.plugins.credentials.domains.PathSpecification>
        </specifications>
      </com.cloudbees.plugins.credentials.domains.Domain>
      <list>
        <org.jenkinsci.plugins.plaincredentials.impl.StringCredentialsImpl>
          <scope>GLOBAL</scope>
          <id>6b2a31e0-cd98-4ed9-bb19-a5e013c68e8a</id>
          <description>https://api.github.com GitHub auto generated token credentials</description>
          <secret>##SECRET:github_token_ghprb##</secret>
        </org.jenkinsci.plugins.plaincredentials.impl.StringCredentialsImpl>
      </list>
    </entry>
  </domainCredentialsMap>
</com.cloudbees.plugins.credentials.SystemCredentialsProvider>
