<snapdata remixID="14357441"><project name="U5L5-TicTacToe" app="Snap! 10.7.1, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="U5L5-TicTacToe"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="makeBoard" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="show"></block><block s="doSwitchToCostume"><l>Empty</l></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doFor"><l>row</l><l>1</l><l>3</l><script><block s="doFor"><l>column</l><l>1</l><l>3</l><script><block s="doChangeVar"><l>square number</l><l>1</l></block><block s="doSayFor"><block s="reportJoinWords"><list><l>the square number is </l><block var="square number"/></list></block><l>0.5</l></block><block s="createClone"><l><option>myself</option></l></block><block s="changeXPosition"><l>50</l></block></script></block><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block></script></block><block s="hide"></block></script></block-definition><block-definition s="status of all winning triples" 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="status of triple %l"><l/></custom-block></autolambda><list></list></block><custom-block s="possible winning triples"></custom-block></block></block></script></block-definition><block-definition s="possible winning triples" 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="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="status of all winning triples"></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="status of triple %&apos;triple&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><block var="triple"/></block></block></script></block-definition><block-definition s="best empty square block" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>available moves</l></list></block><block s="doSetVar"><l>available moves</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="board"/><script><block s="doIf"><block s="reportIsA"><block var="item"/><l><option>number</option></l></block><script><block s="doAddToList"><block var="item"/><block var="available moves"/></block></script><list></list></block></script></block><block s="doSetVar"><l>best</l><block s="reportNewList"><list><l>5</l><l>1</l><l>3</l><l>7</l><l>9</l><l>2</l><l>4</l><l>6</l><l>8</l></list></block></block><block s="doForEach"><l>item</l><block var="best"/><script><block s="doForEach"><l>item2</l><block var="available moves"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="item"/><block var="item2"/></list></block><script><block s="doReport"><block var="item"/></block></script><list></list></block></script></block></script></block></script></block-definition><block-definition s="MoveInThisSquare" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="X&apos;s turn?"/><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="square number"/><block var="board"/><l>X</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doIf"><custom-block s="won? %s"><l>X</l></custom-block><script><block s="doSayFor"><l>X has Won</l><l>2</l></block><block s="doStopThis"><l><option>this script</option></l></block></script><list><block s="reportVariadicEquals"><list><l></l><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></list></block><script><block s="bubble"><l>Tie</l></block><block s="doStopThis"><l><option>this script</option></l></block></script></list></block></script><list><block s="reportVariadicEquals"><list><block var="X&apos;s turn?"/><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="square number"/><block var="board"/><l>O</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doIf"><custom-block s="won? %s"><l>X</l></custom-block><script><block s="doSayFor"><l>O has Won</l><l>2</l></block></script><list><block s="reportVariadicEquals"><list><l></l><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></list></block><script><block s="bubble"><l>Tie</l></block></script></list></block></script></list></block></script></block-definition><block-definition s="how many %&apos;letter&apos; in %&apos;data&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%l" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>counter</l></list></block><block s="doSetVar"><l>counter</l><l>0</l></block><block s="doForEach"><l>item</l><block var="data"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="item"/><block var="letter"/></list></block><script><block s="doChangeVar"><l>counter</l><l>1</l></block></script><list></list></block></script></block><block s="doReport"><block var="counter"/></block></script></block-definition><block-definition s="winning triple for player %&apos;letter&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><custom-block s="how many %s in %l (2)"><block var="letter"/><l/></custom-block><l>2</l></list></block><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><l/></block></list></block></autolambda><list></list></block><custom-block s="status of all winning triples"></custom-block></block></block></script></block-definition><block-definition s="how many %&apos;player&apos; in %&apos;list&apos; (2)" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><block var="player"/></list></block></autolambda><list></list></block><block var="list"/></block></block></block></script></block-definition><block-definition s="winning square for player %&apos;player&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doIf"><block s="reportIsA"><custom-block s="winning triple for player %s"><block var="player"/></custom-block><l><option>list</option></l></block><script><block s="doReport"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><custom-block s="winning triple for player %s"><block var="player"/></custom-block></block></block></script><list></list></block><block s="doReport"><l></l></block></script></block-definition><block-definition s="new comp Move" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><custom-block s="can player %s win now"><l>O</l></custom-block><script><block s="doReport"><custom-block s="winning square for player %s"><l>O</l></custom-block></block></script><list><custom-block s="can player %s win now"><l>X</l></custom-block><script><block s="doReport"><custom-block s="winning square for player %s"><l>X</l></custom-block></block></script></list></block><block s="doReport"><custom-block s="best empty square block"></custom-block></block></script></block-definition><block-definition s="can player %&apos;player&apos; win now" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doIf"><block s="reportIsA"><custom-block s="winning square for player %s"><block var="player"/></custom-block><l><option>number</option></l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition></blocks><primitives></primitives><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" id="499"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+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+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="500"></list></costumes><sounds><list struct="atomic" id="501"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="0" y="-150" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="506"><costumes><list id="507"><item><ref mediaID="U5L5-TicTacToe_Square_cst_Empty"></ref></item><item><ref mediaID="U5L5-TicTacToe_Square_cst_X"></ref></item><item><ref mediaID="U5L5-TicTacToe_Square_cst_O"></ref></item></list></costumes><sounds><list struct="atomic" id="508"></list></sounds><blocks></blocks><variables><variable name="square number"><l>9</l></variable></variables><scripts><script x="20" y="20"><block s="receiveGo"><comment w="156.66666666666666" collapsed="false">Connect this to the script below it in For You To Do 5.</comment></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doSetVar"><l>square number</l><l>0</l></block><custom-block s="makeBoard"></custom-block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l><comment w="90" collapsed="true">X plays first.</comment></block></block><block s="doSetVar"><l>board</l><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l><l>4</l><l>5</l><l>6</l><l>7</l><l>8</l><l>9</l></list></block></block></script><script x="20" y="184.83333333333337"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="getCostumeIdx"></block><l>1</l></list></block><script><custom-block s="MoveInThisSquare"></custom-block></script><list></list></block><block s="doBroadcast"><custom-block s="new comp Move"></custom-block><list></list></block></script><script x="20" y="318.08333333333337"><block s="receiveMessage"><l><option>any message</option></l><list><l>data</l></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="data"/><block var="square number"/></list></block><script><block s="doWait"><l>1</l></block><custom-block s="MoveInThisSquare"></custom-block></script><list></list></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="5" y="5" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="9" y="7.000001999999995" color="243,118,29" extX="80" extY="70"/><watcher var="bestMove" style="normal" x="14" y="229" color="243,118,29"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="583">1,2,O,O,O,X,7,8,X</list></variable><variable name="suqare number"><l>9</l></variable><variable name="best"><list struct="atomic" id="584">5,1,3,7,9,2,4,6,8</list></variable><variable name="bestMove"><l>0</l></variable><variable name="test"><list struct="atomic" id="585">X,3,4</list></variable></variables></scene></scenes></project><media name="U5L5-TicTacToe" app="Snap! 10.7.1, https://snap.berkeley.edu" version="2"><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAMdJREFUaEPtmrENgmAUBh9TYEfBIs6i4lAEZ6GVGAs3MjFxgK+5wJ+jv3y8O0q6auzpqupcVWsLdw3D+P4ddLlO62OZD33Tc3vVdLt/PGivGS201zL/97KQhWADfnKw8HjOQrEyGLAQLDyes1CsDAYsBAuP5ywUK4MBC8HC4zkLxcpgwEKw8HjOQrEyGLAQLDyes1CsDAYsBAuP5ywUK4MBC8HC4zkLxcpgwEKw8HjOQrEyGLAQLDyes1CsDAbaLtTKH419f9q+t56dV83eYNkAAAAASUVORK5CYII=" mediaID="U5L5-TicTacToe_Square_cst_Empty"/><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAgVJREFUaEPt2rtOAkEUBuBDpTRgTdRQ8gRIaUUMoIk3RAQlEWm9FpYG7IzxKSyoLC3VTmPUxkvrLVFLLOhMzJJgREHOnDlnZxeh22Qv882/O+HPrgcAgvH4xKbP19MLLv9Vqx/XHgAYDocjh9mFnKtBb68vcHV58VADJZPpg3J5v8/NAZ2encN2qdgFOTbE/5nQ49MzDA70OyqVVmNCJbSYL0AgEIBSccsRqJvbOxhNJGBndw8mx8caxoQCVSrvkF8qQCgUMo6qY+Yy2aZjQYGsKXACqh3GGicaZBqFwSiDTKGwGBLIbpQKhgyyC6WK0QJJoygYbZAUiophAXGjdDBsIC6ULoYVpIviwLCDqCgujAhIFcWJEQNhUdwYUVA7lARGHNQKJYWxBfQTlUrN1MpZqz7T0NYIG0r1gXD+r0OsPpXJzsPJ8REsr6yKFUXbQNZtFo/FwOv1wtR00t2g78/MxvqaaJ0XT6jZAiBZ50VBf61mUigxEGZplkCJgDCY+vLHjWIHqWAkUKwgCoYbxQbSwXCiWEAcGC6UNogTw4HSAklgdFFkkCRGB0UC2YGhopRBdmIoKCWQCYwqCg0yiVFBoUBOwGBRKFA0OgJDkYhYy1St9vU/tKnZNO2lsRNf61sov9/3ay5QCanOoMn9uyCTs4+5dmcn1GkfAAYBIIeJ1QX73H8CynJ8DoPjGXcAAAAASUVORK5CYII=" mediaID="U5L5-TicTacToe_Square_cst_X"/><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAABGBJREFUaEPtmktME1EUhv+uFXCnCQIRBOpjYYtGN4qiIUbwFTUKPmKUghIXEKNxQyllY5ACC+ODYmJUoPiIDzAxREV04QNpNRFESDSCzx0PXWPOmJu0dKZzZ+ZOQWSSpovee+Z85z9z7r1nasE0uywA1gLomA5cSUkp3RLQocOOjksN9f8004uXXXAUFL6dAZqqMs4oxKtM+8PH8PsDGOj/gI7Hj/Dp08ewqTt37UZ8fDyW2ezIWpeJxIT5vOYVxwlVaHDoC7zeBjReu4qM5Sukj91ugzU9TdZZunnfh368Cfhx7+4dafyevHzs2L5FN5gQoGCQwiPFyM/brSvat27fg6+5CSPDwyg6WqwLzDDQ5SuNcLucIJCjRQ7ExcXqji6bSOlaXVWFhMRElJc7NQVHN9DIyCjKXRXo7emBu7ISq1auMAwSbIDsn7/oRf2Fc7hQ70X2hiwu+7qA6GYFjkLExsaixlMtRBUlbykNTxwvxRlPLVcKagZiMFarFZVuF1fUjA7q6X2Pzbm5XFCagQ4XFCImJgZ1tR6jfmqaT1BLlyzG8xevIqa3JqCz5y6i80kHGrz1pqaZWvoFAgHF+3MDsQi96+nFksWLNEVX5OCS0uOSOaUM4QaiVLPZM3CsuEikf5pt0TNss9nQ1OyTTT0uIBqUn7cHkaTW7JmBCZT6AX835I46XEAk88LUtElXh8WAqdTa1haW/qpAtK1JSkzA8PDIpBQCJSFPV3nw+9dY2NKhCkRbG9o8RrtMq2UkFanSklK0tz8IGaoKROm2ek0m1yqt5oTo35OTUzAx7VSB5CaJdkyvPblgqwJZLBaMj4/rvaep86ja0RW8lEQEoh89Hg9uXPeZ6phe43TMaPH5Qsq3KpDX65Wt93qdEDmPnJ/o3wyQyAgbtaVZIaVab9QRUfPp8PfsaWfIGvl/VTmKZHb2RlN6BiJUohPAppzckEVfVaEypwspC1Nx8MBeET4ItUGL/pPOzpCukCoQ65VNtbWItbo07+Voqz5nThw+Dw5p6o8JlULGGGXOrNkxOHXy7wmWXaoK0UClyWY7rWQ/UpC5gOhMtDYzc0qdWH/++C7bRuMCYirRd7R6cUrqsAOn0iPADcRUUmpORCv9qFSnpqWHPTuaniE2mLVlJ6tZQsfu7tddEfuC3AoxKCoQfX19UW82smDKNUY0V7mJ6RRtKF4Y8lOzQhOVcrnKTe2k0qm0proqrHeg9MzqBiKDlNP0/sbpcgvfGlERqqhwY2hwELV1tdxBMwTEJHaWlUlv2xwOh+EXX7RoXm1sllTR81bQMBBBBTuxLmt92A6Yp6STIk3NLZLiZENvcIQAMYcJ7PbdVtxva5XK65at26QW8vIMuzRkkTVd6r7SwXFs7Be+fvuOgYEBaSx99u7bj5ycHEMqCwUKVoIi3vXaLzlM/1UYHR3FzRst0pAFC5IlFejFGQMW9Y7WNCCeNDNjzAyQGVEVaXN6KzRd/tE4d+68l38AHzaJdYJvYYIAAAAASUVORK5CYII=" mediaID="U5L5-TicTacToe_Square_cst_O"/></media></snapdata>