diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1691f22 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +*.png filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore index c65a729..217d4f4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ venv/ __pycache__ +node_modules + diff --git a/realones/.gitignore b/realones/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/realones/003ad66b60914376912642fe8e6c5d35.svg b/realones/003ad66b60914376912642fe8e6c5d35.svg deleted file mode 100644 index 20456d6..0000000 --- a/realones/003ad66b60914376912642fe8e6c5d35.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/044db582c4ec4c299f38663767504afe.svg b/realones/044db582c4ec4c299f38663767504afe.svg deleted file mode 100644 index 518078d..0000000 --- a/realones/044db582c4ec4c299f38663767504afe.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/06abe81efb3041f3b4f83fe567cc86b8.svg b/realones/06abe81efb3041f3b4f83fe567cc86b8.svg deleted file mode 100644 index 54e9b3b..0000000 --- a/realones/06abe81efb3041f3b4f83fe567cc86b8.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/08ddf81ffdad48249149997d97be866d.svg b/realones/08ddf81ffdad48249149997d97be866d.svg deleted file mode 100644 index 354dc4d..0000000 --- a/realones/08ddf81ffdad48249149997d97be866d.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/0df90a4213cf4eec81b004632c8274a0.svg b/realones/0df90a4213cf4eec81b004632c8274a0.svg deleted file mode 100644 index b553f2c..0000000 --- a/realones/0df90a4213cf4eec81b004632c8274a0.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/0e619959ec2c487e9278fab6e5129362.svg b/realones/0e619959ec2c487e9278fab6e5129362.svg deleted file mode 100644 index 3b83ba0..0000000 --- a/realones/0e619959ec2c487e9278fab6e5129362.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/1.svg b/realones/1.svg deleted file mode 100644 index b0e06dc..0000000 --- a/realones/1.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/165f80868cd64ecd86025b6bf738f067.svg b/realones/165f80868cd64ecd86025b6bf738f067.svg deleted file mode 100644 index 334d00a..0000000 --- a/realones/165f80868cd64ecd86025b6bf738f067.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/1ca6b31d47894daea6a5339ad47f380f.svg b/realones/1ca6b31d47894daea6a5339ad47f380f.svg deleted file mode 100644 index 85c761f..0000000 --- a/realones/1ca6b31d47894daea6a5339ad47f380f.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/1e7455d333324309b30dc20ce892fcb7.svg b/realones/1e7455d333324309b30dc20ce892fcb7.svg deleted file mode 100644 index 19826aa..0000000 --- a/realones/1e7455d333324309b30dc20ce892fcb7.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/2.svg b/realones/2.svg deleted file mode 100644 index fd837c4..0000000 --- a/realones/2.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/216bc414b38a4e88bfc45cadd3765848.svg b/realones/216bc414b38a4e88bfc45cadd3765848.svg deleted file mode 100644 index a99ebac..0000000 --- a/realones/216bc414b38a4e88bfc45cadd3765848.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/221d92bf387340cabe9cca3cd3bb56f2.svg b/realones/221d92bf387340cabe9cca3cd3bb56f2.svg deleted file mode 100644 index d9b6901..0000000 --- a/realones/221d92bf387340cabe9cca3cd3bb56f2.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/29c23d77a807435e950ff743b6a03f6b.svg b/realones/29c23d77a807435e950ff743b6a03f6b.svg deleted file mode 100644 index 1731a1c..0000000 --- a/realones/29c23d77a807435e950ff743b6a03f6b.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/2b037f4c00af4dfa92df78cd8aa69dcf.svg b/realones/2b037f4c00af4dfa92df78cd8aa69dcf.svg deleted file mode 100644 index a5fba55..0000000 --- a/realones/2b037f4c00af4dfa92df78cd8aa69dcf.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/3.svg b/realones/3.svg deleted file mode 100644 index a5fba55..0000000 --- a/realones/3.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/4112db881a694b1393311237f05a5381.svg b/realones/4112db881a694b1393311237f05a5381.svg deleted file mode 100644 index 983053c..0000000 --- a/realones/4112db881a694b1393311237f05a5381.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/44e7e12f05eb4f9586828b18ca18a4a5.svg b/realones/44e7e12f05eb4f9586828b18ca18a4a5.svg deleted file mode 100644 index 5e0449c..0000000 --- a/realones/44e7e12f05eb4f9586828b18ca18a4a5.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/4fa4502dec254fee9a6ee426c614d10b.svg b/realones/4fa4502dec254fee9a6ee426c614d10b.svg deleted file mode 100644 index e2218a9..0000000 --- a/realones/4fa4502dec254fee9a6ee426c614d10b.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/511c0c525fad4547ab4b6674ad071021.svg b/realones/511c0c525fad4547ab4b6674ad071021.svg deleted file mode 100644 index 0670fcb..0000000 --- a/realones/511c0c525fad4547ab4b6674ad071021.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/5a31bb94224f45398309d81c294b98a3.svg b/realones/5a31bb94224f45398309d81c294b98a3.svg deleted file mode 100644 index 75b2d95..0000000 --- a/realones/5a31bb94224f45398309d81c294b98a3.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/5ad4480bce9b45a786a9bed834fac864.svg b/realones/5ad4480bce9b45a786a9bed834fac864.svg deleted file mode 100644 index 6f7fb55..0000000 --- a/realones/5ad4480bce9b45a786a9bed834fac864.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/5ff455ea3bba47c8a6197bb150c4902e.svg b/realones/5ff455ea3bba47c8a6197bb150c4902e.svg deleted file mode 100644 index c8760cb..0000000 --- a/realones/5ff455ea3bba47c8a6197bb150c4902e.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/6aa7c75e7f984eb592836ec754fadf06.svg b/realones/6aa7c75e7f984eb592836ec754fadf06.svg deleted file mode 100644 index 0670fcb..0000000 --- a/realones/6aa7c75e7f984eb592836ec754fadf06.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/6de108b58c4d4cf6aac066d5d1d49029.svg b/realones/6de108b58c4d4cf6aac066d5d1d49029.svg deleted file mode 100644 index b0e06dc..0000000 --- a/realones/6de108b58c4d4cf6aac066d5d1d49029.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/6e4613d7bb754705ba3414249ea053a7.svg b/realones/6e4613d7bb754705ba3414249ea053a7.svg deleted file mode 100644 index 857dad7..0000000 --- a/realones/6e4613d7bb754705ba3414249ea053a7.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/72d6922e203e4181b05be6a2c8e3217d.svg b/realones/72d6922e203e4181b05be6a2c8e3217d.svg deleted file mode 100644 index 6a9f792..0000000 --- a/realones/72d6922e203e4181b05be6a2c8e3217d.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/768753b974404bda940cd37d9a1d3495.svg b/realones/768753b974404bda940cd37d9a1d3495.svg deleted file mode 100644 index 727f9a8..0000000 --- a/realones/768753b974404bda940cd37d9a1d3495.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/76bff3ce38214f45ace99a5b5a9ee2e2.svg b/realones/76bff3ce38214f45ace99a5b5a9ee2e2.svg deleted file mode 100644 index 000c176..0000000 --- a/realones/76bff3ce38214f45ace99a5b5a9ee2e2.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/7d533c8319ce46be8013a63f241c4372.svg b/realones/7d533c8319ce46be8013a63f241c4372.svg deleted file mode 100644 index 70c505e..0000000 --- a/realones/7d533c8319ce46be8013a63f241c4372.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/7ead6304314b46568580da2564ff25e5.svg b/realones/7ead6304314b46568580da2564ff25e5.svg deleted file mode 100644 index 57c2ff6..0000000 --- a/realones/7ead6304314b46568580da2564ff25e5.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/81ba98aab04e4a9bb2dd30f3dc544ea0.svg b/realones/81ba98aab04e4a9bb2dd30f3dc544ea0.svg deleted file mode 100644 index e7ea5e9..0000000 --- a/realones/81ba98aab04e4a9bb2dd30f3dc544ea0.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/8307a82c86ee44e089a6d3f73ed10248.svg b/realones/8307a82c86ee44e089a6d3f73ed10248.svg deleted file mode 100644 index 071ec6f..0000000 --- a/realones/8307a82c86ee44e089a6d3f73ed10248.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/846770753b1a4186b66a887ff3beb81b.svg b/realones/846770753b1a4186b66a887ff3beb81b.svg deleted file mode 100644 index f3c6b41..0000000 --- a/realones/846770753b1a4186b66a887ff3beb81b.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/8977291f91c248d38fd3b767e247bedd.svg b/realones/8977291f91c248d38fd3b767e247bedd.svg deleted file mode 100644 index 0f29e08..0000000 --- a/realones/8977291f91c248d38fd3b767e247bedd.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/8bf674ba823144d196feadfd2ea7a311.svg b/realones/8bf674ba823144d196feadfd2ea7a311.svg deleted file mode 100644 index 653295d..0000000 --- a/realones/8bf674ba823144d196feadfd2ea7a311.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/9059296a1afa4bbb8ba74c3db2a34b4a.svg b/realones/9059296a1afa4bbb8ba74c3db2a34b4a.svg deleted file mode 100644 index 568bbdb..0000000 --- a/realones/9059296a1afa4bbb8ba74c3db2a34b4a.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/91fed077d0d3493ca4e7bc859c64bedc.svg b/realones/91fed077d0d3493ca4e7bc859c64bedc.svg deleted file mode 100644 index 5a0cd68..0000000 --- a/realones/91fed077d0d3493ca4e7bc859c64bedc.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/927273c3b0c94db296ec4826d0de94a9.svg b/realones/927273c3b0c94db296ec4826d0de94a9.svg deleted file mode 100644 index d7aeab4..0000000 --- a/realones/927273c3b0c94db296ec4826d0de94a9.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/94c44635e13b47f284eedfa89d7517a8.svg b/realones/94c44635e13b47f284eedfa89d7517a8.svg deleted file mode 100644 index c9d1e7d..0000000 --- a/realones/94c44635e13b47f284eedfa89d7517a8.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/94f627b1bd8242fd8a6e2f35eb216b1c.svg b/realones/94f627b1bd8242fd8a6e2f35eb216b1c.svg deleted file mode 100644 index 04ae451..0000000 --- a/realones/94f627b1bd8242fd8a6e2f35eb216b1c.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/a2477e2b08d54c34aeca5fb9e7ab6609.svg b/realones/a2477e2b08d54c34aeca5fb9e7ab6609.svg deleted file mode 100644 index b1eb2b4..0000000 --- a/realones/a2477e2b08d54c34aeca5fb9e7ab6609.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/a48fa3b9ae894611a0f14fbb243fd2ae.svg b/realones/a48fa3b9ae894611a0f14fbb243fd2ae.svg deleted file mode 100644 index ae7e22b..0000000 --- a/realones/a48fa3b9ae894611a0f14fbb243fd2ae.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/a6cfe1c4c3774bfc976c3069b44de068.svg b/realones/a6cfe1c4c3774bfc976c3069b44de068.svg deleted file mode 100644 index 7ae4b77..0000000 --- a/realones/a6cfe1c4c3774bfc976c3069b44de068.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/acc675a569324d3faceed732c6e39edd.svg b/realones/acc675a569324d3faceed732c6e39edd.svg deleted file mode 100644 index bf537cf..0000000 --- a/realones/acc675a569324d3faceed732c6e39edd.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/aec9bec7f15c414a8424d5959278c4ef.svg b/realones/aec9bec7f15c414a8424d5959278c4ef.svg deleted file mode 100644 index 3b1c67c..0000000 --- a/realones/aec9bec7f15c414a8424d5959278c4ef.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/af5cdc57376f4f4eb91f0fc12531278d.svg b/realones/af5cdc57376f4f4eb91f0fc12531278d.svg deleted file mode 100644 index 0648ac0..0000000 --- a/realones/af5cdc57376f4f4eb91f0fc12531278d.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/b138dc8ce1104ce0b4dd591ea28a13db.svg b/realones/b138dc8ce1104ce0b4dd591ea28a13db.svg deleted file mode 100644 index e50a66b..0000000 --- a/realones/b138dc8ce1104ce0b4dd591ea28a13db.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/ba29eaffc7d94a9fabac0d09e1ae00c8.svg b/realones/ba29eaffc7d94a9fabac0d09e1ae00c8.svg deleted file mode 100644 index c599673..0000000 --- a/realones/ba29eaffc7d94a9fabac0d09e1ae00c8.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/c0dde1c03dc24a59975abc72ca7c8db4.svg b/realones/c0dde1c03dc24a59975abc72ca7c8db4.svg deleted file mode 100644 index 08d117d..0000000 --- a/realones/c0dde1c03dc24a59975abc72ca7c8db4.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/c41ceb4575b945b789e48691fc516ada.svg b/realones/c41ceb4575b945b789e48691fc516ada.svg deleted file mode 100644 index 23ee468..0000000 --- a/realones/c41ceb4575b945b789e48691fc516ada.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/cca19b90600d4d0d9536ea461e56c53e.svg b/realones/cca19b90600d4d0d9536ea461e56c53e.svg deleted file mode 100644 index baabfb2..0000000 --- a/realones/cca19b90600d4d0d9536ea461e56c53e.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/cf020e09045f43e7a26104722c5e3f56.svg b/realones/cf020e09045f43e7a26104722c5e3f56.svg deleted file mode 100644 index 15519cc..0000000 --- a/realones/cf020e09045f43e7a26104722c5e3f56.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/d8f48605a49b4563842d07695f1528a2.svg b/realones/d8f48605a49b4563842d07695f1528a2.svg deleted file mode 100644 index fd837c4..0000000 --- a/realones/d8f48605a49b4563842d07695f1528a2.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/e17d568b029644d48fb2df2ffbd29eeb.svg b/realones/e17d568b029644d48fb2df2ffbd29eeb.svg deleted file mode 100644 index 4a79ff8..0000000 --- a/realones/e17d568b029644d48fb2df2ffbd29eeb.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/e4f1c0af8da54cb79e0eeda4f171f0af.svg b/realones/e4f1c0af8da54cb79e0eeda4f171f0af.svg deleted file mode 100644 index 794cf66..0000000 --- a/realones/e4f1c0af8da54cb79e0eeda4f171f0af.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/e5344001f9e241d894586aeb09fb5ed6.svg b/realones/e5344001f9e241d894586aeb09fb5ed6.svg deleted file mode 100644 index 9237366..0000000 --- a/realones/e5344001f9e241d894586aeb09fb5ed6.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/e5b63ab1f346435d931dd1e82bd4a0a8.svg b/realones/e5b63ab1f346435d931dd1e82bd4a0a8.svg deleted file mode 100644 index 256b99e..0000000 --- a/realones/e5b63ab1f346435d931dd1e82bd4a0a8.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/e9db294660c346b4817ca532118b1abf.svg b/realones/e9db294660c346b4817ca532118b1abf.svg deleted file mode 100644 index d460680..0000000 --- a/realones/e9db294660c346b4817ca532118b1abf.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/ec7071b582204d18ab1437f51ff2e0db.svg b/realones/ec7071b582204d18ab1437f51ff2e0db.svg deleted file mode 100644 index eb8231c..0000000 --- a/realones/ec7071b582204d18ab1437f51ff2e0db.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/f59ee563d223447aa58e4aeaffbad292.svg b/realones/f59ee563d223447aa58e4aeaffbad292.svg deleted file mode 100644 index e1a6eb2..0000000 --- a/realones/f59ee563d223447aa58e4aeaffbad292.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/ffa33421c6e441a9bacaa9d61d67baaf.svg b/realones/ffa33421c6e441a9bacaa9d61d67baaf.svg deleted file mode 100644 index ffe5c5a..0000000 --- a/realones/ffa33421c6e441a9bacaa9d61d67baaf.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/realones/mt_server.log b/realones/mt_server.log deleted file mode 100644 index d606aee..0000000 --- a/realones/mt_server.log +++ /dev/null @@ -1,3641 +0,0 @@ -New client connected -recieve: {"action":"move","direction":[168,127]} -recieve: {"action":"move","direction":[154,135]} -recieve: {"action":"move","direction":[134,152]} -recieve: {"action":"move","direction":[101,177]} -recieve: {"action":"move","direction":[92,187]} -recieve: {"action":"move","direction":[104,229]} -recieve: {"action":"move","direction":[139,219]} -recieve: {"action":"move","direction":[189,200]} -recieve: {"action":"move","direction":[291,142]} -recieve: {"action":"move","direction":[303,135]} -recieve: {"action":"move","direction":[304,135]} -recieve: {"action":"move","direction":[304,137]} -recieve: {"action":"move","direction":[242,224]} -recieve: {"action":"move","direction":[210,269]} -recieve: {"action":"move","direction":[191,297]} -recieve: {"action":"move","direction":[190,300]} -recieve: {"action":"move","direction":[191,300]} -recieve: {"action":"move","direction":[432,255]} -recieve: {"action":"move","direction":[453,253]} -recieve: {"action":"move","direction":[455,254]} -recieve: {"action":"move","direction":[450,262]} -recieve: {"action":"move","direction":[425,279]} -recieve: {"action":"move","direction":[318,352]} -recieve: {"action":"move","direction":[317,353]} -recieve: {"action":"move","direction":[326,351]} -recieve: {"action":"move","direction":[354,341]} -recieve: {"action":"move","direction":[417,322]} -recieve: {"action":"move","direction":[441,320]} -recieve: {"action":"move","direction":[444,320]} -recieve: {"action":"move","direction":[431,333]} -recieve: {"action":"move","direction":[410,366]} -recieve: {"action":"move","direction":[387,393]} -recieve: {"action":"move","direction":[382,396]} -recieve: {"action":"move","direction":[380,397]} -recieve: {"action":"move","direction":[379,397]} -recieve: {"action":"move","direction":[380,390]} -recieve: {"action":"move","direction":[380,380]} -recieve: {"action":"move","direction":[382,375]} -recieve: {"action":"move","direction":[386,372]} -recieve: {"action":"move","direction":[403,359]} -recieve: {"action":"move","direction":[407,352]} -recieve: {"action":"move","direction":[411,342]} -recieve: {"action":"move","direction":[416,335]} -recieve: {"action":"move","direction":[422,319]} -recieve: {"action":"move","direction":[421,319]} -recieve: {"action":"move","direction":[420,319]} -recieve: {"action":"move","direction":[419,320]} -recieve: {"action":"move","direction":[419,323]} -recieve: {"action":"move","direction":[419,326]} -recieve: {"action":"move","direction":[419,329]} -recieve: {"action":"move","direction":[421,333]} -recieve: {"action":"move","direction":[424,340]} -recieve: {"action":"move","direction":[429,362]} -recieve: {"action":"move","direction":[427,369]} -recieve: {"action":"move","direction":[426,375]} -recieve: {"action":"move","direction":[424,378]} -recieve: {"action":"move","direction":[417,387]} -recieve: {"action":"move","direction":[412,391]} -recieve: {"action":"move","direction":[411,392]} -recieve: {"action":"move","direction":[403,398]} -recieve: {"action":"move","direction":[385,405]} -recieve: {"action":"move","direction":[369,413]} -recieve: {"action":"move","direction":[364,417]} -recieve: {"action":"move","direction":[358,419]} -recieve: {"action":"move","direction":[356,420]} -recieve: {"action":"move","direction":[345,420]} -recieve: {"action":"move","direction":[340,422]} -recieve: {"action":"move","direction":[337,422]} -recieve: {"action":"move","direction":[335,422]} -recieve: {"action":"move","direction":[331,422]} -recieve: {"action":"move","direction":[330,422]} -recieve: {"action":"move","direction":[328,423]} -recieve: {"action":"move","direction":[326,425]} -recieve: {"action":"move","direction":[324,426]} -recieve: {"action":"up","direction":[325,426]} -up: {'action': 'up', 'direction': [325, 426]} -Client disconnected -New client connected -Client disconnected -New client connected -Client disconnected -New client connected -recieve: {"action":"move","direction":[146,149]} -recieve: {"action":"move","direction":[146,150]} -recieve: {"action":"move","direction":[146,151]} -recieve: {"action":"move","direction":[147,152]} -recieve: {"action":"move","direction":[147,153]} -recieve: {"action":"move","direction":[147,154]} -recieve: {"action":"move","direction":[147,155]} -recieve: {"action":"move","direction":[148,156]} -recieve: {"action":"move","direction":[148,157]} -recieve: {"action":"move","direction":[148,158]} -recieve: {"action":"move","direction":[148,159]} -recieve: {"action":"move","direction":[149,160]} -recieve: {"action":"move","direction":[149,161]} -recieve: {"action":"move","direction":[149,162]} -recieve: {"action":"move","direction":[149,163]} -recieve: {"action":"move","direction":[149,164]} -recieve: {"action":"move","direction":[149,165]} -recieve: {"action":"move","direction":[149,166]} -recieve: {"action":"move","direction":[149,167]} -recieve: {"action":"move","direction":[149,168]} -recieve: {"action":"move","direction":[150,168]} -recieve: {"action":"move","direction":[150,169]} -recieve: {"action":"move","direction":[150,170]} -recieve: {"action":"move","direction":[150,171]} -recieve: {"action":"move","direction":[150,172]} -recieve: {"action":"move","direction":[150,173]} -recieve: {"action":"move","direction":[150,174]} -recieve: {"action":"move","direction":[150,175]} -recieve: {"action":"move","direction":[150,176]} -recieve: {"action":"move","direction":[150,177]} -recieve: {"action":"move","direction":[150,178]} -recieve: {"action":"move","direction":[150,179]} -recieve: {"action":"move","direction":[150,180]} -recieve: {"action":"move","direction":[150,181]} -recieve: {"action":"move","direction":[150,182]} -recieve: {"action":"move","direction":[149,182]} -recieve: {"action":"move","direction":[149,183]} -recieve: {"action":"move","direction":[148,183]} -recieve: {"action":"move","direction":[148,184]} -recieve: {"action":"move","direction":[148,185]} -recieve: {"action":"move","direction":[147,185]} -recieve: {"action":"move","direction":[147,186]} -recieve: {"action":"move","direction":[147,187]} -recieve: {"action":"move","direction":[147,188]} -recieve: {"action":"move","direction":[146,188]} -recieve: {"action":"move","direction":[146,189]} -recieve: {"action":"move","direction":[146,190]} -recieve: {"action":"move","direction":[146,191]} -recieve: {"action":"move","direction":[146,192]} -recieve: {"action":"move","direction":[146,193]} -recieve: {"action":"move","direction":[145,193]} -recieve: {"action":"move","direction":[145,194]} -recieve: {"action":"move","direction":[145,195]} -recieve: {"action":"move","direction":[145,196]} -recieve: {"action":"move","direction":[145,197]} -recieve: {"action":"move","direction":[145,198]} -recieve: {"action":"move","direction":[145,199]} -recieve: {"action":"move","direction":[145,200]} -recieve: {"action":"move","direction":[145,201]} -recieve: {"action":"move","direction":[145,202]} -recieve: {"action":"move","direction":[145,203]} -recieve: {"action":"move","direction":[145,204]} -recieve: {"action":"move","direction":[145,205]} -recieve: {"action":"move","direction":[145,206]} -recieve: {"action":"move","direction":[145,207]} -recieve: {"action":"move","direction":[145,208]} -recieve: {"action":"move","direction":[145,209]} -recieve: {"action":"move","direction":[145,210]} -recieve: {"action":"move","direction":[145,211]} -recieve: {"action":"move","direction":[145,212]} -recieve: {"action":"move","direction":[145,213]} -recieve: {"action":"move","direction":[145,214]} -recieve: {"action":"move","direction":[145,215]} -recieve: {"action":"move","direction":[145,216]} -recieve: {"action":"move","direction":[145,217]} -recieve: {"action":"move","direction":[145,218]} -recieve: {"action":"move","direction":[144,219]} -recieve: {"action":"move","direction":[144,220]} -recieve: {"action":"move","direction":[144,221]} -recieve: {"action":"move","direction":[144,222]} -recieve: {"action":"move","direction":[144,223]} -recieve: {"action":"move","direction":[144,224]} -recieve: {"action":"move","direction":[144,225]} -recieve: {"action":"move","direction":[143,225]} -recieve: {"action":"move","direction":[143,226]} -recieve: {"action":"move","direction":[143,227]} -recieve: {"action":"move","direction":[143,228]} -recieve: {"action":"move","direction":[143,229]} -recieve: {"action":"move","direction":[142,229]} -recieve: {"action":"move","direction":[142,230]} -recieve: {"action":"move","direction":[142,231]} -recieve: {"action":"move","direction":[142,232]} -recieve: {"action":"move","direction":[142,233]} -recieve: {"action":"move","direction":[142,234]} -recieve: {"action":"move","direction":[142,235]} -recieve: {"action":"move","direction":[142,236]} -recieve: {"action":"move","direction":[142,237]} -recieve: {"action":"move","direction":[142,238]} -recieve: {"action":"move","direction":[142,239]} -recieve: {"action":"move","direction":[142,240]} -recieve: {"action":"move","direction":[142,241]} -recieve: {"action":"move","direction":[142,242]} -recieve: {"action":"move","direction":[142,243]} -recieve: {"action":"move","direction":[142,244]} -recieve: {"action":"move","direction":[142,245]} -recieve: {"action":"move","direction":[142,246]} -recieve: {"action":"move","direction":[142,247]} -recieve: {"action":"move","direction":[143,247]} -recieve: {"action":"move","direction":[143,248]} -recieve: {"action":"move","direction":[144,249]} -recieve: {"action":"move","direction":[144,250]} -recieve: {"action":"move","direction":[144,251]} -recieve: {"action":"move","direction":[144,252]} -recieve: {"action":"move","direction":[144,253]} -recieve: {"action":"move","direction":[145,254]} -recieve: {"action":"move","direction":[145,255]} -recieve: {"action":"move","direction":[145,256]} -recieve: {"action":"move","direction":[145,257]} -recieve: {"action":"move","direction":[145,258]} -recieve: {"action":"move","direction":[145,259]} -recieve: {"action":"move","direction":[145,260]} -recieve: {"action":"move","direction":[144,260]} -recieve: {"action":"move","direction":[144,261]} -recieve: {"action":"move","direction":[144,262]} -recieve: {"action":"move","direction":[144,263]} -recieve: {"action":"move","direction":[144,264]} -recieve: {"action":"move","direction":[144,265]} -recieve: {"action":"move","direction":[144,266]} -recieve: {"action":"move","direction":[144,267]} -recieve: {"action":"move","direction":[144,268]} -recieve: {"action":"move","direction":[144,269]} -recieve: {"action":"move","direction":[144,270]} -recieve: {"action":"move","direction":[144,271]} -recieve: {"action":"move","direction":[144,272]} -recieve: {"action":"move","direction":[144,273]} -recieve: {"action":"move","direction":[144,274]} -recieve: {"action":"move","direction":[144,275]} -recieve: {"action":"move","direction":[144,276]} -recieve: {"action":"move","direction":[144,277]} -recieve: {"action":"move","direction":[144,278]} -recieve: {"action":"move","direction":[144,279]} -recieve: {"action":"move","direction":[143,279]} -recieve: {"action":"move","direction":[143,281]} -recieve: {"action":"move","direction":[143,282]} -recieve: {"action":"move","direction":[142,283]} -recieve: {"action":"move","direction":[142,284]} -recieve: {"action":"move","direction":[142,285]} -recieve: {"action":"move","direction":[142,286]} -recieve: {"action":"move","direction":[142,287]} -recieve: {"action":"move","direction":[142,288]} -recieve: {"action":"move","direction":[142,289]} -recieve: {"action":"move","direction":[142,290]} -recieve: {"action":"move","direction":[142,291]} -recieve: {"action":"move","direction":[142,292]} -recieve: {"action":"move","direction":[142,293]} -recieve: {"action":"move","direction":[142,294]} -recieve: {"action":"move","direction":[142,295]} -recieve: {"action":"move","direction":[142,296]} -recieve: {"action":"move","direction":[142,297]} -recieve: {"action":"move","direction":[143,297]} -recieve: {"action":"move","direction":[143,298]} -recieve: {"action":"move","direction":[143,299]} -recieve: {"action":"move","direction":[143,300]} -recieve: {"action":"move","direction":[144,300]} -recieve: {"action":"move","direction":[144,301]} -recieve: {"action":"move","direction":[144,302]} -recieve: {"action":"move","direction":[144,303]} -recieve: {"action":"move","direction":[145,303]} -recieve: {"action":"move","direction":[145,304]} -recieve: {"action":"move","direction":[145,305]} -recieve: {"action":"move","direction":[146,305]} -recieve: {"action":"move","direction":[146,306]} -recieve: {"action":"move","direction":[146,307]} -recieve: {"action":"move","direction":[146,308]} -recieve: {"action":"move","direction":[146,309]} -recieve: {"action":"move","direction":[146,310]} -recieve: {"action":"move","direction":[146,311]} -recieve: {"action":"move","direction":[146,312]} -recieve: {"action":"move","direction":[146,313]} -recieve: {"action":"move","direction":[146,314]} -recieve: {"action":"move","direction":[146,315]} -recieve: {"action":"move","direction":[146,316]} -recieve: {"action":"move","direction":[146,317]} -recieve: {"action":"move","direction":[146,318]} -recieve: {"action":"move","direction":[146,319]} -recieve: {"action":"move","direction":[146,320]} -recieve: {"action":"move","direction":[146,321]} -recieve: {"action":"move","direction":[146,322]} -recieve: {"action":"move","direction":[146,323]} -recieve: {"action":"move","direction":[146,324]} -recieve: {"action":"move","direction":[146,325]} -recieve: {"action":"move","direction":[145,325]} -recieve: {"action":"move","direction":[145,326]} -recieve: {"action":"move","direction":[145,327]} -recieve: {"action":"move","direction":[145,328]} -recieve: {"action":"move","direction":[145,329]} -recieve: {"action":"move","direction":[145,330]} -recieve: {"action":"move","direction":[145,331]} -recieve: {"action":"move","direction":[145,332]} -recieve: {"action":"move","direction":[145,333]} -recieve: {"action":"move","direction":[144,333]} -recieve: {"action":"move","direction":[144,334]} -recieve: {"action":"move","direction":[144,335]} -recieve: {"action":"move","direction":[144,336]} -recieve: {"action":"move","direction":[144,337]} -recieve: {"action":"move","direction":[143,337]} -recieve: {"action":"move","direction":[143,338]} -recieve: {"action":"move","direction":[143,339]} -recieve: {"action":"move","direction":[143,340]} -recieve: {"action":"move","direction":[143,341]} -recieve: {"action":"move","direction":[143,342]} -recieve: {"action":"move","direction":[143,343]} -recieve: {"action":"move","direction":[143,344]} -recieve: {"action":"move","direction":[143,345]} -recieve: {"action":"move","direction":[143,346]} -recieve: {"action":"move","direction":[143,347]} -recieve: {"action":"move","direction":[143,348]} -recieve: {"action":"move","direction":[143,349]} -recieve: {"action":"move","direction":[143,350]} -recieve: {"action":"move","direction":[143,351]} -recieve: {"action":"move","direction":[143,352]} -recieve: {"action":"move","direction":[143,353]} -recieve: {"action":"move","direction":[143,354]} -recieve: {"action":"move","direction":[143,355]} -recieve: {"action":"move","direction":[143,356]} -recieve: {"action":"move","direction":[143,357]} -recieve: {"action":"move","direction":[144,357]} -recieve: {"action":"move","direction":[144,358]} -recieve: {"action":"move","direction":[144,359]} -recieve: {"action":"move","direction":[144,360]} -recieve: {"action":"move","direction":[144,361]} -recieve: {"action":"move","direction":[145,361]} -recieve: {"action":"move","direction":[145,362]} -recieve: {"action":"move","direction":[145,363]} -recieve: {"action":"move","direction":[146,363]} -recieve: {"action":"move","direction":[146,364]} -recieve: {"action":"move","direction":[146,365]} -recieve: {"action":"move","direction":[146,366]} -recieve: {"action":"move","direction":[146,367]} -recieve: {"action":"move","direction":[147,367]} -recieve: {"action":"move","direction":[147,368]} -recieve: {"action":"move","direction":[147,369]} -recieve: {"action":"move","direction":[147,370]} -recieve: {"action":"move","direction":[148,370]} -recieve: {"action":"move","direction":[148,371]} -recieve: {"action":"move","direction":[148,372]} -recieve: {"action":"move","direction":[148,373]} -recieve: {"action":"move","direction":[148,374]} -recieve: {"action":"move","direction":[148,375]} -recieve: {"action":"move","direction":[148,376]} -recieve: {"action":"move","direction":[148,377]} -recieve: {"action":"move","direction":[148,378]} -recieve: {"action":"move","direction":[148,379]} -recieve: {"action":"move","direction":[147,379]} -recieve: {"action":"move","direction":[147,380]} -recieve: {"action":"move","direction":[147,381]} -recieve: {"action":"move","direction":[147,382]} -recieve: {"action":"move","direction":[147,383]} -recieve: {"action":"move","direction":[147,384]} -recieve: {"action":"move","direction":[147,385]} -recieve: {"action":"move","direction":[147,386]} -recieve: {"action":"move","direction":[147,387]} -recieve: {"action":"move","direction":[146,388]} -recieve: {"action":"move","direction":[146,389]} -recieve: {"action":"move","direction":[146,390]} -recieve: {"action":"move","direction":[146,391]} -recieve: {"action":"move","direction":[146,392]} -recieve: {"action":"move","direction":[146,393]} -recieve: {"action":"move","direction":[146,394]} -recieve: {"action":"move","direction":[146,395]} -recieve: {"action":"move","direction":[146,396]} -recieve: {"action":"move","direction":[146,397]} -recieve: {"action":"move","direction":[146,398]} -recieve: {"action":"move","direction":[146,399]} -recieve: {"action":"move","direction":[146,400]} -recieve: {"action":"move","direction":[146,401]} -recieve: {"action":"move","direction":[146,402]} -recieve: {"action":"move","direction":[146,403]} -recieve: {"action":"move","direction":[146,404]} -recieve: {"action":"move","direction":[146,405]} -recieve: {"action":"move","direction":[146,406]} -recieve: {"action":"move","direction":[146,407]} -recieve: {"action":"move","direction":[146,409]} -recieve: {"action":"move","direction":[146,411]} -recieve: {"action":"move","direction":[146,413]} -recieve: {"action":"move","direction":[145,416]} -recieve: {"action":"move","direction":[145,417]} -recieve: {"action":"move","direction":[145,419]} -recieve: {"action":"move","direction":[144,420]} -recieve: {"action":"move","direction":[144,421]} -recieve: {"action":"move","direction":[144,423]} -recieve: {"action":"move","direction":[144,425]} -recieve: {"action":"move","direction":[144,427]} -recieve: {"action":"move","direction":[144,428]} -recieve: {"action":"move","direction":[144,429]} -recieve: {"action":"move","direction":[144,430]} -recieve: {"action":"move","direction":[144,431]} -recieve: {"action":"move","direction":[144,432]} -recieve: {"action":"move","direction":[144,433]} -recieve: {"action":"move","direction":[144,434]} -recieve: {"action":"move","direction":[144,435]} -recieve: {"action":"move","direction":[144,436]} -recieve: {"action":"move","direction":[144,437]} -recieve: {"action":"move","direction":[144,438]} -recieve: {"action":"move","direction":[143,439]} -recieve: {"action":"move","direction":[143,440]} -recieve: {"action":"move","direction":[143,441]} -recieve: {"action":"move","direction":[143,442]} -recieve: {"action":"move","direction":[143,443]} -recieve: {"action":"move","direction":[144,443]} -recieve: {"action":"move","direction":[144,444]} -recieve: {"action":"move","direction":[145,444]} -recieve: {"action":"move","direction":[145,445]} -recieve: {"action":"move","direction":[146,445]} -recieve: {"action":"move","direction":[146,446]} -recieve: {"action":"move","direction":[147,446]} -recieve: {"action":"move","direction":[147,447]} -recieve: {"action":"move","direction":[148,447]} -recieve: {"action":"move","direction":[149,447]} -recieve: {"action":"move","direction":[149,448]} -recieve: {"action":"move","direction":[150,448]} -recieve: {"action":"move","direction":[150,449]} -recieve: {"action":"move","direction":[151,449]} -recieve: {"action":"move","direction":[151,450]} -recieve: {"action":"move","direction":[152,450]} -recieve: {"action":"move","direction":[153,450]} -recieve: {"action":"move","direction":[154,450]} -recieve: {"action":"move","direction":[154,449]} -recieve: {"action":"move","direction":[155,449]} -recieve: {"action":"move","direction":[156,449]} -recieve: {"action":"move","direction":[158,449]} -recieve: {"action":"move","direction":[161,450]} -recieve: {"action":"move","direction":[164,450]} -recieve: {"action":"move","direction":[166,450]} -recieve: {"action":"move","direction":[168,450]} -recieve: {"action":"move","direction":[170,450]} -recieve: {"action":"move","direction":[172,450]} -recieve: {"action":"move","direction":[173,451]} -recieve: {"action":"move","direction":[174,451]} -recieve: {"action":"move","direction":[175,451]} -recieve: {"action":"move","direction":[176,451]} -recieve: {"action":"move","direction":[177,451]} -recieve: {"action":"move","direction":[178,451]} -recieve: {"action":"move","direction":[179,451]} -recieve: {"action":"move","direction":[180,451]} -recieve: {"action":"move","direction":[181,451]} -recieve: {"action":"move","direction":[182,450]} -recieve: {"action":"move","direction":[183,450]} -recieve: {"action":"move","direction":[184,450]} -recieve: {"action":"move","direction":[185,450]} -recieve: {"action":"move","direction":[186,450]} -recieve: {"action":"move","direction":[187,450]} -recieve: {"action":"move","direction":[188,450]} -recieve: {"action":"move","direction":[189,450]} -recieve: {"action":"move","direction":[190,450]} -recieve: {"action":"move","direction":[191,450]} -recieve: {"action":"move","direction":[192,450]} -recieve: {"action":"move","direction":[193,450]} -recieve: {"action":"move","direction":[194,450]} -recieve: {"action":"move","direction":[195,450]} -recieve: {"action":"move","direction":[195,449]} -recieve: {"action":"move","direction":[196,449]} -recieve: {"action":"move","direction":[197,449]} -recieve: {"action":"move","direction":[198,449]} -recieve: {"action":"move","direction":[200,449]} -recieve: {"action":"move","direction":[202,449]} -recieve: {"action":"move","direction":[204,449]} -recieve: {"action":"move","direction":[206,449]} -recieve: {"action":"move","direction":[208,449]} -recieve: {"action":"move","direction":[209,449]} -recieve: {"action":"move","direction":[210,449]} -recieve: {"action":"move","direction":[212,449]} -recieve: {"action":"move","direction":[213,449]} -recieve: {"action":"move","direction":[215,449]} -recieve: {"action":"move","direction":[216,449]} -recieve: {"action":"move","direction":[217,449]} -recieve: {"action":"move","direction":[218,449]} -recieve: {"action":"move","direction":[219,449]} -recieve: {"action":"move","direction":[219,450]} -recieve: {"action":"move","direction":[220,450]} -recieve: {"action":"move","direction":[221,450]} -recieve: {"action":"move","direction":[222,450]} -recieve: {"action":"move","direction":[223,450]} -recieve: {"action":"move","direction":[224,450]} -recieve: {"action":"move","direction":[225,450]} -recieve: {"action":"move","direction":[226,450]} -recieve: {"action":"move","direction":[227,450]} -recieve: {"action":"move","direction":[228,450]} -recieve: {"action":"move","direction":[229,450]} -recieve: {"action":"move","direction":[230,450]} -recieve: {"action":"move","direction":[232,450]} -recieve: {"action":"move","direction":[233,450]} -recieve: {"action":"move","direction":[234,450]} -recieve: {"action":"move","direction":[235,450]} -recieve: {"action":"move","direction":[236,450]} -recieve: {"action":"move","direction":[237,450]} -recieve: {"action":"move","direction":[238,451]} -recieve: {"action":"move","direction":[240,451]} -recieve: {"action":"move","direction":[241,451]} -recieve: {"action":"move","direction":[243,451]} -recieve: {"action":"move","direction":[245,451]} -recieve: {"action":"move","direction":[246,451]} -recieve: {"action":"move","direction":[248,452]} -recieve: {"action":"move","direction":[249,452]} -recieve: {"action":"move","direction":[250,452]} -recieve: {"action":"move","direction":[251,452]} -recieve: {"action":"move","direction":[252,452]} -recieve: {"action":"move","direction":[253,452]} -recieve: {"action":"move","direction":[254,452]} -recieve: {"action":"move","direction":[255,452]} -recieve: {"action":"move","direction":[256,452]} -recieve: {"action":"move","direction":[257,452]} -recieve: {"action":"move","direction":[258,452]} -recieve: {"action":"move","direction":[259,452]} -recieve: {"action":"move","direction":[260,452]} -recieve: {"action":"move","direction":[261,452]} -recieve: {"action":"move","direction":[262,452]} -recieve: {"action":"move","direction":[263,452]} -recieve: {"action":"move","direction":[264,452]} -recieve: {"action":"move","direction":[265,452]} -recieve: {"action":"move","direction":[266,452]} -recieve: {"action":"move","direction":[268,452]} -recieve: {"action":"move","direction":[270,452]} -recieve: {"action":"move","direction":[271,452]} -recieve: {"action":"move","direction":[272,452]} -recieve: {"action":"move","direction":[273,452]} -recieve: {"action":"move","direction":[274,452]} -recieve: {"action":"move","direction":[275,452]} -recieve: {"action":"move","direction":[276,452]} -recieve: {"action":"move","direction":[277,452]} -recieve: {"action":"move","direction":[277,453]} -recieve: {"action":"move","direction":[278,453]} -recieve: {"action":"move","direction":[279,453]} -recieve: {"action":"move","direction":[281,453]} -recieve: {"action":"move","direction":[284,453]} -recieve: {"action":"move","direction":[285,453]} -recieve: {"action":"move","direction":[287,454]} -recieve: {"action":"move","direction":[289,454]} -recieve: {"action":"move","direction":[290,454]} -recieve: {"action":"move","direction":[291,454]} -recieve: {"action":"move","direction":[292,454]} -recieve: {"action":"move","direction":[293,454]} -recieve: {"action":"move","direction":[295,454]} -recieve: {"action":"move","direction":[296,454]} -recieve: {"action":"move","direction":[297,454]} -recieve: {"action":"move","direction":[298,454]} -recieve: {"action":"move","direction":[299,454]} -recieve: {"action":"move","direction":[299,455]} -recieve: {"action":"move","direction":[300,455]} -recieve: {"action":"move","direction":[301,455]} -recieve: {"action":"move","direction":[302,455]} -recieve: {"action":"move","direction":[303,455]} -recieve: {"action":"move","direction":[304,455]} -recieve: {"action":"move","direction":[305,455]} -recieve: {"action":"move","direction":[306,455]} -recieve: {"action":"move","direction":[307,455]} -recieve: {"action":"move","direction":[308,455]} -recieve: {"action":"move","direction":[309,455]} -recieve: {"action":"move","direction":[310,455]} -recieve: {"action":"move","direction":[311,454]} -recieve: {"action":"move","direction":[312,454]} -recieve: {"action":"move","direction":[313,454]} -recieve: {"action":"move","direction":[314,454]} -recieve: {"action":"move","direction":[315,454]} -recieve: {"action":"move","direction":[316,454]} -recieve: {"action":"move","direction":[317,454]} -recieve: {"action":"move","direction":[318,454]} -recieve: {"action":"move","direction":[318,453]} -recieve: {"action":"move","direction":[320,453]} -recieve: {"action":"move","direction":[321,453]} -recieve: {"action":"move","direction":[322,453]} -recieve: {"action":"move","direction":[324,453]} -recieve: {"action":"move","direction":[326,453]} -recieve: {"action":"move","direction":[328,453]} -recieve: {"action":"move","direction":[329,453]} -recieve: {"action":"move","direction":[329,452]} -recieve: {"action":"move","direction":[331,452]} -recieve: {"action":"move","direction":[332,452]} -recieve: {"action":"move","direction":[333,452]} -recieve: {"action":"move","direction":[334,452]} -recieve: {"action":"move","direction":[335,452]} -recieve: {"action":"move","direction":[336,452]} -recieve: {"action":"move","direction":[337,452]} -recieve: {"action":"move","direction":[338,452]} -recieve: {"action":"move","direction":[339,452]} -recieve: {"action":"move","direction":[340,452]} -recieve: {"action":"move","direction":[341,452]} -recieve: {"action":"move","direction":[343,451]} -recieve: {"action":"move","direction":[345,451]} -recieve: {"action":"move","direction":[346,451]} -recieve: {"action":"move","direction":[348,451]} -recieve: {"action":"move","direction":[350,451]} -recieve: {"action":"move","direction":[352,451]} -recieve: {"action":"move","direction":[353,451]} -recieve: {"action":"move","direction":[354,451]} -recieve: {"action":"move","direction":[355,451]} -recieve: {"action":"move","direction":[356,451]} -recieve: {"action":"move","direction":[357,451]} -recieve: {"action":"move","direction":[358,451]} -recieve: {"action":"move","direction":[358,452]} -recieve: {"action":"move","direction":[359,452]} -recieve: {"action":"move","direction":[360,452]} -recieve: {"action":"move","direction":[361,452]} -recieve: {"action":"move","direction":[362,452]} -recieve: {"action":"move","direction":[363,452]} -recieve: {"action":"move","direction":[364,452]} -recieve: {"action":"move","direction":[365,452]} -recieve: {"action":"move","direction":[366,452]} -recieve: {"action":"move","direction":[367,452]} -recieve: {"action":"move","direction":[368,452]} -recieve: {"action":"move","direction":[369,452]} -recieve: {"action":"move","direction":[370,452]} -recieve: {"action":"move","direction":[371,452]} -recieve: {"action":"move","direction":[372,452]} -recieve: {"action":"move","direction":[373,452]} -recieve: {"action":"move","direction":[374,452]} -recieve: {"action":"move","direction":[375,452]} -recieve: {"action":"move","direction":[376,452]} -recieve: {"action":"move","direction":[377,452]} -recieve: {"action":"move","direction":[378,452]} -recieve: {"action":"move","direction":[379,452]} -recieve: {"action":"move","direction":[380,452]} -recieve: {"action":"move","direction":[381,452]} -recieve: {"action":"move","direction":[383,452]} -recieve: {"action":"move","direction":[384,452]} -recieve: {"action":"move","direction":[386,452]} -recieve: {"action":"move","direction":[387,452]} -recieve: {"action":"move","direction":[388,452]} -recieve: {"action":"move","direction":[389,452]} -recieve: {"action":"move","direction":[390,452]} -recieve: {"action":"move","direction":[391,452]} -recieve: {"action":"move","direction":[392,452]} -recieve: {"action":"move","direction":[393,452]} -recieve: {"action":"move","direction":[394,452]} -recieve: {"action":"move","direction":[395,452]} -recieve: {"action":"move","direction":[396,452]} -recieve: {"action":"move","direction":[397,452]} -recieve: {"action":"move","direction":[398,452]} -recieve: {"action":"move","direction":[400,452]} -recieve: {"action":"move","direction":[401,452]} -recieve: {"action":"move","direction":[402,452]} -recieve: {"action":"move","direction":[403,452]} -recieve: {"action":"move","direction":[404,452]} -recieve: {"action":"move","direction":[405,452]} -recieve: {"action":"move","direction":[406,452]} -recieve: {"action":"move","direction":[407,452]} -recieve: {"action":"move","direction":[408,452]} -recieve: {"action":"move","direction":[410,452]} -recieve: {"action":"move","direction":[411,452]} -recieve: {"action":"move","direction":[412,452]} -recieve: {"action":"move","direction":[413,452]} -recieve: {"action":"move","direction":[414,452]} -recieve: {"action":"move","direction":[415,452]} -recieve: {"action":"move","direction":[416,452]} -recieve: {"action":"move","direction":[417,452]} -recieve: {"action":"move","direction":[418,452]} -recieve: {"action":"move","direction":[419,452]} -recieve: {"action":"move","direction":[420,452]} -recieve: {"action":"move","direction":[421,452]} -recieve: {"action":"move","direction":[422,453]} -recieve: {"action":"move","direction":[423,453]} -recieve: {"action":"move","direction":[424,453]} -recieve: {"action":"move","direction":[426,453]} -recieve: {"action":"move","direction":[428,453]} -recieve: {"action":"move","direction":[429,453]} -recieve: {"action":"move","direction":[431,453]} -recieve: {"action":"move","direction":[433,454]} -recieve: {"action":"move","direction":[436,454]} -recieve: {"action":"move","direction":[440,454]} -recieve: {"action":"move","direction":[444,454]} -recieve: {"action":"move","direction":[448,455]} -recieve: {"action":"move","direction":[450,455]} -recieve: {"action":"move","direction":[453,455]} -recieve: {"action":"move","direction":[455,455]} -recieve: {"action":"move","direction":[457,455]} -recieve: {"action":"move","direction":[458,456]} -recieve: {"action":"move","direction":[459,456]} -recieve: {"action":"move","direction":[458,456]} -recieve: {"action":"move","direction":[457,456]} -recieve: {"action":"move","direction":[456,455]} -recieve: {"action":"move","direction":[455,455]} -recieve: {"action":"move","direction":[454,455]} -recieve: {"action":"move","direction":[454,454]} -recieve: {"action":"move","direction":[453,454]} -recieve: {"action":"move","direction":[453,453]} -recieve: {"action":"move","direction":[452,453]} -recieve: {"action":"move","direction":[452,452]} -recieve: {"action":"move","direction":[451,452]} -recieve: {"action":"move","direction":[451,451]} -recieve: {"action":"move","direction":[450,451]} -recieve: {"action":"move","direction":[450,450]} -recieve: {"action":"move","direction":[450,449]} -recieve: {"action":"move","direction":[450,448]} -recieve: {"action":"move","direction":[450,447]} -recieve: {"action":"move","direction":[450,446]} -recieve: {"action":"move","direction":[451,446]} -recieve: {"action":"move","direction":[451,445]} -recieve: {"action":"move","direction":[451,444]} -recieve: {"action":"move","direction":[452,444]} -recieve: {"action":"move","direction":[452,443]} -recieve: {"action":"move","direction":[452,442]} -recieve: {"action":"move","direction":[452,441]} -recieve: {"action":"move","direction":[453,441]} -recieve: {"action":"move","direction":[453,440]} -recieve: {"action":"move","direction":[453,439]} -recieve: {"action":"move","direction":[454,438]} -recieve: {"action":"move","direction":[454,437]} -recieve: {"action":"move","direction":[455,437]} -recieve: {"action":"move","direction":[455,436]} -recieve: {"action":"move","direction":[455,435]} -recieve: {"action":"move","direction":[455,434]} -recieve: {"action":"move","direction":[455,433]} -recieve: {"action":"move","direction":[456,433]} -recieve: {"action":"move","direction":[456,432]} -recieve: {"action":"move","direction":[457,431]} -recieve: {"action":"move","direction":[457,430]} -recieve: {"action":"move","direction":[457,429]} -recieve: {"action":"move","direction":[458,429]} -recieve: {"action":"move","direction":[458,428]} -recieve: {"action":"move","direction":[458,427]} -recieve: {"action":"move","direction":[458,426]} -recieve: {"action":"move","direction":[458,425]} -recieve: {"action":"move","direction":[459,425]} -recieve: {"action":"move","direction":[459,424]} -recieve: {"action":"move","direction":[459,423]} -recieve: {"action":"move","direction":[459,422]} -recieve: {"action":"move","direction":[460,421]} -recieve: {"action":"move","direction":[460,420]} -recieve: {"action":"move","direction":[460,419]} -recieve: {"action":"move","direction":[460,418]} -recieve: {"action":"move","direction":[460,417]} -recieve: {"action":"move","direction":[460,416]} -recieve: {"action":"move","direction":[460,415]} -recieve: {"action":"move","direction":[460,414]} -recieve: {"action":"move","direction":[460,413]} -recieve: {"action":"move","direction":[460,412]} -recieve: {"action":"move","direction":[460,411]} -recieve: {"action":"move","direction":[460,410]} -recieve: {"action":"move","direction":[460,409]} -recieve: {"action":"move","direction":[459,409]} -recieve: {"action":"move","direction":[459,408]} -recieve: {"action":"move","direction":[459,407]} -recieve: {"action":"move","direction":[459,406]} -recieve: {"action":"move","direction":[458,406]} -recieve: {"action":"move","direction":[458,405]} -recieve: {"action":"move","direction":[458,404]} -recieve: {"action":"move","direction":[458,403]} -recieve: {"action":"move","direction":[457,403]} -recieve: {"action":"move","direction":[457,402]} -recieve: {"action":"move","direction":[457,401]} -recieve: {"action":"move","direction":[457,400]} -recieve: {"action":"move","direction":[457,399]} -recieve: {"action":"move","direction":[456,398]} -recieve: {"action":"move","direction":[456,397]} -recieve: {"action":"move","direction":[456,396]} -recieve: {"action":"move","direction":[456,395]} -recieve: {"action":"move","direction":[456,394]} -recieve: {"action":"move","direction":[456,393]} -recieve: {"action":"move","direction":[456,392]} -recieve: {"action":"move","direction":[456,391]} -recieve: {"action":"move","direction":[456,390]} -recieve: {"action":"move","direction":[456,389]} -recieve: {"action":"move","direction":[456,388]} -recieve: {"action":"move","direction":[456,387]} -recieve: {"action":"move","direction":[456,386]} -recieve: {"action":"move","direction":[456,385]} -recieve: {"action":"move","direction":[457,385]} -recieve: {"action":"move","direction":[457,384]} -recieve: {"action":"move","direction":[457,383]} -recieve: {"action":"move","direction":[457,382]} -recieve: {"action":"move","direction":[457,381]} -recieve: {"action":"move","direction":[457,380]} -recieve: {"action":"move","direction":[457,379]} -recieve: {"action":"move","direction":[457,378]} -recieve: {"action":"move","direction":[457,377]} -recieve: {"action":"move","direction":[457,376]} -recieve: {"action":"move","direction":[457,375]} -recieve: {"action":"move","direction":[457,374]} -recieve: {"action":"move","direction":[457,373]} -recieve: {"action":"move","direction":[457,372]} -recieve: {"action":"move","direction":[457,371]} -recieve: {"action":"move","direction":[457,370]} -recieve: {"action":"move","direction":[457,369]} -recieve: {"action":"move","direction":[457,368]} -recieve: {"action":"move","direction":[457,367]} -recieve: {"action":"move","direction":[457,366]} -recieve: {"action":"move","direction":[457,365]} -recieve: {"action":"move","direction":[457,364]} -recieve: {"action":"move","direction":[457,363]} -recieve: {"action":"move","direction":[457,362]} -recieve: {"action":"move","direction":[457,361]} -recieve: {"action":"move","direction":[457,360]} -recieve: {"action":"move","direction":[457,359]} -recieve: {"action":"move","direction":[457,358]} -recieve: {"action":"move","direction":[457,357]} -recieve: {"action":"move","direction":[457,356]} -recieve: {"action":"move","direction":[457,355]} -recieve: {"action":"move","direction":[457,354]} -recieve: {"action":"move","direction":[457,353]} -recieve: {"action":"move","direction":[457,352]} -recieve: {"action":"move","direction":[457,351]} -recieve: {"action":"move","direction":[457,350]} -recieve: {"action":"move","direction":[457,348]} -recieve: {"action":"move","direction":[457,347]} -recieve: {"action":"move","direction":[457,346]} -recieve: {"action":"move","direction":[457,345]} -recieve: {"action":"move","direction":[457,344]} -recieve: {"action":"move","direction":[457,343]} -recieve: {"action":"move","direction":[457,342]} -recieve: {"action":"move","direction":[457,341]} -recieve: {"action":"move","direction":[458,341]} -recieve: {"action":"move","direction":[458,340]} -recieve: {"action":"move","direction":[458,339]} -recieve: {"action":"move","direction":[458,338]} -recieve: {"action":"move","direction":[458,337]} -recieve: {"action":"move","direction":[458,336]} -recieve: {"action":"move","direction":[458,335]} -recieve: {"action":"move","direction":[458,334]} -recieve: {"action":"move","direction":[458,333]} -recieve: {"action":"move","direction":[458,332]} -recieve: {"action":"move","direction":[458,331]} -recieve: {"action":"move","direction":[458,330]} -recieve: {"action":"move","direction":[458,329]} -recieve: {"action":"move","direction":[458,328]} -recieve: {"action":"move","direction":[458,327]} -recieve: {"action":"move","direction":[458,326]} -recieve: {"action":"move","direction":[458,325]} -recieve: {"action":"move","direction":[458,324]} -recieve: {"action":"move","direction":[458,323]} -recieve: {"action":"move","direction":[458,322]} -recieve: {"action":"move","direction":[458,321]} -recieve: {"action":"move","direction":[458,320]} -recieve: {"action":"move","direction":[458,319]} -recieve: {"action":"move","direction":[458,318]} -recieve: {"action":"move","direction":[458,317]} -recieve: {"action":"move","direction":[458,316]} -recieve: {"action":"move","direction":[458,315]} -recieve: {"action":"move","direction":[458,314]} -recieve: {"action":"move","direction":[458,313]} -recieve: {"action":"move","direction":[458,312]} -recieve: {"action":"move","direction":[457,312]} -recieve: {"action":"move","direction":[457,311]} -recieve: {"action":"move","direction":[457,310]} -recieve: {"action":"move","direction":[457,309]} -recieve: {"action":"move","direction":[457,308]} -recieve: {"action":"move","direction":[457,307]} -recieve: {"action":"move","direction":[457,306]} -recieve: {"action":"move","direction":[457,305]} -recieve: {"action":"move","direction":[456,305]} -recieve: {"action":"move","direction":[456,304]} -recieve: {"action":"move","direction":[456,303]} -recieve: {"action":"move","direction":[456,302]} -recieve: {"action":"move","direction":[456,301]} -recieve: {"action":"move","direction":[456,300]} -recieve: {"action":"move","direction":[456,299]} -recieve: {"action":"move","direction":[455,299]} -recieve: {"action":"move","direction":[455,298]} -recieve: {"action":"move","direction":[455,297]} -recieve: {"action":"move","direction":[455,296]} -recieve: {"action":"move","direction":[455,295]} -recieve: {"action":"move","direction":[455,294]} -recieve: {"action":"move","direction":[455,293]} -recieve: {"action":"move","direction":[455,292]} -recieve: {"action":"move","direction":[455,291]} -recieve: {"action":"move","direction":[455,290]} -recieve: {"action":"move","direction":[455,289]} -recieve: {"action":"move","direction":[455,288]} -recieve: {"action":"move","direction":[455,287]} -recieve: {"action":"move","direction":[455,286]} -recieve: {"action":"move","direction":[455,285]} -recieve: {"action":"move","direction":[455,284]} -recieve: {"action":"move","direction":[455,283]} -recieve: {"action":"move","direction":[455,282]} -recieve: {"action":"move","direction":[455,281]} -recieve: {"action":"move","direction":[455,280]} -recieve: {"action":"move","direction":[455,279]} -recieve: {"action":"move","direction":[455,278]} -recieve: {"action":"move","direction":[455,277]} -recieve: {"action":"move","direction":[455,276]} -recieve: {"action":"move","direction":[455,275]} -recieve: {"action":"move","direction":[455,274]} -recieve: {"action":"move","direction":[455,273]} -recieve: {"action":"move","direction":[455,272]} -recieve: {"action":"move","direction":[455,271]} -recieve: {"action":"move","direction":[455,270]} -recieve: {"action":"move","direction":[455,269]} -recieve: {"action":"move","direction":[455,268]} -recieve: {"action":"move","direction":[455,267]} -recieve: {"action":"move","direction":[455,266]} -recieve: {"action":"move","direction":[455,265]} -recieve: {"action":"move","direction":[455,264]} -recieve: {"action":"move","direction":[455,263]} -recieve: {"action":"move","direction":[455,262]} -recieve: {"action":"move","direction":[455,261]} -recieve: {"action":"move","direction":[455,260]} -recieve: {"action":"move","direction":[455,259]} -recieve: {"action":"move","direction":[455,258]} -recieve: {"action":"move","direction":[455,257]} -recieve: {"action":"move","direction":[455,256]} -recieve: {"action":"move","direction":[455,255]} -recieve: {"action":"move","direction":[455,253]} -recieve: {"action":"move","direction":[455,252]} -recieve: {"action":"move","direction":[455,251]} -recieve: {"action":"move","direction":[455,250]} -recieve: {"action":"move","direction":[455,249]} -recieve: {"action":"move","direction":[455,248]} -recieve: {"action":"move","direction":[455,247]} -recieve: {"action":"move","direction":[455,246]} -recieve: {"action":"move","direction":[455,245]} -recieve: {"action":"move","direction":[455,244]} -recieve: {"action":"move","direction":[455,243]} -recieve: {"action":"move","direction":[455,242]} -recieve: {"action":"move","direction":[455,241]} -recieve: {"action":"move","direction":[455,240]} -recieve: {"action":"move","direction":[455,239]} -recieve: {"action":"move","direction":[455,238]} -recieve: {"action":"move","direction":[455,237]} -recieve: {"action":"move","direction":[455,236]} -recieve: {"action":"move","direction":[455,235]} -recieve: {"action":"move","direction":[455,234]} -recieve: {"action":"move","direction":[454,234]} -recieve: {"action":"move","direction":[454,233]} -recieve: {"action":"move","direction":[454,232]} -recieve: {"action":"move","direction":[454,231]} -recieve: {"action":"move","direction":[453,231]} -recieve: {"action":"move","direction":[453,230]} -recieve: {"action":"move","direction":[453,229]} -recieve: {"action":"move","direction":[453,228]} -recieve: {"action":"move","direction":[453,227]} -recieve: {"action":"move","direction":[453,226]} -recieve: {"action":"move","direction":[452,226]} -recieve: {"action":"move","direction":[452,225]} -recieve: {"action":"move","direction":[452,224]} -recieve: {"action":"move","direction":[451,224]} -recieve: {"action":"move","direction":[451,223]} -recieve: {"action":"move","direction":[451,222]} -recieve: {"action":"move","direction":[450,220]} -recieve: {"action":"move","direction":[449,217]} -recieve: {"action":"move","direction":[448,215]} -recieve: {"action":"move","direction":[447,215]} -recieve: {"action":"move","direction":[447,214]} -recieve: {"action":"move","direction":[447,213]} -recieve: {"action":"move","direction":[447,212]} -recieve: {"action":"move","direction":[447,211]} -recieve: {"action":"move","direction":[447,210]} -recieve: {"action":"move","direction":[447,209]} -recieve: {"action":"move","direction":[447,208]} -recieve: {"action":"move","direction":[448,208]} -recieve: {"action":"move","direction":[448,207]} -recieve: {"action":"move","direction":[449,207]} -recieve: {"action":"move","direction":[449,206]} -recieve: {"action":"move","direction":[450,206]} -recieve: {"action":"move","direction":[450,205]} -recieve: {"action":"move","direction":[451,205]} -recieve: {"action":"move","direction":[451,204]} -recieve: {"action":"move","direction":[451,203]} -recieve: {"action":"move","direction":[451,202]} -recieve: {"action":"move","direction":[451,201]} -recieve: {"action":"move","direction":[451,200]} -recieve: {"action":"move","direction":[451,199]} -recieve: {"action":"move","direction":[451,198]} -recieve: {"action":"move","direction":[451,197]} -recieve: {"action":"move","direction":[451,196]} -recieve: {"action":"move","direction":[451,195]} -recieve: {"action":"move","direction":[451,194]} -recieve: {"action":"move","direction":[451,193]} -recieve: {"action":"move","direction":[451,192]} -recieve: {"action":"move","direction":[451,191]} -recieve: {"action":"move","direction":[451,190]} -recieve: {"action":"move","direction":[451,189]} -recieve: {"action":"move","direction":[452,188]} -recieve: {"action":"move","direction":[452,187]} -recieve: {"action":"move","direction":[452,186]} -recieve: {"action":"move","direction":[452,185]} -recieve: {"action":"move","direction":[452,184]} -recieve: {"action":"move","direction":[453,184]} -recieve: {"action":"move","direction":[453,183]} -recieve: {"action":"move","direction":[453,182]} -recieve: {"action":"move","direction":[453,181]} -recieve: {"action":"move","direction":[454,181]} -recieve: {"action":"move","direction":[454,180]} -recieve: {"action":"move","direction":[454,179]} -recieve: {"action":"up","direction":[454,179]} -up: {'action': 'up', 'direction': [454, 179]} -recieve: {"action":"move","direction":[455,171]} -recieve: {"action":"up","direction":[455,171]} -up: {'action': 'up', 'direction': [455, 171]} -recieve: {"action":"move","direction":[454,180]} -recieve: {"action":"move","direction":[454,179]} -recieve: {"action":"move","direction":[453,179]} -recieve: {"action":"move","direction":[453,178]} -recieve: {"action":"move","direction":[453,177]} -recieve: {"action":"move","direction":[452,177]} -recieve: {"action":"move","direction":[452,176]} -recieve: {"action":"move","direction":[452,175]} -recieve: {"action":"move","direction":[452,174]} -recieve: {"action":"move","direction":[452,173]} -recieve: {"action":"move","direction":[451,173]} -recieve: {"action":"move","direction":[451,172]} -recieve: {"action":"move","direction":[451,171]} -recieve: {"action":"move","direction":[451,170]} -recieve: {"action":"move","direction":[451,169]} -recieve: {"action":"move","direction":[450,169]} -recieve: {"action":"move","direction":[450,168]} -recieve: {"action":"move","direction":[450,167]} -recieve: {"action":"move","direction":[450,166]} -recieve: {"action":"move","direction":[449,166]} -recieve: {"action":"move","direction":[449,165]} -recieve: {"action":"move","direction":[449,164]} -recieve: {"action":"move","direction":[449,163]} -recieve: {"action":"move","direction":[449,162]} -recieve: {"action":"move","direction":[449,161]} -recieve: {"action":"move","direction":[449,160]} -recieve: {"action":"move","direction":[449,159]} -recieve: {"action":"move","direction":[449,158]} -recieve: {"action":"move","direction":[449,157]} -recieve: {"action":"move","direction":[449,156]} -recieve: {"action":"move","direction":[449,155]} -recieve: {"action":"move","direction":[449,154]} -recieve: {"action":"move","direction":[449,153]} -recieve: {"action":"move","direction":[449,152]} -recieve: {"action":"move","direction":[449,151]} -recieve: {"action":"move","direction":[449,150]} -recieve: {"action":"move","direction":[449,149]} -recieve: {"action":"move","direction":[449,148]} -recieve: {"action":"move","direction":[449,147]} -recieve: {"action":"move","direction":[448,147]} -recieve: {"action":"move","direction":[448,146]} -recieve: {"action":"move","direction":[447,146]} -recieve: {"action":"move","direction":[446,145]} -recieve: {"action":"move","direction":[445,145]} -recieve: {"action":"move","direction":[444,145]} -recieve: {"action":"move","direction":[443,145]} -recieve: {"action":"move","direction":[443,144]} -recieve: {"action":"move","direction":[442,144]} -recieve: {"action":"move","direction":[441,144]} -recieve: {"action":"move","direction":[440,144]} -recieve: {"action":"move","direction":[439,144]} -recieve: {"action":"move","direction":[438,144]} -recieve: {"action":"move","direction":[437,144]} -recieve: {"action":"move","direction":[437,145]} -recieve: {"action":"move","direction":[436,145]} -recieve: {"action":"move","direction":[435,145]} -recieve: {"action":"move","direction":[434,145]} -recieve: {"action":"move","direction":[433,145]} -recieve: {"action":"move","direction":[433,146]} -recieve: {"action":"move","direction":[432,146]} -recieve: {"action":"move","direction":[431,146]} -recieve: {"action":"move","direction":[430,146]} -recieve: {"action":"move","direction":[429,146]} -recieve: {"action":"move","direction":[428,146]} -recieve: {"action":"move","direction":[428,147]} -recieve: {"action":"move","direction":[427,147]} -recieve: {"action":"move","direction":[426,147]} -recieve: {"action":"move","direction":[425,147]} -recieve: {"action":"move","direction":[424,147]} -recieve: {"action":"move","direction":[423,147]} -recieve: {"action":"move","direction":[423,148]} -recieve: {"action":"move","direction":[422,148]} -recieve: {"action":"move","direction":[421,148]} -recieve: {"action":"move","direction":[420,148]} -recieve: {"action":"move","direction":[419,148]} -recieve: {"action":"move","direction":[418,148]} -recieve: {"action":"move","direction":[417,148]} -recieve: {"action":"move","direction":[417,147]} -recieve: {"action":"move","direction":[416,147]} -recieve: {"action":"move","direction":[415,147]} -recieve: {"action":"move","direction":[414,147]} -recieve: {"action":"move","direction":[413,146]} -recieve: {"action":"move","direction":[412,146]} -recieve: {"action":"move","direction":[410,146]} -recieve: {"action":"move","direction":[410,145]} -recieve: {"action":"move","direction":[409,145]} -recieve: {"action":"move","direction":[408,145]} -recieve: {"action":"move","direction":[407,145]} -recieve: {"action":"move","direction":[406,145]} -recieve: {"action":"move","direction":[405,145]} -recieve: {"action":"move","direction":[403,145]} -recieve: {"action":"move","direction":[402,145]} -recieve: {"action":"move","direction":[401,145]} -recieve: {"action":"move","direction":[400,145]} -recieve: {"action":"move","direction":[399,145]} -recieve: {"action":"move","direction":[398,145]} -recieve: {"action":"move","direction":[397,145]} -recieve: {"action":"move","direction":[396,145]} -recieve: {"action":"move","direction":[395,145]} -recieve: {"action":"move","direction":[394,145]} -recieve: {"action":"move","direction":[393,145]} -recieve: {"action":"move","direction":[392,145]} -recieve: {"action":"move","direction":[391,145]} -recieve: {"action":"move","direction":[390,145]} -recieve: {"action":"move","direction":[389,145]} -recieve: {"action":"move","direction":[388,145]} -recieve: {"action":"move","direction":[387,145]} -recieve: {"action":"move","direction":[386,145]} -recieve: {"action":"move","direction":[385,145]} -recieve: {"action":"move","direction":[384,145]} -recieve: {"action":"move","direction":[383,145]} -recieve: {"action":"move","direction":[382,145]} -recieve: {"action":"move","direction":[381,145]} -recieve: {"action":"move","direction":[380,145]} -recieve: {"action":"move","direction":[379,145]} -recieve: {"action":"move","direction":[378,145]} -recieve: {"action":"move","direction":[377,145]} -recieve: {"action":"move","direction":[376,145]} -recieve: {"action":"move","direction":[375,145]} -recieve: {"action":"move","direction":[374,145]} -recieve: {"action":"move","direction":[374,146]} -recieve: {"action":"move","direction":[372,146]} -recieve: {"action":"move","direction":[371,146]} -recieve: {"action":"move","direction":[370,146]} -recieve: {"action":"move","direction":[369,146]} -recieve: {"action":"move","direction":[368,146]} -recieve: {"action":"move","direction":[367,146]} -recieve: {"action":"move","direction":[366,146]} -recieve: {"action":"move","direction":[365,146]} -recieve: {"action":"move","direction":[364,146]} -recieve: {"action":"move","direction":[363,146]} -recieve: {"action":"move","direction":[362,146]} -recieve: {"action":"move","direction":[361,146]} -recieve: {"action":"move","direction":[360,146]} -recieve: {"action":"move","direction":[359,146]} -recieve: {"action":"move","direction":[358,146]} -recieve: {"action":"move","direction":[358,147]} -recieve: {"action":"move","direction":[356,147]} -recieve: {"action":"move","direction":[355,147]} -recieve: {"action":"move","direction":[353,147]} -recieve: {"action":"move","direction":[351,147]} -recieve: {"action":"move","direction":[348,147]} -recieve: {"action":"move","direction":[346,148]} -recieve: {"action":"move","direction":[343,148]} -recieve: {"action":"move","direction":[341,148]} -recieve: {"action":"move","direction":[339,148]} -recieve: {"action":"move","direction":[338,148]} -recieve: {"action":"move","direction":[336,148]} -recieve: {"action":"move","direction":[335,148]} -recieve: {"action":"move","direction":[334,148]} -recieve: {"action":"move","direction":[333,148]} -recieve: {"action":"move","direction":[332,148]} -recieve: {"action":"move","direction":[332,149]} -recieve: {"action":"move","direction":[331,149]} -recieve: {"action":"move","direction":[330,149]} -recieve: {"action":"move","direction":[329,149]} -recieve: {"action":"move","direction":[328,149]} -recieve: {"action":"move","direction":[327,149]} -recieve: {"action":"move","direction":[326,149]} -recieve: {"action":"move","direction":[325,149]} -recieve: {"action":"move","direction":[323,149]} -recieve: {"action":"move","direction":[322,149]} -recieve: {"action":"move","direction":[321,149]} -recieve: {"action":"move","direction":[320,149]} -recieve: {"action":"move","direction":[319,149]} -recieve: {"action":"move","direction":[317,149]} -recieve: {"action":"move","direction":[316,149]} -recieve: {"action":"move","direction":[315,149]} -recieve: {"action":"move","direction":[314,149]} -recieve: {"action":"move","direction":[313,149]} -recieve: {"action":"move","direction":[312,149]} -recieve: {"action":"move","direction":[311,149]} -recieve: {"action":"move","direction":[310,149]} -recieve: {"action":"move","direction":[309,149]} -recieve: {"action":"move","direction":[307,149]} -recieve: {"action":"move","direction":[306,149]} -recieve: {"action":"move","direction":[304,149]} -recieve: {"action":"move","direction":[303,149]} -recieve: {"action":"move","direction":[302,149]} -recieve: {"action":"move","direction":[301,149]} -recieve: {"action":"move","direction":[300,149]} -recieve: {"action":"move","direction":[299,149]} -recieve: {"action":"move","direction":[298,149]} -recieve: {"action":"move","direction":[297,149]} -recieve: {"action":"move","direction":[296,149]} -recieve: {"action":"move","direction":[295,149]} -recieve: {"action":"move","direction":[294,149]} -recieve: {"action":"move","direction":[293,149]} -recieve: {"action":"move","direction":[292,149]} -recieve: {"action":"move","direction":[291,149]} -recieve: {"action":"move","direction":[290,149]} -recieve: {"action":"move","direction":[289,149]} -recieve: {"action":"move","direction":[288,149]} -recieve: {"action":"move","direction":[287,149]} -recieve: {"action":"move","direction":[286,149]} -recieve: {"action":"move","direction":[285,149]} -recieve: {"action":"move","direction":[284,149]} -recieve: {"action":"move","direction":[283,149]} -recieve: {"action":"move","direction":[282,149]} -recieve: {"action":"move","direction":[281,149]} -recieve: {"action":"move","direction":[280,149]} -recieve: {"action":"move","direction":[279,149]} -recieve: {"action":"move","direction":[278,149]} -recieve: {"action":"move","direction":[277,149]} -recieve: {"action":"move","direction":[276,149]} -recieve: {"action":"move","direction":[275,149]} -recieve: {"action":"move","direction":[275,148]} -recieve: {"action":"move","direction":[274,148]} -recieve: {"action":"move","direction":[273,148]} -recieve: {"action":"move","direction":[272,148]} -recieve: {"action":"move","direction":[271,148]} -recieve: {"action":"move","direction":[270,147]} -recieve: {"action":"move","direction":[269,147]} -recieve: {"action":"move","direction":[268,147]} -recieve: {"action":"move","direction":[267,147]} -recieve: {"action":"move","direction":[266,147]} -recieve: {"action":"move","direction":[265,147]} -recieve: {"action":"move","direction":[264,147]} -recieve: {"action":"move","direction":[263,147]} -recieve: {"action":"move","direction":[262,147]} -recieve: {"action":"move","direction":[261,146]} -recieve: {"action":"move","direction":[259,146]} -recieve: {"action":"move","direction":[258,146]} -recieve: {"action":"move","direction":[257,146]} -recieve: {"action":"move","direction":[256,146]} -recieve: {"action":"move","direction":[255,146]} -recieve: {"action":"move","direction":[254,146]} -recieve: {"action":"move","direction":[253,146]} -recieve: {"action":"move","direction":[252,146]} -recieve: {"action":"move","direction":[251,146]} -recieve: {"action":"move","direction":[250,146]} -recieve: {"action":"move","direction":[249,146]} -recieve: {"action":"move","direction":[248,146]} -recieve: {"action":"move","direction":[247,146]} -recieve: {"action":"move","direction":[246,146]} -recieve: {"action":"move","direction":[244,146]} -recieve: {"action":"move","direction":[242,146]} -recieve: {"action":"move","direction":[241,146]} -recieve: {"action":"move","direction":[239,146]} -recieve: {"action":"move","direction":[238,146]} -recieve: {"action":"move","direction":[236,146]} -recieve: {"action":"move","direction":[235,146]} -recieve: {"action":"move","direction":[234,146]} -recieve: {"action":"move","direction":[233,146]} -recieve: {"action":"move","direction":[232,146]} -recieve: {"action":"move","direction":[231,146]} -recieve: {"action":"move","direction":[230,146]} -recieve: {"action":"move","direction":[229,146]} -recieve: {"action":"move","direction":[228,145]} -recieve: {"action":"move","direction":[226,145]} -recieve: {"action":"move","direction":[225,145]} -recieve: {"action":"move","direction":[224,145]} -recieve: {"action":"move","direction":[222,145]} -recieve: {"action":"move","direction":[219,145]} -recieve: {"action":"move","direction":[217,145]} -recieve: {"action":"move","direction":[215,145]} -recieve: {"action":"move","direction":[212,145]} -recieve: {"action":"move","direction":[210,145]} -recieve: {"action":"move","direction":[208,145]} -recieve: {"action":"move","direction":[207,145]} -recieve: {"action":"move","direction":[206,145]} -recieve: {"action":"move","direction":[205,145]} -recieve: {"action":"move","direction":[204,145]} -recieve: {"action":"move","direction":[203,145]} -recieve: {"action":"move","direction":[202,145]} -recieve: {"action":"move","direction":[201,145]} -recieve: {"action":"move","direction":[200,145]} -recieve: {"action":"move","direction":[199,145]} -recieve: {"action":"move","direction":[198,145]} -recieve: {"action":"move","direction":[197,145]} -recieve: {"action":"move","direction":[196,145]} -recieve: {"action":"move","direction":[195,145]} -recieve: {"action":"move","direction":[194,145]} -recieve: {"action":"move","direction":[193,145]} -recieve: {"action":"move","direction":[192,145]} -recieve: {"action":"move","direction":[191,145]} -recieve: {"action":"move","direction":[190,145]} -recieve: {"action":"move","direction":[189,145]} -recieve: {"action":"move","direction":[188,145]} -recieve: {"action":"move","direction":[187,145]} -recieve: {"action":"move","direction":[186,145]} -recieve: {"action":"move","direction":[185,145]} -recieve: {"action":"move","direction":[184,145]} -recieve: {"action":"move","direction":[183,145]} -recieve: {"action":"move","direction":[182,145]} -recieve: {"action":"move","direction":[181,145]} -recieve: {"action":"move","direction":[180,145]} -recieve: {"action":"move","direction":[179,145]} -recieve: {"action":"move","direction":[178,145]} -recieve: {"action":"move","direction":[177,145]} -recieve: {"action":"move","direction":[176,145]} -recieve: {"action":"move","direction":[175,145]} -recieve: {"action":"move","direction":[174,146]} -recieve: {"action":"move","direction":[173,146]} -recieve: {"action":"move","direction":[172,146]} -recieve: {"action":"move","direction":[171,146]} -recieve: {"action":"move","direction":[170,146]} -recieve: {"action":"move","direction":[169,146]} -recieve: {"action":"move","direction":[168,146]} -recieve: {"action":"move","direction":[167,146]} -recieve: {"action":"move","direction":[166,146]} -recieve: {"action":"move","direction":[165,146]} -recieve: {"action":"move","direction":[164,146]} -recieve: {"action":"move","direction":[163,146]} -recieve: {"action":"move","direction":[162,146]} -recieve: {"action":"move","direction":[161,146]} -recieve: {"action":"move","direction":[160,146]} -recieve: {"action":"move","direction":[159,146]} -recieve: {"action":"move","direction":[158,146]} -recieve: {"action":"move","direction":[157,146]} -recieve: {"action":"move","direction":[156,146]} -recieve: {"action":"move","direction":[155,146]} -recieve: {"action":"move","direction":[154,147]} -recieve: {"action":"move","direction":[153,147]} -recieve: {"action":"move","direction":[152,147]} -recieve: {"action":"move","direction":[151,147]} -recieve: {"action":"move","direction":[150,147]} -recieve: {"action":"move","direction":[149,147]} -recieve: {"action":"move","direction":[148,147]} -recieve: {"action":"move","direction":[147,147]} -recieve: {"action":"move","direction":[146,147]} -recieve: {"action":"move","direction":[145,147]} -recieve: {"action":"move","direction":[144,147]} -recieve: {"action":"move","direction":[142,147]} -recieve: {"action":"move","direction":[140,148]} -recieve: {"action":"move","direction":[139,148]} -recieve: {"action":"move","direction":[138,148]} -recieve: {"action":"move","direction":[137,148]} -recieve: {"action":"move","direction":[136,148]} -recieve: {"action":"move","direction":[135,148]} -recieve: {"action":"up","direction":[135,148]} -up: {'action': 'up', 'direction': [135, 148]} -recieve: {"action":"submit"} -up: {'action': 'submit'} -Wrote www/generated/6de108b58c4d4cf6aac066d5d1d49029.svg -New client connected -Client disconnected -New client connected -recieve: {"action":"move","direction":[145,148.4000015258789]} -recieve: {"action":"move","direction":[146,150.4000015258789]} -recieve: {"action":"move","direction":[146,151.4000015258789]} -recieve: {"action":"move","direction":[146,152.4000015258789]} -recieve: {"action":"move","direction":[146,152.4000015258789]} -recieve: {"action":"move","direction":[146,153.4000015258789]} -recieve: {"action":"move","direction":[146,155.4000015258789]} -recieve: {"action":"move","direction":[146,157.4000015258789]} -recieve: {"action":"move","direction":[146,159.4000015258789]} -recieve: {"action":"move","direction":[145,160.4000015258789]} -recieve: {"action":"move","direction":[144,160.4000015258789]} -recieve: {"action":"move","direction":[144,161.4000015258789]} -recieve: {"action":"move","direction":[144,163.4000015258789]} -recieve: {"action":"move","direction":[144,164.4000015258789]} -recieve: {"action":"move","direction":[144,164.4000015258789]} -recieve: {"action":"move","direction":[144,165.4000015258789]} -recieve: {"action":"move","direction":[144,166.4000015258789]} -recieve: {"action":"move","direction":[144,167.4000015258789]} -recieve: {"action":"move","direction":[144,168.4000015258789]} -recieve: {"action":"move","direction":[144,169.4000015258789]} -recieve: {"action":"move","direction":[144,170.4000015258789]} -recieve: {"action":"move","direction":[145,171.4000015258789]} -recieve: {"action":"move","direction":[146,171.4000015258789]} -recieve: {"action":"move","direction":[146,172.4000015258789]} -recieve: {"action":"move","direction":[146,173.4000015258789]} -recieve: {"action":"move","direction":[146,174.4000015258789]} -recieve: {"action":"move","direction":[146,175.4000015258789]} -recieve: {"action":"move","direction":[147,176.4000015258789]} -recieve: {"action":"move","direction":[148,177.4000015258789]} -recieve: {"action":"move","direction":[148,178.4000015258789]} -recieve: {"action":"move","direction":[148,179.4000015258789]} -recieve: {"action":"move","direction":[148,180.4000015258789]} -recieve: {"action":"move","direction":[148,180.4000015258789]} -recieve: {"action":"move","direction":[148,182.4000015258789]} -recieve: {"action":"move","direction":[148,183.4000015258789]} -recieve: {"action":"move","direction":[148,184.4000015258789]} -recieve: {"action":"move","direction":[148,184.4000015258789]} -recieve: {"action":"move","direction":[148,185.4000015258789]} -recieve: {"action":"move","direction":[148,187.4000015258789]} -recieve: {"action":"move","direction":[148,187.4000015258789]} -recieve: {"action":"move","direction":[147,188.4000015258789]} -recieve: {"action":"move","direction":[147,188.4000015258789]} -recieve: {"action":"move","direction":[147,189.4000015258789]} -recieve: {"action":"move","direction":[147,191.4000015258789]} -recieve: {"action":"move","direction":[147,192.4000015258789]} -recieve: {"action":"move","direction":[147,193.4000015258789]} -recieve: {"action":"move","direction":[147,194.4000015258789]} -recieve: {"action":"move","direction":[146,195.4000015258789]} -recieve: {"action":"move","direction":[146,196.4000015258789]} -recieve: {"action":"move","direction":[144,198.4000015258789]} -recieve: {"action":"move","direction":[144,200.4000015258789]} -recieve: {"action":"move","direction":[144,200.4000015258789]} -recieve: {"action":"move","direction":[144,201.4000015258789]} -recieve: {"action":"move","direction":[144,202.4000015258789]} -recieve: {"action":"move","direction":[144,203.4000015258789]} -recieve: {"action":"move","direction":[144,204.4000015258789]} -recieve: {"action":"move","direction":[144,205.4000015258789]} -recieve: {"action":"move","direction":[144,206.4000015258789]} -recieve: {"action":"move","direction":[144,207.4000015258789]} -recieve: {"action":"move","direction":[144,208.4000015258789]} -recieve: {"action":"move","direction":[144,208.4000015258789]} -recieve: {"action":"move","direction":[144,209.4000015258789]} -recieve: {"action":"move","direction":[144,210.4000015258789]} -recieve: {"action":"move","direction":[144,211.4000015258789]} -recieve: {"action":"move","direction":[144,212.4000015258789]} -recieve: {"action":"move","direction":[144,212.4000015258789]} -recieve: {"action":"move","direction":[145,213.4000015258789]} -recieve: {"action":"move","direction":[145,214.4000015258789]} -recieve: {"action":"move","direction":[145,215.4000015258789]} -recieve: {"action":"move","direction":[145,216.4000015258789]} -recieve: {"action":"move","direction":[145,217.4000015258789]} -recieve: {"action":"move","direction":[145,218.4000015258789]} -recieve: {"action":"move","direction":[145,219.4000015258789]} -recieve: {"action":"move","direction":[145,220.4000015258789]} -recieve: {"action":"move","direction":[145,221.4000015258789]} -recieve: {"action":"move","direction":[145,222.4000015258789]} -recieve: {"action":"move","direction":[145,223.4000015258789]} -recieve: {"action":"move","direction":[145,224.4000015258789]} -recieve: {"action":"move","direction":[145,224.4000015258789]} -recieve: {"action":"move","direction":[145,226.4000015258789]} -recieve: {"action":"move","direction":[145,227.4000015258789]} -recieve: {"action":"move","direction":[145,228.4000015258789]} -recieve: {"action":"move","direction":[145,228.4000015258789]} -recieve: {"action":"move","direction":[145,230.4000015258789]} -recieve: {"action":"move","direction":[145,231.4000015258789]} -recieve: {"action":"move","direction":[145,232.4000015258789]} -recieve: {"action":"move","direction":[145,232.4000015258789]} -recieve: {"action":"move","direction":[145,233.4000015258789]} -recieve: {"action":"move","direction":[145,235.4000015258789]} -recieve: {"action":"move","direction":[145,236.4000015258789]} -recieve: {"action":"move","direction":[145,236.4000015258789]} -recieve: {"action":"move","direction":[145,237.4000015258789]} -recieve: {"action":"move","direction":[145,238.4000015258789]} -recieve: {"action":"move","direction":[144,239.4000015258789]} -recieve: {"action":"move","direction":[144,240.4000015258789]} -recieve: {"action":"move","direction":[144,241.4000015258789]} -recieve: {"action":"move","direction":[144,242.4000015258789]} -recieve: {"action":"move","direction":[144,244.4000015258789]} -recieve: {"action":"move","direction":[144,245.4000015258789]} -recieve: {"action":"move","direction":[143,247.4000015258789]} -recieve: {"action":"move","direction":[143,248.4000015258789]} -recieve: {"action":"move","direction":[143,248.4000015258789]} -recieve: {"action":"move","direction":[143,249.4000015258789]} -recieve: {"action":"move","direction":[143,250.4000015258789]} -recieve: {"action":"move","direction":[143,251.4000015258789]} -recieve: {"action":"move","direction":[143,252.4000015258789]} -recieve: {"action":"move","direction":[143,253.4000015258789]} -recieve: {"action":"move","direction":[143,254.4000015258789]} -recieve: {"action":"move","direction":[143,256.4000015258789]} -recieve: {"action":"move","direction":[143,256.4000015258789]} -recieve: {"action":"move","direction":[143,257.4000015258789]} -recieve: {"action":"move","direction":[143,258.4000015258789]} -recieve: {"action":"move","direction":[143,259.4000015258789]} -recieve: {"action":"move","direction":[143,260.4000015258789]} -recieve: {"action":"move","direction":[143,261.4000015258789]} -recieve: {"action":"move","direction":[143,262.4000015258789]} -recieve: {"action":"move","direction":[142,264.4000015258789]} -recieve: {"action":"move","direction":[142,264.4000015258789]} -recieve: {"action":"move","direction":[142,265.4000015258789]} -recieve: {"action":"move","direction":[142,266.4000015258789]} -recieve: {"action":"move","direction":[142,267.4000015258789]} -recieve: {"action":"move","direction":[142,268.4000015258789]} -recieve: {"action":"move","direction":[141,268.4000015258789]} -recieve: {"action":"move","direction":[141,268.4000015258789]} -recieve: {"action":"move","direction":[141,270.4000015258789]} -recieve: {"action":"move","direction":[141,271.4000015258789]} -recieve: {"action":"move","direction":[141,272.4000015258789]} -recieve: {"action":"move","direction":[141,272.4000015258789]} -recieve: {"action":"move","direction":[140,274.4000015258789]} -recieve: {"action":"move","direction":[140,276.4000015258789]} -recieve: {"action":"move","direction":[140,276.4000015258789]} -recieve: {"action":"move","direction":[140,277.4000015258789]} -recieve: {"action":"move","direction":[140,279.4000015258789]} -recieve: {"action":"move","direction":[140,280.4000015258789]} -recieve: {"action":"move","direction":[140,280.4000015258789]} -recieve: {"action":"move","direction":[140,281.4000015258789]} -recieve: {"action":"move","direction":[140,282.4000015258789]} -recieve: {"action":"move","direction":[140,283.4000015258789]} -recieve: {"action":"move","direction":[140,284.4000015258789]} -recieve: {"action":"move","direction":[140,285.4000015258789]} -recieve: {"action":"move","direction":[140,286.4000015258789]} -recieve: {"action":"move","direction":[140,288.4000015258789]} -recieve: {"action":"move","direction":[140,288.4000015258789]} -recieve: {"action":"move","direction":[140,289.4000015258789]} -recieve: {"action":"move","direction":[140,290.4000015258789]} -recieve: {"action":"move","direction":[140,291.4000015258789]} -recieve: {"action":"move","direction":[140,293.4000015258789]} -recieve: {"action":"move","direction":[141,295.4000015258789]} -recieve: {"action":"move","direction":[141,296.4000015258789]} -recieve: {"action":"move","direction":[142,296.4000015258789]} -recieve: {"action":"move","direction":[142,297.4000015258789]} -recieve: {"action":"move","direction":[142,298.4000015258789]} -recieve: {"action":"move","direction":[142,300.4000015258789]} -recieve: {"action":"move","direction":[142,300.4000015258789]} -recieve: {"action":"move","direction":[142,301.4000015258789]} -recieve: {"action":"move","direction":[143,303.4000015258789]} -recieve: {"action":"move","direction":[143,304.4000015258789]} -recieve: {"action":"move","direction":[144,304.4000015258789]} -recieve: {"action":"move","direction":[144,304.4000015258789]} -recieve: {"action":"move","direction":[144,305.4000015258789]} -recieve: {"action":"move","direction":[144,306.4000015258789]} -recieve: {"action":"move","direction":[144,307.4000015258789]} -recieve: {"action":"move","direction":[144,309.4000015258789]} -recieve: {"action":"move","direction":[144,310.4000015258789]} -recieve: {"action":"move","direction":[144,311.4000015258789]} -recieve: {"action":"move","direction":[144,312.4000015258789]} -recieve: {"action":"move","direction":[144,312.4000015258789]} -recieve: {"action":"move","direction":[144,313.4000015258789]} -recieve: {"action":"move","direction":[144,314.4000015258789]} -recieve: {"action":"move","direction":[144,315.4000015258789]} -recieve: {"action":"move","direction":[144,316.4000015258789]} -recieve: {"action":"move","direction":[144,317.4000015258789]} -recieve: {"action":"move","direction":[144,318.4000015258789]} -recieve: {"action":"move","direction":[144,319.4000015258789]} -recieve: {"action":"move","direction":[144,320.4000015258789]} -recieve: {"action":"move","direction":[144,321.4000015258789]} -recieve: {"action":"move","direction":[144,322.4000015258789]} -recieve: {"action":"move","direction":[144,323.4000015258789]} -recieve: {"action":"move","direction":[144,324.4000015258789]} -recieve: {"action":"move","direction":[144,324.4000015258789]} -recieve: {"action":"move","direction":[144,326.4000015258789]} -recieve: {"action":"move","direction":[144,327.4000015258789]} -recieve: {"action":"move","direction":[144,328.4000015258789]} -recieve: {"action":"move","direction":[144,328.4000015258789]} -recieve: {"action":"move","direction":[144,331.4000015258789]} -recieve: {"action":"move","direction":[144,332.4000015258789]} -recieve: {"action":"move","direction":[144,332.4000015258789]} -recieve: {"action":"move","direction":[144,333.4000015258789]} -recieve: {"action":"move","direction":[143,336.4000015258789]} -recieve: {"action":"move","direction":[143,336.4000015258789]} -recieve: {"action":"move","direction":[142,338.4000015258789]} -recieve: {"action":"move","direction":[141,340.4000015258789]} -recieve: {"action":"move","direction":[140,341.4000015258789]} -recieve: {"action":"move","direction":[140,342.4000015258789]} -recieve: {"action":"move","direction":[140,343.4000015258789]} -recieve: {"action":"move","direction":[140,344.4000015258789]} -recieve: {"action":"move","direction":[140,344.4000015258789]} -recieve: {"action":"move","direction":[140,345.4000015258789]} -recieve: {"action":"move","direction":[140,346.4000015258789]} -recieve: {"action":"move","direction":[140,348.4000015258789]} -recieve: {"action":"move","direction":[140,350.4000015258789]} -recieve: {"action":"move","direction":[140,351.4000015258789]} -recieve: {"action":"move","direction":[140,352.4000015258789]} -recieve: {"action":"move","direction":[140,353.4000015258789]} -recieve: {"action":"move","direction":[140,354.4000015258789]} -recieve: {"action":"move","direction":[140,355.4000015258789]} -recieve: {"action":"move","direction":[141,356.4000015258789]} -recieve: {"action":"move","direction":[141,356.4000015258789]} -recieve: {"action":"move","direction":[141,357.4000015258789]} -recieve: {"action":"move","direction":[141,359.4000015258789]} -recieve: {"action":"move","direction":[142,360.4000015258789]} -recieve: {"action":"move","direction":[142,360.4000015258789]} -recieve: {"action":"move","direction":[143,361.4000015258789]} -recieve: {"action":"move","direction":[143,362.4000015258789]} -recieve: {"action":"move","direction":[143,363.4000015258789]} -recieve: {"action":"move","direction":[144,363.4000015258789]} -recieve: {"action":"move","direction":[144,364.4000015258789]} -recieve: {"action":"move","direction":[144,364.4000015258789]} -recieve: {"action":"move","direction":[145,365.4000015258789]} -recieve: {"action":"move","direction":[145,366.4000015258789]} -recieve: {"action":"move","direction":[145,368.4000015258789]} -recieve: {"action":"move","direction":[146,368.4000015258789]} -recieve: {"action":"move","direction":[147,368.4000015258789]} -recieve: {"action":"move","direction":[147,369.4000015258789]} -recieve: {"action":"move","direction":[148,369.4000015258789]} -recieve: {"action":"move","direction":[148,370.4000015258789]} -recieve: {"action":"move","direction":[148,371.4000015258789]} -recieve: {"action":"move","direction":[148,372.4000015258789]} -recieve: {"action":"move","direction":[148,373.4000015258789]} -recieve: {"action":"move","direction":[148,374.4000015258789]} -recieve: {"action":"move","direction":[148,375.4000015258789]} -recieve: {"action":"move","direction":[148,376.4000015258789]} -recieve: {"action":"move","direction":[148,377.4000015258789]} -recieve: {"action":"move","direction":[148,379.4000015258789]} -recieve: {"action":"move","direction":[148,380.4000015258789]} -recieve: {"action":"move","direction":[148,383.4000015258789]} -recieve: {"action":"move","direction":[147,384.4000015258789]} -recieve: {"action":"move","direction":[145,386.4000015258789]} -recieve: {"action":"move","direction":[145,387.4000015258789]} -recieve: {"action":"move","direction":[145,388.4000015258789]} -recieve: {"action":"move","direction":[144,389.4000015258789]} -recieve: {"action":"move","direction":[144,391.4000015258789]} -recieve: {"action":"move","direction":[144,392.4000015258789]} -recieve: {"action":"move","direction":[144,393.4000015258789]} -recieve: {"action":"move","direction":[144,395.4000015258789]} -recieve: {"action":"move","direction":[143,395.4000015258789]} -recieve: {"action":"move","direction":[143,396.4000015258789]} -recieve: {"action":"move","direction":[143,396.4000015258789]} -recieve: {"action":"move","direction":[143,397.4000015258789]} -recieve: {"action":"move","direction":[143,398.4000015258789]} -recieve: {"action":"move","direction":[143,399.4000015258789]} -recieve: {"action":"move","direction":[143,400.4000015258789]} -recieve: {"action":"move","direction":[143,401.4000015258789]} -recieve: {"action":"move","direction":[143,402.4000015258789]} -recieve: {"action":"move","direction":[143,404.4000015258789]} -recieve: {"action":"move","direction":[143,405.4000015258789]} -recieve: {"action":"move","direction":[143,406.4000015258789]} -recieve: {"action":"move","direction":[143,407.4000015258789]} -recieve: {"action":"move","direction":[143,408.4000015258789]} -recieve: {"action":"move","direction":[143,409.4000015258789]} -recieve: {"action":"move","direction":[142,410.4000015258789]} -recieve: {"action":"move","direction":[142,411.4000015258789]} -recieve: {"action":"move","direction":[142,412.4000015258789]} -recieve: {"action":"move","direction":[142,412.4000015258789]} -recieve: {"action":"move","direction":[142,413.4000015258789]} -recieve: {"action":"move","direction":[142,414.4000015258789]} -recieve: {"action":"move","direction":[142,415.4000015258789]} -recieve: {"action":"move","direction":[142,416.4000015258789]} -recieve: {"action":"move","direction":[142,416.4000015258789]} -recieve: {"action":"move","direction":[142,418.4000015258789]} -recieve: {"action":"move","direction":[142,420.4000015258789]} -recieve: {"action":"move","direction":[142,420.4000015258789]} -recieve: {"action":"move","direction":[141,421.4000015258789]} -recieve: {"action":"move","direction":[141,422.4000015258789]} -recieve: {"action":"move","direction":[141,424.4000015258789]} -recieve: {"action":"move","direction":[140,424.4000015258789]} -recieve: {"action":"move","direction":[140,425.4000015258789]} -recieve: {"action":"move","direction":[140,427.4000015258789]} -recieve: {"action":"move","direction":[140,428.4000015258789]} -recieve: {"action":"move","direction":[140,429.4000015258789]} -recieve: {"action":"move","direction":[140,430.4000015258789]} -recieve: {"action":"move","direction":[140,431.4000015258789]} -recieve: {"action":"move","direction":[140,432.4000015258789]} -recieve: {"action":"move","direction":[140,432.4000015258789]} -recieve: {"action":"move","direction":[140,433.4000015258789]} -recieve: {"action":"move","direction":[140,434.4000015258789]} -recieve: {"action":"move","direction":[140,435.4000015258789]} -recieve: {"action":"move","direction":[140,436.4000015258789]} -recieve: {"action":"move","direction":[140,437.4000015258789]} -recieve: {"action":"move","direction":[140,438.4000015258789]} -recieve: {"action":"move","direction":[140,439.4000015258789]} -recieve: {"action":"move","direction":[141,440.4000015258789]} -recieve: {"action":"move","direction":[141,441.4000015258789]} -recieve: {"action":"move","direction":[141,442.4000015258789]} -recieve: {"action":"move","direction":[142,443.4000015258789]} -recieve: {"action":"move","direction":[143,444.4000015258789]} -recieve: {"action":"move","direction":[144,445.4000015258789]} -recieve: {"action":"move","direction":[144,445.4000015258789]} -recieve: {"action":"move","direction":[145,446.4000015258789]} -recieve: {"action":"move","direction":[146,447.4000015258789]} -recieve: {"action":"move","direction":[147,447.4000015258789]} -recieve: {"action":"move","direction":[148,447.4000015258789]} -recieve: {"action":"move","direction":[148,448.4000015258789]} -recieve: {"action":"move","direction":[148,448.4000015258789]} -recieve: {"action":"move","direction":[149,448.4000015258789]} -recieve: {"action":"move","direction":[150,449.4000015258789]} -recieve: {"action":"move","direction":[152,449.4000015258789]} -recieve: {"action":"move","direction":[153,449.4000015258789]} -recieve: {"action":"move","direction":[154,450.4000015258789]} -recieve: {"action":"move","direction":[154,451.4000015258789]} -recieve: {"action":"move","direction":[155,451.4000015258789]} -recieve: {"action":"move","direction":[156,451.4000015258789]} -recieve: {"action":"move","direction":[157,451.4000015258789]} -recieve: {"action":"move","direction":[158,451.4000015258789]} -recieve: {"action":"move","direction":[159,451.4000015258789]} -recieve: {"action":"move","direction":[161,450.4000015258789]} -recieve: {"action":"move","direction":[162,450.4000015258789]} -recieve: {"action":"move","direction":[164,450.4000015258789]} -recieve: {"action":"move","direction":[164,449.4000015258789]} -recieve: {"action":"move","direction":[165,449.4000015258789]} -recieve: {"action":"move","direction":[166,449.4000015258789]} -recieve: {"action":"move","direction":[167,449.4000015258789]} -recieve: {"action":"move","direction":[168,449.4000015258789]} -recieve: {"action":"move","direction":[168,449.4000015258789]} -recieve: {"action":"move","direction":[168,448.4000015258789]} -recieve: {"action":"move","direction":[169,448.4000015258789]} -recieve: {"action":"move","direction":[170,448.4000015258789]} -recieve: {"action":"move","direction":[171,448.4000015258789]} -recieve: {"action":"move","direction":[172,448.4000015258789]} -recieve: {"action":"move","direction":[174,448.4000015258789]} -recieve: {"action":"move","direction":[176,448.4000015258789]} -recieve: {"action":"move","direction":[176,448.4000015258789]} -recieve: {"action":"move","direction":[177,448.4000015258789]} -recieve: {"action":"move","direction":[178,448.4000015258789]} -recieve: {"action":"move","direction":[179,448.4000015258789]} -recieve: {"action":"move","direction":[180,448.4000015258789]} -recieve: {"action":"move","direction":[181,448.4000015258789]} -recieve: {"action":"move","direction":[183,448.4000015258789]} -recieve: {"action":"move","direction":[184,448.4000015258789]} -recieve: {"action":"move","direction":[185,448.4000015258789]} -recieve: {"action":"move","direction":[186,449.4000015258789]} -recieve: {"action":"move","direction":[187,449.4000015258789]} -recieve: {"action":"move","direction":[188,449.4000015258789]} -recieve: {"action":"move","direction":[188,449.4000015258789]} -recieve: {"action":"move","direction":[189,450.4000015258789]} -recieve: {"action":"move","direction":[189,451.4000015258789]} -recieve: {"action":"move","direction":[191,451.4000015258789]} -recieve: {"action":"move","direction":[192,451.4000015258789]} -recieve: {"action":"move","direction":[192,451.4000015258789]} -recieve: {"action":"move","direction":[193,451.4000015258789]} -recieve: {"action":"move","direction":[194,451.4000015258789]} -recieve: {"action":"move","direction":[195,451.4000015258789]} -recieve: {"action":"move","direction":[196,451.4000015258789]} -recieve: {"action":"move","direction":[196,451.4000015258789]} -recieve: {"action":"move","direction":[197,451.4000015258789]} -recieve: {"action":"move","direction":[197,452.4000015258789]} -recieve: {"action":"move","direction":[199,452.4000015258789]} -recieve: {"action":"move","direction":[200,452.4000015258789]} -recieve: {"action":"move","direction":[201,452.4000015258789]} -recieve: {"action":"move","direction":[203,452.4000015258789]} -recieve: {"action":"move","direction":[204,452.4000015258789]} -recieve: {"action":"move","direction":[205,452.4000015258789]} -recieve: {"action":"move","direction":[206,452.4000015258789]} -recieve: {"action":"move","direction":[208,452.4000015258789]} -recieve: {"action":"move","direction":[208,454.4000015258789]} -recieve: {"action":"move","direction":[209,454.4000015258789]} -recieve: {"action":"move","direction":[211,454.4000015258789]} -recieve: {"action":"move","direction":[212,454.4000015258789]} -recieve: {"action":"move","direction":[212,454.4000015258789]} -recieve: {"action":"move","direction":[214,454.4000015258789]} -recieve: {"action":"move","direction":[215,454.4000015258789]} -recieve: {"action":"move","direction":[216,454.4000015258789]} -recieve: {"action":"move","direction":[217,454.4000015258789]} -recieve: {"action":"move","direction":[218,454.4000015258789]} -recieve: {"action":"move","direction":[220,454.4000015258789]} -recieve: {"action":"move","direction":[220,454.4000015258789]} -recieve: {"action":"move","direction":[221,454.4000015258789]} -recieve: {"action":"move","direction":[222,454.4000015258789]} -recieve: {"action":"move","direction":[223,454.4000015258789]} -recieve: {"action":"move","direction":[224,453.4000015258789]} -recieve: {"action":"move","direction":[225,453.4000015258789]} -recieve: {"action":"move","direction":[226,453.4000015258789]} -recieve: {"action":"move","direction":[226,452.4000015258789]} -recieve: {"action":"move","direction":[227,452.4000015258789]} -recieve: {"action":"move","direction":[228,452.4000015258789]} -recieve: {"action":"move","direction":[230,452.4000015258789]} -recieve: {"action":"move","direction":[232,452.4000015258789]} -recieve: {"action":"move","direction":[232,452.4000015258789]} -recieve: {"action":"move","direction":[234,452.4000015258789]} -recieve: {"action":"move","direction":[235,452.4000015258789]} -recieve: {"action":"move","direction":[236,452.4000015258789]} -recieve: {"action":"move","direction":[237,452.4000015258789]} -recieve: {"action":"move","direction":[238,452.4000015258789]} -recieve: {"action":"move","direction":[239,452.4000015258789]} -recieve: {"action":"move","direction":[240,452.4000015258789]} -recieve: {"action":"move","direction":[240,452.4000015258789]} -recieve: {"action":"move","direction":[241,452.4000015258789]} -recieve: {"action":"move","direction":[243,452.4000015258789]} -recieve: {"action":"move","direction":[244,452.4000015258789]} -recieve: {"action":"move","direction":[244,452.4000015258789]} -recieve: {"action":"move","direction":[244,452.4000015258789]} -recieve: {"action":"move","direction":[246,452.4000015258789]} -recieve: {"action":"move","direction":[248,452.4000015258789]} -recieve: {"action":"move","direction":[248,452.4000015258789]} -recieve: {"action":"move","direction":[250,452.4000015258789]} -recieve: {"action":"move","direction":[252,452.4000015258789]} -recieve: {"action":"move","direction":[252,452.4000015258789]} -recieve: {"action":"move","direction":[253,452.4000015258789]} -recieve: {"action":"move","direction":[254,452.4000015258789]} -recieve: {"action":"move","direction":[255,452.4000015258789]} -recieve: {"action":"move","direction":[256,453.4000015258789]} -recieve: {"action":"move","direction":[256,454.4000015258789]} -recieve: {"action":"move","direction":[257,454.4000015258789]} -recieve: {"action":"move","direction":[258,454.4000015258789]} -recieve: {"action":"move","direction":[259,454.4000015258789]} -recieve: {"action":"move","direction":[260,454.4000015258789]} -recieve: {"action":"move","direction":[261,454.4000015258789]} -recieve: {"action":"move","direction":[263,455.4000015258789]} -recieve: {"action":"move","direction":[264,455.4000015258789]} -recieve: {"action":"move","direction":[264,455.4000015258789]} -recieve: {"action":"move","direction":[265,455.4000015258789]} -recieve: {"action":"move","direction":[266,455.4000015258789]} -recieve: {"action":"move","direction":[267,455.4000015258789]} -recieve: {"action":"move","direction":[268,455.4000015258789]} -recieve: {"action":"move","direction":[269,455.4000015258789]} -recieve: {"action":"move","direction":[270,455.4000015258789]} -recieve: {"action":"move","direction":[271,455.4000015258789]} -recieve: {"action":"move","direction":[272,455.4000015258789]} -recieve: {"action":"move","direction":[273,455.4000015258789]} -recieve: {"action":"move","direction":[274,455.4000015258789]} -recieve: {"action":"move","direction":[275,455.4000015258789]} -recieve: {"action":"move","direction":[276,455.4000015258789]} -recieve: {"action":"move","direction":[276,455.4000015258789]} -recieve: {"action":"move","direction":[278,455.4000015258789]} -recieve: {"action":"move","direction":[279,455.4000015258789]} -recieve: {"action":"move","direction":[280,455.4000015258789]} -recieve: {"action":"move","direction":[280,455.4000015258789]} -recieve: {"action":"move","direction":[281,455.4000015258789]} -recieve: {"action":"move","direction":[283,455.4000015258789]} -recieve: {"action":"move","direction":[284,455.4000015258789]} -recieve: {"action":"move","direction":[285,455.4000015258789]} -recieve: {"action":"move","direction":[286,455.4000015258789]} -recieve: {"action":"move","direction":[288,455.4000015258789]} -recieve: {"action":"move","direction":[288,455.4000015258789]} -recieve: {"action":"move","direction":[289,455.4000015258789]} -recieve: {"action":"move","direction":[290,455.4000015258789]} -recieve: {"action":"move","direction":[292,455.4000015258789]} -recieve: {"action":"move","direction":[292,455.4000015258789]} -recieve: {"action":"move","direction":[294,455.4000015258789]} -recieve: {"action":"move","direction":[296,455.4000015258789]} -recieve: {"action":"move","direction":[297,455.4000015258789]} -recieve: {"action":"move","direction":[299,455.4000015258789]} -recieve: {"action":"move","direction":[300,455.4000015258789]} -recieve: {"action":"move","direction":[300,455.4000015258789]} -recieve: {"action":"move","direction":[301,455.4000015258789]} -recieve: {"action":"move","direction":[303,455.4000015258789]} -recieve: {"action":"move","direction":[304,455.4000015258789]} -recieve: {"action":"move","direction":[306,454.4000015258789]} -recieve: {"action":"move","direction":[308,454.4000015258789]} -recieve: {"action":"move","direction":[308,454.4000015258789]} -recieve: {"action":"move","direction":[309,453.4000015258789]} -recieve: {"action":"move","direction":[311,453.4000015258789]} -recieve: {"action":"move","direction":[312,453.4000015258789]} -recieve: {"action":"move","direction":[312,453.4000015258789]} -recieve: {"action":"move","direction":[313,453.4000015258789]} -recieve: {"action":"move","direction":[314,453.4000015258789]} -recieve: {"action":"move","direction":[315,453.4000015258789]} -recieve: {"action":"move","direction":[316,453.4000015258789]} -recieve: {"action":"move","direction":[317,453.4000015258789]} -recieve: {"action":"move","direction":[318,453.4000015258789]} -recieve: {"action":"move","direction":[319,453.4000015258789]} -recieve: {"action":"move","direction":[320,453.4000015258789]} -recieve: {"action":"move","direction":[320,453.4000015258789]} -recieve: {"action":"move","direction":[321,453.4000015258789]} -recieve: {"action":"move","direction":[322,453.4000015258789]} -recieve: {"action":"move","direction":[323,453.4000015258789]} -recieve: {"action":"move","direction":[324,453.4000015258789]} -recieve: {"action":"move","direction":[325,453.4000015258789]} -recieve: {"action":"move","direction":[327,453.4000015258789]} -recieve: {"action":"move","direction":[328,453.4000015258789]} -recieve: {"action":"move","direction":[328,453.4000015258789]} -recieve: {"action":"move","direction":[329,453.4000015258789]} -recieve: {"action":"move","direction":[330,453.4000015258789]} -recieve: {"action":"move","direction":[331,453.4000015258789]} -recieve: {"action":"move","direction":[332,453.4000015258789]} -recieve: {"action":"move","direction":[332,453.4000015258789]} -recieve: {"action":"move","direction":[334,453.4000015258789]} -recieve: {"action":"move","direction":[335,453.4000015258789]} -recieve: {"action":"move","direction":[337,453.4000015258789]} -recieve: {"action":"move","direction":[338,453.4000015258789]} -recieve: {"action":"move","direction":[340,453.4000015258789]} -recieve: {"action":"move","direction":[340,453.4000015258789]} -recieve: {"action":"move","direction":[341,453.4000015258789]} -recieve: {"action":"move","direction":[343,453.4000015258789]} -recieve: {"action":"move","direction":[344,453.4000015258789]} -recieve: {"action":"move","direction":[345,453.4000015258789]} -recieve: {"action":"move","direction":[346,453.4000015258789]} -recieve: {"action":"move","direction":[347,453.4000015258789]} -recieve: {"action":"move","direction":[348,453.4000015258789]} -recieve: {"action":"move","direction":[348,453.4000015258789]} -recieve: {"action":"move","direction":[350,452.4000015258789]} -recieve: {"action":"move","direction":[351,452.4000015258789]} -recieve: {"action":"move","direction":[352,452.4000015258789]} -recieve: {"action":"move","direction":[352,452.4000015258789]} -recieve: {"action":"move","direction":[353,452.4000015258789]} -recieve: {"action":"move","direction":[355,452.4000015258789]} -recieve: {"action":"move","direction":[356,452.4000015258789]} -recieve: {"action":"move","direction":[357,452.4000015258789]} -recieve: {"action":"move","direction":[358,452.4000015258789]} -recieve: {"action":"move","direction":[359,452.4000015258789]} -recieve: {"action":"move","direction":[360,452.4000015258789]} -recieve: {"action":"move","direction":[361,452.4000015258789]} -recieve: {"action":"move","direction":[362,452.4000015258789]} -recieve: {"action":"move","direction":[364,452.4000015258789]} -recieve: {"action":"move","direction":[364,452.4000015258789]} -recieve: {"action":"move","direction":[365,452.4000015258789]} -recieve: {"action":"move","direction":[366,452.4000015258789]} -recieve: {"action":"move","direction":[368,452.4000015258789]} -recieve: {"action":"move","direction":[369,452.4000015258789]} -recieve: {"action":"move","direction":[370,452.4000015258789]} -recieve: {"action":"move","direction":[371,452.4000015258789]} -recieve: {"action":"move","direction":[372,452.4000015258789]} -recieve: {"action":"move","direction":[373,452.4000015258789]} -recieve: {"action":"move","direction":[374,452.4000015258789]} -recieve: {"action":"move","direction":[376,452.4000015258789]} -recieve: {"action":"move","direction":[376,452.4000015258789]} -recieve: {"action":"move","direction":[378,452.4000015258789]} -recieve: {"action":"move","direction":[379,452.4000015258789]} -recieve: {"action":"move","direction":[380,452.4000015258789]} -recieve: {"action":"move","direction":[380,452.4000015258789]} -recieve: {"action":"move","direction":[381,452.4000015258789]} -recieve: {"action":"move","direction":[383,452.4000015258789]} -recieve: {"action":"move","direction":[384,452.4000015258789]} -recieve: {"action":"move","direction":[384,452.4000015258789]} -recieve: {"action":"move","direction":[386,453.4000015258789]} -recieve: {"action":"move","direction":[387,453.4000015258789]} -recieve: {"action":"move","direction":[388,453.4000015258789]} -recieve: {"action":"move","direction":[388,454.4000015258789]} -recieve: {"action":"move","direction":[389,454.4000015258789]} -recieve: {"action":"move","direction":[390,454.4000015258789]} -recieve: {"action":"move","direction":[391,454.4000015258789]} -recieve: {"action":"move","direction":[392,454.4000015258789]} -recieve: {"action":"move","direction":[392,454.4000015258789]} -recieve: {"action":"move","direction":[393,454.4000015258789]} -recieve: {"action":"move","direction":[394,454.4000015258789]} -recieve: {"action":"move","direction":[396,454.4000015258789]} -recieve: {"action":"move","direction":[396,454.4000015258789]} -recieve: {"action":"move","direction":[397,454.4000015258789]} -recieve: {"action":"move","direction":[398,454.4000015258789]} -recieve: {"action":"move","direction":[400,454.4000015258789]} -recieve: {"action":"move","direction":[401,454.4000015258789]} -recieve: {"action":"move","direction":[402,454.4000015258789]} -recieve: {"action":"move","direction":[403,454.4000015258789]} -recieve: {"action":"move","direction":[404,454.4000015258789]} -recieve: {"action":"move","direction":[405,454.4000015258789]} -recieve: {"action":"move","direction":[406,454.4000015258789]} -recieve: {"action":"move","direction":[408,454.4000015258789]} -recieve: {"action":"move","direction":[408,454.4000015258789]} -recieve: {"action":"move","direction":[409,454.4000015258789]} -recieve: {"action":"move","direction":[410,453.4000015258789]} -recieve: {"action":"move","direction":[411,453.4000015258789]} -recieve: {"action":"move","direction":[412,452.4000015258789]} -recieve: {"action":"move","direction":[413,452.4000015258789]} -recieve: {"action":"move","direction":[414,452.4000015258789]} -recieve: {"action":"move","direction":[415,452.4000015258789]} -recieve: {"action":"move","direction":[415,451.4000015258789]} -recieve: {"action":"move","direction":[417,450.4000015258789]} -recieve: {"action":"move","direction":[418,450.4000015258789]} -recieve: {"action":"move","direction":[419,450.4000015258789]} -recieve: {"action":"move","direction":[420,450.4000015258789]} -recieve: {"action":"move","direction":[420,450.4000015258789]} -recieve: {"action":"move","direction":[421,450.4000015258789]} -recieve: {"action":"move","direction":[422,450.4000015258789]} -recieve: {"action":"move","direction":[423,450.4000015258789]} -recieve: {"action":"move","direction":[424,450.4000015258789]} -recieve: {"action":"move","direction":[424,450.4000015258789]} -recieve: {"action":"move","direction":[425,450.4000015258789]} -recieve: {"action":"move","direction":[426,450.4000015258789]} -recieve: {"action":"move","direction":[428,451.4000015258789]} -recieve: {"action":"move","direction":[428,451.4000015258789]} -recieve: {"action":"move","direction":[429,451.4000015258789]} -recieve: {"action":"move","direction":[431,451.4000015258789]} -recieve: {"action":"move","direction":[432,451.4000015258789]} -recieve: {"action":"move","direction":[432,451.4000015258789]} -recieve: {"action":"move","direction":[433,452.4000015258789]} -recieve: {"action":"move","direction":[434,452.4000015258789]} -recieve: {"action":"move","direction":[435,452.4000015258789]} -recieve: {"action":"move","direction":[436,452.4000015258789]} -recieve: {"action":"move","direction":[436,452.4000015258789]} -recieve: {"action":"move","direction":[436,452.4000015258789]} -recieve: {"action":"move","direction":[437,452.4000015258789]} -recieve: {"action":"move","direction":[438,452.4000015258789]} -recieve: {"action":"move","direction":[440,452.4000015258789]} -recieve: {"action":"move","direction":[441,453.4000015258789]} -recieve: {"action":"move","direction":[444,454.4000015258789]} -recieve: {"action":"move","direction":[444,454.4000015258789]} -recieve: {"action":"move","direction":[447,455.4000015258789]} -recieve: {"action":"move","direction":[448,456.4000015258789]} -recieve: {"action":"move","direction":[450,456.4000015258789]} -recieve: {"action":"move","direction":[452,456.4000015258789]} -recieve: {"action":"move","direction":[452,456.4000015258789]} -recieve: {"action":"move","direction":[453,456.4000015258789]} -recieve: {"action":"move","direction":[455,456.4000015258789]} -recieve: {"action":"move","direction":[456,456.4000015258789]} -recieve: {"action":"move","direction":[456,456.4000015258789]} -recieve: {"action":"move","direction":[457,456.4000015258789]} -recieve: {"action":"move","direction":[458,456.4000015258789]} -recieve: {"action":"move","direction":[459,456.4000015258789]} -recieve: {"action":"move","direction":[460,456.4000015258789]} -recieve: {"action":"move","direction":[460,457.4000015258789]} -recieve: {"action":"move","direction":[459,457.4000015258789]} -recieve: {"action":"move","direction":[458,457.4000015258789]} -recieve: {"action":"move","direction":[457,457.4000015258789]} -recieve: {"action":"move","direction":[456,457.4000015258789]} -recieve: {"action":"move","direction":[456,456.4000015258789]} -recieve: {"action":"move","direction":[456,456.4000015258789]} -recieve: {"action":"move","direction":[455,456.4000015258789]} -recieve: {"action":"move","direction":[454,454.4000015258789]} -recieve: {"action":"move","direction":[454,453.4000015258789]} -recieve: {"action":"move","direction":[454,452.4000015258789]} -recieve: {"action":"move","direction":[453,451.4000015258789]} -recieve: {"action":"move","direction":[452,450.4000015258789]} -recieve: {"action":"move","direction":[452,449.4000015258789]} -recieve: {"action":"move","direction":[452,448.4000015258789]} -recieve: {"action":"move","direction":[452,448.4000015258789]} -recieve: {"action":"move","direction":[452,446.4000015258789]} -recieve: {"action":"move","direction":[452,445.4000015258789]} -recieve: {"action":"move","direction":[452,444.4000015258789]} -recieve: {"action":"move","direction":[452,444.4000015258789]} -recieve: {"action":"move","direction":[453,443.4000015258789]} -recieve: {"action":"move","direction":[453,441.4000015258789]} -recieve: {"action":"move","direction":[453,440.4000015258789]} -recieve: {"action":"move","direction":[454,440.4000015258789]} -recieve: {"action":"move","direction":[454,439.4000015258789]} -recieve: {"action":"move","direction":[455,436.4000015258789]} -recieve: {"action":"move","direction":[456,436.4000015258789]} -recieve: {"action":"move","direction":[456,436.4000015258789]} -recieve: {"action":"move","direction":[456,435.4000015258789]} -recieve: {"action":"move","direction":[456,433.4000015258789]} -recieve: {"action":"move","direction":[457,432.4000015258789]} -recieve: {"action":"move","direction":[458,432.4000015258789]} -recieve: {"action":"move","direction":[458,432.4000015258789]} -recieve: {"action":"move","direction":[458,431.4000015258789]} -recieve: {"action":"move","direction":[459,430.4000015258789]} -recieve: {"action":"move","direction":[460,428.4000015258789]} -recieve: {"action":"move","direction":[460,428.4000015258789]} -recieve: {"action":"move","direction":[460,427.4000015258789]} -recieve: {"action":"move","direction":[460,426.4000015258789]} -recieve: {"action":"move","direction":[460,425.4000015258789]} -recieve: {"action":"move","direction":[462,423.4000015258789]} -recieve: {"action":"move","direction":[463,421.4000015258789]} -recieve: {"action":"move","direction":[463,420.4000015258789]} -recieve: {"action":"move","direction":[464,420.4000015258789]} -recieve: {"action":"move","direction":[464,418.4000015258789]} -recieve: {"action":"move","direction":[465,417.4000015258789]} -recieve: {"action":"move","direction":[465,416.4000015258789]} -recieve: {"action":"move","direction":[466,416.4000015258789]} -recieve: {"action":"move","direction":[466,415.4000015258789]} -recieve: {"action":"move","direction":[466,413.4000015258789]} -recieve: {"action":"move","direction":[466,412.4000015258789]} -recieve: {"action":"move","direction":[466,412.4000015258789]} -recieve: {"action":"move","direction":[466,411.4000015258789]} -recieve: {"action":"move","direction":[465,409.4000015258789]} -recieve: {"action":"move","direction":[464,408.4000015258789]} -recieve: {"action":"move","direction":[464,408.4000015258789]} -recieve: {"action":"move","direction":[462,408.4000015258789]} -recieve: {"action":"move","direction":[462,406.4000015258789]} -recieve: {"action":"move","direction":[462,404.4000015258789]} -recieve: {"action":"move","direction":[462,404.4000015258789]} -recieve: {"action":"move","direction":[462,401.4000015258789]} -recieve: {"action":"move","direction":[462,400.4000015258789]} -recieve: {"action":"move","direction":[461,400.4000015258789]} -recieve: {"action":"move","direction":[461,398.4000015258789]} -recieve: {"action":"move","direction":[461,397.4000015258789]} -recieve: {"action":"move","direction":[461,396.4000015258789]} -recieve: {"action":"move","direction":[460,396.4000015258789]} -recieve: {"action":"move","direction":[460,396.4000015258789]} -recieve: {"action":"move","direction":[460,395.4000015258789]} -recieve: {"action":"move","direction":[459,392.4000015258789]} -recieve: {"action":"move","direction":[459,392.4000015258789]} -recieve: {"action":"move","direction":[458,391.4000015258789]} -recieve: {"action":"move","direction":[457,390.4000015258789]} -recieve: {"action":"move","direction":[456,388.4000015258789]} -recieve: {"action":"move","direction":[456,388.4000015258789]} -recieve: {"action":"move","direction":[456,386.4000015258789]} -recieve: {"action":"move","direction":[455,386.4000015258789]} -recieve: {"action":"move","direction":[455,385.4000015258789]} -recieve: {"action":"move","direction":[455,384.4000015258789]} -recieve: {"action":"move","direction":[455,383.4000015258789]} -recieve: {"action":"move","direction":[455,381.4000015258789]} -recieve: {"action":"move","direction":[455,380.4000015258789]} -recieve: {"action":"move","direction":[455,378.4000015258789]} -recieve: {"action":"move","direction":[455,377.4000015258789]} -recieve: {"action":"move","direction":[455,376.4000015258789]} -recieve: {"action":"move","direction":[455,376.4000015258789]} -recieve: {"action":"move","direction":[455,374.4000015258789]} -recieve: {"action":"move","direction":[455,372.4000015258789]} -recieve: {"action":"move","direction":[455,371.4000015258789]} -recieve: {"action":"move","direction":[455,370.4000015258789]} -recieve: {"action":"move","direction":[455,369.4000015258789]} -recieve: {"action":"move","direction":[455,368.4000015258789]} -recieve: {"action":"move","direction":[455,366.4000015258789]} -recieve: {"action":"move","direction":[455,365.4000015258789]} -recieve: {"action":"move","direction":[455,364.4000015258789]} -recieve: {"action":"move","direction":[455,364.4000015258789]} -recieve: {"action":"move","direction":[455,362.4000015258789]} -recieve: {"action":"move","direction":[455,361.4000015258789]} -recieve: {"action":"move","direction":[455,360.4000015258789]} -recieve: {"action":"move","direction":[455,359.4000015258789]} -recieve: {"action":"move","direction":[455,358.4000015258789]} -recieve: {"action":"move","direction":[455,356.4000015258789]} -recieve: {"action":"move","direction":[456,355.4000015258789]} -recieve: {"action":"move","direction":[456,353.4000015258789]} -recieve: {"action":"move","direction":[456,352.4000015258789]} -recieve: {"action":"move","direction":[456,352.4000015258789]} -recieve: {"action":"move","direction":[456,350.4000015258789]} -recieve: {"action":"move","direction":[456,349.4000015258789]} -recieve: {"action":"move","direction":[456,348.4000015258789]} -recieve: {"action":"move","direction":[456,348.4000015258789]} -recieve: {"action":"move","direction":[456,347.4000015258789]} -recieve: {"action":"move","direction":[456,346.4000015258789]} -recieve: {"action":"move","direction":[457,344.4000015258789]} -recieve: {"action":"move","direction":[457,344.4000015258789]} -recieve: {"action":"move","direction":[457,343.4000015258789]} -recieve: {"action":"move","direction":[457,341.4000015258789]} -recieve: {"action":"move","direction":[457,340.4000015258789]} -recieve: {"action":"move","direction":[457,340.4000015258789]} -recieve: {"action":"move","direction":[459,337.4000015258789]} -recieve: {"action":"move","direction":[459,336.4000015258789]} -recieve: {"action":"move","direction":[459,336.4000015258789]} -recieve: {"action":"move","direction":[459,335.4000015258789]} -recieve: {"action":"move","direction":[459,334.4000015258789]} -recieve: {"action":"move","direction":[459,332.4000015258789]} -recieve: {"action":"move","direction":[459,332.4000015258789]} -recieve: {"action":"move","direction":[459,331.4000015258789]} -recieve: {"action":"move","direction":[459,329.4000015258789]} -recieve: {"action":"move","direction":[459,328.4000015258789]} -recieve: {"action":"move","direction":[459,328.4000015258789]} -recieve: {"action":"move","direction":[459,327.4000015258789]} -recieve: {"action":"move","direction":[459,325.4000015258789]} -recieve: {"action":"move","direction":[459,324.4000015258789]} -recieve: {"action":"move","direction":[459,323.4000015258789]} -recieve: {"action":"move","direction":[459,322.4000015258789]} -recieve: {"action":"move","direction":[459,320.4000015258789]} -recieve: {"action":"move","direction":[459,320.4000015258789]} -recieve: {"action":"move","direction":[459,319.4000015258789]} -recieve: {"action":"move","direction":[459,317.4000015258789]} -recieve: {"action":"move","direction":[459,316.4000015258789]} -recieve: {"action":"move","direction":[459,315.4000015258789]} -recieve: {"action":"move","direction":[459,314.4000015258789]} -recieve: {"action":"move","direction":[459,313.4000015258789]} -recieve: {"action":"move","direction":[459,312.4000015258789]} -recieve: {"action":"move","direction":[459,308.4000015258789]} -recieve: {"action":"move","direction":[458,308.4000015258789]} -recieve: {"action":"move","direction":[458,307.4000015258789]} -recieve: {"action":"move","direction":[457,303.4000015258789]} -recieve: {"action":"move","direction":[457,301.4000015258789]} -recieve: {"action":"move","direction":[456,300.4000015258789]} -recieve: {"action":"move","direction":[456,298.4000015258789]} -recieve: {"action":"move","direction":[456,295.4000015258789]} -recieve: {"action":"move","direction":[456,293.4000015258789]} -recieve: {"action":"move","direction":[456,292.4000015258789]} -recieve: {"action":"move","direction":[455,290.4000015258789]} -recieve: {"action":"move","direction":[455,288.4000015258789]} -recieve: {"action":"move","direction":[454,287.4000015258789]} -recieve: {"action":"move","direction":[454,285.4000015258789]} -recieve: {"action":"move","direction":[454,284.4000015258789]} -recieve: {"action":"move","direction":[452,283.4000015258789]} -recieve: {"action":"move","direction":[452,282.4000015258789]} -recieve: {"action":"move","direction":[452,281.4000015258789]} -recieve: {"action":"move","direction":[452,280.4000015258789]} -recieve: {"action":"move","direction":[452,280.4000015258789]} -recieve: {"action":"move","direction":[452,279.4000015258789]} -recieve: {"action":"move","direction":[452,278.4000015258789]} -recieve: {"action":"move","direction":[452,276.4000015258789]} -recieve: {"action":"move","direction":[452,276.4000015258789]} -recieve: {"action":"move","direction":[452,275.4000015258789]} -recieve: {"action":"move","direction":[452,274.4000015258789]} -recieve: {"action":"move","direction":[452,273.4000015258789]} -recieve: {"action":"move","direction":[452,272.4000015258789]} -recieve: {"action":"move","direction":[452,272.4000015258789]} -recieve: {"action":"move","direction":[452,271.4000015258789]} -recieve: {"action":"move","direction":[452,270.4000015258789]} -recieve: {"action":"move","direction":[452,269.4000015258789]} -recieve: {"action":"move","direction":[452,268.4000015258789]} -recieve: {"action":"move","direction":[452,267.4000015258789]} -recieve: {"action":"move","direction":[452,266.4000015258789]} -recieve: {"action":"move","direction":[452,265.4000015258789]} -recieve: {"action":"move","direction":[452,264.4000015258789]} -recieve: {"action":"move","direction":[452,264.4000015258789]} -recieve: {"action":"move","direction":[452,263.4000015258789]} -recieve: {"action":"move","direction":[452,262.4000015258789]} -recieve: {"action":"move","direction":[452,261.4000015258789]} -recieve: {"action":"move","direction":[452,260.4000015258789]} -recieve: {"action":"move","direction":[452,259.4000015258789]} -recieve: {"action":"move","direction":[452,258.4000015258789]} -recieve: {"action":"move","direction":[452,256.4000015258789]} -recieve: {"action":"move","direction":[452,256.4000015258789]} -recieve: {"action":"move","direction":[452,255.4000015258789]} -recieve: {"action":"move","direction":[452,253.4000015258789]} -recieve: {"action":"move","direction":[452,252.4000015258789]} -recieve: {"action":"move","direction":[452,252.4000015258789]} -recieve: {"action":"move","direction":[452,250.4000015258789]} -recieve: {"action":"move","direction":[452,249.4000015258789]} -recieve: {"action":"move","direction":[452,248.4000015258789]} -recieve: {"action":"move","direction":[453,248.4000015258789]} -recieve: {"action":"move","direction":[453,247.4000015258789]} -recieve: {"action":"move","direction":[453,246.4000015258789]} -recieve: {"action":"move","direction":[453,244.4000015258789]} -recieve: {"action":"move","direction":[453,244.4000015258789]} -recieve: {"action":"move","direction":[454,243.4000015258789]} -recieve: {"action":"move","direction":[454,241.4000015258789]} -recieve: {"action":"move","direction":[455,240.4000015258789]} -recieve: {"action":"move","direction":[455,240.4000015258789]} -recieve: {"action":"move","direction":[455,238.4000015258789]} -recieve: {"action":"move","direction":[455,237.4000015258789]} -recieve: {"action":"move","direction":[455,236.4000015258789]} -recieve: {"action":"move","direction":[455,236.4000015258789]} -recieve: {"action":"move","direction":[455,235.4000015258789]} -recieve: {"action":"move","direction":[455,234.4000015258789]} -recieve: {"action":"move","direction":[455,232.4000015258789]} -recieve: {"action":"move","direction":[455,232.4000015258789]} -recieve: {"action":"move","direction":[455,231.4000015258789]} -recieve: {"action":"move","direction":[455,228.4000015258789]} -recieve: {"action":"move","direction":[454,228.4000015258789]} -recieve: {"action":"move","direction":[454,228.4000015258789]} -recieve: {"action":"move","direction":[453,227.4000015258789]} -recieve: {"action":"move","direction":[452,226.4000015258789]} -recieve: {"action":"move","direction":[452,225.4000015258789]} -recieve: {"action":"move","direction":[452,224.4000015258789]} -recieve: {"action":"move","direction":[452,223.4000015258789]} -recieve: {"action":"move","direction":[452,223.4000015258789]} -recieve: {"action":"move","direction":[452,222.4000015258789]} -recieve: {"action":"move","direction":[452,220.4000015258789]} -recieve: {"action":"move","direction":[450,219.4000015258789]} -recieve: {"action":"move","direction":[450,217.4000015258789]} -recieve: {"action":"move","direction":[449,217.4000015258789]} -recieve: {"action":"move","direction":[449,216.4000015258789]} -recieve: {"action":"move","direction":[449,216.4000015258789]} -recieve: {"action":"move","direction":[448,215.4000015258789]} -recieve: {"action":"move","direction":[448,214.4000015258789]} -recieve: {"action":"move","direction":[448,213.4000015258789]} -recieve: {"action":"move","direction":[448,212.4000015258789]} -recieve: {"action":"move","direction":[448,211.4000015258789]} -recieve: {"action":"move","direction":[448,210.4000015258789]} -recieve: {"action":"move","direction":[447,208.4000015258789]} -recieve: {"action":"move","direction":[447,208.4000015258789]} -recieve: {"action":"move","direction":[447,207.4000015258789]} -recieve: {"action":"move","direction":[447,206.4000015258789]} -recieve: {"action":"move","direction":[447,205.4000015258789]} -recieve: {"action":"move","direction":[447,204.4000015258789]} -recieve: {"action":"move","direction":[447,204.4000015258789]} -recieve: {"action":"move","direction":[447,203.4000015258789]} -recieve: {"action":"move","direction":[448,202.4000015258789]} -recieve: {"action":"move","direction":[447,202.4000015258789]} -recieve: {"action":"move","direction":[446,202.4000015258789]} -recieve: {"action":"move","direction":[445,203.4000015258789]} -recieve: {"action":"move","direction":[444,203.4000015258789]} -recieve: {"action":"move","direction":[443,203.4000015258789]} -recieve: {"action":"move","direction":[442,203.4000015258789]} -recieve: {"action":"move","direction":[440,204.4000015258789]} -recieve: {"action":"move","direction":[440,204.4000015258789]} -recieve: {"action":"move","direction":[440,205.4000015258789]} -recieve: {"action":"move","direction":[439,205.4000015258789]} -recieve: {"action":"move","direction":[438,205.4000015258789]} -recieve: {"action":"up","direction":[438,205.4000015258789]} -up: {'action': 'up', 'direction': [438, 205.4000015258789]} -recieve: {"action":"move","direction":[448,203.4000015258789]} -recieve: {"action":"move","direction":[448,202.4000015258789]} -recieve: {"action":"move","direction":[448,200.4000015258789]} -recieve: {"action":"move","direction":[448,199.4000015258789]} -recieve: {"action":"move","direction":[448,198.4000015258789]} -recieve: {"action":"move","direction":[448,196.4000015258789]} -recieve: {"action":"move","direction":[448,195.4000015258789]} -recieve: {"action":"move","direction":[449,194.4000015258789]} -recieve: {"action":"move","direction":[449,192.4000015258789]} -recieve: {"action":"move","direction":[449,191.4000015258789]} -recieve: {"action":"move","direction":[451,189.4000015258789]} -recieve: {"action":"move","direction":[451,188.4000015258789]} -recieve: {"action":"move","direction":[452,188.4000015258789]} -recieve: {"action":"move","direction":[452,186.4000015258789]} -recieve: {"action":"move","direction":[452,185.4000015258789]} -recieve: {"action":"move","direction":[452,185.4000015258789]} -recieve: {"action":"move","direction":[452,184.4000015258789]} -recieve: {"action":"move","direction":[452,183.4000015258789]} -recieve: {"action":"move","direction":[452,182.4000015258789]} -recieve: {"action":"move","direction":[452,181.4000015258789]} -recieve: {"action":"move","direction":[452,180.4000015258789]} -recieve: {"action":"move","direction":[452,180.4000015258789]} -recieve: {"action":"move","direction":[452,179.4000015258789]} -recieve: {"action":"move","direction":[452,177.4000015258789]} -recieve: {"action":"move","direction":[452,176.4000015258789]} -recieve: {"action":"move","direction":[452,176.4000015258789]} -recieve: {"action":"move","direction":[452,174.4000015258789]} -recieve: {"action":"move","direction":[452,173.4000015258789]} -recieve: {"action":"move","direction":[452,172.4000015258789]} -recieve: {"action":"move","direction":[452,172.4000015258789]} -recieve: {"action":"move","direction":[452,171.4000015258789]} -recieve: {"action":"move","direction":[452,170.4000015258789]} -recieve: {"action":"move","direction":[452,168.4000015258789]} -recieve: {"action":"move","direction":[452,168.4000015258789]} -recieve: {"action":"move","direction":[452,168.4000015258789]} -recieve: {"action":"move","direction":[452,167.4000015258789]} -recieve: {"action":"move","direction":[452,165.4000015258789]} -recieve: {"action":"move","direction":[452,164.4000015258789]} -recieve: {"action":"move","direction":[452,164.4000015258789]} -recieve: {"action":"move","direction":[451,164.4000015258789]} -recieve: {"action":"move","direction":[450,163.4000015258789]} -recieve: {"action":"move","direction":[450,162.4000015258789]} -recieve: {"action":"move","direction":[450,161.4000015258789]} -recieve: {"action":"move","direction":[450,160.4000015258789]} -recieve: {"action":"move","direction":[448,158.4000015258789]} -recieve: {"action":"move","direction":[448,156.4000015258789]} -recieve: {"action":"move","direction":[448,156.4000015258789]} -recieve: {"action":"move","direction":[448,155.4000015258789]} -recieve: {"action":"move","direction":[448,154.4000015258789]} -recieve: {"action":"move","direction":[448,152.4000015258789]} -recieve: {"action":"move","direction":[448,152.4000015258789]} -recieve: {"action":"move","direction":[448,151.4000015258789]} -recieve: {"action":"move","direction":[448,150.4000015258789]} -recieve: {"action":"move","direction":[448,149.4000015258789]} -recieve: {"action":"move","direction":[448,148.4000015258789]} -recieve: {"action":"move","direction":[448,147.4000015258789]} -recieve: {"action":"move","direction":[448,146.4000015258789]} -recieve: {"action":"move","direction":[448,145.4000015258789]} -recieve: {"action":"move","direction":[448,144.4000015258789]} -recieve: {"action":"move","direction":[448,144.4000015258789]} -recieve: {"action":"move","direction":[448,142.4000015258789]} -recieve: {"action":"move","direction":[447,141.4000015258789]} -recieve: {"action":"move","direction":[446,140.4000015258789]} -recieve: {"action":"move","direction":[445,140.4000015258789]} -recieve: {"action":"move","direction":[444,140.4000015258789]} -recieve: {"action":"move","direction":[444,140.4000015258789]} -recieve: {"action":"move","direction":[443,140.4000015258789]} -recieve: {"action":"move","direction":[442,140.4000015258789]} -recieve: {"action":"move","direction":[440,140.4000015258789]} -recieve: {"action":"move","direction":[440,140.4000015258789]} -recieve: {"action":"move","direction":[439,140.4000015258789]} -recieve: {"action":"move","direction":[438,140.4000015258789]} -recieve: {"action":"move","direction":[437,140.4000015258789]} -recieve: {"action":"move","direction":[436,140.4000015258789]} -recieve: {"action":"move","direction":[436,140.4000015258789]} -recieve: {"action":"move","direction":[436,140.4000015258789]} -recieve: {"action":"move","direction":[434,141.4000015258789]} -recieve: {"action":"move","direction":[433,141.4000015258789]} -recieve: {"action":"move","direction":[432,142.4000015258789]} -recieve: {"action":"move","direction":[432,142.4000015258789]} -recieve: {"action":"move","direction":[431,143.4000015258789]} -recieve: {"action":"move","direction":[430,144.4000015258789]} -recieve: {"action":"move","direction":[429,144.4000015258789]} -recieve: {"action":"move","direction":[428,144.4000015258789]} -recieve: {"action":"move","direction":[428,144.4000015258789]} -recieve: {"action":"move","direction":[427,145.4000015258789]} -recieve: {"action":"move","direction":[426,145.4000015258789]} -recieve: {"action":"move","direction":[425,145.4000015258789]} -recieve: {"action":"move","direction":[424,145.4000015258789]} -recieve: {"action":"move","direction":[424,145.4000015258789]} -recieve: {"action":"move","direction":[423,145.4000015258789]} -recieve: {"action":"move","direction":[422,145.4000015258789]} -recieve: {"action":"move","direction":[421,145.4000015258789]} -recieve: {"action":"move","direction":[420,145.4000015258789]} -recieve: {"action":"move","direction":[420,145.4000015258789]} -recieve: {"action":"move","direction":[419,145.4000015258789]} -recieve: {"action":"move","direction":[417,145.4000015258789]} -recieve: {"action":"move","direction":[416,145.4000015258789]} -recieve: {"action":"move","direction":[416,145.4000015258789]} -recieve: {"action":"move","direction":[415,145.4000015258789]} -recieve: {"action":"move","direction":[414,145.4000015258789]} -recieve: {"action":"move","direction":[413,145.4000015258789]} -recieve: {"action":"move","direction":[412,145.4000015258789]} -recieve: {"action":"move","direction":[412,145.4000015258789]} -recieve: {"action":"move","direction":[411,145.4000015258789]} -recieve: {"action":"move","direction":[410,145.4000015258789]} -recieve: {"action":"move","direction":[408,145.4000015258789]} -recieve: {"action":"move","direction":[408,145.4000015258789]} -recieve: {"action":"move","direction":[407,145.4000015258789]} -recieve: {"action":"move","direction":[406,145.4000015258789]} -recieve: {"action":"move","direction":[405,145.4000015258789]} -recieve: {"action":"move","direction":[404,145.4000015258789]} -recieve: {"action":"move","direction":[403,145.4000015258789]} -recieve: {"action":"move","direction":[402,145.4000015258789]} -recieve: {"action":"move","direction":[401,145.4000015258789]} -recieve: {"action":"move","direction":[400,145.4000015258789]} -recieve: {"action":"move","direction":[399,145.4000015258789]} -recieve: {"action":"move","direction":[398,145.4000015258789]} -recieve: {"action":"move","direction":[397,145.4000015258789]} -recieve: {"action":"move","direction":[396,145.4000015258789]} -recieve: {"action":"move","direction":[394,145.4000015258789]} -recieve: {"action":"move","direction":[393,145.4000015258789]} -recieve: {"action":"move","direction":[392,145.4000015258789]} -recieve: {"action":"move","direction":[391,145.4000015258789]} -recieve: {"action":"move","direction":[390,145.4000015258789]} -recieve: {"action":"move","direction":[389,145.4000015258789]} -recieve: {"action":"move","direction":[388,145.4000015258789]} -recieve: {"action":"move","direction":[385,145.4000015258789]} -recieve: {"action":"move","direction":[376,145.4000015258789]} -recieve: {"action":"move","direction":[372,145.4000015258789]} -recieve: {"action":"move","direction":[368,145.4000015258789]} -recieve: {"action":"move","direction":[368,145.4000015258789]} -recieve: {"action":"move","direction":[367,145.4000015258789]} -recieve: {"action":"move","direction":[367,144.4000015258789]} -recieve: {"action":"move","direction":[362,144.4000015258789]} -recieve: {"action":"move","direction":[359,144.4000015258789]} -recieve: {"action":"move","direction":[358,144.4000015258789]} -recieve: {"action":"move","direction":[356,144.4000015258789]} -recieve: {"action":"move","direction":[352,144.4000015258789]} -recieve: {"action":"move","direction":[352,144.4000015258789]} -recieve: {"action":"move","direction":[349,144.4000015258789]} -recieve: {"action":"move","direction":[348,144.4000015258789]} -recieve: {"action":"move","direction":[346,144.4000015258789]} -recieve: {"action":"move","direction":[344,144.4000015258789]} -recieve: {"action":"move","direction":[342,144.4000015258789]} -recieve: {"action":"move","direction":[339,144.4000015258789]} -recieve: {"action":"move","direction":[336,144.4000015258789]} -recieve: {"action":"move","direction":[336,144.4000015258789]} -recieve: {"action":"move","direction":[333,145.4000015258789]} -recieve: {"action":"move","direction":[329,148.4000015258789]} -recieve: {"action":"move","direction":[327,148.4000015258789]} -recieve: {"action":"move","direction":[325,148.4000015258789]} -recieve: {"action":"move","direction":[324,150.4000015258789]} -recieve: {"action":"move","direction":[323,150.4000015258789]} -recieve: {"action":"move","direction":[320,150.4000015258789]} -recieve: {"action":"move","direction":[318,150.4000015258789]} -recieve: {"action":"move","direction":[316,150.4000015258789]} -recieve: {"action":"move","direction":[314,150.4000015258789]} -recieve: {"action":"move","direction":[312,150.4000015258789]} -recieve: {"action":"move","direction":[311,150.4000015258789]} -recieve: {"action":"move","direction":[309,150.4000015258789]} -recieve: {"action":"move","direction":[308,150.4000015258789]} -recieve: {"action":"move","direction":[306,149.4000015258789]} -recieve: {"action":"move","direction":[305,149.4000015258789]} -recieve: {"action":"move","direction":[304,149.4000015258789]} -recieve: {"action":"move","direction":[303,149.4000015258789]} -recieve: {"action":"move","direction":[300,149.4000015258789]} -recieve: {"action":"move","direction":[299,149.4000015258789]} -recieve: {"action":"move","direction":[297,148.4000015258789]} -recieve: {"action":"move","direction":[296,148.4000015258789]} -recieve: {"action":"move","direction":[296,148.4000015258789]} -recieve: {"action":"move","direction":[294,148.4000015258789]} -recieve: {"action":"move","direction":[293,147.4000015258789]} -recieve: {"action":"move","direction":[292,147.4000015258789]} -recieve: {"action":"move","direction":[291,147.4000015258789]} -recieve: {"action":"move","direction":[289,147.4000015258789]} -recieve: {"action":"move","direction":[288,147.4000015258789]} -recieve: {"action":"move","direction":[283,147.4000015258789]} -recieve: {"action":"move","direction":[279,147.4000015258789]} -recieve: {"action":"move","direction":[275,147.4000015258789]} -recieve: {"action":"move","direction":[274,147.4000015258789]} -recieve: {"action":"move","direction":[273,147.4000015258789]} -recieve: {"action":"move","direction":[272,147.4000015258789]} -recieve: {"action":"move","direction":[271,147.4000015258789]} -recieve: {"action":"move","direction":[269,147.4000015258789]} -recieve: {"action":"move","direction":[268,147.4000015258789]} -recieve: {"action":"move","direction":[266,147.4000015258789]} -recieve: {"action":"move","direction":[265,147.4000015258789]} -recieve: {"action":"move","direction":[264,147.4000015258789]} -recieve: {"action":"move","direction":[262,147.4000015258789]} -recieve: {"action":"move","direction":[261,147.4000015258789]} -recieve: {"action":"move","direction":[260,147.4000015258789]} -recieve: {"action":"move","direction":[259,147.4000015258789]} -recieve: {"action":"move","direction":[257,147.4000015258789]} -recieve: {"action":"move","direction":[256,147.4000015258789]} -recieve: {"action":"move","direction":[255,146.4000015258789]} -recieve: {"action":"move","direction":[254,146.4000015258789]} -recieve: {"action":"move","direction":[253,146.4000015258789]} -recieve: {"action":"move","direction":[252,146.4000015258789]} -recieve: {"action":"move","direction":[252,146.4000015258789]} -recieve: {"action":"move","direction":[251,145.4000015258789]} -recieve: {"action":"move","direction":[249,144.4000015258789]} -recieve: {"action":"move","direction":[248,144.4000015258789]} -recieve: {"action":"move","direction":[246,144.4000015258789]} -recieve: {"action":"move","direction":[245,143.4000015258789]} -recieve: {"action":"move","direction":[244,143.4000015258789]} -recieve: {"action":"move","direction":[244,143.4000015258789]} -recieve: {"action":"move","direction":[243,143.4000015258789]} -recieve: {"action":"move","direction":[242,143.4000015258789]} -recieve: {"action":"move","direction":[241,142.4000015258789]} -recieve: {"action":"move","direction":[240,142.4000015258789]} -recieve: {"action":"move","direction":[240,141.4000015258789]} -recieve: {"action":"move","direction":[238,141.4000015258789]} -recieve: {"action":"move","direction":[237,141.4000015258789]} -recieve: {"action":"move","direction":[236,141.4000015258789]} -recieve: {"action":"move","direction":[234,140.4000015258789]} -recieve: {"action":"move","direction":[232,140.4000015258789]} -recieve: {"action":"move","direction":[232,140.4000015258789]} -recieve: {"action":"move","direction":[231,140.4000015258789]} -recieve: {"action":"move","direction":[230,140.4000015258789]} -recieve: {"action":"move","direction":[229,140.4000015258789]} -recieve: {"action":"move","direction":[228,140.4000015258789]} -recieve: {"action":"move","direction":[227,140.4000015258789]} -recieve: {"action":"move","direction":[226,140.4000015258789]} -recieve: {"action":"move","direction":[225,140.4000015258789]} -recieve: {"action":"move","direction":[224,140.4000015258789]} -recieve: {"action":"move","direction":[224,140.4000015258789]} -recieve: {"action":"move","direction":[223,141.4000015258789]} -recieve: {"action":"move","direction":[223,142.4000015258789]} -recieve: {"action":"move","direction":[223,143.4000015258789]} -recieve: {"action":"move","direction":[223,144.4000015258789]} -recieve: {"action":"move","direction":[223,145.4000015258789]} -recieve: {"action":"move","direction":[223,146.4000015258789]} -recieve: {"action":"move","direction":[223,147.4000015258789]} -recieve: {"action":"move","direction":[221,147.4000015258789]} -recieve: {"action":"move","direction":[220,148.4000015258789]} -recieve: {"action":"move","direction":[220,148.4000015258789]} -recieve: {"action":"move","direction":[217,148.4000015258789]} -recieve: {"action":"move","direction":[216,148.4000015258789]} -recieve: {"action":"move","direction":[216,148.4000015258789]} -recieve: {"action":"move","direction":[215,148.4000015258789]} -recieve: {"action":"move","direction":[214,148.4000015258789]} -recieve: {"action":"move","direction":[213,148.4000015258789]} -recieve: {"action":"move","direction":[212,148.4000015258789]} -recieve: {"action":"move","direction":[212,148.4000015258789]} -recieve: {"action":"move","direction":[211,148.4000015258789]} -recieve: {"action":"move","direction":[208,147.4000015258789]} -recieve: {"action":"move","direction":[208,146.4000015258789]} -recieve: {"action":"move","direction":[206,146.4000015258789]} -recieve: {"action":"move","direction":[205,145.4000015258789]} -recieve: {"action":"move","direction":[204,145.4000015258789]} -recieve: {"action":"move","direction":[204,144.4000015258789]} -recieve: {"action":"move","direction":[203,144.4000015258789]} -recieve: {"action":"move","direction":[202,144.4000015258789]} -recieve: {"action":"move","direction":[201,144.4000015258789]} -recieve: {"action":"move","direction":[200,144.4000015258789]} -recieve: {"action":"move","direction":[200,144.4000015258789]} -recieve: {"action":"move","direction":[199,144.4000015258789]} -recieve: {"action":"move","direction":[197,144.4000015258789]} -recieve: {"action":"move","direction":[196,144.4000015258789]} -recieve: {"action":"move","direction":[196,144.4000015258789]} -recieve: {"action":"move","direction":[195,144.4000015258789]} -recieve: {"action":"move","direction":[193,144.4000015258789]} -recieve: {"action":"move","direction":[192,144.4000015258789]} -recieve: {"action":"move","direction":[191,144.4000015258789]} -recieve: {"action":"move","direction":[190,144.4000015258789]} -recieve: {"action":"move","direction":[188,144.4000015258789]} -recieve: {"action":"move","direction":[188,144.4000015258789]} -recieve: {"action":"move","direction":[187,144.4000015258789]} -recieve: {"action":"move","direction":[186,144.4000015258789]} -recieve: {"action":"move","direction":[185,144.4000015258789]} -recieve: {"action":"move","direction":[184,144.4000015258789]} -recieve: {"action":"move","direction":[184,144.4000015258789]} -recieve: {"action":"move","direction":[182,144.4000015258789]} -recieve: {"action":"move","direction":[181,144.4000015258789]} -recieve: {"action":"move","direction":[180,144.4000015258789]} -recieve: {"action":"move","direction":[179,144.4000015258789]} -recieve: {"action":"move","direction":[178,144.4000015258789]} -recieve: {"action":"move","direction":[176,144.4000015258789]} -recieve: {"action":"move","direction":[176,144.4000015258789]} -recieve: {"action":"move","direction":[175,144.4000015258789]} -recieve: {"action":"move","direction":[174,144.4000015258789]} -recieve: {"action":"move","direction":[173,144.4000015258789]} -recieve: {"action":"move","direction":[172,144.4000015258789]} -recieve: {"action":"move","direction":[171,144.4000015258789]} -recieve: {"action":"move","direction":[170,144.4000015258789]} -recieve: {"action":"move","direction":[169,144.4000015258789]} -recieve: {"action":"move","direction":[167,144.4000015258789]} -recieve: {"action":"move","direction":[166,144.4000015258789]} -recieve: {"action":"move","direction":[164,144.4000015258789]} -recieve: {"action":"move","direction":[161,144.4000015258789]} -recieve: {"action":"move","direction":[159,144.4000015258789]} -recieve: {"action":"move","direction":[157,144.4000015258789]} -recieve: {"action":"move","direction":[156,144.4000015258789]} -recieve: {"action":"move","direction":[155,143.4000015258789]} -recieve: {"action":"move","direction":[154,143.4000015258789]} -recieve: {"action":"move","direction":[152,143.4000015258789]} -recieve: {"action":"move","direction":[152,143.4000015258789]} -recieve: {"action":"move","direction":[151,143.4000015258789]} -recieve: {"action":"move","direction":[151,144.4000015258789]} -recieve: {"action":"move","direction":[150,144.4000015258789]} -recieve: {"action":"move","direction":[149,145.4000015258789]} -recieve: {"action":"move","direction":[148,145.4000015258789]} -recieve: {"action":"move","direction":[148,146.4000015258789]} -recieve: {"action":"move","direction":[148,147.4000015258789]} -recieve: {"action":"move","direction":[147,147.4000015258789]} -recieve: {"action":"move","direction":[146,147.4000015258789]} -recieve: {"action":"move","direction":[146,148.4000015258789]} -recieve: {"action":"move","direction":[146,149.4000015258789]} -recieve: {"action":"move","direction":[146,150.4000015258789]} -recieve: {"action":"up","direction":[146,150.4000015258789]} -up: {'action': 'up', 'direction': [146, 150.4000015258789]} -recieve: {"action":"submit"} -up: {'action': 'submit'} -Wrote www/generated/d8f48605a49b4563842d07695f1528a2.svg -Client disconnected -New client connected -Client disconnected -New client connected -recieve: {"action":"move","direction":[449,147]} -recieve: {"action":"move","direction":[449,148]} -recieve: {"action":"move","direction":[449,149]} -recieve: {"action":"move","direction":[449,150]} -recieve: {"action":"move","direction":[449,151]} -recieve: {"action":"move","direction":[449,153]} -recieve: {"action":"move","direction":[449,156]} -recieve: {"action":"move","direction":[449,158]} -recieve: {"action":"move","direction":[449,160]} -recieve: {"action":"move","direction":[449,161]} -recieve: {"action":"move","direction":[449,163]} -recieve: {"action":"move","direction":[449,164]} -recieve: {"action":"move","direction":[449,165]} -recieve: {"action":"move","direction":[450,165]} -recieve: {"action":"move","direction":[450,166]} -recieve: {"action":"move","direction":[450,168]} -recieve: {"action":"move","direction":[451,169]} -recieve: {"action":"move","direction":[451,170]} -recieve: {"action":"move","direction":[452,172]} -recieve: {"action":"move","direction":[452,173]} -recieve: {"action":"move","direction":[452,174]} -recieve: {"action":"move","direction":[452,175]} -recieve: {"action":"move","direction":[452,176]} -recieve: {"action":"move","direction":[452,177]} -recieve: {"action":"move","direction":[452,178]} -recieve: {"action":"move","direction":[452,179]} -recieve: {"action":"move","direction":[452,180]} -recieve: {"action":"move","direction":[452,181]} -recieve: {"action":"move","direction":[452,182]} -recieve: {"action":"move","direction":[452,183]} -recieve: {"action":"move","direction":[452,184]} -recieve: {"action":"move","direction":[452,185]} -recieve: {"action":"move","direction":[452,186]} -recieve: {"action":"move","direction":[452,187]} -recieve: {"action":"move","direction":[452,188]} -recieve: {"action":"move","direction":[452,189]} -recieve: {"action":"move","direction":[452,190]} -recieve: {"action":"move","direction":[452,191]} -recieve: {"action":"move","direction":[451,192]} -recieve: {"action":"move","direction":[451,193]} -recieve: {"action":"move","direction":[450,193]} -recieve: {"action":"move","direction":[450,194]} -recieve: {"action":"move","direction":[450,195]} -recieve: {"action":"move","direction":[450,196]} -recieve: {"action":"move","direction":[449,197]} -recieve: {"action":"move","direction":[449,198]} -recieve: {"action":"move","direction":[449,199]} -recieve: {"action":"move","direction":[449,200]} -recieve: {"action":"move","direction":[448,201]} -recieve: {"action":"move","direction":[447,202]} -recieve: {"action":"move","direction":[446,202]} -recieve: {"action":"move","direction":[446,203]} -recieve: {"action":"move","direction":[445,203]} -recieve: {"action":"move","direction":[444,203]} -recieve: {"action":"move","direction":[443,203]} -recieve: {"action":"move","direction":[442,203]} -recieve: {"action":"move","direction":[441,203]} -recieve: {"action":"move","direction":[440,203]} -recieve: {"action":"move","direction":[439,203]} -recieve: {"action":"up","direction":[439,203]} -up: {'action': 'up', 'direction': [439, 203]} -recieve: {"action":"move","direction":[448,206]} -recieve: {"action":"move","direction":[448,207]} -recieve: {"action":"move","direction":[449,208]} -recieve: {"action":"move","direction":[449,209]} -recieve: {"action":"move","direction":[449,210]} -recieve: {"action":"move","direction":[449,211]} -recieve: {"action":"move","direction":[449,212]} -recieve: {"action":"move","direction":[449,212]} -recieve: {"action":"move","direction":[449,213]} -recieve: {"action":"move","direction":[449,214]} -recieve: {"action":"move","direction":[449,215]} -recieve: {"action":"move","direction":[449,216]} -recieve: {"action":"move","direction":[449,217]} -recieve: {"action":"move","direction":[449,218]} -recieve: {"action":"move","direction":[449,219]} -recieve: {"action":"move","direction":[449,220]} -recieve: {"action":"move","direction":[449,221]} -recieve: {"action":"move","direction":[449,222]} -recieve: {"action":"move","direction":[450,223]} -recieve: {"action":"move","direction":[451,225]} -recieve: {"action":"move","direction":[452,226]} -recieve: {"action":"move","direction":[454,228]} -recieve: {"action":"move","direction":[455,229]} -recieve: {"action":"move","direction":[456,230]} -recieve: {"action":"move","direction":[455,231]} -recieve: {"action":"move","direction":[455,232]} -recieve: {"action":"move","direction":[455,234]} -recieve: {"action":"move","direction":[454,235]} -recieve: {"action":"move","direction":[454,236]} -recieve: {"action":"move","direction":[453,237]} -recieve: {"action":"move","direction":[453,238]} -recieve: {"action":"move","direction":[452,239]} -recieve: {"action":"move","direction":[452,240]} -recieve: {"action":"move","direction":[452,241]} -recieve: {"action":"move","direction":[452,242]} -recieve: {"action":"move","direction":[452,243]} -recieve: {"action":"move","direction":[452,244]} -recieve: {"action":"move","direction":[452,245]} -recieve: {"action":"move","direction":[452,246]} -recieve: {"action":"move","direction":[452,247]} -recieve: {"action":"move","direction":[452,248]} -recieve: {"action":"move","direction":[452,249]} -recieve: {"action":"move","direction":[452,250]} -recieve: {"action":"move","direction":[453,251]} -recieve: {"action":"move","direction":[453,252]} -recieve: {"action":"move","direction":[453,253]} -recieve: {"action":"move","direction":[454,254]} -recieve: {"action":"move","direction":[454,255]} -recieve: {"action":"move","direction":[454,257]} -recieve: {"action":"move","direction":[454,258]} -recieve: {"action":"move","direction":[454,260]} -recieve: {"action":"move","direction":[454,261]} -recieve: {"action":"move","direction":[454,262]} -recieve: {"action":"move","direction":[454,263]} -recieve: {"action":"move","direction":[454,264]} -recieve: {"action":"move","direction":[454,265]} -recieve: {"action":"move","direction":[454,266]} -recieve: {"action":"move","direction":[454,268]} -recieve: {"action":"move","direction":[454,269]} -recieve: {"action":"move","direction":[454,270]} -recieve: {"action":"move","direction":[454,271]} -recieve: {"action":"move","direction":[453,272]} -recieve: {"action":"move","direction":[453,273]} -recieve: {"action":"move","direction":[453,274]} -recieve: {"action":"move","direction":[453,275]} -recieve: {"action":"move","direction":[453,276]} -recieve: {"action":"move","direction":[453,277]} -recieve: {"action":"move","direction":[453,278]} -recieve: {"action":"move","direction":[453,279]} -recieve: {"action":"move","direction":[453,280]} -recieve: {"action":"move","direction":[453,281]} -recieve: {"action":"move","direction":[453,282]} -recieve: {"action":"move","direction":[453,283]} -recieve: {"action":"move","direction":[453,284]} -recieve: {"action":"move","direction":[453,285]} -recieve: {"action":"move","direction":[453,287]} -recieve: {"action":"move","direction":[453,288]} -recieve: {"action":"move","direction":[454,290]} -recieve: {"action":"move","direction":[454,291]} -recieve: {"action":"move","direction":[454,292]} -recieve: {"action":"move","direction":[454,293]} -recieve: {"action":"move","direction":[455,295]} -recieve: {"action":"move","direction":[455,296]} -recieve: {"action":"move","direction":[455,297]} -recieve: {"action":"move","direction":[456,298]} -recieve: {"action":"move","direction":[456,299]} -recieve: {"action":"move","direction":[456,300]} -recieve: {"action":"move","direction":[457,301]} -recieve: {"action":"move","direction":[457,302]} -recieve: {"action":"move","direction":[458,303]} -recieve: {"action":"move","direction":[458,305]} -recieve: {"action":"move","direction":[458,306]} -recieve: {"action":"move","direction":[458,308]} -recieve: {"action":"move","direction":[458,309]} -recieve: {"action":"move","direction":[459,310]} -recieve: {"action":"move","direction":[459,311]} -recieve: {"action":"move","direction":[459,312]} -recieve: {"action":"move","direction":[459,313]} -recieve: {"action":"move","direction":[459,315]} -recieve: {"action":"move","direction":[459,317]} -recieve: {"action":"move","direction":[460,318]} -recieve: {"action":"move","direction":[460,319]} -recieve: {"action":"move","direction":[460,321]} -recieve: {"action":"move","direction":[460,322]} -recieve: {"action":"move","direction":[461,322]} -recieve: {"action":"move","direction":[461,323]} -recieve: {"action":"move","direction":[461,324]} -recieve: {"action":"move","direction":[461,325]} -recieve: {"action":"move","direction":[461,326]} -recieve: {"action":"move","direction":[461,328]} -recieve: {"action":"move","direction":[461,329]} -recieve: {"action":"move","direction":[461,330]} -recieve: {"action":"move","direction":[461,331]} -recieve: {"action":"move","direction":[461,332]} -recieve: {"action":"move","direction":[461,333]} -recieve: {"action":"move","direction":[461,334]} -recieve: {"action":"move","direction":[461,335]} -recieve: {"action":"move","direction":[460,336]} -recieve: {"action":"move","direction":[460,338]} -recieve: {"action":"move","direction":[459,338]} -recieve: {"action":"move","direction":[459,340]} -recieve: {"action":"move","direction":[459,341]} -recieve: {"action":"move","direction":[459,342]} -recieve: {"action":"move","direction":[458,343]} -recieve: {"action":"move","direction":[457,345]} -recieve: {"action":"move","direction":[457,346]} -recieve: {"action":"move","direction":[456,346]} -recieve: {"action":"move","direction":[455,347]} -recieve: {"action":"move","direction":[455,348]} -recieve: {"action":"move","direction":[455,349]} -recieve: {"action":"move","direction":[455,350]} -recieve: {"action":"move","direction":[455,351]} -recieve: {"action":"move","direction":[454,352]} -recieve: {"action":"move","direction":[454,353]} -recieve: {"action":"move","direction":[454,354]} -recieve: {"action":"move","direction":[454,355]} -recieve: {"action":"move","direction":[454,356]} -recieve: {"action":"move","direction":[454,357]} -recieve: {"action":"move","direction":[454,358]} -recieve: {"action":"move","direction":[454,359]} -recieve: {"action":"move","direction":[454,360]} -recieve: {"action":"move","direction":[454,361]} -recieve: {"action":"move","direction":[455,362]} -recieve: {"action":"move","direction":[455,363]} -recieve: {"action":"move","direction":[455,364]} -recieve: {"action":"move","direction":[456,365]} -recieve: {"action":"move","direction":[456,366]} -recieve: {"action":"move","direction":[456,367]} -recieve: {"action":"move","direction":[456,368]} -recieve: {"action":"move","direction":[457,369]} -recieve: {"action":"move","direction":[457,370]} -recieve: {"action":"move","direction":[457,371]} -recieve: {"action":"move","direction":[457,372]} -recieve: {"action":"move","direction":[457,373]} -recieve: {"action":"move","direction":[458,374]} -recieve: {"action":"move","direction":[458,376]} -recieve: {"action":"move","direction":[458,377]} -recieve: {"action":"move","direction":[458,378]} -recieve: {"action":"move","direction":[458,379]} -recieve: {"action":"move","direction":[458,381]} -recieve: {"action":"move","direction":[458,382]} -recieve: {"action":"move","direction":[458,383]} -recieve: {"action":"move","direction":[458,384]} -recieve: {"action":"move","direction":[458,385]} -recieve: {"action":"move","direction":[458,387]} -recieve: {"action":"move","direction":[458,388]} -recieve: {"action":"move","direction":[459,389]} -recieve: {"action":"move","direction":[459,390]} -recieve: {"action":"move","direction":[460,391]} -recieve: {"action":"move","direction":[460,392]} -recieve: {"action":"move","direction":[461,393]} -recieve: {"action":"move","direction":[462,394]} -recieve: {"action":"move","direction":[462,395]} -recieve: {"action":"move","direction":[462,396]} -recieve: {"action":"move","direction":[462,397]} -recieve: {"action":"move","direction":[463,398]} -recieve: {"action":"move","direction":[463,399]} -recieve: {"action":"move","direction":[464,400]} -recieve: {"action":"move","direction":[464,401]} -recieve: {"action":"move","direction":[465,402]} -recieve: {"action":"move","direction":[465,403]} -recieve: {"action":"move","direction":[466,404]} -recieve: {"action":"move","direction":[466,405]} -recieve: {"action":"move","direction":[466,406]} -recieve: {"action":"move","direction":[466,407]} -recieve: {"action":"move","direction":[466,408]} -recieve: {"action":"move","direction":[466,409]} -recieve: {"action":"move","direction":[466,411]} -recieve: {"action":"move","direction":[466,412]} -recieve: {"action":"move","direction":[465,413]} -recieve: {"action":"move","direction":[464,414]} -recieve: {"action":"move","direction":[463,414]} -recieve: {"action":"move","direction":[462,415]} -recieve: {"action":"move","direction":[462,416]} -recieve: {"action":"move","direction":[462,417]} -recieve: {"action":"move","direction":[462,418]} -recieve: {"action":"move","direction":[462,419]} -recieve: {"action":"move","direction":[462,420]} -recieve: {"action":"move","direction":[462,421]} -recieve: {"action":"move","direction":[462,422]} -recieve: {"action":"move","direction":[462,423]} -recieve: {"action":"move","direction":[461,424]} -recieve: {"action":"move","direction":[461,425]} -recieve: {"action":"move","direction":[460,425]} -recieve: {"action":"move","direction":[459,426]} -recieve: {"action":"move","direction":[459,427]} -recieve: {"action":"move","direction":[459,428]} -recieve: {"action":"move","direction":[458,430]} -recieve: {"action":"move","direction":[457,430]} -recieve: {"action":"move","direction":[457,431]} -recieve: {"action":"move","direction":[457,432]} -recieve: {"action":"move","direction":[457,433]} -recieve: {"action":"move","direction":[456,434]} -recieve: {"action":"move","direction":[455,435]} -recieve: {"action":"move","direction":[455,436]} -recieve: {"action":"move","direction":[455,437]} -recieve: {"action":"move","direction":[455,438]} -recieve: {"action":"move","direction":[454,439]} -recieve: {"action":"move","direction":[454,440]} -recieve: {"action":"move","direction":[454,442]} -recieve: {"action":"move","direction":[455,443]} -recieve: {"action":"move","direction":[455,444]} -recieve: {"action":"move","direction":[455,445]} -recieve: {"action":"move","direction":[455,446]} -recieve: {"action":"move","direction":[455,447]} -recieve: {"action":"move","direction":[455,448]} -recieve: {"action":"move","direction":[455,449]} -recieve: {"action":"move","direction":[456,450]} -recieve: {"action":"move","direction":[457,452]} -recieve: {"action":"move","direction":[457,453]} -recieve: {"action":"move","direction":[457,454]} -recieve: {"action":"move","direction":[458,456]} -recieve: {"action":"move","direction":[458,457]} -recieve: {"action":"move","direction":[457,457]} -recieve: {"action":"move","direction":[456,457]} -recieve: {"action":"move","direction":[454,457]} -recieve: {"action":"move","direction":[453,456]} -recieve: {"action":"move","direction":[452,456]} -recieve: {"action":"move","direction":[450,456]} -recieve: {"action":"move","direction":[450,455]} -recieve: {"action":"move","direction":[449,455]} -recieve: {"action":"move","direction":[448,455]} -recieve: {"action":"move","direction":[447,455]} -recieve: {"action":"move","direction":[446,454]} -recieve: {"action":"move","direction":[445,454]} -recieve: {"action":"move","direction":[444,454]} -recieve: {"action":"move","direction":[443,454]} -recieve: {"action":"move","direction":[442,454]} -recieve: {"action":"move","direction":[442,453]} -recieve: {"action":"move","direction":[441,453]} -recieve: {"action":"move","direction":[440,452]} -recieve: {"action":"move","direction":[439,452]} -recieve: {"action":"move","direction":[438,451]} -recieve: {"action":"move","direction":[437,451]} -recieve: {"action":"move","direction":[436,451]} -recieve: {"action":"move","direction":[435,451]} -recieve: {"action":"move","direction":[434,451]} -recieve: {"action":"move","direction":[433,451]} -recieve: {"action":"move","direction":[432,450]} -recieve: {"action":"move","direction":[431,450]} -recieve: {"action":"move","direction":[430,450]} -recieve: {"action":"move","direction":[428,450]} -recieve: {"action":"move","direction":[427,450]} -recieve: {"action":"move","direction":[426,450]} -recieve: {"action":"move","direction":[425,450]} -recieve: {"action":"move","direction":[424,450]} -recieve: {"action":"move","direction":[422,450]} -recieve: {"action":"move","direction":[421,450]} -recieve: {"action":"move","direction":[419,450]} -recieve: {"action":"move","direction":[417,450]} -recieve: {"action":"move","direction":[415,450]} -recieve: {"action":"move","direction":[414,450]} -recieve: {"action":"move","direction":[414,451]} -recieve: {"action":"move","direction":[413,451]} -recieve: {"action":"move","direction":[412,452]} -recieve: {"action":"move","direction":[411,453]} -recieve: {"action":"move","direction":[410,454]} -recieve: {"action":"move","direction":[409,454]} -recieve: {"action":"move","direction":[408,455]} -recieve: {"action":"move","direction":[407,455]} -recieve: {"action":"move","direction":[406,456]} -recieve: {"action":"move","direction":[405,456]} -recieve: {"action":"move","direction":[403,457]} -recieve: {"action":"move","direction":[402,457]} -recieve: {"action":"move","direction":[401,457]} -recieve: {"action":"move","direction":[400,457]} -recieve: {"action":"move","direction":[398,457]} -recieve: {"action":"move","direction":[397,457]} -recieve: {"action":"move","direction":[395,456]} -recieve: {"action":"move","direction":[395,455]} -recieve: {"action":"move","direction":[394,455]} -recieve: {"action":"move","direction":[393,455]} -recieve: {"action":"move","direction":[392,454]} -recieve: {"action":"move","direction":[391,453]} -recieve: {"action":"move","direction":[390,453]} -recieve: {"action":"move","direction":[389,452]} -recieve: {"action":"move","direction":[388,452]} -recieve: {"action":"move","direction":[387,452]} -recieve: {"action":"move","direction":[387,451]} -recieve: {"action":"move","direction":[386,451]} -recieve: {"action":"move","direction":[385,451]} -recieve: {"action":"move","direction":[384,451]} -recieve: {"action":"move","direction":[383,451]} -recieve: {"action":"move","direction":[382,451]} -recieve: {"action":"move","direction":[379,451]} -recieve: {"action":"move","direction":[378,451]} -recieve: {"action":"move","direction":[376,451]} -recieve: {"action":"move","direction":[375,451]} -recieve: {"action":"move","direction":[374,451]} -recieve: {"action":"move","direction":[371,451]} -recieve: {"action":"move","direction":[370,451]} -recieve: {"action":"move","direction":[368,451]} -recieve: {"action":"move","direction":[366,451]} -recieve: {"action":"move","direction":[365,452]} -recieve: {"action":"move","direction":[364,453]} -recieve: {"action":"move","direction":[363,453]} -recieve: {"action":"move","direction":[362,453]} -recieve: {"action":"move","direction":[361,453]} -recieve: {"action":"move","direction":[360,454]} -recieve: {"action":"move","direction":[359,454]} -recieve: {"action":"move","direction":[358,454]} -recieve: {"action":"move","direction":[357,454]} -recieve: {"action":"move","direction":[356,454]} -recieve: {"action":"move","direction":[355,454]} -recieve: {"action":"move","direction":[353,454]} -recieve: {"action":"move","direction":[352,455]} -recieve: {"action":"move","direction":[350,455]} -recieve: {"action":"move","direction":[349,455]} -recieve: {"action":"move","direction":[348,455]} -recieve: {"action":"move","direction":[347,455]} -recieve: {"action":"move","direction":[345,455]} -recieve: {"action":"move","direction":[344,455]} -recieve: {"action":"move","direction":[343,455]} -recieve: {"action":"move","direction":[342,455]} -recieve: {"action":"move","direction":[340,455]} -recieve: {"action":"move","direction":[338,455]} -recieve: {"action":"move","direction":[336,455]} -recieve: {"action":"move","direction":[335,455]} -recieve: {"action":"move","direction":[333,455]} -recieve: {"action":"move","direction":[332,455]} -recieve: {"action":"move","direction":[331,455]} -recieve: {"action":"move","direction":[329,455]} -recieve: {"action":"move","direction":[327,455]} -recieve: {"action":"move","direction":[325,456]} -recieve: {"action":"move","direction":[324,456]} -recieve: {"action":"move","direction":[323,456]} -recieve: {"action":"move","direction":[322,456]} -recieve: {"action":"move","direction":[320,456]} -recieve: {"action":"move","direction":[319,456]} -recieve: {"action":"move","direction":[317,456]} -recieve: {"action":"move","direction":[314,456]} -recieve: {"action":"move","direction":[313,457]} -recieve: {"action":"move","direction":[311,457]} -recieve: {"action":"move","direction":[310,457]} -recieve: {"action":"move","direction":[308,457]} -recieve: {"action":"move","direction":[306,457]} -recieve: {"action":"move","direction":[305,457]} -recieve: {"action":"move","direction":[304,457]} -recieve: {"action":"move","direction":[302,457]} -recieve: {"action":"move","direction":[301,457]} -recieve: {"action":"move","direction":[300,457]} -recieve: {"action":"move","direction":[298,457]} -recieve: {"action":"move","direction":[296,457]} -recieve: {"action":"move","direction":[294,457]} -recieve: {"action":"move","direction":[292,457]} -recieve: {"action":"move","direction":[290,457]} -recieve: {"action":"move","direction":[289,457]} -recieve: {"action":"move","direction":[288,457]} -recieve: {"action":"move","direction":[285,457]} -recieve: {"action":"move","direction":[284,457]} -recieve: {"action":"move","direction":[282,457]} -recieve: {"action":"move","direction":[279,456]} -recieve: {"action":"move","direction":[276,456]} -recieve: {"action":"move","direction":[275,456]} -recieve: {"action":"move","direction":[274,455]} -recieve: {"action":"move","direction":[272,455]} -recieve: {"action":"move","direction":[271,454]} -recieve: {"action":"move","direction":[270,454]} -recieve: {"action":"move","direction":[268,454]} -recieve: {"action":"move","direction":[267,454]} -recieve: {"action":"move","direction":[266,453]} -recieve: {"action":"move","direction":[265,453]} -recieve: {"action":"move","direction":[264,453]} -recieve: {"action":"move","direction":[263,453]} -recieve: {"action":"move","direction":[262,453]} -recieve: {"action":"move","direction":[260,452]} -recieve: {"action":"move","direction":[259,452]} -recieve: {"action":"move","direction":[258,452]} -recieve: {"action":"move","direction":[257,452]} -recieve: {"action":"move","direction":[256,452]} -recieve: {"action":"move","direction":[255,452]} -recieve: {"action":"move","direction":[254,452]} -recieve: {"action":"move","direction":[253,452]} -recieve: {"action":"move","direction":[252,452]} -recieve: {"action":"move","direction":[251,452]} -recieve: {"action":"move","direction":[250,452]} -recieve: {"action":"move","direction":[249,452]} -recieve: {"action":"move","direction":[248,452]} -recieve: {"action":"move","direction":[247,452]} -recieve: {"action":"move","direction":[246,452]} -recieve: {"action":"move","direction":[245,452]} -recieve: {"action":"move","direction":[244,452]} -recieve: {"action":"move","direction":[243,452]} -recieve: {"action":"move","direction":[242,452]} -recieve: {"action":"move","direction":[241,452]} -recieve: {"action":"move","direction":[240,452]} -recieve: {"action":"move","direction":[239,452]} -recieve: {"action":"move","direction":[238,452]} -recieve: {"action":"move","direction":[237,452]} -recieve: {"action":"move","direction":[236,452]} -recieve: {"action":"move","direction":[235,452]} -recieve: {"action":"move","direction":[233,452]} -recieve: {"action":"move","direction":[232,452]} -recieve: {"action":"move","direction":[231,452]} -recieve: {"action":"move","direction":[228,452]} -recieve: {"action":"move","direction":[227,452]} -recieve: {"action":"move","direction":[226,452]} -recieve: {"action":"move","direction":[225,452]} -recieve: {"action":"move","direction":[224,452]} -recieve: {"action":"move","direction":[223,452]} -recieve: {"action":"move","direction":[222,452]} -recieve: {"action":"move","direction":[221,452]} -recieve: {"action":"move","direction":[220,453]} -recieve: {"action":"move","direction":[219,453]} -recieve: {"action":"move","direction":[219,454]} -recieve: {"action":"move","direction":[218,454]} -recieve: {"action":"move","direction":[217,454]} -recieve: {"action":"move","direction":[215,455]} -recieve: {"action":"move","direction":[214,455]} -recieve: {"action":"move","direction":[213,456]} -recieve: {"action":"move","direction":[212,456]} -recieve: {"action":"move","direction":[211,456]} -recieve: {"action":"move","direction":[210,456]} -recieve: {"action":"move","direction":[209,456]} -recieve: {"action":"move","direction":[208,456]} -recieve: {"action":"move","direction":[206,456]} -recieve: {"action":"move","direction":[206,455]} -recieve: {"action":"move","direction":[205,455]} -recieve: {"action":"move","direction":[204,455]} -recieve: {"action":"move","direction":[203,454]} -recieve: {"action":"move","direction":[202,454]} -recieve: {"action":"move","direction":[201,454]} -recieve: {"action":"move","direction":[200,454]} -recieve: {"action":"move","direction":[198,453]} -recieve: {"action":"move","direction":[197,453]} -recieve: {"action":"move","direction":[196,453]} -recieve: {"action":"move","direction":[195,453]} -recieve: {"action":"move","direction":[194,453]} -recieve: {"action":"move","direction":[193,452]} -recieve: {"action":"move","direction":[192,451]} -recieve: {"action":"move","direction":[191,451]} -recieve: {"action":"move","direction":[190,451]} -recieve: {"action":"move","direction":[189,450]} -recieve: {"action":"move","direction":[188,450]} -recieve: {"action":"move","direction":[187,449]} -recieve: {"action":"move","direction":[186,449]} -recieve: {"action":"move","direction":[186,448]} -recieve: {"action":"move","direction":[184,447]} -recieve: {"action":"move","direction":[183,446]} -recieve: {"action":"move","direction":[182,446]} -recieve: {"action":"move","direction":[181,446]} -recieve: {"action":"move","direction":[179,446]} -recieve: {"action":"move","direction":[178,446]} -recieve: {"action":"move","direction":[177,446]} -recieve: {"action":"move","direction":[176,446]} -recieve: {"action":"move","direction":[175,446]} -recieve: {"action":"move","direction":[174,446]} -recieve: {"action":"move","direction":[173,447]} -recieve: {"action":"move","direction":[172,448]} -recieve: {"action":"move","direction":[171,448]} -recieve: {"action":"move","direction":[170,449]} -recieve: {"action":"move","direction":[169,450]} -recieve: {"action":"move","direction":[168,450]} -recieve: {"action":"move","direction":[167,450]} -recieve: {"action":"move","direction":[166,451]} -recieve: {"action":"move","direction":[165,451]} -recieve: {"action":"move","direction":[165,452]} -recieve: {"action":"move","direction":[164,453]} -recieve: {"action":"move","direction":[163,453]} -recieve: {"action":"move","direction":[162,453]} -recieve: {"action":"move","direction":[161,454]} -recieve: {"action":"move","direction":[159,454]} -recieve: {"action":"move","direction":[158,454]} -recieve: {"action":"move","direction":[157,454]} -recieve: {"action":"move","direction":[156,454]} -recieve: {"action":"move","direction":[155,454]} -recieve: {"action":"move","direction":[154,454]} -recieve: {"action":"move","direction":[153,453]} -recieve: {"action":"move","direction":[152,452]} -recieve: {"action":"move","direction":[151,452]} -recieve: {"action":"move","direction":[150,451]} -recieve: {"action":"move","direction":[149,450]} -recieve: {"action":"move","direction":[149,449]} -recieve: {"action":"move","direction":[148,448]} -recieve: {"action":"move","direction":[147,447]} -recieve: {"action":"move","direction":[146,446]} -recieve: {"action":"move","direction":[146,445]} -recieve: {"action":"move","direction":[145,444]} -recieve: {"action":"move","direction":[145,443]} -recieve: {"action":"move","direction":[145,442]} -recieve: {"action":"move","direction":[144,441]} -recieve: {"action":"move","direction":[143,440]} -recieve: {"action":"move","direction":[142,439]} -recieve: {"action":"move","direction":[141,438]} -recieve: {"action":"move","direction":[141,436]} -recieve: {"action":"move","direction":[140,435]} -recieve: {"action":"move","direction":[140,434]} -recieve: {"action":"move","direction":[139,432]} -recieve: {"action":"move","direction":[138,431]} -recieve: {"action":"move","direction":[138,430]} -recieve: {"action":"move","direction":[138,429]} -recieve: {"action":"move","direction":[138,428]} -recieve: {"action":"move","direction":[139,427]} -recieve: {"action":"move","direction":[140,425]} -recieve: {"action":"move","direction":[140,424]} -recieve: {"action":"move","direction":[140,423]} -recieve: {"action":"move","direction":[140,421]} -recieve: {"action":"move","direction":[141,419]} -recieve: {"action":"move","direction":[141,418]} -recieve: {"action":"move","direction":[141,417]} -recieve: {"action":"move","direction":[141,416]} -recieve: {"action":"move","direction":[141,414]} -recieve: {"action":"move","direction":[141,413]} -recieve: {"action":"move","direction":[141,412]} -recieve: {"action":"move","direction":[141,411]} -recieve: {"action":"move","direction":[141,410]} -recieve: {"action":"move","direction":[141,409]} -recieve: {"action":"move","direction":[141,408]} -recieve: {"action":"move","direction":[141,407]} -recieve: {"action":"move","direction":[141,406]} -recieve: {"action":"move","direction":[141,405]} -recieve: {"action":"move","direction":[141,404]} -recieve: {"action":"move","direction":[141,403]} -recieve: {"action":"move","direction":[141,402]} -recieve: {"action":"move","direction":[141,401]} -recieve: {"action":"move","direction":[141,400]} -recieve: {"action":"move","direction":[141,398]} -recieve: {"action":"move","direction":[141,397]} -recieve: {"action":"move","direction":[142,396]} -recieve: {"action":"move","direction":[142,395]} -recieve: {"action":"move","direction":[142,394]} -recieve: {"action":"move","direction":[143,393]} -recieve: {"action":"move","direction":[144,392]} -recieve: {"action":"move","direction":[145,390]} -recieve: {"action":"move","direction":[145,389]} -recieve: {"action":"move","direction":[146,388]} -recieve: {"action":"move","direction":[147,388]} -recieve: {"action":"move","direction":[147,387]} -recieve: {"action":"move","direction":[147,386]} -recieve: {"action":"move","direction":[148,383]} -recieve: {"action":"move","direction":[148,381]} -recieve: {"action":"move","direction":[148,380]} -recieve: {"action":"move","direction":[148,379]} -recieve: {"action":"move","direction":[149,378]} -recieve: {"action":"move","direction":[149,377]} -recieve: {"action":"move","direction":[149,376]} -recieve: {"action":"move","direction":[149,375]} -recieve: {"action":"move","direction":[149,374]} -recieve: {"action":"move","direction":[150,373]} -recieve: {"action":"move","direction":[150,372]} -recieve: {"action":"move","direction":[150,371]} -recieve: {"action":"move","direction":[150,370]} -recieve: {"action":"move","direction":[150,369]} -recieve: {"action":"move","direction":[150,368]} -recieve: {"action":"move","direction":[150,367]} -recieve: {"action":"move","direction":[150,366]} -recieve: {"action":"move","direction":[149,365]} -recieve: {"action":"move","direction":[149,364]} -recieve: {"action":"move","direction":[149,363]} -recieve: {"action":"move","direction":[148,363]} -recieve: {"action":"move","direction":[148,362]} -recieve: {"action":"move","direction":[148,361]} -recieve: {"action":"move","direction":[148,360]} -recieve: {"action":"move","direction":[147,359]} -recieve: {"action":"move","direction":[147,358]} -recieve: {"action":"move","direction":[146,357]} -recieve: {"action":"move","direction":[146,356]} -recieve: {"action":"move","direction":[145,355]} -recieve: {"action":"move","direction":[144,354]} -recieve: {"action":"move","direction":[143,353]} -recieve: {"action":"move","direction":[143,352]} -recieve: {"action":"move","direction":[142,351]} -recieve: {"action":"move","direction":[141,351]} -recieve: {"action":"move","direction":[141,350]} -recieve: {"action":"move","direction":[140,349]} -recieve: {"action":"move","direction":[140,348]} -recieve: {"action":"move","direction":[140,347]} -recieve: {"action":"move","direction":[140,346]} -recieve: {"action":"move","direction":[140,345]} -recieve: {"action":"move","direction":[140,344]} -recieve: {"action":"move","direction":[140,343]} -recieve: {"action":"move","direction":[141,342]} -recieve: {"action":"move","direction":[142,341]} -recieve: {"action":"move","direction":[142,340]} -recieve: {"action":"move","direction":[142,339]} -recieve: {"action":"move","direction":[143,338]} -recieve: {"action":"move","direction":[144,336]} -recieve: {"action":"move","direction":[145,334]} -recieve: {"action":"move","direction":[145,333]} -recieve: {"action":"move","direction":[145,332]} -recieve: {"action":"move","direction":[145,331]} -recieve: {"action":"move","direction":[145,330]} -recieve: {"action":"move","direction":[145,329]} -recieve: {"action":"move","direction":[145,328]} -recieve: {"action":"move","direction":[145,327]} -recieve: {"action":"move","direction":[145,326]} -recieve: {"action":"move","direction":[145,325]} -recieve: {"action":"move","direction":[145,324]} -recieve: {"action":"move","direction":[145,323]} -recieve: {"action":"move","direction":[145,322]} -recieve: {"action":"move","direction":[145,321]} -recieve: {"action":"move","direction":[145,320]} -recieve: {"action":"move","direction":[145,319]} -recieve: {"action":"move","direction":[145,318]} -recieve: {"action":"move","direction":[145,317]} -recieve: {"action":"move","direction":[145,316]} -recieve: {"action":"move","direction":[145,315]} -recieve: {"action":"move","direction":[145,314]} -recieve: {"action":"move","direction":[145,313]} -recieve: {"action":"move","direction":[145,312]} -recieve: {"action":"move","direction":[145,311]} -recieve: {"action":"move","direction":[145,309]} -recieve: {"action":"move","direction":[145,308]} -recieve: {"action":"move","direction":[145,307]} -recieve: {"action":"move","direction":[145,306]} -recieve: {"action":"move","direction":[145,305]} -recieve: {"action":"move","direction":[145,304]} -recieve: {"action":"move","direction":[145,303]} -recieve: {"action":"move","direction":[145,302]} -recieve: {"action":"move","direction":[145,301]} -recieve: {"action":"move","direction":[145,300]} -recieve: {"action":"move","direction":[144,298]} -recieve: {"action":"move","direction":[144,297]} -recieve: {"action":"move","direction":[144,296]} -recieve: {"action":"move","direction":[144,295]} -recieve: {"action":"move","direction":[144,294]} -recieve: {"action":"move","direction":[143,292]} -recieve: {"action":"move","direction":[143,291]} -recieve: {"action":"move","direction":[143,290]} -recieve: {"action":"move","direction":[143,289]} -recieve: {"action":"move","direction":[143,288]} -recieve: {"action":"move","direction":[142,287]} -recieve: {"action":"move","direction":[142,286]} -recieve: {"action":"move","direction":[142,285]} -recieve: {"action":"move","direction":[142,284]} -recieve: {"action":"move","direction":[141,282]} -recieve: {"action":"move","direction":[141,281]} -recieve: {"action":"move","direction":[141,280]} -recieve: {"action":"move","direction":[141,279]} -recieve: {"action":"move","direction":[141,278]} -recieve: {"action":"move","direction":[141,277]} -recieve: {"action":"move","direction":[141,276]} -recieve: {"action":"move","direction":[141,275]} -recieve: {"action":"move","direction":[141,274]} -recieve: {"action":"move","direction":[141,273]} -recieve: {"action":"move","direction":[141,272]} -recieve: {"action":"move","direction":[141,271]} -recieve: {"action":"move","direction":[141,270]} -recieve: {"action":"move","direction":[141,269]} -recieve: {"action":"move","direction":[141,268]} -recieve: {"action":"move","direction":[142,266]} -recieve: {"action":"move","direction":[142,265]} -recieve: {"action":"move","direction":[142,264]} -recieve: {"action":"move","direction":[142,263]} -recieve: {"action":"move","direction":[143,262]} -recieve: {"action":"move","direction":[143,261]} -recieve: {"action":"move","direction":[143,260]} -recieve: {"action":"move","direction":[143,259]} -recieve: {"action":"move","direction":[143,258]} -recieve: {"action":"move","direction":[143,257]} -recieve: {"action":"move","direction":[144,256]} -recieve: {"action":"move","direction":[144,255]} -recieve: {"action":"move","direction":[144,254]} -recieve: {"action":"move","direction":[144,253]} -recieve: {"action":"move","direction":[144,252]} -recieve: {"action":"move","direction":[144,250]} -recieve: {"action":"move","direction":[144,249]} -recieve: {"action":"move","direction":[145,248]} -recieve: {"action":"move","direction":[145,247]} -recieve: {"action":"move","direction":[145,246]} -recieve: {"action":"move","direction":[145,245]} -recieve: {"action":"move","direction":[145,244]} -recieve: {"action":"move","direction":[145,243]} -recieve: {"action":"move","direction":[145,242]} -recieve: {"action":"move","direction":[145,241]} -recieve: {"action":"move","direction":[145,240]} -recieve: {"action":"move","direction":[145,239]} -recieve: {"action":"move","direction":[145,238]} -recieve: {"action":"move","direction":[145,237]} -recieve: {"action":"move","direction":[145,236]} -recieve: {"action":"move","direction":[145,235]} -recieve: {"action":"move","direction":[145,234]} -recieve: {"action":"move","direction":[145,233]} -recieve: {"action":"move","direction":[145,232]} -recieve: {"action":"move","direction":[145,231]} -recieve: {"action":"move","direction":[145,230]} -recieve: {"action":"move","direction":[145,229]} -recieve: {"action":"move","direction":[145,228]} -recieve: {"action":"move","direction":[145,227]} -recieve: {"action":"move","direction":[145,226]} -recieve: {"action":"move","direction":[145,224]} -recieve: {"action":"move","direction":[145,223]} -recieve: {"action":"move","direction":[145,222]} -recieve: {"action":"move","direction":[145,221]} -recieve: {"action":"move","direction":[145,220]} -recieve: {"action":"move","direction":[145,219]} -recieve: {"action":"move","direction":[145,218]} -recieve: {"action":"move","direction":[145,217]} -recieve: {"action":"move","direction":[145,216]} -recieve: {"action":"move","direction":[145,215]} -recieve: {"action":"move","direction":[145,214]} -recieve: {"action":"move","direction":[145,213]} -recieve: {"action":"move","direction":[145,212]} -recieve: {"action":"move","direction":[145,210]} -recieve: {"action":"move","direction":[145,209]} -recieve: {"action":"move","direction":[145,208]} -recieve: {"action":"move","direction":[145,207]} -recieve: {"action":"move","direction":[145,206]} -recieve: {"action":"move","direction":[145,205]} -recieve: {"action":"move","direction":[145,204]} -recieve: {"action":"move","direction":[145,203]} -recieve: {"action":"move","direction":[145,202]} -recieve: {"action":"move","direction":[145,201]} -recieve: {"action":"move","direction":[145,200]} -recieve: {"action":"move","direction":[145,199]} -recieve: {"action":"move","direction":[145,198]} -recieve: {"action":"move","direction":[146,197]} -recieve: {"action":"move","direction":[147,196]} -recieve: {"action":"move","direction":[147,195]} -recieve: {"action":"move","direction":[147,194]} -recieve: {"action":"move","direction":[148,193]} -recieve: {"action":"move","direction":[148,191]} -recieve: {"action":"move","direction":[148,190]} -recieve: {"action":"move","direction":[149,189]} -recieve: {"action":"move","direction":[149,188]} -recieve: {"action":"move","direction":[149,187]} -recieve: {"action":"move","direction":[149,186]} -recieve: {"action":"move","direction":[149,185]} -recieve: {"action":"move","direction":[149,184]} -recieve: {"action":"move","direction":[149,183]} -recieve: {"action":"move","direction":[149,182]} -recieve: {"action":"move","direction":[149,180]} -recieve: {"action":"move","direction":[149,179]} -recieve: {"action":"move","direction":[149,178]} -recieve: {"action":"move","direction":[149,177]} -recieve: {"action":"move","direction":[149,175]} -recieve: {"action":"move","direction":[149,174]} -recieve: {"action":"move","direction":[149,171]} -recieve: {"action":"move","direction":[149,170]} -recieve: {"action":"move","direction":[149,169]} -recieve: {"action":"move","direction":[148,169]} -recieve: {"action":"move","direction":[147,168]} -recieve: {"action":"move","direction":[147,167]} -recieve: {"action":"move","direction":[147,166]} -recieve: {"action":"move","direction":[147,165]} -recieve: {"action":"move","direction":[147,164]} -recieve: {"action":"move","direction":[146,163]} -recieve: {"action":"move","direction":[146,162]} -recieve: {"action":"move","direction":[146,161]} -recieve: {"action":"move","direction":[146,160]} -recieve: {"action":"move","direction":[146,159]} -recieve: {"action":"move","direction":[146,158]} -recieve: {"action":"move","direction":[146,157]} -recieve: {"action":"move","direction":[146,156]} -recieve: {"action":"move","direction":[146,155]} -recieve: {"action":"move","direction":[146,154]} -recieve: {"action":"move","direction":[146,153]} -recieve: {"action":"move","direction":[146,152]} -recieve: {"action":"move","direction":[146,151]} -recieve: {"action":"move","direction":[146,150]} -recieve: {"action":"move","direction":[146,149]} -recieve: {"action":"move","direction":[147,148]} -recieve: {"action":"move","direction":[147,147]} -recieve: {"action":"move","direction":[147,146]} -recieve: {"action":"move","direction":[148,146]} -recieve: {"action":"move","direction":[148,145]} -recieve: {"action":"move","direction":[149,144]} -recieve: {"action":"move","direction":[150,144]} -recieve: {"action":"move","direction":[151,144]} -recieve: {"action":"move","direction":[152,143]} -recieve: {"action":"move","direction":[153,143]} -recieve: {"action":"move","direction":[154,143]} -recieve: {"action":"move","direction":[155,143]} -recieve: {"action":"move","direction":[156,143]} -recieve: {"action":"move","direction":[157,143]} -recieve: {"action":"move","direction":[158,143]} -recieve: {"action":"move","direction":[160,143]} -recieve: {"action":"move","direction":[161,143]} -recieve: {"action":"move","direction":[162,143]} -recieve: {"action":"move","direction":[163,143]} -recieve: {"action":"move","direction":[164,143]} -recieve: {"action":"move","direction":[165,143]} -recieve: {"action":"move","direction":[166,143]} -recieve: {"action":"move","direction":[167,143]} -recieve: {"action":"move","direction":[168,143]} -recieve: {"action":"move","direction":[169,143]} -recieve: {"action":"move","direction":[170,143]} -recieve: {"action":"move","direction":[172,143]} -recieve: {"action":"move","direction":[173,143]} -recieve: {"action":"move","direction":[174,143]} -recieve: {"action":"move","direction":[175,143]} -recieve: {"action":"move","direction":[176,143]} -recieve: {"action":"move","direction":[177,143]} -recieve: {"action":"move","direction":[178,143]} -recieve: {"action":"move","direction":[179,143]} -recieve: {"action":"move","direction":[180,143]} -recieve: {"action":"move","direction":[181,143]} -recieve: {"action":"move","direction":[182,143]} -recieve: {"action":"move","direction":[183,143]} -recieve: {"action":"move","direction":[185,143]} -recieve: {"action":"move","direction":[186,143]} -recieve: {"action":"move","direction":[186,142]} -recieve: {"action":"move","direction":[187,142]} -recieve: {"action":"move","direction":[188,142]} -recieve: {"action":"move","direction":[190,142]} -recieve: {"action":"move","direction":[191,142]} -recieve: {"action":"move","direction":[192,142]} -recieve: {"action":"move","direction":[194,142]} -recieve: {"action":"move","direction":[195,142]} -recieve: {"action":"move","direction":[196,142]} -recieve: {"action":"move","direction":[197,142]} -recieve: {"action":"move","direction":[198,142]} -recieve: {"action":"move","direction":[199,142]} -recieve: {"action":"move","direction":[200,143]} -recieve: {"action":"move","direction":[201,144]} -recieve: {"action":"move","direction":[202,144]} -recieve: {"action":"move","direction":[203,145]} -recieve: {"action":"move","direction":[206,146]} -recieve: {"action":"move","direction":[206,147]} -recieve: {"action":"move","direction":[207,148]} -recieve: {"action":"move","direction":[208,148]} -recieve: {"action":"move","direction":[209,148]} -recieve: {"action":"move","direction":[210,149]} -recieve: {"action":"move","direction":[211,149]} -recieve: {"action":"move","direction":[212,149]} -recieve: {"action":"move","direction":[213,150]} -recieve: {"action":"move","direction":[214,150]} -recieve: {"action":"move","direction":[216,150]} -recieve: {"action":"move","direction":[217,150]} -recieve: {"action":"move","direction":[218,150]} -recieve: {"action":"move","direction":[219,150]} -recieve: {"action":"move","direction":[220,150]} -recieve: {"action":"move","direction":[221,150]} -recieve: {"action":"move","direction":[222,150]} -recieve: {"action":"move","direction":[223,150]} -recieve: {"action":"move","direction":[225,149]} -recieve: {"action":"move","direction":[226,149]} -recieve: {"action":"move","direction":[226,148]} -recieve: {"action":"move","direction":[227,147]} -recieve: {"action":"move","direction":[227,146]} -recieve: {"action":"move","direction":[227,145]} -recieve: {"action":"move","direction":[227,144]} -recieve: {"action":"move","direction":[226,142]} -recieve: {"action":"move","direction":[226,141]} -recieve: {"action":"move","direction":[225,140]} -recieve: {"action":"move","direction":[225,139]} -recieve: {"action":"move","direction":[225,138]} -recieve: {"action":"move","direction":[225,137]} -recieve: {"action":"move","direction":[225,136]} -recieve: {"action":"move","direction":[225,135]} -recieve: {"action":"move","direction":[226,135]} -recieve: {"action":"move","direction":[227,135]} -recieve: {"action":"move","direction":[229,135]} -recieve: {"action":"move","direction":[229,136]} -recieve: {"action":"move","direction":[232,136]} -recieve: {"action":"move","direction":[233,137]} -recieve: {"action":"move","direction":[234,138]} -recieve: {"action":"move","direction":[235,139]} -recieve: {"action":"move","direction":[236,140]} -recieve: {"action":"move","direction":[237,140]} -recieve: {"action":"move","direction":[238,140]} -recieve: {"action":"move","direction":[239,141]} -recieve: {"action":"move","direction":[240,141]} -recieve: {"action":"move","direction":[242,142]} -recieve: {"action":"move","direction":[243,143]} -recieve: {"action":"move","direction":[244,144]} -recieve: {"action":"move","direction":[245,144]} -recieve: {"action":"move","direction":[246,144]} -recieve: {"action":"move","direction":[247,144]} -recieve: {"action":"move","direction":[248,144]} -recieve: {"action":"move","direction":[249,144]} -recieve: {"action":"move","direction":[250,144]} -recieve: {"action":"move","direction":[251,144]} -recieve: {"action":"move","direction":[252,144]} -recieve: {"action":"move","direction":[253,144]} -recieve: {"action":"move","direction":[254,144]} -recieve: {"action":"move","direction":[255,144]} -recieve: {"action":"move","direction":[256,144]} -recieve: {"action":"move","direction":[257,144]} -recieve: {"action":"move","direction":[258,144]} -recieve: {"action":"move","direction":[259,144]} -recieve: {"action":"move","direction":[260,144]} -recieve: {"action":"move","direction":[262,144]} -recieve: {"action":"move","direction":[263,145]} -recieve: {"action":"move","direction":[264,145]} -recieve: {"action":"move","direction":[265,145]} -recieve: {"action":"move","direction":[267,145]} -recieve: {"action":"move","direction":[267,146]} -recieve: {"action":"move","direction":[269,146]} -recieve: {"action":"move","direction":[271,146]} -recieve: {"action":"move","direction":[273,146]} -recieve: {"action":"move","direction":[275,147]} -recieve: {"action":"move","direction":[276,147]} -recieve: {"action":"move","direction":[277,147]} -recieve: {"action":"move","direction":[278,147]} -recieve: {"action":"move","direction":[279,147]} -recieve: {"action":"move","direction":[280,147]} -recieve: {"action":"move","direction":[281,147]} -recieve: {"action":"move","direction":[282,147]} -recieve: {"action":"move","direction":[283,147]} -recieve: {"action":"move","direction":[284,147]} -recieve: {"action":"move","direction":[285,147]} -recieve: {"action":"move","direction":[286,147]} -recieve: {"action":"move","direction":[287,147]} -recieve: {"action":"move","direction":[288,147]} -recieve: {"action":"move","direction":[289,147]} -recieve: {"action":"move","direction":[292,147]} -recieve: {"action":"move","direction":[295,147]} -recieve: {"action":"move","direction":[296,147]} -recieve: {"action":"move","direction":[297,147]} -recieve: {"action":"move","direction":[298,147]} -recieve: {"action":"move","direction":[299,148]} -recieve: {"action":"move","direction":[301,149]} -recieve: {"action":"move","direction":[303,150]} -recieve: {"action":"move","direction":[304,150]} -recieve: {"action":"move","direction":[305,150]} -recieve: {"action":"move","direction":[307,151]} -recieve: {"action":"move","direction":[308,151]} -recieve: {"action":"move","direction":[309,152]} -recieve: {"action":"move","direction":[310,152]} -recieve: {"action":"move","direction":[311,153]} -recieve: {"action":"move","direction":[312,153]} -recieve: {"action":"move","direction":[313,153]} -recieve: {"action":"move","direction":[314,153]} -recieve: {"action":"move","direction":[315,153]} -recieve: {"action":"move","direction":[316,153]} -recieve: {"action":"move","direction":[317,153]} -recieve: {"action":"move","direction":[319,153]} -recieve: {"action":"move","direction":[320,153]} -recieve: {"action":"move","direction":[322,152]} -recieve: {"action":"move","direction":[323,151]} -recieve: {"action":"move","direction":[325,150]} -recieve: {"action":"move","direction":[326,150]} -recieve: {"action":"move","direction":[327,150]} -recieve: {"action":"move","direction":[328,150]} -recieve: {"action":"move","direction":[328,149]} -recieve: {"action":"move","direction":[331,148]} -recieve: {"action":"move","direction":[332,148]} -recieve: {"action":"move","direction":[333,147]} -recieve: {"action":"move","direction":[334,146]} -recieve: {"action":"move","direction":[335,146]} -recieve: {"action":"move","direction":[337,145]} -recieve: {"action":"move","direction":[338,145]} -recieve: {"action":"move","direction":[339,144]} -recieve: {"action":"move","direction":[340,144]} -recieve: {"action":"move","direction":[341,143]} -recieve: {"action":"move","direction":[342,143]} -recieve: {"action":"move","direction":[343,143]} -recieve: {"action":"move","direction":[344,143]} -recieve: {"action":"move","direction":[345,143]} -recieve: {"action":"move","direction":[346,143]} -recieve: {"action":"move","direction":[347,143]} -recieve: {"action":"move","direction":[348,143]} -recieve: {"action":"move","direction":[349,143]} -recieve: {"action":"move","direction":[351,143]} -recieve: {"action":"move","direction":[353,143]} -recieve: {"action":"move","direction":[354,143]} -recieve: {"action":"move","direction":[355,143]} -recieve: {"action":"move","direction":[357,143]} -recieve: {"action":"move","direction":[360,143]} -recieve: {"action":"move","direction":[361,143]} -recieve: {"action":"move","direction":[363,143]} -recieve: {"action":"move","direction":[364,143]} -recieve: {"action":"move","direction":[365,143]} -recieve: {"action":"move","direction":[366,143]} -recieve: {"action":"move","direction":[367,143]} -recieve: {"action":"move","direction":[368,143]} -recieve: {"action":"move","direction":[369,143]} -recieve: {"action":"move","direction":[370,143]} -recieve: {"action":"move","direction":[371,143]} -recieve: {"action":"move","direction":[373,143]} -recieve: {"action":"move","direction":[374,143]} -recieve: {"action":"move","direction":[375,143]} -recieve: {"action":"move","direction":[376,143]} -recieve: {"action":"move","direction":[378,143]} -recieve: {"action":"move","direction":[379,143]} -recieve: {"action":"move","direction":[380,143]} -recieve: {"action":"move","direction":[381,143]} -recieve: {"action":"move","direction":[382,143]} -recieve: {"action":"move","direction":[383,143]} -recieve: {"action":"move","direction":[384,143]} -recieve: {"action":"move","direction":[385,143]} -recieve: {"action":"move","direction":[386,143]} -recieve: {"action":"move","direction":[387,143]} -recieve: {"action":"move","direction":[388,143]} -recieve: {"action":"move","direction":[389,143]} -recieve: {"action":"move","direction":[390,143]} -recieve: {"action":"move","direction":[391,143]} -recieve: {"action":"move","direction":[392,143]} -recieve: {"action":"move","direction":[393,143]} -recieve: {"action":"move","direction":[394,143]} -recieve: {"action":"move","direction":[395,143]} -recieve: {"action":"move","direction":[396,143]} -recieve: {"action":"move","direction":[397,143]} -recieve: {"action":"move","direction":[398,144]} -recieve: {"action":"move","direction":[399,144]} -recieve: {"action":"move","direction":[400,144]} -recieve: {"action":"move","direction":[401,144]} -recieve: {"action":"move","direction":[402,144]} -recieve: {"action":"move","direction":[403,144]} -recieve: {"action":"move","direction":[404,144]} -recieve: {"action":"move","direction":[405,144]} -recieve: {"action":"move","direction":[406,144]} -recieve: {"action":"move","direction":[408,144]} -recieve: {"action":"move","direction":[410,144]} -recieve: {"action":"move","direction":[411,144]} -recieve: {"action":"move","direction":[412,144]} -recieve: {"action":"move","direction":[413,144]} -recieve: {"action":"move","direction":[414,144]} -recieve: {"action":"move","direction":[415,144]} -recieve: {"action":"move","direction":[416,144]} -recieve: {"action":"move","direction":[417,144]} -recieve: {"action":"move","direction":[418,144]} -recieve: {"action":"move","direction":[419,144]} -recieve: {"action":"move","direction":[420,144]} -recieve: {"action":"move","direction":[421,144]} -recieve: {"action":"move","direction":[422,144]} -recieve: {"action":"move","direction":[423,144]} -recieve: {"action":"move","direction":[425,144]} -recieve: {"action":"move","direction":[426,144]} -recieve: {"action":"move","direction":[427,144]} -recieve: {"action":"move","direction":[429,144]} -recieve: {"action":"move","direction":[430,144]} -recieve: {"action":"move","direction":[431,144]} -recieve: {"action":"move","direction":[432,144]} -recieve: {"action":"move","direction":[434,143]} -recieve: {"action":"move","direction":[435,142]} -recieve: {"action":"move","direction":[436,141]} -recieve: {"action":"move","direction":[437,141]} -recieve: {"action":"move","direction":[438,140]} -recieve: {"action":"move","direction":[439,140]} -recieve: {"action":"move","direction":[440,139]} -recieve: {"action":"move","direction":[442,138]} -recieve: {"action":"move","direction":[443,138]} -recieve: {"action":"move","direction":[444,138]} -recieve: {"action":"move","direction":[445,138]} -recieve: {"action":"move","direction":[445,139]} -recieve: {"action":"move","direction":[446,139]} -recieve: {"action":"move","direction":[447,139]} -recieve: {"action":"move","direction":[448,139]} -recieve: {"action":"move","direction":[449,140]} -recieve: {"action":"move","direction":[449,141]} -recieve: {"action":"move","direction":[450,142]} -recieve: {"action":"move","direction":[451,142]} -recieve: {"action":"move","direction":[452,143]} -recieve: {"action":"move","direction":[453,144]} -recieve: {"action":"move","direction":[453,145]} -recieve: {"action":"move","direction":[454,146]} -recieve: {"action":"move","direction":[454,147]} -recieve: {"action":"move","direction":[454,148]} -recieve: {"action":"move","direction":[454,150]} -recieve: {"action":"move","direction":[454,151]} -recieve: {"action":"move","direction":[454,152]} -recieve: {"action":"move","direction":[454,154]} -recieve: {"action":"move","direction":[454,155]} -recieve: {"action":"move","direction":[454,156]} -recieve: {"action":"move","direction":[454,157]} -recieve: {"action":"move","direction":[454,158]} -recieve: {"action":"move","direction":[454,159]} -recieve: {"action":"move","direction":[454,160]} -recieve: {"action":"move","direction":[454,161]} -recieve: {"action":"move","direction":[454,162]} -recieve: {"action":"move","direction":[454,163]} -recieve: {"action":"move","direction":[453,165]} -recieve: {"action":"move","direction":[453,166]} -recieve: {"action":"move","direction":[452,167]} -recieve: {"action":"move","direction":[452,169]} -recieve: {"action":"move","direction":[452,170]} -recieve: {"action":"up","direction":[452,170]} -up: {'action': 'up', 'direction': [452, 170]} -recieve: {"action":"submit"} -up: {'action': 'submit'} -Wrote www/generated/2b037f4c00af4dfa92df78cd8aa69dcf.svg -Client disconnected -Client disconnected -New client connected diff --git a/realones/square.svg b/realones/square.svg deleted file mode 100644 index b85c40f..0000000 --- a/realones/square.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - diff --git a/scanimation/LocalServer.js b/scanimation/LocalServer.js new file mode 100644 index 0000000..76e0151 --- /dev/null +++ b/scanimation/LocalServer.js @@ -0,0 +1,68 @@ + +const express = require('express'), + app = express(), + server = require('http').Server(app), + io = require('socket.io')(server), + fs = require('fs'), + watch = require('node-watch') + + + + +let LocalServer = (config) => { + + let ls = { + express: express, + app: app, + server: server, + io: io + } + + + app.use(express.static(config.frontend_folder)) + + io.on('connection', function(socket){ + console.log('client connected') + socket.emit('connection') + + + +// FRAME ANIMATION ///////////////////////////////////////////////////////////// + + socket.on('animationInit', function(){ + fs.readdir(config.frames_folder, (err, files) => { + socket.emit('frameData', {frames: files}) + console.log('starting animation') + }) + }) + + watch(config.frames_folder, function(e, name){ + fs.readdir(config.frames_folder, (err, files) => { + socket.emit('frameData', {frames: files}) + console.log(`frames changed => ${name}`) + }) + }) + + + +//////////////////////////////////////////////////////////////////////////////// + + + + }) + + + ls.start = () => { + server.listen(config.port, function(){ + console.log(`node server listening on port ${config.port}`) + }) + } + + + + + + return ls + +} +module.exports = LocalServer diff --git a/scanimation/interfaces/.gitignore b/scanimation/interfaces/.gitignore new file mode 100644 index 0000000..b07e25f --- /dev/null +++ b/scanimation/interfaces/.gitignore @@ -0,0 +1 @@ +frames/* diff --git a/scanimation/interfaces/animation/index.html b/scanimation/interfaces/animation/index.html new file mode 100644 index 0000000..09efc1d --- /dev/null +++ b/scanimation/interfaces/animation/index.html @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/scanimation/interfaces/animation/script.js b/scanimation/interfaces/animation/script.js new file mode 100644 index 0000000..75fecee --- /dev/null +++ b/scanimation/interfaces/animation/script.js @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + + + + + + + +Sign in · GitLab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+ + + + +
+ + diff --git a/scanimation/interfaces/animation/style.css b/scanimation/interfaces/animation/style.css new file mode 100644 index 0000000..1997fec --- /dev/null +++ b/scanimation/interfaces/animation/style.css @@ -0,0 +1,20 @@ +:root{ +} + +html, body{ +background: black; +margin: 0; +padding: 0; +border: 0; +text-decoration: none; +/* width: 100%; */ +height: 100%; + +overflow: hidden; +} + +canvas{ + background: #333; + width: 1920px; + height: 1422px; +} diff --git a/scanimation/interfaces/backend/amazon.svg b/scanimation/interfaces/backend/amazon.svg new file mode 100644 index 0000000..43961b1 --- /dev/null +++ b/scanimation/interfaces/backend/amazon.svg @@ -0,0 +1,26 @@ + + + + Standard Mark - Dark + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/scanimation/interfaces/backend/font/BebasNeue-Regular.eot b/scanimation/interfaces/backend/font/BebasNeue-Regular.eot new file mode 100644 index 0000000..63df3a7 Binary files /dev/null and b/scanimation/interfaces/backend/font/BebasNeue-Regular.eot differ diff --git a/scanimation/interfaces/backend/font/BebasNeue-Regular.otf b/scanimation/interfaces/backend/font/BebasNeue-Regular.otf new file mode 100644 index 0000000..4f5676c Binary files /dev/null and b/scanimation/interfaces/backend/font/BebasNeue-Regular.otf differ diff --git a/scanimation/interfaces/backend/font/BebasNeue-Regular.ttf b/scanimation/interfaces/backend/font/BebasNeue-Regular.ttf new file mode 100644 index 0000000..76e22b8 Binary files /dev/null and b/scanimation/interfaces/backend/font/BebasNeue-Regular.ttf differ diff --git a/scanimation/interfaces/backend/font/BebasNeue-Regular.woff b/scanimation/interfaces/backend/font/BebasNeue-Regular.woff new file mode 100644 index 0000000..457f916 Binary files /dev/null and b/scanimation/interfaces/backend/font/BebasNeue-Regular.woff differ diff --git a/scanimation/interfaces/backend/font/BebasNeue-Regular.woff2 b/scanimation/interfaces/backend/font/BebasNeue-Regular.woff2 new file mode 100644 index 0000000..b4099a9 Binary files /dev/null and b/scanimation/interfaces/backend/font/BebasNeue-Regular.woff2 differ diff --git a/scanimation/interfaces/backend/font/DroidSansFallbackFull.ttf b/scanimation/interfaces/backend/font/DroidSansFallbackFull.ttf new file mode 100644 index 0000000..89959f5 Binary files /dev/null and b/scanimation/interfaces/backend/font/DroidSansFallbackFull.ttf differ diff --git a/scanimation/interfaces/backend/font/FreeSans.ttf b/scanimation/interfaces/backend/font/FreeSans.ttf new file mode 100644 index 0000000..7d1be71 Binary files /dev/null and b/scanimation/interfaces/backend/font/FreeSans.ttf differ diff --git a/scanimation/interfaces/backend/index.html b/scanimation/interfaces/backend/index.html new file mode 100644 index 0000000..3fe5993 --- /dev/null +++ b/scanimation/interfaces/backend/index.html @@ -0,0 +1,33 @@ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + +
worker idip addresscountryfeetask start timetask completion time
+
+ + + + diff --git a/scanimation/interfaces/backend/script.js b/scanimation/interfaces/backend/script.js new file mode 100644 index 0000000..3995bdb --- /dev/null +++ b/scanimation/interfaces/backend/script.js @@ -0,0 +1,12 @@ + + +let list = document.querySelector("tbody") +let testdata = `AMZ3976824398234.183.281.221united states€0.20wed 30 oct 14:5604m 37s` + +for(let i=0; i < 200; i++){ + + let entry = document.createElement('tr') + entry.innerHTML = testdata + list.append(entry) + +} diff --git a/scanimation/interfaces/backend/style.css b/scanimation/interfaces/backend/style.css new file mode 100644 index 0000000..771db0b --- /dev/null +++ b/scanimation/interfaces/backend/style.css @@ -0,0 +1,110 @@ +@font-face { + font-family: 'bebas'; + src: url('font/BebasNeue-Regular.ttf'); +} + +@font-face { + font-family: 'freesans'; + src: url('font/FreeSans.ttf') +} + + +:root{ + + --base-font-size: 12px; + --spec_name-font-size: 120%; + --spec_value-font-size: 250%; + + --base-color: #271601; /* tekst */ + --alt-color: #FFF5DF; /* achtergrond */ + --amazon-color: #F0C14C; + + /* ////// GAT ACHTERKANT PLEK & POSITIE /////// */ + /* */ /* */ + /* */ --pos-x: 20px; /* */ + /* */ --pos-y: 20px; /* */ + /* */ --width: 90%; /* 115mm */ + /* */ --height: 100%; /* 500mm */ + /* */ /* */ + /* //////////////////////////////////////////// */ + +} + + +html, body{ + margin: 0; + padding: 0; + border: 0; + text-decoration: none; + font-family: 'freesans'; + font-size: var(--base-font-size); + line-height: 1.1; + background: #555; + overflow: hidden; +} + +#logo{ + background: #555; + width: 100%; + padding: 2% 0% 1% 0%; + text-align: right; +} + +#wrapper{ + + position: absolute; + left: var(--pos-x); + top: var(--pos-y); + width: var(--width); + /* height: var(--height); */ + + background: var(--alt-color); + box-sizing: border-box; + /* padding: 2%; */ +} + + +table{ + display: grid; + border-collapse: collapse; + min-width: 100%; + grid-template-columns: repeat(6, 1fr); +} + +thead, tbody, tr{ + display: contents; +} + + +th, +td { + padding: 2%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +th { + position: -webkit-sticky; + position: sticky; + background-image: linear-gradient(var(--alt-color), var(--amazon-color)) ; + top: 0; + text-align: left; + font-weight: normal; + font-size: 1.1rem; + color: var(--base-color); +} + +th:last-child { + border: 0; +} + +td { + padding-top: 2%; + padding-bottom: 2%; + color: #808080; +} + +tr:nth-child(even) td { + background: #f8f6f9; +} diff --git a/scanimation/interfaces/index.html b/scanimation/interfaces/index.html new file mode 100644 index 0000000..e5ada97 --- /dev/null +++ b/scanimation/interfaces/index.html @@ -0,0 +1,3 @@ +worker specs
+frame animation
+backend diff --git a/scanimation/interfaces/worker_specs/dateformat.js b/scanimation/interfaces/worker_specs/dateformat.js new file mode 100644 index 0000000..466f649 --- /dev/null +++ b/scanimation/interfaces/worker_specs/dateformat.js @@ -0,0 +1,125 @@ +/* + * Date Format 1.2.3 + * (c) 2007-2009 Steven Levithan + * MIT license + * + * Includes enhancements by Scott Trenda + * and Kris Kowal + * + * Accepts a date, a mask, or a date and a mask. + * Returns a formatted version of the given date. + * The date defaults to the current date/time. + * The mask defaults to dateFormat.masks.default. + */ + +var dateFormat = function () { + var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g, + timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g, + timezoneClip = /[^-+\dA-Z]/g, + pad = function (val, len) { + val = String(val); + len = len || 2; + while (val.length < len) val = "0" + val; + return val; + }; + + // Regexes and supporting functions are cached through closure + return function (date, mask, utc) { + var dF = dateFormat; + + // You can't provide utc if you skip other args (use the "UTC:" mask prefix) + if (arguments.length == 1 && Object.prototype.toString.call(date) == "[object String]" && !/\d/.test(date)) { + mask = date; + date = undefined; + } + + // Passing date through Date applies Date.parse, if necessary + date = date ? new Date(date) : new Date; + if (isNaN(date)) throw SyntaxError("invalid date"); + + mask = String(dF.masks[mask] || mask || dF.masks["default"]); + + // Allow setting the utc argument via the mask + if (mask.slice(0, 4) == "UTC:") { + mask = mask.slice(4); + utc = true; + } + + var _ = utc ? "getUTC" : "get", + d = date[_ + "Date"](), + D = date[_ + "Day"](), + m = date[_ + "Month"](), + y = date[_ + "FullYear"](), + H = date[_ + "Hours"](), + M = date[_ + "Minutes"](), + s = date[_ + "Seconds"](), + L = date[_ + "Milliseconds"](), + o = utc ? 0 : date.getTimezoneOffset(), + flags = { + d: d, + dd: pad(d), + ddd: dF.i18n.dayNames[D], + dddd: dF.i18n.dayNames[D + 7], + m: m + 1, + mm: pad(m + 1), + mmm: dF.i18n.monthNames[m], + mmmm: dF.i18n.monthNames[m + 12], + yy: String(y).slice(2), + yyyy: y, + h: H % 12 || 12, + hh: pad(H % 12 || 12), + H: H, + HH: pad(H), + M: M, + MM: pad(M), + s: s, + ss: pad(s), + l: pad(L, 3), + L: pad(L > 99 ? Math.round(L / 10) : L), + t: H < 12 ? "a" : "p", + tt: H < 12 ? "am" : "pm", + T: H < 12 ? "A" : "P", + TT: H < 12 ? "AM" : "PM", + Z: utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""), + o: (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4), + S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10] + }; + + return mask.replace(token, function ($0) { + return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1); + }); + }; +}(); + +// Some common format strings +dateFormat.masks = { + "default": "ddd mmm dd yyyy HH:MM:ss", + shortDate: "m/d/yy", + mediumDate: "mmm d, yyyy", + longDate: "mmmm d, yyyy", + fullDate: "dddd, mmmm d, yyyy", + shortTime: "h:MM TT", + mediumTime: "h:MM:ss TT", + longTime: "h:MM:ss TT Z", + isoDate: "yyyy-mm-dd", + isoTime: "HH:MM:ss", + isoDateTime: "yyyy-mm-dd'T'HH:MM:ss", + isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'" +}; + +// Internationalization strings +dateFormat.i18n = { + dayNames: [ + "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", + "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" + ], + monthNames: [ + "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", + "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" + ] +}; + +// For convenience... +Date.prototype.format = function (mask, utc) { + return dateFormat(this, mask, utc); +}; diff --git a/scanimation/interfaces/worker_specs/font/BebasNeue-Regular.eot b/scanimation/interfaces/worker_specs/font/BebasNeue-Regular.eot new file mode 100644 index 0000000..63df3a7 Binary files /dev/null and b/scanimation/interfaces/worker_specs/font/BebasNeue-Regular.eot differ diff --git a/scanimation/interfaces/worker_specs/font/BebasNeue-Regular.otf b/scanimation/interfaces/worker_specs/font/BebasNeue-Regular.otf new file mode 100644 index 0000000..4f5676c Binary files /dev/null and b/scanimation/interfaces/worker_specs/font/BebasNeue-Regular.otf differ diff --git a/scanimation/interfaces/worker_specs/font/BebasNeue-Regular.ttf b/scanimation/interfaces/worker_specs/font/BebasNeue-Regular.ttf new file mode 100644 index 0000000..76e22b8 Binary files /dev/null and b/scanimation/interfaces/worker_specs/font/BebasNeue-Regular.ttf differ diff --git a/scanimation/interfaces/worker_specs/font/BebasNeue-Regular.woff b/scanimation/interfaces/worker_specs/font/BebasNeue-Regular.woff new file mode 100644 index 0000000..457f916 Binary files /dev/null and b/scanimation/interfaces/worker_specs/font/BebasNeue-Regular.woff differ diff --git a/scanimation/interfaces/worker_specs/font/BebasNeue-Regular.woff2 b/scanimation/interfaces/worker_specs/font/BebasNeue-Regular.woff2 new file mode 100644 index 0000000..b4099a9 Binary files /dev/null and b/scanimation/interfaces/worker_specs/font/BebasNeue-Regular.woff2 differ diff --git a/scanimation/interfaces/worker_specs/font/DroidSansFallbackFull.ttf b/scanimation/interfaces/worker_specs/font/DroidSansFallbackFull.ttf new file mode 100644 index 0000000..89959f5 Binary files /dev/null and b/scanimation/interfaces/worker_specs/font/DroidSansFallbackFull.ttf differ diff --git a/scanimation/interfaces/worker_specs/font/FreeSans.ttf b/scanimation/interfaces/worker_specs/font/FreeSans.ttf new file mode 100644 index 0000000..7d1be71 Binary files /dev/null and b/scanimation/interfaces/worker_specs/font/FreeSans.ttf differ diff --git a/scanimation/interfaces/worker_specs/index.html b/scanimation/interfaces/worker_specs/index.html new file mode 100644 index 0000000..5f8d9fe --- /dev/null +++ b/scanimation/interfaces/worker_specs/index.html @@ -0,0 +1,58 @@ + + + + + + + + + + +
+ + + +
+ human intelligent task id +   + + human worker id +   + ip address +   + location +   + browser +   + os +   + + task started at +   + task status +   + task fee +   + + + time elapsed +   +
+ + + + + + + +
+ + + + diff --git a/scanimation/interfaces/worker_specs/reconnecting-websocket.min.js b/scanimation/interfaces/worker_specs/reconnecting-websocket.min.js new file mode 100644 index 0000000..3015099 --- /dev/null +++ b/scanimation/interfaces/worker_specs/reconnecting-websocket.min.js @@ -0,0 +1 @@ +!function(a,b){"function"==typeof define&&define.amd?define([],b):"undefined"!=typeof module&&module.exports?module.exports=b():a.ReconnectingWebSocket=b()}(this,function(){function a(b,c,d){function l(a,b){var c=document.createEvent("CustomEvent");return c.initCustomEvent(a,!1,!1,b),c}var e={debug:!1,automaticOpen:!0,reconnectInterval:1e3,maxReconnectInterval:3e4,reconnectDecay:1.5,timeoutInterval:2e3};d||(d={});for(var f in e)this[f]="undefined"!=typeof d[f]?d[f]:e[f];this.url=b,this.reconnectAttempts=0,this.readyState=WebSocket.CONNECTING,this.protocol=null;var h,g=this,i=!1,j=!1,k=document.createElement("div");k.addEventListener("open",function(a){g.onopen(a)}),k.addEventListener("close",function(a){g.onclose(a)}),k.addEventListener("connecting",function(a){g.onconnecting(a)}),k.addEventListener("message",function(a){g.onmessage(a)}),k.addEventListener("error",function(a){g.onerror(a)}),this.addEventListener=k.addEventListener.bind(k),this.removeEventListener=k.removeEventListener.bind(k),this.dispatchEvent=k.dispatchEvent.bind(k),this.open=function(b){h=new WebSocket(g.url,c||[]),b||k.dispatchEvent(l("connecting")),(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","attempt-connect",g.url);var d=h,e=setTimeout(function(){(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","connection-timeout",g.url),j=!0,d.close(),j=!1},g.timeoutInterval);h.onopen=function(){clearTimeout(e),(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onopen",g.url),g.protocol=h.protocol,g.readyState=WebSocket.OPEN,g.reconnectAttempts=0;var d=l("open");d.isReconnect=b,b=!1,k.dispatchEvent(d)},h.onclose=function(c){if(clearTimeout(e),h=null,i)g.readyState=WebSocket.CLOSED,k.dispatchEvent(l("close"));else{g.readyState=WebSocket.CONNECTING;var d=l("connecting");d.code=c.code,d.reason=c.reason,d.wasClean=c.wasClean,k.dispatchEvent(d),b||j||((g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onclose",g.url),k.dispatchEvent(l("close")));var e=g.reconnectInterval*Math.pow(g.reconnectDecay,g.reconnectAttempts);setTimeout(function(){g.reconnectAttempts++,g.open(!0)},e>g.maxReconnectInterval?g.maxReconnectInterval:e)}},h.onmessage=function(b){(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onmessage",g.url,b.data);var c=l("message");c.data=b.data,k.dispatchEvent(c)},h.onerror=function(b){(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onerror",g.url,b),k.dispatchEvent(l("error"))}},1==this.automaticOpen&&this.open(!1),this.send=function(b){if(h)return(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","send",g.url,b),h.send(b);throw"INVALID_STATE_ERR : Pausing to reconnect websocket"},this.close=function(a,b){"undefined"==typeof a&&(a=1e3),i=!0,h&&h.close(a,b)},this.refresh=function(){h&&h.close()}}return a.prototype.onopen=function(){},a.prototype.onclose=function(){},a.prototype.onconnecting=function(){},a.prototype.onmessage=function(){},a.prototype.onerror=function(){},a.debugAll=!1,a.CONNECTING=WebSocket.CONNECTING,a.OPEN=WebSocket.OPEN,a.CLOSING=WebSocket.CLOSING,a.CLOSED=WebSocket.CLOSED,a}); diff --git a/scanimation/interfaces/worker_specs/script.js b/scanimation/interfaces/worker_specs/script.js new file mode 100644 index 0000000..70da85d --- /dev/null +++ b/scanimation/interfaces/worker_specs/script.js @@ -0,0 +1,118 @@ + +// DOM STUFF /////////////////////////////////////////////////////////////////// + +let divs = {}, + spec_names = [ + 'worker_id', + 'ip', + 'location', + 'browser', + 'os', + 'state', + 'fee', + 'hit_created', + 'hit_opened', + 'hit_submitted', + 'elapsed_time', + 'hit_id' + ] + +divs.linkDOM = function(name){ + divs[name] = document.getElementById(`${name}`) +} + +spec_names.forEach(function(name){ + divs.linkDOM(name) +}) + + + +let request_time = timeStamp(), + hit_started = false, + elapsed_time, + hit_finished = false + + +// SOCKET STUFF //////////////////////////////////////////////////////////////// + + +let ws = new ReconnectingWebSocket('ws://localhost:8888/status/ws') + + +ws.addEventListener('open', () => { + // ws.send('hi server') +}) + + +ws.addEventListener('message', (event) => { + console.log('message: ' + event.data) + + let data = JSON.parse(event.data) + if(data.property === 'hit_opened') { + if(data.value != null){ + hit_started = true + hit_finished = false + request_time = new Date() + divs[data.property].innerHTML = `${request_time.format('dd mmm HH:MM:ss')}` + }else{ + divs[data.property].innerHTML = `—` + hit_started = false + } + } + else if(data.property === 'hit_submitted'){ + hit_finished = true; + } + else if(divs[data.property]){ + data.value === null ? divs[data.property].innerHTML = `—` : divs[data.property].innerHTML = `${data.value}` + } +}) + + + + + + + + + +// ANIMATION STUFF ///////////////////////////////////////////////////////////// + +let frames, +frames_per_sec = 10, +current_frame = 0 + + + +function makeAnimation(){ + let now, + delta = 0, + last = timeStamp(), + step = 1/frames_per_sec + function frame() { + now = timeStamp() + delta += Math.min(1, (now - last) / 1000) + while(delta > step){ + delta -= step + update(step) + } + last = now + requestAnimationFrame(frame) + } + requestAnimationFrame(frame) +} + +function update(step){ + + if(!hit_finished) elapsed_time = `${new Date((Date.now() - request_time)).format('MM"m "ss"s"')}` + if(hit_started){ + divs['elapsed_time'].innerHTML = elapsed_time + }else{ + divs['elapsed_time'].innerHTML = `—` + } +} + + +makeAnimation() + + +function timeStamp(){return window.performance && window.performance.now ? window.performance.now() : new Date().getTime()} diff --git a/scanimation/interfaces/worker_specs/style.css b/scanimation/interfaces/worker_specs/style.css new file mode 100644 index 0000000..8b97640 --- /dev/null +++ b/scanimation/interfaces/worker_specs/style.css @@ -0,0 +1,93 @@ +@font-face { + font-family: 'bebas'; + src: url('font/BebasNeue-Regular.ttf'); +} + +@font-face { + font-family: 'freesans'; + src: url('font/FreeSans.ttf') +} + + +:root{ + + --base-font-size: 22px; + --spec_name-font-size: 120%; + --spec_value-font-size: 250%; + + --base-color: #271601; /* tekst */ + --alt-color: #FFF5DF; /* achtergrond */ + + /* /////// GAT VOORKANT PLEK & POSITIE //////// */ + /* */ /* */ + /* */ --pos-x: 555px; /* */ + /* */ --pos-y: 120px; /* */ + /* */ --width: 420px; /* 115mm */ + /* */ --height: 1000px; /* 270mm */ + /* */ /* */ + /* //////////////////////////////////////////// */ + +} + + +html, body{ + margin: 0; + padding: 0; + border: 0; + text-decoration: none; + font-family: 'bebas'; + font-size: var(--base-font-size); + line-height: 1.1; + background: var(--alt-color); + overflow: hidden; +} + + +#wrapper{ + + position: absolute; + left: var(--pos-x); + top: var(--pos-y); + width: var(--width); + height: var(--height); + + background: var(--alt-color); + box-sizing: border-box; + padding: 2%; +} + + +#worker_specs{ + display:grid; + grid-template-columns: 1fr ; + grid-template-rows: repeat(50, 1fr 2fr); +} + +.grid-item{ + color: var(--base-color); +} + +.spec_name{ + font-size: var(--spec_name-font-size); + font-family: 'freesans'; +} + +.spec_value{ + font-size: var(--spec_value-font-size); + padding-bottom: 2%; +} + + +.phase{ + display:none; +} + + +.phase:not(#worker_specs){ + padding-top: 100%; + text-align: center; +} + +.narrative_phase_text{ + font-size: var(--spec_value-font-size); +} diff --git a/scanimation/package-lock.json b/scanimation/package-lock.json new file mode 100644 index 0000000..ccd1873 --- /dev/null +++ b/scanimation/package-lock.json @@ -0,0 +1,708 @@ +{ + "name": "scanimation", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" + }, + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "requires": { + "callsite": "1.0.0" + } + }, + "blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "engine.io": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.0.tgz", + "integrity": "sha512-XCyYVWzcHnK5cMz7G4VTu2W7zJS7SM1QkcelghyIk/FmobWBtXE7fwhBusEKvCSqc3bMh8fNFMlUkCKTFRxH2w==", + "requires": { + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "0.3.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "^7.1.2" + } + }, + "engine.io-client": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.0.tgz", + "integrity": "sha512-a4J5QO2k99CM2a0b12IznnyQndoEvtA4UAldhGzKqnHf42I3Qs2W5SPnDvatZRcMaNZs4IevVicBPayxYt6FwA==", + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~6.1.0", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "dependencies": { + "ws": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", + "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "engine.io-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", + "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "requires": { + "isarray": "2.0.1" + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "requires": { + "mime-db": "1.40.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "node-watch": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/node-watch/-/node-watch-0.6.3.tgz", + "integrity": "sha512-InVPsg51EemnMVH3fvrrSVgqVBMlksZ/mK7ZDWx/NuWdNQi28wcVJX1/BP38alraPFXbRi9jZ35OfK4Ra7l8Bg==" + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "reconnecting-websocket": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/reconnecting-websocket/-/reconnecting-websocket-4.2.0.tgz", + "integrity": "sha512-HMD8A0sv40xhkHf/T4qxktyOvHx7K3d2A9i1QG2wRIYdMecxQJMhTIBH4aQ8KfQLfQW4UOqNSfxTgv0C+MbPIA==" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "socket.io": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", + "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", + "requires": { + "debug": "~4.1.0", + "engine.io": "~3.4.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.3.0", + "socket.io-parser": "~3.4.0" + } + }, + "socket.io-adapter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", + "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=" + }, + "socket.io-client": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", + "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "engine.io-client": "~3.4.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "socket.io-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", + "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + } + } + }, + "socket.io-parser": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.0.tgz", + "integrity": "sha512-/G/VOI+3DBp0+DJKW4KesGnQkQPFmUCbA/oO2QGT6CWxU7hLGWqU3tyuzeSK/dqcyeHsQg1vTe9jiZI8GU9SCQ==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "isarray": "2.0.1" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "ws": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.1.2.tgz", + "integrity": "sha512-gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg==", + "requires": { + "async-limiter": "^1.0.0" + } + }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + } + } +} diff --git a/scanimation/package.json b/scanimation/package.json new file mode 100644 index 0000000..351dfb6 --- /dev/null +++ b/scanimation/package.json @@ -0,0 +1,19 @@ +{ + "name": "scanimation", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "express": "^4.17.1", + "node-watch": "^0.6.3", + "reconnecting-websocket": "^4.2.0", + "socket.io": "^2.3.0", + "ws": "^7.1.2" + } +} diff --git a/scanimation/run.js b/scanimation/run.js new file mode 100644 index 0000000..b0196de --- /dev/null +++ b/scanimation/run.js @@ -0,0 +1,25 @@ + + +const LocalServer = require('./LocalServer') + +let config = { + port: 1989, + frontend_folder: 'interfaces', + frames_folder: 'interfaces/frames' +} + +let localServer = LocalServer(config) +let run = () => { localServer.start() } + +run() + +let kill = () => { + console.log('shutting down'); + localServer.server.close(); + process.exit(0); +} + +process.on('SIGHUP', kill); +process.on('SIGINT', kill); +process.on('SIGTERM', kill); +process.on('SIGCONT', kill); diff --git a/www/cursor.png b/www/cursor.png index ad600de..672fc9f 100644 Binary files a/www/cursor.png and b/www/cursor.png differ diff --git a/www/start_image.jpg b/www/start_image.jpg index 4c998ae..fddc929 100644 Binary files a/www/start_image.jpg and b/www/start_image.jpg differ