From b283eb96def658aaec03f940a9ea20dbc82032dc Mon Sep 17 00:00:00 2001 From: laventuraw Date: Sat, 1 Feb 2025 16:21:31 +0800 Subject: [PATCH] image-layout: ./refs/ -> index.json From the 2017-01-25 call we agreed to keep the manifest list as the entry point for accessing objects. The index concept is only a more generic use of the manifest-list. https://github.com/opencontainers/image-spec/pull/438#issuecomment-275252735 This change uses the manifest-list as an index that allows implementations to work around needing to walk/traverse the `./refs/` directory. As the `./refs/` directory was REQUIRED to exist, with its removal this `index.json` is REQUIRED to be present. This includes validating the image-layout example. This also makes `validate-examples` automatically update `schema-fs` if there have been changes to the JSON schema. Obsoletes #438 Signed-off-by: Vincent Batts --- Makefile | 13 +- annotations.md | 1 + config.md | 2 +- image-layout.md | 153 +++-- manifest-list.md | 6 +- schema/content-descriptor.json | 4 + schema/defs-image.json | 7 +- schema/fs.go | 1007 +++++++++++++++++++++++++++--- schema/gen.go | 2 +- schema/manifest-list-schema.json | 6 + schema/manifestlist_test.go | 4 +- schema/spec_test.go | 4 + 12 files changed, 1070 insertions(+), 139 deletions(-) diff --git a/Makefile b/Makefile index 8eddf64f..fc2fb08d 100644 --- a/Makefile +++ b/Makefile @@ -75,12 +75,14 @@ $(OUTPUT_DIRNAME)/$(DOC_FILENAME).html: $(DOC_FILES) $(FIGURE_FILES) ls -sh $(shell readlink -f $@) endif -validate-examples: +validate-examples: schema/fs.go go test -run TestValidate ./schema -schema-fs: +schema/fs.go: $(wildcard schema/*.json) schema/gen.go + cd schema && printf "%s\n\n%s\n" "$$(cat ../.header)" "$$(go generate)" > fs.go + +schema-fs: schema/fs.go @echo "generating schema fs" - @cd schema && printf "%s\n\n%s\n" "$$(cat ../.header)" "$$(go generate)" > fs.go check-license: @echo "checking license headers" @@ -90,7 +92,7 @@ lint: @echo "checking lint" @./.tool/lint -test: +test: schema/fs.go go test -race -cover $(shell go list ./... | grep -v /vendor/) img/%.png: img/%.dot @@ -129,4 +131,5 @@ clean: clean \ lint \ docs \ - test + test \ + schema-fs diff --git a/annotations.md b/annotations.md index 2bcc6e7d..a92e2d71 100644 --- a/annotations.md +++ b/annotations.md @@ -21,3 +21,4 @@ This specification defines the following annotation keys, intended for but not l * **org.opencontainers.homepage** URL to find more information on the image (string, a URL with scheme HTTP or HTTPS) * **org.opencontainers.documentation** URL to get documentation on the image (string, a URL with scheme HTTP or HTTPS) * **org.opencontainers.source** URL to get source code for the binary files in the image (string, a URL with scheme HTTP or HTTPS) +* **org.opencontainers.ref.name** Name of the reference (string) diff --git a/config.md b/config.md index 1a3e8162..ae3c8adc 100644 --- a/config.md +++ b/config.md @@ -229,4 +229,4 @@ Here is an example image configuration JSON document: ``` [rfc3339-s5.6]: https://tools.ietf.org/html/rfc3339#section-5.6 -[runtime-platform]: https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc2/config.md#platform +[runtime-platform]: https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc3/config.md#platform diff --git a/image-layout.md b/image-layout.md index ffae53b7..b4919051 100644 --- a/image-layout.md +++ b/image-layout.md @@ -3,29 +3,32 @@ The OCI Image Layout is a slash separated layout of OCI content-addressable blobs and [location-addressable](https://en.wikipedia.org/wiki/Content-addressable_storage#Content-addressed_vs._location-addressed) references (refs). This layout MAY be used in a variety of different transport mechanisms: archive formats (e.g. tar, zip), shared filesystem environments (e.g. nfs), or networked file fetching (e.g. http, ftp, rsync). -Given an image layout and a ref, a tool can create an [OCI Runtime Specification bundle](https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc2/bundle.md) by: +Given an image layout and a ref, a tool can create an [OCI Runtime Specification bundle](https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc3/bundle.md) by: * Following the ref to find a [manifest](manifest.md#image-manifest), possibly via a [manifest list](manifest-list.md#manifest-list) * [Applying the filesystem layers](layer.md#applying) in the specified order -* Converting the [image configuration](config.md) into an [OCI Runtime Specification `config.json`](https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc2/config.md) +* Converting the [image configuration](config.md) into an [OCI Runtime Specification `config.json`](https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc3/config.md) # Content -The image layout MUST contain two top level directories: - -- `blobs` contains content-addressable blobs. - A blob has no schema and should be considered opaque. -- `refs` contains [descriptors][descriptors]. - Commonly pointing to an [image manifest](manifest.md#image-manifest) or an [image manifest list](manifest-list.md#oci-image-manifest-list-specification). - -Both `blobs` and `refs` MAY be empty. - -The image layout MUST also contain an `oci-layout` file: - -- It MUST be a JSON object -- It MUST contain an `imageLayoutVersion` field - - The `imageLayoutVersion` value will align with the OCI Image Specification version at the time changes to the layout are made, and will pin a given version until changes to the layout are required -- It MAY include additional fields +The image layout is as follows: + +- `blobs` directory + - Contains content-addressable blobs + - A blob has no schema and should be considered opaque + - Directory MUST exist and MAY be empty + - See [blobs](#blobs) section +- `oci-layout` file + - It MUST exist + - It MUST be a JSON object + - It MUST contain an `imageLayoutVersion` field + - See [oci-layout file](#oci-layout-file) section + - It MAY include additional fields +- `index.json` file + - It MUST exist + - It MUST be a JSON object + - It MUST have the base properties of [manifest-list](manifest-list.md). + - See [index.json](#indexjson-file) section ## Example Layout @@ -33,17 +36,12 @@ This is an example image layout: ``` $ cd example.com/app/ -$ find . -. -./blobs -./blobs/sha256/e692418e4cbaf90ca69d05a66403747baa33ee08806650b51fab815ad7fc331f -./blobs/sha256/afff3924849e458c5ef237db5f89539274d5e609db5db935ed3959c90f1f2d51 -./blobs/sha256/9b97579de92b1c195b85bb42a11011378ee549b02d7fe9c17bf2a6b35d5cb079 -./blobs/sha256/5b0bcabd1ed22e9fb1310cf6c2dec7cdef19f0ad69efa1f392e94a4333501270 +$ find . -type f +./index.json ./oci-layout -./refs -./refs/v1.0 -./refs/stable-release +./blobs/sha256/3588d02542238316759cbf24502f4344ffcc8a60c803870022f335d1390c13b4 +./blobs/sha256/4b0bc1c4050b03c95ef2a8e36e25feac42fd31283e8c30b3ee5df6b043155d3c +./blobs/sha256/7968321274dc6b6171697c33df7815310468e694ac5be0ec03ff053bb135e768 ``` Blobs are named by their contents: @@ -53,33 +51,6 @@ $ shasum -a 256 ./blobs/sha256/afff3924849e458c5ef237db5f89539274d5e609db5db935e afff3924849e458c5ef237db5f89539274d5e609db5db935ed3959c90f1f2d51 ./blobs/sha256/afff3924849e458c5ef237db5f89539274d5e609db5db935ed3959c90f1f2d51 ``` -## Refs - -Object names in the `refs` subdirectories MUST NOT include characters outside of the set of "A" to "Z", "a" to "z", "0" to "9", the hyphen `-`, the dot `.`, and the underscore `_`. - -No semantic restriction is given for object names in the `refs` subdirectory. -Each object in the `refs` subdirectory MUST be of type `application/vnd.oci.descriptor.v1+json`. -In general the `mediaType` of this [descriptor][descriptors] object will be either `application/vnd.oci.image.manifest.list.v1+json` or `application/vnd.oci.image.manifest.v1+json` although future versions of the spec MAY use a different mediatype. - -**Implementor's Note:** -A common use case of refs is representing "tags" for a container image. -For example, an image may have a tag for different versions or builds of the software. -In the wild you often see "tags" like "v1.0.0-vendor.0", "2.0.0-debug", etc. -Those tags will often be represented in an image-layout repository with matching refs names like "v1.0.0-vendor.0", "2.0.0-debug", etc. - -### Example Ref - -This is an example `v1.0` ref with a manifest-list descriptor: - -``` -$ cat ./refs/v1.0 | jq -{ - "size": 4096, - "digest": "sha256:e692418e4cbaf90ca69d05a66403747baa33ee08806650b51fab815ad7fc331f", - "mediaType": "application/vnd.oci.image.manifest.list.v1+json" -} -``` - ## Blobs Object names in the `blobs` subdirectories are composed of a directory for each hash algorithm, the children of which will contain the actual content. @@ -156,4 +127,78 @@ $ cat ./blobs/sha256/e692418e4cbaf90ca69d05a66403747baa33ee08806650b51fab815ad7f [tar stream] ``` +## oci-layout file + +This JSON object serves as a marker for the base of an Open Container Image Layout and to provide the version of the image-layout in use. +The `imageLayoutVersion` value will align with the OCI Image Specification version at the time changes to the layout are made, and will pin a given version until changes to the image layout are required. + +### oci-layout Example + +```json +{ + "imageLayoutVersion": "1.0.0" +} +``` + +## index.json file + +This REQUIRED file is the entry point for references and descriptors of the image-layout. +The [manifest-list](manifest-list.md) is a multi-descriptor entry point. + +This index provides an established path (`/index.json`) to have an entry point for an image-layout and to discover auxiliary descriptors. + +No semantic restriction is given for the "org.opencontainers.ref.name" annotation of descriptors. +In general the `mediaType` of each [descriptor][descriptors] object in the `manifests` field will be either `application/vnd.oci.image.manifest.list.v1+json` or `application/vnd.oci.image.manifest.v1+json` +Future versions of the spec MAY use a different mediatype (i.e. a new versioned format). +An encountered `mediaType` that is unknown SHOULD be safely ignored. + + +**Implementor's Note:** +A common use case of descriptors with a "org.opencontainers.ref.name" annotation is representing a "tag" for a container image. +For example, an image may have a tag for different versions or builds of the software. +In the wild you often see "tags" like "v1.0.0-vendor.0", "2.0.0-debug", etc. +Those tags will often be represented in an image-layout repository with matching "org.opencontainers.ref.name" annotations like "v1.0.0-vendor.0", "2.0.0-debug", etc. + + +### Index Example + +```json,title=Manifest%20List&mediatype=application/vnd.oci.image.manifest.list.v1%2Bjson +{ + "schemaVersion": 2, + "manifests": [ + { + "mediaType": "application/vnd.oci.image.manifest.v1+json", + "size": 7143, + "digest": "sha256:0228f90e926ba6b96e4f39cf294b2586d38fbb5a1e385c05cd1ee40ea54fe7fd", + "annotations": { + "org.opencontainers.ref.name": "stable-release" + } + }, + { + "mediaType": "application/vnd.oci.image.manifest.v1+json", + "size": 7143, + "digest": "sha256:e692418e4cbaf90ca69d05a66403747baa33ee08806650b51fab815ad7fc331f", + "annotations": { + "org.opencontainers.ref.name": "v1.0" + } + }, + { + "mediaType": "application/xml", + "size": 7143, + "digest": "sha256:b3d63d132d21c3ff4c35a061adf23cf43da8ae054247e32faa95494d904a007e", + "annotations": { + "org.freedesktop.specifications.metainfo.version": "1.0", + "org.freedesktop.specifications.metainfo.type": "AppStream" + } + } + ], + "annotations": { + "com.example.index.revision": "r124356" + } +} +``` + +This illustrates an index that provides two named manifest references and an auxilary mediatype for this image layout. + + [descriptors]: ./descriptor.md diff --git a/manifest-list.md b/manifest-list.md index 24499bd1..179f7b9a 100644 --- a/manifest-list.md +++ b/manifest-list.md @@ -11,7 +11,9 @@ For the media type(s) that this document is compatible with, see the [matrix][ma - **`schemaVersion`** *int* This REQUIRED property specifies the image manifest schema version. - For this version of the specification, this MUST be `2` to ensure backward compatibility with older versions of Docker. The value of this field will not change. This field MAY be removed in a future version of the specification. + For this version of the specification, this MUST be `2` to ensure backward compatibility with older versions of Docker. + The value of this field will not change. + This field MAY be removed in a future version of the specification. - **`mediaType`** *string* @@ -103,5 +105,5 @@ For the media type(s) that this document is compatible with, see the [matrix][ma } ``` -[runtime-platform2]: https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc2/config.md#platform +[runtime-platform2]: https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc3/config.md#platform [matrix]: media-types.md#compatibility-matrix diff --git a/schema/content-descriptor.json b/schema/content-descriptor.json index 9d9b5489..28c81018 100644 --- a/schema/content-descriptor.json +++ b/schema/content-descriptor.json @@ -23,6 +23,10 @@ "type": "string", "format": "uri" } + }, + "annotations": { + "id": "https://opencontainers.org/schema/image/descriptor/annotations", + "$ref": "defs-image.json#/definitions/annotations" } }, "required": [ diff --git a/schema/defs-image.json b/schema/defs-image.json index ad584dac..80843927 100644 --- a/schema/defs-image.json +++ b/schema/defs-image.json @@ -17,8 +17,7 @@ "required": [ "mediaType", "size", - "digest", - "platform" + "digest" ], "properties": { "mediaType": { @@ -78,6 +77,10 @@ } } } + }, + "annotations": { + "id": "https://opencontainers.org/schema/image/descriptor/annotations", + "$ref": "#/definitions/annotations" } } }, diff --git a/schema/fs.go b/schema/fs.go index 48a2beb8..afdc02b0 100644 --- a/schema/fs.go +++ b/schema/fs.go @@ -202,99 +202,647 @@ func _escFSMustString(useLocal bool, name string) string { var _escData = map[string]*_escFile{ + "/.content-descriptor.json.un~": { + local: ".content-descriptor.json.un~", + size: 1548, + modtime: 1485467092, + compressed: ` +H4sIAAAJbogA/wrLzJ0fmueS/5SBSaMjRGHmQ/EFfl9eT6850djLIrZo9xKlhtQ9qr06a//Zz2RgYFBl +YGAIUAADpcwUJSsFpYySkoJiK339/ILUvOT8vJLEzLzUomK9/KJ0/eLkjNTcRP3M3MT0VP3cxLzMtNTi +Et2czOIS/cS8vPySxJLM/LxiJR0GBgYZBgYGUwYGBkYGBgZmBghgRsIMEV25F1lAskwM8RegCpgYEAAk +JQXj/P///z9YZBTQCER05R5jgYTwVwlo0MszMDAooohIw0RMG8GRhhy7DNAIBKljZRiNNDoAeKQxQqJI +EhpFqtCoYQVl61poXDGhaWZGyqWjcUUpgIcklO0IZZfB2BFduReg5R04rkDxJIsUV1QvhE0bn68CBAAA +///GLb+iDAYAAA== +`, + }, + + "/.defs-image.json.un~": { + local: ".defs-image.json.un~", + size: 29232, + modtime: 1485787724, + compressed: ` +H4sIAAAJbogA/+ydXW/cWBnHT9ps+p62SV+Svp462ba7M5PpLtsuCaGCbbXLLkIVk1IsqrS4M2cyTsf2 +1PZ0yWbDqldIKdJ8BCSWNyHgA3CBxC1CiHuuEbeAxBUXQef4OTOPHY9nEjtG0POX2niOz/tvnuNzzmN7 +HpjWj75l33X+Svb9/c43/rj248Ji67ezhT9893fffvCn33f+/Yv1Sx/8xVstnvE2CSFVQshtGpI267K6 +tkC1Gqt7c6ueY8+Ua6xu2qZvOrZXtozWku+a9krwv0YIWSKEHCaEjBBCSiRQCf0jeqfy9VF+9gB5/GeI +MEp64qdOE0IO8g9bW1tbIkRpj6RvWp+OBj38rylCyCnofgIoJrrfhVbT8OuOa2k3Xwhw/OxrhJB9EHsU +Up8gClwO0jetHwhw+wJwkwDuMaA52QVXM1eY52tF4MY5jaGMOMNj8oPillLj6FhDxw/kgb7Z+hwbHO/6 +GeDWCxmXIQDtNTFg9jQGcXi4gpZWM+j4XXSMof0kCu04IcQHYzsvDM0ybLPOPP8u86qu2fIdV1ug60Bw +TF7TQAcUwQyVmuA5QTAJIAd2CGV9UAHMUMMA/GkSwGkBMIHfQZiZSh1S/DJUan5Tgl9/fBzXEZTxYYUv +Q6XGd1bg60uP0zqK8j2i6GWo1PTOCHr94B3BKwQAqeBlpdTwTgt4fdgdjaxJjil2GSo1u1OCXTw6GVdq +XKHLUMOg+1kSukmBLpbcuNwGAx2HzQCxfFDkUmoYcr/C5K5AIknusNwa25B7YhzQBMrqBABTm9BZaBhg +vxbA9gfAeNe/TghpA7CDElj37CzglPtjJ2AH9CTkyGGuKIAZaRVdiXx5BQKAIlzffHYJWxzveo8Q8jwU +0pAhAG0CPAZSkxBPDZNZqI2gfdYHGhXQRgNEdUD0AqzuUHeYBF6TyDdEgF1DflC8UmoYXgVsZFiC2Toh +5B6lWg3mJKZjawt8itL12NKW4fpmtd00XOo79F6L2Xcc2zdMm7n0Q8tYYXSpxapm3awaInkxcAFqyOvL +5znSMahZrGYa99daDEK/Aj4ns8ZLbvh+y1sol50Ws6uyHG/OcVfKXrXBLKNs8jLLvVyKciuBz4qDbDUv +cC7zU0+kL9LwfeaK1j16+NXSd4zSJzdK88u9wyszs1dLjx7PFZbXbxTfevvWRnm4aLP84jIWzA14v2MH +WtDCtvSqhTvZbzBadddavrPiGq2GWaXVBqs+9doWDZJTp055JOfJKqv6RWra4iO0hF5bbBhe4/bCYoN9 +z6ixqmkZTUh5+9qgbinGdUvQwseFudJyYeGhUarzphciDQy2vVmTWcyOrEIIIR/ujub2XfS4+gcdIU5N +wimXPWubLuOlPZSLo8jXrEslWPSanwRBJ6Lezt6sYbko18i8h1ynxVzfZPJrfCamjODMe+g+iBjYIjpv +iwTrsjpzmV1lNYqaVoi5myJyE0W33PDUNOTDFQ0N6vV+cr14TP7lerLmMy+5bjdi6tbnTg/T9m+9s72C +k9FuD6q4llzFvbWT6wN7vPcV6V3iCCEHeoc9A0ny7CkLURby/24h/bq77TblF2Spf1sM2jSDCvP4tO46 +Fv24YVYb1G+YHrSAWsYafcJozfnYbjpGjdW07qUpYhGG6xpr4uwpdNb0mSUrc5HSmHToWnk+FKHuuJbB +oWht1+TtPdI7ubGt+ae76bo3QwWl3sG12dFQ0M0oUre4QeAsOh0ZCMKtMtxqw/RZ1W+7EeMXpx2Pt/Ro +L0QMANMoxrZB4GL//IMI92lIu+yF8raaX4rkGyFKCBnH58M2J1sbVPGjbKroeLuu2PlIxeaeM9cLTIVX +sJJVBbv57raiF6IVrTODI4kx+ZQ17WacVNWe2U9FC0amT6OKaerxcIyN2NaHCtGeG65p2HLg3k1vTodS +RLryv9LmY9GAxGEvcFIYtu34Bl4CvicrtCP6OB80NmmOze7VYTjrzst4MQuodTu/ITnclFDGUzHdZreb +zX4zw2W+KqdJs0XVUzE9tT/4MyK3kU7xSSXauziNt4jVNlJKNdDtvS46fiCP9c1nt/A2Eu/6Mmwh9UJm +ZQhA45DOomLOQDyRpYKWUh4CtdEH2jyGpiGbGUGjEdDidPAW4Vl4+kK5Q7IQNqtP+9BawLRKYGIvQyFz +MgSgcUjTqJgp5TXOUMOY2OJo8FBLyGv8w37uEB7pHCphGt9qo3il1DhygZQj7hBxrL/8+T8Er7HwYxME +zEZtbceUoTbuXs2Nu+4EPmZxgns93QIFb8rhRUpoubmeyXOm21fZ2wq5ECkkunBJWgQvD3YOwFWAj/rn +0bh1DoYh8UyrugrstfSXv/m8n1N8VTnFlVN8F05x5fNTU4dw3V7lqYPy+UE65fNTPr+dV0z5/JTP73/Q +56cWjJkvGJV/cDj/IF9BX0DLOL66rhBC5olaUecgvVMp4hX1N+GtXquwD56R9QNsDvciKv0CeoeYgr3n +0juVkF+xAt1P8POp0WEF0HFUl1BeFyGteM5fodtrDUIXvrwBM87oMsqE87uvmOUlvVMJOYaXoPsJMItM +UgAah0RRLpcVtDyldypfSoIWa2iXwYMsRSGR8FAqZnutQcwSp/qAkEZe4XdFmV2e0juVxaHNTq4drkQe +N9cgkZpO5iK9U/lyEjO8YAZi8ml+qRm1AMhTeqdyNzqLvA9vgx5Jv/ECkGfghQ5SswB5kijIOUjvVN5P +gpxiXwgAc6BXUYmvK8B5ahDg+RjAO+LLeV5DBV5VfPPUIL5fjOG7E7wc53VU3jWFN08NwvtuDN4d0OU0 +30DFXVd089Qgurdi6A4Pl8N8E5X2hoKbpwbBvRkDd2i2nGUBFfamYpunBrF9J25YHhItR1lEZRUU2jyl +dyofJKH9QgzaIckW0C8fEaCsyOYmvVP5WhLZt2PIDge2GCmpBGDFNr8Cu9fSO5WP4IfDYsG+FQN2KK74 +Tb0T8A5R9fLXrIS3/ebRMX756z/j3tb7PLpn/PTpBvrpsf2QfBR+gmxCPYyel/RN6/uY2El5dSO9h5n3 +RdLsxy/oVYj2Wvqm9ZlANBIgkq/afQTWs+3JkJsv/vbL/wQAAP//3qmtszByAAA= +`, + }, + + "/.gen.go.un~": { + local: ".gen.go.un~", + size: 20882, + modtime: 1485571204, + compressed: ` +H4sIAAAJbogA/+zbS4zTRhgH8IGE93uhvB8fC7SAdjNARasuhRL2ASlLQjdZMBJqcexZZ1jHdj0OIbfS +xy33nqqq114qVeql916rSr1VVW9Vb9za61aTOMts2M1Y6905zV/i4Nieb5yfPTuRhwe0/u2sN+H/jTb+ ++vUP5OLlHUPVn1/ib3ZmHv/3y8vfhw7/+BcrfvHTn98ZfyCE3kCvcgshtAEhdC7ePif8Q0Y7+1WW782g +T36LD9gnnLwhbuxtvrGwsLDQ+URnnWK0M+9mu9/wv4cRQgcQQgfjffzjqxg7/phDPBKaEQHCLBgNQvqM +b4wG8851ZtVI3YRR6nh+SK7nLjo+5K6+6NjyBoYQQhvjBvdpW5Ux2tmP+2174R/fXo3tKPUst2Hzrce5 +p8z3FrW57n6hxFCsfRNpbQUx2lm3o72xqy2GM7yJMYz7QSukTi2CK5cuvwOVGoFp6jWew5Tf8Gwzor7H +G8CYj+IYwzS1iMeIDQ3PJiFENQL5wLQ6p3X2jMADEjLqe3AldwnO8wOG413DF64hhMYxhpbfgLrZAs+P +oMEIRDXKYI66BMhziwQRUA8svx641PQsAk0a1Tql4oZyCKGLGMOjuBm/GpnUAxMsP2iBPyceC2a0eAGX +MQaeWhQFYxg3m82c2el8zg8d7HZPYHi6MD5ZLE+OXsldWjx1CmOY9VzCGITk0wYNiQ3VFphB4FLLrLoE +XLMJfgimExJiQ+Tza2iGNKKeMwLMn4uaZkgQQhMYg01ZFNJqI1ryRfZ6TNmSA3wPTA+G82UolIfhVr5c +KI8ghO5iDA8LlTul2Qo8zM/M5IuVwmQZSjMwXipOFCqFUrEMpSnIFx/B3UJxYgQIjWokBPI8CPl1+CFQ +/hUTOxdfYJmQJR2Z87sdYwGx6By1wDU9p2E6BBz/GQk96jkQkLBOGQdnYHo2Qug0xuDSOo06dw97/QJz +8T24OzCted5ad1SJP72BMdyORyDeJJB6tUpsm9gdt9wUdUm5xSJS7/TPdN34/M4NxBBCOYyhwXjn+AB2 +np/FxjB2aFRrVHOWX8f1p7TKfA8TZl3o9eY9jKHC70NW8xuuDd1R0HVbUCVAvWf+PLG7d+KTujnf6/To +HHuCEJpd3cDZ22DNYMAwOtQ3Uu+Pn18+q9LD6LrHaGc/G/RHc13t9/fNpA9oe5WR2VfS269IL068Ucyu +6ZVFRl9OT7+SPFc+JJQ7qOVVRiY/k15+BXgOLc7UD2l4lZHBf5Qefnl37nxEKHZYu6uMzP1+evdl2Xmt +o0KtI5pdZWTspfTsy6lz5WNCqaNaXWWMdvbFIPVievVl0DnycaHSMY2uMjL0e+nRXzfnxieEQse1ucrI +zKfTm79GzolPCnVOaHKVkZHfTU/eL86FTwllTmpxlZGJf5hevA+cA4NQ5ZQGVxkZeGENRvUl3tz3tFAE +tLfKGO3s54O876T3XsLNeYeFGqc1t8rIuFe5QkXkFrW57hmhxLDWVhmZ9lR6bQGb454VKpzR2Cojw55c +gxdqi9ZnhNWmKHbX1sois55Ib71Ifbav9jlNrTJGO/tlvHxbrzLUqwz1KsP1W2U4vga/bYWF+Jm4T/vi +Bfn8aX0L6UFTQYx25t6g/2SRdOKbbB0+x80K1TMaW2WMdqY4CDvpxDeRNbfdJBTPamuVkVknnfgmoea0 +m4XamzS1ysiok/61TiDNZbcIpTdraZWRSd9KKC2H5rBbhcpbNLTKyKDzCaGlztx1m1B4q3ZWGZnzzYTO +MmbOul2ou00zq4yM+YOEzBJlrrpDKLtdK6uMTPlGQuXByBx1p1B1h0ZWGRny9aS/oQcZc9NdQtGd2lhl +ZMbvJ/1BNYCYk+4Wau7SxCojI76WkHiAMBfdI5TcrYVVxmhnSoOExxK/w1gJmIPuFSru0cAqY7Qz9zvA +G1697+0B6/e9+n2vft+7Zu9704+Ve/oe3r29hxTpsVJBjHZ2Zv2mO/98/38AAAD//yJHSDKSUQAA +`, + }, + + "/.manifest-list-schema.json.un~": { + local: ".manifest-list-schema.json.un~", + size: 23207, + modtime: 1485547022, + compressed: ` +H4sIAAAJbogA/+zcS28bVRTA8VM7fSdNk6ZxmjSt46RJ8/CDR3iEV4Hw6AJ2FLNCVTNBrogdxQYBRUis +kNo1S2CBVCQk+AKwYMcWsesexJIVsEAo6Lj3xie+M5NjnwOr85cqTSfOnFF/Gie2b+dabeuL1+rrjV8h +c/W7ya9e+eejv8d+vpn98l79yo+fvfPNvVcrf/3y7Sd/fv7p73UAmAWAZ/OuwtxOtFlYyxc2os1msbZ1 +/a2odLPZqM+WN6LNWr3WqjXqzfLW9XptM2q21qPmjZ3adquxUwCAHACUAOAQAFTgfhXyB6p37p4awK8O +wJs/uQdkoBN+6Yz/y+7u7m57j9Vfp8j2GbJ9zW9Ub29PD9z/F/5jwj1oEgCm9+0Z83tWP26j4TdkyeEy +7jGHwdDkcdDybbRDHaKz7irG3aPtq9hfoM3CWv6Wg8u0L7xOWXfJjoDByePAvU6vtnEAmCBw8qdg55z1 +F6NrwJwVEztfCZz7Y0bWI+QEDhuzYmLmZwLmvpRR9SiZf8SUFeMoV9OUnw6U+0FG1GNk/FFDVkyM/FSA +3Icxmh4n04+ZsWJi4ycD496JkfQEGX7ciBUTEz8REPcsjKInyewTJqyYWHgtEO4VGEEHyeiTBqyYGPjx +ALhHX/QcIpMHzVcxju8bab6Pha+Ne+Id7DqJIeNVjMO7kcb7aMDbky5qDnedD+ougunK4+i+l6Z7NdC9 +0ai3onqruLFH2ZM3ntFpcibD5q0Yx/v9NO+X2d487mH/RO06bdyKiblfYnOztFF3lJzHiGkrJtZ+ka3N +wR7pOo1Rw1ZMjP0CG5thPerWA9AzMmutxNbrbOuDqf3aA9+YUSsmpn6ef1kfJD3mDu87a9KKiaWfY0sf +BO1hfeMGrZgYOlwklHhJpzv7A/ty5qyY2DlcJJTknM6MpOfICUwYs2Ji5nCRUOIvY2nKE27hru+cKSsm +Vg4XCSUppyEj6hQZP2nIiomRw0VCie9+Jxuj6XkyfcqMFRMbh4uEkoyTiaf8f6dwnTdixcTE4SKhJOJE +YRS9QGZPm7BiYuFwkVDyG2DxwAh6kYy+YMCKiYHDRUKJr5HjfdEzTyZfdL6XwXzlcXw/6G2RUOJHU7G8 +yDlDBueNVzExb7hIKIE3Xhc1C2TujOkqJtZ9hKsbizvjjuQrGK5iYtxVLm6cLVrOkamzZqsYx/ZWmu3D +XNsYWjzGJTJ0zmgVE9M+xKUNZVFynsy8ZLKKiWUf5P+07YJFyAUyct5gFRPDPsD+SdvlOu8NXQvmqpjY +tcJ17WJd8G8/uS4bq2Ji1jKXdb8q6i2ReYumqphYtcRV3YeKiMtk3JKhKsZB/TANtchFpaZouEKmLZup +YmLTFfZr1w4pEhbJsBUjVUxMuswl7YiuuNtT+oomqhhfNBMvusT+HcmDImCZjCrRtcsGKiyXsE1Bv4+7 +RAt7e3LBnnFyMPzWRS66Ny+Re8uC8/f3nTVzaTnyFInbq277Xb9dvb39Q9s8+x/fxLLcdWYVu5PD/1n1 +zt0hd6dm5vr0VOfo7Wgr6vpk4Lev/w0AAP//DEZu9qdaAAA= +`, + }, + + "/.manifestlist_test.go.un~": { + local: ".manifestlist_test.go.un~", + size: 7898, + modtime: 1485549902, + compressed: ` +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 +`, + }, + + "/.spec_test.go.un~": { + local: ".spec_test.go.un~", + size: 20390, + modtime: 1485467160, + compressed: ` +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 +3pMiS6ZPAAA= +`, + }, + "/config-schema.json": { local: "config-schema.json", size: 774, - modtime: 1485388791, + modtime: 1485467966, + compressed: ` +H4sIAAAJbogA/5SRsW4DIQyG93sKRDL2QodOt+YBOnSsOlAwOUc6TI0zRFXevQJyTU6KquvCYP/f/2P7 +u1NKe8iOMQlS1IPSrwninqJYjMBqTzHgQb0lcBjQ2ap6Ktg2uxEmW5BRJA3GHDPFvlV3xAfj2Qbpn19M +q20ah35G8mAMJYhuTssVa2qDkz2AcTW/kXJOUFj6PIKTVktMCVgQsh5UGUcp7RisgP8t3KFZGGOzq/VA +PFkpHW8FesEJdO1dmkTbk4zEf1gt1exGFHByYljLUF6rvO7iTr1lCPXzEHLf2rtyhY3xEDBiuVaed7jw +YiIJ+f9eV27hNWIW4vOjMSyzPd/WjQLTfejq2Dniyl26+a1/0AxfJ+R68vcHl7htejl9p9RHd+l+AgAA +//9eW+CxBgMAAA== +`, + }, + + "/config_test.go": { + local: "config_test.go", + size: 5048, + modtime: 1485459560, compressed: ` -H4sIAAAJbogA/5SRvW7rMAyFdz+F4WS8ju7QKWsfoEPHooMqUzEDWFRJZgiKvHv1EzcxEBTuEsSH/M4R -ya+mbbsBxDFGRQrdvu1eIoRnCmoxALfpn8dD+xrBoUdnS9e/jG3FjTDZjIyqcW/MUSj0Vd0RH8zA1mv/ -/8lUbVM5HGZEEkMpzc1pUrDabXCyBzCu5FdSzxEySx9HcFq1yMmBFUFSJY+TNMdgFYYf4Q4VZQzVruie -eLKaK0NCesUJulK71JbOnnQk/sVq2c1uRE2POzGsZUjWdl53cde9ZfDl8eClr+VdvsLGJAUD5mvJvMOF -FxOpl797XbmF14iixOdHY1hme76tO+1mug9dHTtHXLlLM/+WN3QMnyfkcvK3B5e4bXo5ffp4by7NdwAA -AP//XlvgsQYDAAA= +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 +JPwnAAD//1wA59i4EwAA `, }, "/content-descriptor.json": { local: "content-descriptor.json", - size: 956, - modtime: 1485388791, + size: 1119, + modtime: 1485549194, + compressed: ` +H4sIAAAJbogA/5STQW/UMBCF7/kVI7dSL92aQ8UhqnqBOwe4IQ5eexJP2dhmPKsS0P535DjpJoAoe0ue +3pv5ZuT52QAoh9kyJaEYVAvqQ8LwLgYxFJChfGEQeD+bIsPHhJY6smZK3JYS19l6HEyJe5HUav2UY9hV +9S5yrx2bTnZv7nXVrmqO3BLJrdYxYbBL5zzFqlu7l+41J2PCkoz7J7RStcQxIQthVi2UwQDUgI7Mp2qu +0p/zikeYfKUoxA6KwNghY7DoYNVjil8zdiXnsMs7GkyPd2XYK+2wo0ClbNbnxlPsVNMq04/XUIoFKMB+ +FMwX4vwFhIK8vd9COOoxyysYlscksWeTPFmwHu3XfBygZhesynJbcMtvMiLIAW4evMn+sX3w+N04tDSY +w5x8vLlwkTPsZoAjH/I/8A0cqDIWI3QcB3j2ZD2IpzxDw2BG2CO4+BwO0Th0Z7DldRlmM55lEhzWfVfO +LEyhf7ECqC7yYMqS1ZFJzfppM4YJIcp0RJtp/vcmpo2tLkOv61225HWyWUAnTMX47UiMhenz7ze1ftTb +t9UAfGlOza8AAAD//0l7cGRfBAAA +`, + }, + + "/content-descriptor.json~": { + local: "content-descriptor.json~", + size: 1122, + modtime: 1485467079, compressed: ` -H4sIAAAJbogA/5STP2/bMBDFd3+KgxIgSxx1CDoYQZZ279BuRQeaPEmXmn96PCNVC3/3HkUpttsigRfD -fHyP9zvy9HsF0DjMlikJxdBsoPmUMHyIQQwFZCj/MAh8nE2R4XNCSx1ZMyVuyxHX2Q7oTYkPImnTtk85 -hnVV7yL3rWPTyfrdfVu1q5ojt0SyZqJWtkvlPMWqu3Uv1WtOxoQlGbdPaKVqiTXPQph1pzSmmkdH5ks1 -V+nffmVAmHzlUIgdFIGxQ1YadHBSY4pf617JOezymrzp8a40e6WQHQUqx+b2WHiKHWq6yfTrLZRiAQqw -HQXzhTj/AaEg7+/PIRz1mOUNDMujXnfPJg1kQV/Bfs97DzW7YFWW24JblsmIIAe4eRhMHh43DwP+NE6H -xZvdnHy8ufAiZ9izBva8y6/gG9hRZSxG6Dh6eNYuBoWkPEODNyNsEVx8DruolO4ItkyXYTbjUSZBf1r3 -xJmFKfQvVt3pIntTLllpqZn1w2r5nVppGH/sibF8BF//HtjTiTl/OF18Wx1WfwIAAP//z1UgVLwDAAA= +H4sIAAAJbogA/5STz24TMRCH73mKkVupl6bmUHGIql7gzgFuiINjj+Mp8R/GE5WA8u7I691mFxAlt93R +7/N8M7J/rgCUw2qZilBOagPqQ8H0LicxlJChfWESeD+GMsPHgpY8WTMQt+2I62oDRtPwIFI2Wj/VnNa9 +epd5px0bL+s397rXrjpHbkLqRutcMNmpcx2wntbupXvn5FiwkXn7hFZ6rXAuyEJY1QbaYAAqoiPzqYd7 +6c95JSAMuXYoZA+twOiRMVl0MOsx4NeMvnEOfV1TNDu8a8NeaYeeErVjqz43HrBTp1WlH6+ptAhQgu1R +sF6o8xcRSvL2finhaIdVXtGwfCySd2xKIAs2oP1aDxE6O2l1l9um236LEUFOcPMQTA2Pm4eA341DS9Hs +R/Lx5sJFjrKLAQ68r//QN7Cn7tiC4DlHeA5kA0igOkpDNEfYIrj8nPbZOHRnsel2GWZzPJdJMM77zpJV +mNLuJQqgfOZo2pLVgUmN9dNiDJNSluERLab53zcxbExHk8hjlXWbWc+PvGzPc3I1uQ6mivHbgRib1uff +n9X8Xi+v1wrgy+q0+hUAAP//qPU6nmIEAAA= `, }, "/defs-config.json": { local: "defs-config.json", size: 2236, - modtime: 1485388791, + modtime: 1485467966, compressed: ` -H4sIAAAJbogA/+RVzY7TMBC+5yksw7Gwd6673JCKVAEHhCo3Ge/OEnvMeIKI0L47TrZ0888qpac9VG0m -/n7m89j9nSmlC4g5YxAkr98pfQMWPTZPUQXDgnlVGlZCahvAX5MXgx5YpV8Wb9UuQI4Wc9PiN4+EJ4ZE -2GikYt4uPz2nitQBGkE63EMuLbStB6YASRdiZ3Wqf4rAvUqHIwqjv9WnVw+bJ9z7X4EiFB+JJQ7xrxls -g0+W49v7SP7VVcf9lTNh1zJvHz1O8/ufc7YMs6n1pvsKBdzQxkIjSWpGVLgOhF6G2uRh2/T0tSfQl1u0 -uGDzH1b7dgeWF134qiz7TF2eb5MRXLvixfb+mcrKwWicn9n/2qm/dFdfiL8n2Rtcdc4/mAOUl45kN7Hx -/z2SrPt9ZNdMJDaec4EWaO0ei1FEl7+tjuuXtrQnC75yoz3TpamBo17O7JQCw48KGYoez1MGQ3dZl/Fv -5ncYhbg+J/ScwQiMbqql7i2xM9JOY4K+EXQwPfGmkjtadVaOrvaHehWanIPxP89zoOCC1Pt2J+fgB6IS -jNdz5yFrPg/ZnwAAAP//3oH4m7wIAAA= +H4sIAAAJbogA/+RVzY7TMBC+5ylGhmNh73vtckMqUgUcEKrcZNydJfaY8QQRob47SrZ089OEVZaeOFRV +Yn8/883Y+ZUBmAJTLhSVOJhbMHfoKFDzlCBaUcqr0goowyZiWHNQSwEF1hwcHWAbMSdHuW3xq0fCM4O5 +hUYDwOTt9vMzgNE6YiPI+wfMtYW276NwRFHC1NkNYD4mlN6bDkdSoXAw56Xj6gn37mfkhMUHFk1D/GtB +1+ALdOntQ+Lw6qbj/sbbuG2ZN48eL/OHH1O2rIitzaq7RIp+aGOmEIDjhKhKHZmCDrU54Kap6UtPoC83 +a3HG5l+s9u0OLM+6CFVZ9pm6PF8vRrD2xX9b+ycuK4+jcX5m/Uun/tpVfWb5RuFwR4vO+Xu7x/LakWwv +NP6fR5J1/0/sRpjVpZdcoAU5t6NiFNH1b6vT/rmW9mQxVH7UM1PaGiWZ+czOKQh+r0iw6PE8ZTB0l3UZ +/2R+T0lZ6peEngtaxdFNNVe9Y/FW22m0im+UPF6eeFvpPS86KydXu329CM3e4/jL8xwo+qj1ru3kFHzP +XKINZuo8ZM3vmP0OAAD//96B+Ju8CAAA `, }, "/defs-image.json": { local: "defs-image.json", - size: 2916, - modtime: 1485388791, + size: 3060, + modtime: 1485787724, compressed: ` -H4sIAAAJbogA/8SWTU/bTBDH7/kU+xj0cMiLaVUhNUJIVbn0xIGeigIa1uN4qL3r7m6gIfJ3767t+D3Q -lKg9wc6u//P/zc443owY8wLUXFFqSApvzrxLDEmQW2mWgjLEVzEoZiS7SlF8lsIACVTsSwJLZNcpcgqJ -Q/74pNCrBKyeS2GDCQYEX9cpViEbpMAljIxJ9dz3pZXnW3k9k2rpax5hAj65VH4tMdkKmELQ00aRWNbx -FIxBlePc3nyafoPp8+n046L+97+j4/+nt3ez8WJzOnn3/izzf+/YsZenyIpMXkBL1KaJ1CmmiZBxtU6N -XCpII+LMEvHvepWw4lkmQ+YOyfsH5GbCSOTLEoCdnEego4v5eYQ/IbClTiAun7w42bMOBdLdeDZdjOd2 -FTrWcYcoAUGhVb8sOaR6w4X1tXqOC+46rvDHihS6PDdlrNU9kzqo6bm1Li+jEUljMKFUiVeGFnVhlDVv -ext1A29Hm+661/ys49jeocIQlS0JBqyDlUsc23337JHfmJBGV1dnsy7k617cMdc792uDek8/1o2ePWgp -2sZImLMPw6Z6bf/vWv+FypYuBwlWKtav+AcWU2HSHWahkgl7shiRdUm6dM0SWLN7ZIF8ErG0NoO2s22b -g1Kwbm+RwaTrYfcol7uum8FV3hKQ19jLBjGrAeig7jfHlcog2lBrDU5xvgOKR5acm5XCLpzUTaJFS3HH -wPY1u7t/TOu/YLV/T63trA92OFtW7I1mZo82Q9HlhzNVib7VXIjgKn7YktWqO+31R7RIOTimr4I1J3II -9BEUgei+Q/eu10vF+ktgwy+hUfPv9uMChJAG2l+Ge99qU6T6PZcCr8LW22azx09dAul1jnrdAW6UezP0 -7hOrOPZ60IvRdpWNstGvAAAA//83ffekZAsAAA== +H4sIAAAJbogA/8RWTU/bTBC+51fMa9DLIR/mfVUhNUJIVbn0xIGeigIa1uN4qL3r7m6gIfJ/r9Z24s8Q +XFB7y87MPvM887HxZgTgBWSE5tSykt4cvEsKWbI7GUhRWxarGDVYBVcpyc9KWmRJGr4kuCS4TklwyALz +65MCbwfgzcGlAPASChi/rlPamQA8DlzCyNrUzH1fpSTFFt7MlF76RkSUoM8ulV9BTLYAtgD0jNUsl5U9 +RWtJ53Jubz5Nv+H0+XT6cVH9/Ofo+N/p7d1svNicTv77/yzzXxd27OUpsiKTF/CSjK1LahXTRgRCr1Or +lhrTiAWIiMR3s0qguAsqBBek7h9I2AmwzI+lADg5j9BEF/PziH5iQIITjMubFycD61BIuhvPpovx/Aan +odM6bilKUHJIxl6WOpR+Q8O6WB3Ghe7KrunHijW5PDelrTE9k8po+LlxLptRGhZVEbRKSVsmU5OyZyT3 +9TCPdZy3/dIUkiYpKICWhBziWFPo7h75tW2oTfAuNmsLOszFhbk5uV9bMgP5BBSa2YNRskmMpT370E+q +M+J/b8xfqGyz900FKx2bA/wRYi5IumAItUrgKWIRgY3YlKwhwTXcEwTqScYKAwqazLYjjVrjuuliS0mb +w/61Lb2h0gm6ynsrzV7Nl/XKTGO07kpb6rCd3aH0Susbrd6NzT2oRcSWhF1paotTpq5o0UDcs7BdzLb3 +t9X6L1Dt9qnhzrrC3o+WMm8lM3skbYopfz9SO9C3kgsJXcXft2QV6l563RWF/Wt6UFh9I/uEPqJmlO03 +dHC9XirWHxJ28BFCKZXF5rfflsOgfga7bwa/jvmKv4J6+KjNNmt87PSzHci0j56nJF2FjRdxM+DvOMH0 +Om/HdasptVJv+t5nuYrjrujFaHvKRtnoVwAAAP//XjF1JvQLAAA= +`, + }, + + "/defs-image.json~": { + local: "defs-image.json~", + size: 3185, + modtime: 1485549194, + compressed: ` +H4sIAAAJbogA/8RWTW/bOBC9+1fMKsHm4A9lF4sAawQBiubSUw7pqYETTKiRNalEqiSd1DH03wtKsvUd +143R3swh+ea9NzO0NiMALyAjNKeWlfTm4F1TyJLdykCK2rJYxajBKrhJSX5U0iJL0vApwSXBbUqCQxaY +X58UeDsAbw4uBYCXUMD4eZ3SLgTgceASRtamZu77KiUptvBmpvTSNyKiBH12qfwKYrIFsAWgZ6xmuazi +KVpLOpdzf/dh+gWnr+fT/xfVz79OTv+e3j/MxovN+eSffy8y/+eOnXp5iqzI5AW8JGPrklpm2ohA6HVq +1VJjGrEAEZH4alYJFHdBheAOqccnEnYCLPNlKQDOLiM00dX8MqLvGJDgBOPy5tXZgT4Ukh7Gs+liPL/D +aei0jluKEpQckrHXpQ6l31GwLlaHcaG7imv6tmJNLs9dGWt0z6QKGn5trMtilIFFZYJWKWnLZGpSBlpy +qIb5Wcd5Wy9NIWmSggJoScghTjWF7u6JX5uGWgfvzmZtQfu5uGOuTx7XlsyBfAIKzezJKNkkxtJe/NdP +qtPif67N33C2WfumgpWOzR7+CDEXJN1hCLVK4CViEYGN2JSsIcE1PBIE6kXGCgMKmsy2LY1a47q5xZaS +NofhsS13Q6UTdM57K81ebS/rlZnGaN2VttTDZnaH0iutr7V6JzbfQS0itiTsSlNbnDJ1RYsG4sDAdjHb +u7+s1n+DardOje2sK+x4tJR5L5nZM2lTdPnxSO1A30suJHSOH9eyCnWQXndEYXhM9wqrT2Sf0GfUjLL9 +hh7s11tm/SZhex8hlFJZbH77bTkcVM86UONxUJJuws5b0zFkzx9egultLvh2v/GDZstVHHuDBi1G7WjW ++NLqt+oINvVYtDngW2DQmpotm74/h6YdW9GFDW6VjbLRjwAAAP//FgEL5nEMAAA= `, }, "/defs.json": { local: "defs.json", size: 3193, - modtime: 1485388791, + modtime: 1485571056, + compressed: ` +H4sIAAAJbogA/7SWQZPSMBTH73yKTPSIbpumLXBzRNc97MDMjifHQy0PiEIS09Rx3eG7OymlNG0oFPGw +C03yfv/3/nmheRkghBeQpYpJzQTHE4SnsGScmacM5RkskF4rka/WItdIrwHNJPD3guuEcVDoSULKlixN +ivDhnlcB8AQZCYQw43pUPSGE9bMEo8a4hhWoIrKY2DLOtvkWT9Abn4yOw8nvctgncTG4G1ZkP+qLDkgc +ueBmvIUPSF888WlMR0FEXRrVZEsoon2FxoQEQUy8IBqFNI4jz/Mcio5VlnR+xe64dEgYtri998YFjsIw +aKN774sLTcmYjqOYjNv83tvh4vsjSqOYUi8OYm8chsRlvh/NheGquqDgMFviCfpSDqBqqph+rcDM4ld3 +tQN3V1peLdwN3dGHani+2dRWl9++Ory4ZYYRvW2GmVaMr/pneNDYx982p20inwrs/r+rlcS375DqYyfJ +RGtQfK6EBKUZZLUghPDbF3+4s4a6ShjUP1tJzfbS/zmpknUmqc8P03oip9smINgKvL828J1SyfNsef8w +zVwWJGb66ADTsG1U7ZYy+TgrLPX21l8p6d5oW+cj28A80WuXQj3usP4D/3XewEbyFuCTED/qBHmiS6Sd +VIdaVYLrMOJErbLLOK6smzSwyu+AGZ/ONHGpZwy5aU8VDjsVH6aPiZSNn5ZTG7AWmbZOS4dk/cQ0LUsP +N79bwDL2B66kOB15FDnXl7iRiVylF0p3N+QCMs14Ul6e/xknpH1v7kRd0uJl+/V7ZVRdquBnzhQsrDeo +VfOwZWpT3H45DszfbvA3AAD//0JyEpx5DAAA +`, + }, + + "/doc.go": { + local: "doc.go", + size: 711, + modtime: 1485459560, + compressed: ` +H4sIAAAJbogA/2SSQY+bPhDF7/kUTzn9/1IK2xx6aE80m1VRI6hCtqs9TswAo4Lt2mYJ374yyUqN6ut7 +85s340lT7IydnbRdwPbh4yecOsZB9HjBkxl1TUGMXqXpKk1xEMXac41R1+wQOkZmSS0Fi7LBT3ZejMY2 +ecB/0bC+Sev/v0TEbEYMNEObgNEzQicejfQMvii2AaKhzGB7Ia0Yk4Ru6XOjJJHxemOYcyDRIChjZ5jm +byMo3ELH14VgP6fpNE0JLYET49q0v1p9esh3+6Laf9gmD7eiZ92z93D8exTHNc4zyNpeFJ17Rk8TjAO1 +jrlGMDH05CSIbjfwpgkTOY6YWnxwch7D3c7eI4q/MxgN0lhnFfJqja9ZlVebCHnJT9/K5xNesuMxK075 +vkJ5xK4sHvNTXhYVyidkxSu+58XjBiyhYwe+WBcnMA4St8n1srqK+S5CY66RvGUljSj0pNuRWkZr3thp +0S0su0F8/FUP0nXE9DJIWC7D/ztXsoqWH6R+RY5XHQ+EmhvR7BdfucshQxQHroUQZst+c+eU8N4Ob9TL +9QrRjFotQrKyd/jVnwAAAP//YgI1f8cCAAA= +`, + }, + + "/error.go": { + local: "error.go", + size: 1410, + modtime: 1485459560, + compressed: ` +H4sIAAAJbogA/2xUT2/bxhM9cz/Fgw4/SAF/pGsEOSToQXEcRK0hFaZTI6divRySU1O77O7SsmD4uxez +pFu5CS+CNDPvz7yhyhIXbjh6bruI87Of3uGmI1yxHR/x2Y221pGdVWWpyhJXbMgGqjHamjxiR1gP2qSB +VMnxO/nAzuK8OMNSGhZzabH6IBBHN2Kvj7AuYgyE2HFAwz2BHg0NEWxh3H7oWVtDOHDsEs+MUgjGtxnD +3UXNFhrGDUe45rQROs6i5eliHN6X5eFwKHQSXDjflv3UGsqrzcXltrr8/3lxNg99tT2FAE9/jeypxt0R +ehh6NvquJ/T6AOehW09UIzoRffAc2bY5gmviQXsSmJpD9Hw3xlc7e5HI4VWDs9AWi3WFTbXAx3W1qXIB +ud3cfNl9vcHt+vp6vb3ZXFbYXeNit/20udnsthV2n7HefsOvm+2nHMSxIw96HLw4cB4s26Q6ra4ieiWh +cZOkMJDhhg16bdtRt4TWPZC3bFsM5PccJNUAbWuB6XnPMV1G+N5XodSgzb2ABNPRXivF+8H5iKXKFmSN +q9m25Z/B2YXKFuwWSmWL1r1NoZD3zo+R+4VaKeFaozraqB8vpSA706gpGM+D8EvsGr9Uuy1CakMCkEG2 +ph+FCj1bymFcP+5lxzVc0wRKtya607TcYKHicaBXfCH60UQ8qWwfWkyPRGZblV0l2AvXg21U2W4CBeTr +u7fqWalmtAZLwpsTyBXSx3I14+AJnuLoLagQjufk+tbr4VSH6cjcBxw6SvGK7JYfyE52p7W8kZUWJ1MC +JHaNsw/kYwCL5+ikd4qmeMXhrLxQLxsrTXLWOL9PUWMMUvqX2pOuyae72jQ/kiQv+Q9kJRlhdp3eDNNp +28qJpoX9x/vSg11xnchyAZ8IVjPPk8q4QSDvc7h7vP9Zfi+W37GuPkj5SWXZP+eQ44+5fzq54gu3XS9/ +hR+PkX5zgcX30ucJvpgCXqksmwP73wn8U2qZo81xwnEy+6yyZ6Vexsl79az+DgAA//850zAaggUAAA== +`, + }, + + "/fs.go": { + local: "fs.go", + size: 17507, + modtime: 1485571184, + compressed: ` +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 +`, + }, + + "/gen.go": { + local: "gen.go", + size: 851, + modtime: 1485571204, compressed: ` -H4sIAAAJbogA/7RWTXPaMBC98ys8tEfa2PIX9NYp/cghAzOZnjo9uGYBtSCpstxpmuG/VzLGWPZiMKWH -JPau9r23T6tYzwPHGS4gSyUVinI2fOMMp7CkjJq3zMkzWDhqLXm+WvNc6UdwZgLYO85UQhlI51FASpc0 -TYry0R6vAtB4hkIHKVPj6k2/qycBhk3HYQWyqCwSW127zbc698oj42M4+V2GPRIXwd2oQvaivtA+iSMM -3MRb8D7pC0+8IA7GfhRgHFWyRRQFfYkmhPh+TFw/GodBHEeu6yKMyCqLOr9idzAeEoYt3N57gwFHYei3 -oXvvCwYdkEkwiWIyaeP33g4M3xsHQRQHgRv7sTsJQ4KZ70VzbnBlnZAzmC114EsZcKpUkX4pwWSHL+5q -B+6utLxauBvh1YduWL7Z1FaXT18RL26pUDt7U4WZkpSt+is8cOzrb6tpm4jHAnb/Gxsl/u07pOo4SSJR -Wj+bSy5AKgpZrUinXz97o50V6mphUP/bEjXbU/9nUSXWGVGf76d1IafHRh94q/DjtYVvpUyeZktdn2EW -JCZ9dIAq2Da6xqmMHrTDkm9v/ZWU+EbbPB/oBuaJWmMM9brD+vfs13kDG+ItgE+c/6gjiBNTImxRHWxV -C9hh1DatsstwMNVNNLDa7wAzPp0Z4pLPGHLTmSocRhnvpw+JEI1/Lac2YM0zZZ2WDsr6iWlalh5ufrcA -y+gfuBIFdeSB50xd4kbGc5leSN09kPryrChLysvzP8NxYd+bO6EuGfFy/Pp9MqoplfAzpxIW1hfU6nnU -MrVJbn8cB+ZnN/gbAAD//0JyEpx5DAAA +H4sIAAAJbogA/2SST0/cPBDG7/spHu0JXu3GvBx6oOKw5U8bFe1KZCnihuPMOtN1bNd2CPn2lUOQQM0t +8jy/+Xk8QuDK+TGwbhPOz/7/gn1LuGPbv+LW9baRiZ1dCLEQAnesyEZq0NuGAlJL2HippsB0ssIvCpGd +xXlxhpNcsJyPlqdfM2J0PTo5wrqEPhJSyxEHNgR6VeQT2EK5zhuWVhEGTu3UZ6YUmfE0M1ydJFtIKOdH +uMPHQsg0S+evTclfCDEMQyEn4cIFLcxbaRR35dXNtrpZnxdnc+jBGooRgf70HKhBPUJ6b1jJ2hCMHOAC +pA5EDZLL0kPgxFavEN0hDTJQxjQcU+C6T59m9q7I8VOBs5AWy02Fslri26Yqq1WGPJb7H7uHPR439/eb +7b68qbC7x9Vue13uy922wu4Wm+0Tfpbb6xWIU0sB9OpDvoEL4DxNaqbRVUSfFA7uTSl6UnxgBSOt7qUm +aPdCwbLV8BQ6jvlVI6RtMsZwx2najPjvvYrFwkt1zJCoWurkIke+k6UgE2UGqKtrahpqppcpbtlQNcZE +3SQkjZmT02bEHO9jVqGocJIj8UIIzant60K5TnS/uY7OCorqtJja7fNexdb1poGeWhszoiawfXFHat42 +67mTx3fL9SE+L4TQ7kLPqlO7tQ/8kn/W/qgvZ601a+sCXRb/affhJw4exeJvAAAA//972AXmUwMAAA== +`, + }, + + "/gen.go~": { + local: "gen.go~", + size: 851, + modtime: 1485571204, + compressed: ` +H4sIAAAJbogA/2SST0/cPBDG7/spHu0JXu3GvBx6oOKw5U8bFe1KZCnihuPMOtN1bNd2CPn2lUOQQM0t +8jy/+Xk8QuDK+TGwbhPOz/7/gn1LuGPbv+LW9baRiZ1dCLEQAnesyEZq0NuGAlJL2HippsB0ssIvCpGd +xXlxhpNcsJyPlqdfM2J0PTo5wrqEPhJSyxEHNgR6VeQT2EK5zhuWVhEGTu3UZ6YUmfE0M1ydJFtIKOdH +uMPHQsg0S+evTclfCDEMQyEn4cIFLcxbaRR35dXNtrpZnxdnc+jBGooRgf70HKhBPUJ6b1jJ2hCMHOAC +pA5EDZLL0kPgxFavEN0hDTJQxjQcU+C6T59m9q7I8VOBs5AWy02Fslri26Yqq1WGPJb7H7uHPR439/eb +7b68qbC7x9Vue13uy922wu4Wm+0Tfpbb6xWIU0sB9OpDvoEL4DxNaqbRVUSfFA7uTSl6UnxgBSOt7qUm +aPdCwbLV8BQ6jvlVI6RtMsZwx2najPjvvYrFwkt1zJCoWurkIke+k6UgE2UGqKtrahpqppcpbtlQNcZE +3SQkjZmT02bEHO9jVqGocJIj8UIIzant60K5TnS/uY7OCorqtJja7fNexdb1poGeWhszoiawfXFHat42 +67mTx3fL9SE+L4TQ7kLPqlO7tQ/8kn/W/qgvZ601a+sCXRb/affhJw4exeJvAAAA//972AXmUwMAAA== `, }, "/image-layout-schema.json": { local: "image-layout-schema.json", size: 414, - modtime: 1485388791, + modtime: 1485467966, compressed: ` -H4sIAAAJbogA/2yPsU7EMAyG9z6FFRhpUySmW286CekGJBbEEFpfmxNNQuIinVDfHSduYbhbWvmPP3/2 -TwWgekxdtIGsd2oH6hjQ7b0jYx1GOExmQHg2Fz8TvHQjTkY9ZOo+ScHESBR2Wp+Td7WkjY+D7qM5Ud0+ -acnuhLP9hiRmPMu6TZYKJt3aZnH9WcRC0iVgZv3HGbs1C5EnRLKY+CVfkw2ZlI1feaicJW/X135LB/gT -0Ihw3B/gyly4zZ4oWjf85+jmifO3tebksWmbVq31e/kv/F3KwhG/Zhux/0NurVtlbql+AwAA//8bwMuB +H4sIAAAJbogA/2yPwUrEMBCG732KIXq0TQVPue5pQdiD4EU8xHa2zWKTOJkKi/TdJZlWD91TmD/z8c3/ +UwGoHlNHLrILXhlQp4j+EDxb55HgONkB4dlew8zw0o04WfWQqfskgwE1Mkej9SUFX0vaBBp0T/bMdfuk +JbsTzvUbkozWIaLvNlkqmGxrl8X1ZxELydeImQ0fF+zWLFKISOwwKQO5TTZkUi5+RUpSS/72bb9lA8IZ +eEQ4HY6wMxdusycm54f/HP08KQNv6wygHpu2adU6v5d3qQCWcjDh1+wI+z/k1rlV5pbqNwAA//8bwMuB ngEAAA== `, }, @@ -302,29 +850,344 @@ ngEAAA== "/image-manifest-schema.json": { local: "image-manifest-schema.json", size: 921, - modtime: 1485389045, + modtime: 1485467966, compressed: ` -H4sIAAAJbogA/5ySMU/rMBSF9/yKq7RjU7/39KauTB0QA4gFMZjkJrlVbQfbRVSo/51ru6Y1ZUAdc+xz -7ndP/FEB1B261tLkyeh6BfXdhPrGaC9Jo4W1kgPCrdTUo/NwP2FLPbUy3l4E+9y1IyoZrKP300qIjTO6 -SerS2EF0Vva++fNfJG2WfNRli2OP4altnuqiLd0WFAiEOhIkr99PGNzmZYPtUZssZ1hP6PgkLMZainjk -xLRcki93fhjJQU+47cClDdGBHxHicMjDIeXBWwoE6UBqIO1xQBspYvh1m4kS9ist73oxRpEmtVN89u+k -yfesRemQTmoG6Gk4b2BusQ+xAQ21b3Ijxi7D/6sL+1buGevcnqmktXJfMK09qnD176mPo5LNv53O8wsK -qbXx8eUVKNfV3WyJOz+PXHyvpsPeNdEVoWaCBe483i6cVWaNpLXF1x1ZDFhPP73D8p+UFfPHc3WoPgMA -AP//UcoRdpkDAAA= +H4sIAAAJbogA/5ySMW/bMBCFd/2KA+3RMtuik9ZOHooODbIEGRjpKJ1hkQyPDmIE/u8BSTM24wyB16d7 +77574lsDIAbk3pMLZI3oQPxzaP5YExQZ9LCZ1YjwVxnSyAH+O+xJU6/S9Cral9xPOKtonUJwnZRbtqbN +6tr6UQ5e6dD++C2ztsg+GoqFOymtQ9OXrZxseVpSJJDziSB7w8FhdNunLfYnzXnr0AdCFh3EwwBEjrhH +z/m4LF/ffDcRgybcDcD5QmQIE0JaDmU55Dx4yYGgGJQBMgFH9Ikihd92maxhP9LKrVdrZjI072fRwa+z +pl6LlqRj/iJ6azSNlw0sPeoYG9HQhLY0Yv06/j9R2XfqgJ4v7YVKea8OFdMm4BxHf577OCnF/N3tAMeK +QhljQ3p5Fcptdbc74iAvI1efqxlQc5tcCWohB9RkKE1XzqawJlLh8XlPHiPWw1fvsP4ndcUNwGNzbN4D +AAD//1HKEXaZAwAA `, }, "/manifest-list-schema.json": { local: "manifest-list-schema.json", - size: 873, - modtime: 1485389045, + size: 988, + modtime: 1485549194, + compressed: ` +H4sIAAAJbogA/6SSP2/bMBDFd32KA92xMouik9Z2KdCiQ4MsQQZGOllnmH/COwcxAn/3gKSkSLCHAF6f +eO/93p3eKgDVIbeRgpB3qgH1L6D76Z0YchjhtzU7hL/GUY8s8IdY4H/AlnpqTR75mjy+cDugNWl+EAmN +1nv2ri7q1sed7qLppf72QxdtU+aom0a40doHdO0UzXmsvNaUMLQdMeoDsRQDOQVMFv5pj+2ohegDRiFk +1UCqCKCKzz1GLjWLfNn+biCGnvDQAZeayCADQiaAFQEUU3gprmAYjANygjuMGSUn3NBRr7Fny6n1RZYl +R/ZoVQPfPzTzOmlZOpcvakri5TomZxOjOS06CNrlu3TyiH162WHPdWbfpptvdIc9OUoL5bnNr3HLPqrR +4bxiwQNadLeipL2ik7qb0zLS9UjjnJf8C69Sb7nW0nLm/dSelpPVxJpJVcTnI0VMWA/X/uWLa1YAj9W5 +eg8AAP//7F2XUNwDAAA= +`, + }, + + "/manifest-list-schema.json~": { + local: "manifest-list-schema.json~", + size: 1011, + modtime: 1485533214, + compressed: ` +H4sIAAAJbogA/7SSz07zMBDE73mKlfsdv9QIccoVLkggDiAuiINJNs1W9R+8LqJCfXdkOy6JigRSxXXi +mf3Nbj4qANEht55cIGtEA+LOobm0Jigy6OFaqxXCrTLUIwe4IQ5w77ClnlqVLP9jxj9uB9Qq+ocQXCPl +mq2ps7q0fiU7r/pQn13IrC2yj7pi4UZK69C0ZTQnW34tKWJIPWLUG+KQA8LOYYywL2tsR81569AHQhYN +xIoAIuc8oudcM8vH7R8GYugJNx1wrokMYUBIBDAjgBwKbzkVFIMyQCbgCn1CSRNO6Cjn2IfI0vpoliZD +eqtFA+dfmnovWpL2+Ysok3i6jpKsvFe7SYeAevountxjH1922HOd2Jfx5gvZYU+G4kL50OZq3LL1YkzY +z1hwgxrNn6KMI34iUcbYkP7sGcwpR5xGHmr8innqrAprIhUeX7fkMWI9ffeLHx25Aniu9tVnAAAA//+b +GIGn8wMAAA== +`, + }, + + "/manifest_backwards_compatibility_test.go": { + local: "manifest_backwards_compatibility_test.go", + size: 12820, + modtime: 1485549187, + compressed: ` +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 +Z82/93cv/x0AAP//LAckPBQyAAA= +`, + }, + + "/manifest_test.go": { + local: "manifest_test.go", + size: 5071, + modtime: 1485549187, + compressed: ` +H4sIAAAJbogA/+xY32/bOBJ+tv6KqYAAydWVZNn65SIPuTbFGdcmQOy2KIriSolDiVeZ1JGUHbfI/36g +pCRtsuku0HbR7kZv5gxH38x8nzim78MT2ewULysDYTCJYVUhPOeiPYdnshWUGC6F4/uO78NzXqDQSKEV +FBWYCuGoIUW3obOM4RUqzaWA0Atg3zq4g8k9eGxD7GQLa7IDIQ20GsFUXAPjNQKeF9gY4AIKuW5qTkSB +sOWm6t4zRPFsjDdDDJkbwgUQKGSzA8k+dwRiBtD2qYxp5r6/3W490gH2pCr9unfV/vPFk+OT5fGj0AuG +TS9FjVqDwv+1XCGFfAekaWpekLxGqMkWpAJSKkQKRlrQW8UNF+UYtGRmSxTaMJRro3jemi9qdgmR6y8c +pAAiwD1awmLpwj+Plovl2AZ5vVj96/TlCl4fnZ0dnawWx0s4PYMnpydPF6vF6ckSTp/B0ckb+Pfi5OkY +kJsKFeB5o2wGUgG31UTalW6J+AUEJntIusGCM15ATUTZkhKhlBtUgosSGlRrrm1XNRBBbZiar7npmKFv +5+U5TkOKDzaILipck/8Y1MZx+LqRysC+M3Jt0qLUrjNyrY2L0nWckVtyU7W5V8i1LxsUhRS2wai0z9ek +xEcWpd/HdJ0Dx2GtKGCF2rwggjPUZt/AP4aA3uoAPjkjmyAfgzEwPwRFRInw9p02qi2MNY/Ww07oITmj +ESO87kiTS1k7owvr5fu2oFjYNll7q3AOa6ScrHYNApWoO0aviSkqaIgxqIQzGtm9V6+Yw3vnkwPg9hkM +SnHnEI7taiEF46U7B+sD4F6Fd+fgcrEhNafuuLdp/tEuT2ZJMKxQXqI21lVXJIzieZHGLEniaZpM87gI +CMEwpFk8zUkeZfmMRRTzHGkcp1EST/IoiyZROmMxsjyIp9PcdQAuOmA12aHS7hzedq/q4d0EOKjDUsLf +COrJgntd07xuu7eZeIaoh+VH3gxJfJ5GerV0O48oCdIsiiNMs1maZck0orMoZQGjszyfJCRgEwwoS2kS +UjLNwjyNiiyfRohJkhTU7SJfOADvnAvn/dh2xLZwDka1aH9ejJ27Wtz3xLM4rVrJwJLxtSsXBktU37PX +d5dygLOZPPyvluIGGVzLBveeDj+QDn3qV3T4icnwF/kyuHESRVnqfoUP3yGZb/089KAsI+wZUOE5VERX +1lGqNTG/HB2qG8/6xmMrXF1V+Lfo8Lu17E4zuDp8uzFPNjYtUgPjWFP9y5Xtp1VRL6K7NZTRKaVZFMyK +OI3INJhlaRSEEWUzpEGYTnGWkCJjjGQ5DaZhzChlM2ozmrIgDZNBQ+MfdR5E8d3YwzxOszSIWE6DIA9p +PqEsmTKCsySKQ0ZIMSFxGNOIxZNkNssZhlk2i7FgLKLJlP5o7H/SWdYRiQghh6n8WgcfcDex79yQusXJ +JcE/4C68Wg07Lt6QLCO1/gOaFfXu+l/SvXDvhXsv3G8ZQm+r7vbUgevG7PpZ9LPZkxiokWgDUuDfUIFf +mThGF90/fQXzw2Fk194Jbs+QUFT7xniXZTpwRiNUvV9XKO/FZSUuLxi8V/YjSAzuqwPbIM6glN3dgt34 +4BAErx+DMV53i/DgsLN2vTDesVJSsf3uxgP26Py6d5s+KJfissuwZyBvTbd9z4y76Hsbd9zfZXTRx9bY +WSzuC2dkv+D/DwAA//8wsZ1DzxMAAA== +`, + }, + + "/manifestlist_test.go": { + local: "manifestlist_test.go", + size: 5215, + modtime: 1485549902, + compressed: ` +H4sIAAAJbogA/+xY32/bNhB+lv6KK4EAyabqlx0ndpGHrE0xY6kDxG6LoihWijrJXCVSIyk7buH/faAk +K8m6rCjQrg1WPwQI73j8+H13R5FBAI9ltVE8XxqIw2gEiyXCORf1FTyVtUip4VK4QeAGAZxzhkJjCrVI +UYFZIpxWlDUTGosHL1BpLgXEfgj71oF0JnLwyIbYyBpKugEhDdQawSy5howXCHjFsDLABTBZVgWngiGs +uVk263RRfBvjVRdDJoZyARSYrDYgs5uOQE0H2v6WxlSTIFiv1z5tAPtS5UHRuurgfPr4bDY/exj7YTfp +uShQa1D4Z80VppBsgFZVwRlNCoSCrkEqoLlCTMFIC3qtuOEi90DLzKypQhsm5doontTmFmc7iFzfcpAC +qAByOofpnMAvp/Pp3LNBXk4Xv148X8DL08vL09liejaHi0t4fDF7Ml1ML2ZzuHgKp7NX8Nt09sQD5GaJ +CvCqUnYHUgG3bGLaUDdHvAUhky0kXSHjGWdQUJHXNEfI5QqV4CKHClXJtVVVAxWpDVPwkpsmM/TH+/Jd +t6LsnQ2i2RJL+rtBbVyXl5VUBvZdh9hNi1wT1yHWxkVOXNchOTfLOvGZLANZoWBSWIFR6YCXNMeHFmXQ +xiTugetmtWCwQG2eUcEz1Oaca7Nv4KcuqL84gA+uYzfJPTAGJiegqMgRXr/RRtXMWLNT3pgNLTTXcTLK +C9j9EikL19la7yCw5CKzklmfWuEESkw5XWwqhFSibrK7pIYtoaLGoBKu49i5t5aawFv3gwtA2h11lUMm +EHt2dOeqyQReuxbEB7cFQ/rVyAQIFyta8JR4O6vm763hKBoO+rGU56iNdddLGh+OJjgax8PoGIcsodk4 +ZHQ0TsNDOhoNw8HR8CihdDBADI+Pw9HoMEwOo4wmx9EhTY8yNhhE2fVyVUFNJlVJJj1AAEIVW3KDzNSq +QVlVbDQssJ8GQKTdGSlsqyHd6Nbd/X3jbt23nqXMcjwBo2q0/249904NOsJ8S4AtrlZK79qVC4M5qq8o +RtckbGUEK5H6knG/yV2/R7eKfv5DS/GRXuRodByTuxU7TMKE0SSNMI1jHGdJNIhClo1YnCI7Yilm0TgL +aToaY0ajbDCOcTykw8FgcBhG8VH4uYrRMh0N79LrxnCG1E65Zma3LY1D0g+8+aIKt+RYjZvOdEvkXc/+ +PlW2It9bISqq9Q0VdvCtDrKybNDiHrD+5SvrTiozWuhPJXXXv0FhhgoFw7RnuD1WwGwq/BYHyNcl7d5W +Qa8clpXZfDvdfgj274K1ZdVrUnBtvPZCsWtWkHEsUv2d9qz7+/3m3csu/r3ld5NoVAjZ3bR6OITJ0scr +WlYF+u9wE9l1V7SoMeoW/rtH3HvEdsntJ4+pu2unvxK3tQNSFJsfBfT1L0CfoxGrtZElf2+PpP4kApn9 +01n1H2l3DakX7v+mmrNtXhsUTE66q6n2Z7i+RJqi2jfGvynBges4qFrfRgT/2Y7am48d/gubBNTgvjqw +acEzyGXzzmEnPzgBwYtHYIzfvGY8OGmsjd7GP1NKqmy/eYGBvXRy/YWzaoNyKXYfO7BnIKlNM33PeE30 +vRXx2neVJrpnjY3FYt+6ju0yfwUAAP//iW02vl8UAAA= +`, + }, + + "/manifestlist_test.go~": { + local: "manifestlist_test.go~", + size: 5215, + modtime: 1485549902, + compressed: ` +H4sIAAAJbogA/+xY32/bNhB+lv6KK4EAyabqlx0ndpGHrE0xY6kDxG6LoihWijrJXCVSIyk7buH/faAk +K8m6rCjQrg1WPwQI73j8+H13R5FBAI9ltVE8XxqIw2gEiyXCORf1FTyVtUip4VK4QeAGAZxzhkJjCrVI +UYFZIpxWlDUTGosHL1BpLgXEfgj71oF0JnLwyIbYyBpKugEhDdQawSy5howXCHjFsDLABTBZVgWngiGs +uVk263RRfBvjVRdDJoZyARSYrDYgs5uOQE0H2v6WxlSTIFiv1z5tAPtS5UHRuurgfPr4bDY/exj7YTfp +uShQa1D4Z80VppBsgFZVwRlNCoSCrkEqoLlCTMFIC3qtuOEi90DLzKypQhsm5doontTmFmc7iFzfcpAC +qAByOofpnMAvp/Pp3LNBXk4Xv148X8DL08vL09liejaHi0t4fDF7Ml1ML2ZzuHgKp7NX8Nt09sQD5GaJ +CvCqUnYHUgG3bGLaUDdHvAUhky0kXSHjGWdQUJHXNEfI5QqV4CKHClXJtVVVAxWpDVPwkpsmM/TH+/Jd +t6LsnQ2i2RJL+rtBbVyXl5VUBvZdh9hNi1wT1yHWxkVOXNchOTfLOvGZLANZoWBSWIFR6YCXNMeHFmXQ +xiTugetmtWCwQG2eUcEz1Oaca7Nv4KcuqL84gA+uYzfJPTAGJiegqMgRXr/RRtXMWLNT3pgNLTTXcTLK +C9j9EikL19la7yCw5CKzklmfWuEESkw5XWwqhFSibrK7pIYtoaLGoBKu49i5t5aawFv3gwtA2h11lUMm +EHt2dOeqyQReuxbEB7cFQ/rVyAQIFyta8JR4O6vm763hKBoO+rGU56iNdddLGh+OJjgax8PoGIcsodk4 +ZHQ0TsNDOhoNw8HR8CihdDBADI+Pw9HoMEwOo4wmx9EhTY8yNhhE2fVyVUFNJlVJJj1AAEIVW3KDzNSq +QVlVbDQssJ8GQKTdGSlsqyHd6Nbd/X3jbt23nqXMcjwBo2q0/249904NOsJ8S4AtrlZK79qVC4M5qq8o +RtckbGUEK5H6knG/yV2/R7eKfv5DS/GRXuRodByTuxU7TMKE0SSNMI1jHGdJNIhClo1YnCI7Yilm0TgL +aToaY0ajbDCOcTykw8FgcBhG8VH4uYrRMh0N79LrxnCG1E65Zma3LY1D0g+8+aIKt+RYjZvOdEvkXc/+ +PlW2It9bISqq9Q0VdvCtDrKybNDiHrD+5SvrTiozWuhPJXXXv0FhhgoFw7RnuD1WwGwq/BYHyNcl7d5W +Qa8clpXZfDvdfgj274K1ZdVrUnBtvPZCsWtWkHEsUv2d9qz7+/3m3csu/r3ld5NoVAjZ3bR6OITJ0scr +WlYF+u9wE9l1V7SoMeoW/rtH3HvEdsntJ4+pu2unvxK3tQNSFJsfBfT1L0CfoxGrtZElf2+PpP4kApn9 +01n1H2l3DakX7v+mmrNtXhsUTE66q6n2Z7i+RJqi2jfGvynBges4qFrfRgT/2Y7am48d/gubBNTgvjqw +acEzyGXzzmEnPzgBwYtHYIzfvGY8OGmsjd7GP1NKqmy/eYGBvXRy/YWzaoNyKXYfO7BnIKlNM33PeE30 +vRXx2neVJrpnjY3FYt+6ju0yfwUAAP//iW02vl8UAAA= +`, + }, + + "/schema.go": { + local: "schema.go", + size: 1663, + modtime: 1485459560, + compressed: ` +H4sIAAAJbogA/4xVwW7jNhQ8m1/xoFMC2GKSQw8ucnCdBFXrtYHIu4tFURQ09SS9ViJZkrIjLPbfC1Jy +ameNYHMIDGlmOHwzz+Ycltr0lqraw93N7U+wrRFWpLoXeNKdKoQnrRjnjHNYkUTlsIBOFWjB1wgLI2Qk +xDdT+ITWkVZwl97AVQAk46vk+ucg0esOWtGD0h46h+BrclBSg4AvEo0HUiB1axoSSiIcyNfxnFElDRpf +Rg2984IUCJDa9KDLUyAIP5oOf7X3Zs754XBIRTScalvxZoA6vsqWj+v8cXaX3oykj6pB58Divx1ZLGDX +gzCmISl2DUIjDqAtiMoiFuB1MH2w5ElVU3C69AdhMcgU5LylXefPZna0SO4MoBUIBckihyxP4JdFnuXT +IPI52/66+biFz4vn58V6mz3msHmG5Wb9kG2zzTqHzRMs1l/g92z9MAUkX6MFfDE23EBboDBNLOLocsQz +C6UeLDmDkkqS0AhVdaJCqPQerSJVgUHbkgupOhCqCDINteRjM9z390oZM0L+E0ScrLEVjFFrtPVwxSaJ +Qs9DHAljk6QiX3e7VOqWa4NKahUSRes4taLCWbDFwz83qzTf3ybsmoXzP2BBAnxv0L1eYbPMILLCk1Z4 +x6RWLh4a4dve4AM6acl4bQHgk2ioEMNngHvY36YXgCfsD0JRic5H/HvsLNg4oi8IrMj5HxcI6BOR+G6p +VUnVD7gYgG/pK9FjoHQqlANbVKGAF+gRGIa+FzZMknMoHTivLbo4dWx3WBRYxBVLn6jBvHce2witxT4U +6JjOb/lmPVYirrwLe2O19pDwJGWT0sE9/IVOPuVXpWgcXrMoEwsArTAuyowK7UkHvD7TTdlk4NwH1h+v +Q/ozLJuqvrLJpUrMASAJFUTlZ8Xr4/Rvp1UyPeUck5nHqSdDV9vx4Wxw8g4tBDqH5JXQ0Huskxjng8GS +qrfwb+Ni/B8AWPSdjSsLpGYtttr2wzetGwCkZNMVx4DO58d5/B04C0tYhEZLEaoifCTF8AqyKL22fcrK +TskTD1fXb2sBX9lkMAalY9/YfwEAAP//+XgQB38GAAA= +`, + }, + + "/spec_test.go": { + local: "spec_test.go", + size: 4708, + modtime: 1485549194, + compressed: ` +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 +/98NpiBkEgAA +`, + }, + + "/spec_test.go~": { + local: "spec_test.go~", + size: 4708, + modtime: 1485467160, + compressed: ` +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 +/98NpiBkEgAA +`, + }, + + "/validator.go": { + local: "validator.go", + size: 3178, + modtime: 1485459560, compressed: ` -H4sIAAAJbogA/6SSv0/7MBDF9/wVp/Q7flMjxNQVFiQQA4gFMZjk0lzV2OHORVSo/zv+EZdEZUDqUqnP -fu8+7+KvAqBsUGqmwZE15QrKhwHNtTVOk0GG216vEe61oRbFwR35n8cBa2qp1tHyP2T8k7rDXgd/59yw -Umoj1lRJXVpeq4Z166qLK5W0RfJRky3iPdaPrvNoibZ0W1HAUP2IUW09Rgpw+wFDhH3bYD1qA/sgdoTi -T0JFr6WcZx+baib5tP1TRwIt4bYBSTVRwHUIkQBmBJBC4SOlghbQBsg4XCNHlDjhjI5qjn2MzK1PZvVk -qN/1/uzyR9OfWYvSIZ2UeZJM15GTNbPeTzo47Kf3widnbMPNBlupIvsyfPOF8oKnCAuVY5ubccuWyzHh -MGPRxlgX39OM5pzVTSOPPf4EPXUWmTWSlozvO2IMWC+/PayT1fr/r8Wh+A4AAP//b2/SMmkDAAA= +H4sIAAAJbogA/5RWXW/buBJ9Nn/FXAEpJFxVSvtwH1zkwTcfuL6bOos4bVFkgwUtjSRuJFIlKTtGkP++ +GFLyV7xF2ge7ETlnzpyZOVaawrlq11qUlYWPpx/+A3cVwrWQ3RNcqU7m3AolWZqyNIVrkaE0mEMnc9Rg +K4RJyzMX4E5i+IraCCXhY3IKIV0I+qMg+kQQa9VBw9cglYXOINhKGChEjYBPGbYWhIRMNW0tuMwQVsJW +Lk+PkhDG9x5DLSwXEjhkql2DKnYvArc9afpXWduO03S1WiXcEU6ULtPaXzXp9fT8cja/fP8xOe2Dvsga +jQGNPzqhMYfFGnjb1iLjixqh5itQGnipEXOwikivtLBCljEYVdgV10gwuTBWi0Vn9zQbKAqzd0FJ4BKC +yRym8wD+O5lP5zGBfJve/e/myx18m9zeTmZ308s53NzC+c3sYno3vZnN4eYKJrPv8Nt0dhEDCluhBnxq +NVWgNAhSE3Mn3Rxxj0KhPCXTYiYKkUHNZdnxEqFUS9RSyBJa1I0w1FUDXOYEU4tGWDcZ5nVdCWMtzx4J +xGQVNpwx0bRKWwjZKFisLZqAjQKUmcqFLNO/jJL0oGgsfQnlP1OhOivqgLFRUApbdYskU02qWgqU1HnU +JhUNL/E90U/pw7wvVbr8EOzHtI9lilorbQ4OnlC0XbdMS0UkPNuARYxq/MprkXOrNKw0bw1waDAXHOy6 +RaCuyRJEjtKKQqCmCC5zJzY2KK2BpQegbeAlF9JY4PD/+c2slyVhDmqbx4My/7iPxgs0GcqcS2uuOplB +0cks1CBUcos8Rx2Bq4yxJdfQ8Pbr6zg4o4P7TaKHf8B+ZqPPVOLdusXPXIoCjR1viAxPdoJi9rIrlVDy +krhA3x8DvK7dZHjxwVbcQsXbFiXmkHdOw61M+4Js0IzVXWbhmY0utTZw/+ALfmGMtIDwVUQE7iuMhjY9 +s5FG22kJRWOTeauFtEUYnCyDGDAh1Gi/kq38xvEvxRIlaCf4pplub1wnB++hQWkx3xmUpOe43LY52iQJ +jc5eNZLILroipr9gfAZ+C9ydSV1TSMRGonDH/zoDKWqKGOrzQiffNG9D1DqGoJPOsqxy9B3NXGUdjajz +3SBioxfmIIsY1CPlPD5G98uHT3SB0tFtONum39XXiV+EgZAWteS1JzU+gkprcn/y44GcUIo6iGEZsdHo +hY1GVN4ZFKGzi2SGKy9SuOiKKPIEDhTYkcBjUFWmpnp219tjFahRZnitCPRK1DhfG4tNGJAk4zRNg387 +O7lfPsRQmIiNmqNIczdgHib009ZTpJEzXW03jdwL3Y5AHUNTv7GlRUh10v/ma2n5kx/zYxK5rFFM14N+ +Rk/MGLbDMMx3r3k/AZ6yZxdGuyykqP0tpB10M/KIYb+LMZzGUKMM+3jHy4QRdYp+Yf6MIUeTUZjmskQ4 +uOcSOeAzcO6Q0/CaeG+cTkzgYaKeb8/sYPkJijZ6DA6Crr70ltrJjTtjvnHbYUH3Tt+wpEcm3ku8A+PV +HZzqJ056xNEpR+UdZ3wGyw/JEPZMxf/EIvSbp8k7hM9G7kBeSQYhFKmDvBnMwW8jzW/yRTZcm4rXoaPw +zlP8NU9q+kro9aPhFhphGm6zaseLPGxyrmQhymTzs0Tw/ZqRIsPjKb0F+Lt+mKgrv/c2v+LuPWZMP0uF +KOHEQMXpVQY6+SjVSu749RhOzB8yiA/yX4gSjT18uknf0+5HveZr3zM/633MNT01g3m6O28rywVG8O4d +LfOvxs2UvBheMWn1vTrH5fG836SOpzGockAqGux31zte2N8BAAD//9Klm8tqDAAA `, }, diff --git a/schema/gen.go b/schema/gen.go index c3ff5779..cdc31940 100644 --- a/schema/gen.go +++ b/schema/gen.go @@ -18,4 +18,4 @@ package schema // using esc (https://github.com/mjibson/esc). // This should generally be invoked with `make schema-fs` -//go:generate esc -private -pkg=schema -ignore=.*go . +//go:generate esc -private -pkg=schema -ignore=.*go -ignore=.*swp . diff --git a/schema/manifest-list-schema.json b/schema/manifest-list-schema.json index 5887682c..ac6fc0f4 100644 --- a/schema/manifest-list-schema.json +++ b/schema/manifest-list-schema.json @@ -17,6 +17,12 @@ "$ref": "defs-image.json#/definitions/manifestDescriptor" } }, + "elements": { + "type": "array", + "items": { + "$ref": "content-descriptor.json" + } + }, "annotations": { "id": "https://opencontainers.org/schema/image/manifest-list/annotations", "$ref": "defs-image.json#/definitions/annotations" diff --git a/schema/manifestlist_test.go b/schema/manifestlist_test.go index d80aa7e8..50de4f27 100644 --- a/schema/manifestlist_test.go +++ b/schema/manifestlist_test.go @@ -94,7 +94,7 @@ func TestManifestList(t *testing.T) { fail: true, }, - // expected failure: manifest.platform is missing, expected required + // expected pass: manifest.platform is optional { manifestList: ` { @@ -108,7 +108,7 @@ func TestManifestList(t *testing.T) { ] } `, - fail: true, + fail: false, }, // expected failure: invalid referenced manifest media type diff --git a/schema/spec_test.go b/schema/spec_test.go index 2a6f4a49..d9222f39 100644 --- a/schema/spec_test.go +++ b/schema/spec_test.go @@ -45,6 +45,10 @@ func TestValidateManifestList(t *testing.T) { validate(t, "../manifest-list.md") } +func TestValidateImageLayout(t *testing.T) { + validate(t, "../image-layout.md") +} + func TestValidateConfig(t *testing.T) { validate(t, "../config.md") }