// Code generated by easyjson for marshaling/unmarshaling. DO NOT EDIT.

package indexeddb

import (
	json "encoding/json"
	runtime "github.com/chromedp/cdproto/runtime"
	storage "github.com/chromedp/cdproto/storage"
	easyjson "github.com/mailru/easyjson"
	jlexer "github.com/mailru/easyjson/jlexer"
	jwriter "github.com/mailru/easyjson/jwriter"
)

// suppress unused package warning
var (
	_ *json.RawMessage
	_ *jlexer.Lexer
	_ *jwriter.Writer
	_ easyjson.Marshaler
)

func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb(in *jlexer.Lexer, out *RequestDatabaseReturns) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "databaseWithObjectStores":
			if in.IsNull() {
				in.Skip()
				out.DatabaseWithObjectStores = nil
			} else {
				if out.DatabaseWithObjectStores == nil {
					out.DatabaseWithObjectStores = new(DatabaseWithObjectStores)
				}
				(*out.DatabaseWithObjectStores).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb(out *jwriter.Writer, in RequestDatabaseReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if in.DatabaseWithObjectStores != nil {
		const prefix string = ",\"databaseWithObjectStores\":"
		first = false
		out.RawString(prefix[1:])
		(*in.DatabaseWithObjectStores).MarshalEasyJSON(out)
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v RequestDatabaseReturns) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v RequestDatabaseReturns) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *RequestDatabaseReturns) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *RequestDatabaseReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb1(in *jlexer.Lexer, out *RequestDatabaseParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "securityOrigin":
			out.SecurityOrigin = string(in.String())
		case "storageKey":
			out.StorageKey = string(in.String())
		case "storageBucket":
			if in.IsNull() {
				in.Skip()
				out.StorageBucket = nil
			} else {
				if out.StorageBucket == nil {
					out.StorageBucket = new(storage.Bucket)
				}
				(*out.StorageBucket).UnmarshalEasyJSON(in)
			}
		case "databaseName":
			out.DatabaseName = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb1(out *jwriter.Writer, in RequestDatabaseParams) {
	out.RawByte('{')
	first := true
	_ = first
	if in.SecurityOrigin != "" {
		const prefix string = ",\"securityOrigin\":"
		first = false
		out.RawString(prefix[1:])
		out.String(string(in.SecurityOrigin))
	}
	if in.StorageKey != "" {
		const prefix string = ",\"storageKey\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.StorageKey))
	}
	if in.StorageBucket != nil {
		const prefix string = ",\"storageBucket\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		(*in.StorageBucket).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"databaseName\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.DatabaseName))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v RequestDatabaseParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb1(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v RequestDatabaseParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb1(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *RequestDatabaseParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb1(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *RequestDatabaseParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb1(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb2(in *jlexer.Lexer, out *RequestDatabaseNamesReturns) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "databaseNames":
			if in.IsNull() {
				in.Skip()
				out.DatabaseNames = nil
			} else {
				in.Delim('[')
				if out.DatabaseNames == nil {
					if !in.IsDelim(']') {
						out.DatabaseNames = make([]string, 0, 4)
					} else {
						out.DatabaseNames = []string{}
					}
				} else {
					out.DatabaseNames = (out.DatabaseNames)[:0]
				}
				for !in.IsDelim(']') {
					var v1 string
					v1 = string(in.String())
					out.DatabaseNames = append(out.DatabaseNames, v1)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb2(out *jwriter.Writer, in RequestDatabaseNamesReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if len(in.DatabaseNames) != 0 {
		const prefix string = ",\"databaseNames\":"
		first = false
		out.RawString(prefix[1:])
		{
			out.RawByte('[')
			for v2, v3 := range in.DatabaseNames {
				if v2 > 0 {
					out.RawByte(',')
				}
				out.String(string(v3))
			}
			out.RawByte(']')
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v RequestDatabaseNamesReturns) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb2(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v RequestDatabaseNamesReturns) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb2(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *RequestDatabaseNamesReturns) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb2(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *RequestDatabaseNamesReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb2(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb3(in *jlexer.Lexer, out *RequestDatabaseNamesParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "securityOrigin":
			out.SecurityOrigin = string(in.String())
		case "storageKey":
			out.StorageKey = string(in.String())
		case "storageBucket":
			if in.IsNull() {
				in.Skip()
				out.StorageBucket = nil
			} else {
				if out.StorageBucket == nil {
					out.StorageBucket = new(storage.Bucket)
				}
				(*out.StorageBucket).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb3(out *jwriter.Writer, in RequestDatabaseNamesParams) {
	out.RawByte('{')
	first := true
	_ = first
	if in.SecurityOrigin != "" {
		const prefix string = ",\"securityOrigin\":"
		first = false
		out.RawString(prefix[1:])
		out.String(string(in.SecurityOrigin))
	}
	if in.StorageKey != "" {
		const prefix string = ",\"storageKey\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.StorageKey))
	}
	if in.StorageBucket != nil {
		const prefix string = ",\"storageBucket\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		(*in.StorageBucket).MarshalEasyJSON(out)
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v RequestDatabaseNamesParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb3(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v RequestDatabaseNamesParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb3(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *RequestDatabaseNamesParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb3(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *RequestDatabaseNamesParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb3(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb4(in *jlexer.Lexer, out *RequestDataReturns) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "objectStoreDataEntries":
			if in.IsNull() {
				in.Skip()
				out.ObjectStoreDataEntries = nil
			} else {
				in.Delim('[')
				if out.ObjectStoreDataEntries == nil {
					if !in.IsDelim(']') {
						out.ObjectStoreDataEntries = make([]*DataEntry, 0, 8)
					} else {
						out.ObjectStoreDataEntries = []*DataEntry{}
					}
				} else {
					out.ObjectStoreDataEntries = (out.ObjectStoreDataEntries)[:0]
				}
				for !in.IsDelim(']') {
					var v4 *DataEntry
					if in.IsNull() {
						in.Skip()
						v4 = nil
					} else {
						if v4 == nil {
							v4 = new(DataEntry)
						}
						(*v4).UnmarshalEasyJSON(in)
					}
					out.ObjectStoreDataEntries = append(out.ObjectStoreDataEntries, v4)
					in.WantComma()
				}
				in.Delim(']')
			}
		case "hasMore":
			out.HasMore = bool(in.Bool())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb4(out *jwriter.Writer, in RequestDataReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if len(in.ObjectStoreDataEntries) != 0 {
		const prefix string = ",\"objectStoreDataEntries\":"
		first = false
		out.RawString(prefix[1:])
		{
			out.RawByte('[')
			for v5, v6 := range in.ObjectStoreDataEntries {
				if v5 > 0 {
					out.RawByte(',')
				}
				if v6 == nil {
					out.RawString("null")
				} else {
					(*v6).MarshalEasyJSON(out)
				}
			}
			out.RawByte(']')
		}
	}
	if in.HasMore {
		const prefix string = ",\"hasMore\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.Bool(bool(in.HasMore))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v RequestDataReturns) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb4(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v RequestDataReturns) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb4(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *RequestDataReturns) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb4(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *RequestDataReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb4(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb5(in *jlexer.Lexer, out *RequestDataParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "securityOrigin":
			out.SecurityOrigin = string(in.String())
		case "storageKey":
			out.StorageKey = string(in.String())
		case "storageBucket":
			if in.IsNull() {
				in.Skip()
				out.StorageBucket = nil
			} else {
				if out.StorageBucket == nil {
					out.StorageBucket = new(storage.Bucket)
				}
				(*out.StorageBucket).UnmarshalEasyJSON(in)
			}
		case "databaseName":
			out.DatabaseName = string(in.String())
		case "objectStoreName":
			out.ObjectStoreName = string(in.String())
		case "indexName":
			out.IndexName = string(in.String())
		case "skipCount":
			out.SkipCount = int64(in.Int64())
		case "pageSize":
			out.PageSize = int64(in.Int64())
		case "keyRange":
			if in.IsNull() {
				in.Skip()
				out.KeyRange = nil
			} else {
				if out.KeyRange == nil {
					out.KeyRange = new(KeyRange)
				}
				(*out.KeyRange).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb5(out *jwriter.Writer, in RequestDataParams) {
	out.RawByte('{')
	first := true
	_ = first
	if in.SecurityOrigin != "" {
		const prefix string = ",\"securityOrigin\":"
		first = false
		out.RawString(prefix[1:])
		out.String(string(in.SecurityOrigin))
	}
	if in.StorageKey != "" {
		const prefix string = ",\"storageKey\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.StorageKey))
	}
	if in.StorageBucket != nil {
		const prefix string = ",\"storageBucket\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		(*in.StorageBucket).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"databaseName\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.DatabaseName))
	}
	{
		const prefix string = ",\"objectStoreName\":"
		out.RawString(prefix)
		out.String(string(in.ObjectStoreName))
	}
	{
		const prefix string = ",\"indexName\":"
		out.RawString(prefix)
		out.String(string(in.IndexName))
	}
	{
		const prefix string = ",\"skipCount\":"
		out.RawString(prefix)
		out.Int64(int64(in.SkipCount))
	}
	{
		const prefix string = ",\"pageSize\":"
		out.RawString(prefix)
		out.Int64(int64(in.PageSize))
	}
	if in.KeyRange != nil {
		const prefix string = ",\"keyRange\":"
		out.RawString(prefix)
		(*in.KeyRange).MarshalEasyJSON(out)
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v RequestDataParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb5(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v RequestDataParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb5(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *RequestDataParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb5(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *RequestDataParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb5(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb6(in *jlexer.Lexer, out *ObjectStoreIndex) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "name":
			out.Name = string(in.String())
		case "keyPath":
			if in.IsNull() {
				in.Skip()
				out.KeyPath = nil
			} else {
				if out.KeyPath == nil {
					out.KeyPath = new(KeyPath)
				}
				(*out.KeyPath).UnmarshalEasyJSON(in)
			}
		case "unique":
			out.Unique = bool(in.Bool())
		case "multiEntry":
			out.MultiEntry = bool(in.Bool())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb6(out *jwriter.Writer, in ObjectStoreIndex) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"name\":"
		out.RawString(prefix[1:])
		out.String(string(in.Name))
	}
	{
		const prefix string = ",\"keyPath\":"
		out.RawString(prefix)
		if in.KeyPath == nil {
			out.RawString("null")
		} else {
			(*in.KeyPath).MarshalEasyJSON(out)
		}
	}
	{
		const prefix string = ",\"unique\":"
		out.RawString(prefix)
		out.Bool(bool(in.Unique))
	}
	{
		const prefix string = ",\"multiEntry\":"
		out.RawString(prefix)
		out.Bool(bool(in.MultiEntry))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v ObjectStoreIndex) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb6(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ObjectStoreIndex) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb6(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *ObjectStoreIndex) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb6(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ObjectStoreIndex) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb6(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb7(in *jlexer.Lexer, out *ObjectStore) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "name":
			out.Name = string(in.String())
		case "keyPath":
			if in.IsNull() {
				in.Skip()
				out.KeyPath = nil
			} else {
				if out.KeyPath == nil {
					out.KeyPath = new(KeyPath)
				}
				(*out.KeyPath).UnmarshalEasyJSON(in)
			}
		case "autoIncrement":
			out.AutoIncrement = bool(in.Bool())
		case "indexes":
			if in.IsNull() {
				in.Skip()
				out.Indexes = nil
			} else {
				in.Delim('[')
				if out.Indexes == nil {
					if !in.IsDelim(']') {
						out.Indexes = make([]*ObjectStoreIndex, 0, 8)
					} else {
						out.Indexes = []*ObjectStoreIndex{}
					}
				} else {
					out.Indexes = (out.Indexes)[:0]
				}
				for !in.IsDelim(']') {
					var v7 *ObjectStoreIndex
					if in.IsNull() {
						in.Skip()
						v7 = nil
					} else {
						if v7 == nil {
							v7 = new(ObjectStoreIndex)
						}
						(*v7).UnmarshalEasyJSON(in)
					}
					out.Indexes = append(out.Indexes, v7)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb7(out *jwriter.Writer, in ObjectStore) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"name\":"
		out.RawString(prefix[1:])
		out.String(string(in.Name))
	}
	{
		const prefix string = ",\"keyPath\":"
		out.RawString(prefix)
		if in.KeyPath == nil {
			out.RawString("null")
		} else {
			(*in.KeyPath).MarshalEasyJSON(out)
		}
	}
	{
		const prefix string = ",\"autoIncrement\":"
		out.RawString(prefix)
		out.Bool(bool(in.AutoIncrement))
	}
	{
		const prefix string = ",\"indexes\":"
		out.RawString(prefix)
		if in.Indexes == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v8, v9 := range in.Indexes {
				if v8 > 0 {
					out.RawByte(',')
				}
				if v9 == nil {
					out.RawString("null")
				} else {
					(*v9).MarshalEasyJSON(out)
				}
			}
			out.RawByte(']')
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v ObjectStore) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb7(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ObjectStore) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb7(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *ObjectStore) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb7(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ObjectStore) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb7(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb8(in *jlexer.Lexer, out *KeyRange) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "lower":
			if in.IsNull() {
				in.Skip()
				out.Lower = nil
			} else {
				if out.Lower == nil {
					out.Lower = new(Key)
				}
				(*out.Lower).UnmarshalEasyJSON(in)
			}
		case "upper":
			if in.IsNull() {
				in.Skip()
				out.Upper = nil
			} else {
				if out.Upper == nil {
					out.Upper = new(Key)
				}
				(*out.Upper).UnmarshalEasyJSON(in)
			}
		case "lowerOpen":
			out.LowerOpen = bool(in.Bool())
		case "upperOpen":
			out.UpperOpen = bool(in.Bool())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb8(out *jwriter.Writer, in KeyRange) {
	out.RawByte('{')
	first := true
	_ = first
	if in.Lower != nil {
		const prefix string = ",\"lower\":"
		first = false
		out.RawString(prefix[1:])
		(*in.Lower).MarshalEasyJSON(out)
	}
	if in.Upper != nil {
		const prefix string = ",\"upper\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		(*in.Upper).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"lowerOpen\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.Bool(bool(in.LowerOpen))
	}
	{
		const prefix string = ",\"upperOpen\":"
		out.RawString(prefix)
		out.Bool(bool(in.UpperOpen))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v KeyRange) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb8(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v KeyRange) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb8(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *KeyRange) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb8(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *KeyRange) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb8(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb9(in *jlexer.Lexer, out *KeyPath) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "type":
			(out.Type).UnmarshalEasyJSON(in)
		case "string":
			out.String = string(in.String())
		case "array":
			if in.IsNull() {
				in.Skip()
				out.Array = nil
			} else {
				in.Delim('[')
				if out.Array == nil {
					if !in.IsDelim(']') {
						out.Array = make([]string, 0, 4)
					} else {
						out.Array = []string{}
					}
				} else {
					out.Array = (out.Array)[:0]
				}
				for !in.IsDelim(']') {
					var v10 string
					v10 = string(in.String())
					out.Array = append(out.Array, v10)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb9(out *jwriter.Writer, in KeyPath) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix[1:])
		(in.Type).MarshalEasyJSON(out)
	}
	if in.String != "" {
		const prefix string = ",\"string\":"
		out.RawString(prefix)
		out.String(string(in.String))
	}
	if len(in.Array) != 0 {
		const prefix string = ",\"array\":"
		out.RawString(prefix)
		{
			out.RawByte('[')
			for v11, v12 := range in.Array {
				if v11 > 0 {
					out.RawByte(',')
				}
				out.String(string(v12))
			}
			out.RawByte(']')
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v KeyPath) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb9(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v KeyPath) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb9(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *KeyPath) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb9(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *KeyPath) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb9(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb10(in *jlexer.Lexer, out *Key) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "type":
			(out.Type).UnmarshalEasyJSON(in)
		case "number":
			out.Number = float64(in.Float64())
		case "string":
			out.String = string(in.String())
		case "date":
			out.Date = float64(in.Float64())
		case "array":
			if in.IsNull() {
				in.Skip()
				out.Array = nil
			} else {
				in.Delim('[')
				if out.Array == nil {
					if !in.IsDelim(']') {
						out.Array = make([]*Key, 0, 8)
					} else {
						out.Array = []*Key{}
					}
				} else {
					out.Array = (out.Array)[:0]
				}
				for !in.IsDelim(']') {
					var v13 *Key
					if in.IsNull() {
						in.Skip()
						v13 = nil
					} else {
						if v13 == nil {
							v13 = new(Key)
						}
						(*v13).UnmarshalEasyJSON(in)
					}
					out.Array = append(out.Array, v13)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb10(out *jwriter.Writer, in Key) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"type\":"
		out.RawString(prefix[1:])
		(in.Type).MarshalEasyJSON(out)
	}
	if in.Number != 0 {
		const prefix string = ",\"number\":"
		out.RawString(prefix)
		out.Float64(float64(in.Number))
	}
	if in.String != "" {
		const prefix string = ",\"string\":"
		out.RawString(prefix)
		out.String(string(in.String))
	}
	if in.Date != 0 {
		const prefix string = ",\"date\":"
		out.RawString(prefix)
		out.Float64(float64(in.Date))
	}
	if len(in.Array) != 0 {
		const prefix string = ",\"array\":"
		out.RawString(prefix)
		{
			out.RawByte('[')
			for v14, v15 := range in.Array {
				if v14 > 0 {
					out.RawByte(',')
				}
				if v15 == nil {
					out.RawString("null")
				} else {
					(*v15).MarshalEasyJSON(out)
				}
			}
			out.RawByte(']')
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v Key) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb10(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v Key) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb10(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *Key) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb10(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *Key) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb10(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb11(in *jlexer.Lexer, out *GetMetadataReturns) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "entriesCount":
			out.EntriesCount = float64(in.Float64())
		case "keyGeneratorValue":
			out.KeyGeneratorValue = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb11(out *jwriter.Writer, in GetMetadataReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if in.EntriesCount != 0 {
		const prefix string = ",\"entriesCount\":"
		first = false
		out.RawString(prefix[1:])
		out.Float64(float64(in.EntriesCount))
	}
	if in.KeyGeneratorValue != 0 {
		const prefix string = ",\"keyGeneratorValue\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.Float64(float64(in.KeyGeneratorValue))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v GetMetadataReturns) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb11(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v GetMetadataReturns) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb11(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *GetMetadataReturns) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb11(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *GetMetadataReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb11(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb12(in *jlexer.Lexer, out *GetMetadataParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "securityOrigin":
			out.SecurityOrigin = string(in.String())
		case "storageKey":
			out.StorageKey = string(in.String())
		case "storageBucket":
			if in.IsNull() {
				in.Skip()
				out.StorageBucket = nil
			} else {
				if out.StorageBucket == nil {
					out.StorageBucket = new(storage.Bucket)
				}
				(*out.StorageBucket).UnmarshalEasyJSON(in)
			}
		case "databaseName":
			out.DatabaseName = string(in.String())
		case "objectStoreName":
			out.ObjectStoreName = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb12(out *jwriter.Writer, in GetMetadataParams) {
	out.RawByte('{')
	first := true
	_ = first
	if in.SecurityOrigin != "" {
		const prefix string = ",\"securityOrigin\":"
		first = false
		out.RawString(prefix[1:])
		out.String(string(in.SecurityOrigin))
	}
	if in.StorageKey != "" {
		const prefix string = ",\"storageKey\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.StorageKey))
	}
	if in.StorageBucket != nil {
		const prefix string = ",\"storageBucket\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		(*in.StorageBucket).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"databaseName\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.DatabaseName))
	}
	{
		const prefix string = ",\"objectStoreName\":"
		out.RawString(prefix)
		out.String(string(in.ObjectStoreName))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v GetMetadataParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb12(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v GetMetadataParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb12(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *GetMetadataParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb12(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *GetMetadataParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb12(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb13(in *jlexer.Lexer, out *EnableParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb13(out *jwriter.Writer, in EnableParams) {
	out.RawByte('{')
	first := true
	_ = first
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v EnableParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb13(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v EnableParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb13(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *EnableParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb13(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EnableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb13(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb14(in *jlexer.Lexer, out *DisableParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb14(out *jwriter.Writer, in DisableParams) {
	out.RawByte('{')
	first := true
	_ = first
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v DisableParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb14(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v DisableParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb14(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *DisableParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb14(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DisableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb14(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb15(in *jlexer.Lexer, out *DeleteObjectStoreEntriesParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "securityOrigin":
			out.SecurityOrigin = string(in.String())
		case "storageKey":
			out.StorageKey = string(in.String())
		case "storageBucket":
			if in.IsNull() {
				in.Skip()
				out.StorageBucket = nil
			} else {
				if out.StorageBucket == nil {
					out.StorageBucket = new(storage.Bucket)
				}
				(*out.StorageBucket).UnmarshalEasyJSON(in)
			}
		case "databaseName":
			out.DatabaseName = string(in.String())
		case "objectStoreName":
			out.ObjectStoreName = string(in.String())
		case "keyRange":
			if in.IsNull() {
				in.Skip()
				out.KeyRange = nil
			} else {
				if out.KeyRange == nil {
					out.KeyRange = new(KeyRange)
				}
				(*out.KeyRange).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb15(out *jwriter.Writer, in DeleteObjectStoreEntriesParams) {
	out.RawByte('{')
	first := true
	_ = first
	if in.SecurityOrigin != "" {
		const prefix string = ",\"securityOrigin\":"
		first = false
		out.RawString(prefix[1:])
		out.String(string(in.SecurityOrigin))
	}
	if in.StorageKey != "" {
		const prefix string = ",\"storageKey\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.StorageKey))
	}
	if in.StorageBucket != nil {
		const prefix string = ",\"storageBucket\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		(*in.StorageBucket).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"databaseName\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.DatabaseName))
	}
	{
		const prefix string = ",\"objectStoreName\":"
		out.RawString(prefix)
		out.String(string(in.ObjectStoreName))
	}
	{
		const prefix string = ",\"keyRange\":"
		out.RawString(prefix)
		if in.KeyRange == nil {
			out.RawString("null")
		} else {
			(*in.KeyRange).MarshalEasyJSON(out)
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v DeleteObjectStoreEntriesParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb15(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v DeleteObjectStoreEntriesParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb15(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *DeleteObjectStoreEntriesParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb15(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DeleteObjectStoreEntriesParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb15(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb16(in *jlexer.Lexer, out *DeleteDatabaseParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "securityOrigin":
			out.SecurityOrigin = string(in.String())
		case "storageKey":
			out.StorageKey = string(in.String())
		case "storageBucket":
			if in.IsNull() {
				in.Skip()
				out.StorageBucket = nil
			} else {
				if out.StorageBucket == nil {
					out.StorageBucket = new(storage.Bucket)
				}
				(*out.StorageBucket).UnmarshalEasyJSON(in)
			}
		case "databaseName":
			out.DatabaseName = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb16(out *jwriter.Writer, in DeleteDatabaseParams) {
	out.RawByte('{')
	first := true
	_ = first
	if in.SecurityOrigin != "" {
		const prefix string = ",\"securityOrigin\":"
		first = false
		out.RawString(prefix[1:])
		out.String(string(in.SecurityOrigin))
	}
	if in.StorageKey != "" {
		const prefix string = ",\"storageKey\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.StorageKey))
	}
	if in.StorageBucket != nil {
		const prefix string = ",\"storageBucket\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		(*in.StorageBucket).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"databaseName\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.DatabaseName))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v DeleteDatabaseParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb16(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v DeleteDatabaseParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb16(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *DeleteDatabaseParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb16(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DeleteDatabaseParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb16(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb17(in *jlexer.Lexer, out *DatabaseWithObjectStores) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "name":
			out.Name = string(in.String())
		case "version":
			out.Version = float64(in.Float64())
		case "objectStores":
			if in.IsNull() {
				in.Skip()
				out.ObjectStores = nil
			} else {
				in.Delim('[')
				if out.ObjectStores == nil {
					if !in.IsDelim(']') {
						out.ObjectStores = make([]*ObjectStore, 0, 8)
					} else {
						out.ObjectStores = []*ObjectStore{}
					}
				} else {
					out.ObjectStores = (out.ObjectStores)[:0]
				}
				for !in.IsDelim(']') {
					var v16 *ObjectStore
					if in.IsNull() {
						in.Skip()
						v16 = nil
					} else {
						if v16 == nil {
							v16 = new(ObjectStore)
						}
						(*v16).UnmarshalEasyJSON(in)
					}
					out.ObjectStores = append(out.ObjectStores, v16)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb17(out *jwriter.Writer, in DatabaseWithObjectStores) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"name\":"
		out.RawString(prefix[1:])
		out.String(string(in.Name))
	}
	{
		const prefix string = ",\"version\":"
		out.RawString(prefix)
		out.Float64(float64(in.Version))
	}
	{
		const prefix string = ",\"objectStores\":"
		out.RawString(prefix)
		if in.ObjectStores == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v17, v18 := range in.ObjectStores {
				if v17 > 0 {
					out.RawByte(',')
				}
				if v18 == nil {
					out.RawString("null")
				} else {
					(*v18).MarshalEasyJSON(out)
				}
			}
			out.RawByte(']')
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v DatabaseWithObjectStores) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb17(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v DatabaseWithObjectStores) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb17(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *DatabaseWithObjectStores) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb17(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DatabaseWithObjectStores) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb17(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb18(in *jlexer.Lexer, out *DataEntry) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "key":
			if in.IsNull() {
				in.Skip()
				out.Key = nil
			} else {
				if out.Key == nil {
					out.Key = new(runtime.RemoteObject)
				}
				(*out.Key).UnmarshalEasyJSON(in)
			}
		case "primaryKey":
			if in.IsNull() {
				in.Skip()
				out.PrimaryKey = nil
			} else {
				if out.PrimaryKey == nil {
					out.PrimaryKey = new(runtime.RemoteObject)
				}
				(*out.PrimaryKey).UnmarshalEasyJSON(in)
			}
		case "value":
			if in.IsNull() {
				in.Skip()
				out.Value = nil
			} else {
				if out.Value == nil {
					out.Value = new(runtime.RemoteObject)
				}
				(*out.Value).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb18(out *jwriter.Writer, in DataEntry) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"key\":"
		out.RawString(prefix[1:])
		if in.Key == nil {
			out.RawString("null")
		} else {
			(*in.Key).MarshalEasyJSON(out)
		}
	}
	{
		const prefix string = ",\"primaryKey\":"
		out.RawString(prefix)
		if in.PrimaryKey == nil {
			out.RawString("null")
		} else {
			(*in.PrimaryKey).MarshalEasyJSON(out)
		}
	}
	{
		const prefix string = ",\"value\":"
		out.RawString(prefix)
		if in.Value == nil {
			out.RawString("null")
		} else {
			(*in.Value).MarshalEasyJSON(out)
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v DataEntry) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb18(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v DataEntry) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb18(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *DataEntry) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb18(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DataEntry) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb18(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb19(in *jlexer.Lexer, out *ClearObjectStoreParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeFieldName(false)
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "securityOrigin":
			out.SecurityOrigin = string(in.String())
		case "storageKey":
			out.StorageKey = string(in.String())
		case "storageBucket":
			if in.IsNull() {
				in.Skip()
				out.StorageBucket = nil
			} else {
				if out.StorageBucket == nil {
					out.StorageBucket = new(storage.Bucket)
				}
				(*out.StorageBucket).UnmarshalEasyJSON(in)
			}
		case "databaseName":
			out.DatabaseName = string(in.String())
		case "objectStoreName":
			out.ObjectStoreName = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb19(out *jwriter.Writer, in ClearObjectStoreParams) {
	out.RawByte('{')
	first := true
	_ = first
	if in.SecurityOrigin != "" {
		const prefix string = ",\"securityOrigin\":"
		first = false
		out.RawString(prefix[1:])
		out.String(string(in.SecurityOrigin))
	}
	if in.StorageKey != "" {
		const prefix string = ",\"storageKey\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.StorageKey))
	}
	if in.StorageBucket != nil {
		const prefix string = ",\"storageBucket\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		(*in.StorageBucket).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"databaseName\":"
		if first {
			first = false
			out.RawString(prefix[1:])
		} else {
			out.RawString(prefix)
		}
		out.String(string(in.DatabaseName))
	}
	{
		const prefix string = ",\"objectStoreName\":"
		out.RawString(prefix)
		out.String(string(in.ObjectStoreName))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v ClearObjectStoreParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb19(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ClearObjectStoreParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoIndexeddb19(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *ClearObjectStoreParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb19(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ClearObjectStoreParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoIndexeddb19(l, v)
}
