<snapdata remixID="10152909"><project name="U3L3-TicTacToe- New" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAgAElEQVR4Xu1dB3hUVdp+p6X3SkKR0EEUpStgQbq6VhRcXBv727so+KioiI1Vd22goNgWQaSJulJFFBVBBQMkIIEQSkJCyoT0TPmf94QzTiYzmTszN5mJznnIw8zc/p33fv37jsZqtVoRHEEK+IkCmiAA/UT54GUFBYIADALBrxQIAtCv5A9ePAjAIAb8SoEgAP1K/uDFgwAMYsCvFAgC0K/kD148CMAgBvxKgSAA/Ur+4MWDAAxiwK8UCALQr+QPXjwIwCAG/EqBIAD9Sv7gxYMADGLArxQIAtCv5A9ePAjAIAb8SoEgAP1K/uDFgwAMYsCvFAgC0K/kD17cIwCazWaUlJSgoKAAhw4dEp+rqqpQW1uLv2JpCZ9Zo9G4RFFLb1cbvnyWkJAQREZGIj4+HqeddhratWuHxMRE6HQ6tS8nzqcIgBaLBaWlpfjtt98E8Orr65GUlITo6GiEhobCYDCIiWhpggfP3/KA59zW1dXh5MmTKCoqgl6vF0A844wzBBC1Wq2qQHQLQN7Qvn37sG3bNvEWdOzYEenp6eJNkTfTHBdQ9W6DJ2txCkhJRqbDuc/Pz0deXp74PGDAAPTu3VswHLVGswCkaCXwsrOz0b59e2RkZAj2bM+J5Gdnv/Emg9sbuFZbpg/VLEq+w4cPo3v37hg8eDDCw8NVwaBLAPIN+OWXXwQAe/XqJcCnNvtV5QmCJ2kVChAPBGFWVhbOPvtsDBw4UBW90CkA+bbm5uZi06ZNQuR269atWfCZTCbQQCFr9hdIpcigmkC9JTjUpwBpfPDgQYGN4cOHC1z4qn45BSBZ7v/+9z8hNij33VlAq1atwubNmzF16lShI/hjZGZmYsmSJeJ+L7vsMr+9CP549ta8JhnNjh07hE44YcIEREVF+XR5pwDcs2cPvv32WwwaNEhYu+7GrFmzsGDBAnz88ce48MILhVumtceaNWswbdo0XHvttXjyyScFgYKjZShA99tPP/2Ec845R1jHvowmACSbXb16NShWzzrrLJvF48wFIn+TACQnpK544MABYbLTWpbikOc7cuQIiouLxTlp1NDXJEU2QUtri+Y/3yqa/rS0+cZR+SUX5u9SEaYSfPToURQWFiIuLk4YStOnT8cNN9yA5557TlyHzyJFRHP3b28s2RPTleEg9/mrbudc0iVH+l5++eU+SZsmAOTEffHFF+jcubMAAYe04uw/2//2zDPPCA541113CaOFwKCPcMaMGTjvvPNQWVmJ999/XwCb4p2gS0tLw7333oshQ4agvLwcb7zxBr7++msBfIJt5MiRuPPOO8W17777boSFhYk/Gkbz589HWVkZ5syZI9wEqampAtDUWW+66SY8//zzwoclXQru7j+4vcFKdzW/zuhDZvL777/jkksuUSQlXXHJJgDcu3cvvv/+e2HlxMTEKOKuEoAXXHCBEIM///wzZs+eLcz1//73v1i5cqX4fcSIEXjkkUfEjc+cOVMAnMDcv38/Hn30UQHG++67D0888YTQQSnSaYFfeeWVgntSvJ977rkYO3asELME7IMPPih+e+GFF7Bx40YBVgLwxIkT4g0NjpahACXV9u3bxZz5ovc3ASAVTHKZYcOGCY6jZEgAvvXWW7jlllsEoK6++mpUVFQIbkpwUTzz87hx43Ds2DHBLQn0d999V/iWaN6T+1HsLlq0SBgU7733nuCEBNzx48cFKKkW8PxjxowRIvnHH39EREQE5s6dKzjuP//5zyAAlUyaj/swWvLdd9+hX79+6N+/v9dnawLArVu3YteuXWLilbpUJAA/++wzjB49GuSid9xxh9Dp+BtFLYHCv549ewoRTb2RInnevHkCSOSQFAPkivQ38RwEJy0t3gt1QQI4JSVFcNhLL70UXbt2xa+//ir0vWXLluHhhx/GjTfe2EQEe02d4IEuKcC5ogTifFICeTuaAPCHH37A7t27BZCUDglAcqG///3voEvk5ptvFpbounXrhHHw6aefCsCRs9KPRMBRkaWYffvtt/HJJ58IwF188cVCvL755puNAEg9hFyUBgfvb9KkSULPJBelAcNjeR+33nprEIBKJ87H/ajy0BdI1crboQoAyc3eeecdwamog5HTvfTSS0JMEjQfffSRMChokNx+++1CxL/88stCfyDnuu222wQQab126NABr7zyitiH+uI//vEPTJw4URgj1CVjY2OFCKe43bJlCx544AFheRPEvC6v42iEeEuc4HHNUyBgAEjgLF68WICLHI8ilEB67bXXbByPxsiHH34oLGKKU4ZzyOnoa1yxYoUAG61h6oPXXHMNPvjgA6FDPvTQQ8LC5iBIKa55DirABD7BSABSF+G1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</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Square" idx="1" x="49.963489842194576" y="-49.85125576658197" heading="90" scale="0.95" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="8"><costumes><list id="9"><item><costume name="Empty" center-x="29" center-y="28" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAABKElEQVRoQ+2bIQ6DQBBFPzfoDVqDbhMEhqQVa/YWvQEWBzgsp1mzogKDIKnH0BtwhGYbQtLSVs9uPieYN/+/jFkiABWAI4ATwvzu0QJ5BnAJkxG3T8hJa400TQ8+A/d9PxljHILjeIfUWk9t2yKOY68hx3Gc8jyHMWYLWVUVyrL0OcR19rqu4Xg2SRLSs3yZJJ30qLKsK+vKusraAJ2kk7Ia+Xca1pV1ZV1lbYBO0klZjeQJoZN0kk7K2gCdpJOyGsk7SSfpJJ2UtQE6SSdlNZJ3kk7SSTopawN0kk7KaiTvJJ2kkyE4qZSam6ZBkiQ7j3g2ow7DMBdFAWut49g8z56VUsiyzGvIrutma62D/wrpc4C/Zn8leV0epO9DJATwcJCh/iqxZvYEuRuoAhendhsAAAAASUVORK5CYII=" id="10"/></item><item><costume name="X" center-x="29" center-y="29" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA6CAYAAAAKjPErAAADw0lEQVRoQ93bvU/bQBgG8IdWQgyWYOiQDYZuDAl7IUFd6AT8BYSNIQOoS7bAxggDCwzAxgZjlwoGxqoCQbYOsGWoKpAYEFKl6nE5yznss30fdpyTWGIH+3fve++ZOzOC4WwTAB4EbQTAJoAqgNqQeN8BqAB4AfAHwE+BrANoDAlSZlzIyBfP89BqtUbHxsZKZX5+fsbR0RF6vV4i0j+hVqvh/PwcExNM7XK05eVlnJ2dBTc7PT39u9vtfgDwJpLBSWWCrq6u+lEU7fDwEPf399jcZLmRkEtLS329UQaoDOx0Oj5ua2srGsmDk5OT4BdFG2SoDFxZWQkiqkSyJxj6QYeqgAxQIpInRUGZ64xs0S0JmBoZBWW1ZdUtEpoGmAnpl6aLC7AgPT4++gEsEipnV3gMytmVKl3DX7q6ukKj0SgUmgWYOZICWyRUBtbrdT/DVC1zJIuEysBqteoDk57GtJHE5hlRXaB2uuY9Rk2AVpCuI2oKtIZ0BeVwmJ+fx8PD/z/s045B4ylEVcVsjlFbQKuRtFl1ZeD4+Lhf5KamprSeIo2qa9wVTSIaBeQ0YfL46AQZN0b5UM/HQlXnhMcgI2gKdJKuqumFxwhtNptvnC4iKC7iLJLiAnd3d370rq+vA5gM5TkzMzNBFbUVwdyQvBCnAD7UR0F5jCnKSLLZBjpP13BORkH39vZwcHDgFJgrMi6i4Y44PT1VFiat+SPt8ofuL4/6HiM6OzuL29vbvsNxBcnGtZ0XHvkmiZybm8PNzc1wIuUiI3eAq2jmGklOE6KKEsjCs7+/r5xeSpWuUcv3fChQTS82gLlV1zigQLiGOk/XtGujLqFOkWmBqohyT4bbFSbNGTIrUAXl2GXl1W1OkLrAMHR9fR3Hx8eBywRqHSn2A8XdqZbvkyJDmA2oVWTW5fskJI/bgFpDugCKTjCFWkHaWBtNiqoJ1BiZB9A0okbIPIEmUG1kEUBdqBaSy4RclxFNd/k+aRyqjmcZo5mRNpfvTZBZppdMSBnI93z4WdImqCnGNKKpkS4Xf007QU5drvPyWVd0firkIAPjilH47bFEZBmAArqzs4ONjY0gMQR0d3c3/t26xcXFvk1QF6vbpqkqfz/q7bGFhQVsb2/z1P5XQdvtNk5OTsB9CrYyAAVYhlYqFfGCbz/S87y/T09P78sGjIO+fn4pXs/+DOBTOA3W1tbA3ihbYz0Jv8HMvSeB/ArAKxso5f3+IJK7o9wK/gJgFMAlgF8pf8Egn/bx9ea+Eyn+VYIf8ufbIN+5zr39A7wlN3D1pfCoAAAAAElFTkSuQmCC" id="11"/></item><item><costume name="O" center-x="28" center-y="28" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAAEX0lEQVRoQ+2aizUsQRCGeyJABGwEiAARsBEgAkSwuxEgAjYCRGA3AkSACBDB3PPNubWnts2juuexa6lznPsw091//VV/V1dP4pwbOuf23OraNPkPcrC6GN3oV4IcpWn641lNkmTknBMc80ymaboyUZskBGlm3YF8e3tz7+/v2aybm5tua2urVYe2DnI6nbr7+3s3mUzc8/NzKZidnR23v7/vjo6O3N5ecyLfCkiYGo1GGbjPz88oltbX1zOwg8GgNtONggTQ9fW1Gw7ZbotNh6gO3aI3GO/s7MwBPMYaA3l7e+suLi6+MQcgGJEwLFukhDV/Ss7K8wC8vLx0JycnwTgbAQm4q6urucnJKRgAXIyRw7xPTms7Pz/PwIZYLZCE5+npaZZ7YjAHYNhrwhgbYJpZxr65uTGHbzRIAB4cHMwp5vHxcQYwNneKnMJcAB2Px7NHUOLHx0fTXNEgYZA8FEMFqwSnLrOMj2qLkZ8wWmVRIP3JmChGEKoWl/d7HIuDQ5wbDJIc6ff7s0mQdl90YhYf8g6hy1Yldnd3V6oBwSB7vZ5jb8MODw/nRCdkoXWfRXweHh6yYSgLX19fC4cMAgljbBfY2tpaBrZpkbGCR4wA9/X1lb3CtgLDeWYGyaCwKGVa2aDWhdZ9TjsdZ8NmntPNIPWA7IUSsnUXWvd92JQ9tMjxZpC7u7uzPbFLNa1yglZbqiwqJd9MIAnRjY2N2bsfHx8Ly0UfgGVtJpAWb1V5vM3fU/28vLxkU+RFmQkkG72UVMsgOL7DtF5QWupKjGdNIDlJyGmAejH2ZNEWm+QhdTSWl5d/IMXziI7sj8skOrI+LT7sk6xRm4lJ9ZBb1lZl2Rr/QArlWqKfnp4c/14mo9VJsYJtb29/a32amFwhdR3OXfjo3NMgq85ui2BYn3GjtxDdCcjbbBcBTM+pi5W8NowK12ImdcxXHVAXAVhvcXmaYcpJFs7+IwfUZRIfTUDREdAMUofEMoWsZV1mkLo+hFlO4W1fuVWFPgd3uhViRXW1GSQDaZXl7wy6SKMol0Ny0YHZfAoRIL7nFrmd+P3XssgKYhKwOgcQI9jsugJCbGBRDg1VGhEMkoEJVTmJk5eobVetSb9rSBlHyJbNHwwSNvEkQGVLCbl8qZPDpAvde7mWp/cLwKpIigLJQn21bTt0/RBlDdYuRTRIJvGTH6By9V2HMf9d7j387nhIW7QWyLzQ5f8IHxpedXtBRAvXEvqrEWuIBncGqlghV7iAETGS5wGJGrOHWQsHxqJpRpT4jWJEhhOHdSxZR20mZSBUj9YgPyJI2jmwK1fsLFIWCii5cgBA3rc+sEe48hOj4o2B1GD9q++qSCj7fRNX9I2D1NWRfLIi94hWsNx7yicxoaGZN0drIPVkhLL+7EyHqA5d+ewsJiTLHNgJSCuDbT1n6gy0NXlX4/42Jr99nj1J0zTum7GuKDLMkyQJt7KC43d+g27w0497JGtJ/vjwrHL7P5XNSaMYdLI4AAAAAElFTkSuQmCC" id="12"/></item></list></costumes><sounds><list struct="atomic" id="13"></list></sounds><blocks></blocks><variables><variable name="position number"><l>10</l></variable></variables><scripts><script x="13.345679012345698" y="10"><block s="receiveGo"></block><block s="clear"></block><custom-block s="makeBoard"><comment w="90" collapsed="false">Makes 3x3 board for game</comment></custom-block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>board</l><block s="reportNumbers"><l>1</l><l>9</l></block></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script x="13.345679012345698" y="168.90534979423865"><custom-block s="possibleWinning"><comment w="194" collapsed="false">all possiable ways of winning triples</comment></custom-block></script><script x="13.345679012345698" y="192.67901234567904"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><list><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></list></custom-block></script><script x="13.345679012345698" y="229.68724279835396"><custom-block s="statusOfTriple %l"><l/></custom-block></script><script x="13.345679012345698" y="253.56378600823058"><block s="reportEquals"><custom-block s="statusOfTriple %l"><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></custom-block><block s="reportNewList"><list><l>X</l><l>X</l><l>X</l></list></block></block></script><script x="13.345679012345698" y="288.8230452674898"><custom-block s="statusOfAllWinningTriples"></custom-block></script><script x="13.345679012345698" y="312.5967078189304"><custom-block s="won? %s"><l></l></custom-block></script><script x="13.345679012345698" y="339.85596707818974"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportAnd"><block var="playing"/><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></block></block><script><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>X</l><comment w="225" collapsed="false">replaces number on board to x so that later if any are 3x´s there will be a win</comment></block><block s="doIf"><custom-block s="won? %s"><l>X</l><comment w="90" collapsed="false">If X won stop game</comment></custom-block><script><block s="bubble"><l>X won!</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>O</l><comment w="90" collapsed="false">replaces the number of where was clicked with O so that if there is 3 O´s then O won</comment></block><block s="doIf"><custom-block s="won? %s"><l>O</l><comment w="90" collapsed="false">If O won stop game</comment></custom-block><script><block s="bubble"><l>O won!</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportNot"><block var="X&apos;s turn?"/></block></block></script></block></script></scripts></sprite><sprite name="Sprite" idx="2" x="-50" y="50" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="255,32,0,1" pen="tip" id="144"><costumes><list struct="atomic" id="145"></list></costumes><sounds><list struct="atomic" id="146"></list></sounds><blocks></blocks><variables></variables><scripts><script x="27" y="23.66666666666667"><block s="receiveGo"></block><block s="hide"></block><block s="setSize"><l>5</l></block><block s="setColor"><color>255,32,0,1</color></block></script><script x="217" y="75.33333333333329"><block s="show"></block><block s="down"></block><block s="gotoXY"><l>-50</l><l>50</l></block></script><script x="105" y="270"><block s="clear"></block></script></scripts></sprite><watcher scope="Square" var="position number" style="normal" x="0.625" y="18.656250125" color="243,118,29" hidden="true"/><watcher var="playing" style="normal" x="0.625" y="20.34374975" color="243,118,29" hidden="true"/><watcher var="win lines" style="normal" x="0.625" y="20.624999875" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="3.3896925040950237" y="14.99909040376599" color="243,118,29" extX="80.00000000000011" extY="182.99999999999997"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="map %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>mapone</l><l>mapmany</l></list></block><block s="doSetVar"><l>mapone</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="evaluate"><block var="mapone"/><list><block s="reportCDR"><block var="data"/></block></list></block></block></block></script><list><l>data</l></list></block></block><block s="doSetVar"><l>mapmany</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportListItem"><l>1</l><block var="data lists"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></block><block s="evaluate"><block var="mapmany"/><list><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></list></block></block></block></script><list><l>data lists</l></list></block></block><block s="doIfElse"><custom-block s="empty? %l"><block s="reportCDR"><block var="lists"/></block></custom-block><script><block s="doReport"><block s="evaluate"><block var="mapone"/><list><block s="reportListItem"><l>1</l><block var="lists"/></block></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block></script><scripts><script x="229.00000300000002" y="196.77778077777774"><block s="reportJoinWords"><list><l></l><l></l></list></block></script></scripts></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="tell %&apos;sprite&apos; to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="action"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="ask %&apos;sprite&apos; for %&apos;expression&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block var="expression"/><block var="sprite"/></block><list></list></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="makeBoard" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><l>Empty</l></block><block s="show"></block><block s="setEffect"><l><option>ghost</option></l><l>30</l><comment w="78" collapsed="true">3.3.3 TIF B</comment></block><block s="setScale"><l>95</l><comment w="190" collapsed="true">Oops costumes are a bit too big.</comment></block><block s="doSetVar"><l>position number</l><l>1</l><comment w="53.333333333333336" collapsed="true">3.3.1.4</comment></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><l>3</l><script><custom-block s="for %upvar = %n to %n %cs"><l>j</l><l>1</l><l>3</l><script><block s="gotoXY"><block s="reportSum"><l>-100</l><block s="reportProduct"><l>50</l><block var="j"/></block></block><block s="reportDifference"><l>100</l><block s="reportProduct"><l>50</l><block var="i"/></block></block></block><block s="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>position number</l><l>1</l><comment w="53.333333333333336" collapsed="true">3.3.1.4</comment></block></script></custom-block></script></custom-block><block s="hide"></block></script></block-definition><block-definition s="possibleWinning" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></list></block></block></script></block-definition><block-definition s="statusOfTriple %&apos;triple&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><list><block var="triple"/></list></custom-block></block></script></block-definition><block-definition s="statusOfAllWinningTriples" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="statusOfTriple %l"><l/></custom-block></autolambda><list></list></block><custom-block s="possibleWinning"></custom-block></block></block></script></block-definition><block-definition s="won? %&apos;who&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListContainsItem"><custom-block s="statusOfAllWinningTriples"></custom-block><block s="reportNewList"><list><block var="who"/><block var="who"/><block var="who"/></list></block></block></block></script></block-definition><block-definition s="tied?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportEquals"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block><l></l></block></block></script></block-definition><block-definition s="draw win line" type="command" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doDeclareVariables"><list><l>line</l></list></block><block s="doIf"><block s="reportOr"><block s="reportEquals"><block s="reportListItem"><block var="i"/><custom-block s="statusOfAllWinningTriples"></custom-block></block><block s="reportNewList"><list><l>X</l><l>X</l><l>X</l></list></block></block><block s="reportEquals"><block s="reportListItem"><block var="i"/><custom-block s="statusOfAllWinningTriples"></custom-block></block><block s="reportNewList"><list><l>O</l><l>O</l><l>O</l></list></block></block></block><script><block s="doSetVar"><l>line</l><block s="reportListItem"><block var="i"/><block var="win lines"/></block></block><block s="up"></block><block s="doGotoObject"><block s="reportListItem"><l>1</l><block var="line"/><comment w="137.33333333333334" collapsed="false">This is why each line in WIN LINES is a list of points, each of which is a list of x,y coordinates:  It allows us to use the endpoints, as points, in the GO TO block.</comment></block></block><block s="down"></block><block s="doGotoObject"><block s="reportListItem"><l>2</l><block var="line"/></block></block><block s="up"></block></script></block></script></block></script><scripts><comment x="173.99999999999997" y="6.666666666666667" w="244" collapsed="false">I&apos;m kind of bummed that I didn&apos;t find a beautiful one-line solution using FIND FIRST, but it just gives the value it finds, not the position in the list, which is what we need to find the line endpoints in WIN LINES. So it&apos;s a plain old fashioned FOR loop.</comment></scripts></block-definition></blocks><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="980">X,2,X,X,5,6,O,O,O</list></variable><variable name="playing"><bool>false</bool></variable><variable name="win lines"><list id="981"><item><list id="982"><item><list struct="atomic" id="983">-100,50</list></item><item><list struct="atomic" id="984">100,50</list></item></list></item><item><list id="985"><item><list struct="atomic" id="986">-100,0</list></item><item><list struct="atomic" id="987">100,0</list></item></list></item><item><list id="988"><item><list struct="atomic" id="989">-100,-50</list></item><item><list struct="atomic" id="990">100,-50</list></item></list></item><item><list id="991"><item><list struct="atomic" id="992">-50,100</list></item><item><list struct="atomic" id="993">-50,-100</list></item></list></item><item><list id="994"><item><list struct="atomic" id="995">0,100</list></item><item><list struct="atomic" id="996">0,-100</list></item></list></item><item><list id="997"><item><list struct="atomic" id="998">50,100</list></item><item><list struct="atomic" id="999">50,-100</list></item></list></item><item><list id="1000"><item><list struct="atomic" id="1001">-100,100</list></item><item><list struct="atomic" id="1002">100,-100</list></item></list></item><item><list id="1003"><item><list struct="atomic" id="1004">-100,-100</list></item><item><list struct="atomic" id="1005">100,100</list></item></list></item></list></variable></variables></project><media name="U3L3-TicTacToe- New" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>