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

package webaudio

import (
	json "encoding/json"
	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 easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio(in *jlexer.Lexer, out *GetRealtimeDataReturns) {
	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 "realtimeData":
			if in.IsNull() {
				in.Skip()
				out.RealtimeData = nil
			} else {
				if out.RealtimeData == nil {
					out.RealtimeData = new(ContextRealtimeData)
				}
				(*out.RealtimeData).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio(out *jwriter.Writer, in GetRealtimeDataReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if in.RealtimeData != nil {
		const prefix string = ",\"realtimeData\":"
		first = false
		out.RawString(prefix[1:])
		(*in.RealtimeData).MarshalEasyJSON(out)
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *GetRealtimeDataReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio1(in *jlexer.Lexer, out *GetRealtimeDataParams) {
	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 "contextId":
			out.ContextID = GraphObjectID(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio1(out *jwriter.Writer, in GetRealtimeDataParams) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"contextId\":"
		out.RawString(prefix[1:])
		out.String(string(in.ContextID))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *GetRealtimeDataParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio1(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio2(in *jlexer.Lexer, out *EventNodesDisconnected) {
	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 "contextId":
			out.ContextID = GraphObjectID(in.String())
		case "sourceId":
			out.SourceID = GraphObjectID(in.String())
		case "destinationId":
			out.DestinationID = GraphObjectID(in.String())
		case "sourceOutputIndex":
			out.SourceOutputIndex = float64(in.Float64())
		case "destinationInputIndex":
			out.DestinationInputIndex = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio2(out *jwriter.Writer, in EventNodesDisconnected) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"contextId\":"
		out.RawString(prefix[1:])
		out.String(string(in.ContextID))
	}
	{
		const prefix string = ",\"sourceId\":"
		out.RawString(prefix)
		out.String(string(in.SourceID))
	}
	{
		const prefix string = ",\"destinationId\":"
		out.RawString(prefix)
		out.String(string(in.DestinationID))
	}
	if in.SourceOutputIndex != 0 {
		const prefix string = ",\"sourceOutputIndex\":"
		out.RawString(prefix)
		out.Float64(float64(in.SourceOutputIndex))
	}
	if in.DestinationInputIndex != 0 {
		const prefix string = ",\"destinationInputIndex\":"
		out.RawString(prefix)
		out.Float64(float64(in.DestinationInputIndex))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventNodesDisconnected) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio2(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio3(in *jlexer.Lexer, out *EventNodesConnected) {
	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 "contextId":
			out.ContextID = GraphObjectID(in.String())
		case "sourceId":
			out.SourceID = GraphObjectID(in.String())
		case "destinationId":
			out.DestinationID = GraphObjectID(in.String())
		case "sourceOutputIndex":
			out.SourceOutputIndex = float64(in.Float64())
		case "destinationInputIndex":
			out.DestinationInputIndex = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio3(out *jwriter.Writer, in EventNodesConnected) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"contextId\":"
		out.RawString(prefix[1:])
		out.String(string(in.ContextID))
	}
	{
		const prefix string = ",\"sourceId\":"
		out.RawString(prefix)
		out.String(string(in.SourceID))
	}
	{
		const prefix string = ",\"destinationId\":"
		out.RawString(prefix)
		out.String(string(in.DestinationID))
	}
	if in.SourceOutputIndex != 0 {
		const prefix string = ",\"sourceOutputIndex\":"
		out.RawString(prefix)
		out.Float64(float64(in.SourceOutputIndex))
	}
	if in.DestinationInputIndex != 0 {
		const prefix string = ",\"destinationInputIndex\":"
		out.RawString(prefix)
		out.Float64(float64(in.DestinationInputIndex))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventNodesConnected) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio3(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio4(in *jlexer.Lexer, out *EventNodeParamDisconnected) {
	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 "contextId":
			out.ContextID = GraphObjectID(in.String())
		case "sourceId":
			out.SourceID = GraphObjectID(in.String())
		case "destinationId":
			out.DestinationID = GraphObjectID(in.String())
		case "sourceOutputIndex":
			out.SourceOutputIndex = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio4(out *jwriter.Writer, in EventNodeParamDisconnected) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"contextId\":"
		out.RawString(prefix[1:])
		out.String(string(in.ContextID))
	}
	{
		const prefix string = ",\"sourceId\":"
		out.RawString(prefix)
		out.String(string(in.SourceID))
	}
	{
		const prefix string = ",\"destinationId\":"
		out.RawString(prefix)
		out.String(string(in.DestinationID))
	}
	if in.SourceOutputIndex != 0 {
		const prefix string = ",\"sourceOutputIndex\":"
		out.RawString(prefix)
		out.Float64(float64(in.SourceOutputIndex))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventNodeParamDisconnected) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio4(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio5(in *jlexer.Lexer, out *EventNodeParamConnected) {
	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 "contextId":
			out.ContextID = GraphObjectID(in.String())
		case "sourceId":
			out.SourceID = GraphObjectID(in.String())
		case "destinationId":
			out.DestinationID = GraphObjectID(in.String())
		case "sourceOutputIndex":
			out.SourceOutputIndex = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio5(out *jwriter.Writer, in EventNodeParamConnected) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"contextId\":"
		out.RawString(prefix[1:])
		out.String(string(in.ContextID))
	}
	{
		const prefix string = ",\"sourceId\":"
		out.RawString(prefix)
		out.String(string(in.SourceID))
	}
	{
		const prefix string = ",\"destinationId\":"
		out.RawString(prefix)
		out.String(string(in.DestinationID))
	}
	if in.SourceOutputIndex != 0 {
		const prefix string = ",\"sourceOutputIndex\":"
		out.RawString(prefix)
		out.Float64(float64(in.SourceOutputIndex))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventNodeParamConnected) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio5(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio6(in *jlexer.Lexer, out *EventContextWillBeDestroyed) {
	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 "contextId":
			out.ContextID = GraphObjectID(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio6(out *jwriter.Writer, in EventContextWillBeDestroyed) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"contextId\":"
		out.RawString(prefix[1:])
		out.String(string(in.ContextID))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventContextWillBeDestroyed) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio6(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio7(in *jlexer.Lexer, out *EventContextCreated) {
	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 "context":
			if in.IsNull() {
				in.Skip()
				out.Context = nil
			} else {
				if out.Context == nil {
					out.Context = new(BaseAudioContext)
				}
				(*out.Context).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio7(out *jwriter.Writer, in EventContextCreated) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"context\":"
		out.RawString(prefix[1:])
		if in.Context == nil {
			out.RawString("null")
		} else {
			(*in.Context).MarshalEasyJSON(out)
		}
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventContextCreated) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio7(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio8(in *jlexer.Lexer, out *EventContextChanged) {
	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 "context":
			if in.IsNull() {
				in.Skip()
				out.Context = nil
			} else {
				if out.Context == nil {
					out.Context = new(BaseAudioContext)
				}
				(*out.Context).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio8(out *jwriter.Writer, in EventContextChanged) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"context\":"
		out.RawString(prefix[1:])
		if in.Context == nil {
			out.RawString("null")
		} else {
			(*in.Context).MarshalEasyJSON(out)
		}
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventContextChanged) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio8(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio9(in *jlexer.Lexer, out *EventAudioParamWillBeDestroyed) {
	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 "contextId":
			out.ContextID = GraphObjectID(in.String())
		case "nodeId":
			out.NodeID = GraphObjectID(in.String())
		case "paramId":
			out.ParamID = GraphObjectID(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio9(out *jwriter.Writer, in EventAudioParamWillBeDestroyed) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"contextId\":"
		out.RawString(prefix[1:])
		out.String(string(in.ContextID))
	}
	{
		const prefix string = ",\"nodeId\":"
		out.RawString(prefix)
		out.String(string(in.NodeID))
	}
	{
		const prefix string = ",\"paramId\":"
		out.RawString(prefix)
		out.String(string(in.ParamID))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventAudioParamWillBeDestroyed) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio9(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio10(in *jlexer.Lexer, out *EventAudioParamCreated) {
	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 "param":
			if in.IsNull() {
				in.Skip()
				out.Param = nil
			} else {
				if out.Param == nil {
					out.Param = new(AudioParam)
				}
				(*out.Param).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio10(out *jwriter.Writer, in EventAudioParamCreated) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"param\":"
		out.RawString(prefix[1:])
		if in.Param == nil {
			out.RawString("null")
		} else {
			(*in.Param).MarshalEasyJSON(out)
		}
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventAudioParamCreated) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio10(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio11(in *jlexer.Lexer, out *EventAudioNodeWillBeDestroyed) {
	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 "contextId":
			out.ContextID = GraphObjectID(in.String())
		case "nodeId":
			out.NodeID = GraphObjectID(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio11(out *jwriter.Writer, in EventAudioNodeWillBeDestroyed) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"contextId\":"
		out.RawString(prefix[1:])
		out.String(string(in.ContextID))
	}
	{
		const prefix string = ",\"nodeId\":"
		out.RawString(prefix)
		out.String(string(in.NodeID))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventAudioNodeWillBeDestroyed) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio11(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio12(in *jlexer.Lexer, out *EventAudioNodeCreated) {
	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 "node":
			if in.IsNull() {
				in.Skip()
				out.Node = nil
			} else {
				if out.Node == nil {
					out.Node = new(AudioNode)
				}
				(*out.Node).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio12(out *jwriter.Writer, in EventAudioNodeCreated) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"node\":"
		out.RawString(prefix[1:])
		if in.Node == nil {
			out.RawString("null")
		} else {
			(*in.Node).MarshalEasyJSON(out)
		}
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventAudioNodeCreated) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio12(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio13(in *jlexer.Lexer, out *EventAudioListenerWillBeDestroyed) {
	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 "contextId":
			out.ContextID = GraphObjectID(in.String())
		case "listenerId":
			out.ListenerID = GraphObjectID(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio13(out *jwriter.Writer, in EventAudioListenerWillBeDestroyed) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"contextId\":"
		out.RawString(prefix[1:])
		out.String(string(in.ContextID))
	}
	{
		const prefix string = ",\"listenerId\":"
		out.RawString(prefix)
		out.String(string(in.ListenerID))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventAudioListenerWillBeDestroyed) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio13(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio14(in *jlexer.Lexer, out *EventAudioListenerCreated) {
	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 "listener":
			if in.IsNull() {
				in.Skip()
				out.Listener = nil
			} else {
				if out.Listener == nil {
					out.Listener = new(AudioListener)
				}
				(*out.Listener).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio14(out *jwriter.Writer, in EventAudioListenerCreated) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"listener\":"
		out.RawString(prefix[1:])
		if in.Listener == nil {
			out.RawString("null")
		} else {
			(*in.Listener).MarshalEasyJSON(out)
		}
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventAudioListenerCreated) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio14(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio15(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 easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio15(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{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio15(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EnableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio15(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio16(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 easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio16(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{}
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio16(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DisableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio16(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio17(in *jlexer.Lexer, out *ContextRealtimeData) {
	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())
		case "renderCapacity":
			out.RenderCapacity = float64(in.Float64())
		case "callbackIntervalMean":
			out.CallbackIntervalMean = float64(in.Float64())
		case "callbackIntervalVariance":
			out.CallbackIntervalVariance = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio17(out *jwriter.Writer, in ContextRealtimeData) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"currentTime\":"
		out.RawString(prefix[1:])
		out.Float64(float64(in.CurrentTime))
	}
	{
		const prefix string = ",\"renderCapacity\":"
		out.RawString(prefix)
		out.Float64(float64(in.RenderCapacity))
	}
	{
		const prefix string = ",\"callbackIntervalMean\":"
		out.RawString(prefix)
		out.Float64(float64(in.CallbackIntervalMean))
	}
	{
		const prefix string = ",\"callbackIntervalVariance\":"
		out.RawString(prefix)
		out.Float64(float64(in.CallbackIntervalVariance))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ContextRealtimeData) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio17(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio18(in *jlexer.Lexer, out *BaseAudioContext) {
	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 "contextId":
			out.ContextID = GraphObjectID(in.String())
		case "contextType":
			(out.ContextType).UnmarshalEasyJSON(in)
		case "contextState":
			(out.ContextState).UnmarshalEasyJSON(in)
		case "realtimeData":
			if in.IsNull() {
				in.Skip()
				out.RealtimeData = nil
			} else {
				if out.RealtimeData == nil {
					out.RealtimeData = new(ContextRealtimeData)
				}
				(*out.RealtimeData).UnmarshalEasyJSON(in)
			}
		case "callbackBufferSize":
			out.CallbackBufferSize = float64(in.Float64())
		case "maxOutputChannelCount":
			out.MaxOutputChannelCount = float64(in.Float64())
		case "sampleRate":
			out.SampleRate = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio18(out *jwriter.Writer, in BaseAudioContext) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"contextId\":"
		out.RawString(prefix[1:])
		out.String(string(in.ContextID))
	}
	{
		const prefix string = ",\"contextType\":"
		out.RawString(prefix)
		(in.ContextType).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"contextState\":"
		out.RawString(prefix)
		(in.ContextState).MarshalEasyJSON(out)
	}
	if in.RealtimeData != nil {
		const prefix string = ",\"realtimeData\":"
		out.RawString(prefix)
		(*in.RealtimeData).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"callbackBufferSize\":"
		out.RawString(prefix)
		out.Float64(float64(in.CallbackBufferSize))
	}
	{
		const prefix string = ",\"maxOutputChannelCount\":"
		out.RawString(prefix)
		out.Float64(float64(in.MaxOutputChannelCount))
	}
	{
		const prefix string = ",\"sampleRate\":"
		out.RawString(prefix)
		out.Float64(float64(in.SampleRate))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *BaseAudioContext) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio18(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio19(in *jlexer.Lexer, out *AudioParam) {
	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 "paramId":
			out.ParamID = GraphObjectID(in.String())
		case "nodeId":
			out.NodeID = GraphObjectID(in.String())
		case "contextId":
			out.ContextID = GraphObjectID(in.String())
		case "paramType":
			out.ParamType = ParamType(in.String())
		case "rate":
			(out.Rate).UnmarshalEasyJSON(in)
		case "defaultValue":
			out.DefaultValue = float64(in.Float64())
		case "minValue":
			out.MinValue = float64(in.Float64())
		case "maxValue":
			out.MaxValue = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio19(out *jwriter.Writer, in AudioParam) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"paramId\":"
		out.RawString(prefix[1:])
		out.String(string(in.ParamID))
	}
	{
		const prefix string = ",\"nodeId\":"
		out.RawString(prefix)
		out.String(string(in.NodeID))
	}
	{
		const prefix string = ",\"contextId\":"
		out.RawString(prefix)
		out.String(string(in.ContextID))
	}
	{
		const prefix string = ",\"paramType\":"
		out.RawString(prefix)
		out.String(string(in.ParamType))
	}
	{
		const prefix string = ",\"rate\":"
		out.RawString(prefix)
		(in.Rate).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"defaultValue\":"
		out.RawString(prefix)
		out.Float64(float64(in.DefaultValue))
	}
	{
		const prefix string = ",\"minValue\":"
		out.RawString(prefix)
		out.Float64(float64(in.MinValue))
	}
	{
		const prefix string = ",\"maxValue\":"
		out.RawString(prefix)
		out.Float64(float64(in.MaxValue))
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *AudioParam) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio19(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio20(in *jlexer.Lexer, out *AudioNode) {
	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 "nodeId":
			out.NodeID = GraphObjectID(in.String())
		case "contextId":
			out.ContextID = GraphObjectID(in.String())
		case "nodeType":
			(out.NodeType).UnmarshalEasyJSON(in)
		case "numberOfInputs":
			out.NumberOfInputs = float64(in.Float64())
		case "numberOfOutputs":
			out.NumberOfOutputs = float64(in.Float64())
		case "channelCount":
			out.ChannelCount = float64(in.Float64())
		case "channelCountMode":
			(out.ChannelCountMode).UnmarshalEasyJSON(in)
		case "channelInterpretation":
			(out.ChannelInterpretation).UnmarshalEasyJSON(in)
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio20(out *jwriter.Writer, in AudioNode) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"nodeId\":"
		out.RawString(prefix[1:])
		out.String(string(in.NodeID))
	}
	{
		const prefix string = ",\"contextId\":"
		out.RawString(prefix)
		out.String(string(in.ContextID))
	}
	{
		const prefix string = ",\"nodeType\":"
		out.RawString(prefix)
		(in.NodeType).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"numberOfInputs\":"
		out.RawString(prefix)
		out.Float64(float64(in.NumberOfInputs))
	}
	{
		const prefix string = ",\"numberOfOutputs\":"
		out.RawString(prefix)
		out.Float64(float64(in.NumberOfOutputs))
	}
	{
		const prefix string = ",\"channelCount\":"
		out.RawString(prefix)
		out.Float64(float64(in.ChannelCount))
	}
	{
		const prefix string = ",\"channelCountMode\":"
		out.RawString(prefix)
		(in.ChannelCountMode).MarshalEasyJSON(out)
	}
	{
		const prefix string = ",\"channelInterpretation\":"
		out.RawString(prefix)
		(in.ChannelInterpretation).MarshalEasyJSON(out)
	}
	out.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *AudioNode) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio20(l, v)
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoWebaudio21(in *jlexer.Lexer, out *AudioListener) {
	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 "listenerId":
			out.ListenerID = GraphObjectID(in.String())
		case "contextId":
			out.ContextID = GraphObjectID(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoWebaudio21(out *jwriter.Writer, in AudioListener) {
	out.RawByte('{')
	first := true
	_ = first
	{
		const prefix string = ",\"listenerId\":"
		out.RawString(prefix[1:])
		out.String(string(in.ListenerID))
	}
	{
		const prefix string = ",\"contextId\":"
		out.RawString(prefix)
		out.String(string(in.ContextID))
	}
	out.RawByte('}')
}

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

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

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

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