// Code generated by vfsgen; DO NOT EDIT.

package fixtures

import (
	"bytes"
	"compress/gzip"
	"fmt"
	"io"
	"io/ioutil"
	"net/http"
	"os"
	pathpkg "path"
	"time"
)

// Fixtures statically implements the virtual filesystem provided to vfsgen.
var Fixtures = func() http.FileSystem {
	fs := vfsgen۰FS{
		"/": &vfsgen۰DirInfo{
			name:    "/",
			modTime: time.Date(2022, 2, 22, 6, 12, 40, 321077998, time.UTC),
		},
		"/download.yaml": &vfsgen۰CompressedFileInfo{
			name:             "download.yaml",
			modTime:          time.Date(2022, 2, 24, 14, 37, 26, 105890380, time.UTC),
			uncompressedSize: 12630,

			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\xff\xec\x1a\x5d\x6f\xdb\x38\xf2\x5d\xbf\x82\xd0\x4b\x76\x0f\x2b\xa7\xd9\x5e\x8b\x42\xc0\x3e\xb8\x76\xda\x18\x9b\x38\x86\xed\x74\xf7\xb0\x58\x04\x34\x39\x96\x79\xa1\x48\x2d\x49\x39\xf6\x05\xfd\xef\x07\x52\xdf\xb2\xec\x26\xdd\xc6\xd7\x1e\xea\x87\x44\x22\x87\xf3\x3d\xc3\x19\x8a\x41\x10\x78\x38\x61\x1f\x40\x69\x26\x45\x88\xd6\x67\xde\x1d\x13\x34\x44\x63\x1c\x83\x4e\x30\x01\x2f\x06\x83\x29\x36\x38\xf4\x10\xe2\x78\x01\x5c\xdb\x27\x84\x88\x14\x46\x49\x1e\x24\x1c\x0b\x08\x8b\x57\x0e\x2a\x88\xb1\xc0\x11\x28\x0f\x21\x81\x63\x08\x91\xc2\x4b\xbc\x0d\xf4\x56\x1b\x88\xbd\xbd\x14\x67\xa0\xd6\x8c\x40\x9f\x10\x99\x0a\xd3\x20\x9b\xa1\xc9\x10\x04\x1a\xe7\x23\x8e\xbd\x0e\xec\x0f\x0f\x01\x62\x4b\x84\x05\x45\xbd\x01\x4f\xb5\x01\xd5\xbb\xca\xb1\xf5\x2e\x9d\x04\xe8\x07\xf8\x0b\xfd\xc0\x04\x85\xcd\x7e\x18\xdf\x61\xee\x51\x58\x9f\xde\xa5\x0b\x50\x02\x0c\xe8\x89\x92\x6b\x46\x41\xf9\x3f\x22\xff\x7a\x72\x3e\x9e\x5d\x8c\xde\xcd\xfd\x1f\xd1\xc7\x8f\x0d\xa9\x34\x90\x54\x31\xb3\xed\xc9\x04\x84\x5e\xb1\xa5\xe9\x31\x79\x5a\x93\x35\x9b\x1e\x48\x61\x60\x63\x06\x52\x68\xa3\x30\x13\x46\x77\xc8\x9d\x09\x98\x28\xb6\x66\x1c\x22\xa0\x81\x26\xc4\x43\x08\x0b\x21\x0d\x36\x4c\x8a\xdc\x20\x4c\x10\x9e\x52\xe8\x29\xe0\x80\x35\x34\x49\xb3\x45\x1c\x10\x2e\x53\x9a\x5b\x87\x86\xc8\x37\x2a\x05\xff\xd3\x4b\x35\xf0\x65\xb1\x2a\x58\xb1\x68\x15\xe0\x35\x66\x1c\x2f\x18\x67\x66\xfb\x04\x3c\x4c\x44\x1c\x02\x21\x29\x04\x14\xd6\xc0\x65\x02\xaa\xb1\xbc\x52\xb3\x85\xa7\xa0\x89\x62\x89\x71\x0a\x3d\xa9\xe4\x47\x98\x73\x79\xaf\x11\x26\x04\xb4\x46\x46\xda\x01\x54\x9f\x17\x14\xad\xa4\x36\x0e\x27\x42\x4b\xc0\x26\x55\xa0\xdd\xb8\x59\x01\xca\x39\xb7\x2b\x55\x2a\x10\xb6\x33\x5b\x94\x6a\x50\x3f\xb9\xa7\x48\xc9\x34\xc9\x1e\x97\xfa\x7d\xf1\x42\xd1\x3d\x33\xab\x1c\xa7\x9d\x9b\x9d\x5f\x32\x91\x6e\x9c\xe7\xc3\xc6\xf4\x10\xfa\xad\x3f\x1d\x8f\xc6\xef\x43\x64\x56\x4c\x23\xa6\x1d\xb5\x58\x6a\x83\x14\x70\xbc\x01\x8a\x66\x83\x81\x43\xa5\x57\x32\xe5\x14\x2d\xc0\x92\xa5\x39\x52\x29\xf8\x16\x2d\xa5\x42\x24\xf3\x48\x84\x69\xcc\x04\xb3\xae\x61\x95\xd0\x43\xef\x15\x16\xc6\xb1\x81\x08\x4e\xdd\xd8\x89\x5b\xdb\xa9\x6f\xa2\x00\x1b\x08\x2c\xd6\x9a\x96\xeb\x21\xac\x20\x09\xee\xa5\xba\xe3\x12\x5b\x7f\xe8\x72\x34\xdf\x73\xda\xbe\x90\xda\x0c\x99\xfa\x20\x79\x1a\xc3\x84\xa7\x11\x13\x21\xb2\x28\xab\xe9\xd1\x64\xd0\x1e\x1a\x83\xb1\xe8\xdb\xc3\x93\xd1\x70\x67\x48\x2a\xa3\xeb\x83\x93\x82\x8b\x73\x4d\x30\xc7\x99\x13\x74\x4c\x53\x1b\x42\x98\x09\xeb\x49\xd5\x34\xd0\x01\x4e\x32\x33\x33\xd0\xa1\x17\xa0\x93\x7f\x9c\x14\x53\x37\x42\xe3\x25\xcc\xb6\x9a\x18\x5e\xce\x51\x58\xe2\x94\x9b\x3e\x6d\xae\x44\x22\xe5\xdc\xcb\xbd\xc0\x2a\xcd\x6c\x13\x08\xd1\x34\x15\x7d\xdd\x17\x5b\xcf\xb9\x8a\x43\x92\x25\xa0\x30\x37\x5d\xe0\x4c\xa7\xab\x71\xeb\xf5\xb5\xd7\x18\x5b\x28\xed\x25\x8a\x49\xe5\xa2\xc8\x11\x52\x80\xe9\xb5\xe0\xdb\xa9\x94\xe6\x1d\xe3\x90\x43\xa3\x25\xe6\x1a\x3c\x05\x7f\xa5\x4c\x01\x1d\x2a\x99\x74\x70\xa9\x2c\x53\x37\x1a\x54\x07\x9f\x1a\x9c\xaf\xe6\xf9\xa6\x13\x80\x10\x19\x27\x13\x25\x97\x96\x6e\xa1\x16\x9d\x26\x09\x87\x18\x84\xc1\xfc\x7d\x2e\xeb\xce\x5a\x1b\x39\x75\x1d\xe8\x2c\x93\xe3\x2c\x93\x87\xf5\x04\x1d\xe6\x7a\x7e\x1c\x70\x95\xf1\x1f\x05\xce\x44\xa4\x40\xeb\x40\x44\x4c\x6c\x3e\x63\x89\x33\x9a\xb6\x09\xfc\x71\x8b\x23\x6c\xe0\x0e\x20\x29\xcc\xfd\xe4\x55\x69\x42\x6d\x84\x96\x9b\x59\xe0\x82\xd3\x5b\xbb\x28\x2b\x6d\x50\xec\x69\x20\x68\x7b\x9b\x51\x0b\x4c\x7a\x38\x35\x2b\xa9\xd8\x7f\xb2\x24\x71\xf7\x46\x37\xb6\x9a\x7c\x77\x9b\x4a\x0e\xfb\xf6\x96\xb0\xd8\xb0\x55\x9a\x9b\x1e\x27\xac\xb2\x76\xc6\x85\xcd\x16\x5a\xa6\x8a\x40\x63\x70\x0d\x6a\x51\x1b\x08\x90\x90\x62\x9a\x03\xde\x4c\x2f\x0f\xc3\xb6\xc8\xe4\xb1\xd3\x2b\xf7\xdd\x5d\xa2\xa5\xaa\x74\x13\x5f\x96\xeb\xdc\x23\x05\x0e\xf9\x63\x04\xc6\xfd\xe7\x4c\x67\x0f\x09\x36\x64\xe5\x9e\x32\xd5\xbb\xc7\x7b\x37\xf8\xf7\xb8\x39\xd5\x06\x9b\xb4\xc5\x54\x41\x7e\x87\xea\xe7\xd0\x32\x58\xdf\x71\x30\x5f\x85\xdc\x05\x2f\xc7\x91\xfa\xab\x11\xf9\xa9\xf2\xb6\x2a\xdd\xa7\x05\xeb\x5b\x26\x28\x13\xd1\xde\x98\x6d\xe4\x94\x3c\x80\x03\x25\x39\x2c\xf2\x85\xf6\x79\x0a\x4b\xbb\xae\x10\xf7\x00\x0f\x1e\x42\xbb\xf9\xa2\x3b\x4b\xe8\x74\xf1\x6f\x20\xc6\x25\x8a\xce\xd2\xfd\x49\x05\xfb\x61\x14\xc5\x76\x71\xb8\xe2\x7f\x86\x94\x98\x28\xb9\xd9\x3a\x7d\xee\xcd\x8a\x96\x08\x08\xc3\x48\x4b\x8f\x6d\xcf\x91\x77\x20\x14\xac\x19\xdc\x77\x7b\x72\x27\xe2\x0e\xfb\xb4\xf0\xe6\x66\xc8\xaa\xe0\x83\xf8\x8f\xe7\x87\x95\xd6\x0a\x2f\xdc\x6f\xb8\x2f\xee\x9f\x35\x93\x7d\xdd\x2e\xaa\xc9\x0a\x68\xca\x99\x88\x6a\x8a\x6f\x74\x3b\x73\xdb\x3f\x14\xb5\x21\x22\x1c\x6b\xdd\x6a\x19\x5c\x9f\xe0\xa8\xa0\xbc\xd8\x40\x89\xa4\xda\xf5\x10\xbd\xdc\x8a\x93\x1c\xc1\xc0\xae\xdf\xdb\x58\x16\x15\x2b\x51\xcc\xfa\x32\xf7\xd6\x98\xa7\x10\xa2\xb3\x17\xc5\xef\x73\x3c\xe8\x60\x70\x71\xc0\x14\x54\x00\x1c\x88\x5d\x9c\xd9\xec\x80\xa7\xec\x09\x40\xdf\xdf\x8d\x0a\x22\xc5\x92\x45\x31\x4e\xf6\x64\xe9\x72\x7f\xb8\x2f\xd3\x75\x6d\x43\xa9\x6d\x15\x55\x3a\xcf\x77\x99\x27\x92\x3f\xb8\x57\xec\xd0\x79\x14\x72\x58\x83\x30\x5f\x2c\xc6\x1f\x13\xdc\x5d\x86\x7a\xb6\xc8\xee\x08\xe9\x4e\x47\xf9\xba\x83\x1b\x27\x0c\x36\x06\x84\x7d\xd3\xbb\x89\x35\xd5\x46\xc6\x45\x81\x3c\x84\x25\x13\xcc\x4a\xd6\x61\x81\xaa\xb8\xec\xed\xd6\x27\x3a\x01\x62\x41\x89\x14\xeb\x9c\xb2\xeb\xe8\xdd\x59\x01\x44\xdb\x10\x8d\xa5\xb0\xda\x8c\x32\xed\x77\x55\x38\x8e\x40\xb6\xac\x7d\xe6\x67\xc7\x6c\xa4\xfc\xda\x1c\xbf\x64\xf9\xa1\x4a\xc2\x53\x85\x79\xd8\x2c\xc7\x91\x4d\x51\xca\x8c\x2b\xb4\x01\x52\x22\x9f\x61\x22\x4a\x39\x56\xb5\x25\x1e\x42\x9a\x48\xdb\x48\x96\xf8\x69\xe6\xdb\xba\x38\xd3\x0a\x72\x55\xac\x7f\xce\x90\x80\x5a\x03\xcd\xfb\xfc\x4c\x5a\xa9\x70\x04\xf5\x11\xb2\x82\x18\x87\xc5\x81\x4a\x02\xa2\x3f\x19\x7d\x78\x39\x6b\x0c\x23\x94\x28\x99\x80\xca\xce\x06\x50\xf9\xab\x99\xb1\x36\x5a\xb4\xbb\xda\xa8\xcc\xed\x8b\x9f\x53\xda\x63\x00\xeb\xb6\x6d\x03\x4b\xe7\xcb\xb5\x89\xc2\xb2\x9f\x04\x44\x68\x13\x54\x07\x66\x41\xa2\xc0\xe9\x27\x48\xc5\x9d\x90\xf7\x22\x58\x32\xe0\x54\xd7\x74\x93\xe3\x77\x69\xe9\xf9\x28\xec\xe0\xd2\xe9\xa2\x91\xc7\x6a\x4c\xa0\x87\x8f\x5e\xc5\x8f\xad\x64\x12\x03\x74\xdc\xf6\x4b\xdf\x6f\x38\x9d\x7b\x25\x52\x50\x96\x1d\x7e\xa2\x3f\xfe\xf4\x32\x5f\x00\xfa\xa1\xf0\x1e\x3b\xf8\x6c\xa1\x59\xf4\x3f\xc7\x0a\xcc\x79\x46\xaf\x15\x96\xf9\xe8\x4e\x50\xd6\x3a\xc5\xce\x90\x34\xbc\x15\x92\xa6\x44\xff\x3d\x20\xbf\x07\xe4\xb7\x1a\x90\x47\x8d\xc6\x8e\x50\xec\x8c\xc3\xfd\x41\xd8\x11\x83\xdf\x03\xf0\x7b\x00\x1e\x37\x00\xab\x58\x73\x7d\xcb\x15\x4e\x3a\x82\x2b\xeb\xab\xb3\xce\xe6\x40\x21\xdc\xfc\xb4\x84\x93\xa4\xd7\xfc\x9c\x57\x7c\x41\x5c\x6c\x43\x74\x01\x3c\xee\xfa\x84\x69\x89\xf7\x56\xc0\xe3\x9e\x5e\x9d\xe6\x1f\xb5\x82\xc2\xe3\x03\x26\x96\x0a\x1f\x86\xeb\x62\xac\x90\x66\x65\x4c\x32\xb1\xb2\x84\xc8\x7f\x78\x60\xcb\xea\xcb\xef\x2c\x01\xd2\x73\x53\x99\x1e\x3e\x7e\x7c\x78\x40\x87\x00\x7a\xe7\x02\x2f\x38\x50\x64\x21\x83\x03\x70\x17\x05\x4d\x14\x58\x50\x10\xb4\xfc\xe7\xe7\x2c\xe9\xff\x05\x4f\xfa\x00\x53\x42\x1e\x9b\xa3\xb1\x3c\xc0\x8e\x73\xbf\x7e\x6a\x56\x47\x64\x68\x52\xd0\xec\x66\x69\x21\xa5\xb1\x5b\x48\x32\xe8\x1f\x91\xa9\xb7\x15\xd5\x6e\xb6\xdc\xf7\xcd\x91\x70\x77\x0f\xa0\x84\xfe\xa2\x1c\xa2\xc3\x2c\xf6\x3b\x39\xe8\xe2\xf6\xb3\x32\x91\x02\x8e\xb7\x01\x8e\x40\x98\xff\x83\x7c\x94\x17\x1b\xa3\x61\x88\x9a\x06\x6a\x5d\x44\xc9\xec\xf3\xe8\xbb\x2a\x25\x5a\x1f\x95\xfa\x76\x67\x49\x1c\x6f\x75\x88\x4e\xf6\xd0\xea\x57\xb2\x67\x8e\xb8\x8f\x62\x0d\x10\xf9\x19\x56\xbf\x66\xe1\x93\x8e\x2a\x2f\xd1\x55\x55\x37\x84\x84\xcb\x6d\x0c\x9d\x57\x7c\x6a\x06\xfe\x16\x2d\x5b\x54\x2a\xda\x1d\x58\x49\x95\x93\xc2\x86\xac\x2e\x6b\x1c\x3b\x9e\xdb\xc2\x2a\x48\x38\x23\x58\x87\xe8\x2c\x4b\x7a\xee\xc3\xf4\x10\x30\xe5\x4c\xc0\x0c\xec\xf6\x6e\x27\xdf\xbc\x78\xe1\x21\x64\x20\x4e\x38\x36\x50\x09\x53\x2f\xa7\x78\x83\x58\x27\xb9\x66\x59\x85\x97\xae\xb8\xde\x56\x4b\x84\xa4\xd0\xdf\x19\xb5\x6c\xe6\x77\x10\x52\x5b\xd2\xcd\xca\x93\xec\x51\x24\x64\x39\x7c\xbe\x01\xe2\xae\xa7\x34\x8b\x2a\x8b\x73\x96\xab\x66\x0e\x2a\x6e\xd5\x5c\xb6\xba\x75\xba\x3a\xdf\xd8\xc2\x4a\x57\xc6\x6a\x43\xdd\xc1\x36\x6c\x5d\x16\x92\xba\x03\xd2\xd5\xbb\x0a\x5b\x4b\xa0\x91\xe8\x04\x70\x87\xdd\x9d\x64\x32\x52\x9c\x89\x74\xf3\x58\x26\xb0\x22\xab\xe7\x61\x03\xc7\xf4\xf5\x3f\xf3\x59\x03\x2a\x66\xc2\x39\xf3\x7b\x85\x09\x4c\x40\x31\x49\x2b\x0f\x79\xe1\x15\x25\x7d\xed\xf8\x7f\x7c\xe8\xc4\x3f\x2f\x41\x1b\x47\xa0\xe3\x9d\x23\xd4\xec\x82\x17\x33\xe5\x8d\x9b\x92\xdf\xa2\x2b\xd1\x60\x02\xce\x62\x66\x2a\x63\xb0\xd8\xb5\x23\xbe\x82\x88\x69\xa3\xb6\x59\x6b\x15\x00\x8d\xa0\x27\xc0\x9c\xba\xd7\xd3\x45\xaa\xb7\x0b\xb9\x09\xcf\x7a\x2f\x5f\xfa\xe5\x5a\x22\xe3\x18\xdb\x9c\xf1\x87\xaf\x57\xfe\x4f\xc8\x0f\x88\xfd\x9b\x3a\x12\x28\x10\xe8\xf5\xab\x57\x2f\x5f\xfb\x7f\x96\x0b\x74\xf3\x5a\x5d\x5d\x9d\xd5\xad\xa6\x46\x75\x4e\xf6\xca\xd2\x0e\x97\xba\x30\x0f\x0f\xa8\x37\x94\xf7\x82\x4b\x4c\x87\x36\x27\x4e\x2d\x70\xdf\xc2\x8e\x2c\x08\xca\xf6\xe3\x3c\xb6\x54\x64\x8b\x6f\x3f\x08\x62\x49\xe1\x17\xc2\x19\x08\xe3\xa4\x09\xb8\x8c\x02\x0e\x6b\xe0\xbf\xbc\xac\x49\x01\x62\x5d\x71\x5e\xb0\x33\xb9\x1e\xde\x8e\xfb\x57\xe7\x5e\xcb\x67\xde\x29\x19\x37\xdd\xc6\xf5\x20\xf9\xf1\xfb\xce\xf8\x04\xdb\x3a\xaa\xc8\x17\x3d\x8b\x7b\x2f\xa9\xd9\xa4\x3f\x78\x06\x7a\xd5\x09\x73\x9d\xe8\x55\xff\xf7\xdb\xe1\xa8\x7f\x39\xfb\x34\x41\x52\x54\x08\xbf\xc2\xb6\x83\xee\x81\x52\xa1\xfe\x73\xe1\x1b\xe3\xcd\x90\x61\xde\xce\x1d\xd2\x7d\x86\x73\x3d\x7c\xbd\x91\x2b\x78\xb5\x7c\x5e\xdf\xcc\x6f\x27\xd3\xeb\xdf\xff\xf5\x85\xf8\x6d\x35\x59\x3b\x9c\x56\x9d\xc2\xdf\xe0\xf5\xb6\x7f\x33\xbf\x38\x1f\xcf\x47\x83\xfe\x7c\x74\x3d\x3e\x12\xeb\x65\x01\xff\x34\xce\x2f\xe6\xf3\xc9\xd1\x55\xfc\x19\x1a\xb6\x7c\xce\xbe\x09\x5f\x18\x5f\x1f\x95\xcd\xbc\x8f\x7c\x1a\x8f\x6f\xaf\xaf\xe7\xb3\xf9\xb4\x3f\xb9\x1d\xf4\x6f\x07\xe7\xd3\xf9\x91\x98\xad\xb5\x74\x4f\x63\xb8\x7f\x79\x79\xfd\xdb\xed\x68\x3c\x3b\x1f\xdc\x4c\xcf\x6f\x4b\xfe\x8f\xc4\x77\x77\xcf\xf7\x38\x11\xb2\x7b\x86\x57\x76\xb7\x6f\x94\x1e\xc1\xe3\x72\x68\x6c\x17\x66\x09\xfe\x14\x0c\x39\x6d\x81\xec\x1c\x71\x15\xe5\x23\x68\xd3\xaa\x74\x48\x92\xba\xfb\x06\x71\x13\x3f\xc4\x52\x6d\x43\x74\xf6\xf3\x9b\x2b\x56\x9b\xc9\x2a\x8c\x0e\x0c\xaf\xf6\x61\x78\x75\xf6\xf3\x15\x73\x23\x5e\x5d\xf2\x43\x7b\x7e\x5b\xe0\xd2\x58\x75\xba\xfb\x56\xfd\x37\x00\x00\xff\xff\xd0\x90\x58\x84\x56\x31\x00\x00"),
		},
	}
	fs["/"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
		fs["/download.yaml"].(os.FileInfo),
	}

	return fs
}()

type vfsgen۰FS map[string]interface{}

func (fs vfsgen۰FS) Open(path string) (http.File, error) {
	path = pathpkg.Clean("/" + path)
	f, ok := fs[path]
	if !ok {
		return nil, &os.PathError{Op: "open", Path: path, Err: os.ErrNotExist}
	}

	switch f := f.(type) {
	case *vfsgen۰CompressedFileInfo:
		gr, err := gzip.NewReader(bytes.NewReader(f.compressedContent))
		if err != nil {
			// This should never happen because we generate the gzip bytes such that they are always valid.
			panic("unexpected error reading own gzip compressed bytes: " + err.Error())
		}
		return &vfsgen۰CompressedFile{
			vfsgen۰CompressedFileInfo: f,
			gr:                        gr,
		}, nil
	case *vfsgen۰DirInfo:
		return &vfsgen۰Dir{
			vfsgen۰DirInfo: f,
		}, nil
	default:
		// This should never happen because we generate only the above types.
		panic(fmt.Sprintf("unexpected type %T", f))
	}
}

// vfsgen۰CompressedFileInfo is a static definition of a gzip compressed file.
type vfsgen۰CompressedFileInfo struct {
	name              string
	modTime           time.Time
	compressedContent []byte
	uncompressedSize  int64
}

func (f *vfsgen۰CompressedFileInfo) Readdir(count int) ([]os.FileInfo, error) {
	return nil, fmt.Errorf("cannot Readdir from file %s", f.name)
}
func (f *vfsgen۰CompressedFileInfo) Stat() (os.FileInfo, error) { return f, nil }

func (f *vfsgen۰CompressedFileInfo) GzipBytes() []byte {
	return f.compressedContent
}

func (f *vfsgen۰CompressedFileInfo) Name() string       { return f.name }
func (f *vfsgen۰CompressedFileInfo) Size() int64        { return f.uncompressedSize }
func (f *vfsgen۰CompressedFileInfo) Mode() os.FileMode  { return 0444 }
func (f *vfsgen۰CompressedFileInfo) ModTime() time.Time { return f.modTime }
func (f *vfsgen۰CompressedFileInfo) IsDir() bool        { return false }
func (f *vfsgen۰CompressedFileInfo) Sys() interface{}   { return nil }

// vfsgen۰CompressedFile is an opened compressedFile instance.
type vfsgen۰CompressedFile struct {
	*vfsgen۰CompressedFileInfo
	gr      *gzip.Reader
	grPos   int64 // Actual gr uncompressed position.
	seekPos int64 // Seek uncompressed position.
}

func (f *vfsgen۰CompressedFile) Read(p []byte) (n int, err error) {
	if f.grPos > f.seekPos {
		// Rewind to beginning.
		err = f.gr.Reset(bytes.NewReader(f.compressedContent))
		if err != nil {
			return 0, err
		}
		f.grPos = 0
	}
	if f.grPos < f.seekPos {
		// Fast-forward.
		_, err = io.CopyN(ioutil.Discard, f.gr, f.seekPos-f.grPos)
		if err != nil {
			return 0, err
		}
		f.grPos = f.seekPos
	}
	n, err = f.gr.Read(p)
	f.grPos += int64(n)
	f.seekPos = f.grPos
	return n, err
}
func (f *vfsgen۰CompressedFile) Seek(offset int64, whence int) (int64, error) {
	switch whence {
	case io.SeekStart:
		f.seekPos = 0 + offset
	case io.SeekCurrent:
		f.seekPos += offset
	case io.SeekEnd:
		f.seekPos = f.uncompressedSize + offset
	default:
		panic(fmt.Errorf("invalid whence value: %v", whence))
	}
	return f.seekPos, nil
}
func (f *vfsgen۰CompressedFile) Close() error {
	return f.gr.Close()
}

// vfsgen۰DirInfo is a static definition of a directory.
type vfsgen۰DirInfo struct {
	name    string
	modTime time.Time
	entries []os.FileInfo
}

func (d *vfsgen۰DirInfo) Read([]byte) (int, error) {
	return 0, fmt.Errorf("cannot Read from directory %s", d.name)
}
func (d *vfsgen۰DirInfo) Close() error               { return nil }
func (d *vfsgen۰DirInfo) Stat() (os.FileInfo, error) { return d, nil }

func (d *vfsgen۰DirInfo) Name() string       { return d.name }
func (d *vfsgen۰DirInfo) Size() int64        { return 0 }
func (d *vfsgen۰DirInfo) Mode() os.FileMode  { return 0755 | os.ModeDir }
func (d *vfsgen۰DirInfo) ModTime() time.Time { return d.modTime }
func (d *vfsgen۰DirInfo) IsDir() bool        { return true }
func (d *vfsgen۰DirInfo) Sys() interface{}   { return nil }

// vfsgen۰Dir is an opened dir instance.
type vfsgen۰Dir struct {
	*vfsgen۰DirInfo
	pos int // Position within entries for Seek and Readdir.
}

func (d *vfsgen۰Dir) Seek(offset int64, whence int) (int64, error) {
	if offset == 0 && whence == io.SeekStart {
		d.pos = 0
		return 0, nil
	}
	return 0, fmt.Errorf("unsupported Seek in directory %s", d.name)
}

func (d *vfsgen۰Dir) Readdir(count int) ([]os.FileInfo, error) {
	if d.pos >= len(d.entries) && count > 0 {
		return nil, io.EOF
	}
	if count <= 0 || count > len(d.entries)-d.pos {
		count = len(d.entries) - d.pos
	}
	e := d.entries[d.pos : d.pos+count]
	d.pos += count
	return e, nil
}
