<?xml version="1.0" encoding="UTF-8"?>
<install4j version="11.0.4" transformSequenceNumber="11">
  <directoryPresets config="../../target/distribution-base/lib" />
  <application name="Spark" applicationId="3057-7228-2063-7466" mediaDir="../../target/" mediaFilePattern="spark_${compiler:sys.version}" compression="9" lzmaCompression="true" commonExternalFiles="true" shortName="Spark" publisher="Ignite Realtime" publisherWeb="http://www.igniterealtime.org" version="3.0.0" allPathsRelative="true" macVolumeId="ccfadd9e467a1ebd" javaMinVersion="1.8" jdkMode="runtimeJre">
    <languages skipLanguageSelection="true">
      <additionalLanguages>
        <language id="zh_CN" />
        <language id="zh_TW" />
        <language id="cs" />
        <language id="nl" />
        <language id="fi" />
        <language id="fr" />
        <language id="de" />
        <language id="it" />
        <language id="ja" />
        <language id="ko" />
        <language id="no" />
        <language id="pl" />
        <language id="pt_BR" />
        <language id="ru" />
        <language id="es" />
        <language id="sv" />
        <language id="tr" />
      </additionalLanguages>
    </languages>
  </application>
  <files>
    <mountPoints>
      <mountPoint id="1" />
    </mountPoints>
    <entries>
      <dirEntry mountPoint="1" file="../../target/distribution-base/" subDirectory="spark-distribution" />
    </entries>
  </files>
  <launchers>
    <launcher name="Spark" id="4" icnsFile="images/message.icns">
      <executable name="Spark" iconSet="true" iconFile="images/spark.ico" executableDir="." redirectStderr="false" executableMode="gui" singleInstance="true" serviceDescription="communicator" dpiAware="false">
        <versionInfo include="true" fileDescription="${compiler:sys.shortName}" legalCopyright="${compiler:sys.publisher}" internalName="${compiler:sys.shortName}" />
      </executable>
      <java mainClass="org.jivesoftware.launcher.Startup" vmParameters="&quot;-Dappdir=${launcher:sys.launcherDirectory}&quot; -Dsun.java2d.noddraw=true &quot;-Djava.library.path=${launcher:sys.launcherDirectory}\lib\windows&quot;" preferredVM="client">
        <classPath>
          <scanDirectory location="lib" />
          <directory location="resources" failOnError="false" />
          <scanDirectory location="lib/windows" failOnError="false" />
          <envVar name="macSystem" failOnError="false" />
          <scanDirectory location="lib/linux" failOnError="false" />
        </classPath>
        <nativeLibraryDirectories>
          <directory name="resources" />
        </nativeLibraryDirectories>
      </java>
      <vmOptionsFile mode="none" />
      <iconImageFiles>
        <file path="images/spark-16x16.png" />
        <file path="images/spark-24x24.png" />
        <file path="images/spark-32x32.png" />
        <file path="images/spark-60x60.png" />
        <file path="images/spark-64x64.png" />
      </iconImageFiles>
    </launcher>
    <launcher name="starter" id="21">
      <executable name="starter" executableDir="." executableMode="gui" dpiAware="false" />
      <java mainClass="org.jivesoftware.Restarter">
        <classPath>
          <scanDirectory location="lib" failOnError="false" />
        </classPath>
      </java>
      <vmOptionsFile mode="none" />
    </launcher>
  </launchers>
  <installerGui>
    <customCode>
      <archive location="../../target/distribution-base/lib/spark-core-*.jar" />
    </customCode>
    <applications>
      <application id="installer" beanClass="com.install4j.runtime.beans.applications.InstallerApplication" styleId="96" customIcnsFile="images/message.icns" customIcoFile="images/spark.ico" launchInNewProcess="false">
        <serializedBean>
          <property name="customIconImageFiles">
            <add>
              <object class="com.install4j.api.beans.ExternalFile">
                <string>images/spark-16x16.png</string>
              </object>
            </add>
            <add>
              <object class="com.install4j.api.beans.ExternalFile">
                <string>images/spark-32x32.png</string>
              </object>
            </add>
          </property>
          <property name="frameSizeClientArea" type="boolean" value="false" />
          <property name="useCustomIcon" type="boolean" value="true" />
        </serializedBean>
        <styleOverrides>
          <styleOverride name="Customize title bar" enabled="true">
            <group id="110" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup">
              <serializedBean>
                <property name="backgroundColor">
                  <object class="com.install4j.runtime.beans.LightOrDarkColor">
                    <object class="java.awt.Color">
                      <int>255</int>
                      <int>255</int>
                      <int>255</int>
                      <int>255</int>
                    </object>
                    <object class="java.awt.Color">
                      <int>49</int>
                      <int>52</int>
                      <int>53</int>
                      <int>255</int>
                    </object>
                  </object>
                </property>
                <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTHEAST" />
                <property name="imageFile">
                  <object class="com.install4j.api.beans.ExternalFile">
                    <string>images/spark-60x60.png</string>
                  </object>
                </property>
              </serializedBean>
            </group>
          </styleOverride>
          <styleOverride name="Custom watermark" enabled="true">
            <formComponent name="Watermark" id="100" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" />
          </styleOverride>
        </styleOverrides>
        <startup>
          <screen id="15" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0">
            <actions>
              <action id="84" beanClass="com.install4j.runtime.beans.actions.misc.RequestPrivilegesAction" actionElevationType="none" />
              <action id="195" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" rollbackBarrierExitCode="0">
                <serializedBean>
                  <property name="script">
                    <object class="com.install4j.api.beans.ScriptProperty">
                      <property name="value" type="string">if (!context.isUpdateInstallation()) {
    ApplicationRegistry.ApplicationInfo[] infos = 
        ApplicationRegistry.getApplicationInfoById(context.getApplicationId());
    if (infos.length &gt; 0) {
        return infos[0].getInstallationDirectory().getPath();
    }
}
return null;</property>
                    </object>
                  </property>
                  <property name="variableName" type="string">previousDir</property>
                </serializedBean>
              </action>
            </actions>
          </screen>
        </startup>
        <screens>
          <screen id="22" beanClass="com.install4j.runtime.beans.screens.WelcomeScreen" styleId="102">
            <actions>
              <action id="85" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" multiExec="true">
                <condition>context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition>
              </action>
            </actions>
            <formComponents>
              <formComponent id="12" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
                <serializedBean>
                  <property name="labelText" type="string">${form:welcomeMessage}</property>
                </serializedBean>
                <visibilityScript>!context.isConsole()</visibilityScript>
              </formComponent>
              <formComponent id="13" beanClass="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent">
                <serializedBean>
                  <property name="consoleScript">
                    <object class="com.install4j.api.beans.ScriptProperty">
                      <property name="value" type="string">String message = context.getMessage("ConsoleWelcomeLabel", context.getApplicationName());
return console.askOkCancel(message, true);
</property>
                    </object>
                  </property>
                </serializedBean>
              </formComponent>
              <formComponent id="14" beanClass="com.install4j.runtime.beans.formcomponents.UpdateAlertComponent" useExternalParametrization="true" externalParametrizationName="Update Alert" externalParametrizationMode="include">
                <externalParametrizationPropertyNames>
                  <propertyName>updateCheck</propertyName>
                </externalParametrizationPropertyNames>
              </formComponent>
              <formComponent id="15" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetTop="20">
                <serializedBean>
                  <property name="labelText" type="string">${i18n:ClickNext}</property>
                </serializedBean>
              </formComponent>
            </formComponents>
          </screen>
          <screen id="23" beanClass="com.install4j.runtime.beans.screens.InstallationDirectoryScreen">
            <condition>!context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition>
            <formComponents>
              <formComponent id="18" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="25">
                <serializedBean>
                  <property name="labelText" type="string">${i18n:SelectDirLabel(${compiler:sys.fullName})}</property>
                </serializedBean>
              </formComponent>
              <formComponent id="19" beanClass="com.install4j.runtime.beans.formcomponents.InstallationDirectoryChooserComponent" useExternalParametrization="true" externalParametrizationName="Installation Directory Chooser" externalParametrizationMode="include">
                <serializedBean>
                  <property name="requestFocus" type="boolean" value="true" />
                </serializedBean>
                <externalParametrizationPropertyNames>
                  <propertyName>suggestAppDir</propertyName>
                  <propertyName>validateApplicationId</propertyName>
                  <propertyName>existingDirWarning</propertyName>
                  <propertyName>checkWritable</propertyName>
                  <propertyName>manualEntryAllowed</propertyName>
                  <propertyName>checkFreeSpace</propertyName>
                  <propertyName>showRequiredDiskSpace</propertyName>
                  <propertyName>showFreeDiskSpace</propertyName>
                  <propertyName>allowSpacesOnUnix</propertyName>
                  <propertyName>validationScript</propertyName>
                  <propertyName>standardValidation</propertyName>
                </externalParametrizationPropertyNames>
              </formComponent>
            </formComponents>
          </screen>
          <screen id="24" beanClass="com.install4j.runtime.beans.screens.ComponentsScreen">
            <formComponents>
              <formComponent id="22" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
                <serializedBean>
                  <property name="labelText" type="string">${i18n:SelectComponentsLabel2}</property>
                </serializedBean>
                <visibilityScript>!context.isConsole()</visibilityScript>
              </formComponent>
              <formComponent id="23" beanClass="com.install4j.runtime.beans.formcomponents.ComponentSelectorComponent" useExternalParametrization="true" externalParametrizationName="Installation Components" externalParametrizationMode="include">
                <serializedBean>
                  <property name="fillVertical" type="boolean" value="true" />
                </serializedBean>
                <externalParametrizationPropertyNames>
                  <propertyName>selectionChangedScript</propertyName>
                </externalParametrizationPropertyNames>
              </formComponent>
            </formComponents>
          </screen>
          <screen id="25" beanClass="com.install4j.runtime.beans.screens.StandardProgramGroupScreen">
            <serializedBean>
              <property name="programGroupName" type="string">${compiler:sys.fullName}</property>
            </serializedBean>
            <condition>!context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition>
          </screen>
          <screen id="26" beanClass="com.install4j.runtime.beans.screens.FileAssociationsScreen">
            <formComponents>
              <formComponent id="27" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
                <serializedBean>
                  <property name="labelText" type="string">${i18n:SelectAssociationsLabel}</property>
                </serializedBean>
              </formComponent>
              <formComponent id="28" beanClass="com.install4j.runtime.beans.formcomponents.FileAssociationsComponent" useExternalParametrization="true" externalParametrizationName="File Associations" externalParametrizationMode="include">
                <serializedBean>
                  <property name="fillVertical" type="boolean" value="true" />
                </serializedBean>
                <externalParametrizationPropertyNames>
                  <propertyName>showSelectionButtons</propertyName>
                  <propertyName>selectionButtonPosition</propertyName>
                </externalParametrizationPropertyNames>
              </formComponent>
            </formComponents>
          </screen>
          <screen id="52" beanClass="com.install4j.runtime.beans.screens.AdditionalConfirmationsScreen">
            <formComponents>
              <formComponent id="32" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
                <serializedBean>
                  <property name="labelText" type="string">${form:confirmationMessage}</property>
                </serializedBean>
                <visibilityScript>!context.isConsole()</visibilityScript>
              </formComponent>
              <formComponent name="Add a desktop link" id="53" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
                <serializedBean>
                  <property name="checkboxText" type="string">${i18n:CreateDesktopIcon}</property>
                  <property name="initiallySelected" type="boolean" value="true" />
                  <property name="variableName" type="string">createDesktopLinkAction</property>
                </serializedBean>
              </formComponent>
              <formComponent name="Create a quick launch icon" id="55" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
                <serializedBean>
                  <property name="checkboxText" type="string">${i18n:CreateQuickLaunchIcon}</property>
                  <property name="initiallySelected" type="boolean" value="true" />
                  <property name="variableName" type="string">createQuicklaunchIconAction</property>
                </serializedBean>
                <initScript>component.setVisible(Util.isWindows());</initScript>
              </formComponent>
            </formComponents>
          </screen>
          <screen id="27" beanClass="com.install4j.runtime.beans.screens.InstallationScreen" rollbackBarrier="true">
            <actions>
              <action id="187" beanClass="com.install4j.runtime.beans.actions.UninstallPreviousAction" actionElevationType="none" />
              <action name="Execute previous uninstaller 32/64bit" id="218" beanClass="com.install4j.runtime.beans.actions.UninstallPreviousAction" actionElevationType="none">
                <serializedBean>
                  <property name="installationDirectory">
                    <object class="java.io.File">
                      <string>${installer:previousDir}</string>
                    </object>
                  </property>
                </serializedBean>
                <condition>context.getVariable("previousDir") != null</condition>
              </action>
              <action id="28" beanClass="com.install4j.runtime.beans.actions.InstallFilesAction" actionElevationType="elevated" failureStrategy="quit" errorMessage="${i18n:FileCorrupted}" />
              <action id="30" beanClass="com.install4j.runtime.beans.actions.desktop.RegisterAddRemoveAction" actionElevationType="elevated">
                <serializedBean>
                  <property name="itemName" type="string">${compiler:sys.fullName} ${compiler:sys.version}</property>
                </serializedBean>
              </action>
              <action id="51" beanClass="com.install4j.runtime.beans.actions.desktop.CreateDesktopLinkAction" actionElevationType="elevated">
                <serializedBean>
                  <property name="file">
                    <object class="java.io.File">
                      <string>Spark</string>
                    </object>
                  </property>
                  <property name="name" type="string">${compiler:sys.fullName}</property>
                </serializedBean>
                <condition>context.getBooleanVariable("createDesktopLinkAction")</condition>
              </action>
              <action id="29" beanClass="com.install4j.runtime.beans.actions.desktop.CreateProgramGroupAction" actionElevationType="elevated">
                <serializedBean>
                  <property name="addUninstaller" type="boolean" value="true" />
                  <property name="uninstallerMenuName" type="string">${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</property>
                </serializedBean>
                <condition>!context.getBooleanVariable("sys.programGroupDisabled")</condition>
              </action>
            </actions>
            <formComponents>
              <formComponent id="40" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent">
                <serializedBean>
                  <property name="initialStatusMessage" type="string">${i18n:WizardPreparing}</property>
                </serializedBean>
              </formComponent>
            </formComponents>
          </screen>
          <screen id="31" beanClass="com.install4j.runtime.beans.screens.FinishedScreen" styleId="102" finishScreen="true">
            <actions>
              <action id="41" beanClass="com.install4j.runtime.beans.actions.finish.ExecuteLauncherAction" actionElevationType="none">
                <serializedBean>
                  <property name="launcherId" type="string">4</property>
                </serializedBean>
                <condition>context.getBooleanVariable("executeLauncherAction") &amp;&amp; (!context.isUnattended())</condition>
              </action>
              <action id="83" beanClass="org.jivesoftware.launcher.Installer" />
            </actions>
            <formComponents>
              <formComponent id="45" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
                <serializedBean>
                  <property name="labelText" type="string">${form:finishedMessage}</property>
                </serializedBean>
              </formComponent>
              <formComponent name="Execute launcher" id="42" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
                <serializedBean>
                  <property name="checkboxText" type="string">${i18n:RunEntryExec("${compiler:sys.fullName}")}</property>
                  <property name="initiallySelected" type="boolean" value="true" />
                  <property name="variableName" type="string">executeLauncherAction</property>
                </serializedBean>
              </formComponent>
            </formComponents>
          </screen>
        </screens>
      </application>
      <application id="uninstaller" beanClass="com.install4j.runtime.beans.applications.UninstallerApplication" styleId="96" customIcnsFile="images/message.icns" customIcoFile="images/spark.ico" launchInNewProcess="false">
        <serializedBean>
          <property name="customIconImageFiles">
            <add>
              <object class="com.install4j.api.beans.ExternalFile">
                <string>images/spark-16x16.png</string>
              </object>
            </add>
            <add>
              <object class="com.install4j.api.beans.ExternalFile">
                <string>images/spark-32x32.png</string>
              </object>
            </add>
          </property>
          <property name="customMacosExecutableName" type="string">${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</property>
          <property name="frameSizeClientArea" type="boolean" value="false" />
          <property name="useCustomIcon" type="boolean" value="true" />
          <property name="useCustomMacosExecutableName" type="boolean" value="true" />
        </serializedBean>
        <styleOverrides>
          <styleOverride name="Customize title bar" enabled="true">
            <group id="110" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup">
              <serializedBean>
                <property name="backgroundColor">
                  <object class="com.install4j.runtime.beans.LightOrDarkColor">
                    <object class="java.awt.Color">
                      <int>255</int>
                      <int>255</int>
                      <int>255</int>
                      <int>255</int>
                    </object>
                    <object class="java.awt.Color">
                      <int>49</int>
                      <int>52</int>
                      <int>53</int>
                      <int>255</int>
                    </object>
                  </object>
                </property>
                <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTHEAST" />
                <property name="imageFile">
                  <object class="com.install4j.api.beans.ExternalFile">
                    <string>images/spark-60x60.png</string>
                  </object>
                </property>
              </serializedBean>
            </group>
          </styleOverride>
          <styleOverride name="Custom watermark" enabled="true">
            <formComponent name="Watermark" id="100" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" />
          </styleOverride>
        </styleOverrides>
        <startup>
          <screen id="16" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0">
            <actions>
              <action id="86" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" />
              <action id="87" beanClass="com.install4j.runtime.beans.actions.misc.RequireInstallerPrivilegesAction" actionElevationType="none" />
            </actions>
          </screen>
        </startup>
        <screens>
          <screen id="32" beanClass="com.install4j.runtime.beans.screens.UninstallWelcomeScreen" styleId="102">
            <formComponents>
              <formComponent id="53" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
                <serializedBean>
                  <property name="labelText" type="string">${form:welcomeMessage}</property>
                </serializedBean>
                <visibilityScript>!context.isConsole()</visibilityScript>
              </formComponent>
              <formComponent id="54" beanClass="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent">
                <serializedBean>
                  <property name="consoleScript">
                    <object class="com.install4j.api.beans.ScriptProperty">
                      <property name="value" type="string">String message = context.getMessage("ConfirmUninstall", context.getApplicationName());
return console.askYesNo(message, true);
</property>
                    </object>
                  </property>
                </serializedBean>
              </formComponent>
            </formComponents>
          </screen>
          <screen id="33" beanClass="com.install4j.runtime.beans.screens.UninstallationScreen">
            <actions>
              <action id="34" beanClass="com.install4j.runtime.beans.actions.UninstallFilesAction" actionElevationType="elevated" />
            </actions>
            <formComponents>
              <formComponent id="58" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent">
                <serializedBean>
                  <property name="initialStatusMessage" type="string">${i18n:UninstallerPreparing}</property>
                </serializedBean>
              </formComponent>
            </formComponents>
          </screen>
          <screen id="35" beanClass="com.install4j.runtime.beans.screens.UninstallFailureScreen" finishScreen="true" />
          <screen id="36" beanClass="com.install4j.runtime.beans.screens.UninstallSuccessScreen" styleId="102" finishScreen="true">
            <formComponents>
              <formComponent id="61" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
                <serializedBean>
                  <property name="labelText" type="string">${form:successMessage}</property>
                </serializedBean>
              </formComponent>
            </formComponents>
          </screen>
        </screens>
      </application>
    </applications>
    <styles defaultStyleId="96">
      <style name="Standard" id="96" beanClass="com.install4j.runtime.beans.styles.FormStyle">
        <formComponents>
          <formComponent name="Header" id="97" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetTop="0" insetBottom="0">
            <serializedBean>
              <property name="styleId" type="string">109</property>
            </serializedBean>
          </formComponent>
          <group name="Main" id="98" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup">
            <beans>
              <formComponent id="99" beanClass="com.install4j.runtime.beans.styles.ContentComponent" insetTop="10" insetLeft="20" insetBottom="10" insetRight="20" />
              <formComponent name="Watermark" id="100" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" insetTop="0" insetLeft="5" insetBottom="0" useExternalParametrization="true" externalParametrizationName="Custom watermark" externalParametrizationMode="include">
                <serializedBean>
                  <property name="enabledTitleText" type="boolean" value="false" />
                  <property name="labelText" type="string">install4j</property>
                </serializedBean>
                <externalParametrizationPropertyNames>
                  <propertyName>labelText</propertyName>
                </externalParametrizationPropertyNames>
              </formComponent>
              <formComponent name="Footer" id="101" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetTop="0" insetBottom="0">
                <serializedBean>
                  <property name="styleId" type="string">113</property>
                </serializedBean>
              </formComponent>
            </beans>
          </group>
        </formComponents>
      </style>
      <style name="Banner" id="102" beanClass="com.install4j.runtime.beans.styles.FormStyle">
        <formComponents>
          <group id="103" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
            <serializedBean>
              <property name="backgroundColor">
                <object class="com.install4j.runtime.beans.LightOrDarkColor">
                  <object class="java.awt.Color">
                    <int>255</int>
                    <int>255</int>
                    <int>255</int>
                    <int>255</int>
                  </object>
                  <object class="java.awt.Color">
                    <int>49</int>
                    <int>52</int>
                    <int>53</int>
                    <int>255</int>
                  </object>
                </object>
              </property>
              <property name="borderSides">
                <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
                  <property name="bottom" type="boolean" value="true" />
                </object>
              </property>
              <property name="imageEdgeBackgroundColor">
                <object class="com.install4j.runtime.beans.LightOrDarkColor">
                  <object class="java.awt.Color">
                    <int>25</int>
                    <int>143</int>
                    <int>220</int>
                    <int>255</int>
                  </object>
                  <object class="java.awt.Color">
                    <int>0</int>
                    <int>74</int>
                    <int>151</int>
                    <int>255</int>
                  </object>
                </object>
              </property>
              <property name="imageEdgeBorder" type="boolean" value="true" />
              <property name="imageFile">
                <object class="com.install4j.api.beans.ExternalFile">
                  <string>${compiler:sys.install4jHome}/resource/styles/wizard.png</string>
                </object>
              </property>
              <property name="insets">
                <object class="java.awt.Insets">
                  <int>5</int>
                  <int>10</int>
                  <int>10</int>
                  <int>10</int>
                </object>
              </property>
            </serializedBean>
            <beans>
              <formComponent id="104" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" insetTop="0">
                <serializedBean>
                  <property name="labelFontSizePercent" type="int" value="130" />
                  <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" />
                  <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" />
                </serializedBean>
              </formComponent>
              <formComponent id="105" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" />
              <formComponent id="106" beanClass="com.install4j.runtime.beans.styles.ContentComponent" insetTop="10" insetBottom="0" />
            </beans>
            <externalParametrizationPropertyNames>
              <propertyName>imageAnchor</propertyName>
              <propertyName>imageEdgeBackgroundColor</propertyName>
              <propertyName>imageFile</propertyName>
            </externalParametrizationPropertyNames>
          </group>
          <formComponent id="107" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetBottom="0">
            <serializedBean>
              <property name="styleId" type="string">113</property>
            </serializedBean>
          </formComponent>
        </formComponents>
      </style>
      <group name="Style components" id="108" beanClass="com.install4j.runtime.beans.groups.StyleGroup">
        <beans>
          <style name="Standard header" id="109" beanClass="com.install4j.runtime.beans.styles.FormStyle">
            <serializedBean>
              <property name="fillVertical" type="boolean" value="false" />
              <property name="standalone" type="boolean" value="false" />
              <property name="verticalAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTH" />
            </serializedBean>
            <formComponents>
              <group id="110" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize title bar" externalParametrizationMode="include">
                <serializedBean>
                  <property name="backgroundColor">
                    <object class="com.install4j.runtime.beans.LightOrDarkColor">
                      <object class="java.awt.Color">
                        <int>255</int>
                        <int>255</int>
                        <int>255</int>
                        <int>255</int>
                      </object>
                      <object class="java.awt.Color">
                        <int>49</int>
                        <int>52</int>
                        <int>53</int>
                        <int>255</int>
                      </object>
                    </object>
                  </property>
                  <property name="borderSides">
                    <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
                      <property name="bottom" type="boolean" value="true" />
                    </object>
                  </property>
                  <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTHEAST" />
                  <property name="imageEdgeBorderWidth" type="int" value="2" />
                  <property name="imageFile">
                    <object class="com.install4j.api.beans.ExternalFile">
                      <string>icon:${installer:sys.installerApplicationMode}_header.png</string>
                    </object>
                  </property>
                  <property name="imageInsets">
                    <object class="java.awt.Insets">
                      <int>0</int>
                      <int>5</int>
                      <int>1</int>
                      <int>1</int>
                    </object>
                  </property>
                  <property name="insets">
                    <object class="java.awt.Insets">
                      <int>0</int>
                      <int>20</int>
                      <int>0</int>
                      <int>10</int>
                    </object>
                  </property>
                </serializedBean>
                <beans>
                  <formComponent name="Title" id="111" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent">
                    <serializedBean>
                      <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" />
                      <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" />
                    </serializedBean>
                  </formComponent>
                  <formComponent name="Subtitle" id="112" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" insetLeft="8">
                    <serializedBean>
                      <property name="titleType" type="enum" class="com.install4j.runtime.beans.styles.TitleType" value="SUB_TITLE" />
                    </serializedBean>
                  </formComponent>
                </beans>
                <externalParametrizationPropertyNames>
                  <propertyName>backgroundColor</propertyName>
                  <propertyName>foregroundColor</propertyName>
                  <propertyName>imageAnchor</propertyName>
                  <propertyName>imageFile</propertyName>
                  <propertyName>imageOverlap</propertyName>
                </externalParametrizationPropertyNames>
              </group>
            </formComponents>
          </style>
          <style name="Standard footer" id="113" beanClass="com.install4j.runtime.beans.styles.FormStyle">
            <serializedBean>
              <property name="fillVertical" type="boolean" value="false" />
              <property name="standalone" type="boolean" value="false" />
              <property name="verticalAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="SOUTH" />
            </serializedBean>
            <formComponents>
              <group id="114" beanClass="com.install4j.runtime.beans.groups.HorizontalFormComponentGroup">
                <serializedBean>
                  <property name="alignFirstLabel" type="boolean" value="false" />
                  <property name="insets">
                    <object class="java.awt.Insets">
                      <int>3</int>
                      <int>5</int>
                      <int>8</int>
                      <int>5</int>
                    </object>
                  </property>
                </serializedBean>
                <beans>
                  <formComponent id="115" beanClass="com.install4j.runtime.beans.formcomponents.SpringComponent" />
                  <formComponent name="Back button" id="116" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent">
                    <serializedBean>
                      <property name="buttonText" type="string">&lt; ${i18n:ButtonBack}</property>
                      <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="PREVIOUS" />
                    </serializedBean>
                  </formComponent>
                  <formComponent name="Next button" id="117" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent">
                    <serializedBean>
                      <property name="buttonText" type="string">${i18n:ButtonNext} &gt;</property>
                      <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="NEXT" />
                    </serializedBean>
                  </formComponent>
                  <formComponent name="Cancel button" id="118" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent" insetLeft="5">
                    <serializedBean>
                      <property name="buttonText" type="string">${i18n:ButtonCancel}</property>
                      <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="CANCEL" />
                    </serializedBean>
                  </formComponent>
                </beans>
              </group>
            </formComponents>
          </style>
        </beans>
      </group>
    </styles>
  </installerGui>
  <mediaSets>
    <windows name="Windows" id="2" installDir="${compiler:sys.fullName}" architecture="32">
      <exclude>
        <entry location="bin/startup.sh" />
        <entry location="documentation" />
        <entry location="lib/linux" />
        <entry location="lib/linux64" />
        <entry location="lib/mac" />
        <entry location="plugins/apple.jar" />
        <entry location="plugins/growl.jar" />
        <entry location="resources/Info.plist" />
        <entry location="resources/startup.sh" />
      </exclude>
      <jreBundle jreBundleSource="none" />
    </windows>
    <windows name="Windows (with JRE)" id="186" mediaFileName="spark_${compiler:sys.version}-with-jre" installDir="${compiler:sys.fullName}" architecture="32">
      <exclude>
        <entry location="bin/startup.sh" />
        <entry location="documentation" />
        <entry location="lib/linux" />
        <entry location="lib/linux64" />
        <entry location="lib/mac" />
        <entry location="plugins/apple.jar" />
        <entry location="plugins/growl.jar" />
        <entry location="resources/Info.plist" />
        <entry location="resources/startup.sh" />
      </exclude>
      <jreBundle jreBundleSource="preCreated" includedJre="windows-x86-1.8.0_202" />
    </windows>
    <windows name="Windows 64bit" id="190" mediaFileName="spark_${compiler:sys.version}-64bit" installDir="${compiler:sys.fullName}" architecture="64">
      <exclude>
        <entry location="bin/startup.sh" />
        <entry location="documentation" />
        <entry location="lib/linux" />
        <entry location="lib/linux64" />
        <entry location="lib/mac" />
        <entry location="plugins/apple.jar" />
        <entry location="plugins/growl.jar" />
        <entry location="resources/Info.plist" />
        <entry location="resources/startup.sh" />
      </exclude>
      <jreBundle jreBundleSource="none" />
    </windows>
    <windows name="Windows ARM" id="208" mediaFileName="spark_${compiler:sys.version}-arm" installDir="${compiler:sys.fullName}" architecture="arm64">
      <exclude>
        <entry location="bin/startup.sh" />
        <entry location="documentation" />
        <entry location="lib/linux" />
        <entry location="lib/linux64" />
        <entry location="lib/mac" />
        <entry location="plugins/apple.jar" />
        <entry location="plugins/growl.jar" />
        <entry location="resources/Info.plist" />
        <entry location="resources/startup.sh" />
      </exclude>
      <jreBundle jreBundleSource="none" />
    </windows>
    <windows name="Windows MSI" id="198" installDir="${compiler:sys.fullName}" msi="true" architecture="32">
      <exclude>
        <entry location="bin/startup.sh" />
        <entry location="documentation" />
        <entry location="lib/linux" />
        <entry location="lib/linux64" />
        <entry location="lib/mac" />
        <entry location="plugins/apple.jar" />
        <entry location="plugins/growl.jar" />
        <entry location="resources/Info.plist" />
        <entry location="resources/startup.sh" />
      </exclude>
      <jreBundle jreBundleSource="none" />
    </windows>
    <windows name="Windows MSI (with JRE)" id="206" mediaFileName="spark_${compiler:sys.version}-with-jre" installDir="${compiler:sys.fullName}" msi="true" architecture="32">
      <exclude>
        <entry location="bin/startup.sh" />
        <entry location="documentation" />
        <entry location="lib/linux" />
        <entry location="lib/linux64" />
        <entry location="lib/mac" />
        <entry location="plugins/apple.jar" />
        <entry location="plugins/growl.jar" />
        <entry location="resources/Info.plist" />
        <entry location="resources/startup.sh" />
      </exclude>
      <jreBundle jreBundleSource="preCreated" includedJre="windows-x86-1.8.0_202" />
    </windows>
    <windows name="Windows MSI 64bit" id="201" mediaFileName="spark_${compiler:sys.version}-64bit" installDir="${compiler:sys.fullName}" msi="true" architecture="64">
      <exclude>
        <entry location="bin/startup.sh" />
        <entry location="documentation" />
        <entry location="lib/linux" />
        <entry location="lib/linux64" />
        <entry location="lib/mac" />
        <entry location="plugins/apple.jar" />
        <entry location="plugins/growl.jar" />
        <entry location="resources/Info.plist" />
        <entry location="resources/startup.sh" />
      </exclude>
      <jreBundle jreBundleSource="none" />
    </windows>
    <unixInstaller name="Unix Installer" id="149">
      <exclude>
        <entry location="bin/startup.bat" />
        <entry location="documentation" />
        <entry location="lib/mac" />
        <entry location="lib/windows" />
        <entry location="lib/windows64" />
        <entry location="plugins/apple.jar" />
        <entry location="plugins/flashing.jar" />
        <entry location="plugins/growl.jar" />
        <entry location="resources/Info.plist" />
        <entry location="resources/jniwrap.dll" />
        <entry location="resources/startup.bat" />
        <entry location="resources/systeminfo.dll" />
      </exclude>
      <jreBundle jreBundleSource="none" />
    </unixInstaller>
    <unixArchive name="Unix Archive" id="13">
      <exclude>
        <entry location="bin/startup.bat" />
        <entry location="documentation" />
        <entry location="lib/mac" />
        <entry location="lib/windows" />
        <entry location="lib/windows64" />
        <entry location="plugins/apple.jar" />
        <entry location="plugins/flashing.jar" />
        <entry location="plugins/growl.jar" />
        <entry location="resources/Info.plist" />
        <entry location="resources/jniwrap.dll" />
        <entry location="resources/startup.bat" />
        <entry location="resources/systeminfo.dll" />
      </exclude>
      <jreBundle jreBundleSource="none" />
    </unixArchive>
    <linuxRPM name="Linux RPM" id="162" dependencies="java &gt;= 1.8">
      <exclude>
        <entry location="bin/startup.bat" />
        <entry location="documentation" />
        <entry location="lib/mac" />
        <entry location="lib/windows" />
        <entry location="lib/windows64" />
        <entry location="plugins/apple.jar" />
        <entry location="plugins/flashing.jar" />
        <entry location="plugins/growl.jar" />
        <entry location="resources/Info.plist" />
        <entry location="resources/jniwrap.dll" />
        <entry location="resources/startup.bat" />
        <entry location="resources/systeminfo.dll" />
      </exclude>
      <jreBundle jreBundleSource="none" />
    </linuxRPM>
    <linuxDeb name="Linux Deb Archive" id="166" dependencies="default-jre | java-runtime (&gt;= 8)">
      <exclude>
        <entry location="bin/startup.bat" />
        <entry location="documentation" />
        <entry location="lib/mac" />
        <entry location="lib/windows" />
        <entry location="lib/windows64" />
        <entry location="plugins/apple.jar" />
        <entry location="plugins/flashing.jar" />
        <entry location="plugins/growl.jar" />
        <entry location="resources/Info.plist" />
        <entry location="resources/jniwrap.dll" />
        <entry location="resources/startup.bat" />
        <entry location="resources/systeminfo.dll" />
      </exclude>
      <jreBundle jreBundleSource="none" />
    </linuxDeb>
    <macosArchive name="MacOS Single Bundle Archive" id="213" architecture="amd64" launcherId="4">
      <exclude>
        <entry location="bin/startup.bat" />
        <entry location="documentation" />
        <entry location="lib/linux" />
        <entry location="lib/linux64" />
        <entry location="lib/windows" />
        <entry location="lib/windows64" />
        <entry location="plugins/flashing.jar" />
        <entry location="resources/jniwrap.dll" />
        <entry location="resources/startup.bat" />
        <entry location="resources/systeminfo.dll" />
      </exclude>
      <jreBundle jreBundleSource="none" />
    </macosArchive>
    <macosArchive name="MacOS Single Bundle Archive (with JRE)" id="217" mediaFileName="spark_${compiler:sys.version}-with-jre" architecture="amd64" launcherId="4">
      <exclude>
        <entry location="bin/startup.bat" />
        <entry location="documentation" />
        <entry location="lib/linux" />
        <entry location="lib/linux64" />
        <entry location="lib/windows" />
        <entry location="lib/windows64" />
        <entry location="plugins/flashing.jar" />
        <entry location="resources/jniwrap.dll" />
        <entry location="resources/startup.bat" />
        <entry location="resources/systeminfo.dll" />
      </exclude>
      <jreBundle jreBundleSource="preCreated" includedJre="macosx-amd64-1.8.0_202" />
    </macosArchive>
  </mediaSets>
</install4j>
