diff --git a/README.md b/README.md index 4ff1c91d..35ab4a15 100644 --- a/README.md +++ b/README.md @@ -125,7 +125,8 @@ codeowners: #### `package` ```yaml package: - repository: gcr.io/paketo-buildpacks/adoptium + repository: "" + repositories: ["index.docker.io/paketobuildpacks/adoptium","gcr.io/paketo-buildpacks/adoptium"] include_dependencies: false register: true registry_token: ${{ secrets.JAVA_REGISTRY_TOKEN }} @@ -137,7 +138,11 @@ package: * [Example `create-package.yml`](https://github.com/paketo-buildpacks/adoptium/blob/main/.github/workflows/create-package.yml) * [Example `test.yml`](https://github.com/paketo-buildpacks/adoptium/blob/main/.github/workflows/tests.yml) -`package` is an object that describes the `repository` a buildpackage should be published to as well as whether to include the buildpackage's dependencies when creating it (`false` by default). If defined, a `create-package` workflow is created that creates and publishes a new package when a release is published as well as adds a `create-package` job to the tests workflow that is run on each PR and each commit. It will also add additional content to the draft release notes about the contents of the build package and will update the digest of the buildpackage in the published release notes. If `register` is `true`, after the package is created, it is registered with the [Buildpack Registry Index](https://github.com/buildpacks/registry-index). +`package` is an object that describes the `repositories` a buildpackage should be published to as well as whether to include the buildpackage's dependencies when creating it (`false` by default). If defined, a `create-package` workflow is created that creates and publishes a new package when a release is published as well as adds a `create-package` job to the tests workflow that is run on each PR and each commit. It will also add additional content to the draft release notes about the contents of the build package and will update the digest of the buildpackage in the published release notes. If `register` is `true`, after the package is created, it is registered with the [Buildpack Registry Index](https://github.com/buildpacks/registry-index). + +`repository` is deprecated in favour of a list of repositories, as described below. This should be left empty if the `repositories` property is used. If a value is specified, this will take preference over `repositories` + +`repositories` is the list of repositories that the image should be published to. The list is an array of strings, and the Docker Hub address should be be listed as the first item, as per the above example - this address will be added to the Buildpack Registry Index. The image will be copied to subsequent repository addresses specified. `source_path` is the optional path to the buildpack's directory relative to the repository's root. Defaults to the repository root. diff --git a/octo/create_package.go b/octo/create_package.go index cc7541c2..90ca7414 100644 --- a/octo/create_package.go +++ b/octo/create_package.go @@ -35,6 +35,13 @@ func ContributeCreatePackage(descriptor Descriptor) (*Contribution, error) { return nil, nil } + var repos string + if descriptor.Package.Repository != "" { + repos = descriptor.Package.Repository + } else { + repos = strings.Join(descriptor.Package.Repositories, " ") + } + file := filepath.Join(descriptor.Path, "buildpack.toml") s, err := ioutil.ReadFile(file) if err != nil { @@ -118,7 +125,7 @@ func ContributeCreatePackage(descriptor Descriptor) (*Contribution, error) { Name: "Package Buildpack", Run: StatikString("/package-buildpack.sh"), Env: map[string]string{ - "PACKAGE": descriptor.Package.Repository, + "PACKAGES": repos, "PUBLISH": "true", "VERSION": "${{ steps.version.outputs.version }}", "VERSION_MAJOR": "${{ steps.version.outputs.version-major }}", @@ -140,7 +147,7 @@ func ContributeCreatePackage(descriptor Descriptor) (*Contribution, error) { "token": descriptor.Package.RegistryToken, "id": b.Info.ID, "version": "${{ steps.version.outputs.version }}", - "address": fmt.Sprintf("%s@${{ steps.package.outputs.digest }}", descriptor.Package.Repository), + "address": fmt.Sprintf("%s@${{ steps.package.outputs.digest }}", descriptor.Package.Repositories[0]), }, }, }, diff --git a/octo/descriptor.go b/octo/descriptor.go index 7f198332..5b9b1fba 100644 --- a/octo/descriptor.go +++ b/octo/descriptor.go @@ -99,6 +99,7 @@ type RepublishImage struct { } type Package struct { + Repositories []string Repository string IncludeDependencies bool `yaml:"include_dependencies"` Register bool diff --git a/octo/package-buildpack.sh b/octo/package-buildpack.sh index 09c46c9d..1eebe1f2 100755 --- a/octo/package-buildpack.sh +++ b/octo/package-buildpack.sh @@ -2,6 +2,11 @@ set -euo pipefail + +PACKAGE_LIST=($PACKAGES) +# Extract first repo (Docker Hub) as the main to package & register +PACKAGE=${PACKAGE_LIST[0]} + if [[ "${PUBLISH:-x}" == "true" ]]; then pack buildpack package \ "${PACKAGE}:${VERSION}" \ @@ -14,9 +19,23 @@ if [[ "${PUBLISH:-x}" == "true" ]]; then fi crane tag "${PACKAGE}:${VERSION}" latest echo "::set-output name=digest::$(crane digest "${PACKAGE}:${VERSION}")" + + # copy to other repositories specified + for P in "${PACKAGE_LIST[@]}" + do + if [ "$P" != "$PACKAGE" ]; then + crane copy "${PACKAGE}:${VERSION}" "${P}:${VERSION}" + if [[ -n ${VERSION_MINOR:-} && -n ${VERSION_MAJOR:-} ]]; then + crane tag "${P}:${VERSION}" "${VERSION_MINOR}" + crane tag "${P}:${VERSION}" "${VERSION_MAJOR}" + fi + crane tag "${P}:${VERSION}" latest + fi + done + else pack buildpack package \ "${PACKAGE}:${VERSION}" \ --config "${HOME}"/package.toml \ --format "${FORMAT}" -fi +fi \ No newline at end of file diff --git a/octo/statik/statik.go b/octo/statik/statik.go index 172afa0b..dbd0ca7c 100644 --- a/octo/statik/statik.go +++ b/octo/statik/statik.go @@ -8,7 +8,7 @@ import ( func init() { - data := "PK\x03\x04\x14\x00\x08\x00\x08\x00\xe6\xa9TT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00 \x00check-republish-version.shUT\x05\x00\x01a\xaf\x12bt\x92Ao\x1a?\x10\xc5\xef\xf3)\xde\xdf\xe1\x00\x7fi\xa1\xe9q#\x0e(\"\x88C\x9a\nhT)\x8a*\xb3\x0c\x8b\xc5\xd6^ymT\x89\xf8\xbbW\xde5\xc9\xd2\xaa7\xdb\xf3f\xfc\xfc{\xbe\xf9o\xe2\x1b;\xd9*=a}\xc2V6\x07\xa2\x86\x1d2\xf6\x06\xb5\xaay/UET\x18\xed\xa4\xd2\xcdp\x843\x01\x95)d\x85\xcdl1\x15\x83\xf3m\x10\x84v38of\x8b\x9bSxW,\x1fg\x8b\xf9:\x8a>\x07A\x04\xec\x8d\xed\x0e\xa14\x06\xe7\xae\x1e\xee\xb03\x04\x00j\x8f\x97\x17\x88vN\x10\x98N\xe3\xba\x15\x05\x81\xd7\xd7;\xb8\x03\xebV pq0\x10y\xbe\xe3\xad/\xf3\xfc\xc1x\xbdC\xeaL\x12\xcb\xce[\x8dO\xedv\xaf\x08\xd8\x19\xcd\xd1G\xaa\xdcR J&\x07\xc3\xc2J\xcd\xa8\x9a\xce\xc0j1\xdf\x041\"\x8a\x9e7\xb3E\xebxX*\x07'KdU\xb2\xf9\xe3\xebj\xfe\xb0\xfc\x1e\xfe\x17xCc\xacC\xf6\x8c\xccb\x94\x1e\xf5<_\xad\x97O_\x12\x9b\xeb\x1e\x11\xae\x04i\x15\x01R\xcb\xe2B=^\x95\x8aA\xbc#Y\x07\xd1\x03\xd2\xe1\xe8S\x18c}Tu\xadt9\x16\xd4'\xd6\xb0\xcb\x8cw\xb5w\xd0\xf2'O\x9b\xa3\xaa\xf3\xdcY\xcfI\xf7K9j\x81\xd1GSi\x8d\xaf\xf3\xfc\xfe\xc0\xc5Q\xe9\x12\xc6\xbb+\xda\x11L\x11\x8b\xb1\x90e\x18\xff}*>\xf4\x97\xa9\xacwip\xff\xf4O\x83N\xda\x92]\x9e\xf7(\x10\xb0\xb5,\x8f\xd4%\xda\xfd\xab\x94Q?\xc7\xf5\xd3\xb7\xd5}\xfc=o(-\xd7\xc8N\x10\x95t\xdc\xb8\xeb\xbc.q\xfd\x93\x91\xf1\xb6\xe0ha\xf9\x98\x9e\x10)\xb5\xb7\xff\x0e\x00\x00\xff\xffPK\x07\x08\xe6=dt\xb0\x01\x00\x00E\x03\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\x91\x99IT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00 \x00checkout-next-version.shUT\x05\x00\x01#\x12\x04bd\x91O\x8f\xda0\x10\xc5\xef\xf3)^\xbd\x1c\xa0R\xa0\xdb\xa3W\x1cP\xc5F\x1c\xfaG\x80V\x95V\xab*$&X\xa4v\xe4?\xa8\x12\xf5w\xafl\xbcK\xe8\xdef\xe6\xbd\x99\xbc\xfc|\xf7a\xe6\xad\x99\xed\xa4\x9a u\xc2\xae\xb2\x07\"+\x1c\n\xe15z\xd9\x8b}%;\xa2Z+WIe\xc7\x13\x9c \xe8t]u\xd8.\xca9\x1b\x9d\xef\x03#\xa4ft\xde.\xca\xbbSxs\xac\xbe.\xca\xe5&\x9a>\x07F\x04\xec\xb5\xb9\x0c!\x15F\xe7\x8b\x1e\x1e\xd0h\x02\x00\xb9\xc7\xf33X\xba\x13\x18\xe6\xf3X'S`xyy\x80;\x08\x95\x9c\x80\xa8\x0f\x1a\x8c\xf3F\xec|\xcb\xf9\xa3\xf6\xaaA\xde\xcc\x16#\x9c7\n\x9fR\xbb\x97\x044Z\x89\x98#+\xf7\x14\x88r\xc8\xd1\xb86\x95\x12\xe8\xec%\xc0\xba\\n\x03\x9b\x10\xc5\xcc\xdbE\x99\x12\x8f[\xe9\xe0\xaa\x16E\x97c\xfe\xfa\xb1^>\xae~\x86\x8f\x0c\x7fa\xb5q(\x9eP\x18L\xf2O=-\xd7\x9b\xd5\xf7o\x99\xcd\xcdJ\xb8\x91s\x15\xf1Q\"\xf1\xca<~(\x8b\x81\xbd\x01\xd9\x046\xc0q\x811d0\xc5\xe6(\xfb^\xaav\xcah\xc8\xcb\nWh\xefz\xef\xa0\xaa\xdfbn\x8f\xb2\xe7\xdc\x19/\xb2\xef\x8ft\x94p\xd1u\xa95\xda\xf7\x9c\x7f9\x88\xfa(U\x0b\xed\xdd\x0d\xeb\x88\xa5\x8eb\x14\x8a\x02\xd3\xf7Sv\xf5\xbf^\x15\xaa\xc9\x87\x87\xd3\xff\x03\x9e\x84\xb1R+\xce\x07\x18(\xe7L\xef\xf9/\x00\x00\xff\xffPK\x07\x08\x9f\xa1C{}\x01\x00\x00\xc5\x02\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x000}|T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00 \x00compute-version.shUT\x05\x00\x01-\xd7Ab\x9c\x91\xcfn\xd3@\x18\xc4\xef\xfb\x14\xc3b) ecZ\xa9\x07\x0cAr!\xc5AJ+%\x85\x8b\xb1\"\xa7\xf9\\/8^kwm\xfe\x98\xe5\xd9\x91\x93B\x9c\x0bT\x9c,\x8dgF\xbfo\xf6\xf1#\xbf6\xda_\xcb\xd2\xa7\xb2\xc1:59c\x86,\x04\xd5\n\x95\xac(Ke\xc1\x98\xcc\x10C|\x07\xf7\xda\xb7\xb3\x9b\xe8\xfd\xc5j1\xbd<1d\x1dG\xf2\x026\xa7\x92\x01t\x9b+\xf0\x83\x01]\x93U\x88\xfb)\xf1\xb2.\x0d\xd9W.y\x8aumarU\x17\x1b\x94\xd4\x90\xc6\x9a@\xdb\xca~\x83\xd2\xd8\xd9xW\xfbUZ\x9c\x9d\x9f\xb3L\xeeIb\xf4\x0b\x1d&?\xa1)3\xbeM\xef\x8c\xdf\x0c\xe3g\xe2yr\xf2q|\xfc\x1d!9\x90~\x98.\x96\xb3\xeb\xab\x89\xd7^\x84\xcbh\xb5\x98\xce\xc3\x9b\xd7Q|\x9a8\xc6\x80y\xf8\xeez\xb1\xfa\xed\xe1\xdep\x7f\x98\xd7\xdeK\x8e\xe3\x07\xd2/\x9f!.1\x18\x0f0h+-K\x0b\xef\x14n0\xea\x90\xe7\xb3\xab\xffm\xe0c\x0e\xefl_\xf4g\xd3 0d\x85\xaamU[\x94\xe9\x96&\x0di#U)\xb6\xe9'\xa5\x83\xc0k\x8f\xa0\x1d\x7fHT\x96\xf7\xd1>\xad\xe3\x8c\x8a\xbf\xad\x9cS\xba1\xfep\xfc\xe0E\xa90\xd4w\x0c\xef\xa4\x85\xa6FT\xa96\x04!L\xae\xb4E4\x0d\xdf\x8cvo\xfc\x0f\xf0\x0e\xb9\x07\xbb3/\xa9\xa0[K\x1b\x1c~!\xd3j\xcb\x80'\x1dvp|\xccN6y\xda\x93\x97Q\xe8\x18g\xbf\x02\x00\x00\xff\xffPK\x07\x08jI\xb5)\x85\x01\x00\x00\x12\x03\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00}t\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00 \x00create-action.shUT\x05\x00\x01\xcf\x8a\x9e`|\x8f=O\x84@\x10\x86\xfb\xf9\x15\xaf+-\xd2c(\xfc j\xe3]\xe0\xce\xe6\xbc\x82\x8f\x01&G\x96\x0d\xcb\xda\x10\xfe\xbb\x01Or1j\xb7\xd9yf\xde\xe7\xbd\xbe\n\x9c\xed\x83\\t\xc0\xfa\x03yf\x1b\"\xcb\x03|v\x1d\x8c\x18\xae2i\x89\xb8h:\xa80\xac\xfb\xce\x990\xbcw\xd2\x96\xa2kx\xe3\xee.y\x8awS\xe8\x8doq\x92\xbel^'E@\xd9\x15'\xee\x91\xcf\x1c\xde \x00|\xbf\x92\x96\x91\x15\x83t\xda\x06\x8f\x0b\xb1|}\xcf\x17\xda\xcf\xfa\x1a*\xdd\xec\x93\x878\xf2\xc6\xaf\xc7\xa4Vh\xc8j\xa8_c\xcf\xc8\xcd*\xcb\xba<\xfb*\"\xa9p8\xcc\x9b\xdb}\xfa<)D\x11\xd4\xd0;V8\x1eo14\xac \xf8Qs\xebl\xf3_\xcb\xb5\xa7q\xb6\xf9\xc3\xea\xe2\xea\xa5\x0f\xb7\x96\xd7Qz\x12c\xe6\xa0\xf9\x8e\xa2J\xe83\x00\x00\xff\xffPK\x07\x08_n\x1bS\xe6\x00\x00\x00\x98\x01\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00Gx\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00 \x00create-builder.shUT\x05\x00\x01\xf6\x90\x9e`\xac\x8e\xcdJ\x031\x18E\xf7y\x8ak\x9c\x85\"q\xf6\x117\xc5\x82\x03E\xa5\xa5nj\x17\x99\xf4\x9b\xce\x87i\x12&\x89\x08\xc3\xbc\xbb\x0c\xfe\xec\xdcuy9\x1c\xee\xb9\xbc\xa8K\x1a\xea\x96}M\xfe\x03\xadI\xbd\x10\x892\x14\x95\x80\xc8\x91:\xc3N\x08\xee\xb0\xdbAy\xc8j|\xd9.V\xcd\xe6\xf1\xe6s\x92\xd8\xef\xef\x90{\xf2\x02\x88\xc6\xbe\xa3-\xec\x0e4\xc0\x0ed2\xe1M\x00\x98\x9d\xc5\xb6Y=,\xd7\x93\xae\xc6\xd7\xe5z\xd3\x01\x00\x00\x81\x02\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00}t\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00 \x00enable-pack-experimental.shUT\x05\x00\x01\xcf\x8a\x9e`\\\xccO\xaa\xc20\x10\x80\xf1\xfd\x9cb^\x9e\xdb6'\xb0\xbb\x82\x1b\xf1\x0c\xd38i\x87&\x93\x90?\"\x88w\x17\xc1\x8d\xee\xbf\xdf\xf7\xffg{-v\x11\xb5\xac7\\\xa8n\x00\x95\x1b\x0e\xdc\x13f\xc9\xecI\x02\x00\xbb-\xa1\x99\x95\x96 \xbab&\xb7#\xdf3\x17\x89\xac\x8d\x02z\xa6\xd6\x0bW\x03\x10\xf7\xab\x14\x1c2\x9a\xc3\xe3t9\xcfOc\xc77\xf8L\xbe\xd8\x11[\xe9lp\x9a~k\xeb\x92zY\xc7\x96b\x80W\x00\x00\x00\xff\xffPK\x07\x08hy\x98\xea\x84\x00\x00\x00\xa7\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00}t\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00 \x00install-crane.shUT\x05\x00\x01\xcf\x8a\x9e`l\x90AO\x021\x10\x85\xef\xfd\x15c\xe5Zz1\xc4x AB\x84D\xc1 z\"\xd9\x942v\x1bKg3\xed\xc2\n\xf2\xdf\xcd\xeaz!\x1e\xdf\x97\xbc\x97|\xef\xfaJ\xd7\x89\xf5\xc6G\x8dq\x0f\x1b\x93J!\x12fPX\x13T\xbe\xc2w\xe3\x83\x10hK\x029\x8b)\x9b\x10|t`\xd9D\x84\xdei\xbc\x1c\xcd'\xc5\xdbd\xf92[\xcc\xcfR\x88\xdd\xc7\xd63\xa8\nd\xef4]`\xcc]\x08dM\xf6\x14\x7f\xa2,s\xae\xd2\x9d\xd6\xce\xe7\xb2\xde\xf4-\xed\xb4#r\x01\xb5#e)f\xe3#2\xa3\xf3)\xf3\xa7f\x0ch\x12&\xbd\xa5C\x0cd\xb6z\x7f\xa9\xf2o\xb1x\xf4\xb1n\x8a\xe6vP\x0cn\xfa\xd9p\xdf\x1d%\xac\xc5\x17d\xc3\xa0\xc6\x17\x86\xaa9\xfe\x1e%\xbe\x03\x00\x00\xff\xffPK\x07\x08\x85\"\x0ei\xfb\x00\x00\x00h\x01\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00}t\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00 \x00install-create-package.shUT\x05\x00\x01\xcf\x8a\x9e`\x14\xca\xc1\x0e\x820\x0c\x00\xd0\xfb\xbe\xa2\xe2\xb96|\x007\x8d\x17\x0d'?\xa0\x1be4\x0c\xb6\xd0M\x7f\xdfp}y\xd7\x0b5;\xc8\xebN\xb2\x7f\xc1\xb3-\xce\x99T@i\x19\x8a\x16\x99Y\x93s\xcf\xb1\xef\xfb\xf7x\xff\xbc\x1eC\xde!f\x88gj\x80i\x9a\x13G\x1b:4\xc0_\x07Q\xeb\xd2\xfc-\xe4\x8d\n\xafR3\xfa\xa6i*\x1cV\xa3\xa4\xbe\xf0Ja\x9b(\x1c\xc2U\xf0t\x8e\xe2\xfe\x01\x00\x00\xff\xffPK\x07\x08&\x95T\xcd}\x00\x00\x00\x89\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00}t\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00 \x00install-octo.shUT\x05\x00\x01\xcf\x8a\x9e`$\xcc?\xae\xc20\x0c\x80\xf1=\xa7\xf0\xeb\x9b\x83\xd5\x03t\x03\xb1\x80:q\x80\xfcqS\xabi\x1c\xd5 \\\x1fU\xac\x9f>\xfd\xfe\xff\xb0\xeb\x81\x9e\x0bRy\x83w\xba\x1a\xa3\xd4\xc0R\x17\xa8\\iq\x9c\x8d\xb9\xcf\xe38>\xe7\xeb\xebq\x9b\xa4@\x12H\xe7\xd4\xc1\xe6\xb8d\x97t\x1a\xac\x82\xfd\x0c\x90\xb8\xad\xdd_\x82\xecX\xddFM\xac\xef\x9ccuaS<\xc1\xcc\x85~\x8d\x0e\x0c{D M\xcc7\x00\x00\xff\xffPK\x07\x08\xc6\xd7y\xcb~\x00\x00\x00\x89\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00}t\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00 \x00install-pack.shUT\x05\x00\x01\xcf\x8a\x9e`\\\x90\xcfk\xfa@\x10\xc5\xef\xfbW\xccw\xbf^\xd7\xbd\xf7 X\x91&\x94VimO\x82l\x92i28\xee\x86\xfd\xa1\xa2\xf5\x7f/\x1b\xd2C\xbd\x0c\xbc\x0f\xf3\x867\xef\xff?\x9d\x82\xd7\x15Y\x8d\xf6\x08\x95 \x9d\x10\x01#(L\x0ez\xea\xf1\xcb\x10\x0b\x81u\xe7@\x966D\xc3L\xb6\x85\xde\xd4{\x98\\\xd7\xf3\xc5\xf3\xees\xf9\xf6^\xae^oR\x88\xc3\xbe!\x0f\xaa\x079\xb9\x16\xab\x97\xe5M\xe6\xdb\xa3}D\x99H\x98\xcd2x*7\xc5\xc7\xe3n=\xdf\x14\xd9^'\xcf\xb0\x15\x00J\xb1\xabM$gG\x19:wR\xe8\xbd\xf3\xbf\x80\x18m\x1c\x84\xecb\xec\xc3\x83\xd6-\xc5.U\xd3\xda\x1dt\x95\x88\x9b\x1c2\xe8<\xb5GF\x130\xe8\xc6\x9d,;\xd3\xe8\xe3]\xfaaO\xddS\xc5d\xd3y\x1a\xdb\x8b\x84\xad\xf8\x86h<\xa8\xc5\xdf\xf7@\x9d/C!\xe2'\x00\x00\xff\xffPK\x07\x08\xdbZX\xfe\xeb\x00\x00\x00O\x01\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00}t\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00 \x00install-richgo.shUT\x05\x00\x01\xcf\x8a\x9e`d\x901O\xc30\x10\x85w\xff\x8a\xc3tu\xbc\xa0\n1T\x82\xaaj2@P)L\x95\"'1\xb1U\xc7\x17\x9d\x9d\xb6\xb4\xf4\xbf\xa3@\x18\xaa\x8e\xef\xbb\xbb\xa7w\xef\xf6F\xf6\x81di\xbd\xd4~\x07\xa5\n\x86\xb1\xa0#\x08\xdd#t\xb6\xd3\x9f\xca:\xc6te\x10x\xe6CT\xceY\xdf\x00\xd9\xca4\x08\x93\xd3*\x9b\xa7\xcb\xbc\xf8X\xac\xde\xb2\xfc\xe5\xcc\x19k\xb7\xb5%\x10\x1d\xf0\xc9)\xcd\x9f\x17g>\xf8\x8f\x16#\x1a\x08\x87\xd9l\x00\xcbl\x9d\xbe?\x15\xaf\x8f\xebt8\xafzr\xb0a\x00B8\xacT\xb4\xe8G\x19\x0c\xee\x85&B\xfa\x07\xd6i\x1f\x7f\x0571v\xe1A\xca\xc6F\xd3\x97I\x85\xad\xdc~\xa1\xb9\x9f\xca\xbf\xa8\x92\xb4\xd3*\xe8 k\xdc{\x87\xaa\x96\xbb\xab\xf4\xe3nq5(\x9c\xf5\xfd\xa1Pm=\xbdK\xa2\xa2\xa49r\xd8\xb0o\x88\x8a@\xcc/_\x05q8\x8e\x05\xb1\x9f\x00\x00\x00\xff\xffPK\x07\x08-\xdb\xfd\x81\xf6\x00\x00\x00a\x01\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00}t\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(\x00 \x00install-update-build-image-dependency.shUT\x05\x00\x01\xcf\x8a\x9e`$\xca\xb1\x0e\xc2 \x10\x00\xd0\x9d\xaf8\xeb\x8c\x97~@7\x8d\x8b\xa6\x93\x1fp\xc0\x95^J\xe1\"\xa0\xf1\xef\x8dq~\xefx\xc0^\x9f\xe8$#\xe7\x178\xaa\xab1\x95\x1bX\xee\x05T\x94\x17\x92d\xccu\x1e\xc7\xf1>\x9f\x1f\xb7\xcbT2\xc4\x02\xf1\x97:\xd8\x14\x96D\xb1N\x83\xad`\xdf\x03Dikw'_vT\xda\xb8\x15\xeb\xba\xa4\xa0\xe4\xb7\x8aI\x9c\xd2\x86~\x0f\xd85P\xe3?Z\xd9)\xb2\x0d\xac\x9c\x03g\xff1\xdf\x00\x00\x00\xff\xffPK\x07\x08\x80\xfd\xc2u\x86\x00\x00\x00\x98\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00}t\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00&\x00 \x00install-update-buildpack-dependency.shUT\x05\x00\x01\xcf\x8a\x9e`D\xca\xb1\x0e\xc2 \x10\x00\xd0\x9d\xaf8\xeb\x8c\x97~@7\x8d\x8b\xa6\x93\x1fp\xc0\x95\x92R\xb8\x08\xa7\xf1\xef\x8d\x93\xf3{\xc7\x03j{\xa2K\x05\xb9\xbc\xc0Q[\x8di\xdc\xc1\xb2V\x90$\xbcP\xca\xc6\\\xe7q\x1c\xef\xf3\xf9q\xbbL\xb5@\xac\x10\x7fI\xc1\xe6\xb0d\x8am\x1al\x03\xfb\x1e \xa6\xbe\xaa;\xf9\xba\xa3\xd0\xc6\xbdZ\xa7)\x07!\xbf5\xcc\xc9 m\xe8\xf7\x80*\x81:\xff\xd1\x06\x16.\x81\x8b\xff\x98o\x00\x00\x00\xff\xffPK\x07\x08D\x9aU\x15\x83\x00\x00\x00\x96\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00H\xa2hS\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$\x00 \x00install-update-buildpack-image-id.shUT\x05\x00\x01 \x86\x89aD\xcc1\x0e\xc20\x0c@\xd1=\xa70e6V\x0f\xd0\x0d\xc4\x02\xea\xc4\x01\x9c\xc6M\xad\xa6I\xd4$p}T1\xb0~=\xfd\xf3\x89Z\xd9\xc9j$\x89o\xb0\\\x16c\x8aT@i \xb2f\x99Y\x831\xf7\xb1\xef\xfb\xe7x}=nC\x8a\xe0\x13\xf8\x035\xc0\xe0\xe6\xc0\xbe\x0c\x1d\x16\xc0O\x07^\xeb\xd2\xeceJ\x1be^\xa5&\xb4M\x83\xcb<\xad\x85\x8ea\xd0(\xbf&;M\x9b\xa3\x96\x1dW\xf93\xd4\x8d\xbd\xa0:\xf3\x0d\x00\x00\xff\xffPK\x07\x08\x81i\"\xe9\x86\x00\x00\x00\x9e\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00}t\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00&\x00 \x00install-update-lifecycle-dependency.shUT\x05\x00\x01\xcf\x8a\x9e`\x14\xca\xb1\x0e\xc2 \x10\x00\xd0\x9d\xaf8\xeb\x8c\xa4\x1f\xd0M\xe3\xa2\xe9\xe4\x07\x1cp\xa5\x97^\xe1\"\xa0\xe9\xdf\x1b\xf7w>\xb9^\xdf\xcesv\x94?\xe0\xb1\xae\xc6Tj`\xa9\x17PVZ\x90\xc5\x98\xfb<\x8e\xe3s\xbe\xbe\x1e\xb7\xa9dH\x05\xd2\x1fu\xb0\x12\x17\xc1T\xa7\xc1V\xb0\xdf\x01\x12\xb7\xb5\xfbK(\xbbS\xdc\xa8\x15\xeb;KT\x0c[u\xc2^qsa\x8f\xaek\xc4FVx\xa1p\x04!\x1bI)G\xca\xe10\xbf\x00\x00\x00\xff\xffPK\x07\x08[\xf5\xeb\xb7\x86\x00\x00\x00\x96\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00}t\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$\x00 \x00install-update-package-dependency.shUT\x05\x00\x01\xcf\x8a\x9e`\x14\xca\xb1\x0e\xc2 \x10\x00\xd0\x9d\xaf8\xeb|^\xfa\x01\xdd4.\x9aN~\xc0\x01WJJ\xe1\"\xa0\xf1\xefM\xd7\x97w>Q\xafo\xb21\x93\xe4\x0fX\xae\xab1U\x1a\xa0\xf4\x02\x1aU\x16\x8e\xc9\x98\xfb<\x8e\xe3s\xbe\xbe\x1e\xb7\xa9d\x08\x05\xc2\x91:`\xf2K\xe2P\xa7\x01+\xe0w\x80\x10\xdb\xda\xed\xc5\x95\x9d\x947i\x05m\x8f\xc9+\xbb\xadR\x8aVy#\xb7{\xea\xea\xb9 \x1e\xceA\xd0\x8bJ\xf6\x92\xdd\xcf\xfc\x03\x00\x00\xff\xffPK\x07\x08(\x19B-\x84\x00\x00\x00\x94\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00}t\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x00 \x00install-yj.shUT\x05\x00\x01\xcf\x8a\x9e`d\x8fMK\xc3@\x10\x86\xef\xfb+\xc6\xb57Y\xe7\xee\xa1\xa0PL\x04\xadh\x15\x04\xa1l\x92\xb1\xbbq\xb3\x13\xf6#m(\xfd\xef\x12\x89\x87\xe2\xf1}\x86w\x9e\x99\xcb\x0b\xcc1`e=\x92\x1f\xa0\xd2\xd1\x08\x11)\x81\xa2\xcc\xd0\xdb\x9e\xbe\xb4uBPm\x18d\xe9c\xd2\xceY\xbf\x83\xb1\x85\xc5\xf1\xe3a\xfb\xbezy-\xd7O')D\xf7\xdd\xd8\x00\xaa\x07\xb98\x16\xeb\xc7\xd5IN{\xe7\xea\x8c&\"a\xb9\x9c\xc0}\xb9)\xde\xee\xb6\xcf\xb7\x9bb\xaa\xd798\xf8\x14\x00J9\xaeu\xb2\xec\xe7\x18\x0d\xef\x15\x85\xc0\xe1\x0fXG>\xcd\x81s\xeas:\x97\xe2\xd8\xfeN\xa5I\xa9\x8f7\x88;\x9bL\xae\xaek\xee0\xd6\x8e\x06\xeb \xc7\x16\x039\xd2\x91\"6\xbc\xf7\x8eu\x83\xc3\xd9W8\xb6\xcaY\x9f\x0f\xd3}\xa6\xe3\x06\xae\x0e\xffL\xe2'\x00\x00\xff\xffPK\x07\x08Z}\x1a\x0e\xe4\x00\x00\x00E\x01\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00Q\x84HT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x00 \x00package-buildpack.shUT\x05\x00\x01\x9a\x9b\x02b\xbc\x91\xc1j\xe30\x14E\xf7\xfa\x8a;\x9a\x10f\x16\x1a\xef5d\xe1\x96\xb4I\xdb\xc4%i\xbbIC\x91\x9dgG\xd4\x91\x8d%\x95B\xd0\xbf\x17\xdb!\x94@\xa0t\xd1\x8d\x90\xb8\xef\x1e\x1dx\xbf\x7fE\xde6Q\xaaMD\xe6\x0d\xa9\xb2[\xc6,9\x08\xf2\x15j]S\xaet\xc9\x98\xce\xb1Z\x81\x0f\xf6\xf7\x8f\x17w\xd3\xe5D\x8a\xf7\xc01\x1a\x81\xbb\xc6\x13\xc7z\xfd\x1fnK\x86\x01\xb5\xca^\x91z]n\xba[{\xa8\x82\xf0\xcc\x00t\x84\xf8\xf26\xbe\x1e\x079\xd8?\x8d\x17\xcbi2\x0f\xfc\x90\n\x91U&\xd7E;6If\xe3\xc0\xa3C\xfd\x9f\xabv\xe5q\xaa\xf6i\xa9[S\xa0\x17\x13\x06G\xda\xcbl:O\x16R\x04\x0c\x87'A|\xd3\x07\x9fl\x81\xacQ\x86\xe0TqV\x8e\x9f\xb0\x03\xffF\xb1\xfd\xbb+\xe6\x9a}\xa5[*G\xd61\x80\xb2m\x05.\xa5%'*\xefj\xef`\xd4\x8eF\x1b]\x90uR\x0e\xfe\xf4\xb0\xfe}\x8e\xf7\x973*-\xfd\xcc~\xf2\xaa\xd9\xa9N\xe5*Y\xcc\xe2\x87\xc0Y\xae\xd9G\x00\x00\x00\xff\xffPK\x07\x08\x8c[\xa3\x17\x19\x01\x00\x00l\x02\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\x1a\x80kS\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00 \x00republish-image.shUT\x05\x00\x014>\x8datQ\xcdJ\xf3@\x14\xdd\xcfS\x9co>\x97\x0d\x01\xa1\x9b\x91.\xc4\x06\xe9\xc2\x16\xdaZ\x17*2\xed\xdc&\x17\xeb$d&\x8d\x8b>\xbc\x98\x98Q\x12\xb2\x0b\xe7\xef\xe6\x9c\xf9\xff/\xae\\\x19\xef\xd9\xc6d\xcf\xd8k\x97 \xe1\xc8#\xa2*G\xc1\x05\x1d5\x9f\x84\xe0#\x9e!\xaf6\xab\xc7\xf5]\"1\x9bAJ\xbc\xe2ri\xe0\xed\xed\xfa>\xd9\x0e\xe0V\xfd\xb6K\xd6\x9b\xc5j9\xe2\x1a\xa5\x97\xc9\xd3b\x1e\xd0\x1b\xf8\x8c\xac\x00\x00:d9\xe4\x03;\xc76\x85\xcb\xab\xf2@\x13x]\xa6\xe4'8S\xe98\xb7\xd0\xd6\xc4y K5\x1b%\xff\x18\xbf\xbf\xb0i\\\n]\xa3\x1e\xbfkC\x02\x1f~\xb2\x9f\xb3m\xae*t\x13\x8c\xe6\xf4\xca\xf6s\x96Tc1W\xf8i\xdd\xd2\x9f\xecq=\x9d\x8a#\x0bQ\x15F{\x8a\xf6\x15\x9fL\xa1\x0f\xef\x11\x7f\xe8\x94\"6xi\xc4Q\x0b\x84\xd5\xd5`\xfd\xa03\xbf\xe3vX7\xda\xf0Q:\x85\xa5:\\h5j\xd0\xe9+\x00\x00\xff\xffPK\x07\x08\xcd\x81\x9d\xa8\x08\x01\x00\x00M\x02\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00V\x18kT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00 \x00run-integration-tests.shUT\x05\x00\x01\xd4\xbb*bD\xc8\xc1\x0d\xc5 \x08\x00\xd0;S\xf0\xf3\xcf\xc2\x1c\x1dC\x1b\xaa$\x0d\x1a\xc0\xce\xdfc\xaf\xef\xff\xe3\x1d\xceM\x8d\xc5\x1el5\x06@Hb\x91=q\xe9\x92\xab\xea\x0d\xe0z\x8e>1%\x12\x89\xd5R\xba\xd7\xd4iLDX|\x1b\x1e\x1f\xc2\x1b\x00\x00\xff\xffPK\x07\x08t4b\x1aN\x00\x00\x00W\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00}t\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00 \x00run-tests.shUT\x05\x00\x01\xcf\x8a\x9e`\x04\xc0A\x0e\x84 \x0c\x05\xd0}O\xf1'\xb3\xb6=\x13\x98\xaf41@h\xf1\xfc\xbe\xff\xcfv,\xab\xde\x8d\xfdE-\xd1D\x82\x89\x83{`\xfa\xe4U\xfc\x11Y~\xb6{ \x19 5U\x95/\x00\x00\xff\xffPK\x07\x08\xa4\xd5!O?\x00\x00\x00:\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00V\x18kT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00 \x00run-unit-tests.shUT\x05\x00\x01\xd4\xbb*b\x04\xc0\xc1\x0d\xc5 \x08\x06\xe0;S\xfc/\xef,L\xd3\x01\xb4\xa1\x95\xa4A#\xd8\xf9\xfb\xfd\x7f\xb2cI3\x17\xf5\x17\xadF'\nM\x14\xdd\x03\xd3\xa6^\xd5\x1e\xa2eg\xbf\x07R#\xc1\xc2\xcc(k;\x0e\xb7\xa4/\x00\x00\xff\xffPK\x07\x08!\xdd\xeceF\x00\x00\x00D\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00z\x8eZS\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00 \x00update-build-image-dependency.shUT\x05\x00\x019@xa\x9c\x91Qk\xdb0\x14\x85\xdf\xf5+N5C\xe2\x0d9\xb4\x8f^\xb3\x91m\xee\x08d-4\xd0=\xccc(\xf6M\xac\xc4\x965IN)\x89\xff\xfbp\x92\x0d\x87\xd1\xc2\xf6\xaa\xc3w\xefwt_]\x8c\x1agG\x0b\xa5G\xa4\xb7XHW0\xe6\xc8CPS\xc3(CK\xa9J\xc6\xeef\x9f~<$\xf7\xf3\xe9\xdd\xed8\x18>\xad!\xfc\x1a\xd7X4\xaa\xcc\xc9F\xbe\xaeJ\xec\xb1\xfe a\xc1#\xe7e\xb6\x89R~\x88\x85\xaa\xe4\x8aR\x8e=2i|ci\x98\xf2`7\xfd2\xf9\x9c\xb4\xf1\xf0\xfd\xf5\x96\xacS\xb5~\x17\xbd\x11\xc1\xee\xe3l2\x9fOo\xa6\xc9}\x1b\xa6<\xc4\x1e\xd1)\xe7!\xbbM\xbe\xf6,2+5\xa1t\xf83\xad\xdb\xb1\xb2d\xc0\xa3\xd7\xe7\xb3\xba\xc4\xd5\xd6C<`\x0f/U \xa1q\x192\xd6\x98\\z\x12=U\x91\x93!\x9d\x93\xce\x9e\x902@\x88SMq\xa8y\xd6\xf9\x98\x9f\x0c;\x91\x9eb\xcb\x19[)\x0f\x99\xe7g\xd0\xe11+(\xdb\xd4\x8d\x87\x10\x88\x18SK|\x03\x0f\x86\x94\x155x\xd0\xfb\xee\xce\\>n n0\x88\x06\x18\xec\x8cU\xda#\xb8l\x07!\xc7\xc5\xb8G\xf5v\xbfL}\x7f\x0b_\x90f\xc0l\xf2!\x99\x8d\xb9\xa3jK6\xae\xe4\xba\xb6\x9cQ\xf9\xef:W\xff\xa5s\xf5\xb2\x8e\xd2G\x1dG\x7feF\xfa\xac\xe0l\xa9\x18;\xae\x8bcG^\xd4\x8d7\x8d\x87\x96\x15\x8d\xeb2\xff}\x998\x0ev\xbd\x12-\x7f\x16\xd2\xf4\xd8\x87\xce\xcf\xf9\x1ct\x02D)\x17Tv\xd8\xc1\xb5\xe5\xecW\x00\x00\x00\xff\xffPK\x07\x08t\x02$\xb3\x98\x01\x00\x00_\x03\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\n\x95\x83S\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00 \x00update-buildpack-dependency.shUT\x05\x00\x01\x95d\xaaa\x94\x92]o\xda0\x18\x85\xef\xfd+N\xbdH\xc0\x85\x83\x86\xd4^d\xcb\x05\x1bLCB-\xa2\xedn\xba\xaa2\xf1\xcbb\x08\x8e\x17;T\x15\xf0\xdf'>\xe5\xb1\xcf\xde\x9es\x9e\xf8q\xe47\x17\xed\xdaU\xed\x896m2KL\xa4\xcb\x19s\xe4!\xa8.a\xb5\xa5\xa9\xd4\x05c7\xc3\xde\xd3\x97\xfe\xf8vps\x9dF\xcd\x97\x19\x84\x9f\xe1=&\xb5.\x94\x95\xd9<\xf6\xe5\xa2\xc0\x1a\xb3\xef\x10\x158\x03\xe2\x05y\xa9\xa4\x97\xb1\"KF\x91\xc94\xb9\x87G\xac\x19\xe0\xa8\xa0\xcc7\x11k\x854\x05\x99e<\xe8\xa1\xf5s\xb7\xa4\xca\xe9\xd2`\x0dO\xce7w\xab\x83\xc3\xd3\xa8{w\xd7\x1f_\xa3u\x80\x8ec\xdeb\xac\xb6Jz\x12'7q\x12x\xc1W\x06\x88\xa0\xdai\x9f\xddb\xbf\xd1\n\xc8\x83g\xe1F\x8a0b<\xa4\xfc\x1bDX^;\x8e\xa4\n|\xbaI e)]b\x16;\xce\xf9\xf0\xcb\xe9\xd9pt\x88~\xdc!\xc7aK\xb8\xbc\x04\x9fB\xb4a1I\xf1\xe2k\xa0\x92u\x0c\xb3\xd9\x1bP\xd7\x94;\x00\xf9\x81\x8e{\xf3'\xf8\x1c|\x01S\x07\x00\xc0\xf7\xb1X\xdd\xc8\x84\xe7&\x80:?\xec\xcf;\xd40z\xf7\xfb\xe4tt>|\xff+\xa0\x8e\xbb\xbd\x01_\xdd\xc0\xa0\x16\xd7\xcb\x8f\x01t;\xb9\xd7\x1d\x04\xa9`k,\xb6p\x08\x9d\xc2M\xd7s\x96\xac\xce\x80\x8a\x7f\x17\xff\xf8S\x13\xbd\x8d\xf9T\xec\xe3O]\xcfq\x00\x96\x89(i\xc28t\\s\xbc\x86\xf2\x898KA\xf3\x88A\xa1\xad\xbc\x9c\x05\x1b\xc1`\x07\x0b\x9c\xaa\x8d\xa0.r\xdf\xf6\x83\xe7\xfd0\xf4\xde\xbao\x07l\x8dW\xf4(x\xee!O#6\x9f]\x07\xc0{\x03$1\xee\x17\x02s\n\xf4{\x9a\x08\xa5\xc3\x17\xc0\xef\x10\xf8\xb0\x03\x85\x05|_\x82\xaf\xc1F2\x897\x8a\xfa\x1c\xaf\xa9\xd4\xf0\xa5\x12,\xf5\x17\xc9:M8\xe5J\xc2\xff\xc1\xf7oYL\x16X\x10 (\\\xf0(\xdc\x83\x0d{a/\xac\xd6\x05r\x00H\xc2i5\xe3z\x1b\xafh#\xe3ZY\x8dmx<\xcet5\xf9\x82A\xf5\xc0\xce(-\xa0\x1b\x10\x9aRN(_0\xfa\x8f\x94j\x97\xc9\xa2\xf8\xefD\"\xfb\x06\x93e\x89n\xafYLa\xf2\xe1\xe2\x10\x04\xc5D\xeb\xe0\x13\xe8v\xe1\xc3\xe4t\\\xd0im\x9d'\x17\xe5c\xed\x8f:?t\xc4;\xd4\xd6=%\xf8\xcf\x0f\xe1\xb2\xd4\xff0\xebz\x961\x0c`\xe0.\x19\xaf\xb05\xd2\xd6\xe7\x9a\x9f\n\xc6\xd5\xff\xb2\xd1Q!\xf5\x04B\xc6\x04>\x8dO\xc7\xc3\x8b\xf1\xfc\xe3\xf0\xb7\xb1\xb6)\x7f[\xc3\xae\x0b\x92\xc6t\xa1\xdc\xf6\x9e\x0c4<]Dh\xfa\xb8\xd5\xd4\xed\x94\xc3x\x08<\x08Cs\xb4\xba\xde5\xf1\x8f4\xae\x933\x8d'\xd4\x0e~\x96\xea\xbb\xb3\xd1\x972U\xfd\x9dSu\x08]\x02#n\xe4\xf5\x1d\xc8iG%\x06\x8c\x18\x96\xbd\xded\xd4\xeb\xf5\xe1jZ\xdf\xbdB\xce\x1b's\xc3\x17\xf1\x86P2/\xf6\xf1\x8aJ\xed\x1a.\x1d\x00tppp\x00\x13k\x04\xef\xcaF}\xf4B[|\xd49\xdf\xc1D\xd7\xce\x1fTH\x96\xf0l\xa3\xef\xfb\xba\x05\xfb\xd9?\xf3g6\\\x88`\x072\x11j\x1em\xdd\x9a\xf0\xb0\x03,\x17\x8c\xcdIr\xcb\x17X\x9a|\xadq\xea\xa2i\xddT\xef\\UV5\xb3\xc6\xe2\xb7\x0c\x93w\x85<\xf0\x0c0\xe4\xcc,{\xa9t\xdd\xba\xb2\xc2\xf6b\x93\xeaaB \\\x98\xed\xbeE-\xcb\xa8\x19iG\xea\x1b\x04F\xe6fHB\x97x\x13\xaby1\x01\xb7s\x8bP\xba\xa4\x82c\x94Y\xc2\xa8\xb0\xcc\xf5\xcd\xa5\xbfO\xf3\x86\xd8\x1a\xa8J\xe6\x94+\xc1h\x85\xc3W\xbam'\xa1)|\xa5\xdbB\xd0o8\xde\xd0\x16F\xfbY\xde\xa0\xb0\xdf\xaa\x96\x8bE\x0d;\xb88\x19\xbe|\xf5\xbaV2\xe6\xaf\xf8UbR\x807\xc5\x12\x86\xf0`&\xa6\x15\xbb\xbc`\x8a\x8a\xb0\xdf\xf2\x1a\xbf|\xf5Zs\xabSK\x04\xa1b\xbe\x12\xc9&e|%\xdd$g7 Ta\x16\xcb\xa3\x0c\xf7@n\xd6z\x8a\x1c\x9d\xe9\x03p\x9c\x1f\x18\x84\xf9Ffg\x89$\x16\xdf\xa5\x19\xbf\x954\xc2\x0e\xceR\xc5\x12\x8ecc\\\xcb\xe9\xfe\x97o\xb7]\x08\x0c\xbe\xdc%\xa0\xbc\xf8\xf4\x08x\x01\xae\x9d\x0f\x05k\xbd\\Q\x01y/\xa0\x98\x9eAb\xa3\x1b\xbbL\x9fb\xe9J\x0f\xc1\x99\xbe\xc6\x13\xc6]\x04\xc8\xb3\xd5`D\x03\x98Y\x01\x07aU\x9e\xbd\xa0v\xda\xee\xa7\x8d\x9bZI\x19q\xd3|\x18g^z\xbd\x11[Q\xa9\xf4\x08\x1b<\xf3}\x18M\x8e\xc7\x17\x9f\xe1\xfct\xf8~|rf^\x86\xbe_U\xd6\xb2HK\x97\x98&\xd22\xe5\xaaf^\xcdE~3dCB\xbb\xb1\xe3\xa2\xb9\xd5vtM\x15&X\xe1\x00\xd9\xb6\xf7\xf3^7\x8f\x99\x87f\xc1\x13\x9d<\x1a\xb9\xdc\x9dY\xccR\xb7>j\xdf\xe6\xde4\x86vW\xef\x90\x86I\xddC51H\x17rc\xa2p*U9Y\xfb\xeb\xa8\xad\xef\xaa7\\~\x83G\xf7\\\x03\xf7\xb6\xa4\xb9L\xef\xa9\xa3\xa8\x99\xfc\xa8%\xe9\xd1\xcf$\xfb\x91\xc3\xad\x91\x1eLn\xab]\xdd]k2\xa3J\x12Q>t\x10z\xa0\xcbK/I\x9d\xb1f\xc3\x07\xd5\xf0\xb5\x82\xb8\xac\xbc?\xff\xfe3\xa1Q:\x81\xa7GV)\xb95\x1a\x9d\xf2\x0b\xcb\xd1\xc3m\x19c\xa5(/\xc6\xdc\x94#\xcf\xe9V^xQB\xb6\x8e\xb3\xba\x06\x9c2\xfbx[Su\x9d\x108\x1f~~\x7fb\x96P(h\x9a\xc8\xb0\x9f\xdcr*\xc2\xbe\xfe\n\x05\x8d)\x96T\x86\xfb\x97\xddd\xff\x00\\2\x1a\x13@\n\xaf\xe6\x9a\xe4\xe1\xde\xe8\xf3\xf0\xb8\xfc\xda-L\x8d\xd9/\x16\x97yx\xd6\x0c4\xd2\xbd\x81\xfeB\xce_\x01\x00\x00\xff\xffPK\x07\x08p\xe2\xc0a\x1a\x05\x00\x00\xb8\x10\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00z\x8eZS\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00 \x00update-lifecycle-dependency.shUT\x05\x00\x019@xa\x94\x91Q\x8b\x131\x10\xc7\xdf\xe7S\xfc/.lKI\x16\xefq\xbd*\x8a'\x08\xc5\x03\x05_n\x0fIw\xa7nzi6f\x93\x1e\xa5\xedw\x17\xdbUz\x8az}\x0b\x99\xf9M~\xff\xcc\xb3\x8b\"\xf5\xa1\x98\x1bW\xb0[c\xae\xfb\x96\xa8\xe7\x08\xc9\xa9\x837\x9e\x17\xdaX\xa2\x9b\xd9\xdb/\x9f\xaf?~z\x7f\xf3a\x9a\x8d6K\xc8\xb8\xc4\x15\xe6\xc9\xd8\x86\x83\x8a\xdd\xcab\x87\xe57\xc8\x80\\Y\xb3\xe0zS[V)\x18\xecPk\x1fS\xe0\x91P\x93b=zu\xb5\xe6\xd0\x9b\xce\xbd\xbc\xad\xaa\xe6nRU\xea\xb7\xc3\xb8P\x131\xc6\x0ej\xe8\xcc\xc7D\xc97:\xb2\xfc5[6\xec\xd95\xec\xea\x0d*\x02\xa4\x1cl\xe4\xc1\xe6\x91\xda\xb1>\x0c\x83\xc8\xb6C\x96\xbd \xfaj\"t\xd3<\x02\x0e\x97u\xcb\xf5}\x97\"\xa4\x84\"2\x0b\xdcBd#\xae\xdb\x0e\";\xf9\x11\x81\x1d\xf4\xc3=\xe4;\xe4*G\xbe\xf5\xc1\xb8\x88\xec\xf9>\x1f\x0b\\LO\xa8'\x11w/\x10[v\x04\xcc^\xbf\xb9\x9eME\xcf\xab5\x87r\xa5\x97]\x10\xc4\xf6|\x95\xcb\xb3U.\xff\xadb\xdcQ\xa5\xe7?j^\xc7\xba\x15\xb40D\xc7\xa7\xca\xb2\xe7(\xbb\x14}\x8apz\xc5\xd3\xce6?\xb7Q\x96\xd9\xf6$\xc0^\xfc\x15r\xfcp\n\xfd\x1f\x18\x9a\xa5\xd5s\xb6?\x90\x83\xe7^\xd0\xf7\x00\x00\x00\xff\xffPK\x07\x08\xd2/:\xe4d\x01\x00\x00\xf6\x02\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00}t\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00 \x00update-netrc.shUT\x05\x00\x01\xcf\x8a\x9e`\x14\xcb1\xae\xc2 \x18\x07\xf0\x9dS\xfc\x1f\x8fU\xb9A\x93&\x92\xb8\xd4\x9a\xa2q\xa6\xf8)$\x15\x08\xb4:\x10\xeen<\xc0\xef\xffOn%\xcb\xd9\x07I\xe1\x8d\xd9\x14\xc7X\xa1\x15;\xda\"\x92O\xf40~a\x8c\xac\x8b\xe0/c\x9d\x0f\x04Q\x8f\xa3\xbe4,\xf1\xe9\x03D\xbdj5\x9d\xfaA5$S\xca'\xe6;D=\xf7Z\xdf\xc6\xe9\xd08\xba\x0e\xfcg\x06\xd5\xb8\xdc\x07Z\xb3e\xdf\x00\x00\x00\xff\xffPK\x07\x08\xab\xefq\n{\x00\x00\x00z\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00z\x8eZS\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00 \x00update-package-dependency.shUT\x05\x00\x019@xa\xbc\x93Qo\xda>\x14\xc5\xdf\xfd)N\xfd\x8f\x04\xfc'\xa7j\x1f\xb3\xb2i]\xb3i\x1a\xa2h\x93:M\x80*\x93\\\xc0\x10\x9c\xccv\xa8*\xc2w\x9f\x12`$\xea\xda\xad\x9b\xb4G|\xef\xf1\xf9\xf9\x1c\xf2\xdf\xc9in\xcd\xe9D\xe9S\xd2kL\xa4\x9d3f\xc9AP\x9e\"S\x19M\xa5J\x18\xeb\x87_no\xc2O\x9f?\\\xf7\xbb^;2R\x13\x12\x0b\xeem\xae\xc2A\xd8\xbf\n\xfbo\xbfn9\n\xcc\x0ce\x10k$\xd2\x91u(`S\xe3 nP\xc0I\x95@h\x9cu\x18SS\x0c\x87\x10\x84I\xae\x92\x98\x8c\xef\xd2U\x82\xf1\xf8%\xdc\x9c4\x03\xae{W5\xc3\xfb\x05\x84[\xe0\xa2\xb9^`\xf1\x0d\xc2\x80\xfb\xd5q&\xa3\xa5\x1d\x8e\xfd\xdc(\x14\x88d\xe6rC\xed\x11\xf7\xffoP\x06\xed\xd7\x17k2V\xa5\xfa\x95\xff\xa23\xe2\x1d\x14\xf0\xf7'\xbc\xc3\x18\x90g\xb1t$\xca\x0b\xe5\x8cDL\x19\xe9\x98tt\x8f\x11\x03\x00!\xf6\x1c\xa2\xe2h@\x1d6T\xfc \x9d\xc3h\xefU\xcek\xb9nyi=S\x0e2\x8e\x1bw\xb2\xa9\xaa%\xb6\xa7\xfa\xdd\xc4\x1a\xeb\xc7\xc4~\xbcI\xd1?\xcd\xac\x9c\xd7R+\x7f\xfe,\xb7\xcb\xc1\xed\xd1>\x10\xde\xb3s\xfc5\xceaT\xb97Rj\xa2\x0c>\xbe\xffK\x96F\xa7\xc7\x17\xd7=\xab\x8a\xcb\xbdhN\xd12\xcd\x1d\x84\x80\xbfk\x1d\xdckS4O\xc1\xbdZ\xc7\xe5\xc7&\xef\x96\x10\xef\xd0\xf2[hm2\xa3\xb4\x83w\xb6mu8N\xba5U\x0d\xe8i\xd5\xf1\xcf\xd4{s\x19\xf6\xba\xdc\xd2jM&X\xc9Ej8\xa3\xe4\xf98\xe7\x7f\x84s\xfe4\x8e\xd2;\x1cK\x0ff\x99t\xd1\x9cWq\xee\xec\x82\xc0\x92\x13i\xee\xb2\xdcA\xcb\x15u\xd3$>\xd4\x15\x04\xde\xa6\xf6\x88-\x7fT\xa4\xe9\xae.jv\xfc\x98h/\x10\x89\x9cPR\xca*\xd6-g\xdf\x03\x00\x00\xff\xffPK\x07\x08d\xb7\xc2\xd1\xe7\x01\x00\x00w\x05\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00}t\xaeR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00 \x00update-pipeline.shUT\x05\x00\x01\xcf\x8a\x9e`\x9c\x92_k\xdb0\x10\xc0\xdf\xefS\xdc4\x8f4\x0f\xb2\xf2\x9c\xe1AX<(\x848\xc4a\x7fhK\x91\xed\xb3\xad\xc6\x91%\xf2\x9a\xf2\xa3\xe9\x01\x00\x00\x81\x02\x00\x00\x11\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\xd6\x07\x00\x00create-package.shUT\x05\x00\x01\x19\xa2\x02bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeRhy\x98\xea\x84\x00\x00\x00\xa7\x00\x00\x00\x1b\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\\ \x00\x00enable-pack-experimental.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeR\x85\"\x0ei\xfb\x00\x00\x00h\x01\x00\x00\x10\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x812\n\x00\x00install-crane.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeR&\x95T\xcd}\x00\x00\x00\x89\x00\x00\x00\x19\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81t\x0b\x00\x00install-create-package.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeR\xc6\xd7y\xcb~\x00\x00\x00\x89\x00\x00\x00\x0f\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81A\x0c\x00\x00install-octo.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeR\xdbZX\xfe\xeb\x00\x00\x00O\x01\x00\x00\x0f\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\x05\x0d\x00\x00install-pack.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeR-\xdb\xfd\x81\xf6\x00\x00\x00a\x01\x00\x00\x11\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x816\x0e\x00\x00install-richgo.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeR\x80\xfd\xc2u\x86\x00\x00\x00\x98\x00\x00\x00(\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81t\x0f\x00\x00install-update-build-image-dependency.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeRD\x9aU\x15\x83\x00\x00\x00\x96\x00\x00\x00&\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81Y\x10\x00\x00install-update-buildpack-dependency.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00H\xa2hS\x81i\"\xe9\x86\x00\x00\x00\x9e\x00\x00\x00$\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x819\x11\x00\x00install-update-buildpack-image-id.shUT\x05\x00\x01 \x86\x89aPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeR[\xf5\xeb\xb7\x86\x00\x00\x00\x96\x00\x00\x00&\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\x1a\x12\x00\x00install-update-lifecycle-dependency.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeR(\x19B-\x84\x00\x00\x00\x94\x00\x00\x00$\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\xfd\x12\x00\x00install-update-package-dependency.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeRZ}\x1a\x0e\xe4\x00\x00\x00E\x01\x00\x00\x0d\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\xdc\x13\x00\x00install-yj.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00Q\x84HT\x8c[\xa3\x17\x19\x01\x00\x00l\x02\x00\x00\x14\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\x04\x15\x00\x00package-buildpack.shUT\x05\x00\x01\x9a\x9b\x02bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\x1a\x80kS\xcd\x81\x9d\xa8\x08\x01\x00\x00M\x02\x00\x00\x12\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81h\x16\x00\x00republish-image.shUT\x05\x00\x014>\x8daPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00V\x18kTt4b\x1aN\x00\x00\x00W\x00\x00\x00\x18\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\xb9\x17\x00\x00run-integration-tests.shUT\x05\x00\x01\xd4\xbb*bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeR\xa4\xd5!O?\x00\x00\x00:\x00\x00\x00\x0c\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81V\x18\x00\x00run-tests.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00V\x18kT!\xdd\xeceF\x00\x00\x00D\x00\x00\x00\x11\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\xd8\x18\x00\x00run-unit-tests.shUT\x05\x00\x01\xd4\xbb*bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00z\x8eZSt\x02$\xb3\x98\x01\x00\x00_\x03\x00\x00 \x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81f\x19\x00\x00update-build-image-dependency.shUT\x05\x00\x019@xaPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\n\x95\x83S\xe8/\xa4\xeb\xb5\x01\x00\x00\x04\x04\x00\x00\x1e\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81U\x1b\x00\x00update-buildpack-dependency.shUT\x05\x00\x01\x95d\xaaaPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeRp\xe2\xc0a\x1a\x05\x00\x00\xb8\x10\x00\x00!\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81_\x1d\x00\x00update-draft-release-buildpack.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00z\x8eZS\xd2/:\xe4d\x01\x00\x00\xf6\x02\x00\x00\x1e\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\xd1\"\x00\x00update-lifecycle-dependency.shUT\x05\x00\x019@xaPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeR\xab\xefq\n{\x00\x00\x00z\x00\x00\x00\x0f\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81\x8a$\x00\x00update-netrc.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00z\x8eZSd\xb7\xc2\xd1\xe7\x01\x00\x00w\x05\x00\x00\x1c\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81K%\x00\x00update-package-dependency.shUT\x05\x00\x019@xaPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeR\xddd\x12\xe6\x98\x01\x00\x00%\x03\x00\x00\x12\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\x85'\x00\x00update-pipeline.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00}t\xaeR\xbc\xfb5Z\x1e\x01\x00\x00{\x02\x00\x00\x18\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81f)\x00\x00update-release-digest.shUT\x05\x00\x01\xcf\x8a\x9e`PK\x05\x06\x00\x00\x00\x00\x1f\x00\x1f\x00\x88 \x00\x00\xd3*\x00\x00\x00\x00" + data := "PK\x03\x04\x14\x00\x08\x00\x08\x00\xe4VKT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00 \x00check-republish-version.shUT\x05\x00\x01\x8d@\x06bt\x92Ao\x1a?\x10\xc5\xef\xf3)\xde\xdf\xe1\x00\x7fi\xa1\xe9q#\x0e(\"\x88C\x9a\nhT)\x8a*\xb3\x0c\x8b\xc5\xd6^ymT\x89\xf8\xbbW\xde5\xc9\xd2\xaa7\xdb\xf3f\xfc\xfc{\xbe\xf9o\xe2\x1b;\xd9*=a}\xc2V6\x07\xa2\x86\x1d2\xf6\x06\xb5\xaay/UET\x18\xed\xa4\xd2\xcdp\x843\x01\x95)d\x85\xcdl1\x15\x83\xf3m\x10\x84v38of\x8b\x9bSxW,\x1fg\x8b\xf9:\x8a>\x07A\x04\xec\x8d\xed\x0e\xa14\x06\xe7\xae\x1e\xee\xb03\x04\x00j\x8f\x97\x17\x88vN\x10\x98N\xe3\xba\x15\x05\x81\xd7\xd7;\xb8\x03\xebV pq0\x10y\xbe\xe3\xad/\xf3\xfc\xc1x\xbdC\xeaL\x12\xcb\xce[\x8dO\xedv\xaf\x08\xd8\x19\xcd\xd1G\xaa\xdcR J&\x07\xc3\xc2J\xcd\xa8\x9a\xce\xc0j1\xdf\x041\"\x8a\x9e7\xb3E\xebxX*\x07'KdU\xb2\xf9\xe3\xebj\xfe\xb0\xfc\x1e\xfe\x17xCc\xacC\xf6\x8c\xccb\x94\x1e\xf5<_\xad\x97O_\x12\x9b\xeb\x1e\x11\xae\x04i\x15\x01R\xcb\xe2B=^\x95\x8aA\xbc#Y\x07\xd1\x03\xd2\xe1\xe8S\x18c}Tu\xadt9\x16\xd4'\xd6\xb0\xcb\x8cw\xb5w\xd0\xf2'O\x9b\xa3\xaa\xf3\xdcY\xcfI\xf7K9j\x81\xd1GSi\x8d\xaf\xf3\xfc\xfe\xc0\xc5Q\xe9\x12\xc6\xbb+\xda\x11L\x11\x8b\xb1\x90e\x18\xff}*>\xf4\x97\xa9\xacwip\xff\xf4O\x83N\xda\x92]\x9e\xf7(\x10\xb0\xb5,\x8f\xd4%\xda\xfd\xab\x94Q?\xc7\xf5\xd3\xb7\xd5}\xfc=o(-\xd7\xc8N\x10\x95t\xdc\xb8\xeb\xbc.q\xfd\x93\x91\xf1\xb6\xe0ha\xf9\x98\x9e\x10)\xb5\xb7\xff\x0e\x00\x00\xff\xffPK\x07\x08\xe6=dt\xb0\x01\x00\x00E\x03\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\xe4VKT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00 \x00checkout-next-version.shUT\x05\x00\x01\x8d@\x06bd\x91O\x8f\xda0\x10\xc5\xef\xf3)^\xbd\x1c\xa0R\xa0\xdb\xa3W\x1cP\xc5F\x1c\xfaG\x80V\x95V\xab*$&X\xa4v\xe4?\xa8\x12\xf5w\xafl\xbcK\xe8\xdef\xe6\xbd\x99\xbc\xfc|\xf7a\xe6\xad\x99\xed\xa4\x9a u\xc2\xae\xb2\x07\"+\x1c\n\xe15z\xd9\x8b}%;\xa2Z+WIe\xc7\x13\x9c \xe8t]u\xd8.\xca9\x1b\x9d\xef\x03#\xa4ft\xde.\xca\xbbSxs\xac\xbe.\xca\xe5&\x9a>\x07F\x04\xec\xb5\xb9\x0c!\x15F\xe7\x8b\x1e\x1e\xd0h\x02\x00\xb9\xc7\xf33X\xba\x13\x18\xe6\xf3X'S`xyy\x80;\x08\x95\x9c\x80\xa8\x0f\x1a\x8c\xf3F\xec|\xcb\xf9\xa3\xf6\xaaA\xde\xcc\x16#\x9c7\n\x9fR\xbb\x97\x044Z\x89\x98#+\xf7\x14\x88r\xc8\xd1\xb86\x95\x12\xe8\xec%\xc0\xba\\n\x03\x9b\x10\xc5\xcc\xdbE\x99\x12\x8f[\xe9\xe0\xaa\x16E\x97c\xfe\xfa\xb1^>\xae~\x86\x8f\x0c\x7fa\xb5q(\x9eP\x18L\xf2O=-\xd7\x9b\xd5\xf7o\x99\xcd\xcdJ\xb8\x91s\x15\xf1Q\"\xf1\xca<~(\x8b\x81\xbd\x01\xd9\x046\xc0q\x811d0\xc5\xe6(\xfb^\xaav\xcah\xc8\xcb\nWh\xefz\xef\xa0\xaa\xdfbn\x8f\xb2\xe7\xdc\x19/\xb2\xef\x8ft\x94p\xd1u\xa95\xda\xf7\x9c\x7f9\x88\xfa(U\x0b\xed\xdd\x0d\xeb\x88\xa5\x8eb\x14\x8a\x02\xd3\xf7Sv\xf5\xbf^\x15\xaa\xc9\x87\x87\xd3\xff\x03\x9e\x84\xb1R+\xce\x07\x18(\xe7L\xef\xf9/\x00\x00\xff\xffPK\x07\x08\x9f\xa1C{}\x01\x00\x00\xc5\x02\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\xceQ~T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00 \x00compute-version.shUT\x05\x00\x01\x84-Db\x9c\x91\xcfn\xd3@\x18\xc4\xef\xfb\x14\xc3b) ecZ\xa9\x07\x0cAr!\xc5AJ+%\x85\x8b\xb1\"\xa7\xf9\\/8^kwm\xfe\x98\xe5\xd9\x91\x93B\x9c\x0bT\x9c,\x8dgF\xbfo\xf6\xf1#\xbf6\xda_\xcb\xd2\xa7\xb2\xc1:59c\x86,\x04\xd5\n\x95\xac(Ke\xc1\x98\xcc\x10C|\x07\xf7\xda\xb7\xb3\x9b\xe8\xfd\xc5j1\xbd<1d\x1dG\xf2\x026\xa7\x92\x01t\x9b+\xf0\x83\x01]\x93U\x88\xfb)\xf1\xb2.\x0d\xd9W.y\x8aumarU\x17\x1b\x94\xd4\x90\xc6\x9a@\xdb\xca~\x83\xd2\xd8\xd9xW\xfbUZ\x9c\x9d\x9f\xb3L\xeeIb\xf4\x0b\x1d&?\xa1)3\xbeM\xef\x8c\xdf\x0c\xe3g\xe2yr\xf2q|\xfc\x1d!9\x90~\x98.\x96\xb3\xeb\xab\x89\xd7^\x84\xcbh\xb5\x98\xce\xc3\x9b\xd7Q|\x9a8\xc6\x80y\xf8\xeez\xb1\xfa\xed\xe1\xdep\x7f\x98\xd7\xdeK\x8e\xe3\x07\xd2/\x9f!.1\x18\x0f0h+-K\x0b\xef\x14n0\xea\x90\xe7\xb3\xab\xffm\xe0c\x0e\xefl_\xf4g\xd3 0d\x85\xaamU[\x94\xe9\x96&\x0di#U)\xb6\xe9'\xa5\x83\xc0k\x8f\xa0\x1d\x7fHT\x96\xf7\xd1>\xad\xe3\x8c\x8a\xbf\xad\x9cS\xba1\xfep\xfc\xe0E\xa90\xd4w\x0c\xef\xa4\x85\xa6FT\xa96\x04!L\xae\xb4E4\x0d\xdf\x8cvo\xfc\x0f\xf0\x0e\xb9\x07\xbb3/\xa9\xa0[K\x1b\x1c~!\xd3j\xcb\x80'\x1dvp|\xccN6y\xda\x93\x97Q\xe8\x18g\xbf\x02\x00\x00\xff\xffPK\x07\x08jI\xb5)\x85\x01\x00\x00\x12\x03\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00V}\x17S\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00 \x00create-action.shUT\x05\x00\x01\xf4\xc1#a|\x8f=O\x84@\x10\x86\xfb\xf9\x15\xaf+-\xd2c(\xfc j\xe3]\xe0\xce\xe6\xbc\x82\x8f\x01&G\x96\x0d\xcb\xda\x10\xfe\xbb\x01Or1j\xb7\xd9yf\xde\xe7\xbd\xbe\n\x9c\xed\x83\\t\xc0\xfa\x03yf\x1b\"\xcb\x03|v\x1d\x8c\x18\xae2i\x89\xb8h:\xa80\xac\xfb\xce\x990\xbcw\xd2\x96\xa2kx\xe3\xee.y\x8awS\xe8\x8doq\x92\xbel^'E@\xd9\x15'\xee\x91\xcf\x1c\xde \x00|\xbf\x92\x96\x91\x15\x83t\xda\x06\x8f\x0b\xb1|}\xcf\x17\xda\xcf\xfa\x1a*\xdd\xec\x93\x878\xf2\xc6\xaf\xc7\xa4Vh\xc8j\xa8_c\xcf\xc8\xcd*\xcb\xba<\xfb*\"\xa9p8\xcc\x9b\xdb}\xfa<)D\x11\xd4\xd0;V8\x1eo14\xac \xf8Qs\xebl\xf3_\xcb\xb5\xa7q\xb6\xf9\xc3\xea\xe2\xea\xa5\x0f\xb7\x96\xd7Qz\x12c\xe6\xa0\xf9\x8e\xa2J\xe83\x00\x00\xff\xffPK\x07\x08_n\x1bS\xe6\x00\x00\x00\x98\x01\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00V}\x17S\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00 \x00create-builder.shUT\x05\x00\x01\xf4\xc1#a\xac\x8e\xcdJ\x031\x18E\xf7y\x8ak\x9c\x85\"q\xf6\x117\xc5\x82\x03E\xa5\xa5nj\x17\x99\xf4\x9b\xce\x87i\x12&\x89\x08\xc3\xbc\xbb\x0c\xfe\xec\xdcuy9\x1c\xee\xb9\xbc\xa8K\x1a\xea\x96}M\xfe\x03\xadI\xbd\x10\x892\x14\x95\x80\xc8\x91:\xc3N\x08\xee\xb0\xdbAy\xc8j|\xd9.V\xcd\xe6\xf1\xe6s\x92\xd8\xef\xef\x90{\xf2\x02\x88\xc6\xbe\xa3-\xec\x0e4\xc0\x0ed2\xe1M\x00\x98\x9d\xc5\xb6Y=,\xd7\x93\xae\xc6\xd7\xe5z\xd3\x01\x00\x00\x81\x02\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00V}\x17S\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00 \x00enable-pack-experimental.shUT\x05\x00\x01\xf4\xc1#a\\\xccO\xaa\xc20\x10\x80\xf1\xfd\x9cb^\x9e\xdb6'\xb0\xbb\x82\x1b\xf1\x0c\xd38i\x87&\x93\x90?\"\x88w\x17\xc1\x8d\xee\xbf\xdf\xf7\xffg{-v\x11\xb5\xac7\\\xa8n\x00\x95\x1b\x0e\xdc\x13f\xc9\xecI\x02\x00\xbb-\xa1\x99\x95\x96 \xbab&\xb7#\xdf3\x17\x89\xac\x8d\x02z\xa6\xd6\x0bW\x03\x10\xf7\xab\x14\x1c2\x9a\xc3\xe3t9\xcfOc\xc77\xf8L\xbe\xd8\x11[\xe9lp\x9a~k\xeb\x92zY\xc7\x96b\x80W\x00\x00\x00\xff\xffPK\x07\x08hy\x98\xea\x84\x00\x00\x00\xa7\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00D\x80fT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00 \x00install-crane.shUT\x05\x00\x01\x00\xdb$bl\x90AO\x021\x10\x85\xef\xfd\x15c\xe5Zz1\xc4x AB\x84D\xc1 z\"\xd9\x942v\x1bKg3\xed\xc2\n\xf2\xdf\xcd\xeaz!\x1e\xdf\x97\xbc\x97|\xef\xfaJ\xd7\x89\xf5\xc6G\x8dq\x0f\x1b\x93J!\x12fPX\x13T\xbe\xc2w\xe3\x83\x10hK\x029\x8b)\x9b\x10|t`\xd9D\x84\xdei\xbc\x1c\xcd'\xc5\xdbd\xf92[\xcc\xcfR\x88\xdd\xc7\xd63\xa8\nd\xef4]`\xcc]\x08dM\xf6\x14\x7f\xa2,s\xae\xd2\x9d\xd6\xce\xe7\xb2\xde\xf4-\xed\xb4#r\x01\xb5#e)f\xe3#2\xa3\xf3)\xf3\xa7f\x0ch\x12&\xbd\xa5C\x0cd\xb6z\x7f\xa9\xf2o\xb1x\xf4\xb1n\x8a\xe6vP\x0cn\xfa\xd9p\xdf\x1d%\xac\xc5\x17d\xc3\xa0\xc6\x17\x86\xaa9\xfe\x1e%\xbe\x03\x00\x00\xff\xffPK\x07\x08\x85\"\x0ei\xfb\x00\x00\x00h\x01\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00rsKT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00 \x00install-create-package.shUT\x05\x00\x01Yr\x06b\x14\xca\xc1\x0e\x820\x0c\x00\xd0\xfb\xbe\xa2\xe2\xb96|\x007\x8d\x17\x0d'?\xa0\x1be4\x0c\xb6\xd0M\x7f\xdfp}y\xd7\x0b5;\xc8\xebN\xb2\x7f\xc1\xb3-\xce\x99T@i\x19\x8a\x16\x99Y\x93s\xcf\xb1\xef\xfb\xf7x\xff\xbc\x1eC\xde!f\x88gj\x80i\x9a\x13G\x1b:4\xc0_\x07Q\xeb\xd2\xfc-\xe4\x8d\n\xafR3\xfa\xa6i*\x1cV\xa3\xa4\xbe\xf0Ja\x9b(\x1c\xc2U\xf0t\x8e\xe2\xfe\x01\x00\x00\xff\xffPK\x07\x08&\x95T\xcd}\x00\x00\x00\x89\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00rsKT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00 \x00install-octo.shUT\x05\x00\x01Yr\x06b$\xcc?\xae\xc20\x0c\x80\xf1=\xa7\xf0\xeb\x9b\x83\xd5\x03t\x03\xb1\x80:q\x80\xfcqS\xabi\x1c\xd5 \\\x1fU\xac\x9f>\xfd\xfe\xff\xb0\xeb\x81\x9e\x0bRy\x83w\xba\x1a\xa3\xd4\xc0R\x17\xa8\\iq\x9c\x8d\xb9\xcf\xe38>\xe7\xeb\xebq\x9b\xa4@\x12H\xe7\xd4\xc1\xe6\xb8d\x97t\x1a\xac\x82\xfd\x0c\x90\xb8\xad\xdd_\x82\xecX\xddFM\xac\xef\x9ccuaS<\xc1\xcc\x85~\x8d\x0e\x0c{D M\xcc7\x00\x00\xff\xffPK\x07\x08\xc6\xd7y\xcb~\x00\x00\x00\x89\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00V}\x17S\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00 \x00install-pack.shUT\x05\x00\x01\xf4\xc1#a\\\x90\xcfk\xfa@\x10\xc5\xef\xfbW\xccw\xbf^\xd7\xbd\xf7 X\x91&\x94VimO\x82l\x92i28\xee\x86\xfd\xa1\xa2\xf5\x7f/\x1b\xd2C\xbd\x0c\xbc\x0f\xf3\x867\xef\xff?\x9d\x82\xd7\x15Y\x8d\xf6\x08\x95 \x9d\x10\x01#(L\x0ez\xea\xf1\xcb\x10\x0b\x81u\xe7@\x966D\xc3L\xb6\x85\xde\xd4{\x98\\\xd7\xf3\xc5\xf3\xees\xf9\xf6^\xae^oR\x88\xc3\xbe!\x0f\xaa\x079\xb9\x16\xab\x97\xe5M\xe6\xdb\xa3}D\x99H\x98\xcd2x*7\xc5\xc7\xe3n=\xdf\x14\xd9^'\xcf\xb0\x15\x00J\xb1\xabM$gG\x19:wR\xe8\xbd\xf3\xbf\x80\x18m\x1c\x84\xecb\xec\xc3\x83\xd6-\xc5.U\xd3\xda\x1dt\x95\x88\x9b\x1c2\xe8<\xb5GF\x130\xe8\xc6\x9d,;\xd3\xe8\xe3]\xfaaO\xddS\xc5d\xd3y\x1a\xdb\x8b\x84\xad\xf8\x86h<\xa8\xc5\xdf\xf7@\x9d/C!\xe2'\x00\x00\xff\xffPK\x07\x08\xdbZX\xfe\xeb\x00\x00\x00O\x01\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00V}\x17S\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00 \x00install-richgo.shUT\x05\x00\x01\xf4\xc1#ad\x901O\xc30\x10\x85w\xff\x8a\xc3tu\xbc\xa0\n1T\x82\xaaj2@P)L\x95\"'1\xb1U\xc7\x17\x9d\x9d\xb6\xb4\xf4\xbf\xa3@\x18\xaa\x8e\xef\xbb\xbb\xa7w\xef\xf6F\xf6\x81di\xbd\xd4~\x07\xa5\n\x86\xb1\xa0#\x08\xdd#t\xb6\xd3\x9f\xca:\xc6te\x10x\xe6CT\xceY\xdf\x00\xd9\xca4\x08\x93\xd3*\x9b\xa7\xcb\xbc\xf8X\xac\xde\xb2\xfc\xe5\xcc\x19k\xb7\xb5%\x10\x1d\xf0\xc9)\xcd\x9f\x17g>\xf8\x8f\x16#\x1a\x08\x87\xd9l\x00\xcbl\x9d\xbe?\x15\xaf\x8f\xebt8\xafzr\xb0a\x00B8\xacT\xb4\xe8G\x19\x0c\xee\x85&B\xfa\x07\xd6i\x1f\x7f\x0571v\xe1A\xca\xc6F\xd3\x97I\x85\xad\xdc~\xa1\xb9\x9f\xca\xbf\xa8\x92\xb4\xd3*\xe8 k\xdc{\x87\xaa\x96\xbb\xab\xf4\xe3nq5(\x9c\xf5\xfd\xa1Pm=\xbdK\xa2\xa2\xa49r\xd8\xb0o\x88\x8a@\xcc/_\x05q8\x8e\x05\xb1\x9f\x00\x00\x00\xff\xffPK\x07\x08-\xdb\xfd\x81\xf6\x00\x00\x00a\x01\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00rsKT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(\x00 \x00install-update-build-image-dependency.shUT\x05\x00\x01Yr\x06b$\xca\xb1\x0e\xc2 \x10\x00\xd0\x9d\xaf8\xeb\x8c\x97~@7\x8d\x8b\xa6\x93\x1fp\xc0\x95^J\xe1\"\xa0\xf1\xef\x8dq~\xefx\xc0^\x9f\xe8$#\xe7\x178\xaa\xab1\x95\x1bX\xee\x05T\x94\x17\x92d\xccu\x1e\xc7\xf1>\x9f\x1f\xb7\xcbT2\xc4\x02\xf1\x97:\xd8\x14\x96D\xb1N\x83\xad`\xdf\x03Dikw'_vT\xda\xb8\x15\xeb\xba\xa4\xa0\xe4\xb7\x8aI\x9c\xd2\x86~\x0f\xd85P\xe3?Z\xd9)\xb2\x0d\xac\x9c\x03g\xff1\xdf\x00\x00\x00\xff\xffPK\x07\x08\x80\xfd\xc2u\x86\x00\x00\x00\x98\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\x97}fT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00&\x00 \x00install-update-buildpack-dependency.shUT\x05\x00\x01\xee\xd6$bD\xca\xb1\x0e\xc2 \x10\x00\xd0\x9d\xaf8\xeb\x8c\x97~@7\x8d\x8b\xa6\x93\x1fp\xc0\x95\x92R\xb8\x08\xa7\xf1\xef\x8d\x93\xf3{\xc7\x03j{\xa2K\x05\xb9\xbc\xc0Q[\x8di\xdc\xc1\xb2V\x90$\xbcP\xca\xc6\\\xe7q\x1c\xef\xf3\xf9q\xbbL\xb5@\xac\x10\x7fI\xc1\xe6\xb0d\x8am\x1al\x03\xfb\x1e \xa6\xbe\xaa;\xf9\xba\xa3\xd0\xc6\xbdZ\xa7)\x07!\xbf5\xcc\xc9 m\xe8\xf7\x80*\x81:\xff\xd1\x06\x16.\x81\x8b\xff\x98o\x00\x00\x00\xff\xffPK\x07\x08D\x9aU\x15\x83\x00\x00\x00\x96\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00rsKT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$\x00 \x00install-update-buildpack-image-id.shUT\x05\x00\x01Yr\x06bD\xcc1\x0e\xc20\x0c@\xd1=\xa70e6V\x0f\xd0\x0d\xc4\x02\xea\xc4\x01\x9c\xc6M\xad\xa6I\xd4$p}T1\xb0~=\xfd\xf3\x89Z\xd9\xc9j$\x89o\xb0\\\x16c\x8aT@i \xb2f\x99Y\x831\xf7\xb1\xef\xfb\xe7x}=nC\x8a\xe0\x13\xf8\x035\xc0\xe0\xe6\xc0\xbe\x0c\x1d\x16\xc0O\x07^\xeb\xd2\xeceJ\x1be^\xa5&\xb4M\x83\xcb<\xad\x85\x8ea\xd0(\xbf&;M\x9b\xa3\x96\x1dW\xf93\xd4\x8d\xbd\xa0:\xf3\x0d\x00\x00\xff\xffPK\x07\x08\x81i\"\xe9\x86\x00\x00\x00\x9e\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00rsKT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00&\x00 \x00install-update-lifecycle-dependency.shUT\x05\x00\x01Yr\x06b\x14\xca\xb1\x0e\xc2 \x10\x00\xd0\x9d\xaf8\xeb\x8c\xa4\x1f\xd0M\xe3\xa2\xe9\xe4\x07\x1cp\xa5\x97^\xe1\"\xa0\xe9\xdf\x1b\xf7w>\xb9^\xdf\xcesv\x94?\xe0\xb1\xae\xc6Tj`\xa9\x17PVZ\x90\xc5\x98\xfb<\x8e\xe3s\xbe\xbe\x1e\xb7\xa9dH\x05\xd2\x1fu\xb0\x12\x17\xc1T\xa7\xc1V\xb0\xdf\x01\x12\xb7\xb5\xfbK(\xbbS\xdc\xa8\x15\xeb;KT\x0c[u\xc2^qsa\x8f\xaek\xc4FVx\xa1p\x04!\x1bI)G\xca\xe10\xbf\x00\x00\x00\xff\xffPK\x07\x08[\xf5\xeb\xb7\x86\x00\x00\x00\x96\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00rsKT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$\x00 \x00install-update-package-dependency.shUT\x05\x00\x01Yr\x06b\x14\xca\xb1\x0e\xc2 \x10\x00\xd0\x9d\xaf8\xeb|^\xfa\x01\xdd4.\x9aN~\xc0\x01WJJ\xe1\"\xa0\xf1\xefM\xd7\x97w>Q\xafo\xb21\x93\xe4\x0fX\xae\xab1U\x1a\xa0\xf4\x02\x1aU\x16\x8e\xc9\x98\xfb<\x8e\xe3s\xbe\xbe\x1e\xb7\xa9d\x08\x05\xc2\x91:`\xf2K\xe2P\xa7\x01+\xe0w\x80\x10\xdb\xda\xed\xc5\x95\x9d\x947i\x05m\x8f\xc9+\xbb\xadR\x8aVy#\xb7{\xea\xea\xb9 \x1e\xceA\xd0\x8bJ\xf6\x92\xdd\xcf\xfc\x03\x00\x00\xff\xffPK\x07\x08(\x19B-\x84\x00\x00\x00\x94\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00V}\x17S\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x00 \x00install-yj.shUT\x05\x00\x01\xf4\xc1#ad\x8fMK\xc3@\x10\x86\xef\xfb+\xc6\xb57Y\xe7\xee\xa1\xa0PL\x04\xadh\x15\x04\xa1l\x92\xb1\xbbq\xb3\x13\xf6#m(\xfd\xef\x12\x89\x87\xe2\xf1}\x86w\x9e\x99\xcb\x0b\xcc1`e=\x92\x1f\xa0\xd2\xd1\x08\x11)\x81\xa2\xcc\xd0\xdb\x9e\xbe\xb4uBPm\x18d\xe9c\xd2\xceY\xbf\x83\xb1\x85\xc5\xf1\xe3a\xfb\xbezy-\xd7O')D\xf7\xdd\xd8\x00\xaa\x07\xb98\x16\xeb\xc7\xd5IN{\xe7\xea\x8c&\"a\xb9\x9c\xc0}\xb9)\xde\xee\xb6\xcf\xb7\x9bb\xaa\xd798\xf8\x14\x00J9\xaeu\xb2\xec\xe7\x18\x0d\xef\x15\x85\xc0\xe1\x0fXG>\xcd\x81s\xeas:\x97\xe2\xd8\xfeN\xa5I\xa9\x8f7\x88;\x9bL\xae\xaek\xee0\xd6\x8e\x06\xeb \xc7\x16\x039\xd2\x91\"6\xbc\xf7\x8eu\x83\xc3\xd9W8\xb6\xcaY\x9f\x0f\xd3}\xa6\xe3\x06\xae\x0e\xffL\xe2'\x00\x00\xff\xffPK\x07\x08Z}\x1a\x0e\xe4\x00\x00\x00E\x01\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\x9bX~T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x00 \x00package-buildpack.shUT\x05\x00\x01V9Db\xbc\x93Qo\xd30\x14\x85\xdf\xfd+\xce\xbc\xa8j\x1fBy\x0e\x8aD\x81B\x0b\xebZ\xb5\x83\x97RMNr\x93ZK\xed\xc8v\xd0P\x95\xff\x8e\x92\xb4!\x9b4\x18 \xd1\x17\xd7\xb1\xcfwo\xce\xb9\xb9\xbc\x18\x97\xd6\x8c#\xa9\xc6\xa4\xbe!\x12v\xcf\x98%\x07\x9fJ\x8dB\x16\x94\n\x993\xc6V\x93\xb7\x9f&\x1f\xa6\xb7W\xf3\xcdM8\xf4N\xdb\xcd\x88]bz\xef\x8c\x88\x1dRi\xac\x83\xa1Bc\xf8N\xc7wd0+\xa3\x11\x84\x85\xdb\x13\x0eB*8\x8dB\xc4w\"#\x0c`(\x93\xd6\x919\xc3C\xef\xd8/\xb3}\xb9\xab\x18\x93)\xb6[p\xef\xb8\xfa\xfc\xe6j\xbe\x99\x05\xfe}\xc5\x11\x86\xe0\xce\x94\xc4\xb1\xdb\xbd\xaa\xf1\x8a\xa1!#*e\x9e4\xff\xce\x85\xbe2\x00\x0d\xa1\x85W\x81w\xfc2]o\xe6\xcb\xeb\x8a\x9fN}?\xd6*\x95Y}m\xb6\\L+>>\xc9_8}\xc8\xbb[E\x19\xe5\xb2\xf6\x08h\x1b\xf3\x15:\xda\xedb~\xbd\\\x07~\x85\xc1\xe0\xd1\xc1\xe4c{\xd0\xeb\x16\x88\x8dP\x04'\xb2'\x9b\xe3\x8f\xd8\x15\xff\x0ba]\xbb\x11\xa6\x92=G\x9b\x0bG\xd61\x80\xe2\xbd\x06\x0f\x02K\xce\xd7\xa5+J\x07%\x0e\x14&2#\xeb\x82\xc0\x1b\xb6\xb0v\xff\x14o\xc4k\xb7.\x11\xeb\xe2{\x9d\xbfv{2\xcd\x98X\xe9\xb4\x91da\x0b\x8ae*)\xa9\x9b\xd4\x06+H\xd5\xc3\xb5\xd3\xf0zwz\xfbD7K\x9b\x00\xb8\xb7\xe2\xb8\x08\xeb\xb5\xbd\xcd\xd1\xf7\xf8\xa7]M\xfd_\xf8\xb5z\xf0\xa4\x13\xff{\xcc\x0f\xba8\x1b\xff\xac\x9c\xffP\xd9\x05\xdd\xfe\x9a\xb8\x7fO\xe8\xe2\xeei\x12\xad\x881\xca-\xfd\x9f\xcf*\xd5\xe6 \x9a z\xbf\\/&7\x15g\xa9\xfc\x11\x00\x00\xff\xffPK\x07\x08J\xed3\xf2\xc0\x01\x00\x00\x9c\x04\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\xe4VKT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00 \x00republish-image.shUT\x05\x00\x01\x8d@\x06btQ\xcdJ\xf3@\x14\xdd\xcfS\x9co>\x97\x0d\x01\xa1\x9b\x91.\xc4\x06\xe9\xc2\x16\xdaZ\x17*2\xed\xdc&\x17\xeb$d&\x8d\x8b>\xbc\x98\x98Q\x12\xb2\x0b\xe7\xef\xe6\x9c\xf9\xff/\xae\\\x19\xef\xd9\xc6d\xcf\xd8k\x97 \xe1\xc8#\xa2*G\xc1\x05\x1d5\x9f\x84\xe0#\x9e!\xaf6\xab\xc7\xf5]\"1\x9bAJ\xbc\xe2ri\xe0\xed\xed\xfa>\xd9\x0e\xe0V\xfd\xb6K\xd6\x9b\xc5j9\xe2\x1a\xa5\x97\xc9\xd3b\x1e\xd0\x1b\xf8\x8c\xac\x00\x00:d9\xe4\x03;\xc76\x85\xcb\xab\xf2@\x13x]\xa6\xe4'8S\xe98\xb7\xd0\xd6\xc4y K5\x1b%\xff\x18\xbf\xbf\xb0i\\\n]\xa3\x1e\xbfkC\x02\x1f~\xb2\x9f\xb3m\xae*t\x13\x8c\xe6\xf4\xca\xf6s\x96Tc1W\xf8i\xdd\xd2\x9f\xecq=\x9d\x8a#\x0bQ\x15F{\x8a\xf6\x15\x9fL\xa1\x0f\xef\x11\x7f\xe8\x94\"6xi\xc4Q\x0b\x84\xd5\xd5`\xfd\xa03\xbf\xe3vX7\xda\xf0Q:\x85\xa5:\\h5j\xd0\xe9+\x00\x00\xff\xffPK\x07\x08\xcd\x81\x9d\xa8\x08\x01\x00\x00M\x02\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\xceQ~T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00 \x00run-integration-tests.shUT\x05\x00\x01\x84-DbD\xc8\xc1\x0d\xc5 \x08\x00\xd0;S\xf0\xf3\xcf\xc2\x1c\x1dC\x1b\xaa$\x0d\x1a\xc0\xce\xdfc\xaf\xef\xff\xe3\x1d\xceM\x8d\xc5\x1el5\x06@Hb\x91=q\xe9\x92\xab\xea\x0d\xe0z\x8e>1%\x12\x89\xd5R\xba\xd7\xd4iLDX|\x1b\x1e\x1f\xc2\x1b\x00\x00\xff\xffPK\x07\x08t4b\x1aN\x00\x00\x00W\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00V}\x17S\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00 \x00run-tests.shUT\x05\x00\x01\xf4\xc1#a\x04\xc0A\x0e\x84 \x0c\x05\xd0}O\xf1'\xb3\xb6=\x13\x98\xaf41@h\xf1\xfc\xbe\xff\xcfv,\xab\xde\x8d\xfdE-\xd1D\x82\x89\x83{`\xfa\xe4U\xfc\x11Y~\xb6{ \x19 5U\x95/\x00\x00\xff\xffPK\x07\x08\xa4\xd5!O?\x00\x00\x00:\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\xceQ~T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00 \x00run-unit-tests.shUT\x05\x00\x01\x84-Db\x04\xc0\xc1\x0d\xc5 \x08\x06\xe0;S\xfc/\xef,L\xd3\x01\xb4\xa1\x95\xa4A#\xd8\xf9\xfb\xfd\x7f\xb2cI3\x17\xf5\x17\xadF'\nM\x14\xdd\x03\xd3\xa6^\xd5\x1e\xa2eg\xbf\x07R#\xc1\xc2\xcc(k;\x0e\xb7\xa4/\x00\x00\xff\xffPK\x07\x08!\xdd\xeceF\x00\x00\x00D\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\xe4VKT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00 \x00update-build-image-dependency.shUT\x05\x00\x01\x8d@\x06b\x9c\x91Qk\xdb0\x14\x85\xdf\xf5+N5C\xe2\x0d9\xb4\x8f^\xb3\x91m\xee\x08d-4\xd0=\xccc(\xf6M\xac\xc4\x965IN)\x89\xff\xfbp\x92\x0d\x87\xd1\xc2\xf6\xaa\xc3w\xefwt_]\x8c\x1agG\x0b\xa5G\xa4\xb7XHW0\xe6\xc8CPS\xc3(CK\xa9J\xc6\xeef\x9f~<$\xf7\xf3\xe9\xdd\xed8\x18>\xad!\xfc\x1a\xd7X4\xaa\xcc\xc9F\xbe\xaeJ\xec\xb1\xfe a\xc1#\xe7e\xb6\x89R~\x88\x85\xaa\xe4\x8aR\x8e=2i|ci\x98\xf2`7\xfd2\xf9\x9c\xb4\xf1\xf0\xfd\xf5\x96\xacS\xb5~\x17\xbd\x11\xc1\xee\xe3l2\x9fOo\xa6\xc9}\x1b\xa6<\xc4\x1e\xd1)\xe7!\xbbM\xbe\xf6,2+5\xa1t\xf83\xad\xdb\xb1\xb2d\xc0\xa3\xd7\xe7\xb3\xba\xc4\xd5\xd6C<`\x0f/U \xa1q\x192\xd6\x98\\z\x12=U\x91\x93!\x9d\x93\xce\x9e\x902@\x88SMq\xa8y\xd6\xf9\x98\x9f\x0c;\x91\x9eb\xcb\x19[)\x0f\x99\xe7g\xd0\xe11+(\xdb\xd4\x8d\x87\x10\x88\x18SK|\x03\x0f\x86\x94\x155x\xd0\xfb\xee\xce\\>n n0\x88\x06\x18\xec\x8cU\xda#\xb8l\x07!\xc7\xc5\xb8G\xf5v\xbfL}\x7f\x0b_\x90f\xc0l\xf2!\x99\x8d\xb9\xa3jK6\xae\xe4\xba\xb6\x9cQ\xf9\xef:W\xff\xa5s\xf5\xb2\x8e\xd2G\x1dG\x7feF\xfa\xac\xe0l\xa9\x18;\xae\x8bcG^\xd4\x8d7\x8d\x87\x96\x15\x8d\xeb2\xff}\x998\x0ev\xbd\x12-\x7f\x16\xd2\xf4\xd8\x87\xce\xcf\xf9\x1ct\x02D)\x17Tv\xd8\xc1\xb5\xe5\xecW\x00\x00\x00\xff\xffPK\x07\x08t\x02$\xb3\x98\x01\x00\x00_\x03\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\xe4VKT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00 \x00update-buildpack-dependency.shUT\x05\x00\x01\x8d@\x06b\x94\x92]o\xda0\x18\x85\xef\xfd+N\xbdH\xc0\x85\x83\x86\xd4^d\xcb\x05\x1bLCB-\xa2\xedn\xba\xaa2\xf1\xcbb\x08\x8e\x17;T\x15\xf0\xdf'>\xe5\xb1\xcf\xde\x9es\x9e\xf8q\xe47\x17\xed\xdaU\xed\x896m2KL\xa4\xcb\x19s\xe4!\xa8.a\xb5\xa5\xa9\xd4\x05c7\xc3\xde\xd3\x97\xfe\xf8vps\x9dF\xcd\x97\x19\x84\x9f\xe1=&\xb5.\x94\x95\xd9<\xf6\xe5\xa2\xc0\x1a\xb3\xef\x10\x158\x03\xe2\x05y\xa9\xa4\x97\xb1\"KF\x91\xc94\xb9\x87G\xac\x19\xe0\xa8\xa0\xcc7\x11k\x854\x05\x99e<\xe8\xa1\xf5s\xb7\xa4\xca\xe9\xd2`\x0dO\xce7w\xab\x83\xc3\xd3\xa8{w\xd7\x1f_\xa3u\x80\x8ec\xdeb\xac\xb6Jz\x12'7q\x12x\xc1W\x06\x88\xa0\xdai\x9f\xddb\xbf\xd1\n\xc8\x83g\xe1F\x8a0b<\xa4\xfc\x1bDX^;\x8e\xa4\n|\xbaI e)]b\x16;\xce\xf9\xf0\xcb\xe9\xd9pt\x88~\xdc!\xc7aK\xb8\xbc\x04\x9fB\xb4a1I\xf1\xe2k\xa0\x92u\x0c\xb3\xd9\x1bP\xd7\x94;\x00\xf9\x81\x8e{\xf3'\xf8\x1c|\x01S\x07\x00\xc0\xf7\xb1X\xdd\xc8\x84\xe7&\x80:?\xec\xcf;\xd40z\xf7\xfb\xe4tt>|\xff+\xa0\x8e\xbb\xbd\x01_\xdd\xc0\xa0\x16\xd7\xcb\x8f\x01t;\xb9\xd7\x1d\x04\xa9`k,\xb6p\x08\x9d\xc2M\xd7s\x96\xac\xce\x80\x8a\x7f\x17\xff\xf8S\x13\xbd\x8d\xf9T\xec\xe3O]\xcfq\x00\x96\x89(i\xc28t\\s\xbc\x86\xf2\x898KA\xf3\x88A\xa1\xad\xbc\x9c\x05\x1b\xc1`\x07\x0b\x9c\xaa\x8d\xa0.r\xdf\xf6\x83\xe7\xfd0\xf4\xde\xbao\x07l\x8dW\xf4(x\xee!O#6\x9f]\x07\xc0{\x03$1\xee\x17\x02s\n\xf4{\x9a\x08\xa5\xc3\x17\xc0\xef\x10\xf8\xb0\x03\x85\x05|_\x82\xaf\xc1F2\x897\x8a\xfa\x1c\xaf\xa9\xd4\xf0\xa5\x12,\xf5\x17\xc9:M8\xe5J\xc2\xff\xc1\xf7oYL\x16X\x10 (\\\xf0(\xdc\x83\x0d{a/\xac\xd6\x05r\x00H\xc2i5\xe3z\x1b\xafh#\xe3ZY\x8dmx<\xcet5\xf9\x82A\xf5\xc0\xce(-\xa0\x1b\x10\x9aRN(_0\xfa\x8f\x94j\x97\xc9\xa2\xf8\xefD\"\xfb\x06\x93e\x89n\xafYLa\xf2\xe1\xe2\x10\x04\xc5D\xeb\xe0\x13\xe8v\xe1\xc3\xe4t\\\xd0im\x9d'\x17\xe5c\xed\x8f:?t\xc4;\xd4\xd6=%\xf8\xcf\x0f\xe1\xb2\xd4\xff0\xebz\x961\x0c`\xe0.\x19\xaf\xb05\xd2\xd6\xe7\x9a\x9f\n\xc6\xd5\xff\xb2\xd1Q!\xf5\x04B\xc6\x04>\x8dO\xc7\xc3\x8b\xf1\xfc\xe3\xf0\xb7\xb1\xb6)\x7f[\xc3\xae\x0b\x92\xc6t\xa1\xdc\xf6\x9e\x0c4<]Dh\xfa\xb8\xd5\xd4\xed\x94\xc3x\x08<\x08Cs\xb4\xba\xde5\xf1\x8f4\xae\x933\x8d'\xd4\x0e~\x96\xea\xbb\xb3\xd1\x972U\xfd\x9dSu\x08]\x02#n\xe4\xf5\x1d\xc8iG%\x06\x8c\x18\x96\xbd\xded\xd4\xeb\xf5\xe1jZ\xdf\xbdB\xce\x1b's\xc3\x17\xf1\x86P2/\xf6\xf1\x8aJ\xed\x1a.\x1d\x00tppp\x00\x13k\x04\xef\xcaF}\xf4B[|\xd49\xdf\xc1D\xd7\xce\x1fTH\x96\xf0l\xa3\xef\xfb\xba\x05\xfb\xd9?\xf3g6\\\x88`\x072\x11j\x1em\xdd\x9a\xf0\xb0\x03,\x17\x8c\xcdIr\xcb\x17X\x9a|\xadq\xea\xa2i\xddT\xef\\UV5\xb3\xc6\xe2\xb7\x0c\x93w\x85<\xf0\x0c0\xe4\xcc,{\xa9t\xdd\xba\xb2\xc2\xf6b\x93\xeaaB \\\x98\xed\xbeE-\xcb\xa8\x19iG\xea\x1b\x04F\xe6fHB\x97x\x13\xaby1\x01\xb7s\x8bP\xba\xa4\x82c\x94Y\xc2\xa8\xb0\xcc\xf5\xcd\xa5\xbfO\xf3\x86\xd8\x1a\xa8J\xe6\x94+\xc1h\x85\xc3W\xbam'\xa1)|\xa5\xdbB\xd0o8\xde\xd0\x16F\xfbY\xde\xa0\xb0\xdf\xaa\x96\x8bE\x0d;\xb88\x19\xbe|\xf5\xbaV2\xe6\xaf\xf8UbR\x807\xc5\x12\x86\xf0`&\xa6\x15\xbb\xbc`\x8a\x8a\xb0\xdf\xf2\x1a\xbf|\xf5Zs\xabSK\x04\xa1b\xbe\x12\xc9&e|%\xdd$g7 Ta\x16\xcb\xa3\x0c\xf7@n\xd6z\x8a\x1c\x9d\xe9\x03p\x9c\x1f\x18\x84\xf9Ffg\x89$\x16\xdf\xa5\x19\xbf\x954\xc2\x0e\xceR\xc5\x12\x8ecc\\\xcb\xe9\xfe\x97o\xb7]\x08\x0c\xbe\xdc%\xa0\xbc\xf8\xf4\x08x\x01\xae\x9d\x0f\x05k\xbd\\Q\x01y/\xa0\x98\x9eAb\xa3\x1b\xbbL\x9fb\xe9J\x0f\xc1\x99\xbe\xc6\x13\xc6]\x04\xc8\xb3\xd5`D\x03\x98Y\x01\x07aU\x9e\xbd\xa0v\xda\xee\xa7\x8d\x9bZI\x19q\xd3|\x18g^z\xbd\x11[Q\xa9\xf4\x08\x1b<\xf3}\x18M\x8e\xc7\x17\x9f\xe1\xfct\xf8~|rf^\x86\xbe_U\xd6\xb2HK\x97\x98&\xd22\xe5\xaaf^\xcdE~3dCB\xbb\xb1\xe3\xa2\xb9\xd5vtM\x15&X\xe1\x00\xd9\xb6\xf7\xf3^7\x8f\x99\x87f\xc1\x13\x9d<\x1a\xb9\xdc\x9dY\xccR\xb7>j\xdf\xe6\xde4\x86vW\xef\x90\x86I\xddC51H\x17rc\xa2p*U9Y\xfb\xeb\xa8\xad\xef\xaa7\\~\x83G\xf7\\\x03\xf7\xb6\xa4\xb9L\xef\xa9\xa3\xa8\x99\xfc\xa8%\xe9\xd1\xcf$\xfb\x91\xc3\xad\x91\x1eLn\xab]\xdd]k2\xa3J\x12Q>t\x10z\xa0\xcbK/I\x9d\xb1f\xc3\x07\xd5\xf0\xb5\x82\xb8\xac\xbc?\xff\xfe3\xa1Q:\x81\xa7GV)\xb95\x1a\x9d\xf2\x0b\xcb\xd1\xc3m\x19c\xa5(/\xc6\xdc\x94#\xcf\xe9V^xQB\xb6\x8e\xb3\xba\x06\x9c2\xfbx[Su\x9d\x108\x1f~~\x7fb\x96P(h\x9a\xc8\xb0\x9f\xdcr*\xc2\xbe\xfe\n\x05\x8d)\x96T\x86\xfb\x97\xddd\xff\x00\\2\x1a\x13@\n\xaf\xe6\x9a\xe4\xe1\xde\xe8\xf3\xf0\xb8\xfc\xda-L\x8d\xd9/\x16\x97yx\xd6\x0c4\xd2\xbd\x81\xfeB\xce_\x01\x00\x00\xff\xffPK\x07\x08p\xe2\xc0a\x1a\x05\x00\x00\xb8\x10\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\xe4VKT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00 \x00update-lifecycle-dependency.shUT\x05\x00\x01\x8d@\x06b\x94\x91Q\x8b\x131\x10\xc7\xdf\xe7S\xfc/.lKI\x16\xefq\xbd*\x8a'\x08\xc5\x03\x05_n\x0fIw\xa7nzi6f\x93\x1e\xa5\xedw\x17\xdbUz\x8az}\x0b\x99\xf9M~\xff\xcc\xb3\x8b\"\xf5\xa1\x98\x1bW\xb0[c\xae\xfb\x96\xa8\xe7\x08\xc9\xa9\x837\x9e\x17\xdaX\xa2\x9b\xd9\xdb/\x9f\xaf?~z\x7f\xf3a\x9a\x8d6K\xc8\xb8\xc4\x15\xe6\xc9\xd8\x86\x83\x8a\xdd\xcab\x87\xe57\xc8\x80\\Y\xb3\xe0zS[V)\x18\xecPk\x1fS\xe0\x91P\x93b=zu\xb5\xe6\xd0\x9b\xce\xbd\xbc\xad\xaa\xe6nRU\xea\xb7\xc3\xb8P\x131\xc6\x0ej\xe8\xcc\xc7D\xc97:\xb2\xfc5[6\xec\xd95\xec\xea\x0d*\x02\xa4\x1cl\xe4\xc1\xe6\x91\xda\xb1>\x0c\x83\xc8\xb6C\x96\xbd \xfaj\"t\xd3<\x02\x0e\x97u\xcb\xf5}\x97\"\xa4\x84\"2\x0b\xdcBd#\xae\xdb\x0e\";\xf9\x11\x81\x1d\xf4\xc3=\xe4;\xe4*G\xbe\xf5\xc1\xb8\x88\xec\xf9>\x1f\x0b\\LO\xa8'\x11w/\x10[v\x04\xcc^\xbf\xb9\x9eME\xcf\xab5\x87r\xa5\x97]\x10\xc4\xf6|\x95\xcb\xb3U.\xff\xadb\xdcQ\xa5\xe7?j^\xc7\xba\x15\xb40D\xc7\xa7\xca\xb2\xe7(\xbb\x14}\x8apz\xc5\xd3\xce6?\xb7Q\x96\xd9\xf6$\xc0^\xfc\x15r\xfcp\n\xfd\x1f\x18\x9a\xa5\xd5s\xb6?\x90\x83\xe7^\xd0\xf7\x00\x00\x00\xff\xffPK\x07\x08\xd2/:\xe4d\x01\x00\x00\xf6\x02\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00V}\x17S\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00 \x00update-netrc.shUT\x05\x00\x01\xf4\xc1#a\x14\xcb1\xae\xc2 \x18\x07\xf0\x9dS\xfc\x1f\x8fU\xb9A\x93&\x92\xb8\xd4\x9a\xa2q\xa6\xf8)$\x15\x08\xb4:\x10\xeen<\xc0\xef\xffOn%\xcb\xd9\x07I\xe1\x8d\xd9\x14\xc7X\xa1\x15;\xda\"\x92O\xf40~a\x8c\xac\x8b\xe0/c\x9d\x0f\x04Q\x8f\xa3\xbe4,\xf1\xe9\x03D\xbdj5\x9d\xfaA5$S\xca'\xe6;D=\xf7Z\xdf\xc6\xe9\xd08\xba\x0e\xfcg\x06\xd5\xb8\xdc\x07Z\xb3e\xdf\x00\x00\x00\xff\xffPK\x07\x08\xab\xefq\n{\x00\x00\x00z\x00\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\xe4VKT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00 \x00update-package-dependency.shUT\x05\x00\x01\x8d@\x06b\xbc\x93Qo\xda>\x14\xc5\xdf\xfd)N\xfd\x8f\x04\xfc'\xa7j\x1f\xb3\xb2i]\xb3i\x1a\xa2h\x93:M\x80*\x93\\\xc0\x10\x9c\xccv\xa8*\xc2w\x9f\x12`$\xea\xda\xad\x9b\xb4G|\xef\xf1\xf9\xf9\x1c\xf2\xdf\xc9in\xcd\xe9D\xe9S\xd2kL\xa4\x9d3f\xc9AP\x9e\"S\x19M\xa5J\x18\xeb\x87_no\xc2O\x9f?\\\xf7\xbb^;2R\x13\x12\x0b\xeem\xae\xc2A\xd8\xbf\n\xfbo\xbfn9\n\xcc\x0ce\x10k$\xd2\x91u(`S\xe3 nP\xc0I\x95@h\x9cu\x18SS\x0c\x87\x10\x84I\xae\x92\x98\x8c\xef\xd2U\x82\xf1\xf8%\xdc\x9c4\x03\xae{W5\xc3\xfb\x05\x84[\xe0\xa2\xb9^`\xf1\x0d\xc2\x80\xfb\xd5q&\xa3\xa5\x1d\x8e\xfd\xdc(\x14\x88d\xe6rC\xed\x11\xf7\xffoP\x06\xed\xd7\x17k2V\xa5\xfa\x95\xff\xa23\xe2\x1d\x14\xf0\xf7'\xbc\xc3\x18\x90g\xb1t$\xca\x0b\xe5\x8cDL\x19\xe9\x98tt\x8f\x11\x03\x00!\xf6\x1c\xa2\xe2h@\x1d6T\xfc \x9d\xc3h\xefU\xcek\xb9nyi=S\x0e2\x8e\x1bw\xb2\xa9\xaa%\xb6\xa7\xfa\xdd\xc4\x1a\xeb\xc7\xc4~\xbcI\xd1?\xcd\xac\x9c\xd7R+\x7f\xfe,\xb7\xcb\xc1\xed\xd1>\x10\xde\xb3s\xfc5\xceaT\xb97Rj\xa2\x0c>\xbe\xffK\x96F\xa7\xc7\x17\xd7=\xab\x8a\xcb\xbdhN\xd12\xcd\x1d\x84\x80\xbfk\x1d\xdckS4O\xc1\xbdZ\xc7\xe5\xc7&\xef\x96\x10\xef\xd0\xf2[hm2\xa3\xb4\x83w\xb6mu8N\xba5U\x0d\xe8i\xd5\xf1\xcf\xd4{s\x19\xf6\xba\xdc\xd2jM&X\xc9Ej8\xa3\xe4\xf98\xe7\x7f\x84s\xfe4\x8e\xd2;\x1cK\x0ff\x99t\xd1\x9cWq\xee\xec\x82\xc0\x92\x13i\xee\xb2\xdcA\xcb\x15u\xd3$>\xd4\x15\x04\xde\xa6\xf6\x88-\x7fT\xa4\xe9\xae.jv\xfc\x98h/\x10\x89\x9cPR\xca*\xd6-g\xdf\x03\x00\x00\xff\xffPK\x07\x08d\xb7\xc2\xd1\xe7\x01\x00\x00w\x05\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00V}\x17S\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00 \x00update-pipeline.shUT\x05\x00\x01\xf4\xc1#a\x9c\x92_k\xdb0\x10\xc0\xdf\xefS\xdc4\x8f4\x0f\xb2\xf2\x9c\xe1AX<(\x848\xc4a\x7fhK\x91\xed\xb3\xad\xc6\x91%\xf2\x9a\xf2\xa3\xe9\x01\x00\x00\x81\x02\x00\x00\x11\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\xd6\x07\x00\x00create-package.shUT\x05\x00\x01\x8d@\x06bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00V}\x17Shy\x98\xea\x84\x00\x00\x00\xa7\x00\x00\x00\x1b\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\\ \x00\x00enable-pack-experimental.shUT\x05\x00\x01\xf4\xc1#aPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00D\x80fT\x85\"\x0ei\xfb\x00\x00\x00h\x01\x00\x00\x10\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x812\n\x00\x00install-crane.shUT\x05\x00\x01\x00\xdb$bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00rsKT&\x95T\xcd}\x00\x00\x00\x89\x00\x00\x00\x19\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81t\x0b\x00\x00install-create-package.shUT\x05\x00\x01Yr\x06bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00rsKT\xc6\xd7y\xcb~\x00\x00\x00\x89\x00\x00\x00\x0f\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81A\x0c\x00\x00install-octo.shUT\x05\x00\x01Yr\x06bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00V}\x17S\xdbZX\xfe\xeb\x00\x00\x00O\x01\x00\x00\x0f\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\x05\x0d\x00\x00install-pack.shUT\x05\x00\x01\xf4\xc1#aPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00V}\x17S-\xdb\xfd\x81\xf6\x00\x00\x00a\x01\x00\x00\x11\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x816\x0e\x00\x00install-richgo.shUT\x05\x00\x01\xf4\xc1#aPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00rsKT\x80\xfd\xc2u\x86\x00\x00\x00\x98\x00\x00\x00(\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81t\x0f\x00\x00install-update-build-image-dependency.shUT\x05\x00\x01Yr\x06bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\x97}fTD\x9aU\x15\x83\x00\x00\x00\x96\x00\x00\x00&\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81Y\x10\x00\x00install-update-buildpack-dependency.shUT\x05\x00\x01\xee\xd6$bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00rsKT\x81i\"\xe9\x86\x00\x00\x00\x9e\x00\x00\x00$\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x819\x11\x00\x00install-update-buildpack-image-id.shUT\x05\x00\x01Yr\x06bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00rsKT[\xf5\xeb\xb7\x86\x00\x00\x00\x96\x00\x00\x00&\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\x1a\x12\x00\x00install-update-lifecycle-dependency.shUT\x05\x00\x01Yr\x06bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00rsKT(\x19B-\x84\x00\x00\x00\x94\x00\x00\x00$\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\xfd\x12\x00\x00install-update-package-dependency.shUT\x05\x00\x01Yr\x06bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00V}\x17SZ}\x1a\x0e\xe4\x00\x00\x00E\x01\x00\x00\x0d\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\xdc\x13\x00\x00install-yj.shUT\x05\x00\x01\xf4\xc1#aPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\x9bX~TJ\xed3\xf2\xc0\x01\x00\x00\x9c\x04\x00\x00\x14\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\x04\x15\x00\x00package-buildpack.shUT\x05\x00\x01V9DbPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\xe4VKT\xcd\x81\x9d\xa8\x08\x01\x00\x00M\x02\x00\x00\x12\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\x0f\x17\x00\x00republish-image.shUT\x05\x00\x01\x8d@\x06bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\xceQ~Tt4b\x1aN\x00\x00\x00W\x00\x00\x00\x18\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81`\x18\x00\x00run-integration-tests.shUT\x05\x00\x01\x84-DbPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00V}\x17S\xa4\xd5!O?\x00\x00\x00:\x00\x00\x00\x0c\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\xfd\x18\x00\x00run-tests.shUT\x05\x00\x01\xf4\xc1#aPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\xceQ~T!\xdd\xeceF\x00\x00\x00D\x00\x00\x00\x11\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\x7f\x19\x00\x00run-unit-tests.shUT\x05\x00\x01\x84-DbPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\xe4VKTt\x02$\xb3\x98\x01\x00\x00_\x03\x00\x00 \x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\x0d\x1a\x00\x00update-build-image-dependency.shUT\x05\x00\x01\x8d@\x06bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\xe4VKT\xe8/\xa4\xeb\xb5\x01\x00\x00\x04\x04\x00\x00\x1e\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\xfc\x1b\x00\x00update-buildpack-dependency.shUT\x05\x00\x01\x8d@\x06bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00V}\x17Sp\xe2\xc0a\x1a\x05\x00\x00\xb8\x10\x00\x00!\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\x06\x1e\x00\x00update-draft-release-buildpack.shUT\x05\x00\x01\xf4\xc1#aPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\xe4VKT\xd2/:\xe4d\x01\x00\x00\xf6\x02\x00\x00\x1e\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81x#\x00\x00update-lifecycle-dependency.shUT\x05\x00\x01\x8d@\x06bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00V}\x17S\xab\xefq\n{\x00\x00\x00z\x00\x00\x00\x0f\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x811%\x00\x00update-netrc.shUT\x05\x00\x01\xf4\xc1#aPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\xe4VKTd\xb7\xc2\xd1\xe7\x01\x00\x00w\x05\x00\x00\x1c\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\xf2%\x00\x00update-package-dependency.shUT\x05\x00\x01\x8d@\x06bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00V}\x17S\xddd\x12\xe6\x98\x01\x00\x00%\x03\x00\x00\x12\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81,(\x00\x00update-pipeline.shUT\x05\x00\x01\xf4\xc1#aPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00V}\x17S\xbc\xfb5Z\x1e\x01\x00\x00{\x02\x00\x00\x18\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x81\x0d*\x00\x00update-release-digest.shUT\x05\x00\x01\xf4\xc1#aPK\x05\x06\x00\x00\x00\x00\x1f\x00\x1f\x00\x88 \x00\x00z+\x00\x00\x00\x00" fs.Register(data) } \ No newline at end of file diff --git a/octo/test.go b/octo/test.go index 95b562c1..5ca9ed76 100644 --- a/octo/test.go +++ b/octo/test.go @@ -36,6 +36,13 @@ func ContributeTest(descriptor Descriptor) (*Contribution, error) { return nil, nil } + var repos []string + if descriptor.Package.Repository != "" { + repos = append(repos, descriptor.Package.Repository) + } else { + repos = descriptor.Package.Repositories + } + w := actions.Workflow{ Name: "Tests", On: map[event.Type]event.Event{ @@ -84,10 +91,10 @@ func ContributeTest(descriptor Descriptor) (*Contribution, error) { j.Steps = append(j.Steps, descriptor.Test.Steps...) } else { j.Steps = append(j.Steps, actions.Step{ - Name: "Install richgo", - Run: StatikString("/install-richgo.sh"), - Env: map[string]string{"RICHGO_VERSION": RichGoVersion}, - }, + Name: "Install richgo", + Run: StatikString("/install-richgo.sh"), + Env: map[string]string{"RICHGO_VERSION": RichGoVersion}, + }, actions.Step{ Name: "Run Tests", Run: StatikString("/run-unit-tests.sh"), @@ -242,16 +249,18 @@ func ContributeTest(descriptor Descriptor) (*Contribution, error) { Name: "Package Buildpack", Run: StatikString("/package-buildpack.sh"), Env: map[string]string{ - "FORMAT": format, - "PACKAGE": "test", - "VERSION": "${{ steps.version.outputs.version }}", + "FORMAT": format, + "PACKAGES": "test1 test2", + "VERSION": "${{ steps.version.outputs.version }}", }, }, }, } - if !strings.Contains(descriptor.Package.Repository, "paketo-buildpacks") { - j.Steps = append(NewDockerCredentialActions(descriptor.DockerCredentials), j.Steps...) + for _, repo := range repos { + if !strings.Contains(repo, "paketo-buildpacks") { + j.Steps = append(NewDockerCredentialActions(descriptor.DockerCredentials), j.Steps...) + } } j.Steps = append(NewHttpCredentialActions(descriptor.HttpCredentials), j.Steps...)