Convert to modular Java.
authorNot Zed <notzed@gmail.com>
Mon, 27 Feb 2023 23:53:46 +0000 (10:23 +1030)
committerNot Zed <notzed@gmail.com>
Mon, 27 Feb 2023 23:53:46 +0000 (10:23 +1030)
206 files changed:
.gitignore
COPYING [moved from DuskZ/COPYING with 100% similarity]
COPYING.GPLv2 [moved from DuskZ/COPYING.GPLv2 with 100% similarity]
DuskCommon/COPYING [deleted file]
DuskCommon/README [deleted file]
DuskCommon/build.xml [deleted file]
DuskCommon/nbproject/build-impl.xml [deleted file]
DuskCommon/nbproject/genfiles.properties [deleted file]
DuskCommon/nbproject/project.properties [deleted file]
DuskCommon/nbproject/project.xml [deleted file]
DuskServer/COPYING [deleted file]
DuskServer/CommandsWork.java [deleted file]
DuskServer/README [deleted file]
DuskServer/build.xml [deleted file]
DuskServer/manifest.mf [deleted file]
DuskServer/nbproject/build-impl.xml [deleted file]
DuskServer/nbproject/genfiles.properties [deleted file]
DuskServer/nbproject/project.properties [deleted file]
DuskServer/nbproject/project.xml [deleted file]
DuskZ/README [deleted file]
DuskZ/build.xml [deleted file]
DuskZ/manifest.mf [deleted file]
DuskZ/nbproject/build-impl.xml [deleted file]
DuskZ/nbproject/configs/Run_as_WebStart.properties [deleted file]
DuskZ/nbproject/configs/Run_in_Browser.properties [deleted file]
DuskZ/nbproject/genfiles.properties [deleted file]
DuskZ/nbproject/jfx-impl.xml [deleted file]
DuskZ/nbproject/project.properties [deleted file]
DuskZ/nbproject/project.xml [deleted file]
Makefile
README
TODO [moved from DuskServer/TODO with 100% similarity]
TileZ/COPYING [deleted file]
TileZ/README [deleted file]
TileZ/build.xml [deleted file]
TileZ/manifest.mf [deleted file]
TileZ/nbproject/build-impl.xml [deleted file]
TileZ/nbproject/configs/Run_as_WebStart.properties [deleted file]
TileZ/nbproject/configs/Run_in_Browser.properties [deleted file]
TileZ/nbproject/genfiles.properties [deleted file]
TileZ/nbproject/jfx-impl.xml [deleted file]
TileZ/nbproject/project.properties [deleted file]
TileZ/nbproject/project.xml [deleted file]
config.make.in [new file with mode: 0644]
docs/dusk-script [moved from DuskServer/docs/dusk-script with 100% similarity]
docs/duskz-classes [moved from DuskServer/docs/duskz-classes with 100% similarity]
docs/duskz-javascript [moved from DuskServer/docs/duskz-javascript with 100% similarity]
docs/duskz-multimap [moved from DuskServer/docs/duskz-multimap with 100% similarity]
docs/duskz-script [moved from DuskServer/docs/duskz-script with 100% similarity]
docs/duskz-state [moved from DuskServer/docs/duskz-state with 100% similarity]
java.make [new file with mode: 0644]
nbproject/build-impl.xml [new file with mode: 0644]
nbproject/genfiles.properties [new file with mode: 0644]
nbproject/project.properties [new file with mode: 0644]
nbproject/project.xml [new file with mode: 0644]
src/duskz.client/classes/duskz/client/Bookmarks.java [moved from DuskZ/src/duskz/client/Bookmarks.java with 100% similarity]
src/duskz.client/classes/duskz/client/ClientMap.java [moved from DuskZ/src/duskz/client/ClientMap.java with 100% similarity]
src/duskz.client/classes/duskz/client/DataManager.java [moved from DuskZ/src/duskz/client/DataManager.java with 100% similarity]
src/duskz.client/classes/duskz/client/Direction.java [moved from DuskZ/src/duskz/client/Direction.java with 100% similarity]
src/duskz.client/classes/duskz/client/Dusk.java [moved from DuskZ/src/duskz/client/Dusk.java with 100% similarity]
src/duskz.client/classes/duskz/client/Entity.java [moved from DuskZ/src/duskz/client/Entity.java with 100% similarity]
src/duskz.client/classes/duskz/client/Equipment.java [moved from DuskZ/src/duskz/client/Equipment.java with 100% similarity]
src/duskz.client/classes/duskz/client/GUI.java [moved from DuskZ/src/duskz/client/GUI.java with 100% similarity]
src/duskz.client/classes/duskz/client/Status.java [moved from DuskZ/src/duskz/client/Status.java with 100% similarity]
src/duskz.client/classes/duskz/client/fx/DataManagerFX.java [moved from DuskZ/src/duskz/client/fx/DataManagerFX.java with 100% similarity]
src/duskz.client/classes/duskz/client/fx/DuskFX.java [moved from DuskZ/src/duskz/client/fx/DuskFX.java with 100% similarity]
src/duskz.client/classes/duskz/client/fx/EquipmentPane.java [moved from DuskZ/src/duskz/client/fx/EquipmentPane.java with 100% similarity]
src/duskz.client/classes/duskz/client/fx/MainFrameFX.java [moved from DuskZ/src/duskz/client/fx/MainFrameFX.java with 100% similarity]
src/duskz.client/classes/duskz/client/fx/TileAnimator.java [moved from DuskZ/src/duskz/client/fx/TileAnimator.java with 100% similarity]
src/duskz.client/classes/duskz/client/fx/TransactionPane.java [moved from DuskZ/src/duskz/client/fx/TransactionPane.java with 100% similarity]
src/duskz.client/classes/duskz/client/fx/style.css [moved from DuskZ/src/duskz/client/fx/style.css with 100% similarity]
src/duskz.client/classes/jfxtras/animation/Timer.java [moved from DuskZ/src/jfxtras/animation/Timer.java with 100% similarity]
src/duskz.client/classes/jfxtras/css/CssMetaDataForSkinProperty.java [moved from DuskZ/src/jfxtras/css/CssMetaDataForSkinProperty.java with 100% similarity]
src/duskz.client/classes/jfxtras/internal/scene/control/skin/ListSpinnerSkin.java [moved from DuskZ/src/jfxtras/internal/scene/control/skin/ListSpinnerSkin.java with 100% similarity]
src/duskz.client/classes/jfxtras/scene/control/ListSpinner.java [moved from DuskZ/src/jfxtras/scene/control/ListSpinner.java with 100% similarity]
src/duskz.client/classes/jfxtras/scene/control/ListSpinnerBigIntegerList.java [moved from DuskZ/src/jfxtras/scene/control/ListSpinnerBigIntegerList.java with 100% similarity]
src/duskz.client/classes/jfxtras/scene/control/ListSpinnerIntegerList.java [moved from DuskZ/src/jfxtras/scene/control/ListSpinnerIntegerList.java with 100% similarity]
src/duskz.client/classes/jfxtras/scene/layout/GenericLayoutConstraints.java [moved from DuskZ/src/jfxtras/scene/layout/GenericLayoutConstraints.java with 100% similarity]
src/duskz.client/classes/jfxtras/scene/layout/HBox.java [moved from DuskZ/src/jfxtras/scene/layout/HBox.java with 100% similarity]
src/duskz.client/classes/jfxtras/scene/layout/VBox.java [moved from DuskZ/src/jfxtras/scene/layout/VBox.java with 100% similarity]
src/duskz.client/classes/jfxtras/util/NodeUtil.java [moved from DuskZ/src/jfxtras/util/NodeUtil.java with 100% similarity]
src/duskz.client/classes/module-info.java [new file with mode: 0644]
src/duskz.common/classes/duskz/protocol/DuskMessage.java [moved from DuskCommon/src/duskz/protocol/DuskMessage.java with 100% similarity]
src/duskz.common/classes/duskz/protocol/DuskProtocol.java [moved from DuskCommon/src/duskz/protocol/DuskProtocol.java with 100% similarity]
src/duskz.common/classes/duskz/protocol/EntityListMessage.java [moved from DuskCommon/src/duskz/protocol/EntityListMessage.java with 100% similarity]
src/duskz.common/classes/duskz/protocol/EntityUpdateMessage.java [moved from DuskCommon/src/duskz/protocol/EntityUpdateMessage.java with 100% similarity]
src/duskz.common/classes/duskz/protocol/ListMessage.java [moved from DuskCommon/src/duskz/protocol/ListMessage.java with 100% similarity]
src/duskz.common/classes/duskz/protocol/MapMessage.java [moved from DuskCommon/src/duskz/protocol/MapMessage.java with 100% similarity]
src/duskz.common/classes/duskz/protocol/TransactionItem.java [moved from DuskCommon/src/duskz/protocol/TransactionItem.java with 100% similarity]
src/duskz.common/classes/duskz/protocol/TransactionMessage.java [moved from DuskCommon/src/duskz/protocol/TransactionMessage.java with 100% similarity]
src/duskz.common/classes/duskz/protocol/Wearing.java [moved from DuskCommon/src/duskz/protocol/Wearing.java with 100% similarity]
src/duskz.common/classes/duskz/util/Debug.java [moved from DuskCommon/src/duskz/util/Debug.java with 100% similarity]
src/duskz.common/classes/duskz/util/Maths.java [moved from DuskCommon/src/duskz/util/Maths.java with 100% similarity]
src/duskz.common/classes/module-info.java [new file with mode: 0644]
src/duskz.editor/classes/au/notzed/tilez/DuskInfoView.java [moved from TileZ/src/au/notzed/tilez/DuskInfoView.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/LocationEditor.java [moved from TileZ/src/au/notzed/tilez/LocationEditor.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/MapLayer.java [moved from TileZ/src/au/notzed/tilez/MapLayer.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/MapSelectionModel.java [moved from TileZ/src/au/notzed/tilez/MapSelectionModel.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/MapView.java [moved from TileZ/src/au/notzed/tilez/MapView.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/TZ.java [moved from TileZ/src/au/notzed/tilez/TZ.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/TextEditor.java [moved from TileZ/src/au/notzed/tilez/TextEditor.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/TileView.java [moved from TileZ/src/au/notzed/tilez/TileView.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/TileZ.java [moved from TileZ/src/au/notzed/tilez/TileZ.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/io/Data.java [moved from TileZ/src/au/notzed/tilez/io/Data.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/io/Image.java [moved from TileZ/src/au/notzed/tilez/io/Image.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/io/Layer.java [moved from TileZ/src/au/notzed/tilez/io/Layer.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/io/Map.java [moved from TileZ/src/au/notzed/tilez/io/Map.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/io/Object.java [moved from TileZ/src/au/notzed/tilez/io/Object.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/io/ObjectFactory.java [moved from TileZ/src/au/notzed/tilez/io/ObjectFactory.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/io/Objectgroup.java [moved from TileZ/src/au/notzed/tilez/io/Objectgroup.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/io/Properties.java [moved from TileZ/src/au/notzed/tilez/io/Properties.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/io/Property.java [moved from TileZ/src/au/notzed/tilez/io/Property.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/io/Tile.java [moved from TileZ/src/au/notzed/tilez/io/Tile.java with 100% similarity]
src/duskz.editor/classes/au/notzed/tilez/io/Tileset.java [moved from TileZ/src/au/notzed/tilez/io/Tileset.java with 100% similarity]
src/duskz.server/classes/au/notzed/duskz/util/BCrypt.java [moved from DuskServer/src/au/notzed/duskz/util/BCrypt.java with 100% similarity]
src/duskz.server/classes/au/notzed/duskz/util/Chars.java [moved from DuskServer/src/au/notzed/duskz/util/Chars.java with 100% similarity]
src/duskz.server/classes/duskz/io/Convert.java [moved from DuskServer/src/duskz/io/Convert.java with 100% similarity]
src/duskz.server/classes/duskz/io/Tiled.java [moved from DuskServer/src/duskz/io/Tiled.java with 100% similarity]
src/duskz.server/classes/duskz/io/tiled/Data.java [moved from DuskServer/src/duskz/io/tiled/Data.java with 100% similarity]
src/duskz.server/classes/duskz/io/tiled/Image.java [moved from DuskServer/src/duskz/io/tiled/Image.java with 100% similarity]
src/duskz.server/classes/duskz/io/tiled/Layer.java [moved from DuskServer/src/duskz/io/tiled/Layer.java with 100% similarity]
src/duskz.server/classes/duskz/io/tiled/Map.java [moved from DuskServer/src/duskz/io/tiled/Map.java with 100% similarity]
src/duskz.server/classes/duskz/io/tiled/Object.java [moved from DuskServer/src/duskz/io/tiled/Object.java with 100% similarity]
src/duskz.server/classes/duskz/io/tiled/ObjectFactory.java [moved from DuskServer/src/duskz/io/tiled/ObjectFactory.java with 100% similarity]
src/duskz.server/classes/duskz/io/tiled/Objectgroup.java [moved from DuskServer/src/duskz/io/tiled/Objectgroup.java with 100% similarity]
src/duskz.server/classes/duskz/io/tiled/Properties.java [moved from DuskServer/src/duskz/io/tiled/Properties.java with 100% similarity]
src/duskz.server/classes/duskz/io/tiled/Property.java [moved from DuskServer/src/duskz/io/tiled/Property.java with 100% similarity]
src/duskz.server/classes/duskz/io/tiled/Tile.java [moved from DuskServer/src/duskz/io/tiled/Tile.java with 100% similarity]
src/duskz.server/classes/duskz/io/tiled/Tileset.java [moved from DuskServer/src/duskz/io/tiled/Tileset.java with 100% similarity]
src/duskz.server/classes/duskz/proto/Junk.java [moved from DuskServer/src/duskz/proto/Junk.java with 100% similarity]
src/duskz.server/classes/duskz/server/BannedIPException.java [moved from DuskServer/src/duskz/server/BannedIPException.java with 100% similarity]
src/duskz.server/classes/duskz/server/Battle.java [moved from DuskServer/src/duskz/server/Battle.java with 100% similarity]
src/duskz.server/classes/duskz/server/BlockedIPException.java [moved from DuskServer/src/duskz/server/BlockedIPException.java with 100% similarity]
src/duskz.server/classes/duskz/server/Commands.java [moved from DuskServer/src/duskz/server/Commands.java with 100% similarity]
src/duskz.server/classes/duskz/server/Condition.java [moved from DuskServer/src/duskz/server/Condition.java with 100% similarity]
src/duskz.server/classes/duskz/server/Config.java [moved from DuskServer/src/duskz/server/Config.java with 100% similarity]
src/duskz.server/classes/duskz/server/Constants.java [moved from DuskServer/src/duskz/server/Constants.java with 100% similarity]
src/duskz.server/classes/duskz/server/DuskEngine.java [moved from DuskServer/src/duskz/server/DuskEngine.java with 100% similarity]
src/duskz.server/classes/duskz/server/DuskServer.java [moved from DuskServer/src/duskz/server/DuskServer.java with 100% similarity]
src/duskz.server/classes/duskz/server/Faction.java [moved from DuskServer/src/duskz/server/Faction.java with 100% similarity]
src/duskz.server/classes/duskz/server/GiveItem.java [moved from DuskServer/src/duskz/server/GiveItem.java with 100% similarity]
src/duskz.server/classes/duskz/server/ItemList.java [moved from DuskServer/src/duskz/server/ItemList.java with 100% similarity]
src/duskz.server/classes/duskz/server/Log.java [moved from DuskServer/src/duskz/server/Log.java with 100% similarity]
src/duskz.server/classes/duskz/server/RandomAccessString.java [moved from DuskServer/src/duskz/server/RandomAccessString.java with 100% similarity]
src/duskz.server/classes/duskz/server/SaveThread.java [moved from DuskServer/src/duskz/server/SaveThread.java with 100% similarity]
src/duskz.server/classes/duskz/server/Script.java [moved from DuskServer/src/duskz/server/Script.java with 100% similarity]
src/duskz.server/classes/duskz/server/SpellGroup.java [moved from DuskServer/src/duskz/server/SpellGroup.java with 100% similarity]
src/duskz.server/classes/duskz/server/TickThread.java [moved from DuskServer/src/duskz/server/TickThread.java with 100% similarity]
src/duskz.server/classes/duskz/server/TrackerThread.java [moved from DuskServer/src/duskz/server/TrackerThread.java with 100% similarity]
src/duskz.server/classes/duskz/server/Variable.java [moved from DuskServer/src/duskz/server/Variable.java with 100% similarity]
src/duskz.server/classes/duskz/server/VariableSet.java [moved from DuskServer/src/duskz/server/VariableSet.java with 100% similarity]
src/duskz.server/classes/duskz/server/entity/Ability.java [moved from DuskServer/src/duskz/server/entity/Ability.java with 100% similarity]
src/duskz.server/classes/duskz/server/entity/DuskObject.java [moved from DuskServer/src/duskz/server/entity/DuskObject.java with 100% similarity]
src/duskz.server/classes/duskz/server/entity/Equipment.java [moved from DuskServer/src/duskz/server/entity/Equipment.java with 100% similarity]
src/duskz.server/classes/duskz/server/entity/Item.java [moved from DuskServer/src/duskz/server/entity/Item.java with 100% similarity]
src/duskz.server/classes/duskz/server/entity/LivingThing.java [moved from DuskServer/src/duskz/server/entity/LivingThing.java with 100% similarity]
src/duskz.server/classes/duskz/server/entity/Merchant.java [moved from DuskServer/src/duskz/server/entity/Merchant.java with 100% similarity]
src/duskz.server/classes/duskz/server/entity/Mob.java [moved from DuskServer/src/duskz/server/entity/Mob.java with 100% similarity]
src/duskz.server/classes/duskz/server/entity/PlayerMerchant.java [moved from DuskServer/src/duskz/server/entity/PlayerMerchant.java with 100% similarity]
src/duskz.server/classes/duskz/server/entity/Prop.java [moved from DuskServer/src/duskz/server/entity/Prop.java with 100% similarity]
src/duskz.server/classes/duskz/server/entity/Sign.java [moved from DuskServer/src/duskz/server/entity/Sign.java with 100% similarity]
src/duskz.server/classes/duskz/server/entity/TileMap.java [moved from DuskServer/src/duskz/server/entity/TileMap.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Ability.java [moved from DuskServer/src/duskz/server/entityz/Ability.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Active.java [moved from DuskServer/src/duskz/server/entityz/Active.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Armour.java [moved from DuskServer/src/duskz/server/entityz/Armour.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Battle.java [moved from DuskServer/src/duskz/server/entityz/Battle.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Commands.java [moved from DuskServer/src/duskz/server/entityz/Commands.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Condition.java [moved from DuskServer/src/duskz/server/entityz/Condition.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/ConditionList.java [moved from DuskServer/src/duskz/server/entityz/ConditionList.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Container.java [moved from DuskServer/src/duskz/server/entityz/Container.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Converter.java [moved from DuskServer/src/duskz/server/entityz/Converter.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Drink.java [moved from DuskServer/src/duskz/server/entityz/Drink.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Equipment.java [moved from DuskServer/src/duskz/server/entityz/Equipment.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Faction.java [moved from DuskServer/src/duskz/server/entityz/Faction.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Food.java [moved from DuskServer/src/duskz/server/entityz/Food.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Game.java [moved from DuskServer/src/duskz/server/entityz/Game.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/GameServer.java [moved from DuskServer/src/duskz/server/entityz/GameServer.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/GameShop.java [moved from DuskServer/src/duskz/server/entityz/GameShop.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Holdable.java [moved from DuskServer/src/duskz/server/entityz/Holdable.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Inventory.java [moved from DuskServer/src/duskz/server/entityz/Inventory.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Item.java [moved from DuskServer/src/duskz/server/entityz/Item.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Location.java [moved from DuskServer/src/duskz/server/entityz/Location.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Log.java [moved from DuskServer/src/duskz/server/entityz/Log.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Mobile.java [moved from DuskServer/src/duskz/server/entityz/Mobile.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Pack.java [moved from DuskServer/src/duskz/server/entityz/Pack.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Pet.java [moved from DuskServer/src/duskz/server/entityz/Pet.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Player.java [moved from DuskServer/src/duskz/server/entityz/Player.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/PlayerCommands.java [moved from DuskServer/src/duskz/server/entityz/PlayerCommands.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/PlayerConnection.java [moved from DuskServer/src/duskz/server/entityz/PlayerConnection.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/PlayerShop.java [moved from DuskServer/src/duskz/server/entityz/PlayerShop.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/PlayerState.java [moved from DuskServer/src/duskz/server/entityz/PlayerState.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Prop.java [moved from DuskServer/src/duskz/server/entityz/Prop.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/PropertyLoader.java [moved from DuskServer/src/duskz/server/entityz/PropertyLoader.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Race.java [moved from DuskServer/src/duskz/server/entityz/Race.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/ScriptManager.java [moved from DuskServer/src/duskz/server/entityz/ScriptManager.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Shop.java [moved from DuskServer/src/duskz/server/entityz/Shop.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Sign.java [moved from DuskServer/src/duskz/server/entityz/Sign.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Thing.java [moved from DuskServer/src/duskz/server/entityz/Thing.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/ThingTable.java [moved from DuskServer/src/duskz/server/entityz/ThingTable.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/TileMap.java [moved from DuskServer/src/duskz/server/entityz/TileMap.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/TooManyTriesException.java [moved from DuskServer/src/duskz/server/entityz/TooManyTriesException.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Training.java [moved from DuskServer/src/duskz/server/entityz/Training.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/VariableList.java [moved from DuskServer/src/duskz/server/entityz/VariableList.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Weapon.java [moved from DuskServer/src/duskz/server/entityz/Weapon.java with 100% similarity]
src/duskz.server/classes/duskz/server/entityz/Wearable.java [moved from DuskServer/src/duskz/server/entityz/Wearable.java with 100% similarity]
src/duskz.server/classes/module-info.java [new file with mode: 0644]

index 28a4d2c..fa30044 100644 (file)
@@ -1,3 +1,5 @@
-.lib/
-*/build/
-*/dist/
+/build/
+/dist/
+/bin/
+/.lib/
+/nbproject/private/
similarity index 100%
rename from DuskZ/COPYING
rename to COPYING
similarity index 100%
rename from DuskZ/COPYING.GPLv2
rename to COPYING.GPLv2
diff --git a/DuskCommon/COPYING b/DuskCommon/COPYING
deleted file mode 100644 (file)
index d159169..0000000
+++ /dev/null
@@ -1,339 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                            NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/DuskCommon/README b/DuskCommon/README
deleted file mode 100644 (file)
index f4ae538..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-
-README
-------
-
-This is a library containing some common utilities and classes betwen
-server and client.
-
-This is primarily classes and utilities for handling the client<>server
-protocol.
-
-LICENSE
--------
-  DuskZ is free software, see COPYING for your rights.
-
-  Some files are under other compatible licenses.
-
-  Copyright (C) 2000 Tom Weingarten <captaint@home.com>
-  Copyright (C) 2013 Michael Zucchi <notzed@gmail.com>
-   DuskZ is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   as published by the Free Software Foundation; either version 2
-   of the License, or (at your option) any later version.
-   DuskZ is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   You should have received a copy of the GNU General Public License
-   along with DuskZ; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
\ No newline at end of file
diff --git a/DuskCommon/build.xml b/DuskCommon/build.xml
deleted file mode 100644 (file)
index 23edae7..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- You may freely edit this file. See commented blocks below for -->
-<!-- some examples of how to customize the build. -->
-<!-- (If you delete it and reopen the project it will be recreated.) -->
-<!-- By default, only the Clean and Build commands use this build script. -->
-<!-- Commands such as Run, Debug, and Test only use this build script if -->
-<!-- the Compile on Save feature is turned off for the project. -->
-<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
-<!-- in the project's Project Properties dialog box.-->
-<project name="DuskCommon" default="default" basedir=".">
-    <description>Builds, tests, and runs the project DuskCommon.</description>
-    <import file="nbproject/build-impl.xml"/>
-    <!--
-
-    There exist several targets which are by default empty and which can be 
-    used for execution of your tasks. These targets are usually executed 
-    before and after some main targets. They are: 
-
-      -pre-init:                 called before initialization of project properties
-      -post-init:                called after initialization of project properties
-      -pre-compile:              called before javac compilation
-      -post-compile:             called after javac compilation
-      -pre-compile-single:       called before javac compilation of single file
-      -post-compile-single:      called after javac compilation of single file
-      -pre-compile-test:         called before javac compilation of JUnit tests
-      -post-compile-test:        called after javac compilation of JUnit tests
-      -pre-compile-test-single:  called before javac compilation of single JUnit test
-      -post-compile-test-single: called after javac compilation of single JUunit test
-      -pre-jar:                  called before JAR building
-      -post-jar:                 called after JAR building
-      -post-clean:               called after cleaning build products
-
-    (Targets beginning with '-' are not intended to be called on their own.)
-
-    Example of inserting an obfuscator after compilation could look like this:
-
-        <target name="-post-compile">
-            <obfuscate>
-                <fileset dir="${build.classes.dir}"/>
-            </obfuscate>
-        </target>
-
-    For list of available properties check the imported 
-    nbproject/build-impl.xml file. 
-
-
-    Another way to customize the build is by overriding existing main targets.
-    The targets of interest are: 
-
-      -init-macrodef-javac:     defines macro for javac compilation
-      -init-macrodef-junit:     defines macro for junit execution
-      -init-macrodef-debug:     defines macro for class debugging
-      -init-macrodef-java:      defines macro for class execution
-      -do-jar-with-manifest:    JAR building (if you are using a manifest)
-      -do-jar-without-manifest: JAR building (if you are not using a manifest)
-      run:                      execution of project 
-      -javadoc-build:           Javadoc generation
-      test-report:              JUnit report generation
-
-    An example of overriding the target for project execution could look like this:
-
-        <target name="run" depends="DuskCommon-impl.jar">
-            <exec dir="bin" executable="launcher.exe">
-                <arg file="${dist.jar}"/>
-            </exec>
-        </target>
-
-    Notice that the overridden target depends on the jar target and not only on 
-    the compile target as the regular run target does. Again, for a list of available 
-    properties which you can use, check the target you are overriding in the
-    nbproject/build-impl.xml file. 
-
-    -->
-</project>
diff --git a/DuskCommon/nbproject/build-impl.xml b/DuskCommon/nbproject/build-impl.xml
deleted file mode 100644 (file)
index 625b5c6..0000000
+++ /dev/null
@@ -1,1411 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-*** GENERATED FROM project.xml - DO NOT EDIT  ***
-***         EDIT ../build.xml INSTEAD         ***
-
-For the purpose of easier reading the script
-is divided into following sections:
-
-  - initialization
-  - compilation
-  - jar
-  - execution
-  - debugging
-  - javadoc
-  - test compilation
-  - test execution
-  - test debugging
-  - applet
-  - cleanup
-
-        -->
-<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="DuskCommon-impl">
-    <fail message="Please build using Ant 1.8.0 or higher.">
-        <condition>
-            <not>
-                <antversion atleast="1.8.0"/>
-            </not>
-        </condition>
-    </fail>
-    <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
-    <!-- 
-                ======================
-                INITIALIZATION SECTION 
-                ======================
-            -->
-    <target name="-pre-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="-pre-init" name="-init-private">
-        <property file="nbproject/private/config.properties"/>
-        <property file="nbproject/private/configs/${config}.properties"/>
-        <property file="nbproject/private/private.properties"/>
-    </target>
-    <target depends="-pre-init,-init-private" name="-init-user">
-        <property file="${user.properties.file}"/>
-        <!-- The two properties below are usually overridden -->
-        <!-- by the active platform. Just a fallback. -->
-        <property name="default.javac.source" value="1.4"/>
-        <property name="default.javac.target" value="1.4"/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user" name="-init-project">
-        <property file="nbproject/configs/${config}.properties"/>
-        <property file="nbproject/project.properties"/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
-        <available file="${manifest.file}" property="manifest.available"/>
-        <condition property="splashscreen.available">
-            <and>
-                <not>
-                    <equals arg1="${application.splash}" arg2="" trim="true"/>
-                </not>
-                <available file="${application.splash}"/>
-            </and>
-        </condition>
-        <condition property="main.class.available">
-            <and>
-                <isset property="main.class"/>
-                <not>
-                    <equals arg1="${main.class}" arg2="" trim="true"/>
-                </not>
-            </and>
-        </condition>
-        <condition property="manifest.available+main.class">
-            <and>
-                <isset property="manifest.available"/>
-                <isset property="main.class.available"/>
-            </and>
-        </condition>
-        <condition property="do.archive">
-            <not>
-                <istrue value="${jar.archive.disabled}"/>
-            </not>
-        </condition>
-        <condition property="do.mkdist">
-            <and>
-                <isset property="do.archive"/>
-                <isset property="libs.CopyLibs.classpath"/>
-                <not>
-                    <istrue value="${mkdist.disabled}"/>
-                </not>
-            </and>
-        </condition>
-        <condition property="manifest.available+main.class+mkdist.available">
-            <and>
-                <istrue value="${manifest.available+main.class}"/>
-                <isset property="do.mkdist"/>
-            </and>
-        </condition>
-        <condition property="do.archive+manifest.available">
-            <and>
-                <isset property="manifest.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+main.class.available">
-            <and>
-                <isset property="main.class.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+splashscreen.available">
-            <and>
-                <isset property="splashscreen.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+manifest.available+main.class">
-            <and>
-                <istrue value="${manifest.available+main.class}"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="manifest.available-mkdist.available">
-            <or>
-                <istrue value="${manifest.available}"/>
-                <isset property="do.mkdist"/>
-            </or>
-        </condition>
-        <condition property="manifest.available+main.class-mkdist.available">
-            <or>
-                <istrue value="${manifest.available+main.class}"/>
-                <isset property="do.mkdist"/>
-            </or>
-        </condition>
-        <condition property="have.tests">
-            <or>
-                <available file="${test.src.dir}"/>
-            </or>
-        </condition>
-        <condition property="have.sources">
-            <or>
-                <available file="${src.dir}"/>
-            </or>
-        </condition>
-        <condition property="netbeans.home+have.tests">
-            <and>
-                <isset property="netbeans.home"/>
-                <isset property="have.tests"/>
-            </and>
-        </condition>
-        <condition property="no.javadoc.preview">
-            <and>
-                <isset property="javadoc.preview"/>
-                <isfalse value="${javadoc.preview}"/>
-            </and>
-        </condition>
-        <property name="run.jvmargs" value=""/>
-        <property name="run.jvmargs.ide" value=""/>
-        <property name="javac.compilerargs" value=""/>
-        <property name="work.dir" value="${basedir}"/>
-        <condition property="no.deps">
-            <and>
-                <istrue value="${no.dependencies}"/>
-            </and>
-        </condition>
-        <property name="javac.debug" value="true"/>
-        <property name="javadoc.preview" value="true"/>
-        <property name="application.args" value=""/>
-        <property name="source.encoding" value="${file.encoding}"/>
-        <property name="runtime.encoding" value="${source.encoding}"/>
-        <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
-            <and>
-                <isset property="javadoc.encoding"/>
-                <not>
-                    <equals arg1="${javadoc.encoding}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <property name="javadoc.encoding.used" value="${source.encoding}"/>
-        <property name="includes" value="**"/>
-        <property name="excludes" value=""/>
-        <property name="do.depend" value="false"/>
-        <condition property="do.depend.true">
-            <istrue value="${do.depend}"/>
-        </condition>
-        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
-        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
-            <length length="0" string="${endorsed.classpath}" when="greater"/>
-        </condition>
-        <condition else="false" property="jdkBug6558476">
-            <and>
-                <matches pattern="1\.[56]" string="${java.specification.version}"/>
-                <not>
-                    <os family="unix"/>
-                </not>
-            </and>
-        </condition>
-        <property name="javac.fork" value="${jdkBug6558476}"/>
-        <property name="jar.index" value="false"/>
-        <property name="jar.index.metainf" value="${jar.index}"/>
-        <property name="copylibs.rebase" value="true"/>
-        <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
-        <condition property="junit.available">
-            <or>
-                <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
-                <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
-            </or>
-        </condition>
-        <condition property="testng.available">
-            <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
-        </condition>
-        <condition property="junit+testng.available">
-            <and>
-                <istrue value="${junit.available}"/>
-                <istrue value="${testng.available}"/>
-            </and>
-        </condition>
-        <condition else="testng" property="testng.mode" value="mixed">
-            <istrue value="${junit+testng.available}"/>
-        </condition>
-        <condition else="" property="testng.debug.mode" value="-mixed">
-            <istrue value="${junit+testng.available}"/>
-        </condition>
-    </target>
-    <target name="-post-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
-        <fail unless="src.dir">Must set src.dir</fail>
-        <fail unless="test.src.dir">Must set test.src.dir</fail>
-        <fail unless="build.dir">Must set build.dir</fail>
-        <fail unless="dist.dir">Must set dist.dir</fail>
-        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
-        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
-        <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
-        <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
-        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
-        <fail unless="dist.jar">Must set dist.jar</fail>
-    </target>
-    <target name="-init-macrodef-property">
-        <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute name="name"/>
-            <attribute name="value"/>
-            <sequential>
-                <property name="@{name}" value="${@{value}}"/>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
-        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <attribute default="${javac.processorpath}" name="processorpath"/>
-            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="${javac.debug}" name="debug"/>
-            <attribute default="${empty.dir}" name="sourcepath"/>
-            <attribute default="${empty.dir}" name="gensrcdir"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.dir}/empty" name="empty.dir"/>
-                <mkdir dir="${empty.dir}"/>
-                <mkdir dir="@{apgeneratedsrcdir}"/>
-                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
-                    <src>
-                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
-                            <include name="*"/>
-                        </dirset>
-                    </src>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <compilerarg line="${javac.compilerargs}"/>
-                    <compilerarg value="-processorpath"/>
-                    <compilerarg path="@{processorpath}:${empty.dir}"/>
-                    <compilerarg line="${ap.processors.internal}"/>
-                    <compilerarg line="${annotation.processing.processor.options}"/>
-                    <compilerarg value="-s"/>
-                    <compilerarg path="@{apgeneratedsrcdir}"/>
-                    <compilerarg line="${ap.proc.none.internal}"/>
-                    <customize/>
-                </javac>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
-        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <attribute default="${javac.processorpath}" name="processorpath"/>
-            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="${javac.debug}" name="debug"/>
-            <attribute default="${empty.dir}" name="sourcepath"/>
-            <attribute default="${empty.dir}" name="gensrcdir"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.dir}/empty" name="empty.dir"/>
-                <mkdir dir="${empty.dir}"/>
-                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
-                    <src>
-                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
-                            <include name="*"/>
-                        </dirset>
-                    </src>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <compilerarg line="${javac.compilerargs}"/>
-                    <customize/>
-                </javac>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
-        <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <sequential>
-                <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                </depend>
-            </sequential>
-        </macrodef>
-        <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <sequential>
-                <fail unless="javac.includes">Must set javac.includes</fail>
-                <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
-                    <path>
-                        <filelist dir="@{destdir}" files="${javac.includes}"/>
-                    </path>
-                    <globmapper from="*.java" to="*.class"/>
-                </pathconvert>
-                <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
-                <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
-                <delete>
-                    <files includesfile="${javac.includesfile.binary}"/>
-                </delete>
-                <delete>
-                    <fileset file="${javac.includesfile.binary}"/>
-                </delete>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${junit.available}" name="-init-macrodef-junit-init">
-        <condition else="false" property="nb.junit.batch" value="true">
-            <and>
-                <istrue value="${junit.available}"/>
-                <not>
-                    <isset property="test.method"/>
-                </not>
-            </and>
-        </condition>
-        <condition else="false" property="nb.junit.single" value="true">
-            <and>
-                <istrue value="${junit.available}"/>
-                <isset property="test.method"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-init-test-properties">
-        <property name="test.binaryincludes" value="&lt;nothing&gt;"/>
-        <property name="test.binarytestincludes" value=""/>
-        <property name="test.binaryexcludes" value=""/>
-    </target>
-    <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
-        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
-                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
-        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
-                    <batchtest todir="${build.test.results.dir}">
-                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
-                            <filename name="@{testincludes}"/>
-                        </fileset>
-                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
-                            <filename name="${test.binarytestincludes}"/>
-                        </fileset>
-                    </batchtest>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
-    <target if="${testng.available}" name="-init-macrodef-testng">
-        <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
-                    <isset property="test.method"/>
-                </condition>
-                <union id="test.set">
-                    <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
-                        <filename name="@{testincludes}"/>
-                    </fileset>
-                </union>
-                <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
-                <testng classfilesetref="test.set" failureProperty="tests.failed" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="DuskCommon" testname="TestNG tests" workingDir="${work.dir}">
-                    <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
-                    <propertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </propertyset>
-                    <customize/>
-                </testng>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-test-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <echo>No tests executed.</echo>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:testng>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
-        <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <sequential>
-                <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize>
-                        <classpath>
-                            <path path="${run.test.classpath}"/>
-                        </classpath>
-                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                        <jvmarg line="${run.jvmargs}"/>
-                        <jvmarg line="${run.jvmargs.ide}"/>
-                    </customize>
-                </j2seproject3:test-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
-        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
-                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
-        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
-                    <batchtest todir="${build.test.results.dir}">
-                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
-                            <filename name="@{testincludes}"/>
-                        </fileset>
-                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
-                            <filename name="${test.binarytestincludes}"/>
-                        </fileset>
-                    </batchtest>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
-        <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:junit-debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${testng.available}" name="-init-macrodef-testng-debug">
-        <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <element name="customize2" optional="true"/>
-            <sequential>
-                <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
-                    <isset property="test.method"/>
-                </condition>
-                <condition else="-suitename DuskCommon -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
-                    <matches pattern=".*\.xml" string="@{testClass}"/>
-                </condition>
-                <delete dir="${build.test.results.dir}" quiet="true"/>
-                <mkdir dir="${build.test.results.dir}"/>
-                <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
-                    <customize>
-                        <customize2/>
-                        <jvmarg value="-ea"/>
-                        <arg line="${testng.debug.mode}"/>
-                        <arg line="-d ${build.test.results.dir}"/>
-                        <arg line="-listener org.testng.reporters.VerboseReporter"/>
-                        <arg line="${testng.cmd.args}"/>
-                    </customize>
-                </j2seproject3:debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
-        <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <element implicit="true" name="customize2" optional="true"/>
-            <sequential>
-                <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
-                    <customize2/>
-                </j2seproject3:testng-debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
-        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <sequential>
-                <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize>
-                        <classpath>
-                            <path path="${run.test.classpath}"/>
-                        </classpath>
-                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                        <jvmarg line="${run.jvmargs}"/>
-                        <jvmarg line="${run.jvmargs.ide}"/>
-                    </customize>
-                </j2seproject3:test-debug-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
-        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <sequential>
-                <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
-                    <customize2>
-                        <syspropertyset>
-                            <propertyref prefix="test-sys-prop."/>
-                            <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                        </syspropertyset>
-                    </customize2>
-                </j2seproject3:testng-debug-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
-    <!--
-                pre NB7.2 profiling section; consider it deprecated
-            -->
-    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
-    <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
-        <macrodef name="resolve">
-            <attribute name="name"/>
-            <attribute name="value"/>
-            <sequential>
-                <property name="@{name}" value="${env.@{value}}"/>
-            </sequential>
-        </macrodef>
-        <macrodef name="profile">
-            <attribute default="${main.class}" name="classname"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property environment="env"/>
-                <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
-                <java classname="@{classname}" dir="${profiler.info.dir}" fork="true" jvm="${profiler.info.jvm}">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
-                    <jvmarg line="${profiler.info.jvmargs}"/>
-                    <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
-                    <arg line="${application.args}"/>
-                    <classpath>
-                        <path path="${run.classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
-        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
-        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
-    </target>
-    <!--
-                end of pre NB7.2 profiling section
-            -->
-    <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
-        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${main.class}" name="name"/>
-            <attribute default="${debug.classpath}" name="classpath"/>
-            <attribute default="" name="stopclassname"/>
-            <sequential>
-                <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                </nbjpdastart>
-            </sequential>
-        </macrodef>
-        <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${build.classes.dir}" name="dir"/>
-            <sequential>
-                <nbjpdareload>
-                    <fileset dir="@{dir}" includes="${fix.classes}">
-                        <include name="${fix.includes}*.class"/>
-                    </fileset>
-                </nbjpdareload>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-debug-args">
-        <property name="version-output" value="java version &quot;${ant.java.version}"/>
-        <condition property="have-jdk-older-than-1.4">
-            <or>
-                <contains string="${version-output}" substring="java version &quot;1.0"/>
-                <contains string="${version-output}" substring="java version &quot;1.1"/>
-                <contains string="${version-output}" substring="java version &quot;1.2"/>
-                <contains string="${version-output}" substring="java version &quot;1.3"/>
-            </or>
-        </condition>
-        <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
-            <istrue value="${have-jdk-older-than-1.4}"/>
-        </condition>
-        <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
-            <os family="windows"/>
-        </condition>
-        <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
-            <isset property="debug.transport"/>
-        </condition>
-    </target>
-    <target depends="-init-debug-args" name="-init-macrodef-debug">
-        <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="classname"/>
-            <attribute default="${debug.classpath}" name="classpath"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <java classname="@{classname}" dir="${work.dir}" fork="true">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
-                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
-                    <jvmarg line="${run.jvmargs}"/>
-                    <jvmarg line="${run.jvmargs.ide}"/>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-java">
-        <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${main.class}" name="classname"/>
-            <attribute default="${run.classpath}" name="classpath"/>
-            <attribute default="jvm" name="jvm"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <java classname="@{classname}" dir="${work.dir}" fork="true">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
-                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
-                    <jvmarg line="${run.jvmargs}"/>
-                    <jvmarg line="${run.jvmargs.ide}"/>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-copylibs">
-        <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${manifest.file}" name="manifest"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
-                <pathconvert property="run.classpath.without.build.classes.dir">
-                    <path path="${run.classpath}"/>
-                    <map from="${build.classes.dir.resolved}" to=""/>
-                </pathconvert>
-                <pathconvert pathsep=" " property="jar.classpath">
-                    <path path="${run.classpath.without.build.classes.dir}"/>
-                    <chainedmapper>
-                        <flattenmapper/>
-                        <filtermapper>
-                            <replacestring from=" " to="%20"/>
-                        </filtermapper>
-                        <globmapper from="*" to="lib/*"/>
-                    </chainedmapper>
-                </pathconvert>
-                <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
-                <copylibs compress="${jar.compress}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
-                    <fileset dir="${build.classes.dir}"/>
-                    <manifest>
-                        <attribute name="Class-Path" value="${jar.classpath}"/>
-                        <customize/>
-                    </manifest>
-                </copylibs>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-presetdef-jar">
-        <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}">
-                <j2seproject1:fileset dir="${build.classes.dir}"/>
-            </jar>
-        </presetdef>
-    </target>
-    <target name="-init-ap-cmdline-properties">
-        <property name="annotation.processing.enabled" value="true"/>
-        <property name="annotation.processing.processors.list" value=""/>
-        <property name="annotation.processing.processor.options" value=""/>
-        <property name="annotation.processing.run.all.processors" value="true"/>
-        <property name="javac.processorpath" value="${javac.classpath}"/>
-        <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
-        <condition property="ap.supported.internal" value="true">
-            <not>
-                <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
-            </not>
-        </condition>
-    </target>
-    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported">
-        <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
-            <isfalse value="${annotation.processing.run.all.processors}"/>
-        </condition>
-        <condition else="" property="ap.proc.none.internal" value="-proc:none">
-            <isfalse value="${annotation.processing.enabled}"/>
-        </condition>
-    </target>
-    <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
-        <property name="ap.cmd.line.internal" value=""/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
-    <!--
-                ===================
-                COMPILATION SECTION
-                ===================
-            -->
-    <target name="-deps-jar-init" unless="built-jar.properties">
-        <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
-        <delete file="${built-jar.properties}" quiet="true"/>
-    </target>
-    <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
-        <echo level="warn" message="Cycle detected: DuskCommon was already built"/>
-    </target>
-    <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
-        <mkdir dir="${build.dir}"/>
-        <touch file="${built-jar.properties}" verbose="false"/>
-        <property file="${built-jar.properties}" prefix="already.built.jar."/>
-        <antcall target="-warn-already-built-jar"/>
-        <propertyfile file="${built-jar.properties}">
-            <entry key="${basedir}" value=""/>
-        </propertyfile>
-    </target>
-    <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
-    <target depends="init" name="-check-automatic-build">
-        <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
-    </target>
-    <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
-        <antcall target="clean"/>
-    </target>
-    <target depends="init,deps-jar" name="-pre-pre-compile">
-        <mkdir dir="${build.classes.dir}"/>
-    </target>
-    <target name="-pre-compile">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="do.depend.true" name="-compile-depend">
-        <pathconvert property="build.generated.subdirs">
-            <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="*"/>
-            </dirset>
-        </pathconvert>
-        <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/>
-    </target>
-    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile">
-        <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
-        <copy todir="${build.classes.dir}">
-            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target if="has.persistence.xml" name="-copy-persistence-xml">
-        <mkdir dir="${build.classes.dir}/META-INF"/>
-        <copy todir="${build.classes.dir}/META-INF">
-            <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/>
-        </copy>
-    </target>
-    <target name="-post-compile">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
-    <target name="-pre-compile-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
-        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <j2seproject3:force-recompile/>
-        <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/>
-    </target>
-    <target name="-post-compile-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
-    <!--
-                ====================
-                JAR BUILDING SECTION
-                ====================
-            -->
-    <target depends="init" name="-pre-pre-jar">
-        <dirname file="${dist.jar}" property="dist.jar.dir"/>
-        <mkdir dir="${dist.jar.dir}"/>
-    </target>
-    <target name="-pre-jar">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive" name="-do-jar-without-manifest" unless="manifest.available-mkdist.available">
-        <j2seproject1:jar/>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class-mkdist.available">
-        <j2seproject1:jar manifest="${manifest.file}"/>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available">
-        <j2seproject1:jar manifest="${manifest.file}">
-            <j2seproject1:manifest>
-                <j2seproject1:attribute name="Main-Class" value="${main.class}"/>
-            </j2seproject1:manifest>
-        </j2seproject1:jar>
-        <echo level="info">To run this application from the command line without Ant, try:</echo>
-        <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
-        <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <pathconvert property="run.classpath.with.dist.jar">
-            <path path="${run.classpath}"/>
-            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
-        </pathconvert>
-        <echo level="info">java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
-    </target>
-    <target depends="init" if="do.archive" name="-do-jar-with-libraries-create-manifest" unless="manifest.available">
-        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
-        <touch file="${tmp.manifest.file}" verbose="false"/>
-    </target>
-    <target depends="init" if="do.archive+manifest.available" name="-do-jar-with-libraries-copy-manifest">
-        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
-        <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/>
-    </target>
-    <target depends="init,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest" if="do.archive+main.class.available" name="-do-jar-with-libraries-set-main">
-        <manifest file="${tmp.manifest.file}" mode="update">
-            <attribute name="Main-Class" value="${main.class}"/>
-        </manifest>
-    </target>
-    <target depends="init,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-with-libraries-set-splashscreen">
-        <basename file="${application.splash}" property="splashscreen.basename"/>
-        <mkdir dir="${build.classes.dir}/META-INF"/>
-        <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/>
-        <manifest file="${tmp.manifest.file}" mode="update">
-            <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
-        </manifest>
-    </target>
-    <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen" if="do.mkdist" name="-do-jar-with-libraries-pack">
-        <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
-        <echo level="info">To run this application from the command line without Ant, try:</echo>
-        <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <echo level="info">java -jar "${dist.jar.resolved}"</echo>
-    </target>
-    <target depends="-do-jar-with-libraries-pack" if="do.archive" name="-do-jar-with-libraries-delete-manifest">
-        <delete>
-            <fileset file="${tmp.manifest.file}"/>
-        </delete>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen,-do-jar-with-libraries-pack,-do-jar-with-libraries-delete-manifest" name="-do-jar-with-libraries"/>
-    <target name="-post-jar">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar" description="Build JAR." name="jar"/>
-    <!--
-                =================
-                EXECUTION SECTION
-                =================
-            -->
-    <target depends="init,compile" description="Run a main class." name="run">
-        <j2seproject1:java>
-            <customize>
-                <arg line="${application.args}"/>
-            </customize>
-        </j2seproject1:java>
-    </target>
-    <target name="-do-not-recompile">
-        <property name="javac.includes.binary" value=""/>
-    </target>
-    <target depends="init,compile-single" name="run-single">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <j2seproject1:java classname="${run.class}"/>
-    </target>
-    <target depends="init,compile-test-single" name="run-test-with-main">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
-    </target>
-    <!--
-                =================
-                DEBUGGING SECTION
-                =================
-            -->
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger">
-        <j2seproject1:nbjpdastart name="${debug.class}"/>
-    </target>
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
-        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
-    </target>
-    <target depends="init,compile" name="-debug-start-debuggee">
-        <j2seproject3:debug>
-            <customize>
-                <arg line="${application.args}"/>
-            </customize>
-        </j2seproject3:debug>
-    </target>
-    <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">
-        <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
-    </target>
-    <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
-    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
-        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
-        <j2seproject3:debug classname="${debug.class}"/>
-    </target>
-    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
-    <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
-        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
-        <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
-    </target>
-    <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
-    <target depends="init" name="-pre-debug-fix">
-        <fail unless="fix.includes">Must set fix.includes</fail>
-        <property name="javac.includes" value="${fix.includes}.java"/>
-    </target>
-    <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
-        <j2seproject1:nbjpdareload/>
-    </target>
-    <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
-    <!--
-                =================
-                PROFILING SECTION
-                =================
-            -->
-    <!--
-                pre NB7.2 profiler integration
-            -->
-    <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile/>
-    </target>
-    <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
-        <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile classname="${profile.class}"/>
-    </target>
-    <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </profile>
-    </target>
-    <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.test.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
-            <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
-            <jvmarg value="${profiler.info.jvmargs.agent}"/>
-            <jvmarg line="${profiler.info.jvmargs}"/>
-            <test name="${profile.class}"/>
-            <classpath>
-                <path path="${run.test.classpath}"/>
-            </classpath>
-            <syspropertyset>
-                <propertyref prefix="test-sys-prop."/>
-                <mapper from="test-sys-prop.*" to="*" type="glob"/>
-            </syspropertyset>
-            <formatter type="brief" usefile="false"/>
-            <formatter type="xml"/>
-        </junit>
-    </target>
-    <!--
-                end of pre NB72 profiling section
-            -->
-    <target if="netbeans.home" name="-profile-check">
-        <condition property="profiler.configured">
-            <or>
-                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
-                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
-            </or>
-        </condition>
-    </target>
-    <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
-        <startprofiler/>
-        <antcall target="run"/>
-    </target>
-    <target depends="-profile-check,-profile-single-pre72" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-single" unless="profiler.info.jvmargs.agent">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <startprofiler/>
-        <antcall target="run-single"/>
-    </target>
-    <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
-    <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
-        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <startprofiler/>
-        <antcall target="test-single"/>
-    </target>
-    <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <startprofiler/>
-        <antcal target="run-test-with-main"/>
-    </target>
-    <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <startprofiler/>
-        <antcall target="run-applet"/>
-    </target>
-    <!--
-                ===============
-                JAVADOC SECTION
-                ===============
-            -->
-    <target depends="init" if="have.sources" name="-javadoc-build">
-        <mkdir dir="${dist.javadoc.dir}"/>
-        <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
-            <and>
-                <isset property="endorsed.classpath.cmd.line.arg"/>
-                <not>
-                    <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
-            <classpath>
-                <path path="${javac.classpath}"/>
-            </classpath>
-            <fileset dir="${src.dir}" excludes="*.java,${excludes}" includes="${includes}">
-                <filename name="**/*.java"/>
-            </fileset>
-            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="**/*.java"/>
-                <exclude name="*.java"/>
-            </fileset>
-            <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
-        </javadoc>
-        <copy todir="${dist.javadoc.dir}">
-            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
-                <filename name="**/doc-files/**"/>
-            </fileset>
-            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="**/doc-files/**"/>
-            </fileset>
-        </copy>
-    </target>
-    <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
-        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
-    </target>
-    <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
-    <!--
-                =========================
-                TEST COMPILATION SECTION
-                =========================
-            -->
-    <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
-        <mkdir dir="${build.test.classes.dir}"/>
-    </target>
-    <target name="-pre-compile-test">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="do.depend.true" name="-compile-test-depend">
-        <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
-    </target>
-    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.src.dir}"/>
-        <copy todir="${build.test.classes.dir}">
-            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target name="-post-compile-test">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
-    <target name="-pre-compile-test-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
-        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}"/>
-        <copy todir="${build.test.classes.dir}">
-            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target name="-post-compile-test-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
-    <!--
-                =======================
-                TEST EXECUTION SECTION
-                =======================
-            -->
-    <target depends="init" if="have.tests" name="-pre-test-run">
-        <mkdir dir="${build.test.results.dir}"/>
-    </target>
-    <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
-        <j2seproject3:test testincludes="**/*Test.java"/>
-    </target>
-    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init" if="have.tests" name="test-report"/>
-    <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
-    <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
-    <target depends="init" if="have.tests" name="-pre-test-run-single">
-        <mkdir dir="${build.test.results.dir}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
-        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
-        <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
-        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
-        <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
-    <!--
-                =======================
-                TEST DEBUGGING SECTION
-                =======================
-            -->
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
-        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
-        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
-        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
-    </target>
-    <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
-        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
-    </target>
-    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
-    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
-    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
-        <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
-    </target>
-    <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
-    <!--
-                =========================
-                APPLET EXECUTION SECTION
-                =========================
-            -->
-    <target depends="init,compile-single" name="run-applet">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <j2seproject1:java classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </j2seproject1:java>
-    </target>
-    <!--
-                =========================
-                APPLET DEBUGGING  SECTION
-                =========================
-            -->
-    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <j2seproject3:debug classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </j2seproject3:debug>
-    </target>
-    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
-    <!--
-                ===============
-                CLEANUP SECTION
-                ===============
-            -->
-    <target name="-deps-clean-init" unless="built-clean.properties">
-        <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
-        <delete file="${built-clean.properties}" quiet="true"/>
-    </target>
-    <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
-        <echo level="warn" message="Cycle detected: DuskCommon was already built"/>
-    </target>
-    <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
-        <mkdir dir="${build.dir}"/>
-        <touch file="${built-clean.properties}" verbose="false"/>
-        <property file="${built-clean.properties}" prefix="already.built.clean."/>
-        <antcall target="-warn-already-built-clean"/>
-        <propertyfile file="${built-clean.properties}">
-            <entry key="${basedir}" value=""/>
-        </propertyfile>
-    </target>
-    <target depends="init" name="-do-clean">
-        <delete dir="${build.dir}"/>
-        <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
-    </target>
-    <target name="-post-clean">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
-    <target name="-check-call-dep">
-        <property file="${call.built.properties}" prefix="already.built."/>
-        <condition property="should.call.dep">
-            <and>
-                <not>
-                    <isset property="already.built.${call.subproject}"/>
-                </not>
-                <available file="${call.script}"/>
-            </and>
-        </condition>
-    </target>
-    <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
-        <ant antfile="${call.script}" inheritall="false" target="${call.target}">
-            <propertyset>
-                <propertyref prefix="transfer."/>
-                <mapper from="transfer.*" to="*" type="glob"/>
-            </propertyset>
-        </ant>
-    </target>
-</project>
diff --git a/DuskCommon/nbproject/genfiles.properties b/DuskCommon/nbproject/genfiles.properties
deleted file mode 100644 (file)
index b7dd181..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-build.xml.data.CRC32=cb9774bc
-build.xml.script.CRC32=41ed8886
-build.xml.stylesheet.CRC32=28e38971@1.56.1.46
-# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
-# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=cb9774bc
-nbproject/build-impl.xml.script.CRC32=4cf1c99d
-nbproject/build-impl.xml.stylesheet.CRC32=c6d2a60f@1.56.1.46
diff --git a/DuskCommon/nbproject/project.properties b/DuskCommon/nbproject/project.properties
deleted file mode 100644 (file)
index 0f9dd09..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-project.license=dusk
-annotation.processing.enabled=true
-annotation.processing.enabled.in.editor=false
-annotation.processing.processor.options=
-annotation.processing.processors.list=
-annotation.processing.run.all.processors=true
-annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
-build.classes.dir=${build.dir}/classes
-build.classes.excludes=**/*.java,**/*.form
-# This directory is removed when the project is cleaned:
-build.dir=build
-build.generated.dir=${build.dir}/generated
-build.generated.sources.dir=${build.dir}/generated-sources
-# Only compile against the classpath explicitly listed here:
-build.sysclasspath=ignore
-build.test.classes.dir=${build.dir}/test/classes
-build.test.results.dir=${build.dir}/test/results
-# Uncomment to specify the preferred debugger connection transport:
-#debug.transport=dt_socket
-debug.classpath=\
-    ${run.classpath}
-debug.test.classpath=\
-    ${run.test.classpath}
-# This directory is removed when the project is cleaned:
-dist.dir=dist
-dist.jar=${dist.dir}/DuskCommon.jar
-dist.javadoc.dir=${dist.dir}/javadoc
-excludes=
-includes=**
-jar.compress=false
-javac.classpath=
-# Space-separated list of extra javac options
-javac.compilerargs=
-javac.deprecation=false
-javac.processorpath=\
-    ${javac.classpath}
-javac.source=1.7
-javac.target=1.7
-javac.test.classpath=\
-    ${javac.classpath}:\
-    ${build.classes.dir}
-javac.test.processorpath=\
-    ${javac.test.classpath}
-javadoc.additionalparam=
-javadoc.author=false
-javadoc.encoding=${source.encoding}
-javadoc.noindex=false
-javadoc.nonavbar=false
-javadoc.notree=false
-javadoc.private=false
-javadoc.splitindex=true
-javadoc.use=true
-javadoc.version=false
-javadoc.windowtitle=
-meta.inf.dir=${src.dir}/META-INF
-mkdist.disabled=true
-platform.active=default_platform
-run.classpath=\
-    ${javac.classpath}:\
-    ${build.classes.dir}
-# Space-separated list of JVM arguments used when running the project.
-# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
-# To set system properties for unit tests define test-sys-prop.name=value:
-run.jvmargs=
-run.test.classpath=\
-    ${javac.test.classpath}:\
-    ${build.test.classes.dir}
-source.encoding=UTF-8
-src.dir=src
-test.src.dir=test
diff --git a/DuskCommon/nbproject/project.xml b/DuskCommon/nbproject/project.xml
deleted file mode 100644 (file)
index dabe64d..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://www.netbeans.org/ns/project/1">
-    <type>org.netbeans.modules.java.j2seproject</type>
-    <configuration>
-        <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
-            <name>DuskCommon</name>
-            <source-roots>
-                <root id="src.dir"/>
-            </source-roots>
-            <test-roots>
-                <root id="test.src.dir"/>
-            </test-roots>
-        </data>
-    </configuration>
-</project>
diff --git a/DuskServer/COPYING b/DuskServer/COPYING
deleted file mode 100644 (file)
index d159169..0000000
+++ /dev/null
@@ -1,339 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                            NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/DuskServer/CommandsWork.java b/DuskServer/CommandsWork.java
deleted file mode 100644 (file)
index 8056dbd..0000000
+++ /dev/null
@@ -1,2393 +0,0 @@
-/*
- * This file is part of DuskZ, a graphical mud engine.
- *
- * Copyright (C) 2000 Tom Weingarten <captaint@home.com>
- * Copyright (C) 2013 Michael Zucchi <notzed@gmail.com>
- *
- * DuskZ is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * DuskZ is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with DuskZ; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- */
-/**
- * Changes
- * Feb-2013 Michael Zucchi - modernised java
- * Mar-2013 Michael Zucchi - changed server protocol
- */
-package duskz.server.entityz;
-
-import duskz.server.*;
-import duskz.protocol.DuskProtocol;
-import duskz.server.entity.Mob;
-import duskz.server.entity.Merchant;
-import duskz.server.entity.Sign;
-import duskz.server.entity.Item;
-import duskz.server.entity.Prop;
-import duskz.server.entity.DuskObject;
-import duskz.server.entity.Equipment;
-import duskz.server.entity.PlayerMerchant;
-import duskz.server.entity.LivingThing;
-import duskz.server.entity.TileMap;
-import java.io.*;
-import java.util.LinkedList;
-import java.util.StringTokenizer;
-
-public class CommandsWork implements DuskProtocol {
-
-       public static String parseCommand(LivingThing lt, DuskEngine game, String cmdline) throws Exception {
-               if (cmdline == null) {
-                       return null;
-               }
-               if (lt == null) {
-                       return null;
-               }
-               if (game == null) {
-                       return null;
-               }
-
-               String cmd = null;
-               String args = null;
-
-               int intIndex = cmdline.indexOf(" ");
-               if (intIndex == -1) {
-                       cmd = cmdline.toLowerCase();
-               } else {
-                       cmd = cmdline.substring(0, intIndex).toLowerCase();
-                       args = cmdline.substring(intIndex + 1).trim();
-               }
-
-               if (cmd.length() < 1) {
-                       return "huh?";
-               }
-
-               lt.isAlwaysCommands = true;
-               boolean blnFoundScriptedCommand = false;
-               /*
-                ** Don't try to find a scripted command if they are doing a tell
-                */
-               if (cmd.substring(0, 1) != "/") {
-                       try {
-                               Script script = new Script("commands/" + cmd, game, false);
-                               script.varVariables.addVariable("trigger", lt);
-                               if (args != null) {
-                                       script.runScript(args);
-                               } else {
-                                       script.runScript();
-                               }
-                               script.close();
-                               blnFoundScriptedCommand = true;
-                       } catch (Exception e) {
-                               blnFoundScriptedCommand = false;
-                       }
-                       if (!lt.isAlwaysCommands) {
-                               return null;
-                       }
-               }
-               if (lt.privs > 2) {
-                       if (cmdline.startsWith(">")) {
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               cmdline = cmdline.substring(1);
-                               if (cmdline.equalsIgnoreCase("s")) {
-                                       if (game.blnSavingGame) {
-                                               return "Game already being saved, please wait.";
-                                       }
-                                       game.saveMap();
-                                       return "Game settings saved";
-                               }
-
-                               String strMapLog = "shortmap_redraw";
-                               try (PrintStream psMap = new PrintStream(new FileOutputStream(strMapLog, true), true)) {
-                                       game.changeMap(lt, lt.x, lt.y, Short.parseShort(cmdline));
-                                       psMap.println("changetile " + lt.x + " " + lt.y + " " + Short.parseShort(cmdline));
-                                       return null;
-                               } catch (Exception e) {
-                                       game.log.printError("parseCommand():While " + lt.name + " tried to >" + cmdline, e);
-                                       return null;
-                               }
-                       }
-                       if (cmdline.startsWith("<")) {
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               cmdline = cmdline.substring(1);
-                               if (cmdline.equals("s")) {
-                                       if (game.blnSavingGame) {
-                                               return "Game already being saved, please wait.";
-                                       }
-                                       game.saveMap();
-                                       return "Game settings saved";
-                               } else if (cmdline.equalsIgnoreCase("merchant")) {
-                                       if (lt.overMerchant() != null) {
-                                               return "There's already a merchant there.";
-                                       }
-                                       if (lt.overPlayerMerchant() != null) {
-                                               return "There's already a merchant there.";
-                                       }
-                                       Merchant mrcStore = new Merchant(game);
-                                       mrcStore.x = lt.x;
-                                       mrcStore.y = lt.y;
-                                       //game.vctMerchants.add(mrcStore);
-                                       //game.blnMerchantListChanged = true;
-                                       game.addDuskObject(lt.map, mrcStore);
-                                       return null;
-                               } else if (cmdline.toLowerCase().startsWith("prop ")) {
-                                       if (cmdline.length() == 5) {
-                                               return "Add what prop?";
-                                       }
-                                       cmdline = cmdline.substring(5);
-                                       Prop prpStore = game.getProp(cmdline);
-                                       if (prpStore != null) {
-                                               prpStore.x = lt.x;
-                                               prpStore.y = lt.y;
-                                               //game.vctProps.addElement(prpStore);
-                                               //game.blnPropListChanged = true;
-                                               game.addDuskObject(lt.map, prpStore);
-                                       }
-                                       return null;
-                               } else if (cmdline.startsWith("sign ")) {
-                                       if (cmdline.length() == 5) {
-                                               return "What should the sign say?";
-                                       }
-                                       Sign sgnStore = new Sign(game, "sign", cmdline.substring(5), lt.x, lt.y, game.getID());
-                                       //game.vctSigns.add(sgnStore);
-                                       //game.blnSignListChanged = true;
-                                       game.addDuskObject(lt.map, sgnStore);
-                                       return null;
-                               }
-                               Item itmStore = game.getItem(cmdline);
-                               if (itmStore != null) {
-                                       itmStore.x = lt.x;
-                                       itmStore.y = lt.y;
-                                       //game.vctItems.add(itmStore);
-                                       game.addDuskObject(lt.map, itmStore);
-                                       return null;
-                               }
-                               try {
-                                       Mob mob = new Mob(cmdline, lt.x, lt.y, game);
-                                       // TODO: this previously didn't call addDuskObject - bug or intentional?
-                                       //game.vctMobs.addElement(mob);
-                                       //game.blnMobListChanged = true;
-                                       game.addDuskObject(lt.map, mob);
-
-                                       mob.changeLocBypass(lt.map, lt.x, lt.y);
-                               } catch (Exception e) {
-                                       game.log.printError("parseCommand():While creating mob \"" + cmdline + "\"", e);
-                               }
-                               return null;
-                       }
-               }
-
-               // Remap shortcuts
-               if (cmd.startsWith(";")) {
-                       args = cmdline.substring(1).trim();
-                       cmd = "gossip";
-               }
-               if (cmd.startsWith(":")) {
-                       args = cmdline.substring(1).trim();
-                       cmd = "clan";
-               }
-               if (cmd.startsWith("'")) {
-                       args = cmdline.substring(1).trim();
-                       cmd = "say";
-               }
-               if (cmd.startsWith(".")) {
-                       args = cmdline.substring(1).trim();
-                       cmd = "emote";
-               }
-               if (cmd.startsWith("/")) {
-                       args = cmdline.substring(1).trim();
-                       cmd = "tell";
-               }
-
-               switch (cmd) {
-
-                       case "addmember": {
-                               if (lt.privs != 1)
-                                       return "Huh?";
-                               if (args == null) {
-                                       return "Add who?";
-                               }
-                               LivingThing thnStore = game.getPlayer(args);
-                               if (thnStore == null) {
-                                       return "They're not in this world";
-                               }
-                               if (lt.battle != null) {
-                                       return "Not while you're fighting!";
-                               }
-                               if (thnStore.battle != null) {
-                                       thnStore.chatMessage(lt.name + " has invited you to join their clan, but you are in the middle of a battle");
-                                       return "They're in the middle of a battle. They have been notified that you tried to clan them.";
-                               }
-                               lt.chatMessage("You have invited " + thnStore.name + " to join the clan " + lt.clan + ".");
-
-                               if (true)
-                                       // FIXME: protocol implementation
-                                       throw new RuntimeException("cannot ask questions yet");
-                               // FIXME: this looks dodgy
-                               // FIXME: move to livingthing
-
-                               /*
-                                //             thnStore.halt();
-                                thnStore.stillThere();  // This puts something in the buffer
-                                thnStore.stillThere();  // Have to do this twice to ensure that thnStore is out of
-                                // its read loop
-                                lt.connectionThread.sleep(500);  // wait for the "notdead" response to get back from client.
-                                try {
-                                // Empty out the BufferedReader for the answer
-                                //     while (thnStore.instream.ready()) {
-                                //             thnStore.instream.read();
-                                //     }
-                                } catch (Exception e) {
-                                game.log.printError("parseCommand():While " + lt.name + " was trying to addmember " + thnStore.name, e);
-                                }
-                                thnStore.chatMessage(lt.name + " has invited you to join the clan " + lt.clan + ". If you accept, type yes.");
-                                try {
-                                if (thnStore.instream.readLine().equalsIgnoreCase("yes")) {
-                                thnStore.clan = lt.clan;
-                                if (thnStore.privs == 1) {
-                                thnStore.privs = 0;
-                                }
-                                thnStore.chatMessage("You have been added to the clan, " + lt.clan + "");
-                                thnStore.proceed();
-                                game.removeDuskObject(thnStore);
-                                game.addDuskObject(thnStore);
-                                return thnStore.name + " has accepted your invitation.";
-                                }
-                                } catch (Exception e) {
-                                game.log.printError("parseCommand():While reading the answer to " + lt.name + "'s attempt to addmember " + thnStore.name, e);
-                                }
-                                thnStore.proceed();
-                                */
-                               return thnStore.name + " has declined your invitation.";
-                       }
-                       case "kick": {
-                               if (lt.privs != 1)
-                                       return "Huh?";
-                               if (args == null) {
-                                       return "Kick who?";
-                               }
-                               LivingThing thnStore = game.getPlayer(args);
-                               if (thnStore == null) {
-                                       return "They're not in this world.";
-                               }
-                               if (!thnStore.clan.equalsIgnoreCase(lt.clan)) {
-                                       return "They're not in your clan.";
-                               }
-                               thnStore.chatMessage("You have been kicked out of " + lt.clan + ".");
-                               thnStore.clan = "none";
-                               game.removeDuskObject(thnStore);
-                               game.addDuskObject(thnStore.map, thnStore);
-                               return thnStore.name + " has been kicked out of your clan.";
-                       }
-//             if (lt.privs > 2) {
-//                     if (lt.privs > 4) {
-                       case "makegod": {
-                               if (lt.privs <= 4)
-                                       return "Huh?";
-
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               if (args == null) {
-                                       return "Make who a god?";
-                               }
-                               int iSPloc = args.indexOf(" ");
-                               if (iSPloc < 0) {
-                                       return "Make them what level of a god?";
-                               }
-                               String sName = args.substring(0, iSPloc).trim();
-                               int level = Integer.parseInt(args.substring(iSPloc).trim());
-
-                               LivingThing thnStore = game.getPlayer(sName);
-                               if (thnStore == null) {
-                                       return "They're not in this world.";
-                               }
-                               int oldLevel = thnStore.privs;
-                               thnStore.privs = level;
-                               thnStore.isSaveNeeded = true;
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":Changed " + thnStore.name + "'s priveledges from " + oldLevel + " to " + level + ".");
-                               return thnStore.name + "'s priveledges have been set to " + level + ".";
-                       }
-                       case "reloadprefs": {
-                               if (lt.privs <= 4)
-                                       return "Huh?";
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               game.loadPrefs();
-                               return "Preferences reloaded";
-                       }
-                       case "resizemap":
-                               if (lt.privs <= 4)
-                                       return "Huh?";
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               game.resizeMap(lt.map, lt.x + 1, lt.y + 1);
-                               return "Map resized";
-                       case "shutdown":
-                               if (lt.privs <= 4)
-                                       return "Huh?";
-                               game.log.printMessage(Log.ALWAYS, lt.name + " has shut down the server.");
-                               game.chatMessage("The server is going down.", "default");
-                               game.blnShuttingDown = true;
-                               for (LivingThing thnStore : game.playersByName.values()) {
-                                       try {
-                                               if (thnStore != lt) {
-                                                       thnStore.close();
-                                               }
-                                       } catch (Exception e) {
-                                               if (thnStore != null) {
-                                                       game.log.printError("parseCommand():While trying to close " + thnStore.name + " for " + lt.name + "'s shutdown request", e);
-                                               } else {
-                                                       game.log.printError("parseCommand():While trying to close a null player for " + lt.name + "'s shutdown request", e);
-                                               }
-                                       }
-                               }
-                               lt.isSaveNeeded = true;
-                               lt.savePlayer();
-                               System.gc();
-                               System.exit(0);
-                               return null;
-                       case "stop":
-                               if (lt.privs <= 4)
-                                       return "Huh?";
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               game.blnShuttingDown = true;
-                               return "Stopped accepting incoming socket connections.";
-                       case "start":
-                               if (lt.privs <= 4)
-                                       return "Huh?";
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               game.blnShuttingDown = false;
-                               return "Started accepting incoming connections";
-                       case "filteron":
-                               if (lt.privs <= 4)
-                                       return "Huh?";
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               game.blnIPF = true;
-                               return "Started filtering duplicate IP addressess of socket connections.";
-                       case "filteroff":
-                               if (lt.privs <= 4)
-                                       return "Huh?";
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               game.blnIPF = false;
-                               return "Stopped filtering duplicate IP addressess of socket connections.";
-                       case "floodlimit":
-                               if (lt.privs <= 4)
-                                       return "Huh?";
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               if (args == null) {
-                                       return "What value do you want the floodlimit to have?";
-                               }
-                               try {
-                                       game.floodLimit = (long) Integer.parseInt(args);
-                                       return "Set floodlimit to " + args + " milliseconds.";
-                               } catch (Exception e) {
-                                       game.log.printError("parseCommand():Invalid value \"" + args + "\" for floodlimit.", e);
-                                       return "Invalid value \"" + args + "\" for floodlimit.";
-                               }
-                       case "ipban": {
-                               if (lt.privs <= 4)
-                                       return "Huh?";
-                               String strBlockedIP;
-                               if (args == null) {
-                                       return "Whos IP address do you wish to ban?";
-                               }
-                               LivingThing thnStore = game.getPlayer(args);
-                               if (thnStore == null) {
-                                       return "They're not in this world.";
-                               }
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               String strIP = thnStore.getAddress();
-                               int i = strIP.indexOf("/");
-                               strIP = strIP.substring(i + 1, strIP.length());
-                               // FIXME: better i/o
-                               try (RandomAccessFile rafBannedIP = new RandomAccessFile("conf/blockedIP", "rw")) {
-                                       strBlockedIP = rafBannedIP.readLine();
-                                       while (strBlockedIP != null) {
-                                               if (strIP.indexOf(strBlockedIP) != -1) {
-                                                       //rafBannedIP.close();
-                                                       return "Already blocked.";
-                                               }
-                                               strBlockedIP = rafBannedIP.readLine();
-                                       }
-                                       rafBannedIP.seek(rafBannedIP.length());
-                                       rafBannedIP.writeBytes(strIP + "\n");
-                               } catch (IOException ex) {
-                                       game.log.printError("parseCommand():When " + lt.name + " tried to ban " + thnStore + "'s IP address", ex);
-                               }
-                               return thnStore.name + "'s IP address has been blocked.";
-                       }
-                       case "loglevel":
-                               if (lt.privs <= 4)
-                                       return "Huh?";
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               if (args == null) {
-                                       return "Logging level is currently " + game.log.getLogLevel();
-                               }
-                               try {
-                                       int level = Integer.parseInt(args);
-                                       game.log.setLogLevel(level);
-                                       return "Logging level is now " + game.log.getLogLevel();
-                               } catch (Exception e) {
-                                       game.log.printError("parseCommand():Invalid value \"" + args + "\" for loglevel.", e);
-                                       return "Invalid value \"" + args + "\" for loglevel.";
-                               }
-                       case "gc":
-                               if (lt.privs <= 4)
-                                       return "Huh?";
-                               game.log.printMessage(Log.INFO, "Starting garbage collection.");
-                               System.gc();
-                               game.log.printMessage(Log.INFO, "Finished garbage collection.");
-                               return "Finished garbage collection.";
-                       case "finalize":
-                               if (lt.privs <= 4)
-                                       return "Huh?";
-                               game.log.printMessage(Log.INFO, "Starting finalization.");
-                               System.runFinalization();
-                               game.log.printMessage(Log.INFO, "Finished finalization.");
-                               return "Finished finalization.";
-                       case "cleanup":
-                               if (lt.privs <= 4)
-                                       return "Huh?";
-                               game.cleanup();
-                               return "Finished cleanup.";
-                       case "save":
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               if (game.blnSavingGame) {
-                                       return "Game already being saved, please wait.";
-                               }
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               game.saveMap();
-                               return "Game settings saved";
-                       case "backup":
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               game.backupMap();
-                               return "Game settings backed up";
-                       case "list": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               if (args == null) {
-                                       return "What do you want to list?";
-                               }
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               cmdline = cmdline.substring(5);
-                               String filename = null;
-                               String title = null;
-                               if (args.equals("items")) {
-                                       filename = "defItems";
-                                       title = "Items:\n";
-                               } else if (args.equals("conf")) {
-                                       filename = "conf";
-                                       title = "Conf files:\n";
-                               } else if (args.equals("mobs")) {
-                                       filename = "defMobs";
-                                       title = "Mobiles:\n";
-                               } else if (args.equals("commands")) {
-                                       filename = "commands";
-                                       title = "Custom commands:\n";
-                               } else if (args.equals("races")) {
-                                       filename = "defRaces";
-                                       title = "Races:\n";
-                               } else if (args.equals("pets")) {
-                                       filename = "defPets";
-                                       title = "Pets:\n";
-                               } else if (args.equals("factions")) {
-                                       filename = "factions";
-                                       title = "Factions:\n";
-                               } else if (args.equals("conditions")) {
-                                       filename = "defConditions";
-                                       title = "Conditions:\n";
-                               } else if (args.equals("help")) {
-                                       filename = "helpFiles";
-                                       title = "Help Files:\n";
-                               } else if (args.equals("scripts")) {
-                                       filename = "scripts";
-                                       title = "Scripts:\n";
-                               } else if (args.equals("spell groups")) {
-                                       filename = "defSpellGroups";
-                                       title = "Spell Groups:\n";
-                               } else if (args.equals("spells")) {
-                                       filename = "defSpells";
-                                       title = "Spells:\n";
-                               } else if (args.equals("props")) {
-                                       filename = "defProps";
-                                       title = "Props:\n";
-                               } else if (args.equals("move actions")) {
-                                       filename = "defMoveActions";
-                                       title = "Move Action Scripts:\n";
-                               } else if (args.equals("can move")) {
-                                       filename = "defCanMoveScripts";
-                                       title = "Can Move Scripts:\n";
-                               } else if (args.equals("can see")) {
-                                       filename = "defCanSeeScripts";
-                                       title = "Can See Scripts:\n";
-                               } else if (args.equals("tile actions")) {
-                                       filename = "defTileActions";
-                                       title = "Tile Action Scripts:\n";
-                               } else if (args.equals("tile move")) {
-                                       filename = "defTileScripts";
-                                       title = "Can Move Tile Scripts:\n";
-                               } else if (args.equals("tile see")) {
-                                       filename = "defTileSeeScripts";
-                                       title = "Tile See Scripts:\n";
-                               }
-                               if (filename != null) {
-                                       File filList = new File(filename);
-                                       String strResult[] = filList.list();
-                                       StringBuilder sb = new StringBuilder();
-                                       //strBuff.append("").append((char) 20).append(strTitle).append("\n");
-                                       for (int i = 0; i < strResult.length; i++) {
-                                               // Only output files that do not end in .dsko
-                                               if (strResult[i].indexOf(".dsko") == -1) {
-                                                       sb.append(strResult[i]).append("\n");
-                                               }
-                                       }
-                                       //strBuff.append("--EOF--\n");
-                                       //lt.send(strBuff.toString());
-                                       lt.viewText(title, false, sb.toString());
-                                       return null;
-                               }
-                               return "You can't list that.";
-                       }
-                       case "view": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-
-                               if (args == null) {
-                                       return "What do you want to view?";
-                               }
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               if (args.indexOf("..") != -1) {
-                                       return "You don't have permission to access that file.";
-                               }
-                               String filename = null;
-                               boolean blnUser = false;
-                               boolean blnPet = false;
-                               if (args.startsWith("item ")) {
-                                       args = args.toLowerCase();
-                                       filename = "defItems/" + args.substring(5);
-                               } else if (args.startsWith("conf ")) {
-                                       filename = "conf/" + args.substring(5);
-                               } else if (args.startsWith("mob ")) {
-                                       filename = "defMobs/" + args.substring(4);
-                               } else if (args.startsWith("command ")) {
-                                       filename = "commands/" + args.substring(8);
-                               } else if (args.startsWith("race ")) {
-                                       filename = "defRaces/" + args.substring(5);
-                               } else if (args.startsWith("pet ")) {
-                                       filename = "defPets/" + args.substring(5);
-                               } else if (args.startsWith("faction")) {
-                                       return "You cannot view faction files.";
-                               } else if (args.startsWith("condition ")) {
-                                       filename = "defConditions/" + args.substring(10);
-                               } else if (args.startsWith("help ")) {
-                                       filename = "helpFiles/" + args.substring(5);
-                               } else if (args.startsWith("script ")) {
-                                       filename = "scripts/" + args.substring(7);
-                               } else if (args.startsWith("spell group ")) {
-                                       filename = "defSpellGroups/" + args.substring(12);
-                               } else if (args.startsWith("spell ")) {
-                                       filename = "defSpells/" + args.substring(6);
-                               } else if (args.startsWith("prop ")) {
-                                       filename = "defProps/" + args.substring(5);
-                               } else if (args.startsWith("move action ")) {
-                                       filename = "defMoveActions/" + args.substring(12);
-                               } else if (args.startsWith("can move ")) {
-                                       filename = "defCanMoveScripts/" + args.substring(9);
-                               } else if (args.startsWith("can see ")) {
-                                       filename = "defCanSeeScripts/" + args.substring(8);
-                               } else if (args.startsWith("tile action ")) {
-                                       filename = "defTileActions/" + args.substring(12);
-                               } else if (args.startsWith("tile move ")) {
-                                       filename = "defTileScripts/" + args.substring(10);
-                               } else if (args.startsWith("tile see ")) {
-                                       filename = "defTileSeeScripts/" + args.substring(9);
-                               } else if (args.startsWith("user ")) {
-                                       if (lt.privs < 5) {
-                                               return "You don't have enough privelages to edit a user's file.";
-                                       }
-                                       blnUser = true;
-                                       filename = "users/" + args.substring(5);
-                               } else if (args.startsWith("pet ")) {
-                                       if (lt.privs < 5) {
-                                               return "You don't have enough privelages to edit a user's pet file.";
-                                       }
-                                       blnPet = true;
-                                       filename = "pets/" + args.substring(4);
-                               }
-                               File filView = new File(filename);
-                               if (!filView.exists()) {
-                                       if (blnUser) {
-                                               return "There is no player named \"" + filView.getName() + "\".";
-                                       }
-                                       if (blnPet) {
-                                               return "The player named \"" + filView.getName() + "\" does not have a pet.";
-                                       }
-                                       //lt.send((char) 18 + args + "\n--EOF--\n");
-                                       lt.viewText(args, true, null);
-                                       return null;
-                               }
-                               RandomAccessFile rafView = null;
-                               StringBuilder sb = new StringBuilder();
-                               try {
-                                       rafView = new RandomAccessFile(filView, "rw");
-                                       if (blnUser) {
-                                               rafView.readLine();  //Skip over users' password
-                                       }
-                                       String strStore2 = rafView.readLine();
-                                       //sb.append((char) 18 + args + "\n");
-                                       while (strStore2 != null) {
-                                               sb.append(strStore2 + "\n");
-                                               strStore2 = rafView.readLine();
-                                       }
-                                       //sb.append("--EOF--\n");
-                                       lt.viewText(args, true, sb.toString());
-                               } catch (Exception e) {
-                                       game.log.printError("parseCommand():Reading file for " + filView.getName(), e);
-                               }
-                               try {
-                                       rafView.close();
-                               } catch (Exception e) {
-                                       game.log.printError("parseCommand():Closing file after " + filView.getName(), e);
-                               }
-                               return null;
-                       }
-                       case "submit": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               if (args == null) {
-                                       return "What do you want to submit?";
-                               }
-                               if ((lt.privs < 4) && (!args.startsWith("mob "))) {
-                                       return "You are not allowed to submit files.";
-                               }
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               if (args.indexOf("..") != -1) {
-                                       return "You don't have permission to access that file.";
-                               }
-
-                               if (true)
-                                       return "Developer hasn't implemented submit yet";
-
-                               // FIXME: implement submit, just use some submit message protocol
-
-                               boolean compile = false;
-                               boolean blnUser = false;
-                               boolean blnPet = false;
-                               String strFileName = null;
-                               if (args.startsWith("item ") && (lt.privs > 3)) {
-                                       args = args.toLowerCase();
-                                       strFileName = "defItems/" + args.substring(5);
-                               } else if (args.startsWith("conf ") && (lt.privs > 3)) {
-                                       strFileName = "conf/" + args.substring(5);
-                               } else if (args.startsWith("mob ")) {
-                                       strFileName = "defMobs/" + args.substring(4);
-                               } else if (args.startsWith("command ") && (lt.privs > 3)) {
-                                       strFileName = "commands/" + args.substring(8);
-                                       compile = true;
-                               } else if (args.startsWith("race ") && (lt.privs > 3)) {
-                                       strFileName = "defRaces/" + args.substring(5);
-                               } else if (args.startsWith("pet ") && (lt.privs > 3)) {
-                                       strFileName = "defPets/" + args.substring(4);
-                               } else if (args.startsWith("faction") && (lt.privs > 3)) {
-                                       return "You cannot submit faction files.";
-                               } else if (args.startsWith("condition ") && (lt.privs > 3)) {
-                                       strFileName = "defConditions/" + args.substring(10);
-                               } else if (args.startsWith("help ") && (lt.privs > 3)) {
-                                       strFileName = "helpFiles/" + args.substring(5);
-                               } else if (args.startsWith("script ") && (lt.privs > 3)) {
-                                       strFileName = "scripts/" + args.substring(7);
-                                       compile = true;
-                               } else if (args.startsWith("spell group ") && (lt.privs > 3)) {
-                                       strFileName = "defSpellGroups/" + args.substring(12);
-                                       compile = true;
-                               } else if (args.startsWith("spell ") && (lt.privs > 3)) {
-                                       strFileName = "defSpells/" + args.substring(6);
-                               } else if (args.startsWith("prop ")) {
-                                       strFileName = "defProps/" + args.substring(5);
-                               } else if (args.startsWith("move action ") && (lt.privs > 3)) {
-                                       strFileName = "defMoveActions/" + args.substring(12);
-                                       compile = true;
-                               } else if (args.startsWith("can move ") && (lt.privs > 3)) {
-                                       strFileName = "defCanMoveScripts/" + args.substring(9);
-                                       compile = true;
-                               } else if (args.startsWith("can see ") && (lt.privs > 3)) {
-                                       strFileName = "defCanSeeScripts/" + args.substring(8);
-                                       compile = true;
-                               } else if (args.startsWith("tile action ") && (lt.privs > 3)) {
-                                       strFileName = "defTileActions/" + args.substring(12);
-                                       compile = true;
-                               } else if (args.startsWith("tile move ") && (lt.privs > 3)) {
-                                       strFileName = "defTileScripts/" + args.substring(10);
-                                       compile = true;
-                               } else if (args.startsWith("tile see ") && (lt.privs > 3)) {
-                                       strFileName = "defTileSeeScripts/" + args.substring(9);
-                                       compile = true;
-                               } else if (args.startsWith("user ")) {
-                                       if (lt.privs < 5) {
-                                               return "You don't have enough privelages to submit a user's file.";
-                                       }
-                                       if (game.getPlayer(args.substring(5)) != null) {
-                                               return "You cannot submit a file for an active user.";
-                                       }
-                                       blnUser = true;
-                                       strFileName = "users/" + args.substring(5);
-                               } else if (args.startsWith("pet ")) {
-                                       if (lt.privs < 5) {
-                                               return "You don't have enough privelages to submit a user's pet file.";
-                                       }
-                                       if (game.getPlayer(args.substring(4)) != null) {
-                                               return "You cannot submit a pet file for an active user.";
-                                       }
-                                       blnPet = true;
-                                       strFileName = "pets/" + args.substring(4);
-                               }
-                               if (strFileName == null) {
-                                       return "Cannot submit " + args;
-                               }
-                               File filView = null;
-                               try {
-                                       filView = new File(strFileName);
-                               } catch (Exception e) {
-                                       return "Cannot submit " + args + " (" + strFileName + ")";
-                               }
-                               RandomAccessFile rafView = null;
-                               try {
-                                       if (blnUser) {
-                                               /*
-                                                Read in the user's password before deleting the file
-                                                */
-                                               rafView = new RandomAccessFile(filView, "r");
-                                               cmdline = rafView.readLine();
-                                       }
-                                       if (filView.exists()) {
-                                               filView.delete();
-                                       }
-                                       rafView = new RandomAccessFile(filView, "rw");
-                                       if (blnUser) {
-                                               /*
-                                                Write out the password for user files
-                                                */
-                                               rafView.writeBytes(cmdline + "\n");
-                                       }
-                                       /**
-                                        * FIXME: from message
-                                        */
-                                       /*
-                                        cmdline = lt.instream.readLine();
-                                        while (!cmdline.equals("--EOF--")) {
-                                        rafView.writeBytes(cmdline + "\n");
-                                        cmdline = lt.instream.readLine();
-                                        }*/
-                                       rafView.close();
-                                       if (compile) {
-                                               Script scrStore = new Script(filView.getPath(), game, true);
-                                               scrStore.close();
-                                       }
-                                       if (blnUser || blnPet) {
-                                               /*
-                                                Delete the .backup file for users and pets
-                                                */
-                                               filView = new File(strFileName + ".backup");
-                                               if (filView.exists()) {
-                                                       filView.delete();
-                                               }
-                                       }
-                               } catch (Exception e) {
-                                       game.log.printError("parseCommand():While submitting file " + args + " (" + filView.getName() + ")", e);
-                                       try {
-                                               rafView.close();
-                                       } catch (Exception e2) {
-                                               game.log.printError("parseCommand():While closing file " + args + " (" + filView.getName() + ") after failed submit", e);
-                                       }
-                                       return "Error while trying to submit " + args + " (" + filView.getName() + ").";
-                               }
-                               return "Submit of " + args + " was successful.";
-                       }
-                       case "delete": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               if (args == null) {
-                                       return "What do you want to delete?";
-                               }
-                               if (lt.privs < 4) {
-                                       return "You are not allowed to delete files.";
-                               }
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               if (args.indexOf("..") != -1) {
-                                       return "You don't have permission to access that file.";
-                               }
-                               String filename = null;
-                               String strReturn = null;
-                               if (args.startsWith("item ")) {
-                                       filename = "defItems/" + args.substring(5);
-                                       strReturn = "item " + args.substring(5);
-                               } else if (args.startsWith("conf ")) {
-                                       filename = "conf/" + args.substring(5);
-                                       strReturn = "conf " + args.substring(5);
-                               } else if (args.startsWith("mob ")) {
-                                       filename = "defMobs/" + args.substring(4);
-                                       strReturn = "mob " + args.substring(4);
-                               } else if (args.startsWith("command ")) {
-                                       filename = "commands/" + args.substring(8);
-                                       strReturn = "command " + args.substring(8);
-                               } else if (args.startsWith("race ")) {
-                                       filename = "defRaces/" + args.substring(5);
-                                       strReturn = "race " + args.substring(5);
-                               } else if (args.startsWith("pet ")) {
-                                       filename = "defPets/" + args.substring(4);
-                                       strReturn = "pet " + args.substring(4);
-                               } else if (args.startsWith("faction")) {
-                                       return "You cannot delete faction files.";
-                               } else if (args.startsWith("condition ")) {
-                                       filename = "defConditions/" + args.substring(8);
-                                       strReturn = "condition " + args.substring(8);
-                               } else if (args.startsWith("help ")) {
-                                       filename = "helpFiles/" + args.substring(5);
-                                       strReturn = "help " + args.substring(5);
-                               } else if (args.startsWith("script ")) {
-                                       filename = "scripts/" + args.substring(7);
-                                       strReturn = "script " + args.substring(7);
-                               } else if (args.startsWith("spell group ")) {
-                                       filename = "defSpellGroups/" + args.substring(12);
-                                       strReturn = "spell group " + args.substring(12);
-                               } else if (args.startsWith("spell ")) {
-                                       filename = "defSpells/" + args.substring(6);
-                                       strReturn = "spell " + args.substring(6);
-                               } else if (args.startsWith("prop ")) {
-                                       filename = "defProps/" + args.substring(5);
-                                       strReturn = "prop " + args.substring(5);
-                               } else if (args.startsWith("move action ")) {
-                                       filename = "defMoveActions/" + args.substring(12);
-                                       strReturn = "move action " + args.substring(12);
-                               } else if (args.startsWith("can move ")) {
-                                       filename = "defCanMoveScripts/" + args.substring(9);
-                                       strReturn = "can move " + args.substring(9);
-                               } else if (args.startsWith("can see ")) {
-                                       filename = "defCanSeeScripts/" + args.substring(8);
-                                       strReturn = "can see " + args.substring(8);
-                               } else if (args.startsWith("tile action ")) {
-                                       filename = "defTileActions/" + args.substring(12);
-                                       strReturn = "tile action " + args.substring(12);
-                               } else if (args.startsWith("tile move ")) {
-                                       filename = "defTileScripts/" + args.substring(10);
-                                       strReturn = "tile move " + args.substring(10);
-                               } else if (args.startsWith("tile see ")) {
-                                       filename = "defTileSeeScripts/" + args.substring(9);
-                                       strReturn = "tile see " + args.substring(9);
-                               }
-                               File filDelete = null;
-                               if (filename != null) {
-                                       filDelete = new File(filename);
-                                       if (filDelete.exists()) {
-                                               filDelete.delete();
-                                               filDelete = new File(filename + ".dsko");
-                                               if (filDelete.exists()) {
-                                                       filDelete.delete();
-                                                       strReturn += " and the associated .dsko file.";
-                                               }
-                                       } else {
-                                               return strReturn + " does not exist.";
-                                       }
-                                       return "Deleted " + strReturn;
-                               }
-                               return "You cannot delete that.";
-                       }
-                       case "clanleader": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-
-                               if (args == null) {
-                                       return "Clanleader who?";
-                               }
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               LivingThing thnStore = game.getPlayer(args.substring(0, args.indexOf(' ')));
-                               if (thnStore == null) {
-                                       return "They're not in this world";
-                               }
-                               if (args.length() < thnStore.name.length() + 2) {
-                                       return "What clan?";
-                               }
-                               if (thnStore.privs > 1) {
-                                       return "You can't clanleader them.";
-                               }
-                               args = args.substring(thnStore.name.length() + 1);
-                               thnStore.clan = args;
-                               if (args.equals("none")) {
-                                       thnStore.privs = 0;
-                                       thnStore.chatMessage("You are now clanless.");
-                               } else {
-                                       thnStore.privs = 1;
-                                       thnStore.chatMessage("You are now a member of the " + args + " clan.");
-                               }
-                               game.removeDuskObject(thnStore);
-                               game.addDuskObject(thnStore.map, thnStore);
-                               return thnStore.name + " is now a leader of the " + args + " clan.";
-                       }
-                       case "boot": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               if (args == null) {
-                                       return "Boot who?";
-                               }
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               LivingThing thnStore = game.getPlayer(args);
-                               if (thnStore == null) {
-                                       return "They're not in this world.";
-                               }
-                               if (thnStore.privs >= lt.privs) {
-                                       thnStore.chatMessage(lt.name + " attempted to boot you.");
-                                       return "You do not have high enough privelages to boot them.";
-                               }
-                               thnStore.chatMessage("You have been booted.");
-                               thnStore.close();
-                               return null;
-                       }
-                       case "hardkill": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               if (args == null) {
-                                       return "HardKill who?";
-                               }
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               LivingThing thnStore = game.getPlayer(args);
-                               if (thnStore == null) {
-                                       return "They're not in this world.";
-                               }
-                               if (thnStore.privs >= lt.privs) {
-                                       thnStore.chatMessage(lt.name + " attempted to HardKill you.");
-                                       return "You do not have high enough privelages to HardKill them.";
-                               }
-                               thnStore.closeNoMsgPlayer();
-                               return null;
-                       }
-                       case "nochannel": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               if (args == null) {
-                                       return "nochannel who for how long?";
-                               }
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               LivingThing thnStore;
-                               int duration;
-                               try {
-                                       thnStore = game.getPlayer(args.substring(0, args.indexOf(" ")));
-                                       duration = Integer.parseInt(args.substring(args.indexOf(" ") + 1));
-                               } catch (Exception e) {
-                                       game.log.printError("parseCommand():When " + lt.name + " tried to nochannel " + args, e);
-                                       return "nochannel who for how long?";
-                               }
-                               if (thnStore == null) {
-                                       return "They're not in this world.";
-                               }
-                               if (thnStore.privs >= lt.privs) {
-                                       thnStore.chatMessage(lt.name + " attempted to nochannel you.");
-                                       return "You do not have high enough privelages to nochannel them.";
-                               }
-                               if (duration > game.noChannelMax) {
-                                       duration = game.noChannelMax;
-                               }
-                               thnStore.chatMessage("You have been nochanneled for " + duration + " seconds.");
-                               thnStore.noChannel = duration;
-                               return "You have nochanneled " + thnStore.name + " for " + duration + " seconds";
-                       }
-                       case "allowchannel": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               if (args == null) {
-                                       return "allowchannel who?";
-                               }
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               LivingThing thnStore = game.getPlayer(args);
-                               if (thnStore == null) {
-                                       return "They're not in this world.";
-                               }
-                               thnStore.chatMessage("Your nochannel status has been removed.");
-                               thnStore.noChannel = 0;
-                               return thnStore.name + "'s nochannel status has been removed.";
-                       }
-                       case "gecho": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               if (args == null) {
-                                       return "G-Echo what?";
-                               }
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               game.chatMessage(args, "default");
-                               return null;
-                       }
-                       case "teleport": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               if (args == null) {
-                                       return "Teleport to where?";
-                               }
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               int index = args.lastIndexOf('_');
-                               char charSep = ' ';
-                               if (index != -1) {
-                                       charSep = '_';
-                               }
-                               try {
-                                       String[] params = args.split(" ");
-                                       TileMap map;
-                                       int destX, destY;
-                                       if (params.length == 3) {
-                                               map = game.maps.get(params[0]);
-                                               destX = Integer.parseInt(params[1]);
-                                               destY = Integer.parseInt(params[2]);
-                                       } else {
-                                               map = lt.map;
-                                               destX = Integer.parseInt(params[0]);
-                                               destY = Integer.parseInt(params[1]);
-                                       }
-                                       if (lt.privs < 5 && destX >= map.getCols()) {
-                                               destX = map.getCols() - 1;
-                                       }
-                                       if (lt.privs < 5 && destY >= map.getRows()) {
-                                               destY = map.getRows() - 1;
-                                       }
-                                       if (destX < 0) {
-                                               destX = 0;
-                                       }
-                                       if (destY < 0) {
-                                               destY = 0;
-                                       }
-                                       lt.changeLocBypass(map, destX, destY);
-                               } catch (Exception e) {
-                                       LivingThing thnStore = game.getPlayer(args);
-                                       if (thnStore == null) {
-                                               return "Teleport to where?";
-                                       } else {
-                                               // Hmm, i'm not sure what this does, teleport to another player?
-                                               // Whats with the weird range checking?
-                                               int destX = thnStore.x;
-                                               int destY = thnStore.y;
-                                               if (lt.privs < 5 && destX > 349) {
-                                                       destX = 349;
-                                               }
-                                               if (lt.privs < 5 && destY > 349) {
-                                                       destY = 349;
-                                               }
-                                               if (destX < 0) {
-                                                       destX = 0;
-                                               }
-                                               if (destY < 0) {
-                                                       destY = 0;
-                                               }
-                                               lt.changeLocBypass(thnStore.map, destX, destY);
-                                       }
-                               }
-                               return null;
-                       }
-                       case "remove": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               if (args == null) {
-                                       return "remove what?";
-                               }
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               DuskObject objStore = lt.getLocalObject(args);
-                               if (objStore != null) {
-                                       if (objStore.isLivingThing()) {
-                                               LivingThing thnStore = (LivingThing) objStore;
-                                               if (thnStore.isMob()) {
-                                                       thnStore.close();
-                                                       game.blnMobListChanged = true;
-                                                       return "Object removed.";
-                                               } else {
-                                                       return "You can't remove players/pets.";
-                                               }
-                                       } else if (objStore.isItem()) {
-                                               //game.vctItems.remove(objStore);
-                                               game.removeDuskObject(objStore);
-                                               return "Object removed.";
-                                       } else if (objStore.isSign()) {
-                                               //game.vctSigns.remove(objStore);
-                                               //game.blnSignListChanged = true;
-                                               game.removeDuskObject(objStore);
-                                               return "Object removed.";
-                                       } else if (objStore.isProp()) {
-                                               //game.vctProps.removeElement(objStore);
-                                               //game.blnPropListChanged = true;
-                                               game.removeDuskObject(objStore);
-                                               return "Object removed.";
-                                       } else if (objStore.isMerchant()) {
-                                               //game.vctMerchants.remove(objStore);
-                                               //game.blnMerchantListChanged = true;
-                                               game.removeDuskObject(objStore);
-                                               return "Object removed.";
-                                       }
-                               }
-                               return "You don't see that here.";
-                       }
-                       case "changeclan": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               if (args == null) {
-                                       return "ChangeClan who?";
-                               }
-                               LivingThing thnStore = game.getPlayer(args.substring(0, args.indexOf(' ')));
-                               if (thnStore == null) {
-                                       return "They're not in this world";
-                               }
-                               if (cmdline.length() < thnStore.name.length() + 2) {
-                                       return "What clan?";
-                               }
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                               args = args.substring(thnStore.name.length() + 1);
-                               thnStore.clan = args;
-                               if (thnStore.privs == 1) {
-                                       thnStore.privs = 0;
-                               }
-                               if (args.equals("none")) {
-                                       thnStore.chatMessage("You are now a member of no clan.");
-                               } else {
-                                       thnStore.chatMessage("You are now a member of the " + args + " clan.");
-                               }
-                               return thnStore.name + " has been added to the " + args + " clan";
-                       }
-                       case "madd": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               if (args == null) {
-                                       return "Madd what?";
-                               }
-                               Merchant mrcStore = lt.overMerchant();
-                               if (mrcStore != null) {
-                                       game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                                       mrcStore.items.add(args);
-                                       game.refreshEntities(lt);
-                               } else {
-                                       if (lt.overPlayerMerchant() != null) {
-                                               return "You cannot add items to a player's merchant this way.";
-                                       }
-                                       return "You are not on a merchant.";
-                               }
-                               return null;
-                       }
-                       case "mremove": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               if (args == null) {
-                                       return "Mremove what?";
-                               }
-                               Merchant mrcStore = lt.overMerchant();
-                               if (mrcStore != null) {
-                                       game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-                                       mrcStore.items.remove(args);
-                                       game.refreshEntities(lt);
-                               } else {
-                                       if (lt.overPlayerMerchant() != null) {
-                                               return "You cannot remove items from a player's merchant this way.";
-                                       }
-                                       return "You are not on a merchant.";
-                               }
-                               return null;
-                       }
-                       case "whoip": {
-                               if (lt.privs <= 2)
-                                       return "Huh?";
-                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":" + cmdline + ":" + lt.x + "," + lt.y);
-
-                               int nPlayers = game.playersByName.size();
-                               StringBuilder sb = new StringBuilder();
-
-                               // TODO: this used to be atomic, does it need to be?
-
-                               for (LivingThing thnStore : game.playersByName.values()) {
-                                       boolean hidden = false;
-                                       if (thnStore.privs > 2) {
-                                               if (thnStore.hasCondition("invis")) {
-                                                       hidden = true;
-                                               }
-                                       }
-                                       if (hidden && (lt.privs < thnStore.privs)) {
-                                               nPlayers--;
-                                       }
-                               }
-
-                               lt.chatMessage("\tThere are " + nPlayers + " players online:");
-
-                               for (LivingThing thnStore : game.playersByName.values()) {
-                                       boolean hidden = false;
-                                       boolean skip = false;
-                                       if (thnStore.privs > 2) {
-                                               if (thnStore.hasCondition("invis")) {
-                                                       hidden = true;
-                                               }
-                                       }
-                                       if (hidden && (lt.privs < thnStore.privs)) {
-                                               skip = true;
-                                       }
-                                       if (!skip) {
-                                               String ip = thnStore.getAddress().toString();
-                                               while (ip.length() < 34) {
-                                                       ip += " ";
-                                               }
-                                               sb.setLength(0);
-                                               sb.append("   ").append(ip);
-                                               sb.append(thnStore.getCharacterPoints()).append("cp ");
-                                               if (thnStore.privs == 1) {
-                                                       sb.append("{Clan Leader}");
-                                               } else if (thnStore.privs == 3) {
-                                                       sb.append("{God}");
-                                               } else if (thnStore.privs == 4) {
-                                                       sb.append("{High God}");
-                                               } else if (thnStore.privs > 4) {
-                                                       sb.append("{Master God}");
-                                               }
-                                               if (hidden) {
-                                                       sb.append("{hidden}");
-                                               }
-                                               if (thnStore.noChannel != 0) {
-                                                       sb.append("{nochanneled}");
-                                               }
-                                               if (!thnStore.clan.equals("none")) {
-                                                       sb.append("<" + thnStore.clan + "> ");
-                                               }
-                                               sb.append(thnStore.name + "\n");
-                                               lt.chatMessage(sb.toString());
-                                       }
-                               }
-
-                               return null;
-                       }
-                       case "change": {
-                               if (lt.battle != null) {
-                                       return "Not while you're fighting!";
-                               }
-                               if (args == null) {
-                                       return "Change what?";
-                               }
-
-                               if (true)
-                                       return "Race changing unimplemented";
-
-                               if (args.equals("race")) {
-                                       if (lt.getCharacterPoints() > game.changeRaceCpLimit) {
-                                               return "You can no longer change your race.";
-                                       }
-                                       lt.unloadRace();
-
-                                       // FIXME: I'm not sure why this needs to clear messages here.
-/*
-                                        if (lt.isPet()) {
-
-                                        lt.getMaster().halt();
-                                        //                                     lt.getMaster().stillThere();  // This puts something in the buffer
-                                        //                                     lt.getMaster().thrConnection.sleep(750);  // wait for it...
-                                        try {
-                                        // Empty out the BufferedReader for the answer
-                                        //     while (lt.getMaster().instream.ready()) {
-                                        //             lt.getMaster().instream.readLine();
-                                        //     }
-                                        } catch (Exception e) {
-                                        game.log.printError("parseCommand():Trying to empty ready buffer of pet's master for change race.", e);
-                                        }
-                                        } else {
-                                        lt.halt();
-                                        //                                     lt.stillThere();  // This puts something in the buffer
-                                        //                                     lt.thrConnection.sleep(750);  // wait for it...
-                                        try {
-                                        // Empty out the BufferedReader for the answer
-                                        //     while (lt.instream.ready()) {
-                                        //             lt.instream.readLine();
-                                        //     }
-                                        } catch (Exception e) {
-                                        game.log.printError("parseCommand():Trying to empty ready buffer of player for change race.", e);
-                                        }
-                                        }
-                                        lt.loadRace();
-                                        if (lt.isPet()) {
-                                        lt.getMaster().proceed();
-                                        lt.getMaster().updateStats();
-                                        } else {
-                                        lt.proceed();
-                                        }
-                                        */
-                                       game.removeDuskObject(lt);
-                                       game.addDuskObject(lt.map, lt);
-                                       lt.updateStats();
-                                       return "Your race has been changed.";
-                               }
-                       }
-                               
-                               I am here!
-                               
-                       case "clan": {
-                               if (!lt.isPlayer() && !lt.isMob()) {
-                                       return "Only players can use the gossip/clan/tell channels.";
-                               }
-                               if (lt.clan.equals("none")) {
-                                       return "You're not in a clan. Use gossip instead";
-                               }
-                               if (lt.noChannel != 0) {
-                                       return "You can't do that when nochanneled.";
-                               }
-                               if (args == null) {
-                                       return "Clan what?";
-                               }
-                               if (args.length() > game.messagecap) {
-                                       return "That message was too long.";
-                               }
-                               if (!args.equals("")) {
-                                       long lTemp = lt.lastMessageStamp;
-                                       lt.lastMessageStamp = System.currentTimeMillis();
-                                       if ((System.currentTimeMillis() - lTemp) < game.floodLimit) {
-                                               return "No flooding.";
-                                       }
-                                       game.chatMessage(lt.name + " clans: " + args, lt.clan, lt.name);
-                               }
-                               return null;
-                       }
-
-                       case "emote": {
-                               if (args == null) {
-                                       return "Emote what?";
-                               }
-                               if (lt.noChannel != 0) {
-                                       return "You can't do that when nochanneled.";
-                               }
-                               if (args.length() > game.messagecap) {
-                                       return "That message was too long.";
-                               }
-                               if (!args.equals("")) {
-                                       long lTemp = lt.lastMessageStamp;
-                                       lt.lastMessageStamp = System.currentTimeMillis();
-                                       if ((System.currentTimeMillis() - lTemp) < game.floodLimit) {
-                                               return "No flooding.";
-                                       }
-                                       String strPerson = lt.name;
-                                       if (lt.privs > 2
-                                                       && lt.hasCondition("invis")
-                                                       && lt.hasCondition("invis2")) {
-                                               strPerson = "A god";
-                                       }
-                                       game.chatMessage(lt.map, strPerson + " " + args, lt.x, lt.y, lt.name);
-                               }
-                               return null;
-                       }
-                       case "tell": {
-                               if (!lt.isPlayer()) {
-                                       return "Only players can use the gossip/clan/tell channels.";
-                               }
-                               if (args == null) {
-                                       return "Tell who what?";
-                               }
-                               if (lt.noChannel != 0) {
-                                       return "You can't do that when nochanneled.";
-                               }
-                               StringTokenizer tknStore = new StringTokenizer(args, " ");
-                               String strStore2 = null;
-                               try {
-                                       strStore2 = tknStore.nextToken();
-                               } catch (Exception e) {
-                                       return "Tell who?";
-                               }
-                               LivingThing thnStore = game.getPlayer(strStore2);
-                               if (thnStore == null) {
-                                       return "They're not in this world.";
-                               }
-                               if (thnStore.privs > 2
-                                               && thnStore.hasCondition("invis")
-                                               && thnStore.hasCondition("invis2")) {
-                                       return "They're not in this world.";
-                               }
-                               if (thnStore.name.equalsIgnoreCase(lt.name)) {
-                                       return "Talking to yourself is not a good sign.";
-                               }
-                               String strIgnoreName = thnStore.name.toLowerCase();
-                               if (lt.ignoreList.contains(strIgnoreName)) {
-                                       return "You can't do that while you are ignoring them.";
-                               }
-                               strIgnoreName = lt.name.toLowerCase();
-                               if (thnStore.ignoreList.contains(strIgnoreName)) {
-                                       return "They did not get the message, they are ignoring you.";
-                               }
-                               args = args.substring(strStore2.length(), args.length()).trim();
-                               if (args.length() > game.messagecap) {
-                                       return "That message was too long.";
-                               }
-                               if (args.length() == 0) {
-                                       return "Tell them what?";
-                               }
-                               long lTemp = lt.lastMessageStamp;
-                               lt.lastMessageStamp = System.currentTimeMillis();
-                               if ((System.currentTimeMillis() - lTemp) < game.floodLimit) {
-                                       return "No flooding.";
-                               }
-                               String strPerson = lt.name;
-                               if (lt.privs > 2
-                                               && lt.hasCondition("invis")
-                                               && lt.hasCondition("invis2")) {
-                                       strPerson = "A god";
-                               }
-                               game.log.printMessage(Log.ALWAYS, lt.name + " tells " + thnStore.name + " : " + args);
-                               thnStore.chatMessage(strPerson + " tells you: " + args);
-                               return "You tell " + strStore2 + ": " + args;
-                       }
-                       case "who": {
-                               int nPlayers = game.playersByName.size();
-                               StringBuilder sb = new StringBuilder();
-
-                               // TOOD: originally this was atomic on stream
-                               // although 'atomic' is wrong since nobody else was atomic on stream
-
-                               for (LivingThing thnStore : game.playersByName.values()) {
-                                       boolean hidden = false;
-                                       if (thnStore.privs > 2) {
-                                               if (thnStore.hasCondition("invis")) {
-                                                       hidden = true;
-                                               }
-                                       }
-                                       if (hidden && (lt.privs < thnStore.privs)) {
-                                               nPlayers--;
-                                       }
-                                       if (lt.privs < 3 && !thnStore.isWorking) {
-                                               nPlayers--;
-                                       }
-                                       if (lt.privs < 3 && !thnStore.isReady) {
-                                               nPlayers--;
-                                       }
-                               }
-
-                               lt.chatMessage("\tThere are " + nPlayers + " players online:");
-
-                               for (LivingThing thnStore : game.playersByName.values()) {
-                                       boolean hidden = false;
-                                       boolean skip = false;
-                                       if (thnStore.privs > 2) {
-                                               if (thnStore.hasCondition("invis")) {
-                                                       hidden = true;
-                                               }
-                                       }
-                                       if (hidden && (lt.privs < thnStore.privs)) {
-                                               skip = true;
-                                       }
-                                       if (lt.privs < 3 && !thnStore.isWorking) {
-                                               skip = true;
-                                       }
-                                       if (lt.privs < 3 && !thnStore.isReady) {
-                                               skip = true;
-                                       }
-                                       System.out.println(" user " + thnStore.name + " skip " + skip);
-                                       if (!skip) {
-                                               sb.setLength(0);
-                                               sb.append("\t");
-                                               sb.append(thnStore.getCharacterPoints());
-                                               sb.append("cp ");
-                                               if (lt.privs > 2 && !thnStore.isWorking) {
-                                                       sb.append("{* Not Working *}");
-                                               }
-                                               if (lt.privs > 2 && !thnStore.isReady) {
-                                                       sb.append("{Entering the world}");
-                                               }
-                                               if (lt.privs > 2 && !thnStore.isSaveable) {
-                                                       sb.append("{Loading/Saving}");
-                                               }
-                                               if (thnStore.privs == 1) {
-                                                       sb.append("{Clan Leader}");
-                                               } else if (thnStore.privs == 3) {
-                                                       sb.append("{God}");
-                                               } else if (thnStore.privs == 4) {
-                                                       sb.append("{High God}");
-                                               } else if (thnStore.privs > 4) {
-                                                       sb.append("{Master God}");
-                                               }
-                                               if (hidden) {
-                                                       sb.append("{hidden}");
-                                               }
-                                               if (thnStore.noChannel != 0) {
-                                                       sb.append("{nochanneled}");
-                                               }
-                                               if (thnStore.ignoreList.contains(lt.name.toLowerCase())) {
-                                                       sb.append("{Ignoring you}");
-                                               }
-                                               if (lt.ignoreList.contains(thnStore.name.toLowerCase())) {
-                                                       sb.append("{Ignored}");
-                                               }
-                                               if (!thnStore.clan.equals("none")) {
-                                                       sb.append("<");
-                                                       sb.append(thnStore.clan);
-                                                       sb.append("> ");
-                                               }
-                                               if (thnStore.title == null
-                                                               || thnStore.title.equals("none")) {
-                                                       sb.append(thnStore.name);
-                                                       //sb.append("\n");
-                                               } else {
-                                                       sb.append(thnStore.name);
-                                                       sb.append(" ");
-                                                       sb.append(thnStore.title);
-                                                       //sb.append("\n");
-                                               }
-                                               lt.chatMessage(sb.toString());
-                                       }
-                               }
-                               return "Who complete.";
-                       }
-                               //kill
-                       case "order": {
-                               if (args == null) {
-                                       return "Order who to do what?";
-                               }
-                               int intStore = args.indexOf(" ");
-                               if (intStore == -1) {
-                                       return "Order them to do what?";
-                               }
-                               DuskObject objStore = lt.getLocalObject(args.substring(0, intStore));
-                               if (objStore == null) {
-                                       return "You don't see that here.";
-                               }
-                               if (!objStore.isLivingThing()) {
-                                       return "You can't order that.";
-                               }
-                               LivingThing thnStore = (LivingThing) objStore;
-                               if (thnStore.getCharmer() != lt) {
-                                       return "They don't take orders from you.";
-                               }
-                               args = args.substring(intStore + 1);
-                               try {
-                                       thnStore.chatMessage(Commands.parseCommand(thnStore, game, args));
-//                             lt.chatMessage(Commands.parseCommand(thnStore, engGame, strArgs));
-                               } catch (Exception e) {
-                                       game.log.printError("parseCommand():" + thnStore.name + ", while trying to follow the following order: \"" + args + "\"", e);
-                               }
-                               return null;
-                       }
-
-                       case "inv":
-                       case "inventory": {
-                               final String[] formats = {
-                                       "Wielded: %s",
-                                       "Arms: %s",
-                                       "Legs: %s",
-                                       "Torso: %s",
-                                       "Waist: %s",
-                                       "Neck: %s",
-                                       "Skull: %s",
-                                       "Eyes: %s",
-                                       "Hands: %s"};
-                               lt.chatMessage("-Worn-");
-                               for (int i = 0; i < formats.length; i++) {
-                                       Item item = lt.wornItems.getWorn(i);
-                                       if (item != null)
-                                               lt.chatMessage(String.format(formats[i], item.description));
-                               }
-                               lt.chatMessage("-Inventory-:");
-                               for (LinkedList<Item> list : lt.itemList.values()) {
-                                       if (!list.isEmpty()) {
-                                               Item item = (Item) list.element();
-                                               lt.chatMessage(list.size() + " " + item.name);
-                                       }
-                               }
-                               return null;
-                       }
-
-                       case "help": {
-                               File file;
-                               String title;
-
-                               // FIXME: was atomic
-                               if (args == null) {
-                                       file = new File("help");
-                                       title = "Help";
-                               } else {
-                                       if (args.indexOf("..") != -1) {
-                                               return "There is no help on that subject";
-                                       }
-                                       file = new File("helpFiles/" + args);
-                                       title = "Help on " + args;
-                               }
-
-                               try (RandomAccessFile helpFile = new RandomAccessFile(file, "r")) {
-                                       lt.chatMessage(title);
-                                       while ((cmdline = helpFile.readLine()) != null) {
-                                               lt.chatMessage(cmdline);
-                                       }
-                               } catch (IOException e) {
-                                       game.log.printError("parseCommand():When " + lt.name + " tried to get help on " + args, e);
-                                       return "There is no help on that subject";
-                               }
-                               return null;
-                       }
-
-                       case "get": {
-                               if (args == null) {
-                                       return "Get what?";
-                               }
-                               DuskObject objStore = lt.getLocalObject(args);
-                               if (objStore == null) {
-                                       return "You don't see that here.";
-                               }
-                               if (!objStore.isItem()) {
-                                       return "You can't get that.";
-                               }
-                               Item itmStore = (Item) objStore;
-                               if (Math.abs(lt.x - itmStore.x) + Math.abs(lt.y - itmStore.y) < 2) {
-                                       if (lt.privs > 2) {
-                                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":gets " + args + ":" + lt.x + "," + lt.y);
-                                       }
-                                       lt.itemList.addElement(itmStore);
-                                       lt.updateItems();
-                                       game.removeDuskObject(itmStore);
-                               } else {
-                                       return "That's too far away.";
-                               }
-                               itmStore.onGetItem(game, lt);
-                               return null;
-                       }
-
-                       case "drop": {
-                               if (args == null) {
-                                       return "Drop what?";
-                               }
-                               int intDot = args.indexOf(".");
-                               int intNumToDrop = 1;
-                               if (intDot != -1) {
-                                       try {
-                                               intNumToDrop = Integer.parseInt(args.substring(0, intDot));
-                                       } catch (NumberFormatException e) {
-                                               intNumToDrop = 1;
-                                       }
-                               }
-                               Item itmStore = lt.getItem(args);
-                               if (itmStore != null) {
-                                       String strMessage = "You drop " + itmStore.name + ".";
-                                       if (intNumToDrop > 1) {
-                                               strMessage = "You drop " + intNumToDrop + " " + itmStore.name + ".";
-                                       }
-                                       if (itmStore.intCost == 0) {
-                                               strMessage = "A " + itmStore.name + " vanishes into thin air.";
-                                               if (intNumToDrop > 1) {
-                                                       strMessage = intNumToDrop + " " + itmStore.name + " vanish into thin air.";
-                                               }
-                                       }
-                                       if (lt.privs > 2) {
-                                               game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":drops " + args + ":" + lt.x + "," + lt.y);
-                                       }
-                                       for (int i = 0; i < intNumToDrop; i++) {
-                                               itmStore = lt.getItemAndRemove(itmStore.name);
-                                               itmStore.x = lt.x;
-                                               itmStore.y = lt.y;
-                                               if (itmStore.intCost != 0) {
-                                                       //game.vctItems.add(itmStore);
-                                                       game.addDuskObject(lt.map, itmStore);
-                                                       lt.updateItems();
-                                               }
-                                               itmStore.onDropItem(game, lt);
-                                       }
-                                       return strMessage;
-                               }
-                               return "You don't have that.";
-                       }
-
-                       case "use": {
-                               if (args == null) {
-                                       return "Use what?";
-                               }
-                               if (lt.battle == null) {
-                                       lt.useItem(args, -1);
-                               } else {
-                                       lt.battle.addCommand(lt, "use " + args);
-                               }
-                               return null;
-                       }
-                       case "eat": {
-                               if (args == null) {
-                                       return "Eat what?";
-                               }
-                               if (lt.battle == null) {
-                                       lt.useItem(args, Item.FOOD);
-                               } else {
-                                       lt.battle.addCommand(lt, "eat " + args);
-                               }
-                               return null;
-                       }
-                       case "drink": {
-                               if (args == null) {
-                                       return "Drink what?";
-                               }
-                               if (lt.battle == null) {
-                                       lt.useItem(args, Item.DRINK);
-                               } else {
-                                       lt.battle.addCommand(lt, "drink " + args);
-                               }
-                               return null;
-                       }
-
-                       case "give": {
-                               if (args == null) {
-                                       return "Give who what?";
-                               }
-                               StringTokenizer tknStore = new StringTokenizer(args, " ");
-                               String strStore2 = null;
-                               try {
-                                       strStore2 = tknStore.nextToken();
-                               } catch (Exception e) {
-                                       return "Give who what?";
-                               }
-                               DuskObject objStore = lt.getLocalObject(strStore2);
-                               if (objStore == null) {
-                                       return "You don't see them here.";
-                               }
-                               if (!objStore.isLivingThing()) {
-                                       return "You can't give to that.";
-                               }
-                               LivingThing thnStore = (LivingThing) objStore;
-                               if ((lt.privs < 3) && (Math.abs(thnStore.x - lt.x) + Math.abs(thnStore.y - lt.y) > 1)) {
-                                       return "They're too far away.";
-                               }
-                               args = args.substring(strStore2.length() + 1);
-                               if (lt.privs > 2) {
-                                       game.log.printMessage(Log.INFO, "godcommand:" + lt.name + ":gives " + args + " to " + strStore2 + ":" + lt.x + "," + lt.y);
-                               }
-                               if (args.startsWith("gp")) {
-                                       args = args.substring(3);
-                                       try {
-                                               int intStore = Integer.parseInt(args);
-                                               if (intStore < 0) {
-                                                       return "You can't give negative money!";
-                                               }
-                                               if (intStore <= lt.cash) {
-                                                       lt.cash -= intStore;
-                                                       thnStore.cash += intStore;
-                                                       lt.updateStats();
-                                                       thnStore.updateStats();
-                                                       thnStore.chatMessage(lt.name + " gives you " + intStore + "gp.");
-                                                       return "You give " + thnStore.name + " " + intStore + "gp.";
-                                               } else {
-                                                       lt.chatMessage("You don't have that much gp");
-                                               }
-                                       } catch (Exception e) {
-                                               return "That is not a valid amount of gp to give.";
-                                       }
-                               }
-                               int intDot = args.indexOf(".");
-                               int intNumToGive = 1;
-                               if (intDot != -1) {
-                                       try {
-                                               intNumToGive = Integer.parseInt(args.substring(0, intDot));
-                                       } catch (NumberFormatException e) {
-                                               intNumToGive = 1;
-                                       }
-                               }
-                               Item itmStore = lt.getItem(args);
-                               if (itmStore != null) {
-                                       String strMessage = lt.name + " gives you ";
-                                       String strMessage2 = "You give " + thnStore.name + " ";
-                                       if (intNumToGive > 1) {
-                                               strMessage += intNumToGive + " ";
-                                               strMessage2 += intNumToGive + " ";
-                                       }
-                                       strMessage += itmStore.name + ".";
-                                       strMessage2 += itmStore.name + ".";
-                                       cmdline = itmStore.name;
-
-                                       while (intNumToGive > 0) {
-                                               itmStore = lt.getItemAndRemove(cmdline);
-                                               thnStore.itemList.addElement(itmStore);
-                                               intNumToGive--;
-
-                                               itmStore.onDropItem(game, lt);
-                                               itmStore.onGetItem(game, thnStore);
-                                       }
-
-                                       thnStore.chatMessage(strMessage);
-                                       thnStore.updateItems();
-                                       lt.updateItems();
-                                       return strMessage2;
-                               }
-                               return "You don't have that.";
-                       }
-
-                       case "buy": {
-                               if (args == null) {
-                                       return "Buy what?";
-                               }
-                               int quantity;
-                               try {
-                                       int i = args.indexOf(" ");
-                                       quantity = Integer.parseInt(args.substring(0, i));
-                                       args = args.substring(i + 1);
-                               } catch (Exception e) {
-                                       return "How many of what do you want to buy?";
-                               }
-                               if (quantity > 100) {
-                                       quantity = 100;
-                               } else if (quantity < 1) {
-                                       return "You can't buy less than one of something.";
-                               }
-                               PlayerMerchant pmrStore = lt.overPlayerMerchant();
-                               if (pmrStore != null) {
-                                       long numItem = pmrStore.contains(args);
-                                       if (numItem > 0) {
-                                               Item itmStore = game.getItem(args);
-                                               if (itmStore != null) {
-                                                       if (quantity > numItem) {
-                                                               return "This merchant does not have that many.";
-                                                       }
-                                                       int intCost = (itmStore.intCost * 3) / 4;
-                                                       if (lt.name.equalsIgnoreCase(pmrStore.strOwner)) {
-                                                               intCost = 0;
-                                                       }
-                                                       if (intCost * quantity > lt.cash) {
-                                                               return "You can't afford that";
-                                                       } else {
-                                                               lt.cash -= intCost * quantity;
-                                                               pmrStore.cash += intCost * quantity;
-                                                               itmStore = pmrStore.remove(args);
-                                                               lt.itemList.addElement(itmStore);
-                                                               for (int i = 1; i < quantity; i++) {
-                                                                       itmStore = pmrStore.remove(args);
-                                                                       lt.itemList.addElement(itmStore);
-                                                               }
-                                                               lt.updateItems();
-                                                               lt.updateStats();
-                                                       }
-                                               }
-                                       }
-                               }
-
-                               Merchant mrcStore = lt.overMerchant();
-                               if (mrcStore == null) {
-                                       return "Buy from whom?";
-                               }
-                               if (lt.getFollowing() != null && lt.getFollowing().isPet()) {
-                                       if (args.startsWith(lt.getFollowing().name + ":")) {
-                                               args = args.substring(lt.getFollowing().name.length() + 1);
-                                               if (mrcStore.contains(args)) {
-                                                       if (args.startsWith("train:")) {
-                                                               args = args.substring(6);
-                                                               mrcStore.train(args, quantity, lt.getFollowing());
-                                                               lt.updateStats();
-                                                       }
-                                               }
-                                               return null;
-                                       }
-                               }
-                               if (mrcStore.contains(args)) {
-                                       if (args.startsWith("train:")) {
-                                               args = args.substring(6);
-                                               mrcStore.train(args, quantity, lt);
-                                               lt.updateStats();
-                                       } else {
-                                               if (args.startsWith("pet")) {
-                                                       mrcStore.pet(lt);
-                                                       lt.updateStats();
-                                               } else {
-                                                       Item itmStore = game.getItem(args);
-                                                       if (itmStore != null) {
-                                                               if (itmStore.intCost * quantity > lt.cash) {
-                                                                       return "You can't afford that";
-                                                               } else {
-                                                                       lt.cash -= itmStore.intCost * quantity;
-                                                                       lt.itemList.addElement(itmStore);
-                                                                       for (int i = 1; i < quantity; i++) {
-                                                                               lt.itemList.addElement(game.getItem(args));
-                                                                       }
-                                                                       lt.updateItems();
-                                                                       lt.updateStats();
-                                                               }
-                                                       }
-                                               }
-                                       }
-                               }
-                               return null;
-                       }
-
-                       case "sell": {
-                               if (args == null) {
-                                       return "Sell what?";
-                               }
-
-                               PlayerMerchant pmrStore = lt.overPlayerMerchant();
-                               if (pmrStore != null) {
-                                       if (lt.name.equalsIgnoreCase(pmrStore.strOwner)) {
-                                               int quantity = 1;
-                                               try {
-                                                       int i = args.indexOf(" ");
-                                                       quantity = Integer.parseInt(args.substring(0, i));
-                                                       args = args.substring(i + 1);
-                                               } catch (Exception e) {
-                                                       return "How many of what do you want to sell?";
-                                               }
-                                               Item itmStore = lt.getItem(args);
-                                               for (int i = 0; i < quantity; i++) {
-                                                       itmStore = lt.getItemAndRemove(args);
-                                                       if (itmStore != null) {
-                                                               itmStore.onDropItem(game, lt);
-                                                               pmrStore.add(itmStore);
-                                                               lt.isSaveNeeded = true;
-                                                       } else {
-                                                               i = quantity;
-                                                       }
-                                               }
-                                               lt.updateItems();
-                                               lt.updateStats();
-                                               return null;
-                                       }
-                                       return "You cannot sell items to this merchant.";
-                               }
-
-                               Merchant mrcStore = lt.overMerchant();
-                               if (mrcStore == null) {
-                                       return "Sell that to whom?";
-                               }
-                               int quantity = 1;
-                               try {
-                                       int i = args.indexOf(" ");
-                                       quantity = Integer.parseInt(args.substring(0, i));
-                                       args = args.substring(i + 1);
-                               } catch (Exception e) {
-                                       return "How many of what do you want to sell?";
-                               }
-                               if (quantity > 100) {
-                                       quantity = 100;
-                               }
-                               Item itmStore = lt.getItem(args);
-                               for (int i = 0; i < quantity; i++) {
-                                       itmStore = lt.getItemAndRemove(args);
-                                       if (itmStore != null) {
-                                               itmStore.onDropItem(game, lt);
-                                               lt.cash += (itmStore.intCost / 2);
-                                               lt.isSaveNeeded = true;
-                                       } else {
-                                               i = quantity;
-                                       }
-                               }
-                               lt.updateItems();
-                               lt.updateStats();
-                               return null;
-                       }
-
-                       case "cast": {
-                               if (args == null) {
-                                       return "Cast what?";
-                               }
-                               if (lt.battle == null) {
-                                       lt.castSpell(args);
-                               } else {
-                                       lt.battle.addCommand(lt, "cast " + args);;
-                               }
-                               return null;
-                       }
-
-                       case "follow": {
-                               if (args == null) {
-                                       return "Follow who?";
-                               }
-                               if (lt.isSleeping) {
-                                       return "You can't do that while you're sleeping";
-                               }
-                               DuskObject objStore = lt.getLocalObject(args);
-                               if (objStore == null) {
-                                       return "You don't see that here.";
-                               }
-                               if (objStore.isLivingThing()) {
-                                       LivingThing thnStore = (LivingThing) objStore;
-                                       if (lt.getMaster() != null && thnStore != lt.getMaster()) {
-                                               if (lt.isPet()) {
-                                                       return "You can only follow your owner.";
-                                               }
-                                               return "You're already following someone. Leave them first.";
-                                       }
-                                       if (Math.abs(lt.x - thnStore.x) + Math.abs(lt.y - thnStore.y) > 1) {
-                                               return "They're too far away.";
-                                       }
-                                       if (thnStore == lt) {
-                                               return "You can't follow yourself.";
-                                       }
-                                       if (!thnStore.isPlayer() && !lt.isMob()) {
-                                               return "You can only follow players.";
-                                       }
-                                       if (thnStore.noFollow || (thnStore.isPet() && thnStore.getMaster().noFollow)) {
-                                               return "They won't let you follow them.";
-                                       }
-                                       if (lt.isPet()) {
-                                               thnStore.setFollowing(lt);
-                                               lt.setMaster(thnStore);
-                                               thnStore.updateStats();
-                                               lt.updateStats();
-                                               return "You are now following " + lt.getMaster().name + ".";
-                                       }
-                                       LivingThing thnStore2 = thnStore;
-                                       while (thnStore2 != null) {
-                                               if (lt == thnStore2) {
-                                                       return "You're already in that group.";
-                                               }
-                                               thnStore2 = thnStore2.getMaster();
-                                       }
-                                       thnStore.chatMessage("You are now being followed by " + lt.name + ".");
-                                       while (thnStore.getFollowing() != null) {
-                                               thnStore = thnStore.getFollowing();
-                                               if (thnStore.isPlayer()) {
-                                                       thnStore.chatMessage("You are now being followed by " + lt.name + ".");
-                                               }
-                                       }
-                                       thnStore.setFollowing(lt);
-                                       lt.setMaster(thnStore);
-                                       thnStore.updateStats();
-                                       lt.updateStats();
-                                       return "You are now following " + lt.getMaster().name + ".";
-                               }
-                               return "That's not something you can follow.";
-                       }
-
-                       case "unfollow": {
-                               if (args == null) {
-                                       return "Unfollow who?";
-                               }
-
-                               // FIXME: implemente unfollow
-                               if (true)
-                                       return "unfollow is not yet implemented";
-
-
-                               LivingThing thnStore = lt.getFollowing();
-                               if (thnStore != null && thnStore.isPet()) {
-                                       if (thnStore.name.equalsIgnoreCase(args)) {
-                                               /*
-                                                lt.halt();
-                                                lt.chatMessage("Do you really want to permanently erase your pet?");
-                                                try {
-                                                if (lt.instream.readLine().equalsIgnoreCase("yes")) {
-                                                lt.getFollowing().close();
-                                                File deleteme = new File("pets/" + lt.name.toLowerCase());
-                                                deleteme.delete();
-                                                deleteme = new File("pets/" + lt.name.toLowerCase() + ".backup");
-                                                deleteme.delete();
-                                                lt.getFollowing().close();
-                                                lt.setFollowing(lt.getFollowing().getFollowing());
-                                                lt.proceed();
-                                                return "Your pet has been erased.";
-                                                }
-                                                } catch (Exception e) {
-                                                game.log.printError("parseCommand():While unfollowing pet for " + lt.name, e);
-                                                }
-                                                lt.proceed();
-                                                * */
-                                               return null;
-                                       }
-                                       thnStore = thnStore.getFollowing();
-                               }
-                               while (thnStore != null) {
-                                       if (thnStore.name.equalsIgnoreCase(args)) {
-                                               if (thnStore.isPet()) {
-                                                       thnStore = thnStore.getMaster();
-                                               }
-                                               thnStore.removeFromGroup();
-                                               return null;
-                                       }
-                                       thnStore = thnStore.getFollowing();
-                               }
-                               return "They're not following you.";
-                       }
-
-                       case "stay": {
-                               if (lt.isPet()) {
-                                       lt.removeFromGroup();
-                                       return Commands.parseCommand(lt, game, "emote sits down to await " + lt.getMaster().name + "'s return.");
-                               }
-                               return (Commands.parseCommand(lt, game, "emote stays like a good little puppy."));
-                       }
-
-                       case "leave": {
-                               if (lt.isPet()) {
-                                       return "You cannot leave your master unless he unfollows you.";
-                               }
-                               lt.removeFromGroup();
-                               return "You are now on your own.";
-                       }
-
-                       case "unclan": {
-                               if (lt.clan.equals("none")) {
-                                       return "You're not in a clan.";
-                               }
-                               if (lt.battle != null) {
-                                       return "Wait until you're done battling.";
-                               }
-                               // FIXME: reimplement unclan
-                               if (true)
-                                       return "unclan not implemented yet";
-                               try {
-                                       /*
-                                        lt.halt();
-                                        lt.chatMessage("Are you sure you want to drop out of your clan? If so type yes.");
-                                        if (lt.instream.readLine().equalsIgnoreCase("yes")) {
-                                        lt.clan = "none";
-                                        if (lt.privs == 1) {
-                                        lt.privs = 0;
-                                        }
-                                        lt.proceed();
-                                        game.removeDuskObject(lt);
-                                        game.addDuskObject(lt);
-                                        return "You have been removed from your clan.";
-                                        }*/
-                               } catch (Exception e) {
-                                       game.log.printError("parseCommand():While " + lt.name + " was trying to dropout of their clan", e);
-                               }
-                               //lt.proceed();
-                               return null;
-                       }
-
-                       case "description": {
-                               if (args == null) {
-                                       lt.description = null;
-                                       return "Your description has been removed.";
-                               }
-                               lt.description = args;
-                               return "Your description has been set to:" + lt.description;
-                       }
-
-                       case "title": {
-                               if (!lt.isPlayer()) {
-                                       return "Only players may have titles.";
-                               }
-                               if (args == null) {
-                                       lt.title = null;
-                                       return "Your title has been removed.";
-                               }
-                               lt.title = args;
-                               if (lt.title.length() > game.titlecap) {
-                                       lt.title = lt.title.substring(0, game.titlecap);
-                               }
-                               return "Your title has been set to:" + lt.title;
-                       }
-
-                       case "password": {
-                               if (!lt.isPlayer()) {
-                                       return "Only players can change their password.";
-                               }
-                               return "password changing not re-implemented yet";
-                               /*
-                                try {
-                                lt.halt();
-                                lt.chatMessage("Enter your current password.");
-                                String strOldPass = lt.instream.readLine();
-                                if (!strOldPass.equals(lt.password)) {
-                                lt.proceed();
-                                return "Sorry, that is not your password.";
-                                }
-                                lt.chatMessage("Enter a new password.");
-                                String strNewPass = lt.instream.readLine();
-                                lt.chatMessage("Repeat that password.");
-                                String strNewPassRepeat = lt.instream.readLine();
-                                if (strNewPass == null) {
-                                lt.proceed();
-                                return "Not a valid password.";
-                                }
-                                if (!strNewPass.equals(strNewPassRepeat)) {
-                                lt.proceed();
-                                return "Sorry, those passwords do not match.";
-                                }
-                                lt.password = strNewPass;
-                                lt.proceed();
-                                return "Your password has now been changed.";
-                                } catch (Exception e) {
-                                game.log.printError("parseCommand():While " + lt.name + " was changing their password", e);
-                                }
-                                lt.proceed();
-                                */
-                       }
-
-                       case "wear": {
-                               if (args == null) {
-                                       return "Wear what?";
-                               }
-                               // FIXME: this should go on livingthing, but the interaction flow is messy
-                               LinkedList<Item> qStore = lt.itemList.get(args);
-                               if (qStore != null) {
-                                       Item itmStore = (Item) qStore.element();
-                                       int where = -1;
-
-                                       switch (itmStore.intType) {
-                                               case (1): {
-                                                       where = Equipment.WIELD;
-                                                       break;
-                                               }
-                                               case (2):
-                                                       where = itmStore.intKind + Equipment.ARMS;
-                                                       break;
-                                               default:
-                                                       return "You can't wear that";
-                                       }
-
-                                       Item old = lt.wornItems.wear(where, itmStore);
-                                       if (old != null) {
-                                               lt.itemList.addElement(old);
-                                               lt.onUnwear(old);
-                                       }
-                                       lt.onWear(itmStore);
-
-                                       lt.itemList.removeElement(itmStore.name);
-                                       if (lt.isPet()) {
-                                               lt.getMaster().updateStats();
-                                       }
-                                       if (lt.isPlayer()) {
-                                               lt.updateStats();
-                                       }
-                                       lt.updateEquipment();
-                                       lt.updateItems();
-                                       return null;
-                               }
-                               return "You don't have that";
-                       }
-                       case "unwear": {
-                               if (args == null) {
-                                       return "Unwear what?";
-                               }
-                               lt.unWear(args);
-                               return null;
-                       }
-                       case "rement": {
-                               if (args == null) {
-                                       return null;
-                               }
-                               long lngID = Long.parseLong(args);
-                               lt.removeEntity(lngID);
-                               return null;
-                       }
-                       case "audio": {
-                               if (args == null) {
-                                       if (lt.audioon) {
-                                               return "Your audio is turned on.";
-                                       }
-                                       return "Your audio is turned off.";
-                               } else if (args.equalsIgnoreCase("off")) {
-                                       lt.audioon = false;
-                                       return "Your audio has been turned off.";
-                               } else if (args.equalsIgnoreCase("on")) {
-                                       lt.audioon = true;
-                                       return "Your audio has been turned on.";
-                               }
-                       }
-                       case "color": {
-                               if (args == null) {
-                                       if (lt.coloron) {
-                                               return "Your color is turned on.";
-                                       }
-                                       return "Your color is turned off.";
-                               } else if (args.equalsIgnoreCase("off")) {
-                                       lt.coloron = false;
-                                       return "Your color has been turned off.";
-                               } else if (args.equalsIgnoreCase("on")) {
-                                       lt.coloron = true;
-                                       return "Your color has been turned on.";
-                               }
-                       }
-                       case "highlight": {
-                               if (args == null) {
-                                       if (lt.highlight) {
-                                               return "Highlighting of enemies in battle is turned on.";
-                                       }
-                                       return "Highlighting of enemies in battle is turned off.";
-                               } else if (args.equalsIgnoreCase("off")) {
-                                       lt.highlight = false;
-                                       lt.clearFlags();
-                                       return "Highlighting of enemies in battle has been turned off.";
-                               } else if (args.equalsIgnoreCase("on")) {
-                                       lt.highlight = true;
-                                       return "Highlighting of enemies in battle has been turned on.";
-                               }
-                       }
-                       case "popup": {
-                               // FIXME: TBD
-                               if (args == null) {
-                                       if (lt.popup) {
-                                               return "You have popup windows turned on.";
-                                       }
-                                       return "You have popup windows turned off.";
-                               } else if (args.equalsIgnoreCase("off")) {
-                                       lt.popup = false;
-                                       return "You have turned popup windows off.";
-                               } else if (args.equalsIgnoreCase("on")) {
-                                       lt.popup = true;
-                                       return "You have turned popup windows on.";
-                               }
-                       }
-                       case "nofollow": {
-                               if (args == null) {
-                                       if (lt.noFollow) {
-                                               return "You are not allowed to be followed.";
-                                       }
-                                       return "You can be followed.";
-                               } else if (args.equalsIgnoreCase("off")) {
-                                       lt.noFollow = false;
-                                       return "You can now be followed.";
-                               } else if (args.equalsIgnoreCase("on")) {
-                                       lt.noFollow = true;
-                                       return "You can no longer be followed.";
-                               }
-                       }
-                       case "ignore": {
-                               if (args == null) {
-                                       return "Ignore who?";
-                               }
-                               LivingThing thnStore = game.getPlayer(args);
-                               if (thnStore == null) {
-                                       return "They're not in this world.";
-                               }
-                               String strIgnoreName = thnStore.name.toLowerCase();
-                               if (lt.name.equalsIgnoreCase(strIgnoreName)) {
-                                       return "Trying to ignore yourself is not a good sign.";
-                               }
-                               if (thnStore.privs > 2) {
-                                       return "You cannot ignore a god.";
-                               }
-                               if (!lt.ignoreList.contains(strIgnoreName)) {
-                                       lt.ignoreList.add(strIgnoreName);
-                               } else {
-                                       return "You are already ignoring them.";
-                               }
-                               return "You are now ignoring " + strIgnoreName;
-                       }
-                       case "unignore": {
-                               if (args == null) {
-                                       return "UnIgnore who?";
-                               }
-                               String strIgnoreName = args.toLowerCase();
-                               if (strIgnoreName == "all") {
-                                       lt.ignoreList.clear();
-                                       return "You are no longer ignoring anyone.";
-                               }
-                               if (lt.ignoreList.contains(strIgnoreName)) {
-                                       lt.ignoreList.remove(strIgnoreName);
-                               } else {
-                                       return "You are not ignoring them.";
-                               }
-                               return "You are no longer ignoring " + strIgnoreName;
-                       }
-                       case "appletimages": {
-                               //lt.updateAppletImages();
-                               return "obsolete command";
-                       }
-                       case "applicationimages": {
-                               //lt.updateApplicationImages();
-                               return "obsolete command";
-                       }
-                       case "notdead": {
-                               return null;
-                       }
-                       case "quit":
-                       case "logout": {
-                               if (lt.battle == null) {
-                                       lt.close();
-                                       return null;
-                               }
-                               return "You cannot quit in the middle of a fight.";
-                       }
-               }
-               if (!blnFoundScriptedCommand) {
-                       return "huh?";
-               }
-               return null;
-       }
-}
diff --git a/DuskServer/README b/DuskServer/README
deleted file mode 100644 (file)
index ad770de..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-
-CODE STATUS September 2013
---------------------------
-
-After a very active development period the work simply stopped - so it
-is in a bit of a half-way state as you'd imagine.  Other time
-pressures and interests meant I haven't had time to work on this for
-months but I hope to again one day in some shape or form.
-
-Essentially the code in duskz/server and duskz/server/entity is the
-original Dusk code which has been refactored a bit (badly), updated to
-newer Java and a new protocol (I think), but more or less shares the
-original features and data format.  It's basically a dead branch.
-
-The code in dusk/server/entityz is mostly a complete re-write of the
-object class hierarchy, data i/o, map handling and a few other things.
-Unfortunately as it was in active development when it stopped it too
-isn't entirely in a good state either. 
-
-I think the object heirarchy is pretty good, and the script system was
-"upgraded" to javascript but there is a ton of work left to make it
-usable.  In hindsight i should've gone straight to a database
-(berkeleydb) backend as too much of the entity code is dealing with
-i/o.
-
-The original readme follows ...
-
-README
-------
-
-This is the server implementation of DuskZ.  A client is required
-to access the game.
-
-It is a fork and major overhaul of the Dusk 2.7.3 source code, released
-circa 2000.
-
-This is currently in an alpha state.
-
- ... to be completed ...
-
-INSTALLATION
-------------
- ... to be completed ...
-
-RUNNING
--------
- ... to be completed ...
-
-LICENSE
--------
-  DuskZ is free software, see COPYING for your rights.
-
-  Some files are under other compatible licenses.
-
-  Copyright (C) 2000 Tom Weingarten <captaint@home.com>
-  Copyright (C) 2013 Michael Zucchi <notzed@gmail.com>
-   DuskZ is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   as published by the Free Software Foundation; either version 2
-   of the License, or (at your option) any later version.
-   DuskZ is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   You should have received a copy of the GNU General Public License
-   along with DuskZ; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
\ No newline at end of file
diff --git a/DuskServer/build.xml b/DuskServer/build.xml
deleted file mode 100644 (file)
index c74d44f..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- You may freely edit this file. See commented blocks below for -->
-<!-- some examples of how to customize the build. -->
-<!-- (If you delete it and reopen the project it will be recreated.) -->
-<!-- By default, only the Clean and Build commands use this build script. -->
-<!-- Commands such as Run, Debug, and Test only use this build script if -->
-<!-- the Compile on Save feature is turned off for the project. -->
-<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
-<!-- in the project's Project Properties dialog box.-->
-<project name="DuskServer" default="default" basedir=".">
-    <description>Builds, tests, and runs the project DuskServer.</description>
-    <import file="nbproject/build-impl.xml"/>
-    <!--
-
-    There exist several targets which are by default empty and which can be 
-    used for execution of your tasks. These targets are usually executed 
-    before and after some main targets. They are: 
-
-      -pre-init:                 called before initialization of project properties
-      -post-init:                called after initialization of project properties
-      -pre-compile:              called before javac compilation
-      -post-compile:             called after javac compilation
-      -pre-compile-single:       called before javac compilation of single file
-      -post-compile-single:      called after javac compilation of single file
-      -pre-compile-test:         called before javac compilation of JUnit tests
-      -post-compile-test:        called after javac compilation of JUnit tests
-      -pre-compile-test-single:  called before javac compilation of single JUnit test
-      -post-compile-test-single: called after javac compilation of single JUunit test
-      -pre-jar:                  called before JAR building
-      -post-jar:                 called after JAR building
-      -post-clean:               called after cleaning build products
-
-    (Targets beginning with '-' are not intended to be called on their own.)
-
-    Example of inserting an obfuscator after compilation could look like this:
-
-        <target name="-post-compile">
-            <obfuscate>
-                <fileset dir="${build.classes.dir}"/>
-            </obfuscate>
-        </target>
-
-    For list of available properties check the imported 
-    nbproject/build-impl.xml file. 
-
-
-    Another way to customize the build is by overriding existing main targets.
-    The targets of interest are: 
-
-      -init-macrodef-javac:     defines macro for javac compilation
-      -init-macrodef-junit:     defines macro for junit execution
-      -init-macrodef-debug:     defines macro for class debugging
-      -init-macrodef-java:      defines macro for class execution
-      -do-jar-with-manifest:    JAR building (if you are using a manifest)
-      -do-jar-without-manifest: JAR building (if you are not using a manifest)
-      run:                      execution of project 
-      -javadoc-build:           Javadoc generation
-      test-report:              JUnit report generation
-
-    An example of overriding the target for project execution could look like this:
-
-        <target name="run" depends="DuskServer-impl.jar">
-            <exec dir="bin" executable="launcher.exe">
-                <arg file="${dist.jar}"/>
-            </exec>
-        </target>
-
-    Notice that the overridden target depends on the jar target and not only on 
-    the compile target as the regular run target does. Again, for a list of available 
-    properties which you can use, check the target you are overriding in the
-    nbproject/build-impl.xml file. 
-
-    -->
-</project>
diff --git a/DuskServer/manifest.mf b/DuskServer/manifest.mf
deleted file mode 100644 (file)
index 328e8e5..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-X-COMMENT: Main-Class will be added automatically by build
-
diff --git a/DuskServer/nbproject/build-impl.xml b/DuskServer/nbproject/build-impl.xml
deleted file mode 100644 (file)
index d26c819..0000000
+++ /dev/null
@@ -1,1425 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-*** GENERATED FROM project.xml - DO NOT EDIT  ***
-***         EDIT ../build.xml INSTEAD         ***
-
-For the purpose of easier reading the script
-is divided into following sections:
-
-  - initialization
-  - compilation
-  - jar
-  - execution
-  - debugging
-  - javadoc
-  - test compilation
-  - test execution
-  - test debugging
-  - applet
-  - cleanup
-
-        -->
-<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="DuskServer-impl">
-    <fail message="Please build using Ant 1.8.0 or higher.">
-        <condition>
-            <not>
-                <antversion atleast="1.8.0"/>
-            </not>
-        </condition>
-    </fail>
-    <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
-    <!-- 
-                ======================
-                INITIALIZATION SECTION 
-                ======================
-            -->
-    <target name="-pre-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="-pre-init" name="-init-private">
-        <property file="nbproject/private/config.properties"/>
-        <property file="nbproject/private/configs/${config}.properties"/>
-        <property file="nbproject/private/private.properties"/>
-    </target>
-    <target depends="-pre-init,-init-private" name="-init-user">
-        <property file="${user.properties.file}"/>
-        <!-- The two properties below are usually overridden -->
-        <!-- by the active platform. Just a fallback. -->
-        <property name="default.javac.source" value="1.4"/>
-        <property name="default.javac.target" value="1.4"/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user" name="-init-project">
-        <property file="nbproject/configs/${config}.properties"/>
-        <property file="nbproject/project.properties"/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
-        <available file="${manifest.file}" property="manifest.available"/>
-        <condition property="splashscreen.available">
-            <and>
-                <not>
-                    <equals arg1="${application.splash}" arg2="" trim="true"/>
-                </not>
-                <available file="${application.splash}"/>
-            </and>
-        </condition>
-        <condition property="main.class.available">
-            <and>
-                <isset property="main.class"/>
-                <not>
-                    <equals arg1="${main.class}" arg2="" trim="true"/>
-                </not>
-            </and>
-        </condition>
-        <condition property="manifest.available+main.class">
-            <and>
-                <isset property="manifest.available"/>
-                <isset property="main.class.available"/>
-            </and>
-        </condition>
-        <condition property="do.archive">
-            <not>
-                <istrue value="${jar.archive.disabled}"/>
-            </not>
-        </condition>
-        <condition property="do.mkdist">
-            <and>
-                <isset property="do.archive"/>
-                <isset property="libs.CopyLibs.classpath"/>
-                <not>
-                    <istrue value="${mkdist.disabled}"/>
-                </not>
-            </and>
-        </condition>
-        <condition property="manifest.available+main.class+mkdist.available">
-            <and>
-                <istrue value="${manifest.available+main.class}"/>
-                <isset property="do.mkdist"/>
-            </and>
-        </condition>
-        <condition property="do.archive+manifest.available">
-            <and>
-                <isset property="manifest.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+main.class.available">
-            <and>
-                <isset property="main.class.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+splashscreen.available">
-            <and>
-                <isset property="splashscreen.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+manifest.available+main.class">
-            <and>
-                <istrue value="${manifest.available+main.class}"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="manifest.available-mkdist.available">
-            <or>
-                <istrue value="${manifest.available}"/>
-                <isset property="do.mkdist"/>
-            </or>
-        </condition>
-        <condition property="manifest.available+main.class-mkdist.available">
-            <or>
-                <istrue value="${manifest.available+main.class}"/>
-                <isset property="do.mkdist"/>
-            </or>
-        </condition>
-        <condition property="have.tests">
-            <or>
-                <available file="${test.src.dir}"/>
-            </or>
-        </condition>
-        <condition property="have.sources">
-            <or>
-                <available file="${src.dir}"/>
-            </or>
-        </condition>
-        <condition property="netbeans.home+have.tests">
-            <and>
-                <isset property="netbeans.home"/>
-                <isset property="have.tests"/>
-            </and>
-        </condition>
-        <condition property="no.javadoc.preview">
-            <and>
-                <isset property="javadoc.preview"/>
-                <isfalse value="${javadoc.preview}"/>
-            </and>
-        </condition>
-        <property name="run.jvmargs" value=""/>
-        <property name="run.jvmargs.ide" value=""/>
-        <property name="javac.compilerargs" value=""/>
-        <property name="work.dir" value="${basedir}"/>
-        <condition property="no.deps">
-            <and>
-                <istrue value="${no.dependencies}"/>
-            </and>
-        </condition>
-        <property name="javac.debug" value="true"/>
-        <property name="javadoc.preview" value="true"/>
-        <property name="application.args" value=""/>
-        <property name="source.encoding" value="${file.encoding}"/>
-        <property name="runtime.encoding" value="${source.encoding}"/>
-        <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
-            <and>
-                <isset property="javadoc.encoding"/>
-                <not>
-                    <equals arg1="${javadoc.encoding}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <property name="javadoc.encoding.used" value="${source.encoding}"/>
-        <property name="includes" value="**"/>
-        <property name="excludes" value=""/>
-        <property name="do.depend" value="false"/>
-        <condition property="do.depend.true">
-            <istrue value="${do.depend}"/>
-        </condition>
-        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
-        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
-            <length length="0" string="${endorsed.classpath}" when="greater"/>
-        </condition>
-        <condition else="false" property="jdkBug6558476">
-            <and>
-                <matches pattern="1\.[56]" string="${java.specification.version}"/>
-                <not>
-                    <os family="unix"/>
-                </not>
-            </and>
-        </condition>
-        <property name="javac.fork" value="${jdkBug6558476}"/>
-        <property name="jar.index" value="false"/>
-        <property name="jar.index.metainf" value="${jar.index}"/>
-        <property name="copylibs.rebase" value="true"/>
-        <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
-        <condition property="junit.available">
-            <or>
-                <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
-                <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
-            </or>
-        </condition>
-        <condition property="testng.available">
-            <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
-        </condition>
-        <condition property="junit+testng.available">
-            <and>
-                <istrue value="${junit.available}"/>
-                <istrue value="${testng.available}"/>
-            </and>
-        </condition>
-        <condition else="testng" property="testng.mode" value="mixed">
-            <istrue value="${junit+testng.available}"/>
-        </condition>
-        <condition else="" property="testng.debug.mode" value="-mixed">
-            <istrue value="${junit+testng.available}"/>
-        </condition>
-    </target>
-    <target name="-post-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
-        <fail unless="src.dir">Must set src.dir</fail>
-        <fail unless="test.src.dir">Must set test.src.dir</fail>
-        <fail unless="build.dir">Must set build.dir</fail>
-        <fail unless="dist.dir">Must set dist.dir</fail>
-        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
-        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
-        <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
-        <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
-        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
-        <fail unless="dist.jar">Must set dist.jar</fail>
-    </target>
-    <target name="-init-macrodef-property">
-        <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute name="name"/>
-            <attribute name="value"/>
-            <sequential>
-                <property name="@{name}" value="${@{value}}"/>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
-        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <attribute default="${javac.processorpath}" name="processorpath"/>
-            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="${javac.debug}" name="debug"/>
-            <attribute default="${empty.dir}" name="sourcepath"/>
-            <attribute default="${empty.dir}" name="gensrcdir"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.dir}/empty" name="empty.dir"/>
-                <mkdir dir="${empty.dir}"/>
-                <mkdir dir="@{apgeneratedsrcdir}"/>
-                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
-                    <src>
-                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
-                            <include name="*"/>
-                        </dirset>
-                    </src>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <compilerarg line="${javac.compilerargs}"/>
-                    <compilerarg value="-processorpath"/>
-                    <compilerarg path="@{processorpath}:${empty.dir}"/>
-                    <compilerarg line="${ap.processors.internal}"/>
-                    <compilerarg line="${annotation.processing.processor.options}"/>
-                    <compilerarg value="-s"/>
-                    <compilerarg path="@{apgeneratedsrcdir}"/>
-                    <compilerarg line="${ap.proc.none.internal}"/>
-                    <customize/>
-                </javac>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
-        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <attribute default="${javac.processorpath}" name="processorpath"/>
-            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="${javac.debug}" name="debug"/>
-            <attribute default="${empty.dir}" name="sourcepath"/>
-            <attribute default="${empty.dir}" name="gensrcdir"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.dir}/empty" name="empty.dir"/>
-                <mkdir dir="${empty.dir}"/>
-                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
-                    <src>
-                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
-                            <include name="*"/>
-                        </dirset>
-                    </src>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <compilerarg line="${javac.compilerargs}"/>
-                    <customize/>
-                </javac>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
-        <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <sequential>
-                <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                </depend>
-            </sequential>
-        </macrodef>
-        <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <sequential>
-                <fail unless="javac.includes">Must set javac.includes</fail>
-                <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
-                    <path>
-                        <filelist dir="@{destdir}" files="${javac.includes}"/>
-                    </path>
-                    <globmapper from="*.java" to="*.class"/>
-                </pathconvert>
-                <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
-                <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
-                <delete>
-                    <files includesfile="${javac.includesfile.binary}"/>
-                </delete>
-                <delete>
-                    <fileset file="${javac.includesfile.binary}"/>
-                </delete>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${junit.available}" name="-init-macrodef-junit-init">
-        <condition else="false" property="nb.junit.batch" value="true">
-            <and>
-                <istrue value="${junit.available}"/>
-                <not>
-                    <isset property="test.method"/>
-                </not>
-            </and>
-        </condition>
-        <condition else="false" property="nb.junit.single" value="true">
-            <and>
-                <istrue value="${junit.available}"/>
-                <isset property="test.method"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-init-test-properties">
-        <property name="test.binaryincludes" value="&lt;nothing&gt;"/>
-        <property name="test.binarytestincludes" value=""/>
-        <property name="test.binaryexcludes" value=""/>
-    </target>
-    <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
-        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
-                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
-        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
-                    <batchtest todir="${build.test.results.dir}">
-                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
-                            <filename name="@{testincludes}"/>
-                        </fileset>
-                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
-                            <filename name="${test.binarytestincludes}"/>
-                        </fileset>
-                    </batchtest>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
-    <target if="${testng.available}" name="-init-macrodef-testng">
-        <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
-                    <isset property="test.method"/>
-                </condition>
-                <union id="test.set">
-                    <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
-                        <filename name="@{testincludes}"/>
-                    </fileset>
-                </union>
-                <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
-                <testng classfilesetref="test.set" failureProperty="tests.failed" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="DuskServer" testname="TestNG tests" workingDir="${work.dir}">
-                    <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
-                    <propertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </propertyset>
-                    <customize/>
-                </testng>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-test-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <echo>No tests executed.</echo>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:testng>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
-        <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <sequential>
-                <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize>
-                        <classpath>
-                            <path path="${run.test.classpath}"/>
-                        </classpath>
-                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                        <jvmarg line="${run.jvmargs}"/>
-                        <jvmarg line="${run.jvmargs.ide}"/>
-                    </customize>
-                </j2seproject3:test-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
-        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
-                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
-        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
-                    <batchtest todir="${build.test.results.dir}">
-                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
-                            <filename name="@{testincludes}"/>
-                        </fileset>
-                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
-                            <filename name="${test.binarytestincludes}"/>
-                        </fileset>
-                    </batchtest>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
-        <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:junit-debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${testng.available}" name="-init-macrodef-testng-debug">
-        <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <element name="customize2" optional="true"/>
-            <sequential>
-                <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
-                    <isset property="test.method"/>
-                </condition>
-                <condition else="-suitename DuskServer -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
-                    <matches pattern=".*\.xml" string="@{testClass}"/>
-                </condition>
-                <delete dir="${build.test.results.dir}" quiet="true"/>
-                <mkdir dir="${build.test.results.dir}"/>
-                <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
-                    <customize>
-                        <customize2/>
-                        <jvmarg value="-ea"/>
-                        <arg line="${testng.debug.mode}"/>
-                        <arg line="-d ${build.test.results.dir}"/>
-                        <arg line="-listener org.testng.reporters.VerboseReporter"/>
-                        <arg line="${testng.cmd.args}"/>
-                    </customize>
-                </j2seproject3:debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
-        <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <element implicit="true" name="customize2" optional="true"/>
-            <sequential>
-                <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
-                    <customize2/>
-                </j2seproject3:testng-debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
-        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <sequential>
-                <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize>
-                        <classpath>
-                            <path path="${run.test.classpath}"/>
-                        </classpath>
-                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                        <jvmarg line="${run.jvmargs}"/>
-                        <jvmarg line="${run.jvmargs.ide}"/>
-                    </customize>
-                </j2seproject3:test-debug-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
-        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <sequential>
-                <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
-                    <customize2>
-                        <syspropertyset>
-                            <propertyref prefix="test-sys-prop."/>
-                            <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                        </syspropertyset>
-                    </customize2>
-                </j2seproject3:testng-debug-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
-    <!--
-                pre NB7.2 profiling section; consider it deprecated
-            -->
-    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
-    <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
-        <macrodef name="resolve">
-            <attribute name="name"/>
-            <attribute name="value"/>
-            <sequential>
-                <property name="@{name}" value="${env.@{value}}"/>
-            </sequential>
-        </macrodef>
-        <macrodef name="profile">
-            <attribute default="${main.class}" name="classname"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property environment="env"/>
-                <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
-                <java classname="@{classname}" dir="${profiler.info.dir}" fork="true" jvm="${profiler.info.jvm}">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
-                    <jvmarg line="${profiler.info.jvmargs}"/>
-                    <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
-                    <arg line="${application.args}"/>
-                    <classpath>
-                        <path path="${run.classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
-        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
-        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
-    </target>
-    <!--
-                end of pre NB7.2 profiling section
-            -->
-    <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
-        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${main.class}" name="name"/>
-            <attribute default="${debug.classpath}" name="classpath"/>
-            <attribute default="" name="stopclassname"/>
-            <sequential>
-                <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                </nbjpdastart>
-            </sequential>
-        </macrodef>
-        <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${build.classes.dir}" name="dir"/>
-            <sequential>
-                <nbjpdareload>
-                    <fileset dir="@{dir}" includes="${fix.classes}">
-                        <include name="${fix.includes}*.class"/>
-                    </fileset>
-                </nbjpdareload>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-debug-args">
-        <property name="version-output" value="java version &quot;${ant.java.version}"/>
-        <condition property="have-jdk-older-than-1.4">
-            <or>
-                <contains string="${version-output}" substring="java version &quot;1.0"/>
-                <contains string="${version-output}" substring="java version &quot;1.1"/>
-                <contains string="${version-output}" substring="java version &quot;1.2"/>
-                <contains string="${version-output}" substring="java version &quot;1.3"/>
-            </or>
-        </condition>
-        <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
-            <istrue value="${have-jdk-older-than-1.4}"/>
-        </condition>
-        <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
-            <os family="windows"/>
-        </condition>
-        <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
-            <isset property="debug.transport"/>
-        </condition>
-    </target>
-    <target depends="-init-debug-args" name="-init-macrodef-debug">
-        <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="classname"/>
-            <attribute default="${debug.classpath}" name="classpath"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <java classname="@{classname}" dir="${work.dir}" fork="true">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
-                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
-                    <jvmarg line="${run.jvmargs}"/>
-                    <jvmarg line="${run.jvmargs.ide}"/>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-java">
-        <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${main.class}" name="classname"/>
-            <attribute default="${run.classpath}" name="classpath"/>
-            <attribute default="jvm" name="jvm"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <java classname="@{classname}" dir="${work.dir}" fork="true">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
-                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
-                    <jvmarg line="${run.jvmargs}"/>
-                    <jvmarg line="${run.jvmargs.ide}"/>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-copylibs">
-        <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${manifest.file}" name="manifest"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
-                <pathconvert property="run.classpath.without.build.classes.dir">
-                    <path path="${run.classpath}"/>
-                    <map from="${build.classes.dir.resolved}" to=""/>
-                </pathconvert>
-                <pathconvert pathsep=" " property="jar.classpath">
-                    <path path="${run.classpath.without.build.classes.dir}"/>
-                    <chainedmapper>
-                        <flattenmapper/>
-                        <filtermapper>
-                            <replacestring from=" " to="%20"/>
-                        </filtermapper>
-                        <globmapper from="*" to="lib/*"/>
-                    </chainedmapper>
-                </pathconvert>
-                <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
-                <copylibs compress="${jar.compress}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
-                    <fileset dir="${build.classes.dir}"/>
-                    <manifest>
-                        <attribute name="Class-Path" value="${jar.classpath}"/>
-                        <customize/>
-                    </manifest>
-                </copylibs>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-presetdef-jar">
-        <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}">
-                <j2seproject1:fileset dir="${build.classes.dir}"/>
-            </jar>
-        </presetdef>
-    </target>
-    <target name="-init-ap-cmdline-properties">
-        <property name="annotation.processing.enabled" value="true"/>
-        <property name="annotation.processing.processors.list" value=""/>
-        <property name="annotation.processing.processor.options" value=""/>
-        <property name="annotation.processing.run.all.processors" value="true"/>
-        <property name="javac.processorpath" value="${javac.classpath}"/>
-        <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
-        <condition property="ap.supported.internal" value="true">
-            <not>
-                <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
-            </not>
-        </condition>
-    </target>
-    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported">
-        <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
-            <isfalse value="${annotation.processing.run.all.processors}"/>
-        </condition>
-        <condition else="" property="ap.proc.none.internal" value="-proc:none">
-            <isfalse value="${annotation.processing.enabled}"/>
-        </condition>
-    </target>
-    <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
-        <property name="ap.cmd.line.internal" value=""/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
-    <!--
-                ===================
-                COMPILATION SECTION
-                ===================
-            -->
-    <target name="-deps-jar-init" unless="built-jar.properties">
-        <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
-        <delete file="${built-jar.properties}" quiet="true"/>
-    </target>
-    <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
-        <echo level="warn" message="Cycle detected: DuskServer was already built"/>
-    </target>
-    <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
-        <mkdir dir="${build.dir}"/>
-        <touch file="${built-jar.properties}" verbose="false"/>
-        <property file="${built-jar.properties}" prefix="already.built.jar."/>
-        <antcall target="-warn-already-built-jar"/>
-        <propertyfile file="${built-jar.properties}">
-            <entry key="${basedir}" value=""/>
-        </propertyfile>
-        <antcall target="-maybe-call-dep">
-            <param name="call.built.properties" value="${built-jar.properties}"/>
-            <param location="${project.DuskCommon}" name="call.subproject"/>
-            <param location="${project.DuskCommon}/build.xml" name="call.script"/>
-            <param name="call.target" value="jar"/>
-            <param name="transfer.built-jar.properties" value="${built-jar.properties}"/>
-        </antcall>
-    </target>
-    <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
-    <target depends="init" name="-check-automatic-build">
-        <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
-    </target>
-    <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
-        <antcall target="clean"/>
-    </target>
-    <target depends="init,deps-jar" name="-pre-pre-compile">
-        <mkdir dir="${build.classes.dir}"/>
-    </target>
-    <target name="-pre-compile">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="do.depend.true" name="-compile-depend">
-        <pathconvert property="build.generated.subdirs">
-            <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="*"/>
-            </dirset>
-        </pathconvert>
-        <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/>
-    </target>
-    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile">
-        <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
-        <copy todir="${build.classes.dir}">
-            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target if="has.persistence.xml" name="-copy-persistence-xml">
-        <mkdir dir="${build.classes.dir}/META-INF"/>
-        <copy todir="${build.classes.dir}/META-INF">
-            <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/>
-        </copy>
-    </target>
-    <target name="-post-compile">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
-    <target name="-pre-compile-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
-        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <j2seproject3:force-recompile/>
-        <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/>
-    </target>
-    <target name="-post-compile-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
-    <!--
-                ====================
-                JAR BUILDING SECTION
-                ====================
-            -->
-    <target depends="init" name="-pre-pre-jar">
-        <dirname file="${dist.jar}" property="dist.jar.dir"/>
-        <mkdir dir="${dist.jar.dir}"/>
-    </target>
-    <target name="-pre-jar">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive" name="-do-jar-without-manifest" unless="manifest.available-mkdist.available">
-        <j2seproject1:jar/>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class-mkdist.available">
-        <j2seproject1:jar manifest="${manifest.file}"/>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available">
-        <j2seproject1:jar manifest="${manifest.file}">
-            <j2seproject1:manifest>
-                <j2seproject1:attribute name="Main-Class" value="${main.class}"/>
-            </j2seproject1:manifest>
-        </j2seproject1:jar>
-        <echo level="info">To run this application from the command line without Ant, try:</echo>
-        <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
-        <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <pathconvert property="run.classpath.with.dist.jar">
-            <path path="${run.classpath}"/>
-            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
-        </pathconvert>
-        <echo level="info">java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
-    </target>
-    <target depends="init" if="do.archive" name="-do-jar-with-libraries-create-manifest" unless="manifest.available">
-        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
-        <touch file="${tmp.manifest.file}" verbose="false"/>
-    </target>
-    <target depends="init" if="do.archive+manifest.available" name="-do-jar-with-libraries-copy-manifest">
-        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
-        <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/>
-    </target>
-    <target depends="init,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest" if="do.archive+main.class.available" name="-do-jar-with-libraries-set-main">
-        <manifest file="${tmp.manifest.file}" mode="update">
-            <attribute name="Main-Class" value="${main.class}"/>
-        </manifest>
-    </target>
-    <target depends="init,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-with-libraries-set-splashscreen">
-        <basename file="${application.splash}" property="splashscreen.basename"/>
-        <mkdir dir="${build.classes.dir}/META-INF"/>
-        <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/>
-        <manifest file="${tmp.manifest.file}" mode="update">
-            <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
-        </manifest>
-    </target>
-    <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen" if="do.mkdist" name="-do-jar-with-libraries-pack">
-        <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
-        <echo level="info">To run this application from the command line without Ant, try:</echo>
-        <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <echo level="info">java -jar "${dist.jar.resolved}"</echo>
-    </target>
-    <target depends="-do-jar-with-libraries-pack" if="do.archive" name="-do-jar-with-libraries-delete-manifest">
-        <delete>
-            <fileset file="${tmp.manifest.file}"/>
-        </delete>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen,-do-jar-with-libraries-pack,-do-jar-with-libraries-delete-manifest" name="-do-jar-with-libraries"/>
-    <target name="-post-jar">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar" description="Build JAR." name="jar"/>
-    <!--
-                =================
-                EXECUTION SECTION
-                =================
-            -->
-    <target depends="init,compile" description="Run a main class." name="run">
-        <j2seproject1:java>
-            <customize>
-                <arg line="${application.args}"/>
-            </customize>
-        </j2seproject1:java>
-    </target>
-    <target name="-do-not-recompile">
-        <property name="javac.includes.binary" value=""/>
-    </target>
-    <target depends="init,compile-single" name="run-single">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <j2seproject1:java classname="${run.class}"/>
-    </target>
-    <target depends="init,compile-test-single" name="run-test-with-main">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
-    </target>
-    <!--
-                =================
-                DEBUGGING SECTION
-                =================
-            -->
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger">
-        <j2seproject1:nbjpdastart name="${debug.class}"/>
-    </target>
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
-        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
-    </target>
-    <target depends="init,compile" name="-debug-start-debuggee">
-        <j2seproject3:debug>
-            <customize>
-                <arg line="${application.args}"/>
-            </customize>
-        </j2seproject3:debug>
-    </target>
-    <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">
-        <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
-    </target>
-    <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
-    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
-        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
-        <j2seproject3:debug classname="${debug.class}"/>
-    </target>
-    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
-    <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
-        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
-        <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
-    </target>
-    <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
-    <target depends="init" name="-pre-debug-fix">
-        <fail unless="fix.includes">Must set fix.includes</fail>
-        <property name="javac.includes" value="${fix.includes}.java"/>
-    </target>
-    <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
-        <j2seproject1:nbjpdareload/>
-    </target>
-    <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
-    <!--
-                =================
-                PROFILING SECTION
-                =================
-            -->
-    <!--
-                pre NB7.2 profiler integration
-            -->
-    <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile/>
-    </target>
-    <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
-        <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile classname="${profile.class}"/>
-    </target>
-    <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </profile>
-    </target>
-    <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.test.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
-            <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
-            <jvmarg value="${profiler.info.jvmargs.agent}"/>
-            <jvmarg line="${profiler.info.jvmargs}"/>
-            <test name="${profile.class}"/>
-            <classpath>
-                <path path="${run.test.classpath}"/>
-            </classpath>
-            <syspropertyset>
-                <propertyref prefix="test-sys-prop."/>
-                <mapper from="test-sys-prop.*" to="*" type="glob"/>
-            </syspropertyset>
-            <formatter type="brief" usefile="false"/>
-            <formatter type="xml"/>
-        </junit>
-    </target>
-    <!--
-                end of pre NB72 profiling section
-            -->
-    <target if="netbeans.home" name="-profile-check">
-        <condition property="profiler.configured">
-            <or>
-                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
-                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
-            </or>
-        </condition>
-    </target>
-    <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
-        <startprofiler/>
-        <antcall target="run"/>
-    </target>
-    <target depends="-profile-check,-profile-single-pre72" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-single" unless="profiler.info.jvmargs.agent">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <startprofiler/>
-        <antcall target="run-single"/>
-    </target>
-    <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
-    <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
-        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <startprofiler/>
-        <antcall target="test-single"/>
-    </target>
-    <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <startprofiler/>
-        <antcal target="run-test-with-main"/>
-    </target>
-    <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <startprofiler/>
-        <antcall target="run-applet"/>
-    </target>
-    <!--
-                ===============
-                JAVADOC SECTION
-                ===============
-            -->
-    <target depends="init" if="have.sources" name="-javadoc-build">
-        <mkdir dir="${dist.javadoc.dir}"/>
-        <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
-            <and>
-                <isset property="endorsed.classpath.cmd.line.arg"/>
-                <not>
-                    <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
-            <classpath>
-                <path path="${javac.classpath}"/>
-            </classpath>
-            <fileset dir="${src.dir}" excludes="*.java,${excludes}" includes="${includes}">
-                <filename name="**/*.java"/>
-            </fileset>
-            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="**/*.java"/>
-                <exclude name="*.java"/>
-            </fileset>
-            <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
-        </javadoc>
-        <copy todir="${dist.javadoc.dir}">
-            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
-                <filename name="**/doc-files/**"/>
-            </fileset>
-            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="**/doc-files/**"/>
-            </fileset>
-        </copy>
-    </target>
-    <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
-        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
-    </target>
-    <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
-    <!--
-                =========================
-                TEST COMPILATION SECTION
-                =========================
-            -->
-    <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
-        <mkdir dir="${build.test.classes.dir}"/>
-    </target>
-    <target name="-pre-compile-test">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="do.depend.true" name="-compile-test-depend">
-        <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
-    </target>
-    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.src.dir}"/>
-        <copy todir="${build.test.classes.dir}">
-            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target name="-post-compile-test">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
-    <target name="-pre-compile-test-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
-        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}"/>
-        <copy todir="${build.test.classes.dir}">
-            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target name="-post-compile-test-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
-    <!--
-                =======================
-                TEST EXECUTION SECTION
-                =======================
-            -->
-    <target depends="init" if="have.tests" name="-pre-test-run">
-        <mkdir dir="${build.test.results.dir}"/>
-    </target>
-    <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
-        <j2seproject3:test testincludes="**/*Test.java"/>
-    </target>
-    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init" if="have.tests" name="test-report"/>
-    <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
-    <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
-    <target depends="init" if="have.tests" name="-pre-test-run-single">
-        <mkdir dir="${build.test.results.dir}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
-        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
-        <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
-        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
-        <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
-    <!--
-                =======================
-                TEST DEBUGGING SECTION
-                =======================
-            -->
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
-        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
-        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
-        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
-    </target>
-    <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
-        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
-    </target>
-    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
-    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
-    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
-        <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
-    </target>
-    <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
-    <!--
-                =========================
-                APPLET EXECUTION SECTION
-                =========================
-            -->
-    <target depends="init,compile-single" name="run-applet">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <j2seproject1:java classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </j2seproject1:java>
-    </target>
-    <!--
-                =========================
-                APPLET DEBUGGING  SECTION
-                =========================
-            -->
-    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <j2seproject3:debug classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </j2seproject3:debug>
-    </target>
-    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
-    <!--
-                ===============
-                CLEANUP SECTION
-                ===============
-            -->
-    <target name="-deps-clean-init" unless="built-clean.properties">
-        <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
-        <delete file="${built-clean.properties}" quiet="true"/>
-    </target>
-    <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
-        <echo level="warn" message="Cycle detected: DuskServer was already built"/>
-    </target>
-    <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
-        <mkdir dir="${build.dir}"/>
-        <touch file="${built-clean.properties}" verbose="false"/>
-        <property file="${built-clean.properties}" prefix="already.built.clean."/>
-        <antcall target="-warn-already-built-clean"/>
-        <propertyfile file="${built-clean.properties}">
-            <entry key="${basedir}" value=""/>
-        </propertyfile>
-        <antcall target="-maybe-call-dep">
-            <param name="call.built.properties" value="${built-clean.properties}"/>
-            <param location="${project.DuskCommon}" name="call.subproject"/>
-            <param location="${project.DuskCommon}/build.xml" name="call.script"/>
-            <param name="call.target" value="clean"/>
-            <param name="transfer.built-clean.properties" value="${built-clean.properties}"/>
-        </antcall>
-    </target>
-    <target depends="init" name="-do-clean">
-        <delete dir="${build.dir}"/>
-        <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
-    </target>
-    <target name="-post-clean">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
-    <target name="-check-call-dep">
-        <property file="${call.built.properties}" prefix="already.built."/>
-        <condition property="should.call.dep">
-            <and>
-                <not>
-                    <isset property="already.built.${call.subproject}"/>
-                </not>
-                <available file="${call.script}"/>
-            </and>
-        </condition>
-    </target>
-    <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
-        <ant antfile="${call.script}" inheritall="false" target="${call.target}">
-            <propertyset>
-                <propertyref prefix="transfer."/>
-                <mapper from="transfer.*" to="*" type="glob"/>
-            </propertyset>
-        </ant>
-    </target>
-</project>
diff --git a/DuskServer/nbproject/genfiles.properties b/DuskServer/nbproject/genfiles.properties
deleted file mode 100644 (file)
index 0cb0205..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-build.xml.data.CRC32=d4396c02
-build.xml.script.CRC32=b70baa11
-build.xml.stylesheet.CRC32=28e38971@1.56.1.46
-# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
-# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=d4396c02
-nbproject/build-impl.xml.script.CRC32=6bdc7120
-nbproject/build-impl.xml.stylesheet.CRC32=c6d2a60f@1.56.1.46
diff --git a/DuskServer/nbproject/project.properties b/DuskServer/nbproject/project.properties
deleted file mode 100644 (file)
index 347a74d..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-application.title=DuskServer
-application.vendor=Michael Zucchi
-endorsed.classpath=
-project.license=dusk
-annotation.processing.enabled=true
-annotation.processing.enabled.in.editor=false
-annotation.processing.processors.list=
-annotation.processing.run.all.processors=true
-annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
-build.classes.dir=${build.dir}/classes
-build.classes.excludes=**/*.java,**/*.form
-# This directory is removed when the project is cleaned:
-build.dir=build
-build.generated.dir=${build.dir}/generated
-build.generated.sources.dir=${build.dir}/generated-sources
-# Only compile against the classpath explicitly listed here:
-build.sysclasspath=ignore
-build.test.classes.dir=${build.dir}/test/classes
-build.test.results.dir=${build.dir}/test/results
-# Uncomment to specify the preferred debugger connection transport:
-#debug.transport=dt_socket
-debug.classpath=\
-    ${run.classpath}
-debug.test.classpath=\
-    ${run.test.classpath}
-# This directory is removed when the project is cleaned:
-dist.dir=dist
-dist.jar=${dist.dir}/DuskServer.jar
-dist.javadoc.dir=${dist.dir}/javadoc
-excludes=
-includes=**
-jar.compress=false
-javac.classpath=\
-    ${reference.DuskCommon.jar}
-# Space-separated list of extra javac options
-javac.compilerargs=
-javac.deprecation=false
-javac.processorpath=\
-    ${javac.classpath}
-javac.source=1.7
-javac.target=1.7
-javac.test.classpath=\
-    ${javac.classpath}:\
-    ${build.classes.dir}
-javac.test.processorpath=\
-    ${javac.test.classpath}
-javadoc.additionalparam=
-javadoc.author=false
-javadoc.encoding=${source.encoding}
-javadoc.noindex=false
-javadoc.nonavbar=false
-javadoc.notree=false
-javadoc.private=false
-javadoc.splitindex=true
-javadoc.use=true
-javadoc.version=false
-javadoc.windowtitle=
-main.class=duskz.server.DuskServer
-manifest.file=manifest.mf
-meta.inf.dir=${src.dir}/META-INF
-mkdist.disabled=false
-platform.active=default_platform
-project.DuskCommon=../DuskCommon
-reference.DuskCommon.jar=${project.DuskCommon}/dist/DuskCommon.jar
-run.classpath=\
-    ${javac.classpath}:\
-    ${build.classes.dir}
-# Space-separated list of JVM arguments used when running the project.
-# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
-# To set system properties for unit tests define test-sys-prop.name=value:
-run.jvmargs=
-run.test.classpath=\
-    ${javac.test.classpath}:\
-    ${build.test.classes.dir}
-source.encoding=UTF-8
-src.dir=src
-test.src.dir=test
diff --git a/DuskServer/nbproject/project.xml b/DuskServer/nbproject/project.xml
deleted file mode 100644 (file)
index 030b1fb..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://www.netbeans.org/ns/project/1">
-    <type>org.netbeans.modules.java.j2seproject</type>
-    <configuration>
-        <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
-            <name>DuskServer</name>
-            <source-roots>
-                <root id="src.dir"/>
-            </source-roots>
-            <test-roots>
-                <root id="test.src.dir"/>
-            </test-roots>
-        </data>
-        <references xmlns="http://www.netbeans.org/ns/ant-project-references/1">
-            <reference>
-                <foreign-project>DuskCommon</foreign-project>
-                <artifact-type>jar</artifact-type>
-                <script>build.xml</script>
-                <target>jar</target>
-                <clean-target>clean</clean-target>
-                <id>jar</id>
-            </reference>
-        </references>
-    </configuration>
-</project>
diff --git a/DuskZ/README b/DuskZ/README
deleted file mode 100644 (file)
index b7bcf18..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-
-CODE STATUS September 2013
---------------------------
-
-As most of the 'smarts' in Dusk happens in the server the client is
-fairly simple - it basically handles some local input and rendering
-the tiles.
-
-This should be feature complete against the latest DuskServer, but
-needs some aesthetic and usability work.
-
-Original README follows.
-
-README
-------
-This is the client frontend to DuskZ, it uses JavaFX.  It connects
-to the DuskServer togehter and requires some local data installed.
-
-It is a fork and major overhaul of the Dusk 2.7.3 source code, released
-circa 2000.
-
-Currently a recent Oracle JRE is required to execute this application.
-
-This is currently in an alpha state.
-
- ... to be completed ...
-
-INSTALLATION
-------------
- ... to be completed ...
-
-RUNNING
--------
- ... to be completed ...
-
-LICENSE
--------
-  DuskZ is free software, see COPYING for your rights.
-
-  Some files are under other compatible licenses.
-
-  Copyright (C) 2000 Tom Weingarten <captaint@home.com>
-  Copyright (C) 2013 Michael Zucchi <notzed@gmail.com>
-
-  DuskZ is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  DuskZ is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with DuskZ.  If not, see <http://www.gnu.org/licenses/>.
-
-
-  DuskZ also uses the ListSpinner widget from JFXExtras.
-
-/**
- * Copyright (c) 2011, JFXtras
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *     * Redistributions of source code must retain the above copyright
- *       notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above copyright
- *       notice, this list of conditions and the following disclaimer in the
- *       documentation and/or other materials provided with the distribution.
- *     * Neither the name of the <organization> nor the
- *       names of its contributors may be used to endorse or promote products
- *       derived from this software without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
\ No newline at end of file
diff --git a/DuskZ/build.xml b/DuskZ/build.xml
deleted file mode 100644 (file)
index 0d44bda..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- You may freely edit this file. See commented blocks below for --><!-- some examples of how to customize the build. --><!-- (If you delete it and reopen the project it will be recreated.) --><!-- By default, only the Clean and Build commands use this build script. --><project name="DuskZ" default="default" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant">
-    <description>Builds, tests, and runs the project DuskZ.</description>
-    <import file="nbproject/build-impl.xml"/>
-    <!--
-
-    There exist several targets which are by default empty and which can be 
-    used for execution of your tasks. These targets are usually executed 
-    before and after some main targets. Those of them relevant for JavaFX project are: 
-
-      -pre-init:                 called before initialization of project properties
-      -post-init:                called after initialization of project properties
-      -pre-compile:              called before javac compilation
-      -post-compile:             called after javac compilation
-      -pre-compile-test:         called before javac compilation of JUnit tests
-      -post-compile-test:        called after javac compilation of JUnit tests
-      -pre-jfx-jar:              called before FX SDK specific <fx:jar> task
-      -post-jfx-jar:             called after FX SDK specific <fx:jar> task
-      -pre-jfx-deploy:           called before FX SDK specific <fx:deploy> task
-      -post-jfx-deploy:          called after FX SDK specific <fx:deploy> task
-      -pre-jfx-native:           called just after -pre-jfx-deploy if <fx:deploy> runs in native packaging mode
-      -post-jfx-native:          called just after -post-jfx-deploy if <fx:deploy> runs in native packaging mode
-      -post-clean:               called after cleaning build products
-
-    (Targets beginning with '-' are not intended to be called on their own.)
-
-    Example of inserting a HTML postprocessor after javaFX SDK deployment:
-
-        <target name="-post-jfx-deploy">
-            <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
-            <property name="jfx.deployment.html" location="${jfx.deployment.dir}${file.separator}${jfx.deployment.base}.html"/>
-            <custompostprocess>
-                <fileset dir="${jfx.deployment.html}"/>
-            </custompostprocess>
-        </target>
-
-    Example of calling an Ant task from JavaFX SDK. Note that access to JavaFX SDK Ant tasks must be
-    initialized; to ensure this is done add the dependence on -check-jfx-sdk-version target:
-
-        <target name="-post-jfx-jar" depends="-check-jfx-sdk-version">
-            <echo message="Calling jar task from JavaFX SDK"/>
-            <fx:jar ...>
-                ...
-            </fx:jar>
-        </target>
-
-    For more details about JavaFX SDK Ant tasks go to
-    http://docs.oracle.com/javafx/2/deployment/jfxpub-deployment.htm
-
-    For list of available properties check the files
-    nbproject/build-impl.xml and nbproject/jfx-impl.xml.
-
-    -->
-</project>
diff --git a/DuskZ/manifest.mf b/DuskZ/manifest.mf
deleted file mode 100644 (file)
index 328e8e5..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-X-COMMENT: Main-Class will be added automatically by build
-
diff --git a/DuskZ/nbproject/build-impl.xml b/DuskZ/nbproject/build-impl.xml
deleted file mode 100644 (file)
index 467fa6e..0000000
+++ /dev/null
@@ -1,1459 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-*** GENERATED FROM project.xml - DO NOT EDIT  ***
-***         EDIT ../build.xml INSTEAD         ***
-
-For the purpose of easier reading the script
-is divided into following sections:
-
-  - initialization
-  - compilation
-  - jar
-  - execution
-  - debugging
-  - javadoc
-  - test compilation
-  - test execution
-  - test debugging
-  - applet
-  - cleanup
-
-        -->
-<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="DuskZ-impl">
-    <import file="jfx-impl.xml"/>
-    <fail message="Please build using Ant 1.8.0 or higher.">
-        <condition>
-            <not>
-                <antversion atleast="1.8.0"/>
-            </not>
-        </condition>
-    </fail>
-    <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
-    <!-- 
-                ======================
-                INITIALIZATION SECTION 
-                ======================
-            -->
-    <target name="-pre-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="-pre-init" name="-init-private">
-        <property file="nbproject/private/config.properties"/>
-        <property file="nbproject/private/configs/${config}.properties"/>
-        <property file="nbproject/private/private.properties"/>
-    </target>
-    <target depends="-pre-init,-init-private" name="-init-user">
-        <property file="${user.properties.file}"/>
-        <!-- The two properties below are usually overridden -->
-        <!-- by the active platform. Just a fallback. -->
-        <property name="default.javac.source" value="1.4"/>
-        <property name="default.javac.target" value="1.4"/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user" name="-init-project">
-        <property file="nbproject/configs/${config}.properties"/>
-        <property file="nbproject/project.properties"/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
-        <j2seproject1:property name="platform.home" value="platforms.${platform.active}.home"/>
-        <j2seproject1:property name="platform.bootcp" value="platforms.${platform.active}.bootclasspath"/>
-        <j2seproject1:property name="platform.compiler" value="platforms.${platform.active}.compile"/>
-        <j2seproject1:property name="platform.javac.tmp" value="platforms.${platform.active}.javac"/>
-        <condition property="platform.javac" value="${platform.home}/bin/javac">
-            <equals arg1="${platform.javac.tmp}" arg2="$${platforms.${platform.active}.javac}"/>
-        </condition>
-        <property name="platform.javac" value="${platform.javac.tmp}"/>
-        <j2seproject1:property name="platform.java.tmp" value="platforms.${platform.active}.java"/>
-        <condition property="platform.java" value="${platform.home}/bin/java">
-            <equals arg1="${platform.java.tmp}" arg2="$${platforms.${platform.active}.java}"/>
-        </condition>
-        <property name="platform.java" value="${platform.java.tmp}"/>
-        <j2seproject1:property name="platform.javadoc.tmp" value="platforms.${platform.active}.javadoc"/>
-        <condition property="platform.javadoc" value="${platform.home}/bin/javadoc">
-            <equals arg1="${platform.javadoc.tmp}" arg2="$${platforms.${platform.active}.javadoc}"/>
-        </condition>
-        <property name="platform.javadoc" value="${platform.javadoc.tmp}"/>
-        <condition property="platform.invalid" value="true">
-            <or>
-                <contains string="${platform.javac}" substring="$${platforms."/>
-                <contains string="${platform.java}" substring="$${platforms."/>
-                <contains string="${platform.javadoc}" substring="$${platforms."/>
-            </or>
-        </condition>
-        <fail unless="platform.home">Must set platform.home</fail>
-        <fail unless="platform.bootcp">Must set platform.bootcp</fail>
-        <fail unless="platform.java">Must set platform.java</fail>
-        <fail unless="platform.javac">Must set platform.javac</fail>
-        <fail if="platform.invalid">
- The J2SE Platform is not correctly set up.
- Your active platform is: ${platform.active}, but the corresponding property "platforms.${platform.active}.home" is not found in the project's properties files. 
- Either open the project in the IDE and setup the Platform with the same name or add it manually.
- For example like this:
-     ant -Duser.properties.file=&lt;path_to_property_file&gt; jar (where you put the property "platforms.${platform.active}.home" in a .properties file)
-  or ant -Dplatforms.${platform.active}.home=&lt;path_to_JDK_home&gt; jar (where no properties file is used) 
-  </fail>
-        <available file="${manifest.file}" property="manifest.available"/>
-        <condition property="splashscreen.available">
-            <and>
-                <not>
-                    <equals arg1="${application.splash}" arg2="" trim="true"/>
-                </not>
-                <available file="${application.splash}"/>
-            </and>
-        </condition>
-        <condition property="main.class.available">
-            <and>
-                <isset property="main.class"/>
-                <not>
-                    <equals arg1="${main.class}" arg2="" trim="true"/>
-                </not>
-            </and>
-        </condition>
-        <condition property="manifest.available+main.class">
-            <and>
-                <isset property="manifest.available"/>
-                <isset property="main.class.available"/>
-            </and>
-        </condition>
-        <condition property="do.archive">
-            <not>
-                <istrue value="${jar.archive.disabled}"/>
-            </not>
-        </condition>
-        <condition property="do.mkdist">
-            <and>
-                <isset property="do.archive"/>
-                <isset property="libs.CopyLibs.classpath"/>
-                <not>
-                    <istrue value="${mkdist.disabled}"/>
-                </not>
-            </and>
-        </condition>
-        <condition property="manifest.available+main.class+mkdist.available">
-            <and>
-                <istrue value="${manifest.available+main.class}"/>
-                <isset property="do.mkdist"/>
-            </and>
-        </condition>
-        <condition property="do.archive+manifest.available">
-            <and>
-                <isset property="manifest.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+main.class.available">
-            <and>
-                <isset property="main.class.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+splashscreen.available">
-            <and>
-                <isset property="splashscreen.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+manifest.available+main.class">
-            <and>
-                <istrue value="${manifest.available+main.class}"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="manifest.available-mkdist.available">
-            <or>
-                <istrue value="${manifest.available}"/>
-                <isset property="do.mkdist"/>
-            </or>
-        </condition>
-        <condition property="manifest.available+main.class-mkdist.available">
-            <or>
-                <istrue value="${manifest.available+main.class}"/>
-                <isset property="do.mkdist"/>
-            </or>
-        </condition>
-        <condition property="have.tests">
-            <or>
-                <available file="${test.src.dir}"/>
-            </or>
-        </condition>
-        <condition property="have.sources">
-            <or>
-                <available file="${src.dir}"/>
-            </or>
-        </condition>
-        <condition property="netbeans.home+have.tests">
-            <and>
-                <isset property="netbeans.home"/>
-                <isset property="have.tests"/>
-            </and>
-        </condition>
-        <condition property="no.javadoc.preview">
-            <and>
-                <isset property="javadoc.preview"/>
-                <isfalse value="${javadoc.preview}"/>
-            </and>
-        </condition>
-        <property name="run.jvmargs" value=""/>
-        <property name="run.jvmargs.ide" value=""/>
-        <property name="javac.compilerargs" value=""/>
-        <property name="work.dir" value="${basedir}"/>
-        <condition property="no.deps">
-            <and>
-                <istrue value="${no.dependencies}"/>
-            </and>
-        </condition>
-        <property name="javac.debug" value="true"/>
-        <property name="javadoc.preview" value="true"/>
-        <property name="application.args" value=""/>
-        <property name="source.encoding" value="${file.encoding}"/>
-        <property name="runtime.encoding" value="${source.encoding}"/>
-        <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
-            <and>
-                <isset property="javadoc.encoding"/>
-                <not>
-                    <equals arg1="${javadoc.encoding}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <property name="javadoc.encoding.used" value="${source.encoding}"/>
-        <property name="includes" value="**"/>
-        <property name="excludes" value=""/>
-        <property name="do.depend" value="false"/>
-        <condition property="do.depend.true">
-            <istrue value="${do.depend}"/>
-        </condition>
-        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
-        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
-            <length length="0" string="${endorsed.classpath}" when="greater"/>
-        </condition>
-        <property name="jar.index" value="false"/>
-        <property name="jar.index.metainf" value="${jar.index}"/>
-        <property name="copylibs.rebase" value="true"/>
-        <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
-        <condition property="junit.available">
-            <or>
-                <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
-                <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
-            </or>
-        </condition>
-        <condition property="testng.available">
-            <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
-        </condition>
-        <condition property="junit+testng.available">
-            <and>
-                <istrue value="${junit.available}"/>
-                <istrue value="${testng.available}"/>
-            </and>
-        </condition>
-        <condition else="testng" property="testng.mode" value="mixed">
-            <istrue value="${junit+testng.available}"/>
-        </condition>
-        <condition else="" property="testng.debug.mode" value="-mixed">
-            <istrue value="${junit+testng.available}"/>
-        </condition>
-    </target>
-    <target name="-post-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-check-javafx" name="-init-check">
-        <fail unless="src.dir">Must set src.dir</fail>
-        <fail unless="test.src.dir">Must set test.src.dir</fail>
-        <fail unless="build.dir">Must set build.dir</fail>
-        <fail unless="dist.dir">Must set dist.dir</fail>
-        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
-        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
-        <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
-        <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
-        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
-        <fail unless="dist.jar">Must set dist.jar</fail>
-    </target>
-    <target name="-init-macrodef-property">
-        <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute name="name"/>
-            <attribute name="value"/>
-            <sequential>
-                <property name="@{name}" value="${@{value}}"/>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
-        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <attribute default="${javac.processorpath}" name="processorpath"/>
-            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="${javac.debug}" name="debug"/>
-            <attribute default="${empty.dir}" name="sourcepath"/>
-            <attribute default="${empty.dir}" name="gensrcdir"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.dir}/empty" name="empty.dir"/>
-                <mkdir dir="${empty.dir}"/>
-                <mkdir dir="@{apgeneratedsrcdir}"/>
-                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" executable="${platform.javac}" fork="yes" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
-                    <src>
-                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
-                            <include name="*"/>
-                        </dirset>
-                    </src>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <compilerarg line="${javac.compilerargs}"/>
-                    <compilerarg value="-processorpath"/>
-                    <compilerarg path="@{processorpath}:${empty.dir}"/>
-                    <compilerarg line="${ap.processors.internal}"/>
-                    <compilerarg line="${annotation.processing.processor.options}"/>
-                    <compilerarg value="-s"/>
-                    <compilerarg path="@{apgeneratedsrcdir}"/>
-                    <compilerarg line="${ap.proc.none.internal}"/>
-                    <customize/>
-                </javac>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
-        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <attribute default="${javac.processorpath}" name="processorpath"/>
-            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="${javac.debug}" name="debug"/>
-            <attribute default="${empty.dir}" name="sourcepath"/>
-            <attribute default="${empty.dir}" name="gensrcdir"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.dir}/empty" name="empty.dir"/>
-                <mkdir dir="${empty.dir}"/>
-                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" executable="${platform.javac}" fork="yes" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
-                    <src>
-                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
-                            <include name="*"/>
-                        </dirset>
-                    </src>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <compilerarg line="${javac.compilerargs}"/>
-                    <customize/>
-                </javac>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
-        <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <sequential>
-                <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                </depend>
-            </sequential>
-        </macrodef>
-        <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <sequential>
-                <fail unless="javac.includes">Must set javac.includes</fail>
-                <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
-                    <path>
-                        <filelist dir="@{destdir}" files="${javac.includes}"/>
-                    </path>
-                    <globmapper from="*.java" to="*.class"/>
-                </pathconvert>
-                <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
-                <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
-                <delete>
-                    <files includesfile="${javac.includesfile.binary}"/>
-                </delete>
-                <delete>
-                    <fileset file="${javac.includesfile.binary}"/>
-                </delete>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${junit.available}" name="-init-macrodef-junit-init">
-        <condition else="false" property="nb.junit.batch" value="true">
-            <and>
-                <istrue value="${junit.available}"/>
-                <not>
-                    <isset property="test.method"/>
-                </not>
-            </and>
-        </condition>
-        <condition else="false" property="nb.junit.single" value="true">
-            <and>
-                <istrue value="${junit.available}"/>
-                <isset property="test.method"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-init-test-properties">
-        <property name="test.binaryincludes" value="&lt;nothing&gt;"/>
-        <property name="test.binarytestincludes" value=""/>
-        <property name="test.binaryexcludes" value=""/>
-    </target>
-    <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
-        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
-                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
-        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
-                    <batchtest todir="${build.test.results.dir}">
-                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
-                            <filename name="@{testincludes}"/>
-                        </fileset>
-                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
-                            <filename name="${test.binarytestincludes}"/>
-                        </fileset>
-                    </batchtest>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
-    <target if="${testng.available}" name="-init-macrodef-testng">
-        <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
-                    <isset property="test.method"/>
-                </condition>
-                <union id="test.set">
-                    <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
-                        <filename name="@{testincludes}"/>
-                    </fileset>
-                </union>
-                <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
-                <testng classfilesetref="test.set" failureProperty="tests.failed" jvm="${platform.java}" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="DuskZ" testname="TestNG tests" workingDir="${work.dir}">
-                    <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
-                    <propertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </propertyset>
-                    <customize/>
-                </testng>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-test-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <echo>No tests executed.</echo>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:testng>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
-        <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <sequential>
-                <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize>
-                        <classpath>
-                            <path path="${run.test.classpath}"/>
-                        </classpath>
-                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                        <jvmarg line="${run.jvmargs}"/>
-                        <jvmarg line="${run.jvmargs.ide}"/>
-                    </customize>
-                </j2seproject3:test-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
-        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
-                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
-        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
-                    <batchtest todir="${build.test.results.dir}">
-                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
-                            <filename name="@{testincludes}"/>
-                        </fileset>
-                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
-                            <filename name="${test.binarytestincludes}"/>
-                        </fileset>
-                    </batchtest>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
-        <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:junit-debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${testng.available}" name="-init-macrodef-testng-debug">
-        <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <element name="customize2" optional="true"/>
-            <sequential>
-                <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
-                    <isset property="test.method"/>
-                </condition>
-                <condition else="-suitename DuskZ -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
-                    <matches pattern=".*\.xml" string="@{testClass}"/>
-                </condition>
-                <delete dir="${build.test.results.dir}" quiet="true"/>
-                <mkdir dir="${build.test.results.dir}"/>
-                <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
-                    <customize>
-                        <customize2/>
-                        <jvmarg value="-ea"/>
-                        <arg line="${testng.debug.mode}"/>
-                        <arg line="-d ${build.test.results.dir}"/>
-                        <arg line="-listener org.testng.reporters.VerboseReporter"/>
-                        <arg line="${testng.cmd.args}"/>
-                    </customize>
-                </j2seproject3:debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
-        <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <element implicit="true" name="customize2" optional="true"/>
-            <sequential>
-                <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
-                    <customize2/>
-                </j2seproject3:testng-debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
-        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <sequential>
-                <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize>
-                        <classpath>
-                            <path path="${run.test.classpath}"/>
-                        </classpath>
-                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                        <jvmarg line="${run.jvmargs}"/>
-                        <jvmarg line="${run.jvmargs.ide}"/>
-                    </customize>
-                </j2seproject3:test-debug-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
-        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <sequential>
-                <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
-                    <customize2>
-                        <syspropertyset>
-                            <propertyref prefix="test-sys-prop."/>
-                            <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                        </syspropertyset>
-                    </customize2>
-                </j2seproject3:testng-debug-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
-    <!--
-                pre NB7.2 profiling section; consider it deprecated
-            -->
-    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
-    <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
-        <macrodef name="resolve">
-            <attribute name="name"/>
-            <attribute name="value"/>
-            <sequential>
-                <property name="@{name}" value="${env.@{value}}"/>
-            </sequential>
-        </macrodef>
-        <macrodef name="profile">
-            <attribute default="${main.class}" name="classname"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property environment="env"/>
-                <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
-                <java classname="@{classname}" dir="${profiler.info.dir}" fork="true" jvm="${profiler.info.jvm}">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
-                    <jvmarg line="${profiler.info.jvmargs}"/>
-                    <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
-                    <arg line="${application.args}"/>
-                    <classpath>
-                        <path path="${run.classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
-        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
-        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
-    </target>
-    <!--
-                end of pre NB7.2 profiling section
-            -->
-    <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
-        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${main.class}" name="name"/>
-            <attribute default="${debug.classpath}" name="classpath"/>
-            <attribute default="" name="stopclassname"/>
-            <sequential>
-                <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <bootclasspath>
-                        <path path="${platform.bootcp}"/>
-                    </bootclasspath>
-                </nbjpdastart>
-            </sequential>
-        </macrodef>
-        <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${build.classes.dir}" name="dir"/>
-            <sequential>
-                <nbjpdareload>
-                    <fileset dir="@{dir}" includes="${fix.classes}">
-                        <include name="${fix.includes}*.class"/>
-                    </fileset>
-                </nbjpdareload>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-debug-args">
-        <exec executable="${platform.java}" outputproperty="version-output">
-            <arg value="-version"/>
-        </exec>
-        <condition property="have-jdk-older-than-1.4">
-            <or>
-                <contains string="${version-output}" substring="java version &quot;1.0"/>
-                <contains string="${version-output}" substring="java version &quot;1.1"/>
-                <contains string="${version-output}" substring="java version &quot;1.2"/>
-                <contains string="${version-output}" substring="java version &quot;1.3"/>
-            </or>
-        </condition>
-        <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
-            <istrue value="${have-jdk-older-than-1.4}"/>
-        </condition>
-        <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
-            <os family="windows"/>
-        </condition>
-        <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
-            <isset property="debug.transport"/>
-        </condition>
-    </target>
-    <target depends="-init-debug-args" name="-init-macrodef-debug">
-        <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="classname"/>
-            <attribute default="${debug.classpath}" name="classpath"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <java classname="@{classname}" dir="${work.dir}" fork="true" jvm="${platform.java}">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
-                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
-                    <jvmarg line="${run.jvmargs}"/>
-                    <jvmarg line="${run.jvmargs.ide}"/>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-java">
-        <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${main.class}" name="classname"/>
-            <attribute default="${run.classpath}" name="classpath"/>
-            <attribute default="jvm" name="jvm"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <java classname="@{classname}" dir="${work.dir}" fork="true" jvm="${platform.java}">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
-                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
-                    <jvmarg line="${run.jvmargs}"/>
-                    <jvmarg line="${run.jvmargs.ide}"/>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-copylibs">
-        <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${manifest.file}" name="manifest"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
-                <pathconvert property="run.classpath.without.build.classes.dir">
-                    <path path="${run.classpath}"/>
-                    <map from="${build.classes.dir.resolved}" to=""/>
-                </pathconvert>
-                <pathconvert pathsep=" " property="jar.classpath">
-                    <path path="${run.classpath.without.build.classes.dir}"/>
-                    <chainedmapper>
-                        <flattenmapper/>
-                        <filtermapper>
-                            <replacestring from=" " to="%20"/>
-                        </filtermapper>
-                        <globmapper from="*" to="lib/*"/>
-                    </chainedmapper>
-                </pathconvert>
-                <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
-                <copylibs compress="${jar.compress}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
-                    <fileset dir="${build.classes.dir}"/>
-                    <manifest>
-                        <attribute name="Class-Path" value="${jar.classpath}"/>
-                        <customize/>
-                    </manifest>
-                </copylibs>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-presetdef-jar">
-        <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}">
-                <j2seproject1:fileset dir="${build.classes.dir}"/>
-            </jar>
-        </presetdef>
-    </target>
-    <target name="-init-ap-cmdline-properties">
-        <property name="annotation.processing.enabled" value="true"/>
-        <property name="annotation.processing.processors.list" value=""/>
-        <property name="annotation.processing.processor.options" value=""/>
-        <property name="annotation.processing.run.all.processors" value="true"/>
-        <property name="javac.processorpath" value="${javac.classpath}"/>
-        <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
-        <condition property="ap.supported.internal" value="true">
-            <not>
-                <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
-            </not>
-        </condition>
-    </target>
-    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported">
-        <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
-            <isfalse value="${annotation.processing.run.all.processors}"/>
-        </condition>
-        <condition else="" property="ap.proc.none.internal" value="-proc:none">
-            <isfalse value="${annotation.processing.enabled}"/>
-        </condition>
-    </target>
-    <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
-        <property name="ap.cmd.line.internal" value=""/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
-    <!--
-                ===================
-                COMPILATION SECTION
-                ===================
-            -->
-    <target name="-deps-jar-init" unless="built-jar.properties">
-        <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
-        <delete file="${built-jar.properties}" quiet="true"/>
-    </target>
-    <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
-        <echo level="warn" message="Cycle detected: DuskZ was already built"/>
-    </target>
-    <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
-        <mkdir dir="${build.dir}"/>
-        <touch file="${built-jar.properties}" verbose="false"/>
-        <property file="${built-jar.properties}" prefix="already.built.jar."/>
-        <antcall target="-warn-already-built-jar"/>
-        <propertyfile file="${built-jar.properties}">
-            <entry key="${basedir}" value=""/>
-        </propertyfile>
-        <antcall target="-maybe-call-dep">
-            <param name="call.built.properties" value="${built-jar.properties}"/>
-            <param location="${project.DuskCommon}" name="call.subproject"/>
-            <param location="${project.DuskCommon}/build.xml" name="call.script"/>
-            <param name="call.target" value="jar"/>
-            <param name="transfer.built-jar.properties" value="${built-jar.properties}"/>
-        </antcall>
-    </target>
-    <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
-    <target depends="init" name="-check-automatic-build">
-        <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
-    </target>
-    <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
-        <antcall target="clean"/>
-    </target>
-    <target depends="init,deps-jar" name="-pre-pre-compile">
-        <mkdir dir="${build.classes.dir}"/>
-    </target>
-    <target name="-pre-compile">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="do.depend.true" name="-compile-depend">
-        <pathconvert property="build.generated.subdirs">
-            <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="*"/>
-            </dirset>
-        </pathconvert>
-        <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/>
-    </target>
-    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile">
-        <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
-        <copy todir="${build.classes.dir}">
-            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target if="has.persistence.xml" name="-copy-persistence-xml">
-        <mkdir dir="${build.classes.dir}/META-INF"/>
-        <copy todir="${build.classes.dir}/META-INF">
-            <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/>
-        </copy>
-    </target>
-    <target name="-post-compile">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
-    <target name="-pre-compile-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
-        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <j2seproject3:force-recompile/>
-        <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/>
-    </target>
-    <target name="-post-compile-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
-    <!--
-                ====================
-                JAR BUILDING SECTION
-                ====================
-            -->
-    <target depends="init" name="-pre-pre-jar">
-        <dirname file="${dist.jar}" property="dist.jar.dir"/>
-        <mkdir dir="${dist.jar.dir}"/>
-    </target>
-    <target name="-pre-jar">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive" name="-do-jar-without-manifest" unless="manifest.available-mkdist.available">
-        <j2seproject1:jar/>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class-mkdist.available">
-        <j2seproject1:jar manifest="${manifest.file}"/>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available">
-        <j2seproject1:jar manifest="${manifest.file}">
-            <j2seproject1:manifest>
-                <j2seproject1:attribute name="Main-Class" value="${main.class}"/>
-            </j2seproject1:manifest>
-        </j2seproject1:jar>
-        <echo level="info">To run this application from the command line without Ant, try:</echo>
-        <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
-        <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <pathconvert property="run.classpath.with.dist.jar">
-            <path path="${run.classpath}"/>
-            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
-        </pathconvert>
-        <echo level="info">${platform.java} -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
-    </target>
-    <target depends="init" if="do.archive" name="-do-jar-with-libraries-create-manifest" unless="manifest.available">
-        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
-        <touch file="${tmp.manifest.file}" verbose="false"/>
-    </target>
-    <target depends="init" if="do.archive+manifest.available" name="-do-jar-with-libraries-copy-manifest">
-        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
-        <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/>
-    </target>
-    <target depends="init,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest" if="do.archive+main.class.available" name="-do-jar-with-libraries-set-main">
-        <manifest file="${tmp.manifest.file}" mode="update">
-            <attribute name="Main-Class" value="${main.class}"/>
-        </manifest>
-    </target>
-    <target depends="init,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-with-libraries-set-splashscreen">
-        <basename file="${application.splash}" property="splashscreen.basename"/>
-        <mkdir dir="${build.classes.dir}/META-INF"/>
-        <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/>
-        <manifest file="${tmp.manifest.file}" mode="update">
-            <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
-        </manifest>
-    </target>
-    <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen" if="do.mkdist" name="-do-jar-with-libraries-pack">
-        <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
-        <echo level="info">To run this application from the command line without Ant, try:</echo>
-        <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <echo level="info">${platform.java} -jar "${dist.jar.resolved}"</echo>
-    </target>
-    <target depends="-do-jar-with-libraries-pack" if="do.archive" name="-do-jar-with-libraries-delete-manifest">
-        <delete>
-            <fileset file="${tmp.manifest.file}"/>
-        </delete>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen,-do-jar-with-libraries-pack,-do-jar-with-libraries-delete-manifest" name="-do-jar-with-libraries"/>
-    <target depends="-jfx-copylibs,-rebase-libs,jfx-deployment" name="-post-jar">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar,-jfx-copylibs,-rebase-libs" description="Build JAR." name="jar"/>
-    <!--
-                =================
-                EXECUTION SECTION
-                =================
-            -->
-    <target depends="init,compile,jar" description="Run a main class." name="run">
-        <j2seproject1:java>
-            <customize>
-                <arg line="${application.args}"/>
-            </customize>
-        </j2seproject1:java>
-    </target>
-    <target name="-do-not-recompile">
-        <property name="javac.includes.binary" value=""/>
-    </target>
-    <target depends="init,compile-single" name="run-single">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <j2seproject1:java classname="${run.class}"/>
-    </target>
-    <target depends="init,compile-test-single" name="run-test-with-main">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
-    </target>
-    <!--
-                =================
-                DEBUGGING SECTION
-                =================
-            -->
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger">
-        <j2seproject1:nbjpdastart name="${debug.class}"/>
-    </target>
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
-        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
-    </target>
-    <target depends="init,compile" name="-debug-start-debuggee">
-        <j2seproject3:debug>
-            <customize>
-                <arg line="${application.args}"/>
-            </customize>
-        </j2seproject3:debug>
-    </target>
-    <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee,jar" description="Debug project in IDE." if="netbeans.home" name="debug"/>
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">
-        <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
-    </target>
-    <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
-    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
-        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
-        <j2seproject3:debug classname="${debug.class}"/>
-    </target>
-    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
-    <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
-        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
-        <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
-    </target>
-    <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
-    <target depends="init" name="-pre-debug-fix">
-        <fail unless="fix.includes">Must set fix.includes</fail>
-        <property name="javac.includes" value="${fix.includes}.java"/>
-    </target>
-    <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
-        <j2seproject1:nbjpdareload/>
-    </target>
-    <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
-    <!--
-                =================
-                PROFILING SECTION
-                =================
-            -->
-    <!--
-                pre NB7.2 profiler integration
-            -->
-    <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile/>
-    </target>
-    <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
-        <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile classname="${profile.class}"/>
-    </target>
-    <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </profile>
-    </target>
-    <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.test.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
-            <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
-            <jvmarg value="${profiler.info.jvmargs.agent}"/>
-            <jvmarg line="${profiler.info.jvmargs}"/>
-            <test name="${profile.class}"/>
-            <classpath>
-                <path path="${run.test.classpath}"/>
-            </classpath>
-            <syspropertyset>
-                <propertyref prefix="test-sys-prop."/>
-                <mapper from="test-sys-prop.*" to="*" type="glob"/>
-            </syspropertyset>
-            <formatter type="brief" usefile="false"/>
-            <formatter type="xml"/>
-        </junit>
-    </target>
-    <!--
-                end of pre NB72 profiling section
-            -->
-    <target if="netbeans.home" name="-profile-check">
-        <condition property="profiler.configured">
-            <or>
-                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
-                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
-            </or>
-        </condition>
-    </target>
-    <target depends="-profile-check,-profile-pre72,jar" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
-        <startprofiler/>
-        <antcall target="run"/>
-    </target>
-    <target depends="-profile-check,-profile-single-pre72" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-single" unless="profiler.info.jvmargs.agent">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <startprofiler/>
-        <antcall target="run-single"/>
-    </target>
-    <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
-    <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
-        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <startprofiler/>
-        <antcall target="test-single"/>
-    </target>
-    <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <startprofiler/>
-        <antcal target="run-test-with-main"/>
-    </target>
-    <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <startprofiler/>
-        <antcall target="run-applet"/>
-    </target>
-    <!--
-                ===============
-                JAVADOC SECTION
-                ===============
-            -->
-    <target depends="init" if="have.sources" name="-javadoc-build">
-        <mkdir dir="${dist.javadoc.dir}"/>
-        <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
-            <and>
-                <isset property="endorsed.classpath.cmd.line.arg"/>
-                <not>
-                    <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" executable="${platform.javadoc}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
-            <classpath>
-                <path path="${javac.classpath}"/>
-            </classpath>
-            <fileset dir="${src.dir}" excludes="*.java,${excludes}" includes="${includes}">
-                <filename name="**/*.java"/>
-            </fileset>
-            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="**/*.java"/>
-                <exclude name="*.java"/>
-            </fileset>
-            <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
-        </javadoc>
-        <copy todir="${dist.javadoc.dir}">
-            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
-                <filename name="**/doc-files/**"/>
-            </fileset>
-            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="**/doc-files/**"/>
-            </fileset>
-        </copy>
-    </target>
-    <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
-        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
-    </target>
-    <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
-    <!--
-                =========================
-                TEST COMPILATION SECTION
-                =========================
-            -->
-    <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
-        <mkdir dir="${build.test.classes.dir}"/>
-    </target>
-    <target name="-pre-compile-test">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="do.depend.true" name="-compile-test-depend">
-        <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
-    </target>
-    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.src.dir}"/>
-        <copy todir="${build.test.classes.dir}">
-            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target name="-post-compile-test">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
-    <target name="-pre-compile-test-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
-        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}"/>
-        <copy todir="${build.test.classes.dir}">
-            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target name="-post-compile-test-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
-    <!--
-                =======================
-                TEST EXECUTION SECTION
-                =======================
-            -->
-    <target depends="init" if="have.tests" name="-pre-test-run">
-        <mkdir dir="${build.test.results.dir}"/>
-    </target>
-    <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
-        <j2seproject3:test testincludes="**/*Test.java"/>
-    </target>
-    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init" if="have.tests" name="test-report"/>
-    <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
-    <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
-    <target depends="init" if="have.tests" name="-pre-test-run-single">
-        <mkdir dir="${build.test.results.dir}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
-        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
-        <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
-        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
-        <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
-    <!--
-                =======================
-                TEST DEBUGGING SECTION
-                =======================
-            -->
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
-        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
-        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
-        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
-    </target>
-    <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
-        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
-    </target>
-    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
-    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
-    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
-        <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
-    </target>
-    <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
-    <!--
-                =========================
-                APPLET EXECUTION SECTION
-                =========================
-            -->
-    <target depends="init,compile-single" name="run-applet">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <j2seproject1:java classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </j2seproject1:java>
-    </target>
-    <!--
-                =========================
-                APPLET DEBUGGING  SECTION
-                =========================
-            -->
-    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <j2seproject3:debug classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </j2seproject3:debug>
-    </target>
-    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
-    <!--
-                ===============
-                CLEANUP SECTION
-                ===============
-            -->
-    <target name="-deps-clean-init" unless="built-clean.properties">
-        <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
-        <delete file="${built-clean.properties}" quiet="true"/>
-    </target>
-    <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
-        <echo level="warn" message="Cycle detected: DuskZ was already built"/>
-    </target>
-    <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
-        <mkdir dir="${build.dir}"/>
-        <touch file="${built-clean.properties}" verbose="false"/>
-        <property file="${built-clean.properties}" prefix="already.built.clean."/>
-        <antcall target="-warn-already-built-clean"/>
-        <propertyfile file="${built-clean.properties}">
-            <entry key="${basedir}" value=""/>
-        </propertyfile>
-        <antcall target="-maybe-call-dep">
-            <param name="call.built.properties" value="${built-clean.properties}"/>
-            <param location="${project.DuskCommon}" name="call.subproject"/>
-            <param location="${project.DuskCommon}/build.xml" name="call.script"/>
-            <param name="call.target" value="clean"/>
-            <param name="transfer.built-clean.properties" value="${built-clean.properties}"/>
-        </antcall>
-    </target>
-    <target depends="init" name="-do-clean">
-        <delete dir="${build.dir}"/>
-        <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
-    </target>
-    <target name="-post-clean">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
-    <target name="-check-call-dep">
-        <property file="${call.built.properties}" prefix="already.built."/>
-        <condition property="should.call.dep">
-            <and>
-                <not>
-                    <isset property="already.built.${call.subproject}"/>
-                </not>
-                <available file="${call.script}"/>
-            </and>
-        </condition>
-    </target>
-    <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
-        <ant antfile="${call.script}" inheritall="false" target="${call.target}">
-            <propertyset>
-                <propertyref prefix="transfer."/>
-                <mapper from="transfer.*" to="*" type="glob"/>
-            </propertyset>
-        </ant>
-    </target>
-</project>
diff --git a/DuskZ/nbproject/configs/Run_as_WebStart.properties b/DuskZ/nbproject/configs/Run_as_WebStart.properties
deleted file mode 100644 (file)
index 670fff0..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Do not modify this property in this configuration. It can be re-generated.
-$label=Run as WebStart
diff --git a/DuskZ/nbproject/configs/Run_in_Browser.properties b/DuskZ/nbproject/configs/Run_in_Browser.properties
deleted file mode 100644 (file)
index f2a5a65..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Do not modify this property in this configuration. It can be re-generated.
-$label=Run in Browser
diff --git a/DuskZ/nbproject/genfiles.properties b/DuskZ/nbproject/genfiles.properties
deleted file mode 100644 (file)
index a6ee1b3..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-build.xml.data.CRC32=be5f771c
-build.xml.script.CRC32=d9af4be0
-build.xml.stylesheet.CRC32=28e38971@1.56.1.46
-# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
-# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=46d0094e
-nbproject/build-impl.xml.script.CRC32=21080c51
-nbproject/build-impl.xml.stylesheet.CRC32=c6d2a60f@1.56.1.46
diff --git a/DuskZ/nbproject/jfx-impl.xml b/DuskZ/nbproject/jfx-impl.xml
deleted file mode 100644 (file)
index 43adba7..0000000
+++ /dev/null
@@ -1,3218 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-*** GENERATED FROM TEMPLATE - DO NOT EDIT ***
-***       EDIT ../build.xml INSTEAD       ***
--->
-
-<project name="jfx-impl" default="jfx-deployment" basedir=".." xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" 
-         xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:fx="javafx:com.sun.javafx.tools.ant">
-    <description>JavaFX-specific Ant calls</description>
-
-
-    <!-- Empty placeholders for easier customization in ../build.xml -->
-    
-    <target name="-pre-jfx-jar">
-        <!-- Called right before <fx:jar> task. You can override this target in the ../build.xml file. -->
-    </target>
-
-    <target name="-post-jfx-jar">
-        <!-- Called right after <fx:jar> task. You can override this target in the ../build.xml file. -->
-    </target>
-
-    <target name="-pre-jfx-deploy">
-        <!-- Called right before <fx:deploy> task. You can override this target in the ../build.xml file. -->
-    </target>
-
-    <target name="-post-jfx-deploy">
-        <!-- Called right after <fx:deploy> task. You can override this target in the ../build.xml file. -->
-    </target>
-    
-    <target name="-pre-jfx-native">
-        <!-- Called right before the call to native packager (just after -pre-jfx-deploy). You can override this target in the ../build.xml file. -->
-    </target>
-
-    <target name="-post-jfx-native">
-        <!-- Called right after the call to native packager (just after -post-jfx-deploy). You can override this target in the ../build.xml file. -->
-    </target>
-    
-    
-    <!-- Check system and JDK version -->
-
-    <target name="-check-operating-system">
-        <condition property="running.on.mac">
-            <os family="mac"/>
-        </condition>
-        <condition property="running.on.unix">
-            <os family="unix"/>
-        </condition>
-        <condition property="running.on.windows">
-            <os family="windows"/>
-        </condition>
-        <echo message="running.on.mac = ${running.on.mac}" level="verbose"/>
-        <echo message="running.on.unix = ${running.on.unix}" level="verbose"/>
-        <echo message="running.on.windows = ${running.on.windows}" level="verbose"/>
-    </target>
-
-    <target name="-check-platform-home-fxsdk-java" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
-        <condition property="do.set.platform.home.fxsdk.java">
-            <and>
-                <not><isset property="active.platform.home.java.executable"/></not>
-                <or>
-                    <available file="${javafx.sdk}${file.separator}bin${file.separator}java"/>
-                    <available file="${javafx.sdk}${file.separator}bin${file.separator}java.exe"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-platform-home-fxsdk-java" depends="-check-platform-home-fxsdk-java" if="do.set.platform.home.fxsdk.java">
-        <property name="active.platform.home.java.executable" value="${javafx.sdk}${file.separator}bin${file.separator}java"/>
-    </target>
-    <target name="-check-platform-home-java" if="platform.home">
-        <condition property="do.set.platform.home.java">
-            <and>
-                <not><isset property="active.platform.home.java.executable"/></not>
-                <or>
-                    <available file="${platform.home}${file.separator}bin${file.separator}java"/>
-                    <available file="${platform.home}${file.separator}bin${file.separator}java.exe"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-platform-home-java" depends="-set-platform-home-fxsdk-java,-check-platform-home-java" if="do.set.platform.home.java">
-        <property name="active.platform.home.java.executable" value="${platform.home}${file.separator}bin${file.separator}java"/>
-    </target>
-    <target name="-check-platform-home-probjdk-java" unless="active.platform.home.java.executable">
-        <condition property="do.set.platform.home.probjdk.java">
-            <and>
-                <not><isset property="active.platform.home.java.executable"/></not>
-                <or>
-                    <available file="${java.home}${file.separator}..${file.separator}bin${file.separator}java"/>
-                    <available file="${java.home}${file.separator}..${file.separator}bin${file.separator}java.exe"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-platform-home-probjdk-java" depends="-set-platform-home-java,-check-platform-home-probjdk-java" if="do.set.platform.home.probjdk.java">
-        <property name="active.platform.home.java.executable" value="${java.home}${file.separator}..${file.separator}bin${file.separator}java"/>
-    </target>
-    <target name="-check-platform-home-envjdk-java" unless="active.platform.home.java.executable">
-        <property environment="env"/>
-        <condition property="do.set.platform.home.envjdk.java">
-            <and>
-                <not><isset property="active.platform.home.java.executable"/></not>
-                <or>
-                    <available file="${env.JAVA_HOME}${file.separator}bin${file.separator}java"/>
-                    <available file="${env.JAVA_HOME}${file.separator}bin${file.separator}java.exe"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-platform-home-envjdk-java" depends="-set-platform-home-probjdk-java,-check-platform-home-envjdk-java" if="do.set.platform.home.envjdk.java">
-        <property environment="env"/>
-        <property name="active.platform.home.java.executable" value="${env.JAVA_HOME}${file.separator}bin${file.separator}java"/>
-    </target>
-    <target name="-check-platform-home-fxrt-java" depends="-check-property-javafx.runtime" if="javafx.runtime.defined">
-        <condition property="do.set.platform.home.fxrt.java">
-            <and>
-                <not><isset property="active.platform.home.java.executable"/></not>
-                <or>
-                    <available file="${javafx.runtime}${file.separator}bin${file.separator}java"/>
-                    <available file="${javafx.runtime}${file.separator}bin${file.separator}java.exe"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-platform-home-fxrt-java" depends="-set-platform-home-envjdk-java,-check-platform-home-fxrt-java" if="do.set.platform.home.fxrt.java">
-        <property name="active.platform.home.java.executable" value="${javafx.runtime}${file.separator}bin${file.separator}java"/>
-        <echo message="Warning: java executable not found in JDK, evaluating java executable in RT instead." level="info"/>
-    </target>
-    <target name="-check-platform-home-jre-java" unless="active.platform.home.java.executable">
-        <condition property="do.set.platform.home.jre.java">
-            <and>
-                <not><isset property="active.platform.home.java.executable"/></not>
-                <or>
-                    <available file="${java.home}${file.separator}bin${file.separator}java"/>
-                    <available file="${java.home}${file.separator}bin${file.separator}java.exe"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-platform-home-jre-java" depends="-set-platform-home-fxrt-java,-check-platform-home-jre-java" if="do.set.platform.home.jre.java">
-        <property name="active.platform.home.java.executable" value="${java.home}${file.separator}bin${file.separator}java"/>
-        <echo message="Warning: java executable not found in JDK, evaluating java executable in RT instead." level="info"/>
-    </target>
-    <target name="-check-platform-home" depends="-set-platform-home-jre-java">
-        <echo message="active.platform.home.java.executable = ${active.platform.home.java.executable}" level="verbose"/>
-        <fail message="Error:${line.separator}java executable not found !" unless="active.platform.home.java.executable"/>
-    </target>
-        
-    <target name="-check-jdk-version" depends="-do-init,-check-platform-home" unless="jdk-version-checked-in-jfximpl">
-        <local name="version-output"/>
-        <exec executable="${active.platform.home.java.executable}" outputproperty="version-output">
-            <arg value="-version"/>
-        </exec>
-        <echo message="version-output:${line.separator}${version-output}" level="verbose"/>
-        <condition property="have-jdk-older-than-1.6">
-            <or>
-                <contains string="${version-output}" substring="java version &quot;1.0"/>
-                <contains string="${version-output}" substring="java version &quot;1.1"/>
-                <contains string="${version-output}" substring="java version &quot;1.2"/>
-                <contains string="${version-output}" substring="java version &quot;1.3"/>
-                <contains string="${version-output}" substring="java version &quot;1.4"/>
-                <contains string="${version-output}" substring="java version &quot;1.5"/>
-            </or>
-        </condition>
-        <fail message="Error:${line.separator}JavaFX 2.0+ projects require JDK version 1.6+ !" if="have-jdk-older-than-1.6"/>
-        <condition property="have-jdk-7u4or5-mac">
-            <and>
-                <or>
-                    <contains string="${version-output}" substring="java version &quot;1.7.0_04"/>
-                    <contains string="${version-output}" substring="java version &quot;1.7.0_05"/>
-                </or>
-                <os family="mac"/>
-            </and>
-        </condition>
-        <condition property="have-jdk-pre7u6">
-            <or>
-                <isset property="have-jdk-older-than-1.6"/>
-                <contains string="${version-output}" substring="java version &quot;1.6"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0&quot;"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_01"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_02"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_03"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_04"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_05"/>
-            </or>
-        </condition>
-        <condition property="have-jdk7-css2bin-bug">
-            <or>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_04"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_05"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_06"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_07"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_08"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_09"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_10"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_11"/>
-            </or>
-        </condition>
-        <property name="jdk-version-checked-in-jfximpl" value="true"/>
-        <echo message="have-jdk-7u4or5-mac = ${have-jdk-7u4or5-mac}" level="verbose"/>
-        <echo message="have-jdk-pre7u6 = ${have-jdk-pre7u6}" level="verbose"/>
-        <echo message="have-jdk7-css2bin-bug = ${have-jdk7-css2bin-bug}" level="verbose"/>
-    </target>
-        
-    <target name="-check-ant-jre-version" unless="ant-jre-version-checked-in-jfximpl">
-        <local name="version-output"/>
-        <exec executable="${java.home}${file.separator}bin${file.separator}java" outputproperty="version-output">
-            <arg value="-version"/>
-        </exec>
-        <echo message="version-output:${line.separator}${version-output}" level="verbose"/>
-        <condition property="have-ant-jre-pre7u6">
-            <or>
-                <contains string="${version-output}" substring="java version &quot;1.0"/>
-                <contains string="${version-output}" substring="java version &quot;1.1"/>
-                <contains string="${version-output}" substring="java version &quot;1.2"/>
-                <contains string="${version-output}" substring="java version &quot;1.3"/>
-                <contains string="${version-output}" substring="java version &quot;1.4"/>
-                <contains string="${version-output}" substring="java version &quot;1.5"/>
-                <contains string="${version-output}" substring="java version &quot;1.6"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0&quot;"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_01"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_02"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_03"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_04"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_05"/>
-            </or>
-        </condition>
-        <property name="ant-jre-version-checked-in-jfximpl" value="true"/>
-        <echo message="have-ant-jre-pre7u6 = ${have-ant-jre-pre7u6}" level="verbose"/>
-    </target>
-
-    <target name="-check-jdk-7u4or5-mac" depends="-check-jdk-version" if="have-jdk-7u4or5-mac">
-        <fail message="Error:${line.separator}JDK 7u4 Mac and 7u5 Mac do not support WebStart and JavaFX 2.0+ browser plugin technologies.${line.separator}Please upgrade to JDK 7u6 or later."/>
-    </target>
-
-    
-    <!-- Check availability of JavaFX SDK deployment support (ant-javafx.jar) -->
-
-    <target name="-check-endorsed-javafx-ant-classpath">
-        <condition property="endorsed-javafx-ant-classpath-available">
-            <and>
-                <isset property="endorsed.javafx.ant.classpath"/>
-                <not>
-                    <equals arg1="${endorsed.javafx.ant.classpath}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <echo message="endorsed-javafx-ant-classpath-available = ${endorsed-javafx-ant-classpath-available}" level="verbose"/>
-    </target>
-
-    <target name="-check-property-javafx.sdk">
-        <echo message="javafx.sdk = ${javafx.sdk}" level="verbose"/>
-        <condition property="javafx.sdk.defined">
-            <and>
-                <isset property="javafx.sdk"/>
-                <not><contains string="${javafx.sdk}" substring="$${platform" casesensitive="false"/></not>
-            </and>
-        </condition>
-        <condition property="javafx.sdk.missing+default">
-            <and>
-                <equals arg1="${platform.active}" arg2="Default_JavaFX_Platform" trim="true"/>
-                <not><isset property="javafx.sdk.defined"/></not>
-            </and>
-        </condition>
-        <condition property="javafx.sdk.missing-default">
-            <and>
-                <not><equals arg1="${platform.active}" arg2="Default_JavaFX_Platform" trim="true"/></not>
-                <not><isset property="javafx.sdk.defined"/></not>
-            </and>
-        </condition>
-        <echo message="javafx.sdk.defined = ${javafx.sdk.defined}" level="verbose"/>
-        <echo message="javafx.sdk.missing+default = ${javafx.sdk.missing+default}" level="verbose"/>
-        <echo message="javafx.sdk.missing-default = ${javafx.sdk.missing-default}" level="verbose"/>
-    </target>
-
-    <target name="-check-ant-javafx-in-fxsdk-lib" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
-        <condition property="do.set.ant-javafx.in.fxsdk.lib">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${javafx.sdk}${file.separator}lib${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-fxsdk-lib" depends="-check-ant-javafx-in-fxsdk-lib" if="do.set.ant-javafx.in.fxsdk.lib">
-        <property name="ant-javafx.jar.location" value="${javafx.sdk}${file.separator}lib${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-fxsdk-tools" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
-        <condition property="do.set.ant-javafx.in.fxsdk.tools">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${javafx.sdk}${file.separator}tools${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-fxsdk-tools" depends="-set-ant-javafx-in-fxsdk-lib,-check-ant-javafx-in-fxsdk-tools" if="do.set.ant-javafx.in.fxsdk.tools">
-        <property name="ant-javafx.jar.location" value="${javafx.sdk}${file.separator}tools${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-platform-home-lib" if="platform.home">
-        <condition property="do.set.ant-javafx.in.platform.home.lib">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${platform.home}${file.separator}lib${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-platform-home-lib" depends="-set-ant-javafx-in-fxsdk-tools,-check-ant-javafx-in-platform-home-lib" if="do.set.ant-javafx.in.platform.home.lib">
-        <property name="ant-javafx.jar.location" value="${platform.home}${file.separator}lib${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-platform-home-tools" if="platform.home">
-        <condition property="do.set.ant-javafx.in.platform.home.tools">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${platform.home}${file.separator}tools${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-platform-home-tools" depends="-set-ant-javafx-in-platform-home-lib,-check-ant-javafx-in-platform-home-tools" if="do.set.ant-javafx.in.platform.home.tools">
-        <property name="ant-javafx.jar.location" value="${platform.home}${file.separator}tools${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-probjdk-lib" unless="ant-javafx.jar.location">
-        <condition property="do.set.ant-javafx.in.probjdk.lib">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${java.home}${file.separator}..${file.separator}lib${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-probjdk-lib" depends="-set-ant-javafx-in-platform-home-tools,-check-ant-javafx-in-probjdk-lib" if="do.set.ant-javafx.in.probjdk.lib">
-        <property name="ant-javafx.jar.location" value="${java.home}${file.separator}..${file.separator}lib${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-probjdk-tools" unless="ant-javafx.jar.location">
-        <condition property="do.set.ant-javafx.in.probjdk.tools">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${java.home}${file.separator}..${file.separator}tools${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-probjdk-tools" depends="-set-ant-javafx-in-probjdk-lib,-check-ant-javafx-in-probjdk-tools" if="do.set.ant-javafx.in.probjdk.tools">
-        <property name="ant-javafx.jar.location" value="${java.home}${file.separator}..${file.separator}tools${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-macjdk-lib" unless="ant-javafx.jar.location">
-        <condition property="do.set.ant-javafx.in.macjdk.lib">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${java.home}${file.separator}lib${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-macjdk-lib" depends="-set-ant-javafx-in-probjdk-tools,-check-ant-javafx-in-macjdk-lib" if="do.set.ant-javafx.in.macjdk.lib">
-        <property name="ant-javafx.jar.location" value="${java.home}${file.separator}lib${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-envjdk-lib" unless="ant-javafx.jar.location">
-        <property environment="env"/>
-        <condition property="do.set.ant-javafx.in.envjdk.lib">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${env.JAVA_HOME}${file.separator}lib${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-envjdk-lib" depends="-set-ant-javafx-in-macjdk-lib,-check-ant-javafx-in-envjdk-lib" if="do.set.ant-javafx.in.envjdk.lib">
-        <property name="ant-javafx.jar.location" value="${env.JAVA_HOME}${file.separator}lib${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-envjdk-tools" unless="ant-javafx.jar.location">
-        <property environment="env"/>
-        <condition property="do.set.ant-javafx.in.envjdk.tools">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${env.JAVA_HOME}${file.separator}tools${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-envjdk-tools" depends="-set-ant-javafx-in-envjdk-lib,-check-ant-javafx-in-envjdk-tools" if="do.set.ant-javafx.in.envjdk.tools">
-        <property name="ant-javafx.jar.location" value="${env.JAVA_HOME}${file.separator}tools${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-pre-check-ant-javafx-version" depends="-set-ant-javafx-in-envjdk-tools" unless="ant-javafx-version-already-checked-in-jfximpl">
-        <condition property="do.check.ant-javafx.version">
-            <and>
-                <isset property="ant-javafx.jar.location"/>
-                <not><isset property="ant-javafx-version-already-checked-in-jfximpl"/></not>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-endorsed-javafx-ant-classpath" depends="-check-endorsed-javafx-ant-classpath,-pre-check-ant-javafx-version" if="endorsed-javafx-ant-classpath-available">
-        <property name="javafx.ant.classpath" value="${endorsed.javafx.ant.classpath}:${ant-javafx.jar.location}"/>
-    </target>
-    <target name="-set-javafx-ant-classpath" depends="-check-endorsed-javafx-ant-classpath,-pre-check-ant-javafx-version" unless="endorsed-javafx-ant-classpath-available">
-        <property name="javafx.ant.classpath" value="${ant-javafx.jar.location}"/>
-    </target>
-    <target name="-check-ant-javafx-version" depends="-pre-check-ant-javafx-version,
-            -set-endorsed-javafx-ant-classpath,-set-javafx-ant-classpath" if="do.check.ant-javafx.version">
-        <echo message="ant-javafx.jar.location = ${ant-javafx.jar.location}" level="verbose"/>
-        <echo message="javafx.ant.classpath = ${javafx.ant.classpath}" level="verbose"/>
-        <taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
-            uri="javafx:com.sun.javafx.tools.ant"
-            classpath="${javafx.ant.classpath}"/>
-        <condition property="have-fx-ant-init">
-            <typefound name="javafx:com.sun.javafx.tools.ant:init-ant"/>
-        </condition>
-        <property name="ant-javafx-version-already-checked-in-jfximpl" value="true"/>
-        <echo message="have-fx-ant-init = ${have-fx-ant-init}" level="verbose"/>
-    </target>
-    <target name="-check-jfx-sdk-version-old" depends="-check-ant-javafx-version" unless="have-fx-ant-init">
-        <property name="javafx.ant.version" value="1.0"/>
-    </target>
-    <target name="-check-jfx-sdk-version-new" depends="-check-ant-javafx-version" if="have-fx-ant-init">
-        <fx:init-ant/>
-        <condition property="have-fx-ant-api-1.1">
-            <!-- new features from JavaFX 2.0.2 are available in API version 1.1 or later -->
-            <matches pattern="1.[1-9]" string="${javafx.ant.version}"/>
-        </condition>
-        <condition property="have-fx-ant-api-1.2">
-            <!-- new features from JavaFX 2.2 are available in API version 1.2 or later -->
-            <matches pattern="1.[2-9]" string="${javafx.ant.version}"/>
-        </condition>
-    </target>
-    <target name="-check-jfx-sdk-version" depends="-check-jfx-sdk-version-old, -check-jfx-sdk-version-new" unless="jfx.sdk.version.checked">
-        <echo message="Detected JavaFX Ant API version ${javafx.ant.version}" level="info"/>
-        <echo message="have-fx-ant-api-1.1 = ${have-fx-ant-api-1.1}" level="verbose"/>
-        <echo message="have-fx-ant-api-1.2 = ${have-fx-ant-api-1.2}" level="verbose"/>
-        <echo message="javafx.ant.classpath = ${javafx.ant.classpath}" level="verbose"/>
-        <property name="jfx.sdk.version.checked" value="true"/>
-    </target>
-
-    <target name="-check-jfx-deployment" depends="-check-jdk-version,-check-jfx-sdk-version">
-        <condition property="jfx-deployment-available">
-            <and>
-                <or>
-                    <isset property="do.set.ant-javafx.in.fxsdk.lib"/>
-                    <isset property="do.set.ant-javafx.in.fxsdk.tools"/>
-                    <isset property="do.set.ant-javafx.in.platform.home.lib"/>
-                    <isset property="do.set.ant-javafx.in.platform.home.tools"/>
-                    <isset property="do.set.ant-javafx.in.probjdk.lib"/>
-                    <isset property="do.set.ant-javafx.in.probjdk.tools"/>
-                    <isset property="do.set.ant-javafx.in.envjdk.lib"/>
-                    <isset property="do.set.ant-javafx.in.envjdk.tools"/>
-                </or>
-                <isset property="ant-javafx.jar.location"/>
-            </and>
-        </condition>
-        <condition property="jfx-deployment-missing+jdk7u6">
-            <and>
-                <not><isset property="jfx-deployment-available"/></not>
-                <not><isset property="have-jdk-pre7u6"/></not>
-            </and>
-        </condition>
-        <condition property="jfx-deployment-missing+javafx.sdk.missing+default">
-            <and>
-                <not><isset property="jfx-deployment-available"/></not>
-                <isset property="have-jdk-pre7u6"/>
-                <isset property="javafx.sdk.missing+default"/>
-            </and>
-        </condition>
-        <condition property="jfx-deployment-missing+javafx.sdk.missing-default">
-            <and>
-                <not><isset property="jfx-deployment-available"/></not>
-                <isset property="have-jdk-pre7u6"/>
-                <isset property="javafx.sdk.missing-default"/>
-            </and>
-        </condition>
-        <fail message="Error:${line.separator}JavaFX deployment library not found in active JDK.${line.separator}Please check that the JDK is correctly installed and its version is at least 7u4 on Mac or 7u6 on other systems." if="jfx-deployment-missing+jdk7u6"/>
-        <fail message="Error:${line.separator}JavaFX deployment library not found.${line.separator}JavaFX SDK path undefined. Check the definition of ${platform.active} in Java Platform Manager${line.separator}(or directly the properties platform.active and javafx.sdk in project.properties file).${line.separator}Note: If missing, the default JavaFX-enabled platform gets created automatically when creating a new JavaFX Project." if="jfx-deployment-missing+javafx.sdk.missing+default"/>
-        <fail message="Error:${line.separator}JavaFX deployment library not found.${line.separator}JavaFX SDK path undefined. Check the definition of ${platform.active} in Java Platform Manager${line.separator}(or directly the properties platform.active and javafx.sdk in project.properties file)." if="jfx-deployment-missing+javafx.sdk.missing-default"/>
-        <fail message="Error:${line.separator}JavaFX deployment library not found." unless="jfx-deployment-available"/>
-        <echo message="jfx-deployment-available = ${jfx-deployment-available}" level="verbose"/>
-    </target>
-    
-    
-    <!-- Check availability of main JavaFX runtime jar (jfxrt.jar) -->
-
-    <target name="-check-property-javafx.runtime">
-        <echo message="javafx.runtime = ${javafx.runtime}" level="verbose"/>
-        <condition property="javafx.runtime.defined">
-            <and>
-                <isset property="javafx.runtime"/>
-                <not><contains string="${javafx.runtime}" substring="$${platform" casesensitive="false"/></not>
-            </and>
-        </condition>
-        <condition property="javafx.runtime.missing+default">
-            <and>
-                <equals arg1="${platform.active}" arg2="Default_JavaFX_Platform" trim="true"/>
-                <not><isset property="javafx.runtime.defined"/></not>
-            </and>
-        </condition>
-        <condition property="javafx.runtime.missing-default">
-            <and>
-                <not><equals arg1="${platform.active}" arg2="Default_JavaFX_Platform" trim="true"/></not>
-                <not><isset property="javafx.runtime.defined"/></not>
-            </and>
-        </condition>
-        <echo message="javafx.runtime.defined = ${javafx.runtime.defined}" level="verbose"/>
-        <echo message="javafx.runtime.missing+default = ${javafx.runtime.missing+default}" level="verbose"/>
-        <echo message="javafx.runtime.missing-default = ${javafx.runtime.missing-default}" level="verbose"/>
-    </target>
-
-    <target name="-check-jfxrt-in-fxrt" depends="-check-property-javafx.runtime" if="javafx.runtime.defined">
-        <condition property="do.set.jfxrt.in.fxrt">
-            <and>
-                <not><isset property="jfxrt.jar.location"/></not>
-                <available file="${javafx.runtime}${file.separator}lib${file.separator}jfxrt.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-jfxrt-in-fxrt" depends="-check-jfxrt-in-fxrt" if="do.set.jfxrt.in.fxrt">
-        <property name="jfxrt.jar.location" value="${javafx.runtime}${file.separator}lib${file.separator}jfxrt.jar"/>
-    </target>
-    <target name="-check-jfxrt-in-fxsdk-jre" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
-        <condition property="do.set.jfxrt.in.fxsdk.jre">
-            <and>
-                <not><isset property="jfxrt.jar.location"/></not>
-                <available file="${javafx.sdk}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-jfxrt-in-fxsdk-jre" depends="-set-jfxrt-in-fxrt,-check-jfxrt-in-fxsdk-jre" if="do.set.jfxrt.in.fxsdk.jre">
-        <property name="jfxrt.jar.location" value="${javafx.sdk}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
-    </target>
-    <target name="-check-jfxrt-in-fxsdk-rt" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
-        <condition property="do.set.jfxrt.in.fxsdk.rt">
-            <and>
-                <not><isset property="jfxrt.jar.location"/></not>
-                <available file="${javafx.sdk}${file.separator}rt${file.separator}lib${file.separator}jfxrt.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-jfxrt-in-fxsdk-rt" depends="-set-jfxrt-in-fxsdk-jre,-check-jfxrt-in-fxsdk-rt" if="do.set.jfxrt.in.fxsdk.rt">
-        <property name="jfxrt.jar.location" value="${javafx.sdk}${file.separator}rt${file.separator}lib${file.separator}jfxrt.jar"/>
-    </target>
-    <target name="-check-jfxrt-in-platform-home-jre" if="platform.home">
-        <condition property="do.set.jfxrt.in.platform.home.jre">
-            <and>
-                <not><isset property="jfxrt.jar.location"/></not>
-                <available file="${platform.home}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-jfxrt-in-platform-home-jre" depends="-set-jfxrt-in-fxsdk-rt,-check-jfxrt-in-platform-home-jre" if="do.set.jfxrt.in.platform.home.jre">
-        <property name="jfxrt.jar.location" value="${platform.home}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
-    </target>
-    <target name="-check-jfxrt-in-platform-home-rt" if="platform.home">
-        <condition property="do.set.jfxrt.in.platform.home.rt">
-            <and>
-                <not><isset property="jfxrt.jar.location"/></not>
-                <available file="${platform.home}${file.separator}rt${file.separator}lib${file.separator}jfxrt.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-jfxrt-in-platform-home-rt" depends="-set-jfxrt-in-platform-home-jre,-check-jfxrt-in-platform-home-rt" if="do.set.jfxrt.in.platform.home.rt">
-        <property name="jfxrt.jar.location" value="${platform.home}${file.separator}rt${file.separator}lib${file.separator}jfxrt.jar"/>
-    </target>
-    <target name="-check-jfxrt-in-jre" unless="jfxrt.jar.location">
-        <condition property="do.set.jfxrt.in.jre">
-            <and>
-                <not><isset property="jfxrt.jar.location"/></not>
-                <available file="${java.home}${file.separator}lib${file.separator}jfxrt.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-jfxrt-in-jre" depends="-set-jfxrt-in-platform-home-rt,-check-jfxrt-in-jre" if="do.set.jfxrt.in.jre">
-        <property name="jfxrt.jar.location" value="${java.home}${file.separator}lib${file.separator}jfxrt.jar"/>
-    </target>
-    <target name="-check-jfxrt-in-envjdk-jre" unless="jfxrt.jar.location">
-        <property environment="env"/>
-        <condition property="do.set.jfxrt.in.envjdk.jre">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${env.JAVA_HOME}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-jfxrt-in-envjdk-jre" depends="-set-jfxrt-in-jre,-check-jfxrt-in-envjdk-jre" if="do.set.jfxrt.in.envjdk.jre">
-        <property name="jfxrt.jar.location" value="${env.JAVA_HOME}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
-    </target>
-    <target name="-pre-check-jfx-runtime" depends="-set-jfxrt-in-envjdk-jre">
-        <echo message="jfxrt.jar.location = ${jfxrt.jar.location}" level="verbose"/>
-    </target>
-
-    <target name="-check-jfx-runtime" depends="-check-jdk-version, -pre-check-jfx-runtime">
-        <condition property="jfx-runtime-available">
-            <and>
-                <or>
-                    <isset property="do.set.jfxrt.in.fxrt"/>
-                    <isset property="do.set.jfxrt.in.fxsdk.jre"/>
-                    <isset property="do.set.jfxrt.in.fxsdk.rt"/>
-                    <isset property="do.set.jfxrt.in.platform.home.jre"/>
-                    <isset property="do.set.jfxrt.in.platform.home.rt"/>
-                    <isset property="do.set.jfxrt.in.jre"/>
-                    <isset property="do.set.jfxrt.in.envjdk.jre"/>
-                </or>
-                <isset property="jfxrt.jar.location"/>
-            </and>
-        </condition>
-        <fail message="Error:${line.separator}JavaFX runtime JAR not found." unless="jfx-runtime-available"/>
-        <echo message="jfx-runtime-available = ${jfx-runtime-available}" level="verbose"/>
-    </target>
-
-
-    <!-- Check availability of WebStart executable -->
-
-    <target name="-check-webstart-in-fxrt" depends="-check-property-javafx.runtime" if="javafx.runtime.defined">
-        <condition property="do.set.webstart.in.fxrt">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <isset property="javafx.runtime.defined"/>
-                <or>
-                    <available file="${javafx.runtime}${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${javafx.runtime}${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-fxrt" depends="-check-webstart-in-fxrt" if="do.set.webstart.in.fxrt">
-        <property name="active.webstart.executable" value="${javafx.runtime}${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-check-webstart-in-fxsdk-jre" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
-        <condition property="do.set.webstart.in.fxsdk.jre">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <isset property="javafx.sdk.defined"/>
-                <or>
-                    <available file="${javafx.sdk}${file.separator}jre${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${javafx.sdk}${file.separator}jre${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-fxsdk-jre" depends="-set-webstart-in-fxrt,-check-webstart-in-fxsdk-jre" if="do.set.webstart.in.fxsdk.jre">
-        <property name="active.webstart.executable" value="${javafx.sdk}${file.separator}jre${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-check-webstart-in-fxsdk" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
-        <condition property="do.set.webstart.in.fxsdk">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <isset property="javafx.sdk.defined"/>
-                <or>
-                    <available file="${javafx.sdk}${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${javafx.sdk}${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-fxsdk" depends="-set-webstart-in-fxsdk-jre,-check-webstart-in-fxsdk" if="do.set.webstart.in.fxsdk">
-        <property name="active.webstart.executable" value="${javafx.sdk}${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-check-webstart-in-platform-home-jre" if="platform.home">
-        <condition property="do.set.webstart.in.platform.home.jre">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <or>
-                    <available file="${platform.home}${file.separator}jre${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${platform.home}${file.separator}jre${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-platform-home-jre" depends="-set-webstart-in-fxsdk,-check-webstart-in-platform-home-jre" if="do.set.webstart.in.platform.home.jre">
-        <property name="active.webstart.executable" value="${platform.home}${file.separator}jre${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-check-webstart-in-platform-home" if="platform.home">
-        <condition property="do.set.webstart.in.platform.home">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <or>
-                    <available file="${platform.home}${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${platform.home}${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-platform-home" depends="-set-webstart-in-platform-home-jre,-check-webstart-in-platform-home" if="do.set.webstart.in.platform.home">
-        <property name="active.webstart.executable" value="${platform.home}${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-check-webstart-in-jre" unless="active.webstart.executable">
-        <condition property="do.set.webstart.in.jre">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <or>
-                    <available file="${java.home}${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${java.home}${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-jre" depends="-set-webstart-in-platform-home,-check-webstart-in-jre" if="do.set.webstart.in.jre">
-        <property name="active.webstart.executable" value="${java.home}${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-check-webstart-in-probjdk" unless="active.webstart.executable">
-        <condition property="do.set.webstart.in.probjdk">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <or>
-                    <available file="${java.home}${file.separator}..${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${java.home}${file.separator}..${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-probjdk" depends="-set-webstart-in-jre,-check-webstart-in-probjdk" if="do.set.webstart.in.probjdk">
-        <property name="active.webstart.executable" value="${java.home}${file.separator}..${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-check-webstart-in-envjdk" unless="active.webstart.executable">
-        <property environment="env"/>
-        <condition property="do.set.webstart.in.envjdk">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <or>
-                    <available file="${env.JAVA_HOME}${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${env.JAVA_HOME}${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-envjdk" depends="-set-webstart-in-probjdk,-check-webstart-in-envjdk" if="do.set.webstart.in.envjdk">
-        <property name="active.webstart.executable" value="${env.JAVA_HOME}${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-pre-check-webstart-in-unix" depends="-check-operating-system,-set-webstart-in-envjdk" unless="active.webstart.executable">
-        <condition property="running.on.unix-active.webstart.executable">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <isset property="running.on.unix"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-check-webstart-in-unix" depends="-pre-check-webstart-in-unix" if="running.on.unix-active.webstart.executable">
-        <local name="exec.which.javaws.result"/>
-        <exec executable="which" failifexecutionfails="false" failonerror="false" resultproperty="exec.which.javaws.result" outputproperty="exec.which.javaws.output">
-            <arg value="javaws"/>
-        </exec>
-        <condition property="do.set.webstart.in.unix">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <isset property="exec.which.javaws.result"/>
-                <equals arg1="${exec.which.javaws.result}" arg2="0"/>
-                <isset property="exec.which.javaws.output"/>
-                <not><equals arg1="${exec.which.javaws.output}" arg2=""/></not>
-            </and>
-        </condition>
-        <echo message="do.set.webstart.in.unix = ${do.set.webstart.in.unix}" level="verbose"/>
-    </target>
-    <target name="-set-webstart-in-unix" depends="-set-webstart-in-envjdk,-check-webstart-in-unix" if="do.set.webstart.in.unix">
-        <property name="active.webstart.executable" value="${exec.which.javaws.output}"/>
-    </target>
-    <target name="-pre-check-jfx-webstart" depends="-set-webstart-in-unix">
-        <echo message="active.webstart.executable = ${active.webstart.executable}" level="verbose"/>
-    </target>
-
-    <target name="-check-jfx-webstart" depends="-pre-check-jfx-webstart">
-        <condition property="jfx-webstart-available">
-            <and>
-                <or>
-                    <isset property="do.set.webstart.in.fxrt"/>
-                    <isset property="do.set.webstart.in.fxsdk.jre"/>
-                    <isset property="do.set.webstart.in.fxsdk"/>
-                    <isset property="do.set.webstart.in.platform.home.jre"/>
-                    <isset property="do.set.webstart.in.platform.home"/>
-                    <isset property="do.set.webstart.in.jre"/>
-                    <isset property="do.set.webstart.in.probjdk"/>
-                    <isset property="do.set.webstart.in.envjdk"/>
-                    <isset property="do.set.webstart.in.unix"/>
-                </or>
-                <isset property="active.webstart.executable"/>
-            </and>
-        </condition>
-        <condition property="jfx-webstart-missing+jdk7u6">
-            <and>
-                <not><isset property="jfx-webstart-available"/></not>
-                <not><isset property="have-jdk-pre7u6"/></not>
-            </and>
-        </condition>
-        <condition property="jfx-webstart-missing+javafx.runtime.missing+default">
-            <and>
-                <not><isset property="jfx-webstart-available"/></not>
-                <isset property="have-jdk-pre7u6"/>
-                <isset property="javafx.runtime.missing+default"/>
-            </and>
-        </condition>
-        <condition property="jfx-webstart-missing+javafx.runtime.missing-default">
-            <and>
-                <not><isset property="jfx-webstart-available"/></not>
-                <isset property="have-jdk-pre7u6"/>
-                <isset property="javafx.runtime.missing-default"/>
-            </and>
-        </condition>
-        <fail message="Error:${line.separator}WebStart executable could not be found in active JDK.${line.separator}Please check that the JDK is correctly installed and its version is at least 7u6." if="jfx-webstart-missing+jdk7u6"/>
-        <fail message="Error:${line.separator}WebStart executable could not be found.${line.separator}JavaFX RT path undefined. Check the definition of ${platform.active} in Java Platform Manager${line.separator}(or directly the properties platform.active and javafx.runtime in project.properties file).${line.separator}Note: If missing, the default JavaFX-enabled platform gets created automatically when creating a new JavaFX Project." if="jfx-webstart-missing+javafx.runtime.missing+default"/>
-        <fail message="Error:${line.separator}WebStart executable could not be found.${line.separator}JavaFX RT path undefined. Check the definition of ${platform.active} in Java Platform Manager${line.separator}(or directly the properties platform.active and javafx.runtime in project.properties file)." if="jfx-webstart-missing+javafx.runtime.missing-default"/>
-        <fail message="Error:${line.separator}WebStart executable could not be found." unless="jfx-webstart-available"/>
-        <echo message="jfx-webstart-available = ${jfx-webstart-available}" level="verbose"/>
-    </target>
-
-    
-    <!-- Legacy targets kept for compatibility with older build-impl.xml scripts -->
-
-    <!-- Note: target "-check-javafx" is not necessary any more but is referenced from NB 7.1 build-impl.xml -->
-    <target name="-check-javafx"/>
-    <!-- Note: target "-javafx-check-error" is not necessary any more but is referenced from NB 7.1 build-impl.xml -->
-    <target name="-javafx-check-error"/>    
-    <!-- Note: target "-init-javafx" is not necessary any more but is referenced from NB 7.1 build-impl.xml -->
-    <target name="-init-javafx"/>
-
-    
-    <!-- Check project properties -->
-    
-    <target name="-check-default-run-config" unless="config">
-        <property name="config" value="&lt;default config&gt;"/>
-    </target>
-    
-    <target name="-check-project">
-        <condition property="main-class-available">
-            <isset property="javafx.main.class"/>
-        </condition>
-        <condition property="vmargs-available">
-            <and>
-                <isset property="run.jvmargs"/>
-                <not><equals arg1="${run.jvmargs}" arg2=""/></not>
-            </and>
-        </condition>
-        <condition property="preloader-available">
-            <and>
-                <isset property="javafx.preloader.enabled"/>
-                <equals arg1="${javafx.preloader.enabled}" arg2="true"/>
-                <isset property="javafx.preloader.class"/>
-                <not><equals arg1="${javafx.preloader.class}" arg2=""/></not>
-                <isset property="javafx.preloader.jar.filename"/>
-                <not><equals arg1="${javafx.preloader.jar.filename}" arg2=""/></not>
-            </and>
-        </condition>
-        <condition property="app-with-preloader">
-            <and>
-                <istrue value="${preloader-available}"/>
-                <istrue value="${main-class-available}"/>
-            </and>
-        </condition>
-        <condition property="app-with-external-preloader-jar">
-            <and>
-                <isset property="app-with-preloader"/>
-                <isset property="javafx.preloader.type"/>
-                <equals arg1="${javafx.preloader.type}" arg2="jar" trim="true"/>
-            </and>
-        </condition>
-        <condition property="app-without-preloader">
-            <and>
-                <not>
-                    <istrue value="${preloader-available}"/>
-                </not>
-                <istrue value="${main-class-available}"/>
-            </and>
-        </condition>
-        <condition property="preloader-app">
-            <and>
-                <isset property="javafx.preloader"/>
-                <equals arg1="${javafx.preloader}" arg2="true"/>
-            </and>
-        </condition>
-        <condition property="fx-in-swing-app">
-            <and>
-                <isset property="javafx.swing"/>
-                <equals arg1="${javafx.swing}" arg2="true"/>
-            </and>
-        </condition>
-        <condition property="fx-in-swing-workaround-app">
-            <and>
-                <istrue value="${fx-in-swing-app}"/>
-                <istrue value="${preloader-app}"/>
-            </and>
-        </condition>
-        <condition property="preloader-app-no-workaround">
-            <and>
-                <istrue value="${preloader-app}"/>
-                <not><istrue value="${fx-in-swing-app}"/></not>
-            </and>
-        </condition>
-        <condition property="html-template-available">
-            <and>
-                <isset property="javafx.run.htmltemplate"/>
-                <not>
-                    <equals arg1="${javafx.run.htmltemplate}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <condition property="icon-available">
-            <and>
-                <isset property="javafx.deploy.icon"/>
-                <not>
-                    <equals arg1="${javafx.deploy.icon}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <condition property="dimensions-available">
-            <and>
-                <isset property="javafx.run.width"/>
-                <isset property="javafx.run.height"/>
-                <not><equals arg1="${javafx.run.width}" arg2=""/></not>
-                <not><equals arg1="${javafx.run.height}" arg2=""/></not>
-            </and>
-        </condition>
-        <condition property="update-mode-background">
-            <and>
-                <isset property="javafx.deploy.backgroundupdate"/>
-                <equals arg1="${javafx.deploy.backgroundupdate}" arg2="true" trim="true"/>
-            </and>
-        </condition>
-        <condition property="offline-allowed">
-            <and>
-                <isset property="javafx.deploy.allowoffline"/>
-                <equals arg1="${javafx.deploy.allowoffline}" arg2="true" trim="true"/>
-            </and>
-        </condition>
-        <condition property="permissions-elevated">
-            <and>
-                <isset property="javafx.deploy.permissionselevated"/>
-                <equals arg1="${javafx.deploy.permissionselevated}" arg2="true" trim="true"/>
-            </and>
-        </condition>
-        <condition property="binary-encode-css">
-            <and>
-                <isset property="javafx.binarycss"/>
-                <equals arg1="${javafx.binarycss}" arg2="true" trim="true"/>
-            </and>
-        </condition>
-        <condition property="rebase-lib-jars">
-            <and>
-                <isset property="javafx.rebase.libs"/>
-                <equals arg1="${javafx.rebase.libs}" arg2="true" trim="true"/>
-            </and>
-        </condition>
-        <echo message="main-class-available = ${main-class-available}" level="verbose"/>
-        <echo message="vmargs-available = ${vmargs-available}" level="verbose"/>
-        <echo message="preloader-available = ${preloader-available}" level="verbose"/>
-        <echo message="app-with-preloader = ${app-with-preloader}" level="verbose"/>
-        <echo message="app-with-preloader-without-project = ${app-with-preloader-without-project}" level="verbose"/>
-        <echo message="app-without-preloader = ${app-without-preloader}" level="verbose"/>
-        <echo message="preloader-app = ${preloader-app}" level="verbose"/>
-        <echo message="fx-in-swing-app = ${fx-in-swing-app}" level="verbose"/>
-        <echo message="fx-in-swing-workaround-app = ${fx-in-swing-workaround-app}" level="verbose"/>
-        <echo message="preloader-app-no-workaround = ${preloader-app-no-workaround}" level="verbose"/>
-        <echo message="html-template-available = ${html-template-available}" level="verbose"/>
-        <echo message="icon-available = ${icon-available}" level="verbose"/>
-        <echo message="dimensions-available = ${dimensions-available}" level="verbose"/>
-        <echo message="update-mode-background = ${update-mode-background}" level="verbose"/>
-        <echo message="offline-allowed = ${offline-allowed}" level="verbose"/>
-        <echo message="permissions-elevated = ${permissions-elevated}" level="verbose"/>
-        <echo message="binary-encode-css = ${binary-encode-css}" level="verbose"/>
-        <echo message="rebase-lib-jars = ${rebase-lib-jars}" level="verbose"/>
-    </target>
-
-    <target name="-swing-api-check" depends="-check-project,-check-jfx-deployment" if="fx-in-swing-app">
-        <condition property="fx-in-swing-app-workaround">
-            <and>
-                <isset property="fx-in-swing-app"/>
-                <not><isset property="have-fx-ant-api-1.2"/></not>
-            </and>
-        </condition>
-    </target>
-    <target name="-swing-api-warning" depends="-swing-api-check" if="fx-in-swing-app-workaround">
-        <echo message="Info: No support for FX-in-Swing deployment detected in current JavaFX SDK. Using workaround instead."/>
-    </target>
-
-    <target name="-icon-deployment-check" depends="-check-project,-check-jfx-deployment" if="icon-available">
-        <condition property="icon-deployment-may-not-be-supported">
-            <and>
-                <isset property="icon-available"/>
-                <not><isset property="have-fx-ant-api-1.1"/></not>
-            </and>
-        </condition>
-    </target>
-    <target name="-icon-warning" depends="-icon-deployment-check" if="icon-deployment-may-not-be-supported">
-        <echo message="Warning: Note that due to a bug in early JavaFX 2.0 SDK distributions the icon may not be properly set in deployment files."/>
-    </target>
-
-    <target name="-set-dimensions" depends="-check-project" if="dimensions-available">
-        <property name="javafx.width" value="${javafx.run.width}"/>
-        <property name="javafx.height" value="${javafx.run.height}"/>
-    </target>
-    <target name="-reset-dimensions" depends="-check-project" unless="dimensions-available">
-        <property name="javafx.width" value="800"/>
-        <property name="javafx.height" value="600"/>
-    </target>
-
-    <target name="-set-update-mode-background" depends="-check-project" if="update-mode-background">
-        <property name="update-mode" value="background"/>
-    </target>
-    <target name="-set-update-mode-eager" depends="-check-project" unless="update-mode-background">
-        <property name="update-mode" value="eager"/>
-    </target>
-
-    <target name="-set-permissions-elevated" depends="-check-project" if="permissions-elevated">
-        <property name="permissions.elevated" value="true"/>
-    </target>
-    <target name="-reset-permissions-elevated" depends="-check-project" unless="permissions-elevated">
-        <property name="permissions.elevated" value="false"/>
-    </target>
-
-    <target name="-set-binary-css" depends="-check-project,-init-css-conversion" if="do.copy.binary.css">
-        <property name="css-include-ext" value="bss"/>
-        <property name="css-exclude-ext" value="css"/>
-    </target>
-    <target name="-unset-binary-css" depends="-check-project,-init-css-conversion" unless="do.copy.binary.css">
-        <property name="css-include-ext" value="css"/>
-        <property name="css-exclude-ext" value="bss"/>
-    </target>
-    <target name="-copy-binary-css" depends="-init-css-conversion,-set-binary-css,-unset-binary-css,-copy-binary-css-bypass,-copy-binary-css-impl"/>
-    <target name="-init-css-conversion" depends="-check-project,-check-jdk-version">
-        <fileset id="cssfiles" dir="${basedir}${file.separator}${build.classes.dir}">
-            <include name="**${file.separator}*.css"/>
-        </fileset>
-        <pathconvert refid="cssfiles" property="cssfileset.notempty" setonempty="false"/>
-        <condition property="do.copy.binary.css">
-            <and>
-                <isset property="binary-encode-css"/>
-                <isset property="cssfileset.notempty"/>
-                <not><isset property="have-jdk7-css2bin-bug"/></not>
-            </and>
-        </condition>
-        <condition property="do.bypass.binary.css">
-            <and>
-                <isset property="binary-encode-css"/>
-                <isset property="cssfileset.notempty"/>
-                <isset property="have-jdk7-css2bin-bug"/>
-            </and>
-        </condition>
-        <echo message="do.copy.binary.css = ${do.copy.binary.css}" level="verbose"/>
-        <echo message="do.bypass.binary.css = ${do.bypass.binary.css}" level="verbose"/>
-    </target>
-    <target name="-copy-binary-css-bypass" depends="-init-css-conversion" if="do.bypass.binary.css">
-        <echo message="Warning: Bypassing FX CSS to BSS conversion due to a bug in &lt;fx:csstobin&gt; task in current JDK platform" level="warning"/>
-    </target>
-    <target name="-copy-binary-css-impl" depends="-init-css-conversion" if="do.copy.binary.css">
-        <property name="cssfileslist" refid="cssfiles"/>
-        <echo message="css files to binary convert: " level="verbose">${cssfileslist}</echo>
-        <fx:csstobin outdir="${basedir}${file.separator}${build.classes.dir}">
-            <fileset refid="cssfiles"/>
-        </fx:csstobin>
-    </target>
-
-
-    <!-- Copy dependent libraries -->
-    
-    <!-- Note: target "-jfx-copylibs" is referenced from NB 7.1 build-impl.xml -->
-    <target name="-jfx-copylibs" depends="init,compile,-pre-pre-jar,-pre-jar,-jfx-copylibs-warning" unless="fallback.no.javascript">
-        <jfx-copylibs-js-impl/>
-    </target>
-    <target name="-jfx-copylibs-warning" if="fallback.no.javascript">
-        <echo message="Warning: Dependent Libraries copy (-jfx-copylibs) skipped in fallback build mode due to JDK missing JavaScript support."/>
-    </target>
-    <macrodef name="jfx-copylibs-js-impl">
-        <sequential>
-            <local name="run.classpath.without.build.classes.and.dist.dir"/>
-            <pathconvert property="run.classpath.without.build.classes.and.dist.dir">
-                <path path="${run.classpath}"/>
-                <map from="${basedir}${file.separator}${build.classes.dir}" to=""/>
-                <map from="${basedir}${file.separator}${dist.jar}" to=""/>
-                <map from="${javafx.runtime}${file.separator}lib${file.separator}jfxrt.jar" to=""/>
-                <map from="${javafx.runtime}${file.separator}lib${file.separator}deploy.jar" to=""/>
-                <map from="${javafx.runtime}${file.separator}lib${file.separator}javaws.jar" to=""/>
-                <map from="${javafx.runtime}${file.separator}lib${file.separator}plugin.jar" to=""/>
-            </pathconvert>
-            <!-- add possibly missing dependencies at distance 2 (build system logic thus provides transitive closure) -->
-            <local name="run.and.lib.classpath"/>
-            <echo message="JavaScript: -jfx-copylibs" level="verbose"/>
-            <script language="javascript">
-                <![CDATA[
-                    var pathConvert = project.createTask("pathconvert");
-                    pathConvert.setProperty("run.and.lib.classpath");
-                    var classPath = project.getProperty("run.classpath.without.build.classes.and.dist.dir");
-                    var fileSeparator = project.getProperty("file.separator");
-                    if(classPath != null) {
-                        var classPathCopy = pathConvert.createPath();
-                        classPathCopy.setPath(classPath);
-                        if(classPath.indexOf(";") != -1) {
-                            var pathArray = classPath.split(";");
-                        } else {
-                            var pathArray = classPath.split(":");
-                        }
-                        var added = "";
-                        for (var i=0; i<pathArray.length; i++) {
-                            var index = pathArray[i].lastIndexOf(fileSeparator);
-                            if (index >=0) {
-                                var onePath = pathArray[i].substr(0,index+1) + "lib";
-                                var oneDir = new java.io.File(onePath);
-                                if(oneDir.exists()) {
-                                    var fs = project.createDataType("fileset");
-                                    fs.setDir( oneDir );
-                                    fs.setIncludes("*.jar");
-                                    var ds = fs.getDirectoryScanner(project);
-                                    var srcFiles = ds.getIncludedFiles();
-                                    for (j=0; j<srcFiles.length; j++) {
-                                        if(classPath.indexOf(srcFiles[j]) == -1 && added.indexOf(srcFiles[j]) == -1) {
-                                            var path = pathConvert.createPath();
-                                            path.setPath(onePath + fileSeparator + srcFiles[j]);
-                                            added += srcFiles[j];
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                    }
-                    pathConvert.perform();
-                ]]>
-            </script>
-            <echo message="run.and.lib.classpath = ${run.and.lib.classpath}" level="verbose"/>
-            <delete dir="${dist.dir}${file.separator}lib" includeEmptyDirs="true" quiet="true"/>
-            <copy todir="${dist.dir}${file.separator}lib" flatten="true" preservelastmodified="true" overwrite="true">
-                <path>
-                    <pathelement path="${run.and.lib.classpath}"/>
-                </path>
-            </copy>
-        </sequential>
-    </macrodef>
-    
-    <target name="-copy-external-preloader-jar" depends="-check-project" if="app-with-external-preloader-jar">
-        <copy file="${javafx.preloader.jar.path}" todir="${dist.dir}${file.separator}lib"/>
-    </target>
-
-
-    <!-- Optional classpath re-base of dependent JAR manifests after copy to lib/, required by GlassFish -->
-
-    <!-- Note: target "-rebase-libs" is referenced from NB 7.1 build-impl.xml -->
-    <target name="-rebase-libs" depends="-check-project, -jfx-copylibs, -check-rebase-libs, -rebase-libs-warning" if="do-rebase-lib-jars">
-        <rebase-libs-js-impl/>
-    </target>
-    <target name="-check-rebase-libs">
-        <condition property="do-rebase-lib-jars">
-            <and>
-                <isset property="rebase-lib-jars"/>
-                <not><isset property="fallback.no.javascript"/></not>
-            </and>
-        </condition>
-        <condition property="do-skip-rebase-libs">
-            <and>
-                <isset property="rebase-lib-jars"/>
-                <isset property="fallback.no.javascript"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-rebase-libs-warning" depends="-check-rebase-libs" if="do-skip-rebase-libs">
-        <echo message="Warning: Dependent Libraries JARs rebase (-rebase-libs) skipped in fallback build mode due to JDK missing JavaScript support."/>
-    </target>
-
-    <macrodef name="rebase-libs-js-impl">
-        <sequential>
-            <property name="pp_rebase_dir" value="${basedir}${file.separator}${dist.dir}${file.separator}lib"/>
-            <property name="pp_rebase_fs" value="*.jar"/>
-            <echo message="JavaScript: -rebase-libs-js-impl" level="verbose"/>
-            <script language="javascript">
-                <![CDATA[
-                    var dir = project.getProperty("pp_rebase_dir");
-                    var fDir = new java.io.File(dir);
-                    if( fDir.exists() ) {
-                        var callTask = project.createTask("antcall");
-                        callTask.setTarget("-rebase-libs-macro-call");
-                        var param = callTask.createParam();
-                        param.setName("jar.file.to.rebase");
-                        var includes = project.getProperty("pp_rebase_fs");
-                        var fs = project.createDataType("fileset");
-                        fs.setDir( fDir );
-                        fs.setIncludes(includes);
-                        var ds = fs.getDirectoryScanner(project);
-                        var srcFiles = ds.getIncludedFiles();
-                        for (i=0; i<srcFiles.length; i++) {
-                            param.setValue(dir + "${file.separator}" + srcFiles[i]);
-                            callTask.perform();
-                        }
-                    }
-                ]]>
-            </script>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="rebase-lib">
-        <attribute name="jarfile"/>
-        <sequential>
-            <local name="tmpdir"/>
-            <property name="tmpdir" value="${java.io.tmpdir}${file.separator}${user.name}_${ant.project.name}_rebase" />
-            <echo message="tmpdir = ${tmpdir}" level="verbose"/>
-            <delete dir="${tmpdir}" quiet="true"/>
-            <mkdir dir="${tmpdir}"/>
-            <unzip src="@{jarfile}" dest="${tmpdir}">
-                <patternset>
-                    <include name="META-INF${file.separator}MANIFEST.MF"/>
-                </patternset>
-            </unzip>
-            <local name="manifest.file.temp"/>
-            <property name="manifest.file.temp" value="${tmpdir}${file.separator}META-INF${file.separator}MANIFEST.MF" />
-            <echo message="manifest.file.temp = ${manifest.file.temp}" level="verbose"/>
-            <!-- edited manifest file -->
-            <local name="manifest.file.temp.new"/>
-            <property name="manifest.file.temp.new" value="${manifest.file.temp}_new" />
-            <echo message="manifest.file.temp.new = ${manifest.file.temp.new}" level="verbose"/>
-            <echo message="JavaScript: rebase-lib" level="verbose"/>
-            <script language="javascript">
-                <![CDATA[
-                    var UTF_8 = "UTF-8";
-                    var ATTR_CLASS_PATH = "Class-Path";
-                    var ATTR_CLASS_PATH_FX = "JavaFX-Class-Path";
-                    function isSigned(manifest) {        
-                        var sections = manifest.getSectionNames();
-                        while(sections.hasMoreElements()) {
-                            var sectionname = sections.nextElement();
-                            var section = manifest.getSection(sectionname);
-                            if(section != null) {
-                                var sectionKeys = section.getAttributeKeys();
-                                while (sectionKeys.hasMoreElements()) {
-                                    var element = sectionKeys.nextElement();
-                                    if (element.endsWith("-Digest") || element.endsWith("-digest")) {
-                                        return true;
-                                    }
-                                }
-                            }
-                        }
-                        return false;
-                    }
-                    var src = project.getProperty("manifest.file.temp");
-                    var srf = new java.io.File(src);
-                    try {
-                        var fis = new java.io.FileInputStream(srf);
-                        try {
-                            var isr = new java.io.InputStreamReader(fis, UTF_8);
-                            try {
-                                var manifest = new org.apache.tools.ant.taskdefs.Manifest(isr);
-                            } finally {
-                                isr.close();
-                            }
-                        } finally {
-                            fis.close();
-                        }
-                    } catch(e) {
-                        var manifest = null;
-                    }
-                    if(manifest != null) {
-                        if(isSigned(manifest)) {
-                            println("Warning: Signed JAR can not be rebased.");
-                        } else {
-                            var mainSection = manifest.getMainSection();
-                            var classPath = mainSection.getAttributeValue(ATTR_CLASS_PATH);
-                            if (classPath != null) {
-                                var classPathAttr = ATTR_CLASS_PATH;
-                            } else {
-                                classPath = mainSection.getAttributeValue(ATTR_CLASS_PATH_FX);
-                                if(classPath != null) {
-                                    var classPathAttr = ATTR_CLASS_PATH_FX;
-                                }
-                            }
-                            if(classPath != null) {
-                                var result = new java.lang.StringBuilder();
-                                var changed = false;
-                                var pathArray = classPath.split(" ");
-                                for (var i=0; i<pathArray.length; i++) {
-                                    if (result.length() > 0) {
-                                        result.append(' ');
-                                    }
-                                    var index = pathArray[i].lastIndexOf('/');
-                                    if (index >=0 && index < pathArray[i].length()-1) {
-                                        pathArray[i] = pathArray[i].substring(index+1);
-                                        changed = true;
-                                    }
-                                    result.append(pathArray[i]);
-                                }
-                                mainSection.removeAttribute(classPathAttr);
-                                mainSection.addAttributeAndCheck(new org.apache.tools.ant.taskdefs.Manifest.Attribute(classPathAttr, result.toString()));
-                                var tgt = project.getProperty("manifest.file.temp.new");
-                                var tgf = new java.io.File(tgt);
-                                try {
-                                    var fos = new java.io.FileOutputStream(tgf);
-                                    try {
-                                        var osw = new java.io.OutputStreamWriter(fos, UTF_8);
-                                        try {
-                                            var manifestOut = new java.io.PrintWriter(osw);
-                                            manifest.write(manifestOut);
-                                            manifestOut.close();
-                                        } finally {
-                                            osw.close();
-                                        }
-                                    } finally {
-                                        fos.close();
-                                    }
-                                } catch(e) {
-                                    println("Warning: problem storing rebased manifest file.");
-                                }
-                            }
-                        }
-                    }
-                ]]>
-            </script>
-            <antcall target="-move-new-manifest-if-exists">
-                <param name="move.file.from" value="${manifest.file.temp.new}"/>
-                <param name="move.file.to" value="${manifest.file.temp}"/>
-            </antcall>
-            <zip destfile="@{jarfile}" basedir="${tmpdir}" update="true"/>
-            <delete dir="${tmpdir}" quiet="true"/>
-        </sequential>
-    </macrodef>
-    
-    <target name="-new-temp-mainfest-existence">
-        <condition property="new-temp-manifest-exists">
-            <available file="${move.file.from}"/>
-        </condition>
-        <echo message="new-temp-manifest-exists = ${new-temp-manifest-exists}" level="verbose"/>
-    </target>
-    
-    <target name="-move-new-manifest-if-exists" depends="-new-temp-mainfest-existence" if="new-temp-manifest-exists">
-        <move file="${move.file.from}" tofile="${move.file.to}" failonerror="false"/>
-    </target>
-    
-    <target name="-rebase-libs-macro-call">
-        <echo message="Rebase jarfile = ${jar.file.to.rebase}" level="verbose"/>
-        <rebase-lib jarfile="${jar.file.to.rebase}"/>
-    </target>
-    
-
-    <!-- Main Deployment Target -->
-
-    <!-- Note: target "jfx-deployment" is referenced from NB 7.1+ build-impl.xml -->
-    <target name="jfx-deployment" depends="-check-jfx-deployment-launch,-do-jfx-deployment-script,-do-jfx-deployment-noscript" if="jfx-deployment-available"/>
-
-    <target name="-check-dist-lib-exists">
-        <deploy-defines/>
-        <available file="${jfx.deployment.dir}${file.separator}lib" type="dir" property="dist.lib.exists"/>
-    </target>
-    <target name="-check-jfx-deployment-jar-current-nolib" depends="-check-dist-lib-exists" unless="dist.lib.exists">
-        <uptodate property="jfx-deployment-jar-current" targetfile="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}" >
-            <srcfiles dir="${basedir}${file.separator}${build.classes.dir}" includes="**${file.separator}*"/>
-            <srcfiles dir="${basedir}${file.separator}nbproject" includes="**${file.separator}*"/>
-        </uptodate>
-    </target>
-    <target name="-check-jfx-deployment-jar-current-lib" depends="-check-dist-lib-exists" if="dist.lib.exists">
-        <uptodate property="jfx-deployment-jar-current" targetfile="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}" >
-            <srcfiles dir="${basedir}${file.separator}${build.classes.dir}" includes="**${file.separator}*"/>
-            <srcfiles dir="${jfx.deployment.dir}${file.separator}lib" includes="**${file.separator}*"/>
-            <srcfiles dir="${basedir}${file.separator}nbproject" includes="**${file.separator}*"/>
-        </uptodate>
-    </target>
-    <target name="-check-jfx-deployment-launch" depends="-check-jfx-deployment,-check-jfx-deployment-jar-current-nolib,-check-jfx-deployment-jar-current-lib">
-        <condition property="do-jfx-deployment-script">
-            <and>
-                <isset property="jfx-deployment-available"/>
-                <not><isset property="fallback.no.javascript"/></not>
-                <not><isset property="jfx-deployment-jar-current"/></not>
-            </and>
-        </condition>
-        <condition property="do-jfx-deployment-noscript">
-            <and>
-                <isset property="jfx-deployment-available"/>
-                <isset property="fallback.no.javascript"/>
-                <not><isset property="jfx-deployment-jar-current"/></not>
-            </and>
-        </condition>
-    </target>
-    <target name="-do-jfx-deployment-script" depends="-check-jfx-deployment-launch" if="do-jfx-deployment-script">
-        <antcall target="jfx-deployment-script"/>
-    </target>
-    <target name="-do-jfx-deployment-noscript" depends="-check-jfx-deployment-launch" if="do-jfx-deployment-noscript">
-        <antcall target="jfx-deployment-noscript"/>
-    </target>
-
-    <target name="jfx-deployment-script" depends="-check-jfx-deployment,-check-project,
-        -swing-api-warning,-icon-warning,
-        -set-dimensions,-reset-dimensions,-set-update-mode-background,-set-update-mode-eager,
-        -set-permissions-elevated,-reset-permissions-elevated,
-        -copy-external-preloader-jar,-copy-binary-css,
-        -deploy-app-sign-nopreloader-notemplate,
-        -deploy-app-sign-preloader-notemplate,
-        -deploy-app-sign-nopreloader-template,
-        -deploy-app-sign-preloader-template,
-        -deploy-app-sign-nopreloader-notemplate-swing,
-        -deploy-app-sign-nopreloader-template-swing,
-        -deploy-app-nosign-nopreloader-notemplate,
-        -deploy-app-nosign-preloader-notemplate,
-        -deploy-app-nosign-nopreloader-template,
-        -deploy-app-nosign-preloader-template,
-        -deploy-app-nosign-nopreloader-notemplate-swing,
-        -deploy-app-nosign-nopreloader-template-swing"
-        if="jfx-deployment-available">
-    </target>
-
-    <target name="jfx-deployment-noscript" depends="-check-jfx-deployment,-check-project,
-        -swing-api-warning,-icon-warning,
-        -set-dimensions,-reset-dimensions,-set-update-mode-background,-set-update-mode-eager,
-        -set-permissions-elevated,-reset-permissions-elevated,
-        -copy-external-preloader-jar,-copy-binary-css,
-        -fallback-deploy-app-sign-nopreloader-notemplate,
-        -fallback-deploy-app-sign-preloader-notemplate,
-        -fallback-deploy-app-sign-nopreloader-template,
-        -fallback-deploy-app-sign-preloader-template,
-        -fallback-deploy-app-sign-nopreloader-notemplate-swing,
-        -fallback-deploy-app-sign-nopreloader-template-swing,
-        -fallback-deploy-app-nosign-nopreloader-notemplate,
-        -fallback-deploy-app-nosign-preloader-notemplate,
-        -fallback-deploy-app-nosign-nopreloader-template,
-        -fallback-deploy-app-nosign-preloader-template,
-        -fallback-deploy-app-nosign-nopreloader-notemplate-swing,
-        -fallback-deploy-app-nosign-nopreloader-template-swing"
-        if="jfx-deployment-available">
-    </target>
-
-
-    <!-- Security / Signing -->
-    
-    <target name="-unavailable-signjars-task" depends="-check-jfx-deployment" unless="jfx-deployment-available">
-        <echo message="Warning: Task required to sign JAR file is missing, check the availability of JavaFX 2.0 deployment tasks. JAR files will not be signed."/>
-    </target>
-
-    <target name="-security-props-check">
-        <condition property="javafx.signed.true">
-            <istrue value="${javafx.signing.enabled}"/>
-        </condition>
-    </target>
-
-    <target name="-check-signing-possible" depends="-security-props-check,-check-jfx-deployment,-unavailable-signjars-task">
-        <condition property="javafx.signed.true+signjars.task.available">
-            <and>
-                <isset property="javafx.signed.true"/>
-                <isset property="jfx-deployment-available"/>
-            </and>
-        </condition>
-    </target>
-    
-    <target name="-javafx-init-keystore" depends="-check-signing-possible,-javafx-init-signing,-javafx-init-keystore1,-javafx-init-keystore2,-check-keystore-exists" 
-            if="javafx.signed.true+signjars.task.available" unless="javafx.signjar.keystore.exists">
-        <property name="javafx.signjar.vendor" value="CN=${application.vendor}"/>
-        <echo message="Going to create default keystore in ${javafx.signjar.keystore}"/>
-        <genkey dname="${javafx.signjar.vendor}" alias="${javafx.signjar.alias}" keystore="${javafx.signjar.keystore}"
-            storepass="${javafx.signjar.storepass}" keypass="${javafx.signjar.keypass}"/>
-    </target>
-    
-    <target name="-check-keystore-exists">
-        <available property="javafx.signjar.keystore.exists" file="${javafx.signjar.keystore}"/>
-    </target>
-
-    <target name="-javafx-init-signing">
-        <condition property="generated.key.signing">
-            <equals arg1="${javafx.signing.type}" arg2="self" trim="true"/>
-        </condition>
-    </target>
-
-    <target name="-javafx-init-keystore1" depends="-javafx-init-signing" if="generated.key.signing">
-        <property name="javafx.signjar.keystore" value="${basedir}${file.separator}build${file.separator}nb-jfx.jks" />
-        <property name="javafx.signjar.storepass" value="storepass"/>
-        <property name="javafx.signjar.keypass" value="keypass"/>
-        <property name="javafx.signjar.alias" value="nb-jfx"/>
-    </target>
-
-    <target name="-javafx-init-keystore2" depends="-javafx-init-signing" unless="generated.key.signing">
-        <property name="javafx.signjar.keystore" value="${javafx.signing.keystore}" />
-        <property name="javafx.signjar.storepass" value="${javafx.signing.keystore.password}"/>
-        <property name="javafx.signjar.keypass" value="${javafx.signing.keyalias.password}"/>
-        <property name="javafx.signjar.alias" value="${javafx.signing.keyalias}"/>
-    </target>
-
-    
-    <!-- Project Deployment Macros -->
-
-    <macrodef name="deploy-defines">
-        <sequential>
-            <basename property="jfx.deployment.jar" file="${dist.jar}"/>
-            <property name="jfx.deployment.dir" location="${dist.dir}"/>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="deploy-preprocess">
-        <sequential>
-            <delete includeEmptyDirs="true" quiet="true">
-                <fileset dir="${jfx.deployment.dir}${file.separator}lib">
-                    <exclude name="**${file.separator}*.jar"/>
-                </fileset>
-            </delete>
-        </sequential>
-    </macrodef>
-
-    <!-- fx:jar scripted call enables passing of arbitrarily long list of params and fx-version dependent behavior -->
-    <macrodef name="deploy-jar">
-        <sequential>
-            <antcall target="-pre-jfx-jar"/>
-            <echo message="javafx.ant.classpath = ${javafx.ant.classpath}" level="verbose"/>
-            <typedef name="fx_jar" classname="com.sun.javafx.tools.ant.FXJar" classpath="${javafx.ant.classpath}"/>
-            <echo message="Launching &lt;fx:jar&gt; task from ${ant-javafx.jar.location}" level="info"/>
-            <property name="pp_jar_destfile" value="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}"/>
-            <property name="pp_jar_buildclasses" value="${basedir}${file.separator}${build.classes.dir}"/>
-            <property name="pp_jar_cssbss" value="**${file.separator}*.${css-exclude-ext}"/>
-            <property name="pp_jar_dir" value="${jfx.deployment.dir}"/>
-            <property name="pp_jar_fs1" value="lib${file.separator}${javafx.preloader.jar.filename}"/>
-            <property name="pp_jar_fs2" value="lib${file.separator}*.jar"/>
-            <echo message="deploy_jar: pp_jar_destfile = ${pp_jar_destfile}" level="verbose"/>
-            <echo message="deploy_jar: pp_jar_buildclasses = ${pp_jar_buildclasses}" level="verbose"/>
-            <echo message="deploy_jar: pp_jar_cssbss = ${pp_jar_cssbss}" level="verbose"/>
-            <echo message="deploy_jar: pp_jar_dir = ${pp_jar_dir}" level="verbose"/>
-            <echo message="deploy_jar: pp_jar_fs1 = ${pp_jar_fs1}" level="verbose"/>
-            <echo message="deploy_jar: pp_jar_fs2 = ${pp_jar_fs2}" level="verbose"/>
-            <echo message="JavaScript: deploy-jar" level="verbose"/>
-            <script language="javascript">
-                <![CDATA[
-                    var S = java.io.File.separator;
-                    var JFXPAR = "javafx.param";
-                    var JFXPARN = "name";
-                    var JFXPARV = "value";
-                    var JFXLAZY = "download.mode.lazy.jar";
-                    var withpreloader = project.getProperty("app-with-preloader");
-                    var fx_ant_api_1_1 = project.getProperty("have-fx-ant-api-1.1");
-                    var fx_ant_api_1_2 = project.getProperty("have-fx-ant-api-1.2");
-                    var fx_in_swing_app = project.getProperty("fx-in-swing-app");
-
-                    // get jars with lazy download mode property set
-                    function getLazyJars() {
-                        var jars = new Array();
-                        var keys = project.getProperties().keys();
-                        while(keys.hasMoreElements()) {
-                            var pn = keys.nextElement();
-                            if(pn.substr(0,JFXLAZY.length) == JFXLAZY) {
-                                var fname = pn.substring(JFXLAZY.length+1);
-                                jars.push(fname);
-                            }
-                        }
-                        return jars.length > 0 ? jars : null;
-                    }
-                    // set download mode of dependent libraries
-                    function setDownloadMode(fsEager, fsLazy, jars) {
-                        for(i = 0; i < jars.length; i++) {
-                            fsEager.setExcludes("lib" + S + jars[i]);
-                            fsLazy.setIncludes("lib" + S + jars[i]);
-                        }
-                    }
-                    
-                    // fx:jar
-                    var jar = project.createTask("fx_jar");
-                    jar.setProject(project);
-                    var destfile = project.getProperty("pp_jar_destfile");
-                    jar.setDestfile(destfile);
-
-                    // fx:application
-                    var app = jar.createApplication();
-                    app.setProject(project);
-                    var title = project.getProperty("application.title");
-                    if(fx_in_swing_app == "true" && fx_ant_api_1_2 == "true") {
-                        var mainclass = project.getProperty("main.class");
-                        app.setToolkit("swing");
-                    } else {
-                        var mainclass = project.getProperty("javafx.main.class");
-                    }
-                    var fallback = project.getProperty("javafx.fallback.class");
-                    app.setName(title);
-                    app.setMainClass(mainclass);
-                    app.setFallbackClass(fallback);
-                    if(withpreloader == "true") {
-                        preloaderclass = project.getProperty("javafx.preloader.class");
-                        app.setPreloaderClass(preloaderclass);
-                    }
-                    // fx:param, fx:argument
-                    var keys = project.getProperties().keys();
-                    while(keys.hasMoreElements()) {
-                        var pn = keys.nextElement();
-                        if(pn.substr(0,JFXPAR.length) == JFXPAR && pn.indexOf(JFXPARN) == (pn.length()-JFXPARN.length)) {
-                            var propn = project.getProperty(pn);
-                            if(propn != null && propn.length() > 0) {
-                                var pv = pn.substr(0,pn.indexOf(JFXPARN)) + JFXPARV;
-                                var propv = project.getProperty(pv);
-                                if(propv != null && propv.length() > 0) {
-                                    var par = app.createParam();
-                                    par.setName(propn);
-                                    par.setValue(propv);
-                                } else {
-                                    if(fx_ant_api_1_1 == "true") {
-                                        var arg = app.createArgument();
-                                        arg.addText(propn);
-                                    }
-                                }
-                            }
-                        }
-                    }
-                    
-                    // fx:resources
-                    var res = jar.createResources();
-                    res.setProject(project);
-                    var pdir = project.getProperty("pp_jar_dir");
-                    if(withpreloader == "true") {
-                        var f1 = res.createFileSet();
-                        f1.setProject(project);
-                        f1.setDir(new java.io.File(pdir));
-                        var i1 = project.getProperty("pp_jar_fs1");
-                        f1.setIncludes(i1);
-                        f1.setRequiredFor("preloader");
-                        var f2 = res.createFileSet();
-                        f2.setProject(project);
-                        f2.setDir(new java.io.File(pdir));
-                        var i2a = project.getProperty("jfx.deployment.jar");
-                        var i2b = project.getProperty("pp_jar_fs2");
-                        var e2c = project.getProperty("pp_jar_fs1");
-                        f2.setIncludes(i2a);
-                        f2.setIncludes(i2b);
-                        f2.setExcludes(e2c);
-                        f2.setRequiredFor("startup");
-                        var lazyjars = getLazyJars();
-                        if(lazyjars != null) {
-                            var f3 = res.createFileSet();
-                            f3.setProject(project);
-                            f3.setDir(new java.io.File(pdir));
-                            f3.setRequiredFor("runtime");
-                            setDownloadMode(f2,f3,lazyjars);
-                        }
-                    } else {
-                        var fn = res.createFileSet();
-                        fn.setProject(project);
-                        fn.setDir(new java.io.File(pdir));
-                        var ia = project.getProperty("jfx.deployment.jar");
-                        var ib = project.getProperty("pp_jar_fs2");
-                        fn.setIncludes(ia);
-                        fn.setIncludes(ib);
-                        fn.setRequiredFor("startup");
-                        var lazyjars = getLazyJars();
-                        if(lazyjars != null) {
-                            var fn2 = res.createFileSet();
-                            fn2.setProject(project);
-                            fn2.setDir(new java.io.File(pdir));
-                            fn2.setRequiredFor("runtime");
-                            setDownloadMode(fn,fn2,lazyjars);
-                        }
-                    }
-                    
-                    // fileset to exclude *.css or *.bss
-                    var fs = jar.createFileSet();
-                    fs.setProject(project);
-                    var buildcls = project.getProperty("pp_jar_buildclasses");
-                    var exc = project.getProperty("pp_jar_cssbss");
-                    fs.setDir(new java.io.File(buildcls));
-                    fs.setExcludes(exc);
-                    
-                    // manifest
-                    var man = jar.createManifest();
-                    var a1val = project.getProperty("application.vendor");
-                    var a1 = new org.apache.tools.ant.taskdefs.Manifest.Attribute();
-                    a1.setName("Implementation-Vendor");
-                    a1.setValue(a1val);
-                    man.addConfiguredAttribute(a1);
-                    var a2val = project.getProperty("application.title");
-                    var a2 = new org.apache.tools.ant.taskdefs.Manifest.Attribute();
-                    a2.setName("Implementation-Title");
-                    a2.setValue(a2val);
-                    man.addConfiguredAttribute(a2);
-                    var a3 = new org.apache.tools.ant.taskdefs.Manifest.Attribute();
-                    a3.setName("Implementation-Version");
-                    a3.setValue("1.0");
-                    man.addConfiguredAttribute(a3);
-                    
-                    jar.perform();
-                ]]>
-            </script>
-            <antcall target="-post-jfx-jar"/>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="deploy-sign">
-        <sequential>
-            <echo message="keystore=${javafx.signjar.keystore}" level="verbose"/>
-            <echo message="storepass=${javafx.signjar.storepass}" level="verbose"/>
-            <echo message="alias=${javafx.signjar.alias}" level="verbose"/>
-            <echo message="keypass=${javafx.signjar.keypass}" level="verbose"/>
-            <signjar keystore="${javafx.signjar.keystore}"
-                storepass="${javafx.signjar.storepass}"
-                alias="${javafx.signjar.alias}"
-                keypass="${javafx.signjar.keypass}">
-                <fileset dir="${jfx.deployment.dir}">
-                    <include name="${jfx.deployment.jar}"/>
-                    <include name="lib${file.separator}*.jar"/>
-                </fileset>
-            </signjar>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="deploy-sign-preloader">
-        <sequential>
-            <echo message="keystore=${javafx.signjar.keystore}" level="verbose"/>
-            <echo message="storepass=${javafx.signjar.storepass}" level="verbose"/>
-            <echo message="alias=${javafx.signjar.alias}" level="verbose"/>
-            <echo message="keypass=${javafx.signjar.keypass}" level="verbose"/>
-            <signjar keystore="${javafx.signjar.keystore}"
-                storepass="${javafx.signjar.storepass}"
-                alias="${javafx.signjar.alias}"
-                keypass="${javafx.signjar.keypass}">
-                <fileset dir="${jfx.deployment.dir}">
-                    <include name="lib${file.separator}${javafx.preloader.jar.filename}"/>
-                </fileset>
-            </signjar>
-            <signjar keystore="${javafx.signjar.keystore}"
-                storepass="${javafx.signjar.storepass}"
-                alias="${javafx.signjar.alias}"
-                keypass="${javafx.signjar.keypass}">
-                <fileset dir="${jfx.deployment.dir}">
-                    <include name="${jfx.deployment.jar}"/>
-                    <include name="lib${file.separator}*.jar"/>
-                    <exclude name="lib${file.separator}${javafx.preloader.jar.filename}"/>
-                </fileset>
-            </signjar>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="deploy-process-template">
-        <sequential>
-            <echo message="javafx.run.htmltemplate = ${javafx.run.htmltemplate}" level="verbose"/>
-            <pathconvert property="javafx.run.htmltemplate.processed">
-                <path path="${javafx.run.htmltemplate}"/>
-                <mapper>
-                     <chainedmapper>
-                          <flattenmapper/>
-                          <globmapper from="*" to="${jfx.deployment.dir}${file.separator}*" casesensitive="no"/>
-                     </chainedmapper>
-                </mapper>
-            </pathconvert>
-            <echo message="javafx.run.htmltemplate.processed = ${javafx.run.htmltemplate.processed}" level="verbose"/>
-        </sequential>
-    </macrodef>
-
-    <!-- fx:deploy scripted call enables passing of arbitrarily long lists of params, vmoptions and callbacks and fx-version dependent behavior -->
-    <macrodef name="deploy-deploy">
-        <sequential>
-            <antcall target="-pre-jfx-deploy"/>
-            <antcall target="-call-pre-jfx-native"/>
-            <echo message="javafx.ant.classpath = ${javafx.ant.classpath}" level="verbose"/>
-            <typedef name="fx_deploy" classname="com.sun.javafx.tools.ant.DeployFXTask" classpath="${javafx.ant.classpath}"/>
-            <echo message="Launching &lt;fx:deploy&gt; task from ${ant-javafx.jar.location}" level="info"/>
-            <property name="pp_deploy_dir" value="${jfx.deployment.dir}"/>
-            <property name="pp_deploy_fs1" value="lib${file.separator}${javafx.preloader.jar.filename}"/>
-            <property name="pp_deploy_fs2" value="lib${file.separator}*.jar"/>
-            <echo message="deploy_deploy: pp_deploy_dir = ${pp_deploy_dir}" level="verbose"/>
-            <echo message="deploy_deploy: pp_deploy_fs1 = ${pp_deploy_fs1}" level="verbose"/>
-            <echo message="deploy_deploy: pp_deploy_fs2 = ${pp_deploy_fs2}" level="verbose"/>
-            <echo message="JavaScript: deploy-deploy" level="verbose"/>
-            <script language="javascript">
-                <![CDATA[
-                    function isTrue(prop) {
-                        return prop != null && 
-                           (prop.toLowerCase()=="true" || prop.toLowerCase()=="yes" || prop.toLowerCase()=="on");
-                    }                    
-                    var S = java.io.File.separator;
-                    var JFXPAR = "javafx.param";
-                    var JFXPARN = "name";
-                    var JFXPARV = "value";
-                    var JFXCALLB = "javafx.jscallback";
-                    var JFXLAZY = "download.mode.lazy.jar";
-                    var withpreloader = project.getProperty("app-with-preloader");
-                    var fx_ant_api_1_1 = project.getProperty("have-fx-ant-api-1.1");
-                    var fx_ant_api_1_2 = project.getProperty("have-fx-ant-api-1.2");
-                    var fx_in_swing_app = project.getProperty("fx-in-swing-app");
-
-                    // get jars with lazy download mode property set
-                    function getLazyJars() {
-                        var jars = new Array();
-                        var keys = project.getProperties().keys();
-                        while(keys.hasMoreElements()) {
-                            var pn = keys.nextElement();
-                            if(pn.substr(0,JFXLAZY.length) == JFXLAZY) {
-                                var fname = pn.substring(JFXLAZY.length+1);
-                                jars.push(fname);
-                            }
-                        }
-                        return jars.length > 0 ? jars : null;
-                    }
-                    // set download mode of dependent libraries
-                    function setDownloadMode(fsEager, fsLazy, jars) {
-                        for(i = 0; i < jars.length; i++) {
-                            fsEager.setExcludes("lib" + S + jars[i]);
-                            fsLazy.setIncludes("lib" + S + jars[i]);
-                        }
-                    }
-                    
-                    // fx:deploy
-                    var deploy = project.createTask("fx_deploy");
-                    deploy.setProject(project);
-                    var width = project.getProperty("javafx.width");
-                    var height = project.getProperty("javafx.height");
-                    var outdir = project.getProperty("jfx.deployment.dir");
-                    var embedJNLP = project.getProperty("javafx.deploy.embedJNLP");
-                    var updatemode = project.getProperty("update-mode");
-                    var outfile = project.getProperty("application.title");
-                    var includeDT = project.getProperty("javafx.deploy.includeDT");
-                    var offline = project.getProperty("javafx.deploy.allowoffline");
-                    deploy.setWidth(width);
-                    deploy.setHeight(height);
-                    deploy.setOutdir(outdir);
-                    deploy.setEmbedJNLP(isTrue(embedJNLP));
-                    deploy.setUpdateMode(updatemode);
-                    deploy.setOutfile(outfile);
-                    deploy.setIncludeDT(isTrue(includeDT));
-                    if(offline != null) {
-                        if(fx_ant_api_1_1 == "true") {
-                            deploy.setOfflineAllowed(isTrue(offline));
-                        } else {
-                            println("Warning: offlineAllowed not supported by this version of JavaFX SDK deployment Ant task. Please upgrade JavaFX to 2.0.2 or higher.");
-                        }
-                    }
-                    // native packaging (time consuming, thus applied in explicit build only)
-                    var nativeEnabled = project.getProperty("do.build.native.package");
-                    var nativeType = project.getProperty("javafx.native.bundling.type");
-                    var projStateRun = project.getProperty("project.state.running");
-                    var projStateDbg = project.getProperty("project.state.debugging");
-                    var projStatePrf = project.getProperty("project.state.profiling");
-                    if(isTrue(nativeEnabled) && nativeType != null && nativeType != "none") {
-                        if(!isTrue(projStateRun) && !isTrue(projStateDbg) && !isTrue(projStatePrf)) {
-                            if(fx_ant_api_1_2 == "true") {
-                                deploy.setNativeBundles(nativeType);
-                                println("Note: To create native bundles the <fx:deploy> task may require external tools. See JavaFX 2.2+ documentation for details.");
-                                println("");
-                                println("Launching <fx:deploy> in native packager mode...");
-                            } else {
-                                println("Warning: Native packaging is not supported by this version of JavaFX SDK deployment Ant task. Please upgrade to JDK 7u6 or higher.");
-                            }
-                        }
-                    }
-
-                    // fx:application
-                    var app = deploy.createApplication();
-                    app.setProject(project);
-                    var title = project.getProperty("application.title");
-                    if(fx_in_swing_app == "true" && fx_ant_api_1_2 == "true") {
-                        var mainclass = project.getProperty("main.class");
-                        app.setToolkit("swing");
-                    } else {
-                        var mainclass = project.getProperty("javafx.main.class");
-                    }
-                    var fallback = project.getProperty("javafx.fallback.class");
-                    app.setName(title);
-                    app.setMainClass(mainclass);
-                    app.setFallbackClass(fallback);
-                    if(withpreloader == "true") {
-                        preloaderclass = project.getProperty("javafx.preloader.class");
-                        app.setPreloaderClass(preloaderclass);
-                    }
-                    // fx:param, fx:argument
-                    var keys = project.getProperties().keys();
-                    while(keys.hasMoreElements()) {
-                        var pn = keys.nextElement();
-                        if(pn.substr(0,JFXPAR.length) == JFXPAR && pn.indexOf(JFXPARN) == (pn.length()-JFXPARN.length)) {
-                            var propn = project.getProperty(pn);
-                            if(propn != null && propn.length() > 0) {
-                                var pv = pn.substr(0,pn.indexOf(JFXPARN)) + JFXPARV;
-                                var propv = project.getProperty(pv);
-                                if(propv != null && propv.length() > 0) {
-                                    var par = app.createParam();
-                                    par.setName(propn);
-                                    par.setValue(propv);
-                                } else {
-                                    if(fx_ant_api_1_1 == "true") {
-                                        var arg = app.createArgument();
-                                        arg.addText(propn);
-                                    } else {
-                                        println("Warning: Unnamed parameters not supported by this version of JavaFX SDK deployment Ant tasks. Upgrade JavaFX to 2.0.2 or higher.");
-                                    }
-                                }
-                            }
-                        }
-                    }
-                    
-                    // fx:resources
-                    var res = deploy.createResources();
-                    res.setProject(project);
-                    var deploydir = project.getProperty("pp_deploy_dir");
-                    if(withpreloader == "true") {
-                        var f1 = res.createFileSet();
-                        f1.setProject(project);
-                        f1.setDir(new java.io.File(deploydir));
-                        var i1 = project.getProperty("pp_deploy_fs1");
-                        f1.setIncludes(i1);
-                        f1.setRequiredFor("preloader");
-                        var f2 = res.createFileSet();
-                        f2.setProject(project);
-                        f2.setDir(new java.io.File(deploydir));
-                        var i2a = project.getProperty("jfx.deployment.jar");
-                        var i2b = project.getProperty("pp_deploy_fs2");
-                        var e2c = project.getProperty("pp_deploy_fs1");
-                        f2.setIncludes(i2a);
-                        f2.setIncludes(i2b);
-                        f2.setExcludes(e2c);
-                        f2.setRequiredFor("startup");
-                        var lazyjars = getLazyJars();
-                        if(lazyjars != null) {
-                            var f3 = res.createFileSet();
-                            f3.setProject(project);
-                            f3.setDir(new java.io.File(deploydir));
-                            f3.setRequiredFor("runtime");
-                            setDownloadMode(f2,f3,lazyjars);
-                        }
-                    } else {
-                        var fn = res.createFileSet();
-                        fn.setProject(project);
-                        fn.setDir(new java.io.File(deploydir));
-                        var ia = project.getProperty("jfx.deployment.jar");
-                        var ib = project.getProperty("pp_deploy_fs2");
-                        fn.setIncludes(ia);
-                        fn.setIncludes(ib);
-                        fn.setRequiredFor("startup");
-                        var lazyjars = getLazyJars();
-                        if(lazyjars != null) {
-                            var fn2 = res.createFileSet();
-                            fn2.setProject(project);
-                            fn2.setDir(new java.io.File(deploydir));
-                            fn2.setRequiredFor("runtime");
-                            setDownloadMode(fn,fn2,lazyjars);
-                        }
-                    }
-                    
-                    // fx:info
-                    var info = deploy.createInfo();
-                    info.setProject(project);
-                    var vendor = project.getProperty("application.vendor");
-                    var description = project.getProperty("application.desc");
-                    info.setTitle(title); // title known from before
-                    info.setVendor(vendor);
-                    info.setDescription(description);
-                    var icon = project.getProperty("javafx.deploy.icon");
-                    if(icon != null) {
-                        if(fx_ant_api_1_1 == "true") {
-                            var iicon = info.createIcon();
-                            iicon.setHref(icon);
-                        } else {
-                            println("Warning: Icon not supported by this version of JavaFX SDK deployment Ant task. Please upgrade JavaFX to 2.0.2 or higher.");
-                        }
-                    }
-                    
-                    // fx:permissions
-                    var perm = deploy.createPermissions();
-                    perm.setProject(project);
-                    var elev = project.getProperty("permissions.elevated");
-                    perm.setElevated(isTrue(elev));
-                    
-                    // fx:preferences
-                    var pref = deploy.createPreferences();
-                    pref.setProject(project);
-                    var scut = project.getProperty("javafx.deploy.adddesktopshortcut");
-                    var instp = project.getProperty("javafx.deploy.installpermanently");
-                    var smenu = project.getProperty("javafx.deploy.addstartmenushortcut");
-                    pref.setShortcut(isTrue(scut));
-                    pref.setInstall(isTrue(instp));
-                    pref.setMenu(isTrue(smenu));
-
-                    // fx:template
-                    var templ = project.getProperty("javafx.run.htmltemplate");
-                    var templp = project.getProperty("javafx.run.htmltemplate.processed");
-                    if(templ != null && templp != null && templ.length() > 0 && templp.length() > 0) {
-                        var temp = deploy.createTemplate();
-                        temp.setProject(project);
-                        temp.setFile(new java.io.File(templ));
-                        temp.setTofile(new java.io.File(templp));
-                    }
-
-                    // fx:platform
-                    var plat = deploy.createPlatform();
-                    plat.setProject(project);
-                    var jvmargs = project.getProperty("run.jvmargs");
-                    if(jvmargs != null && jvmargs.length() > 0) {
-                        var jvmargss = jvmargs.split(" ");
-                        for(i = 0; i < jvmargss.length; i++) {
-                            if(jvmargss[i] != null && jvmargss[i].length() > 0) {
-                                var vmarg = plat.createJvmarg();
-                                vmarg.setValue(jvmargss[i]);
-                            }
-                        }
-                    }
-                    
-                    // fx:callbacks
-                    var callbs = deploy.createCallbacks();
-                    callbs.setProject(project);
-                    var keys = project.getProperties().keys();
-                    while(keys.hasMoreElements()) {
-                        var pn = keys.nextElement();
-                        if(pn.substr(0,JFXCALLB.length) == JFXCALLB) {
-                            var prop = project.getProperty(pn);
-                            if(prop != null && prop.length() > 0) {
-                                var cname = pn.substring(JFXCALLB.length+1);
-                                var cb = callbs.createCallback();
-                                cb.setProject(project);
-                                cb.setName(cname);
-                                cb.addText(prop);
-                            }
-                        }
-                    }
-                    
-                    deploy.perform();
-                ]]>
-            </script>
-            <antcall target="-post-jfx-deploy"/>
-            <antcall target="-call-post-jfx-native"/>
-        </sequential>
-    </macrodef>
-
-    <!-- JavaFX SDK 2.0.x and 2.1.x deploy task can not generate pre-FX jnlp which is needed for FX-in-Swing projects-->
-    <macrodef name="deploy-deploy-swing">
-        <sequential>
-            <antcall target="-pre-jfx-deploy"/>
-            <local name="permissions-elevated-token"/>
-            <condition property="permissions-elevated-token" value="${line.separator}    &lt;security&gt;${line.separator}        &lt;all-permissions/&gt;${line.separator}    &lt;/security&gt;" else="">
-                <isset property="permissions-elevated"/>
-            </condition>
-            <local name="offline-allowed-token"/>
-            <condition property="offline-allowed-token" value="${line.separator}        &lt;offline-allowed/&gt;" else="">
-                <isset property="offline-allowed"/>
-            </condition>
-            <local name="update-mode-background-token"/>
-            <condition property="update-mode-background-token" value="background" else="always">
-                <isset property="update-mode-background"/>
-            </condition>
-            <local name="html-template-processed-available"/>
-            <condition property="html-template-processed-available">
-                <and>
-                    <isset property="javafx.run.htmltemplate.processed"/>
-                    <not>
-                        <equals arg1="${javafx.run.htmltemplate.processed}" arg2=""/>
-                    </not>
-                </and>
-            </condition>
-            <local name="javafx.deploy.icon.basename"/>
-            <basename property="javafx.deploy.icon.basename" file="${javafx.deploy.icon}"/>
-            <local name="local-icon-filename-available"/>
-            <condition property="local-icon-filename-available">
-                <and>
-                    <isset property="icon-available"/>
-                    <isset property="javafx.deploy.icon.basename"/>
-                    <not><equals arg1="${javafx.deploy.icon.basename}" arg2=""/></not>
-                    <not><contains string="${javafx.deploy.icon.basename}" substring="$${javafx" casesensitive="false"/></not>
-                    <not><contains string="${javafx.deploy.icon}" substring="http:" casesensitive="false"/></not>
-                </and>
-            </condition>
-            <local name="icon-token"/>
-            <condition property="icon-token" value="${line.separator}        &lt;icon href=&quot;${javafx.deploy.icon.basename}&quot; kind=&quot;default&quot;/&gt;">
-                <isset property="local-icon-filename-available"/>
-            </condition>
-            <condition property="icon-token" value="${line.separator}        &lt;icon href=&quot;${javafx.deploy.icon}&quot; kind=&quot;default&quot;/&gt;" else="">
-                <isset property="icon-available"/>
-            </condition>
-            <basename property="dist.filename" file="${dist.jar}" suffix=".jar"/>
-            <length file="${dist.jar}" property="dist.jar.size" />
-            <local name="vmargs-token"/>
-            <condition property="vmargs-token" value="java-vm-args=&quot;${run.jvmargs}&quot; " else="">
-                <isset property="vmargs-available"/>
-            </condition>
-            <local name="applet-params-token"/>
-            <local name="application-args-token"/>
-            <echo message="JavaScript: deploy-deploy-swing 1" level="verbose"/>
-            <script language="javascript">
-                <![CDATA[
-                    var JFXPAR = "javafx.param";
-                    var JFXPARN = "name";
-                    var JFXPARV = "value";
-
-                    var params = "";
-                    var args = "";
-                    var keys = project.getProperties().keys();
-                    while(keys.hasMoreElements()) {
-                        var pn = keys.nextElement();
-                        if(pn.substr(0,JFXPAR.length) == JFXPAR && pn.indexOf(JFXPARN) == (pn.length()-JFXPARN.length)) {
-                            var propn = project.getProperty(pn);
-                            if(propn != null && propn.length() > 0) {
-                                var pv = pn.substr(0,pn.indexOf(JFXPARN)) + JFXPARV;
-                                var propv = project.getProperty(pv);
-                                if(propv != null && propv.length() > 0) {
-                                    params += "\n        <param name=\"" + propn + "\" value=\"" + propv + "\"/>";
-                                    args += "\n        <argument>" + propn + "=" + propv + "</argument>";
-                                } else {
-                                    params += "\n        <param name=\"" + propn + "\" value=\"\"/>";
-                                    args += "\n        <argument>" + propn + "</argument>";
-                                }
-                            }
-                        }
-                    }
-                    project.setProperty("applet-params-token", params);
-                    project.setProperty("application-args-token", args);
-                ]]>
-            </script>
-            <local name="application.desc.processed"/>
-            <condition property="application.desc.processed" value="${application.desc}" else="Swing applet embedding JavaFX components.">
-                <isset property="application.desc"/>
-            </condition>
-            <filterchain id="jnlp.template.filter">
-                <replacetokens>
-                    <token key="NAME" value="${dist.filename}"/>
-                    <token key="MAINCLASS" value="${main.class}"/>
-                    <token key="FILESIZE" value="${dist.jar.size}"/>
-                    <token key="VENDOR" value="${application.vendor}"/>
-                    <token key="TITLE" value="${application.title}"/>
-                    <token key="DESCRIPTION" value="${application.desc.processed}"/>
-                    <token key="WIDTH" value="${javafx.run.width}"/>
-                    <token key="HEIGHT" value="${javafx.run.height}"/>
-                    <token key="PERMISSIONS" value="${permissions-elevated-token}"/>
-                    <token key="OFFLINE" value="${offline-allowed-token}"/>
-                    <token key="UPDATEMODE" value="${update-mode-background-token}"/>
-                    <token key="ICON" value="${icon-token}"/>
-                    <token key="VMARGS" value="${vmargs-token}"/>
-                    <token key="PARAMETERS" value="${applet-params-token}"/>
-                    <token key="ARGUMENTS" value="${application-args-token}"/>
-                </replacetokens>
-            </filterchain>
-            <copy file="${basedir}${file.separator}nbproject${file.separator}templates${file.separator}FXSwingTemplateApplication.jnlp" 
-                    tofile="${dist.dir}${file.separator}${dist.filename}_application.jnlp" >
-                    <filterchain refid="jnlp.template.filter"/>
-            </copy>        
-            <copy file="${basedir}${file.separator}nbproject${file.separator}templates${file.separator}FXSwingTemplateApplet.jnlp" 
-                    tofile="${dist.dir}${file.separator}${dist.filename}_applet.jnlp" >
-                    <filterchain refid="jnlp.template.filter"/>
-            </copy>        
-            <copy file="${basedir}${file.separator}nbproject${file.separator}templates${file.separator}FXSwingTemplate.html" 
-                    tofile="${dist.dir}${file.separator}${dist.filename}.html" >
-                    <filterchain refid="jnlp.template.filter"/>
-            </copy>
-            <echo message="JavaScript: deploy-deploy-swing 2" level="verbose"/>
-            <script language="javascript">
-                <![CDATA[
-                    var PREF = "file:";
-                    var doCopyIcon = project.getProperty("local-icon-filename-available");
-                    if(doCopyIcon != null) {
-                        var iconProp = project.getProperty("javafx.deploy.icon");
-                        if(iconProp.indexOf(PREF) == 0) {
-                            iconProp = iconProp.slice(PREF.length);
-                        }
-                        while(iconProp.charAt(0) == "/") {
-                            iconProp = iconProp.slice(1);
-                        }
-                        var S = java.io.File.separator;
-                        var baseDir = project.getProperty("basedir");
-                        var distDir = project.getProperty("dist.dir");
-                        var copyTask = project.createTask("copy");
-                        var source = new java.io.File(iconProp);
-                        var target = new java.io.File(baseDir + S + distDir);
-                        copyTask.setFile(source);
-                        copyTask.setTodir(target);
-                        copyTask.setFlatten(true);
-                        copyTask.setFailOnError(false);
-                        copyTask.perform();
-                    }
-                    var doCopyHTMLFrom = project.getProperty("html-template-available");
-                    var doCopyHTMLTo = project.getProperty("html-template-processed-available");
-                    if(doCopyHTMLFrom != null && doCopyHTMLTo != null) {
-                        var htmlFrom = project.getProperty("javafx.run.htmltemplate");
-                        if(htmlFrom.indexOf(PREF) == 0) {
-                            htmlFrom = htmlFrom.slice(PREF.length);
-                        }
-                        while(htmlFrom.charAt(0) == "/") {
-                            htmlFrom = htmlFrom.slice(1);
-                        }
-                        var htmlTo = project.getProperty("javafx.run.htmltemplate.processed");
-                        if(htmlTo.indexOf(PREF) == 0) {
-                            htmlTo = htmlTo.slice(PREF.length);
-                        }
-                        while(htmlTo.charAt(0) == "/") {
-                            htmlTo = htmlTo.slice(1);
-                        }
-                        var copyTask = project.createTask("copy");
-                        var source = new java.io.File(htmlFrom);
-                        var target = new java.io.File(htmlTo);
-                        copyTask.setFile(source);
-                        copyTask.setTofile(target);
-                        copyTask.setFailOnError(false);
-                        copyTask.perform();
-                    }
-                ]]>
-            </script>
-            <antcall target="-post-jfx-deploy"/>
-        </sequential>
-    </macrodef>
-
-
-    <!-- Fallback Project Deployment Macros To Support At Least Partially JDKs Without JavaScript Support -->
-    
-    <macrodef name="fallback-deploy-application-def">
-        <sequential>
-            <echo message="Warning: Parameters (if any) not passed to &lt;fx:application&gt; in fallback build mode due to JDK missing JavaScript support."/>
-            <fx:application id="fxApp"
-                name="${application.title}"
-                mainClass="${javafx.main.class}"
-                fallbackClass="${javafx.fallback.class}">
-                <!-- PARAMETERS NOT PASSED IN FALLBACK -->
-            </fx:application>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="fallback-deploy-application-def-preloader">
-        <sequential>
-            <echo message="Warning: Parameters (if any) not passed to &lt;fx:application&gt; in fallback build mode due to JDK missing JavaScript support."/>
-            <fx:application id="fxApp"
-                name="${application.title}"
-                mainClass="${javafx.main.class}"
-                preloaderClass="${javafx.preloader.class}"
-                fallbackClass="${javafx.fallback.class}">
-                <!-- PARAMETERS NOT PASSED IN FALLBACK -->
-            </fx:application>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="fallback-deploy-application-def-swing">
-        <sequential>
-            <echo message="Warning: Parameters (if any) not passed to &lt;fx:application&gt; in fallback build mode due to JDK missing JavaScript support."/>
-            <fx:application id="fxApp"
-                name="${application.title}"
-                mainClass="${main.class}"
-                fallbackClass="${javafx.fallback.class}"
-                toolkit="swing">
-                <!-- PARAMETERS NOT PASSED IN FALLBACK -->
-            </fx:application>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="fallback-deploy-resources">
-        <sequential>
-            <fx:resources id="appRes">
-                <fx:fileset requiredFor="startup" dir="${jfx.deployment.dir}">
-                    <include name="${jfx.deployment.jar}"/>
-                    <include name="lib${file.separator}*.jar"/>
-                    <exclude name="lib${file.separator}${jfx.deployment.jar}"/>
-                </fx:fileset>
-            </fx:resources>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="fallback-deploy-resources-preloader">
-        <sequential>
-            <fx:resources id="appRes">
-                <fx:fileset requiredFor="preloader" dir="${jfx.deployment.dir}">
-                    <include name="lib${file.separator}${javafx.preloader.jar.filename}"/>
-                </fx:fileset>
-                <fx:fileset requiredFor="startup" dir="${jfx.deployment.dir}">
-                    <include name="${jfx.deployment.jar}"/>
-                    <include name="lib${file.separator}*.jar"/>
-                    <exclude name="lib${file.separator}${javafx.preloader.jar.filename}"/>
-                    <exclude name="lib${file.separator}${jfx.deployment.jar}"/>
-                </fx:fileset>
-            </fx:resources>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="fallback-deploy-jar">
-        <sequential>
-            <antcall target="-pre-jfx-jar"/>
-            <fx:jar destfile="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}">
-                <fx:application refid="fxApp"/>
-                <fx:resources refid="appRes"/>
-                <fileset dir="${build.classes.dir}">
-                    <exclude name="**${file.separator}*.${css-exclude-ext}"/>
-                </fileset>
-                <manifest>
-                    <attribute name="Implementation-Vendor" value="${application.vendor}"/>
-                    <attribute name="Implementation-Title" value="${application.title}"/>
-                    <attribute name="Implementation-Version" value="1.0"/>
-                </manifest>
-            </fx:jar>
-            <antcall target="-post-jfx-jar"/>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="fallback-deploy-deploy">
-        <sequential>
-            <antcall target="-pre-jfx-deploy"/>
-            <echo message="Warning: JVM Arguments and Callbacks (if any) not passed to &lt;fx:deploy&gt; in fallback build mode due to JDK missing JavaScript support."/>
-            <fx:deploy width="${javafx.width}" height="${javafx.height}"
-                      outdir="${jfx.deployment.dir}" embedjnlp="true" updatemode="${update-mode}"
-                      outfile="${application.title}" includeDT="${javafx.deploy.includeDT}">
-                <fx:application refid="fxApp"/>
-                <fx:resources refid="appRes"/>
-                <fx:info title="${application.title}" vendor="${application.vendor}"/>
-                <fx:permissions elevated="${permissions.elevated}"/>
-                <fx:preferences shortcut="${javafx.deploy.adddesktopshortcut}" install="${javafx.deploy.installpermanently}" menu="${javafx.deploy.addstartmenushortcut}"/>
-                <!-- PLATFORM NOT PASSED IN FALLBACK -->
-                <!-- CALLBACKS NOT PASSED IN FALLBACK -->
-            </fx:deploy>
-            <antcall target="-post-jfx-deploy"/>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="fallback-deploy-deploy-template">
-        <sequential>
-            <antcall target="-pre-jfx-deploy"/>
-            <echo message="Warning: JVM Arguments and Callbacks (if any) not passed to &lt;fx:deploy&gt; in fallback build mode due to JDK missing JavaScript support."/>
-            <deploy-process-template/>
-            <fx:deploy width="${javafx.width}" height="${javafx.height}"
-                      outdir="${jfx.deployment.dir}" embedjnlp="true" updatemode="${update-mode}"
-                      outfile="${application.title}" includeDT="${javafx.deploy.includeDT}">
-                <fx:application refid="fxApp"/>
-                <fx:resources refid="appRes"/>
-                <fx:info title="${application.title}" vendor="${application.vendor}"/>
-                <fx:permissions elevated="${permissions.elevated}"/>
-                <fx:preferences shortcut="${javafx.deploy.adddesktopshortcut}" install="${javafx.deploy.installpermanently}" menu="${javafx.deploy.addstartmenushortcut}"/>
-                <fx:template file="${javafx.run.htmltemplate}" tofile="${javafx.run.htmltemplate.processed}"/>
-                <!-- PLATFORM NOT PASSED IN FALLBACK -->
-                <!-- CALLBACKS NOT PASSED IN FALLBACK -->
-            </fx:deploy>
-            <antcall target="-post-jfx-deploy"/>
-        </sequential>
-    </macrodef>
-
-
-    <!-- Project Deployment Targets -->
-
-    <target name="-check-sign" depends="-check-project,-javafx-init-keystore" if="javafx.signed.true+signjars.task.available">
-        <condition property="sign-nopreloader-notemplate">
-            <and>
-                <isset property="app-without-preloader"/>
-                <not><isset property="html-template-available"/></not>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="sign-preloader-notemplate">
-            <and>
-                <isset property="app-with-preloader"/>
-                <not><isset property="html-template-available"/></not>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="sign-nopreloader-template">
-            <and>
-                <isset property="app-without-preloader"/>
-                <isset property="html-template-available"/>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="sign-preloader-template">
-            <and>
-                <isset property="app-with-preloader"/>
-                <isset property="html-template-available"/>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="sign-nopreloader-notemplate-swing">
-            <and>
-                <isset property="app-without-preloader"/>
-                <not><isset property="html-template-available"/></not>
-                <isset property="fx-in-swing-app-workaround"/>
-            </and>
-        </condition>
-        <condition property="sign-nopreloader-template-swing">
-            <and>
-                <isset property="app-without-preloader"/>
-                <isset property="html-template-available"/>
-                <isset property="fx-in-swing-app-workaround"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-check-nosign" depends="-check-project">
-        <condition property="nosign-nopreloader-notemplate">
-            <and>
-                <isset property="app-without-preloader"/>
-                <not><isset property="html-template-available"/></not>
-                <not><isset property="javafx.signed.true"/></not>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="nosign-preloader-notemplate">
-            <and>
-                <isset property="app-with-preloader"/>
-                <not><isset property="html-template-available"/></not>
-                <not><isset property="javafx.signed.true"/></not>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="nosign-nopreloader-template">
-            <and>
-                <isset property="app-without-preloader"/>
-                <isset property="html-template-available"/>
-                <not><isset property="javafx.signed.true"/></not>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="nosign-preloader-template">
-            <and>
-                <isset property="app-with-preloader"/>
-                <isset property="html-template-available"/>
-                <not><isset property="javafx.signed.true"/></not>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="nosign-nopreloader-notemplate-swing">
-            <and>
-                <isset property="app-without-preloader"/>
-                <not><isset property="html-template-available"/></not>
-                <not><isset property="javafx.signed.true"/></not>
-                <isset property="fx-in-swing-app-workaround"/>
-            </and>
-        </condition>
-        <condition property="nosign-nopreloader-template-swing">
-            <and>
-                <isset property="app-without-preloader"/>
-                <isset property="html-template-available"/>
-                <not><isset property="javafx.signed.true"/></not>
-                <isset property="fx-in-swing-app-workaround"/>
-            </and>
-        </condition>
-    </target>
-
-
-    <!-- WITH SIGNING -->
-
-    <!-- project without preloader -->
-    <!-- no html template -->
-    <target name="-deploy-app-sign-nopreloader-notemplate" depends="-check-sign" if="sign-nopreloader-notemplate" unless="preloader-app">
-        <echo message="-deploy-app-sign-nopreloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-sign/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project with preloader -->
-    <!-- no html template -->
-    <target name="-deploy-app-sign-preloader-notemplate" depends="-check-sign" if="sign-preloader-notemplate" unless="preloader-app">
-        <echo message="-deploy-app-sign-preloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-sign-preloader/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project without preloader -->
-    <!-- html template -->
-    <target name="-deploy-app-sign-nopreloader-template" depends="-check-sign" if="sign-nopreloader-template" unless="preloader-app">
-        <echo message="-deploy-app-sign-nopreloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-sign/>
-        <deploy-process-template/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project with preloader -->
-    <!-- html template -->
-    <target name="-deploy-app-sign-preloader-template" depends="-check-sign" if="sign-preloader-template" unless="preloader-app">
-        <echo message="-deploy-app-sign-preloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-sign-preloader/>
-        <deploy-process-template/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project without preloader -->
-    <!-- no html template -->
-    <!-- FX in Swing app -->
-    <target name="-deploy-app-sign-nopreloader-notemplate-swing" depends="-check-sign" if="sign-nopreloader-notemplate-swing" unless="preloader-app-no-workaround">
-        <echo message="-deploy-app-sign-nopreloader-notemplate-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-sign/>
-        <deploy-deploy-swing/>
-    </target>
-
-    <!-- project without preloader -->
-    <!-- html template -->
-    <!-- FX in Swing app -->
-    <target name="-deploy-app-sign-nopreloader-template-swing" depends="-check-sign" if="sign-nopreloader-template-swing" unless="preloader-app-no-workaround">
-        <echo message="-deploy-app-sign-nopreloader-template-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-sign/>
-        <deploy-process-template/>
-        <deploy-deploy-swing/>
-    </target>
-
-
-    <!-- NO SIGNING -->
-
-    <!-- project without preloader -->
-    <!-- no html template -->
-    <target name="-deploy-app-nosign-nopreloader-notemplate" depends="-check-nosign" if="nosign-nopreloader-notemplate" unless="preloader-app">
-        <echo message="-deploy-app-nosign-nopreloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project with preloader -->
-    <!-- no html template -->
-    <target name="-deploy-app-nosign-preloader-notemplate" depends="-check-nosign" if="nosign-preloader-notemplate" unless="preloader-app">
-        <echo message="-deploy-app-nosign-preloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project without preloader -->
-    <!-- html template -->
-    <target name="-deploy-app-nosign-nopreloader-template" depends="-check-nosign" if="nosign-nopreloader-template" unless="preloader-app">
-        <echo message="-deploy-app-nosign-nopreloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-process-template/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project with preloader -->
-    <!-- html template -->
-    <target name="-deploy-app-nosign-preloader-template" depends="-check-nosign" if="nosign-preloader-template" unless="preloader-app">
-        <echo message="-deploy-app-nosign-preloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-process-template/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project without preloader -->
-    <!-- no html template -->
-    <!-- FX in Swing app -->
-    <target name="-deploy-app-nosign-nopreloader-notemplate-swing" depends="-check-nosign" if="nosign-nopreloader-notemplate-swing" unless="preloader-app-no-workaround">
-        <echo message="-deploy-app-nosign-nopreloader-notemplate-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-deploy-swing/>
-    </target>
-
-    <!-- project without preloader -->
-    <!-- html template -->
-    <!-- FX in Swing app -->
-    <target name="-deploy-app-nosign-nopreloader-template-swing" depends="-check-nosign" if="nosign-nopreloader-template-swing" unless="preloader-app-no-workaround">
-        <echo message="-deploy-app-nosign-nopreloader-template-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-process-template/>
-        <deploy-deploy-swing/>
-    </target>
-
-
-    <!-- FALLBACK (NO JAVASCRIPT) TARGETS WITH SIGNING -->
-
-    <target name="-check-fallback-sign-deploy-swing-possible" depends="-check-sign">
-        <local name="fail-deploy-swing-possible"/>
-        <condition property="fail-deploy-swing-possible">
-            <and>
-                <or>
-                    <isset property="sign-nopreloader-notemplate-swing"/>
-                    <isset property="sign-nopreloader-template-swing"/>
-                </or>
-                <not><isset property="have-fx-ant-api-1.2"/></not>
-            </and>
-        </condition>
-        <fail message="Error: JavaFX SDK version 2.2 or newer is needed to deploy FX-in-Swing on JDK without JavaScript support." 
-              if="fail-deploy-swing-possible"/>
-    </target>
-    
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK no html template -->
-    <target name="-fallback-deploy-app-sign-nopreloader-notemplate" depends="-check-sign" if="sign-nopreloader-notemplate" unless="preloader-app">
-        <echo message="-fallback-deploy-app-sign-nopreloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <deploy-sign/>
-        <fallback-deploy-deploy/>
-    </target>
-
-    <!-- FALLBACK project with preloader -->
-    <!-- FALLBACK no html template -->
-    <target name="-fallback-deploy-app-sign-preloader-notemplate" depends="-check-sign" if="sign-preloader-notemplate" unless="preloader-app">
-        <echo message="-fallback-deploy-app-sign-preloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-preloader/>
-        <fallback-deploy-resources-preloader/>
-        <fallback-deploy-jar/>
-        <deploy-sign-preloader/>
-        <fallback-deploy-deploy/>
-    </target>
-
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK html template -->
-    <target name="-fallback-deploy-app-sign-nopreloader-template" depends="-check-sign" if="sign-nopreloader-template" unless="preloader-app">
-        <echo message="-fallback-deploy-app-sign-nopreloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <deploy-sign/>
-        <fallback-deploy-deploy-template/>
-    </target>
-
-    <!-- FALLBACK project with preloader -->
-    <!-- FALLBACK html template -->
-    <target name="-fallback-deploy-app-sign-preloader-template" depends="-check-sign" if="sign-preloader-template" unless="preloader-app">
-        <echo message="-fallback-deploy-app-sign-preloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-preloader/>
-        <fallback-deploy-resources-preloader/>
-        <fallback-deploy-jar/>
-        <deploy-sign-preloader/>
-        <fallback-deploy-deploy-template/>
-    </target>
-
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK no html template -->
-    <!-- FALLBACK FX in Swing app -->
-    <target name="-fallback-deploy-app-sign-nopreloader-notemplate-swing" depends="-check-fallback-sign-deploy-swing-possible" if="sign-nopreloader-notemplate-swing" unless="preloader-app-no-workaround">
-        <echo message="-fallback-deploy-app-sign-nopreloader-notemplate-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-swing/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <deploy-sign/>
-        <fallback-deploy-deploy/>
-    </target>
-
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK html template -->
-    <!-- FALLBACK FX in Swing app -->
-    <target name="-fallback-deploy-app-sign-nopreloader-template-swing" depends="-check-fallback-sign-deploy-swing-possible" if="sign-nopreloader-template-swing" unless="preloader-app-no-workaround">
-        <echo message="-fallback-deploy-app-sign-nopreloader-template-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-swing/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <deploy-sign/>
-        <fallback-deploy-deploy-template/>
-    </target>
-
-
-    <!-- FALLBACK (NO JAVASCRIPT) TARGETS NO SIGNING -->
-
-    <target name="-check-fallback-nosign-deploy-swing-possible" depends="-check-nosign">
-        <local name="fail-deploy-swing-possible"/>
-        <condition property="fail-deploy-swing-possible">
-            <and>
-                <or>
-                    <isset property="nosign-nopreloader-notemplate-swing"/>
-                    <isset property="nosign-nopreloader-template-swing"/>
-                </or>
-                <not><isset property="have-fx-ant-api-1.2"/></not>
-            </and>
-        </condition>
-        <fail message="Error: JavaFX SDK version 2.2 or newer is needed to deploy FX-in-Swing on JDK without JavaScript support." 
-              if="fail-deploy-swing-possible"/>
-    </target>
-
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK no html template -->
-    <target name="-fallback-deploy-app-nosign-nopreloader-notemplate" depends="-check-nosign" if="nosign-nopreloader-notemplate" unless="preloader-app">
-        <echo message="-fallback-deploy-app-nosign-nopreloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <fallback-deploy-deploy/>
-    </target>
-
-    <!-- FALLBACK project with preloader -->
-    <!-- FALLBACK no html template -->
-    <target name="-fallback-deploy-app-nosign-preloader-notemplate" depends="-check-nosign" if="nosign-preloader-notemplate" unless="preloader-app">
-        <echo message="-fallback-deploy-app-nosign-preloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-preloader/>
-        <fallback-deploy-resources-preloader/>
-        <fallback-deploy-jar/>
-        <fallback-deploy-deploy/>
-    </target>
-
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK html template -->
-    <target name="-fallback-deploy-app-nosign-nopreloader-template" depends="-check-nosign" if="nosign-nopreloader-template" unless="preloader-app">
-        <echo message="-fallback-deploy-app-nosign-nopreloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <fallback-deploy-deploy-template/>
-    </target>
-
-    <!-- FALLBACK project with preloader -->
-    <!-- FALLBACK html template -->
-    <target name="-fallback-deploy-app-nosign-preloader-template" depends="-check-nosign" if="nosign-preloader-template" unless="preloader-app">
-        <echo message="-fallback-deploy-app-nosign-preloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-preloader/>
-        <fallback-deploy-resources-preloader/>
-        <fallback-deploy-jar/>
-        <fallback-deploy-deploy-template/>
-    </target>
-
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK no html template -->
-    <!-- FALLBACK FX in Swing app -->
-    <target name="-fallback-deploy-app-nosign-nopreloader-notemplate-swing" depends="-check-fallback-nosign-deploy-swing-possible" if="nosign-nopreloader-notemplate-swing" unless="preloader-app-no-workaround">
-        <echo message="-fallback-deploy-app-nosign-nopreloader-notemplate-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-swing/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <fallback-deploy-deploy/>
-    </target>
-
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK html template -->
-    <!-- FALLBACK FX in Swing app -->
-    <target name="-fallback-deploy-app-nosign-nopreloader-template-swing" depends="-check-fallback-nosign-deploy-swing-possible" if="nosign-nopreloader-template-swing" unless="preloader-app-no-workaround">
-        <echo message="-fallback-deploy-app-nosign-nopreloader-template-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-swing/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <fallback-deploy-deploy-template/>
-    </target>
-
-
-    <!-- Project Build Targets -->
-
-    <target name="jfx-build" depends="-jfx-do-compile, -jfx-do-jar, -jfx-do-post-jar"/>
-    <target name="jfx-build-noscript" depends="-set-fallback-no-javascript, -jfx-do-compile, -jfx-do-jar, -jfx-do-post-jar"/>
-    
-    <target name="jfx-rebuild" depends="clean, -jfx-do-compile, -jfx-do-jar, -jfx-do-post-jar"/>
-    <target name="jfx-rebuild-noscript" depends="-set-fallback-no-javascript, clean, -jfx-do-compile, -jfx-do-jar, -jfx-do-post-jar"/>
-
-    <target name="jfx-build-native" depends="-set-do-build-native-package, -check-ant-jre-supports-native-packaging, -check-native-packager-external-tools, jfx-rebuild"/>
-    <target name="jfx-build-native-noscript" depends="-set-do-build-native-package, -check-ant-jre-supports-native-packaging, -check-native-packager-external-tools, jfx-rebuild-noscript"/>
-
-    <target name="-check-do-jar">
-        <condition property="do-jar-false">
-            <and>
-                <isset property="do.jar"/>
-                <equals arg1="${do.jar}" arg2="false"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-fallback-no-javascript">
-        <property name="fallback.no.javascript" value="true"/>
-        <echo message="Warning: Using fallback build infrastructure due to default JDK missing JavaScript support."/>
-    </target>
-    <target name="-jfx-do-compile" depends="-check-do-jar" if="do-jar-false">
-        <antcall target="compile"/>
-    </target>
-    <target name="-jfx-do-jar" depends="-check-do-jar" unless="do-jar-false">
-        <antcall target="jar"/>
-    </target>
-    <target name="-jfx-do-post-jar" depends="-init-check,-check-project" if="preloader-app">
-        <!-- Preloaders are created using SE copylibs task that creates readme file relevant for SE only -->
-        <delete file="${basedir}${file.separator}${dist.dir}${file.separator}README.TXT"/>
-    </target>
-    
-    <target name="-set-do-build-native-package">
-        <property name="do.build.native.package" value="true"/>
-        <echo message="do.build.native.package = ${do.build.native.package}" level="verbose"/>
-    </target>
-    <target name="-check-ant-jre-supports-native-packaging" depends="-check-ant-jre-version">
-        <fail message="Error:${line.separator}JavaFX native packager requires NetBeans to run on JDK 1.7u6 or later !" if="have-ant-jre-pre7u6"/>
-    </target>
-    
-    <target name="-call-pre-jfx-native" if="do.build.native.package">
-        <antcall target="-pre-jfx-native"/>
-    </target>
-    <target name="-call-post-jfx-native" if="do.build.native.package">
-        <antcall target="-post-jfx-native"/>
-    </target>
-
-    <target name="-check-native-bundling-type" depends="-check-operating-system" if="do.build.native.package">
-        <condition property="need.Inno.presence">
-            <and>
-                <isset property="running.on.windows"/>
-                <isset property="javafx.native.bundling.type"/>
-                <or>
-                    <equals arg1="${javafx.native.bundling.type}" arg2="all" casesensitive="false"/>
-                    <equals arg1="${javafx.native.bundling.type}" arg2="installer" casesensitive="false"/>
-                </or>
-            </and>
-        </condition>
-        <condition property="need.WiX.presence">
-            <and>
-                <isset property="running.on.windows"/>
-                <isset property="javafx.native.bundling.type"/>
-                <or>
-                    <equals arg1="${javafx.native.bundling.type}" arg2="all" casesensitive="false"/>
-                    <equals arg1="${javafx.native.bundling.type}" arg2="installer" casesensitive="false"/>
-                </or>
-            </and>
-        </condition>
-        <echo message="need.Inno.presence:${need.Inno.presence}" level="verbose"/>
-        <echo message="need.WiX.presence:${need.WiX.presence}" level="verbose"/>
-    </target>
-    <target name="-check-Inno-presence" depends="-check-native-bundling-type" if="need.Inno.presence">
-        <local name="exec-output"/>
-        <local name="exec-error"/>
-        <local name="exec-result"/>
-        <exec executable="iscc" outputproperty="exec-output" failifexecutionfails="false" errorproperty="exec-error" resultproperty="exec-result"/>
-        <echo message="exec-output:${exec-output}" level="verbose"/>
-        <echo message="exec-error:${exec-error}" level="verbose"/>
-        <echo message="exec-result:${exec-result}" level="verbose"/>
-        <condition property="missing.Inno">
-            <not><and>
-                <contains string="${exec-output}" substring="Inno Setup"/>
-                <not><contains string="${exec-output}" substring="Inno Setup 1"/></not>
-                <not><contains string="${exec-output}" substring="Inno Setup 2"/></not>
-                <not><contains string="${exec-output}" substring="Inno Setup 3"/></not>
-                <not><contains string="${exec-output}" substring="Inno Setup 4"/></not>
-            </and></not>
-        </condition>
-    </target>
-    <target name="-check-WiX-presence" depends="-check-native-bundling-type" if="need.WiX.presence">
-        <local name="exec-output"/>
-        <local name="exec-error"/>
-        <local name="exec-result"/>
-        <exec executable="candle" outputproperty="exec-output" failifexecutionfails="false" errorproperty="exec-error" resultproperty="exec-result">
-            <arg value="-?"/>
-        </exec>
-        <echo message="exec-output:${exec-output}" level="verbose"/>
-        <echo message="exec-error:${exec-error}" level="verbose"/>
-        <echo message="exec-result:${exec-result}" level="verbose"/>
-        <condition property="missing.WiX">
-            <not><and>
-                <contains string="${exec-output}" substring="Windows Installer Xml Compiler version"/>
-                <not><contains string="${exec-output}" substring="Windows Installer Xml Compiler version 1"/></not>
-                <not><contains string="${exec-output}" substring="Windows Installer Xml Compiler version 2"/></not>
-            </and></not>
-        </condition>
-    </target>
-    <target name="-check-native-packager-external-tools" depends="-check-Inno-presence, -check-WiX-presence">
-        <property name="missing.Inno.message" value="JavaFX native packager requires external Inno Setup 5+ tools installed and included on PATH. See http://www.jrsoftware.org/"/>
-        <property name="missing.WiX.message" value="JavaFX native packager requires external WiX 3.0+ tools installed and included on PATH. See http://wix.sourceforge.net/"/>
-        <condition property="missing.Inno.WiX">
-            <and>
-                <isset property="missing.Inno"/>
-                <isset property="missing.WiX"/>
-            </and>
-        </condition>
-        <fail message="Error:${line.separator}${missing.Inno.message}${line.separator}${missing.WiX.message}" if="missing.Inno.WiX"/>
-        <fail message="Error:${line.separator}${missing.Inno.message}" if="missing.Inno"/>
-        <fail message="Error:${line.separator}${missing.WiX.message}" if="missing.WiX"/>
-    </target>
-
-    <!-- Project Run Support -->
-
-    <target name="-warn-of-preloader" depends="-check-project" if="preloader-app-no-workaround">
-        <fail message="Error:${line.separator}JavaFX 2 Preloader Project can not be executed directly.${line.separator}Please execute instead a JavaFX Application that uses the Preloader."/>
-    </target>
-    
-    <target name="-mark-project-state-running">
-        <property name="project.state.running" value="true"/>
-        <echo message="project.state.running = ${project.state.running}" level="verbose"/>
-    </target>
-    <target name="-mark-project-state-debugging">
-        <property name="project.state.debugging" value="true"/>
-        <echo message="project.state.debugging = ${project.state.debugging}" level="verbose"/>
-    </target>
-    <target name="-mark-project-state-profiling">
-        <property name="project.state.profiling" value="true"/>
-        <echo message="project.state.profiling = ${project.state.profiling}" level="verbose"/>
-    </target>
-    <target name="-mark-project-needs-jnlp">
-        <property name="project.needs.jnlp" value="true"/>
-        <echo message="project.needs.jnlp = ${project.needs.jnlp}" level="verbose"/>
-    </target>
-    
-    <!-- set property javafx.disable.concurrent.runs=true to disable runs from temporary directory -->
-    <target name="-check-concurrent-runs">
-        <condition property="disable-concurrent-runs">
-            <and>
-                <isset property="javafx.disable.concurrent.runs"/>
-                <equals arg1="${javafx.disable.concurrent.runs}" arg2="true" trim="true"/>
-            </and>
-        </condition>
-        <condition property="temp.run.jar" value="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}">
-            <isset property="disable-concurrent-runs"/>
-        </condition>
-        <condition property="temp.run.jnlp" value="${jfx.deployment.jnlp}">
-            <isset property="disable-concurrent-runs"/>
-        </condition>
-        <condition property="temp.run.html" value="${jfx.deployment.html}">
-            <isset property="disable-concurrent-runs"/>
-        </condition>
-    </target>
-    <target name="-create-temp-run-dir" depends="-check-concurrent-runs" unless="disable-concurrent-runs">
-        <echo message="Creating temp run dir" level="verbose"/>
-        <tempfile property="temp.run.dir" destDir="${basedir}${file.separator}${dist.dir}${file.separator}" prefix="run"/>
-        <echo message="temp.run.dir = ${temp.run.dir}" level="verbose"/>
-        <copy todir="${temp.run.dir}" includeemptydirs="true" overwrite="true">
-            <fileset dir="${basedir}${file.separator}${dist.dir}">
-                <exclude name="**${file.separator}bundles${file.separator}**"/>
-                <exclude name="**${file.separator}run*${file.separator}**"/>
-            </fileset>
-        </copy>        
-        <property name="temp.run.jar" value="${temp.run.dir}${file.separator}${jfx.deployment.jar}"/>
-        <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
-        <property name="temp.run.jnlp" value="${temp.run.dir}${file.separator}${jfx.deployment.base}.jnlp"/>
-        <property name="temp.run.html" value="${temp.run.dir}${file.separator}${jfx.deployment.base}.html"/>
-    </target>
-    <target name="-remove-temp-run-dir" if="temp.run.dir">
-        <echo message="Removing temp run dir" level="verbose"/>
-        <delete dir="${temp.run.dir}" quiet="true" failonerror="false"/>
-    </target>
-    <target depends="init,compile,jar,-create-temp-run-dir" description="Run JavaFX project standalone." name="jfx-project-run">
-        <echo message="Executing ${main.class} from ${temp.run.jar} using platform ${platform.java}"/>
-        <property name="run.jvmargs" value=""/>
-        <property name="run.jvmargs.ide" value=""/>        
-        <java classname="${main.class}" dir="${work.dir}" fork="true" jvm="${platform.java}">
-            <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-            <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
-            <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
-            <jvmarg line="${run.jvmargs}"/>
-            <jvmarg line="${run.jvmargs.ide}"/>
-            <classpath>
-                <path path="${temp.run.jar}:${javac.classpath}"/>
-            </classpath>
-            <arg line="${application.args}"/>
-            <syspropertyset>
-                <propertyref prefix="run-sys-prop."/>
-                <mapper from="run-sys-prop.*" to="*" type="glob"/>
-            </syspropertyset>
-        </java>
-        <antcall target="-remove-temp-run-dir"/>
-    </target>
-
-
-    <!-- Running/Debugging/Profiling Standalone -->
-
-    <target name="jfxsa-run" depends="-mark-project-state-running,-clean-if-config-changed,-check-jfx-runtime,-warn-of-preloader,jfx-project-run"/>
-    <target name="jfxsa-run-noscript" depends="-set-fallback-no-javascript, jfxsa-run"/>
-
-    <target name="jfxsa-debug" depends="-mark-project-state-debugging,-clean-if-config-changed,jar,-check-jfx-runtime,-warn-of-preloader,debug"/>
-    <target name="jfxsa-debug-noscript" depends="-set-fallback-no-javascript, jfxsa-debug"/>
-    
-    <target name="jfxsa-profile" depends="-mark-project-state-profiling,-check-jfx-runtime,-warn-of-preloader,profile"/>
-    <target name="jfxsa-profile-noscript" depends="-set-fallback-no-javascript, jfxsa-profile"/>
-
-    <target name="-check-clean-if-config-changed" depends="-init-project">
-        <deploy-defines/>
-        <uptodate property="jfx.deployment.jar.newer.than.nbproject" targetfile="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}" >
-            <srcfiles dir="${basedir}${file.separator}nbproject" includes="**${file.separator}*"/>
-        </uptodate>
-        <echo message="jfx.deployment.jar.newer.than.nbproject = ${jfx.deployment.jar.newer.than.nbproject}" level="verbose"/>
-        <available file="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}" type="file" property="jfx.deployment.jar.exists"/>
-        <condition property="request.clean.due.to.config.change">
-            <and>
-                <isset property="jfx.deployment.jar.exists"/>
-                <not><isset property="jfx.deployment.jar.newer.than.nbproject"/></not>
-            </and>
-        </condition>
-    </target>
-    <target name="-clean-if-config-changed" depends="-check-clean-if-config-changed" if="request.clean.due.to.config.change">
-        <echo message="Config change detected. Invoking clean." level="verbose"/>
-        <antcall target="clean"/>
-    </target>
-
-
-    <!-- Shared Debugging init -->
-
-    <target name="-init-debug-args">
-        <property name="version-output" value="java version &quot;${ant.java.version}"/>
-        <condition property="have-jdk-older-than-1.4">
-            <or>
-                <contains string="${version-output}" substring="java version &quot;1.0"/>
-                <contains string="${version-output}" substring="java version &quot;1.1"/>
-                <contains string="${version-output}" substring="java version &quot;1.2"/>
-                <contains string="${version-output}" substring="java version &quot;1.3"/>
-            </or>
-        </condition>
-        <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
-            <istrue value="${have-jdk-older-than-1.4}"/>
-        </condition>
-        <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
-            <os family="windows"/>
-        </condition>
-        <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
-            <isset property="debug.transport"/>
-        </condition>
-    </target>
-
-
-    <!-- Running/Debugging/Profiling as WebStart -->
-    
-    <target name="-check-jnlp-file-fx" depends="-swing-api-check" unless="fx-in-swing-app-workaround">
-        <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
-        <property name="jfx.deployment.jnlp" location="${jfx.deployment.dir}${file.separator}${jfx.deployment.base}.jnlp"/>
-    </target>
-    <target name="-check-jnlp-file-swing" depends="-swing-api-check" if="fx-in-swing-app-workaround">
-        <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
-        <property name="jfx.deployment.jnlp" location="${jfx.deployment.dir}${file.separator}${jfx.deployment.base}_application.jnlp"/>
-    </target>
-    <target name="-check-jnlp-file" depends="-check-jnlp-file-fx,-check-jnlp-file-swing">
-        <condition property="jnlp-file-exists">
-            <available file="${jfx.deployment.jnlp}"/>
-        </condition>
-        <condition property="jnlp-file-exists+netbeans.home">
-            <and>
-                <isset property="jnlp-file-exists"/>
-                <isset property="netbeans.home"/>
-            </and>
-        </condition>
-    </target>
-
-    <target name="-resolve-jnlp-file" depends="-check-jnlp-file" unless="jnlp-file-exists">
-        <antcall target="jfx-deployment"/>
-        <antcall target="-check-jnlp-file"/>
-    </target>
-
-    <!-- set property javafx.enable.concurrent.external.runs=true to enable multiple runs of the same WebStart or Run-in-Browser project -->
-    <target name="-check-concurrent-jnlp-runs" depends="-resolve-jnlp-file">
-        <condition property="disable-concurrent-runs">
-            <not>
-                <and>
-                    <isset property="javafx.enable.concurrent.external.runs"/>
-                    <equals arg1="${javafx.enable.concurrent.external.runs}" arg2="true" trim="true"/>
-                </and>
-            </not>
-        </condition>
-        <condition property="temp.run.jnlp" value="${jfx.deployment.jnlp}">
-            <isset property="disable-concurrent-runs"/>
-        </condition>
-    </target>
-    <target name="-warn-concurrent-jnlp-runs" unless="disable-concurrent-runs">
-        <echo message="Note: Concurrent Run as WebStart enabled.${line.separator}Temporary directory ${temp.run.dir}${line.separator}will remain unused when WebStart execution has finished. Use project Clean to delete unused directories."/>
-    </target>
-
-    <target name="jfxws-run" if="jnlp-file-exists" depends="-mark-project-state-running,-clean-if-config-changed,-mark-project-needs-jnlp,-check-jdk-7u4or5-mac,jar,
-            -check-jfx-webstart,-resolve-jnlp-file,-check-jfx-runtime,-check-concurrent-jnlp-runs,-create-temp-run-dir" 
-            description="Start JavaFX javaws execution">
-        <echo message="Executing ${temp.run.jnlp} using ${active.webstart.executable}"/>
-        <exec executable="${active.webstart.executable}">
-            <arg file="${temp.run.jnlp}"/>
-        </exec>
-        <antcall target="-warn-concurrent-jnlp-runs"/>
-    </target>
-    
-    <target name="jfxws-debug" if="jnlp-file-exists+netbeans.home" depends="-mark-project-state-debugging,-clean-if-config-changed,-mark-project-needs-jnlp,
-            -check-jdk-7u4or5-mac,jar,-check-jfx-webstart,-resolve-jnlp-file,-check-jfx-runtime,
-            -debug-start-debugger,-debug-javaws-debuggee" description="Debug JavaFX javaws project in IDE"/>
-        
-    <target name="-debug-javaws-debuggee" depends="-init-debug-args">
-        <echo message="Executing ${jfx.deployment.jnlp} in debug mode using ${active.webstart.executable}"/>
-        <exec executable="${active.webstart.executable}">
-            <env key="JAVAWS_VM_ARGS" value="${debug-args-line} -Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-            <arg value="-wait"/>
-            <arg file="${jfx.deployment.jnlp}"/>
-        </exec>
-    </target>
-    
-    <target name="-profile-check-1">
-        <property name="run.jvmargs.ide" value=""/>        
-        <condition property="profiler.configured">
-            <or>
-                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
-                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
-            </or>
-        </condition>
-    </target>
-    
-    <target if="jnlp-file-exists+netbeans.home" name="-profile-check-jnlp">
-        <antcall target="-profile-check-1"/>
-    </target>
-    
-    <target name="-do-jfxws-profile" depends="-mark-project-state-profiling,-mark-project-needs-jnlp,
-            -check-jdk-7u4or5-mac,jar,-check-jfx-webstart,-resolve-jnlp-file,-check-jfx-runtime">
-        <echo message="Executing ${jfx.deployment.jnlp} in profile mode using ${active.webstart.executable}"/>
-        <property name="run.jvmargs.ide" value=""/>        
-        <exec executable="${active.webstart.executable}">
-            <env key="JAVAWS_VM_ARGS" value="${run.jvmargs.ide}"/>
-            <arg value="-wait"/>
-            <arg file="${jfx.deployment.jnlp}"/>
-        </exec>
-    </target>
-    
-    <target name="jfxws-profile" if="profiler.configured" 
-        depends="-profile-check-1"
-        description="Profile JavaFX javaws project in IDE">
-        <startprofiler/>
-        <antcall target="-do-jfxws-profile"/>
-    </target>
-    
-    <target name="jfxws-run-noscript" depends="-set-fallback-no-javascript, jfxws-run"/>
-
-    <target name="jfxws-debug-noscript" depends="-set-fallback-no-javascript, jfxws-debug"/>
-
-    <target name="jfxws-profile-noscript" depends="-set-fallback-no-javascript, jfxws-profile"/>
-
-
-    <!-- Running/Debugging/Profiling in Browser -->
-
-    <target name="-check-selected-browser-path" depends="-check-default-run-config">
-        <condition property="javafx.run.inbrowser.undefined">
-            <or>
-                <and>
-                    <isset property="javafx.run.inbrowser"/>
-                    <equals arg1="${javafx.run.inbrowser}" arg2="undefined"/>
-                </and>
-                <and>
-                    <isset property="javafx.run.inbrowser.path"/>
-                    <equals arg1="${javafx.run.inbrowser.path}" arg2="undefined"/>
-                </and>
-            </or>
-        </condition>
-        <condition property="javafx.run.inbrowser.path-exists">
-            <and>
-                <isset property="javafx.run.inbrowser.path"/>
-                <available file="${javafx.run.inbrowser.path}"/>
-            </and>
-        </condition>
-        <fail message="Error:${line.separator}Browser selection not recognizable from ${config} run configuration.${line.separator}Please go to Project Properties dialog, category Run, to select a valid browser." unless="javafx.run.inbrowser.path"/>
-        <fail message="Error:${line.separator}No browser defined in ${config} run configuration.${line.separator}Please verify in Tools->Options dialog that NetBeans recognizes a valid browser, then go to Project Properties dialog, category Run, to select a valid browser." if="javafx.run.inbrowser.undefined"/>
-        <fail message="Error:${line.separator}Browser ${javafx.run.inbrowser.path} referred from ${config} run configuration can not be found.${line.separator}(This can happen, e.g, when the JavaFX Project is transferred to another system.)${line.separator}Please go to Project Properties dialog, category Run, to select a valid browser." unless="javafx.run.inbrowser.path-exists"/>
-    </target>
-
-    <target name="-substitute-template-processed-html-file" depends="-check-project" if="html-template-available">
-        <deploy-process-template/>
-    </target>
-    <target name="-check-template-processed-html-file" depends="-substitute-template-processed-html-file">
-        <condition property="html-file-exists">
-            <and>
-                <isset property="html-template-available"/>
-                <available file="${javafx.run.htmltemplate.processed}"/>
-            </and>
-        </condition>
-    </target>
-    
-    <target name="-set-template-processed-html-file" depends="-check-template-processed-html-file" if="html-file-exists">
-        <property name="jfx.deployment.html" location="${javafx.run.htmltemplate.processed}"/>
-    </target>
-    
-    <target name="-set-html-file" depends="-set-template-processed-html-file" unless="html-file-exists">
-        <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
-        <property name="jfx.deployment.html" location="${jfx.deployment.dir}${file.separator}${jfx.deployment.base}.html"/>
-        <condition property="html-file-exists">
-            <available file="${jfx.deployment.html}"/>
-        </condition>
-        <condition property="html-file-exists+netbeans.home">
-            <and>
-                <isset property="html-file-exists"/>
-                <isset property="netbeans.home"/>
-            </and>
-        </condition>
-    </target>
-
-    <!-- set property javafx.enable.concurrent.external.runs=true to enable multiple runs of the same WebStart or Run-in-Browser project -->
-    <target name="-check-concurrent-html-runs" depends="-set-html-file">
-        <condition property="disable-concurrent-runs">
-            <or>
-                <not>
-                    <and>
-                        <isset property="javafx.enable.concurrent.external.runs"/>
-                        <equals arg1="${javafx.enable.concurrent.external.runs}" arg2="true" trim="true"/>
-                    </and>
-                </not>
-                <and>
-                    <isset property="html-template-available"/>
-                    <available file="${javafx.run.htmltemplate.processed}"/>
-                </and>
-            </or>
-        </condition>
-        <condition property="temp.run.html" value="${jfx.deployment.html}">
-            <isset property="disable-concurrent-runs"/>
-        </condition>
-    </target>
-    <target name="-warn-concurrent-html-runs" unless="disable-concurrent-runs">
-        <echo message="Note: Concurrent Run in Browser enabled.${line.separator}Temporary directory ${temp.run.dir}${line.separator}will remain unused when execution in browser has finished. Use project Clean to delete unused directories."/>
-    </target>
-
-    <target name="jfxbe-run" if="html-file-exists" depends="-mark-project-state-running,-clean-if-config-changed,-mark-project-needs-jnlp,-check-jdk-7u4or5-mac,jar,
-            -check-selected-browser-path,-set-html-file,-check-jfx-runtime,-check-concurrent-html-runs,-create-temp-run-dir"
-            description="Start JavaFX execution in browser">
-        <echo message="Executing ${temp.run.html} using ${javafx.run.inbrowser}"/>
-        <echo message="(${javafx.run.inbrowser.path})"/>
-        <exec executable="${javafx.run.inbrowser.path}">
-            <arg file="${temp.run.html}"/>
-        </exec>
-        <antcall target="-warn-concurrent-html-runs"/>
-    </target>
-    
-    <target name="jfxbe-debug" if="html-file-exists+netbeans.home" depends="-mark-project-state-debugging,-clean-if-config-changed,-mark-project-needs-jnlp,
-            -check-jdk-7u4or5-mac,jar,-check-selected-browser-path,-set-html-file,-check-jfx-runtime,
-            -debug-start-debugger,-debug-jfxbe-debuggee" description="Debug JavaFX project in browser"/>
-        
-    <target name="-debug-jfxbe-debuggee" depends="-init-debug-args">
-        <echo message="Executing ${jfx.deployment.html} in debug mode using ${javafx.run.inbrowser}"/>
-        <echo message="(${javafx.run.inbrowser.path})"/>
-        <exec executable="${javafx.run.inbrowser.path}">
-            <env key="_JPI_VM_OPTIONS" value="${debug-args-line} -Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-            <arg file="${jfx.deployment.html}"/>
-        </exec>
-    </target>
-
-    <target if="html-file-exists+netbeans.home" name="-profile-check-html">
-        <antcall target="-profile-check-1"/>
-    </target>
-
-    <target name="-do-jfxbe-profile" depends="-mark-project-state-profiling,-mark-project-needs-jnlp,
-            -check-jdk-7u4or5-mac,jar,-check-selected-browser-path,-set-html-file,-check-jfx-runtime">
-        <echo message="Executing ${jfx.deployment.html} in profile mode using ${javafx.run.inbrowser}"/>
-        <echo message="(${javafx.run.inbrowser.path})"/>
-        <property name="run.jvmargs.ide" value=""/>        
-        <exec executable="${javafx.run.inbrowser.path}">
-            <env key="_JPI_VM_OPTIONS" value="${run.jvmargs.ide}"/>
-            <arg file="${jfx.deployment.html}"/>
-        </exec>
-    </target>
-
-    <target name="jfxbe-profile" if="profiler.configured"
-        depends="-profile-check-html"
-        description="Profile JavaFX project in browser">
-        <startprofiler/>
-        <antcall target="-do-jfxbe-profile"/>
-    </target>
-
-    <target name="jfxbe-run-noscript" depends="-set-fallback-no-javascript, jfxbe-run"/>
-
-    <target name="jfxbe-debug-noscript" depends="-set-fallback-no-javascript, jfxbe-debug"/>
-
-    <target name="jfxbe-profile-noscript" depends="-set-fallback-no-javascript, jfxbe-profile"/>
-
-
-</project>
diff --git a/DuskZ/nbproject/project.properties b/DuskZ/nbproject/project.properties
deleted file mode 100644 (file)
index 0c0a31d..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-project.license=dusk3
-annotation.processing.enabled=true
-annotation.processing.enabled.in.editor=false
-annotation.processing.processors.list=
-annotation.processing.run.all.processors=true
-annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
-application.title=DuskZ
-application.vendor=notzed
-build.classes.dir=${build.dir}/classes
-build.classes.excludes=**/*.java,**/*.form
-# This directory is removed when the project is cleaned:
-build.dir=build
-build.generated.dir=${build.dir}/generated
-build.generated.sources.dir=${build.dir}/generated-sources
-# Only compile against the classpath explicitly listed here:
-build.sysclasspath=ignore
-build.test.classes.dir=${build.dir}/test/classes
-build.test.results.dir=${build.dir}/test/results
-compile.on.save=true
-compile.on.save.unsupported.javafx=true
-# Uncomment to specify the preferred debugger connection transport:
-#debug.transport=dt_socket
-debug.classpath=\
-    ${run.classpath}
-debug.test.classpath=\
-    ${run.test.classpath}
-# This directory is removed when the project is cleaned:
-dist.dir=dist
-dist.jar=${dist.dir}/DuskZ.jar
-dist.javadoc.dir=${dist.dir}/javadoc
-endorsed.classpath=
-excludes=
-includes=**
-# Non-JavaFX jar file creation is deactivated in JavaFX 2.0+ projects
-jar.archive.disabled=true
-jar.compress=false
-javac.classpath=\
-    ${javafx.runtime}/lib/jfxrt.jar:\
-    ${javafx.runtime}/lib/deploy.jar:\
-    ${javafx.runtime}/lib/javaws.jar:\
-    ${javafx.runtime}/lib/plugin.jar:\
-    ${reference.DuskCommon.jar}
-# Space-separated list of extra javac options
-javac.compilerargs=
-javac.deprecation=false
-javac.processorpath=\
-    ${javac.classpath}
-javac.source=1.7
-javac.target=1.7
-javac.test.classpath=\
-    ${javac.classpath}:\
-    ${build.classes.dir}
-javac.test.processorpath=\
-    ${javac.test.classpath}
-javadoc.additionalparam=
-javadoc.author=false
-javadoc.encoding=${source.encoding}
-javadoc.noindex=false
-javadoc.nonavbar=false
-javadoc.notree=false
-javadoc.private=false
-javadoc.splitindex=true
-javadoc.use=true
-javadoc.version=false
-javadoc.windowtitle=
-javafx.binarycss=false
-javafx.deploy.adddesktopshortcut=false
-javafx.deploy.addstartmenushortcut=false
-javafx.deploy.allowoffline=true
-# If true, application update mode is set to 'background', if false, update mode is set to 'eager'
-javafx.deploy.backgroundupdate=false
-javafx.deploy.embedJNLP=true
-javafx.deploy.includeDT=true
-javafx.deploy.installpermanently=false
-javafx.deploy.permissionselevated=false
-# Set true to prevent creation of temporary copy of deployment artifacts before each run (disables concurrent runs)
-javafx.disable.concurrent.runs=false
-# Set true to enable multiple concurrent runs of the same WebStart or Run-in-Browser project
-javafx.enable.concurrent.external.runs=false
-# This is a JavaFX project
-javafx.enabled=true
-javafx.fallback.class=com.javafx.main.NoJavaFXFallback
-# Main class for JavaFX
-javafx.main.class=duskz.client.fx.DuskFX
-javafx.native.bundling.enabled=false
-javafx.native.bundling.type=none
-javafx.preloader.class=
-# This project does not use Preloader
-javafx.preloader.enabled=false
-javafx.preloader.jar.filename=
-javafx.preloader.jar.path=
-javafx.preloader.project.path=
-javafx.preloader.type=none
-# Set true for GlassFish only. Rebases manifest classpaths of JARs in lib dir. Not usable with signed JARs.
-javafx.rebase.libs=false
-javafx.run.height=600
-javafx.run.width=800
-javafx.runtime=${platforms.Default_JavaFX_Platform.javafx.runtime.home}
-javafx.sdk=${platforms.Default_JavaFX_Platform.javafx.sdk.home}
-javafx.signing.enabled=false
-javafx.signing.type=notsigned
-# Pre-JavaFX 2.0 WebStart is deactivated in JavaFX 2.0+ projects
-jnlp.enabled=false
-# Main class for Java launcher
-main.class=com.javafx.main.Main
-manifest.file=manifest.mf
-meta.inf.dir=${src.dir}/META-INF
-mkdist.disabled=false
-platform.active=Default_JavaFX_Platform
-project.DuskCommon=../DuskCommon
-reference.DuskCommon.jar=${project.DuskCommon}/dist/DuskCommon.jar
-run.classpath=\
-    ${dist.jar}:\
-    ${javac.classpath}
-run.test.classpath=\
-    ${javac.test.classpath}:\
-    ${build.test.classes.dir}
-source.encoding=UTF-8
-src.dir=src
-test.src.dir=test
diff --git a/DuskZ/nbproject/project.xml b/DuskZ/nbproject/project.xml
deleted file mode 100644 (file)
index 7782e6a..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://www.netbeans.org/ns/project/1">
-    <type>org.netbeans.modules.java.j2seproject</type>
-    <configuration>
-        <buildExtensions xmlns="http://www.netbeans.org/ns/ant-build-extender/1">
-            <extension file="jfx-impl.xml" id="jfx">
-                <dependency dependsOn="-check-javafx" target="-init-check"/>
-                <dependency dependsOn="-jfx-copylibs" target="-post-jar"/>
-                <dependency dependsOn="-rebase-libs" target="-post-jar"/>
-                <dependency dependsOn="jfx-deployment" target="-post-jar"/>
-                <dependency dependsOn="jar" target="debug"/>
-                <dependency dependsOn="-jfx-copylibs" target="jar"/>
-                <dependency dependsOn="-rebase-libs" target="jar"/>
-                <dependency dependsOn="jar" target="profile"/>
-                <dependency dependsOn="jar" target="run"/>
-            </extension>
-        </buildExtensions>
-        <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
-            <name>DuskZ</name>
-            <explicit-platform explicit-source-supported="true"/>
-            <source-roots>
-                <root id="src.dir"/>
-            </source-roots>
-            <test-roots>
-                <root id="test.src.dir"/>
-            </test-roots>
-        </data>
-        <references xmlns="http://www.netbeans.org/ns/ant-project-references/1">
-            <reference>
-                <foreign-project>DuskCommon</foreign-project>
-                <artifact-type>jar</artifact-type>
-                <script>build.xml</script>
-                <target>jar</target>
-                <clean-target>clean</clean-target>
-                <id>jar</id>
-            </reference>
-        </references>
-    </configuration>
-</project>
index bd70261..9488d4e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,19 +1,22 @@
 
-# Temporary makefile
+dist_VERSION=0.1.99
+dist_NAME=duskz
+dist_EXTRA=
 
-SUBDIRS=DuskCommon DuskServer DuskZ
-JAVA_HOME=/usr/local/jdk
-JAVAFX_HOME=/usr/local/javafx-sdk
-ANT=/usr/local/netbeans/extide/ant/bin/ant
+include config.make
 
-JAVAC=$(JAVA_HOME)/bin/javac
-JAVA=$(JAVA_HOME)/bin/java
+java_MODULES = duskz.common duskz.client duskz.server
 
-maven_central_JARS =                                   \
-       jakarta.xml.bind:jakarta.xml.bind-api:4.0.0     \
-       jakarta.activation:jakarta.activation-api:2.1.1 \
-       com.sun.xml.bind:jaxb-impl:4.0.1                \
-               com.sun.xml.bind:jaxb-core:4.0.2
+duskz.client_JDEPMOD = duskz.common
+duskz.server_JDEPMOD = duskz.common
+
+include java.make
+
+maven_central_JARS = \
+       jakarta.xml.bind:jakarta.xml.bind-api:4.0.0 \
+       jakarta.activation:jakarta.activation-api:2.1.1 \
+       com.sun.xml.bind:jaxb-impl:4.0.1 \
+       com.sun.xml.bind:jaxb-core:4.0.2
 
 # two possible javascript engines
 maven_central_JARS +=                          \
@@ -28,51 +31,20 @@ maven_central_JARS +=                               \
 #      org.mozilla:rhino:1.7.14                \
 #      org.mozilla:rhino-engine:1.7.14
 
-javafx_LIBS=$(patsubst %,$(JAVAFX_HOME)/lib/%.jar,javafx.base javafx.controls javafx.graphics)
-server_LIBS=$(strip $(foreach lib,$(maven_central_JARS),\
-       .lib/$(word 2,$(subst :, ,$(lib)))-$(word 3,$(subst :, ,$(lib))).jar))
-
-client_LIBS=$(javafx_LIBS)
-tilez_LIBS=$(strip $(foreach lib,$(maven_central_JARS),\
-       .lib/$(word 2,$(subst :, ,$(lib)))-$(word 3,$(subst :, ,$(lib))).jar) \
-       DuskServer/build/classes \
-       DuskZ/build/classes \
-       $(javafx_LIBS))
-
-E:=
-S:=$(E) $(E)
-
-all:
-       $(JAVAC) -g -d DuskCommon/build/classes \
-               $$(find DuskCommon/src -name '*.java')
-       $(JAVAC) -g -d DuskServer/build/classes \
-               -cp $(subst $(S),:,$(server_LIBS) DuskCommon/build/classes) \
-               $$(find DuskServer/src -name '*.java')
-       $(JAVAC) -g -d DuskZ/build/classes \
-               -cp $(subst $(S),:,$(client_LIBS) DuskCommon/build/classes) \
-               $$(find DuskZ/src -name '*.java')
-
-tilez:
-       $(JAVAC) -g -d TileZ/build/classes \
-               -cp $(subst $(S),:,$(tilez_LIBS)) \
-               $$(find TileZ/src -name '*.java')
-
-clean:
-       set -e ; for d in $(SUBDIRS); do \
-               rm -rf "$$d/build" ;  \
-       done
+include maven.make
 
-run-server:
+run-server-old: duskz.server
+       cd game-2.7.3 && \
        $(JAVA) \
-               -cp $(subst $(S),:,$(server_LIBS) DuskServer/build/classes DuskCommon/build/classes) \
-               duskz.server.entityz.GameServer game
+               --module-path $(JAVAFX_HOME)/lib:../.lib:../bin/$(TARGET)/lib \
+               -m duskz.server/duskz.server.DuskServer
 
-run-client:
+run-server: duskz.server
        $(JAVA) \
-               --module-path $(JAVAFX_HOME)/lib \
-               --add-modules javafx.graphics,javafx.controls \
-               -cp $(subst $(S),:,DuskZ/build/classes DuskCommon/build/classes DuskZ/src) \
-               duskz.client.fx.DuskFX
-
+               --module-path $(JAVAFX_HOME)/lib:../.lib:../bin/$(TARGET)/lib \
+               -m duskz.server/duskz.server.entityz.GameServer game
 
-include maven.make
+run-client: duskz.client
+       $(JAVA) \
+               $(if $(JAVAMODPATH),--module-path $(subst $(S),:,$(JAVAMODPATH))) \
+               -m duskz.client/duskz.client.fx.DuskFX
diff --git a/README b/README
index 6140755..9de326d 100644 (file)
--- a/README
+++ b/README
 
-DuskRPG with JavaFX client
+CODE STATUS Feburary 2023
+-------------------------
+
+Well I can't believe it's been 10 years ... but Xyphoid asked me if i
+still had the source around so i dug it out and did a bit of work to
+make it build with the latest OpenJDK and JavaFX.  I also decided to
+modularise it, it wasn't much work and it simplifies building,
+particulalry inside Netbeans.
+
+This version builds with OpenJDK 19, JavaFX 19, and Netbeans 17,
+although it should work with earlier versions (OpenJDK 11 or 17
+perhaps).
+
+This branch is before the berkeleydb work although that was never
+implemented anyway and isn't hard to merge in.
+
+CODE STATUS September 2013
 --------------------------
 
-This updates the code to build and run with OpenJDK 19 and JavaFX 19
-using the existing file structure.  This is a placeholder before
-converting to a modularised project.
+After a very active development period the work simply stopped - so it
+is in a bit of a half-way state as you'd imagine.  Other time
+pressures and interests meant I haven't had time to work on this for
+months but I hope to again one day in some shape or form.
+
+Essentially the code in duskz/server and duskz/server/entity is the
+original Dusk code which has been refactored a bit (badly), updated to
+newer Java and a new protocol (I think), but more or less shares the
+original features and data format.  It's basically a dead branch.
+
+The code in dusk/server/entityz is mostly a complete re-write of the
+object class hierarchy, data i/o, map handling and a few other things.
+Unfortunately as it was in active development when it stopped it too
+isn't entirely in a good state either.
+
+I think the object heirarchy is pretty good, and the script system was
+"upgraded" to javascript but there is a ton of work left to make it
+usable.  In hindsight i should've gone straight to a database
+(berkeleydb) backend as too much of the entity code is dealing with
+i/o.
+
+INTRODUCTION
+------------
+
+This is a fork and major overhaul of the Dusk 2.7.3 source code,
+released circa 2000.  The main changes are updating for 20 years of
+Java progress, a new binary network protocol, and a (rudimentary)
+JavaFX client.
+
+A compatible game is required - each server implementation uses
+slightly different game formats.
 
-Info
-----
+This is currently in an alpha state.
 
-Only a rudimentary makefile is provided.
+ ... to be completed ...
 
-First:
+BUIDING
+-------
+
+First get the 3rd party libraries from maven:
 
 $ make maven-init
-$ make all
 
-This downloads maven artifacts required and then compiles everything,
-maven-init only needs to be run once.
+Then build everything:
+
+$ make
+
+TODO: make a jlink target
+TODO: Netbeans
+
+INSTALLATION
+------------
+
+TODO: depends on jlink thing
+TODO: where to put game files
+
+RUNNING
+-------
+
+See the Makefile targets run-server, run-server-old, and run-client.
+
+LICENSE
+-------
+  DuskZ is free software, see COPYING for your rights.
+
+  Some files are under other compatible licenses.
 
-$ make run-server
+  Copyright (C) 2000 Tom Weingarten <captaint@home.com>
+  Copyright (C) 2013 Michael Zucchi <notzed@gmail.com>
 
-Start the server.  A compatible game must be installed in './game'.
+   DuskZ is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License
+   as published by the Free Software Foundation; either version 2
+   of the License, or (at your option) any later version.
 
-$ make run-client
+   DuskZ is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-Run the client.  Requires client data files.
+   You should have received a copy of the GNU General Public License
+   along with DuskZ; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
similarity index 100%
rename from DuskServer/TODO
rename to TODO
diff --git a/TileZ/COPYING b/TileZ/COPYING
deleted file mode 100644 (file)
index 94a9ed0..0000000
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/TileZ/README b/TileZ/README
deleted file mode 100644 (file)
index f36093f..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-
-README
-------
-
-This is pre-alpha work-in-progress map editor for DuskZ using JavaFX.
-
-In it's present state it allows for loading of a Tiled map and cross
-referencing the content of an 'old' Dusk game with a 'new' DuskZ game
-(i.e. scripts so on).
-
-At the moment it is hardcoded to data I only have locally so isn't
-much use to anyone else.
-
-I can't even remember if i had intented to keep working on or or just
-use it as a transition tool.  There is very little code here at any
-rate and most of it was a JavaFX learning exercise.
diff --git a/TileZ/build.xml b/TileZ/build.xml
deleted file mode 100644 (file)
index 7364f6a..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- You may freely edit this file. See commented blocks below for --><!-- some examples of how to customize the build. --><!-- (If you delete it and reopen the project it will be recreated.) --><!-- By default, only the Clean and Build commands use this build script. --><project name="TileZ" default="default" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant">
-    <description>Builds, tests, and runs the project TileZ.</description>
-    <import file="nbproject/build-impl.xml"/>
-    <!--
-
-    There exist several targets which are by default empty and which can be 
-    used for execution of your tasks. These targets are usually executed 
-    before and after some main targets. Those of them relevant for JavaFX project are: 
-
-      -pre-init:                 called before initialization of project properties
-      -post-init:                called after initialization of project properties
-      -pre-compile:              called before javac compilation
-      -post-compile:             called after javac compilation
-      -pre-compile-test:         called before javac compilation of JUnit tests
-      -post-compile-test:        called after javac compilation of JUnit tests
-      -pre-jfx-jar:              called before FX SDK specific <fx:jar> task
-      -post-jfx-jar:             called after FX SDK specific <fx:jar> task
-      -pre-jfx-deploy:           called before FX SDK specific <fx:deploy> task
-      -post-jfx-deploy:          called after FX SDK specific <fx:deploy> task
-      -pre-jfx-native:           called just after -pre-jfx-deploy if <fx:deploy> runs in native packaging mode
-      -post-jfx-native:          called just after -post-jfx-deploy if <fx:deploy> runs in native packaging mode
-      -post-clean:               called after cleaning build products
-
-    (Targets beginning with '-' are not intended to be called on their own.)
-
-    Example of inserting a HTML postprocessor after javaFX SDK deployment:
-
-        <target name="-post-jfx-deploy">
-            <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
-            <property name="jfx.deployment.html" location="${jfx.deployment.dir}${file.separator}${jfx.deployment.base}.html"/>
-            <custompostprocess>
-                <fileset dir="${jfx.deployment.html}"/>
-            </custompostprocess>
-        </target>
-
-    Example of calling an Ant task from JavaFX SDK. Note that access to JavaFX SDK Ant tasks must be
-    initialized; to ensure this is done add the dependence on -check-jfx-sdk-version target:
-
-        <target name="-post-jfx-jar" depends="-check-jfx-sdk-version">
-            <echo message="Calling jar task from JavaFX SDK"/>
-            <fx:jar ...>
-                ...
-            </fx:jar>
-        </target>
-
-    For more details about JavaFX SDK Ant tasks go to
-    http://docs.oracle.com/javafx/2/deployment/jfxpub-deployment.htm
-
-    For list of available properties check the files
-    nbproject/build-impl.xml and nbproject/jfx-impl.xml.
-
-    -->
-</project>
diff --git a/TileZ/manifest.mf b/TileZ/manifest.mf
deleted file mode 100644 (file)
index 328e8e5..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-X-COMMENT: Main-Class will be added automatically by build
-
diff --git a/TileZ/nbproject/build-impl.xml b/TileZ/nbproject/build-impl.xml
deleted file mode 100644 (file)
index be7416c..0000000
+++ /dev/null
@@ -1,1473 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-*** GENERATED FROM project.xml - DO NOT EDIT  ***
-***         EDIT ../build.xml INSTEAD         ***
-
-For the purpose of easier reading the script
-is divided into following sections:
-
-  - initialization
-  - compilation
-  - jar
-  - execution
-  - debugging
-  - javadoc
-  - test compilation
-  - test execution
-  - test debugging
-  - applet
-  - cleanup
-
-        -->
-<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="TileZ-impl">
-    <import file="jfx-impl.xml"/>
-    <fail message="Please build using Ant 1.8.0 or higher.">
-        <condition>
-            <not>
-                <antversion atleast="1.8.0"/>
-            </not>
-        </condition>
-    </fail>
-    <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
-    <!-- 
-                ======================
-                INITIALIZATION SECTION 
-                ======================
-            -->
-    <target name="-pre-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="-pre-init" name="-init-private">
-        <property file="nbproject/private/config.properties"/>
-        <property file="nbproject/private/configs/${config}.properties"/>
-        <property file="nbproject/private/private.properties"/>
-    </target>
-    <target depends="-pre-init,-init-private" name="-init-user">
-        <property file="${user.properties.file}"/>
-        <!-- The two properties below are usually overridden -->
-        <!-- by the active platform. Just a fallback. -->
-        <property name="default.javac.source" value="1.4"/>
-        <property name="default.javac.target" value="1.4"/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user" name="-init-project">
-        <property file="nbproject/configs/${config}.properties"/>
-        <property file="nbproject/project.properties"/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
-        <j2seproject1:property name="platform.home" value="platforms.${platform.active}.home"/>
-        <j2seproject1:property name="platform.bootcp" value="platforms.${platform.active}.bootclasspath"/>
-        <j2seproject1:property name="platform.compiler" value="platforms.${platform.active}.compile"/>
-        <j2seproject1:property name="platform.javac.tmp" value="platforms.${platform.active}.javac"/>
-        <condition property="platform.javac" value="${platform.home}/bin/javac">
-            <equals arg1="${platform.javac.tmp}" arg2="$${platforms.${platform.active}.javac}"/>
-        </condition>
-        <property name="platform.javac" value="${platform.javac.tmp}"/>
-        <j2seproject1:property name="platform.java.tmp" value="platforms.${platform.active}.java"/>
-        <condition property="platform.java" value="${platform.home}/bin/java">
-            <equals arg1="${platform.java.tmp}" arg2="$${platforms.${platform.active}.java}"/>
-        </condition>
-        <property name="platform.java" value="${platform.java.tmp}"/>
-        <j2seproject1:property name="platform.javadoc.tmp" value="platforms.${platform.active}.javadoc"/>
-        <condition property="platform.javadoc" value="${platform.home}/bin/javadoc">
-            <equals arg1="${platform.javadoc.tmp}" arg2="$${platforms.${platform.active}.javadoc}"/>
-        </condition>
-        <property name="platform.javadoc" value="${platform.javadoc.tmp}"/>
-        <condition property="platform.invalid" value="true">
-            <or>
-                <contains string="${platform.javac}" substring="$${platforms."/>
-                <contains string="${platform.java}" substring="$${platforms."/>
-                <contains string="${platform.javadoc}" substring="$${platforms."/>
-            </or>
-        </condition>
-        <fail unless="platform.home">Must set platform.home</fail>
-        <fail unless="platform.bootcp">Must set platform.bootcp</fail>
-        <fail unless="platform.java">Must set platform.java</fail>
-        <fail unless="platform.javac">Must set platform.javac</fail>
-        <fail if="platform.invalid">
- The J2SE Platform is not correctly set up.
- Your active platform is: ${platform.active}, but the corresponding property "platforms.${platform.active}.home" is not found in the project's properties files. 
- Either open the project in the IDE and setup the Platform with the same name or add it manually.
- For example like this:
-     ant -Duser.properties.file=&lt;path_to_property_file&gt; jar (where you put the property "platforms.${platform.active}.home" in a .properties file)
-  or ant -Dplatforms.${platform.active}.home=&lt;path_to_JDK_home&gt; jar (where no properties file is used) 
-  </fail>
-        <available file="${manifest.file}" property="manifest.available"/>
-        <condition property="splashscreen.available">
-            <and>
-                <not>
-                    <equals arg1="${application.splash}" arg2="" trim="true"/>
-                </not>
-                <available file="${application.splash}"/>
-            </and>
-        </condition>
-        <condition property="main.class.available">
-            <and>
-                <isset property="main.class"/>
-                <not>
-                    <equals arg1="${main.class}" arg2="" trim="true"/>
-                </not>
-            </and>
-        </condition>
-        <condition property="manifest.available+main.class">
-            <and>
-                <isset property="manifest.available"/>
-                <isset property="main.class.available"/>
-            </and>
-        </condition>
-        <condition property="do.archive">
-            <not>
-                <istrue value="${jar.archive.disabled}"/>
-            </not>
-        </condition>
-        <condition property="do.mkdist">
-            <and>
-                <isset property="do.archive"/>
-                <isset property="libs.CopyLibs.classpath"/>
-                <not>
-                    <istrue value="${mkdist.disabled}"/>
-                </not>
-            </and>
-        </condition>
-        <condition property="manifest.available+main.class+mkdist.available">
-            <and>
-                <istrue value="${manifest.available+main.class}"/>
-                <isset property="do.mkdist"/>
-            </and>
-        </condition>
-        <condition property="do.archive+manifest.available">
-            <and>
-                <isset property="manifest.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+main.class.available">
-            <and>
-                <isset property="main.class.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+splashscreen.available">
-            <and>
-                <isset property="splashscreen.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+manifest.available+main.class">
-            <and>
-                <istrue value="${manifest.available+main.class}"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="manifest.available-mkdist.available">
-            <or>
-                <istrue value="${manifest.available}"/>
-                <isset property="do.mkdist"/>
-            </or>
-        </condition>
-        <condition property="manifest.available+main.class-mkdist.available">
-            <or>
-                <istrue value="${manifest.available+main.class}"/>
-                <isset property="do.mkdist"/>
-            </or>
-        </condition>
-        <condition property="have.tests">
-            <or>
-                <available file="${test.src.dir}"/>
-            </or>
-        </condition>
-        <condition property="have.sources">
-            <or>
-                <available file="${src.dir}"/>
-            </or>
-        </condition>
-        <condition property="netbeans.home+have.tests">
-            <and>
-                <isset property="netbeans.home"/>
-                <isset property="have.tests"/>
-            </and>
-        </condition>
-        <condition property="no.javadoc.preview">
-            <and>
-                <isset property="javadoc.preview"/>
-                <isfalse value="${javadoc.preview}"/>
-            </and>
-        </condition>
-        <property name="run.jvmargs" value=""/>
-        <property name="run.jvmargs.ide" value=""/>
-        <property name="javac.compilerargs" value=""/>
-        <property name="work.dir" value="${basedir}"/>
-        <condition property="no.deps">
-            <and>
-                <istrue value="${no.dependencies}"/>
-            </and>
-        </condition>
-        <property name="javac.debug" value="true"/>
-        <property name="javadoc.preview" value="true"/>
-        <property name="application.args" value=""/>
-        <property name="source.encoding" value="${file.encoding}"/>
-        <property name="runtime.encoding" value="${source.encoding}"/>
-        <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
-            <and>
-                <isset property="javadoc.encoding"/>
-                <not>
-                    <equals arg1="${javadoc.encoding}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <property name="javadoc.encoding.used" value="${source.encoding}"/>
-        <property name="includes" value="**"/>
-        <property name="excludes" value=""/>
-        <property name="do.depend" value="false"/>
-        <condition property="do.depend.true">
-            <istrue value="${do.depend}"/>
-        </condition>
-        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
-        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
-            <length length="0" string="${endorsed.classpath}" when="greater"/>
-        </condition>
-        <property name="jar.index" value="false"/>
-        <property name="jar.index.metainf" value="${jar.index}"/>
-        <property name="copylibs.rebase" value="true"/>
-        <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
-        <condition property="junit.available">
-            <or>
-                <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
-                <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
-            </or>
-        </condition>
-        <condition property="testng.available">
-            <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
-        </condition>
-        <condition property="junit+testng.available">
-            <and>
-                <istrue value="${junit.available}"/>
-                <istrue value="${testng.available}"/>
-            </and>
-        </condition>
-        <condition else="testng" property="testng.mode" value="mixed">
-            <istrue value="${junit+testng.available}"/>
-        </condition>
-        <condition else="" property="testng.debug.mode" value="-mixed">
-            <istrue value="${junit+testng.available}"/>
-        </condition>
-    </target>
-    <target name="-post-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-check-javafx" name="-init-check">
-        <fail unless="src.dir">Must set src.dir</fail>
-        <fail unless="test.src.dir">Must set test.src.dir</fail>
-        <fail unless="build.dir">Must set build.dir</fail>
-        <fail unless="dist.dir">Must set dist.dir</fail>
-        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
-        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
-        <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
-        <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
-        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
-        <fail unless="dist.jar">Must set dist.jar</fail>
-    </target>
-    <target name="-init-macrodef-property">
-        <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute name="name"/>
-            <attribute name="value"/>
-            <sequential>
-                <property name="@{name}" value="${@{value}}"/>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
-        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <attribute default="${javac.processorpath}" name="processorpath"/>
-            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="${javac.debug}" name="debug"/>
-            <attribute default="${empty.dir}" name="sourcepath"/>
-            <attribute default="${empty.dir}" name="gensrcdir"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.dir}/empty" name="empty.dir"/>
-                <mkdir dir="${empty.dir}"/>
-                <mkdir dir="@{apgeneratedsrcdir}"/>
-                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" executable="${platform.javac}" fork="yes" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
-                    <src>
-                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
-                            <include name="*"/>
-                        </dirset>
-                    </src>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <compilerarg line="${javac.compilerargs}"/>
-                    <compilerarg value="-processorpath"/>
-                    <compilerarg path="@{processorpath}:${empty.dir}"/>
-                    <compilerarg line="${ap.processors.internal}"/>
-                    <compilerarg line="${annotation.processing.processor.options}"/>
-                    <compilerarg value="-s"/>
-                    <compilerarg path="@{apgeneratedsrcdir}"/>
-                    <compilerarg line="${ap.proc.none.internal}"/>
-                    <customize/>
-                </javac>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
-        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <attribute default="${javac.processorpath}" name="processorpath"/>
-            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="${javac.debug}" name="debug"/>
-            <attribute default="${empty.dir}" name="sourcepath"/>
-            <attribute default="${empty.dir}" name="gensrcdir"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.dir}/empty" name="empty.dir"/>
-                <mkdir dir="${empty.dir}"/>
-                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" executable="${platform.javac}" fork="yes" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
-                    <src>
-                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
-                            <include name="*"/>
-                        </dirset>
-                    </src>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <compilerarg line="${javac.compilerargs}"/>
-                    <customize/>
-                </javac>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
-        <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <sequential>
-                <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                </depend>
-            </sequential>
-        </macrodef>
-        <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <sequential>
-                <fail unless="javac.includes">Must set javac.includes</fail>
-                <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
-                    <path>
-                        <filelist dir="@{destdir}" files="${javac.includes}"/>
-                    </path>
-                    <globmapper from="*.java" to="*.class"/>
-                </pathconvert>
-                <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
-                <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
-                <delete>
-                    <files includesfile="${javac.includesfile.binary}"/>
-                </delete>
-                <delete>
-                    <fileset file="${javac.includesfile.binary}"/>
-                </delete>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${junit.available}" name="-init-macrodef-junit-init">
-        <condition else="false" property="nb.junit.batch" value="true">
-            <and>
-                <istrue value="${junit.available}"/>
-                <not>
-                    <isset property="test.method"/>
-                </not>
-            </and>
-        </condition>
-        <condition else="false" property="nb.junit.single" value="true">
-            <and>
-                <istrue value="${junit.available}"/>
-                <isset property="test.method"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-init-test-properties">
-        <property name="test.binaryincludes" value="&lt;nothing&gt;"/>
-        <property name="test.binarytestincludes" value=""/>
-        <property name="test.binaryexcludes" value=""/>
-    </target>
-    <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
-        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
-                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
-        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
-                    <batchtest todir="${build.test.results.dir}">
-                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
-                            <filename name="@{testincludes}"/>
-                        </fileset>
-                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
-                            <filename name="${test.binarytestincludes}"/>
-                        </fileset>
-                    </batchtest>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
-    <target if="${testng.available}" name="-init-macrodef-testng">
-        <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
-                    <isset property="test.method"/>
-                </condition>
-                <union id="test.set">
-                    <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
-                        <filename name="@{testincludes}"/>
-                    </fileset>
-                </union>
-                <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
-                <testng classfilesetref="test.set" failureProperty="tests.failed" jvm="${platform.java}" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="TileZ" testname="TestNG tests" workingDir="${work.dir}">
-                    <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
-                    <propertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </propertyset>
-                    <customize/>
-                </testng>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-test-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <echo>No tests executed.</echo>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:testng>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
-        <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <sequential>
-                <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize>
-                        <classpath>
-                            <path path="${run.test.classpath}"/>
-                        </classpath>
-                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                        <jvmarg line="${run.jvmargs}"/>
-                        <jvmarg line="${run.jvmargs.ide}"/>
-                    </customize>
-                </j2seproject3:test-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
-        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
-                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
-        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
-                    <batchtest todir="${build.test.results.dir}">
-                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
-                            <filename name="@{testincludes}"/>
-                        </fileset>
-                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
-                            <filename name="${test.binarytestincludes}"/>
-                        </fileset>
-                    </batchtest>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
-        <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:junit-debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${testng.available}" name="-init-macrodef-testng-debug">
-        <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <element name="customize2" optional="true"/>
-            <sequential>
-                <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
-                    <isset property="test.method"/>
-                </condition>
-                <condition else="-suitename TileZ -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
-                    <matches pattern=".*\.xml" string="@{testClass}"/>
-                </condition>
-                <delete dir="${build.test.results.dir}" quiet="true"/>
-                <mkdir dir="${build.test.results.dir}"/>
-                <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
-                    <customize>
-                        <customize2/>
-                        <jvmarg value="-ea"/>
-                        <arg line="${testng.debug.mode}"/>
-                        <arg line="-d ${build.test.results.dir}"/>
-                        <arg line="-listener org.testng.reporters.VerboseReporter"/>
-                        <arg line="${testng.cmd.args}"/>
-                    </customize>
-                </j2seproject3:debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
-        <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <element implicit="true" name="customize2" optional="true"/>
-            <sequential>
-                <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
-                    <customize2/>
-                </j2seproject3:testng-debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
-        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <sequential>
-                <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize>
-                        <classpath>
-                            <path path="${run.test.classpath}"/>
-                        </classpath>
-                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                        <jvmarg line="${run.jvmargs}"/>
-                        <jvmarg line="${run.jvmargs.ide}"/>
-                    </customize>
-                </j2seproject3:test-debug-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
-        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <sequential>
-                <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
-                    <customize2>
-                        <syspropertyset>
-                            <propertyref prefix="test-sys-prop."/>
-                            <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                        </syspropertyset>
-                    </customize2>
-                </j2seproject3:testng-debug-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
-    <!--
-                pre NB7.2 profiling section; consider it deprecated
-            -->
-    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
-    <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
-        <macrodef name="resolve">
-            <attribute name="name"/>
-            <attribute name="value"/>
-            <sequential>
-                <property name="@{name}" value="${env.@{value}}"/>
-            </sequential>
-        </macrodef>
-        <macrodef name="profile">
-            <attribute default="${main.class}" name="classname"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property environment="env"/>
-                <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
-                <java classname="@{classname}" dir="${profiler.info.dir}" fork="true" jvm="${profiler.info.jvm}">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
-                    <jvmarg line="${profiler.info.jvmargs}"/>
-                    <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
-                    <arg line="${application.args}"/>
-                    <classpath>
-                        <path path="${run.classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
-        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
-        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
-    </target>
-    <!--
-                end of pre NB7.2 profiling section
-            -->
-    <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
-        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${main.class}" name="name"/>
-            <attribute default="${debug.classpath}" name="classpath"/>
-            <attribute default="" name="stopclassname"/>
-            <sequential>
-                <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <bootclasspath>
-                        <path path="${platform.bootcp}"/>
-                    </bootclasspath>
-                </nbjpdastart>
-            </sequential>
-        </macrodef>
-        <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${build.classes.dir}" name="dir"/>
-            <sequential>
-                <nbjpdareload>
-                    <fileset dir="@{dir}" includes="${fix.classes}">
-                        <include name="${fix.includes}*.class"/>
-                    </fileset>
-                </nbjpdareload>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-debug-args">
-        <exec executable="${platform.java}" outputproperty="version-output">
-            <arg value="-version"/>
-        </exec>
-        <condition property="have-jdk-older-than-1.4">
-            <or>
-                <contains string="${version-output}" substring="java version &quot;1.0"/>
-                <contains string="${version-output}" substring="java version &quot;1.1"/>
-                <contains string="${version-output}" substring="java version &quot;1.2"/>
-                <contains string="${version-output}" substring="java version &quot;1.3"/>
-            </or>
-        </condition>
-        <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
-            <istrue value="${have-jdk-older-than-1.4}"/>
-        </condition>
-        <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
-            <os family="windows"/>
-        </condition>
-        <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
-            <isset property="debug.transport"/>
-        </condition>
-    </target>
-    <target depends="-init-debug-args" name="-init-macrodef-debug">
-        <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="classname"/>
-            <attribute default="${debug.classpath}" name="classpath"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <java classname="@{classname}" dir="${work.dir}" fork="true" jvm="${platform.java}">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
-                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
-                    <jvmarg line="${run.jvmargs}"/>
-                    <jvmarg line="${run.jvmargs.ide}"/>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-java">
-        <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${main.class}" name="classname"/>
-            <attribute default="${run.classpath}" name="classpath"/>
-            <attribute default="jvm" name="jvm"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <java classname="@{classname}" dir="${work.dir}" fork="true" jvm="${platform.java}">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
-                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
-                    <jvmarg line="${run.jvmargs}"/>
-                    <jvmarg line="${run.jvmargs.ide}"/>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-copylibs">
-        <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${manifest.file}" name="manifest"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
-                <pathconvert property="run.classpath.without.build.classes.dir">
-                    <path path="${run.classpath}"/>
-                    <map from="${build.classes.dir.resolved}" to=""/>
-                </pathconvert>
-                <pathconvert pathsep=" " property="jar.classpath">
-                    <path path="${run.classpath.without.build.classes.dir}"/>
-                    <chainedmapper>
-                        <flattenmapper/>
-                        <filtermapper>
-                            <replacestring from=" " to="%20"/>
-                        </filtermapper>
-                        <globmapper from="*" to="lib/*"/>
-                    </chainedmapper>
-                </pathconvert>
-                <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
-                <copylibs compress="${jar.compress}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
-                    <fileset dir="${build.classes.dir}"/>
-                    <manifest>
-                        <attribute name="Class-Path" value="${jar.classpath}"/>
-                        <customize/>
-                    </manifest>
-                </copylibs>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-presetdef-jar">
-        <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}">
-                <j2seproject1:fileset dir="${build.classes.dir}"/>
-            </jar>
-        </presetdef>
-    </target>
-    <target name="-init-ap-cmdline-properties">
-        <property name="annotation.processing.enabled" value="true"/>
-        <property name="annotation.processing.processors.list" value=""/>
-        <property name="annotation.processing.processor.options" value=""/>
-        <property name="annotation.processing.run.all.processors" value="true"/>
-        <property name="javac.processorpath" value="${javac.classpath}"/>
-        <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
-        <condition property="ap.supported.internal" value="true">
-            <not>
-                <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
-            </not>
-        </condition>
-    </target>
-    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported">
-        <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
-            <isfalse value="${annotation.processing.run.all.processors}"/>
-        </condition>
-        <condition else="" property="ap.proc.none.internal" value="-proc:none">
-            <isfalse value="${annotation.processing.enabled}"/>
-        </condition>
-    </target>
-    <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
-        <property name="ap.cmd.line.internal" value=""/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
-    <!--
-                ===================
-                COMPILATION SECTION
-                ===================
-            -->
-    <target name="-deps-jar-init" unless="built-jar.properties">
-        <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
-        <delete file="${built-jar.properties}" quiet="true"/>
-    </target>
-    <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
-        <echo level="warn" message="Cycle detected: TileZ was already built"/>
-    </target>
-    <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
-        <mkdir dir="${build.dir}"/>
-        <touch file="${built-jar.properties}" verbose="false"/>
-        <property file="${built-jar.properties}" prefix="already.built.jar."/>
-        <antcall target="-warn-already-built-jar"/>
-        <propertyfile file="${built-jar.properties}">
-            <entry key="${basedir}" value=""/>
-        </propertyfile>
-        <antcall target="-maybe-call-dep">
-            <param name="call.built.properties" value="${built-jar.properties}"/>
-            <param location="${project.DuskServer}" name="call.subproject"/>
-            <param location="${project.DuskServer}/build.xml" name="call.script"/>
-            <param name="call.target" value="jar"/>
-            <param name="transfer.built-jar.properties" value="${built-jar.properties}"/>
-        </antcall>
-        <antcall target="-maybe-call-dep">
-            <param name="call.built.properties" value="${built-jar.properties}"/>
-            <param location="${project.DuskZ}" name="call.subproject"/>
-            <param location="${project.DuskZ}/build.xml" name="call.script"/>
-            <param name="call.target" value="jar"/>
-            <param name="transfer.built-jar.properties" value="${built-jar.properties}"/>
-        </antcall>
-    </target>
-    <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
-    <target depends="init" name="-check-automatic-build">
-        <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
-    </target>
-    <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
-        <antcall target="clean"/>
-    </target>
-    <target depends="init,deps-jar" name="-pre-pre-compile">
-        <mkdir dir="${build.classes.dir}"/>
-    </target>
-    <target name="-pre-compile">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="do.depend.true" name="-compile-depend">
-        <pathconvert property="build.generated.subdirs">
-            <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="*"/>
-            </dirset>
-        </pathconvert>
-        <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/>
-    </target>
-    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile">
-        <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
-        <copy todir="${build.classes.dir}">
-            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target if="has.persistence.xml" name="-copy-persistence-xml">
-        <mkdir dir="${build.classes.dir}/META-INF"/>
-        <copy todir="${build.classes.dir}/META-INF">
-            <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/>
-        </copy>
-    </target>
-    <target name="-post-compile">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
-    <target name="-pre-compile-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
-        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <j2seproject3:force-recompile/>
-        <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/>
-    </target>
-    <target name="-post-compile-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
-    <!--
-                ====================
-                JAR BUILDING SECTION
-                ====================
-            -->
-    <target depends="init" name="-pre-pre-jar">
-        <dirname file="${dist.jar}" property="dist.jar.dir"/>
-        <mkdir dir="${dist.jar.dir}"/>
-    </target>
-    <target name="-pre-jar">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive" name="-do-jar-without-manifest" unless="manifest.available-mkdist.available">
-        <j2seproject1:jar/>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class-mkdist.available">
-        <j2seproject1:jar manifest="${manifest.file}"/>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available">
-        <j2seproject1:jar manifest="${manifest.file}">
-            <j2seproject1:manifest>
-                <j2seproject1:attribute name="Main-Class" value="${main.class}"/>
-            </j2seproject1:manifest>
-        </j2seproject1:jar>
-        <echo level="info">To run this application from the command line without Ant, try:</echo>
-        <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
-        <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <pathconvert property="run.classpath.with.dist.jar">
-            <path path="${run.classpath}"/>
-            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
-        </pathconvert>
-        <echo level="info">${platform.java} -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
-    </target>
-    <target depends="init" if="do.archive" name="-do-jar-with-libraries-create-manifest" unless="manifest.available">
-        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
-        <touch file="${tmp.manifest.file}" verbose="false"/>
-    </target>
-    <target depends="init" if="do.archive+manifest.available" name="-do-jar-with-libraries-copy-manifest">
-        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
-        <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/>
-    </target>
-    <target depends="init,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest" if="do.archive+main.class.available" name="-do-jar-with-libraries-set-main">
-        <manifest file="${tmp.manifest.file}" mode="update">
-            <attribute name="Main-Class" value="${main.class}"/>
-        </manifest>
-    </target>
-    <target depends="init,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-with-libraries-set-splashscreen">
-        <basename file="${application.splash}" property="splashscreen.basename"/>
-        <mkdir dir="${build.classes.dir}/META-INF"/>
-        <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/>
-        <manifest file="${tmp.manifest.file}" mode="update">
-            <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
-        </manifest>
-    </target>
-    <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen" if="do.mkdist" name="-do-jar-with-libraries-pack">
-        <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
-        <echo level="info">To run this application from the command line without Ant, try:</echo>
-        <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <echo level="info">${platform.java} -jar "${dist.jar.resolved}"</echo>
-    </target>
-    <target depends="-do-jar-with-libraries-pack" if="do.archive" name="-do-jar-with-libraries-delete-manifest">
-        <delete>
-            <fileset file="${tmp.manifest.file}"/>
-        </delete>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen,-do-jar-with-libraries-pack,-do-jar-with-libraries-delete-manifest" name="-do-jar-with-libraries"/>
-    <target depends="-jfx-copylibs,-rebase-libs,jfx-deployment" name="-post-jar">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar,-jfx-copylibs,-rebase-libs" description="Build JAR." name="jar"/>
-    <!--
-                =================
-                EXECUTION SECTION
-                =================
-            -->
-    <target depends="init,compile,jar" description="Run a main class." name="run">
-        <j2seproject1:java>
-            <customize>
-                <arg line="${application.args}"/>
-            </customize>
-        </j2seproject1:java>
-    </target>
-    <target name="-do-not-recompile">
-        <property name="javac.includes.binary" value=""/>
-    </target>
-    <target depends="init,compile-single" name="run-single">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <j2seproject1:java classname="${run.class}"/>
-    </target>
-    <target depends="init,compile-test-single" name="run-test-with-main">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
-    </target>
-    <!--
-                =================
-                DEBUGGING SECTION
-                =================
-            -->
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger">
-        <j2seproject1:nbjpdastart name="${debug.class}"/>
-    </target>
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
-        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
-    </target>
-    <target depends="init,compile" name="-debug-start-debuggee">
-        <j2seproject3:debug>
-            <customize>
-                <arg line="${application.args}"/>
-            </customize>
-        </j2seproject3:debug>
-    </target>
-    <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee,jar" description="Debug project in IDE." if="netbeans.home" name="debug"/>
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">
-        <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
-    </target>
-    <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
-    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
-        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
-        <j2seproject3:debug classname="${debug.class}"/>
-    </target>
-    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
-    <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
-        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
-        <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
-    </target>
-    <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
-    <target depends="init" name="-pre-debug-fix">
-        <fail unless="fix.includes">Must set fix.includes</fail>
-        <property name="javac.includes" value="${fix.includes}.java"/>
-    </target>
-    <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
-        <j2seproject1:nbjpdareload/>
-    </target>
-    <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
-    <!--
-                =================
-                PROFILING SECTION
-                =================
-            -->
-    <!--
-                pre NB7.2 profiler integration
-            -->
-    <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile/>
-    </target>
-    <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
-        <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile classname="${profile.class}"/>
-    </target>
-    <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </profile>
-    </target>
-    <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.test.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
-            <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
-            <jvmarg value="${profiler.info.jvmargs.agent}"/>
-            <jvmarg line="${profiler.info.jvmargs}"/>
-            <test name="${profile.class}"/>
-            <classpath>
-                <path path="${run.test.classpath}"/>
-            </classpath>
-            <syspropertyset>
-                <propertyref prefix="test-sys-prop."/>
-                <mapper from="test-sys-prop.*" to="*" type="glob"/>
-            </syspropertyset>
-            <formatter type="brief" usefile="false"/>
-            <formatter type="xml"/>
-        </junit>
-    </target>
-    <!--
-                end of pre NB72 profiling section
-            -->
-    <target if="netbeans.home" name="-profile-check">
-        <condition property="profiler.configured">
-            <or>
-                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
-                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
-            </or>
-        </condition>
-    </target>
-    <target depends="-profile-check,-profile-pre72,jar" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
-        <startprofiler/>
-        <antcall target="run"/>
-    </target>
-    <target depends="-profile-check,-profile-single-pre72" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-single" unless="profiler.info.jvmargs.agent">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <startprofiler/>
-        <antcall target="run-single"/>
-    </target>
-    <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
-    <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
-        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <startprofiler/>
-        <antcall target="test-single"/>
-    </target>
-    <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <startprofiler/>
-        <antcal target="run-test-with-main"/>
-    </target>
-    <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <startprofiler/>
-        <antcall target="run-applet"/>
-    </target>
-    <!--
-                ===============
-                JAVADOC SECTION
-                ===============
-            -->
-    <target depends="init" if="have.sources" name="-javadoc-build">
-        <mkdir dir="${dist.javadoc.dir}"/>
-        <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
-            <and>
-                <isset property="endorsed.classpath.cmd.line.arg"/>
-                <not>
-                    <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" executable="${platform.javadoc}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
-            <classpath>
-                <path path="${javac.classpath}"/>
-            </classpath>
-            <fileset dir="${src.dir}" excludes="*.java,${excludes}" includes="${includes}">
-                <filename name="**/*.java"/>
-            </fileset>
-            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="**/*.java"/>
-                <exclude name="*.java"/>
-            </fileset>
-            <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
-        </javadoc>
-        <copy todir="${dist.javadoc.dir}">
-            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
-                <filename name="**/doc-files/**"/>
-            </fileset>
-            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="**/doc-files/**"/>
-            </fileset>
-        </copy>
-    </target>
-    <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
-        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
-    </target>
-    <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
-    <!--
-                =========================
-                TEST COMPILATION SECTION
-                =========================
-            -->
-    <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
-        <mkdir dir="${build.test.classes.dir}"/>
-    </target>
-    <target name="-pre-compile-test">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="do.depend.true" name="-compile-test-depend">
-        <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
-    </target>
-    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.src.dir}"/>
-        <copy todir="${build.test.classes.dir}">
-            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target name="-post-compile-test">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
-    <target name="-pre-compile-test-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
-        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}"/>
-        <copy todir="${build.test.classes.dir}">
-            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target name="-post-compile-test-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
-    <!--
-                =======================
-                TEST EXECUTION SECTION
-                =======================
-            -->
-    <target depends="init" if="have.tests" name="-pre-test-run">
-        <mkdir dir="${build.test.results.dir}"/>
-    </target>
-    <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
-        <j2seproject3:test testincludes="**/*Test.java"/>
-    </target>
-    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init" if="have.tests" name="test-report"/>
-    <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
-    <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
-    <target depends="init" if="have.tests" name="-pre-test-run-single">
-        <mkdir dir="${build.test.results.dir}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
-        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
-        <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
-        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
-        <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
-    <!--
-                =======================
-                TEST DEBUGGING SECTION
-                =======================
-            -->
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
-        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
-        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
-        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
-    </target>
-    <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
-        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
-    </target>
-    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
-    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
-    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
-        <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
-    </target>
-    <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
-    <!--
-                =========================
-                APPLET EXECUTION SECTION
-                =========================
-            -->
-    <target depends="init,compile-single" name="run-applet">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <j2seproject1:java classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </j2seproject1:java>
-    </target>
-    <!--
-                =========================
-                APPLET DEBUGGING  SECTION
-                =========================
-            -->
-    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <j2seproject3:debug classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </j2seproject3:debug>
-    </target>
-    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
-    <!--
-                ===============
-                CLEANUP SECTION
-                ===============
-            -->
-    <target name="-deps-clean-init" unless="built-clean.properties">
-        <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
-        <delete file="${built-clean.properties}" quiet="true"/>
-    </target>
-    <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
-        <echo level="warn" message="Cycle detected: TileZ was already built"/>
-    </target>
-    <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
-        <mkdir dir="${build.dir}"/>
-        <touch file="${built-clean.properties}" verbose="false"/>
-        <property file="${built-clean.properties}" prefix="already.built.clean."/>
-        <antcall target="-warn-already-built-clean"/>
-        <propertyfile file="${built-clean.properties}">
-            <entry key="${basedir}" value=""/>
-        </propertyfile>
-        <antcall target="-maybe-call-dep">
-            <param name="call.built.properties" value="${built-clean.properties}"/>
-            <param location="${project.DuskServer}" name="call.subproject"/>
-            <param location="${project.DuskServer}/build.xml" name="call.script"/>
-            <param name="call.target" value="clean"/>
-            <param name="transfer.built-clean.properties" value="${built-clean.properties}"/>
-        </antcall>
-        <antcall target="-maybe-call-dep">
-            <param name="call.built.properties" value="${built-clean.properties}"/>
-            <param location="${project.DuskZ}" name="call.subproject"/>
-            <param location="${project.DuskZ}/build.xml" name="call.script"/>
-            <param name="call.target" value="clean"/>
-            <param name="transfer.built-clean.properties" value="${built-clean.properties}"/>
-        </antcall>
-    </target>
-    <target depends="init" name="-do-clean">
-        <delete dir="${build.dir}"/>
-        <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
-    </target>
-    <target name="-post-clean">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
-    <target name="-check-call-dep">
-        <property file="${call.built.properties}" prefix="already.built."/>
-        <condition property="should.call.dep">
-            <and>
-                <not>
-                    <isset property="already.built.${call.subproject}"/>
-                </not>
-                <available file="${call.script}"/>
-            </and>
-        </condition>
-    </target>
-    <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
-        <ant antfile="${call.script}" inheritall="false" target="${call.target}">
-            <propertyset>
-                <propertyref prefix="transfer."/>
-                <mapper from="transfer.*" to="*" type="glob"/>
-            </propertyset>
-        </ant>
-    </target>
-</project>
diff --git a/TileZ/nbproject/configs/Run_as_WebStart.properties b/TileZ/nbproject/configs/Run_as_WebStart.properties
deleted file mode 100644 (file)
index 670fff0..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Do not modify this property in this configuration. It can be re-generated.
-$label=Run as WebStart
diff --git a/TileZ/nbproject/configs/Run_in_Browser.properties b/TileZ/nbproject/configs/Run_in_Browser.properties
deleted file mode 100644 (file)
index f2a5a65..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Do not modify this property in this configuration. It can be re-generated.
-$label=Run in Browser
diff --git a/TileZ/nbproject/genfiles.properties b/TileZ/nbproject/genfiles.properties
deleted file mode 100644 (file)
index 8f8bdbe..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-build.xml.data.CRC32=79945bc4
-build.xml.script.CRC32=80e8c13b
-build.xml.stylesheet.CRC32=28e38971@1.56.1.46
-# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
-# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=75566cc4
-nbproject/build-impl.xml.script.CRC32=fd7d9148
-nbproject/build-impl.xml.stylesheet.CRC32=c6d2a60f@1.56.1.46
diff --git a/TileZ/nbproject/jfx-impl.xml b/TileZ/nbproject/jfx-impl.xml
deleted file mode 100644 (file)
index 43adba7..0000000
+++ /dev/null
@@ -1,3218 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-*** GENERATED FROM TEMPLATE - DO NOT EDIT ***
-***       EDIT ../build.xml INSTEAD       ***
--->
-
-<project name="jfx-impl" default="jfx-deployment" basedir=".." xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" 
-         xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:fx="javafx:com.sun.javafx.tools.ant">
-    <description>JavaFX-specific Ant calls</description>
-
-
-    <!-- Empty placeholders for easier customization in ../build.xml -->
-    
-    <target name="-pre-jfx-jar">
-        <!-- Called right before <fx:jar> task. You can override this target in the ../build.xml file. -->
-    </target>
-
-    <target name="-post-jfx-jar">
-        <!-- Called right after <fx:jar> task. You can override this target in the ../build.xml file. -->
-    </target>
-
-    <target name="-pre-jfx-deploy">
-        <!-- Called right before <fx:deploy> task. You can override this target in the ../build.xml file. -->
-    </target>
-
-    <target name="-post-jfx-deploy">
-        <!-- Called right after <fx:deploy> task. You can override this target in the ../build.xml file. -->
-    </target>
-    
-    <target name="-pre-jfx-native">
-        <!-- Called right before the call to native packager (just after -pre-jfx-deploy). You can override this target in the ../build.xml file. -->
-    </target>
-
-    <target name="-post-jfx-native">
-        <!-- Called right after the call to native packager (just after -post-jfx-deploy). You can override this target in the ../build.xml file. -->
-    </target>
-    
-    
-    <!-- Check system and JDK version -->
-
-    <target name="-check-operating-system">
-        <condition property="running.on.mac">
-            <os family="mac"/>
-        </condition>
-        <condition property="running.on.unix">
-            <os family="unix"/>
-        </condition>
-        <condition property="running.on.windows">
-            <os family="windows"/>
-        </condition>
-        <echo message="running.on.mac = ${running.on.mac}" level="verbose"/>
-        <echo message="running.on.unix = ${running.on.unix}" level="verbose"/>
-        <echo message="running.on.windows = ${running.on.windows}" level="verbose"/>
-    </target>
-
-    <target name="-check-platform-home-fxsdk-java" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
-        <condition property="do.set.platform.home.fxsdk.java">
-            <and>
-                <not><isset property="active.platform.home.java.executable"/></not>
-                <or>
-                    <available file="${javafx.sdk}${file.separator}bin${file.separator}java"/>
-                    <available file="${javafx.sdk}${file.separator}bin${file.separator}java.exe"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-platform-home-fxsdk-java" depends="-check-platform-home-fxsdk-java" if="do.set.platform.home.fxsdk.java">
-        <property name="active.platform.home.java.executable" value="${javafx.sdk}${file.separator}bin${file.separator}java"/>
-    </target>
-    <target name="-check-platform-home-java" if="platform.home">
-        <condition property="do.set.platform.home.java">
-            <and>
-                <not><isset property="active.platform.home.java.executable"/></not>
-                <or>
-                    <available file="${platform.home}${file.separator}bin${file.separator}java"/>
-                    <available file="${platform.home}${file.separator}bin${file.separator}java.exe"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-platform-home-java" depends="-set-platform-home-fxsdk-java,-check-platform-home-java" if="do.set.platform.home.java">
-        <property name="active.platform.home.java.executable" value="${platform.home}${file.separator}bin${file.separator}java"/>
-    </target>
-    <target name="-check-platform-home-probjdk-java" unless="active.platform.home.java.executable">
-        <condition property="do.set.platform.home.probjdk.java">
-            <and>
-                <not><isset property="active.platform.home.java.executable"/></not>
-                <or>
-                    <available file="${java.home}${file.separator}..${file.separator}bin${file.separator}java"/>
-                    <available file="${java.home}${file.separator}..${file.separator}bin${file.separator}java.exe"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-platform-home-probjdk-java" depends="-set-platform-home-java,-check-platform-home-probjdk-java" if="do.set.platform.home.probjdk.java">
-        <property name="active.platform.home.java.executable" value="${java.home}${file.separator}..${file.separator}bin${file.separator}java"/>
-    </target>
-    <target name="-check-platform-home-envjdk-java" unless="active.platform.home.java.executable">
-        <property environment="env"/>
-        <condition property="do.set.platform.home.envjdk.java">
-            <and>
-                <not><isset property="active.platform.home.java.executable"/></not>
-                <or>
-                    <available file="${env.JAVA_HOME}${file.separator}bin${file.separator}java"/>
-                    <available file="${env.JAVA_HOME}${file.separator}bin${file.separator}java.exe"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-platform-home-envjdk-java" depends="-set-platform-home-probjdk-java,-check-platform-home-envjdk-java" if="do.set.platform.home.envjdk.java">
-        <property environment="env"/>
-        <property name="active.platform.home.java.executable" value="${env.JAVA_HOME}${file.separator}bin${file.separator}java"/>
-    </target>
-    <target name="-check-platform-home-fxrt-java" depends="-check-property-javafx.runtime" if="javafx.runtime.defined">
-        <condition property="do.set.platform.home.fxrt.java">
-            <and>
-                <not><isset property="active.platform.home.java.executable"/></not>
-                <or>
-                    <available file="${javafx.runtime}${file.separator}bin${file.separator}java"/>
-                    <available file="${javafx.runtime}${file.separator}bin${file.separator}java.exe"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-platform-home-fxrt-java" depends="-set-platform-home-envjdk-java,-check-platform-home-fxrt-java" if="do.set.platform.home.fxrt.java">
-        <property name="active.platform.home.java.executable" value="${javafx.runtime}${file.separator}bin${file.separator}java"/>
-        <echo message="Warning: java executable not found in JDK, evaluating java executable in RT instead." level="info"/>
-    </target>
-    <target name="-check-platform-home-jre-java" unless="active.platform.home.java.executable">
-        <condition property="do.set.platform.home.jre.java">
-            <and>
-                <not><isset property="active.platform.home.java.executable"/></not>
-                <or>
-                    <available file="${java.home}${file.separator}bin${file.separator}java"/>
-                    <available file="${java.home}${file.separator}bin${file.separator}java.exe"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-platform-home-jre-java" depends="-set-platform-home-fxrt-java,-check-platform-home-jre-java" if="do.set.platform.home.jre.java">
-        <property name="active.platform.home.java.executable" value="${java.home}${file.separator}bin${file.separator}java"/>
-        <echo message="Warning: java executable not found in JDK, evaluating java executable in RT instead." level="info"/>
-    </target>
-    <target name="-check-platform-home" depends="-set-platform-home-jre-java">
-        <echo message="active.platform.home.java.executable = ${active.platform.home.java.executable}" level="verbose"/>
-        <fail message="Error:${line.separator}java executable not found !" unless="active.platform.home.java.executable"/>
-    </target>
-        
-    <target name="-check-jdk-version" depends="-do-init,-check-platform-home" unless="jdk-version-checked-in-jfximpl">
-        <local name="version-output"/>
-        <exec executable="${active.platform.home.java.executable}" outputproperty="version-output">
-            <arg value="-version"/>
-        </exec>
-        <echo message="version-output:${line.separator}${version-output}" level="verbose"/>
-        <condition property="have-jdk-older-than-1.6">
-            <or>
-                <contains string="${version-output}" substring="java version &quot;1.0"/>
-                <contains string="${version-output}" substring="java version &quot;1.1"/>
-                <contains string="${version-output}" substring="java version &quot;1.2"/>
-                <contains string="${version-output}" substring="java version &quot;1.3"/>
-                <contains string="${version-output}" substring="java version &quot;1.4"/>
-                <contains string="${version-output}" substring="java version &quot;1.5"/>
-            </or>
-        </condition>
-        <fail message="Error:${line.separator}JavaFX 2.0+ projects require JDK version 1.6+ !" if="have-jdk-older-than-1.6"/>
-        <condition property="have-jdk-7u4or5-mac">
-            <and>
-                <or>
-                    <contains string="${version-output}" substring="java version &quot;1.7.0_04"/>
-                    <contains string="${version-output}" substring="java version &quot;1.7.0_05"/>
-                </or>
-                <os family="mac"/>
-            </and>
-        </condition>
-        <condition property="have-jdk-pre7u6">
-            <or>
-                <isset property="have-jdk-older-than-1.6"/>
-                <contains string="${version-output}" substring="java version &quot;1.6"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0&quot;"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_01"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_02"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_03"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_04"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_05"/>
-            </or>
-        </condition>
-        <condition property="have-jdk7-css2bin-bug">
-            <or>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_04"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_05"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_06"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_07"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_08"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_09"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_10"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_11"/>
-            </or>
-        </condition>
-        <property name="jdk-version-checked-in-jfximpl" value="true"/>
-        <echo message="have-jdk-7u4or5-mac = ${have-jdk-7u4or5-mac}" level="verbose"/>
-        <echo message="have-jdk-pre7u6 = ${have-jdk-pre7u6}" level="verbose"/>
-        <echo message="have-jdk7-css2bin-bug = ${have-jdk7-css2bin-bug}" level="verbose"/>
-    </target>
-        
-    <target name="-check-ant-jre-version" unless="ant-jre-version-checked-in-jfximpl">
-        <local name="version-output"/>
-        <exec executable="${java.home}${file.separator}bin${file.separator}java" outputproperty="version-output">
-            <arg value="-version"/>
-        </exec>
-        <echo message="version-output:${line.separator}${version-output}" level="verbose"/>
-        <condition property="have-ant-jre-pre7u6">
-            <or>
-                <contains string="${version-output}" substring="java version &quot;1.0"/>
-                <contains string="${version-output}" substring="java version &quot;1.1"/>
-                <contains string="${version-output}" substring="java version &quot;1.2"/>
-                <contains string="${version-output}" substring="java version &quot;1.3"/>
-                <contains string="${version-output}" substring="java version &quot;1.4"/>
-                <contains string="${version-output}" substring="java version &quot;1.5"/>
-                <contains string="${version-output}" substring="java version &quot;1.6"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0&quot;"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_01"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_02"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_03"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_04"/>
-                <contains string="${version-output}" substring="java version &quot;1.7.0_05"/>
-            </or>
-        </condition>
-        <property name="ant-jre-version-checked-in-jfximpl" value="true"/>
-        <echo message="have-ant-jre-pre7u6 = ${have-ant-jre-pre7u6}" level="verbose"/>
-    </target>
-
-    <target name="-check-jdk-7u4or5-mac" depends="-check-jdk-version" if="have-jdk-7u4or5-mac">
-        <fail message="Error:${line.separator}JDK 7u4 Mac and 7u5 Mac do not support WebStart and JavaFX 2.0+ browser plugin technologies.${line.separator}Please upgrade to JDK 7u6 or later."/>
-    </target>
-
-    
-    <!-- Check availability of JavaFX SDK deployment support (ant-javafx.jar) -->
-
-    <target name="-check-endorsed-javafx-ant-classpath">
-        <condition property="endorsed-javafx-ant-classpath-available">
-            <and>
-                <isset property="endorsed.javafx.ant.classpath"/>
-                <not>
-                    <equals arg1="${endorsed.javafx.ant.classpath}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <echo message="endorsed-javafx-ant-classpath-available = ${endorsed-javafx-ant-classpath-available}" level="verbose"/>
-    </target>
-
-    <target name="-check-property-javafx.sdk">
-        <echo message="javafx.sdk = ${javafx.sdk}" level="verbose"/>
-        <condition property="javafx.sdk.defined">
-            <and>
-                <isset property="javafx.sdk"/>
-                <not><contains string="${javafx.sdk}" substring="$${platform" casesensitive="false"/></not>
-            </and>
-        </condition>
-        <condition property="javafx.sdk.missing+default">
-            <and>
-                <equals arg1="${platform.active}" arg2="Default_JavaFX_Platform" trim="true"/>
-                <not><isset property="javafx.sdk.defined"/></not>
-            </and>
-        </condition>
-        <condition property="javafx.sdk.missing-default">
-            <and>
-                <not><equals arg1="${platform.active}" arg2="Default_JavaFX_Platform" trim="true"/></not>
-                <not><isset property="javafx.sdk.defined"/></not>
-            </and>
-        </condition>
-        <echo message="javafx.sdk.defined = ${javafx.sdk.defined}" level="verbose"/>
-        <echo message="javafx.sdk.missing+default = ${javafx.sdk.missing+default}" level="verbose"/>
-        <echo message="javafx.sdk.missing-default = ${javafx.sdk.missing-default}" level="verbose"/>
-    </target>
-
-    <target name="-check-ant-javafx-in-fxsdk-lib" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
-        <condition property="do.set.ant-javafx.in.fxsdk.lib">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${javafx.sdk}${file.separator}lib${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-fxsdk-lib" depends="-check-ant-javafx-in-fxsdk-lib" if="do.set.ant-javafx.in.fxsdk.lib">
-        <property name="ant-javafx.jar.location" value="${javafx.sdk}${file.separator}lib${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-fxsdk-tools" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
-        <condition property="do.set.ant-javafx.in.fxsdk.tools">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${javafx.sdk}${file.separator}tools${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-fxsdk-tools" depends="-set-ant-javafx-in-fxsdk-lib,-check-ant-javafx-in-fxsdk-tools" if="do.set.ant-javafx.in.fxsdk.tools">
-        <property name="ant-javafx.jar.location" value="${javafx.sdk}${file.separator}tools${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-platform-home-lib" if="platform.home">
-        <condition property="do.set.ant-javafx.in.platform.home.lib">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${platform.home}${file.separator}lib${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-platform-home-lib" depends="-set-ant-javafx-in-fxsdk-tools,-check-ant-javafx-in-platform-home-lib" if="do.set.ant-javafx.in.platform.home.lib">
-        <property name="ant-javafx.jar.location" value="${platform.home}${file.separator}lib${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-platform-home-tools" if="platform.home">
-        <condition property="do.set.ant-javafx.in.platform.home.tools">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${platform.home}${file.separator}tools${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-platform-home-tools" depends="-set-ant-javafx-in-platform-home-lib,-check-ant-javafx-in-platform-home-tools" if="do.set.ant-javafx.in.platform.home.tools">
-        <property name="ant-javafx.jar.location" value="${platform.home}${file.separator}tools${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-probjdk-lib" unless="ant-javafx.jar.location">
-        <condition property="do.set.ant-javafx.in.probjdk.lib">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${java.home}${file.separator}..${file.separator}lib${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-probjdk-lib" depends="-set-ant-javafx-in-platform-home-tools,-check-ant-javafx-in-probjdk-lib" if="do.set.ant-javafx.in.probjdk.lib">
-        <property name="ant-javafx.jar.location" value="${java.home}${file.separator}..${file.separator}lib${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-probjdk-tools" unless="ant-javafx.jar.location">
-        <condition property="do.set.ant-javafx.in.probjdk.tools">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${java.home}${file.separator}..${file.separator}tools${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-probjdk-tools" depends="-set-ant-javafx-in-probjdk-lib,-check-ant-javafx-in-probjdk-tools" if="do.set.ant-javafx.in.probjdk.tools">
-        <property name="ant-javafx.jar.location" value="${java.home}${file.separator}..${file.separator}tools${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-macjdk-lib" unless="ant-javafx.jar.location">
-        <condition property="do.set.ant-javafx.in.macjdk.lib">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${java.home}${file.separator}lib${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-macjdk-lib" depends="-set-ant-javafx-in-probjdk-tools,-check-ant-javafx-in-macjdk-lib" if="do.set.ant-javafx.in.macjdk.lib">
-        <property name="ant-javafx.jar.location" value="${java.home}${file.separator}lib${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-envjdk-lib" unless="ant-javafx.jar.location">
-        <property environment="env"/>
-        <condition property="do.set.ant-javafx.in.envjdk.lib">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${env.JAVA_HOME}${file.separator}lib${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-envjdk-lib" depends="-set-ant-javafx-in-macjdk-lib,-check-ant-javafx-in-envjdk-lib" if="do.set.ant-javafx.in.envjdk.lib">
-        <property name="ant-javafx.jar.location" value="${env.JAVA_HOME}${file.separator}lib${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-check-ant-javafx-in-envjdk-tools" unless="ant-javafx.jar.location">
-        <property environment="env"/>
-        <condition property="do.set.ant-javafx.in.envjdk.tools">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${env.JAVA_HOME}${file.separator}tools${file.separator}ant-javafx.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-ant-javafx-in-envjdk-tools" depends="-set-ant-javafx-in-envjdk-lib,-check-ant-javafx-in-envjdk-tools" if="do.set.ant-javafx.in.envjdk.tools">
-        <property name="ant-javafx.jar.location" value="${env.JAVA_HOME}${file.separator}tools${file.separator}ant-javafx.jar"/>
-    </target>
-    <target name="-pre-check-ant-javafx-version" depends="-set-ant-javafx-in-envjdk-tools" unless="ant-javafx-version-already-checked-in-jfximpl">
-        <condition property="do.check.ant-javafx.version">
-            <and>
-                <isset property="ant-javafx.jar.location"/>
-                <not><isset property="ant-javafx-version-already-checked-in-jfximpl"/></not>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-endorsed-javafx-ant-classpath" depends="-check-endorsed-javafx-ant-classpath,-pre-check-ant-javafx-version" if="endorsed-javafx-ant-classpath-available">
-        <property name="javafx.ant.classpath" value="${endorsed.javafx.ant.classpath}:${ant-javafx.jar.location}"/>
-    </target>
-    <target name="-set-javafx-ant-classpath" depends="-check-endorsed-javafx-ant-classpath,-pre-check-ant-javafx-version" unless="endorsed-javafx-ant-classpath-available">
-        <property name="javafx.ant.classpath" value="${ant-javafx.jar.location}"/>
-    </target>
-    <target name="-check-ant-javafx-version" depends="-pre-check-ant-javafx-version,
-            -set-endorsed-javafx-ant-classpath,-set-javafx-ant-classpath" if="do.check.ant-javafx.version">
-        <echo message="ant-javafx.jar.location = ${ant-javafx.jar.location}" level="verbose"/>
-        <echo message="javafx.ant.classpath = ${javafx.ant.classpath}" level="verbose"/>
-        <taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
-            uri="javafx:com.sun.javafx.tools.ant"
-            classpath="${javafx.ant.classpath}"/>
-        <condition property="have-fx-ant-init">
-            <typefound name="javafx:com.sun.javafx.tools.ant:init-ant"/>
-        </condition>
-        <property name="ant-javafx-version-already-checked-in-jfximpl" value="true"/>
-        <echo message="have-fx-ant-init = ${have-fx-ant-init}" level="verbose"/>
-    </target>
-    <target name="-check-jfx-sdk-version-old" depends="-check-ant-javafx-version" unless="have-fx-ant-init">
-        <property name="javafx.ant.version" value="1.0"/>
-    </target>
-    <target name="-check-jfx-sdk-version-new" depends="-check-ant-javafx-version" if="have-fx-ant-init">
-        <fx:init-ant/>
-        <condition property="have-fx-ant-api-1.1">
-            <!-- new features from JavaFX 2.0.2 are available in API version 1.1 or later -->
-            <matches pattern="1.[1-9]" string="${javafx.ant.version}"/>
-        </condition>
-        <condition property="have-fx-ant-api-1.2">
-            <!-- new features from JavaFX 2.2 are available in API version 1.2 or later -->
-            <matches pattern="1.[2-9]" string="${javafx.ant.version}"/>
-        </condition>
-    </target>
-    <target name="-check-jfx-sdk-version" depends="-check-jfx-sdk-version-old, -check-jfx-sdk-version-new" unless="jfx.sdk.version.checked">
-        <echo message="Detected JavaFX Ant API version ${javafx.ant.version}" level="info"/>
-        <echo message="have-fx-ant-api-1.1 = ${have-fx-ant-api-1.1}" level="verbose"/>
-        <echo message="have-fx-ant-api-1.2 = ${have-fx-ant-api-1.2}" level="verbose"/>
-        <echo message="javafx.ant.classpath = ${javafx.ant.classpath}" level="verbose"/>
-        <property name="jfx.sdk.version.checked" value="true"/>
-    </target>
-
-    <target name="-check-jfx-deployment" depends="-check-jdk-version,-check-jfx-sdk-version">
-        <condition property="jfx-deployment-available">
-            <and>
-                <or>
-                    <isset property="do.set.ant-javafx.in.fxsdk.lib"/>
-                    <isset property="do.set.ant-javafx.in.fxsdk.tools"/>
-                    <isset property="do.set.ant-javafx.in.platform.home.lib"/>
-                    <isset property="do.set.ant-javafx.in.platform.home.tools"/>
-                    <isset property="do.set.ant-javafx.in.probjdk.lib"/>
-                    <isset property="do.set.ant-javafx.in.probjdk.tools"/>
-                    <isset property="do.set.ant-javafx.in.envjdk.lib"/>
-                    <isset property="do.set.ant-javafx.in.envjdk.tools"/>
-                </or>
-                <isset property="ant-javafx.jar.location"/>
-            </and>
-        </condition>
-        <condition property="jfx-deployment-missing+jdk7u6">
-            <and>
-                <not><isset property="jfx-deployment-available"/></not>
-                <not><isset property="have-jdk-pre7u6"/></not>
-            </and>
-        </condition>
-        <condition property="jfx-deployment-missing+javafx.sdk.missing+default">
-            <and>
-                <not><isset property="jfx-deployment-available"/></not>
-                <isset property="have-jdk-pre7u6"/>
-                <isset property="javafx.sdk.missing+default"/>
-            </and>
-        </condition>
-        <condition property="jfx-deployment-missing+javafx.sdk.missing-default">
-            <and>
-                <not><isset property="jfx-deployment-available"/></not>
-                <isset property="have-jdk-pre7u6"/>
-                <isset property="javafx.sdk.missing-default"/>
-            </and>
-        </condition>
-        <fail message="Error:${line.separator}JavaFX deployment library not found in active JDK.${line.separator}Please check that the JDK is correctly installed and its version is at least 7u4 on Mac or 7u6 on other systems." if="jfx-deployment-missing+jdk7u6"/>
-        <fail message="Error:${line.separator}JavaFX deployment library not found.${line.separator}JavaFX SDK path undefined. Check the definition of ${platform.active} in Java Platform Manager${line.separator}(or directly the properties platform.active and javafx.sdk in project.properties file).${line.separator}Note: If missing, the default JavaFX-enabled platform gets created automatically when creating a new JavaFX Project." if="jfx-deployment-missing+javafx.sdk.missing+default"/>
-        <fail message="Error:${line.separator}JavaFX deployment library not found.${line.separator}JavaFX SDK path undefined. Check the definition of ${platform.active} in Java Platform Manager${line.separator}(or directly the properties platform.active and javafx.sdk in project.properties file)." if="jfx-deployment-missing+javafx.sdk.missing-default"/>
-        <fail message="Error:${line.separator}JavaFX deployment library not found." unless="jfx-deployment-available"/>
-        <echo message="jfx-deployment-available = ${jfx-deployment-available}" level="verbose"/>
-    </target>
-    
-    
-    <!-- Check availability of main JavaFX runtime jar (jfxrt.jar) -->
-
-    <target name="-check-property-javafx.runtime">
-        <echo message="javafx.runtime = ${javafx.runtime}" level="verbose"/>
-        <condition property="javafx.runtime.defined">
-            <and>
-                <isset property="javafx.runtime"/>
-                <not><contains string="${javafx.runtime}" substring="$${platform" casesensitive="false"/></not>
-            </and>
-        </condition>
-        <condition property="javafx.runtime.missing+default">
-            <and>
-                <equals arg1="${platform.active}" arg2="Default_JavaFX_Platform" trim="true"/>
-                <not><isset property="javafx.runtime.defined"/></not>
-            </and>
-        </condition>
-        <condition property="javafx.runtime.missing-default">
-            <and>
-                <not><equals arg1="${platform.active}" arg2="Default_JavaFX_Platform" trim="true"/></not>
-                <not><isset property="javafx.runtime.defined"/></not>
-            </and>
-        </condition>
-        <echo message="javafx.runtime.defined = ${javafx.runtime.defined}" level="verbose"/>
-        <echo message="javafx.runtime.missing+default = ${javafx.runtime.missing+default}" level="verbose"/>
-        <echo message="javafx.runtime.missing-default = ${javafx.runtime.missing-default}" level="verbose"/>
-    </target>
-
-    <target name="-check-jfxrt-in-fxrt" depends="-check-property-javafx.runtime" if="javafx.runtime.defined">
-        <condition property="do.set.jfxrt.in.fxrt">
-            <and>
-                <not><isset property="jfxrt.jar.location"/></not>
-                <available file="${javafx.runtime}${file.separator}lib${file.separator}jfxrt.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-jfxrt-in-fxrt" depends="-check-jfxrt-in-fxrt" if="do.set.jfxrt.in.fxrt">
-        <property name="jfxrt.jar.location" value="${javafx.runtime}${file.separator}lib${file.separator}jfxrt.jar"/>
-    </target>
-    <target name="-check-jfxrt-in-fxsdk-jre" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
-        <condition property="do.set.jfxrt.in.fxsdk.jre">
-            <and>
-                <not><isset property="jfxrt.jar.location"/></not>
-                <available file="${javafx.sdk}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-jfxrt-in-fxsdk-jre" depends="-set-jfxrt-in-fxrt,-check-jfxrt-in-fxsdk-jre" if="do.set.jfxrt.in.fxsdk.jre">
-        <property name="jfxrt.jar.location" value="${javafx.sdk}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
-    </target>
-    <target name="-check-jfxrt-in-fxsdk-rt" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
-        <condition property="do.set.jfxrt.in.fxsdk.rt">
-            <and>
-                <not><isset property="jfxrt.jar.location"/></not>
-                <available file="${javafx.sdk}${file.separator}rt${file.separator}lib${file.separator}jfxrt.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-jfxrt-in-fxsdk-rt" depends="-set-jfxrt-in-fxsdk-jre,-check-jfxrt-in-fxsdk-rt" if="do.set.jfxrt.in.fxsdk.rt">
-        <property name="jfxrt.jar.location" value="${javafx.sdk}${file.separator}rt${file.separator}lib${file.separator}jfxrt.jar"/>
-    </target>
-    <target name="-check-jfxrt-in-platform-home-jre" if="platform.home">
-        <condition property="do.set.jfxrt.in.platform.home.jre">
-            <and>
-                <not><isset property="jfxrt.jar.location"/></not>
-                <available file="${platform.home}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-jfxrt-in-platform-home-jre" depends="-set-jfxrt-in-fxsdk-rt,-check-jfxrt-in-platform-home-jre" if="do.set.jfxrt.in.platform.home.jre">
-        <property name="jfxrt.jar.location" value="${platform.home}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
-    </target>
-    <target name="-check-jfxrt-in-platform-home-rt" if="platform.home">
-        <condition property="do.set.jfxrt.in.platform.home.rt">
-            <and>
-                <not><isset property="jfxrt.jar.location"/></not>
-                <available file="${platform.home}${file.separator}rt${file.separator}lib${file.separator}jfxrt.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-jfxrt-in-platform-home-rt" depends="-set-jfxrt-in-platform-home-jre,-check-jfxrt-in-platform-home-rt" if="do.set.jfxrt.in.platform.home.rt">
-        <property name="jfxrt.jar.location" value="${platform.home}${file.separator}rt${file.separator}lib${file.separator}jfxrt.jar"/>
-    </target>
-    <target name="-check-jfxrt-in-jre" unless="jfxrt.jar.location">
-        <condition property="do.set.jfxrt.in.jre">
-            <and>
-                <not><isset property="jfxrt.jar.location"/></not>
-                <available file="${java.home}${file.separator}lib${file.separator}jfxrt.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-jfxrt-in-jre" depends="-set-jfxrt-in-platform-home-rt,-check-jfxrt-in-jre" if="do.set.jfxrt.in.jre">
-        <property name="jfxrt.jar.location" value="${java.home}${file.separator}lib${file.separator}jfxrt.jar"/>
-    </target>
-    <target name="-check-jfxrt-in-envjdk-jre" unless="jfxrt.jar.location">
-        <property environment="env"/>
-        <condition property="do.set.jfxrt.in.envjdk.jre">
-            <and>
-                <not><isset property="ant-javafx.jar.location"/></not>
-                <available file="${env.JAVA_HOME}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-jfxrt-in-envjdk-jre" depends="-set-jfxrt-in-jre,-check-jfxrt-in-envjdk-jre" if="do.set.jfxrt.in.envjdk.jre">
-        <property name="jfxrt.jar.location" value="${env.JAVA_HOME}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
-    </target>
-    <target name="-pre-check-jfx-runtime" depends="-set-jfxrt-in-envjdk-jre">
-        <echo message="jfxrt.jar.location = ${jfxrt.jar.location}" level="verbose"/>
-    </target>
-
-    <target name="-check-jfx-runtime" depends="-check-jdk-version, -pre-check-jfx-runtime">
-        <condition property="jfx-runtime-available">
-            <and>
-                <or>
-                    <isset property="do.set.jfxrt.in.fxrt"/>
-                    <isset property="do.set.jfxrt.in.fxsdk.jre"/>
-                    <isset property="do.set.jfxrt.in.fxsdk.rt"/>
-                    <isset property="do.set.jfxrt.in.platform.home.jre"/>
-                    <isset property="do.set.jfxrt.in.platform.home.rt"/>
-                    <isset property="do.set.jfxrt.in.jre"/>
-                    <isset property="do.set.jfxrt.in.envjdk.jre"/>
-                </or>
-                <isset property="jfxrt.jar.location"/>
-            </and>
-        </condition>
-        <fail message="Error:${line.separator}JavaFX runtime JAR not found." unless="jfx-runtime-available"/>
-        <echo message="jfx-runtime-available = ${jfx-runtime-available}" level="verbose"/>
-    </target>
-
-
-    <!-- Check availability of WebStart executable -->
-
-    <target name="-check-webstart-in-fxrt" depends="-check-property-javafx.runtime" if="javafx.runtime.defined">
-        <condition property="do.set.webstart.in.fxrt">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <isset property="javafx.runtime.defined"/>
-                <or>
-                    <available file="${javafx.runtime}${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${javafx.runtime}${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-fxrt" depends="-check-webstart-in-fxrt" if="do.set.webstart.in.fxrt">
-        <property name="active.webstart.executable" value="${javafx.runtime}${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-check-webstart-in-fxsdk-jre" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
-        <condition property="do.set.webstart.in.fxsdk.jre">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <isset property="javafx.sdk.defined"/>
-                <or>
-                    <available file="${javafx.sdk}${file.separator}jre${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${javafx.sdk}${file.separator}jre${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-fxsdk-jre" depends="-set-webstart-in-fxrt,-check-webstart-in-fxsdk-jre" if="do.set.webstart.in.fxsdk.jre">
-        <property name="active.webstart.executable" value="${javafx.sdk}${file.separator}jre${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-check-webstart-in-fxsdk" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
-        <condition property="do.set.webstart.in.fxsdk">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <isset property="javafx.sdk.defined"/>
-                <or>
-                    <available file="${javafx.sdk}${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${javafx.sdk}${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-fxsdk" depends="-set-webstart-in-fxsdk-jre,-check-webstart-in-fxsdk" if="do.set.webstart.in.fxsdk">
-        <property name="active.webstart.executable" value="${javafx.sdk}${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-check-webstart-in-platform-home-jre" if="platform.home">
-        <condition property="do.set.webstart.in.platform.home.jre">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <or>
-                    <available file="${platform.home}${file.separator}jre${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${platform.home}${file.separator}jre${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-platform-home-jre" depends="-set-webstart-in-fxsdk,-check-webstart-in-platform-home-jre" if="do.set.webstart.in.platform.home.jre">
-        <property name="active.webstart.executable" value="${platform.home}${file.separator}jre${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-check-webstart-in-platform-home" if="platform.home">
-        <condition property="do.set.webstart.in.platform.home">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <or>
-                    <available file="${platform.home}${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${platform.home}${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-platform-home" depends="-set-webstart-in-platform-home-jre,-check-webstart-in-platform-home" if="do.set.webstart.in.platform.home">
-        <property name="active.webstart.executable" value="${platform.home}${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-check-webstart-in-jre" unless="active.webstart.executable">
-        <condition property="do.set.webstart.in.jre">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <or>
-                    <available file="${java.home}${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${java.home}${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-jre" depends="-set-webstart-in-platform-home,-check-webstart-in-jre" if="do.set.webstart.in.jre">
-        <property name="active.webstart.executable" value="${java.home}${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-check-webstart-in-probjdk" unless="active.webstart.executable">
-        <condition property="do.set.webstart.in.probjdk">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <or>
-                    <available file="${java.home}${file.separator}..${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${java.home}${file.separator}..${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-probjdk" depends="-set-webstart-in-jre,-check-webstart-in-probjdk" if="do.set.webstart.in.probjdk">
-        <property name="active.webstart.executable" value="${java.home}${file.separator}..${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-check-webstart-in-envjdk" unless="active.webstart.executable">
-        <property environment="env"/>
-        <condition property="do.set.webstart.in.envjdk">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <or>
-                    <available file="${env.JAVA_HOME}${file.separator}bin${file.separator}javaws.exe"/>
-                    <available file="${env.JAVA_HOME}${file.separator}bin${file.separator}javaws"/>
-                </or>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-webstart-in-envjdk" depends="-set-webstart-in-probjdk,-check-webstart-in-envjdk" if="do.set.webstart.in.envjdk">
-        <property name="active.webstart.executable" value="${env.JAVA_HOME}${file.separator}bin${file.separator}javaws"/>
-    </target>
-    <target name="-pre-check-webstart-in-unix" depends="-check-operating-system,-set-webstart-in-envjdk" unless="active.webstart.executable">
-        <condition property="running.on.unix-active.webstart.executable">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <isset property="running.on.unix"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-check-webstart-in-unix" depends="-pre-check-webstart-in-unix" if="running.on.unix-active.webstart.executable">
-        <local name="exec.which.javaws.result"/>
-        <exec executable="which" failifexecutionfails="false" failonerror="false" resultproperty="exec.which.javaws.result" outputproperty="exec.which.javaws.output">
-            <arg value="javaws"/>
-        </exec>
-        <condition property="do.set.webstart.in.unix">
-            <and>
-                <not><isset property="active.webstart.executable"/></not>
-                <isset property="exec.which.javaws.result"/>
-                <equals arg1="${exec.which.javaws.result}" arg2="0"/>
-                <isset property="exec.which.javaws.output"/>
-                <not><equals arg1="${exec.which.javaws.output}" arg2=""/></not>
-            </and>
-        </condition>
-        <echo message="do.set.webstart.in.unix = ${do.set.webstart.in.unix}" level="verbose"/>
-    </target>
-    <target name="-set-webstart-in-unix" depends="-set-webstart-in-envjdk,-check-webstart-in-unix" if="do.set.webstart.in.unix">
-        <property name="active.webstart.executable" value="${exec.which.javaws.output}"/>
-    </target>
-    <target name="-pre-check-jfx-webstart" depends="-set-webstart-in-unix">
-        <echo message="active.webstart.executable = ${active.webstart.executable}" level="verbose"/>
-    </target>
-
-    <target name="-check-jfx-webstart" depends="-pre-check-jfx-webstart">
-        <condition property="jfx-webstart-available">
-            <and>
-                <or>
-                    <isset property="do.set.webstart.in.fxrt"/>
-                    <isset property="do.set.webstart.in.fxsdk.jre"/>
-                    <isset property="do.set.webstart.in.fxsdk"/>
-                    <isset property="do.set.webstart.in.platform.home.jre"/>
-                    <isset property="do.set.webstart.in.platform.home"/>
-                    <isset property="do.set.webstart.in.jre"/>
-                    <isset property="do.set.webstart.in.probjdk"/>
-                    <isset property="do.set.webstart.in.envjdk"/>
-                    <isset property="do.set.webstart.in.unix"/>
-                </or>
-                <isset property="active.webstart.executable"/>
-            </and>
-        </condition>
-        <condition property="jfx-webstart-missing+jdk7u6">
-            <and>
-                <not><isset property="jfx-webstart-available"/></not>
-                <not><isset property="have-jdk-pre7u6"/></not>
-            </and>
-        </condition>
-        <condition property="jfx-webstart-missing+javafx.runtime.missing+default">
-            <and>
-                <not><isset property="jfx-webstart-available"/></not>
-                <isset property="have-jdk-pre7u6"/>
-                <isset property="javafx.runtime.missing+default"/>
-            </and>
-        </condition>
-        <condition property="jfx-webstart-missing+javafx.runtime.missing-default">
-            <and>
-                <not><isset property="jfx-webstart-available"/></not>
-                <isset property="have-jdk-pre7u6"/>
-                <isset property="javafx.runtime.missing-default"/>
-            </and>
-        </condition>
-        <fail message="Error:${line.separator}WebStart executable could not be found in active JDK.${line.separator}Please check that the JDK is correctly installed and its version is at least 7u6." if="jfx-webstart-missing+jdk7u6"/>
-        <fail message="Error:${line.separator}WebStart executable could not be found.${line.separator}JavaFX RT path undefined. Check the definition of ${platform.active} in Java Platform Manager${line.separator}(or directly the properties platform.active and javafx.runtime in project.properties file).${line.separator}Note: If missing, the default JavaFX-enabled platform gets created automatically when creating a new JavaFX Project." if="jfx-webstart-missing+javafx.runtime.missing+default"/>
-        <fail message="Error:${line.separator}WebStart executable could not be found.${line.separator}JavaFX RT path undefined. Check the definition of ${platform.active} in Java Platform Manager${line.separator}(or directly the properties platform.active and javafx.runtime in project.properties file)." if="jfx-webstart-missing+javafx.runtime.missing-default"/>
-        <fail message="Error:${line.separator}WebStart executable could not be found." unless="jfx-webstart-available"/>
-        <echo message="jfx-webstart-available = ${jfx-webstart-available}" level="verbose"/>
-    </target>
-
-    
-    <!-- Legacy targets kept for compatibility with older build-impl.xml scripts -->
-
-    <!-- Note: target "-check-javafx" is not necessary any more but is referenced from NB 7.1 build-impl.xml -->
-    <target name="-check-javafx"/>
-    <!-- Note: target "-javafx-check-error" is not necessary any more but is referenced from NB 7.1 build-impl.xml -->
-    <target name="-javafx-check-error"/>    
-    <!-- Note: target "-init-javafx" is not necessary any more but is referenced from NB 7.1 build-impl.xml -->
-    <target name="-init-javafx"/>
-
-    
-    <!-- Check project properties -->
-    
-    <target name="-check-default-run-config" unless="config">
-        <property name="config" value="&lt;default config&gt;"/>
-    </target>
-    
-    <target name="-check-project">
-        <condition property="main-class-available">
-            <isset property="javafx.main.class"/>
-        </condition>
-        <condition property="vmargs-available">
-            <and>
-                <isset property="run.jvmargs"/>
-                <not><equals arg1="${run.jvmargs}" arg2=""/></not>
-            </and>
-        </condition>
-        <condition property="preloader-available">
-            <and>
-                <isset property="javafx.preloader.enabled"/>
-                <equals arg1="${javafx.preloader.enabled}" arg2="true"/>
-                <isset property="javafx.preloader.class"/>
-                <not><equals arg1="${javafx.preloader.class}" arg2=""/></not>
-                <isset property="javafx.preloader.jar.filename"/>
-                <not><equals arg1="${javafx.preloader.jar.filename}" arg2=""/></not>
-            </and>
-        </condition>
-        <condition property="app-with-preloader">
-            <and>
-                <istrue value="${preloader-available}"/>
-                <istrue value="${main-class-available}"/>
-            </and>
-        </condition>
-        <condition property="app-with-external-preloader-jar">
-            <and>
-                <isset property="app-with-preloader"/>
-                <isset property="javafx.preloader.type"/>
-                <equals arg1="${javafx.preloader.type}" arg2="jar" trim="true"/>
-            </and>
-        </condition>
-        <condition property="app-without-preloader">
-            <and>
-                <not>
-                    <istrue value="${preloader-available}"/>
-                </not>
-                <istrue value="${main-class-available}"/>
-            </and>
-        </condition>
-        <condition property="preloader-app">
-            <and>
-                <isset property="javafx.preloader"/>
-                <equals arg1="${javafx.preloader}" arg2="true"/>
-            </and>
-        </condition>
-        <condition property="fx-in-swing-app">
-            <and>
-                <isset property="javafx.swing"/>
-                <equals arg1="${javafx.swing}" arg2="true"/>
-            </and>
-        </condition>
-        <condition property="fx-in-swing-workaround-app">
-            <and>
-                <istrue value="${fx-in-swing-app}"/>
-                <istrue value="${preloader-app}"/>
-            </and>
-        </condition>
-        <condition property="preloader-app-no-workaround">
-            <and>
-                <istrue value="${preloader-app}"/>
-                <not><istrue value="${fx-in-swing-app}"/></not>
-            </and>
-        </condition>
-        <condition property="html-template-available">
-            <and>
-                <isset property="javafx.run.htmltemplate"/>
-                <not>
-                    <equals arg1="${javafx.run.htmltemplate}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <condition property="icon-available">
-            <and>
-                <isset property="javafx.deploy.icon"/>
-                <not>
-                    <equals arg1="${javafx.deploy.icon}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <condition property="dimensions-available">
-            <and>
-                <isset property="javafx.run.width"/>
-                <isset property="javafx.run.height"/>
-                <not><equals arg1="${javafx.run.width}" arg2=""/></not>
-                <not><equals arg1="${javafx.run.height}" arg2=""/></not>
-            </and>
-        </condition>
-        <condition property="update-mode-background">
-            <and>
-                <isset property="javafx.deploy.backgroundupdate"/>
-                <equals arg1="${javafx.deploy.backgroundupdate}" arg2="true" trim="true"/>
-            </and>
-        </condition>
-        <condition property="offline-allowed">
-            <and>
-                <isset property="javafx.deploy.allowoffline"/>
-                <equals arg1="${javafx.deploy.allowoffline}" arg2="true" trim="true"/>
-            </and>
-        </condition>
-        <condition property="permissions-elevated">
-            <and>
-                <isset property="javafx.deploy.permissionselevated"/>
-                <equals arg1="${javafx.deploy.permissionselevated}" arg2="true" trim="true"/>
-            </and>
-        </condition>
-        <condition property="binary-encode-css">
-            <and>
-                <isset property="javafx.binarycss"/>
-                <equals arg1="${javafx.binarycss}" arg2="true" trim="true"/>
-            </and>
-        </condition>
-        <condition property="rebase-lib-jars">
-            <and>
-                <isset property="javafx.rebase.libs"/>
-                <equals arg1="${javafx.rebase.libs}" arg2="true" trim="true"/>
-            </and>
-        </condition>
-        <echo message="main-class-available = ${main-class-available}" level="verbose"/>
-        <echo message="vmargs-available = ${vmargs-available}" level="verbose"/>
-        <echo message="preloader-available = ${preloader-available}" level="verbose"/>
-        <echo message="app-with-preloader = ${app-with-preloader}" level="verbose"/>
-        <echo message="app-with-preloader-without-project = ${app-with-preloader-without-project}" level="verbose"/>
-        <echo message="app-without-preloader = ${app-without-preloader}" level="verbose"/>
-        <echo message="preloader-app = ${preloader-app}" level="verbose"/>
-        <echo message="fx-in-swing-app = ${fx-in-swing-app}" level="verbose"/>
-        <echo message="fx-in-swing-workaround-app = ${fx-in-swing-workaround-app}" level="verbose"/>
-        <echo message="preloader-app-no-workaround = ${preloader-app-no-workaround}" level="verbose"/>
-        <echo message="html-template-available = ${html-template-available}" level="verbose"/>
-        <echo message="icon-available = ${icon-available}" level="verbose"/>
-        <echo message="dimensions-available = ${dimensions-available}" level="verbose"/>
-        <echo message="update-mode-background = ${update-mode-background}" level="verbose"/>
-        <echo message="offline-allowed = ${offline-allowed}" level="verbose"/>
-        <echo message="permissions-elevated = ${permissions-elevated}" level="verbose"/>
-        <echo message="binary-encode-css = ${binary-encode-css}" level="verbose"/>
-        <echo message="rebase-lib-jars = ${rebase-lib-jars}" level="verbose"/>
-    </target>
-
-    <target name="-swing-api-check" depends="-check-project,-check-jfx-deployment" if="fx-in-swing-app">
-        <condition property="fx-in-swing-app-workaround">
-            <and>
-                <isset property="fx-in-swing-app"/>
-                <not><isset property="have-fx-ant-api-1.2"/></not>
-            </and>
-        </condition>
-    </target>
-    <target name="-swing-api-warning" depends="-swing-api-check" if="fx-in-swing-app-workaround">
-        <echo message="Info: No support for FX-in-Swing deployment detected in current JavaFX SDK. Using workaround instead."/>
-    </target>
-
-    <target name="-icon-deployment-check" depends="-check-project,-check-jfx-deployment" if="icon-available">
-        <condition property="icon-deployment-may-not-be-supported">
-            <and>
-                <isset property="icon-available"/>
-                <not><isset property="have-fx-ant-api-1.1"/></not>
-            </and>
-        </condition>
-    </target>
-    <target name="-icon-warning" depends="-icon-deployment-check" if="icon-deployment-may-not-be-supported">
-        <echo message="Warning: Note that due to a bug in early JavaFX 2.0 SDK distributions the icon may not be properly set in deployment files."/>
-    </target>
-
-    <target name="-set-dimensions" depends="-check-project" if="dimensions-available">
-        <property name="javafx.width" value="${javafx.run.width}"/>
-        <property name="javafx.height" value="${javafx.run.height}"/>
-    </target>
-    <target name="-reset-dimensions" depends="-check-project" unless="dimensions-available">
-        <property name="javafx.width" value="800"/>
-        <property name="javafx.height" value="600"/>
-    </target>
-
-    <target name="-set-update-mode-background" depends="-check-project" if="update-mode-background">
-        <property name="update-mode" value="background"/>
-    </target>
-    <target name="-set-update-mode-eager" depends="-check-project" unless="update-mode-background">
-        <property name="update-mode" value="eager"/>
-    </target>
-
-    <target name="-set-permissions-elevated" depends="-check-project" if="permissions-elevated">
-        <property name="permissions.elevated" value="true"/>
-    </target>
-    <target name="-reset-permissions-elevated" depends="-check-project" unless="permissions-elevated">
-        <property name="permissions.elevated" value="false"/>
-    </target>
-
-    <target name="-set-binary-css" depends="-check-project,-init-css-conversion" if="do.copy.binary.css">
-        <property name="css-include-ext" value="bss"/>
-        <property name="css-exclude-ext" value="css"/>
-    </target>
-    <target name="-unset-binary-css" depends="-check-project,-init-css-conversion" unless="do.copy.binary.css">
-        <property name="css-include-ext" value="css"/>
-        <property name="css-exclude-ext" value="bss"/>
-    </target>
-    <target name="-copy-binary-css" depends="-init-css-conversion,-set-binary-css,-unset-binary-css,-copy-binary-css-bypass,-copy-binary-css-impl"/>
-    <target name="-init-css-conversion" depends="-check-project,-check-jdk-version">
-        <fileset id="cssfiles" dir="${basedir}${file.separator}${build.classes.dir}">
-            <include name="**${file.separator}*.css"/>
-        </fileset>
-        <pathconvert refid="cssfiles" property="cssfileset.notempty" setonempty="false"/>
-        <condition property="do.copy.binary.css">
-            <and>
-                <isset property="binary-encode-css"/>
-                <isset property="cssfileset.notempty"/>
-                <not><isset property="have-jdk7-css2bin-bug"/></not>
-            </and>
-        </condition>
-        <condition property="do.bypass.binary.css">
-            <and>
-                <isset property="binary-encode-css"/>
-                <isset property="cssfileset.notempty"/>
-                <isset property="have-jdk7-css2bin-bug"/>
-            </and>
-        </condition>
-        <echo message="do.copy.binary.css = ${do.copy.binary.css}" level="verbose"/>
-        <echo message="do.bypass.binary.css = ${do.bypass.binary.css}" level="verbose"/>
-    </target>
-    <target name="-copy-binary-css-bypass" depends="-init-css-conversion" if="do.bypass.binary.css">
-        <echo message="Warning: Bypassing FX CSS to BSS conversion due to a bug in &lt;fx:csstobin&gt; task in current JDK platform" level="warning"/>
-    </target>
-    <target name="-copy-binary-css-impl" depends="-init-css-conversion" if="do.copy.binary.css">
-        <property name="cssfileslist" refid="cssfiles"/>
-        <echo message="css files to binary convert: " level="verbose">${cssfileslist}</echo>
-        <fx:csstobin outdir="${basedir}${file.separator}${build.classes.dir}">
-            <fileset refid="cssfiles"/>
-        </fx:csstobin>
-    </target>
-
-
-    <!-- Copy dependent libraries -->
-    
-    <!-- Note: target "-jfx-copylibs" is referenced from NB 7.1 build-impl.xml -->
-    <target name="-jfx-copylibs" depends="init,compile,-pre-pre-jar,-pre-jar,-jfx-copylibs-warning" unless="fallback.no.javascript">
-        <jfx-copylibs-js-impl/>
-    </target>
-    <target name="-jfx-copylibs-warning" if="fallback.no.javascript">
-        <echo message="Warning: Dependent Libraries copy (-jfx-copylibs) skipped in fallback build mode due to JDK missing JavaScript support."/>
-    </target>
-    <macrodef name="jfx-copylibs-js-impl">
-        <sequential>
-            <local name="run.classpath.without.build.classes.and.dist.dir"/>
-            <pathconvert property="run.classpath.without.build.classes.and.dist.dir">
-                <path path="${run.classpath}"/>
-                <map from="${basedir}${file.separator}${build.classes.dir}" to=""/>
-                <map from="${basedir}${file.separator}${dist.jar}" to=""/>
-                <map from="${javafx.runtime}${file.separator}lib${file.separator}jfxrt.jar" to=""/>
-                <map from="${javafx.runtime}${file.separator}lib${file.separator}deploy.jar" to=""/>
-                <map from="${javafx.runtime}${file.separator}lib${file.separator}javaws.jar" to=""/>
-                <map from="${javafx.runtime}${file.separator}lib${file.separator}plugin.jar" to=""/>
-            </pathconvert>
-            <!-- add possibly missing dependencies at distance 2 (build system logic thus provides transitive closure) -->
-            <local name="run.and.lib.classpath"/>
-            <echo message="JavaScript: -jfx-copylibs" level="verbose"/>
-            <script language="javascript">
-                <![CDATA[
-                    var pathConvert = project.createTask("pathconvert");
-                    pathConvert.setProperty("run.and.lib.classpath");
-                    var classPath = project.getProperty("run.classpath.without.build.classes.and.dist.dir");
-                    var fileSeparator = project.getProperty("file.separator");
-                    if(classPath != null) {
-                        var classPathCopy = pathConvert.createPath();
-                        classPathCopy.setPath(classPath);
-                        if(classPath.indexOf(";") != -1) {
-                            var pathArray = classPath.split(";");
-                        } else {
-                            var pathArray = classPath.split(":");
-                        }
-                        var added = "";
-                        for (var i=0; i<pathArray.length; i++) {
-                            var index = pathArray[i].lastIndexOf(fileSeparator);
-                            if (index >=0) {
-                                var onePath = pathArray[i].substr(0,index+1) + "lib";
-                                var oneDir = new java.io.File(onePath);
-                                if(oneDir.exists()) {
-                                    var fs = project.createDataType("fileset");
-                                    fs.setDir( oneDir );
-                                    fs.setIncludes("*.jar");
-                                    var ds = fs.getDirectoryScanner(project);
-                                    var srcFiles = ds.getIncludedFiles();
-                                    for (j=0; j<srcFiles.length; j++) {
-                                        if(classPath.indexOf(srcFiles[j]) == -1 && added.indexOf(srcFiles[j]) == -1) {
-                                            var path = pathConvert.createPath();
-                                            path.setPath(onePath + fileSeparator + srcFiles[j]);
-                                            added += srcFiles[j];
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                    }
-                    pathConvert.perform();
-                ]]>
-            </script>
-            <echo message="run.and.lib.classpath = ${run.and.lib.classpath}" level="verbose"/>
-            <delete dir="${dist.dir}${file.separator}lib" includeEmptyDirs="true" quiet="true"/>
-            <copy todir="${dist.dir}${file.separator}lib" flatten="true" preservelastmodified="true" overwrite="true">
-                <path>
-                    <pathelement path="${run.and.lib.classpath}"/>
-                </path>
-            </copy>
-        </sequential>
-    </macrodef>
-    
-    <target name="-copy-external-preloader-jar" depends="-check-project" if="app-with-external-preloader-jar">
-        <copy file="${javafx.preloader.jar.path}" todir="${dist.dir}${file.separator}lib"/>
-    </target>
-
-
-    <!-- Optional classpath re-base of dependent JAR manifests after copy to lib/, required by GlassFish -->
-
-    <!-- Note: target "-rebase-libs" is referenced from NB 7.1 build-impl.xml -->
-    <target name="-rebase-libs" depends="-check-project, -jfx-copylibs, -check-rebase-libs, -rebase-libs-warning" if="do-rebase-lib-jars">
-        <rebase-libs-js-impl/>
-    </target>
-    <target name="-check-rebase-libs">
-        <condition property="do-rebase-lib-jars">
-            <and>
-                <isset property="rebase-lib-jars"/>
-                <not><isset property="fallback.no.javascript"/></not>
-            </and>
-        </condition>
-        <condition property="do-skip-rebase-libs">
-            <and>
-                <isset property="rebase-lib-jars"/>
-                <isset property="fallback.no.javascript"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-rebase-libs-warning" depends="-check-rebase-libs" if="do-skip-rebase-libs">
-        <echo message="Warning: Dependent Libraries JARs rebase (-rebase-libs) skipped in fallback build mode due to JDK missing JavaScript support."/>
-    </target>
-
-    <macrodef name="rebase-libs-js-impl">
-        <sequential>
-            <property name="pp_rebase_dir" value="${basedir}${file.separator}${dist.dir}${file.separator}lib"/>
-            <property name="pp_rebase_fs" value="*.jar"/>
-            <echo message="JavaScript: -rebase-libs-js-impl" level="verbose"/>
-            <script language="javascript">
-                <![CDATA[
-                    var dir = project.getProperty("pp_rebase_dir");
-                    var fDir = new java.io.File(dir);
-                    if( fDir.exists() ) {
-                        var callTask = project.createTask("antcall");
-                        callTask.setTarget("-rebase-libs-macro-call");
-                        var param = callTask.createParam();
-                        param.setName("jar.file.to.rebase");
-                        var includes = project.getProperty("pp_rebase_fs");
-                        var fs = project.createDataType("fileset");
-                        fs.setDir( fDir );
-                        fs.setIncludes(includes);
-                        var ds = fs.getDirectoryScanner(project);
-                        var srcFiles = ds.getIncludedFiles();
-                        for (i=0; i<srcFiles.length; i++) {
-                            param.setValue(dir + "${file.separator}" + srcFiles[i]);
-                            callTask.perform();
-                        }
-                    }
-                ]]>
-            </script>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="rebase-lib">
-        <attribute name="jarfile"/>
-        <sequential>
-            <local name="tmpdir"/>
-            <property name="tmpdir" value="${java.io.tmpdir}${file.separator}${user.name}_${ant.project.name}_rebase" />
-            <echo message="tmpdir = ${tmpdir}" level="verbose"/>
-            <delete dir="${tmpdir}" quiet="true"/>
-            <mkdir dir="${tmpdir}"/>
-            <unzip src="@{jarfile}" dest="${tmpdir}">
-                <patternset>
-                    <include name="META-INF${file.separator}MANIFEST.MF"/>
-                </patternset>
-            </unzip>
-            <local name="manifest.file.temp"/>
-            <property name="manifest.file.temp" value="${tmpdir}${file.separator}META-INF${file.separator}MANIFEST.MF" />
-            <echo message="manifest.file.temp = ${manifest.file.temp}" level="verbose"/>
-            <!-- edited manifest file -->
-            <local name="manifest.file.temp.new"/>
-            <property name="manifest.file.temp.new" value="${manifest.file.temp}_new" />
-            <echo message="manifest.file.temp.new = ${manifest.file.temp.new}" level="verbose"/>
-            <echo message="JavaScript: rebase-lib" level="verbose"/>
-            <script language="javascript">
-                <![CDATA[
-                    var UTF_8 = "UTF-8";
-                    var ATTR_CLASS_PATH = "Class-Path";
-                    var ATTR_CLASS_PATH_FX = "JavaFX-Class-Path";
-                    function isSigned(manifest) {        
-                        var sections = manifest.getSectionNames();
-                        while(sections.hasMoreElements()) {
-                            var sectionname = sections.nextElement();
-                            var section = manifest.getSection(sectionname);
-                            if(section != null) {
-                                var sectionKeys = section.getAttributeKeys();
-                                while (sectionKeys.hasMoreElements()) {
-                                    var element = sectionKeys.nextElement();
-                                    if (element.endsWith("-Digest") || element.endsWith("-digest")) {
-                                        return true;
-                                    }
-                                }
-                            }
-                        }
-                        return false;
-                    }
-                    var src = project.getProperty("manifest.file.temp");
-                    var srf = new java.io.File(src);
-                    try {
-                        var fis = new java.io.FileInputStream(srf);
-                        try {
-                            var isr = new java.io.InputStreamReader(fis, UTF_8);
-                            try {
-                                var manifest = new org.apache.tools.ant.taskdefs.Manifest(isr);
-                            } finally {
-                                isr.close();
-                            }
-                        } finally {
-                            fis.close();
-                        }
-                    } catch(e) {
-                        var manifest = null;
-                    }
-                    if(manifest != null) {
-                        if(isSigned(manifest)) {
-                            println("Warning: Signed JAR can not be rebased.");
-                        } else {
-                            var mainSection = manifest.getMainSection();
-                            var classPath = mainSection.getAttributeValue(ATTR_CLASS_PATH);
-                            if (classPath != null) {
-                                var classPathAttr = ATTR_CLASS_PATH;
-                            } else {
-                                classPath = mainSection.getAttributeValue(ATTR_CLASS_PATH_FX);
-                                if(classPath != null) {
-                                    var classPathAttr = ATTR_CLASS_PATH_FX;
-                                }
-                            }
-                            if(classPath != null) {
-                                var result = new java.lang.StringBuilder();
-                                var changed = false;
-                                var pathArray = classPath.split(" ");
-                                for (var i=0; i<pathArray.length; i++) {
-                                    if (result.length() > 0) {
-                                        result.append(' ');
-                                    }
-                                    var index = pathArray[i].lastIndexOf('/');
-                                    if (index >=0 && index < pathArray[i].length()-1) {
-                                        pathArray[i] = pathArray[i].substring(index+1);
-                                        changed = true;
-                                    }
-                                    result.append(pathArray[i]);
-                                }
-                                mainSection.removeAttribute(classPathAttr);
-                                mainSection.addAttributeAndCheck(new org.apache.tools.ant.taskdefs.Manifest.Attribute(classPathAttr, result.toString()));
-                                var tgt = project.getProperty("manifest.file.temp.new");
-                                var tgf = new java.io.File(tgt);
-                                try {
-                                    var fos = new java.io.FileOutputStream(tgf);
-                                    try {
-                                        var osw = new java.io.OutputStreamWriter(fos, UTF_8);
-                                        try {
-                                            var manifestOut = new java.io.PrintWriter(osw);
-                                            manifest.write(manifestOut);
-                                            manifestOut.close();
-                                        } finally {
-                                            osw.close();
-                                        }
-                                    } finally {
-                                        fos.close();
-                                    }
-                                } catch(e) {
-                                    println("Warning: problem storing rebased manifest file.");
-                                }
-                            }
-                        }
-                    }
-                ]]>
-            </script>
-            <antcall target="-move-new-manifest-if-exists">
-                <param name="move.file.from" value="${manifest.file.temp.new}"/>
-                <param name="move.file.to" value="${manifest.file.temp}"/>
-            </antcall>
-            <zip destfile="@{jarfile}" basedir="${tmpdir}" update="true"/>
-            <delete dir="${tmpdir}" quiet="true"/>
-        </sequential>
-    </macrodef>
-    
-    <target name="-new-temp-mainfest-existence">
-        <condition property="new-temp-manifest-exists">
-            <available file="${move.file.from}"/>
-        </condition>
-        <echo message="new-temp-manifest-exists = ${new-temp-manifest-exists}" level="verbose"/>
-    </target>
-    
-    <target name="-move-new-manifest-if-exists" depends="-new-temp-mainfest-existence" if="new-temp-manifest-exists">
-        <move file="${move.file.from}" tofile="${move.file.to}" failonerror="false"/>
-    </target>
-    
-    <target name="-rebase-libs-macro-call">
-        <echo message="Rebase jarfile = ${jar.file.to.rebase}" level="verbose"/>
-        <rebase-lib jarfile="${jar.file.to.rebase}"/>
-    </target>
-    
-
-    <!-- Main Deployment Target -->
-
-    <!-- Note: target "jfx-deployment" is referenced from NB 7.1+ build-impl.xml -->
-    <target name="jfx-deployment" depends="-check-jfx-deployment-launch,-do-jfx-deployment-script,-do-jfx-deployment-noscript" if="jfx-deployment-available"/>
-
-    <target name="-check-dist-lib-exists">
-        <deploy-defines/>
-        <available file="${jfx.deployment.dir}${file.separator}lib" type="dir" property="dist.lib.exists"/>
-    </target>
-    <target name="-check-jfx-deployment-jar-current-nolib" depends="-check-dist-lib-exists" unless="dist.lib.exists">
-        <uptodate property="jfx-deployment-jar-current" targetfile="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}" >
-            <srcfiles dir="${basedir}${file.separator}${build.classes.dir}" includes="**${file.separator}*"/>
-            <srcfiles dir="${basedir}${file.separator}nbproject" includes="**${file.separator}*"/>
-        </uptodate>
-    </target>
-    <target name="-check-jfx-deployment-jar-current-lib" depends="-check-dist-lib-exists" if="dist.lib.exists">
-        <uptodate property="jfx-deployment-jar-current" targetfile="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}" >
-            <srcfiles dir="${basedir}${file.separator}${build.classes.dir}" includes="**${file.separator}*"/>
-            <srcfiles dir="${jfx.deployment.dir}${file.separator}lib" includes="**${file.separator}*"/>
-            <srcfiles dir="${basedir}${file.separator}nbproject" includes="**${file.separator}*"/>
-        </uptodate>
-    </target>
-    <target name="-check-jfx-deployment-launch" depends="-check-jfx-deployment,-check-jfx-deployment-jar-current-nolib,-check-jfx-deployment-jar-current-lib">
-        <condition property="do-jfx-deployment-script">
-            <and>
-                <isset property="jfx-deployment-available"/>
-                <not><isset property="fallback.no.javascript"/></not>
-                <not><isset property="jfx-deployment-jar-current"/></not>
-            </and>
-        </condition>
-        <condition property="do-jfx-deployment-noscript">
-            <and>
-                <isset property="jfx-deployment-available"/>
-                <isset property="fallback.no.javascript"/>
-                <not><isset property="jfx-deployment-jar-current"/></not>
-            </and>
-        </condition>
-    </target>
-    <target name="-do-jfx-deployment-script" depends="-check-jfx-deployment-launch" if="do-jfx-deployment-script">
-        <antcall target="jfx-deployment-script"/>
-    </target>
-    <target name="-do-jfx-deployment-noscript" depends="-check-jfx-deployment-launch" if="do-jfx-deployment-noscript">
-        <antcall target="jfx-deployment-noscript"/>
-    </target>
-
-    <target name="jfx-deployment-script" depends="-check-jfx-deployment,-check-project,
-        -swing-api-warning,-icon-warning,
-        -set-dimensions,-reset-dimensions,-set-update-mode-background,-set-update-mode-eager,
-        -set-permissions-elevated,-reset-permissions-elevated,
-        -copy-external-preloader-jar,-copy-binary-css,
-        -deploy-app-sign-nopreloader-notemplate,
-        -deploy-app-sign-preloader-notemplate,
-        -deploy-app-sign-nopreloader-template,
-        -deploy-app-sign-preloader-template,
-        -deploy-app-sign-nopreloader-notemplate-swing,
-        -deploy-app-sign-nopreloader-template-swing,
-        -deploy-app-nosign-nopreloader-notemplate,
-        -deploy-app-nosign-preloader-notemplate,
-        -deploy-app-nosign-nopreloader-template,
-        -deploy-app-nosign-preloader-template,
-        -deploy-app-nosign-nopreloader-notemplate-swing,
-        -deploy-app-nosign-nopreloader-template-swing"
-        if="jfx-deployment-available">
-    </target>
-
-    <target name="jfx-deployment-noscript" depends="-check-jfx-deployment,-check-project,
-        -swing-api-warning,-icon-warning,
-        -set-dimensions,-reset-dimensions,-set-update-mode-background,-set-update-mode-eager,
-        -set-permissions-elevated,-reset-permissions-elevated,
-        -copy-external-preloader-jar,-copy-binary-css,
-        -fallback-deploy-app-sign-nopreloader-notemplate,
-        -fallback-deploy-app-sign-preloader-notemplate,
-        -fallback-deploy-app-sign-nopreloader-template,
-        -fallback-deploy-app-sign-preloader-template,
-        -fallback-deploy-app-sign-nopreloader-notemplate-swing,
-        -fallback-deploy-app-sign-nopreloader-template-swing,
-        -fallback-deploy-app-nosign-nopreloader-notemplate,
-        -fallback-deploy-app-nosign-preloader-notemplate,
-        -fallback-deploy-app-nosign-nopreloader-template,
-        -fallback-deploy-app-nosign-preloader-template,
-        -fallback-deploy-app-nosign-nopreloader-notemplate-swing,
-        -fallback-deploy-app-nosign-nopreloader-template-swing"
-        if="jfx-deployment-available">
-    </target>
-
-
-    <!-- Security / Signing -->
-    
-    <target name="-unavailable-signjars-task" depends="-check-jfx-deployment" unless="jfx-deployment-available">
-        <echo message="Warning: Task required to sign JAR file is missing, check the availability of JavaFX 2.0 deployment tasks. JAR files will not be signed."/>
-    </target>
-
-    <target name="-security-props-check">
-        <condition property="javafx.signed.true">
-            <istrue value="${javafx.signing.enabled}"/>
-        </condition>
-    </target>
-
-    <target name="-check-signing-possible" depends="-security-props-check,-check-jfx-deployment,-unavailable-signjars-task">
-        <condition property="javafx.signed.true+signjars.task.available">
-            <and>
-                <isset property="javafx.signed.true"/>
-                <isset property="jfx-deployment-available"/>
-            </and>
-        </condition>
-    </target>
-    
-    <target name="-javafx-init-keystore" depends="-check-signing-possible,-javafx-init-signing,-javafx-init-keystore1,-javafx-init-keystore2,-check-keystore-exists" 
-            if="javafx.signed.true+signjars.task.available" unless="javafx.signjar.keystore.exists">
-        <property name="javafx.signjar.vendor" value="CN=${application.vendor}"/>
-        <echo message="Going to create default keystore in ${javafx.signjar.keystore}"/>
-        <genkey dname="${javafx.signjar.vendor}" alias="${javafx.signjar.alias}" keystore="${javafx.signjar.keystore}"
-            storepass="${javafx.signjar.storepass}" keypass="${javafx.signjar.keypass}"/>
-    </target>
-    
-    <target name="-check-keystore-exists">
-        <available property="javafx.signjar.keystore.exists" file="${javafx.signjar.keystore}"/>
-    </target>
-
-    <target name="-javafx-init-signing">
-        <condition property="generated.key.signing">
-            <equals arg1="${javafx.signing.type}" arg2="self" trim="true"/>
-        </condition>
-    </target>
-
-    <target name="-javafx-init-keystore1" depends="-javafx-init-signing" if="generated.key.signing">
-        <property name="javafx.signjar.keystore" value="${basedir}${file.separator}build${file.separator}nb-jfx.jks" />
-        <property name="javafx.signjar.storepass" value="storepass"/>
-        <property name="javafx.signjar.keypass" value="keypass"/>
-        <property name="javafx.signjar.alias" value="nb-jfx"/>
-    </target>
-
-    <target name="-javafx-init-keystore2" depends="-javafx-init-signing" unless="generated.key.signing">
-        <property name="javafx.signjar.keystore" value="${javafx.signing.keystore}" />
-        <property name="javafx.signjar.storepass" value="${javafx.signing.keystore.password}"/>
-        <property name="javafx.signjar.keypass" value="${javafx.signing.keyalias.password}"/>
-        <property name="javafx.signjar.alias" value="${javafx.signing.keyalias}"/>
-    </target>
-
-    
-    <!-- Project Deployment Macros -->
-
-    <macrodef name="deploy-defines">
-        <sequential>
-            <basename property="jfx.deployment.jar" file="${dist.jar}"/>
-            <property name="jfx.deployment.dir" location="${dist.dir}"/>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="deploy-preprocess">
-        <sequential>
-            <delete includeEmptyDirs="true" quiet="true">
-                <fileset dir="${jfx.deployment.dir}${file.separator}lib">
-                    <exclude name="**${file.separator}*.jar"/>
-                </fileset>
-            </delete>
-        </sequential>
-    </macrodef>
-
-    <!-- fx:jar scripted call enables passing of arbitrarily long list of params and fx-version dependent behavior -->
-    <macrodef name="deploy-jar">
-        <sequential>
-            <antcall target="-pre-jfx-jar"/>
-            <echo message="javafx.ant.classpath = ${javafx.ant.classpath}" level="verbose"/>
-            <typedef name="fx_jar" classname="com.sun.javafx.tools.ant.FXJar" classpath="${javafx.ant.classpath}"/>
-            <echo message="Launching &lt;fx:jar&gt; task from ${ant-javafx.jar.location}" level="info"/>
-            <property name="pp_jar_destfile" value="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}"/>
-            <property name="pp_jar_buildclasses" value="${basedir}${file.separator}${build.classes.dir}"/>
-            <property name="pp_jar_cssbss" value="**${file.separator}*.${css-exclude-ext}"/>
-            <property name="pp_jar_dir" value="${jfx.deployment.dir}"/>
-            <property name="pp_jar_fs1" value="lib${file.separator}${javafx.preloader.jar.filename}"/>
-            <property name="pp_jar_fs2" value="lib${file.separator}*.jar"/>
-            <echo message="deploy_jar: pp_jar_destfile = ${pp_jar_destfile}" level="verbose"/>
-            <echo message="deploy_jar: pp_jar_buildclasses = ${pp_jar_buildclasses}" level="verbose"/>
-            <echo message="deploy_jar: pp_jar_cssbss = ${pp_jar_cssbss}" level="verbose"/>
-            <echo message="deploy_jar: pp_jar_dir = ${pp_jar_dir}" level="verbose"/>
-            <echo message="deploy_jar: pp_jar_fs1 = ${pp_jar_fs1}" level="verbose"/>
-            <echo message="deploy_jar: pp_jar_fs2 = ${pp_jar_fs2}" level="verbose"/>
-            <echo message="JavaScript: deploy-jar" level="verbose"/>
-            <script language="javascript">
-                <![CDATA[
-                    var S = java.io.File.separator;
-                    var JFXPAR = "javafx.param";
-                    var JFXPARN = "name";
-                    var JFXPARV = "value";
-                    var JFXLAZY = "download.mode.lazy.jar";
-                    var withpreloader = project.getProperty("app-with-preloader");
-                    var fx_ant_api_1_1 = project.getProperty("have-fx-ant-api-1.1");
-                    var fx_ant_api_1_2 = project.getProperty("have-fx-ant-api-1.2");
-                    var fx_in_swing_app = project.getProperty("fx-in-swing-app");
-
-                    // get jars with lazy download mode property set
-                    function getLazyJars() {
-                        var jars = new Array();
-                        var keys = project.getProperties().keys();
-                        while(keys.hasMoreElements()) {
-                            var pn = keys.nextElement();
-                            if(pn.substr(0,JFXLAZY.length) == JFXLAZY) {
-                                var fname = pn.substring(JFXLAZY.length+1);
-                                jars.push(fname);
-                            }
-                        }
-                        return jars.length > 0 ? jars : null;
-                    }
-                    // set download mode of dependent libraries
-                    function setDownloadMode(fsEager, fsLazy, jars) {
-                        for(i = 0; i < jars.length; i++) {
-                            fsEager.setExcludes("lib" + S + jars[i]);
-                            fsLazy.setIncludes("lib" + S + jars[i]);
-                        }
-                    }
-                    
-                    // fx:jar
-                    var jar = project.createTask("fx_jar");
-                    jar.setProject(project);
-                    var destfile = project.getProperty("pp_jar_destfile");
-                    jar.setDestfile(destfile);
-
-                    // fx:application
-                    var app = jar.createApplication();
-                    app.setProject(project);
-                    var title = project.getProperty("application.title");
-                    if(fx_in_swing_app == "true" && fx_ant_api_1_2 == "true") {
-                        var mainclass = project.getProperty("main.class");
-                        app.setToolkit("swing");
-                    } else {
-                        var mainclass = project.getProperty("javafx.main.class");
-                    }
-                    var fallback = project.getProperty("javafx.fallback.class");
-                    app.setName(title);
-                    app.setMainClass(mainclass);
-                    app.setFallbackClass(fallback);
-                    if(withpreloader == "true") {
-                        preloaderclass = project.getProperty("javafx.preloader.class");
-                        app.setPreloaderClass(preloaderclass);
-                    }
-                    // fx:param, fx:argument
-                    var keys = project.getProperties().keys();
-                    while(keys.hasMoreElements()) {
-                        var pn = keys.nextElement();
-                        if(pn.substr(0,JFXPAR.length) == JFXPAR && pn.indexOf(JFXPARN) == (pn.length()-JFXPARN.length)) {
-                            var propn = project.getProperty(pn);
-                            if(propn != null && propn.length() > 0) {
-                                var pv = pn.substr(0,pn.indexOf(JFXPARN)) + JFXPARV;
-                                var propv = project.getProperty(pv);
-                                if(propv != null && propv.length() > 0) {
-                                    var par = app.createParam();
-                                    par.setName(propn);
-                                    par.setValue(propv);
-                                } else {
-                                    if(fx_ant_api_1_1 == "true") {
-                                        var arg = app.createArgument();
-                                        arg.addText(propn);
-                                    }
-                                }
-                            }
-                        }
-                    }
-                    
-                    // fx:resources
-                    var res = jar.createResources();
-                    res.setProject(project);
-                    var pdir = project.getProperty("pp_jar_dir");
-                    if(withpreloader == "true") {
-                        var f1 = res.createFileSet();
-                        f1.setProject(project);
-                        f1.setDir(new java.io.File(pdir));
-                        var i1 = project.getProperty("pp_jar_fs1");
-                        f1.setIncludes(i1);
-                        f1.setRequiredFor("preloader");
-                        var f2 = res.createFileSet();
-                        f2.setProject(project);
-                        f2.setDir(new java.io.File(pdir));
-                        var i2a = project.getProperty("jfx.deployment.jar");
-                        var i2b = project.getProperty("pp_jar_fs2");
-                        var e2c = project.getProperty("pp_jar_fs1");
-                        f2.setIncludes(i2a);
-                        f2.setIncludes(i2b);
-                        f2.setExcludes(e2c);
-                        f2.setRequiredFor("startup");
-                        var lazyjars = getLazyJars();
-                        if(lazyjars != null) {
-                            var f3 = res.createFileSet();
-                            f3.setProject(project);
-                            f3.setDir(new java.io.File(pdir));
-                            f3.setRequiredFor("runtime");
-                            setDownloadMode(f2,f3,lazyjars);
-                        }
-                    } else {
-                        var fn = res.createFileSet();
-                        fn.setProject(project);
-                        fn.setDir(new java.io.File(pdir));
-                        var ia = project.getProperty("jfx.deployment.jar");
-                        var ib = project.getProperty("pp_jar_fs2");
-                        fn.setIncludes(ia);
-                        fn.setIncludes(ib);
-                        fn.setRequiredFor("startup");
-                        var lazyjars = getLazyJars();
-                        if(lazyjars != null) {
-                            var fn2 = res.createFileSet();
-                            fn2.setProject(project);
-                            fn2.setDir(new java.io.File(pdir));
-                            fn2.setRequiredFor("runtime");
-                            setDownloadMode(fn,fn2,lazyjars);
-                        }
-                    }
-                    
-                    // fileset to exclude *.css or *.bss
-                    var fs = jar.createFileSet();
-                    fs.setProject(project);
-                    var buildcls = project.getProperty("pp_jar_buildclasses");
-                    var exc = project.getProperty("pp_jar_cssbss");
-                    fs.setDir(new java.io.File(buildcls));
-                    fs.setExcludes(exc);
-                    
-                    // manifest
-                    var man = jar.createManifest();
-                    var a1val = project.getProperty("application.vendor");
-                    var a1 = new org.apache.tools.ant.taskdefs.Manifest.Attribute();
-                    a1.setName("Implementation-Vendor");
-                    a1.setValue(a1val);
-                    man.addConfiguredAttribute(a1);
-                    var a2val = project.getProperty("application.title");
-                    var a2 = new org.apache.tools.ant.taskdefs.Manifest.Attribute();
-                    a2.setName("Implementation-Title");
-                    a2.setValue(a2val);
-                    man.addConfiguredAttribute(a2);
-                    var a3 = new org.apache.tools.ant.taskdefs.Manifest.Attribute();
-                    a3.setName("Implementation-Version");
-                    a3.setValue("1.0");
-                    man.addConfiguredAttribute(a3);
-                    
-                    jar.perform();
-                ]]>
-            </script>
-            <antcall target="-post-jfx-jar"/>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="deploy-sign">
-        <sequential>
-            <echo message="keystore=${javafx.signjar.keystore}" level="verbose"/>
-            <echo message="storepass=${javafx.signjar.storepass}" level="verbose"/>
-            <echo message="alias=${javafx.signjar.alias}" level="verbose"/>
-            <echo message="keypass=${javafx.signjar.keypass}" level="verbose"/>
-            <signjar keystore="${javafx.signjar.keystore}"
-                storepass="${javafx.signjar.storepass}"
-                alias="${javafx.signjar.alias}"
-                keypass="${javafx.signjar.keypass}">
-                <fileset dir="${jfx.deployment.dir}">
-                    <include name="${jfx.deployment.jar}"/>
-                    <include name="lib${file.separator}*.jar"/>
-                </fileset>
-            </signjar>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="deploy-sign-preloader">
-        <sequential>
-            <echo message="keystore=${javafx.signjar.keystore}" level="verbose"/>
-            <echo message="storepass=${javafx.signjar.storepass}" level="verbose"/>
-            <echo message="alias=${javafx.signjar.alias}" level="verbose"/>
-            <echo message="keypass=${javafx.signjar.keypass}" level="verbose"/>
-            <signjar keystore="${javafx.signjar.keystore}"
-                storepass="${javafx.signjar.storepass}"
-                alias="${javafx.signjar.alias}"
-                keypass="${javafx.signjar.keypass}">
-                <fileset dir="${jfx.deployment.dir}">
-                    <include name="lib${file.separator}${javafx.preloader.jar.filename}"/>
-                </fileset>
-            </signjar>
-            <signjar keystore="${javafx.signjar.keystore}"
-                storepass="${javafx.signjar.storepass}"
-                alias="${javafx.signjar.alias}"
-                keypass="${javafx.signjar.keypass}">
-                <fileset dir="${jfx.deployment.dir}">
-                    <include name="${jfx.deployment.jar}"/>
-                    <include name="lib${file.separator}*.jar"/>
-                    <exclude name="lib${file.separator}${javafx.preloader.jar.filename}"/>
-                </fileset>
-            </signjar>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="deploy-process-template">
-        <sequential>
-            <echo message="javafx.run.htmltemplate = ${javafx.run.htmltemplate}" level="verbose"/>
-            <pathconvert property="javafx.run.htmltemplate.processed">
-                <path path="${javafx.run.htmltemplate}"/>
-                <mapper>
-                     <chainedmapper>
-                          <flattenmapper/>
-                          <globmapper from="*" to="${jfx.deployment.dir}${file.separator}*" casesensitive="no"/>
-                     </chainedmapper>
-                </mapper>
-            </pathconvert>
-            <echo message="javafx.run.htmltemplate.processed = ${javafx.run.htmltemplate.processed}" level="verbose"/>
-        </sequential>
-    </macrodef>
-
-    <!-- fx:deploy scripted call enables passing of arbitrarily long lists of params, vmoptions and callbacks and fx-version dependent behavior -->
-    <macrodef name="deploy-deploy">
-        <sequential>
-            <antcall target="-pre-jfx-deploy"/>
-            <antcall target="-call-pre-jfx-native"/>
-            <echo message="javafx.ant.classpath = ${javafx.ant.classpath}" level="verbose"/>
-            <typedef name="fx_deploy" classname="com.sun.javafx.tools.ant.DeployFXTask" classpath="${javafx.ant.classpath}"/>
-            <echo message="Launching &lt;fx:deploy&gt; task from ${ant-javafx.jar.location}" level="info"/>
-            <property name="pp_deploy_dir" value="${jfx.deployment.dir}"/>
-            <property name="pp_deploy_fs1" value="lib${file.separator}${javafx.preloader.jar.filename}"/>
-            <property name="pp_deploy_fs2" value="lib${file.separator}*.jar"/>
-            <echo message="deploy_deploy: pp_deploy_dir = ${pp_deploy_dir}" level="verbose"/>
-            <echo message="deploy_deploy: pp_deploy_fs1 = ${pp_deploy_fs1}" level="verbose"/>
-            <echo message="deploy_deploy: pp_deploy_fs2 = ${pp_deploy_fs2}" level="verbose"/>
-            <echo message="JavaScript: deploy-deploy" level="verbose"/>
-            <script language="javascript">
-                <![CDATA[
-                    function isTrue(prop) {
-                        return prop != null && 
-                           (prop.toLowerCase()=="true" || prop.toLowerCase()=="yes" || prop.toLowerCase()=="on");
-                    }                    
-                    var S = java.io.File.separator;
-                    var JFXPAR = "javafx.param";
-                    var JFXPARN = "name";
-                    var JFXPARV = "value";
-                    var JFXCALLB = "javafx.jscallback";
-                    var JFXLAZY = "download.mode.lazy.jar";
-                    var withpreloader = project.getProperty("app-with-preloader");
-                    var fx_ant_api_1_1 = project.getProperty("have-fx-ant-api-1.1");
-                    var fx_ant_api_1_2 = project.getProperty("have-fx-ant-api-1.2");
-                    var fx_in_swing_app = project.getProperty("fx-in-swing-app");
-
-                    // get jars with lazy download mode property set
-                    function getLazyJars() {
-                        var jars = new Array();
-                        var keys = project.getProperties().keys();
-                        while(keys.hasMoreElements()) {
-                            var pn = keys.nextElement();
-                            if(pn.substr(0,JFXLAZY.length) == JFXLAZY) {
-                                var fname = pn.substring(JFXLAZY.length+1);
-                                jars.push(fname);
-                            }
-                        }
-                        return jars.length > 0 ? jars : null;
-                    }
-                    // set download mode of dependent libraries
-                    function setDownloadMode(fsEager, fsLazy, jars) {
-                        for(i = 0; i < jars.length; i++) {
-                            fsEager.setExcludes("lib" + S + jars[i]);
-                            fsLazy.setIncludes("lib" + S + jars[i]);
-                        }
-                    }
-                    
-                    // fx:deploy
-                    var deploy = project.createTask("fx_deploy");
-                    deploy.setProject(project);
-                    var width = project.getProperty("javafx.width");
-                    var height = project.getProperty("javafx.height");
-                    var outdir = project.getProperty("jfx.deployment.dir");
-                    var embedJNLP = project.getProperty("javafx.deploy.embedJNLP");
-                    var updatemode = project.getProperty("update-mode");
-                    var outfile = project.getProperty("application.title");
-                    var includeDT = project.getProperty("javafx.deploy.includeDT");
-                    var offline = project.getProperty("javafx.deploy.allowoffline");
-                    deploy.setWidth(width);
-                    deploy.setHeight(height);
-                    deploy.setOutdir(outdir);
-                    deploy.setEmbedJNLP(isTrue(embedJNLP));
-                    deploy.setUpdateMode(updatemode);
-                    deploy.setOutfile(outfile);
-                    deploy.setIncludeDT(isTrue(includeDT));
-                    if(offline != null) {
-                        if(fx_ant_api_1_1 == "true") {
-                            deploy.setOfflineAllowed(isTrue(offline));
-                        } else {
-                            println("Warning: offlineAllowed not supported by this version of JavaFX SDK deployment Ant task. Please upgrade JavaFX to 2.0.2 or higher.");
-                        }
-                    }
-                    // native packaging (time consuming, thus applied in explicit build only)
-                    var nativeEnabled = project.getProperty("do.build.native.package");
-                    var nativeType = project.getProperty("javafx.native.bundling.type");
-                    var projStateRun = project.getProperty("project.state.running");
-                    var projStateDbg = project.getProperty("project.state.debugging");
-                    var projStatePrf = project.getProperty("project.state.profiling");
-                    if(isTrue(nativeEnabled) && nativeType != null && nativeType != "none") {
-                        if(!isTrue(projStateRun) && !isTrue(projStateDbg) && !isTrue(projStatePrf)) {
-                            if(fx_ant_api_1_2 == "true") {
-                                deploy.setNativeBundles(nativeType);
-                                println("Note: To create native bundles the <fx:deploy> task may require external tools. See JavaFX 2.2+ documentation for details.");
-                                println("");
-                                println("Launching <fx:deploy> in native packager mode...");
-                            } else {
-                                println("Warning: Native packaging is not supported by this version of JavaFX SDK deployment Ant task. Please upgrade to JDK 7u6 or higher.");
-                            }
-                        }
-                    }
-
-                    // fx:application
-                    var app = deploy.createApplication();
-                    app.setProject(project);
-                    var title = project.getProperty("application.title");
-                    if(fx_in_swing_app == "true" && fx_ant_api_1_2 == "true") {
-                        var mainclass = project.getProperty("main.class");
-                        app.setToolkit("swing");
-                    } else {
-                        var mainclass = project.getProperty("javafx.main.class");
-                    }
-                    var fallback = project.getProperty("javafx.fallback.class");
-                    app.setName(title);
-                    app.setMainClass(mainclass);
-                    app.setFallbackClass(fallback);
-                    if(withpreloader == "true") {
-                        preloaderclass = project.getProperty("javafx.preloader.class");
-                        app.setPreloaderClass(preloaderclass);
-                    }
-                    // fx:param, fx:argument
-                    var keys = project.getProperties().keys();
-                    while(keys.hasMoreElements()) {
-                        var pn = keys.nextElement();
-                        if(pn.substr(0,JFXPAR.length) == JFXPAR && pn.indexOf(JFXPARN) == (pn.length()-JFXPARN.length)) {
-                            var propn = project.getProperty(pn);
-                            if(propn != null && propn.length() > 0) {
-                                var pv = pn.substr(0,pn.indexOf(JFXPARN)) + JFXPARV;
-                                var propv = project.getProperty(pv);
-                                if(propv != null && propv.length() > 0) {
-                                    var par = app.createParam();
-                                    par.setName(propn);
-                                    par.setValue(propv);
-                                } else {
-                                    if(fx_ant_api_1_1 == "true") {
-                                        var arg = app.createArgument();
-                                        arg.addText(propn);
-                                    } else {
-                                        println("Warning: Unnamed parameters not supported by this version of JavaFX SDK deployment Ant tasks. Upgrade JavaFX to 2.0.2 or higher.");
-                                    }
-                                }
-                            }
-                        }
-                    }
-                    
-                    // fx:resources
-                    var res = deploy.createResources();
-                    res.setProject(project);
-                    var deploydir = project.getProperty("pp_deploy_dir");
-                    if(withpreloader == "true") {
-                        var f1 = res.createFileSet();
-                        f1.setProject(project);
-                        f1.setDir(new java.io.File(deploydir));
-                        var i1 = project.getProperty("pp_deploy_fs1");
-                        f1.setIncludes(i1);
-                        f1.setRequiredFor("preloader");
-                        var f2 = res.createFileSet();
-                        f2.setProject(project);
-                        f2.setDir(new java.io.File(deploydir));
-                        var i2a = project.getProperty("jfx.deployment.jar");
-                        var i2b = project.getProperty("pp_deploy_fs2");
-                        var e2c = project.getProperty("pp_deploy_fs1");
-                        f2.setIncludes(i2a);
-                        f2.setIncludes(i2b);
-                        f2.setExcludes(e2c);
-                        f2.setRequiredFor("startup");
-                        var lazyjars = getLazyJars();
-                        if(lazyjars != null) {
-                            var f3 = res.createFileSet();
-                            f3.setProject(project);
-                            f3.setDir(new java.io.File(deploydir));
-                            f3.setRequiredFor("runtime");
-                            setDownloadMode(f2,f3,lazyjars);
-                        }
-                    } else {
-                        var fn = res.createFileSet();
-                        fn.setProject(project);
-                        fn.setDir(new java.io.File(deploydir));
-                        var ia = project.getProperty("jfx.deployment.jar");
-                        var ib = project.getProperty("pp_deploy_fs2");
-                        fn.setIncludes(ia);
-                        fn.setIncludes(ib);
-                        fn.setRequiredFor("startup");
-                        var lazyjars = getLazyJars();
-                        if(lazyjars != null) {
-                            var fn2 = res.createFileSet();
-                            fn2.setProject(project);
-                            fn2.setDir(new java.io.File(deploydir));
-                            fn2.setRequiredFor("runtime");
-                            setDownloadMode(fn,fn2,lazyjars);
-                        }
-                    }
-                    
-                    // fx:info
-                    var info = deploy.createInfo();
-                    info.setProject(project);
-                    var vendor = project.getProperty("application.vendor");
-                    var description = project.getProperty("application.desc");
-                    info.setTitle(title); // title known from before
-                    info.setVendor(vendor);
-                    info.setDescription(description);
-                    var icon = project.getProperty("javafx.deploy.icon");
-                    if(icon != null) {
-                        if(fx_ant_api_1_1 == "true") {
-                            var iicon = info.createIcon();
-                            iicon.setHref(icon);
-                        } else {
-                            println("Warning: Icon not supported by this version of JavaFX SDK deployment Ant task. Please upgrade JavaFX to 2.0.2 or higher.");
-                        }
-                    }
-                    
-                    // fx:permissions
-                    var perm = deploy.createPermissions();
-                    perm.setProject(project);
-                    var elev = project.getProperty("permissions.elevated");
-                    perm.setElevated(isTrue(elev));
-                    
-                    // fx:preferences
-                    var pref = deploy.createPreferences();
-                    pref.setProject(project);
-                    var scut = project.getProperty("javafx.deploy.adddesktopshortcut");
-                    var instp = project.getProperty("javafx.deploy.installpermanently");
-                    var smenu = project.getProperty("javafx.deploy.addstartmenushortcut");
-                    pref.setShortcut(isTrue(scut));
-                    pref.setInstall(isTrue(instp));
-                    pref.setMenu(isTrue(smenu));
-
-                    // fx:template
-                    var templ = project.getProperty("javafx.run.htmltemplate");
-                    var templp = project.getProperty("javafx.run.htmltemplate.processed");
-                    if(templ != null && templp != null && templ.length() > 0 && templp.length() > 0) {
-                        var temp = deploy.createTemplate();
-                        temp.setProject(project);
-                        temp.setFile(new java.io.File(templ));
-                        temp.setTofile(new java.io.File(templp));
-                    }
-
-                    // fx:platform
-                    var plat = deploy.createPlatform();
-                    plat.setProject(project);
-                    var jvmargs = project.getProperty("run.jvmargs");
-                    if(jvmargs != null && jvmargs.length() > 0) {
-                        var jvmargss = jvmargs.split(" ");
-                        for(i = 0; i < jvmargss.length; i++) {
-                            if(jvmargss[i] != null && jvmargss[i].length() > 0) {
-                                var vmarg = plat.createJvmarg();
-                                vmarg.setValue(jvmargss[i]);
-                            }
-                        }
-                    }
-                    
-                    // fx:callbacks
-                    var callbs = deploy.createCallbacks();
-                    callbs.setProject(project);
-                    var keys = project.getProperties().keys();
-                    while(keys.hasMoreElements()) {
-                        var pn = keys.nextElement();
-                        if(pn.substr(0,JFXCALLB.length) == JFXCALLB) {
-                            var prop = project.getProperty(pn);
-                            if(prop != null && prop.length() > 0) {
-                                var cname = pn.substring(JFXCALLB.length+1);
-                                var cb = callbs.createCallback();
-                                cb.setProject(project);
-                                cb.setName(cname);
-                                cb.addText(prop);
-                            }
-                        }
-                    }
-                    
-                    deploy.perform();
-                ]]>
-            </script>
-            <antcall target="-post-jfx-deploy"/>
-            <antcall target="-call-post-jfx-native"/>
-        </sequential>
-    </macrodef>
-
-    <!-- JavaFX SDK 2.0.x and 2.1.x deploy task can not generate pre-FX jnlp which is needed for FX-in-Swing projects-->
-    <macrodef name="deploy-deploy-swing">
-        <sequential>
-            <antcall target="-pre-jfx-deploy"/>
-            <local name="permissions-elevated-token"/>
-            <condition property="permissions-elevated-token" value="${line.separator}    &lt;security&gt;${line.separator}        &lt;all-permissions/&gt;${line.separator}    &lt;/security&gt;" else="">
-                <isset property="permissions-elevated"/>
-            </condition>
-            <local name="offline-allowed-token"/>
-            <condition property="offline-allowed-token" value="${line.separator}        &lt;offline-allowed/&gt;" else="">
-                <isset property="offline-allowed"/>
-            </condition>
-            <local name="update-mode-background-token"/>
-            <condition property="update-mode-background-token" value="background" else="always">
-                <isset property="update-mode-background"/>
-            </condition>
-            <local name="html-template-processed-available"/>
-            <condition property="html-template-processed-available">
-                <and>
-                    <isset property="javafx.run.htmltemplate.processed"/>
-                    <not>
-                        <equals arg1="${javafx.run.htmltemplate.processed}" arg2=""/>
-                    </not>
-                </and>
-            </condition>
-            <local name="javafx.deploy.icon.basename"/>
-            <basename property="javafx.deploy.icon.basename" file="${javafx.deploy.icon}"/>
-            <local name="local-icon-filename-available"/>
-            <condition property="local-icon-filename-available">
-                <and>
-                    <isset property="icon-available"/>
-                    <isset property="javafx.deploy.icon.basename"/>
-                    <not><equals arg1="${javafx.deploy.icon.basename}" arg2=""/></not>
-                    <not><contains string="${javafx.deploy.icon.basename}" substring="$${javafx" casesensitive="false"/></not>
-                    <not><contains string="${javafx.deploy.icon}" substring="http:" casesensitive="false"/></not>
-                </and>
-            </condition>
-            <local name="icon-token"/>
-            <condition property="icon-token" value="${line.separator}        &lt;icon href=&quot;${javafx.deploy.icon.basename}&quot; kind=&quot;default&quot;/&gt;">
-                <isset property="local-icon-filename-available"/>
-            </condition>
-            <condition property="icon-token" value="${line.separator}        &lt;icon href=&quot;${javafx.deploy.icon}&quot; kind=&quot;default&quot;/&gt;" else="">
-                <isset property="icon-available"/>
-            </condition>
-            <basename property="dist.filename" file="${dist.jar}" suffix=".jar"/>
-            <length file="${dist.jar}" property="dist.jar.size" />
-            <local name="vmargs-token"/>
-            <condition property="vmargs-token" value="java-vm-args=&quot;${run.jvmargs}&quot; " else="">
-                <isset property="vmargs-available"/>
-            </condition>
-            <local name="applet-params-token"/>
-            <local name="application-args-token"/>
-            <echo message="JavaScript: deploy-deploy-swing 1" level="verbose"/>
-            <script language="javascript">
-                <![CDATA[
-                    var JFXPAR = "javafx.param";
-                    var JFXPARN = "name";
-                    var JFXPARV = "value";
-
-                    var params = "";
-                    var args = "";
-                    var keys = project.getProperties().keys();
-                    while(keys.hasMoreElements()) {
-                        var pn = keys.nextElement();
-                        if(pn.substr(0,JFXPAR.length) == JFXPAR && pn.indexOf(JFXPARN) == (pn.length()-JFXPARN.length)) {
-                            var propn = project.getProperty(pn);
-                            if(propn != null && propn.length() > 0) {
-                                var pv = pn.substr(0,pn.indexOf(JFXPARN)) + JFXPARV;
-                                var propv = project.getProperty(pv);
-                                if(propv != null && propv.length() > 0) {
-                                    params += "\n        <param name=\"" + propn + "\" value=\"" + propv + "\"/>";
-                                    args += "\n        <argument>" + propn + "=" + propv + "</argument>";
-                                } else {
-                                    params += "\n        <param name=\"" + propn + "\" value=\"\"/>";
-                                    args += "\n        <argument>" + propn + "</argument>";
-                                }
-                            }
-                        }
-                    }
-                    project.setProperty("applet-params-token", params);
-                    project.setProperty("application-args-token", args);
-                ]]>
-            </script>
-            <local name="application.desc.processed"/>
-            <condition property="application.desc.processed" value="${application.desc}" else="Swing applet embedding JavaFX components.">
-                <isset property="application.desc"/>
-            </condition>
-            <filterchain id="jnlp.template.filter">
-                <replacetokens>
-                    <token key="NAME" value="${dist.filename}"/>
-                    <token key="MAINCLASS" value="${main.class}"/>
-                    <token key="FILESIZE" value="${dist.jar.size}"/>
-                    <token key="VENDOR" value="${application.vendor}"/>
-                    <token key="TITLE" value="${application.title}"/>
-                    <token key="DESCRIPTION" value="${application.desc.processed}"/>
-                    <token key="WIDTH" value="${javafx.run.width}"/>
-                    <token key="HEIGHT" value="${javafx.run.height}"/>
-                    <token key="PERMISSIONS" value="${permissions-elevated-token}"/>
-                    <token key="OFFLINE" value="${offline-allowed-token}"/>
-                    <token key="UPDATEMODE" value="${update-mode-background-token}"/>
-                    <token key="ICON" value="${icon-token}"/>
-                    <token key="VMARGS" value="${vmargs-token}"/>
-                    <token key="PARAMETERS" value="${applet-params-token}"/>
-                    <token key="ARGUMENTS" value="${application-args-token}"/>
-                </replacetokens>
-            </filterchain>
-            <copy file="${basedir}${file.separator}nbproject${file.separator}templates${file.separator}FXSwingTemplateApplication.jnlp" 
-                    tofile="${dist.dir}${file.separator}${dist.filename}_application.jnlp" >
-                    <filterchain refid="jnlp.template.filter"/>
-            </copy>        
-            <copy file="${basedir}${file.separator}nbproject${file.separator}templates${file.separator}FXSwingTemplateApplet.jnlp" 
-                    tofile="${dist.dir}${file.separator}${dist.filename}_applet.jnlp" >
-                    <filterchain refid="jnlp.template.filter"/>
-            </copy>        
-            <copy file="${basedir}${file.separator}nbproject${file.separator}templates${file.separator}FXSwingTemplate.html" 
-                    tofile="${dist.dir}${file.separator}${dist.filename}.html" >
-                    <filterchain refid="jnlp.template.filter"/>
-            </copy>
-            <echo message="JavaScript: deploy-deploy-swing 2" level="verbose"/>
-            <script language="javascript">
-                <![CDATA[
-                    var PREF = "file:";
-                    var doCopyIcon = project.getProperty("local-icon-filename-available");
-                    if(doCopyIcon != null) {
-                        var iconProp = project.getProperty("javafx.deploy.icon");
-                        if(iconProp.indexOf(PREF) == 0) {
-                            iconProp = iconProp.slice(PREF.length);
-                        }
-                        while(iconProp.charAt(0) == "/") {
-                            iconProp = iconProp.slice(1);
-                        }
-                        var S = java.io.File.separator;
-                        var baseDir = project.getProperty("basedir");
-                        var distDir = project.getProperty("dist.dir");
-                        var copyTask = project.createTask("copy");
-                        var source = new java.io.File(iconProp);
-                        var target = new java.io.File(baseDir + S + distDir);
-                        copyTask.setFile(source);
-                        copyTask.setTodir(target);
-                        copyTask.setFlatten(true);
-                        copyTask.setFailOnError(false);
-                        copyTask.perform();
-                    }
-                    var doCopyHTMLFrom = project.getProperty("html-template-available");
-                    var doCopyHTMLTo = project.getProperty("html-template-processed-available");
-                    if(doCopyHTMLFrom != null && doCopyHTMLTo != null) {
-                        var htmlFrom = project.getProperty("javafx.run.htmltemplate");
-                        if(htmlFrom.indexOf(PREF) == 0) {
-                            htmlFrom = htmlFrom.slice(PREF.length);
-                        }
-                        while(htmlFrom.charAt(0) == "/") {
-                            htmlFrom = htmlFrom.slice(1);
-                        }
-                        var htmlTo = project.getProperty("javafx.run.htmltemplate.processed");
-                        if(htmlTo.indexOf(PREF) == 0) {
-                            htmlTo = htmlTo.slice(PREF.length);
-                        }
-                        while(htmlTo.charAt(0) == "/") {
-                            htmlTo = htmlTo.slice(1);
-                        }
-                        var copyTask = project.createTask("copy");
-                        var source = new java.io.File(htmlFrom);
-                        var target = new java.io.File(htmlTo);
-                        copyTask.setFile(source);
-                        copyTask.setTofile(target);
-                        copyTask.setFailOnError(false);
-                        copyTask.perform();
-                    }
-                ]]>
-            </script>
-            <antcall target="-post-jfx-deploy"/>
-        </sequential>
-    </macrodef>
-
-
-    <!-- Fallback Project Deployment Macros To Support At Least Partially JDKs Without JavaScript Support -->
-    
-    <macrodef name="fallback-deploy-application-def">
-        <sequential>
-            <echo message="Warning: Parameters (if any) not passed to &lt;fx:application&gt; in fallback build mode due to JDK missing JavaScript support."/>
-            <fx:application id="fxApp"
-                name="${application.title}"
-                mainClass="${javafx.main.class}"
-                fallbackClass="${javafx.fallback.class}">
-                <!-- PARAMETERS NOT PASSED IN FALLBACK -->
-            </fx:application>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="fallback-deploy-application-def-preloader">
-        <sequential>
-            <echo message="Warning: Parameters (if any) not passed to &lt;fx:application&gt; in fallback build mode due to JDK missing JavaScript support."/>
-            <fx:application id="fxApp"
-                name="${application.title}"
-                mainClass="${javafx.main.class}"
-                preloaderClass="${javafx.preloader.class}"
-                fallbackClass="${javafx.fallback.class}">
-                <!-- PARAMETERS NOT PASSED IN FALLBACK -->
-            </fx:application>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="fallback-deploy-application-def-swing">
-        <sequential>
-            <echo message="Warning: Parameters (if any) not passed to &lt;fx:application&gt; in fallback build mode due to JDK missing JavaScript support."/>
-            <fx:application id="fxApp"
-                name="${application.title}"
-                mainClass="${main.class}"
-                fallbackClass="${javafx.fallback.class}"
-                toolkit="swing">
-                <!-- PARAMETERS NOT PASSED IN FALLBACK -->
-            </fx:application>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="fallback-deploy-resources">
-        <sequential>
-            <fx:resources id="appRes">
-                <fx:fileset requiredFor="startup" dir="${jfx.deployment.dir}">
-                    <include name="${jfx.deployment.jar}"/>
-                    <include name="lib${file.separator}*.jar"/>
-                    <exclude name="lib${file.separator}${jfx.deployment.jar}"/>
-                </fx:fileset>
-            </fx:resources>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="fallback-deploy-resources-preloader">
-        <sequential>
-            <fx:resources id="appRes">
-                <fx:fileset requiredFor="preloader" dir="${jfx.deployment.dir}">
-                    <include name="lib${file.separator}${javafx.preloader.jar.filename}"/>
-                </fx:fileset>
-                <fx:fileset requiredFor="startup" dir="${jfx.deployment.dir}">
-                    <include name="${jfx.deployment.jar}"/>
-                    <include name="lib${file.separator}*.jar"/>
-                    <exclude name="lib${file.separator}${javafx.preloader.jar.filename}"/>
-                    <exclude name="lib${file.separator}${jfx.deployment.jar}"/>
-                </fx:fileset>
-            </fx:resources>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="fallback-deploy-jar">
-        <sequential>
-            <antcall target="-pre-jfx-jar"/>
-            <fx:jar destfile="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}">
-                <fx:application refid="fxApp"/>
-                <fx:resources refid="appRes"/>
-                <fileset dir="${build.classes.dir}">
-                    <exclude name="**${file.separator}*.${css-exclude-ext}"/>
-                </fileset>
-                <manifest>
-                    <attribute name="Implementation-Vendor" value="${application.vendor}"/>
-                    <attribute name="Implementation-Title" value="${application.title}"/>
-                    <attribute name="Implementation-Version" value="1.0"/>
-                </manifest>
-            </fx:jar>
-            <antcall target="-post-jfx-jar"/>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="fallback-deploy-deploy">
-        <sequential>
-            <antcall target="-pre-jfx-deploy"/>
-            <echo message="Warning: JVM Arguments and Callbacks (if any) not passed to &lt;fx:deploy&gt; in fallback build mode due to JDK missing JavaScript support."/>
-            <fx:deploy width="${javafx.width}" height="${javafx.height}"
-                      outdir="${jfx.deployment.dir}" embedjnlp="true" updatemode="${update-mode}"
-                      outfile="${application.title}" includeDT="${javafx.deploy.includeDT}">
-                <fx:application refid="fxApp"/>
-                <fx:resources refid="appRes"/>
-                <fx:info title="${application.title}" vendor="${application.vendor}"/>
-                <fx:permissions elevated="${permissions.elevated}"/>
-                <fx:preferences shortcut="${javafx.deploy.adddesktopshortcut}" install="${javafx.deploy.installpermanently}" menu="${javafx.deploy.addstartmenushortcut}"/>
-                <!-- PLATFORM NOT PASSED IN FALLBACK -->
-                <!-- CALLBACKS NOT PASSED IN FALLBACK -->
-            </fx:deploy>
-            <antcall target="-post-jfx-deploy"/>
-        </sequential>
-    </macrodef>
-
-    <macrodef name="fallback-deploy-deploy-template">
-        <sequential>
-            <antcall target="-pre-jfx-deploy"/>
-            <echo message="Warning: JVM Arguments and Callbacks (if any) not passed to &lt;fx:deploy&gt; in fallback build mode due to JDK missing JavaScript support."/>
-            <deploy-process-template/>
-            <fx:deploy width="${javafx.width}" height="${javafx.height}"
-                      outdir="${jfx.deployment.dir}" embedjnlp="true" updatemode="${update-mode}"
-                      outfile="${application.title}" includeDT="${javafx.deploy.includeDT}">
-                <fx:application refid="fxApp"/>
-                <fx:resources refid="appRes"/>
-                <fx:info title="${application.title}" vendor="${application.vendor}"/>
-                <fx:permissions elevated="${permissions.elevated}"/>
-                <fx:preferences shortcut="${javafx.deploy.adddesktopshortcut}" install="${javafx.deploy.installpermanently}" menu="${javafx.deploy.addstartmenushortcut}"/>
-                <fx:template file="${javafx.run.htmltemplate}" tofile="${javafx.run.htmltemplate.processed}"/>
-                <!-- PLATFORM NOT PASSED IN FALLBACK -->
-                <!-- CALLBACKS NOT PASSED IN FALLBACK -->
-            </fx:deploy>
-            <antcall target="-post-jfx-deploy"/>
-        </sequential>
-    </macrodef>
-
-
-    <!-- Project Deployment Targets -->
-
-    <target name="-check-sign" depends="-check-project,-javafx-init-keystore" if="javafx.signed.true+signjars.task.available">
-        <condition property="sign-nopreloader-notemplate">
-            <and>
-                <isset property="app-without-preloader"/>
-                <not><isset property="html-template-available"/></not>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="sign-preloader-notemplate">
-            <and>
-                <isset property="app-with-preloader"/>
-                <not><isset property="html-template-available"/></not>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="sign-nopreloader-template">
-            <and>
-                <isset property="app-without-preloader"/>
-                <isset property="html-template-available"/>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="sign-preloader-template">
-            <and>
-                <isset property="app-with-preloader"/>
-                <isset property="html-template-available"/>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="sign-nopreloader-notemplate-swing">
-            <and>
-                <isset property="app-without-preloader"/>
-                <not><isset property="html-template-available"/></not>
-                <isset property="fx-in-swing-app-workaround"/>
-            </and>
-        </condition>
-        <condition property="sign-nopreloader-template-swing">
-            <and>
-                <isset property="app-without-preloader"/>
-                <isset property="html-template-available"/>
-                <isset property="fx-in-swing-app-workaround"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-check-nosign" depends="-check-project">
-        <condition property="nosign-nopreloader-notemplate">
-            <and>
-                <isset property="app-without-preloader"/>
-                <not><isset property="html-template-available"/></not>
-                <not><isset property="javafx.signed.true"/></not>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="nosign-preloader-notemplate">
-            <and>
-                <isset property="app-with-preloader"/>
-                <not><isset property="html-template-available"/></not>
-                <not><isset property="javafx.signed.true"/></not>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="nosign-nopreloader-template">
-            <and>
-                <isset property="app-without-preloader"/>
-                <isset property="html-template-available"/>
-                <not><isset property="javafx.signed.true"/></not>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="nosign-preloader-template">
-            <and>
-                <isset property="app-with-preloader"/>
-                <isset property="html-template-available"/>
-                <not><isset property="javafx.signed.true"/></not>
-                <not><isset property="fx-in-swing-app-workaround"/></not>
-            </and>
-        </condition>
-        <condition property="nosign-nopreloader-notemplate-swing">
-            <and>
-                <isset property="app-without-preloader"/>
-                <not><isset property="html-template-available"/></not>
-                <not><isset property="javafx.signed.true"/></not>
-                <isset property="fx-in-swing-app-workaround"/>
-            </and>
-        </condition>
-        <condition property="nosign-nopreloader-template-swing">
-            <and>
-                <isset property="app-without-preloader"/>
-                <isset property="html-template-available"/>
-                <not><isset property="javafx.signed.true"/></not>
-                <isset property="fx-in-swing-app-workaround"/>
-            </and>
-        </condition>
-    </target>
-
-
-    <!-- WITH SIGNING -->
-
-    <!-- project without preloader -->
-    <!-- no html template -->
-    <target name="-deploy-app-sign-nopreloader-notemplate" depends="-check-sign" if="sign-nopreloader-notemplate" unless="preloader-app">
-        <echo message="-deploy-app-sign-nopreloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-sign/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project with preloader -->
-    <!-- no html template -->
-    <target name="-deploy-app-sign-preloader-notemplate" depends="-check-sign" if="sign-preloader-notemplate" unless="preloader-app">
-        <echo message="-deploy-app-sign-preloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-sign-preloader/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project without preloader -->
-    <!-- html template -->
-    <target name="-deploy-app-sign-nopreloader-template" depends="-check-sign" if="sign-nopreloader-template" unless="preloader-app">
-        <echo message="-deploy-app-sign-nopreloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-sign/>
-        <deploy-process-template/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project with preloader -->
-    <!-- html template -->
-    <target name="-deploy-app-sign-preloader-template" depends="-check-sign" if="sign-preloader-template" unless="preloader-app">
-        <echo message="-deploy-app-sign-preloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-sign-preloader/>
-        <deploy-process-template/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project without preloader -->
-    <!-- no html template -->
-    <!-- FX in Swing app -->
-    <target name="-deploy-app-sign-nopreloader-notemplate-swing" depends="-check-sign" if="sign-nopreloader-notemplate-swing" unless="preloader-app-no-workaround">
-        <echo message="-deploy-app-sign-nopreloader-notemplate-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-sign/>
-        <deploy-deploy-swing/>
-    </target>
-
-    <!-- project without preloader -->
-    <!-- html template -->
-    <!-- FX in Swing app -->
-    <target name="-deploy-app-sign-nopreloader-template-swing" depends="-check-sign" if="sign-nopreloader-template-swing" unless="preloader-app-no-workaround">
-        <echo message="-deploy-app-sign-nopreloader-template-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-sign/>
-        <deploy-process-template/>
-        <deploy-deploy-swing/>
-    </target>
-
-
-    <!-- NO SIGNING -->
-
-    <!-- project without preloader -->
-    <!-- no html template -->
-    <target name="-deploy-app-nosign-nopreloader-notemplate" depends="-check-nosign" if="nosign-nopreloader-notemplate" unless="preloader-app">
-        <echo message="-deploy-app-nosign-nopreloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project with preloader -->
-    <!-- no html template -->
-    <target name="-deploy-app-nosign-preloader-notemplate" depends="-check-nosign" if="nosign-preloader-notemplate" unless="preloader-app">
-        <echo message="-deploy-app-nosign-preloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project without preloader -->
-    <!-- html template -->
-    <target name="-deploy-app-nosign-nopreloader-template" depends="-check-nosign" if="nosign-nopreloader-template" unless="preloader-app">
-        <echo message="-deploy-app-nosign-nopreloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-process-template/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project with preloader -->
-    <!-- html template -->
-    <target name="-deploy-app-nosign-preloader-template" depends="-check-nosign" if="nosign-preloader-template" unless="preloader-app">
-        <echo message="-deploy-app-nosign-preloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-process-template/>
-        <deploy-deploy/>
-    </target>
-
-    <!-- project without preloader -->
-    <!-- no html template -->
-    <!-- FX in Swing app -->
-    <target name="-deploy-app-nosign-nopreloader-notemplate-swing" depends="-check-nosign" if="nosign-nopreloader-notemplate-swing" unless="preloader-app-no-workaround">
-        <echo message="-deploy-app-nosign-nopreloader-notemplate-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-deploy-swing/>
-    </target>
-
-    <!-- project without preloader -->
-    <!-- html template -->
-    <!-- FX in Swing app -->
-    <target name="-deploy-app-nosign-nopreloader-template-swing" depends="-check-nosign" if="nosign-nopreloader-template-swing" unless="preloader-app-no-workaround">
-        <echo message="-deploy-app-nosign-nopreloader-template-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <deploy-jar/>
-        <deploy-process-template/>
-        <deploy-deploy-swing/>
-    </target>
-
-
-    <!-- FALLBACK (NO JAVASCRIPT) TARGETS WITH SIGNING -->
-
-    <target name="-check-fallback-sign-deploy-swing-possible" depends="-check-sign">
-        <local name="fail-deploy-swing-possible"/>
-        <condition property="fail-deploy-swing-possible">
-            <and>
-                <or>
-                    <isset property="sign-nopreloader-notemplate-swing"/>
-                    <isset property="sign-nopreloader-template-swing"/>
-                </or>
-                <not><isset property="have-fx-ant-api-1.2"/></not>
-            </and>
-        </condition>
-        <fail message="Error: JavaFX SDK version 2.2 or newer is needed to deploy FX-in-Swing on JDK without JavaScript support." 
-              if="fail-deploy-swing-possible"/>
-    </target>
-    
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK no html template -->
-    <target name="-fallback-deploy-app-sign-nopreloader-notemplate" depends="-check-sign" if="sign-nopreloader-notemplate" unless="preloader-app">
-        <echo message="-fallback-deploy-app-sign-nopreloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <deploy-sign/>
-        <fallback-deploy-deploy/>
-    </target>
-
-    <!-- FALLBACK project with preloader -->
-    <!-- FALLBACK no html template -->
-    <target name="-fallback-deploy-app-sign-preloader-notemplate" depends="-check-sign" if="sign-preloader-notemplate" unless="preloader-app">
-        <echo message="-fallback-deploy-app-sign-preloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-preloader/>
-        <fallback-deploy-resources-preloader/>
-        <fallback-deploy-jar/>
-        <deploy-sign-preloader/>
-        <fallback-deploy-deploy/>
-    </target>
-
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK html template -->
-    <target name="-fallback-deploy-app-sign-nopreloader-template" depends="-check-sign" if="sign-nopreloader-template" unless="preloader-app">
-        <echo message="-fallback-deploy-app-sign-nopreloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <deploy-sign/>
-        <fallback-deploy-deploy-template/>
-    </target>
-
-    <!-- FALLBACK project with preloader -->
-    <!-- FALLBACK html template -->
-    <target name="-fallback-deploy-app-sign-preloader-template" depends="-check-sign" if="sign-preloader-template" unless="preloader-app">
-        <echo message="-fallback-deploy-app-sign-preloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-preloader/>
-        <fallback-deploy-resources-preloader/>
-        <fallback-deploy-jar/>
-        <deploy-sign-preloader/>
-        <fallback-deploy-deploy-template/>
-    </target>
-
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK no html template -->
-    <!-- FALLBACK FX in Swing app -->
-    <target name="-fallback-deploy-app-sign-nopreloader-notemplate-swing" depends="-check-fallback-sign-deploy-swing-possible" if="sign-nopreloader-notemplate-swing" unless="preloader-app-no-workaround">
-        <echo message="-fallback-deploy-app-sign-nopreloader-notemplate-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-swing/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <deploy-sign/>
-        <fallback-deploy-deploy/>
-    </target>
-
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK html template -->
-    <!-- FALLBACK FX in Swing app -->
-    <target name="-fallback-deploy-app-sign-nopreloader-template-swing" depends="-check-fallback-sign-deploy-swing-possible" if="sign-nopreloader-template-swing" unless="preloader-app-no-workaround">
-        <echo message="-fallback-deploy-app-sign-nopreloader-template-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-swing/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <deploy-sign/>
-        <fallback-deploy-deploy-template/>
-    </target>
-
-
-    <!-- FALLBACK (NO JAVASCRIPT) TARGETS NO SIGNING -->
-
-    <target name="-check-fallback-nosign-deploy-swing-possible" depends="-check-nosign">
-        <local name="fail-deploy-swing-possible"/>
-        <condition property="fail-deploy-swing-possible">
-            <and>
-                <or>
-                    <isset property="nosign-nopreloader-notemplate-swing"/>
-                    <isset property="nosign-nopreloader-template-swing"/>
-                </or>
-                <not><isset property="have-fx-ant-api-1.2"/></not>
-            </and>
-        </condition>
-        <fail message="Error: JavaFX SDK version 2.2 or newer is needed to deploy FX-in-Swing on JDK without JavaScript support." 
-              if="fail-deploy-swing-possible"/>
-    </target>
-
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK no html template -->
-    <target name="-fallback-deploy-app-nosign-nopreloader-notemplate" depends="-check-nosign" if="nosign-nopreloader-notemplate" unless="preloader-app">
-        <echo message="-fallback-deploy-app-nosign-nopreloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <fallback-deploy-deploy/>
-    </target>
-
-    <!-- FALLBACK project with preloader -->
-    <!-- FALLBACK no html template -->
-    <target name="-fallback-deploy-app-nosign-preloader-notemplate" depends="-check-nosign" if="nosign-preloader-notemplate" unless="preloader-app">
-        <echo message="-fallback-deploy-app-nosign-preloader-notemplate" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-preloader/>
-        <fallback-deploy-resources-preloader/>
-        <fallback-deploy-jar/>
-        <fallback-deploy-deploy/>
-    </target>
-
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK html template -->
-    <target name="-fallback-deploy-app-nosign-nopreloader-template" depends="-check-nosign" if="nosign-nopreloader-template" unless="preloader-app">
-        <echo message="-fallback-deploy-app-nosign-nopreloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <fallback-deploy-deploy-template/>
-    </target>
-
-    <!-- FALLBACK project with preloader -->
-    <!-- FALLBACK html template -->
-    <target name="-fallback-deploy-app-nosign-preloader-template" depends="-check-nosign" if="nosign-preloader-template" unless="preloader-app">
-        <echo message="-fallback-deploy-app-nosign-preloader-template" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-preloader/>
-        <fallback-deploy-resources-preloader/>
-        <fallback-deploy-jar/>
-        <fallback-deploy-deploy-template/>
-    </target>
-
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK no html template -->
-    <!-- FALLBACK FX in Swing app -->
-    <target name="-fallback-deploy-app-nosign-nopreloader-notemplate-swing" depends="-check-fallback-nosign-deploy-swing-possible" if="nosign-nopreloader-notemplate-swing" unless="preloader-app-no-workaround">
-        <echo message="-fallback-deploy-app-nosign-nopreloader-notemplate-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-swing/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <fallback-deploy-deploy/>
-    </target>
-
-    <!-- FALLBACK project without preloader -->
-    <!-- FALLBACK html template -->
-    <!-- FALLBACK FX in Swing app -->
-    <target name="-fallback-deploy-app-nosign-nopreloader-template-swing" depends="-check-fallback-nosign-deploy-swing-possible" if="nosign-nopreloader-template-swing" unless="preloader-app-no-workaround">
-        <echo message="-fallback-deploy-app-nosign-nopreloader-template-swing" level="verbose"/>
-        <deploy-defines/>
-        <deploy-preprocess/>
-        <fallback-deploy-application-def-swing/>
-        <fallback-deploy-resources/>
-        <fallback-deploy-jar/>
-        <fallback-deploy-deploy-template/>
-    </target>
-
-
-    <!-- Project Build Targets -->
-
-    <target name="jfx-build" depends="-jfx-do-compile, -jfx-do-jar, -jfx-do-post-jar"/>
-    <target name="jfx-build-noscript" depends="-set-fallback-no-javascript, -jfx-do-compile, -jfx-do-jar, -jfx-do-post-jar"/>
-    
-    <target name="jfx-rebuild" depends="clean, -jfx-do-compile, -jfx-do-jar, -jfx-do-post-jar"/>
-    <target name="jfx-rebuild-noscript" depends="-set-fallback-no-javascript, clean, -jfx-do-compile, -jfx-do-jar, -jfx-do-post-jar"/>
-
-    <target name="jfx-build-native" depends="-set-do-build-native-package, -check-ant-jre-supports-native-packaging, -check-native-packager-external-tools, jfx-rebuild"/>
-    <target name="jfx-build-native-noscript" depends="-set-do-build-native-package, -check-ant-jre-supports-native-packaging, -check-native-packager-external-tools, jfx-rebuild-noscript"/>
-
-    <target name="-check-do-jar">
-        <condition property="do-jar-false">
-            <and>
-                <isset property="do.jar"/>
-                <equals arg1="${do.jar}" arg2="false"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-set-fallback-no-javascript">
-        <property name="fallback.no.javascript" value="true"/>
-        <echo message="Warning: Using fallback build infrastructure due to default JDK missing JavaScript support."/>
-    </target>
-    <target name="-jfx-do-compile" depends="-check-do-jar" if="do-jar-false">
-        <antcall target="compile"/>
-    </target>
-    <target name="-jfx-do-jar" depends="-check-do-jar" unless="do-jar-false">
-        <antcall target="jar"/>
-    </target>
-    <target name="-jfx-do-post-jar" depends="-init-check,-check-project" if="preloader-app">
-        <!-- Preloaders are created using SE copylibs task that creates readme file relevant for SE only -->
-        <delete file="${basedir}${file.separator}${dist.dir}${file.separator}README.TXT"/>
-    </target>
-    
-    <target name="-set-do-build-native-package">
-        <property name="do.build.native.package" value="true"/>
-        <echo message="do.build.native.package = ${do.build.native.package}" level="verbose"/>
-    </target>
-    <target name="-check-ant-jre-supports-native-packaging" depends="-check-ant-jre-version">
-        <fail message="Error:${line.separator}JavaFX native packager requires NetBeans to run on JDK 1.7u6 or later !" if="have-ant-jre-pre7u6"/>
-    </target>
-    
-    <target name="-call-pre-jfx-native" if="do.build.native.package">
-        <antcall target="-pre-jfx-native"/>
-    </target>
-    <target name="-call-post-jfx-native" if="do.build.native.package">
-        <antcall target="-post-jfx-native"/>
-    </target>
-
-    <target name="-check-native-bundling-type" depends="-check-operating-system" if="do.build.native.package">
-        <condition property="need.Inno.presence">
-            <and>
-                <isset property="running.on.windows"/>
-                <isset property="javafx.native.bundling.type"/>
-                <or>
-                    <equals arg1="${javafx.native.bundling.type}" arg2="all" casesensitive="false"/>
-                    <equals arg1="${javafx.native.bundling.type}" arg2="installer" casesensitive="false"/>
-                </or>
-            </and>
-        </condition>
-        <condition property="need.WiX.presence">
-            <and>
-                <isset property="running.on.windows"/>
-                <isset property="javafx.native.bundling.type"/>
-                <or>
-                    <equals arg1="${javafx.native.bundling.type}" arg2="all" casesensitive="false"/>
-                    <equals arg1="${javafx.native.bundling.type}" arg2="installer" casesensitive="false"/>
-                </or>
-            </and>
-        </condition>
-        <echo message="need.Inno.presence:${need.Inno.presence}" level="verbose"/>
-        <echo message="need.WiX.presence:${need.WiX.presence}" level="verbose"/>
-    </target>
-    <target name="-check-Inno-presence" depends="-check-native-bundling-type" if="need.Inno.presence">
-        <local name="exec-output"/>
-        <local name="exec-error"/>
-        <local name="exec-result"/>
-        <exec executable="iscc" outputproperty="exec-output" failifexecutionfails="false" errorproperty="exec-error" resultproperty="exec-result"/>
-        <echo message="exec-output:${exec-output}" level="verbose"/>
-        <echo message="exec-error:${exec-error}" level="verbose"/>
-        <echo message="exec-result:${exec-result}" level="verbose"/>
-        <condition property="missing.Inno">
-            <not><and>
-                <contains string="${exec-output}" substring="Inno Setup"/>
-                <not><contains string="${exec-output}" substring="Inno Setup 1"/></not>
-                <not><contains string="${exec-output}" substring="Inno Setup 2"/></not>
-                <not><contains string="${exec-output}" substring="Inno Setup 3"/></not>
-                <not><contains string="${exec-output}" substring="Inno Setup 4"/></not>
-            </and></not>
-        </condition>
-    </target>
-    <target name="-check-WiX-presence" depends="-check-native-bundling-type" if="need.WiX.presence">
-        <local name="exec-output"/>
-        <local name="exec-error"/>
-        <local name="exec-result"/>
-        <exec executable="candle" outputproperty="exec-output" failifexecutionfails="false" errorproperty="exec-error" resultproperty="exec-result">
-            <arg value="-?"/>
-        </exec>
-        <echo message="exec-output:${exec-output}" level="verbose"/>
-        <echo message="exec-error:${exec-error}" level="verbose"/>
-        <echo message="exec-result:${exec-result}" level="verbose"/>
-        <condition property="missing.WiX">
-            <not><and>
-                <contains string="${exec-output}" substring="Windows Installer Xml Compiler version"/>
-                <not><contains string="${exec-output}" substring="Windows Installer Xml Compiler version 1"/></not>
-                <not><contains string="${exec-output}" substring="Windows Installer Xml Compiler version 2"/></not>
-            </and></not>
-        </condition>
-    </target>
-    <target name="-check-native-packager-external-tools" depends="-check-Inno-presence, -check-WiX-presence">
-        <property name="missing.Inno.message" value="JavaFX native packager requires external Inno Setup 5+ tools installed and included on PATH. See http://www.jrsoftware.org/"/>
-        <property name="missing.WiX.message" value="JavaFX native packager requires external WiX 3.0+ tools installed and included on PATH. See http://wix.sourceforge.net/"/>
-        <condition property="missing.Inno.WiX">
-            <and>
-                <isset property="missing.Inno"/>
-                <isset property="missing.WiX"/>
-            </and>
-        </condition>
-        <fail message="Error:${line.separator}${missing.Inno.message}${line.separator}${missing.WiX.message}" if="missing.Inno.WiX"/>
-        <fail message="Error:${line.separator}${missing.Inno.message}" if="missing.Inno"/>
-        <fail message="Error:${line.separator}${missing.WiX.message}" if="missing.WiX"/>
-    </target>
-
-    <!-- Project Run Support -->
-
-    <target name="-warn-of-preloader" depends="-check-project" if="preloader-app-no-workaround">
-        <fail message="Error:${line.separator}JavaFX 2 Preloader Project can not be executed directly.${line.separator}Please execute instead a JavaFX Application that uses the Preloader."/>
-    </target>
-    
-    <target name="-mark-project-state-running">
-        <property name="project.state.running" value="true"/>
-        <echo message="project.state.running = ${project.state.running}" level="verbose"/>
-    </target>
-    <target name="-mark-project-state-debugging">
-        <property name="project.state.debugging" value="true"/>
-        <echo message="project.state.debugging = ${project.state.debugging}" level="verbose"/>
-    </target>
-    <target name="-mark-project-state-profiling">
-        <property name="project.state.profiling" value="true"/>
-        <echo message="project.state.profiling = ${project.state.profiling}" level="verbose"/>
-    </target>
-    <target name="-mark-project-needs-jnlp">
-        <property name="project.needs.jnlp" value="true"/>
-        <echo message="project.needs.jnlp = ${project.needs.jnlp}" level="verbose"/>
-    </target>
-    
-    <!-- set property javafx.disable.concurrent.runs=true to disable runs from temporary directory -->
-    <target name="-check-concurrent-runs">
-        <condition property="disable-concurrent-runs">
-            <and>
-                <isset property="javafx.disable.concurrent.runs"/>
-                <equals arg1="${javafx.disable.concurrent.runs}" arg2="true" trim="true"/>
-            </and>
-        </condition>
-        <condition property="temp.run.jar" value="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}">
-            <isset property="disable-concurrent-runs"/>
-        </condition>
-        <condition property="temp.run.jnlp" value="${jfx.deployment.jnlp}">
-            <isset property="disable-concurrent-runs"/>
-        </condition>
-        <condition property="temp.run.html" value="${jfx.deployment.html}">
-            <isset property="disable-concurrent-runs"/>
-        </condition>
-    </target>
-    <target name="-create-temp-run-dir" depends="-check-concurrent-runs" unless="disable-concurrent-runs">
-        <echo message="Creating temp run dir" level="verbose"/>
-        <tempfile property="temp.run.dir" destDir="${basedir}${file.separator}${dist.dir}${file.separator}" prefix="run"/>
-        <echo message="temp.run.dir = ${temp.run.dir}" level="verbose"/>
-        <copy todir="${temp.run.dir}" includeemptydirs="true" overwrite="true">
-            <fileset dir="${basedir}${file.separator}${dist.dir}">
-                <exclude name="**${file.separator}bundles${file.separator}**"/>
-                <exclude name="**${file.separator}run*${file.separator}**"/>
-            </fileset>
-        </copy>        
-        <property name="temp.run.jar" value="${temp.run.dir}${file.separator}${jfx.deployment.jar}"/>
-        <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
-        <property name="temp.run.jnlp" value="${temp.run.dir}${file.separator}${jfx.deployment.base}.jnlp"/>
-        <property name="temp.run.html" value="${temp.run.dir}${file.separator}${jfx.deployment.base}.html"/>
-    </target>
-    <target name="-remove-temp-run-dir" if="temp.run.dir">
-        <echo message="Removing temp run dir" level="verbose"/>
-        <delete dir="${temp.run.dir}" quiet="true" failonerror="false"/>
-    </target>
-    <target depends="init,compile,jar,-create-temp-run-dir" description="Run JavaFX project standalone." name="jfx-project-run">
-        <echo message="Executing ${main.class} from ${temp.run.jar} using platform ${platform.java}"/>
-        <property name="run.jvmargs" value=""/>
-        <property name="run.jvmargs.ide" value=""/>        
-        <java classname="${main.class}" dir="${work.dir}" fork="true" jvm="${platform.java}">
-            <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-            <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
-            <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
-            <jvmarg line="${run.jvmargs}"/>
-            <jvmarg line="${run.jvmargs.ide}"/>
-            <classpath>
-                <path path="${temp.run.jar}:${javac.classpath}"/>
-            </classpath>
-            <arg line="${application.args}"/>
-            <syspropertyset>
-                <propertyref prefix="run-sys-prop."/>
-                <mapper from="run-sys-prop.*" to="*" type="glob"/>
-            </syspropertyset>
-        </java>
-        <antcall target="-remove-temp-run-dir"/>
-    </target>
-
-
-    <!-- Running/Debugging/Profiling Standalone -->
-
-    <target name="jfxsa-run" depends="-mark-project-state-running,-clean-if-config-changed,-check-jfx-runtime,-warn-of-preloader,jfx-project-run"/>
-    <target name="jfxsa-run-noscript" depends="-set-fallback-no-javascript, jfxsa-run"/>
-
-    <target name="jfxsa-debug" depends="-mark-project-state-debugging,-clean-if-config-changed,jar,-check-jfx-runtime,-warn-of-preloader,debug"/>
-    <target name="jfxsa-debug-noscript" depends="-set-fallback-no-javascript, jfxsa-debug"/>
-    
-    <target name="jfxsa-profile" depends="-mark-project-state-profiling,-check-jfx-runtime,-warn-of-preloader,profile"/>
-    <target name="jfxsa-profile-noscript" depends="-set-fallback-no-javascript, jfxsa-profile"/>
-
-    <target name="-check-clean-if-config-changed" depends="-init-project">
-        <deploy-defines/>
-        <uptodate property="jfx.deployment.jar.newer.than.nbproject" targetfile="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}" >
-            <srcfiles dir="${basedir}${file.separator}nbproject" includes="**${file.separator}*"/>
-        </uptodate>
-        <echo message="jfx.deployment.jar.newer.than.nbproject = ${jfx.deployment.jar.newer.than.nbproject}" level="verbose"/>
-        <available file="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}" type="file" property="jfx.deployment.jar.exists"/>
-        <condition property="request.clean.due.to.config.change">
-            <and>
-                <isset property="jfx.deployment.jar.exists"/>
-                <not><isset property="jfx.deployment.jar.newer.than.nbproject"/></not>
-            </and>
-        </condition>
-    </target>
-    <target name="-clean-if-config-changed" depends="-check-clean-if-config-changed" if="request.clean.due.to.config.change">
-        <echo message="Config change detected. Invoking clean." level="verbose"/>
-        <antcall target="clean"/>
-    </target>
-
-
-    <!-- Shared Debugging init -->
-
-    <target name="-init-debug-args">
-        <property name="version-output" value="java version &quot;${ant.java.version}"/>
-        <condition property="have-jdk-older-than-1.4">
-            <or>
-                <contains string="${version-output}" substring="java version &quot;1.0"/>
-                <contains string="${version-output}" substring="java version &quot;1.1"/>
-                <contains string="${version-output}" substring="java version &quot;1.2"/>
-                <contains string="${version-output}" substring="java version &quot;1.3"/>
-            </or>
-        </condition>
-        <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
-            <istrue value="${have-jdk-older-than-1.4}"/>
-        </condition>
-        <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
-            <os family="windows"/>
-        </condition>
-        <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
-            <isset property="debug.transport"/>
-        </condition>
-    </target>
-
-
-    <!-- Running/Debugging/Profiling as WebStart -->
-    
-    <target name="-check-jnlp-file-fx" depends="-swing-api-check" unless="fx-in-swing-app-workaround">
-        <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
-        <property name="jfx.deployment.jnlp" location="${jfx.deployment.dir}${file.separator}${jfx.deployment.base}.jnlp"/>
-    </target>
-    <target name="-check-jnlp-file-swing" depends="-swing-api-check" if="fx-in-swing-app-workaround">
-        <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
-        <property name="jfx.deployment.jnlp" location="${jfx.deployment.dir}${file.separator}${jfx.deployment.base}_application.jnlp"/>
-    </target>
-    <target name="-check-jnlp-file" depends="-check-jnlp-file-fx,-check-jnlp-file-swing">
-        <condition property="jnlp-file-exists">
-            <available file="${jfx.deployment.jnlp}"/>
-        </condition>
-        <condition property="jnlp-file-exists+netbeans.home">
-            <and>
-                <isset property="jnlp-file-exists"/>
-                <isset property="netbeans.home"/>
-            </and>
-        </condition>
-    </target>
-
-    <target name="-resolve-jnlp-file" depends="-check-jnlp-file" unless="jnlp-file-exists">
-        <antcall target="jfx-deployment"/>
-        <antcall target="-check-jnlp-file"/>
-    </target>
-
-    <!-- set property javafx.enable.concurrent.external.runs=true to enable multiple runs of the same WebStart or Run-in-Browser project -->
-    <target name="-check-concurrent-jnlp-runs" depends="-resolve-jnlp-file">
-        <condition property="disable-concurrent-runs">
-            <not>
-                <and>
-                    <isset property="javafx.enable.concurrent.external.runs"/>
-                    <equals arg1="${javafx.enable.concurrent.external.runs}" arg2="true" trim="true"/>
-                </and>
-            </not>
-        </condition>
-        <condition property="temp.run.jnlp" value="${jfx.deployment.jnlp}">
-            <isset property="disable-concurrent-runs"/>
-        </condition>
-    </target>
-    <target name="-warn-concurrent-jnlp-runs" unless="disable-concurrent-runs">
-        <echo message="Note: Concurrent Run as WebStart enabled.${line.separator}Temporary directory ${temp.run.dir}${line.separator}will remain unused when WebStart execution has finished. Use project Clean to delete unused directories."/>
-    </target>
-
-    <target name="jfxws-run" if="jnlp-file-exists" depends="-mark-project-state-running,-clean-if-config-changed,-mark-project-needs-jnlp,-check-jdk-7u4or5-mac,jar,
-            -check-jfx-webstart,-resolve-jnlp-file,-check-jfx-runtime,-check-concurrent-jnlp-runs,-create-temp-run-dir" 
-            description="Start JavaFX javaws execution">
-        <echo message="Executing ${temp.run.jnlp} using ${active.webstart.executable}"/>
-        <exec executable="${active.webstart.executable}">
-            <arg file="${temp.run.jnlp}"/>
-        </exec>
-        <antcall target="-warn-concurrent-jnlp-runs"/>
-    </target>
-    
-    <target name="jfxws-debug" if="jnlp-file-exists+netbeans.home" depends="-mark-project-state-debugging,-clean-if-config-changed,-mark-project-needs-jnlp,
-            -check-jdk-7u4or5-mac,jar,-check-jfx-webstart,-resolve-jnlp-file,-check-jfx-runtime,
-            -debug-start-debugger,-debug-javaws-debuggee" description="Debug JavaFX javaws project in IDE"/>
-        
-    <target name="-debug-javaws-debuggee" depends="-init-debug-args">
-        <echo message="Executing ${jfx.deployment.jnlp} in debug mode using ${active.webstart.executable}"/>
-        <exec executable="${active.webstart.executable}">
-            <env key="JAVAWS_VM_ARGS" value="${debug-args-line} -Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-            <arg value="-wait"/>
-            <arg file="${jfx.deployment.jnlp}"/>
-        </exec>
-    </target>
-    
-    <target name="-profile-check-1">
-        <property name="run.jvmargs.ide" value=""/>        
-        <condition property="profiler.configured">
-            <or>
-                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
-                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
-            </or>
-        </condition>
-    </target>
-    
-    <target if="jnlp-file-exists+netbeans.home" name="-profile-check-jnlp">
-        <antcall target="-profile-check-1"/>
-    </target>
-    
-    <target name="-do-jfxws-profile" depends="-mark-project-state-profiling,-mark-project-needs-jnlp,
-            -check-jdk-7u4or5-mac,jar,-check-jfx-webstart,-resolve-jnlp-file,-check-jfx-runtime">
-        <echo message="Executing ${jfx.deployment.jnlp} in profile mode using ${active.webstart.executable}"/>
-        <property name="run.jvmargs.ide" value=""/>        
-        <exec executable="${active.webstart.executable}">
-            <env key="JAVAWS_VM_ARGS" value="${run.jvmargs.ide}"/>
-            <arg value="-wait"/>
-            <arg file="${jfx.deployment.jnlp}"/>
-        </exec>
-    </target>
-    
-    <target name="jfxws-profile" if="profiler.configured" 
-        depends="-profile-check-1"
-        description="Profile JavaFX javaws project in IDE">
-        <startprofiler/>
-        <antcall target="-do-jfxws-profile"/>
-    </target>
-    
-    <target name="jfxws-run-noscript" depends="-set-fallback-no-javascript, jfxws-run"/>
-
-    <target name="jfxws-debug-noscript" depends="-set-fallback-no-javascript, jfxws-debug"/>
-
-    <target name="jfxws-profile-noscript" depends="-set-fallback-no-javascript, jfxws-profile"/>
-
-
-    <!-- Running/Debugging/Profiling in Browser -->
-
-    <target name="-check-selected-browser-path" depends="-check-default-run-config">
-        <condition property="javafx.run.inbrowser.undefined">
-            <or>
-                <and>
-                    <isset property="javafx.run.inbrowser"/>
-                    <equals arg1="${javafx.run.inbrowser}" arg2="undefined"/>
-                </and>
-                <and>
-                    <isset property="javafx.run.inbrowser.path"/>
-                    <equals arg1="${javafx.run.inbrowser.path}" arg2="undefined"/>
-                </and>
-            </or>
-        </condition>
-        <condition property="javafx.run.inbrowser.path-exists">
-            <and>
-                <isset property="javafx.run.inbrowser.path"/>
-                <available file="${javafx.run.inbrowser.path}"/>
-            </and>
-        </condition>
-        <fail message="Error:${line.separator}Browser selection not recognizable from ${config} run configuration.${line.separator}Please go to Project Properties dialog, category Run, to select a valid browser." unless="javafx.run.inbrowser.path"/>
-        <fail message="Error:${line.separator}No browser defined in ${config} run configuration.${line.separator}Please verify in Tools->Options dialog that NetBeans recognizes a valid browser, then go to Project Properties dialog, category Run, to select a valid browser." if="javafx.run.inbrowser.undefined"/>
-        <fail message="Error:${line.separator}Browser ${javafx.run.inbrowser.path} referred from ${config} run configuration can not be found.${line.separator}(This can happen, e.g, when the JavaFX Project is transferred to another system.)${line.separator}Please go to Project Properties dialog, category Run, to select a valid browser." unless="javafx.run.inbrowser.path-exists"/>
-    </target>
-
-    <target name="-substitute-template-processed-html-file" depends="-check-project" if="html-template-available">
-        <deploy-process-template/>
-    </target>
-    <target name="-check-template-processed-html-file" depends="-substitute-template-processed-html-file">
-        <condition property="html-file-exists">
-            <and>
-                <isset property="html-template-available"/>
-                <available file="${javafx.run.htmltemplate.processed}"/>
-            </and>
-        </condition>
-    </target>
-    
-    <target name="-set-template-processed-html-file" depends="-check-template-processed-html-file" if="html-file-exists">
-        <property name="jfx.deployment.html" location="${javafx.run.htmltemplate.processed}"/>
-    </target>
-    
-    <target name="-set-html-file" depends="-set-template-processed-html-file" unless="html-file-exists">
-        <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
-        <property name="jfx.deployment.html" location="${jfx.deployment.dir}${file.separator}${jfx.deployment.base}.html"/>
-        <condition property="html-file-exists">
-            <available file="${jfx.deployment.html}"/>
-        </condition>
-        <condition property="html-file-exists+netbeans.home">
-            <and>
-                <isset property="html-file-exists"/>
-                <isset property="netbeans.home"/>
-            </and>
-        </condition>
-    </target>
-
-    <!-- set property javafx.enable.concurrent.external.runs=true to enable multiple runs of the same WebStart or Run-in-Browser project -->
-    <target name="-check-concurrent-html-runs" depends="-set-html-file">
-        <condition property="disable-concurrent-runs">
-            <or>
-                <not>
-                    <and>
-                        <isset property="javafx.enable.concurrent.external.runs"/>
-                        <equals arg1="${javafx.enable.concurrent.external.runs}" arg2="true" trim="true"/>
-                    </and>
-                </not>
-                <and>
-                    <isset property="html-template-available"/>
-                    <available file="${javafx.run.htmltemplate.processed}"/>
-                </and>
-            </or>
-        </condition>
-        <condition property="temp.run.html" value="${jfx.deployment.html}">
-            <isset property="disable-concurrent-runs"/>
-        </condition>
-    </target>
-    <target name="-warn-concurrent-html-runs" unless="disable-concurrent-runs">
-        <echo message="Note: Concurrent Run in Browser enabled.${line.separator}Temporary directory ${temp.run.dir}${line.separator}will remain unused when execution in browser has finished. Use project Clean to delete unused directories."/>
-    </target>
-
-    <target name="jfxbe-run" if="html-file-exists" depends="-mark-project-state-running,-clean-if-config-changed,-mark-project-needs-jnlp,-check-jdk-7u4or5-mac,jar,
-            -check-selected-browser-path,-set-html-file,-check-jfx-runtime,-check-concurrent-html-runs,-create-temp-run-dir"
-            description="Start JavaFX execution in browser">
-        <echo message="Executing ${temp.run.html} using ${javafx.run.inbrowser}"/>
-        <echo message="(${javafx.run.inbrowser.path})"/>
-        <exec executable="${javafx.run.inbrowser.path}">
-            <arg file="${temp.run.html}"/>
-        </exec>
-        <antcall target="-warn-concurrent-html-runs"/>
-    </target>
-    
-    <target name="jfxbe-debug" if="html-file-exists+netbeans.home" depends="-mark-project-state-debugging,-clean-if-config-changed,-mark-project-needs-jnlp,
-            -check-jdk-7u4or5-mac,jar,-check-selected-browser-path,-set-html-file,-check-jfx-runtime,
-            -debug-start-debugger,-debug-jfxbe-debuggee" description="Debug JavaFX project in browser"/>
-        
-    <target name="-debug-jfxbe-debuggee" depends="-init-debug-args">
-        <echo message="Executing ${jfx.deployment.html} in debug mode using ${javafx.run.inbrowser}"/>
-        <echo message="(${javafx.run.inbrowser.path})"/>
-        <exec executable="${javafx.run.inbrowser.path}">
-            <env key="_JPI_VM_OPTIONS" value="${debug-args-line} -Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-            <arg file="${jfx.deployment.html}"/>
-        </exec>
-    </target>
-
-    <target if="html-file-exists+netbeans.home" name="-profile-check-html">
-        <antcall target="-profile-check-1"/>
-    </target>
-
-    <target name="-do-jfxbe-profile" depends="-mark-project-state-profiling,-mark-project-needs-jnlp,
-            -check-jdk-7u4or5-mac,jar,-check-selected-browser-path,-set-html-file,-check-jfx-runtime">
-        <echo message="Executing ${jfx.deployment.html} in profile mode using ${javafx.run.inbrowser}"/>
-        <echo message="(${javafx.run.inbrowser.path})"/>
-        <property name="run.jvmargs.ide" value=""/>        
-        <exec executable="${javafx.run.inbrowser.path}">
-            <env key="_JPI_VM_OPTIONS" value="${run.jvmargs.ide}"/>
-            <arg file="${jfx.deployment.html}"/>
-        </exec>
-    </target>
-
-    <target name="jfxbe-profile" if="profiler.configured"
-        depends="-profile-check-html"
-        description="Profile JavaFX project in browser">
-        <startprofiler/>
-        <antcall target="-do-jfxbe-profile"/>
-    </target>
-
-    <target name="jfxbe-run-noscript" depends="-set-fallback-no-javascript, jfxbe-run"/>
-
-    <target name="jfxbe-debug-noscript" depends="-set-fallback-no-javascript, jfxbe-debug"/>
-
-    <target name="jfxbe-profile-noscript" depends="-set-fallback-no-javascript, jfxbe-profile"/>
-
-
-</project>
diff --git a/TileZ/nbproject/project.properties b/TileZ/nbproject/project.properties
deleted file mode 100644 (file)
index f73a8d4..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-project.DuskServer=../DuskServer
-project.DuskZ=../DuskZ
-project.license=gpl30
-annotation.processing.enabled=true
-annotation.processing.enabled.in.editor=false
-annotation.processing.processors.list=
-annotation.processing.run.all.processors=true
-annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
-application.title=TileZ
-application.vendor=Michael Zucchi
-build.classes.dir=${build.dir}/classes
-build.classes.excludes=**/*.java,**/*.form
-# This directory is removed when the project is cleaned:
-build.dir=build
-build.generated.dir=${build.dir}/generated
-build.generated.sources.dir=${build.dir}/generated-sources
-# Only compile against the classpath explicitly listed here:
-build.sysclasspath=ignore
-build.test.classes.dir=${build.dir}/test/classes
-build.test.results.dir=${build.dir}/test/results
-compile.on.save=true
-compile.on.save.unsupported.javafx=true
-# Uncomment to specify the preferred debugger connection transport:
-#debug.transport=dt_socket
-debug.classpath=\
-    ${run.classpath}
-debug.test.classpath=\
-    ${run.test.classpath}
-# This directory is removed when the project is cleaned:
-dist.dir=dist
-dist.jar=${dist.dir}/TileZ.jar
-dist.javadoc.dir=${dist.dir}/javadoc
-endorsed.classpath=
-excludes=
-includes=**
-# Non-JavaFX jar file creation is deactivated in JavaFX 2.0+ projects
-jar.archive.disabled=true
-jar.compress=false
-javac.classpath=\
-    ${javafx.runtime}/lib/jfxrt.jar:\
-    ${javafx.runtime}/lib/deploy.jar:\
-    ${javafx.runtime}/lib/javaws.jar:\
-    ${javafx.runtime}/lib/plugin.jar:\
-    ${reference.DuskServer.jar}:\
-    ${reference.DuskZ.jar}
-# Space-separated list of extra javac options
-javac.compilerargs=
-javac.deprecation=false
-javac.processorpath=\
-    ${javac.classpath}
-javac.source=1.7
-javac.target=1.7
-javac.test.classpath=\
-    ${javac.classpath}:\
-    ${build.classes.dir}
-javac.test.processorpath=\
-    ${javac.test.classpath}
-javadoc.additionalparam=
-javadoc.author=false
-javadoc.encoding=${source.encoding}
-javadoc.noindex=false
-javadoc.nonavbar=false
-javadoc.notree=false
-javadoc.private=false
-javadoc.splitindex=true
-javadoc.use=true
-javadoc.version=false
-javadoc.windowtitle=
-javafx.binarycss=false
-javafx.deploy.adddesktopshortcut=false
-javafx.deploy.addstartmenushortcut=false
-javafx.deploy.allowoffline=true
-# If true, application update mode is set to 'background', if false, update mode is set to 'eager'
-javafx.deploy.backgroundupdate=false
-javafx.deploy.embedJNLP=true
-javafx.deploy.includeDT=true
-javafx.deploy.installpermanently=false
-javafx.deploy.permissionselevated=false
-# Set true to prevent creation of temporary copy of deployment artifacts before each run (disables concurrent runs)
-javafx.disable.concurrent.runs=false
-# Set true to enable multiple concurrent runs of the same WebStart or Run-in-Browser project
-javafx.enable.concurrent.external.runs=false
-# This is a JavaFX project
-javafx.enabled=true
-javafx.fallback.class=com.javafx.main.NoJavaFXFallback
-# Main class for JavaFX
-javafx.main.class=au.notzed.tilez.TileZ
-javafx.native.bundling.enabled=false
-javafx.native.bundling.type=none
-javafx.preloader.class=
-# This project does not use Preloader
-javafx.preloader.enabled=false
-javafx.preloader.jar.filename=
-javafx.preloader.jar.path=
-javafx.preloader.project.path=
-javafx.preloader.type=none
-# Set true for GlassFish only. Rebases manifest classpaths of JARs in lib dir. Not usable with signed JARs.
-javafx.rebase.libs=false
-javafx.run.height=600
-javafx.run.width=800
-javafx.runtime=${platforms.Default_JavaFX_Platform.javafx.runtime.home}
-javafx.sdk=${platforms.Default_JavaFX_Platform.javafx.sdk.home}
-javafx.signing.enabled=false
-javafx.signing.type=notsigned
-# Pre-JavaFX 2.0 WebStart is deactivated in JavaFX 2.0+ projects
-jnlp.enabled=false
-# Main class for Java launcher
-main.class=com.javafx.main.Main
-manifest.file=manifest.mf
-meta.inf.dir=${src.dir}/META-INF
-mkdist.disabled=false
-platform.active=Default_JavaFX_Platform
-reference.DuskServer.jar=${project.DuskServer}/dist/DuskServer.jar
-reference.DuskZ.jar=${project.DuskZ}/dist/DuskZ.jar
-run.classpath=\
-    ${dist.jar}:\
-    ${javac.classpath}
-run.test.classpath=\
-    ${javac.test.classpath}:\
-    ${build.test.classes.dir}
-source.encoding=UTF-8
-src.dir=src
-test.src.dir=test
diff --git a/TileZ/nbproject/project.xml b/TileZ/nbproject/project.xml
deleted file mode 100644 (file)
index 6b5a0bb..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://www.netbeans.org/ns/project/1">
-    <type>org.netbeans.modules.java.j2seproject</type>
-    <configuration>
-        <buildExtensions xmlns="http://www.netbeans.org/ns/ant-build-extender/1">
-            <extension file="jfx-impl.xml" id="jfx">
-                <dependency dependsOn="-check-javafx" target="-init-check"/>
-                <dependency dependsOn="-jfx-copylibs" target="-post-jar"/>
-                <dependency dependsOn="-rebase-libs" target="-post-jar"/>
-                <dependency dependsOn="jfx-deployment" target="-post-jar"/>
-                <dependency dependsOn="jar" target="debug"/>
-                <dependency dependsOn="-jfx-copylibs" target="jar"/>
-                <dependency dependsOn="-rebase-libs" target="jar"/>
-                <dependency dependsOn="jar" target="profile"/>
-                <dependency dependsOn="jar" target="run"/>
-            </extension>
-        </buildExtensions>
-        <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
-            <name>TileZ</name>
-            <explicit-platform explicit-source-supported="true"/>
-            <source-roots>
-                <root id="src.dir"/>
-            </source-roots>
-            <test-roots>
-                <root id="test.src.dir"/>
-            </test-roots>
-        </data>
-        <references xmlns="http://www.netbeans.org/ns/ant-project-references/1">
-            <reference>
-                <foreign-project>DuskServer</foreign-project>
-                <artifact-type>jar</artifact-type>
-                <script>build.xml</script>
-                <target>jar</target>
-                <clean-target>clean</clean-target>
-                <id>jar</id>
-            </reference>
-            <reference>
-                <foreign-project>DuskZ</foreign-project>
-                <artifact-type>jar</artifact-type>
-                <script>build.xml</script>
-                <target>jar</target>
-                <clean-target>clean</clean-target>
-                <id>jar</id>
-            </reference>
-        </references>
-    </configuration>
-</project>
diff --git a/config.make.in b/config.make.in
new file mode 100644 (file)
index 0000000..eed42de
--- /dev/null
@@ -0,0 +1,14 @@
+
+TARGET ?= linux-amd64
+
+JAVA_HOME ?= /usr/local/jdk
+JAVAFX_HOME ?= /usr/local/javafx-sdk
+
+JAVAMODPATH = $(JAVAFX_HOME)/lib .lib bin/$(TARGET)/lib
+JAVACFLAGS = --source 19
+
+JAVA ?= $(JAVA_HOME)/bin/java
+JAVAC ?= $(JAVA_HOME)/bin/javac
+JAR ?= $(JAVA_HOME)/bin/jar
+JMOD ?= $(JAVA_HOME)/bin/jmod
+
similarity index 100%
rename from DuskServer/docs/dusk-script
rename to docs/dusk-script
similarity index 100%
rename from DuskServer/docs/duskz-state
rename to docs/duskz-state
diff --git a/java.make b/java.make
new file mode 100644 (file)
index 0000000..266b0ac
--- /dev/null
+++ b/java.make
@@ -0,0 +1,425 @@
+#
+# Copyright (C) 2019,2022 Michael Zucchi
+#
+# This is the copyright for java.make
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+# General purpose modular java makefile that supports native library
+# compilation directly.  Non-recrusve implementation.
+#
+# Uses metamake programming with some file conventions to implement
+# auto-make-like features.
+
+# Define modules
+# --------------
+# java_MODULES list of java modules to compile.  The sources must
+#              exist in src/<module>/classes.  Resource files are
+#              stored in src/<module>/classes.  Source-code
+#              generators must exist in src/<module>/gen.  Native
+#              libraries must exist in src/<module>/jni.
+
+# native_MODULES list of native-only "modules".
+
+
+# Global variables
+
+# JAVA_HOME            location of jdk.
+# JAVAC                        java compiler to use.  Default is 'javac' on the path.
+# JAVACFLAGS           javac flags applied to all invocations.
+# JAR                  jar command.
+# JARFLAGS             jar flags
+# JMOD                 jmod command.
+# JMODFLAGS            jmod flags.
+# JAVAFLAGS            java flags for run targets
+
+# Module specific variables
+
+# <module>_JDEPMOD     Lists modules which this one depends on.
+
+# <module>_JAVACFLAGS  Extra module-specific flags for each command.
+# <module>_JARFLAGS
+# <module>_JMODFLAGS
+
+# all paths are relative to the root package name
+
+# <module>_JAVA                        Java sources.  If not set it is found from src/<module>/classes/(*.java)
+# <module>_RESOURCES           .jar resources.  If not set it is found from src/<module>/classes/(not *.java)
+# <module>_JAVA_GENERATED      Java generated sources.
+# <module>_RESOURCES_GENERATED Java generated sources.
+
+# Variables for use in fragments
+
+# gen.make and jni.make can additionally make use of these variables
+
+# <module>_gendir      Location for files used in Java generation process (per project).
+# <module>_genjavadir  Location where _JAVA_GENERATED .java files will be created (per project).
+# <module>_objdir      Location for c objects (per target).
+# <module>_incdir      Location for output includes, .jmod staging.
+# <module>_libdir      Location for output libraries, .jmod staging.  May point to _bindir.
+# <module>_bindir      Location for output commands, .jmod staging.
+
+# Define libraries
+# ----------------
+
+# Each module can define one or more native libraries.
+
+# These are compiled after the java sources have been compiled as that
+# process also generates any native binding headers.
+
+# <module>_NATIVE_LIBRARIES    list of libraries to build.
+# library names match System.loadLibrary().
+
+# Global variables
+
+# <target>_LDFLAGS
+# <target>_LDLIBS
+# <target>_CPPFLAGS
+# <target>_CFLAGS
+# <target>_CC
+# <target>_CXXFLAGS
+# <target>_CXX
+# SO           shared library suffix
+# LIB          shared library prefix
+
+# Utility functions
+#
+# $(call library-path,<module>,<libname>) will resolve to the library file name.
+
+# Per library variables.
+
+# <library>_SOURCES    .c source files for library.  Paths are relative to src/<module>/native.
+# <library>_CXXSOURCES .c source files for library.  Paths are relative to src/<module>/native.
+# <library>_HEADERS    header files for install/jmod
+# <library>_COMMANDS   commands/bin/scripts for install/jmod
+
+# <library>_LDFLAGS    link flags
+# <library>_LIBADD     extra objects to add to link line
+# <library>_LDLIBS     link libraries
+# <library>_CPPFLAGS   c and c++ pre-processor flags.  "-Isrc/<module>/jni -Ibin/include/<module>" is implicit.
+# <library>_CCFLAGS    c compiler flags
+# <library>_CXXFLAGS   c++ compiler flags
+
+# <library>_DEPENDENCIES       A list of other objects on which this library depends before linking.
+
+# .c and .cc files have dependencies automatically generated
+
+# Targets
+# -------
+
+# make gen             only generate java sources
+# make clean           rm -rf bin
+# make dist            create dist tar in bin/
+# make | make jar      make all jars and jmods
+
+# Outputs
+# -------
+
+# All intermediate and output files are written to bin/
+
+# This layout is enforced by javac
+#  bin/include/<module>/        .h files from javac -h
+#  bin/modules/<module>/        .class files from javac
+
+# This layout is convenient for netbeans
+#  bin/gen/<module>/gen/       .c, exe files for generator     free use
+#  bin/gen/<module>/classes/   .java files from generator      <module>_JAVA_GENERATED
+
+# Working files
+#  bin/status/                 marker files for makefile
+
+#  bin/<module>/<target>/lib   .so librareies for jmod         <module>_LIBRARIES = libname
+#  bin/<module>/<target>/obj   .o, .d files for library        <libname>_SOURCES
+#  bin/<module>/<target>/include .h files for jmod             <libname>_HEADERS
+#  bin/<module>/<target>/<module>.jmod .jmod module
+
+# Output files
+#  bin/<target>/lib/           modular jar files and shared libraries for GNU/linux dev
+#  bin/<target>/include/       header files for exported shared libraries
+#  bin/<target>/bin/           shared libraries for microsoft dev
+#  bin/<target>/jmods/         jmod files for 'jlink' use.
+
+# ######################################################################
+
+all_MODULES = $(java_MODULES) $(native_MODULES)
+
+E:=
+S:=$(E) $(E)
+SO=$($(TARGET)_SO)
+LIB=$($(TARGET)_LIB)
+
+# Define some useful variables before including fragments
+define common_variables=
+$1_gendir:=bin/gen/$1/gen
+$1_genjavadir:=bin/gen/$1/classes
+$1_objdir:=bin/$1/$(TARGET)/obj
+$1_incdir:=bin/$1/$(TARGET)/include
+$1_libdir:=$$(if $$(filter windows-%,$(TARGET)),bin/$1/$(TARGET)/bin,bin/$1/$(TARGET)/lib)
+$1_bindir:=bin/$1/$(TARGET)/bin
+endef
+
+define java_variables=
+ifndef $1_JAVA
+$1_JAVA := $$(shell cd src/$1/classes && find * -type f -name '*.java')
+endif
+ifndef $1_RESOURCES
+$1_RESOURCES := $$(shell cd src/$1/classes && find * -type f \! -name '*.java')
+endif
+endef
+
+java_libdir:=$(if $(filter windows-%,$(TARGET)),bin/$(TARGET)/bin,bin/$(TARGET)/lib)
+java_bindir:=bin/$(TARGET)/bin
+java_jardir:=bin/$(TARGET)/lib
+java_incdir:=bin/$(TARGET)/include
+java_jmoddir:=bin/$(TARGET)/jmods
+
+$(foreach module,$(java_MODULES) $(native_MODULES),$(eval $(call common_variables,$(module))))
+$(foreach module,$(java_MODULES),$(eval $(call java_variables,$(module))))
+
+# ######################################################################
+
+all:
+jar:
+gen:
+
+.PHONY: all clean jar gen $(java_MODULES) dist
+clean:
+       rm -rf bin
+
+# dist things
+dist_TAR = bin/$(dist_NAME)-$(dist_VERSION).tar.gz
+dist_FILES = config.make.in java.make Makefile src $(dist_EXTRA)
+
+# Gen is things that go into the jar (sources and resources)
+include $(wildcard $(all_MODULES:%=src/%/gen/gen.make))
+# Native is things that go into the sdk/jmod
+include $(wildcard $(all_MODULES:%=src/%/native/native.make))
+
+# ######################################################################
+
+# create module depencies
+# variables:
+# <module>_sdk is the target location of an expanded 'sdk' for this module
+#  it resides in a common location bin/<target>/
+# <module>_jmod is the target location of a staging area for jmod files
+#  is resides in a per-module lcoation bin/<module>/<target>/
+# <module>_java is all the targets that will cause the invocation of javac
+#  it includes the module source, generated sources, and sentinals for generated sources
+
+# targets:
+# bin/status/<module>.depjava marks all source/generated sources are ready/updated
+# bin/status/<module>.depjar all compiled class files and resources are ready/updated
+# bin/status/<module>.sdk all files are available in bin/<target> as if it was an installed image
+
+define module_vars=
+$1_sdk  := $(addprefix $(java_bindir)/,$($1_COMMANDS)) $(addprefix $(java_libdir)/,$($1_LIBRARIES)) $($1_NATIVE_LIBRARIES:%=$(java_libdir)/lib%.so)
+$1_jmod := $(addprefix $($1_bindir)/,$($1_COMMANDS)) $(addprefix $($1_libdir)/,$($1_LIBRARIES)) $($1_NATIVE_LIBRARIES:%=$($1_libdir)/lib%.so)
+$1_java :=$($1_JAVA:%=src/$1/classes/%) $($1_JAVA_GENERATED:%=$($1_genjavadir)/%)
+$1_resources:= $($1_RESOURCES:%=src/$1/classes/%) $($1_RESOURCES_GENERATED:%=$($1_genjavadir)/%)
+$1_depjava := $($1_API:%=bin/status/$1-%.export) $(patsubst %,bin/status/%.classes, $(filter $($1_JDEPMOD),$(java_MODULES)))
+
+ifneq ("$$(strip $$($1_java) $$($1_depjava))", "")
+bin/status/$1.depjava: $$($1_java) $$($1_depjava)
+       @install -d $$(@D)
+       touch $$@
+bin/status/$1.depjar: bin/status/$1.classes $$($1_resources)
+       @install -d $$(@D)
+       touch $$@
+bin/status/$1.depmod: bin/status/$1.classes $$($1_resources) $$($1_jmod)
+       @install -d $$(@D)
+       touch $$@
+bin/status/$1.sdk: $(java_jardir)/$1.jar
+jar: $(java_jardir)/$1.jar
+gen: bin/status/$1.depjava
+$1 all: $(java_jardir)/$1.jar $(java_jmoddir)/$1.jmod
+else
+# acutally not sure here?
+$1 all: bin/status/$1.sdk
+endif
+
+$1-sdk sdk: bin/status/$1.sdk
+
+bin/status/$1.sdk: $$($1_sdk) $$($1_jmod)
+       @install -d $$(@D)
+       touch $$@
+
+endef
+
+#$(foreach m,$(all_MODULES),$(info $(call module_vars,$m)))
+$(foreach m,$(all_MODULES),$(eval $(call module_vars,$m)))
+
+# ######################################################################
+# notzed.nativez export-api
+# ######################################################################
+
+define api_targets=
+bin/status/$1-$2.export: src/$1/gen/$2.api src/$1/gen/$2.h
+bin/status/$1-$2.export:
+       mkdir -p bin/gen/$1/gen bin/status
+       $(NATIVEZ_HOME)/bin/export-api \
+               -w bin/gen/$1/gen -d bin/gen/$1/classes $($1_APIFLAGS) $($1_$2_APIFLAGS) src/$1/gen/$2.api
+       touch $$@
+
+bin/status/$1-$2.export.d:
+       @$(NATIVEZ_HOME)/bin/export-api -M -MT "$$(@:.d=) $$@" -MF $$@ \
+               -w bin/gen/$1/gen -d bin/gen/$1/classes $($1_APIFLAGS) $($1_$2_APIFLAGS) src/$1/gen/$2.api 2>/dev/null
+
+$(if $(filter clean dist gen,$(MAKECMDGOALS)),,-include bin/status/$1-$2.export.d)
+endef
+
+$(foreach m,$(all_MODULES),$(foreach a,$($m_API),$(eval $(call api_targets,$m,$a))))
+
+# ######################################################################
+# Java
+# ######################################################################
+
+# Build targets for java modules
+
+define java_targets=
+
+# Create (modular) jar
+$(java_jardir)/$1.jar: bin/status/$1.depjar
+       @install -d $$(@D)
+       $(JAR) cf $$@ \
+         $(JARFLAGS) $$($(1)_JARFLAGS) \
+         -C bin/modules/$(1) . \
+         $(if $($1_RESOURCES),$($1_RESOURCES:%=-C src/$1/classes %)) \
+         $(if $($1_RESOURCES_GENERATED),$($1_RESOURCES_GENERATED:%=-C bin/gen/$1/classes %))
+
+# Create a jmod
+$(java_jmoddir)/$1.jmod: bin/status/$1.depmod
+       rm -f $$@
+       @install -d $$(@D)
+       $$(JMOD) create \
+         $$(JMODFLAGS) $$($(1)_JMODFLAGS) \
+         --target-platform $(TARGET) \
+         --class-path bin/modules/$(1) \
+         $$(if $$(wildcard bin/$(1)/$(TARGET)/include),--header-files bin/$(1)/$(TARGET)/include) \
+         $$(if $$(wildcard src/$(1)/legal),--legal-notices src/$(1)/legal) \
+         $$(if $$(wildcard bin/$(1)/$(TARGET)/bin),--cmds bin/$(1)/$(TARGET)/bin) \
+         $$(if $$(wildcard bin/$(1)/$(TARGET)/lib),--libs bin/$(1)/$(TARGET)/lib) \
+         $$@
+
+# Create an IDE source zip, paths have to match --module-source-path
+$(java_jardir)/$1-sources.zip: bin/status/$1.depjar
+       @install -d $$(@D)
+       $(JAR) -c -f $$@ -M \
+               $$($1_JAVA:%=-C src/$1/classes %) \
+               $$($1_JAVA_GENERATED:%=-C bin/gen/$1/classes %)
+
+# resources
+bin/modules/$1/%: src/$1/classes/%
+       install -vD $$< $$@
+
+# Compile module.
+bin/status/$1.classes: bin/status/$1.depjava
+       @install -d $$(@D)
+       $(JAVAC) \
+               --module-source-path "src/*/classes:bin/gen/*/classes" \
+               $(if $(JAVAMODPATH),--module-path $(subst $(S),:,$(JAVAMODPATH))) \
+               $(JAVACFLAGS) $($1_JAVACFLAGS) \
+               -d bin/modules \
+               -m $1 \
+               $$($1_JAVA:%=src/$1/classes/%) \
+               $$($1_JAVA_GENERATED:%=bin/gen/$1/classes/%)
+       touch $$@
+endef
+
+#$(foreach module,$(java_MODULES),$(info $(call java_targets,$(module))))
+$(foreach module,$(java_MODULES),$(eval $(call java_targets,$(module))))
+
+# ######################################################################
+
+# setup run-* targets
+define run_targets=
+run-$1/$2: bin/status/$1.sdk $($1_JDEPMOD:%=bin/status/%.sdk)
+       LD_LIBRARY_PATH=$(FFMPEG_HOME)/lib \
+       $(JAVA) \
+               $(if $(strip $(JAVAMODPATH) $($1_JAVAMODPATH)),--module-path $(subst $(S),:,$(strip $(JAVAMODPATH) $($1_JAVAMODPATH)))) \
+               $(JMAINFLAGS) $($1_JMAINFLAGS) \
+               -m $1/$2 \
+               $(ARGV)
+.PHONY: run-$1/$2
+endef
+
+#$(foreach module,$(java_MODULES),$(foreach main,$($(module)_JMAIN),$(info $(call run_targets,$(module),$(main)))))
+$(foreach module,$(java_MODULES),$(foreach main,$($(module)_JMAIN),$(eval $(call run_targets,$(module),$(main)))))
+
+# ######################################################################
+# C and c++ native library support
+# ######################################################################
+
+define native_library=
+# Rule for library $$2 in module $$1
+$2_OBJS = $(patsubst %.c, $($1_objdir)/%.o, $($2_SOURCES)) \
+       $(patsubst %.cc, $($1_objdir)/%.o, $($2_CXXSOURCES))
+$2_SRCS = $(addprefix src/$1/native/,$($2_SOURCES))
+$2_SO = $($1_libdir)/$(LIB)$2$(SO)
+
+# Copy anything from staging area for jmods bin/module/<target>/* to sdk area bin/<target>/*
+$(java_libdir)/%: $($(1)_libdir)/%
+       @install -d $$(@D)
+       ln -fs $$(abspath $$<) $$@
+$(java_bindir)/%: $($(1)_bindir)/%
+       @install -d $$(@D)
+       ln -fs $$(abspath $$<) $$@
+$(java_incdir)/%: $($(1)_incdir)/%
+       @install -d $$(@D)
+       ln -fs $$(abspath $$<) $$@
+
+$($1_libdir)/$(LIB)$2$(SO): $$($2_OBJS) $($2_LIBADD) $($2_DEPENDENCIES)
+       @install -d $$(@D)
+       $($(TARGET)_CC) -o $$@ -shared \
+               $($(TARGET)_LDFLAGS) $($2_LDFLAGS) $$($2_OBJS) $($2_LIBADD) $($(TARGET)_LDLIBS) $($2_LDLIBS)
+
+$($1_objdir)/%.o: src/$1/native/%.c
+       @install -d $$(@D)
+       $($(TARGET)_CC) -Isrc/$1/native -Ibin/include/$1 \
+               $($(TARGET)_CPPFLAGS) $($2_CPPFLAGS) \
+               $($(TARGET)_CFLAGS) $($2_CFLAGS) -c -o $$@ $$<
+
+$($1_objdir)/%.o: src/$1/native/%.cc
+       @install -d $$(@D)
+       $($(TARGET)_CXX) -Isrc/$1/native -Ibin/include/$1 \
+               $($(TARGET)_CPPFLAGS) $($2_CPPFLAGS) \
+               $($(TARGET)_CXXFLAGS) $($2_CXXFLAGS) -c -o $$@ $$<
+
+# auto-dependencies for c files
+$($1_objdir)/%.d: src/$1/native/%.c
+       @install -d $$(@D)
+       @rm -f $$@
+       @$($(TARGET)_CC) -MM -MT "$$(@:.d=.o) $$@" -Isrc/$1/jni -Ibin/include/$1 \
+               $($(TARGET)_CPPFLAGS) $($2_CPPFLAGS) $$< -o $$@ 2>/dev/null
+
+# auto-dependencies for c++ files
+$($1_objdir)/%.d: src/$1/native/%.cc
+       @install -d $$(@D)
+       @rm -f $$@
+       @$($(TARGET)_CXX) -MM -MT "$$(@:.d=.o) $$@" -Isrc/$1/jni -Ibin/include/$1 \
+               $($(TARGET)_CPPFLAGS) $($2_CPPFLAGS) $$< -o $$@ 2>/dev/null
+
+$(if $(filter clean dist gen,$(MAKECMDGOALS)),,-include $$($2_OBJS:.o=.d))
+endef
+
+#$(foreach module,$(all_MODULES),$(foreach library,$($(module)_NATIVE_LIBRARIES),$(info $(call native_library,$(module),$(library)))))
+$(foreach module,$(all_MODULES),$(foreach library,$($(module)_NATIVE_LIBRARIES),$(eval $(call native_library,$(module),$(library)))))
+
+# ######################################################################
+
+dist:
+       @install -d bin
+       tar cfz bin/$(dist_NAME)-$(dist_VERSION).tar.gz \
+        --transform=s,^,$(dist_NAME)-$(dist_VERSION)/, \
+       $(dist_FILES)
diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml
new file mode 100644 (file)
index 0000000..4e045f8
--- /dev/null
@@ -0,0 +1,1845 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+
+For the purpose of easier reading the script
+is divided into following sections:
+
+  - initialization
+  - compilation
+  - jar
+  - execution
+  - debugging
+  - javadoc
+  - test compilation
+  - test execution
+  - test debugging
+  - applet
+  - cleanup
+
+        -->
+<project xmlns:if="ant:if" xmlns:unless="ant:unless" basedir=".." default="default" name="DuskZ-impl">
+    <fail message="Please build using Ant 1.9.7 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.9.7"/>
+            </not>
+        </condition>
+    </fail>
+    <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
+    <!-- 
+                ======================
+                INITIALIZATION SECTION 
+                ======================
+            -->
+    <target name="-pre-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="-pre-init" name="-init-private">
+        <property file="nbproject/private/config.properties"/>
+        <property file="nbproject/private/configs/${config}.properties"/>
+        <property file="nbproject/private/private.properties"/>
+    </target>
+    <target depends="-pre-init,-init-private" name="-init-user">
+        <property file="${user.properties.file}"/>
+        <!-- The two properties below are usually overridden -->
+        <!-- by the active platform. Just a fallback. -->
+        <property name="default.javac.source" value="9"/>
+        <property name="default.javac.target" value="9"/>
+    </target>
+    <target depends="-pre-init,-init-private,-init-user" name="-init-pre-project">
+        <property file="nbproject/configs/${config}.properties"/>
+        <property file="nbproject/project.properties"/>
+        <property name="netbeans.modular.tasks.version" value="1"/>
+        <property location="${build.dir}/tasks/${netbeans.modular.tasks.version}" name="netbeans.modular.tasks.dir"/>
+    </target>
+    <target depends="-init-pre-project" name="-check-netbeans-tasks">
+        <condition property="netbeans.tasks.compiled">
+            <available file="${netbeans.modular.tasks.dir}/out/netbeans/ModuleInfoSelector.class"/>
+        </condition>
+    </target>
+    <target depends="-init-pre-project,-check-netbeans-tasks" name="-init-compile-netbeans-tasks" unless="netbeans.tasks.compiled">
+        <echo file="${netbeans.modular.tasks.dir}/src/netbeans/CoalesceKeyvalue.java">
+
+package netbeans;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Task;
+
+public class CoalesceKeyvalue extends Task {
+    private String property;
+
+    public void setProperty(String property) {
+        this.property = property;
+    }
+
+    private String value;
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    private String valueSep;
+
+    public void setValueSep(String valueSep) {
+        this.valueSep = valueSep;
+    }
+
+    private String entrySep;
+
+    public void setEntrySep(String entrySep) {
+        this.entrySep = entrySep;
+    }
+
+    private String multiSep;
+
+    public void setMultiSep(String multiSep) {
+        this.multiSep = multiSep;
+    }
+
+    private String outSep;
+
+    public void setOutSep(String outSep) {
+        this.outSep = outSep;
+    }
+
+    @Override
+    public void execute() throws BuildException {
+        List&lt;String&gt; result = new ArrayList&lt;&gt;();
+        Map&lt;String, List&lt;String&gt;&gt; module2Paths = new HashMap&lt;&gt;();
+
+        for (String entry : value.split(Pattern.quote(entrySep))) {
+            String[] keyValue = entry.split(Pattern.quote(valueSep), 2);
+            if (keyValue.length == 1) {
+                result.add(keyValue[0]);
+            } else {
+                module2Paths.computeIfAbsent(keyValue[0], s -&gt; new ArrayList&lt;&gt;())
+                            .add(keyValue[1].trim());
+            }
+        }
+        module2Paths.entrySet()
+                    .stream()
+                    .forEach(e -&gt; result.add(e.getKey() + valueSep + e.getValue().stream().collect(Collectors.joining(multiSep))));
+        getProject().setProperty(property, result.stream().collect(Collectors.joining(" " + entrySep)));
+    }
+
+}
+
+                </echo>
+        <echo file="${netbeans.modular.tasks.dir}/src/netbeans/ModsourceRegexp.java">
+            
+package netbeans;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Task;
+
+public class ModsourceRegexp extends Task {
+    private String property;
+
+    public void setProperty(String property) {
+        this.property = property;
+    }
+
+    private String filePattern;
+
+    public void setFilePattern(String filePattern) {
+        this.filePattern = filePattern;
+    }
+
+    private String modsource;
+
+    public void setModsource(String modsource) {
+        this.modsource = modsource;
+    }
+
+    private List&lt;String&gt; expandGroup(String grp) {
+        List&lt;String&gt; exp = new ArrayList&lt;&gt;();
+        String item = "";
+        int depth = 0;
+
+        for (int i = 0; i &lt; grp.length(); i++) {
+            char c = grp.charAt(i);
+            switch (c) {
+                case '{':
+                    if (depth++ == 0) {
+                        continue;
+                    }
+                    break;
+                case '}':
+                    if (--depth == 0) {
+                        exp.add(item);
+                        continue;
+                    }
+                    break;
+                case ',':
+                    if (depth == 1) {
+                        exp.add(item);
+                        item = "";
+                        continue;
+                    }
+                default:
+                    break;
+            }
+            item = item + c;
+        }
+        return exp;
+    }
+
+    private List&lt;String&gt; pathVariants(String spec) {
+        return pathVariants(spec, new ArrayList&lt;&gt;());
+    }
+
+    private List&lt;String&gt; pathVariants(String spec, List&lt;String&gt; res) {
+        int start  = spec.indexOf('{');
+        if (start == -1) {
+            res.add(spec);
+            return res;
+        }
+        int depth = 1;
+        int end;
+        for (end = start + 1; end &lt; spec.length() &amp;&amp; depth &gt; 0; end++) {
+            char c = spec.charAt(end);
+            switch (c) {
+                case '{': depth++; break;
+                case '}': depth--; break;
+            }
+        }
+        String prefix = spec.substring(0, start);
+        String suffix = spec.substring(end);
+        expandGroup(spec.substring(start, end)).stream().forEach(item -&gt; {
+            pathVariants(prefix + item + suffix, res);
+        });
+        return res;
+    }
+
+    private String toRegexp2(String spec, String filepattern, String separator) {
+        List&lt;String&gt; prefixes = new ArrayList&lt;&gt;();
+        List&lt;String&gt; suffixes = new ArrayList&lt;&gt;();
+        pathVariants(spec).forEach(item -&gt; {
+            suffixes.add(item);
+        });
+        String tail = "";
+        String separatorString = separator;
+        if ("\\".equals(separatorString)) {
+            separatorString = "\\\\";
+        }
+        if (filepattern != null &amp;&amp; !Objects.equals(filepattern, tail)) {
+            tail = separatorString + filepattern;
+        }
+        return "([^" + separatorString +"]+)\\Q" + separator + "\\E(" + suffixes.stream().collect(Collectors.joining("|")) + ")" + tail;
+    }
+
+    @Override
+    public void execute() throws BuildException {
+        getProject().setProperty(property, toRegexp2(modsource, filePattern, getProject().getProperty("file.separator")));
+    }
+
+}
+
+                </echo>
+        <echo file="${netbeans.modular.tasks.dir}/src/netbeans/ModuleInfoSelector.java">
+            
+package netbeans;
+
+import java.io.File;
+import java.util.Arrays;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.types.selectors.BaseExtendSelector;
+
+public class ModuleInfoSelector extends BaseExtendSelector {
+
+    @Override
+    public boolean isSelected(File basedir, String filename, File file) throws BuildException {
+        String extension = Arrays.stream(getParameters())
+                                 .filter(p -&gt; "extension".equals(p.getName()))
+                                 .map(p -&gt; p.getValue())
+                                 .findAny()
+                                 .get();
+        return !new File(file, "module-info." + extension).exists();
+    }
+
+}
+
+                </echo>
+        <mkdir dir="${netbeans.modular.tasks.dir}/out"/>
+        <javac classpath="${ant.core.lib}" destdir="${netbeans.modular.tasks.dir}/out" srcdir="${netbeans.modular.tasks.dir}/src"/>
+    </target>
+    <target depends="-init-pre-project,-init-compile-netbeans-tasks" name="-init-project">
+        <taskdef classname="netbeans.CoalesceKeyvalue" classpath="${netbeans.modular.tasks.dir}/out" name="coalesce_keyvalue" uri="http://www.netbeans.org/ns/j2se-modular-project/1"/>
+        <taskdef classname="netbeans.ModsourceRegexp" classpath="${netbeans.modular.tasks.dir}/out" name="modsource_regexp" uri="http://www.netbeans.org/ns/j2se-modular-project/1"/>
+    </target>
+    <target name="-init-source-module-properties">
+        <property name="javac.modulepath" value=""/>
+        <property name="run.modulepath" value="${javac.modulepath}:${build.modules.dir}"/>
+        <property name="debug.modulepath" value="${run.modulepath}"/>
+        <property name="javac.upgrademodulepath" value=""/>
+        <property name="run.upgrademodulepath" value="${javac.upgrademodulepath}"/>
+        <condition else="" property="javac.systemmodulepath.cmd.line.arg" value="-system '${javac.systemmodulepath}'">
+            <and>
+                <isset property="javac.systemmodulepath"/>
+                <length length="0" string="${javac.systemmodulepath}" when="greater"/>
+            </and>
+        </condition>
+        <property name="dist.jlink.dir" value="${dist.dir}/jlink"/>
+        <property name="dist.jlink.output" value="${dist.jlink.dir}/${application.title}"/>
+    </target>
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
+        <property name="platform.java" value="${java.home}/bin/java"/>
+        <j2semodularproject1:modsource_regexp xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" modsource="${test.src.dir.path}" property="have.tests.test.src.dir.regexp"/>
+        <dirset dir="${basedir}/${test.src.dir}" id="have.tests.test.src.dir.set" includes="*/*">
+            <filename regex="${have.tests.test.src.dir.regexp}"/>
+        </dirset>
+        <union id="have.tests.set">
+            <dirset refid="have.tests.test.src.dir.set"/>
+        </union>
+        <condition property="have.tests">
+            <or>
+                <resourcecount count="0" when="greater">
+                    <union refid="have.tests.set"/>
+                </resourcecount>
+            </or>
+        </condition>
+        <j2semodularproject1:modsource_regexp xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" modsource="${test.src.dir.path}" property="have.tests.test.src.dir.regexp"/>
+        <dirset dir="${basedir}/${test.src.dir}" id="have.tests.test.src.dir.patchset" includes="*/*">
+            <filename regex="${have.tests.test.src.dir.regexp}"/>
+        </dirset>
+        <union id="have.tests.patchset">
+            <dirset refid="have.tests.test.src.dir.patchset"/>
+        </union>
+        <j2semodularproject1:modsource_regexp xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" modsource="${src.dir.path}" property="have.sources.src.dir.regexp"/>
+        <dirset dir="${basedir}/${src.dir}" id="have.sources.src.dir.set" includes="*/*">
+            <filename regex="${have.sources.src.dir.regexp}"/>
+        </dirset>
+        <union id="have.sources.set">
+            <dirset refid="have.sources.src.dir.set"/>
+        </union>
+        <condition property="have.sources">
+            <or>
+                <resourcecount count="0" when="greater">
+                    <union refid="have.sources.set"/>
+                </resourcecount>
+            </or>
+        </condition>
+        <condition property="main.class.available">
+            <and>
+                <isset property="main.class"/>
+                <not>
+                    <equals arg1="${main.class}" arg2="" trim="true"/>
+                </not>
+            </and>
+        </condition>
+        <condition property="netbeans.home+have.tests">
+            <and>
+                <isset property="netbeans.home"/>
+                <isset property="have.tests"/>
+            </and>
+        </condition>
+        <condition property="no.javadoc.preview">
+            <and>
+                <isset property="javadoc.preview"/>
+                <isfalse value="${javadoc.preview}"/>
+            </and>
+        </condition>
+        <condition property="do.archive">
+            <or>
+                <not>
+                    <istrue value="${jar.archive.disabled}"/>
+                </not>
+                <istrue value="${not.archive.disabled}"/>
+            </or>
+        </condition>
+        <property name="run.jvmargs" value=""/>
+        <property name="run.jvmargs.ide" value=""/>
+        <property name="javac.compilerargs" value=""/>
+        <property name="work.dir" value="${basedir}"/>
+        <condition property="no.deps">
+            <and>
+                <istrue value="${no.dependencies}"/>
+            </and>
+        </condition>
+        <property name="javac.debug" value="true"/>
+        <property name="javadoc.preview" value="true"/>
+        <property name="application.args" value=""/>
+        <property name="source.encoding" value="${file.encoding}"/>
+        <property name="runtime.encoding" value="${source.encoding}"/>
+        <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
+            <and>
+                <isset property="javadoc.encoding"/>
+                <not>
+                    <equals arg1="${javadoc.encoding}" arg2=""/>
+                </not>
+            </and>
+        </condition>
+        <property name="javadoc.encoding.used" value="${source.encoding}"/>
+        <property name="includes" value="**"/>
+        <property name="excludes" value=""/>
+        <property name="do.depend" value="false"/>
+        <condition property="do.depend.true">
+            <istrue value="${do.depend}"/>
+        </condition>
+        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
+        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
+            <and>
+                <isset property="endorsed.classpath"/>
+                <not>
+                    <equals arg1="${endorsed.classpath}" arg2="" trim="true"/>
+                </not>
+            </and>
+        </condition>
+        <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}">
+            <isset property="profile.available"/>
+        </condition>
+        <condition else="false" property="jdkBug6558476">
+            <and>
+                <matches pattern="1\.[56]" string="${java.specification.version}"/>
+                <not>
+                    <os family="unix"/>
+                </not>
+            </and>
+        </condition>
+        <condition else="false" property="javac.fork">
+            <or>
+                <istrue value="${jdkBug6558476}"/>
+                <istrue value="${javac.external.vm}"/>
+            </or>
+        </condition>
+        <condition property="main.class.check.available">
+            <and>
+                <isset property="libs.CopyLibs.classpath"/>
+                <available classname="org.netbeans.modules.java.j2seproject.moduletask.ModuleMainClass" classpath="${libs.CopyLibs.classpath}"/>
+            </and>
+        </condition>
+        <property name="jar.index" value="false"/>
+        <property name="jar.index.metainf" value="${jar.index}"/>
+        <condition property="junit.available">
+            <or>
+                <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
+                <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
+            </or>
+        </condition>
+        <condition property="testng.available">
+            <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
+        </condition>
+        <condition property="junit+testng.available">
+            <and>
+                <istrue value="${junit.available}"/>
+                <istrue value="${testng.available}"/>
+            </and>
+        </condition>
+        <condition else="testng" property="testng.mode" value="mixed">
+            <istrue value="${junit+testng.available}"/>
+        </condition>
+        <condition else="" property="testng.debug.mode" value="-mixed">
+            <istrue value="${junit+testng.available}"/>
+        </condition>
+        <property name="java.failonerror" value="true"/>
+        <macrodef name="for-paths" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute name="paths"/>
+            <attribute default="${path.separator}" name="separator"/>
+            <element implicit="yes" name="call"/>
+            <sequential>
+                <local name="entry"/>
+                <local name="tail"/>
+                <local name="moreElements"/>
+                <loadresource property="entry" quiet="true" unless:blank="@{paths}">
+                    <concat>@{paths}</concat>
+                    <filterchain>
+                        <replaceregex pattern="([^@{separator}]*)\Q@{separator}\E.*" replace="\1"/>
+                    </filterchain>
+                </loadresource>
+                <sequential if:set="entry">
+                    <call/>
+                </sequential>
+                <condition else="false" property="moreElements" value="true">
+                    <contains string="@{paths}" substring="@{separator}"/>
+                </condition>
+                <loadresource if:true="${moreElements}" property="tail" quiet="true">
+                    <concat>@{paths}</concat>
+                    <filterchain>
+                        <replaceregex pattern="[^@{separator}]*\Q@{separator}\E(.*)" replace="\1"/>
+                    </filterchain>
+                </loadresource>
+                <j2semodularproject1:for-paths xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" if:true="${moreElements}" paths="${tail}">
+                    <call/>
+                </j2semodularproject1:for-paths>
+            </sequential>
+        </macrodef>
+        <property name="modules.supported.internal" value="true"/>
+        <condition else="${file.separator}" property="file.separator.string" value="\${file.separator}">
+            <equals arg1="${file.separator}" arg2="\"/>
+        </condition>
+    </target>
+    <target name="-post-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
+        <fail unless="src.dir">Must set src.dir</fail>
+        <fail unless="test.src.dir">Must set test.src.dir</fail>
+        <fail unless="build.dir">Must set build.dir</fail>
+        <fail unless="dist.dir">Must set dist.dir</fail>
+        <fail unless="build.modules.dir">Must set build.modules.dir</fail>
+        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
+        <fail unless="build.test.modules.dir">Must set build.test.modules.dir</fail>
+        <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
+        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
+        <fail message="Java 9 support requires Ant 1.10.0 or higher.">
+            <condition>
+                <not>
+                    <antversion atleast="1.10.0"/>
+                </not>
+            </condition>
+        </fail>
+    </target>
+    <target name="-init-macrodef-property">
+        <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute name="name"/>
+            <attribute name="value"/>
+            <sequential>
+                <property name="@{name}" value="${@{value}}"/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-ap-cmdline-properties,-init-source-module-properties" name="-init-macrodef-javac">
+        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${build.modules.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}" name="classpath"/>
+            <attribute default="${javac.modulepath}" name="modulepath"/>
+            <attribute default="${src.dir}/*/${src.dir.path}" name="modulesourcepath"/>
+            <attribute default="${javac.upgrademodulepath}" name="upgrademodulepath"/>
+            <attribute default="${javac.processorpath}" name="processorpath"/>
+            <attribute default="${javac.processormodulepath}" name="processormodulepath"/>
+            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="${javac.debug}" name="debug"/>
+            <attribute default="${empty.dir}" name="gensrcdir"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property location="${build.dir}/empty" name="empty.dir"/>
+                <mkdir dir="${empty.dir}"/>
+                <mkdir dir="@{apgeneratedsrcdir}"/>
+                <condition property="processormodulepath.set">
+                    <resourcecount count="0" when="greater">
+                        <path>
+                            <pathelement path="@{processormodulepath}"/>
+                        </path>
+                    </resourcecount>
+                </condition>
+                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" target="${javac.target}" tempdir="${java.io.tmpdir}">
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <modulepath>
+                        <path path="@{modulepath}"/>
+                    </modulepath>
+                    <modulesourcepath>
+                        <path path="@{modulesourcepath}"/>
+                    </modulesourcepath>
+                    <upgrademodulepath>
+                        <path path="@{upgrademodulepath}"/>
+                    </upgrademodulepath>
+                    <compilerarg line="${javac.systemmodulepath.cmd.line.arg}"/>
+                    <compilerarg line="${javac.profile.cmd.line.arg}"/>
+                    <compilerarg line="${javac.compilerargs}"/>
+                    <compilerarg if:set="processormodulepath.set" value="--processor-module-path"/>
+                    <compilerarg if:set="processormodulepath.set" path="@{processormodulepath}"/>
+                    <compilerarg unless:set="processormodulepath.set" value="-processorpath"/>
+                    <compilerarg path="@{processorpath}:${empty.dir}" unless:set="processormodulepath.set"/>
+                    <compilerarg line="${ap.processors.internal}"/>
+                    <compilerarg line="${annotation.processing.processor.options}"/>
+                    <compilerarg value="-s"/>
+                    <compilerarg path="@{apgeneratedsrcdir}"/>
+                    <compilerarg line="${ap.proc.none.internal}"/>
+                    <customize/>
+                </javac>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-javac" name="-init-macrodef-javac-depend">
+        <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${src.dir}" name="srcdir"/>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}" name="classpath"/>
+            <sequential>
+                <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                </depend>
+            </sequential>
+        </macrodef>
+        <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${build.modules.dir}" name="destdir"/>
+            <sequential>
+                <fail unless="javac.includes">Must set javac.includes</fail>
+                <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
+                    <path>
+                        <filelist dir="@{destdir}" files="${javac.includes}"/>
+                    </path>
+                    <globmapper from="*.java" to="*.class"/>
+                </pathconvert>
+                <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
+                <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
+                <delete>
+                    <files includesfile="${javac.includesfile.binary}"/>
+                </delete>
+                <delete>
+                    <fileset file="${javac.includesfile.binary}"/>
+                </delete>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${junit.available}" name="-init-macrodef-junit-init">
+        <condition else="false" property="nb.junit.batch" value="true">
+            <and>
+                <istrue value="${junit.available}"/>
+                <not>
+                    <isset property="test.method"/>
+                </not>
+            </and>
+        </condition>
+        <condition else="false" property="nb.junit.single" value="true">
+            <and>
+                <istrue value="${junit.available}"/>
+                <isset property="test.method"/>
+            </and>
+        </condition>
+    </target>
+    <target name="-init-test-properties">
+        <property name="test.binaryincludes" value="&lt;nothing&gt;"/>
+        <property name="test.binarytestincludes" value=""/>
+        <property name="test.binaryexcludes" value=""/>
+    </target>
+    <target name="-init-macrodef-junit-prototype">
+        <macrodef name="junit-prototype" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <element name="customizePrototype" optional="true"/>
+            <sequential>
+                <property location="${build.dir}/empty" name="empty.dir"/>
+                <property name="junit.forkmode" value="perTest"/>
+                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <classpath>
+                        <path path="${run.test.classpath}"/>
+                    </classpath>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <jvmarg value="-ea"/>
+                    <jvmarg value="--module-path"/>
+                    <jvmarg path="${run.modulepath}${path.separator}${run.test.modulepath}${path.separator}${empty.dir}"/>
+                    <jvmarg line="${run.test.jvmargs}"/>
+                    <customizePrototype/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-test-properties,-init-macrodef-junit-prototype" if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
+        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <j2semodularproject1:junit-prototype xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1">
+                    <customizePrototype>
+                        <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
+                        <customize/>
+                    </customizePrototype>
+                </j2semodularproject1:junit-prototype>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-test-properties,-init-macrodef-junit-prototype" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
+        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <j2semodularproject1:junit-prototype xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1">
+                    <customizePrototype>
+                        <batchtest todir="${build.test.results.dir}">
+                            <mappedresources>
+                                <union>
+                                    <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="**/@{includes}">
+                                        <filename name="**/@{testincludes}"/>
+                                        <filename regex="${have.tests.test.src.dir.regexp}"/>
+                                    </fileset>
+                                </union>
+                                <regexpmapper from="${have.tests.test.src.dir.regexp}\Q${file.separator}\E(.*)$" to="\3"/>
+                            </mappedresources>
+                            <fileset dir="${build.test.modules.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
+                                <filename name="${test.binarytestincludes}"/>
+                            </fileset>
+                        </batchtest>
+                        <customize/>
+                    </customizePrototype>
+                </j2semodularproject1:junit-prototype>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
+    <target if="${testng.available}" name="-init-macrodef-testng">
+        <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
+                    <isset property="test.method"/>
+                </condition>
+                <union id="test.set">
+                    <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
+                        <filename name="@{testincludes}"/>
+                    </fileset>
+                </union>
+                <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
+                <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="DuskZ" testname="TestNG tests" workingDir="${work.dir}">
+                    <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
+                    <propertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </propertyset>
+                    <classpath>
+                        <path path="${run.test.classpath}"/>
+                    </classpath>
+                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <customize/>
+                </testng>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-test-impl">
+        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <echo>No tests executed.</echo>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
+        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <j2semodularproject1:junit xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize/>
+                </j2semodularproject1:junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
+        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <j2semodularproject1:testng xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize/>
+                </j2semodularproject1:testng>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
+        <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <sequential>
+                <j2semodularproject1:test-impl xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize>
+                        <jvmarg line="${run.jvmargs}"/>
+                        <jvmarg line="${run.jvmargs.ide}"/>
+                    </customize>
+                </j2semodularproject1:test-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
+        <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customizeDebuggee" optional="true"/>
+            <sequential>
+                <j2semodularproject1:junit xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize>
+                        <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
+                        <customizeDebuggee/>
+                    </customize>
+                </j2semodularproject1:junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${testng.available}" name="-init-macrodef-testng-debug">
+        <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <element name="customize2" optional="true"/>
+            <sequential>
+                <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
+                    <isset property="test.method"/>
+                </condition>
+                <condition else="-suitename DuskZ -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
+                    <matches pattern=".*\.xml" string="@{testClass}"/>
+                </condition>
+                <delete dir="${build.test.results.dir}" quiet="true"/>
+                <mkdir dir="${build.test.results.dir}"/>
+                <j2semodularproject1:debug xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" classname="org.testng.TestNG" classpath="${debug.test.classpath}">
+                    <customizeDebuggee>
+                        <customize2/>
+                        <jvmarg value="-ea"/>
+                        <arg line="${testng.debug.mode}"/>
+                        <arg line="-d ${build.test.results.dir}"/>
+                        <arg line="-listener org.testng.reporters.VerboseReporter"/>
+                        <arg line="${testng.cmd.args}"/>
+                    </customizeDebuggee>
+                </j2semodularproject1:debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
+        <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <element implicit="true" name="customize2" optional="true"/>
+            <sequential>
+                <j2semodularproject1:testng-debug xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" testClass="@{testClass}" testMethod="@{testMethod}">
+                    <customize2/>
+                </j2semodularproject1:testng-debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
+        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <sequential>
+                <j2semodularproject1:test-debug-impl xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customizeDebuggee>
+                        <jvmarg line="${run.jvmargs}"/>
+                        <jvmarg line="${run.jvmargs.ide}"/>
+                    </customizeDebuggee>
+                </j2semodularproject1:test-debug-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
+        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <sequential>
+                <j2semodularproject1:testng-debug-impl xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" testClass="@{testClass}" testMethod="@{testMethod}">
+                    <customize2>
+                        <syspropertyset>
+                            <propertyref prefix="test-sys-prop."/>
+                            <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                        </syspropertyset>
+                    </customize2>
+                </j2semodularproject1:testng-debug-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
+    <!--
+                pre NB7.2 profiling section; consider it deprecated
+            -->
+    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
+    <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
+        <macrodef name="resolve">
+            <attribute name="name"/>
+            <attribute name="value"/>
+            <sequential>
+                <property name="@{name}" value="${env.@{value}}"/>
+            </sequential>
+        </macrodef>
+        <macrodef name="profile">
+            <attribute default="${main.class}" name="classname"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property environment="env"/>
+                <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
+                <java classname="@{classname}" dir="${profiler.info.dir}" failonerror="${java.failonerror}" fork="true" jvm="${profiler.info.jvm}">
+                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
+                    <jvmarg line="${profiler.info.jvmargs}"/>
+                    <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
+                    <arg line="${application.args}"/>
+                    <classpath>
+                        <path path="${run.classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
+        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
+        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
+    </target>
+    <!--
+                end of pre NB7.2 profiling section
+            -->
+    <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
+        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${main.class}" name="name"/>
+            <attribute default="${debug.modulepath}" name="modulepath"/>
+            <attribute default="${debug.classpath}" name="classpath"/>
+            <attribute default="" name="stopclassname"/>
+            <sequential>
+                <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
+                    <modulepath>
+                        <path path="@{modulepath}"/>
+                    </modulepath>
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                </nbjpdastart>
+            </sequential>
+        </macrodef>
+        <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${debug.modules.dir}" name="dir"/>
+            <sequential>
+                <nbjpdareload>
+                    <fileset dir="@{dir}" includes="${fix.classes}">
+                        <include name="*/${fix.includes}*.class"/>
+                    </fileset>
+                </nbjpdareload>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-debug-args">
+        <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
+            <os family="windows"/>
+        </condition>
+        <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
+            <isset property="debug.transport"/>
+        </condition>
+    </target>
+    <target depends="-init-debug-args" name="-init-macrodef-debug">
+        <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${module.name}" name="modulename"/>
+            <attribute default="${main.class}" name="classname"/>
+            <attribute default="${debug.modulepath}" name="modulepath"/>
+            <attribute default="${debug.classpath}" name="classpath"/>
+            <element name="customizeDebuggee" optional="true"/>
+            <sequential>
+                <j2semodularproject1:java xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" classname="@{classname}" classpath="@{classpath}" modulename="@{modulename}" modulepath="@{modulepath}">
+                    <customize>
+                        <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
+                        <customizeDebuggee/>
+                    </customize>
+                </j2semodularproject1:java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-source-module-properties" name="-init-macrodef-java">
+        <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${module.name}" name="modulename"/>
+            <attribute default="${main.class}" name="classname"/>
+            <attribute default="${run.modulepath}" name="modulepath"/>
+            <attribute default="${run.upgrademodulepath}" name="upgrademodulepath"/>
+            <attribute default="${run.classpath}" name="classpath"/>
+            <attribute default="jvm" name="jvm"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true" module="@{modulename}">
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <modulepath>
+                        <path path="@{modulepath}"/>
+                    </modulepath>
+                    <upgrademodulepath>
+                        <path path="@{upgrademodulepath}"/>
+                    </upgrademodulepath>
+                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
+                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
+                    <jvmarg line="${run.jvmargs}"/>
+                    <jvmarg line="${run.jvmargs.ide}"/>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-presetdef-jar">
+        <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}" manifestencoding="UTF-8">
+                <j2semodularproject1:fileset xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
+            </jar>
+        </presetdef>
+    </target>
+    <target name="-init-ap-cmdline-properties">
+        <property name="annotation.processing.enabled" value="true"/>
+        <property name="annotation.processing.processors.list" value=""/>
+        <property name="annotation.processing.processor.options" value=""/>
+        <property name="annotation.processing.run.all.processors" value="true"/>
+        <property name="javac.processorpath" value="${javac.classpath}"/>
+        <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
+    </target>
+    <target depends="-init-ap-cmdline-properties" name="-init-ap-cmdline-supported">
+        <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
+            <isfalse value="${annotation.processing.run.all.processors}"/>
+        </condition>
+        <condition else="" property="ap.proc.none.internal" value="-proc:none">
+            <isfalse value="${annotation.processing.enabled}"/>
+        </condition>
+    </target>
+    <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
+        <property name="ap.cmd.line.internal" value=""/>
+    </target>
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac-depend,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
+    <!--
+                ===================
+                COMPILATION SECTION
+                ===================
+            -->
+    <target name="-deps-jar-init" unless="built-jar.properties">
+        <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
+        <delete file="${built-jar.properties}" quiet="true"/>
+    </target>
+    <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
+        <echo level="warn" message="Cycle detected: DuskZ was already built"/>
+    </target>
+    <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
+        <mkdir dir="${build.dir}"/>
+        <touch file="${built-jar.properties}" verbose="false"/>
+        <property file="${built-jar.properties}" prefix="already.built.jar."/>
+        <antcall target="-warn-already-built-jar"/>
+        <propertyfile file="${built-jar.properties}">
+            <entry key="${basedir}" value=""/>
+        </propertyfile>
+    </target>
+    <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
+    <target depends="init" name="-check-automatic-build">
+        <available file="${build.modules.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
+    </target>
+    <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
+        <antcall target="clean">
+            <param name="no.dependencies" value="true"/>
+        </antcall>
+    </target>
+    <target name="-pre-pre-compile">
+        <mkdir dir="${build.modules.dir}"/>
+    </target>
+    <target name="-pre-compile">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target if="do.depend.true" name="-compile-depend">
+        <pathconvert property="build.generated.subdirs">
+            <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
+                <include name="*"/>
+            </dirset>
+        </pathconvert>
+        <j2semodularproject1:depend xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" srcdir="${src.dir}:${build.generated.subdirs}"/>
+    </target>
+    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-compile-depend" if="have.sources" name="-do-compile">
+        <j2semodularproject1:javac xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" gensrcdir="${build.generated.sources.dir}"/>
+        <j2semodularproject1:modsource_regexp xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" filePattern="(.*$)" modsource="${src.dir.path}" property="src.dir.path.regexp"/>
+        <echo message="Copying resources from ${src.dir}"/>
+        <copy todir="${build.modules.dir}">
+            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+            <regexpmapper from="${src.dir.path.regexp}" to="\1/\3"/>
+        </copy>
+    </target>
+    <target if="has.persistence.xml" name="-copy-persistence-xml">
+        <fail message="XXX: Not supported on MM projects"/>
+        <mkdir dir="${build.classes.dir}/META-INF"/>
+        <copy todir="${build.classes.dir}/META-INF">
+            <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/>
+        </copy>
+    </target>
+    <target name="-post-compile">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
+    <target name="-pre-compile-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-jar" name="-do-compile-single">
+        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
+        <j2semodularproject1:force-recompile xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1"/>
+        <j2semodularproject1:javac xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}, module-info.java"/>
+    </target>
+    <target name="-post-compile-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
+    <!--
+                ====================
+                JAR BUILDING SECTION
+                ====================
+            -->
+    <target depends="init,compile" name="-check-module-main-class">
+        <condition property="do.module.main.class">
+            <and>
+                <available file="${module.dir}/module-info.class"/>
+                <isset property="main.class.check.available"/>
+            </and>
+        </condition>
+    </target>
+    <target depends="init" name="-pre-pre-jar">
+        <dirname file="${dist.jar}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+    </target>
+    <target name="-pre-jar">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-pre-single-jar"/>
+    <target depends="-pre-single-jar" if="module.jar.filename" name="-make-single-jar">
+        <jar basedir="${module.dir}" compress="${jar.compress}" destfile="${dist.dir}/${module.jar.filename}" excludes="${dist.archive.excludes}" manifestencoding="UTF-8"/>
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar,-main-module-check-condition" if="do.archive" name="-do-jar-jar" unless="do.mkdist">
+        <property location="${build.modules.dir}" name="build.modules.dir.resolved"/>
+        <dirset dir="${build.modules.dir.resolved}" id="do.jar.dirs" includes="*"/>
+        <pathconvert property="do.jar.dir.list" refid="do.jar.dirs">
+            <identitymapper/>
+        </pathconvert>
+        <j2semodularproject1:for-paths xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" paths="${do.jar.dir.list}">
+            <local name="module.jar.filename"/>
+            <local name="module.jar.name.tmp"/>
+            <basename file="${entry}" property="module.jar.name.tmp"/>
+            <property name="module.jar.filename" value="${module.jar.name.tmp}.jar"/>
+            <antcall inheritRefs="true" target="-make-single-jar">
+                <param name="module.jar.filename" value="${module.jar.filename}"/>
+                <param location="${entry}" name="module.dir"/>
+            </antcall>
+        </j2semodularproject1:for-paths>
+        <condition property="named.module.internal">
+            <and>
+                <isset property="module.name"/>
+                <length length="0" string="${module.name}" when="greater"/>
+            </and>
+        </condition>
+        <condition property="unnamed.module.internal">
+            <not>
+                <isset property="named.module.internal"/>
+            </not>
+        </condition>
+        <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
+        <property location="${dist.jar}" name="dist.jar.resolved"/>
+        <pathconvert property="run.classpath.with.dist.jar">
+            <path path="${run.classpath}"/>
+            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
+        </pathconvert>
+        <pathconvert property="run.modulepath.with.dist.jar">
+            <path path="${run.modulepath}"/>
+            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
+        </pathconvert>
+        <condition else="" property="jar.usage.message.module.path" value=" --module-path ${run.modulepath.with.dist.jar}">
+            <and>
+                <isset property="modules.supported.internal"/>
+                <length length="0" string="${run.modulepath.with.dist.jar}" when="greater"/>
+            </and>
+        </condition>
+        <condition else="" property="jar.usage.message.class.path" value=" -cp ${run.classpath.with.dist.jar}">
+            <length length="0" string="${run.classpath.with.dist.jar}" when="greater"/>
+        </condition>
+        <condition else=" ${main.class}" property="jar.usage.message.main.class" value=" -m ${module.name}/${main.class}">
+            <isset property="named.module.internal"/>
+        </condition>
+        <condition else="" property="jar.usage.message" value="To run this application from the command line without Ant, try:${line.separator}${platform.java}${jar.usage.message.module.path}${jar.usage.message.class.path}${jar.usage.message.main.class}">
+            <isset property="main.class.available"/>
+        </condition>
+        <condition else="debug" property="jar.usage.level" value="info">
+            <isset property="main.class.available"/>
+        </condition>
+        <echo level="${jar.usage.level}" message="${jar.usage.message}"/>
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-jar" name="-do-jar-without-libraries"/>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar" name="-do-jar-with-libraries"/>
+    <target name="-post-jar">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-jar,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/>
+    <target depends="init,compile,-pre-jar,-do-jar,-post-jar,deploy" description="Build JAR." name="jar"/>
+    <!--
+                =================
+                DEPLOY SECTION
+                =================
+            -->
+    <target name="-pre-deploy">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init" name="-check-jlink">
+        <condition property="do.jlink.internal">
+            <and>
+                <istrue value="${do.jlink}"/>
+                <isset property="do.archive"/>
+            </and>
+        </condition>
+    </target>
+    <target depends="init,-do-jar,-post-jar,-pre-deploy,-check-jlink,-main-module-set" if="do.jlink.internal" name="-do-deploy">
+        <delete dir="${dist.jlink.dir}" failonerror="false" quiet="true"/>
+        <property name="jlink.launcher.name" value="${application.title}"/>
+        <pathconvert pathsep="," property="jlink.modulelist.internal">
+            <fileset dir="${dist.dir}" includes="*.jar"/>
+            <mapper>
+                <chainedmapper>
+                    <flattenmapper/>
+                    <globmapper from="*.jar" to="*"/>
+                </chainedmapper>
+            </mapper>
+        </pathconvert>
+        <condition else="${jlink.modulelist.internal}" property="jlink.add.modules" value="${jlink.modulelist.internal},${jlink.additionalmodules}">
+            <and>
+                <isset property="jlink.additionalmodules"/>
+                <length length="0" string="${jlink.additionalmodules}" when="greater"/>
+            </and>
+        </condition>
+        <condition property="jlink.do.strip.internal">
+            <and>
+                <isset property="jlink.strip"/>
+                <istrue value="${jlink.strip}"/>
+            </and>
+        </condition>
+        <condition property="jlink.do.additionalparam.internal">
+            <and>
+                <isset property="jlink.additionalparam"/>
+                <length length="0" string="${jlink.additionalparam}" when="greater"/>
+            </and>
+        </condition>
+        <condition property="jlink.do.launcher.internal">
+            <and>
+                <istrue value="${jlink.launcher}"/>
+                <isset property="module.name"/>
+                <length length="0" string="${module.name}" when="greater"/>
+                <isset property="main.class.available"/>
+            </and>
+        </condition>
+        <property name="platform.jlink" value="${jdk.home}/bin/jlink"/>
+        <property name="jlink.systemmodules.internal" value="${jdk.home}/jmods"/>
+        <exec executable="${platform.jlink}">
+            <arg value="--module-path"/>
+            <arg path="${jlink.systemmodules.internal}:${run.modulepath}:${dist.dir}"/>
+            <arg value="--add-modules"/>
+            <arg value="${jlink.add.modules}"/>
+            <arg if:set="jlink.do.strip.internal" value="--strip-debug"/>
+            <arg if:set="jlink.do.launcher.internal" value="--launcher"/>
+            <arg if:set="jlink.do.launcher.internal" value="${jlink.launcher.name}=${module.name}/${main.class}"/>
+            <arg if:set="jlink.do.additionalparam.internal" line="${jlink.additionalparam}"/>
+            <arg value="--output"/>
+            <arg value="${dist.jlink.output}"/>
+        </exec>
+    </target>
+    <target name="-post-deploy">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="-do-jar,-post-jar,-pre-deploy,-do-deploy,-post-deploy" name="deploy"/>
+    <!--
+                =================
+                EXECUTION SECTION
+                =================
+            -->
+    <target name="-check-main-class">
+        <fail unless="main.class">No main class specified</fail>
+    </target>
+    <target depends="init,compile,-check-main-class,-main-module-check" description="Run a main class." name="run">
+        <property name="main.class.relativepath" refid="main.class.relativepath"/>
+        <pathconvert pathsep="," property="src.dir.list" refid="have.sources.set"/>
+        <j2semodularproject1:modsource_regexp xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" filePattern="(.*$)" modsource="${src.dir.path}" property="run.src.dir.path.regexp"/>
+        <j2semodularproject1:java xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <customize>
+                <arg line="${application.args}"/>
+            </customize>
+        </j2semodularproject1:java>
+    </target>
+    <target name="-main-module-set" unless="module.name">
+        <condition else="${main.class}" property="check.class.name" value="${run.class}">
+            <isset property="run.class"/>
+        </condition>
+        <condition property="run.modules.dir" value="${build.modules.dir}">
+            <not>
+                <isset property="run.modules.dir"/>
+            </not>
+        </condition>
+        <resources id="main.class.relativepath">
+            <mappedresources>
+                <string value="${check.class.name}"/>
+                <unpackagemapper from="*" to="*.class"/>
+            </mappedresources>
+        </resources>
+        <property location="${run.modules.dir}" name="run.modules.dir.location"/>
+        <pathconvert property="module.name">
+            <fileset dir="${run.modules.dir}" includes="**/${toString:main.class.relativepath}"/>
+            <regexpmapper from="\Q${run.modules.dir.location}${file.separator}\E([^${file.separator.string}]+)\Q${file.separator}\E.*\.class" to="\1"/>
+        </pathconvert>
+    </target>
+    <target depends="-main-module-set" name="-main-module-check">
+        <fail message="Could not determine module of the main class and module.name is not set">
+            <condition>
+                <or>
+                    <not>
+                        <isset property="module.name"/>
+                    </not>
+                    <length length="0" string="${module.name}" when="equal"/>
+                </or>
+            </condition>
+        </fail>
+    </target>
+    <target depends="-main-module-set" if="main.class.available" name="-main-module-check-condition">
+        <fail message="Could not determine module of the main class and module.name is not set">
+            <condition>
+                <or>
+                    <not>
+                        <isset property="module.name"/>
+                    </not>
+                    <length length="0" string="${module.name}" when="equal"/>
+                </or>
+            </condition>
+        </fail>
+    </target>
+    <target name="-do-not-recompile">
+        <property name="javac.includes.binary" value=""/>
+    </target>
+    <target depends="init,compile-single,-main-module-check" name="run-single">
+        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+        <j2semodularproject1:java xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" classname="${run.class}"/>
+    </target>
+    <target depends="init,compile-test-single,-init-test-run-module-properties,-main-module-check" name="run-test-with-main">
+        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+        <j2semodularproject1:java xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" classname="${run.class}" classpath="${run.test.classpath}" modulepath="${run.test.modulepath}">
+            <customize>
+                <jvmarg line="${run.test.jvmargs}"/>
+            </customize>
+        </j2semodularproject1:java>
+    </target>
+    <!--
+                =================
+                DEBUGGING SECTION
+                =================
+            -->
+    <target name="-debug-init">
+        <condition else="${main.class}" property="run.class" value="${debug.class}">
+            <isset property="debug.class"/>
+        </condition>
+        <fail message="debug.class or main.class property is not set" unless="run.class"/>
+    </target>
+    <target depends="init,-debug-init,-main-module-check" if="netbeans.home" name="-debug-start-debugger">
+        <j2semodularproject1:nbjpdastart xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" name="${debug.class}"/>
+    </target>
+    <target depends="init,-debug-init,-main-module-check" if="netbeans.home" name="-debug-start-debugger-main-test">
+        <j2semodularproject1:nbjpdastart xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" classpath="${debug.test.classpath}" name="${debug.class}"/>
+    </target>
+    <target depends="init,compile,-debug-init,-main-module-check" name="-debug-start-debuggee">
+        <j2semodularproject1:debug xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" classname="${run.class}">
+            <customizeDebuggee>
+                <arg line="${application.args}"/>
+            </customizeDebuggee>
+        </j2semodularproject1:debug>
+    </target>
+    <target depends="init,compile,-debug-init,-main-module-check,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
+    <target depends="init,-debug-init,-main-module-check" if="netbeans.home" name="-debug-start-debugger-stepinto">
+        <j2semodularproject1:nbjpdastart xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" stopclassname="${debug.class}"/>
+    </target>
+    <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
+    <target depends="init,compile-single,-debug-init,-main-module-check" if="netbeans.home" name="-debug-start-debuggee-single">
+        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
+        <j2semodularproject1:debug xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" classname="${debug.class}"/>
+    </target>
+    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
+    <target depends="init,compile-test-single,-debug-init,-main-module-check" if="netbeans.home" name="-debug-start-debuggee-main-test">
+        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
+        <j2semodularproject1:debug xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" classname="${debug.class}" classpath="${debug.test.classpath}"/>
+    </target>
+    <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
+    <target depends="init" name="-pre-debug-fix">
+        <fail unless="fix.includes">Must set fix.includes</fail>
+        <property name="javac.includes" value="${fix.includes}.java"/>
+    </target>
+    <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
+        <property location="${build.modules.dir}" name="debug.modules.dir"/>
+        <j2semodularproject1:nbjpdareload xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1"/>
+    </target>
+    <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
+    <!--
+                =================
+                PROFILING SECTION
+                =================
+            -->
+    <!--
+                pre NB7.2 profiler integration
+            -->
+    <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
+        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile/>
+    </target>
+    <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
+        <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
+        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile classname="${profile.class}"/>
+    </target>
+    <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
+        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile classname="sun.applet.AppletViewer">
+            <customize>
+                <arg value="${applet.url}"/>
+            </customize>
+        </profile>
+    </target>
+    <target depends="-init-macrodef-junit,profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
+        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <j2semodularproject1:junit xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" excludes="${excludes}" includes="${includes}" testincludes="${profile.class}" testmethods="">
+            <customize>
+                <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
+                <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
+                <jvmarg value="${profiler.info.jvmargs.agent}"/>
+                <jvmarg line="${profiler.info.jvmargs}"/>
+                <classpath>
+                    <path path="${run.test.classpath}"/>
+                </classpath>
+            </customize>
+        </j2semodularproject1:junit>
+    </target>
+    <!--
+                end of pre NB72 profiling section
+            -->
+    <target if="netbeans.home" name="-profile-check">
+        <condition property="profiler.configured">
+            <or>
+                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
+                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
+            </or>
+        </condition>
+    </target>
+    <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
+        <startprofiler/>
+        <antcall target="run"/>
+    </target>
+    <target depends="-profile-check,-profile-single-pre72" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-single" unless="profiler.info.jvmargs.agent">
+        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+        <startprofiler/>
+        <antcall target="run-single"/>
+    </target>
+    <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
+    <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
+        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
+        <startprofiler/>
+        <antcall target="test-single"/>
+    </target>
+    <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
+        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+        <startprofiler/>
+        <antcall target="run-test-with-main"/>
+    </target>
+    <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
+        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
+        <startprofiler/>
+        <antcall target="run-applet"/>
+    </target>
+    <!--
+                ===============
+                JAVADOC SECTION
+                ===============
+            -->
+    <target depends="init" if="have.sources" name="-javadoc-build">
+        <mkdir dir="${dist.javadoc.dir}"/>
+        <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
+            <and>
+                <isset property="endorsed.classpath.cmd.line.arg"/>
+                <not>
+                    <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/>
+                </not>
+            </and>
+        </condition>
+        <condition else="" property="bug5101868workaround" value="*.java">
+            <matches pattern="1\.[56](\..*)?" string="${java.version}"/>
+        </condition>
+        <condition else="" property="javadoc.html5.cmd.line.arg" value="-html5">
+            <and>
+                <isset property="javadoc.html5"/>
+                <available file="${jdk.home}${file.separator}lib${file.separator}jrt-fs.jar"/>
+            </and>
+        </condition>
+        <javadoc additionalparam="-J-Dfile.encoding=${file.encoding} ${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
+            <classpath>
+                <path path="${javac.classpath}"/>
+            </classpath>
+            <fileset dir="${src.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
+                <filename name="**/*.java"/>
+            </fileset>
+            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
+                <include name="**/*.java"/>
+                <exclude name="*.java"/>
+            </fileset>
+            <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
+            <arg line="${javadoc.html5.cmd.line.arg}"/>
+        </javadoc>
+        <copy todir="${dist.javadoc.dir}">
+            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
+                <filename name="**/doc-files/**"/>
+            </fileset>
+            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
+                <include name="**/doc-files/**"/>
+            </fileset>
+        </copy>
+    </target>
+    <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
+        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
+    </target>
+    <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
+    <!--
+                =========================
+                TEST COMPILATION SECTION
+                =========================
+            -->
+    <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
+        <mkdir dir="${build.test.modules.dir}"/>
+    </target>
+    <target name="-pre-compile-test">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="-init-source-module-properties" name="-init-test-run-module-properties">
+        <fileset dir="${build.test.modules.dir}" id="run.test.packages.internal" includes="**/*.class"/>
+        <property location="${build.test.modules.dir}" name="build.test.modules.dir.abs.internal"/>
+        <pathconvert pathsep=" " property="run.test.addexports.internal" refid="run.test.packages.internal">
+            <chainedmapper>
+                <filtermapper>
+                    <replacestring from="${build.test.modules.dir.abs.internal}${file.separator}" to=""/>
+                </filtermapper>
+                <regexpmapper from="^([^${file.separator.string}]*)\Q${file.separator}\E(.*)\Q${file.separator}\E.*\.class$$" to="\1${path.separator}\2"/>
+                <filtermapper>
+                    <uniqfilter/>
+                    <replacestring from="${file.separator}" to="."/>
+                </filtermapper>
+                <regexpmapper from="([^${file.separator.string}]+)${path.separator}(.*)" to="--add-exports \1/\2=ALL-UNNAMED"/>
+            </chainedmapper>
+        </pathconvert>
+        <property location="${build.test.modules.dir}" name="build.test.modules.location"/>
+        <pathconvert pathsep="," property="run.test.addmodules.list">
+            <map from="${build.test.modules.location}${file.separator}" to=""/>
+            <dirset dir="${build.test.modules.dir}" includes="*"/>
+            <chainedmapper>
+                <filtermapper>
+                    <uniqfilter/>
+                </filtermapper>
+            </chainedmapper>
+        </pathconvert>
+        <pathconvert pathsep=" " property="run.test.patchmodules.list">
+            <dirset dir="${build.test.modules.dir}" includes="*">
+                <custom classname="netbeans.ModuleInfoSelector" classpath="${netbeans.modular.tasks.dir}/out">
+                    <param name="extension" value="class"/>
+                </custom>
+            </dirset>
+            <chainedmapper>
+                <filtermapper>
+                    <uniqfilter/>
+                </filtermapper>
+                <regexpmapper from=".*\Q${file.separator}\E([^${file.separator.string}]+)$" to="--patch-module \1=\0"/>
+            </chainedmapper>
+        </pathconvert>
+        <j2semodularproject1:coalesce_keyvalue xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" entrySep="--patch-module " multiSep="${path.separator}" property="run.test.patchmodules" value="${run.test.patchmodules.list}" valueSep="="/>
+        <condition else="" property="run.test.addmodules.internal" value="--add-modules ${run.test.addmodules.list}">
+            <isset property="run.test.addmodules.list"/>
+        </condition>
+        <pathconvert pathsep=" " property="run.test.addreads.internal">
+            <map from="${build.test.modules.location}" to=""/>
+            <dirset dir="${build.test.modules.dir}" includes="*"/>
+            <chainedmapper>
+                <regexpmapper from="^\Q${build.test.modules.location}${file.separator}\E(.*)" to="\1"/>
+                <regexpmapper from="(.*)" to="--add-reads \1=ALL-UNNAMED"/>
+                <filtermapper>
+                    <uniqfilter/>
+                </filtermapper>
+            </chainedmapper>
+        </pathconvert>
+        <property name="run.test.jvmargs" value="${run.test.addmodules.internal} ${run.test.addreads.internal} ${run.test.addexports.internal} ${run.test.patchmodules}"/>
+    </target>
+    <target depends="-init-source-module-properties" name="-init-test-javac-module-properties">
+        <pathconvert pathsep=" " property="compile.test.patchmodule.internal" refid="have.tests.patchset">
+            <regexpmapper from="(.*\Q${file.separator}\E)([^${file.separator.string}]+)\Q${file.separator}\E(.*)$$" to="--patch-module \2=\1\2${file.separator.string}\3"/>
+        </pathconvert>
+        <pathconvert pathsep=" " property="compile.test.addreads">
+            <union refid="have.tests.set"/>
+            <chainedmapper>
+                <firstmatchmapper>
+                    <regexpmapper from="${have.tests.test.src.dir.regexp}" to="\1"/>
+                </firstmatchmapper>
+                <regexpmapper from="(.*)" to="--add-reads \1=ALL-UNNAMED"/>
+                <filtermapper>
+                    <uniqfilter/>
+                </filtermapper>
+            </chainedmapper>
+        </pathconvert>
+        <j2semodularproject1:coalesce_keyvalue xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" entrySep="--patch-module " multiSep="${path.separator}" property="compile.test.patchmodules" value="${compile.test.patchmodule.internal}" valueSep="="/>
+        <property name="javac.test.moduleargs" value="${compile.test.patchmodules} ${compile.test.addreads}"/>
+    </target>
+    <target depends="-init-test-javac-module-properties" name="-init-test-module-properties">
+        <property location="${build.modules.dir}" name="test.module.build.location"/>
+        <property name="test.source.modulepath" value="${test.src.dir}/*/${test.src.dir.path}"/>
+        <property name="test.compile.modulepath" value="${javac.test.modulepath}:${build.modules.dir}"/>
+        <macrodef name="test-javac" uri="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <element implicit="true" name="additionalargs" optional="true"/>
+            <sequential>
+                <j2semodularproject1:javac xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" apgeneratedsrcdir="${build.test.modules.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.modules.dir}" excludes="@{excludes}" includes="@{includes}" modulepath="${test.compile.modulepath}" modulesourcepath="${test.source.modulepath}" processorpath="${javac.test.processorpath}">
+                    <customize>
+                        <compilerarg line="${javac.test.moduleargs}"/>
+                        <additionalargs/>
+                    </customize>
+                </j2semodularproject1:javac>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="do.depend.true" name="-compile-test-depend">
+        <j2semodularproject1:depend xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
+    </target>
+    <target depends="init,deps-jar,compile,-init-test-module-properties,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
+        <j2semodularproject1:test-javac xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1"/>
+        <j2semodularproject1:modsource_regexp xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" filePattern="(.*$)" modsource="${test.src.dir.path}" property="test.src.dir.path.regexp"/>
+        <echo message="Copying resources from ${test.src.dir}"/>
+        <copy todir="${build.test.modules.dir}">
+            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+            <regexpmapper from="${test.src.dir.path.regexp}" to="\1/\3"/>
+        </copy>
+    </target>
+    <target name="-post-compile-test">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
+    <target name="-pre-compile-test-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-jar,compile,-init-test-module-properties,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
+        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
+        <j2semodularproject1:force-recompile xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" destdir="${build.test.modules.dir}"/>
+        <j2semodularproject1:test-javac xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" includes="${javac.includes}"/>
+        <j2semodularproject1:modsource_regexp xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" filePattern="(.*$)" modsource="${test.src.dir.path}" property="test.src.dir.path.regexp"/>
+        <echo message="Copying resources from ${test.src.dir}"/>
+        <copy todir="${build.test.modules.dir}">
+            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+            <regexpmapper from="${test.src.dir.path.regexp}" to="\1/\3"/>
+        </copy>
+    </target>
+    <target name="-post-compile-test-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
+    <!--
+                =======================
+                TEST EXECUTION SECTION
+                =======================
+            -->
+    <target depends="init" if="have.tests" name="-pre-test-run">
+        <mkdir dir="${build.test.results.dir}"/>
+    </target>
+    <target name="-init-test-run">
+        <property name="run.modules.dir" value="${build.test.modules.dir}"/>
+    </target>
+    <target depends="init,compile-test,-init-test-run-module-properties,-pre-test-run" if="have.tests" name="-do-test-run">
+        <j2semodularproject1:test xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" includes="${includes}" testincludes="**/*Test.java"/>
+    </target>
+    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+    </target>
+    <target depends="init" if="have.tests" name="test-report"/>
+    <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
+    <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
+    <target depends="init" if="have.tests" name="-pre-test-run-single">
+        <mkdir dir="${build.test.results.dir}"/>
+    </target>
+    <target depends="init,compile-test-single,-init-test-run-module-properties,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
+        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
+        <j2semodularproject1:test xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+    </target>
+    <target depends="init,compile-test-single,-init-test-run-module-properties,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
+        <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
+        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
+        <j2semodularproject1:test xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+    </target>
+    <target depends="init,compile-test-single,-init-test-run-module-properties,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
+    <!--
+                =======================
+                TEST DEBUGGING SECTION
+                =======================
+            -->
+    <target depends="init,compile-test-single,-init-test-run-module-properties,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
+        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
+        <j2semodularproject1:test-debug xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
+    </target>
+    <target depends="init,compile-test-single,-init-test-run-module-properties,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
+        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
+        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
+        <j2semodularproject1:test-debug xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
+    </target>
+    <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
+        <j2semodularproject1:nbjpdastart xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" classpath="${debug.test.classpath}" name="${test.class}"/>
+    </target>
+    <target depends="init,compile-test-single,-init-test-run-module-properties,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
+    <target depends="init,compile-test-single,-init-test-run-module-properties,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
+    <target depends="debug-test-method" name="debug-single-method"/>
+    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
+        <property name="debug.modules.dir" value="${build.test.modules.dir}"/>
+        <j2semodularproject1:nbjpdareload xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1"/>
+    </target>
+    <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
+    <!--
+                =========================
+                APPLET EXECUTION SECTION
+                =========================
+            -->
+    <target name="run-applet">
+        <fail message="Applets are no longer supported by JDK 9"/>
+    </target>
+    <!--
+                =========================
+                APPLET DEBUGGING  SECTION
+                =========================
+            -->
+    <target name="-debug-start-debuggee-applet">
+        <fail message="Applets are no longer supported by JDK 9"/>
+    </target>
+    <target name="debug-applet">
+        <fail message="Applets are no longer supported by JDK 9"/>
+    </target>
+    <!--
+                ===============
+                CLEANUP SECTION
+                ===============
+            -->
+    <target name="-deps-clean-init" unless="built-clean.properties">
+        <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
+        <delete file="${built-clean.properties}" quiet="true"/>
+    </target>
+    <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
+        <echo level="warn" message="Cycle detected: DuskZ was already built"/>
+    </target>
+    <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
+        <mkdir dir="${build.dir}"/>
+        <touch file="${built-clean.properties}" verbose="false"/>
+        <property file="${built-clean.properties}" prefix="already.built.clean."/>
+        <antcall target="-warn-already-built-clean"/>
+        <propertyfile file="${built-clean.properties}">
+            <entry key="${basedir}" value=""/>
+        </propertyfile>
+    </target>
+    <target depends="init" name="-do-clean">
+        <delete dir="${build.dir}"/>
+        <delete dir="${dist.jlink.output}"/>
+        <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
+    </target>
+    <target name="-post-clean">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-recompile-netbeans-tasks-after-clean">
+        <antcall inheritall="false" target="-init-compile-netbeans-tasks"/>
+    </target>
+    <target depends="init,deps-clean,-do-clean,-recompile-netbeans-tasks-after-clean,-post-clean" description="Clean build products." name="clean"/>
+    <target name="-check-call-dep">
+        <property file="${call.built.properties}" prefix="already.built."/>
+        <condition property="should.call.dep">
+            <and>
+                <not>
+                    <isset property="already.built.${call.subproject}"/>
+                </not>
+                <available file="${call.script}"/>
+            </and>
+        </condition>
+    </target>
+    <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
+        <ant antfile="${call.script}" inheritall="false" target="${call.target}">
+            <propertyset>
+                <propertyref prefix="transfer."/>
+                <mapper from="transfer.*" to="*" type="glob"/>
+            </propertyset>
+        </ant>
+    </target>
+</project>
diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties
new file mode 100644 (file)
index 0000000..8559c1b
--- /dev/null
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=e72b4646
+build.xml.script.CRC32=76b9a1f6
+build.xml.stylesheet.CRC32=32069288@1.21
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=e72b4646
+nbproject/build-impl.xml.script.CRC32=09983720
+nbproject/build-impl.xml.stylesheet.CRC32=d1ebcf0f@1.21
diff --git a/nbproject/project.properties b/nbproject/project.properties
new file mode 100644 (file)
index 0000000..e0d5ce6
--- /dev/null
@@ -0,0 +1,111 @@
+annotation.processing.enabled=true
+annotation.processing.enabled.in.editor=false
+annotation.processing.processors.list=
+annotation.processing.run.all.processors=true
+annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
+application.title=DuskZ
+application.vendor=notzed
+build.classes.dir=${build.dir}/classes
+build.classes.excludes=**/*.java,**/*.form
+# This directory is removed when the project is cleaned:
+build.dir=build
+build.generated.dir=${build.dir}/generated
+build.generated.sources.dir=${build.dir}/generated-sources
+build.modules.dir=${build.dir}/modules
+# Only compile against the classpath explicitly listed here:
+build.sysclasspath=ignore
+build.test.classes.dir=${build.dir}/test/classes
+build.test.modules.dir=${build.dir}/test/modules
+build.test.results.dir=${build.dir}/test/results
+# Uncomment to specify the preferred debugger connection transport:
+#debug.transport=dt_socket
+debug.classpath=\
+    ${run.classpath}
+debug.modulepath=\
+    ${run.modulepath}
+debug.test.classpath=\
+    ${run.test.classpath}
+debug.test.modulepath=\
+    ${run.test.modulepath}
+# Files in build.classes.dir which should be excluded from distribution jar
+dist.archive.excludes=
+# This directory is removed when the project is cleaned:
+dist.dir=dist
+dist.javadoc.dir=${dist.dir}/javadoc
+dist.jlink.dir=${dist.dir}/jlink
+dist.jlink.output=${dist.jlink.dir}/DuskZ
+endorsed.classpath=
+excludes=
+file.reference.DuskZ-.lib=.lib
+file.reference.javafx.base.jar=/usr/local/javafx-sdk/lib/javafx.base.jar
+file.reference.javafx.controls.jar=/usr/local/javafx-sdk/lib/javafx.controls.jar
+file.reference.javafx.graphics.jar=/usr/local/javafx-sdk/lib/javafx.graphics.jar
+includes=**
+jar.compress=false
+javac.classpath=
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.deprecation=false
+javac.external.vm=false
+javac.modulepath=\
+    ${file.reference.javafx.base.jar}:\
+    ${file.reference.javafx.controls.jar}:\
+    ${file.reference.javafx.graphics.jar}:\
+    ${file.reference.DuskZ-.lib}
+javac.processormodulepath=
+javac.processorpath=\
+    ${javac.classpath}
+javac.source=19
+javac.target=19
+javac.test.classpath=\
+    ${javac.classpath}
+javac.test.modulepath=\
+    ${javac.modulepath}:\
+    ${build.modules.dir}
+javac.test.processorpath=\
+    ${javac.test.classpath}
+javadoc.additionalparam=
+javadoc.author=false
+javadoc.encoding=${source.encoding}
+javadoc.html5=false
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.private=false
+javadoc.reference.javafx.base.jar=/usr/local/javafx-sdk/javadoc/javafx-base-19.0.2.1-javadoc.jar
+javadoc.reference.javafx.controls.jar=/usr/local/javafx-sdk/javadoc/javafx-controls-19.0.2.1-javadoc.jar
+javadoc.reference.javafx.graphics.jar=/usr/local/javafx-sdk/javadoc/javafx-graphics-19.0.2.1-javadoc.jar
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+# The jlink additional root modules to resolve
+jlink.additionalmodules=
+# The jlink additional command line parameters
+jlink.additionalparam=
+jlink.launcher=true
+jlink.launcher.name=DuskZ
+main.class=duskz.client.fx.DuskFX
+platform.active=default_platform
+project.license=gpl20_notzed
+run.classpath=
+# Space-separated list of JVM arguments used when running the project.
+# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
+# To set system properties for unit tests define test-sys-prop.name=value:
+run.jvmargs=
+run.modulepath=\
+    ${javac.modulepath}:\
+    ${build.modules.dir}
+run.test.classpath=\
+    ${javac.test.classpath}
+run.test.modulepath=\
+    ${javac.test.modulepath}:\
+    ${build.test.modules.dir}
+source.encoding=UTF-8
+source.reference.javafx.base.jar=/usr/local/javafx-sdk/sources/javafx-base-19.0.2.1-sources.jar
+source.reference.javafx.controls.jar=/usr/local/javafx-sdk/sources/javafx-controls-19.0.2.1-sources.jar
+source.reference.javafx.graphics.jar=/usr/local/javafx-sdk/sources/javafx-graphics-19.0.2.1-sources.jar
+src.dir=src
+src.dir.path=classes
+test.src.dir=src
+test.src.dir.path=tests
diff --git a/nbproject/project.xml b/nbproject/project.xml
new file mode 100644 (file)
index 0000000..d65f501
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.java.j2semodule</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/j2se-modular-project/1">
+            <name>DuskZ</name>
+            <source-roots>
+                <root id="src.dir" pathref="src.dir.path"/>
+            </source-roots>
+            <test-roots>
+                <root id="test.src.dir" pathref="test.src.dir.path"/>
+            </test-roots>
+        </data>
+    </configuration>
+</project>
diff --git a/src/duskz.client/classes/module-info.java b/src/duskz.client/classes/module-info.java
new file mode 100644 (file)
index 0000000..5c79a77
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 Michael Zucchi
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+module duskz.client {
+
+       requires java.logging;
+       requires duskz.common;
+
+       requires javafx.graphics;
+       requires javafx.controls;
+
+       exports duskz.client.fx;
+
+
+}
diff --git a/src/duskz.common/classes/module-info.java b/src/duskz.common/classes/module-info.java
new file mode 100644 (file)
index 0000000..eba8bac
--- /dev/null
@@ -0,0 +1,6 @@
+
+module duskz.common {
+
+       exports duskz.protocol;
+       exports duskz.util;
+}
diff --git a/src/duskz.server/classes/module-info.java b/src/duskz.server/classes/module-info.java
new file mode 100644 (file)
index 0000000..8eeade9
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2023 Michael Zucchi
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+module duskz.server {
+       requires duskz.common;
+       requires java.scripting;
+
+       requires java.desktop;
+       requires java.logging;
+
+       requires jakarta.xml.bind;
+}