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

package animation

import (
	json "encoding/json"
	runtime "github.com/knq/chromedp/cdp/runtime"
	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 easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation(in *jlexer.Lexer, out *SetTimingParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "animationId":
			out.AnimationID = string(in.String())
		case "duration":
			out.Duration = float64(in.Float64())
		case "delay":
			out.Delay = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation(out *jwriter.Writer, in SetTimingParams) {
	out.RawByte('{')
	first := true
	_ = first
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"animationId\":")
	out.String(string(in.AnimationID))
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"duration\":")
	out.Float64(float64(in.Duration))
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"delay\":")
	out.Float64(float64(in.Delay))
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *SetTimingParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation1(in *jlexer.Lexer, out *SetPlaybackRateParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "playbackRate":
			out.PlaybackRate = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation1(out *jwriter.Writer, in SetPlaybackRateParams) {
	out.RawByte('{')
	first := true
	_ = first
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"playbackRate\":")
	out.Float64(float64(in.PlaybackRate))
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *SetPlaybackRateParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation1(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation2(in *jlexer.Lexer, out *SetPausedParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "animations":
			if in.IsNull() {
				in.Skip()
				out.Animations = nil
			} else {
				in.Delim('[')
				if out.Animations == nil {
					if !in.IsDelim(']') {
						out.Animations = make([]string, 0, 4)
					} else {
						out.Animations = []string{}
					}
				} else {
					out.Animations = (out.Animations)[:0]
				}
				for !in.IsDelim(']') {
					var v1 string
					v1 = string(in.String())
					out.Animations = append(out.Animations, v1)
					in.WantComma()
				}
				in.Delim(']')
			}
		case "paused":
			out.Paused = bool(in.Bool())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation2(out *jwriter.Writer, in SetPausedParams) {
	out.RawByte('{')
	first := true
	_ = first
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"animations\":")
	if in.Animations == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
		out.RawString("null")
	} else {
		out.RawByte('[')
		for v2, v3 := range in.Animations {
			if v2 > 0 {
				out.RawByte(',')
			}
			out.String(string(v3))
		}
		out.RawByte(']')
	}
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"paused\":")
	out.Bool(bool(in.Paused))
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *SetPausedParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation2(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation3(in *jlexer.Lexer, out *SeekAnimationsParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "animations":
			if in.IsNull() {
				in.Skip()
				out.Animations = nil
			} else {
				in.Delim('[')
				if out.Animations == nil {
					if !in.IsDelim(']') {
						out.Animations = make([]string, 0, 4)
					} else {
						out.Animations = []string{}
					}
				} else {
					out.Animations = (out.Animations)[:0]
				}
				for !in.IsDelim(']') {
					var v4 string
					v4 = string(in.String())
					out.Animations = append(out.Animations, v4)
					in.WantComma()
				}
				in.Delim(']')
			}
		case "currentTime":
			out.CurrentTime = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation3(out *jwriter.Writer, in SeekAnimationsParams) {
	out.RawByte('{')
	first := true
	_ = first
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"animations\":")
	if in.Animations == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
		out.RawString("null")
	} else {
		out.RawByte('[')
		for v5, v6 := range in.Animations {
			if v5 > 0 {
				out.RawByte(',')
			}
			out.String(string(v6))
		}
		out.RawByte(']')
	}
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"currentTime\":")
	out.Float64(float64(in.CurrentTime))
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *SeekAnimationsParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation3(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation4(in *jlexer.Lexer, out *ResolveAnimationReturns) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "remoteObject":
			if in.IsNull() {
				in.Skip()
				out.RemoteObject = nil
			} else {
				if out.RemoteObject == nil {
					out.RemoteObject = new(runtime.RemoteObject)
				}
				(*out.RemoteObject).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation4(out *jwriter.Writer, in ResolveAnimationReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if in.RemoteObject != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"remoteObject\":")
		if in.RemoteObject == nil {
			out.RawString("null")
		} else {
			(*in.RemoteObject).MarshalEasyJSON(out)
		}
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ResolveAnimationReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation4(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation5(in *jlexer.Lexer, out *ResolveAnimationParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "animationId":
			out.AnimationID = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation5(out *jwriter.Writer, in ResolveAnimationParams) {
	out.RawByte('{')
	first := true
	_ = first
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"animationId\":")
	out.String(string(in.AnimationID))
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ResolveAnimationParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation5(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation6(in *jlexer.Lexer, out *ReleaseAnimationsParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "animations":
			if in.IsNull() {
				in.Skip()
				out.Animations = nil
			} else {
				in.Delim('[')
				if out.Animations == nil {
					if !in.IsDelim(']') {
						out.Animations = make([]string, 0, 4)
					} else {
						out.Animations = []string{}
					}
				} else {
					out.Animations = (out.Animations)[:0]
				}
				for !in.IsDelim(']') {
					var v7 string
					v7 = string(in.String())
					out.Animations = append(out.Animations, v7)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation6(out *jwriter.Writer, in ReleaseAnimationsParams) {
	out.RawByte('{')
	first := true
	_ = first
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"animations\":")
	if in.Animations == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
		out.RawString("null")
	} else {
		out.RawByte('[')
		for v8, v9 := range in.Animations {
			if v8 > 0 {
				out.RawByte(',')
			}
			out.String(string(v9))
		}
		out.RawByte(']')
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ReleaseAnimationsParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation6(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation7(in *jlexer.Lexer, out *KeyframesRule) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "name":
			out.Name = string(in.String())
		case "keyframes":
			if in.IsNull() {
				in.Skip()
				out.Keyframes = nil
			} else {
				in.Delim('[')
				if out.Keyframes == nil {
					if !in.IsDelim(']') {
						out.Keyframes = make([]*KeyframeStyle, 0, 8)
					} else {
						out.Keyframes = []*KeyframeStyle{}
					}
				} else {
					out.Keyframes = (out.Keyframes)[:0]
				}
				for !in.IsDelim(']') {
					var v10 *KeyframeStyle
					if in.IsNull() {
						in.Skip()
						v10 = nil
					} else {
						if v10 == nil {
							v10 = new(KeyframeStyle)
						}
						(*v10).UnmarshalEasyJSON(in)
					}
					out.Keyframes = append(out.Keyframes, v10)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation7(out *jwriter.Writer, in KeyframesRule) {
	out.RawByte('{')
	first := true
	_ = first
	if in.Name != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"name\":")
		out.String(string(in.Name))
	}
	if len(in.Keyframes) != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"keyframes\":")
		if in.Keyframes == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v11, v12 := range in.Keyframes {
				if v11 > 0 {
					out.RawByte(',')
				}
				if v12 == nil {
					out.RawString("null")
				} else {
					(*v12).MarshalEasyJSON(out)
				}
			}
			out.RawByte(']')
		}
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *KeyframesRule) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation7(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation8(in *jlexer.Lexer, out *KeyframeStyle) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "offset":
			out.Offset = string(in.String())
		case "easing":
			out.Easing = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation8(out *jwriter.Writer, in KeyframeStyle) {
	out.RawByte('{')
	first := true
	_ = first
	if in.Offset != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"offset\":")
		out.String(string(in.Offset))
	}
	if in.Easing != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"easing\":")
		out.String(string(in.Easing))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *KeyframeStyle) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation8(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation9(in *jlexer.Lexer, out *GetPlaybackRateReturns) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "playbackRate":
			out.PlaybackRate = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation9(out *jwriter.Writer, in GetPlaybackRateReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if in.PlaybackRate != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"playbackRate\":")
		out.Float64(float64(in.PlaybackRate))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *GetPlaybackRateReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation9(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation10(in *jlexer.Lexer, out *GetPlaybackRateParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation10(out *jwriter.Writer, in GetPlaybackRateParams) {
	out.RawByte('{')
	first := true
	_ = first
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *GetPlaybackRateParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation10(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation11(in *jlexer.Lexer, out *GetCurrentTimeReturns) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "currentTime":
			out.CurrentTime = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation11(out *jwriter.Writer, in GetCurrentTimeReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if in.CurrentTime != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"currentTime\":")
		out.Float64(float64(in.CurrentTime))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *GetCurrentTimeReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation11(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation12(in *jlexer.Lexer, out *GetCurrentTimeParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "id":
			out.ID = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation12(out *jwriter.Writer, in GetCurrentTimeParams) {
	out.RawByte('{')
	first := true
	_ = first
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"id\":")
	out.String(string(in.ID))
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *GetCurrentTimeParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation12(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation13(in *jlexer.Lexer, out *EventAnimationStarted) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "animation":
			if in.IsNull() {
				in.Skip()
				out.Animation = nil
			} else {
				if out.Animation == nil {
					out.Animation = new(Animation)
				}
				(*out.Animation).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation13(out *jwriter.Writer, in EventAnimationStarted) {
	out.RawByte('{')
	first := true
	_ = first
	if in.Animation != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"animation\":")
		if in.Animation == nil {
			out.RawString("null")
		} else {
			(*in.Animation).MarshalEasyJSON(out)
		}
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventAnimationStarted) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation13(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation14(in *jlexer.Lexer, out *EventAnimationCreated) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "id":
			out.ID = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation14(out *jwriter.Writer, in EventAnimationCreated) {
	out.RawByte('{')
	first := true
	_ = first
	if in.ID != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"id\":")
		out.String(string(in.ID))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventAnimationCreated) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation14(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation15(in *jlexer.Lexer, out *EventAnimationCanceled) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "id":
			out.ID = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation15(out *jwriter.Writer, in EventAnimationCanceled) {
	out.RawByte('{')
	first := true
	_ = first
	if in.ID != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"id\":")
		out.String(string(in.ID))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventAnimationCanceled) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation15(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation16(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.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation16(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{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation16(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EnableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation16(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation17(in *jlexer.Lexer, out *Effect) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "delay":
			out.Delay = float64(in.Float64())
		case "endDelay":
			out.EndDelay = float64(in.Float64())
		case "iterationStart":
			out.IterationStart = float64(in.Float64())
		case "iterations":
			out.Iterations = float64(in.Float64())
		case "duration":
			out.Duration = float64(in.Float64())
		case "direction":
			out.Direction = string(in.String())
		case "fill":
			out.Fill = string(in.String())
		case "backendNodeId":
			(out.BackendNodeID).UnmarshalEasyJSON(in)
		case "keyframesRule":
			if in.IsNull() {
				in.Skip()
				out.KeyframesRule = nil
			} else {
				if out.KeyframesRule == nil {
					out.KeyframesRule = new(KeyframesRule)
				}
				(*out.KeyframesRule).UnmarshalEasyJSON(in)
			}
		case "easing":
			out.Easing = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation17(out *jwriter.Writer, in Effect) {
	out.RawByte('{')
	first := true
	_ = first
	if in.Delay != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"delay\":")
		out.Float64(float64(in.Delay))
	}
	if in.EndDelay != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"endDelay\":")
		out.Float64(float64(in.EndDelay))
	}
	if in.IterationStart != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"iterationStart\":")
		out.Float64(float64(in.IterationStart))
	}
	if in.Iterations != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"iterations\":")
		out.Float64(float64(in.Iterations))
	}
	if in.Duration != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"duration\":")
		out.Float64(float64(in.Duration))
	}
	if in.Direction != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"direction\":")
		out.String(string(in.Direction))
	}
	if in.Fill != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"fill\":")
		out.String(string(in.Fill))
	}
	if in.BackendNodeID != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"backendNodeId\":")
		out.Int64(int64(in.BackendNodeID))
	}
	if in.KeyframesRule != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"keyframesRule\":")
		if in.KeyframesRule == nil {
			out.RawString("null")
		} else {
			(*in.KeyframesRule).MarshalEasyJSON(out)
		}
	}
	if in.Easing != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"easing\":")
		out.String(string(in.Easing))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *Effect) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation17(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation18(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.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation18(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{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation18(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DisableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation18(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpAnimation19(in *jlexer.Lexer, out *Animation) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "id":
			out.ID = string(in.String())
		case "name":
			out.Name = string(in.String())
		case "pausedState":
			out.PausedState = bool(in.Bool())
		case "playState":
			out.PlayState = string(in.String())
		case "playbackRate":
			out.PlaybackRate = float64(in.Float64())
		case "startTime":
			out.StartTime = float64(in.Float64())
		case "currentTime":
			out.CurrentTime = float64(in.Float64())
		case "source":
			if in.IsNull() {
				in.Skip()
				out.Source = nil
			} else {
				if out.Source == nil {
					out.Source = new(Effect)
				}
				(*out.Source).UnmarshalEasyJSON(in)
			}
		case "type":
			(out.Type).UnmarshalEasyJSON(in)
		case "cssId":
			out.CSSID = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpAnimation19(out *jwriter.Writer, in Animation) {
	out.RawByte('{')
	first := true
	_ = first
	if in.ID != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"id\":")
		out.String(string(in.ID))
	}
	if in.Name != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"name\":")
		out.String(string(in.Name))
	}
	if in.PausedState {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"pausedState\":")
		out.Bool(bool(in.PausedState))
	}
	if in.PlayState != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"playState\":")
		out.String(string(in.PlayState))
	}
	if in.PlaybackRate != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"playbackRate\":")
		out.Float64(float64(in.PlaybackRate))
	}
	if in.StartTime != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"startTime\":")
		out.Float64(float64(in.StartTime))
	}
	if in.CurrentTime != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"currentTime\":")
		out.Float64(float64(in.CurrentTime))
	}
	if in.Source != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"source\":")
		if in.Source == nil {
			out.RawString("null")
		} else {
			(*in.Source).MarshalEasyJSON(out)
		}
	}
	if in.Type != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"type\":")
		(in.Type).MarshalEasyJSON(out)
	}
	if in.CSSID != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"cssId\":")
		out.String(string(in.CSSID))
	}
	out.RawByte('}')
}

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

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

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

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