// 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.documentation.HelpFile;
import VASSAL.build.module.map.boardPicker.Board;
import VASSAL.command.Command;
import VASSAL.counters.*;
import VASSAL.tools.SequenceEncoder;
import VASSAL.tools.imageop.ScaledImagePainter;
import javax.swing.*;
import java.awt.*;
import java.awt.geom.Area;
      imageBounds = getInner().boundingBox();
    }
    imageBounds = imageBounds.intersection(boardArea.getBounds());

    scaledImagePainter.draw(g, x + (int) (zoom * imageBounds.x), y + (int) (zoom * imageBounds.y), zoom, obs);
  }

  @Override
  public Rectangle boundingBox() {
    return getInner().boundingBox();
  }

  @Override
  public Shape getShape() {
    return getInner().getShape();
  }

  @Override
  public String getName() {
    return getInner().getName();
  }

  private Area getBoardClip(final Component obs) {
    if (this.getMap() != null) {
      Map map = getMap();
      if (map != null) {
        if (boardClip == 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/ASLOverlayCounter.java
import VASL.build.module.map.ASLSpacerBoards;
import VASSAL.build.module.Map;
import VASSAL.build.module.documentation.HelpFile;
import VASSAL.build.module.map.boardPicker.Board;
import VASSAL.command.Command;
import VASSAL.counters.*;
import VASSAL.tools.SequenceEncoder;
import VASSAL.tools.imageop.ScaledImagePainter;
import javax.swing.*;
import java.awt.*;
import java.awt.geom.Area;

      imageBounds = getInner().boundingBox();
    }
    imageBounds = imageBounds.intersection(boardArea.getBounds());

    scaledImagePainter.draw(g, x + (int) (zoom * imageBounds.x), y + (int) (zoom * imageBounds.y), zoom, obs);
  }

  @Override
  public Rectangle boundingBox() {
    return getInner().boundingBox();
  }

  @Override
  public Shape getShape() {
    return getInner().getShape();
  }

  @Override
  public String getName() {
    return getInner().getName();
  }

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