<snapdata remixID="14002473"><project name="U3L1-TicTacToe" app="Snap! 10.1-dev, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="U3L1-TicTacToe"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><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"><block s="reportListIsEmpty"><block s="reportCDR"><block var="words"/></block></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></list></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><list></list></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="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="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="doSetVar"><l>position number</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="gotoXY"><block s="reportVariadicSum"><list><l>-100</l><block s="reportVariadicProduct"><list><l>50</l><custom-block s="column"></custom-block></list></block></list></block><block s="reportDifference"><l>-100</l><block s="reportVariadicProduct"><list><l>50</l><custom-block s="row"></custom-block></list></block></block></block><block s="doChangeVar"><l>position number</l><l>1</l></block><block s="createClone"><l><option>myself</option></l></block></script></block></script></block><block s="hide"></block></script></block-definition><block-definition s="row" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="column" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></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>5</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="status of triple %&apos;winning of triple&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><block var="board"/></block></autolambda><list></list></block><block var="winning of triple"/></block></block><block s="reportListItem"><l>2</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><block var="board"/></block></autolambda><list></list></block><block var="winning of triple"/></block></block></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><block var="board"/></block></autolambda><list></list></block><block var="winning of triple"/></block></block><block s="reportListItem"><l>3</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><block var="board"/></block></autolambda><list></list></block><block var="winning of triple"/></block></block></list></block></list></block></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="doDeclareVariables"><list><l>massive list</l></list></block><block s="doSetVar"><l>massive list</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><custom-block s="possible winning triples"></custom-block><script><block s="doAddToList"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><block var="board"/></block></autolambda><list></list></block><block var="item"/></block><block var="massive list"/></block></script></block><block s="doReport"><block var="massive list"/></block></script></block-definition><block-definition s="won? %&apos;letter&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>opposite letter</l><l>blankCHECK</l><l>blankFINAL</l></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="letter"/><l>X</l></list></block><script><block s="doSetVar"><l>opposite letter</l><l>O</l></block></script><script><block s="doSetVar"><l>opposite letter</l><l>X</l></block></script></block><block s="doForEach"><l>item</l><custom-block s="status of all winning triples"></custom-block><script><block s="doSetVar"><l>blankCHECK</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>blankFINAL</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doFor"><l>i</l><l>1</l><l>9</l><script><block s="doSetVar"><l>blankCHECK</l><block s="reportListContainsItem"><block var="item"/><block var="i"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="blankCHECK"/><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><script><block s="doSetVar"><l>blankFINAL</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportListContainsItem"><block var="item"/><block var="letter"/></block><block s="reportVariadicAnd"><list><block s="reportNot"><block s="reportListContainsItem"><block var="item"/><block var="opposite letter"/></block></block><block s="reportNot"><block var="blankFINAL"/></block></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition></blocks><primitives><block-definition s="next costume" type="command" category="looks" selector="doWearNextCostume" primitive="doWearNextCostume"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doPrimitive"><l><bool>true</bool></l><l>doWearNextCostume</l></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="getCostumeIdx"></block><l>0</l></list></block><script><block s="doSwitchToCostume"><block s="reportVariadicSum"><list><block s="reportModulus"><block s="getCostumeIdx"></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportGet"><l><option>costumes</option></l></block></block></block><l>1</l></list></block></block></script><list></list></block></script></block-definition></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="465"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAL30lEQVR4Ae3QMQEAAADCoPVPbQwfiEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGPgMDI3+AAEeFvcCAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="466"></list></costumes><sounds><list struct="atomic" id="467"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="-100" y="-100" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="2" color="80,80,80,1" pen="tip" id="472"><costumes><list id="473"><item><ref mediaID="Square_cst_Empty"></ref></item><item><ref mediaID="Square_cst_X"></ref></item><item><ref mediaID="Square_cst_O"></ref></item></list></costumes><sounds><list struct="atomic" id="474"></list></sounds><blocks></blocks><variables><variable name="position number"><l>9</l></variable></variables><scripts><script x="227" y="128.1666666666664"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l>5</l><l><option>number</option></l></block></autolambda><list></list></block><l/></block></script><script x="204" y="70.33333333333331"><block s="clear"></block></script><script x="10" y="25.333333333333258"><block s="receiveGo"></block><custom-block s="makeBoard"></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="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>8</l><l>9</l></list></block></block></script><script x="502.9999999999998" y="68.41666666666697"><custom-block s="status of triple %l"><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></custom-block></script><script x="551.9999999999998" y="109.58333333333371"><custom-block s="possible winning triples"></custom-block></script><script x="31" y="225.33333333333337"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doSetVar"><l>turns</l><block s="reportVariadicSum"><list><block var="turns"/><l>1</l></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="getCostumeIdx"></block><l>1</l></list></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></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>O</l></block></script></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportNot"><block var="X&apos;s turn?"/></block></block></script><list></list></block><block s="doIf"><custom-block s="won? %s"><l>X</l></custom-block><script><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="doSayFor"><l>Player X won!</l><l>2</l></block></script><list></list></block><list></list></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>8</l><l>9</l></list></block></block></script><list></list></block><block s="doIf"><custom-block s="won? %s"><l>O</l></custom-block><script><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="doSayFor"><l>Player O won!</l><l>2</l></block></script><list></list></block><list></list></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>8</l><l>9</l></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="turns"/><l>9</l></list></block><script><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><block s="doSayFor"><l>The game ended in a tie!</l><l>2</l></block></script><list></list></block><list></list></block><block s="doSetVar"><l>turns</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>8</l><l>9</l></list></block></block></script><list></list></block></script></scripts></sprite><sprite name="Sprite" idx="2" x="-115.00000000000045" y="-93.00000000000006" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="71.145,114.75,0,1" pen="tip" id="702"><costumes><list struct="atomic" id="703"></list></costumes><sounds><list struct="atomic" id="704"></list></sounds><blocks></blocks><variables></variables><scripts><script x="56" y="146.33333333333337"><block s="gotoXY"><l>-10000</l><l>0</l></block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="5.000000000000227" y="4.999999999999993" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="9.999999999999773" y="9.999999999999986" color="243,118,29" extX="80" extY="70"/><watcher scope="Square" var="position number" style="normal" x="3.9999999999998863" y="221.00000199999997" color="243,118,29"/><watcher var="turns" style="normal" x="18" y="111.99999999999994" color="243,118,29"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>false</bool></variable><variable name="board"><list struct="atomic" id="716">1,2,3,4,5,6,7,8,X,9</list></variable><variable name="turns"><l>5</l></variable></variables></scene></scenes></project><media name="U3L1-TicTacToe" app="Snap! 10.1-dev, https://snap.berkeley.edu" version="2"><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAANKADAAQAAAABAAAANAAAAABdv+0DAAAAx0lEQVRoBe2asQ2DMAAErYjWNekosgizJGLWIMRODmSDT3EK1lly+Tr5jpJSOjzz8abWw52mx347Az1fS2mtXfq+163UWofvg85H9XJ80L+XtJCFYAN+crDwGGehWBk8sBAsPMZZKFYGDywEC49xFoqVwQMLwcJjnIViZfDAQrDwGGehWBk8sBAsPMZZKFYGDywEC49xFoqVwQMLwcJjnIViZfDAQrDwGGehWBk8sBAsPMZZKFYGDywEC/8JNx+rLv5oHMf7+gH13vnYoyj8qAAAAABJRU5ErkJggg==" mediaID="Square_cst_Empty"/><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAANKADAAQAAAABAAAANAAAAABdv+0DAAACJklEQVRoBe3aT0sCQRQA8GcEedIPYMXSp7CTHSMtqI5leguiQ966FGnX6hRBZR8hgj7FRpT231NYaX/wLl2CdoQFCXd2Z+a92d3wwTCyuuP77TwWnm4EAIx0em49FhuKWq9DHe32z/2gJTBarffc5FQ+1KCvzw+oXF+9MBAYxtj36spyqEHmxSUDwUCoa6xH8n1Qj4sSqEPcHXp9awQqWZaMW05cULFYgo3NrcCgHh6fYCKVgtOzc8ecuKC93R2o1WqBQDHMdCYDC4tZmJ+dkQPF4zEoHx/5jurGbJf4FcPdIXYZ/EaJYFi+riA/UaIYzyA/UDIYIZBOlCxGGKQDpYKRAlGiVDHSIAoUBkYJhInCwiiDMFCYGBSQCgobgwaSQVFgUEEiKCoMOsgLihJDAuKhqDFkoF4oHRhSUDeqWq3CeDLZac7c+hl2nkp4ah9UvqDRbMLd7Q0kEgmVZTyfSwqyyyy7lAPTNLV0vmQgG8N+A2BlpqvzJQH9xdj1ogOFDnLC6EKhgtwwOlBoIK8YahQKSBRDiVIGyWKoUEogVQwFShqEhcFGSYGwMZgoYRAVBgslBKLGYKA8g3RhVFGeQLoxKihXkF8YWRQX5DdGBsUFFdYKWtpmO3He3N168P407jwa47RQ+aQMoyPDTm9rP26j2OwU3B0KEsYG8DDsM1yQvUiY5j4o6LvVuSnU68/R/YPDoOfKzY89AMgiYg3DGnlr/Ieo/wKGM+AQuEXviAAAAABJRU5ErkJggg==" mediaID="Square_cst_X"/><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAANKADAAQAAAABAAAANAAAAABdv+0DAAAFAUlEQVRoBe2aTWxUVRTHTwxLZ1hiU5VQOu2ALJh+hG60w9hqQgr4AVKsGAKdUlEjdJC4ADsDJn5Ai0Yg0C5Qoe1A0dIPFlAoFBcOtkzZ+AFDILRqt7Swf97/1UdK5973NW/6npWTvLyZ+3Hu+d173pn7zh2iWShBxqTMhmv+/IXDT2CBNm0Ok6Io/+nrp8TP5PF45nAgQM0WeQzk9pWcY7eB5y8MUDI5QqmbN+jSwEW6c+d22hBr1q6j3NxcWhoootDycnr2mafT2lgtsMXlRsf+oN0fRykvbyG1trRwW9ZVV9PlwUFhoIlEIhzm+kiSguXltPaNavq+q8cqQ1q/IItyLMiZl7ujY8qu3Y3KggV5yqef71fw3Yqc/qFbYaumVFa+rOCzFWFRTlmyZOl10FkCOvbtiYcg9+5NWLEhrc+5/oscChNsdnJUINMuNzExSdu2R6j9xHFq74jTRzsjNHeuN23ZrRS8VBGizs5T5Cso5K6I59GsmAoKgKkN15HX6+UD2wUy1WjoxCT5fD6qrwvTvqYD9Pqrq6Y20fxsGEiF8fv9tHdPVFOpHZWA8Bf6aGVVFVdnFMqwyzVEdvBQOxMw6oQ8t3gR9fb10ZrXVlPi6pBarHk3BHTw8FGanJykWLRRU1k2KgHFIh+9ub6a4CV6ogv0y6+/0fvv1lOUwWTjmdEzEPVwt1WrX6HGaEy3uS5Qc/MB+vrQEcJMOSnwjp7uM7qupwkEv8X2ZUPNeidZ+NjwjoYdO6m1tVXTFk2geDzOlTjlatMtx8RigvEYyEQKhP3ZV182u2J1VOMxsXX1WykeP6kWpd2lQAOXBumDbQ2OBYI0S/8tWFm1gq4mErJqkgJhJ/z8C+XSjk5VIDjdupWSup0UCBEFv9RuFITw32+khKZJgfBi5nSoFlrMCvN9BTQ+Pi6sFgIhXOOt0q1SUOCjkeQ1oXlCILTEjtqt4vV4pKZJgaQ9XF7x/wDyeJ6ksdFR167Fn3+NI0sqtE+4Qohu/f3nhB3cUIgIh0gnEiEQGrIMjO7OVqRwJsoQ4XJycoRDSYGWlZWxH6+bwk5OF2KDWlpSJDRDCoSs5tm+XmEnJwuRCcrP90mzrVKgilCQTneeJOy63SQ/XrlCoYpKqUlSIGzVWVaU5d7kW3Wp1ixVIKfwyd4Yyy/IdzFSINgUDtdSy5HDhpITWWJ4RO3xtg4+yVrJfU0gdKx5awPtb2p+RLETX+D6SNZgkrVEEwgdoaCNpX2N5sW0BsukLhbbQ+xAQBoMVN26QFglpGON5sVUxXbeP/uiiecF39kS1lWrCwQNyIvB9ZDXNpLs0x3VRAOcG+E5NpoXNASE8ZECRl57JqEA82FkO08HG33ZNAw0HUorlWRiAaRNkX42CwNlpoDQAStVXFLKTwW++a4NRbYKotnm2jrqOdNlamVUI0wDoSPOb3DYhUMvDG5HBMSziVXBmSsOvHDwZdTNVBjcLQGhY9myUj5ooKiYR0CAWTn4xYogigUCAZ4nyPRU0PCBFyCmC7ZH723dwrOrXd29FO9o536PNBPeV0qK/9kRL/IX8oQlnrv79x8QXtBSqRRdGx7iFyIoQDBJmUpGQOrgANv4dg2/MONDw0luMBLrOFfCJhfCTstpeehF/rYJYBzv2wGh2oG7LUBTFeKHOH2vFZ/aJKufLT9DWbUqA+WPgTKYvBnrGmQjzYp/NM6b91Tib58nBnvWZqwJAAAAAElFTkSuQmCC" mediaID="Square_cst_O"/></media></snapdata>