<snapdata remixID="8736835"><project name='U2L3-WordPuzzleSolver' app='Snap! 5.1, http://snap.berkeley.edu' version='1'>
  <notes/>
  <thumbnail>data:image/png;base64,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</thumbnail>
  <stage inheritance='false' id='1' volume='100' height='360' tempo='60' lines='round' width='480' sublistIDs='false' name='Stage' threadsafe='false' codify='false' color='255,255,255,1' scheduled='false' pan='0' ternary='true' costume='0'>
    <pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails>
    <costumes>
      <list id='2' struct='atomic'/>
    </costumes>
    <sounds>
      <list id='3' struct='atomic'/>
    </sounds>
    <variables/>
    <blocks/>
    <scripts/>
    <sprites>
      <sprite x='0' pen='tip' id='8' y='0' name='Sprite' idx='1' volume='100' rotation='1' scale='1' heading='90' costume='0' color='80,80,80,1' pan='0' draggable='true'>
        <costumes>
          <list id='9' struct='atomic'/>
        </costumes>
        <sounds>
          <list id='10' struct='atomic'/>
        </sounds>
        <blocks/>
        <variables/>
        <scripts>
          <script x='20' y='10'>
            <custom-block s='import words list'>
              <comment collapsed='true' w='356'>Run this first each time you open this project. It sets up the variable.</comment>
            </custom-block>
          </script>
          <script x='20' y='46'>
            <custom-block s='keep items such that %predRing from %l'>
              <block s='reifyPredicate'>
                <autolambda>
                  <block s='reportEquals'>
                    <block s='reportStringSize'>
                      <l/>
                    </block>
                    <l>8</l>
                  </block>
                </autolambda>
                <list/>
              </block>
              <block var='words list'/>
            </custom-block>
          </script>
          <script x='20' y='93'>
            <custom-block s='keep items such that %predRing from %l'>
              <block s='reifyPredicate'>
                <autolambda>
                  <block s='reportEquals'>
                    <block s='reportStringSize'>
                      <l/>
                    </block>
                    <l>11</l>
                  </block>
                </autolambda>
                <list/>
              </block>
              <block var='words list'/>
            </custom-block>
          </script>
          <script x='22' y='146'>
            <custom-block s='keep items such that %predRing from %l'>
              <block s='reifyPredicate'>
                <autolambda>
                  <custom-block s='is letter %n of %s the letter %s ?'>
                    <l>1</l>
                    <l/>
                    <l>i</l>
                  </custom-block>
                </autolambda>
                <list/>
              </block>
              <block var='words list'/>
            </custom-block>
          </script>
          <script x='25' y='208'>
            <custom-block s='keep items such that %predRing from %l'>
              <block s='reifyPredicate'>
                <autolambda>
                  <custom-block s='is letter %n of %s the letter %s ?'>
                    <l>4</l>
                    <l/>
                    <l>r</l>
                  </custom-block>
                </autolambda>
                <list/>
              </block>
              <block var='words list'/>
            </custom-block>
          </script>
          <script x='19' y='286'>
            <custom-block s='keep items such that %predRing from %l'>
              <block s='reifyPredicate'>
                <autolambda>
                  <block s='reportAnd'>
                    <block s='reportAnd'>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>2</l>
                        <l/>
                        <l>r</l>
                      </custom-block>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>4</l>
                        <l/>
                        <l>c</l>
                      </custom-block>
                    </block>
                    <block s='reportAnd'>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>6</l>
                        <l/>
                        <l>d</l>
                      </custom-block>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>7</l>
                        <l/>
                        <l>u</l>
                      </custom-block>
                    </block>
                  </block>
                </autolambda>
                <list/>
              </block>
              <block var='words list'/>
            </custom-block>
          </script>
          <script x='25' y='422'>
            <custom-block s='keep items such that %predRing from %l'>
              <block s='reifyPredicate'>
                <autolambda>
                  <block s='reportAnd'>
                    <block s='reportAnd'>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>2</l>
                        <l/>
                        <l>t</l>
                      </custom-block>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>4</l>
                        <l/>
                        <l>r</l>
                      </custom-block>
                    </block>
                    <block s='reportAnd'>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>7</l>
                        <l/>
                        <l>i</l>
                      </custom-block>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>8</l>
                        <l/>
                        <l>o</l>
                      </custom-block>
                    </block>
                  </block>
                </autolambda>
                <list/>
              </block>
              <block var='words list'/>
            </custom-block>
          </script>
          <script x='22' y='542'>
            <custom-block s='keep items such that %predRing from %l'>
              <block s='reifyPredicate'>
                <autolambda>
                  <block s='reportAnd'>
                    <block s='reportAnd'>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>2</l>
                        <l/>
                        <l>o</l>
                      </custom-block>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>5</l>
                        <l/>
                        <l>i</l>
                      </custom-block>
                    </block>
                    <custom-block s='is letter %n of %s the letter %s ?'>
                      <l>8</l>
                      <l/>
                      <l>o</l>
                    </custom-block>
                  </block>
                </autolambda>
                <list/>
              </block>
              <block var='words list'/>
            </custom-block>
          </script>
          <script x='26' y='656'>
            <custom-block s='keep items such that %predRing from %l'>
              <block s='reifyPredicate'>
                <autolambda>
                  <block s='reportAnd'>
                    <block s='reportAnd'>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>2</l>
                        <l/>
                        <l>e</l>
                      </custom-block>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>4</l>
                        <l/>
                        <l>u</l>
                      </custom-block>
                    </block>
                    <custom-block s='is letter %n of %s the letter %s ?'>
                      <l>7</l>
                      <l/>
                      <l>c</l>
                    </custom-block>
                  </block>
                </autolambda>
                <list/>
              </block>
              <block var='words list'/>
            </custom-block>
          </script>
          <script x='17' y='760'>
            <custom-block s='keep items such that %predRing from %l'>
              <block s='reifyPredicate'>
                <autolambda>
                  <block s='reportAnd'>
                    <block s='reportAnd'>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>2</l>
                        <l/>
                        <l>e</l>
                      </custom-block>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>3</l>
                        <l/>
                        <l>l</l>
                      </custom-block>
                    </block>
                    <block s='reportAnd'>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>6</l>
                        <l/>
                        <l>t</l>
                      </custom-block>
                      <custom-block s='is letter %n of %s the letter %s ?'>
                        <l>7</l>
                        <l/>
                        <l>i</l>
                      </custom-block>
                    </block>
                  </block>
                </autolambda>
                <list/>
              </block>
              <block var='words list'/>
            </custom-block>
          </script>
        </scripts>
      </sprite>
      <watcher var='words list' x='10' color='243,118,29' style='normal' y='10' extX='100' extY='150'/>
    </sprites>
  </stage>
  <hidden/>
  <headers/>
  <code/>
  <blocks>
    <block-definition s='label %&apos;text&apos; of size %&apos;size&apos;' category='pen' type='command'>
      <comment x='0' w='90' collapsed='false' y='0'>LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%txt'>Hello!</input>
        <input type='%n'>12</input>
      </inputs>
      <script>
        <block s='doRun'>
          <block s='reportJSFunction'>
            <list>
              <l>text</l>
              <l>size</l>
            </list>
            <l>var stage = this.parentThatIsA(StageMorph),    context = stage.penTrails().getContext(&apos;2d&apos;),    rotation = radians(this.direction() - 90),    trans = new Point(      this.center().x - stage.left(),      this.center().y - stage.top()    ),    isWarped = this.Warped,    len,    pos;if (isWarped) {endWarp(); }context.save();context.font = size + &apos;px monospace&apos;;context.textAlign = &apos;left&apos;;context.textBaseline = &apos;alphabetic&apos;;context.fillStyle = this.color.toString();len = context.measureText(text).width;trans = trans.multiplyBy(1 / stage.scale);context.translate(trans.x, trans.y);context.rotate(rotation);context.fillText(text, 0, 0);context.translate(-trans.x, -trans.y);context.restore();pos = new Point(  len * Math.sin(radians(this.direction())),  len * Math.cos(radians(this.direction())));pos = pos.add(new Point(this.xPosition(), this.yPosition()));this.gotoXY(pos.x, pos.y, false);this.changed();if (isWarped) {this.startWarp(); }stage.changed();</l>
          </block>
          <list>
            <block var='text'/>
            <block var='size'/>
          </list>
        </block>
      </script>
    </block-definition>
    <block-definition s='map %&apos;function&apos; over %&apos;lists&apos;' category='lists' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%repRing'/>
        <input type='%mult%l'/>
      </inputs>
      <script>
        <block s='doWarp'>
          <script>
            <block s='doDeclareVariables'>
              <list>
                <l>mapone</l>
                <l>mapmany</l>
              </list>
            </block>
            <block s='doSetVar'>
              <l>mapone</l>
              <block s='reifyScript'>
                <script>
                  <block s='doIf'>
                    <custom-block s='empty? %l'>
                      <block var='data'/>
                    </custom-block>
                    <script>
                      <block s='doReport'>
                        <block s='reportNewList'>
                          <list/>
                        </block>
                      </block>
                    </script>
                  </block>
                  <block s='doReport'>
                    <block s='reportCONS'>
                      <block s='evaluate'>
                        <block var='function'/>
                        <list>
                          <block s='reportListItem'>
                            <l>1</l>
                            <block var='data'/>
                          </block>
                        </list>
                      </block>
                      <block s='evaluate'>
                        <block var='mapone'/>
                        <list>
                          <block s='reportCDR'>
                            <block var='data'/>
                          </block>
                        </list>
                      </block>
                    </block>
                  </block>
                </script>
                <list>
                  <l>data</l>
                </list>
              </block>
            </block>
            <block s='doSetVar'>
              <l>mapmany</l>
              <block s='reifyScript'>
                <script>
                  <block s='doIf'>
                    <custom-block s='empty? %l'>
                      <block s='reportListItem'>
                        <l>1</l>
                        <block var='data lists'/>
                      </block>
                    </custom-block>
                    <script>
                      <block s='doReport'>
                        <block s='reportNewList'>
                          <list/>
                        </block>
                      </block>
                    </script>
                  </block>
                  <block s='doReport'>
                    <block s='reportCONS'>
                      <block s='evaluate'>
                        <block var='function'/>
                        <custom-block s='map %repRing over %mult%l'>
                          <block s='reifyReporter'>
                            <autolambda>
                              <block s='reportListItem'>
                                <l>1</l>
                                <l/>
                              </block>
                            </autolambda>
                            <list/>
                          </block>
                          <list>
                            <block var='data lists'/>
                          </list>
                        </custom-block>
                      </block>
                      <block s='evaluate'>
                        <block var='mapmany'/>
                        <list>
                          <custom-block s='map %repRing over %mult%l'>
                            <block s='reifyReporter'>
                              <autolambda>
                                <block s='reportCDR'>
                                  <l/>
                                </block>
                              </autolambda>
                              <list/>
                            </block>
                            <list>
                              <block var='data lists'/>
                            </list>
                          </custom-block>
                        </list>
                      </block>
                    </block>
                  </block>
                </script>
                <list>
                  <l>data lists</l>
                </list>
              </block>
            </block>
            <block s='doIfElse'>
              <custom-block s='empty? %l'>
                <block s='reportCDR'>
                  <block var='lists'/>
                </block>
              </custom-block>
              <script>
                <block s='doReport'>
                  <block s='evaluate'>
                    <block var='mapone'/>
                    <list>
                      <block s='reportListItem'>
                        <l>1</l>
                        <block var='lists'/>
                      </block>
                    </list>
                  </block>
                </block>
              </script>
              <script>
                <block s='doReport'>
                  <block s='evaluate'>
                    <block var='mapmany'/>
                    <list>
                      <block var='lists'/>
                    </list>
                  </block>
                </block>
              </script>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='empty? %&apos;data&apos;' category='lists' type='predicate'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doReport'>
          <block s='reportEquals'>
            <block var='data'/>
            <block s='reportNewList'>
              <list/>
            </block>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='keep items such that %&apos;pred&apos; from %&apos;data&apos;' category='lists' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%predRing'/>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doWarp'>
          <script>
            <block s='doIf'>
              <custom-block s='empty? %l'>
                <block var='data'/>
              </custom-block>
              <script>
                <block s='doReport'>
                  <block s='reportNewList'>
                    <list/>
                  </block>
                </block>
              </script>
            </block>
            <block s='doIfElse'>
              <block s='evaluate'>
                <block var='pred'/>
                <list>
                  <block s='reportListItem'>
                    <l>1</l>
                    <block var='data'/>
                  </block>
                </list>
              </block>
              <script>
                <block s='doReport'>
                  <block s='reportCONS'>
                    <block s='reportListItem'>
                      <l>1</l>
                      <block var='data'/>
                    </block>
                    <custom-block s='keep items such that %predRing from %l'>
                      <block var='pred'/>
                      <block s='reportCDR'>
                        <block var='data'/>
                      </block>
                    </custom-block>
                  </block>
                </block>
              </script>
              <script>
                <block s='doReport'>
                  <custom-block s='keep items such that %predRing from %l'>
                    <block var='pred'/>
                    <block s='reportCDR'>
                      <block var='data'/>
                    </block>
                  </custom-block>
                </block>
              </script>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='combine with %&apos;function&apos; items of %&apos;data&apos;' category='lists' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%repRing'/>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doWarp'>
          <script>
            <block s='doIf'>
              <custom-block s='empty? %l'>
                <block s='reportCDR'>
                  <block var='data'/>
                </block>
              </custom-block>
              <script>
                <block s='doReport'>
                  <block s='reportListItem'>
                    <l>1</l>
                    <block var='data'/>
                  </block>
                </block>
              </script>
            </block>
            <block s='doReport'>
              <block s='evaluate'>
                <block var='function'/>
                <list>
                  <block s='reportListItem'>
                    <l>1</l>
                    <block var='data'/>
                  </block>
                  <custom-block s='combine with %repRing items of %l'>
                    <block var='function'/>
                    <block s='reportCDR'>
                      <block var='data'/>
                    </block>
                  </custom-block>
                </list>
              </block>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;' category='control' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%b'/>
        <input type='%anyUE'/>
        <input type='%anyUE'/>
      </inputs>
      <script>
        <block s='doIfElse'>
          <block var='test'/>
          <script>
            <block s='doReport'>
              <block s='evaluate'>
                <block var='true'/>
                <list/>
              </block>
            </block>
          </script>
          <script>
            <block s='doReport'>
              <block s='evaluate'>
                <block var='false'/>
                <list/>
              </block>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;' category='control' type='command'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%upvar'/>
        <input type='%n'>1</input>
        <input type='%n'>10</input>
        <input type='%cs'/>
      </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/>
              </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/>
              </block>
            </block>
          </script>
        </block>
        <block s='doSetVar'>
          <l>i</l>
          <block var='start'/>
        </block>
        <block s='doUntil'>
          <block s='evaluate'>
            <block var='tester'/>
            <list/>
          </block>
          <script>
            <block s='doRun'>
              <block var='action'/>
              <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;' category='operators' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%mult%txt'/>
      </inputs>
      <script>
        <block s='doWarp'>
          <script>
            <block s='doIf'>
              <custom-block s='empty? %l'>
                <block s='reportCDR'>
                  <block var='words'/>
                </block>
              </custom-block>
              <script>
                <block s='doReport'>
                  <block s='reportListItem'>
                    <l>1</l>
                    <block var='words'/>
                  </block>
                </block>
              </script>
            </block>
            <block s='doIf'>
              <block s='reportEquals'>
                <l/>
                <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/>
                <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/>
                  <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.000003' y='196.77778077777774'>
          <block s='reportJoinWords'>
            <list>
              <l/>
              <l/>
            </list>
          </block>
        </script>
      </scripts>
    </block-definition>
    <block-definition s='list $arrowRight sentence %&apos;data&apos;' category='operators' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doWarp'>
          <script>
            <block s='doReport'>
              <custom-block s='join words %mult%txt'>
                <block var='data'/>
              </custom-block>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='sentence $arrowRight list %&apos;text&apos;' category='operators' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%txt'/>
      </inputs>
      <script>
        <block s='doWarp'>
          <script>
            <block s='doReport'>
              <block s='reportTextSplit'>
                <block var='text'/>
                <l>
                  <option>whitespace</option>
                </l>
              </block>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='catch %&apos;tag&apos; %&apos;action&apos;' category='control' type='command'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%upvar'/>
        <input type='%cs'/>
      </inputs>
      <script>
        <block s='doCallCC'>
          <block s='reifyScript'>
            <script>
              <block s='doSetVar'>
                <l>tag</l>
                <block var='cont'/>
              </block>
              <block s='doRun'>
                <block var='action'/>
                <list/>
              </block>
            </script>
            <list>
              <l>cont</l>
            </list>
          </block>
        </block>
        <custom-block s='ignore %s'>
          <l>3</l>
        </custom-block>
      </script>
    </block-definition>
    <block-definition s='throw %&apos;cont&apos;' category='control' type='command'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%s'>catchtag</input>
      </inputs>
      <script>
        <block s='doRun'>
          <block var='cont'/>
          <list/>
        </block>
      </script>
    </block-definition>
    <block-definition s='catch %&apos;tag&apos; %&apos;value&apos;' category='control' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%upvar'/>
        <input type='%anyUE'/>
      </inputs>
      <script>
        <block s='doCallCC'>
          <block s='reifyScript'>
            <script>
              <block s='doSetVar'>
                <l>tag</l>
                <block var='cont'/>
              </block>
              <block s='doReport'>
                <block s='evaluate'>
                  <block var='value'/>
                  <list/>
                </block>
              </block>
            </script>
            <list>
              <l>cont</l>
            </list>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='throw %&apos;tag&apos; %&apos;value&apos;' category='control' type='command'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%s'>catchtag</input>
        <input type='%s'/>
      </inputs>
      <script>
        <block s='doRun'>
          <block var='tag'/>
          <list>
            <block var='value'/>
          </list>
        </block>
      </script>
    </block-definition>
    <block-definition s='for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;' category='lists' type='command'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%upvar'/>
        <input type='%l'/>
        <input type='%cs'/>
      </inputs>
      <script>
        <block s='doUntil'>
          <custom-block s='empty? %l'>
            <block var='data'/>
          </custom-block>
          <script>
            <block s='doSetVar'>
              <l>item</l>
              <block s='reportListItem'>
                <l>1</l>
                <block var='data'/>
              </block>
            </block>
            <block s='doRun'>
              <block var='action'/>
              <list>
                <block s='reportListItem'>
                  <l>1</l>
                  <block var='data'/>
                </block>
              </list>
            </block>
            <block s='doSetVar'>
              <l>data</l>
              <block s='reportCDR'>
                <block var='data'/>
              </block>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0' category='control' type='command'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%boolUE'/>
        <input type='%cs'/>
      </inputs>
      <script>
        <block s='doDeclareVariables'>
          <list>
            <l>breakpoint</l>
          </list>
        </block>
        <block s='doIf'>
          <block s='evaluate'>
            <block var='test'/>
            <list/>
          </block>
          <script>
            <block s='doSetVar'>
              <l>breakpoint</l>
              <block var='test'/>
            </block>
            <block s='doShowVar'>
              <l>breakpoint</l>
            </block>
            <block s='doRun'>
              <block var='action'/>
              <list/>
            </block>
            <block s='doPauseAll'/>
            <block s='doHideVar'>
              <l/>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='word $arrowRight list %&apos;word&apos;' category='operators' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%txt'/>
      </inputs>
      <script>
        <block s='doWarp'>
          <script>
            <block s='doReport'>
              <block s='reportTextSplit'>
                <block var='word'/>
                <l>
                  <option>letter</option>
                </l>
              </block>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition category='control' s='ignore %&apos;x&apos;' type='command'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%s'/>
      </inputs>
    </block-definition>
    <block-definition s='tell %&apos;sprite&apos; to %&apos;action&apos;' category='control' type='command'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%s'>Sprite</input>
        <input type='%cs'/>
      </inputs>
      <script>
        <block s='doRun'>
          <block s='reportAttributeOf'>
            <block var='action'/>
            <block var='sprite'/>
          </block>
          <list/>
        </block>
      </script>
    </block-definition>
    <block-definition s='ask %&apos;sprite&apos; for %&apos;expression&apos;' category='control' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%s'>Sprite</input>
        <input type='%repRing'/>
      </inputs>
      <script>
        <block s='doReport'>
          <block s='evaluate'>
            <block s='reportAttributeOf'>
              <block var='expression'/>
              <block var='sprite'/>
            </block>
            <list/>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='list $arrowRight word %&apos;list&apos;' category='operators' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doWarp'>
          <script>
            <block s='doReport'>
              <block s='reportJoinWords'>
                <block var='list'/>
              </block>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='import words list' category='variables' type='command'>
      <header/>
      <code/>
      <translations/>
      <inputs/>
      <script>
        <block s='doSetVar'>
          <l>words list</l>
          <block s='reportURL'>
            <l>bjc.edc.org/bjc-r/prog/2-complexity/word-puzzle-list.txt</l>
          </block>
        </block>
        <block s='doSetVar'>
          <l>words list</l>
          <block s='reportTextSplit'>
            <block var='words list'/>
            <l>
              <option>line</option>
            </l>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='last letters of %&apos;word&apos; are %&apos;letters&apos; ?' category='operators' type='predicate'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%txt'/>
        <input type='%txt'/>
      </inputs>
      <script>
        <block s='doDeclareVariables'>
          <list>
            <l>lastLetters</l>
            <l>numLastLetters</l>
            <l>numFirstLetters</l>
          </list>
        </block>
        <block s='doSetVar'>
          <l>lastLetters</l>
          <l/>
        </block>
        <block s='doSetVar'>
          <l>numLastLetters</l>
          <block s='reportStringSize'>
            <block var='letters'/>
          </block>
        </block>
        <block s='doSetVar'>
          <l>numFirstLetters</l>
          <block s='reportDifference'>
            <block s='reportStringSize'>
              <block var='word'/>
            </block>
            <block var='numLastLetters'/>
          </block>
        </block>
        <custom-block s='for %upvar = %n to %n %cs'>
          <l>currentLetter</l>
          <l>1</l>
          <block var='numLastLetters'/>
          <script>
            <block s='doSetVar'>
              <l>lastLetters</l>
              <block s='reportJoinWords'>
                <list>
                  <block var='lastLetters'/>
                  <block s='reportLetter'>
                    <block s='reportSum'>
                      <block var='numFirstLetters'/>
                      <block var='currentLetter'/>
                    </block>
                    <block var='word'/>
                  </block>
                </list>
              </block>
            </block>
          </script>
        </custom-block>
        <block s='doReport'>
          <block s='reportIsIdentical'>
            <block var='lastLetters'/>
            <block var='letters'/>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='does %&apos;word&apos; have %&apos;letters in word&apos; letters' category='operators' type='predicate'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%s'/>
        <input type='%n'/>
      </inputs>
      <script>
        <block s='doIfElse'>
          <block s='reportEquals'>
            <block var='letters in word'/>
            <block s='reportStringSize'>
              <block var='word'/>
            </block>
          </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='is letter %&apos;a&apos; of %&apos;b&apos; the letter %&apos;c&apos; ?' category='operators' type='predicate'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%n'/>
        <input type='%s'/>
        <input type='%s'/>
      </inputs>
      <script>
        <block s='doIfElse'>
          <block s='reportEquals'>
            <block var='c'/>
            <block s='reportLetter'>
              <block var='a'/>
              <block var='b'/>
            </block>
          </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>
  </blocks>
  <variables>
    <variable name='words list'>
      <list id='899' struct='atomic'>a,able,about,absence,absent,absorb,absorbent,absorption,abstraction,acceleration,accept,acceptable,acceptance,access,accessible,accessory,accident,accidental,account,accountability,accountable,acid,acidic,across,act,acting,active,actor,add,addition,additional,address,adjacent,adjust,adjustment,adventure,advertisement,advertise,advice,advise,after,afterthought,afterward,again,against,age,agency,agenda,agent,ago,agree,agreeable,agreeableness,agreement,air,airplane,alcohol,algebra,algorithm,all,allow,allowable,allowance,almost,along,also,alternate,alternative,aluminum,always,ambition,ambitious,ammonia,among,amount,amplitude,amusement,an,analog,anchor,and,anesthetic,angle,angry,animal,ankle,another,answer,ant,any,anybody,anyhow,anyone,anything,anywhere,app,apparatus,appendage,apple,application,applicator,apply,approval,approximate,approximation,April,arbitrary,arbitrate,arbitration,arbitrator,arc,arch,area,argue,argument,arithmetic,arm,army,arrange,arrangement,array,art,as,asbestos,ash,asset,assist,assistant,at,attack,attempt,attend,attention,attract,attraction,attractive,attractiveness,august,authoritarian,authoritarianism,authority,autobus,automatic,automobile,average,awake,awkward,axis,baby,back,backbone,backup,backwoods,bad,bag,Bahai’i,balance,balcony,bale,ball,ballet,band,bandwidth,bang,bank,bankrupt,bar,bark,barrel,base,based,basin,basing,basket,bath,be,beak,beaker,beard,beat,beautiful,because,become,bed,bedroom,bee,beef,beer,beeswax,before,behavior,behind,belief,believability,believable,believe,bell,belt,bent,berry,bet,between,bill,billion,binary,biological,biology,biome,bird,birefringence,birth,birthday,birthright,bit,bite,bitmap,bitter,black,blackberry,blackbird,blackboard,blade,blame,blanket,blog,blogger,blood,bloodvessel,blow,blue,bluebell,board,boat,body,boiling,bomb,bone,book,bookkeeper,bookmark,boot,both,bottle,bottom,box,boy,brain,brake,branch,brass,brave,bread,break,breakfast,breast,breath,brick,bridge,bright,broadband,broken,broker,brother,brown,browser,brush,brushwood,bubble,bucket,bud,Buddhist,budget,buffer,bug,builder,building,bulb,bunch,buoyancy,burial,burn,burned,burner,burning,burst,bus,business,busy,but,butter,buttercup,button,by,byte,cache,cafe,cake,calculation,calendar,call,camera,canvas,capacity,capital,captcha,card,cardboard,care,carefree,caretaker,carpet,carriage,cart,carter,cartilage,case,cast,cat,catarrh,catholic,cause,cave,cavity,CD,cell,cent,center,centered,centiliter,centimeter,centipede,central,centralized,centrifugal,centrifuge,centripetal,ceremonial,ceremonious,ceremony,certain,certainly,certainty,certificate,certification,certify,chain,chained,chair,chalk,chalky,champagne,chance,chancy,change,character,characteristic,characteristically,characterize,characterizing,charge,charging,chauffeur,cheap,cheaper,cheapest,cheaply,check,checker,checkered,cheese,cheesy,chemical,chemically,chemist,chemistry,chest,chief,chiefly,child,childlike,children,chimney,chin,china,chocolate,choice,choir,choral,chorus,Christian,church,cigarette,circle,circuit,circular,circulation,circumference,circus,citron,civilization,claim,claw,clay,clean,cleaner,cleanest,clear,clever,client,climber,clip,clock,clockwork,cloth,clothier,clothing,cloud,club,coal,coat,cocktail,code,coffee,cognac,cognition,cognizant,coil,cold,collar,collect,collected,collection,college,collegial,collegiate,collision,colony,color,column,comb,combination,combine,come,comfort,comfortable,command,commit,commitment,committee,common,commonsense,communications,company,comparison,competition,compile,complaint,complete,complex,component,compound,compress,computer,concept,concrete,condition,conductor,configure,congruent,connection,conscious,conservation,consignment,constant,consumer,continuous,contour,control,convenient,conversion,cook,cooked,cooker,cookie,cooking,cool,copper,copy,copyright,cord,cork,corner,correlation,corrosion,cost,cotton,cough,country,court,cover,cow,CPU ,crack,credible,credit,creeper,crime,crop,cross,cruel,crush,cry,crying,cunning,cup,cupboard,current,curtain,curve,cushion,cusp,customs,cut,cyberbullying,cybercrime,cyberspace,cyberwarfare,damage,damping,dance,dancer,dancing,danger,dark,darken,darker,dashboard,data,database,date,daughter,day,daylight,dead,dear,death,debit,debt,debug,decade,December,decidable,decide,decimal,decimate,decimated,decimation,decimeter,decision,deck,decompress,decrease,deep,defect,defective,deficiency,deflate,deflation,degenerate,degeneration,degenerative,degree,delete,delicate,delicately,deliver,deliverance,delivery,demand,demanding,denomination,denominator,dense,densitometer,density,department,depend,dependability,dependable,dependably,dependent,deposit,desert,deserted,design,designer,desirability,desirable,desire,desirous,desktop,destroy,destructible,destruction,detail,determinant,determine,determining,develop,developed,developer,development,dew,diameter,diametric,difference,different,difficulty,digest,digestible,digestion,digit,digital,dike,dilution,dinner,dip,direct,direction,dirt,dirty,disagree,disagreeable,disagreement,disappear,disappearance,discharge,discount,discover,discovery,discuss,discussion,disease,diseased,disgrace,disgraced,disgust,disgusted,disk,dislike,dissipated,dissipation,distance,distant,distantly,distribute,distributed,distribution,distributive,disturb,disturbance,ditch,dive,divide,divided,division,divisive,divisor,divorce,divorced,DNS,do,dog,doll,domain,domestic,domesticate,domesticated,domesticating,dominion,door,dot,doubt,doubtful,down,downfall,download,downpour,downy,drag,drain,draw,drawer,dread,dreadful,dream,dreamy,dress,dressing,dressy,drift,drifter,drink,drive,driven,driver,driving,drop,dropped,dropper,dry,duct,dull,dust,duster,dusty,dutiful,duty,DVD,dynamic,dynamite,dynamo,each,ear,early,earring,earth,earthly,ease,east,Easter,easterly,eastern,easy,ecology,ecological,economic,economical,economics,economize,economy,edge,edgy,educate,educated,education,effect,effective,efficiency,effort,egg,eight,eighty,either,elastic,electric,electrical,electricity,eleven,eliminate,elimination,email,embassy,emoticon,empire,employ,employed,employer,empty,encrypt,encryption,encyclopedia,encyclopedic,end,ending,enemy,engine,engineer,engineering,enough,enter,enumerate,envelope,environment,environmental,envy,equal,equate,equation,eradicate,erosion,error,erupt,eruption,evaporate,evaporation,even,evening,event,ever,evergreen,every,everybody,everyday,everyone,everything,everywhere,exact,exacting,example,except,exception,exceptional,exceptionality,exchange,excitable,excite,excited,excitement,exclude,exercise,exfoliate,exfoliation,exhale,exist,existence,expand,expansion,experience,experiment,experimental,expert,explanation,explosion,export,expression,extinction,eye,eyeball,eyebrow,eyelash,face,fact,factor,fail,failure,fair,fall,fallen,false,falsify,family,famous,fan,far,farm,farmer,fast,fasted,fasten,fastener,fastening,fat,father,fathered,fatherland,fault,fear,fearful,feather,February,feeble,feel,feeling,female,ferment,fertile,fertilize,fertilizer,fertilizing,fever,feverish,fiber,fiction,field,fifteen,fifth,fifty,fight,figure,file,fin,finance,financial,finder,finger,fingerprint,fire,firearm,fired,firefly,fireman,fireplace,firewall,firework,firing,firmware,first,fish,fisher,fisherman,five,fix,fixed,fixture,flag,flame,flaming,flash,flask,flat,flesh,flight,flint,flood,flooded,floor,flour,flow,flowchart,flower,fly,focus,fold,folder,foliate,foliation,font,food,fool,foolish,foot,football,footlights,footman,footnote,footprint,footstep,for,force,forecast,forehead,foreign,foreigner,forget,forgettable,forgivable,forgive,forgiveness,fork,form,format,forty,forward,four,fourteen,fourth,fowl,fraction,fractional,fracture,frame,free,freeware,frequent,frequently,fresh,friction,Friday,friend,from,front,frost,frozen,fruit,full,fume,fumigate,funnel,funny,fur,furnace,furnish,furniture,fuse,fusion,future,garden,gardener,gas,gassy,gasworks,gate,general,generate,generated,generation,geography,geology,geometry,germ,germinate,germinated,germination,get,gigabyte,gill,girl,give,glacier,gland,glass,glove,glycerin,go,goat,god,gold,golden,goldenrod,goldfish,good,goodly,goodnight,goods,govern,government,governor,grain,gram,grand,graphics,grass,grateful,grating,gravel,gray,grease,great,green,grief,grip,grocery,groove,gross,ground,group,growth,guarantee,guard,guess,guide,gum,gun,gunboat,gunpowder,guns,habit,hack,hacker,hair,half,hammer,hand,handbook,handkerchief,handle,handwriting,hanger,hanging,happy,harbor,hard,hardware,harmony,hat,hate,have,he,head,headland,headstone,headway,healthy,hearing,heart,heat,heated,heater,heating,heavy,hedge,help,here,hereafter,herewith,hexadecimal,hexagon,hexapod,high,highlands,highway,hill,himself,hinge,hire,hiss,history,hold,hole,holiday,hollow,home,honest,honey,hoof,hook,hope,horn,horse,horseplay,horsepower,hospital,host,hotel,hour,hourglass,house,houseboat,housekeeper,how,however,html,huge,human,humor,hundred,hunt,hurry,hurt,husband,hyena,hygiene,hygienic,hyperlink,hypertext,hysteria,hysterical,I,ice,icon,icy,idea,if,igneous,ill,image,imagination,imaginative,imaginatively,imagine,imbalance,imperial,import,important,importantly,impractical,impulse,impulsive,impulsively,impure,impurity,in,inbox,include,inclusion,income,increase,increasing,incredible,indecision,independent,indestructible,indeterminate,index,indigestible,indigestion,individual,indoors,induct,industry,ineffective,inferno,infinity,inflate,inflation,influenza,infrequently,inhalation,inhale,inhaler,inheritance,ink,inland,inlet,inner,innocent,input,insect,inspect,inspection,inside,instep,institute,institution,instrument,insulate,insulator,insure,insurance,integer,integral,intelligent,intercept,interception,interest,interface,interim,intern,internal,international,Internet,interpret,interpretation,intersect,intersection,into,intrude,intrusion,invent,invention,inverse,invert,investigate,investigation,invest,investment,invite,invitation,IP ,iron,irrational,irrationality,island,iteration,itself,Jain,jam,January,Java,JavaScript,jaw,jazz,jealous,jelly,jerk,jewel,jeweler,Jewish,join,joiner,joint,journey,joystick,judge,jug,juice,July,jump,June,jury,justice,keep,keeper,kennel,kernel,kettle,key,keyboard,keyword,kick,kidney,kilobyte,kilogram,kilometer,kind,king,kiss,kitchen,knee,knife,knock,knot,knowledge,lace,lag,lake,lame,lamp,land,landmark,landslip,language,laptop,large,last,late,latitude,laugh,laughing,lava,law,lawyer,layer,lazy,lead,leaf,learner,learning,least,leather,lecture,left,leg,legal,length,lens,less,lesson,let,letter,level,lever,liability,librarian,library,license,lid,life,lift,light,lighthouse,like,lime,limestone,limit,line,linen,link,lip,liqueur,liquid,list,liter,little,liver,living,load,loan,local,lock,locker,locking,locks,locus,logout,logic,login,long,longitude,look,looking,loose,loss,loud,love,low,luck,lump,lunch,lung,lurking,macaroni,machine,macro,magic,magnetic,magnitude,mainframe,major,majority,make,malaria,male,malware,man,manager,manhole,mania,manner,many,map,marble,march,margin,mark,marked,market,marriage,marriageable,married,mass,mast,match,material,mathematics,mattress,mature,May,may,me,meal,mean,meaning,measure,meat,media,medic,medical,medication,medicinal,medicine,medium,meeting,megabyte,melt,member,memory,meow,mess,message,metabolism,metal,meter,microbe,microbial,microbiology,microbiome,microcomputer,microeconomics,microphone,microscope,middle,militant,militaristic,military,militia,milk,mill,milliliter,millimeter,million,millipede,millisecond,mind,mindful,mindfully,mine,miner,mineral,minor,minority,minute,minutia,mirror,mist,mix,mixed,mixture,model,modem,modern,modernist,modest,modestly,moment,momentum,Monday,money,monitor,monkey,monopole,monopoly,month,monthly,mood,moody,moon,moral,morality,moralize,more,morning,most,mother,motherboard,motion,mountain,mourn,mourning,mouse,moustache,mouth,move,movement,much,mud,multimedia,multiple,multiplication,multiply,murder,muscle,musclebound,muscular,museum,music,musical,musician,Muslim,myself,nail,name,nanosecond,narrow,nasty,nation,natural,nature,naval,navigate,navigation,navigational,navy,near,nearer,neat,necessary,neck,need,needle,neglect,neglectful,neighbor,nerve,nervous,nest,net,network,neutron,new,news,newspaper,next,nice,nickel,nicotine,night,nightly,nine,no,nobody,node,noise,noisy,norm,normal,normality,north,nose,nostril,not,notable,note,noted,noteworthiness,noteworthy,nothing,November,now,nowhere,nucleus,number,numeration,numerator,nurse,nut,obedient,obey,observant,observation,observe,observer,octagon,octahedron,octal,octane,October,octopus,of,off,offer,offering,office,officer,offline,offspring,oil,old,olive,omelet,on,once,oncoming,one,oneself,online,onlooker,only,onto,open,open source,opera,operatic,operation,opinion,opium,oppose,opposite,opposition,option,or,orange,orchestra,order,ore,organ,organism,organization,organize,organizer,origin,ornament,ornamental,orthodox,OS,other,out,outburst,outcome,outcrop,outcry,outdoor,outer,outgoing,outhouse,outlaw,outlet,outlier,outline,outlook,output,outside,outskirts,outstretched,oval,oven,over,overacting,overall,overbalancing,overbearing,overcoat,overcome,overdo,overdressed,overfull,overhanging,overhead,overland,overlap,overleaf,overloud,overseas,overseer,overshoe,overstatement,overtake,overtaxed,overtime,overturned,overuse,overvalued,overweight,overworking,own,owner,oxidation,packing,pad,page,pain,paint,painter,painting,pair,pajamas,pan,paper,paradise,paraffin,paragraph,parallel,parcel,parent,park,part,particle,parting,partner,party,passage,passport,password,past,paste,patent,path,patience,payment,peace,pedal,pedant,pedantic,pen,pencil,pendulum,penguin,pension,people,perfect,person,petal,petroleum,phishing,phonograph,physical,physics,physiology,piano,picture,pig,pin,pincushion,pipe,piracy,pirate,piston,place,plain,plan,plane,plant,plaster,plate,platform,platinum,play,played,playing,plaything,please,pleased,pleasing,pleasure,plough,plow,plug,pocket,podcast,poetry,point,pointed,pointer,pointing,pointy,poison,poisoned,poisonous,police,policeman,polish,polished,political,politician,politics,pollen,pool,poor,population,porcelain,portal,porter,position,possible,post,poster,postman,postmark,postmaster,postoffice,pot,potato,pots,potter,powder,power,powered,powerful,practical,practically,practice,practicing,praise,praiseworthy,prayer,present,president,pressure,price,prick,priest,prime,prince,princess,print,printer,prison,prisoner,privacy,private,probability,probable,procedure,process,produce,producer,product,profit,program,programmer,progress,project,projected,projectile,projection,promise,promising,proof,propaganda,propagandistic,proper,property,proprietary,prose,protest,protestant,protocol,proud,proximal,proxy,psychology,public,pull,pulley,pump,punishment,pupil,purchase,pure,purpose,purr,push,put,pyramid,quack,qualifications,qualify,quality,quantifiable,quantify,quantity,quarter,queen,question,questionable,queue,quick,quicken,quiet,quinine,quite,quotient,race,radiate,radiation,radiator,radical,radio,radium,radius,rail,rain,raining,RAM ,range,rat,rate,ratio,ration,rational,rationalization,rationalize,ray,react,reaction,reactionary,reactive,read,reader,reading,ready,reagent,real,reality,realization,realize,reason,reasonable,reboot,receipt,receive,receiver,reciprocal,reciprocate,reciprocity,record,recording,rectangle,recur,recurring,recursion,recursive,red,refer,reference,referendum,referral,reflux,regret,regrettable,regular,reinforce,reinforcement,relation,relative,religion,remark,remedy,rent,repair,representative,reproduction,repulsion,request,residue,resistance,resolution,respect,responsible,rest,restaurant,restore,result,retail,revenge,reversible,reward,rheumatism,rhythm,rice,rich,right,rigidity,ring,rise,rival,river,road,rock,rod,roll,roller,ROM ,roof,room,root,rot,rotation,rough,round,router,royal,rub,rubber,rude,rule,ruler,rum,run,runaway,runtime,rust,sac,sad,safe,sail,sailor,salad,sale,salt,same,sample,sand,sardine,satisfaction,satisfactory,satisfy,saturate,saturated,Saturday,saucer,save,saving,say,saying,scalable,scale,scan,scanner,school,science,scientific,scientist,scissors,scratch,screen,screenshot,screw,script,scroll,sea,seal,search ,seat,second,secondhand,secret,secretary,secretion,section,security,sedimentary,see,seed,seem,seemingly,selection,self,selfish,send,sense,sensitive,sensitivity,sentence,sepal,separate,September,sequence,sequencing,sequential,serious,serum,servant,server,service,set,seven,sex,shade,shadow,shake,shale,shame,share,shareware,sharp,shave,shear,sheep,sheet,shelf,shell,shift,ship,shirt,shock,shocked,shocking,shoe,shore,short,shorthand,shoulder,show,shut,side,sideboard,sidewalk,sight,sign,silk,sill,silver,similarity,simple,since,sir,sister,six,sixteen,size,skin,skirt,skull,sky,slate,sleep,sleeve,slide,slip,slope,slow,small,smash,smell,smile,smoke,smooth,snake,snapshot,sneeze,snow,snowing,so,soap,social,society,sock,soft,software,soil,soldier,solid,solution,solvent,some,somebody,someday,somehow,someone,something,sometime,somewhat,somewhere,son,song,sorry,sort,sound,soup,south,space,spade,spam,spammer,spark,special,specialization,specimen,speculation,spirit,spit,splash,sponge,spoon,sport,spot,spreadsheet,spring,spyware,square,stable,stage,stain,stair,stalk,stamen,stamp,star,start,statement,station,statistics,status bar,steady,steam,steamer,steel,stem,step,stick,sticky,stiff,still,stimulus,stitch,stocking,stomach,stone,stop,stopper,stopping,storage,store,storm,story,straight,strain,strange,straw,stream,street,strength,stress,stretch,stretcher,strike,string,strong,structure,study,subject,substance,substitute,substitution,subtract,subtraction,success,successive,such,sudden,sugar,suggestion,sum,summer,sun,sunburn,Sunday,sunlight,sunshade,supercomputer,supply,support,surf,surface,surgeon,surprise,suspension,suspicious,sweet,sweetheart,swelling,swim,swing,switch,sympathetic,syntax,system,table,tag,tail,tailor,take,talk,talkative,talkativeness,tall,tame,tap,tapioca,taste,tax,taxi,tea,teacher,teaching,tear,telegram,telephone,template,ten,tendency,tent,terabyte,term,terminal,terrace,test,texture,than,that,the,theater,then,theory,there,thermometer,thick,thickness,thief,thimble,thin,thing,third,thirteen,thirty,this,thorax,though,thought,thousand,thread,threat,three,throat,through,thrust,thumb,thunder,thursday,ticket,tide,tie,tight,till,time,tin,tired,tissue,to,toast,tobacco,today,toe,together,tomorrow,tongs,tongue,tonight,too,toolbar,tooth,top,torpedo,total,touch,touching,towel,tower,towering,town,trade,trader,tradesman,traffic,tragedy,train,trainer,training,transmission,transmit,transmitter,transparent,transport,transportation,trap,trash,travel,tray,treatment,tree,triangle,trick,trouble,troubled,troubling,trousers,truck,true,tube,Tuesday,tune,tunnel,turbine,turn,twelve,twenty,twenty-one,twice,twin,twist,two,typeface,typist,ugly,umbrella,unacceptable,unbelievability,unbelievable,uncertain,unconformity,undependable,under,underclothing,undercooked,undergo,undergrowth,undermined,undersigned,undersized,understanding,understatement,undertake,undervalued,undo,undone,uneconomical,uneducated,unforgettable,unforgivable,unhygienic,unknown,unimaginatively,unwitting,unwittingly,unit,universe,university,Unix,unknown,unreal,unreasonable,up,upkeep,uplift,upload,upon,upright,uptake,URL,use,used,user,username,utility,valley,valuable,value,valve,vanilla,vapor,variable,vascular,vegetable,velocity,verse,version,very,vessel,vestigial,victim,victory,view,viewpoint,violent,violin,virtual,virus,visa,vitamin,vodka,voice,volt,volume,vortex,vote,waiter,waiting,walk,wall,war,warm,wash,waste,wasted,watch,water,waterfall,wave,wax,way,weak,weather,web,webmaster,website,wedge,Wednesday,week,weekend,weight,welcome,well,west,wet,what,whatever,wheel,when,whenever,where,whereas,whereby,wherever,whether,which,whichever,while,whip,whisky,whistle,white,whitewash,who,whoever,wholesale,why,wide,widget,widow,wife,wiki,wild,will,wind,window,windpipe,wine,wing,winter,wire,wireless,wise,with,within,without,woman,wood,woodwork,wool,word,work,worker,workhouse,working,workstation,world,worm,wound,wreck,wrist,writer,writing,wrong,WWW,XML,xray,yawn,year,yearbook,yellow,yes,yesterday,you,young,yourself,zebra,zinc,zip,zoo,zookeeper,zoological,zoology,</list>
    </variable>
  </variables>
</project><media name="U2L3-WordPuzzleSolver" app="Snap! 5.1, http://snap.berkeley.edu" version="1"></media></snapdata>