<snapdata remixID="12222499"><project name="U3L1-TicTacToe" app="Snap! 7, 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></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="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="doSetVar"><l>Square number</l><l>0</l></block><block s="show"></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><block var="column"/></list></block></list></block><block s="reportDifference"><l>100</l><block s="reportVariadicProduct"><list><l>50</l><block var="row"/></list></block></block></block><block s="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>Square number</l><l>1</l></block></script></block></script></block><block s="hide"></block></script></block-definition><block-definition s="won? %&apos;winning player&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doForEach"><l>item</l><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="Status of triple %l"><l/></custom-block></autolambda><list></list></block><custom-block s="TicTacToe wins"></custom-block></block><script><block s="doIfElse"><block s="reportAnd"><block s="reportListContainsItem"><block var="item"/><l>X</l></block><block s="reportListContainsItem"><block var="item"/><l>O</l></block></block><script></script><script><block s="doIfElse"><block s="reportListContainsItem"><block var="item"/><l>empty</l></block><script></script><script><block s="doIf"><block s="reportListContainsItem"><block var="item"/><block var="winning player"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><scripts><script x="413" y="117.19999999999999"><block s="doSayFor"><l>No winner yet</l><l>1</l></block></script><script x="372" y="161.2"><block s="doSayFor"><l>No winner is possible for this item</l><l>1</l></block></script><script x="327" y="195.2"><block s="doSayFor"><l>X is the winner</l><l>1</l></block></script><script x="399" y="231.2"><block s="doSayFor"><l>O is the winner</l><l>1</l></block></script></scripts></block-definition><block-definition s="Status of triple %&apos;list&apos;" type="reporter" category="variables"><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="list"/></block></block></script><scripts><script x="198" y="111.33333333333343"><custom-block s="TicTacToe wins"></custom-block></script></scripts></block-definition><block-definition s="TicTacToe wins" type="reporter" category="variables"><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></blocks><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="278"><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="279"></list></costumes><sounds><list struct="atomic" id="280"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="285"><costumes><list id="286"><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="287"></list></sounds><blocks></blocks><variables><variable name="Square number"><l>9</l></variable></variables><scripts><script x="36" y="10"><block s="doWearNextCostume"></block></script><script x="40.73333333333332" y="282.9999999999999"><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="doWait"><l>.1</l></block><custom-block s="makeBoard"></custom-block><block s="doSwitchToCostume"><l>Empty</l></block><block s="gotoXY"><l>0</l><l>0</l></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>empty</l><l>empty</l><l>empty</l><l>empty</l><l>empty</l><l>empty</l><l>empty</l><l>empty</l><l>empty</l></list></block></block></script><script x="359" y="127"><block s="createClone"><l><option>myself</option></l></block></script><script x="344" y="275.83333333333337"><block s="bubble"><l>I&apos;m the parent.</l></block></script><script x="36" y="46"><block s="receiveInteraction"><l><option>clicked</option></l><comment w="156" collapsed="false">This demonstration script will not be part of your actual project.</comment></block><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l><comment w="90" collapsed="true">X plays first.</comment></block></block></script><script><block s="doSwitchToCostume"><l>O</l></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></script></block></script><script x="38" y="463.1666666666665"><block s="receiveMessage"><l>X is the winner</l><list></list></block><block s="hide"></block></script><script x="36" y="529"><block s="receiveMessage"><l>O is the winner</l><list></list></block><block s="hide"></block></script><script x="30" y="594.3333333333335"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="Square number"/><block var="board"/><l>X</l></block><block s="doIfElse"><custom-block s="won? %s"><l>X</l></custom-block><script><block s="doBroadcast"><l>X is the winner</l><list></list></block></script><script><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l><comment w="90" collapsed="true">X plays first.</comment></block></block></script></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="Square number"/><block var="board"/><l>O</l></block><block s="doIfElse"><custom-block s="won? %s"><l>O</l></custom-block><script><block s="doBroadcast"><l>O is the winner</l><list></list></block></script><script><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></script></block></script></block></script><script x="327" y="326.8333333333333"><block s="doGlide"><l>1</l><block s="reportRandom"><l>-200</l><l>200</l></block><block s="reportRandom"><l>-150</l><l>150</l></block></block><block s="bubble"><l></l></block></script><script x="263" y="728.1666666666669"><custom-block s="won? %s"><l></l></custom-block></script></scripts></sprite><watcher var="X&apos;s turn?" style="normal" x="5" y="5" color="243,118,29" hidden="true"/><watcher scope="Square" var="Square number" style="normal" x="10" y="10" color="243,118,29"/><watcher var="board" style="normal" x="10" y="31.000001999999995" color="243,118,29" extX="80" extY="70"/><watcher var="winning player" style="normal" x="10" y="52.00000399999999" color="243,118,29"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="430">empty,empty,empty,empty,empty,empty,empty,empty,empty</list></variable><variable name="winning player"><l>0</l></variable></variables></scene></scenes></project><media name="U3L1-TicTacToe" app="Snap! 7, 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="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="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="Square_cst_O"/></media></snapdata>