. M M N M M M M M M M M M    M M M  M   M M M & & & & & &  M   M     M MxooxI ConstantValueoxxoxoooxoxooxoxerrorooooZx7008Ljava/io/PrintWriter;xxo Lnetwork/X2;x9102Lplayer/Player;x7075oxo Lnetwork/X4;x2117x1030x8321x7041x2238x2159oooxx3308x95o7xooxx(Lplayer/Player;)VCodeLineNumberTableoxxoo"(Lplayer/Player;Lplayer/Player;Z)Voxxxx(Ljava/lang/String;)Vxooox()Zoxxxo()Vxxxoo+(Lplayer/Move;Lplayer/Player;)Lplayer/Move;xxooo(Lplayer/Player;Z)Vooxxo!(Lplayer/Player;Lplayer/Player;)Vooxoo(Lplayer/Move;Lplayer/Player;)Zoxoxo(I)Lnetwork/X5;oooox SourceFileX3.java nc oc u| [P \] j] k] l] g] network/X2 `a bc dcjava/lang/StringBuffer  is WHITE wx is BLACK h] i]%WHITE is using vertical x coordinates%BLACK is using vertical x coordinates network/X4 u ef network/X6 |  x  player/Move P P P P u P>>>>  <<<< WINS!  returned a null move, quitting. quits the game. }~ makes a move:  accuses  of cheating: Referee accuses  of cheating. U Current xxo is: x | BW X | ^_ mP network/X3java/lang/Object player/PlayermyNameLjava/lang/String;append,(Ljava/lang/String;)Ljava/lang/StringBuffer;toString()Ljava/lang/String;(Lnetwork/X2;)VsetFrame(Lnetwork/X4;)Vshowjava/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintlny1x1y2x2(IIII)VmoveKindcurrentTimeMillis()J chooseMove()Lplayer/Move;,(Ljava/lang/Object;)Ljava/lang/StringBuffer; opponentMove(Lplayer/Move;)Zxxxox(Lplayer/Move;I)Z Lnetwork/X1; network/X1ooxxx(Lplayer/Move;)Voxoox(Lnetwork/X5;)Vprintoooxx(II)I!MNOPQRSPQTUPQVWPQXYPQZ[P\] ^_`abcdcefg]h]i]j]k]l] mP nc oc pqrs" tqr6 **s%& ()uvrr******* * Y *+ *,*Y+*Y,*+ +*, ,* ** *I*Y* * * ***** sb+ ,"--/2074Q5k78:;=>?@ABCEwxr+* !+"s HIyzr*sL{|r[L*** *#*** #***$YM **%*$YM ** %s* PQ RT$U4X>YGZQ[Z\}~rjB,* *,*,*%&Y+'+(+)+*+N-+,,-+s_a6b>c@erE%*Y-+.*sij$lr /B+0:/7-*Y`*Y+1*,%,-*Y`*Y+2*,%*+3:*,3: *Y+45, 63**Y,7+85*+92*Y`*Y:+;*,%sZst u{|}8~>FPjpy r_3,* * +<> * +<>* *=+>s&1rE!* ?M,* *=,@,s |r!ABCL=y!DB>[* E3$*0FLGL HLIL!Y+HB!JB!C"sB DJPVYr{|r6KLs