<snapdata remixID="11363315"><project name="unit 3 lab 3 tic tac toe solution" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAD3BJREFUeF7tnQnQTlUYgF/Zy1bSImVLVExFRWmztzGIkKRFKG20TmmTfS1KlLWQpexKNSZKK0K7qSZaGER7sqV5zswx97/u9937Lf+c2/e/Z+YfU/+999zvPc//7ud8hQ4cOHBAdKgEHEmgkALoSPI6rZGAAqggOJWAAuhU/Dq5AqgMOJWAAuhU/Dq5AqgMOJWAAuhU/Dq5AqgMOJWAAuhU/Dq5AqgMOJWAAuhU/Dq5AqgMOJWAAuhU/Dq5AqgMOJWAAuhU/Dq5AqgMOJWAAuhU/Dq5AqgMOJWAAuhU/Dq5AqgMOJWAAuhU/Dq5AqgMOJWAAuhU/Dq5AqgMOJWAAuhU/Dq5AqgMOJWAAuhU/Dq5AqgMOJWAAuhU/Dq5AqgMOJWAAuhU/Dq5AqgMOJWAAuhU/Dp5zgI4ffp0+eyzzzJa4WXLlslJJ50kZcuWTes5P//8s+zbt0+uvfbatO7npr/++kuaNGkiVatWTfsZcb4xZwGcNm2afPPNN2bx0h133nmnPP/881KhQoW0HjFnzhwZM2aMPP3003L66aen/IxZs2bJhg0bpGvXrnLJJZekfP//4YacBrBy5cpy4YUX5lmH3377Td566y35+OOP5e+//5YjjzxSWrRoIWeddZYULlw4z7WXX365AEHp0qXTWku08Ny5c6VIkSLy4IMPyhlnnBH5OTNnzpS3335b+CPYsmWLAfDrr7+WH3/8MfIz/Bfy+c4++2w5/PDD035Gtm8sUACOHTtWli9fLoB1/vnnS/HixWXnzp3y2muvyaeffir33HOP1KtX76CMswHgm2++KcOGDZO77rpLbrnlFrngggtC1/CVV14RzP+TTz4pP/zwg/nhjwCAzjzzzND7E12AS4Bbct5555nPHodRYAC8//775dhjj5U77rjDaCT/YHHQNl26dJFLL73U/DpbAE6ZMkV+//13A+Ctt94qDRs2TLj2r7/+usyYMUMmTJggRYsWlW+//dYACHzAW6hQoYy42bp1q2zevNlo/DiMAgEgi7ljxw657777ki7g7t275brrrpORI0fKCSeckFUAWew///xTbrrpJundu7c0aNDgkPVHE7/44osCsMWKFTO/twDyx3PqqadmzMz+/fvlvffeO8Q1yfjBaT4g5wGsW7eugeqll146uKjJZPX555/Lc889J0899VTWAWTef/75x0TF9957r9SvX//gq3z44YcyePBgefnll/P4ohbAihUryjPPPCNPPPGEgWf9+vWRl3zq1KnmnmrVqpl78IEbNWoU+f78vDDnAfz3339l3bp1xrxGGXxvT/v27eWFF16Qdu3aZRyE4AOi0bwDTUtky89ll10mH3zwgdG6XOcPELwAnnLKKQKIkyZNMm7C0KFDjTY999xz5aKLLjImHrj79u1rfMhdu3YZU3v88ccbn/e4445TAKNAkI1rSMMQBQMfgQULEHX06dNH+OnevXu+AMh77Nmzxzwfvw5Yxo8fL2XKlDnkFb0A4hbgwxJAEFAB2I033mg026JFiwycS5culSOOOMI8e9SoUVKnTh0DNubbwq0aMCoJGVxnAVyxYoW0adMmpTwcKZNu3brJbbfdlm8A8tFIBT366KPSuXNn6dixY+Cn9QKIazB8+HAZOHCgEFQRmDRt2lRI2SxevFiuvvpq8yyi5yVLlpiAB58TjU70rBowA6BSvdUCSO4MwRPRRh2YMsBAu2SaBwwywbwHkS1aFqAef/xxY+6D3tECWK5cuYxSMPazU1nBz8Vsx2HkvA944oknmoACcxRlYNauv/56o1WuuOKKfAHwp59+kttvv91oKkp9+ISYTPxBvya0AB522GHGn0s3KW4/OxEwJttqwygyyc9rch5Aoj/MKSkYnPiwMWTIELNAmK1s5gHtvL/++qsB/NlnnzXBgR0ES0BIMEHUbocFED92zZo1pi5dvnx5cy95QvKX/NGEDa6hooImTaUiE/bcTH9fIABE8PhzEydONAuQaLzxxhtG83EdCd9sA0guEsiA/OSTTw58Df5YSJHgyzEsgLYWzGehHIc2XL16tXlPgAwbBCbUtIOS8GH35ufvCwSACPCrr74y6QkWmAYFtIcdf/zxhzHTGzduNLk2W6bKJoBoPuDD30uWUEYT9urVy0THQOgH8N133zVJct61Zs2aebRofoKSX88uMAAiQAsa0efRRx8tJUuWFMBg0Tt06GB8Pm+pK1sAAjcRKfXgc845J3QtaeHiWswuJpmABQ2IBv3kk0+kRIkSJojwN0+EPjiGFxQoAL3+1i+//GKcf0xTon6/bABIegSoCTpoAog6KJk99NBDRlOjsQEQ7UfQQmCV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</thumbnail><scenes select="1"><scene name="unit 3 lab 3 tic tac toe solution"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><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"><block s="errorObsolete"></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="doSwitchToCostume"><l>Empty</l></block><block s="show"></block><block s="setEffect"><l><option>ghost</option></l><l>30</l></block><block s="setScale"><l>95</l></block><block s="doSetVar"><l>position number</l><l>1</l></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="reportVariadicSum"><list><l>-100</l><block s="reportVariadicProduct"><list><l>50</l><block var="j"/></list></block></list></block><block s="reportDifference"><l>100</l><block s="reportVariadicProduct"><list><l>50</l><block var="i"/></list></block></block></block><block s="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>position number</l><l>1</l></block></script></custom-block></script></custom-block><block s="hide"></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="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="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="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="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="Move in this square" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><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></block><block s="doIf"><custom-block s="won? %s"><l>X</l></custom-block><script><block s="bubble"><l>X won!</l></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doBroadcast"><custom-block s="Best empty square"></custom-block><list></list></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>O</l></block><block s="doIf"><custom-block s="won? %s"><l>O</l></custom-block><script><block s="bubble"><l>O won!</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><block s="doIf"><block s="reportAnd"><block var="playing"/><custom-block s="tied?"></custom-block></block><script><block s="bubble"><l>It&apos;s a tie.</l></block></script></block></script></block></script><scripts><script x="276.5517578125" y="426.63333333333316"><block s="reportRandom"><l>1</l><l>9</l></block></script><script x="232" y="231.13333333333338"><block s="reportListItem"><l><option>any</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block></script></scripts></block-definition><block-definition s="Best empty square" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>Singles</l><custom-block s="Possible singles"></custom-block></block><block s="doDeclareVariables"><list><l>Best spots</l><l>b</l></list></block><block s="doSetVar"><l>Best spots</l><block s="reportNewList"><list></list></block></block><block s="doIfElse"><custom-block s="Can player %s win"><l>O</l></custom-block><script><block s="doReport"><custom-block s="Wining square of player %s"><l>O</l></custom-block></block></script><script><block s="doIfElse"><custom-block s="Can player %s win"><l>X</l></custom-block><script><block s="doReport"><custom-block s="Wining square of player %s"><l>X</l></custom-block></block></script><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>5</l><block var="board"/></block><l><option>number</option></l></block><script><block s="doReport"><l>5</l></block></script><script><block s="doForEach"><l>item</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block><script><block s="doIfElse"><custom-block s="%n Odd?"><block var="item"/></custom-block><script><block s="doAddToList"><block var="item"/><block var="Best spots"/></block><block s="doReport"><block s="reportListItem"><l><option>any</option></l><block var="Best spots"/></block></block></script><script><block s="doReport"><block s="reportListItem"><l><option>any</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block></block></script></block></script></block></script></block></script></block></script></block><block s="doReport"><block s="reportListItem"><l><option>any</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block></block></script><scripts><script x="935.6943359375" y="97.29999999999995"><block var="item"/></script><script x="403.7353515625" y="57.200000000000045"><custom-block s="Winning tripple of player %s"><l>O</l></custom-block></script><script x="691.7353515625" y="582.9666666666676"><block s="reportEquals"><l></l><l></l></block></script><script x="569" y="187.20000000000005"><block s="doDeclareVariables"><list><l>Best spots</l><l>b</l></list></block><block s="doSetVar"><l>Best spots</l><block s="reportNewList"><list></list></block></block><block s="doIfElse"><block s="reportNot"><block s="reportEquals"><block s="reportBoolean"><l><bool>false</bool></l></block><custom-block s="Winning tripple of player %s"><l>O</l></custom-block></block></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 tripple of player %s"><l>O</l></custom-block></block></block></script><script><block s="doIfElse"><block s="reportNot"><block s="reportEquals"><block s="reportBoolean"><l><bool>false</bool></l></block><custom-block s="Winning tripple of player %s"><l>X</l></custom-block></block></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 tripple of player %s"><l>X</l></custom-block></block></block></script><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>5</l><block var="board"/></block><l><option>number</option></l></block><script><block s="doReport"><l>5</l></block></script><script><block s="doForEach"><l>item</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block><script><block s="doIfElse"><custom-block s="%n Odd?"><block var="item"/></custom-block><script><block s="doAddToList"><block var="item"/><block var="Best spots"/></block><block s="doReport"><block s="reportListItem"><l><option>any</option></l><block var="Best spots"/></block></block></script><script><block s="doReport"><block s="reportListItem"><l><option>any</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block></block></script></block></script></block></script></block></script></block></script></block><block s="doReport"><block s="reportListItem"><l><option>any</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block></block></script><script x="348.6416015625" y="84.4666666666667"><block s="reportNot"><block s="reportEquals"><block s="reportBoolean"><l><bool>false</bool></l></block><custom-block s="Winning tripple of player %s"><l>X</l></custom-block></block></block></script><script x="214" y="657.2"><block s="reportFindFirst"><block s="reifyPredicate"><script></script><list></list></block><l/></block></script></scripts></block-definition><block-definition s="bar chart of table %&apos;data&apos; grouped by field: %&apos;field&apos; from: %&apos;floor&apos; to: %&apos;ceiling&apos; interval: %&apos;interval&apos;" type="reporter" category="lists"><comment x="0" y="0" w="344.6666666666667" collapsed="false">Takes a table (typically from a CSV data set) as input and reports a summary of the table grouped by the field in the specified column number.  The remaining three inputs are used only if the field values are numbers, in which case they can be grouped into buckets (e.g., decades, centuries, etc.).  Those three inputs specify the smallest and largest values of interest and, most importantly, the width of a bucket (10 for decades, 100 for centuries).  If the field isn&apos;t numeric, leave these three inputs empty or set them to zero.  In that case, each string value of the field is its own bucket, and they appear sorted alphabetically.&#xD;&#xD;The block reports a new table with three columns.  The first column contains the bucket name or smallest number.  The second column contains a nonnegative integer that says how many records in the input table fall into this bucket.  The third column is a subtable containing the actual records from the original table that fall into the bucket.&#xD;&#xD;If your buckets aren&apos;t of constant width, or you want to group by some function of more than one field, load the &quot;Frequency Distribution Analysis&quot; library instead. </comment><header></header><code></code><translations>ca:gràfica de la taula _ agrupada pel camp: _ des de: _ fins: _ interval: _&#xD;</translations><inputs><input type="%l"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>sorted</l></list></block><block s="doSetVar"><l>sorted</l><custom-block s="sort table %l on field %n in %s order"><custom-block s="group table %l by field %n by intervals of: %n"><block var="data"/><block var="field"/><block var="interval"/></custom-block><l>1</l><l>ascending</l></custom-block></block><block s="doIf"><block s="reportEquals"><block var="interval"/><l>0</l></block><script><block s="doReport"><block var="sorted"/></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportCONS"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><l/></block><block var="interval"/></list></block><block s="reportCDR"><l/></block></block></autolambda><list></list></block><custom-block s="bar chart helper function to fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block var="sorted"/><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="floor"/><block var="interval"/></block></block><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="ceiling"/><block var="interval"/></block></block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l>1</l></list></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><l>0</l><block s="reportNewList"><list></list></block></list></block></autolambda><list></list></block></custom-block></block></block></script></block-definition><block-definition s="bar chart helper function to fill %&apos;data&apos; key: %&apos;key&apos; from: %&apos;floor&apos; to: %&apos;ceiling&apos; interval: %&apos;interval&apos; with: %&apos;generator&apos;" type="reporter" category="lists"><comment x="0" y="0" w="103" collapsed="false">add missing entries to a sorted list. Used for histograms</comment><header></header><code></code><translations>pt:os itens de _ com a chave _ entre _ e _ com passo _ completados por _&#xD;ca:gràfica omplint _ amb clau: _ des de: _ fins: _ interval: _ amb _&#xD;</translations><inputs><input type="%l"></input><input type="%repRing"></input><input type="%n"></input><input type="%n"></input><input type="%repRing"></input><input type="%repRing"></input></inputs><script><block s="doIf"><block s="reportGreaterThan"><block var="floor"/><block var="ceiling"/></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIf"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block><script><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="generator"/><list><block var="floor"/></list></block><custom-block s="bar chart helper function to fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block var="data"/><block var="key"/><block s="evaluate"><block var="interval"/><list><block var="floor"/></list></block><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></block></script></block><block s="doIf"><block s="reportLessThan"><block s="evaluate"><block var="key"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block var="floor"/></block><script><block s="doReport"><custom-block s="bar chart helper function to fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block s="reportCDR"><block var="data"/></block><block var="key"/><block var="floor"/><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><block s="evaluate"><block var="key"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block var="floor"/></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="bar chart helper function to fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block s="reportCDR"><block var="data"/></block><block var="key"/><block s="evaluate"><block var="interval"/><list><block var="floor"/></list></block><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="generator"/><list><block var="floor"/></list></block><custom-block s="bar chart helper function to fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block var="data"/><block var="key"/><block s="evaluate"><block var="interval"/><list><block var="floor"/></list></block><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></block></script></block-definition><block-definition s="plot bar chart %&apos;data&apos; bars at x: %&apos;left&apos; y: %&apos;bottom&apos; width: %&apos;width&apos; height: %&apos;height&apos;" type="command" category="pen"><header></header><code></code><translations>pt:desenha gráfico de barras de _ em (x: _ , y: _ ) com largura _ e altura _&#xD;ca:dibuixa gràfic _ a x: _ y: _ amplada: _ alçada: _&#xD;</translations><inputs><input type="%l"></input><input type="%n">-200</input><input type="%n">-100</input><input type="%n">400</input><input type="%n">200</input></inputs><script><block s="doDeclareVariables"><list><l>ratio</l><l>step</l><l>flat line ends</l><l>col</l><l>sorted</l><l>min</l><l>digit12</l><l>saved pentrails</l><l>digit10</l><l>x label width</l><l>saved position</l><l>label delta y</l><l>max y</l></list></block><block s="doSetVar"><l>flat line ends</l><block s="reportGlobalFlag"><l><option>flat line ends</option></l></block></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="doSetVar"><l>saved pentrails</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="up"><comment w="105.33333333333333" collapsed="false">find out how wide a digit is at two sizes</comment></block><block s="doGotoObject"><l><option>center</option></l></block><block s="write"><l>1234567890</l><l>12</l></block><block s="doSetVar"><l>digit12</l><block s="reportQuotient"><block s="xPosition"></block><l>10</l></block></block><block s="clear"></block><block s="up"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="write"><l>1234567890</l><l>10</l></block><block s="doSetVar"><l>digit10</l><block s="reportQuotient"><block s="xPosition"></block><l>10</l></block></block><block s="clear"></block><block s="doSwitchToCostume"><block var="saved pentrails"/></block><block s="doStamp"></block><block s="doSwitchToCostume"><l><option>Turtle</option></l></block><block s="doSetVar"><l>x label width</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportMonadic"><l><option>log</option></l><block s="reportListItem"><l>1</l><block s="reportListItem"><l><option>last</option></l><block var="data"/></block></block></block></block></block><block s="doSetVar"><l>sorted</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>2</l><l/></block></autolambda><list></list></block><custom-block s="sort table %l on field %n in %s order"><block var="data"/><l>2</l><l>descending</l></custom-block></block></block><block s="doIfElse"><block s="reportLessThan"><block s="reportListItem"><l><option>last</option></l><block var="sorted"/></block><l>0</l></block><script><block s="doSetVar"><l>min</l><block s="reportListItem"><l><option>last</option></l><block var="sorted"/></block></block></script><script><block s="doSetVar"><l>min</l><l>0</l></block></script><comment w="142" collapsed="false">If smallest value &lt; 0, the x axis isn&apos;t at the bottom.&#xD;Note that sort is by &gt; not by &lt;.&#xD;Not clear this can happen in a&#xD;histogram!</comment></block><block s="doSetVar"><l>max y</l><block s="reportListItem"><l>1</l><block var="sorted"/></block></block><block s="doSetVar"><l>ratio</l><block s="reportQuotient"><block var="height"/><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="sorted"/></block><block var="min"/></block></block></block><block s="doSetVar"><l>label delta y</l><block s="reportVariadicProduct"><list><block s="reportRound"><block s="reportQuotient"><block var="max y"/><l>50</l></block></block><l>10</l></list></block></block><block s="doSetVar"><l>step</l><block s="reportQuotient"><block var="width"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block><block s="doIfElse"><block s="reportGreaterThan"><block var="step"/><l>2</l></block><script><block s="doSetVar"><l>col</l><block s="reportDifference"><block var="step"/><l>1</l></block></block></script><script><block s="doSetVar"><l>col</l><block s="reportVariadicProduct"><list><block var="step"/><l>0.8</l></list></block></block></script></block><block s="gotoXY"><block var="left"/><block s="reportDifference"><block var="bottom"/><block s="reportVariadicProduct"><list><block var="min"/><block var="ratio"/></list></block></block></block><block s="setSize"><l>1</l></block><block s="down"></block><block s="setHeading"><l>90</l></block><block s="forward"><block var="width"/><comment w="110.66666666666667" collapsed="true">draw x axis at y=0</comment></block><block s="up"></block><block s="gotoXY"><block var="left"/><block var="bottom"/></block><block s="setHeading"><l>0</l></block><block s="down"></block><block s="forward"><block var="height"/><comment w="74.66666666666667" collapsed="true">draw y axis</comment></block><block s="up"></block><block s="setHeading"><l>90</l></block><block s="gotoXY"><block s="reportDifference"><block var="left"/><block s="reportVariadicSum"><list><block var="digit12"/><l>2</l></list></block></block><block s="reportDifference"><block var="bottom"/><block s="reportVariadicProduct"><list><block var="min"/><block var="ratio"/></list></block></block></block><block s="write"><l>0</l><l>12</l></block><block s="doFor"><l>i</l><l>1</l><l>5</l><script><block s="changeYPosition"><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="label delta y"/><block var="min"/></block><block var="ratio"/></list></block></block><block s="setXPosition"><block s="reportDifference"><block var="left"/><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="digit12"/><block s="reportStringSize"><block s="reportVariadicProduct"><list><block var="label delta y"/><block var="i"/></list></block></block></list></block><l>2</l></list></block></block></block><block s="write"><block s="reportVariadicProduct"><list><block var="label delta y"/><block var="i"/></list></block><l>12</l></block></script></block><block s="gotoXY"><block var="left"/><block var="bottom"/><comment w="112" collapsed="true">Ready to draw bars.</comment></block><block s="changeXPosition"><block s="reportQuotient"><block var="step"/><l>2</l></block></block><block s="setSize"><block var="col"/></block><block s="doWarp"><script><block s="doUntil"><block s="reportEquals"><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></block><script><block s="down"></block><block s="changeYPosition"><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block var="min"/></block><block var="ratio"/></list></block></block><block s="up"></block><block s="setYPosition"><block var="bottom"/></block><block s="doSetVar"><l>saved position</l><block s="reportNewList"><list><block s="xPosition"></block><block s="yPosition"></block></list></block></block><block s="doIfElse"><block s="reportLessThan"><block var="col"/><l>15</l><comment w="319.3333333333333" collapsed="true">Choose label format depending on label width vs. bar width.</comment></block><script><block s="setYPosition"><block s="reportDifference"><block var="bottom"/><l>2</l></block></block><block s="changeXPosition"><block s="reportDifference"><block s="reportQuotient"><block var="step"/><l>2</l></block><l>8</l></block></block><block s="setHeading"><l>180</l></block><block s="write"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>10</l></block></script><script><block s="doIfElse"><block s="reportLessThan"><block var="col"/><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><block var="digit10"/><block var="x label width"/></list></block><l>2.5</l></list></block></block><script><block s="setYPosition"><block s="reportDifference"><block var="bottom"/><l>2</l></block></block><block s="changeXPosition"><block s="reportDifference"><block s="reportQuotient"><block var="step"/><l>2</l></block><l>10</l></block></block><block s="setHeading"><l>180</l></block><block s="write"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>12</l></block></script><script><block s="doIfElse"><block s="reportLessThan"><block var="col"/><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><block var="digit12"/><block var="x label width"/></list></block><l>2.5</l></list></block></block><script><block s="setYPosition"><block s="reportDifference"><block var="bottom"/><l>10</l></block></block><block s="setHeading"><l>90</l></block><block s="forward"><block s="reportDifference"><block s="reportDifference"><block s="reportQuotient"><block var="step"/><l>2</l></block><block s="reportVariadicProduct"><list><block var="digit10"/><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportMonadic"><l><option>log</option></l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="data"/></block></block></block></block></list></block></block><l>2</l></block></block><block s="write"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>10</l></block></script><script><block s="setYPosition"><block s="reportDifference"><block var="bottom"/><l>12</l></block></block><block s="setHeading"><l>90</l></block><block s="forward"><block s="reportDifference"><block s="reportDifference"><block s="reportQuotient"><block var="step"/><l>2</l></block><block s="reportVariadicProduct"><list><block var="digit12"/><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportMonadic"><l><option>log</option></l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="data"/></block></block></block></block></list></block></block><l>2</l></block></block><block s="write"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>12</l></block></script></block></script></block></script></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block><block s="setHeading"><l>90</l></block><block s="doGotoObject"><block var="saved position"/></block><block s="changeXPosition"><block var="step"/></block></script></block></script></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><block var="flat line ends"/></block></script></block-definition><block-definition s="sort table %&apos;data&apos; on field %&apos;field number&apos; in %&apos;order&apos; order" type="reporter" category="lists"><header></header><code></code><translations>ca:ordena taula _ pel camp _ en ordre _&#xD;</translations><inputs><input type="%l"></input><input type="%n"></input><input type="%s" readonly="true"><options>ascending&#xD;descending</options></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block s="reportIfElse"><block s="reportEquals"><block var="order"/><l>ascending</l></block><block s="reifyPredicate"><autolambda><block s="reportLessThan"><block s="reportListItem"><block var="field number"/><l/></block><block s="reportListItem"><block var="field number"/><l/></block></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportGreaterThan"><block s="reportListItem"><block var="field number"/><l/></block><block s="reportListItem"><block var="field number"/><l/></block></block></autolambda><list></list></block></block></list></block></block></script></block-definition><block-definition s="group table %&apos;data&apos; by field %&apos;number&apos; by intervals of: %&apos;interval&apos;" type="reporter" category="lists"><header></header><code></code><translations>ca:agrupa taula _ pel camp _ per intervals de _&#xD;</translations><inputs><input type="%l"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>dta_group(list, fn)</l><list><block var="data"/><block s="reportIfElse"><block s="reportEquals"><block var="interval"/><l>0</l></block><block s="reifyReporter"><autolambda><block s="reportListItem"><block var="number"/><l/></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportListItem"><block var="number"/><l/></block><block var="interval"/></block></block></autolambda><list></list></block></block></list></block></block></script></block-definition><block-definition s="pipe %&apos;value&apos; $arrowRight %&apos;pipe&apos;" type="reporter" category="control"><header></header><code></code><translations>pt:a aplicação a _ de _&#xD;ca:canalitza _ $arrowRight _&#xD;</translations><inputs><input type="%s"></input><input type="%mult%repRing"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="pipe"/></block><script><block s="doReport"><block var="value"/></block></script></block><block s="doReport"><custom-block s="pipe %s $arrowRight %mult%repRing"><block s="evaluate"><block s="reportListItem"><l>1</l><block var="pipe"/></block><list><block var="value"/></list></block><block s="reportCDR"><block var="pipe"/></block></custom-block></block></script></block-definition><block-definition s="How many %&apos;X or Y&apos; In %&apos;List&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><l></l><block var="X or Y"/></block></autolambda><list></list></block><block var="List"/></block></block></block></script></block-definition><block-definition s="Winning tripple of player %&apos;X Or Y&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doForEach"><l>item</l><custom-block s="status of all winning triples"></custom-block><script><block s="doIf"><block s="reportAnd"><block s="reportEquals"><custom-block s="How many %s In %l"><block var="X Or Y"/><block var="item"/></custom-block><l>2</l></block><custom-block s="%l Contains a number?"><block var="item"/></custom-block></block><script><block s="doReport"><block var="item"/></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><scripts><script x="46" y="266.2"><custom-block s="status of all winning triples"></custom-block></script><script x="117.9951171875" y="344.3333333333333"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="item"/></block></script><script x="92" y="301.3666666666666"><custom-block s="%l Contains a number?"><l/></custom-block></script><script x="234" y="223.53333333333336"><custom-block s="status of all winning triples"></custom-block></script></scripts></block-definition><block-definition s="%&apos;list&apos; Contains a number?" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doForEach"><l>item</l><block var="list"/><script><block s="doIfElse"><block s="reportIsA"><block var="item"/><l><option>number</option></l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="%&apos;Number&apos; Odd?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportNot"><block s="reportEquals"><block s="reportModulus"><block var="Number"/><l>2</l></block><l>0</l></block></block></block></script></block-definition><block-definition s="Wining square of player %&apos;X or Y&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportEquals"><custom-block s="Winning tripple of player %s"><block var="X or Y"/></custom-block><block s="reportBoolean"><l><bool>false</bool></l></block></block></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 tripple of player %s"><block var="X or Y"/></custom-block></block></block></script><script><block s="doReport"><l>None</l></block></script></block></script><scripts><script x="128.6416015625" y="314.8333333333333"><block s="reportIsA"><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 tripple of player %s"><block var="X or Y"/></custom-block></block><l><option>number</option></l></block></script></scripts></block-definition><block-definition s="Can player %&apos;Player&apos; win" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><custom-block s="Wining square of 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><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="Possible singles" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>Singles</l></list></block><block s="doSetVar"><l>Singles</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><custom-block s="status of all winning triples"></custom-block><script><block s="doIf"><block s="reportEquals"><l>2</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="item"/></block></block></block><script><block s="doAddToList"><block var="item"/><block var="Singles"/></block></script></block></script></block><block s="doReport"><block var="Singles"/></block></script></block-definition><block-definition s="Most common # in singles" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>Atoms</l></list></block><block s="doSetVar"><l>Atoms</l><block s="reportCombine"><custom-block s="Possible singles"></custom-block><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><l/><l/></list></block></autolambda><list></list></block></block></block><block s="doForEach"><l>item</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="Atoms"/></block><script></script></block></script><scripts><script x="98" y="359.7000000000001"><custom-block s="%l Contains a number?"><l/></custom-block></script><script x="249" y="310.36666666666696"><custom-block s="Eliminate duplicates %l"><block var="item"/></custom-block></script><script x="21" y="185.63333333333327"><block s="doReport"><l></l></block></script></scripts></block-definition><block-definition s="is %&apos;this&apos; divisible by %&apos;that&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportEquals"><block s="reportModulus"><block var="this"/><block var="that"/></block><l>0</l></block></block></script></block-definition><block-definition s="even? %&apos;what&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="is %s divisible by %s ?"><block var="what"/><l>2</l></custom-block></block></script></block-definition><block-definition s="integer? %&apos;integer?&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportEquals"><block s="reportRound"><block var="integer?"/></block><block var="integer?"/></block></block></script></block-definition><block-definition s="%&apos;chicken&apos; ≤ %&apos;nuggets&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIf"><block s="reportLessThan"><block var="nuggets"/><block var="chicken"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block-definition><block-definition s="%&apos;party&apos; ≥ %&apos;people&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIf"><block s="reportGreaterThan"><block var="people"/><block var="party"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block-definition><block-definition s="%&apos;winter&apos; ≠ %&apos;break&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIf"><block s="reportEquals"><block var="break"/><block var="winter"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block-definition><block-definition s="is: %&apos;snap&apos; between: %&apos;sucks&apos; and: %&apos;goodass&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIf"><block s="reportAnd"><custom-block s="%s ≤ %s"><block var="snap"/><block var="sucks"/></custom-block><custom-block s="%s ≥ %s"><block var="snap"/><block var="goodass"/></custom-block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="odd? %&apos;huh&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNot"><custom-block s="is %s divisible by %s ?"><block var="huh"/><l>2</l></custom-block></block></block></script></block-definition><block-definition s="number of divisors %&apos;UGHH&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><custom-block s="divisor of %s"><block var="UGHH"/></custom-block></block></block></script></block-definition><block-definition s="divisor of %&apos;YEAH&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="is %s divisible by %s ?"><block var="YEAH"/><l></l></custom-block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><l>1000</l></block></block></block></script></block-definition><block-definition s="maximum of %&apos;number&apos; and %&apos;chicke&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportLessThan"><block var="chicke"/><block var="number"/></block><script><block s="doReport"><block var="number"/></block></script><script><block s="doReport"><block var="chicke"/></block></script></block></script></block-definition><block-definition s="minimum of %&apos;UGHSLKJL&apos; and %&apos;NAR&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportGreaterThan"><block var="UGHSLKJL"/><block var="NAR"/></block><script><block s="doReport"><block var="NAR"/></block></script><script><block s="doReport"><block var="UGHSLKJL"/></block></script></block></script></block-definition><block-definition s="maximum of list %&apos;HEHE&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportCombine"><block var="HEHE"/><block s="reifyReporter"><autolambda><custom-block s="maximum of %s and %s"><l></l><l></l></custom-block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="minimum of list %&apos;HAHAH&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportCombine"><block var="HAHAH"/><block s="reifyReporter"><autolambda><custom-block s="minimum of %s and %s"><l></l><l></l></custom-block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="sum of list %&apos;NARR&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportCombine"><block var="NARR"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="Average of list %&apos;HARHAR&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportCombine"><block var="HARHAR"/><block s="reifyReporter"><autolambda><block s="reportQuotient"><block s="reportVariadicSum"><list><l></l><l></l></list></block><block s="reportListAttribute"><l><option>length</option></l><block var="HARHAR"/></block></block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="greatest common divisor of %&apos;AHALH&apos; %&apos;MALO&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="maximum of list %l"><custom-block s="intersection of %l and %l"><custom-block s="divisor of %s"><block var="AHALH"/></custom-block><custom-block s="divisor of %s"><block var="MALO"/></custom-block></custom-block></custom-block></block></script><scripts><script x="323.5341796875" y="163.83333333333326"><custom-block s="divisor of %s"><block var="MALO"/></custom-block></script><script x="97.9951171875" y="190.13333333333344"><custom-block s="maximum of %s and %s"><l></l><l></l></custom-block></script><script x="304" y="214.5"><custom-block s="maximum of %s and %s"><l></l><l></l></custom-block></script></scripts></block-definition><block-definition s="intersection of %&apos;GAR&apos; and %&apos;BAR&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportListContainsItem"><block var="GAR"/><l></l></block></autolambda><list></list></block><block var="BAR"/></block></block></script></block-definition><block-definition s="Eliminate duplicates %&apos;List&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="List"/></block><script><block s="doReport"><block var="List"/></block></script></block><block s="doIf"><block s="reportListContainsItem"><block s="reportCDR"><block var="List"/></block><block s="reportListItem"><l>1</l><block var="List"/></block></block><script><block s="doReport"><custom-block s="Eliminate duplicates %l"><block s="reportCDR"><block var="List"/></block></custom-block></block></script></block><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="List"/></block><custom-block s="Eliminate duplicates %l"><block s="reportCDR"><block var="List"/></block></custom-block></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="2144"><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="2145"></list></costumes><sounds><list struct="atomic" id="2146"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="50" y="-50" 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="2151"><costumes><list id="2152"><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="2153"></list></sounds><blocks></blocks><variables><variable name="position number"><l>10</l></variable></variables><scripts><script x="11.333333333333343" y="10"><block s="receiveGo"></block><block s="clear"></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="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="10" y="364.6666666666664"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></block><script><custom-block s="Move in this square"></custom-block></script></block></script><script x="12.333333333333343" y="164.33333333333348"><custom-block s="possible winning triples"></custom-block></script><script x="13.33333433333334" y="187.33333333333348"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></block></script><script x="190.33333433333334" y="365.33333333333326"><block s="receiveMessage"><l><option>any message</option></l><list><l>message</l></list></block><block s="doIf"><block s="reportEquals"><block var="message"/><block var="position number"/></block><script><custom-block s="Move in this square"></custom-block></script></block></script><script x="11" y="496.33333333333326"><block s="doBroadcast"><block s="reportListItem"><l><option>any</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block><list></list></block></script><script x="11.333334333333397" y="573.8333333333336"><block s="doBroadcast"><block s="reportListItem"><l><option>any</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block><list></list></block></script><script x="38" y="290.9999999999999"><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="14.33333433333334" y="226.6666666666664"><block s="reportEquals"><l></l><block s="reportNewList"><list><l>X</l><l>X</l><custom-block s="status of triple %l"><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></custom-block></list></block></block></script><script x="170.33333433333334" y="268.3333333333333"><custom-block s="status of all winning triples"></custom-block></script></scripts></sprite><watcher scope="Square" var="position number" style="normal" x="10" y="298.500002" color="243,118,29" hidden="true"/><watcher var="playing" style="normal" x="10" y="325.499996" color="243,118,29" hidden="true"/><watcher var="win lines" style="normal" x="10" y="177.99999800000003" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="0" y="27" color="243,118,29" hidden="true"/><watcher var="Singles" style="normal" x="10" y="338.999998" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>false</bool></variable><variable name="board"><list struct="atomic" id="2286">O,2,X,4,O,X,X,O,X</list></variable><variable name="playing"><bool>false</bool></variable><variable name="win lines"><list id="2287"><item><list id="2288"><item><list struct="atomic" id="2289">-100,50</list></item><item><list struct="atomic" id="2290">100,50</list></item></list></item><item><list id="2291"><item><list struct="atomic" id="2292">-100,0</list></item><item><list struct="atomic" id="2293">100,0</list></item></list></item><item><list id="2294"><item><list struct="atomic" id="2295">-100,-50</list></item><item><list struct="atomic" id="2296">100,-50</list></item></list></item><item><list id="2297"><item><list struct="atomic" id="2298">-50,100</list></item><item><list struct="atomic" id="2299">-50,-100</list></item></list></item><item><list id="2300"><item><list struct="atomic" id="2301">0,100</list></item><item><list struct="atomic" id="2302">0,-100</list></item></list></item><item><list id="2303"><item><list struct="atomic" id="2304">50,100</list></item><item><list struct="atomic" id="2305">50,-100</list></item></list></item><item><list id="2306"><item><list struct="atomic" id="2307">-100,100</list></item><item><list struct="atomic" id="2308">100,-100</list></item></list></item><item><list id="2309"><item><list struct="atomic" id="2310">-100,-100</list></item><item><list struct="atomic" id="2311">100,100</list></item></list></item></list></variable><variable name="Singles"><list struct="atomic" id="2312"></list></variable></variables></scene></scenes></project><media name="unit 3 lab 3 tic tac toe solution" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="Empty" center-x="29" center-y="28" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAAAAXNSR0IArs4c6QAAAShJREFUaEPtmyEOg0AQRT836A1ag24TBIakFWv2Fr0BFgc4LKdZs6ICgyCpx9AbcIRmG0LS0lbPbj4nmDf/v4xZIgAVgCOAE8L87tECeQZwCZMRt0/ISWuNNE0PPgP3fT8ZYxyC43iH1FpPbdsijmOvIcdxnPI8hzFmC1lVFcqy9DnEdfa6ruF4NkkS0rN8mSSd9KiyrCvryrrK2gCdpJOyGvl3GtaVdWVdZW2ATtJJWY3kCaGTdJJOytoAnaSTshrJO0kn6SSdlLUBOkknZTWSd5JO0kk6KWsDdJJOymok7ySdpJMhOKmUmpumQZIkO494NqMOwzAXRQFrrePYPM+elVLIssxryK7rZmutg/8K6XOAv2Z/JXldHqTvQyQE8HCQof4qsWb2BLkbqAIXp3YbAAAAAElFTkSuQmCC" mediaID="Square_cst_Empty"/><costume name="X" center-x="29" center-y="29" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA6CAYAAAAKjPErAAAAAXNSR0IArs4c6QAAA8NJREFUaEPd271P20AYBvCHVkIMlmDokA2GbgwJeyFBXegE/AWEjSEDqEu2wMYIAwsMwMYGY5cKBsaqAkG2DrBlqCqQGBBSpepxOcs57LN9H3ack1hiB/t373vvmTszguFsEwAeBG0EwCaAKoDakHjfAagAeAHwB8BPgawDaAwJUmZcyMgXz/PQarVGx8bGSmV+fn7G0dERer1eItI/oVar4fz8HBMTTO1ytOXlZZydnQU3Oz09/bvb7X4A8CaSwUllgq6urvpRFO3w8BD39/fY3GS5kZBLS0t9vVEGqAzsdDo+bmtrKxrJg5OTk+AXRRtkqAxcWVkJIqpEsicY+kGHqoAMUCKSJ0VBmeuMbNEtCZgaGQVltWXVLRKaBpgJ6ZemiwuwID0+PvoBLBIqZ1d4DMrZlSpdw1+6urpCo9EoFJoFmDmSAlskVAbW63U/w1QtcySLhMrAarXqA5OexrSRxOYZUV2gdrrmPUZNgFaQriNqCrSGdAXlcJifn8fDw/8/7NOOQeMpRFXFbI5RW0CrkbRZdWXg+Pi4X+Smpqa0niKNqmvcFU0iGgXkNGHy+OgEGTdG+VDPx0JV54THICNoCnSSrqrphccIbTabb5wuIigu4iyS4gJ3d3d+9K6vrwOYDOU5MzMzQRW1FcHckLwQpwA+1EdBeYwpykiy2QY6T9dwTkZB9/b2cHBw4BSYKzIuouGOOD09VRYmrfkj7fKH7i+P+h4jOjs7i9vb277DcQXJxrWdFx75Jomcm5vDzc3NcCLlIiN3gKto5hpJThOiihLIwrO/v6+cXkqVrlHL93woUE0vNoC5Vdc4oEC4hjpP17Rroy6hTpFpgaqIck+G2xUmzRkyK1AF5dhl5dVtTpC6wDB0fX0dx8fHgcsEah0p9gPF3amW75MiQ5gNqFVk1uX7JCSP24BaQ7oAik4whVpB2lgbTYqqCdQYmQfQNKJGyDyBJlBtZBFAXagWksuEXJcRTXf5Pmkcqo5nGaOZkTaX702QWaaXTEgZyPd8+FnSJqgpxjSiqZEuF39NO0FOXa7z8llXdH4q5CAD44pR+O2xRGQZgAK6s7ODjY2NIDEEdHd3N/7dusXFxb5NUBer26apKn8/6u2xhYUFbG9v89T+V0Hb7TZOTk7AfQq2MgAFWIZWKhXxgm8/0vO8v09PT+/LBoyDvn5+KV7P/gzgUzgN1tbWwN4oW2M9Cb/BzL0ngfwKwCsbKOX9/iCSu6PcCv4CYBTAJYBfKX/BIJ/28fXmvhMp/lWCH/Ln2yDfuc69/QO8JTdw9aXwqAAAAABJRU5ErkJggg==" mediaID="Square_cst_X"/><costume name="O" center-x="28" center-y="28" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAAAAXNSR0IArs4c6QAABF9JREFUaEPtmos1LEEQhnsiQARsBIgAEbARIAJEsLsRIAI2AkRgNwJEgAgQwdzzzbm1p7bNo7rnsWupc5z7MNPdf/1Vf1dXT+KcGzrn9tzq2jT5D3Kwuhjd6FeCHKVp+uNZTZJk5JwTHPNMpmm6MlGbJARpZt2BfHt7c+/v79msm5ubbmtrq1WHtg5yOp26+/t7N5lM3PPzcymYnZ0dt7+/746OjtzeXnMi3wpImBqNRhm4z8/PKJbW19czsIPBoDbTjYIE0PX1tRsO2W6LTYeoDt2iNxjv7OzMATzGGgN5e3vrLi4uvjEHIBiRMCxbpIQ1f0rOyvMAvLy8dCcnJ8E4GwEJuKurq7nJySkYAFyMkcO8T05rOz8/z8CGWC2QhOfp6WmWe2IwB2DYa8IYG2CaWca+ubkxh280SAAeHBzMKebx8XEGMDZ3ipzCXAAdj8ezR1Dix8dH01zRIGGQPBRDBasEpy6zjI9qi5GfMFplUSD9yZgoRhCqFpf3exyLg0OcGwySHOn3+7NJkHZfdGIWH/IOoctWJXZ3d1eqAcEge72eY2/DDg8P50QnZKF1n0V8Hh4esmEoC19fXwuHDAIJY2wX2NraWga2aZGxgkeMAPf19ZW9wrYCw3lmBsmgsChlWtmg1oXWfU47HWfDZp7TzSD1gOyFErJ1F1r3fdiUPbTI8WaQu7u7sz2xSzWtcoJWW6osKiXfTCAJ0Y2Njdm7Hx8fC8tFH4BlbSaQFm9VebzN31P9vLy8ZFPkRZkJJBu9lFTLIDi+w7ReUFrqSoxnTSA5SchpgHox9mTRFpvkIXU0lpeXfyDF84iO7I/LJDqyPi0+7JOsUZuJSfWQW9ZWZdka/0AK5Vqin56eHP9eJqPVSbGCbW9vf2t9mphcIXUdzl346NzTIKvObotgWJ9xo7cQ3QnI22wXAUzPqYuVvDaMCtdiJnXMVx1QFwFYb3F5mmHKSRbO/iMH1GUSH01A0RHQDFKHxDKFrGVdZpC6PoRZTuFtX7lVhT4Hd7oVYkV1tRkkA2mV5e8MukijKJdDctGB2XwKESC+5xa5nfj917LICmISsDoHECPY7LoCQmxgUQ4NVRoRDJKBCVU5iZOXqG1XrUm/a0gZR8iWzR8MEjbxJEBlSwm5fKmTw6QL3Xu5lqf3C8CqSIoCyUJ9tW07dP0QZQ3WLkU0SCbxkx+gcvVdhzH/Xe49/O54SFu0Fsi80OX/CB8aXnV7QUQL1xL6qxFriAZ3BqpYIVe4gBExkucBiRqzh1kLB8aiaUaU+I1iRIYTh3UsWUdtJmUgVI/WID8iSNo5sCtX7CxSFgoouXIAQN63PrBHuPITo+KNgdRg/avvqkgo+30TV/SNg9TVkXyyIveIVrDce8onMaGhmTdHayD1ZISy/uxMh6gOXfnsLCYkyxzYCUgrg209Z+oMtDV5V+P+Nia/fZ49SdM07puxrigyzJMkCbeyguN3foNu8NOPeyRrSf748Kxy+z+VzUmjGHSyOAAAAABJRU5ErkJggg==" mediaID="Square_cst_O"/></media></snapdata>