// Path: src/VASL/build/module/map/ASLSpacerBoards.java
// public class ASLSpacerBoards {
//   private final static List<String> spacerBoards = Arrays.asList("bdNUL", "bdNULV");
// 
//   public static boolean isSpacerBoard(final String boardName) {
//     return spacerBoards.contains(boardName);
//   }
// }


import VASL.build.module.map.ASLSpacerBoards;
import VASSAL.build.module.Map;
import VASSAL.build.module.map.boardPicker.Board;
import VASSAL.build.widget.PieceSlot;
import VASSAL.counters.Embellishment;
import VASSAL.counters.GamePiece;
import VASSAL.counters.Properties;
import VASSAL.i18n.Resources;
import java.awt.*;
import java.awt.geom.AffineTransform;
import java.awt.geom.Area;
              .createTransformedShape(getBoardClip(obs)));
          area.intersect(boardArea);
          g.drawRect(area.getBounds().x,area.getBounds().y, area.getBounds().width, area.getBounds().height);

        }
        if (i < imagePainter.length && imagePainter[i] != null) {
          final Rectangle r = getCurrentImageBounds();

          imagePainter[i].draw(g, x + (int)(zoom * r.x), y + (int)(zoom * r.y), zoom, obs);
        }

        if (drawUnder) {
          //piece.draw(g, x, y, obs, zoom);
        }
      } else {
        super.draw(g,x,y,obs,zoom);
      }
    } else {
      super.draw(g,x,y,obs,zoom);
    }

  }
  private Area getBoardClip(final Component obs) {
    Area boardClip = null;
    if (this.getMap() != null) {
      Map map = getMap();
      if (map != null) {
          boardClip = new Area();
          for (final Board b : getMap().getBoards()) {
            final String boardName = b.getName();
// Path: src/VASL/build/module/map/ASLSpacerBoards.java
// public class ASLSpacerBoards {
//   private final static List<String> spacerBoards = Arrays.asList("bdNUL", "bdNULV");
// 
//   public static boolean isSpacerBoard(final String boardName) {
//     return spacerBoards.contains(boardName);
//   }
// }


// Path: src/VASL/counters/ASLOverlayEmbellishment.java
import VASL.build.module.map.ASLSpacerBoards;
import VASSAL.build.module.Map;
import VASSAL.build.module.map.boardPicker.Board;
import VASSAL.build.widget.PieceSlot;
import VASSAL.counters.Embellishment;
import VASSAL.counters.GamePiece;
import VASSAL.counters.Properties;
import VASSAL.i18n.Resources;
import java.awt.*;
import java.awt.geom.AffineTransform;
import java.awt.geom.Area;

              .createTransformedShape(getBoardClip(obs)));
          area.intersect(boardArea);
          g.drawRect(area.getBounds().x,area.getBounds().y, area.getBounds().width, area.getBounds().height);

        }
        if (i < imagePainter.length && imagePainter[i] != null) {
          final Rectangle r = getCurrentImageBounds();

          imagePainter[i].draw(g, x + (int)(zoom * r.x), y + (int)(zoom * r.y), zoom, obs);
        }

        if (drawUnder) {
          //piece.draw(g, x, y, obs, zoom);
        }
      } else {
        super.draw(g,x,y,obs,zoom);
      }
    } else {
      super.draw(g,x,y,obs,zoom);
    }

  }
  private Area getBoardClip(final Component obs) {
    Area boardClip = null;
    if (this.getMap() != null) {
      Map map = getMap();
      if (map != null) {
          boardClip = new Area();
          for (final Board b : getMap().getBoards()) {
            final String boardName = b.getName();
            if (!ASLSpacerBoards.isSpacerBoard(boardName)) {