protocol_easyjson.go

   1// Code generated by easyjson for marshaling/unmarshaling. DO NOT EDIT.
   2
   3package protocol
   4
   5import (
   6	json "encoding/json"
   7	easyjson "github.com/mailru/easyjson"
   8	jlexer "github.com/mailru/easyjson/jlexer"
   9	jwriter "github.com/mailru/easyjson/jwriter"
  10	game "github.com/zikaeroh/codies/internal/game"
  11)
  12
  13// suppress unused package warning
  14var (
  15	_ *json.RawMessage
  16	_ *jlexer.Lexer
  17	_ *jwriter.Writer
  18	_ easyjson.Marshaler
  19)
  20
  21func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol(in *jlexer.Lexer, out *TimeResponse) {
  22	isTopLevel := in.IsStart()
  23	if in.IsNull() {
  24		if isTopLevel {
  25			in.Consumed()
  26		}
  27		in.Skip()
  28		return
  29	}
  30	in.Delim('{')
  31	for !in.IsDelim('}') {
  32		key := in.UnsafeString()
  33		in.WantColon()
  34		if in.IsNull() {
  35			in.Skip()
  36			in.WantComma()
  37			continue
  38		}
  39		switch key {
  40		case "time":
  41			if data := in.Raw(); in.Ok() {
  42				in.AddError((out.Time).UnmarshalJSON(data))
  43			}
  44		default:
  45			in.AddError(&jlexer.LexerError{
  46				Offset: in.GetPos(),
  47				Reason: "unknown field",
  48				Data:   key,
  49			})
  50		}
  51		in.WantComma()
  52	}
  53	in.Delim('}')
  54	if isTopLevel {
  55		in.Consumed()
  56	}
  57}
  58func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol(out *jwriter.Writer, in TimeResponse) {
  59	out.RawByte('{')
  60	first := true
  61	_ = first
  62	{
  63		const prefix string = ",\"time\":"
  64		out.RawString(prefix[1:])
  65		out.Raw((in.Time).MarshalJSON())
  66	}
  67	out.RawByte('}')
  68}
  69
  70// MarshalJSON supports json.Marshaler interface
  71func (v TimeResponse) MarshalJSON() ([]byte, error) {
  72	w := jwriter.Writer{}
  73	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol(&w, v)
  74	return w.Buffer.BuildBytes(), w.Error
  75}
  76
  77// MarshalEasyJSON supports easyjson.Marshaler interface
  78func (v TimeResponse) MarshalEasyJSON(w *jwriter.Writer) {
  79	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol(w, v)
  80}
  81
  82// UnmarshalJSON supports json.Unmarshaler interface
  83func (v *TimeResponse) UnmarshalJSON(data []byte) error {
  84	r := jlexer.Lexer{Data: data}
  85	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol(&r, v)
  86	return r.Error()
  87}
  88
  89// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
  90func (v *TimeResponse) UnmarshalEasyJSON(l *jlexer.Lexer) {
  91	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol(l, v)
  92}
  93func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol1(in *jlexer.Lexer, out *StatsResponse) {
  94	isTopLevel := in.IsStart()
  95	if in.IsNull() {
  96		if isTopLevel {
  97			in.Consumed()
  98		}
  99		in.Skip()
 100		return
 101	}
 102	in.Delim('{')
 103	for !in.IsDelim('}') {
 104		key := in.UnsafeString()
 105		in.WantColon()
 106		if in.IsNull() {
 107			in.Skip()
 108			in.WantComma()
 109			continue
 110		}
 111		switch key {
 112		case "rooms":
 113			out.Rooms = int(in.Int())
 114		case "clients":
 115			out.Clients = int(in.Int())
 116		default:
 117			in.AddError(&jlexer.LexerError{
 118				Offset: in.GetPos(),
 119				Reason: "unknown field",
 120				Data:   key,
 121			})
 122		}
 123		in.WantComma()
 124	}
 125	in.Delim('}')
 126	if isTopLevel {
 127		in.Consumed()
 128	}
 129}
 130func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol1(out *jwriter.Writer, in StatsResponse) {
 131	out.RawByte('{')
 132	first := true
 133	_ = first
 134	{
 135		const prefix string = ",\"rooms\":"
 136		out.RawString(prefix[1:])
 137		out.Int(int(in.Rooms))
 138	}
 139	{
 140		const prefix string = ",\"clients\":"
 141		out.RawString(prefix)
 142		out.Int(int(in.Clients))
 143	}
 144	out.RawByte('}')
 145}
 146
 147// MarshalJSON supports json.Marshaler interface
 148func (v StatsResponse) MarshalJSON() ([]byte, error) {
 149	w := jwriter.Writer{}
 150	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol1(&w, v)
 151	return w.Buffer.BuildBytes(), w.Error
 152}
 153
 154// MarshalEasyJSON supports easyjson.Marshaler interface
 155func (v StatsResponse) MarshalEasyJSON(w *jwriter.Writer) {
 156	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol1(w, v)
 157}
 158
 159// UnmarshalJSON supports json.Unmarshaler interface
 160func (v *StatsResponse) UnmarshalJSON(data []byte) error {
 161	r := jlexer.Lexer{Data: data}
 162	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol1(&r, v)
 163	return r.Error()
 164}
 165
 166// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
 167func (v *StatsResponse) UnmarshalEasyJSON(l *jlexer.Lexer) {
 168	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol1(l, v)
 169}
 170func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol2(in *jlexer.Lexer, out *StateWordList) {
 171	isTopLevel := in.IsStart()
 172	if in.IsNull() {
 173		if isTopLevel {
 174			in.Consumed()
 175		}
 176		in.Skip()
 177		return
 178	}
 179	in.Delim('{')
 180	for !in.IsDelim('}') {
 181		key := in.UnsafeString()
 182		in.WantColon()
 183		if in.IsNull() {
 184			in.Skip()
 185			in.WantComma()
 186			continue
 187		}
 188		switch key {
 189		case "name":
 190			out.Name = string(in.String())
 191		case "count":
 192			out.Count = int(in.Int())
 193		case "custom":
 194			out.Custom = bool(in.Bool())
 195		case "enabled":
 196			out.Enabled = bool(in.Bool())
 197		default:
 198			in.AddError(&jlexer.LexerError{
 199				Offset: in.GetPos(),
 200				Reason: "unknown field",
 201				Data:   key,
 202			})
 203		}
 204		in.WantComma()
 205	}
 206	in.Delim('}')
 207	if isTopLevel {
 208		in.Consumed()
 209	}
 210}
 211func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol2(out *jwriter.Writer, in StateWordList) {
 212	out.RawByte('{')
 213	first := true
 214	_ = first
 215	{
 216		const prefix string = ",\"name\":"
 217		out.RawString(prefix[1:])
 218		out.String(string(in.Name))
 219	}
 220	{
 221		const prefix string = ",\"count\":"
 222		out.RawString(prefix)
 223		out.Int(int(in.Count))
 224	}
 225	{
 226		const prefix string = ",\"custom\":"
 227		out.RawString(prefix)
 228		out.Bool(bool(in.Custom))
 229	}
 230	{
 231		const prefix string = ",\"enabled\":"
 232		out.RawString(prefix)
 233		out.Bool(bool(in.Enabled))
 234	}
 235	out.RawByte('}')
 236}
 237
 238// MarshalJSON supports json.Marshaler interface
 239func (v StateWordList) MarshalJSON() ([]byte, error) {
 240	w := jwriter.Writer{}
 241	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol2(&w, v)
 242	return w.Buffer.BuildBytes(), w.Error
 243}
 244
 245// MarshalEasyJSON supports easyjson.Marshaler interface
 246func (v StateWordList) MarshalEasyJSON(w *jwriter.Writer) {
 247	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol2(w, v)
 248}
 249
 250// UnmarshalJSON supports json.Unmarshaler interface
 251func (v *StateWordList) UnmarshalJSON(data []byte) error {
 252	r := jlexer.Lexer{Data: data}
 253	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol2(&r, v)
 254	return r.Error()
 255}
 256
 257// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
 258func (v *StateWordList) UnmarshalEasyJSON(l *jlexer.Lexer) {
 259	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol2(l, v)
 260}
 261func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol3(in *jlexer.Lexer, out *StateView) {
 262	isTopLevel := in.IsStart()
 263	if in.IsNull() {
 264		if isTopLevel {
 265			in.Consumed()
 266		}
 267		in.Skip()
 268		return
 269	}
 270	in.Delim('{')
 271	for !in.IsDelim('}') {
 272		key := in.UnsafeString()
 273		in.WantColon()
 274		if in.IsNull() {
 275			in.Skip()
 276			in.WantComma()
 277			continue
 278		}
 279		switch key {
 280		case "team":
 281			out.Team = game.Team(in.Int())
 282		case "neutral":
 283			out.Neutral = bool(in.Bool())
 284		case "bomb":
 285			out.Bomb = bool(in.Bool())
 286		default:
 287			in.AddError(&jlexer.LexerError{
 288				Offset: in.GetPos(),
 289				Reason: "unknown field",
 290				Data:   key,
 291			})
 292		}
 293		in.WantComma()
 294	}
 295	in.Delim('}')
 296	if isTopLevel {
 297		in.Consumed()
 298	}
 299}
 300func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol3(out *jwriter.Writer, in StateView) {
 301	out.RawByte('{')
 302	first := true
 303	_ = first
 304	{
 305		const prefix string = ",\"team\":"
 306		out.RawString(prefix[1:])
 307		out.Int(int(in.Team))
 308	}
 309	{
 310		const prefix string = ",\"neutral\":"
 311		out.RawString(prefix)
 312		out.Bool(bool(in.Neutral))
 313	}
 314	{
 315		const prefix string = ",\"bomb\":"
 316		out.RawString(prefix)
 317		out.Bool(bool(in.Bomb))
 318	}
 319	out.RawByte('}')
 320}
 321
 322// MarshalJSON supports json.Marshaler interface
 323func (v StateView) MarshalJSON() ([]byte, error) {
 324	w := jwriter.Writer{}
 325	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol3(&w, v)
 326	return w.Buffer.BuildBytes(), w.Error
 327}
 328
 329// MarshalEasyJSON supports easyjson.Marshaler interface
 330func (v StateView) MarshalEasyJSON(w *jwriter.Writer) {
 331	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol3(w, v)
 332}
 333
 334// UnmarshalJSON supports json.Unmarshaler interface
 335func (v *StateView) UnmarshalJSON(data []byte) error {
 336	r := jlexer.Lexer{Data: data}
 337	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol3(&r, v)
 338	return r.Error()
 339}
 340
 341// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
 342func (v *StateView) UnmarshalEasyJSON(l *jlexer.Lexer) {
 343	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol3(l, v)
 344}
 345func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol4(in *jlexer.Lexer, out *StateTimer) {
 346	isTopLevel := in.IsStart()
 347	if in.IsNull() {
 348		if isTopLevel {
 349			in.Consumed()
 350		}
 351		in.Skip()
 352		return
 353	}
 354	in.Delim('{')
 355	for !in.IsDelim('}') {
 356		key := in.UnsafeString()
 357		in.WantColon()
 358		if in.IsNull() {
 359			in.Skip()
 360			in.WantComma()
 361			continue
 362		}
 363		switch key {
 364		case "turnTime":
 365			out.TurnTime = int(in.Int())
 366		case "turnEnd":
 367			if data := in.Raw(); in.Ok() {
 368				in.AddError((out.TurnEnd).UnmarshalJSON(data))
 369			}
 370		default:
 371			in.AddError(&jlexer.LexerError{
 372				Offset: in.GetPos(),
 373				Reason: "unknown field",
 374				Data:   key,
 375			})
 376		}
 377		in.WantComma()
 378	}
 379	in.Delim('}')
 380	if isTopLevel {
 381		in.Consumed()
 382	}
 383}
 384func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol4(out *jwriter.Writer, in StateTimer) {
 385	out.RawByte('{')
 386	first := true
 387	_ = first
 388	{
 389		const prefix string = ",\"turnTime\":"
 390		out.RawString(prefix[1:])
 391		out.Int(int(in.TurnTime))
 392	}
 393	{
 394		const prefix string = ",\"turnEnd\":"
 395		out.RawString(prefix)
 396		out.Raw((in.TurnEnd).MarshalJSON())
 397	}
 398	out.RawByte('}')
 399}
 400
 401// MarshalJSON supports json.Marshaler interface
 402func (v StateTimer) MarshalJSON() ([]byte, error) {
 403	w := jwriter.Writer{}
 404	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol4(&w, v)
 405	return w.Buffer.BuildBytes(), w.Error
 406}
 407
 408// MarshalEasyJSON supports easyjson.Marshaler interface
 409func (v StateTimer) MarshalEasyJSON(w *jwriter.Writer) {
 410	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol4(w, v)
 411}
 412
 413// UnmarshalJSON supports json.Unmarshaler interface
 414func (v *StateTimer) UnmarshalJSON(data []byte) error {
 415	r := jlexer.Lexer{Data: data}
 416	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol4(&r, v)
 417	return r.Error()
 418}
 419
 420// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
 421func (v *StateTimer) UnmarshalEasyJSON(l *jlexer.Lexer) {
 422	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol4(l, v)
 423}
 424func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol5(in *jlexer.Lexer, out *StateTile) {
 425	isTopLevel := in.IsStart()
 426	if in.IsNull() {
 427		if isTopLevel {
 428			in.Consumed()
 429		}
 430		in.Skip()
 431		return
 432	}
 433	in.Delim('{')
 434	for !in.IsDelim('}') {
 435		key := in.UnsafeString()
 436		in.WantColon()
 437		if in.IsNull() {
 438			in.Skip()
 439			in.WantComma()
 440			continue
 441		}
 442		switch key {
 443		case "word":
 444			out.Word = string(in.String())
 445		case "revealed":
 446			out.Revealed = bool(in.Bool())
 447		case "view":
 448			if in.IsNull() {
 449				in.Skip()
 450				out.View = nil
 451			} else {
 452				if out.View == nil {
 453					out.View = new(StateView)
 454				}
 455				(*out.View).UnmarshalEasyJSON(in)
 456			}
 457		default:
 458			in.AddError(&jlexer.LexerError{
 459				Offset: in.GetPos(),
 460				Reason: "unknown field",
 461				Data:   key,
 462			})
 463		}
 464		in.WantComma()
 465	}
 466	in.Delim('}')
 467	if isTopLevel {
 468		in.Consumed()
 469	}
 470}
 471func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol5(out *jwriter.Writer, in StateTile) {
 472	out.RawByte('{')
 473	first := true
 474	_ = first
 475	{
 476		const prefix string = ",\"word\":"
 477		out.RawString(prefix[1:])
 478		out.String(string(in.Word))
 479	}
 480	{
 481		const prefix string = ",\"revealed\":"
 482		out.RawString(prefix)
 483		out.Bool(bool(in.Revealed))
 484	}
 485	{
 486		const prefix string = ",\"view\":"
 487		out.RawString(prefix)
 488		if in.View == nil {
 489			out.RawString("null")
 490		} else {
 491			(*in.View).MarshalEasyJSON(out)
 492		}
 493	}
 494	out.RawByte('}')
 495}
 496
 497// MarshalJSON supports json.Marshaler interface
 498func (v StateTile) MarshalJSON() ([]byte, error) {
 499	w := jwriter.Writer{}
 500	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol5(&w, v)
 501	return w.Buffer.BuildBytes(), w.Error
 502}
 503
 504// MarshalEasyJSON supports easyjson.Marshaler interface
 505func (v StateTile) MarshalEasyJSON(w *jwriter.Writer) {
 506	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol5(w, v)
 507}
 508
 509// UnmarshalJSON supports json.Unmarshaler interface
 510func (v *StateTile) UnmarshalJSON(data []byte) error {
 511	r := jlexer.Lexer{Data: data}
 512	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol5(&r, v)
 513	return r.Error()
 514}
 515
 516// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
 517func (v *StateTile) UnmarshalEasyJSON(l *jlexer.Lexer) {
 518	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol5(l, v)
 519}
 520func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol6(in *jlexer.Lexer, out *StatePlayer) {
 521	isTopLevel := in.IsStart()
 522	if in.IsNull() {
 523		if isTopLevel {
 524			in.Consumed()
 525		}
 526		in.Skip()
 527		return
 528	}
 529	in.Delim('{')
 530	for !in.IsDelim('}') {
 531		key := in.UnsafeString()
 532		in.WantColon()
 533		if in.IsNull() {
 534			in.Skip()
 535			in.WantComma()
 536			continue
 537		}
 538		switch key {
 539		case "playerID":
 540			if data := in.UnsafeBytes(); in.Ok() {
 541				in.AddError((out.PlayerID).UnmarshalText(data))
 542			}
 543		case "nickname":
 544			out.Nickname = string(in.String())
 545		case "spymaster":
 546			out.Spymaster = bool(in.Bool())
 547		default:
 548			in.AddError(&jlexer.LexerError{
 549				Offset: in.GetPos(),
 550				Reason: "unknown field",
 551				Data:   key,
 552			})
 553		}
 554		in.WantComma()
 555	}
 556	in.Delim('}')
 557	if isTopLevel {
 558		in.Consumed()
 559	}
 560}
 561func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol6(out *jwriter.Writer, in StatePlayer) {
 562	out.RawByte('{')
 563	first := true
 564	_ = first
 565	{
 566		const prefix string = ",\"playerID\":"
 567		out.RawString(prefix[1:])
 568		out.RawText((in.PlayerID).MarshalText())
 569	}
 570	{
 571		const prefix string = ",\"nickname\":"
 572		out.RawString(prefix)
 573		out.String(string(in.Nickname))
 574	}
 575	{
 576		const prefix string = ",\"spymaster\":"
 577		out.RawString(prefix)
 578		out.Bool(bool(in.Spymaster))
 579	}
 580	out.RawByte('}')
 581}
 582
 583// MarshalJSON supports json.Marshaler interface
 584func (v StatePlayer) MarshalJSON() ([]byte, error) {
 585	w := jwriter.Writer{}
 586	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol6(&w, v)
 587	return w.Buffer.BuildBytes(), w.Error
 588}
 589
 590// MarshalEasyJSON supports easyjson.Marshaler interface
 591func (v StatePlayer) MarshalEasyJSON(w *jwriter.Writer) {
 592	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol6(w, v)
 593}
 594
 595// UnmarshalJSON supports json.Unmarshaler interface
 596func (v *StatePlayer) UnmarshalJSON(data []byte) error {
 597	r := jlexer.Lexer{Data: data}
 598	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol6(&r, v)
 599	return r.Error()
 600}
 601
 602// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
 603func (v *StatePlayer) UnmarshalEasyJSON(l *jlexer.Lexer) {
 604	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol6(l, v)
 605}
 606func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol7(in *jlexer.Lexer, out *State) {
 607	isTopLevel := in.IsStart()
 608	if in.IsNull() {
 609		if isTopLevel {
 610			in.Consumed()
 611		}
 612		in.Skip()
 613		return
 614	}
 615	in.Delim('{')
 616	for !in.IsDelim('}') {
 617		key := in.UnsafeString()
 618		in.WantColon()
 619		if in.IsNull() {
 620			in.Skip()
 621			in.WantComma()
 622			continue
 623		}
 624		switch key {
 625		case "version":
 626			out.Version = int(in.Int())
 627		case "teams":
 628			if in.IsNull() {
 629				in.Skip()
 630				out.Teams = nil
 631			} else {
 632				in.Delim('[')
 633				if out.Teams == nil {
 634					if !in.IsDelim(']') {
 635						out.Teams = make([][]*StatePlayer, 0, 2)
 636					} else {
 637						out.Teams = [][]*StatePlayer{}
 638					}
 639				} else {
 640					out.Teams = (out.Teams)[:0]
 641				}
 642				for !in.IsDelim(']') {
 643					var v1 []*StatePlayer
 644					if in.IsNull() {
 645						in.Skip()
 646						v1 = nil
 647					} else {
 648						in.Delim('[')
 649						if v1 == nil {
 650							if !in.IsDelim(']') {
 651								v1 = make([]*StatePlayer, 0, 8)
 652							} else {
 653								v1 = []*StatePlayer{}
 654							}
 655						} else {
 656							v1 = (v1)[:0]
 657						}
 658						for !in.IsDelim(']') {
 659							var v2 *StatePlayer
 660							if in.IsNull() {
 661								in.Skip()
 662								v2 = nil
 663							} else {
 664								if v2 == nil {
 665									v2 = new(StatePlayer)
 666								}
 667								(*v2).UnmarshalEasyJSON(in)
 668							}
 669							v1 = append(v1, v2)
 670							in.WantComma()
 671						}
 672						in.Delim(']')
 673					}
 674					out.Teams = append(out.Teams, v1)
 675					in.WantComma()
 676				}
 677				in.Delim(']')
 678			}
 679		case "turn":
 680			out.Turn = game.Team(in.Int())
 681		case "winner":
 682			if in.IsNull() {
 683				in.Skip()
 684				out.Winner = nil
 685			} else {
 686				if out.Winner == nil {
 687					out.Winner = new(game.Team)
 688				}
 689				*out.Winner = game.Team(in.Int())
 690			}
 691		case "board":
 692			if in.IsNull() {
 693				in.Skip()
 694				out.Board = nil
 695			} else {
 696				in.Delim('[')
 697				if out.Board == nil {
 698					if !in.IsDelim(']') {
 699						out.Board = make([][]*StateTile, 0, 2)
 700					} else {
 701						out.Board = [][]*StateTile{}
 702					}
 703				} else {
 704					out.Board = (out.Board)[:0]
 705				}
 706				for !in.IsDelim(']') {
 707					var v3 []*StateTile
 708					if in.IsNull() {
 709						in.Skip()
 710						v3 = nil
 711					} else {
 712						in.Delim('[')
 713						if v3 == nil {
 714							if !in.IsDelim(']') {
 715								v3 = make([]*StateTile, 0, 8)
 716							} else {
 717								v3 = []*StateTile{}
 718							}
 719						} else {
 720							v3 = (v3)[:0]
 721						}
 722						for !in.IsDelim(']') {
 723							var v4 *StateTile
 724							if in.IsNull() {
 725								in.Skip()
 726								v4 = nil
 727							} else {
 728								if v4 == nil {
 729									v4 = new(StateTile)
 730								}
 731								(*v4).UnmarshalEasyJSON(in)
 732							}
 733							v3 = append(v3, v4)
 734							in.WantComma()
 735						}
 736						in.Delim(']')
 737					}
 738					out.Board = append(out.Board, v3)
 739					in.WantComma()
 740				}
 741				in.Delim(']')
 742			}
 743		case "wordsLeft":
 744			if in.IsNull() {
 745				in.Skip()
 746				out.WordsLeft = nil
 747			} else {
 748				in.Delim('[')
 749				if out.WordsLeft == nil {
 750					if !in.IsDelim(']') {
 751						out.WordsLeft = make([]int, 0, 8)
 752					} else {
 753						out.WordsLeft = []int{}
 754					}
 755				} else {
 756					out.WordsLeft = (out.WordsLeft)[:0]
 757				}
 758				for !in.IsDelim(']') {
 759					var v5 int
 760					v5 = int(in.Int())
 761					out.WordsLeft = append(out.WordsLeft, v5)
 762					in.WantComma()
 763				}
 764				in.Delim(']')
 765			}
 766		case "lists":
 767			if in.IsNull() {
 768				in.Skip()
 769				out.Lists = nil
 770			} else {
 771				in.Delim('[')
 772				if out.Lists == nil {
 773					if !in.IsDelim(']') {
 774						out.Lists = make([]*StateWordList, 0, 8)
 775					} else {
 776						out.Lists = []*StateWordList{}
 777					}
 778				} else {
 779					out.Lists = (out.Lists)[:0]
 780				}
 781				for !in.IsDelim(']') {
 782					var v6 *StateWordList
 783					if in.IsNull() {
 784						in.Skip()
 785						v6 = nil
 786					} else {
 787						if v6 == nil {
 788							v6 = new(StateWordList)
 789						}
 790						(*v6).UnmarshalEasyJSON(in)
 791					}
 792					out.Lists = append(out.Lists, v6)
 793					in.WantComma()
 794				}
 795				in.Delim(']')
 796			}
 797		case "timer":
 798			if in.IsNull() {
 799				in.Skip()
 800				out.Timer = nil
 801			} else {
 802				if out.Timer == nil {
 803					out.Timer = new(StateTimer)
 804				}
 805				(*out.Timer).UnmarshalEasyJSON(in)
 806			}
 807		default:
 808			in.AddError(&jlexer.LexerError{
 809				Offset: in.GetPos(),
 810				Reason: "unknown field",
 811				Data:   key,
 812			})
 813		}
 814		in.WantComma()
 815	}
 816	in.Delim('}')
 817	if isTopLevel {
 818		in.Consumed()
 819	}
 820}
 821func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol7(out *jwriter.Writer, in State) {
 822	out.RawByte('{')
 823	first := true
 824	_ = first
 825	{
 826		const prefix string = ",\"version\":"
 827		out.RawString(prefix[1:])
 828		out.Int(int(in.Version))
 829	}
 830	{
 831		const prefix string = ",\"teams\":"
 832		out.RawString(prefix)
 833		if in.Teams == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
 834			out.RawString("null")
 835		} else {
 836			out.RawByte('[')
 837			for v7, v8 := range in.Teams {
 838				if v7 > 0 {
 839					out.RawByte(',')
 840				}
 841				if v8 == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
 842					out.RawString("null")
 843				} else {
 844					out.RawByte('[')
 845					for v9, v10 := range v8 {
 846						if v9 > 0 {
 847							out.RawByte(',')
 848						}
 849						if v10 == nil {
 850							out.RawString("null")
 851						} else {
 852							(*v10).MarshalEasyJSON(out)
 853						}
 854					}
 855					out.RawByte(']')
 856				}
 857			}
 858			out.RawByte(']')
 859		}
 860	}
 861	{
 862		const prefix string = ",\"turn\":"
 863		out.RawString(prefix)
 864		out.Int(int(in.Turn))
 865	}
 866	{
 867		const prefix string = ",\"winner\":"
 868		out.RawString(prefix)
 869		if in.Winner == nil {
 870			out.RawString("null")
 871		} else {
 872			out.Int(int(*in.Winner))
 873		}
 874	}
 875	{
 876		const prefix string = ",\"board\":"
 877		out.RawString(prefix)
 878		if in.Board == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
 879			out.RawString("null")
 880		} else {
 881			out.RawByte('[')
 882			for v11, v12 := range in.Board {
 883				if v11 > 0 {
 884					out.RawByte(',')
 885				}
 886				if v12 == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
 887					out.RawString("null")
 888				} else {
 889					out.RawByte('[')
 890					for v13, v14 := range v12 {
 891						if v13 > 0 {
 892							out.RawByte(',')
 893						}
 894						if v14 == nil {
 895							out.RawString("null")
 896						} else {
 897							(*v14).MarshalEasyJSON(out)
 898						}
 899					}
 900					out.RawByte(']')
 901				}
 902			}
 903			out.RawByte(']')
 904		}
 905	}
 906	{
 907		const prefix string = ",\"wordsLeft\":"
 908		out.RawString(prefix)
 909		if in.WordsLeft == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
 910			out.RawString("null")
 911		} else {
 912			out.RawByte('[')
 913			for v15, v16 := range in.WordsLeft {
 914				if v15 > 0 {
 915					out.RawByte(',')
 916				}
 917				out.Int(int(v16))
 918			}
 919			out.RawByte(']')
 920		}
 921	}
 922	{
 923		const prefix string = ",\"lists\":"
 924		out.RawString(prefix)
 925		if in.Lists == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
 926			out.RawString("null")
 927		} else {
 928			out.RawByte('[')
 929			for v17, v18 := range in.Lists {
 930				if v17 > 0 {
 931					out.RawByte(',')
 932				}
 933				if v18 == nil {
 934					out.RawString("null")
 935				} else {
 936					(*v18).MarshalEasyJSON(out)
 937				}
 938			}
 939			out.RawByte(']')
 940		}
 941	}
 942	{
 943		const prefix string = ",\"timer\":"
 944		out.RawString(prefix)
 945		if in.Timer == nil {
 946			out.RawString("null")
 947		} else {
 948			(*in.Timer).MarshalEasyJSON(out)
 949		}
 950	}
 951	out.RawByte('}')
 952}
 953
 954// MarshalJSON supports json.Marshaler interface
 955func (v State) MarshalJSON() ([]byte, error) {
 956	w := jwriter.Writer{}
 957	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol7(&w, v)
 958	return w.Buffer.BuildBytes(), w.Error
 959}
 960
 961// MarshalEasyJSON supports easyjson.Marshaler interface
 962func (v State) MarshalEasyJSON(w *jwriter.Writer) {
 963	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol7(w, v)
 964}
 965
 966// UnmarshalJSON supports json.Unmarshaler interface
 967func (v *State) UnmarshalJSON(data []byte) error {
 968	r := jlexer.Lexer{Data: data}
 969	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol7(&r, v)
 970	return r.Error()
 971}
 972
 973// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
 974func (v *State) UnmarshalEasyJSON(l *jlexer.Lexer) {
 975	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol7(l, v)
 976}
 977func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol8(in *jlexer.Lexer, out *ServerNote) {
 978	isTopLevel := in.IsStart()
 979	if in.IsNull() {
 980		if isTopLevel {
 981			in.Consumed()
 982		}
 983		in.Skip()
 984		return
 985	}
 986	in.Delim('{')
 987	for !in.IsDelim('}') {
 988		key := in.UnsafeString()
 989		in.WantColon()
 990		if in.IsNull() {
 991			in.Skip()
 992			in.WantComma()
 993			continue
 994		}
 995		switch key {
 996		case "method":
 997			out.Method = ServerMethod(in.String())
 998		case "params":
 999			if m, ok := out.Params.(easyjson.Unmarshaler); ok {
1000				m.UnmarshalEasyJSON(in)
1001			} else if m, ok := out.Params.(json.Unmarshaler); ok {
1002				_ = m.UnmarshalJSON(in.Raw())
1003			} else {
1004				out.Params = in.Interface()
1005			}
1006		default:
1007			in.AddError(&jlexer.LexerError{
1008				Offset: in.GetPos(),
1009				Reason: "unknown field",
1010				Data:   key,
1011			})
1012		}
1013		in.WantComma()
1014	}
1015	in.Delim('}')
1016	if isTopLevel {
1017		in.Consumed()
1018	}
1019}
1020func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol8(out *jwriter.Writer, in ServerNote) {
1021	out.RawByte('{')
1022	first := true
1023	_ = first
1024	{
1025		const prefix string = ",\"method\":"
1026		out.RawString(prefix[1:])
1027		out.String(string(in.Method))
1028	}
1029	{
1030		const prefix string = ",\"params\":"
1031		out.RawString(prefix)
1032		if m, ok := in.Params.(easyjson.Marshaler); ok {
1033			m.MarshalEasyJSON(out)
1034		} else if m, ok := in.Params.(json.Marshaler); ok {
1035			out.Raw(m.MarshalJSON())
1036		} else {
1037			out.Raw(json.Marshal(in.Params))
1038		}
1039	}
1040	out.RawByte('}')
1041}
1042
1043// MarshalJSON supports json.Marshaler interface
1044func (v ServerNote) MarshalJSON() ([]byte, error) {
1045	w := jwriter.Writer{}
1046	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol8(&w, v)
1047	return w.Buffer.BuildBytes(), w.Error
1048}
1049
1050// MarshalEasyJSON supports easyjson.Marshaler interface
1051func (v ServerNote) MarshalEasyJSON(w *jwriter.Writer) {
1052	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol8(w, v)
1053}
1054
1055// UnmarshalJSON supports json.Unmarshaler interface
1056func (v *ServerNote) UnmarshalJSON(data []byte) error {
1057	r := jlexer.Lexer{Data: data}
1058	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol8(&r, v)
1059	return r.Error()
1060}
1061
1062// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
1063func (v *ServerNote) UnmarshalEasyJSON(l *jlexer.Lexer) {
1064	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol8(l, v)
1065}
1066func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol9(in *jlexer.Lexer, out *RoomResponse) {
1067	isTopLevel := in.IsStart()
1068	if in.IsNull() {
1069		if isTopLevel {
1070			in.Consumed()
1071		}
1072		in.Skip()
1073		return
1074	}
1075	in.Delim('{')
1076	for !in.IsDelim('}') {
1077		key := in.UnsafeString()
1078		in.WantColon()
1079		if in.IsNull() {
1080			in.Skip()
1081			in.WantComma()
1082			continue
1083		}
1084		switch key {
1085		case "id":
1086			if in.IsNull() {
1087				in.Skip()
1088				out.ID = nil
1089			} else {
1090				if out.ID == nil {
1091					out.ID = new(string)
1092				}
1093				*out.ID = string(in.String())
1094			}
1095		case "error":
1096			if in.IsNull() {
1097				in.Skip()
1098				out.Error = nil
1099			} else {
1100				if out.Error == nil {
1101					out.Error = new(string)
1102				}
1103				*out.Error = string(in.String())
1104			}
1105		default:
1106			in.AddError(&jlexer.LexerError{
1107				Offset: in.GetPos(),
1108				Reason: "unknown field",
1109				Data:   key,
1110			})
1111		}
1112		in.WantComma()
1113	}
1114	in.Delim('}')
1115	if isTopLevel {
1116		in.Consumed()
1117	}
1118}
1119func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol9(out *jwriter.Writer, in RoomResponse) {
1120	out.RawByte('{')
1121	first := true
1122	_ = first
1123	if in.ID != nil {
1124		const prefix string = ",\"id\":"
1125		first = false
1126		out.RawString(prefix[1:])
1127		out.String(string(*in.ID))
1128	}
1129	if in.Error != nil {
1130		const prefix string = ",\"error\":"
1131		if first {
1132			first = false
1133			out.RawString(prefix[1:])
1134		} else {
1135			out.RawString(prefix)
1136		}
1137		out.String(string(*in.Error))
1138	}
1139	out.RawByte('}')
1140}
1141
1142// MarshalJSON supports json.Marshaler interface
1143func (v RoomResponse) MarshalJSON() ([]byte, error) {
1144	w := jwriter.Writer{}
1145	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol9(&w, v)
1146	return w.Buffer.BuildBytes(), w.Error
1147}
1148
1149// MarshalEasyJSON supports easyjson.Marshaler interface
1150func (v RoomResponse) MarshalEasyJSON(w *jwriter.Writer) {
1151	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol9(w, v)
1152}
1153
1154// UnmarshalJSON supports json.Unmarshaler interface
1155func (v *RoomResponse) UnmarshalJSON(data []byte) error {
1156	r := jlexer.Lexer{Data: data}
1157	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol9(&r, v)
1158	return r.Error()
1159}
1160
1161// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
1162func (v *RoomResponse) UnmarshalEasyJSON(l *jlexer.Lexer) {
1163	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol9(l, v)
1164}
1165func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol10(in *jlexer.Lexer, out *RoomRequest) {
1166	isTopLevel := in.IsStart()
1167	if in.IsNull() {
1168		if isTopLevel {
1169			in.Consumed()
1170		}
1171		in.Skip()
1172		return
1173	}
1174	in.Delim('{')
1175	for !in.IsDelim('}') {
1176		key := in.UnsafeString()
1177		in.WantColon()
1178		if in.IsNull() {
1179			in.Skip()
1180			in.WantComma()
1181			continue
1182		}
1183		switch key {
1184		case "roomName":
1185			out.RoomName = string(in.String())
1186		case "roomPass":
1187			out.RoomPass = string(in.String())
1188		case "create":
1189			out.Create = bool(in.Bool())
1190		default:
1191			in.AddError(&jlexer.LexerError{
1192				Offset: in.GetPos(),
1193				Reason: "unknown field",
1194				Data:   key,
1195			})
1196		}
1197		in.WantComma()
1198	}
1199	in.Delim('}')
1200	if isTopLevel {
1201		in.Consumed()
1202	}
1203}
1204func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol10(out *jwriter.Writer, in RoomRequest) {
1205	out.RawByte('{')
1206	first := true
1207	_ = first
1208	{
1209		const prefix string = ",\"roomName\":"
1210		out.RawString(prefix[1:])
1211		out.String(string(in.RoomName))
1212	}
1213	{
1214		const prefix string = ",\"roomPass\":"
1215		out.RawString(prefix)
1216		out.String(string(in.RoomPass))
1217	}
1218	{
1219		const prefix string = ",\"create\":"
1220		out.RawString(prefix)
1221		out.Bool(bool(in.Create))
1222	}
1223	out.RawByte('}')
1224}
1225
1226// MarshalJSON supports json.Marshaler interface
1227func (v RoomRequest) MarshalJSON() ([]byte, error) {
1228	w := jwriter.Writer{}
1229	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol10(&w, v)
1230	return w.Buffer.BuildBytes(), w.Error
1231}
1232
1233// MarshalEasyJSON supports easyjson.Marshaler interface
1234func (v RoomRequest) MarshalEasyJSON(w *jwriter.Writer) {
1235	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol10(w, v)
1236}
1237
1238// UnmarshalJSON supports json.Unmarshaler interface
1239func (v *RoomRequest) UnmarshalJSON(data []byte) error {
1240	r := jlexer.Lexer{Data: data}
1241	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol10(&r, v)
1242	return r.Error()
1243}
1244
1245// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
1246func (v *RoomRequest) UnmarshalEasyJSON(l *jlexer.Lexer) {
1247	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol10(l, v)
1248}
1249func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol11(in *jlexer.Lexer, out *RevealParams) {
1250	isTopLevel := in.IsStart()
1251	if in.IsNull() {
1252		if isTopLevel {
1253			in.Consumed()
1254		}
1255		in.Skip()
1256		return
1257	}
1258	in.Delim('{')
1259	for !in.IsDelim('}') {
1260		key := in.UnsafeString()
1261		in.WantColon()
1262		if in.IsNull() {
1263			in.Skip()
1264			in.WantComma()
1265			continue
1266		}
1267		switch key {
1268		case "row":
1269			out.Row = int(in.Int())
1270		case "col":
1271			out.Col = int(in.Int())
1272		default:
1273			in.AddError(&jlexer.LexerError{
1274				Offset: in.GetPos(),
1275				Reason: "unknown field",
1276				Data:   key,
1277			})
1278		}
1279		in.WantComma()
1280	}
1281	in.Delim('}')
1282	if isTopLevel {
1283		in.Consumed()
1284	}
1285}
1286func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol11(out *jwriter.Writer, in RevealParams) {
1287	out.RawByte('{')
1288	first := true
1289	_ = first
1290	{
1291		const prefix string = ",\"row\":"
1292		out.RawString(prefix[1:])
1293		out.Int(int(in.Row))
1294	}
1295	{
1296		const prefix string = ",\"col\":"
1297		out.RawString(prefix)
1298		out.Int(int(in.Col))
1299	}
1300	out.RawByte('}')
1301}
1302
1303// MarshalJSON supports json.Marshaler interface
1304func (v RevealParams) MarshalJSON() ([]byte, error) {
1305	w := jwriter.Writer{}
1306	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol11(&w, v)
1307	return w.Buffer.BuildBytes(), w.Error
1308}
1309
1310// MarshalEasyJSON supports easyjson.Marshaler interface
1311func (v RevealParams) MarshalEasyJSON(w *jwriter.Writer) {
1312	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol11(w, v)
1313}
1314
1315// UnmarshalJSON supports json.Unmarshaler interface
1316func (v *RevealParams) UnmarshalJSON(data []byte) error {
1317	r := jlexer.Lexer{Data: data}
1318	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol11(&r, v)
1319	return r.Error()
1320}
1321
1322// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
1323func (v *RevealParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
1324	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol11(l, v)
1325}
1326func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol12(in *jlexer.Lexer, out *RemovePackParams) {
1327	isTopLevel := in.IsStart()
1328	if in.IsNull() {
1329		if isTopLevel {
1330			in.Consumed()
1331		}
1332		in.Skip()
1333		return
1334	}
1335	in.Delim('{')
1336	for !in.IsDelim('}') {
1337		key := in.UnsafeString()
1338		in.WantColon()
1339		if in.IsNull() {
1340			in.Skip()
1341			in.WantComma()
1342			continue
1343		}
1344		switch key {
1345		case "num":
1346			out.Num = int(in.Int())
1347		default:
1348			in.AddError(&jlexer.LexerError{
1349				Offset: in.GetPos(),
1350				Reason: "unknown field",
1351				Data:   key,
1352			})
1353		}
1354		in.WantComma()
1355	}
1356	in.Delim('}')
1357	if isTopLevel {
1358		in.Consumed()
1359	}
1360}
1361func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol12(out *jwriter.Writer, in RemovePackParams) {
1362	out.RawByte('{')
1363	first := true
1364	_ = first
1365	{
1366		const prefix string = ",\"num\":"
1367		out.RawString(prefix[1:])
1368		out.Int(int(in.Num))
1369	}
1370	out.RawByte('}')
1371}
1372
1373// MarshalJSON supports json.Marshaler interface
1374func (v RemovePackParams) MarshalJSON() ([]byte, error) {
1375	w := jwriter.Writer{}
1376	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol12(&w, v)
1377	return w.Buffer.BuildBytes(), w.Error
1378}
1379
1380// MarshalEasyJSON supports easyjson.Marshaler interface
1381func (v RemovePackParams) MarshalEasyJSON(w *jwriter.Writer) {
1382	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol12(w, v)
1383}
1384
1385// UnmarshalJSON supports json.Unmarshaler interface
1386func (v *RemovePackParams) UnmarshalJSON(data []byte) error {
1387	r := jlexer.Lexer{Data: data}
1388	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol12(&r, v)
1389	return r.Error()
1390}
1391
1392// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
1393func (v *RemovePackParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
1394	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol12(l, v)
1395}
1396func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol13(in *jlexer.Lexer, out *RandomizeTeamsParams) {
1397	isTopLevel := in.IsStart()
1398	if in.IsNull() {
1399		if isTopLevel {
1400			in.Consumed()
1401		}
1402		in.Skip()
1403		return
1404	}
1405	in.Delim('{')
1406	for !in.IsDelim('}') {
1407		key := in.UnsafeString()
1408		in.WantColon()
1409		if in.IsNull() {
1410			in.Skip()
1411			in.WantComma()
1412			continue
1413		}
1414		switch key {
1415		default:
1416			in.AddError(&jlexer.LexerError{
1417				Offset: in.GetPos(),
1418				Reason: "unknown field",
1419				Data:   key,
1420			})
1421		}
1422		in.WantComma()
1423	}
1424	in.Delim('}')
1425	if isTopLevel {
1426		in.Consumed()
1427	}
1428}
1429func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol13(out *jwriter.Writer, in RandomizeTeamsParams) {
1430	out.RawByte('{')
1431	first := true
1432	_ = first
1433	out.RawByte('}')
1434}
1435
1436// MarshalJSON supports json.Marshaler interface
1437func (v RandomizeTeamsParams) MarshalJSON() ([]byte, error) {
1438	w := jwriter.Writer{}
1439	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol13(&w, v)
1440	return w.Buffer.BuildBytes(), w.Error
1441}
1442
1443// MarshalEasyJSON supports easyjson.Marshaler interface
1444func (v RandomizeTeamsParams) MarshalEasyJSON(w *jwriter.Writer) {
1445	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol13(w, v)
1446}
1447
1448// UnmarshalJSON supports json.Unmarshaler interface
1449func (v *RandomizeTeamsParams) UnmarshalJSON(data []byte) error {
1450	r := jlexer.Lexer{Data: data}
1451	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol13(&r, v)
1452	return r.Error()
1453}
1454
1455// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
1456func (v *RandomizeTeamsParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
1457	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol13(l, v)
1458}
1459func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol14(in *jlexer.Lexer, out *NewGameParams) {
1460	isTopLevel := in.IsStart()
1461	if in.IsNull() {
1462		if isTopLevel {
1463			in.Consumed()
1464		}
1465		in.Skip()
1466		return
1467	}
1468	in.Delim('{')
1469	for !in.IsDelim('}') {
1470		key := in.UnsafeString()
1471		in.WantColon()
1472		if in.IsNull() {
1473			in.Skip()
1474			in.WantComma()
1475			continue
1476		}
1477		switch key {
1478		default:
1479			in.AddError(&jlexer.LexerError{
1480				Offset: in.GetPos(),
1481				Reason: "unknown field",
1482				Data:   key,
1483			})
1484		}
1485		in.WantComma()
1486	}
1487	in.Delim('}')
1488	if isTopLevel {
1489		in.Consumed()
1490	}
1491}
1492func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol14(out *jwriter.Writer, in NewGameParams) {
1493	out.RawByte('{')
1494	first := true
1495	_ = first
1496	out.RawByte('}')
1497}
1498
1499// MarshalJSON supports json.Marshaler interface
1500func (v NewGameParams) MarshalJSON() ([]byte, error) {
1501	w := jwriter.Writer{}
1502	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol14(&w, v)
1503	return w.Buffer.BuildBytes(), w.Error
1504}
1505
1506// MarshalEasyJSON supports easyjson.Marshaler interface
1507func (v NewGameParams) MarshalEasyJSON(w *jwriter.Writer) {
1508	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol14(w, v)
1509}
1510
1511// UnmarshalJSON supports json.Unmarshaler interface
1512func (v *NewGameParams) UnmarshalJSON(data []byte) error {
1513	r := jlexer.Lexer{Data: data}
1514	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol14(&r, v)
1515	return r.Error()
1516}
1517
1518// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
1519func (v *NewGameParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
1520	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol14(l, v)
1521}
1522func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol15(in *jlexer.Lexer, out *EndTurnParams) {
1523	isTopLevel := in.IsStart()
1524	if in.IsNull() {
1525		if isTopLevel {
1526			in.Consumed()
1527		}
1528		in.Skip()
1529		return
1530	}
1531	in.Delim('{')
1532	for !in.IsDelim('}') {
1533		key := in.UnsafeString()
1534		in.WantColon()
1535		if in.IsNull() {
1536			in.Skip()
1537			in.WantComma()
1538			continue
1539		}
1540		switch key {
1541		default:
1542			in.AddError(&jlexer.LexerError{
1543				Offset: in.GetPos(),
1544				Reason: "unknown field",
1545				Data:   key,
1546			})
1547		}
1548		in.WantComma()
1549	}
1550	in.Delim('}')
1551	if isTopLevel {
1552		in.Consumed()
1553	}
1554}
1555func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol15(out *jwriter.Writer, in EndTurnParams) {
1556	out.RawByte('{')
1557	first := true
1558	_ = first
1559	out.RawByte('}')
1560}
1561
1562// MarshalJSON supports json.Marshaler interface
1563func (v EndTurnParams) MarshalJSON() ([]byte, error) {
1564	w := jwriter.Writer{}
1565	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol15(&w, v)
1566	return w.Buffer.BuildBytes(), w.Error
1567}
1568
1569// MarshalEasyJSON supports easyjson.Marshaler interface
1570func (v EndTurnParams) MarshalEasyJSON(w *jwriter.Writer) {
1571	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol15(w, v)
1572}
1573
1574// UnmarshalJSON supports json.Unmarshaler interface
1575func (v *EndTurnParams) UnmarshalJSON(data []byte) error {
1576	r := jlexer.Lexer{Data: data}
1577	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol15(&r, v)
1578	return r.Error()
1579}
1580
1581// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
1582func (v *EndTurnParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
1583	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol15(l, v)
1584}
1585func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol16(in *jlexer.Lexer, out *ClientNote) {
1586	isTopLevel := in.IsStart()
1587	if in.IsNull() {
1588		if isTopLevel {
1589			in.Consumed()
1590		}
1591		in.Skip()
1592		return
1593	}
1594	in.Delim('{')
1595	for !in.IsDelim('}') {
1596		key := in.UnsafeString()
1597		in.WantColon()
1598		if in.IsNull() {
1599			in.Skip()
1600			in.WantComma()
1601			continue
1602		}
1603		switch key {
1604		case "method":
1605			out.Method = ClientMethod(in.String())
1606		case "version":
1607			out.Version = int(in.Int())
1608		case "params":
1609			(out.Params).UnmarshalEasyJSON(in)
1610		default:
1611			in.AddError(&jlexer.LexerError{
1612				Offset: in.GetPos(),
1613				Reason: "unknown field",
1614				Data:   key,
1615			})
1616		}
1617		in.WantComma()
1618	}
1619	in.Delim('}')
1620	if isTopLevel {
1621		in.Consumed()
1622	}
1623}
1624func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol16(out *jwriter.Writer, in ClientNote) {
1625	out.RawByte('{')
1626	first := true
1627	_ = first
1628	{
1629		const prefix string = ",\"method\":"
1630		out.RawString(prefix[1:])
1631		out.String(string(in.Method))
1632	}
1633	{
1634		const prefix string = ",\"version\":"
1635		out.RawString(prefix)
1636		out.Int(int(in.Version))
1637	}
1638	{
1639		const prefix string = ",\"params\":"
1640		out.RawString(prefix)
1641		(in.Params).MarshalEasyJSON(out)
1642	}
1643	out.RawByte('}')
1644}
1645
1646// MarshalJSON supports json.Marshaler interface
1647func (v ClientNote) MarshalJSON() ([]byte, error) {
1648	w := jwriter.Writer{}
1649	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol16(&w, v)
1650	return w.Buffer.BuildBytes(), w.Error
1651}
1652
1653// MarshalEasyJSON supports easyjson.Marshaler interface
1654func (v ClientNote) MarshalEasyJSON(w *jwriter.Writer) {
1655	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol16(w, v)
1656}
1657
1658// UnmarshalJSON supports json.Unmarshaler interface
1659func (v *ClientNote) UnmarshalJSON(data []byte) error {
1660	r := jlexer.Lexer{Data: data}
1661	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol16(&r, v)
1662	return r.Error()
1663}
1664
1665// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
1666func (v *ClientNote) UnmarshalEasyJSON(l *jlexer.Lexer) {
1667	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol16(l, v)
1668}
1669func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol17(in *jlexer.Lexer, out *ChangeTurnTimeParams) {
1670	isTopLevel := in.IsStart()
1671	if in.IsNull() {
1672		if isTopLevel {
1673			in.Consumed()
1674		}
1675		in.Skip()
1676		return
1677	}
1678	in.Delim('{')
1679	for !in.IsDelim('}') {
1680		key := in.UnsafeString()
1681		in.WantColon()
1682		if in.IsNull() {
1683			in.Skip()
1684			in.WantComma()
1685			continue
1686		}
1687		switch key {
1688		case "seconds":
1689			out.Seconds = int(in.Int())
1690		default:
1691			in.AddError(&jlexer.LexerError{
1692				Offset: in.GetPos(),
1693				Reason: "unknown field",
1694				Data:   key,
1695			})
1696		}
1697		in.WantComma()
1698	}
1699	in.Delim('}')
1700	if isTopLevel {
1701		in.Consumed()
1702	}
1703}
1704func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol17(out *jwriter.Writer, in ChangeTurnTimeParams) {
1705	out.RawByte('{')
1706	first := true
1707	_ = first
1708	{
1709		const prefix string = ",\"seconds\":"
1710		out.RawString(prefix[1:])
1711		out.Int(int(in.Seconds))
1712	}
1713	out.RawByte('}')
1714}
1715
1716// MarshalJSON supports json.Marshaler interface
1717func (v ChangeTurnTimeParams) MarshalJSON() ([]byte, error) {
1718	w := jwriter.Writer{}
1719	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol17(&w, v)
1720	return w.Buffer.BuildBytes(), w.Error
1721}
1722
1723// MarshalEasyJSON supports easyjson.Marshaler interface
1724func (v ChangeTurnTimeParams) MarshalEasyJSON(w *jwriter.Writer) {
1725	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol17(w, v)
1726}
1727
1728// UnmarshalJSON supports json.Unmarshaler interface
1729func (v *ChangeTurnTimeParams) UnmarshalJSON(data []byte) error {
1730	r := jlexer.Lexer{Data: data}
1731	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol17(&r, v)
1732	return r.Error()
1733}
1734
1735// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
1736func (v *ChangeTurnTimeParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
1737	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol17(l, v)
1738}
1739func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol18(in *jlexer.Lexer, out *ChangeTurnModeParams) {
1740	isTopLevel := in.IsStart()
1741	if in.IsNull() {
1742		if isTopLevel {
1743			in.Consumed()
1744		}
1745		in.Skip()
1746		return
1747	}
1748	in.Delim('{')
1749	for !in.IsDelim('}') {
1750		key := in.UnsafeString()
1751		in.WantColon()
1752		if in.IsNull() {
1753			in.Skip()
1754			in.WantComma()
1755			continue
1756		}
1757		switch key {
1758		case "timed":
1759			out.Timed = bool(in.Bool())
1760		default:
1761			in.AddError(&jlexer.LexerError{
1762				Offset: in.GetPos(),
1763				Reason: "unknown field",
1764				Data:   key,
1765			})
1766		}
1767		in.WantComma()
1768	}
1769	in.Delim('}')
1770	if isTopLevel {
1771		in.Consumed()
1772	}
1773}
1774func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol18(out *jwriter.Writer, in ChangeTurnModeParams) {
1775	out.RawByte('{')
1776	first := true
1777	_ = first
1778	{
1779		const prefix string = ",\"timed\":"
1780		out.RawString(prefix[1:])
1781		out.Bool(bool(in.Timed))
1782	}
1783	out.RawByte('}')
1784}
1785
1786// MarshalJSON supports json.Marshaler interface
1787func (v ChangeTurnModeParams) MarshalJSON() ([]byte, error) {
1788	w := jwriter.Writer{}
1789	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol18(&w, v)
1790	return w.Buffer.BuildBytes(), w.Error
1791}
1792
1793// MarshalEasyJSON supports easyjson.Marshaler interface
1794func (v ChangeTurnModeParams) MarshalEasyJSON(w *jwriter.Writer) {
1795	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol18(w, v)
1796}
1797
1798// UnmarshalJSON supports json.Unmarshaler interface
1799func (v *ChangeTurnModeParams) UnmarshalJSON(data []byte) error {
1800	r := jlexer.Lexer{Data: data}
1801	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol18(&r, v)
1802	return r.Error()
1803}
1804
1805// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
1806func (v *ChangeTurnModeParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
1807	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol18(l, v)
1808}
1809func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol19(in *jlexer.Lexer, out *ChangeTeamParams) {
1810	isTopLevel := in.IsStart()
1811	if in.IsNull() {
1812		if isTopLevel {
1813			in.Consumed()
1814		}
1815		in.Skip()
1816		return
1817	}
1818	in.Delim('{')
1819	for !in.IsDelim('}') {
1820		key := in.UnsafeString()
1821		in.WantColon()
1822		if in.IsNull() {
1823			in.Skip()
1824			in.WantComma()
1825			continue
1826		}
1827		switch key {
1828		case "team":
1829			out.Team = game.Team(in.Int())
1830		default:
1831			in.AddError(&jlexer.LexerError{
1832				Offset: in.GetPos(),
1833				Reason: "unknown field",
1834				Data:   key,
1835			})
1836		}
1837		in.WantComma()
1838	}
1839	in.Delim('}')
1840	if isTopLevel {
1841		in.Consumed()
1842	}
1843}
1844func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol19(out *jwriter.Writer, in ChangeTeamParams) {
1845	out.RawByte('{')
1846	first := true
1847	_ = first
1848	{
1849		const prefix string = ",\"team\":"
1850		out.RawString(prefix[1:])
1851		out.Int(int(in.Team))
1852	}
1853	out.RawByte('}')
1854}
1855
1856// MarshalJSON supports json.Marshaler interface
1857func (v ChangeTeamParams) MarshalJSON() ([]byte, error) {
1858	w := jwriter.Writer{}
1859	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol19(&w, v)
1860	return w.Buffer.BuildBytes(), w.Error
1861}
1862
1863// MarshalEasyJSON supports easyjson.Marshaler interface
1864func (v ChangeTeamParams) MarshalEasyJSON(w *jwriter.Writer) {
1865	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol19(w, v)
1866}
1867
1868// UnmarshalJSON supports json.Unmarshaler interface
1869func (v *ChangeTeamParams) UnmarshalJSON(data []byte) error {
1870	r := jlexer.Lexer{Data: data}
1871	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol19(&r, v)
1872	return r.Error()
1873}
1874
1875// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
1876func (v *ChangeTeamParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
1877	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol19(l, v)
1878}
1879func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol20(in *jlexer.Lexer, out *ChangeRoleParams) {
1880	isTopLevel := in.IsStart()
1881	if in.IsNull() {
1882		if isTopLevel {
1883			in.Consumed()
1884		}
1885		in.Skip()
1886		return
1887	}
1888	in.Delim('{')
1889	for !in.IsDelim('}') {
1890		key := in.UnsafeString()
1891		in.WantColon()
1892		if in.IsNull() {
1893			in.Skip()
1894			in.WantComma()
1895			continue
1896		}
1897		switch key {
1898		case "spymaster":
1899			out.Spymaster = bool(in.Bool())
1900		default:
1901			in.AddError(&jlexer.LexerError{
1902				Offset: in.GetPos(),
1903				Reason: "unknown field",
1904				Data:   key,
1905			})
1906		}
1907		in.WantComma()
1908	}
1909	in.Delim('}')
1910	if isTopLevel {
1911		in.Consumed()
1912	}
1913}
1914func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol20(out *jwriter.Writer, in ChangeRoleParams) {
1915	out.RawByte('{')
1916	first := true
1917	_ = first
1918	{
1919		const prefix string = ",\"spymaster\":"
1920		out.RawString(prefix[1:])
1921		out.Bool(bool(in.Spymaster))
1922	}
1923	out.RawByte('}')
1924}
1925
1926// MarshalJSON supports json.Marshaler interface
1927func (v ChangeRoleParams) MarshalJSON() ([]byte, error) {
1928	w := jwriter.Writer{}
1929	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol20(&w, v)
1930	return w.Buffer.BuildBytes(), w.Error
1931}
1932
1933// MarshalEasyJSON supports easyjson.Marshaler interface
1934func (v ChangeRoleParams) MarshalEasyJSON(w *jwriter.Writer) {
1935	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol20(w, v)
1936}
1937
1938// UnmarshalJSON supports json.Unmarshaler interface
1939func (v *ChangeRoleParams) UnmarshalJSON(data []byte) error {
1940	r := jlexer.Lexer{Data: data}
1941	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol20(&r, v)
1942	return r.Error()
1943}
1944
1945// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
1946func (v *ChangeRoleParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
1947	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol20(l, v)
1948}
1949func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol21(in *jlexer.Lexer, out *ChangePackParams) {
1950	isTopLevel := in.IsStart()
1951	if in.IsNull() {
1952		if isTopLevel {
1953			in.Consumed()
1954		}
1955		in.Skip()
1956		return
1957	}
1958	in.Delim('{')
1959	for !in.IsDelim('}') {
1960		key := in.UnsafeString()
1961		in.WantColon()
1962		if in.IsNull() {
1963			in.Skip()
1964			in.WantComma()
1965			continue
1966		}
1967		switch key {
1968		case "num":
1969			out.Num = int(in.Int())
1970		case "enable":
1971			out.Enable = bool(in.Bool())
1972		default:
1973			in.AddError(&jlexer.LexerError{
1974				Offset: in.GetPos(),
1975				Reason: "unknown field",
1976				Data:   key,
1977			})
1978		}
1979		in.WantComma()
1980	}
1981	in.Delim('}')
1982	if isTopLevel {
1983		in.Consumed()
1984	}
1985}
1986func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol21(out *jwriter.Writer, in ChangePackParams) {
1987	out.RawByte('{')
1988	first := true
1989	_ = first
1990	{
1991		const prefix string = ",\"num\":"
1992		out.RawString(prefix[1:])
1993		out.Int(int(in.Num))
1994	}
1995	{
1996		const prefix string = ",\"enable\":"
1997		out.RawString(prefix)
1998		out.Bool(bool(in.Enable))
1999	}
2000	out.RawByte('}')
2001}
2002
2003// MarshalJSON supports json.Marshaler interface
2004func (v ChangePackParams) MarshalJSON() ([]byte, error) {
2005	w := jwriter.Writer{}
2006	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol21(&w, v)
2007	return w.Buffer.BuildBytes(), w.Error
2008}
2009
2010// MarshalEasyJSON supports easyjson.Marshaler interface
2011func (v ChangePackParams) MarshalEasyJSON(w *jwriter.Writer) {
2012	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol21(w, v)
2013}
2014
2015// UnmarshalJSON supports json.Unmarshaler interface
2016func (v *ChangePackParams) UnmarshalJSON(data []byte) error {
2017	r := jlexer.Lexer{Data: data}
2018	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol21(&r, v)
2019	return r.Error()
2020}
2021
2022// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
2023func (v *ChangePackParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
2024	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol21(l, v)
2025}
2026func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol22(in *jlexer.Lexer, out *ChangeNicknameParams) {
2027	isTopLevel := in.IsStart()
2028	if in.IsNull() {
2029		if isTopLevel {
2030			in.Consumed()
2031		}
2032		in.Skip()
2033		return
2034	}
2035	in.Delim('{')
2036	for !in.IsDelim('}') {
2037		key := in.UnsafeString()
2038		in.WantColon()
2039		if in.IsNull() {
2040			in.Skip()
2041			in.WantComma()
2042			continue
2043		}
2044		switch key {
2045		case "nickname":
2046			out.Nickname = string(in.String())
2047		default:
2048			in.AddError(&jlexer.LexerError{
2049				Offset: in.GetPos(),
2050				Reason: "unknown field",
2051				Data:   key,
2052			})
2053		}
2054		in.WantComma()
2055	}
2056	in.Delim('}')
2057	if isTopLevel {
2058		in.Consumed()
2059	}
2060}
2061func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol22(out *jwriter.Writer, in ChangeNicknameParams) {
2062	out.RawByte('{')
2063	first := true
2064	_ = first
2065	{
2066		const prefix string = ",\"nickname\":"
2067		out.RawString(prefix[1:])
2068		out.String(string(in.Nickname))
2069	}
2070	out.RawByte('}')
2071}
2072
2073// MarshalJSON supports json.Marshaler interface
2074func (v ChangeNicknameParams) MarshalJSON() ([]byte, error) {
2075	w := jwriter.Writer{}
2076	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol22(&w, v)
2077	return w.Buffer.BuildBytes(), w.Error
2078}
2079
2080// MarshalEasyJSON supports easyjson.Marshaler interface
2081func (v ChangeNicknameParams) MarshalEasyJSON(w *jwriter.Writer) {
2082	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol22(w, v)
2083}
2084
2085// UnmarshalJSON supports json.Unmarshaler interface
2086func (v *ChangeNicknameParams) UnmarshalJSON(data []byte) error {
2087	r := jlexer.Lexer{Data: data}
2088	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol22(&r, v)
2089	return r.Error()
2090}
2091
2092// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
2093func (v *ChangeNicknameParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
2094	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol22(l, v)
2095}
2096func easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol23(in *jlexer.Lexer, out *AddPacksParams) {
2097	isTopLevel := in.IsStart()
2098	if in.IsNull() {
2099		if isTopLevel {
2100			in.Consumed()
2101		}
2102		in.Skip()
2103		return
2104	}
2105	in.Delim('{')
2106	for !in.IsDelim('}') {
2107		key := in.UnsafeString()
2108		in.WantColon()
2109		if in.IsNull() {
2110			in.Skip()
2111			in.WantComma()
2112			continue
2113		}
2114		switch key {
2115		case "packs":
2116			if in.IsNull() {
2117				in.Skip()
2118				out.Packs = nil
2119			} else {
2120				in.Delim('[')
2121				if out.Packs == nil {
2122					if !in.IsDelim(']') {
2123						out.Packs = make([]struct {
2124							Name  string   `json:"name"`
2125							Words []string `json:"words"`
2126						}, 0, 1)
2127					} else {
2128						out.Packs = []struct {
2129							Name  string   `json:"name"`
2130							Words []string `json:"words"`
2131						}{}
2132					}
2133				} else {
2134					out.Packs = (out.Packs)[:0]
2135				}
2136				for !in.IsDelim(']') {
2137					var v19 struct {
2138						Name  string   `json:"name"`
2139						Words []string `json:"words"`
2140					}
2141					easyjsonE4425964Decode(in, &v19)
2142					out.Packs = append(out.Packs, v19)
2143					in.WantComma()
2144				}
2145				in.Delim(']')
2146			}
2147		default:
2148			in.AddError(&jlexer.LexerError{
2149				Offset: in.GetPos(),
2150				Reason: "unknown field",
2151				Data:   key,
2152			})
2153		}
2154		in.WantComma()
2155	}
2156	in.Delim('}')
2157	if isTopLevel {
2158		in.Consumed()
2159	}
2160}
2161func easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol23(out *jwriter.Writer, in AddPacksParams) {
2162	out.RawByte('{')
2163	first := true
2164	_ = first
2165	{
2166		const prefix string = ",\"packs\":"
2167		out.RawString(prefix[1:])
2168		if in.Packs == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
2169			out.RawString("null")
2170		} else {
2171			out.RawByte('[')
2172			for v20, v21 := range in.Packs {
2173				if v20 > 0 {
2174					out.RawByte(',')
2175				}
2176				easyjsonE4425964Encode(out, v21)
2177			}
2178			out.RawByte(']')
2179		}
2180	}
2181	out.RawByte('}')
2182}
2183
2184// MarshalJSON supports json.Marshaler interface
2185func (v AddPacksParams) MarshalJSON() ([]byte, error) {
2186	w := jwriter.Writer{}
2187	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol23(&w, v)
2188	return w.Buffer.BuildBytes(), w.Error
2189}
2190
2191// MarshalEasyJSON supports easyjson.Marshaler interface
2192func (v AddPacksParams) MarshalEasyJSON(w *jwriter.Writer) {
2193	easyjsonE4425964EncodeGithubComZikaerohCodiesInternalProtocol23(w, v)
2194}
2195
2196// UnmarshalJSON supports json.Unmarshaler interface
2197func (v *AddPacksParams) UnmarshalJSON(data []byte) error {
2198	r := jlexer.Lexer{Data: data}
2199	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol23(&r, v)
2200	return r.Error()
2201}
2202
2203// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
2204func (v *AddPacksParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
2205	easyjsonE4425964DecodeGithubComZikaerohCodiesInternalProtocol23(l, v)
2206}
2207func easyjsonE4425964Decode(in *jlexer.Lexer, out *struct {
2208	Name  string   `json:"name"`
2209	Words []string `json:"words"`
2210}) {
2211	isTopLevel := in.IsStart()
2212	if in.IsNull() {
2213		if isTopLevel {
2214			in.Consumed()
2215		}
2216		in.Skip()
2217		return
2218	}
2219	in.Delim('{')
2220	for !in.IsDelim('}') {
2221		key := in.UnsafeString()
2222		in.WantColon()
2223		if in.IsNull() {
2224			in.Skip()
2225			in.WantComma()
2226			continue
2227		}
2228		switch key {
2229		case "name":
2230			out.Name = string(in.String())
2231		case "words":
2232			if in.IsNull() {
2233				in.Skip()
2234				out.Words = nil
2235			} else {
2236				in.Delim('[')
2237				if out.Words == nil {
2238					if !in.IsDelim(']') {
2239						out.Words = make([]string, 0, 4)
2240					} else {
2241						out.Words = []string{}
2242					}
2243				} else {
2244					out.Words = (out.Words)[:0]
2245				}
2246				for !in.IsDelim(']') {
2247					var v22 string
2248					v22 = string(in.String())
2249					out.Words = append(out.Words, v22)
2250					in.WantComma()
2251				}
2252				in.Delim(']')
2253			}
2254		default:
2255			in.AddError(&jlexer.LexerError{
2256				Offset: in.GetPos(),
2257				Reason: "unknown field",
2258				Data:   key,
2259			})
2260		}
2261		in.WantComma()
2262	}
2263	in.Delim('}')
2264	if isTopLevel {
2265		in.Consumed()
2266	}
2267}
2268func easyjsonE4425964Encode(out *jwriter.Writer, in struct {
2269	Name  string   `json:"name"`
2270	Words []string `json:"words"`
2271}) {
2272	out.RawByte('{')
2273	first := true
2274	_ = first
2275	{
2276		const prefix string = ",\"name\":"
2277		out.RawString(prefix[1:])
2278		out.String(string(in.Name))
2279	}
2280	{
2281		const prefix string = ",\"words\":"
2282		out.RawString(prefix)
2283		if in.Words == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
2284			out.RawString("null")
2285		} else {
2286			out.RawByte('[')
2287			for v23, v24 := range in.Words {
2288				if v23 > 0 {
2289					out.RawByte(',')
2290				}
2291				out.String(string(v24))
2292			}
2293			out.RawByte(']')
2294		}
2295	}
2296	out.RawByte('}')
2297}