Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/Dialer.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/Dialer.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/Banner.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/Banner.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/TypeLib.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/TypeLib.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/LangDLL.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/LangDLL.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/InstallOptions.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/InstallOptions.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/StartMenu.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/StartMenu.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/nsDialogs.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/nsDialogs.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/System.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/System.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/AdvSplash.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/AdvSplash.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/VPatch.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/VPatch.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/nsExec.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/nsExec.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/Math.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/Math.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/Splash.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/Splash.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/UserInfo.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/UserInfo.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/BgImage.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/BgImage.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-unicode/NSISdl.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-unicode/NSISdl.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/TypeLib.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/TypeLib.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/LangDLL.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/LangDLL.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/InstallOptions.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/InstallOptions.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/StartMenu.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/StartMenu.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/nsDialogs.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/nsDialogs.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/System.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/System.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/AdvSplash.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/AdvSplash.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/VPatch.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/VPatch.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/nsExec.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/nsExec.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/Math.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/Math.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/Splash.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/Splash.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/UserInfo.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/UserInfo.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/BgImage.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/BgImage.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/NSISdl.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/NSISdl.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/Dialer.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/Dialer.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis/Plugins/x86-ansi/Banner.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis/Plugins/x86-ansi/Banner.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/NSIS.chm
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/NSIS.chm
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Include/Library.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/Library.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/Library.nsh	(revision 2961)
@@ -0,0 +1,870 @@
+#
+# Library.nsh
+#
+# A system for the installation and uninstallation of dynamic
+# link libraries (DLL) and type libraries (TLB). Using this
+# system you can handle the complete setup with one single
+# line of code:
+#
+#  * File copying
+#  * File copying on reboot
+#  * Version checks
+#  * Registration and unregistration
+#  * Registration and unregistration on reboot
+#  * Shared DLL counting
+#  * Windows File Protection checks
+#
+# For more information, read appendix B in the documentation.
+#
+
+!verbose push
+!verbose 3
+
+!ifndef LIB_INCLUDED
+
+!define LIB_INCLUDED
+
+!ifndef SHCNE_ASSOCCHANGED
+  !define SHCNE_ASSOCCHANGED 0x08000000
+!endif
+!ifndef SHCNF_IDLIST
+  !define SHCNF_IDLIST 0x0000
+!endif
+
+!define REGTOOL_VERSION v3
+!define REGTOOL_KEY NSIS.Library.RegTool.${REGTOOL_VERSION}
+
+!include LogicLib.nsh
+!include x64.nsh
+
+### GetParent macro, don't pass $1 or $2 as INTPUT or OUTPUT
+!macro __InstallLib_Helper_GetParent INPUT OUTPUT
+
+  # Copied from FileFunc.nsh
+
+  StrCpy ${OUTPUT} ${INPUT}
+
+  Push $1
+  Push $2
+
+  StrCpy $2 ${OUTPUT} 1 -1
+  StrCmp $2 '\' 0 +3
+  StrCpy ${OUTPUT} ${OUTPUT} -1
+  goto -3
+
+  StrCpy $1 0
+  IntOp $1 $1 - 1
+  StrCpy $2 ${OUTPUT} 1 $1
+  StrCmp $2 '\' +2
+  StrCmp $2 '' 0 -3
+  StrCpy ${OUTPUT} ${OUTPUT} $1
+
+  Pop $2
+  Pop $1
+
+!macroend
+
+### Initialize session id (GUID)
+!macro __InstallLib_Helper_InitSession
+
+  !ifndef __InstallLib_SessionGUID_Defined
+
+    !define __InstallLib_SessionGUID_Defined
+
+    Var /GLOBAL __INSTALLLLIB_SESSIONGUID
+
+  !endif
+
+  !define __InstallLib_Helper_InitSession_Label "Library_${__FILE__}${__LINE__}"
+
+  StrCmp $__INSTALLLLIB_SESSIONGUID '' 0 "${__InstallLib_Helper_InitSession_Label}"
+
+    System::Call 'ole32::CoCreateGuid(g .s)'
+    Pop $__INSTALLLLIB_SESSIONGUID
+
+  "${__InstallLib_Helper_InitSession_Label}:"
+
+  !undef __InstallLib_Helper_InitSession_Label
+
+!macroend
+
+### Add a RegTool entry to register after reboot
+!macro __InstallLib_Helper_AddRegToolEntry mode filename tempdir
+
+  Push $R0
+  Push $R1
+  Push $R2
+  Push $R3
+
+  ;------------------------
+  ;Copy the parameters
+
+  Push "${filename}"
+  Push "${tempdir}"
+
+  Pop $R2 ; temporary directory
+  Pop $R1 ; file name to register
+
+  ;------------------------
+  ;Initialize session id
+
+  !insertmacro __InstallLib_Helper_InitSession
+
+  ;------------------------
+  ;Advance counter
+
+  StrCpy $R0 0
+  ReadRegDWORD $R0 HKLM "Software\${REGTOOL_KEY}\$__INSTALLLLIB_SESSIONGUID" "count"
+  IntOp $R0 $R0 + 1
+  WriteRegDWORD HKLM "Software\${REGTOOL_KEY}\$__INSTALLLLIB_SESSIONGUID" "count" "$R0"
+
+  ;------------------------
+  ;Setup RegTool
+
+  ReadRegStr $R3 HKLM "Software\Microsoft\Windows\CurrentVersion\RunOnce" "${REGTOOL_KEY}"
+  StrCpy $R3 $R3 -4 1
+  IfFileExists $R3 +3
+
+    File /oname=$R2\${REGTOOL_KEY}.$__INSTALLLLIB_SESSIONGUID.exe "${NSISDIR}\Bin\RegTool.bin"
+    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\RunOnce" \
+      "${REGTOOL_KEY}" '"$R2\${REGTOOL_KEY}.$__INSTALLLLIB_SESSIONGUID.exe" /S'
+
+  ;------------------------
+  ;Add RegTool entry
+
+  WriteRegStr HKLM "Software\${REGTOOL_KEY}\$__INSTALLLLIB_SESSIONGUID" "$R0.file" "$R1"
+  WriteRegStr HKLM "Software\${REGTOOL_KEY}\$__INSTALLLLIB_SESSIONGUID" "$R0.mode" "${mode}"
+
+  Pop $R3
+  Pop $R2
+  Pop $R1
+  Pop $R0
+
+!macroend
+
+### Get library version
+!macro __InstallLib_Helper_GetVersion TYPE FILE
+
+  !tempfile LIBRARY_TEMP_NSH
+
+  !ifdef NSIS_WIN32_MAKENSIS
+
+    !execute '"${NSISDIR}\Bin\LibraryLocal.exe" "${TYPE}" "${FILE}" "${LIBRARY_TEMP_NSH}"'
+
+  !else
+
+    !execute 'LibraryLocal "${TYPE}" "${FILE}" "${LIBRARY_TEMP_NSH}"'
+
+    !if ${TYPE} == 'T'
+
+      !warning "LibraryLocal currently supports TypeLibs version detection on Windows only"
+
+    !endif
+
+  !endif
+
+  !include "${LIBRARY_TEMP_NSH}"
+  !delfile "${LIBRARY_TEMP_NSH}"
+  !undef LIBRARY_TEMP_NSH
+
+!macroend
+
+### Install library
+!macro InstallLib libtype shared install localfile destfile tempbasedir
+
+  !verbose push
+  !verbose 3
+
+  Push $R0
+  Push $R1
+  Push $R2
+  Push $R3
+  Push $R4
+  Push $R5
+
+  ;------------------------
+  ;Define
+
+  !define INSTALLLIB_UNIQUE "${__FILE__}${__LINE__}"
+
+  !define INSTALLLIB_LIBTYPE_${libtype}
+  !define INSTALLLIB_LIBTYPE_SET INSTALLLIB_LIBTYPE_${libtype}
+  !define INSTALLLIB_SHARED_${shared}
+  !define INSTALLLIB_SHARED_SET INSTALLLIB_SHARED_${shared}
+  !define INSTALLLIB_INSTALL_${install}
+  !define INSTALLLIB_INSTALL_SET INSTALLLIB_INSTALL_${install}
+
+  ;------------------------
+  ;Validate
+
+  !ifndef INSTALLLIB_LIBTYPE_DLL & INSTALLLIB_LIBTYPE_REGDLL & INSTALLLIB_LIBTYPE_TLB & \
+    INSTALLLIB_LIBTYPE_REGDLLTLB & INSTALLLIB_LIBTYPE_REGEXE
+    !error "InstallLib: Incorrect setting for parameter: libtype"
+  !endif
+
+  !ifndef INSTALLLIB_INSTALL_REBOOT_PROTECTED & INSTALLLIB_INSTALL_REBOOT_NOTPROTECTED & \
+    INSTALLLIB_INSTALL_NOREBOOT_PROTECTED & INSTALLLIB_INSTALL_NOREBOOT_NOTPROTECTED
+    !error "InstallLib: Incorrect setting for parameter: install"
+  !endif
+
+  ;------------------------
+  ;x64 settings
+
+  !ifdef LIBRARY_X64
+
+    ${DisableX64FSRedirection}
+
+  !endif
+
+  ;------------------------
+  ;Copy the parameters used on run-time to a variable
+  ;This allows the usage of variables as parameter
+
+  StrCpy $R4 "${destfile}"
+  StrCpy $R5 "${tempbasedir}"
+
+  ;------------------------
+  ;Shared library count
+
+  !ifndef INSTALLLIB_SHARED_NOTSHARED
+
+    StrCmp ${shared} "" 0 "installlib.noshareddllincrease_${INSTALLLIB_UNIQUE}"
+
+      !ifdef LIBRARY_X64
+
+        SetRegView 64
+
+      !endif
+
+      ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R4
+      ClearErrors
+      IntOp $R0 $R0 + 1
+      WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R4 $R0
+
+      !ifdef LIBRARY_X64
+
+        SetRegView lastused
+
+      !endif
+
+    "installlib.noshareddllincrease_${INSTALLLIB_UNIQUE}:"
+
+  !endif
+
+  ;------------------------
+  ;Check Windows File Protection
+
+  !ifdef INSTALLLIB_INSTALL_REBOOT_PROTECTED | INSTALLLIB_INSTALL_NOREBOOT_PROTECTED
+
+    !define LIBRARY_DEFINE_DONE_LABEL
+
+    System::Call "sfc::SfcIsFileProtected(i 0, w R4) i.R0"
+
+      StrCmp $R0 "error" "installlib.notprotected_${INSTALLLIB_UNIQUE}"
+      StrCmp $R0 "0" "installlib.notprotected_${INSTALLLIB_UNIQUE}"
+
+    Goto "installlib.done_${INSTALLLIB_UNIQUE}"
+
+    "installlib.notprotected_${INSTALLLIB_UNIQUE}:"
+
+  !endif
+
+  ;------------------------
+  ;Check file
+
+  IfFileExists $R4 0 "installlib.copy_${INSTALLLIB_UNIQUE}"
+
+  ;------------------------
+  ;Get version information
+
+  !ifndef LIBRARY_IGNORE_VERSION
+
+    !insertmacro __InstallLib_Helper_GetVersion D "${LOCALFILE}"
+
+    !ifdef LIBRARY_VERSION_FILENOTFOUND
+      !error "InstallLib: The library ${LOCALFILE} could not be found."
+    !endif
+
+    !ifndef LIBRARY_VERSION_NONE
+
+      !define LIBRARY_DEFINE_UPGRADE_LABEL
+      !define LIBRARY_DEFINE_REGISTER_LABEL
+
+      StrCpy $R0 ${LIBRARY_VERSION_HIGH}
+      StrCpy $R1 ${LIBRARY_VERSION_LOW}
+
+      GetDLLVersion $R4 $R2 $R3
+
+      !undef LIBRARY_VERSION_HIGH
+      !undef LIBRARY_VERSION_LOW
+
+      !ifndef INSTALLLIB_LIBTYPE_TLB & INSTALLLIB_LIBTYPE_REGDLLTLB
+
+        IntCmpU $R0 $R2 0 "installlib.register_${INSTALLLIB_UNIQUE}" "installlib.upgrade_${INSTALLLIB_UNIQUE}"
+        IntCmpU $R1 $R3 "installlib.register_${INSTALLLIB_UNIQUE}" "installlib.register_${INSTALLLIB_UNIQUE}" \
+          "installlib.upgrade_${INSTALLLIB_UNIQUE}"
+
+      !else
+
+        !insertmacro __InstallLib_Helper_GetVersion T "${LOCALFILE}"
+
+        !ifdef LIBRARY_VERSION_FILENOTFOUND
+          !error "InstallLib: The library ${LOCALFILE} could not be found."
+        !endif
+
+        !ifndef LIBRARY_VERSION_NONE
+
+          IntCmpU $R0 $R2 0 "installlib.register_${INSTALLLIB_UNIQUE}" "installlib.upgrade_${INSTALLLIB_UNIQUE}"
+          IntCmpU $R1 $R3 0 "installlib.register_${INSTALLLIB_UNIQUE}" \
+            "installlib.upgrade_${INSTALLLIB_UNIQUE}"
+
+        !else
+
+          IntCmpU $R0 $R2 0 "installlib.register_${INSTALLLIB_UNIQUE}" "installlib.upgrade_${INSTALLLIB_UNIQUE}"
+          IntCmpU $R1 $R3 "installlib.register_${INSTALLLIB_UNIQUE}" "installlib.register_${INSTALLLIB_UNIQUE}" \
+            "installlib.upgrade_${INSTALLLIB_UNIQUE}"
+
+        !endif
+
+      !endif
+
+    !else
+
+      !undef LIBRARY_VERSION_NONE
+
+      !ifdef INSTALLLIB_LIBTYPE_TLB | INSTALLLIB_LIBTYPE_REGDLLTLB
+
+        !insertmacro __InstallLib_Helper_GetVersion T "${LOCALFILE}"
+
+      !endif
+
+    !endif
+
+    !ifdef INSTALLLIB_LIBTYPE_TLB | INSTALLLIB_LIBTYPE_REGDLLTLB
+
+      !ifndef LIBRARY_VERSION_NONE
+
+        !ifndef LIBRARY_DEFINE_UPGRADE_LABEL
+
+          !define LIBRARY_DEFINE_UPGRADE_LABEL
+
+        !endif
+
+        !ifndef LIBRARY_DEFINE_REGISTER_LABEL
+
+          !define LIBRARY_DEFINE_REGISTER_LABEL
+
+        !endif
+
+        StrCpy $R0 ${LIBRARY_VERSION_HIGH}
+        StrCpy $R1 ${LIBRARY_VERSION_LOW}
+
+        TypeLib::GetLibVersion $R4
+        Pop $R3
+        Pop $R2
+
+        IntCmpU $R0 $R2 0 "installlib.register_${INSTALLLIB_UNIQUE}" "installlib.upgrade_${INSTALLLIB_UNIQUE}"
+        IntCmpU $R1 $R3 "installlib.register_${INSTALLLIB_UNIQUE}" "installlib.register_${INSTALLLIB_UNIQUE}" \
+          "installlib.upgrade_${INSTALLLIB_UNIQUE}"
+
+        !undef LIBRARY_VERSION_HIGH
+        !undef LIBRARY_VERSION_LOW
+
+      !else
+
+        !undef LIBRARY_VERSION_NONE
+
+      !endif
+
+    !endif
+
+  !endif
+
+  ;------------------------
+  ;Upgrade
+
+  !ifdef LIBRARY_DEFINE_UPGRADE_LABEL
+
+    !undef LIBRARY_DEFINE_UPGRADE_LABEL
+
+    "installlib.upgrade_${INSTALLLIB_UNIQUE}:"
+
+  !endif
+
+  ;------------------------
+  ;Copy
+
+  !ifdef INSTALLLIB_INSTALL_NOREBOOT_PROTECTED | INSTALLLIB_INSTALL_NOREBOOT_NOTPROTECTED
+
+    "installlib.copy_${INSTALLLIB_UNIQUE}:"
+
+    StrCpy $R0 $R4
+    Call ":installlib.file_${INSTALLLIB_UNIQUE}"
+
+  !else
+
+    !ifndef LIBRARY_DEFINE_REGISTER_LABEL
+
+      !define LIBRARY_DEFINE_REGISTER_LABEL
+
+    !endif
+
+    !ifndef LIBRARY_DEFINE_DONE_LABEL
+
+      !define LIBRARY_DEFINE_DONE_LABEL
+
+    !endif
+
+    ClearErrors
+
+    StrCpy $R0 $R4
+    Call ":installlib.file_${INSTALLLIB_UNIQUE}"
+
+    IfErrors 0 "installlib.register_${INSTALLLIB_UNIQUE}"
+
+    SetOverwrite lastused
+
+    ;------------------------
+    ;Copy on reboot
+
+    GetTempFileName $R0 $R5
+    Call ":installlib.file_${INSTALLLIB_UNIQUE}"
+    Rename /REBOOTOK $R0 $R4
+
+    ;------------------------
+    ;Register on reboot
+
+    Call ":installlib.regonreboot_${INSTALLLIB_UNIQUE}"
+
+    Goto "installlib.done_${INSTALLLIB_UNIQUE}"
+
+    "installlib.copy_${INSTALLLIB_UNIQUE}:"
+      StrCpy $R0 $R4
+      Call ":installlib.file_${INSTALLLIB_UNIQUE}"
+
+  !endif
+
+  ;------------------------
+  ;Register
+
+  !ifdef LIBRARY_DEFINE_REGISTER_LABEL
+
+    !undef LIBRARY_DEFINE_REGISTER_LABEL
+
+    "installlib.register_${INSTALLLIB_UNIQUE}:"
+
+  !endif
+
+  !ifdef INSTALLLIB_LIBTYPE_REGDLL | INSTALLLIB_LIBTYPE_TLB | INSTALLLIB_LIBTYPE_REGDLLTLB | INSTALLLIB_LIBTYPE_REGEXE
+
+    !ifdef INSTALLLIB_INSTALL_REBOOT_PROTECTED | INSTALLLIB_INSTALL_REBOOT_NOTPROTECTED
+
+      IfRebootFlag 0 "installlib.regnoreboot_${INSTALLLIB_UNIQUE}"
+
+        Call ":installlib.regonreboot_${INSTALLLIB_UNIQUE}"
+
+        Goto "installlib.registerfinish_${INSTALLLIB_UNIQUE}"
+
+      "installlib.regnoreboot_${INSTALLLIB_UNIQUE}:"
+
+    !endif
+
+    !ifdef INSTALLLIB_LIBTYPE_TLB | INSTALLLIB_LIBTYPE_REGDLLTLB
+
+      TypeLib::Register $R4
+
+    !endif
+
+    !ifdef INSTALLLIB_LIBTYPE_REGDLL | INSTALLLIB_LIBTYPE_REGDLLTLB
+
+      !ifndef LIBRARY_X64
+
+        RegDll $R4
+
+      !else
+
+        ExecWait '"$SYSDIR\regsvr32.exe" /s "$R4"'
+
+      !endif
+
+    !endif
+
+    !ifdef INSTALLLIB_LIBTYPE_REGEXE
+
+      ExecWait '"$R4" /regserver'
+
+    !endif
+
+    !ifdef INSTALLLIB_INSTALL_REBOOT_PROTECTED | INSTALLLIB_INSTALL_REBOOT_NOTPROTECTED
+
+      "installlib.registerfinish_${INSTALLLIB_UNIQUE}:"
+
+    !endif
+
+  !endif
+
+  !ifdef LIBRARY_SHELL_EXTENSION
+
+    System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'
+
+  !endif
+
+  !ifdef LIBRARY_COM
+
+    System::Call 'Ole32::CoFreeUnusedLibraries()'
+
+  !endif
+
+  ;------------------------
+  ;Done
+
+  !ifdef LIBRARY_DEFINE_DONE_LABEL
+
+    !undef LIBRARY_DEFINE_DONE_LABEL
+
+  "installlib.done_${INSTALLLIB_UNIQUE}:"
+
+  !endif
+
+  Pop $R5
+  Pop $R4
+  Pop $R3
+  Pop $R2
+  Pop $R1
+  Pop $R0
+
+  ;------------------------
+  ;End
+
+  Goto "installlib.end_${INSTALLLIB_UNIQUE}"
+
+  ;------------------------
+  ;Extract
+
+  !ifdef INSTALLLIB_INSTALL_REBOOT_PROTECTED | INSTALLLIB_INSTALL_REBOOT_NOTPROTECTED
+
+    SetOverwrite try
+
+  !else
+
+    SetOverwrite on
+
+  !endif
+
+  "installlib.file_${INSTALLLIB_UNIQUE}:"
+    SetFileAttributes $R0 FILE_ATTRIBUTE_NORMAL
+    ClearErrors
+    File /oname=$R0 "${LOCALFILE}"
+    Return
+
+  SetOverwrite lastused
+
+  ;------------------------
+  ;Register on reboot
+
+  !ifdef INSTALLLIB_INSTALL_REBOOT_PROTECTED | INSTALLLIB_INSTALL_REBOOT_NOTPROTECTED
+
+    "installlib.regonreboot_${INSTALLLIB_UNIQUE}:"
+
+      !ifdef INSTALLLIB_LIBTYPE_REGDLL | INSTALLLIB_LIBTYPE_REGDLLTLB
+        !ifndef LIBRARY_X64
+          !insertmacro __InstallLib_Helper_AddRegToolEntry 'D' "$R4" "$R5"
+        !else
+          !insertmacro __InstallLib_Helper_AddRegToolEntry 'DX' "$R4" "$R5"
+        !endif
+      !endif
+
+      !ifdef INSTALLLIB_LIBTYPE_TLB | INSTALLLIB_LIBTYPE_REGDLLTLB
+        !insertmacro __InstallLib_Helper_AddRegToolEntry 'T' "$R4" "$R5"
+      !endif
+
+      !ifdef INSTALLLIB_LIBTYPE_REGEXE
+        !insertmacro __InstallLib_Helper_AddRegToolEntry 'E' "$R4" "$R5"
+      !endif
+
+      Return
+
+  !endif
+
+  ;------------------------
+  ;End label
+
+  "installlib.end_${INSTALLLIB_UNIQUE}:"
+
+  !ifdef LIBRARY_X64
+
+    ${EnableX64FSRedirection}
+
+  !endif
+
+  ;------------------------
+  ;Undefine
+
+  !undef INSTALLLIB_UNIQUE
+
+  !undef ${INSTALLLIB_LIBTYPE_SET}
+  !undef INSTALLLIB_LIBTYPE_SET
+  !undef ${INSTALLLIB_SHARED_SET}
+  !undef INSTALLLIB_SHARED_SET
+  !undef ${INSTALLLIB_INSTALL_SET}
+  !undef INSTALLLIB_INSTALL_SET
+
+  !verbose pop
+
+!macroend
+
+### Uninstall library
+!macro UnInstallLib libtype shared uninstall file
+
+  !verbose push
+  !verbose 3
+
+  Push $R0
+  Push $R1
+
+  ;------------------------
+  ;Define
+
+  !define UNINSTALLLIB_UNIQUE "${__FILE__}${__LINE__}"
+
+  !define UNINSTALLLIB_LIBTYPE_${libtype}
+  !define UNINSTALLLIB_LIBTYPE_SET UNINSTALLLIB_LIBTYPE_${libtype}
+  !define UNINSTALLLIB_SHARED_${shared}
+  !define UNINSTALLLIB_SHARED_SET UNINSTALLLIB_SHARED_${shared}
+  !define UNINSTALLLIB_UNINSTALL_${uninstall}
+  !define UNINSTALLLIB_UNINSTALL_SET UNINSTALLLIB_UNINSTALL_${uninstall}
+
+  ;------------------------
+  ;Validate
+
+  !ifndef UNINSTALLLIB_LIBTYPE_DLL & UNINSTALLLIB_LIBTYPE_REGDLL & UNINSTALLLIB_LIBTYPE_TLB & \
+    UNINSTALLLIB_LIBTYPE_REGDLLTLB & UNINSTALLLIB_LIBTYPE_REGEXE
+    !error "UnInstallLib: Incorrect setting for parameter: libtype"
+  !endif
+
+  !ifndef UNINSTALLLIB_SHARED_NOTSHARED & UNINSTALLLIB_SHARED_SHARED
+    !error "UnInstallLib: Incorrect setting for parameter: shared"
+  !endif
+
+  !ifndef UNINSTALLLIB_UNINSTALL_NOREMOVE & UNINSTALLLIB_UNINSTALL_REBOOT_PROTECTED & \
+    UNINSTALLLIB_UNINSTALL_REBOOT_NOTPROTECTED & UNINSTALLLIB_UNINSTALL_NOREBOOT_PROTECTED & \
+    UNINSTALLLIB_UNINSTALL_NOREBOOT_NOTPROTECTED
+    !error "UnInstallLib: Incorrect setting for parameter: uninstall"
+  !endif
+
+  ;------------------------
+  ;x64 settings
+
+  !ifdef LIBRARY_X64
+
+    ${DisableX64FSRedirection}
+
+  !endif
+
+  ;------------------------
+  ;Copy the parameters used on run-time to a variable
+  ;This allows the usage of variables as parameter
+
+  StrCpy $R1 "${file}"
+
+  ;------------------------
+  ;Shared library count
+
+  !ifdef UNINSTALLLIB_SHARED_SHARED
+
+    !define UNINSTALLLIB_DONE_LABEL
+
+    !ifdef LIBRARY_X64
+
+      SetRegView 64
+
+    !endif
+
+    ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
+    StrCmp $R0 "" "uninstalllib.shareddlldone_${UNINSTALLLIB_UNIQUE}"
+
+    IntOp $R0 $R0 - 1
+    IntCmp $R0 0 "uninstalllib.shareddllremove_${UNINSTALLLIB_UNIQUE}" \
+      "uninstalllib.shareddllremove_${UNINSTALLLIB_UNIQUE}" "uninstalllib.shareddllinuse_${UNINSTALLLIB_UNIQUE}"
+
+    "uninstalllib.shareddllremove_${UNINSTALLLIB_UNIQUE}:"
+      DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
+      !ifndef UNINSTALLLIB_SHARED_SHAREDNOREMOVE
+        Goto "uninstalllib.shareddlldone_${UNINSTALLLIB_UNIQUE}"
+      !endif
+
+    "uninstalllib.shareddllinuse_${UNINSTALLLIB_UNIQUE}:"
+      WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
+
+        !ifdef LIBRARY_X64
+
+          SetRegView lastused
+
+        !endif
+
+      Goto "uninstalllib.done_${UNINSTALLLIB_UNIQUE}"
+
+    "uninstalllib.shareddlldone_${UNINSTALLLIB_UNIQUE}:"
+
+    !ifdef LIBRARY_X64
+
+      SetRegView lastused
+
+    !endif
+
+  !endif
+
+  ;------------------------
+  ;Remove
+
+  !ifndef UNINSTALLLIB_UNINSTALL_NOREMOVE
+
+    ;------------------------
+    ;Check Windows File Protection
+
+    !ifdef UNINSTALLLIB_UNINSTALL_REBOOT_PROTECTED | UNINSTALLLIB_UNINSTALL_NOREBOOT_PROTECTED
+
+      !ifndef UNINSTALLLIB_DONE_LABEL
+
+        !define UNINSTALLLIB_DONE_LABEL
+
+      !endif
+
+      System::Call "sfc::SfcIsFileProtected(i 0, w $R1) i.R0"
+
+        StrCmp $R0 "error" "uninstalllib.notprotected_${UNINSTALLLIB_UNIQUE}"
+        StrCmp $R0 "0" "uninstalllib.notprotected_${UNINSTALLLIB_UNIQUE}"
+
+      Goto "uninstalllib.done_${UNINSTALLLIB_UNIQUE}"
+
+      "uninstalllib.notprotected_${UNINSTALLLIB_UNIQUE}:"
+
+    !endif
+
+    ;------------------------
+    ;Unregister
+
+    !ifdef UNINSTALLLIB_LIBTYPE_REGDLL | UNINSTALLLIB_LIBTYPE_REGDLLTLB
+
+      !ifndef LIBRARY_X64
+
+        UnRegDLL $R1
+
+      !else
+
+        ExecWait '"$SYSDIR\regsvr32.exe" /s /u "$R1"'
+
+      !endif
+
+    !endif
+
+    !ifdef UNINSTALLLIB_LIBTYPE_REGEXE
+
+      ExecWait '"$R1" /unregserver'
+
+    !endif
+
+    !ifdef UNINSTALLLIB_LIBTYPE_TLB | UNINSTALLLIB_LIBTYPE_REGDLLTLB
+
+      TypeLib::UnRegister $R1
+
+    !endif
+
+    !ifdef LIBRARY_SHELL_EXTENSION
+
+      System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'
+
+    !endif
+
+    !ifdef LIBRARY_COM
+
+      System::Call 'Ole32::CoFreeUnusedLibraries()'
+
+    !endif
+
+    ;------------------------
+    ;Delete
+
+    Delete $R1
+
+    !ifdef UNINSTALLLIB_UNINSTALL_REBOOT_PROTECTED | UNINSTALLLIB_UNINSTALL_REBOOT_NOTPROTECTED
+
+      ${If} ${FileExists} $R1
+        # File is in use, can't just delete.
+        # Move file to another location before using Delete /REBOOTOK. This way, if
+        #  the user installs a new version of the DLL, it won't be deleted after
+        #  reboot. See bug #1097642 for more information on this.
+
+        # Try moving to $TEMP.
+        GetTempFileName $R0
+        Delete $R0
+        Rename $R1 $R0
+
+        ${If} ${FileExists} $R1
+          # Still here, delete temporary file, in case the file was copied
+          #  and not deleted. This happens when moving from network drives,
+          #  for example.
+          Delete $R0
+
+          # Try moving to directory containing the file.
+          !insertmacro __InstallLib_Helper_GetParent $R1 $R0
+          GetTempFileName $R0 $R0
+          Delete $R0
+          Rename $R1 $R0
+
+          ${If} ${FileExists} $R1
+            # Still here, delete temporary file.
+            Delete $R0
+
+            # Give up moving, simply Delete /REBOOTOK the file.
+            StrCpy $R0 $R1
+          ${EndIf}
+        ${EndIf}
+
+        # Delete the moved file.
+        Delete /REBOOTOK $R0
+      ${EndIf}
+
+    !endif
+
+  !endif
+
+  ;------------------------
+  ;Done
+
+  !ifdef UNINSTALLLIB_DONE_LABEL
+
+    !undef UNINSTALLLIB_DONE_LABEL
+
+    "uninstalllib.done_${UNINSTALLLIB_UNIQUE}:"
+
+  !endif
+
+  !ifdef LIBRARY_X64
+
+    ${EnableX64FSRedirection}
+
+  !endif
+
+  Pop $R1
+  Pop $R0
+
+  ;------------------------
+  ;Undefine
+
+  !undef UNINSTALLLIB_UNIQUE
+
+  !undef ${UNINSTALLLIB_LIBTYPE_SET}
+  !undef UNINSTALLLIB_LIBTYPE_SET
+  !undef ${UNINSTALLLIB_SHARED_SET}
+  !undef UNINSTALLLIB_SHARED_SET
+  !undef ${UNINSTALLLIB_UNINSTALL_SET}
+  !undef UNINSTALLLIB_UNINSTALL_SET
+
+  !verbose pop
+
+!macroend
+
+!endif
+
+!verbose pop
Index: tmp/org.txm.setups/nsis-2.5/Include/Memento.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/Memento.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/Memento.nsh	(revision 2961)
@@ -0,0 +1,526 @@
+!verbose push
+!verbose 3
+
+!include LogicLib.nsh
+!include Sections.nsh
+
+!ifndef ___MEMENTO_NSH___
+!define ___MEMENTO_NSH___
+
+#####################################
+### Memento                       ###
+#####################################
+
+/*
+
+Memento is a set of macros that allow installers to remember user selection
+across separate runs of the installer. Currently, it can remember the state
+of sections and mark new sections as bold. In the future, it'll integrate
+InstallOptions and maybe even the Modern UI.
+
+A usage example can be found in `Examples\Memento.nsi`.
+
+*/
+
+#####################################
+### Usage Instructions            ###
+#####################################
+
+/*
+
+1. Declare usage of Memento by including Memento.nsh at the top of the script.
+
+      !include Memento.nsh
+
+2. Define MEMENTO_REGISTRY_ROOT and MEMENTO_REGISTRY_KEY with the a registry key
+   where sections' state should be saved.
+
+      !define MEMENTO_REGISTRY_ROOT HKLM
+      !define MEMENTO_REGISTRY_KEY \
+                Software\Microsoft\Windows\CurrentVersion\Uninstall\MyProgram
+
+3. Replace Section with ${MementoSection} and SectionEnd with ${MementoSectionEnd}
+   for sections that whose state should be remembered by Memento.
+
+   For sections that should be unselected by default, use ${MementoSection}'s
+   brother - ${MementoUnselectedSection}.
+
+   Sections that don't already have an identifier must be assigned one.
+
+   Section identifiers must stay the same across different versions of the
+   installer or their state will be forgotten.
+
+4. Use ${MementoSectionDone} after the last ${MementoSection}.
+
+5. Add a call to ${MementoSectionRestore} to .onInit to restore the state
+   of all sections from the registry.
+
+      Function .onInit
+
+        ${MementoSectionRestore}
+
+      FunctionEnd
+
+6. Add a call to ${MementoSectionSave} to .onInstSuccess to save the state
+   of all sections to the registry.
+
+      Function .onInstSuccess
+
+        ${MementoSectionSave}
+
+      FunctionEnd
+
+7. Tattoo the location of the chosen registry key on your arm.
+
+*/
+
+#####################################
+### User API                      ###
+#####################################
+
+;
+; ${MementoSection}
+;
+;   Defines a section whose state is remembered by Memento.
+;
+;   Usage is similar to Section.
+;
+;     ${MementoSection} "name" "some_id"
+;
+
+!define MementoSection "!insertmacro MementoSection"
+
+;
+; ${MementoSectionEnd}
+;
+;   Ends a section previously opened using ${MementoSection}.
+;
+;   Usage is similar to SectionEnd.
+;
+;     ${MementoSection} "name" "some_id"
+;        # some code...
+;     ${MementoSectionEnd}
+;
+
+;
+; ${MementoUnselectedSection}
+;
+;   Defines a section whose state is remembered by Memento and is
+;   unselected by default.
+;
+;   Usage is similar to Section with the /o switch.
+;
+;     ${MementoUnselectedSection} "name" "some_id"
+;
+
+!define MementoUnselectedSection "!insertmacro MementoUnselectedSection"
+
+;
+; ${MementoSectionEnd}
+;
+;   Ends a section previously opened using ${MementoSection}.
+;
+;   Usage is similar to SectionEnd.
+;
+;     ${MementoSection} "name" "some_id"
+;        # some code...
+;     ${MementoSectionEnd}
+;
+
+!define MementoSectionEnd "!insertmacro MementoSectionEnd"
+
+;
+; ${MementoSectionDone}
+;
+;   Used after all ${MementoSection} have been set.
+;
+;     ${MementoSection} "name1" "some_id1"
+;        # some code...
+;     ${MementoSectionEnd}
+;
+;     ${MementoSection} "name2" "some_id2"
+;        # some code...
+;     ${MementoSectionEnd}
+;
+;     ${MementoSection} "name3" "some_id3"
+;        # some code...
+;     ${MementoSectionEnd}
+;
+;     ${MementoSectionDone}
+;
+
+!define MementoSectionDone "!insertmacro MementoSectionDone"
+
+;
+; ${MementoSectionRestore}
+;
+;   Restores the state of all Memento sections from the registry.
+;
+;   Commonly used in .onInit.
+;
+;     Function .onInit
+;
+;       ${MementoSectionRestore}
+;
+;     FunctionEnd
+;
+
+!define MementoSectionRestore "!insertmacro MementoSectionRestore"
+
+;
+; ${MementoSectionSave}
+;
+;   Saves the state of all Memento sections to the registry.
+;
+;   Commonly used in .onInstSuccess.
+;
+;     Function .onInstSuccess
+;
+;       ${MementoSectionSave}
+;
+;     FunctionEnd
+;
+
+!define MementoSectionSave "!insertmacro MementoSectionSave"
+
+
+#####################################
+### Internal Defines              ###
+#####################################
+
+!define __MementoSectionIndex 1
+
+#####################################
+### Internal Macros               ###
+#####################################
+
+!macro __MementoCheckSettings
+
+  !ifndef MEMENTO_REGISTRY_ROOT | MEMENTO_REGISTRY_KEY
+
+    !error "MEMENTO_REGISTRY_ROOT and MEMENTO_REGISTRY_KEY must be defined before using any of Memento's macros"
+
+  !endif
+
+!macroend
+
+!macro __MementoSection flags name id
+
+  !insertmacro __MementoCheckSettings
+
+  !ifndef __MementoSectionIndex
+
+    !error "MementoSectionDone already used!"
+
+  !endif
+
+  !define __MementoSectionLastSectionId `${id}`
+
+  !verbose pop
+
+  Section ${flags} `${name}` `${id}`
+
+  !verbose push
+  !verbose 3
+
+!macroend
+
+#####################################
+### User Macros                   ###
+#####################################
+
+!macro MementoSection name id
+
+  !verbose push
+  !verbose 3
+
+  !insertmacro __MementoSection "" `${name}` `${id}`
+
+  !verbose pop
+
+!macroend
+
+!macro MementoUnselectedSection name id
+
+  !verbose push
+  !verbose 3
+
+  !insertmacro __MementoSection /o `${name}` `${id}`
+
+  !define __MementoSectionUnselected
+
+  !verbose pop
+
+!macroend
+
+!macro MementoSectionEnd
+
+  SectionEnd
+
+  !verbose push
+  !verbose 3
+
+  !insertmacro __MementoCheckSettings
+
+  !ifndef __MementoSectionIndex
+
+    !error "MementoSectionDone already used!"
+
+  !endif
+
+  !define /MATH __MementoSectionIndexNext \
+      ${__MementoSectionIndex} + 1
+
+  Function __MementoSectionMarkNew${__MementoSectionIndex}
+
+    ClearErrors
+    ReadRegDWORD $0 ${MEMENTO_REGISTRY_ROOT} `${MEMENTO_REGISTRY_KEY}` `MementoSection_${__MementoSectionLastSectionId}`
+
+    ${If} ${Errors}
+
+      !insertmacro SetSectionFlag `${${__MementoSectionLastSectionId}}` ${SF_BOLD}
+
+    ${EndIf}
+
+    GetFunctionAddress $0 __MementoSectionMarkNew${__MementoSectionIndexNext}
+    Goto $0
+
+  FunctionEnd
+
+  Function __MementoSectionRestoreStatus${__MementoSectionIndex}
+
+    ClearErrors
+    ReadRegDWORD $0 ${MEMENTO_REGISTRY_ROOT} `${MEMENTO_REGISTRY_KEY}` `MementoSection_${__MementoSectionLastSectionId}`
+
+    !ifndef __MementoSectionUnselected
+
+      ${If} ${Errors}
+      ${OrIf} $0 != 0
+
+        !insertmacro SelectSection `${${__MementoSectionLastSectionId}}`
+
+      ${Else}
+
+        !insertmacro UnselectSection `${${__MementoSectionLastSectionId}}`
+
+      ${EndIf}
+
+    !else
+
+      !undef __MementoSectionUnselected
+
+      ${If} ${Errors}
+      ${OrIf} $0 == 0
+
+        !insertmacro UnselectSection `${${__MementoSectionLastSectionId}}`
+
+      ${Else}
+
+        !insertmacro SelectSection `${${__MementoSectionLastSectionId}}`
+
+      ${EndIf}
+
+    !endif
+
+    GetFunctionAddress $0 __MementoSectionRestoreStatus${__MementoSectionIndexNext}
+    Goto $0
+
+  FunctionEnd
+
+  Function __MementoSectionSaveStatus${__MementoSectionIndex}
+
+    ${If} ${SectionIsSelected} `${${__MementoSectionLastSectionId}}`
+
+      WriteRegDWORD ${MEMENTO_REGISTRY_ROOT} `${MEMENTO_REGISTRY_KEY}` `MementoSection_${__MementoSectionLastSectionId}` 1
+
+    ${Else}
+
+      WriteRegDWORD ${MEMENTO_REGISTRY_ROOT} `${MEMENTO_REGISTRY_KEY}` `MementoSection_${__MementoSectionLastSectionId}` 0
+
+    ${EndIf}
+
+    GetFunctionAddress $0 __MementoSectionSaveStatus${__MementoSectionIndexNext}
+    Goto $0
+
+  FunctionEnd
+
+  !undef __MementoSectionIndex
+  !define __MementoSectionIndex ${__MementoSectionIndexNext}
+  !undef __MementoSectionIndexNext
+
+  !undef __MementoSectionLastSectionId
+
+  !verbose pop
+
+!macroend
+
+!macro MementoSectionDone
+
+  !verbose push
+  !verbose 3
+
+  !insertmacro __MementoCheckSettings
+
+  Function __MementoSectionMarkNew${__MementoSectionIndex}
+  FunctionEnd
+
+  Function __MementoSectionRestoreStatus${__MementoSectionIndex}
+  FunctionEnd
+
+  Function __MementoSectionSaveStatus${__MementoSectionIndex}
+  FunctionEnd
+
+  !undef __MementoSectionIndex
+
+  !verbose pop
+
+!macroend
+
+!macro MementoSectionRestore
+
+  !verbose push
+  !verbose 3
+
+  !insertmacro __MementoCheckSettings
+
+  Push $0
+  Push $1
+  Push $2
+  Push $3
+
+    # check for first usage
+
+    ClearErrors
+
+    ReadRegStr $0 ${MEMENTO_REGISTRY_ROOT} `${MEMENTO_REGISTRY_KEY}` MementoSectionUsed
+
+    ${If} ${Errors}
+
+      # use script defaults on first run
+      Goto done
+
+    ${EndIf}
+
+    # mark new components in bold
+    
+    Call __MementoSectionMarkNew1
+
+    # mark section groups in bold
+
+    StrCpy $0 0
+    StrCpy $1 ""
+    StrCpy $2 ""
+    StrCpy $3 ""
+
+    loop:
+
+      ClearErrors
+
+      ${If} ${SectionIsBold} $0
+
+        ${If} $1 != ""
+
+          !insertmacro SetSectionFlag $1 ${SF_BOLD}
+
+        ${EndIf}
+
+        ${If} $2 != ""
+
+          !insertmacro SetSectionFlag $2 ${SF_BOLD}
+
+        ${EndIf}
+
+        ${If} $3 != ""
+
+          !insertmacro SetSectionFlag $3 ${SF_BOLD}
+
+        ${EndIf}
+
+      ${ElseIf} ${Errors}
+
+        Goto loop_end
+
+      ${EndIf}
+
+      ${If} ${SectionIsSectionGroup} $0
+
+        ${If} $1 == ""
+
+          StrCpy $1 $0
+
+        ${ElseIf} $2 == ""
+
+          StrCpy $2 $0
+
+        ${ElseIf} $3 == ""
+
+          StrCpy $3 $0
+
+        ${EndIf}
+
+      ${EndIf}
+
+      ${If} ${SectionIsSectionGroupEnd} $0
+
+        ${If} $3 != ""
+
+          StrCpy $3 ""
+
+        ${ElseIf} $2 != ""
+
+          StrCpy $2 ""
+
+        ${ElseIf} $1 != ""
+
+          StrCpy $1 ""
+
+        ${EndIf}
+
+      ${EndIf}
+
+      IntOp $0 $0 + 1
+
+    Goto loop
+    loop_end:
+
+    # restore sections' status
+
+    Call __MementoSectionRestoreStatus1
+
+  # all done
+
+  done:
+
+  Pop $3
+  Pop $2
+  Pop $1
+  Pop $0
+
+  !verbose pop
+
+!macroend
+
+!macro MementoSectionSave
+
+  !verbose push
+  !verbose 3
+
+  !insertmacro __MementoCheckSettings
+
+  Push $0
+
+    WriteRegStr ${MEMENTO_REGISTRY_ROOT} `${MEMENTO_REGISTRY_KEY}` MementoSectionUsed ""
+  
+    Call __MementoSectionSaveStatus1
+
+  Pop $0
+
+  !verbose pop
+
+!macroend
+
+
+
+!endif # ___MEMENTO_NSH___
+
+!verbose pop
Index: tmp/org.txm.setups/nsis-2.5/Include/Win/WinDef.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/Win/WinDef.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/Win/WinDef.nsh	(revision 2961)
@@ -0,0 +1,74 @@
+!ifndef __WIN_WINDEF__INC
+!define __WIN_WINDEF__INC
+!verbose push
+!verbose 3
+!ifndef __WIN_NOINC_WINDEF
+
+
+!ifndef MAX_PATH
+!define MAX_PATH 260
+!endif
+#define NULL 0
+
+
+!macro _Win_MINMAX _intcmp _j1 _j2 _outvar _a _b
+${_intcmp} "${_a}" "${_b}" ${_j1} ${_j1} ${_j2}
+StrCpy ${_outvar} "${_a}"
+goto +2
+StrCpy ${_outvar} "${_b}"
+!macroend
+!ifndef __WIN_MS_NOMINMAX & min & max & min_u & max_u
+!define min "!insertmacro _Win_MINMAX IntCmp +1 +3 "
+!define max "!insertmacro _Win_MINMAX IntCmp +3 +1 "
+!define min_u "!insertmacro _Win_MINMAX IntCmpU +1 +3 "
+!define max_u "!insertmacro _Win_MINMAX IntCmpU +3 +1 "
+!endif
+
+!macro _Win_LOBYTE _outvar _in
+IntOp ${_outvar} "${_in}" & 0xFF
+!macroend
+!define LOBYTE "!insertmacro _Win_LOBYTE "
+
+!macro _Win_HIBYTE _outvar _in
+IntOp ${_outvar} "${_in}" >> 8
+${LOBYTE} ${_outvar} ${_outvar}
+!macroend
+!define HIBYTE "!insertmacro _Win_HIBYTE "
+
+!macro _Win_LOWORD _outvar _in
+IntOp ${_outvar} "${_in}" & 0xFFFF
+!macroend
+!define LOWORD "!insertmacro _Win_LOWORD "
+
+!macro _Win_HIWORD _outvar _in
+IntOp ${outvar} "${_in}" >> 16 ;sign extended :(
+${LOWORD} ${_outvar} ${outvar} ;make sure we strip off the upper word
+!macroend
+!define HIWORD "!insertmacro _Win_HIWORD "
+
+!macro _Win_MAKEWORD _outvar _tmpvar _lo _hi
+${LOBYTE} ${_outvar} "${_hi}"
+${LOBYTE} ${_tmpvar} "${_lo}"
+IntOp ${_outvar} ${_outvar} << 8
+IntOp ${_outvar} ${_outvar} | ${_tmpvar}
+!macroend
+!define MAKEWORD "!insertmacro _Win_MAKEWORD "
+
+!macro _Win_MAKELONG32 _outvar _tmpvar _wlo _whi
+${LOWORD} ${_outvar} "${_wlo}"
+IntOp ${_tmpvar} "${_whi}" << 16
+IntOp ${_outvar} ${_outvar} | ${_tmpvar}
+!macroend
+!define MAKELONG "!insertmacro _Win_MAKELONG32 "
+!if "${__WIN_PTRSIZE}" <= 4
+!define MAKEWPARAM "${MAKELONG}"
+!define MAKELPARAM "${MAKELONG}"
+!define MAKELRESULT "${MAKELONG}"
+!else
+!error "Missing 64bit imp!"
+!endif
+
+
+!endif /* __WIN_NOINC_WINDEF */
+!verbose pop
+!endif /* __WIN_WINDEF__INC */
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Include/Win/WinUser.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/Win/WinUser.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/Win/WinUser.nsh	(revision 2961)
@@ -0,0 +1,199 @@
+!ifndef __WIN_WINUSER__INC
+!define __WIN_WINUSER__INC
+!verbose push
+!verbose 3
+!ifndef __WIN_MS_NOUSER & __WIN_NOINC_WINUSER
+
+!ifndef __WIN_MS_NOVIRTUALKEYCODES
+!define VK_LBUTTON    0x01
+!define VK_RBUTTON    0x02
+!define VK_CANCEL     0x03
+!define VK_MBUTTON    0x04 /* NOT contiguous with L & RBUTTON */
+!define VK_XBUTTON1   0x05 /* NOT contiguous with L & RBUTTON */
+!define VK_XBUTTON2   0x06 /* NOT contiguous with L & RBUTTON */
+!define VK_BACK       0x08
+!define VK_TAB        0x09
+!define VK_CLEAR      0x0C
+!define VK_RETURN     0x0D
+!define VK_SHIFT      0x10
+!define VK_CONTROL    0x11
+!define VK_MENU       0x12
+!define VK_PAUSE      0x13
+!define VK_CAPITAL    0x14
+!define VK_ESCAPE     0x1B
+!define VK_CONVERT    0x1C
+!define VK_NONCONVERT 0x1D
+!define VK_ACCEPT     0x1E
+!define VK_MODECHANGE 0x1F
+!define VK_SPACE      0x20
+!define VK_PRIOR      0x21
+!define VK_NEXT       0x22
+!define VK_END        0x23
+!define VK_HOME       0x24
+!define VK_LEFT       0x25
+!define VK_UP         0x26
+!define VK_RIGHT      0x27
+!define VK_DOWN       0x28
+!define VK_SELECT     0x29
+!define VK_PRINT      0x2A
+!define VK_EXECUTE    0x2B
+!define VK_SNAPSHOT   0x2C
+!define VK_INSERT     0x2D
+!define VK_DELETE     0x2E
+!define VK_HELP       0x2F
+; VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)
+; VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)
+!define VK_LWIN           0x5B
+!define VK_RWIN           0x5C
+!define VK_APPS           0x5D
+!define VK_SLEEP          0x5F
+!define VK_NUMPAD0        0x60
+!define VK_NUMPAD1        0x61
+!define VK_NUMPAD2        0x62
+!define VK_NUMPAD3        0x63
+!define VK_NUMPAD4        0x64
+!define VK_NUMPAD5        0x65
+!define VK_NUMPAD6        0x66
+!define VK_NUMPAD7        0x67
+!define VK_NUMPAD8        0x68
+!define VK_NUMPAD9        0x69
+!define VK_MULTIPLY       0x6A
+!define VK_ADD            0x6B
+!define VK_SEPARATOR      0x6C
+!define VK_SUBTRACT       0x6D
+!define VK_DECIMAL        0x6E
+!define VK_DIVIDE         0x6F
+!define VK_F1             0x70
+!define VK_F2             0x71
+!define VK_F3             0x72
+!define VK_F4             0x73
+!define VK_F5             0x74
+!define VK_F6             0x75
+!define VK_F7             0x76
+!define VK_F8             0x77
+!define VK_F9             0x78
+!define VK_F10            0x79
+!define VK_F11            0x7A
+!define VK_F12            0x7B
+!define VK_NUMLOCK        0x90
+!define VK_SCROLL         0x91
+!define VK_OEM_NEC_EQUAL  0x92   ; '=' key on numpad
+!define VK_LSHIFT         0xA0
+!define VK_RSHIFT         0xA1
+!define VK_LCONTROL       0xA2
+!define VK_RCONTROL       0xA3
+!define VK_LMENU          0xA4
+!define VK_RMENU          0xA5
+!endif
+
+!ifndef __WIN_MS_NOWINOFFSETS
+/* in nsDialogs.nsh...
+!define GWL_STYLE           -16
+!define GWL_EXSTYLE         -20 */
+!define GWLP_WNDPROC        -4
+!define GWLP_HINSTANCE      -6
+!define GWLP_HWNDPARENT     -8
+!define GWLP_USERDATA       -21
+!define GWLP_ID             -12
+!define DWLP_MSGRESULT  0
+!define /math DWLP_DLGPROC    ${DWLP_MSGRESULT} + ${__WIN_PTRSIZE} ;DWLP_MSGRESULT + sizeof(LRESULT) 
+!define /math DWLP_USER       ${DWLP_DLGPROC} + ${__WIN_PTRSIZE} ;DWLP_DLGPROC + sizeof(DLGPROC)
+!endif
+
+!ifndef __WIN_MS_NONCMESSAGES
+!define HTERROR       -2
+!define HTTRANSPARENT -1
+!define HTNOWHERE     0
+!define HTCLIENT      1
+!define HTCAPTION     2
+!define HTSYSMENU     3
+!define HTGROWBOX     4
+!define HTSIZE        ${HTGROWBOX}
+!define HTMENU        5
+!define HTHSCROLL     6
+!define HTVSCROLL     7
+!define HTMINBUTTON   8
+!define HTMAXBUTTON   9
+!define HTLEFT        10
+!define HTRIGHT       11
+!define HTTOP         12
+!define HTTOPLEFT     13
+!define HTTOPRIGHT    14
+!define HTBOTTOM      15
+!define HTBOTTOMLEFT  16
+!define HTBOTTOMRIGHT 17
+!define HTBORDER      18
+!define HTREDUCE      ${HTMINBUTTON}
+!define HTZOOM        ${HTMAXBUTTON}
+!define HTSIZEFIRST   ${HTLEFT}
+!define HTSIZELAST    ${HTBOTTOMRIGHT}
+!define HTOBJECT      19
+!define HTCLOSE       20
+!define HTHELP        21
+!endif
+
+!ifndef __WIN_MS_NOSYSCOMMANDS
+!define SC_SIZE         0xF000
+!define SC_MOVE         0xF010
+!define SC_MINIMIZE     0xF020
+!define SC_MAXIMIZE     0xF030
+!define SC_NEXTWINDOW   0xF040
+!define SC_PREVWINDOW   0xF050
+!define SC_CLOSE        0xF060
+!define SC_VSCROLL      0xF070
+!define SC_HSCROLL      0xF080
+!define SC_MOUSEMENU    0xF090
+!define SC_KEYMENU      0xF100
+!define SC_ARRANGE      0xF110
+!define SC_RESTORE      0xF120
+!define SC_TASKLIST     0xF130
+!define SC_SCREENSAVE   0xF140
+!define SC_HOTKEY       0xF150
+!define SC_DEFAULT      0xF160
+!define SC_MONITORPOWER 0xF170
+!define SC_CONTEXTHELP  0xF180
+!define SC_SEPARATOR    0xF00F
+!endif
+
+!define IDC_ARROW       32512
+!define IDC_IBEAM       32513
+!define IDC_WAIT        32514
+!define IDC_CROSS       32515
+!define IDC_UPARROW     32516
+!define IDC_SIZENWSE    32642
+!define IDC_SIZENESW    32643
+!define IDC_SIZEWE      32644
+!define IDC_SIZENS      32645
+!define IDC_SIZEALL     32646
+!define IDC_NO          32648 
+!define IDC_HAND        32649
+!define IDC_APPSTARTING 32650 
+!define IDC_HELP        32651
+
+/* in nsDialogs.nsh...
+!define IMAGE_BITMAP 0
+!define IMAGE_ICON   1
+!define IMAGE_CURSOR 2*/
+
+/* in nsDialogs.nsh...
+!define LR_DEFAULTCOLOR     0x0000
+!define LR_MONOCHROME       0x0001
+!define LR_COLOR            0x0002
+!define LR_COPYRETURNORG    0x0004
+!define LR_COPYDELETEORG    0x0008
+!define LR_LOADFROMFILE     0x0010
+!define LR_LOADTRANSPARENT  0x0020
+!define LR_DEFAULTSIZE      0x0040
+!define LR_VGACOLOR         0x0080
+!define LR_LOADMAP3DCOLORS  0x1000
+!define LR_CREATEDIBSECTION 0x2000
+!define LR_COPYFROMRESOURCE 0x4000
+!define LR_SHARED           0x8000*/
+
+!define GA_PARENT    1
+!define GA_ROOT      2
+!define GA_ROOTOWNER 3
+
+!endif /* __WIN_MS_NOUSER & __WIN_NOINC_WINUSER */
+!verbose pop
+!endif /* __WIN_WINUSER__INC */
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Include/Win/WinNT.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/Win/WinNT.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/Win/WinNT.nsh	(revision 2961)
@@ -0,0 +1,209 @@
+!ifndef __WIN_WINNT__INC
+!define __WIN_WINNT__INC
+!verbose push
+!verbose 3
+!ifndef __WIN_NOINC_WINNT
+
+
+#define MINCHAR  0x80        
+#define MAXCHAR  0x7f        
+!define MINSHORT 0x8000      
+!define MAXSHORT 0x7fff      
+!define MINLONG  0x80000000  
+!define MAXLONG  0x7fffffff  
+!define MAXBYTE  0xff        
+!define MAXWORD  0xffff      
+!define MAXDWORD 0xffffffff  
+
+!ifndef WIN32_NO_STATUS 
+!define STATUS_WAIT_0                    0x00000000
+!define STATUS_ABANDONED_WAIT_0          0x00000080
+!define STATUS_USER_APC                  0x000000C0
+!define STATUS_TIMEOUT                   0x00000102
+!define STATUS_PENDING                   0x00000103
+!define DBG_EXCEPTION_HANDLED            0x00010001
+!define DBG_CONTINUE                     0x00010002
+!define STATUS_SEGMENT_NOTIFICATION      0x40000005
+!define DBG_TERMINATE_THREAD             0x40010003
+!define DBG_TERMINATE_PROCESS            0x40010004
+!define DBG_CONTROL_C                    0x40010005
+!define DBG_CONTROL_BREAK                0x40010008
+!define DBG_COMMAND_EXCEPTION            0x40010009
+!define STATUS_GUARD_PAGE_VIOLATION      0x80000001
+!define STATUS_DATATYPE_MISALIGNMENT     0x80000002
+!define STATUS_BREAKPOINT                0x80000003
+!define STATUS_SINGLE_STEP               0x80000004
+!define DBG_EXCEPTION_NOT_HANDLED        0x80010001
+!define STATUS_ACCESS_VIOLATION          0xC0000005
+!define STATUS_IN_PAGE_ERROR             0xC0000006
+!define STATUS_INVALID_HANDLE            0xC0000008
+!define STATUS_NO_MEMORY                 0xC0000017
+!define STATUS_ILLEGAL_INSTRUCTION       0xC000001D
+!define STATUS_NONCONTINUABLE_EXCEPTION  0xC0000025
+!define STATUS_INVALID_DISPOSITION       0xC0000026
+!define STATUS_ARRAY_BOUNDS_EXCEEDED     0xC000008C
+!define STATUS_FLOAT_DENORMAL_OPERAND    0xC000008D
+!define STATUS_FLOAT_DIVIDE_BY_ZERO      0xC000008E
+!define STATUS_FLOAT_INEXACT_RESULT      0xC000008F
+!define STATUS_FLOAT_INVALID_OPERATION   0xC0000090
+!define STATUS_FLOAT_OVERFLOW            0xC0000091
+!define STATUS_FLOAT_STACK_CHECK         0xC0000092
+!define STATUS_FLOAT_UNDERFLOW           0xC0000093
+!define STATUS_INTEGER_DIVIDE_BY_ZERO    0xC0000094
+!define STATUS_INTEGER_OVERFLOW          0xC0000095
+!define STATUS_PRIVILEGED_INSTRUCTION    0xC0000096
+!define STATUS_STACK_OVERFLOW            0xC00000FD
+!define STATUS_CONTROL_C_EXIT            0xC000013A
+!define STATUS_FLOAT_MULTIPLE_FAULTS     0xC00002B4
+!define STATUS_FLOAT_MULTIPLE_TRAPS      0xC00002B5
+!define STATUS_REG_NAT_CONSUMPTION       0xC00002C9
+!define STATUS_SXS_EARLY_DEACTIVATION    0xC015000F
+!define STATUS_SXS_INVALID_DEACTIVATION  0xC0150010
+!endif /*WIN32_NO_STATUS*/
+
+#define MAXIMUM_WAIT_OBJECTS 64  
+
+!define DELETE                   0x00010000
+!define READ_CONTROL             0x00020000
+!define WRITE_DAC                0x00040000
+!define WRITE_OWNER              0x00080000
+!define SYNCHRONIZE              0x00100000
+!define STANDARD_RIGHTS_REQUIRED 0x000F0000
+!define STANDARD_RIGHTS_READ     ${READ_CONTROL}
+!define STANDARD_RIGHTS_WRITE    ${READ_CONTROL}
+!define STANDARD_RIGHTS_EXECUTE  ${READ_CONTROL}
+!define STANDARD_RIGHTS_ALL      0x001F0000
+!define SPECIFIC_RIGHTS_ALL      0x0000FFFF
+!define ACCESS_SYSTEM_SECURITY   0x01000000
+!define MAXIMUM_ALLOWED          0x02000000
+!define GENERIC_READ             0x80000000
+!define GENERIC_WRITE            0x40000000
+!define GENERIC_EXECUTE          0x20000000
+!define GENERIC_ALL              0x10000000
+
+!define SE_PRIVILEGE_ENABLED_BY_DEFAULT 0x00000001
+!define SE_PRIVILEGE_ENABLED            0x00000002
+!define SE_PRIVILEGE_REMOVED            0x00000004
+!define SE_PRIVILEGE_USED_FOR_ACCESS    0x80000000
+
+!define SE_CREATE_TOKEN_NAME        "SeCreateTokenPrivilege"
+!define SE_ASSIGNPRIMARYTOKEN_NAME  "SeAssignPrimaryTokenPrivilege"
+!define SE_LOCK_MEMORY_NAME         "SeLockMemoryPrivilege"
+!define SE_INCREASE_QUOTA_NAME      "SeIncreaseQuotaPrivilege"
+!define SE_UNSOLICITED_INPUT_NAME   "SeUnsolicitedInputPrivilege"
+!define SE_MACHINE_ACCOUNT_NAME     "SeMachineAccountPrivilege"
+!define SE_TCB_NAME                 "SeTcbPrivilege"
+!define SE_SECURITY_NAME            "SeSecurityPrivilege"
+!define SE_TAKE_OWNERSHIP_NAME      "SeTakeOwnershipPrivilege"
+!define SE_LOAD_DRIVER_NAME         "SeLoadDriverPrivilege"
+!define SE_SYSTEM_PROFILE_NAME      "SeSystemProfilePrivilege"
+!define SE_SYSTEMTIME_NAME          "SeSystemtimePrivilege"
+!define SE_PROF_SINGLE_PROCESS_NAME "SeProfileSingleProcessPrivilege"
+!define SE_INC_BASE_PRIORITY_NAME   "SeIncreaseBasePriorityPrivilege"
+!define SE_CREATE_PAGEFILE_NAME     "SeCreatePagefilePrivilege"
+!define SE_CREATE_PERMANENT_NAME    "SeCreatePermanentPrivilege"
+!define SE_BACKUP_NAME              "SeBackupPrivilege"
+!define SE_RESTORE_NAME             "SeRestorePrivilege"
+!define SE_SHUTDOWN_NAME            "SeShutdownPrivilege"
+!define SE_DEBUG_NAME               "SeDebugPrivilege"
+!define SE_AUDIT_NAME               "SeAuditPrivilege"
+!define SE_SYSTEM_ENVIRONMENT_NAME  "SeSystemEnvironmentPrivilege"
+!define SE_CHANGE_NOTIFY_NAME       "SeChangeNotifyPrivilege"
+!define SE_REMOTE_SHUTDOWN_NAME     "SeRemoteShutdownPrivilege"
+!define SE_UNDOCK_NAME              "SeUndockPrivilege"
+!define SE_SYNC_AGENT_NAME          "SeSyncAgentPrivilege"
+!define SE_ENABLE_DELEGATION_NAME   "SeEnableDelegationPrivilege"
+!define SE_MANAGE_VOLUME_NAME       "SeManageVolumePrivilege"
+!define SE_IMPERSONATE_NAME         "SeImpersonatePrivilege"
+!define SE_CREATE_GLOBAL_NAME       "SeCreateGlobalPrivilege"
+
+!define TOKEN_ASSIGN_PRIMARY    0x0001
+!define TOKEN_DUPLICATE         0x0002
+!define TOKEN_IMPERSONATE       0x0004
+!define TOKEN_QUERY             0x0008
+!define TOKEN_QUERY_SOURCE      0x0010
+!define TOKEN_ADJUST_PRIVILEGES 0x0020
+!define TOKEN_ADJUST_GROUPS     0x0040
+!define TOKEN_ADJUST_DEFAULT    0x0080
+!define TOKEN_ADJUST_SESSIONID  0x0100
+!define TOKEN_ALL_ACCESS_P     0xF00FF
+!define /math TOKEN_ALL_ACCESS  ${TOKEN_ALL_ACCESS_P} | ${TOKEN_ADJUST_SESSIONID}
+!define /math TOKEN_READ        ${STANDARD_RIGHTS_READ} | ${TOKEN_QUERY}
+!define TOKEN_WRITE      0x200E0 ;(STANDARD_RIGHTS_WRITE|TOKEN_ADJUST_PRIVILEGES|TOKEN_ADJUST_GROUPS|TOKEN_ADJUST_DEFAULT)
+!define TOKEN_EXECUTE    ${STANDARD_RIGHTS_EXECUTE}
+
+!define PROCESS_TERMINATE         0x0001  
+!define PROCESS_CREATE_THREAD     0x0002  
+!define PROCESS_SET_SESSIONID     0x0004  
+!define PROCESS_VM_OPERATION      0x0008  
+!define PROCESS_VM_READ           0x0010  
+!define PROCESS_VM_WRITE          0x0020  
+!define PROCESS_DUP_HANDLE        0x0040  
+!define PROCESS_CREATE_PROCESS    0x0080  
+!define PROCESS_SET_QUOTA         0x0100  
+!define PROCESS_SET_INFORMATION   0x0200  
+!define PROCESS_QUERY_INFORMATION 0x0400  
+!define PROCESS_SUSPEND_RESUME    0x0800  
+!define PROCESS_ALL_ACCESS      0x1F0FFF ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF)
+!define THREAD_TERMINATE               0x0001  
+!define THREAD_SUSPEND_RESUME          0x0002  
+!define THREAD_GET_CONTEXT             0x0008  
+!define THREAD_SET_CONTEXT             0x0010  
+!define THREAD_SET_INFORMATION         0x0020  
+!define THREAD_QUERY_INFORMATION       0x0040  
+!define THREAD_SET_THREAD_TOKEN        0x0080
+!define THREAD_IMPERSONATE             0x0100
+!define THREAD_DIRECT_IMPERSONATION    0x0200
+!define THREAD_ALL_ACCESS            0x1F03FF ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF)
+!define JOB_OBJECT_ASSIGN_PROCESS           0x0001
+!define JOB_OBJECT_SET_ATTRIBUTES           0x0002
+!define JOB_OBJECT_QUERY                    0x0004
+!define JOB_OBJECT_TERMINATE                0x0008
+!define JOB_OBJECT_SET_SECURITY_ATTRIBUTES  0x0010
+!define JOB_OBJECT_ALL_ACCESS             0x1F001F ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1F )
+!define EVENT_MODIFY_STATE      0x0002  
+!define EVENT_ALL_ACCESS 0x1F0003 ;(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) 
+!define MUTANT_QUERY_STATE      0x0001
+!define MUTANT_ALL_ACCESS 0x1F0001 ;(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|MUTANT_QUERY_STATE)
+
+!define FILE_SHARE_READ   0x00000001  
+!define FILE_SHARE_WRITE  0x00000002  
+!define FILE_SHARE_DELETE 0x00000004  
+!define FILE_ATTRIBUTE_READONLY             0x00000001  
+!define FILE_ATTRIBUTE_HIDDEN               0x00000002  
+!define FILE_ATTRIBUTE_SYSTEM               0x00000004  
+!define FILE_ATTRIBUTE_DIRECTORY            0x00000010  
+!define FILE_ATTRIBUTE_ARCHIVE              0x00000020  
+!define FILE_ATTRIBUTE_DEVICE               0x00000040  
+!define FILE_ATTRIBUTE_NORMAL               0x00000080  
+!define FILE_ATTRIBUTE_TEMPORARY            0x00000100  
+!define FILE_ATTRIBUTE_SPARSE_FILE          0x00000200  
+!define FILE_ATTRIBUTE_REPARSE_POINT        0x00000400  
+!define FILE_ATTRIBUTE_COMPRESSED           0x00000800  
+!define FILE_ATTRIBUTE_OFFLINE              0x00001000  
+!define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED  0x00002000  
+!define FILE_ATTRIBUTE_ENCRYPTED            0x00004000  
+
+!define DUPLICATE_CLOSE_SOURCE 0x00000001  
+!define DUPLICATE_SAME_ACCESS  0x00000002  
+
+!define VER_PLATFORM_WIN32s             0
+!define VER_PLATFORM_WIN32_WINDOWS      1
+!define VER_PLATFORM_WIN32_NT           2
+
+!ifndef REG_SZ & NSIS_WINDOWS__NO_REGTYPES
+!define REG_NONE                 0
+!define REG_SZ                   1
+!define REG_EXPAND_SZ            2
+!define REG_BINARY               3
+!define REG_DWORD                4
+!define REG_DWORD_LITTLE_ENDIAN  4
+!define REG_DWORD_BIG_ENDIAN     5
+!define REG_LINK                 6
+!define REG_MULTI_SZ             7
+!endif
+
+
+!endif /* __WIN_NOINC_WINNT */
+!verbose pop
+!endif /* __WIN_WINNT__INC */
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Include/Win/WinError.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/Win/WinError.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/Win/WinError.nsh	(revision 2961)
@@ -0,0 +1,64 @@
+!ifndef __WIN_WINERROR__INC
+!define __WIN_WINERROR__INC
+!verbose push
+!verbose 3
+!ifndef __WIN_NOINC_WINERROR
+
+#define NO_ERROR 0
+!define ERROR_SUCCESS                 0
+!define ERROR_INVALID_FUNCTION        1    
+!define ERROR_FILE_NOT_FOUND          2
+!define ERROR_PATH_NOT_FOUND          3
+!define ERROR_TOO_MANY_OPEN_FILES     4
+!define ERROR_ACCESS_DENIED           5
+!define ERROR_INVALID_HANDLE          6
+!define ERROR_ARENA_TRASHED           7
+!define ERROR_NOT_ENOUGH_MEMORY       8    
+!define ERROR_INVALID_BLOCK           9
+!define ERROR_BAD_ENVIRONMENT         10
+!define ERROR_BAD_FORMAT              11
+!define ERROR_INVALID_ACCESS          12
+!define ERROR_INVALID_DATA            13
+!define ERROR_OUTOFMEMORY             14
+!define ERROR_INVALID_DRIVE           15
+!define ERROR_CURRENT_DIRECTORY       16
+!define ERROR_NOT_SAME_DEVICE         17
+!define ERROR_NO_MORE_FILES           18
+!define ERROR_WRITE_PROTECT           19
+!define ERROR_BAD_UNIT                20
+!define ERROR_NOT_READY               21
+!define ERROR_BAD_COMMAND             22
+!define ERROR_CRC                     23
+!define ERROR_BAD_LENGTH              24
+!define ERROR_SEEK                    25
+!define ERROR_NOT_DOS_DISK            26
+!define ERROR_SECTOR_NOT_FOUND        27
+!define ERROR_OUT_OF_PAPER            28
+!define ERROR_WRITE_FAULT             29
+!define ERROR_READ_FAULT              30
+!define ERROR_GEN_FAILURE             31
+!define ERROR_SHARING_VIOLATION       32
+!define ERROR_LOCK_VIOLATION          33
+!define ERROR_WRONG_DISK              34
+!define ERROR_SHARING_BUFFER_EXCEEDED 36
+!define ERROR_HANDLE_EOF              38
+!define ERROR_HANDLE_DISK_FULL        39
+!define ERROR_NOT_SUPPORTED           50
+
+!define SEVERITY_SUCCESS 0
+!define SEVERITY_ERROR   1
+!define E_UNEXPECTED   0x8000FFFF
+!define E_NOTIMPL      0x80004001
+!define E_OUTOFMEMORY  0x8007000E
+!define E_INVALIDARG   0x80070057
+!define E_NOINTERFACE  0x80004002
+!define E_POINTER      0x80004003
+!define E_HANDLE       0x80070006
+!define E_ABORT        0x80004004
+!define E_FAIL         0x80004005
+!define E_ACCESSDENIED 0x80070005
+!define E_PENDING      0x8000000A
+
+!endif /* __WIN_NOINC_WINERROR */
+!verbose pop
+!endif /* __WIN_WINERROR__INC */
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Include/WinCore.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/WinCore.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/WinCore.nsh	(revision 2961)
@@ -0,0 +1,214 @@
+/*
+
+WinCore.nsh & Win\*.nsh - Collection of common windows defines
+
+!define __WIN_NOINC_xxx to exclude a windows header file
+!define __WIN_MS_xxx to exclude specific things (The original #ifdef xxx checks can be found in the official Microsoft headers)
+
+*/
+
+!ifndef __WIN_WINDOWS__INC
+!define __WIN_WINDOWS__INC
+!verbose push
+!verbose 3
+
+
+!define __WIN_PTRSIZE 4 ;will we ever see a 64 bit version?
+
+
+!include Win\WinDef.nsh
+!include Win\WinError.nsh
+!include Win\WinNT.nsh
+!include Win\WinUser.nsh
+
+!ifndef __WIN_MS_NOWINMESSAGES
+!include WinMessages.nsh
+!endif
+
+
+
+
+
+/**************************************************
+WinBase.h
+**************************************************/
+!ifndef __WIN_NOINC_WINBASE
+!define INVALID_HANDLE_VALUE -1
+!define INVALID_FILE_SIZE 0xFFFFFFFF
+!define INVALID_SET_FILE_POINTER -1
+!define INVALID_FILE_ATTRIBUTES -1
+
+!define WAIT_FAILED 0xFFFFFFFF
+!define WAIT_OBJECT_0       0 ;((STATUS_WAIT_0 ) + 0 )
+
+!define WAIT_ABANDONED         0x80 ;((STATUS_ABANDONED_WAIT_0 ) + 0 )
+!define WAIT_ABANDONED_0       0x80 ;((STATUS_ABANDONED_WAIT_0 ) + 0 )
+
+!define DRIVE_UNKNOWN     0
+!define DRIVE_NO_ROOT_DIR 1
+!define DRIVE_REMOVABLE   2
+!define DRIVE_FIXED       3
+!define DRIVE_REMOTE      4
+!define DRIVE_CDROM       5
+!define DRIVE_RAMDISK     6
+
+!define FILE_TYPE_UNKNOWN   0x0000
+!define FILE_TYPE_DISK      0x0001
+!define FILE_TYPE_CHAR      0x0002
+!define FILE_TYPE_PIPE      0x0003
+!define FILE_TYPE_REMOTE    0x8000
+
+!define STD_INPUT_HANDLE   -10
+!define STD_OUTPUT_HANDLE  -11
+!define STD_ERROR_HANDLE   -12
+
+#define IGNORE              0       ; Ignore signal
+!define INFINITE            0xFFFFFFFF  ; Infinite timeout
+
+!endif /* __WIN_NOINC_WINBASE */
+
+
+
+
+
+/**************************************************
+WinGDI.h
+**************************************************/
+!ifndef __WIN_MS_NOGDI & __WIN_NOINC_WINGDI
+!define HORZRES       8 
+!define VERTRES       10
+!define BITSPIXEL     12
+!define LOGPIXELSX    88
+!define LOGPIXELSY    90
+!define COLORRES     108
+!define VREFRESH     116
+!define DESKTOPVERTRES 117
+!define DESKTOPHORZRES 118
+!endif /* __WIN_MS_NOGDI & __WIN_NOINC_WINGDI */
+
+
+
+
+
+/**************************************************
+WinReg.h
+**************************************************/
+!ifndef __WIN_NOINC_WINREG
+!ifndef __WIN_NOHKEY & HKEY_CLASSES_ROOT & HKEY_CURRENT_USER & HKEY_LOCAL_MACHINE & HKEY_USERS
+!define HKEY_CLASSES_ROOT        0x80000000
+!define HKEY_CURRENT_USER        0x80000001
+!define HKEY_LOCAL_MACHINE       0x80000002
+!define HKEY_USERS               0x80000003
+!define HKEY_PERFORMANCE_DATA    0x80000004
+!define HKEY_PERFORMANCE_TEXT    0x80000050
+!define HKEY_PERFORMANCE_NLSTEXT 0x80000060
+!define HKEY_CURRENT_CONFIG      0x80000005
+!define HKEY_DYN_DATA            0x80000006
+!ifndef __WIN_NOSHORTHKEY & HKCR & HKCU & HKLM
+!define HKCR ${HKEY_CLASSES_ROOT}
+!define HKCU ${HKEY_CURRENT_USER}
+!define HKLM ${HKEY_LOCAL_MACHINE}
+!endif
+!endif
+!endif /* __WIN_NOINC_WINREG */
+
+
+
+
+
+/**************************************************
+WindowsX.h
+**************************************************/
+!ifndef __WIN_NOINC_WINDOWSX
+!ifndef GET_X_LPARAM & GET_Y_LPARAM
+!macro _Win_GET_X_LPARAM _outvar _in
+IntOp ${_outvar} "${_in}" << 16   ;We can't just use LOWORD, we need to keep the sign,
+IntOp ${_outvar} ${_outvar} >> 16 ;so we let NSIS sign extend for us
+!macroend
+!define GET_X_LPARAM "!insertmacro _Win_GET_X_LPARAM "
+!macro _Win_GET_Y_LPARAM _outvar _in
+IntOp ${_outvar} "${_in}" >> 16
+!macroend
+!define GET_Y_LPARAM "!insertmacro _Win_GET_Y_LPARAM "
+!endif
+!endif /* __WIN_NOINC_WINDOWSX */
+
+
+
+
+
+/**************************************************
+ShlObj.h
+**************************************************/
+!ifndef __WIN_NOINC_SHLOBJ
+!ifndef __WIN_NOSHELLFOLDERCSIDL
+!define CSIDL_DESKTOP                 0x0000
+!define CSIDL_INTERNET                0x0001 ;Internet Explorer (icon on desktop)
+!define CSIDL_PROGRAMS                0x0002 ;Start Menu\Programs
+!define CSIDL_CONTROLS                0x0003 ;My Computer\Control Panel
+!define CSIDL_PRINTERS                0x0004 ;My Computer\Printers
+!define CSIDL_PERSONAL                0x0005 ;My Documents
+!define CSIDL_FAVORITES               0x0006 ;<user name>\Favorites
+!define CSIDL_STARTUP                 0x0007 ;Start Menu\Programs\Startup
+!define CSIDL_RECENT                  0x0008 ;<user name>\Recent
+!define CSIDL_SENDTO                  0x0009 ;<user name>\SendTo
+!define CSIDL_BITBUCKET               0x000a ;<desktop>\Recycle Bin
+!define CSIDL_STARTMENU               0x000b ;<user name>\Start Menu
+!define CSIDL_MYDOCUMENTS             0x000c ;logical "My Documents" desktop icon
+!define CSIDL_MYMUSIC                 0x000d ;"My Music" folder
+!define CSIDL_MYVIDEO                 0x000e ;"My Videos" folder
+!define CSIDL_DESKTOPDIRECTORY        0x0010 ;<user name>\Desktop
+!define CSIDL_DRIVES                  0x0011 ;My Computer
+!define CSIDL_NETWORK                 0x0012 ;Network Neighborhood
+!define CSIDL_NETHOOD                 0x0013 ;<user name>\nethood
+!define CSIDL_FONTS                   0x0014 ;windows\fonts
+!define CSIDL_TEMPLATES               0x0015
+!define CSIDL_COMMON_STARTMENU        0x0016 ;All Users\Start Menu
+!define CSIDL_COMMON_PROGRAMS         0x0017 ;All Users\Start Menu\Programs
+!define CSIDL_COMMON_STARTUP          0x0018 ;All Users\Startup
+!define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019 ;All Users\Desktop
+!define CSIDL_APPDATA                 0x001a ;<user name>\Application Data
+!define CSIDL_PRINTHOOD               0x001b ;<user name>\PrintHood
+!define CSIDL_LOCAL_APPDATA           0x001c ;<user name>\Local Settings\Applicaiton Data (non roaming)
+!define CSIDL_ALTSTARTUP              0x001d ;non localized startup
+!define CSIDL_COMMON_ALTSTARTUP       0x001e ;non localized common startup
+!define CSIDL_COMMON_FAVORITES        0x001f
+!define CSIDL_INTERNET_CACHE          0x0020
+!define CSIDL_COOKIES                 0x0021
+!define CSIDL_HISTORY                 0x0022
+!define CSIDL_COMMON_APPDATA          0x0023 ;All Users\Application Data
+!define CSIDL_WINDOWS                 0x0024 ;GetWindowsDirectory
+!define CSIDL_SYSTEM                  0x0025 ;GetSystemDirectory
+!define CSIDL_PROGRAM_FILES           0x0026 ;C:\Program Files
+!define CSIDL_MYPICTURES              0x0027
+!define CSIDL_PROFILE                 0x0028 ;USERPROFILE
+!define CSIDL_SYSTEMX86               0x0029 ;x86 system directory on RISC
+!define CSIDL_PROGRAM_FILESX86        0x002a ;x86 C:\Program Files on RISC
+!define CSIDL_PROGRAM_FILES_COMMON    0x002b ;C:\Program Files\Common
+!define CSIDL_PROGRAM_FILES_COMMONX86 0x002c ;x86 Program Files\Common on RISC
+!define CSIDL_COMMON_TEMPLATES        0x002d ;All Users\Templates
+!define CSIDL_COMMON_DOCUMENTS        0x002e ;All Users\Documents
+!define CSIDL_COMMON_ADMINTOOLS       0x002f ;All Users\Start Menu\Programs\Administrative Tools
+!define CSIDL_ADMINTOOLS              0x0030 ;<user name>\Start Menu\Programs\Administrative Tools
+!define CSIDL_CONNECTIONS             0x0031 ;Network and Dial-up Connections
+!define CSIDL_COMMON_MUSIC            0x0035 ;All Users\My Music
+!define CSIDL_COMMON_PICTURES         0x0036 ;All Users\My Pictures
+!define CSIDL_COMMON_VIDEO            0x0037 ;All Users\My Video
+!define CSIDL_RESOURCES               0x0038 ;Resource Direcotry
+!define CSIDL_RESOURCES_LOCALIZED     0x0039 ;Localized Resource Direcotry
+!define CSIDL_COMMON_OEM_LINKS        0x003a ;Links to All Users OEM specific apps
+!define CSIDL_CDBURN_AREA             0x003b ;USERPROFILE\Local Settings\Application Data\Microsoft\CD Burning
+!define CSIDL_COMPUTERSNEARME         0x003d ;Computers Near Me (computered from Workgroup membership)
+!define CSIDL_FLAG_CREATE             0x8000 ;combine with CSIDL_ value to force folder creation in SHGetFolderPath()
+!define CSIDL_FLAG_DONT_VERIFY        0x4000 ;combine with CSIDL_ value to return an unverified folder path
+!define CSIDL_FLAG_NO_ALIAS           0x1000 ;combine with CSIDL_ value to insure non-alias versions of the pidl
+!define CSIDL_FLAG_PER_USER_INIT      0x0800 ;combine with CSIDL_ value to indicate per-user init (eg. upgrade)
+!define CSIDL_FLAG_MASK               0xFF00
+!endif /* __WIN_NOSHELLFOLDERCSIDL */
+!endif /* __WIN_NOINC_SHLOBJ */
+
+
+
+
+!verbose pop
+!endif /* __WIN_WINDOWS__INC */
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Include/WinVer.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/WinVer.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/WinVer.nsh	(revision 2961)
@@ -0,0 +1,488 @@
+; ---------------------
+;      WinVer.nsh
+; ---------------------
+;
+; LogicLib extensions for handling Windows versions and service packs.
+;
+; IsNT checks if the installer is running on Windows NT family (NT4, 2000, XP, etc.)
+;
+;   ${If} ${IsNT}
+;     DetailPrint "Running on NT. Installing Unicode enabled application."
+;   ${Else}
+;     DetailPrint "Not running on NT. Installing ANSI application."
+;   ${EndIf}
+;
+; IsServer checks if the installer is running on a server version of Windows (NT4, 2003, 2008, etc.)
+;
+; AtLeastWin<version> checks if the installer is running on Windows version at least as specified.
+; IsWin<version> checks if the installer is running on Windows version exactly as specified.
+; AtMostWin<version> checks if the installer is running on Windows version at most as specified.
+;
+; <version> can be replaced with the following values:
+;
+;   95
+;   98
+;   ME
+;
+;   NT4
+;   2000
+;   XP
+;   2003
+;   Vista
+;   2008
+;   7
+;   2008R2
+;   8
+;   2012
+;
+; AtLeastServicePack checks if the installer is running on Windows service pack version at least as specified.
+; IsServicePack checks if the installer is running on Windows service pack version exactly as specified.
+; AtMostServicePack checks if the installer is running on Windows service version pack at most as specified.
+;
+; Usage examples:
+;
+;   ${If} ${IsNT}
+;   DetailPrint "Running on NT family."
+;   DetailPrint "Surely not running on 95, 98 or ME."
+;   ${AndIf} ${AtLeastWinNT4}
+;     DetailPrint "Running on NT4 or better. Could even be 2003."
+;   ${EndIf}
+;
+;   ${If} ${AtLeastWinXP}
+;     DetailPrint "Running on XP or better."
+;   ${EndIf}
+;
+;   ${If} ${IsWin2000}
+;     DetailPrint "Running on 2000."
+;   ${EndIf}
+;
+;   ${If} ${IsWin2000}
+;   ${AndIf} ${AtLeastServicePack} 3
+;   ${OrIf} ${AtLeastWinXP}
+;     DetailPrint "Running Win2000 SP3 or above"
+;   ${EndIf}
+;
+;   ${If} ${AtMostWinXP}
+;     DetailPrint "Running on XP or older. Surely not running on Vista. Maybe 98, or even 95."
+;   ${EndIf}
+;
+; Warning:
+;
+;   Windows 95 and NT both use the same version number. To avoid getting NT4 misidentified
+;   as Windows 95 and vice-versa or 98 as a version higher than NT4, always use IsNT to
+;   check if running on the NT family.
+;
+;     ${If} ${AtLeastWin95}
+;     ${And} ${AtMostWinME}
+;       DetailPrint "Running 95, 98 or ME."
+;       DetailPrint "Actually, maybe it's NT4?"
+;       ${If} ${IsNT}
+;         DetailPrint "Yes, it's NT4! oops..."
+;       ${Else}
+;         DetailPrint "Nope, not NT4. phew..."
+;       ${EndIf}
+;     ${EndIf}
+;
+;
+; Other useful extensions are:
+;
+;    * IsWin2003R2
+;    * IsStarterEdition
+;    * OSHasMediaCenter
+;    * OSHasTabletSupport
+;
+
+!verbose push
+!verbose 3
+
+!ifndef ___WINVER__NSH___
+!define ___WINVER__NSH___
+
+!include LogicLib.nsh
+!include Util.nsh
+
+# masks for our variables
+
+!define _WINVER_VERXBIT  0x00000001
+!define _WINVER_MASKVMAJ 0x7F000000
+!define _WINVER_MASKVMIN 0x00FF0000
+
+!define _WINVER_NTBIT    0x80000000
+!define _WINVER_NTMASK   0x7FFFFFFF
+!define _WINVER_NTSRVBIT 0x40000000
+!define _WINVER_MASKVBLD 0x0000FFFF
+!define _WINVER_MASKSP   0x000F0000
+
+# possible variable values for different versions
+
+!define WINVER_95_NT     0x04000000 ;4.00.0950
+!define WINVER_95        0x04000000 ;4.00.0950
+!define WINVER_98_NT     0x040a0000 ;4.10.1998
+!define WINVER_98        0x040a0000 ;4.10.1998
+;define WINVER_98SE      0x040a0000 ;4.10.2222
+!define WINVER_ME_NT     0x045a0000 ;4.90.3000
+!define WINVER_ME        0x045a0000 ;4.90.3000
+;define WINVER_NT3d51               ;3.51.1057
+!define WINVER_NT4_NT    0x84000000 ;4.00.1381
+!define WINVER_NT4       0x04000000 ;4.00.1381
+!define WINVER_2000_NT   0x85000000 ;5.00.2195
+!define WINVER_2000      0x05000000 ;5.00.2195
+!define WINVER_XP_NT     0x85010000 ;5.01.2600
+!define WINVER_XP        0x05010000 ;5.01.2600
+;define WINVER_XP64                 ;5.02.3790
+!define WINVER_2003_NT   0x85020000 ;5.02.3790
+!define WINVER_2003      0x05020000 ;5.02.3790
+!define WINVER_VISTA_NT  0x86000000 ;6.00.6000
+!define WINVER_VISTA     0x06000000 ;6.00.6000
+!define WINVER_2008_NT   0x86000001 ;6.00.6001
+!define WINVER_2008      0x06000001 ;6.00.6001
+!define WINVER_7_NT      0x86010000 ;6.01.7600
+!define WINVER_7         0x06010000 ;6.01.7600
+!define WINVER_2008R2_NT 0x86010001 ;6.01.7600
+!define WINVER_2008R2    0x06010001 ;6.01.7600
+!define WINVER_8_NT      0x86020000 ;6.02.9200
+!define WINVER_8         0x06020000 ;6.02.9200
+!define WINVER_2012_NT   0x86020001 ;6.02.9200
+!define WINVER_2012      0x06020001 ;6.02.9200
+
+
+# use this to make all nt > 9x
+
+!ifdef WINVER_NT4_OVER_W95
+  !define __WINVERTMP ${WINVER_NT4}
+  !undef WINVER_NT4
+  !define /math WINVER_NT4 ${__WINVERTMP} | ${_WINVER_VERXBIT}
+  !undef __WINVERTMP
+!endif
+
+# some definitions from header files
+
+!define OSVERSIONINFOA_SIZE   148
+!define OSVERSIONINFOEXA_SIZE 156
+!define VER_PLATFORM_WIN32_NT 2
+!define VER_NT_WORKSTATION    1
+
+!define SM_TABLETPC    86
+!define SM_MEDIACENTER 87
+!define SM_STARTER     88
+!define SM_SERVERR2    89
+
+# variable declaration
+
+!macro __WinVer_DeclareVars
+
+  !ifndef __WINVER_VARS_DECLARED
+
+    !define __WINVER_VARS_DECLARED
+
+    Var /GLOBAL __WINVERV
+    Var /GLOBAL __WINVERSP
+
+  !endif
+
+!macroend
+
+# lazy initialization macro
+
+!ifmacrondef __WinVer_Call_GetVersionEx
+
+  !macro __WinVer_Call_GetVersionEx STRUCT_SIZE
+
+    System::Call '*$0(i ${STRUCT_SIZE})'
+    System::Call kernel32::GetVersionEx(ir0)i.r3
+
+  !macroend
+
+!endif
+
+!macro __WinVer_InitVars
+  # variables
+  !insertmacro __WinVer_DeclareVars
+
+  # only calculate version once
+  StrCmp $__WINVERV "" _winver_noveryet
+    Return
+  _winver_noveryet:
+
+  # push used registers on the stack
+  Push $0
+  Push $1 ;maj
+  Push $2 ;min
+  Push $3 ;bld
+  Push $R0 ;temp
+
+  # allocate memory
+  System::Alloc ${OSVERSIONINFOEXA_SIZE}
+  Pop $0
+
+  # use OSVERSIONINFOEX
+  !insertmacro __WinVer_Call_GetVersionEx ${OSVERSIONINFOEXA_SIZE}
+
+  IntCmp $3 0 "" _winver_ex _winver_ex
+    # OSVERSIONINFOEX not allowed (Win9x or NT4 w/SP < 6), use OSVERSIONINFO
+    !insertmacro __WinVer_Call_GetVersionEx ${OSVERSIONINFOA_SIZE}
+  _winver_ex:
+
+  # get results from struct
+  System::Call '*$0(i.s,i.r1,i.r2,i.r3,i.s,&t128.s,&i2.s,&i2,&i2,&i1.s,&i1)'
+
+  # free struct
+  System::Free $0
+
+  # win9x has major and minor info in high word of dwBuildNumber - remove it
+  IntOp $3 $3 & 0xFFFF
+
+  # get dwOSVersionInfoSize
+  Pop $R0
+
+  # get dwPlatformId
+  Pop $0
+
+  # NT?
+  IntCmp $0 ${VER_PLATFORM_WIN32_NT} "" _winver_notnt _winver_notnt
+    IntOp $__WINVERSP $__WINVERSP | ${_WINVER_NTBIT}
+    IntOp $__WINVERV  $__WINVERV  | ${_WINVER_NTBIT}
+  _winver_notnt:
+
+  # get service pack information
+  IntCmp $0 ${VER_PLATFORM_WIN32_NT} _winver_nt "" _winver_nt  # win9x
+
+    # get szCSDVersion
+    Pop $0
+
+    # copy second char
+    StrCpy $0 $0 1 1
+
+    # discard invalid wServicePackMajor and wProductType
+    Pop $R0
+    Pop $R0
+
+    # switch
+    StrCmp $0 'A' "" +3
+      StrCpy $0 1
+      Goto _winver_sp_done
+    StrCmp $0 'B' "" +3
+      StrCpy $0 2
+      Goto _winver_sp_done
+    StrCmp $0 'C' "" +3
+      StrCpy $0 3
+      Goto _winver_sp_done
+    StrCpy $0 0
+    Goto _winver_sp_done
+
+  _winver_nt: # nt
+
+    IntCmp $R0 ${OSVERSIONINFOEXA_SIZE} "" _winver_sp_noex _winver_sp_noex
+
+      # discard szCSDVersion
+      Pop $0
+
+      # get wProductType
+      Exch
+      Pop $0
+
+      # is server?
+      IntCmp $0 ${VER_NT_WORKSTATION} _winver_noserver _winver_noserver ""
+        IntOp $__WINVERSP $__WINVERSP | ${_WINVER_NTSRVBIT}
+      _winver_noserver:
+
+      # get wServicePackMajor
+      Pop $0
+
+      # done with sp
+      Goto _winver_sp_done
+
+    _winver_sp_noex: # OSVERSIONINFO, not OSVERSIONINFOEX
+
+      ####  TODO
+      ## For IsServer to support < NT4SP6, we need to check the registry
+      ## here to see if we are a server and/or DC
+
+      # get szCSDVersion
+      Pop $0
+
+      # discard invalid wServicePackMajor and wProductType
+      Pop $R0
+      Pop $R0
+
+      # get service pack number from text
+      StrCpy $R0 $0 13
+      StrCmp $R0 "Service Pack " "" +3
+        StrCpy $0 $0 "" 13 # cut "Service Pack "
+        Goto +2
+        StrCpy $0 0 # no service pack
+
+!ifdef WINVER_NT4_OVER_W95
+      IntOp $__WINVERV $__WINVERV | ${_WINVER_VERXBIT}
+!endif
+
+  _winver_sp_done:
+
+  # store service pack
+  IntOp $0 $0 << 16
+  IntOp $__WINVERSP $__WINVERSP | $0
+
+  ### now for the version
+
+  # is server?
+  IntOp $0 $__WINVERSP & ${_WINVER_NTSRVBIT}
+
+  # windows xp x64?
+  IntCmp $0 0 "" _winver_not_xp_x64 _winver_not_xp_x64 # not server
+  IntCmp $1 5 "" _winver_not_xp_x64 _winver_not_xp_x64 # maj 5
+  IntCmp $2 2 "" _winver_not_xp_x64 _winver_not_xp_x64 # min 2
+    # change XP x64 from 5.2 to 5.1 so it's still XP
+    StrCpy $2 1
+  _winver_not_xp_x64:
+
+  # server 2008?
+  IntCmp $0 0 _winver_not_ntserver # server
+  IntCmp 6 $1 "" "" _winver_not_ntserver # maj 6
+    # extra bit so Server 2008 comes after Vista SP1 that has the same minor version, same for Win7 vs 2008R2
+    IntOp $__WINVERV $__WINVERV | ${_WINVER_VERXBIT}
+  _winver_not_ntserver:
+
+  # pack version
+  IntOp $1 $1 << 24 # VerMajor
+  IntOp $__WINVERV $__WINVERV | $1
+  IntOp $0 $2 << 16
+  IntOp $__WINVERV $__WINVERV | $0 # VerMinor
+  IntOp $__WINVERSP $__WINVERSP | $3 # VerBuild
+
+  # restore registers
+  Pop $R0
+  Pop $3
+  Pop $2
+  Pop $1
+  Pop $0
+
+!macroend
+
+# version comparison LogicLib macros
+
+!macro _WinVerAtLeast _a _b _t _f
+  !insertmacro _LOGICLIB_TEMP
+  ${CallArtificialFunction} __WinVer_InitVars
+  IntOp $_LOGICLIB_TEMP $__WINVERV & ${_WINVER_NTMASK}
+  !insertmacro _>= $_LOGICLIB_TEMP `${_b}` `${_t}` `${_f}`
+!macroend
+!macro _WinVerIs _a _b _t _f
+  ${CallArtificialFunction} __WinVer_InitVars
+  !insertmacro _= $__WINVERV `${_b}` `${_t}` `${_f}`
+!macroend
+!macro _WinVerAtMost _a _b _t _f
+  !insertmacro _LOGICLIB_TEMP
+  ${CallArtificialFunction} __WinVer_InitVars
+  IntOp $_LOGICLIB_TEMP $__WINVERV & ${_WINVER_NTMASK}
+  !insertmacro _<= $_LOGICLIB_TEMP `${_b}` `${_t}` `${_f}`
+!macroend
+
+!macro __WinVer_DefineOSTest Test OS Suffix
+  !define ${Test}Win${OS} `"" WinVer${Test} ${WINVER_${OS}${Suffix}}`
+!macroend
+
+!macro __WinVer_DefineOSTests Test Suffix
+  !insertmacro __WinVer_DefineOSTest ${Test} 95     '${Suffix}'
+  !insertmacro __WinVer_DefineOSTest ${Test} 98     '${Suffix}'
+  !insertmacro __WinVer_DefineOSTest ${Test} ME     '${Suffix}'
+  !insertmacro __WinVer_DefineOSTest ${Test} NT4    '${Suffix}'
+  !insertmacro __WinVer_DefineOSTest ${Test} 2000   '${Suffix}'
+  !insertmacro __WinVer_DefineOSTest ${Test} XP     '${Suffix}'
+  !insertmacro __WinVer_DefineOSTest ${Test} 2003   '${Suffix}'
+  !insertmacro __WinVer_DefineOSTest ${Test} VISTA  '${Suffix}'
+  !insertmacro __WinVer_DefineOSTest ${Test} 2008   '${Suffix}'
+  !insertmacro __WinVer_DefineOSTest ${Test} 7      '${Suffix}'
+  !insertmacro __WinVer_DefineOSTest ${Test} 2008R2 '${Suffix}'
+  !insertmacro __WinVer_DefineOSTest ${Test} 8      '${Suffix}'
+  !insertmacro __WinVer_DefineOSTest ${Test} 2012   '${Suffix}'
+!macroend
+
+!insertmacro __WinVer_DefineOSTests AtLeast ""
+!insertmacro __WinVer_DefineOSTests Is _NT
+!insertmacro __WinVer_DefineOSTests AtMost ""
+
+# version feature LogicLib macros
+
+!macro _IsNT _a _b _t _f
+  !insertmacro _LOGICLIB_TEMP
+  ${CallArtificialFunction} __WinVer_InitVars
+  IntOp $_LOGICLIB_TEMP $__WINVERSP & ${_WINVER_NTBIT}
+  !insertmacro _!= $_LOGICLIB_TEMP 0 `${_t}` `${_f}`
+!macroend
+!define IsNT `"" IsNT ""`
+
+!macro _IsServerOS _a _b _t _f
+  !insertmacro _LOGICLIB_TEMP
+  ${CallArtificialFunction} __WinVer_InitVars
+  IntOp $_LOGICLIB_TEMP $__WINVERSP & ${_WINVER_NTSRVBIT}
+  !insertmacro _!= $_LOGICLIB_TEMP 0 `${_t}` `${_f}`
+!macroend
+!define IsServerOS `"" IsServerOS ""`
+
+# service pack macros
+
+!macro _WinVer_GetServicePackLevel OUTVAR
+  ${CallArtificialFunction} __WinVer_InitVars
+  IntOp ${OUTVAR} $__WINVERSP & ${_WINVER_MASKSP}
+  IntOp ${OUTVAR} ${OUTVAR} >> 16
+!macroend
+!define WinVerGetServicePackLevel '!insertmacro _WinVer_GetServicePackLevel '
+
+!macro _AtLeastServicePack _a _b _t _f
+  !insertmacro _LOGICLIB_TEMP
+  ${WinVerGetServicePackLevel} $_LOGICLIB_TEMP
+  !insertmacro _>= $_LOGICLIB_TEMP `${_b}` `${_t}` `${_f}`
+!macroend
+!define AtLeastServicePack `"" AtLeastServicePack`
+
+!macro _AtMostServicePack _a _b _t _f
+  !insertmacro _LOGICLIB_TEMP
+  ${WinVerGetServicePackLevel} $_LOGICLIB_TEMP
+  !insertmacro _<= $_LOGICLIB_TEMP `${_b}` `${_t}` `${_f}`
+!macroend
+!define AtMostServicePack `"" AtMostServicePack`
+
+!macro _IsServicePack _a _b _t _f
+  !insertmacro _LOGICLIB_TEMP
+  ${WinVerGetServicePackLevel} $_LOGICLIB_TEMP
+  !insertmacro _= $_LOGICLIB_TEMP `${_b}` `${_t}` `${_f}`
+!macroend
+!define IsServicePack `"" IsServicePack`
+
+# special feature LogicLib macros
+
+!macro _WinVer_SysMetricCheck m _b _t _f
+  !insertmacro _LOGICLIB_TEMP
+  System::Call user32::GetSystemMetrics(i${m})i.s
+  pop $_LOGICLIB_TEMP
+  !insertmacro _!= $_LOGICLIB_TEMP 0 `${_t}` `${_f}`
+!macroend
+
+!define IsWin2003R2        `${SM_SERVERR2}    WinVer_SysMetricCheck ""`
+!define IsStarterEdition   `${SM_STARTER}     WinVer_SysMetricCheck ""`
+!define OSHasMediaCenter   `${SM_MEDIACENTER} WinVer_SysMetricCheck ""`
+!define OSHasTabletSupport `${SM_TABLETPC}    WinVer_SysMetricCheck ""`
+
+# version retrieval macros
+
+!macro __WinVer_GetVer var rshift mask outvar
+  ${CallArtificialFunction} __WinVer_InitVars
+  !if "${mask}" != ""
+    IntOp ${outvar} ${var} & ${mask}
+    !if "${rshift}" != ""
+      IntOp ${outvar} ${outvar} >> ${rshift}
+    !endif
+  !else
+    IntOp ${outvar} ${var} >> ${rshift}
+  !endif
+!macroend
+
+!define WinVerGetMajor '!insertmacro __WinVer_GetVer $__WINVERV  24 ${_WINVER_MASKVMAJ}'
+!define WinVerGetMinor '!insertmacro __WinVer_GetVer $__WINVERV  16 ${_WINVER_MASKVMIN}'
+!define WinVerGetBuild '!insertmacro __WinVer_GetVer $__WINVERSP "" ${_WINVER_MASKVBLD}'
+
+# done
+
+!endif # !___WINVER__NSH___
+
+!verbose pop
Index: tmp/org.txm.setups/nsis-2.5/Include/MUI2.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/MUI2.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/MUI2.nsh	(revision 2961)
@@ -0,0 +1 @@
+!include "${NSISDIR}\Contrib\Modern UI 2\MUI2.nsh"
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Include/VPatchLib.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/VPatchLib.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/VPatchLib.nsh	(revision 2961)
@@ -0,0 +1,47 @@
+; PatchLib v3.0
+; =============
+;
+; Library with macro for use with VPatch (DLL version) in NSIS 2.0.5+
+; Created by Koen van de Sande
+
+!include LogicLib.nsh
+
+!macro VPatchFile PATCHDATA SOURCEFILE TEMPFILE
+
+  Push $1
+  Push $2
+  Push $3
+  Push $4
+
+  Push ${SOURCEFILE}
+  Push ${TEMPFILE}
+
+  Pop $2 # temp file
+  Pop $3 # source file
+
+  InitPluginsDir
+  GetTempFileName $1 $PLUGINSDIR
+  File /oname=$1 ${PATCHDATA}
+
+  vpatch::vpatchfile $1 $3 $2
+  Pop $4
+  DetailPrint $4
+
+  StrCpy $4 $4 2
+  ${Unless} $4 == "OK"
+    SetErrors
+  ${EndIf}
+
+  ${If} ${FileExists} $2
+    Delete $3
+    Rename /REBOOTOK $2 $3
+  ${EndIf}
+
+  Delete $1
+
+  Pop $4
+  Pop $3
+  Pop $2
+  Pop $1
+
+!macroend
Index: tmp/org.txm.setups/nsis-2.5/Include/Util.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/Util.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/Util.nsh	(revision 2961)
@@ -0,0 +1,56 @@
+; ---------------------
+;       Util.nsh
+; ---------------------
+;
+; Voodoo macros to make end-user usage easier. This may be documented someday.
+
+!verbose push
+!verbose 3
+
+!ifndef ___UTIL__NSH___
+!define ___UTIL__NSH___
+
+# see WinVer.nsh and *Func.nsh for usage examples
+!macro CallArtificialFunction NAME
+  !ifndef __UNINSTALL__
+    !define CallArtificialFunction_TYPE inst
+  !else
+    !define CallArtificialFunction_TYPE uninst
+  !endif
+  Call :.${NAME}${CallArtificialFunction_TYPE}
+  !ifndef ${NAME}${CallArtificialFunction_TYPE}_DEFINED
+    Goto ${NAME}${CallArtificialFunction_TYPE}_DONE
+    !define ${NAME}${CallArtificialFunction_TYPE}_DEFINED
+    .${NAME}${CallArtificialFunction_TYPE}:
+      !insertmacro ${NAME}
+    Return
+    ${NAME}${CallArtificialFunction_TYPE}_DONE:
+  !endif
+  !undef CallArtificialFunction_TYPE
+!macroend
+!define CallArtificialFunction `!insertmacro CallArtificialFunction`
+
+# for usage of artificial functions inside artificial functions
+# macro recursion is prohibited
+!macro CallArtificialFunction2 NAME
+  !ifndef __UNINSTALL__
+    !define CallArtificialFunction2_TYPE inst
+  !else
+    !define CallArtificialFunction2_TYPE uninst
+  !endif
+  Call :.${NAME}${CallArtificialFunction2_TYPE}
+  !ifndef ${NAME}${CallArtificialFunction2_TYPE}_DEFINED
+    Goto ${NAME}${CallArtificialFunction2_TYPE}_DONE
+    !define ${NAME}${CallArtificialFunction2_TYPE}_DEFINED
+    .${NAME}${CallArtificialFunction2_TYPE}:
+      !insertmacro ${NAME}
+    Return
+    ${NAME}${CallArtificialFunction2_TYPE}_DONE:
+  !endif
+  !undef CallArtificialFunction2_TYPE
+!macroend
+!define CallArtificialFunction2 `!insertmacro CallArtificialFunction2`
+
+!endif # !___UTIL__NSH___
+
+!verbose pop
Index: tmp/org.txm.setups/nsis-2.5/Include/LangFile.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/LangFile.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/LangFile.nsh	(revision 2961)
@@ -0,0 +1,133 @@
+/*
+
+LangFile.nsh
+
+Header file to create langauge files that can be
+included with a single command.
+
+Copyright 2008-2015 Joost Verburg
+
+* Either LANGFILE_INCLUDE or LANGFILE_INCLUDE_WITHDEFAULT
+  can be called from the script to include a language
+  file.
+
+  - LANGFILE_INCLUDE takes the language file name as parameter.
+  - LANGFILE_INCLUDE_WITHDEFAULT takes as additional second
+    parameter the default language file to load missing strings
+    from.
+
+* A language file start with:
+  !insertmacro LANGFILE_EXT "English"
+  using the same name as the standard NSIS language file.
+
+* Language strings in the language file have the format:
+  ${LangFileString} LANGSTRING_NAME "Text"
+
+*/
+
+!ifndef LANGFILE_INCLUDED
+!define LANGFILE_INCLUDED
+
+!macro LANGFILE_INCLUDE FILENAME
+
+  ;Called from script: include a langauge file
+
+  !ifdef LangFileString
+    !undef LangFileString
+  !endif
+
+  !define LangFileString "!insertmacro LANGFILE_SETSTRING"
+
+  !define LANGFILE_SETNAMES
+  !include "${FILENAME}"
+  !undef LANGFILE_SETNAMES
+
+  ;Create language strings
+
+  !undef LangFileString
+  !define LangFileString "!insertmacro LANGFILE_LANGSTRING"
+  !include "${FILENAME}"
+
+!macroend
+
+!macro LANGFILE_INCLUDE_WITHDEFAULT FILENAME FILENAME_DEFAULT
+
+  ;Called from script: include a langauge file
+  ;Obtains missing strings from a default file
+
+  !ifdef LangFileString
+    !undef LangFileString
+  !endif
+
+  !define LangFileString "!insertmacro LANGFILE_SETSTRING"
+
+  !define LANGFILE_SETNAMES
+  !include "${FILENAME}"
+  !undef LANGFILE_SETNAMES
+
+  ;Include default language for missing strings
+  !include "${FILENAME_DEFAULT}"
+  
+  ;Create language strings
+  !undef LangFileString
+  !define LangFileString "!insertmacro LANGFILE_LANGSTRING"
+  !include "${FILENAME_DEFAULT}"
+
+!macroend
+
+!macro LANGFILE IDNAME NAME
+
+  ;Start of standard NSIS language file
+
+  !ifdef LANGFILE_SETNAMES
+
+    !ifdef LANGFILE_IDNAME
+      !undef LANGFILE_IDNAME
+    !endif
+
+    !define LANGFILE_IDNAME "${IDNAME}"
+
+    !ifndef "LANGFILE_${IDNAME}_NAME"
+      !define "LANGFILE_${IDNAME}_NAME" "${NAME}"
+    !endif
+
+  !endif
+
+!macroend
+
+!macro LANGFILE_EXT IDNAME
+
+  ;Start of installer language file
+  
+  !ifdef LANGFILE_SETNAMES
+
+    !ifdef LANGFILE_IDNAME
+      !undef LANGFILE_IDNAME
+    !endif
+
+    !define LANGFILE_IDNAME "${IDNAME}"
+
+  !endif
+
+!macroend
+
+!macro LANGFILE_SETSTRING NAME VALUE
+
+  ;Set define with translated string
+
+  !ifndef ${NAME}
+    !define "${NAME}" "${VALUE}"
+  !endif
+
+!macroend
+
+!macro LANGFILE_LANGSTRING NAME DUMMY
+
+  ;Create a language string from a define and undefine
+
+  LangString "${NAME}" "${LANG_${LANGFILE_IDNAME}}" "${${NAME}}"
+  !undef "${NAME}"
+
+!macroend
+
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Include/x64.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/x64.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/x64.nsh	(revision 2961)
@@ -0,0 +1,54 @@
+; ---------------------
+;       x64.nsh
+; ---------------------
+;
+; A few simple macros to handle installations on x64 machines.
+;
+; RunningX64 checks if the installer is running on x64.
+;
+;   ${If} ${RunningX64}
+;     MessageBox MB_OK "running on x64"
+;   ${EndIf}
+;
+; DisableX64FSRedirection disables file system redirection.
+; EnableX64FSRedirection enables file system redirection.
+;
+;   SetOutPath $SYSDIR
+;   ${DisableX64FSRedirection}
+;   File some.dll # extracts to C:\Windows\System32
+;   ${EnableX64FSRedirection}
+;   File some.dll # extracts to C:\Windows\SysWOW64
+;
+
+!ifndef ___X64__NSH___
+!define ___X64__NSH___
+
+!include LogicLib.nsh
+
+!macro _RunningX64 _a _b _t _f
+  !insertmacro _LOGICLIB_TEMP
+  System::Call kernel32::GetCurrentProcess()i.s
+  System::Call kernel32::IsWow64Process(is,*i.s)
+  Pop $_LOGICLIB_TEMP
+  !insertmacro _!= $_LOGICLIB_TEMP 0 `${_t}` `${_f}`
+!macroend
+
+!define RunningX64 `"" RunningX64 ""`
+
+!macro DisableX64FSRedirection
+
+  System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
+
+!macroend
+
+!define DisableX64FSRedirection "!insertmacro DisableX64FSRedirection"
+
+!macro EnableX64FSRedirection
+
+  System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
+
+!macroend
+
+!define EnableX64FSRedirection "!insertmacro EnableX64FSRedirection"
+
+!endif # !___X64__NSH___
Index: tmp/org.txm.setups/nsis-2.5/Include/InstallOptions.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/InstallOptions.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/InstallOptions.nsh	(revision 2961)
@@ -0,0 +1,240 @@
+/*
+
+InstallOptions.nsh
+Macros and conversion functions for InstallOptions
+
+*/
+
+!ifndef ___NSIS__INSTALL_OPTIONS__NSH___
+!define ___NSIS__INSTALL_OPTIONS__NSH___
+
+!include LogicLib.nsh
+
+!macro INSTALLOPTIONS_FUNCTION_READ_CONVERT
+  !insertmacro INSTALLOPTIONS_FUNCTION_IO2NSIS ""
+!macroend
+
+!macro INSTALLOPTIONS_UNFUNCTION_READ_CONVERT
+  !insertmacro INSTALLOPTIONS_FUNCTION_IO2NSIS un.
+!macroend
+
+!macro INSTALLOPTIONS_FUNCTION_WRITE_CONVERT
+  !insertmacro INSTALLOPTIONS_FUNCTION_NSIS2IO ""
+!macroend
+
+!macro INSTALLOPTIONS_UNFUNCTION_WRITE_CONVERT
+  !insertmacro INSTALLOPTIONS_FUNCTION_NSIS2IO un.
+!macroend
+
+!macro INSTALLOPTIONS_FUNCTION_NSIS2IO UNINSTALLER_FUNCPREFIX
+
+  ; Convert an NSIS string to a form suitable for use by InstallOptions
+  ; Usage:
+  ;   Push <NSIS-string>
+  ;   Call Nsis2Io
+  ;   Pop <IO-string>
+
+  Function ${UNINSTALLER_FUNCPREFIX}Nsis2Io
+
+    Exch $0 ; The source
+    Push $1 ; The output
+    Push $2 ; Temporary char
+    Push $3 ; Length
+    Push $4 ; Loop index
+    StrCpy $1 "" ; Initialise the output
+
+    StrLen $3 $0
+    IntOp $3 $3 - 1
+
+    ${For} $4 0 $3
+      StrCpy $2 $0 1 $4
+      ${If}     $2 == '\'
+        StrCpy $2 '\\'
+      ${ElseIf} $2 == '$\r'
+        StrCpy $2 '\r'
+      ${ElseIf} $2 == '$\n'
+        StrCpy $2 '\n'
+      ${ElseIf} $2 == '$\t'
+        StrCpy $2 '\t'
+      ${EndIf}
+      StrCpy $1 $1$2
+    ${Next}
+
+    StrCpy $0 $1
+    Pop $4
+    Pop $3
+    Pop $2
+    Pop $1
+    Exch $0
+
+  FunctionEnd
+
+!macroend
+
+!macro INSTALLOPTIONS_FUNCTION_IO2NSIS UNINSTALLER_FUNCPREFIX
+
+  ; Convert an InstallOptions string to a form suitable for use by NSIS
+  ; Usage:
+  ;   Push <IO-string>
+  ;   Call Io2Nsis
+  ;   Pop <NSIS-string>
+
+  Function ${UNINSTALLER_FUNCPREFIX}Io2Nsis
+
+    Exch $0 ; The source
+    Push $1 ; The output
+    Push $2 ; Temporary char
+    Push $3 ; Length
+    Push $4 ; Loop index
+    StrCpy $1 "" ; Initialise the output
+
+    StrLen $3 $0
+    IntOp $3 $3 - 1
+
+    ${For} $4 0 $3
+      StrCpy $2 $0 2 $4
+      ${If}     $2 == '\\'
+        StrCpy $2 '\'
+        IntOp $4 $4 + 1
+      ${ElseIf} $2 == '\r'
+        StrCpy $2 '$\r'
+        IntOp $4 $4 + 1
+      ${ElseIf} $2 == '\n'
+        StrCpy $2 '$\n'
+        IntOp $4 $4 + 1
+      ${ElseIf} $2 == '\t'
+        StrCpy $2 '$\t'
+        IntOp $4 $4 + 1
+      ${EndIf}
+      StrCpy $2 $2 1
+      StrCpy $1 $1$2
+    ${Next}
+
+    StrCpy $0 $1
+    Pop $4
+    Pop $3
+    Pop $2
+    Pop $1
+    Exch $0
+
+  FunctionEnd
+
+!macroend
+
+!macro INSTALLOPTIONS_EXTRACT FILE
+
+  InitPluginsDir
+  File "/oname=$PLUGINSDIR\${FILE}" "${FILE}"
+  !insertmacro INSTALLOPTIONS_WRITE "${FILE}" "Settings" "RTL" "$(^RTL)"
+
+  !verbose pop
+
+!macroend
+
+!macro INSTALLOPTIONS_EXTRACT_AS FILE FILENAME
+
+  InitPluginsDir
+  File "/oname=$PLUGINSDIR\${FILENAME}" "${FILE}"
+  !insertmacro INSTALLOPTIONS_WRITE "${FILENAME}" "Settings" "RTL" "$(^RTL)"
+
+!macroend
+
+!macro INSTALLOPTIONS_DISPLAY FILE
+
+  Push $0
+
+  InstallOptions::dialog "$PLUGINSDIR\${FILE}"
+  Pop $0
+
+  Pop $0
+
+!macroend
+
+!macro INSTALLOPTIONS_DISPLAY_RETURN FILE
+
+  InstallOptions::dialog "$PLUGINSDIR\${FILE}"
+
+!macroend
+
+!macro INSTALLOPTIONS_INITDIALOG FILE
+
+  InstallOptions::initDialog "$PLUGINSDIR\${FILE}"
+
+!macroend
+
+!macro INSTALLOPTIONS_SHOW
+
+  Push $0
+
+  InstallOptions::show
+  Pop $0
+
+  Pop $0
+
+!macroend
+
+!macro INSTALLOPTIONS_SHOW_RETURN
+
+  InstallOptions::show
+
+!macroend
+
+!macro INSTALLOPTIONS_READ VAR FILE SECTION KEY
+
+  ReadIniStr ${VAR} "$PLUGINSDIR\${FILE}" "${SECTION}" "${KEY}"
+
+!macroend
+
+!macro INSTALLOPTIONS_WRITE FILE SECTION KEY VALUE
+
+  WriteIniStr "$PLUGINSDIR\${FILE}" "${SECTION}" "${KEY}" "${VALUE}"
+
+!macroend
+
+!macro INSTALLOPTIONS_READ_CONVERT VAR FILE SECTION KEY
+
+  ReadIniStr ${VAR} "$PLUGINSDIR\${FILE}" "${SECTION}" "${KEY}"
+  Push ${VAR}
+  Call Io2Nsis
+  Pop ${VAR}
+
+!macroend
+
+!macro INSTALLOPTIONS_READ_UNCONVERT VAR FILE SECTION KEY
+
+  ReadIniStr ${VAR} "$PLUGINSDIR\${FILE}" "${SECTION}" "${KEY}"
+  Push ${VAR}
+  Call un.Io2Nsis
+  Pop ${VAR}
+
+!macroend
+
+!macro INSTALLOPTIONS_WRITE_CONVERT FILE SECTION KEY VALUE
+
+  Push $0
+  StrCpy $0 "${VALUE}"
+  Push $0
+  Call Nsis2Io
+  Pop $0
+  
+  WriteIniStr "$PLUGINSDIR\${FILE}" "${SECTION}" "${KEY}" $0
+
+  Pop $0
+
+!macroend
+  
+!macro INSTALLOPTIONS_WRITE_UNCONVERT FILE SECTION KEY VALUE
+
+  Push $0
+  StrCpy $0 "${VALUE}"
+  Push $0
+  Call un.Nsis2Io
+  Pop $0
+  
+  WriteIniStr "$PLUGINSDIR\${FILE}" "${SECTION}" "${KEY}" $0
+
+  Pop $0
+
+!macroend
+
+!endif # ___NSIS__INSTALL_OPTIONS__NSH___
Index: tmp/org.txm.setups/nsis-2.5/Include/nsDialogs.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/nsDialogs.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/nsDialogs.nsh	(revision 2961)
@@ -0,0 +1,860 @@
+/*
+
+nsDialogs.nsh
+Header file for creating custom installer pages with nsDialogs
+
+*/
+
+!ifndef NSDIALOGS_INCLUDED
+!define NSDIALOGS_INCLUDED
+!verbose push
+!verbose 3
+
+!include LogicLib.nsh
+!include WinMessages.nsh
+
+!define WS_EX_DLGMODALFRAME  0x00000001
+!define WS_EX_NOPARENTNOTIFY 0x00000004
+!define WS_EX_TOPMOST        0x00000008
+!define WS_EX_ACCEPTFILES    0x00000010
+!define WS_EX_TRANSPARENT    0x00000020
+!define WS_EX_MDICHILD       0x00000040
+!define WS_EX_TOOLWINDOW     0x00000080
+!define WS_EX_WINDOWEDGE     0x00000100
+!define WS_EX_CLIENTEDGE     0x00000200
+!define WS_EX_CONTEXTHELP    0x00000400
+!define WS_EX_RIGHT          0x00001000
+!define WS_EX_LEFT           0x00000000
+!define WS_EX_RTLREADING     0x00002000
+!define WS_EX_LTRREADING     0x00000000
+!define WS_EX_LEFTSCROLLBAR  0x00004000
+!define WS_EX_RIGHTSCROLLBAR 0x00000000
+!define WS_EX_CONTROLPARENT  0x00010000
+!define WS_EX_STATICEDGE     0x00020000
+!define WS_EX_APPWINDOW      0x00040000
+
+!define WS_CHILD             0x40000000
+!define WS_VISIBLE           0x10000000
+!define WS_DISABLED          0x08000000
+!define WS_CLIPSIBLINGS      0x04000000
+!define WS_CLIPCHILDREN      0x02000000
+!define WS_MAXIMIZE          0x01000000
+!define WS_VSCROLL           0x00200000
+!define WS_HSCROLL           0x00100000
+!define WS_GROUP             0x00020000
+!define WS_TABSTOP           0x00010000
+
+!define ES_LEFT              0x00000000
+!define ES_CENTER            0x00000001
+!define ES_RIGHT             0x00000002
+!define ES_MULTILINE         0x00000004
+!define ES_UPPERCASE         0x00000008
+!define ES_LOWERCASE         0x00000010
+!define ES_PASSWORD          0x00000020
+!define ES_AUTOVSCROLL       0x00000040
+!define ES_AUTOHSCROLL       0x00000080
+!define ES_NOHIDESEL         0x00000100
+!define ES_OEMCONVERT        0x00000400
+!define ES_READONLY          0x00000800
+!define ES_WANTRETURN        0x00001000
+!define ES_NUMBER            0x00002000
+
+!define SS_LEFT              0x00000000
+!define SS_CENTER            0x00000001
+!define SS_RIGHT             0x00000002
+!define SS_ICON              0x00000003
+!define SS_BLACKRECT         0x00000004
+!define SS_GRAYRECT          0x00000005
+!define SS_WHITERECT         0x00000006
+!define SS_BLACKFRAME        0x00000007
+!define SS_GRAYFRAME         0x00000008
+!define SS_WHITEFRAME        0x00000009
+!define SS_USERITEM          0x0000000A
+!define SS_SIMPLE            0x0000000B
+!define SS_LEFTNOWORDWRAP    0x0000000C
+!define SS_OWNERDRAW         0x0000000D
+!define SS_BITMAP            0x0000000E
+!define SS_ENHMETAFILE       0x0000000F
+!define SS_ETCHEDHORZ        0x00000010
+!define SS_ETCHEDVERT        0x00000011
+!define SS_ETCHEDFRAME       0x00000012
+!define SS_TYPEMASK          0x0000001F
+!define SS_REALSIZECONTROL   0x00000040
+!define SS_NOPREFIX          0x00000080
+!define SS_NOTIFY            0x00000100
+!define SS_CENTERIMAGE       0x00000200
+!define SS_RIGHTJUST         0x00000400
+!define SS_REALSIZEIMAGE     0x00000800
+!define SS_SUNKEN            0x00001000
+!define SS_EDITCONTROL       0x00002000
+!define SS_ENDELLIPSIS       0x00004000
+!define SS_PATHELLIPSIS      0x00008000
+!define SS_WORDELLIPSIS      0x0000C000
+!define SS_ELLIPSISMASK      0x0000C000
+
+!define BS_PUSHBUTTON        0x00000000
+!define BS_DEFPUSHBUTTON     0x00000001
+!define BS_CHECKBOX          0x00000002
+!define BS_AUTOCHECKBOX      0x00000003
+!define BS_RADIOBUTTON       0x00000004
+!define BS_3STATE            0x00000005
+!define BS_AUTO3STATE        0x00000006
+!define BS_GROUPBOX          0x00000007
+!define BS_USERBUTTON        0x00000008
+!define BS_AUTORADIOBUTTON   0x00000009
+!define BS_PUSHBOX           0x0000000A
+!define BS_OWNERDRAW         0x0000000B
+!define BS_TYPEMASK          0x0000000F
+!define BS_LEFTTEXT          0x00000020
+!define BS_TEXT              0x00000000
+!define BS_ICON              0x00000040
+!define BS_BITMAP            0x00000080
+!define BS_LEFT              0x00000100
+!define BS_RIGHT             0x00000200
+!define BS_CENTER            0x00000300
+!define BS_TOP               0x00000400
+!define BS_BOTTOM            0x00000800
+!define BS_VCENTER           0x00000C00
+!define BS_PUSHLIKE          0x00001000
+!define BS_MULTILINE         0x00002000
+!define BS_NOTIFY            0x00004000
+!define BS_FLAT              0x00008000
+!define BS_RIGHTBUTTON       ${BS_LEFTTEXT}
+
+!define CBS_SIMPLE            0x0001
+!define CBS_DROPDOWN          0x0002
+!define CBS_DROPDOWNLIST      0x0003
+!define CBS_OWNERDRAWFIXED    0x0010
+!define CBS_OWNERDRAWVARIABLE 0x0020
+!define CBS_AUTOHSCROLL       0x0040
+!define CBS_OEMCONVERT        0x0080
+!define CBS_SORT              0x0100
+!define CBS_HASSTRINGS        0x0200
+!define CBS_NOINTEGRALHEIGHT  0x0400
+!define CBS_DISABLENOSCROLL   0x0800
+!define CBS_UPPERCASE         0x2000
+!define CBS_LOWERCASE         0x4000
+
+!define LBS_NOTIFY            0x0001
+!define LBS_SORT              0x0002
+!define LBS_NOREDRAW          0x0004
+!define LBS_MULTIPLESEL       0x0008
+!define LBS_OWNERDRAWFIXED    0x0010
+!define LBS_OWNERDRAWVARIABLE 0x0020
+!define LBS_HASSTRINGS        0x0040
+!define LBS_USETABSTOPS       0x0080
+!define LBS_NOINTEGRALHEIGHT  0x0100
+!define LBS_MULTICOLUMN       0x0200
+!define LBS_WANTKEYBOARDINPUT 0x0400
+!define LBS_EXTENDEDSEL       0x0800
+!define LBS_DISABLENOSCROLL   0x1000
+!define LBS_NODATA            0x2000
+!define LBS_NOSEL             0x4000
+!define LBS_COMBOBOX          0x8000
+
+!define LR_DEFAULTCOLOR     0x0000
+!define LR_MONOCHROME       0x0001
+!define LR_COLOR            0x0002
+!define LR_COPYRETURNORG    0x0004
+!define LR_COPYDELETEORG    0x0008
+!define LR_LOADFROMFILE     0x0010
+!define LR_LOADTRANSPARENT  0x0020
+!define LR_DEFAULTSIZE      0x0040
+!define LR_VGACOLOR         0x0080
+!define LR_LOADMAP3DCOLORS  0x1000
+!define LR_CREATEDIBSECTION 0x2000
+!define LR_COPYFROMRESOURCE 0x4000
+!define LR_SHARED           0x8000
+
+!define IMAGE_BITMAP        0
+!define IMAGE_ICON          1
+!define IMAGE_CURSOR        2
+!define IMAGE_ENHMETAFILE   3
+
+!define GWL_STYLE           -16
+!define GWL_EXSTYLE         -20
+
+!define DEFAULT_STYLES ${WS_CHILD}|${WS_VISIBLE}|${WS_CLIPSIBLINGS}
+
+!define __NSD_HLine_CLASS STATIC
+!define __NSD_HLine_STYLE ${DEFAULT_STYLES}|${SS_ETCHEDHORZ}|${SS_SUNKEN}
+!define __NSD_HLine_EXSTYLE ${WS_EX_TRANSPARENT}
+
+!define __NSD_VLine_CLASS STATIC
+!define __NSD_VLine_STYLE ${DEFAULT_STYLES}|${SS_ETCHEDVERT}|${SS_SUNKEN}
+!define __NSD_VLine_EXSTYLE ${WS_EX_TRANSPARENT}
+
+!define __NSD_Label_CLASS STATIC
+!define __NSD_Label_STYLE ${DEFAULT_STYLES}|${SS_NOTIFY}
+!define __NSD_Label_EXSTYLE ${WS_EX_TRANSPARENT}
+
+!define __NSD_Icon_CLASS STATIC
+!define __NSD_Icon_STYLE ${DEFAULT_STYLES}|${SS_ICON}|${SS_NOTIFY}
+!define __NSD_Icon_EXSTYLE 0
+
+!define __NSD_Bitmap_CLASS STATIC
+!define __NSD_Bitmap_STYLE ${DEFAULT_STYLES}|${SS_BITMAP}|${SS_NOTIFY}
+!define __NSD_Bitmap_EXSTYLE 0
+
+!define __NSD_BrowseButton_CLASS BUTTON
+!define __NSD_BrowseButton_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}
+!define __NSD_BrowseButton_EXSTYLE 0
+
+!define __NSD_Link_CLASS LINK
+!define __NSD_Link_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}|${BS_OWNERDRAW}
+!define __NSD_Link_EXSTYLE 0
+
+!define __NSD_Button_CLASS BUTTON
+!define __NSD_Button_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}
+!define __NSD_Button_EXSTYLE 0
+
+!define __NSD_GroupBox_CLASS BUTTON
+!define __NSD_GroupBox_STYLE ${DEFAULT_STYLES}|${BS_GROUPBOX}
+!define __NSD_GroupBox_EXSTYLE ${WS_EX_TRANSPARENT}
+
+!define __NSD_CheckBox_CLASS BUTTON
+!define __NSD_CheckBox_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}|${BS_TEXT}|${BS_VCENTER}|${BS_AUTOCHECKBOX}|${BS_MULTILINE}
+!define __NSD_CheckBox_EXSTYLE 0
+
+!define __NSD_RadioButton_CLASS BUTTON
+!define __NSD_RadioButton_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}|${BS_TEXT}|${BS_VCENTER}|${BS_AUTORADIOBUTTON}|${BS_MULTILINE}
+!define __NSD_RadioButton_EXSTYLE 0
+
+!define __NSD_Text_CLASS EDIT
+!define __NSD_Text_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}|${ES_AUTOHSCROLL}
+!define __NSD_Text_EXSTYLE ${WS_EX_WINDOWEDGE}|${WS_EX_CLIENTEDGE}
+
+!define __NSD_Password_CLASS EDIT
+!define __NSD_Password_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}|${ES_AUTOHSCROLL}|${ES_PASSWORD}
+!define __NSD_Password_EXSTYLE ${WS_EX_WINDOWEDGE}|${WS_EX_CLIENTEDGE}
+
+!define __NSD_Number_CLASS EDIT
+!define __NSD_Number_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}|${ES_AUTOHSCROLL}|${ES_NUMBER}
+!define __NSD_Number_EXSTYLE ${WS_EX_WINDOWEDGE}|${WS_EX_CLIENTEDGE}
+
+!define __NSD_FileRequest_CLASS EDIT
+!define __NSD_FileRequest_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}|${ES_AUTOHSCROLL}
+!define __NSD_FileRequest_EXSTYLE ${WS_EX_WINDOWEDGE}|${WS_EX_CLIENTEDGE}
+
+!define __NSD_DirRequest_CLASS EDIT
+!define __NSD_DirRequest_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}|${ES_AUTOHSCROLL}
+!define __NSD_DirRequest_EXSTYLE ${WS_EX_WINDOWEDGE}|${WS_EX_CLIENTEDGE}
+
+!define __NSD_ComboBox_CLASS COMBOBOX
+!define __NSD_ComboBox_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}|${WS_VSCROLL}|${WS_CLIPCHILDREN}|${CBS_AUTOHSCROLL}|${CBS_HASSTRINGS}|${CBS_DROPDOWN}
+!define __NSD_ComboBox_EXSTYLE ${WS_EX_WINDOWEDGE}|${WS_EX_CLIENTEDGE}
+
+!define __NSD_DropList_CLASS COMBOBOX
+!define __NSD_DropList_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}|${WS_VSCROLL}|${WS_CLIPCHILDREN}|${CBS_AUTOHSCROLL}|${CBS_HASSTRINGS}|${CBS_DROPDOWNLIST}
+!define __NSD_DropList_EXSTYLE ${WS_EX_WINDOWEDGE}|${WS_EX_CLIENTEDGE}
+
+!define __NSD_ListBox_CLASS LISTBOX
+!define __NSD_ListBox_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}|${WS_VSCROLL}|${LBS_DISABLENOSCROLL}|${LBS_HASSTRINGS}|${LBS_NOINTEGRALHEIGHT}|${LBS_NOTIFY}
+!define __NSD_ListBox_EXSTYLE ${WS_EX_WINDOWEDGE}|${WS_EX_CLIENTEDGE}
+
+!define __NSD_ProgressBar_CLASS msctls_progress32
+!define __NSD_ProgressBar_STYLE ${DEFAULT_STYLES}
+!define __NSD_ProgressBar_EXSTYLE ${WS_EX_WINDOWEDGE}|${WS_EX_CLIENTEDGE}
+
+!macro __NSD_DefineControl NAME
+
+	!define NSD_Create${NAME} "nsDialogs::CreateControl ${__NSD_${Name}_CLASS} ${__NSD_${Name}_STYLE} ${__NSD_${Name}_EXSTYLE}"
+
+!macroend
+
+!insertmacro __NSD_DefineControl HLine
+!insertmacro __NSD_DefineControl VLine
+!insertmacro __NSD_DefineControl Label
+!insertmacro __NSD_DefineControl Icon
+!insertmacro __NSD_DefineControl Bitmap
+!insertmacro __NSD_DefineControl BrowseButton
+!insertmacro __NSD_DefineControl Link
+!insertmacro __NSD_DefineControl Button
+!insertmacro __NSD_DefineControl GroupBox
+!insertmacro __NSD_DefineControl CheckBox
+!insertmacro __NSD_DefineControl RadioButton
+!insertmacro __NSD_DefineControl Text
+!insertmacro __NSD_DefineControl Password
+!insertmacro __NSD_DefineControl Number
+!insertmacro __NSD_DefineControl FileRequest
+!insertmacro __NSD_DefineControl DirRequest
+!insertmacro __NSD_DefineControl ComboBox
+!insertmacro __NSD_DefineControl DropList
+!insertmacro __NSD_DefineControl ListBox
+!insertmacro __NSD_DefineControl ProgressBar
+
+!macro __NSD_OnControlEvent EVENT HWND FUNCTION
+
+	Push $0
+	Push $1
+
+	StrCpy $1 "${HWND}"
+
+	GetFunctionAddress $0 "${FUNCTION}"
+	nsDialogs::On${EVENT} $1 $0
+
+	Pop $1
+	Pop $0
+
+!macroend
+
+!macro __NSD_DefineControlCallback EVENT
+
+	!define NSD_On${EVENT} `!insertmacro __NSD_OnControlEvent ${EVENT}`
+
+!macroend
+
+!macro __NSD_OnDialogEvent EVENT FUNCTION
+
+	Push $0
+
+	GetFunctionAddress $0 "${FUNCTION}"
+	nsDialogs::On${EVENT} $0
+
+	Pop $0
+
+!macroend
+
+!macro __NSD_DefineDialogCallback EVENT
+
+	!define NSD_On${EVENT} `!insertmacro __NSD_OnDialogEvent ${EVENT}`
+
+!macroend
+
+!insertmacro __NSD_DefineControlCallback Click
+!insertmacro __NSD_DefineControlCallback Change
+!insertmacro __NSD_DefineControlCallback Notify
+!insertmacro __NSD_DefineDialogCallback Back
+
+!macro _NSD_CreateTimer FUNCTION INTERVAL
+
+	Push $0
+
+	GetFunctionAddress $0 "${FUNCTION}"
+	nsDialogs::CreateTimer $0 "${INTERVAL}"
+
+	Pop $0
+
+!macroend
+
+!define NSD_CreateTimer `!insertmacro _NSD_CreateTimer`
+
+!macro _NSD_KillTimer FUNCTION
+
+	Push $0
+
+	GetFunctionAddress $0 "${FUNCTION}"
+	nsDialogs::KillTimer $0
+
+	Pop $0
+
+!macroend
+
+!define NSD_KillTimer `!insertmacro _NSD_KillTimer`
+
+!macro _NSD_AddStyle CONTROL STYLE
+
+	Push $0
+
+	System::Call "user32::GetWindowLong(i ${CONTROL}, i ${GWL_STYLE}) i .r0"
+	System::Call "user32::SetWindowLong(i ${CONTROL}, i ${GWL_STYLE}, i $0|${STYLE})"
+
+	Pop $0
+
+!macroend
+
+!define NSD_AddStyle "!insertmacro _NSD_AddStyle"
+
+!macro _NSD_AddExStyle CONTROL EXSTYLE
+
+	Push $0
+
+	System::Call "user32::GetWindowLong(i ${CONTROL}, i ${GWL_EXSTYLE}) i .r0"
+	System::Call "user32::SetWindowLong(i ${CONTROL}, i ${GWL_EXSTYLE}, i $0|${EXSTYLE})"
+
+	Pop $0
+
+!macroend
+
+!define NSD_AddExStyle "!insertmacro _NSD_AddExStyle"
+
+!macro __NSD_GetText CONTROL VAR
+
+	System::Call user32::GetWindowText(i${CONTROL},t.s,i${NSIS_MAX_STRLEN})
+	Pop ${VAR}
+
+!macroend
+
+!define NSD_GetText `!insertmacro __NSD_GetText`
+
+!macro __NSD_SetText CONTROL TEXT
+
+	SendMessage ${CONTROL} ${WM_SETTEXT} 0 `STR:${TEXT}`
+
+!macroend
+
+!define NSD_SetText `!insertmacro __NSD_SetText`
+
+!macro _NSD_SetTextLimit CONTROL LIMIT
+
+	SendMessage ${CONTROL} ${EM_SETLIMITTEXT} ${LIMIT} 0
+
+!macroend
+
+!define NSD_SetTextLimit "!insertmacro _NSD_SetTextLimit"
+
+!macro __NSD_GetState CONTROL VAR
+
+	SendMessage ${CONTROL} ${BM_GETCHECK} 0 0 ${VAR}
+
+!macroend
+
+!define NSD_GetState `!insertmacro __NSD_GetState`
+
+!macro __NSD_SetState CONTROL STATE
+
+	SendMessage ${CONTROL} ${BM_SETCHECK} ${STATE} 0
+
+!macroend
+
+!define NSD_SetState `!insertmacro __NSD_SetState`
+
+!macro __NSD_Check CONTROL
+
+	${NSD_SetState} ${CONTROL} ${BST_CHECKED}
+
+!macroend
+
+!define NSD_Check `!insertmacro __NSD_Check`
+
+!macro __NSD_Uncheck CONTROL
+
+	${NSD_SetState} ${CONTROL} ${BST_UNCHECKED}
+
+!macroend
+
+!define NSD_Uncheck `!insertmacro __NSD_Uncheck`
+
+!macro __NSD_SetFocus HWND
+
+	System::Call "user32::SetFocus(i${HWND})"
+  
+!macroend
+
+!define NSD_SetFocus `!insertmacro __NSD_SetFocus`
+
+!macro _NSD_CB_AddString CONTROL STRING
+
+	SendMessage ${CONTROL} ${CB_ADDSTRING} 0 `STR:${STRING}`
+
+!macroend
+
+!define NSD_CB_AddString "!insertmacro _NSD_CB_AddString"
+
+!macro _NSD_CB_SelectString CONTROL STRING
+
+	SendMessage ${CONTROL} ${CB_SELECTSTRING} -1 `STR:${STRING}`
+
+!macroend
+
+!define NSD_CB_SelectString "!insertmacro _NSD_CB_SelectString"
+
+!macro _NSD_LB_AddString CONTROL STRING
+
+	SendMessage ${CONTROL} ${LB_ADDSTRING} 0 `STR:${STRING}`
+
+!macroend
+
+!define NSD_LB_AddString "!insertmacro _NSD_LB_AddString"
+
+!macro __NSD_LB_DelString CONTROL STRING
+
+	SendMessage ${CONTROL} ${LB_DELETESTRING} 0 `STR:${STRING}`
+
+!macroend
+
+!define NSD_LB_DelString `!insertmacro __NSD_LB_DelString`
+
+!macro __NSD_LB_Clear CONTROL VAR
+
+	SendMessage ${CONTROL} ${LB_RESETCONTENT} 0 0 ${VAR}
+
+!macroend
+
+!define NSD_LB_Clear `!insertmacro __NSD_LB_Clear`
+
+!macro __NSD_LB_GetCount CONTROL VAR
+
+	SendMessage ${CONTROL} ${LB_GETCOUNT} 0 0 ${VAR}
+
+!macroend
+
+!define NSD_LB_GetCount `!insertmacro __NSD_LB_GetCount`
+
+!macro _NSD_LB_SelectString CONTROL STRING
+
+	SendMessage ${CONTROL} ${LB_SELECTSTRING} -1 `STR:${STRING}`
+
+!macroend
+
+!define NSD_LB_SelectString "!insertmacro _NSD_LB_SelectString"
+
+!macro __NSD_LB_GetSelection CONTROL VAR
+
+	SendMessage ${CONTROL} ${LB_GETCURSEL} 0 0 ${VAR}
+	System::Call 'user32::SendMessage(i ${CONTROL}, i ${LB_GETTEXT}, i ${VAR}, t .s)'
+	Pop ${VAR}
+
+!macroend
+
+!define NSD_LB_GetSelection `!insertmacro __NSD_LB_GetSelection`
+
+
+!macro __NSD_LoadAndSetImage _LIHINSTMODE _IMGTYPE _LIHINSTSRC _LIFLAGS CONTROL IMAGE HANDLE
+	
+	Push $0
+	Push $R0
+
+	StrCpy $R0 ${CONTROL} # in case ${CONTROL} is $0
+	
+	!if "${_LIHINSTMODE}" == "exeresource"
+		System::Call 'kernel32::GetModuleHandle(i0) i.r0'
+		!undef _LIHINSTSRC
+		!define _LIHINSTSRC r0
+	!endif
+	
+	System::Call 'user32::LoadImage(i ${_LIHINSTSRC}, ts, i ${_IMGTYPE}, i0, i0, i${_LIFLAGS}) i.r0' "${IMAGE}"
+	SendMessage $R0 ${STM_SETIMAGE} ${_IMGTYPE} $0
+
+	Pop $R0
+	Exch $0
+
+	Pop ${HANDLE}
+
+!macroend
+
+!macro __NSD_SetIconFromExeResource CONTROL IMAGE HANDLE
+	!insertmacro __NSD_LoadAndSetImage exeresource ${IMAGE_ICON} 0 ${LR_DEFAULTSIZE} "${CONTROL}" "${IMAGE}" ${HANDLE}
+!macroend
+
+!macro __NSD_SetIconFromInstaller CONTROL HANDLE
+	!insertmacro __NSD_SetIconFromExeResource "${CONTROL}" "#103" ${HANDLE}
+!macroend
+
+!define NSD_SetImage `!insertmacro __NSD_LoadAndSetImage file ${IMAGE_BITMAP} 0 "${LR_LOADFROMFILE}"`
+!define NSD_SetBitmap `${NSD_SetImage}`
+
+!define NSD_SetIcon `!insertmacro __NSD_LoadAndSetImage file ${IMAGE_ICON} 0 "${LR_LOADFROMFILE}|${LR_DEFAULTSIZE}"`
+!define NSD_SetIconFromExeResource `!insertmacro __NSD_SetIconFromExeResource`
+!define NSD_SetIconFromInstaller `!insertmacro __NSD_SetIconFromInstaller`
+
+
+!macro __NSD_SetStretchedImage CONTROL IMAGE HANDLE
+
+	Push $0
+	Push $1
+	Push $2
+	Push $R0
+
+	StrCpy $R0 ${CONTROL} # in case ${CONTROL} is $0
+
+	StrCpy $1 ""
+	StrCpy $2 ""
+
+	System::Call '*(i, i, i, i) i.s'
+	Pop $0
+
+	${If} $0 <> 0
+	
+		System::Call 'user32::GetClientRect(iR0, ir0)'
+		System::Call '*$0(i, i, i .s, i .s)'
+		System::Free $0
+		Pop $1
+		Pop $2
+
+	${EndIf}
+
+	System::Call 'user32::LoadImage(i0, ts, i ${IMAGE_BITMAP}, ir1, ir2, i${LR_LOADFROMFILE}) i.s' "${IMAGE}"
+	Pop $0
+    SendMessage $R0 ${STM_SETIMAGE} ${IMAGE_BITMAP} $0
+
+	Pop $R0
+	Pop $2
+	Pop $1
+	Exch $0
+
+	Pop ${HANDLE}
+
+!macroend
+
+!define NSD_SetStretchedImage `!insertmacro __NSD_SetStretchedImage`
+
+!macro __NSD_FreeImage IMAGE
+
+	${If} ${IMAGE} <> 0
+
+		System::Call gdi32::DeleteObject(is) ${IMAGE}
+
+	${EndIf}
+
+!macroend
+
+!define NSD_FreeImage `!insertmacro __NSD_FreeImage`
+!define NSD_FreeBitmap `${NSD_FreeImage}`
+
+!macro __NSD_FreeIcon IMAGE
+	System::Call user32::DestroyIcon(is) ${IMAGE}
+!macroend
+
+!define NSD_FreeIcon `!insertmacro __NSD_FreeIcon`
+
+!macro __NSD_ClearImage _IMGTYPE CONTROL
+
+	SendMessage ${CONTROL} ${STM_SETIMAGE} ${_IMGTYPE} 0
+
+!macroend
+
+!define NSD_ClearImage `!insertmacro __NSD_ClearImage ${IMAGE_BITMAP}`
+!define NSD_ClearIcon  `!insertmacro __NSD_ClearImage ${IMAGE_ICON}`
+
+
+!define DEBUG `System::Call kernel32::OutputDebugString(ts)`
+
+!macro __NSD_ControlCase TYPE
+
+	${Case} ${TYPE}
+		${NSD_Create${TYPE}} $R3u $R4u $R5u $R6u $R7
+		Pop $R9
+		${Break}
+
+!macroend
+
+!macro __NSD_ControlCaseEx TYPE
+
+	${Case} ${TYPE}
+		Call ${TYPE}
+		${Break}
+
+!macroend
+
+!macro NSD_FUNCTION_INIFILE
+
+	!insertmacro NSD_INIFILE ""
+
+!macroend
+
+!macro NSD_UNFUNCTION_INIFILE
+
+	!insertmacro NSD_INIFILE un.
+
+!macroend
+
+!macro NSD_INIFILE UNINSTALLER_FUNCPREFIX
+
+	;Functions to create dialogs based on old InstallOptions INI files
+
+	Function ${UNINSTALLER_FUNCPREFIX}CreateDialogFromINI
+
+		# $0 = ini
+
+		ReadINIStr $R0 $0 Settings RECT
+		${If} $R0 == ""
+			StrCpy $R0 1018
+		${EndIf}
+
+		nsDialogs::Create $R0
+		Pop $R9
+
+		ReadINIStr $R0 $0 Settings RTL
+		nsDialogs::SetRTL $R0
+
+		ReadINIStr $R0 $0 Settings NumFields
+
+		${DEBUG} "NumFields = $R0"
+
+		${For} $R1 1 $R0
+			${DEBUG} "Creating field $R1"
+			ReadINIStr $R2 $0 "Field $R1" Type
+			${DEBUG} "  Type = $R2"
+			ReadINIStr $R3 $0 "Field $R1" Left
+			${DEBUG} "  Left = $R3"
+			ReadINIStr $R4 $0 "Field $R1" Top
+			${DEBUG} "  Top = $R4"
+			ReadINIStr $R5 $0 "Field $R1" Right
+			${DEBUG} "  Right = $R5"
+			ReadINIStr $R6 $0 "Field $R1" Bottom
+			${DEBUG} "  Bottom = $R6"
+			IntOp $R5 $R5 - $R3
+			${DEBUG} "  Width = $R5"
+			IntOp $R6 $R6 - $R4
+			${DEBUG} "  Height = $R6"
+			ReadINIStr $R7 $0 "Field $R1" Text
+			${DEBUG} "  Text = $R7"
+			${Switch} $R2
+				!insertmacro __NSD_ControlCase   HLine
+				!insertmacro __NSD_ControlCase   VLine
+				!insertmacro __NSD_ControlCase   Label
+				!insertmacro __NSD_ControlCase   Icon
+				!insertmacro __NSD_ControlCase   Bitmap
+				!insertmacro __NSD_ControlCaseEx Link
+				!insertmacro __NSD_ControlCase   Button
+				!insertmacro __NSD_ControlCase   GroupBox
+				!insertmacro __NSD_ControlCase   CheckBox
+				!insertmacro __NSD_ControlCase   RadioButton
+				!insertmacro __NSD_ControlCase   Text
+				!insertmacro __NSD_ControlCase   Password
+				!insertmacro __NSD_ControlCaseEx FileRequest
+				!insertmacro __NSD_ControlCaseEx DirRequest
+				!insertmacro __NSD_ControlCase   ComboBox
+				!insertmacro __NSD_ControlCase   DropList
+				!insertmacro __NSD_ControlCase   ListBox
+			${EndSwitch}
+
+			WriteINIStr $0 "Field $R1" HWND $R9
+		${Next}
+
+		nsDialogs::Show
+
+	FunctionEnd
+
+	Function ${UNINSTALLER_FUNCPREFIX}UpdateINIState
+
+		${DEBUG} "Updating INI state"
+
+		ReadINIStr $R0 $0 Settings NumFields
+
+		${DEBUG} "NumField = $R0"
+
+		${For} $R1 1 $R0
+			ReadINIStr $R2 $0 "Field $R1" HWND
+			ReadINIStr $R3 $0 "Field $R1" "Type"
+			${Switch} $R3
+				${Case} "CheckBox"
+				${Case} "RadioButton"
+					${DEBUG} "  HWND = $R2"
+					${NSD_GetState} $R2 $R2
+					${DEBUG} "  Window selection = $R2"
+				${Break}
+				${CaseElse}
+					${DEBUG} "  HWND = $R2"
+					${NSD_GetText} $R2 $R2
+					${DEBUG} "  Window text = $R2"
+				${Break}
+			${EndSwitch}
+			WriteINIStr $0 "Field $R1" STATE $R2
+		${Next}
+
+	FunctionEnd
+
+	Function ${UNINSTALLER_FUNCPREFIX}FileRequest
+
+		IntOp $R5 $R5 - 15
+		IntOp $R8 $R3 + $R5
+
+		${NSD_CreateBrowseButton} $R8u $R4u 15u $R6u ...
+		Pop $R8
+
+		nsDialogs::SetUserData $R8 $R1 # remember field id
+
+		WriteINIStr $0 "Field $R1" HWND2 $R8
+
+		${NSD_OnClick} $R8 ${UNINSTALLER_FUNCPREFIX}OnFileBrowseButton
+
+		ReadINIStr $R9 $0 "Field $R1" State
+
+		${NSD_CreateFileRequest} $R3u $R4u $R5u $R6u $R9
+		Pop $R9
+
+	FunctionEnd
+
+	Function ${UNINSTALLER_FUNCPREFIX}DirRequest
+
+		IntOp $R5 $R5 - 15
+		IntOp $R8 $R3 + $R5
+
+		${NSD_CreateBrowseButton} $R8u $R4u 15u $R6u ...
+		Pop $R8
+
+		nsDialogs::SetUserData $R8 $R1 # remember field id
+
+		WriteINIStr $0 "Field $R1" HWND2 $R8
+
+		${NSD_OnClick} $R8 ${UNINSTALLER_FUNCPREFIX}OnDirBrowseButton
+
+		ReadINIStr $R9 $0 "Field $R1" State
+
+		${NSD_CreateFileRequest} $R3u $R4u $R5u $R6u $R9
+		Pop $R9
+
+	FunctionEnd
+
+	Function ${UNINSTALLER_FUNCPREFIX}OnFileBrowseButton
+
+		Pop $R0
+
+		nsDialogs::GetUserData $R0
+		Pop $R1
+
+		ReadINIStr $R2 $0 "Field $R1" HWND
+		ReadINIStr $R4 $0 "Field $R1" Filter
+
+		${NSD_GetText} $R2 $R3
+
+		nsDialogs::SelectFileDialog save $R3 $R4
+		Pop $R3
+
+		${If} $R3 != ""
+			SendMessage $R2 ${WM_SETTEXT} 0 STR:$R3
+		${EndIf}
+
+	FunctionEnd
+
+	Function ${UNINSTALLER_FUNCPREFIX}OnDirBrowseButton
+
+		Pop $R0
+
+		nsDialogs::GetUserData $R0
+		Pop $R1
+
+		ReadINIStr $R2 $0 "Field $R1" HWND
+		ReadINIStr $R3 $0 "Field $R1" Text
+
+		${NSD_GetText} $R2 $R4
+
+		nsDialogs::SelectFolderDialog $R3 $R4
+		Pop $R3
+
+		${If} $R3 != error
+			SendMessage $R2 ${WM_SETTEXT} 0 STR:$R3
+		${EndIf}
+
+	FunctionEnd
+
+	Function ${UNINSTALLER_FUNCPREFIX}Link
+
+		${NSD_CreateLink} $R3u $R4u $R5u $R6u $R7
+		Pop $R9
+
+		nsDialogs::SetUserData $R9 $R1 # remember field id
+
+		${NSD_OnClick} $R9 ${UNINSTALLER_FUNCPREFIX}OnLink
+
+	FunctionEnd
+
+	Function ${UNINSTALLER_FUNCPREFIX}OnLink
+
+		Pop $R0
+
+		nsDialogs::GetUserData $R0
+		Pop $R1
+
+		ReadINIStr $R1 $0 "Field $R1" STATE
+
+		ExecShell "" $R1
+
+	FunctionEnd
+
+!macroend
+
+!verbose pop
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Include/UpgradeDLL.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/UpgradeDLL.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/UpgradeDLL.nsh	(revision 2961)
@@ -0,0 +1,203 @@
+/*
+
+NOTE:
+-----
+This macro is provided for backwards compatibility with NSIS 2.0 scripts.
+It's recommended you update your scripts to use the new Library.nsh macros.
+
+
+Macro - Upgrade DLL File
+Written by Joost Verburg
+------------------------
+
+Parameters:
+LOCALFILE		Location of the new DLL file (on the compiler system)
+DESTFILE		Location of the DLL file that should be upgraded (on the user's system)
+TEMPBASEDIR		Directory on the user's system to store a temporary file when the system has
+				to be rebooted.
+				For Win9x/ME support, this should be on the same volume as DESTFILE.
+				The Windows temp directory could be located on any volume, so you cannot use
+				this directory.
+
+Define UPGRADEDLL_NOREGISTER if you want to upgrade a DLL that does not have to be registered.
+
+Notes:
+
+* If you want to support Windows 9x/ME, you can only use short filenames (8.3).
+
+* This macro uses the GetDLLVersionLocal command to retrieve the version of local libraries.
+  This command is only supported when compiling on a Windows system.
+
+------------------------
+
+Example:
+
+!insertmacro UpgradeDLL "dllname.dll" "$SYSDIR\dllname.dll" "$SYSDIR"
+
+*/
+
+!ifndef UPGRADEDLL_INCLUDED
+
+!define UPGRADEDLL_INCLUDED
+
+!macro __UpgradeDLL_Helper_AddRegToolEntry mode filename tempdir
+
+  Push $R0
+  Push $R1
+  Push $R2
+  Push $R3
+
+  ;------------------------
+  ;Copy the parameters
+
+  Push "${filename}"
+  Push "${tempdir}"
+
+  Pop $R2 ; temporary directory
+  Pop $R1 ; file name to register
+
+  ;------------------------
+  ;Advance counter
+
+  StrCpy $R0 0
+  ReadRegDWORD $R0 HKLM "Software\NSIS.Library.RegTool.v2\UpgradeDLLSession" "count"
+  IntOp $R0 $R0 + 1
+  WriteRegDWORD HKLM "Software\NSIS.Library.RegTool.v2\UpgradeDLLSession" "count" "$R0"
+
+  ;------------------------
+  ;Setup RegTool
+
+  ReadRegStr $R3 HKLM "Software\Microsoft\Windows\CurrentVersion\RunOnce" "NSIS.Library.RegTool.v2"
+  StrCpy $R3 $R3 -4 1
+  IfFileExists $R3 +3
+
+    File /oname=$R2\NSIS.Library.RegTool.v2.$HWNDPARENT.exe "${NSISDIR}\Bin\RegTool.bin"
+    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\RunOnce" \
+      "NSIS.Library.RegTool.v2" '"$R2\NSIS.Library.RegTool.v2.$HWNDPARENT.exe" /S'
+
+  ;------------------------
+  ;Add RegTool entry
+
+  WriteRegStr HKLM "Software\NSIS.Library.RegTool.v2\UpgradeDLLSession" "$R0.file" "$R1"
+  WriteRegStr HKLM "Software\NSIS.Library.RegTool.v2\UpgradeDLLSession" "$R0.mode" "${mode}"
+
+  Pop $R3
+  Pop $R2
+  Pop $R1
+  Pop $R0
+
+!macroend
+
+!macro UpgradeDLL LOCALFILE DESTFILE TEMPBASEDIR
+
+  Push $R0
+  Push $R1
+  Push $R2
+  Push $R3
+  Push $R4
+  Push $R5
+
+  !define UPGRADEDLL_UNIQUE "${__FILE__}${__LINE__}"
+
+  SetOverwrite try
+
+  ;------------------------
+  ;Copy the parameters used on run-time to a variable
+  ;This allows the usage of variables as paramter
+
+  StrCpy $R4 "${DESTFILE}"
+  StrCpy $R5 "${TEMPBASEDIR}"
+
+  ;------------------------
+  ;Get version information
+
+  IfFileExists $R4 0 "upgradedll.copy_${UPGRADEDLL_UNIQUE}"
+
+  ClearErrors
+    GetDLLVersionLocal "${LOCALFILE}" $R0 $R1
+    GetDLLVersion $R4 $R2 $R3
+  IfErrors "upgradedll.upgrade_${UPGRADEDLL_UNIQUE}"
+
+  IntCmpU $R0 $R2 0 "upgradedll.done_${UPGRADEDLL_UNIQUE}" "upgradedll.upgrade_${UPGRADEDLL_UNIQUE}"
+  IntCmpU $R1 $R3 "upgradedll.done_${UPGRADEDLL_UNIQUE}" "upgradedll.done_${UPGRADEDLL_UNIQUE}" \
+    "upgradedll.upgrade_${UPGRADEDLL_UNIQUE}"
+
+  ;------------------------
+  ;Upgrade
+
+  "upgradedll.upgrade_${UPGRADEDLL_UNIQUE}:"
+    !ifndef UPGRADEDLL_NOREGISTER
+      ;Unregister the DLL
+      UnRegDLL $R4
+    !endif
+
+  ;------------------------
+  ;Copy
+
+  ClearErrors
+    StrCpy $R0 $R4
+    Call ":upgradedll.file_${UPGRADEDLL_UNIQUE}"
+  IfErrors 0 "upgradedll.noreboot_${UPGRADEDLL_UNIQUE}"
+
+  ;------------------------
+  ;Copy on reboot
+
+  GetTempFileName $R0 $R5
+    Call ":upgradedll.file_${UPGRADEDLL_UNIQUE}"
+  Rename /REBOOTOK $R0 $R4
+
+  ;------------------------
+  ;Register on reboot
+
+  !insertmacro __UpgradeDLL_Helper_AddRegToolEntry 'D' $R4 $R5
+
+  Goto "upgradedll.done_${UPGRADEDLL_UNIQUE}"
+
+  ;------------------------
+  ;DLL does not exist
+
+  "upgradedll.copy_${UPGRADEDLL_UNIQUE}:"
+    StrCpy $R0 $R4
+    Call ":upgradedll.file_${UPGRADEDLL_UNIQUE}"
+
+  ;------------------------
+  ;Register
+
+  "upgradedll.noreboot_${UPGRADEDLL_UNIQUE}:"
+    !ifndef UPGRADEDLL_NOREGISTER
+      RegDLL $R4
+    !endif
+
+  ;------------------------
+  ;Done
+
+  "upgradedll.done_${UPGRADEDLL_UNIQUE}:"
+
+  Pop $R5
+  Pop $R4
+  Pop $R3
+  Pop $R2
+  Pop $R1
+  Pop $R0
+
+  ;------------------------
+  ;End
+
+  Goto "upgradedll.end_${UPGRADEDLL_UNIQUE}"
+
+  ;------------------------
+  ;Extract
+
+  "upgradedll.file_${UPGRADEDLL_UNIQUE}:"
+    File /oname=$R0 "${LOCALFILE}"
+    Return
+
+  "upgradedll.end_${UPGRADEDLL_UNIQUE}:"
+
+  SetOverwrite lastused
+  
+  !undef UPGRADEDLL_UNIQUE
+
+!macroend
+
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Include/LogicLib.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/LogicLib.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/LogicLib.nsh	(revision 2961)
@@ -0,0 +1,834 @@
+; NSIS LOGIC LIBRARY - LogicLib.nsh
+; Version 2.6 - 08/12/2007
+; By dselkirk@hotmail.com
+; and eccles@users.sf.net
+; with IfNot support added by Message
+;
+; Questions/Comments -
+; See http://forums.winamp.com/showthread.php?s=&postid=1116241
+;
+; Description:
+;   Provides the use of various logic statements within NSIS.
+;
+; Usage:
+;   The following "statements" are available:
+;       If|IfNot|Unless..{ElseIf|ElseIfNot|ElseUnless}..[Else]..EndIf|EndUnless
+;         - Conditionally executes a block of statements, depending on the value
+;           of an expression. IfNot and Unless are equivalent and
+;           interchangeable, as are ElseIfNot and ElseUnless.
+;       AndIf|AndIfNot|AndUnless|OrIf|OrIfNot|OrUnless
+;         - Adds any number of extra conditions to If, IfNot, Unless, ElseIf,
+;           ElseIfNot and ElseUnless statements.
+;       IfThen|IfNotThen..|..|
+;         - Conditionally executes an inline statement, depending on the value
+;           of an expression.
+;       IfCmd..||..|
+;         - Conditionally executes an inline statement, depending on a true
+;           value of the provided NSIS function.
+;       Select..{Case[2|3|4|5]}..[CaseElse|Default]..EndSelect
+;         - Executes one of several blocks of statements, depending on the value
+;           of an expression.
+;       Switch..{Case|CaseElse|Default}..EndSwitch
+;         - Jumps to one of several labels, depending on the value of an
+;           expression.
+;       Do[While|Until]..{ExitDo|Continue|Break}..Loop[While|Until]
+;         - Repeats a block of statements until stopped, or depending on the
+;           value of an expression.
+;       While..{ExitWhile|Continue|Break}..EndWhile
+;         - An alias for DoWhile..Loop (for backwards-compatibility)
+;       For[Each]..{ExitFor|Continue|Break}..Next
+;         - Repeats a block of statements varying the value of a variable.
+;
+;   The following "expressions" are available:
+;       Standard (built-in) string tests (which are case-insensitive):
+;         a == b; a != b
+;       Additional case-insensitive string tests (using System.dll):
+;         a S< b; a S>= b; a S> b; a S<= b
+;       Case-sensitive string tests:
+;         a S== b; a S!= b
+;       Standard (built-in) signed integer tests:
+;         a = b; a <> b; a < b; a >= b; a > b; a <= b
+;       Standard (built-in) unsigned integer tests:
+;         a U< b; a U>= b; a U> b; a U<= b
+;       64-bit integer tests (using System.dll):
+;         a L= b; a L<> b; a L< b; a L>= b; a L> b; a L<= b
+;       ptrdiff_t integer tests
+;         a P= b; a P<> b; a P< b; a P>= b; a P> b; a P<= b
+;       size_t integer tests
+;         a Z= b; a Z<> b; a Z< b; a Z>= b; a Z> b; a Z<= b
+;       Built-in NSIS flag tests:
+;         ${Abort}; ${Errors}; ${RebootFlag}; ${Silent}
+;       Built-in NSIS other tests:
+;         ${FileExists} a
+;       Any conditional NSIS instruction test:
+;         ${Cmd} a
+;       Section flag tests:
+;         ${SectionIsSelected} a; ${SectionIsSectionGroup} a;
+;         ${SectionIsSectionGroupEnd} a; ${SectionIsBold} a;
+;         ${SectionIsReadOnly} a; ${SectionIsExpanded} a;
+;         ${SectionIsPartiallySelected} a
+;
+; Examples:
+;   See LogicLib.nsi in the Examples folder for lots of example usage.
+
+!verbose push
+!verbose 3
+!ifndef LOGICLIB_VERBOSITY
+  !define LOGICLIB_VERBOSITY 3
+!endif
+!define _LOGICLIB_VERBOSITY ${LOGICLIB_VERBOSITY}
+!undef LOGICLIB_VERBOSITY
+!verbose ${_LOGICLIB_VERBOSITY}
+
+!ifndef LOGICLIB
+  !define LOGICLIB
+  !define | "'"
+  !define || "' '"
+  !define LOGICLIB_COUNTER 0
+
+  !include Sections.nsh
+
+  !macro _LOGICLIB_TEMP
+    !ifndef _LOGICLIB_TEMP
+      !define _LOGICLIB_TEMP
+      Var /GLOBAL _LOGICLIB_TEMP  ; Temporary variable to aid the more elaborate logic tests
+    !endif
+  !macroend
+
+  !macro _IncreaseCounter
+    !define _LOGICLIB_COUNTER ${LOGICLIB_COUNTER}
+    !undef LOGICLIB_COUNTER
+    !define /math LOGICLIB_COUNTER ${_LOGICLIB_COUNTER} + 1
+    !undef _LOGICLIB_COUNTER
+  !macroend
+
+  !macro _PushLogic
+    !insertmacro _PushScope Logic _LogicLib_Label_${LOGICLIB_COUNTER}
+    !insertmacro _IncreaseCounter
+  !macroend
+
+  !macro _PopLogic
+    !insertmacro _PopScope Logic
+  !macroend
+
+  !macro _PushScope Type label
+    !ifdef _${Type}                                       ; If we already have a statement
+      !define _Cur${Type} ${_${Type}}
+      !undef _${Type}
+      !define _${Type} ${label}
+      !define ${_${Type}}Prev${Type} ${_Cur${Type}}       ; Save the current logic
+      !undef _Cur${Type}
+    !else
+      !define _${Type} ${label}                           ; Initialise for first statement
+    !endif
+  !macroend
+
+  !macro _PopScope Type
+    !ifndef _${Type}
+      !error "Cannot use _Pop${Type} without a preceding _Push${Type}"
+    !endif
+    !ifdef ${_${Type}}Prev${Type}                         ; If a previous statment was active then restore it
+      !define _Cur${Type} ${_${Type}}
+      !undef _${Type}
+      !define _${Type} ${${_Cur${Type}}Prev${Type}}
+      !undef ${_Cur${Type}}Prev${Type}
+      !undef _Cur${Type}
+    !else
+      !undef _${Type}
+    !endif
+  !macroend
+
+  ; String tests
+  !macro _== _a _b _t _f
+    StrCmp `${_a}` `${_b}` `${_t}` `${_f}`
+  !macroend
+
+  !macro _!= _a _b _t _f
+    !insertmacro _== `${_a}` `${_b}` `${_f}` `${_t}`
+  !macroend
+
+  ; Case-sensitive string tests
+  !macro _S== _a _b _t _f
+    StrCmpS `${_a}` `${_b}` `${_t}` `${_f}`
+  !macroend
+
+  !macro _S!= _a _b _t _f
+    !insertmacro _S== `${_a}` `${_b}` `${_f}` `${_t}`
+  !macroend
+
+  ; Extra string tests (cannot do these case-sensitively - I tried and lstrcmp still ignored the case)
+  !macro _StrCmpI _a _b _e _l _m
+    !insertmacro _LOGICLIB_TEMP
+    System::Call `kernel32::lstrcmpiA(ts, ts) i.s` `${_a}` `${_b}`
+    Pop $_LOGICLIB_TEMP
+    IntCmp $_LOGICLIB_TEMP 0 `${_e}` `${_l}` `${_m}`
+  !macroend
+
+  !macro _S< _a _b _t _f
+    !insertmacro _StrCmpI `${_a}` `${_b}` `${_f}` `${_t}` `${_f}`
+  !macroend
+
+  !macro _S>= _a _b _t _f
+    !insertmacro _S< `${_a}` `${_b}` `${_f}` `${_t}`
+  !macroend
+
+  !macro _S> _a _b _t _f
+    !insertmacro _StrCmpI `${_a}` `${_b}` `${_f}` `${_f}` `${_t}`
+  !macroend
+
+  !macro _S<= _a _b _t _f
+    !insertmacro _S> `${_a}` `${_b}` `${_f}` `${_t}`
+  !macroend
+
+  ; Integer tests
+  !macro _= _a _b _t _f
+    IntCmp `${_a}` `${_b}` `${_t}` `${_f}` `${_f}`
+  !macroend
+
+  !macro _<> _a _b _t _f
+    !insertmacro _= `${_a}` `${_b}` `${_f}` `${_t}`
+  !macroend
+
+  !macro _< _a _b _t _f
+    IntCmp `${_a}` `${_b}` `${_f}` `${_t}` `${_f}`
+  !macroend
+
+  !macro _>= _a _b _t _f
+    !insertmacro _< `${_a}` `${_b}` `${_f}` `${_t}`
+  !macroend
+
+  !macro _> _a _b _t _f
+    IntCmp `${_a}` `${_b}` `${_f}` `${_f}` `${_t}`
+  !macroend
+
+  !macro _<= _a _b _t _f
+    !insertmacro _> `${_a}` `${_b}` `${_f}` `${_t}`
+  !macroend
+
+  ; Unsigned integer tests (NB: no need for extra equality tests)
+  !macro _U< _a _b _t _f
+    IntCmpU `${_a}` `${_b}` `${_f}` `${_t}` `${_f}`
+  !macroend
+
+  !macro _U>= _a _b _t _f
+    !insertmacro _U< `${_a}` `${_b}` `${_f}` `${_t}`
+  !macroend
+
+  !macro _U> _a _b _t _f
+    IntCmpU `${_a}` `${_b}` `${_f}` `${_f}` `${_t}`
+  !macroend
+
+  !macro _U<= _a _b _t _f
+    !insertmacro _U> `${_a}` `${_b}` `${_f}` `${_t}`
+  !macroend
+
+  ; Int64 tests
+  !macro _Int64Cmp _a _o _b _t _f
+    !insertmacro _LOGICLIB_TEMP
+    System::Int64Op `${_a}` `${_o}` `${_b}`
+    Pop $_LOGICLIB_TEMP
+    !insertmacro _= $_LOGICLIB_TEMP 0 `${_f}` `${_t}`
+  !macroend
+
+  !macro _L= _a _b _t _f
+    !insertmacro _Int64Cmp `${_a}` = `${_b}` `${_t}` `${_f}`
+  !macroend
+
+  !macro _L<> _a _b _t _f
+    !insertmacro _L= `${_a}` `${_b}` `${_f}` `${_t}`
+  !macroend
+
+  !macro _L< _a _b _t _f
+    !insertmacro _Int64Cmp `${_a}` < `${_b}` `${_t}` `${_f}`
+  !macroend
+
+  !macro _L>= _a _b _t _f
+    !insertmacro _L< `${_a}` `${_b}` `${_f}` `${_t}`
+  !macroend
+
+  !macro _L> _a _b _t _f
+    !insertmacro _Int64Cmp `${_a}` > `${_b}` `${_t}` `${_f}`
+  !macroend
+
+  !macro _L<= _a _b _t _f
+    !insertmacro _L> `${_a}` `${_b}` `${_f}` `${_t}`
+  !macroend
+
+  ; ptrdiff_t & size_t tests
+  !macro _P= _a _b _t _f
+    !insertmacro _= `${_a}` `${_b}` `${_t}` `${_f}`
+  !macroend
+  !macro _P<> _a _b _t _f
+    !insertmacro _<> `${_a}` `${_b}` `${_t}` `${_f}`
+  !macroend
+  !macro _P< _a _b _t _f
+    !insertmacro _< `${_a}` `${_b}` `${_t}` `${_f}`
+  !macroend
+  !macro _P>= _a _b _t _f
+    !insertmacro _>= `${_a}` `${_b}` `${_t}` `${_f}`
+  !macroend
+  !macro _P> _a _b _t _f
+    !insertmacro _> `${_a}` `${_b}` `${_t}` `${_f}`
+  !macroend
+  !macro _P<= _a _b _t _f
+    !insertmacro _<= `${_a}` `${_b}` `${_t}` `${_f}`
+  !macroend
+  !macro _Z= _a _b _t _f
+    !insertmacro _= `${_a}` `${_b}` `${_t}` `${_f}`
+  !macroend
+  !macro _Z<> _a _b _t _f
+    !insertmacro _<> `${_a}` `${_b}` `${_t}` `${_f}`
+  !macroend
+  !macro _Z< _a _b _t _f
+    !insertmacro _U< `${_a}` `${_b}` `${_t}` `${_f}`
+  !macroend
+  !macro _Z>= _a _b _t _f
+    !insertmacro _U>= `${_a}` `${_b}` `${_t}` `${_f}`
+  !macroend
+  !macro _Z> _a _b _t _f
+    !insertmacro _U> `${_a}` `${_b}` `${_t}` `${_f}`
+  !macroend
+  !macro _Z<= _a _b _t _f
+    !insertmacro _U<= `${_a}` `${_b}` `${_t}` `${_f}`
+  !macroend
+
+  ; Flag tests
+  !macro _Abort _a _b _t _f
+    IfAbort `${_t}` `${_f}`
+  !macroend
+  !define Abort `"" Abort ""`
+
+  !macro _Errors _a _b _t _f
+    IfErrors `${_t}` `${_f}`
+  !macroend
+  !define Errors `"" Errors ""`
+
+  !macro _FileExists _a _b _t _f
+    IfFileExists `${_b}` `${_t}` `${_f}`
+  !macroend
+  !define FileExists `"" FileExists`
+
+  !macro _RebootFlag _a _b _t _f
+    IfRebootFlag `${_t}` `${_f}`
+  !macroend
+  !define RebootFlag `"" RebootFlag ""`
+
+  !macro _Silent _a _b _t _f
+    IfSilent `${_t}` `${_f}`
+  !macroend
+  !define Silent `"" Silent ""`
+
+  ; "Any instruction" test
+  !macro _Cmd _a _b _t _f
+    !define _t=${_t}
+    !ifdef _t=                                            ; If no true label then make one
+      !define __t _LogicLib_Label_${LOGICLIB_COUNTER}
+      !insertmacro _IncreaseCounter
+    !else
+      !define __t ${_t}
+    !endif
+    ${_b} ${__t}
+    !define _f=${_f}
+    !ifndef _f=                                           ; If a false label then go there
+      Goto ${_f}
+    !endif
+    !undef _f=${_f}
+    !ifdef _t=                                            ; If we made our own true label then place it
+      ${__t}:
+    !endif
+    !undef __t
+    !undef _t=${_t}
+  !macroend
+  !define Cmd `"" Cmd`
+
+  ; Section flag test
+  !macro _SectionFlagIsSet _a _b _t _f
+    !insertmacro _LOGICLIB_TEMP
+    SectionGetFlags `${_b}` $_LOGICLIB_TEMP
+    IntOp $_LOGICLIB_TEMP $_LOGICLIB_TEMP & `${_a}`
+    !insertmacro _= $_LOGICLIB_TEMP `${_a}` `${_t}` `${_f}`
+  !macroend
+  !define SectionIsSelected `${SF_SELECTED} SectionFlagIsSet`
+  !define SectionIsSubSection `${SF_SUBSEC} SectionFlagIsSet`
+  !define SectionIsSubSectionEnd `${SF_SUBSECEND} SectionFlagIsSet`
+  !define SectionIsSectionGroup `${SF_SECGRP} SectionFlagIsSet`
+  !define SectionIsSectionGroupEnd `${SF_SECGRPEND} SectionFlagIsSet`
+  !define SectionIsBold `${SF_BOLD} SectionFlagIsSet`
+  !define SectionIsReadOnly `${SF_RO} SectionFlagIsSet`
+  !define SectionIsExpanded `${SF_EXPAND} SectionFlagIsSet`
+  !define SectionIsPartiallySelected `${SF_PSELECTED} SectionFlagIsSet`
+
+  !define IfCmd `!insertmacro _IfThen "" Cmd ${|}`
+
+  !macro _If _c _a _o _b
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    !insertmacro _PushLogic
+    !define ${_Logic}If
+    !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER}                    ; Get a label for the Else
+    !insertmacro _IncreaseCounter
+    !define _c=${_c}
+    !ifdef _c=true                                        ; If is true
+      !insertmacro _${_o} `${_a}` `${_b}` "" ${${_Logic}Else}
+    !else                                                 ; If condition is false
+      !insertmacro _${_o} `${_a}` `${_b}` ${${_Logic}Else} ""
+    !endif
+    !undef _c=${_c}
+    !verbose pop
+  !macroend
+  !define If     `!insertmacro _If true`
+  !define Unless `!insertmacro _If false`
+  !define IfNot  `!insertmacro _If false`
+
+  !macro _And _c _a _o _b
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    !ifndef _Logic | ${_Logic}If
+      !error "Cannot use And without a preceding If or IfNot/Unless"
+    !endif
+    !ifndef ${_Logic}Else
+      !error "Cannot use And following an Else"
+    !endif
+    !define _c=${_c}
+    !ifdef _c=true                                        ; If is true
+      !insertmacro _${_o} `${_a}` `${_b}` "" ${${_Logic}Else}
+    !else                                                 ; If condition is false
+      !insertmacro _${_o} `${_a}` `${_b}` ${${_Logic}Else} ""
+    !endif
+    !undef _c=${_c}
+    !verbose pop
+  !macroend
+  !define AndIf     `!insertmacro _And true`
+  !define AndUnless `!insertmacro _And false`
+  !define AndIfNot  `!insertmacro _And false`
+
+  !macro _Or _c _a _o _b
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    !ifndef _Logic | ${_Logic}If
+      !error "Cannot use Or without a preceding If or IfNot/Unless"
+    !endif
+    !ifndef ${_Logic}Else
+      !error "Cannot use Or following an Else"
+    !endif
+    !define _label _LogicLib_Label_${LOGICLIB_COUNTER}                           ; Skip this test as we already
+    !insertmacro _IncreaseCounter
+    Goto ${_label}                                        ; have a successful result
+    ${${_Logic}Else}:                                     ; Place the Else label
+    !undef ${_Logic}Else                                  ; and remove it
+    !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER}                    ; Get a label for the next Else and perform the new If
+    !insertmacro _IncreaseCounter
+    !define _c=${_c}
+    !ifdef _c=true                                        ; If is true
+      !insertmacro _${_o} `${_a}` `${_b}` "" ${${_Logic}Else}
+    !else                                                 ; If condition is false
+      !insertmacro _${_o} `${_a}` `${_b}` ${${_Logic}Else} ""
+    !endif
+    !undef _c=${_c}
+    ${_label}:
+    !undef _label
+    !verbose pop
+  !macroend
+  !define OrIf     `!insertmacro _Or true`
+  !define OrUnless `!insertmacro _Or false`
+  !define OrIfNot  `!insertmacro _Or false`
+
+  !macro _Else
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    !ifndef _Logic | ${_Logic}If
+      !error "Cannot use Else without a preceding If or IfNot/Unless"
+    !endif
+    !ifndef ${_Logic}Else
+      !error "Cannot use Else following an Else"
+    !endif
+    !ifndef ${_Logic}EndIf                                ; First Else for this If?
+      !define ${_Logic}EndIf _LogicLib_Label_${LOGICLIB_COUNTER}                 ; Get a label for the EndIf
+      !insertmacro _IncreaseCounter
+    !endif
+    Goto ${${_Logic}EndIf}                                ; Go to the EndIf
+    ${${_Logic}Else}:                                     ; Place the Else label
+    !undef ${_Logic}Else                                  ; and remove it
+    !verbose pop
+  !macroend
+  !define Else `!insertmacro _Else`
+
+  !macro _ElseIf _c _a _o _b
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    ${Else}                                               ; Perform the Else
+    !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER}                    ; Get a label for the next Else and perform the new If
+    !insertmacro _IncreaseCounter
+    !define _c=${_c}
+    !ifdef _c=true                                        ; If is true
+      !insertmacro _${_o} `${_a}` `${_b}` "" ${${_Logic}Else}
+    !else                                                 ; If condition is false
+      !insertmacro _${_o} `${_a}` `${_b}` ${${_Logic}Else} ""
+    !endif
+    !undef _c=${_c}
+    !verbose pop
+  !macroend
+  !define ElseIf     `!insertmacro _ElseIf true`
+  !define ElseUnless `!insertmacro _ElseIf false`
+  !define ElseIfNot  `!insertmacro _ElseIf false`
+
+  !macro _EndIf _n
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    !ifndef _Logic | ${_Logic}If
+      !error "Cannot use End${_n} without a preceding If or IfNot/Unless"
+    !endif
+    !ifdef ${_Logic}Else
+      ${${_Logic}Else}:                                   ; Place the Else label
+      !undef ${_Logic}Else                                ; and remove it
+    !endif
+    !ifdef ${_Logic}EndIf
+      ${${_Logic}EndIf}:                                  ; Place the EndIf
+      !undef ${_Logic}EndIf                               ; and remove it
+    !endif
+    !undef ${_Logic}If
+    !insertmacro _PopLogic
+    !verbose pop
+  !macroend
+  !define EndIf     `!insertmacro _EndIf If`
+  !define EndUnless `!insertmacro _EndIf Unless`
+
+  !macro _IfThen _a _o _b _t
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    ${If} `${_a}` `${_o}` `${_b}`
+      ${_t}
+    ${EndIf}
+    !verbose pop
+  !macroend
+  !define IfThen `!insertmacro _IfThen`
+
+  !macro _IfNotThen _a _o _b _t
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    ${IfNot} `${_a}` `${_o}` `${_b}`
+      ${_t}
+    ${EndIf}
+    !verbose pop
+  !macroend
+  !define IfNotThen `!insertmacro _IfNotThen`
+
+  !macro _ForEach _v _f _t _o _s
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    StrCpy "${_v}" "${_f}"                                ; Assign the initial value
+    Goto +2                                               ; Skip the loop expression for the first iteration
+    !define _DoLoopExpression `IntOp "${_v}" "${_v}" "${_o}" "${_s}"` ; Define the loop expression
+    !define _o=${_o}
+    !ifdef _o=+                                           ; Check the loop expression operator
+      !define __o >                                       ; to determine the correct loop condition
+    !else ifdef _o=-
+      !define __o <
+    !else
+      !error "Unsupported ForEach step operator (must be + or -)"
+    !endif
+    !undef _o=${_o}
+    !insertmacro _Do For false `${_v}` `${__o}` `${_t}`   ; Let Do do the rest
+    !undef __o
+    !verbose pop
+  !macroend
+  !define ForEach `!insertmacro _ForEach`
+
+  !macro _For _v _f _t
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    ${ForEach} `${_v}` `${_f}` `${_t}` + 1                ; Pass on to ForEach
+    !verbose pop
+  !macroend
+  !define For `!insertmacro _For`
+
+  !define ExitFor `!insertmacro _Goto ExitFor For`
+
+  !define Next      `!insertmacro _Loop For Next "" "" "" ""`
+
+  !define While     `!insertmacro _Do While true`
+
+  !define ExitWhile `!insertmacro _Goto ExitWhile While`
+
+  !define EndWhile  `!insertmacro _Loop While EndWhile "" "" "" ""`
+
+  !macro _Do _n _c _a _o _b
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    !insertmacro _PushLogic
+    !define ${_Logic}${_n} _LogicLib_Label_${LOGICLIB_COUNTER}                   ; Get a label for the start of the loop
+    !insertmacro _IncreaseCounter
+    ${${_Logic}${_n}}:
+    !insertmacro _PushScope Exit${_n} _LogicLib_Label_${LOGICLIB_COUNTER}        ; Get a label for the end of the loop
+    !insertmacro _IncreaseCounter
+    !insertmacro _PushScope Break ${_Exit${_n}}           ; Break goes to the end of the loop
+    !ifdef _DoLoopExpression
+      ${_DoLoopExpression}                                ; Special extra parameter for inserting code
+      !undef _DoLoopExpression                            ; between the Continue label and the loop condition
+    !endif
+    !define _c=${_c}
+    !ifdef _c=                                            ; No starting condition
+      !insertmacro _PushScope Continue _LogicLib_Label_${LOGICLIB_COUNTER}       ; Get a label for Continue at the end of the loop
+      !insertmacro _IncreaseCounter
+    !else
+      !insertmacro _PushScope Continue ${${_Logic}${_n}}  ; Continue goes to the start of the loop
+      !ifdef _c=true                                      ; If is true
+        !insertmacro _${_o} `${_a}` `${_b}` "" ${_Exit${_n}}
+      !else                                               ; If condition is false
+        !insertmacro _${_o} `${_a}` `${_b}` ${_Exit${_n}} ""
+      !endif
+    !endif
+    !undef _c=${_c}
+    !define ${_Logic}Condition ${_c}                      ; Remember the condition used
+    !verbose pop
+  !macroend
+  !define Do      `!insertmacro _Do Do "" "" "" ""`
+  !define DoWhile `!insertmacro _Do Do true`
+  !define DoUntil `!insertmacro _Do Do false`
+
+  !macro _Goto _n _s
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    !ifndef _${_n}
+      !error "Cannot use ${_n} without a preceding ${_s}"
+    !endif
+    Goto ${_${_n}}
+    !verbose pop
+  !macroend
+  !define ExitDo   `!insertmacro _Goto ExitDo Do`
+
+  !macro _Loop _n _e _c _a _o _b
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    !ifndef _Logic | ${_Logic}${_n}
+      !error "Cannot use ${_e} without a preceding ${_n}"
+    !endif
+    !define _c=${${_Logic}Condition}
+    !ifdef _c=                                            ; If Do had no condition place the Continue label
+      ${_Continue}:
+    !endif
+    !undef _c=${${_Logic}Condition}
+    !define _c=${_c}
+    !ifdef _c=                                            ; No ending condition
+      Goto ${${_Logic}${_n}}
+    !else ifdef _c=true                                   ; If condition is true
+      !insertmacro _${_o} `${_a}` `${_b}` ${${_Logic}${_n}} ${_Exit${_n}}
+    !else                                                 ; If condition is false
+      !insertmacro _${_o} `${_a}` `${_b}` ${_Exit${_n}} ${${_Logic}${_n}}
+    !endif
+    !undef _c=${_c}
+    Goto ${_Continue}                                     ; Just to ensure it is referenced at least once
+	Goto ${_Exit${_n}}                                    ; Just to ensure it is referenced at least once
+    ${_Exit${_n}}:                                        ; Place the loop exit point
+    !undef ${_Logic}Condition
+    !insertmacro _PopScope Continue
+    !insertmacro _PopScope Break
+    !insertmacro _PopScope Exit${_n}
+    !undef ${_Logic}${_n}
+    !insertmacro _PopLogic
+    !verbose pop
+  !macroend
+  !define Loop      `!insertmacro _Loop Do Loop "" "" "" ""`
+  !define LoopWhile `!insertmacro _Loop Do LoopWhile true`
+  !define LoopUntil `!insertmacro _Loop Do LoopUntil false`
+
+  !define Continue `!insertmacro _Goto Continue "For or Do or While"`
+  !define Break    `!insertmacro _Goto Break "For or Do or While"`
+
+  !macro _Select _a
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    !insertmacro _PushLogic
+    !define ${_Logic}Select `${_a}`                       ; Remember the left hand side of the comparison
+    !verbose pop
+  !macroend
+  !define Select `!insertmacro _Select`
+
+  !macro _Select_CaseElse
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    !ifndef _Logic | ${_Logic}Select
+      !error "Cannot use Case without a preceding Select"
+    !endif
+    !ifdef ${_Logic}EndSelect                             ; This is set only after the first case
+      !ifndef ${_Logic}Else
+        !error "Cannot use Case following a CaseElse"
+      !endif
+      Goto ${${_Logic}EndSelect}                          ; Go to the EndSelect
+      ${${_Logic}Else}:                                   ; Place the Else label
+      !undef ${_Logic}Else                                ; and remove it
+    !else
+      !define ${_Logic}EndSelect _LogicLib_Label_${LOGICLIB_COUNTER}             ; Get a label for the EndSelect
+      !insertmacro _IncreaseCounter
+    !endif
+    !verbose pop
+  !macroend
+  !define CaseElse `!insertmacro _CaseElse`
+  !define Case_Else `!insertmacro _CaseElse`              ; Compatibility with 2.2 and earlier
+  !define Default `!insertmacro _CaseElse`                ; For the C-minded
+
+  !macro _Select_Case _a
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    ${CaseElse}                                           ; Perform the CaseElse
+    !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER}                    ; Get a label for the next Else and perform the new Case
+    !insertmacro _IncreaseCounter
+    !insertmacro _== `${${_Logic}Select}` `${_a}` "" ${${_Logic}Else}
+    !verbose pop
+  !macroend
+  !define Case `!insertmacro _Case`
+
+  !macro _Case2 _a _b
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    ${CaseElse}                                           ; Perform the CaseElse
+    !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER}                    ; Get a label for the next Else and perform the new Case
+    !insertmacro _IncreaseCounter
+    !insertmacro _== `${${_Logic}Select}` `${_a}` +2 ""
+    !insertmacro _== `${${_Logic}Select}` `${_b}` "" ${${_Logic}Else}
+    !verbose pop
+  !macroend
+  !define Case2 `!insertmacro _Case2`
+
+  !macro _Case3 _a _b _c
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    ${CaseElse}                                           ; Perform the CaseElse
+    !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER}                    ; Get a label for the next Else and perform the new Case
+    !insertmacro _IncreaseCounter
+    !insertmacro _== `${${_Logic}Select}` `${_a}` +3 ""
+    !insertmacro _== `${${_Logic}Select}` `${_b}` +2 ""
+    !insertmacro _== `${${_Logic}Select}` `${_c}` "" ${${_Logic}Else}
+    !verbose pop
+  !macroend
+  !define Case3 `!insertmacro _Case3`
+
+  !macro _Case4 _a _b _c _d
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    ${CaseElse}                                           ; Perform the CaseElse
+    !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER}                    ; Get a label for the next Else and perform the new Case
+    !insertmacro _IncreaseCounter
+    !insertmacro _== `${${_Logic}Select}` `${_a}` +4 ""
+    !insertmacro _== `${${_Logic}Select}` `${_b}` +3 ""
+    !insertmacro _== `${${_Logic}Select}` `${_c}` +2 ""
+    !insertmacro _== `${${_Logic}Select}` `${_d}` "" ${${_Logic}Else}
+    !verbose pop
+  !macroend
+  !define Case4 `!insertmacro _Case4`
+
+  !macro _Case5 _a _b _c _d _e
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    ${CaseElse}                                           ; Perform the CaseElse
+    !define ${_Logic}Else _LogicLib_Label_${LOGICLIB_COUNTER}                    ; Get a label for the next Else and perform the new Case
+    !insertmacro _IncreaseCounter
+    !insertmacro _== `${${_Logic}Select}` `${_a}` +5 ""
+    !insertmacro _== `${${_Logic}Select}` `${_b}` +4 ""
+    !insertmacro _== `${${_Logic}Select}` `${_c}` +3 ""
+    !insertmacro _== `${${_Logic}Select}` `${_d}` +2 ""
+    !insertmacro _== `${${_Logic}Select}` `${_e}` "" ${${_Logic}Else}
+    !verbose pop
+  !macroend
+  !define Case5 `!insertmacro _Case5`
+
+  !macro _EndSelect
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    !ifndef _Logic | ${_Logic}Select
+      !error "Cannot use EndSelect without a preceding Select"
+    !endif
+    !ifdef ${_Logic}Else
+      ${${_Logic}Else}:                                   ; Place the Else label
+      !undef ${_Logic}Else                                ; and remove it
+    !endif
+    !ifdef ${_Logic}EndSelect                             ; This won't be set if there weren't any cases
+      ${${_Logic}EndSelect}:                              ; Place the EndSelect
+      !undef ${_Logic}EndSelect                           ; and remove it
+    !endif
+    !undef ${_Logic}Select
+    !insertmacro _PopLogic
+    !verbose pop
+  !macroend
+  !define EndSelect `!insertmacro _EndSelect`
+
+  !macro _Switch _a
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    !insertmacro _PushLogic
+    !insertmacro _PushScope Switch ${_Logic}              ; Keep a separate stack for switch data
+    !insertmacro _PushScope Break _LogicLib_Label_${LOGICLIB_COUNTER}            ; Get a lable for beyond the end of the switch
+    !insertmacro _IncreaseCounter
+    !define ${_Switch}Var `${_a}`                         ; Remember the left hand side of the comparison
+    !tempfile ${_Switch}Tmp                               ; Create a temporary file
+    !define ${_Logic}Switch _LogicLib_Label_${LOGICLIB_COUNTER}                  ; Get a label for the end of the switch
+    !insertmacro _IncreaseCounter
+    Goto ${${_Logic}Switch}                               ; and go there
+    !verbose pop
+  !macroend
+  !define Switch `!insertmacro _Switch`
+
+  !macro _Case _a
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    !ifdef _Logic & ${_Logic}Select                       ; Check for an active Select
+      !insertmacro _Select_Case `${_a}`
+    !else ifndef _Switch                                  ; If not then check for an active Switch
+      !error "Cannot use Case without a preceding Select or Switch"
+    !else
+      !define _label _LogicLib_Label_${LOGICLIB_COUNTER}                         ; Get a label for this case,
+      !insertmacro _IncreaseCounter
+      ${_label}:                                          ; place it and add it's check to the temp file
+      !appendfile "${${_Switch}Tmp}" `!insertmacro _== $\`${${_Switch}Var}$\` $\`${_a}$\` ${_label} ""$\n`
+      !undef _label
+    !endif
+    !verbose pop
+  !macroend
+
+  !macro _CaseElse
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    !ifdef _Logic & ${_Logic}Select                       ; Check for an active Select
+      !insertmacro _Select_CaseElse
+    !else ifndef _Switch                                  ; If not then check for an active Switch
+      !error "Cannot use Case without a preceding Select or Switch"
+    !else ifdef ${_Switch}Else                            ; Already had a default case?
+      !error "Cannot use CaseElse following a CaseElse"
+    !else
+      !define ${_Switch}Else _LogicLib_Label_${LOGICLIB_COUNTER}                 ; Get a label for the default case,
+      !insertmacro _IncreaseCounter
+      ${${_Switch}Else}:                                  ; and place it
+    !endif
+    !verbose pop
+  !macroend
+
+  !macro _EndSwitch
+    !verbose push
+    !verbose ${LOGICLIB_VERBOSITY}
+    !ifndef _Logic | ${_Logic}Switch
+      !error "Cannot use EndSwitch without a preceding Switch"
+    !endif
+    Goto ${_Break}                                        ; Skip the jump table
+    ${${_Logic}Switch}:                                   ; Place the end of the switch
+    !undef ${_Logic}Switch
+    !include "${${_Switch}Tmp}"                           ; Include the jump table
+    !delfile "${${_Switch}Tmp}"                           ; and clear it up
+    !ifdef ${_Switch}Else                                 ; Was there a default case?
+      Goto ${${_Switch}Else}                              ; then go there if all else fails
+      !undef ${_Switch}Else
+    !endif
+    !undef ${_Switch}Tmp
+    !undef ${_Switch}Var
+    ${_Break}:                                            ; Place the break label
+    !insertmacro _PopScope Break
+    !insertmacro _PopScope Switch
+    !insertmacro _PopLogic
+    !verbose pop
+  !macroend
+  !define EndSwitch `!insertmacro _EndSwitch`
+
+!endif ; LOGICLIB
+!verbose 3
+!define LOGICLIB_VERBOSITY ${_LOGICLIB_VERBOSITY}
+!undef _LOGICLIB_VERBOSITY
+!verbose pop
Index: tmp/org.txm.setups/nsis-2.5/Include/StrFunc.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/StrFunc.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/StrFunc.nsh	(revision 2961)
@@ -0,0 +1,1784 @@
+/*
+o-----------------------------------------------------------------------------o
+|String Functions Header File 1.09                                            |
+(-----------------------------------------------------------------------------)
+| By deguix                                     / A Header file for NSIS 2.01 |
+| <cevo_deguix@yahoo.com.br>                   -------------------------------|
+|                                                                             |
+|    This header file contains NSIS functions for string manipulation.        |
+o-----------------------------------------------------------------------------o
+*/
+
+!verbose push
+!verbose 3
+!ifndef STRFUNC_VERBOSITY
+  !define STRFUNC_VERBOSITY 3
+!endif
+!define _STRFUNC_VERBOSITY ${STRFUNC_VERBOSITY}
+!undef STRFUNC_VERBOSITY
+!verbose ${_STRFUNC_VERBOSITY}
+
+!include LogicLib.nsh
+
+!ifndef STRFUNC
+
+  !define FALSE 0
+  !define TRUE 1
+
+  ;Header File Identification
+
+  !define STRFUNC `String Functions Header File`
+  !define STRFUNC_SHORT `StrFunc`
+  !define STRFUNC_CREDITS `2004 Diego Pedroso`
+
+  ;Header File Version
+
+  !define STRFUNC_VERMAJ 1
+  !define STRFUNC_VERMED 09
+ ;!define STRFUNC_VERMIN 0
+ ;!define STRFUNC_VERBLD 0
+
+  !define STRFUNC_VER `${STRFUNC_VERMAJ}.${STRFUNC_VERMED}`
+
+  ;Header File Init Message Prefix and Postfix
+
+  !define STRFUNC_INITMSGPRE `----------------------------------------------------------------------$\r$\n`
+  !define STRFUNC_INITMSGPOST `$\r$\n----------------------------------------------------------------------$\r$\n`
+
+  ;Header File Init Message
+
+  !verbose push
+  !verbose 4
+  !echo `${STRFUNC_INITMSGPRE}NSIS ${STRFUNC} ${STRFUNC_VER} - Copyright ${STRFUNC_CREDITS}${STRFUNC_INITMSGPOST}`
+  !verbose pop
+
+  ;Header File Function Init Message Prefix and Postfix
+
+  !define STRFUNC_FUNCMSGPRE ``
+  !define STRFUNC_FUNCMSGPOST ``
+  
+  ;Header File Function Macros
+
+  !macro STRFUNC_FUNCLIST_INSERT Name
+    !ifdef StrFunc_List
+      !define StrFunc_List2 `${StrFunc_List}`
+      !undef StrFunc_List
+      !define StrFunc_List `${StrFunc_List2}|${Name}`
+      !undef StrFunc_List2
+    !else
+      !define StrFunc_List `${Name}`
+    !endif
+  !macroend
+
+  !macro STRFUNC_DEFFUNC Name
+    !insertmacro STRFUNC_FUNCLIST_INSERT ${Name}
+  
+    !define `${Name}` `!insertmacro FUNCTION_STRING_${Name}`
+    !define `Un${Name}` `!insertmacro FUNCTION_STRING_Un${Name}`
+  !macroend
+  
+  !macro STRFUNC_FUNC ShortName Credits
+    !verbose push
+    !verbose 4
+
+    !ifndef `Un${ShortName}`
+      !echo `${STRFUNC_FUNCMSGPRE}$ {Un${ShortName}} - Copyright ${Credits}${STRFUNC_FUNCMSGPOST}`
+      !verbose pop
+      !define `Un${ShortName}` `!insertmacro FUNCTION_STRING_Un${ShortName}_Call`
+      !define `Un${ShortName}_INCLUDED`
+      Function `un.${ShortName}`
+    !else
+      !echo `${STRFUNC_FUNCMSGPRE}$ {${ShortName}} - Copyright ${Credits}${STRFUNC_FUNCMSGPOST}`
+      !verbose pop
+      !undef `${ShortName}`
+      !define `${ShortName}` `!insertmacro FUNCTION_STRING_${ShortName}_Call`
+      !define `${ShortName}_INCLUDED`
+      Function `${ShortName}`
+    !endif
+  !macroend
+
+  ;Function Names Startup Definition
+
+  !insertmacro STRFUNC_DEFFUNC StrCase
+  !define StrCase_List `ResultVar|String|Type`
+  !define StrCase_TypeList `Output|Text|Option  U L T S <>`
+  !macro `FUNCTION_STRING_UnStrCase`
+    !undef UnStrCase
+    !insertmacro FUNCTION_STRING_StrCase
+  !macroend
+  
+  !insertmacro STRFUNC_DEFFUNC StrClb
+  !define StrClb_List `ResultVar|String|Action`
+  !define StrClb_TypeList `Output|Text|Option  > < <>`
+  !macro `FUNCTION_STRING_UnStrClb`
+    !undef UnStrClb
+    !insertmacro FUNCTION_STRING_StrClb
+  !macroend
+
+  !insertmacro STRFUNC_DEFFUNC StrIOToNSIS
+  !define StrIOToNSIS_List `ResultVar|String`
+  !define StrIOToNSIS_TypeList `Output|Text`
+  !macro `FUNCTION_STRING_UnStrIOToNSIS`
+    !undef UnStrIOToNSIS
+    !insertmacro FUNCTION_STRING_StrIOToNSIS
+  !macroend
+
+  !insertmacro STRFUNC_DEFFUNC StrLoc
+  !define StrLoc_List `ResultVar|String|StrToSearchFor|CounterDirection`
+  !define StrLoc_TypeList `Output|Text|Text|Option > <`
+  !macro `FUNCTION_STRING_UnStrLoc`
+    !undef UnStrLoc
+    !insertmacro FUNCTION_STRING_StrLoc
+  !macroend
+
+  !insertmacro STRFUNC_DEFFUNC StrNSISToIO
+  !define StrNSISToIO_List `ResultVar|String`
+  !define StrNSISToIO_TypeList `Output|Text`
+  !macro `FUNCTION_STRING_UnStrNSISToIO`
+    !undef UnStrNSISToIO
+    !insertmacro FUNCTION_STRING_StrNSISToIO
+  !macroend
+
+  !insertmacro STRFUNC_DEFFUNC StrRep
+  !define StrRep_List `ResultVar|String|StrToReplace|ReplacementString`
+  !define StrRep_TypeList `Output|Text|Text|Text`
+  !macro `FUNCTION_STRING_UnStrRep`
+    !undef UnStrRep
+    !insertmacro FUNCTION_STRING_StrRep
+  !macroend
+
+  !insertmacro STRFUNC_DEFFUNC StrSort
+  !define StrSort_List `ResultVar|String|LeftStr|CenterStr|RightStr|IncludeLeftStr|IncludeCenterStr|IncludeRightStr`
+  !define StrSort_TypeList `Output|Text|Text|Text|Text|Option 1 0|Option 1 0|Option 1 0`
+  !macro `FUNCTION_STRING_UnStrSort`
+    !undef UnStrSort
+    !insertmacro FUNCTION_STRING_StrSort
+  !macroend
+
+  !insertmacro STRFUNC_DEFFUNC StrStr
+  !define StrStr_List `ResultVar|String|StrToSearchFor`
+  !define StrStr_TypeList `Output|Text|Text`
+  !macro `FUNCTION_STRING_UnStrStr`
+    !undef UnStrStr
+    !insertmacro FUNCTION_STRING_StrStr
+  !macroend
+
+  !insertmacro STRFUNC_DEFFUNC StrStrAdv
+  !define StrStrAdv_List `ResultVar|String|StrToSearchFor|SearchDirection|ResultStrDirection|DisplayStrToSearch|Loops|CaseSensitive`
+  !define StrStrAdv_TypeList `Output|Text|Text|Option > <|Option > <|Option 1 0|Text|Option 0 1`
+  !macro `FUNCTION_STRING_UnStrStrAdv`
+    !undef UnStrStrAdv
+    !insertmacro FUNCTION_STRING_StrStrAdv
+  !macroend
+
+  !insertmacro STRFUNC_DEFFUNC StrTok
+  !define StrTok_List `ResultVar|String|Separators|ResultPart|SkipEmptyParts`
+  !define StrTok_TypeList `Output|Text|Text|Mixed L|Option 1 0`
+  !macro `FUNCTION_STRING_UnStrTok`
+    !undef UnStrTok
+    !insertmacro FUNCTION_STRING_StrTok
+  !macroend
+
+  !insertmacro STRFUNC_DEFFUNC StrTrimNewLines
+  !define StrTrimNewLines_List `ResultVar|String`
+  !define StrTrimNewLines_TypeList `Output|Text`
+  !macro `FUNCTION_STRING_UnStrTrimNewLines`
+    !undef UnStrTrimNewLines
+    !insertmacro FUNCTION_STRING_StrTrimNewLines
+  !macroend
+
+  ;Function Codes for Install and Uninstall
+
+  # Function StrCase
+  ################
+
+  !macro FUNCTION_STRING_StrCase
+    !insertmacro STRFUNC_FUNC `StrCase` `2004 Diego Pedroso - Based on functions by Dave Laundon`
+
+    /*After this point:
+      ------------------------------------------
+       $0 = String (input)
+       $1 = Type (input)
+       $2 = StrLength (temp)
+       $3 = StartChar (temp)
+       $4 = EndChar (temp)
+       $5 = ResultStr (temp)
+       $6 = CurrentChar (temp)
+       $7 = LastChar (temp)
+       $8 = Temp (temp)*/
+
+      ;Get input from user
+      Exch $1
+      Exch
+      Exch $0
+      Exch
+      Push $2
+      Push $3
+      Push $4
+      Push $5
+      Push $6
+      Push $7
+      Push $8
+
+      ;Initialize variables
+      StrCpy $2 ""
+      StrCpy $3 ""
+      StrCpy $4 ""
+      StrCpy $5 ""
+      StrCpy $6 ""
+      StrCpy $7 ""
+      StrCpy $8 ""
+
+      ;Upper and lower cases are simple to use
+      ${If} $1 == "U"
+
+        ;Upper Case System:
+        ;------------------
+        ; Convert all characters to upper case.
+
+        System::Call "User32::CharUpper(t r0 r5)i"
+        Goto StrCase_End
+      ${ElseIf} $1 == "L"
+
+        ;Lower Case System:
+        ;------------------
+        ; Convert all characters to lower case.
+
+        System::Call "User32::CharLower(t r0 r5)i"
+        Goto StrCase_End
+      ${EndIf}
+
+      ;For the rest of cases:
+      ;Get "String" length
+      StrLen $2 $0
+
+      ;Make a loop until the end of "String"
+      ${For} $3 0 $2
+        ;Add 1 to "EndChar" counter also
+        IntOp $4 $3 + 1
+
+        # Step 1: Detect one character at a time
+
+        ;Remove characters before "StartChar" except when
+        ;"StartChar" is the first character of "String"
+        ${If} $3 <> 0
+          StrCpy $6 $0 `` $3
+        ${EndIf}
+
+        ;Remove characters after "EndChar" except when
+        ;"EndChar" is the last character of "String"
+        ${If} $4 <> $2
+          ${If} $3 = 0
+            StrCpy $6 $0 1
+          ${Else}
+            StrCpy $6 $6 1
+          ${EndIf}
+        ${EndIf}
+
+        # Step 2: Convert to the advanced case user chose:
+
+        ${If} $1 == "T"
+
+          ;Title Case System:
+          ;------------------
+          ; Convert all characters after a non-alphabetic character to upper case.
+          ; Else convert to lower case.
+
+          ;Use "IsCharAlpha" for the job
+          System::Call "*(&t1 r7) i .r8"
+          System::Call "*$8(&i1 .r7)"
+          System::Free $8
+          System::Call "user32::IsCharAlpha(i r7) i .r8"
+          
+          ;Verify "IsCharAlpha" result and convert the character
+          ${If} $8 = 0
+            System::Call "User32::CharUpper(t r6 r6)i"
+          ${Else}
+            System::Call "User32::CharLower(t r6 r6)i"
+          ${EndIf}
+        ${ElseIf} $1 == "S"
+
+          ;Sentence Case System:
+          ;------------------
+          ; Convert all characters after a ".", "!" or "?" character to upper case.
+          ; Else convert to lower case. Spaces or tabs after these marks are ignored.
+
+          ;Detect current characters and ignore if necessary
+          ${If} $6 == " "
+          ${OrIf} $6 == "$\t"
+            Goto IgnoreLetter
+          ${EndIf}
+
+          ;Detect last characters and convert
+          ${If} $7 == "."
+          ${OrIf} $7 == "!"
+          ${OrIf} $7 == "?"
+          ${OrIf} $7 == ""
+            System::Call "User32::CharUpper(t r6 r6)i"
+          ${Else}
+            System::Call "User32::CharLower(t r6 r6)i"
+          ${EndIf}
+        ${ElseIf} $1 == "<>"
+
+          ;Switch Case System:
+          ;------------------
+          ; Switch all characters cases to their inverse case.
+
+          ;Use "IsCharUpper" for the job
+          System::Call "*(&t1 r6) i .r8"
+          System::Call "*$8(&i1 .r7)"
+          System::Free $8
+          System::Call "user32::IsCharUpper(i r7) i .r8"
+          
+          ;Verify "IsCharUpper" result and convert the character
+          ${If} $8 = 0
+            System::Call "User32::CharUpper(t r6 r6)i"
+          ${Else}
+            System::Call "User32::CharLower(t r6 r6)i"
+          ${EndIf}
+        ${EndIf}
+
+        ;Write the character to "LastChar"
+        StrCpy $7 $6
+
+        IgnoreLetter:
+        ;Add this character to "ResultStr"
+        StrCpy $5 `$5$6`
+      ${Next}
+
+      StrCase_End:
+
+    /*After this point:
+      ------------------------------------------
+       $0 = OutVar (output)*/
+
+      ; Copy "ResultStr" to "OutVar"
+      StrCpy $0 $5
+
+      ;Return output to user
+      Pop $8
+      Pop $7
+      Pop $6
+      Pop $5
+      Pop $4
+      Pop $3
+      Pop $2
+      Pop $1
+      Exch $0
+    FunctionEnd
+
+  !macroend
+
+  !macro FUNCTION_STRING_StrClb
+    !insertmacro STRFUNC_FUNC `StrClb` `2004 Diego Pedroso - Based on functions by Nik Medved`
+
+    /*After this point:
+      ------------------------------------------
+       $0 = String (input)
+       $1 = Action (input)
+       $2 = Lock/Unlock (temp)
+       $3 = Temp (temp)
+       $4 = Temp2 (temp)*/
+
+      ;Get input from user
+
+      Exch $1
+      Exch
+      Exch $0
+      Exch
+      Push $2
+      Push $3
+      Push $4
+      
+      StrCpy $2 ""
+      StrCpy $3 ""
+      StrCpy $4 ""
+
+      ;Open the clipboard to do the operations the user chose (kichik's fix)
+      System::Call 'user32::OpenClipboard(i $HWNDPARENT)'
+
+      ${If} $1 == ">" ;Set
+
+        ;Step 1: Clear the clipboard
+        System::Call 'user32::EmptyClipboard()'
+
+        ;Step 2: Allocate global heap
+        StrLen $2 $0
+        IntOp $2 $2 + 1
+        System::Call 'kernel32::GlobalAlloc(i 2, i r2) i.r2'
+
+        ;Step 3: Lock the handle
+        System::Call 'kernel32::GlobalLock(i r2) i.r3'
+
+        ;Step 4: Copy the text to locked clipboard buffer
+        System::Call 'kernel32::lstrcpyA(i r3, t r0)'
+
+        ;Step 5: Unlock the handle again
+        System::Call 'kernel32::GlobalUnlock(i r2)'
+
+        ;Step 6: Set the information to the clipboard
+        System::Call 'user32::SetClipboardData(i 1, i r2)'
+
+        StrCpy $0 ""
+
+      ${ElseIf} $1 == "<" ;Get
+
+        ;Step 1: Get clipboard data
+        System::Call 'user32::GetClipboardData(i 1) i .r2'
+
+        ;Step 2: Lock and copy data (kichik's fix)
+        System::Call 'kernel32::GlobalLock(i r2) t .r0'
+
+        ;Step 3: Unlock (kichik's fix)
+        System::Call 'kernel32::GlobalUnlock(i r2)'
+
+      ${ElseIf} $1 == "<>" ;Swap
+
+        ;Step 1: Get clipboard data
+        System::Call 'user32::GetClipboardData(i 1) i .r2'
+
+        ;Step 2: Lock and copy data (kichik's fix)
+        System::Call 'kernel32::GlobalLock(i r2) t .r4'
+
+        ;Step 3: Unlock (kichik's fix)
+        System::Call 'kernel32::GlobalUnlock(i r2)'
+
+        ;Step 4: Clear the clipboard
+        System::Call 'user32::EmptyClipboard()'
+
+        ;Step 5: Allocate global heap
+        StrLen $2 $0
+        IntOp $2 $2 + 1
+        System::Call 'kernel32::GlobalAlloc(i 2, i r2) i.r2'
+
+        ;Step 6: Lock the handle
+        System::Call 'kernel32::GlobalLock(i r2) i.r3'
+
+        ;Step 7: Copy the text to locked clipboard buffer
+        System::Call 'kernel32::lstrcpyA(i r3, t r0)'
+
+        ;Step 8: Unlock the handle again
+        System::Call 'kernel32::GlobalUnlock(i r2)'
+
+        ;Step 9: Set the information to the clipboard
+        System::Call 'user32::SetClipboardData(i 1, i r2)'
+        
+        StrCpy $0 $4
+      ${Else} ;Clear
+
+        ;Step 1: Clear the clipboard
+        System::Call 'user32::EmptyClipboard()'
+
+        StrCpy $0 ""
+      ${EndIf}
+
+      ;Close the clipboard
+      System::Call 'user32::CloseClipboard()'
+
+    /*After this point:
+      ------------------------------------------
+       $0 = OutVar (output)*/
+
+      ;Return result to user
+      Pop $4
+      Pop $3
+      Pop $2
+      Pop $1
+      Exch $0
+    FunctionEnd
+
+  !macroend
+
+  # Function StrIOToNSIS
+  ####################
+
+  !macro FUNCTION_STRING_StrIOToNSIS
+    !insertmacro STRFUNC_FUNC `StrIOToNSIS` `2004 "bluenet" - Based on functions by Amir Szekely, Joost Verburg, Dave Laundon and Diego Pedroso`
+
+    /*After this point:
+      ------------------------------------------
+       $R0 = String (input/output)
+       $R1 = StartCharPos (temp)
+       $R2 = StrLen (temp)
+       $R3 = TempStr (temp)
+       $R4 = TempRepStr (temp)*/
+
+      ;Get input from user
+      Exch $R0
+      Push $R1
+      Push $R2
+      Push $R3
+      Push $R4
+      
+      ;Get "String" length
+      StrLen $R2 $R0
+
+      ;Loop until "String" end is reached
+      ${For} $R1 0 $R2
+        ;Get the next "String" characters
+        StrCpy $R3 $R0 2 $R1
+        
+        ;Detect if current character is:
+        ${If} $R3 == "\\" ;Back-slash
+          StrCpy $R4 "\"
+        ${ElseIf} $R3 == "\r" ;Carriage return
+          StrCpy $R4 "$\r"
+        ${ElseIf} $R3 == "\n" ;Line feed
+          StrCpy $R4 "$\n"
+        ${ElseIf} $R3 == "\t" ;Tab
+          StrCpy $R4 "$\t"
+        ${Else} ;Anything else
+          StrCpy $R4 ""
+        ${EndIf}
+
+        ;Detect if "TempRepStr" is not empty
+        ${If} $R4 != ""
+          ;Replace the old characters with the new one
+          StrCpy $R3 $R0 $R1
+          IntOp $R1 $R1 + 2
+          StrCpy $R0 $R0 "" $R1
+          StrCpy $R0 "$R3$R4$R0"
+          IntOp $R2 $R2 - 1 ;Decrease "StrLen"
+          IntOp $R1 $R1 - 2 ;Go back to the next character
+        ${EndIf}
+      ${Next}
+      Pop $R4
+      Pop $R3
+      Pop $R2
+      Pop $R1
+      Exch $R0
+    FunctionEnd
+  !macroend
+
+  # Function StrLoc
+  ###############
+
+  !macro FUNCTION_STRING_StrLoc
+    !insertmacro STRFUNC_FUNC `StrLoc` `2004 Diego Pedroso - Based on functions by Ximon Eighteen`
+
+    /*After this point:
+      ------------------------------------------
+       $R0 = OffsetDirection (input)
+       $R1 = StrToSearch (input)
+       $R2 = String (input)
+       $R3 = StrToSearchLen (temp)
+       $R4 = StrLen (temp)
+       $R5 = StartCharPos (temp)
+       $R6 = TempStr (temp)*/
+
+      ;Get input from user
+      Exch $R0
+      Exch
+      Exch $R1
+      Exch 2
+      Exch $R2
+      Push $R3
+      Push $R4
+      Push $R5
+      Push $R6
+
+      ;Get "String" and "StrToSearch" length
+      StrLen $R3 $R1
+      StrLen $R4 $R2
+      ;Start "StartCharPos" counter
+      StrCpy $R5 0
+
+      ;Loop until "StrToSearch" is found or "String" reaches its end
+      ${Do}
+        ;Remove everything before and after the searched part ("TempStr")
+        StrCpy $R6 $R2 $R3 $R5
+
+        ;Compare "TempStr" with "StrToSearch"
+        ${If} $R6 == $R1
+          ${If} $R0 == `<`
+            IntOp $R6 $R3 + $R5
+            IntOp $R0 $R4 - $R6
+          ${Else}
+            StrCpy $R0 $R5
+          ${EndIf}
+          ${ExitDo}
+        ${EndIf}
+        ;If not "StrToSearch", this could be "String" end
+        ${If} $R5 >= $R4
+          StrCpy $R0 ``
+          ${ExitDo}
+        ${EndIf}
+        ;If not, continue the loop
+        IntOp $R5 $R5 + 1
+      ${Loop}
+
+      ;Return output to user
+      Pop $R6
+      Pop $R5
+      Pop $R4
+      Pop $R3
+      Pop $R2
+      Exch
+      Pop $R1
+      Exch $R0
+    FunctionEnd
+
+  !macroend
+
+  # Function StrNSISToIO
+  ####################
+
+  !macro FUNCTION_STRING_StrNSISToIO
+    !insertmacro STRFUNC_FUNC `StrNSISToIO` `2004 "bluenet" - Based on functions by Amir Szekely, Joost Verburg, Dave Laundon and Diego Pedroso`
+
+    /*After this point:
+      ------------------------------------------
+       $R0 = String (input/output)
+       $R1 = StartCharPos (temp)
+       $R2 = StrLen (temp)
+       $R3 = TempStr (temp)
+       $R4 = TempRepStr (temp)*/
+
+      ;Get input from user
+      Exch $R0
+      Push $R1
+      Push $R2
+      Push $R3
+      Push $R4
+      
+      ;Get "String" length
+      StrLen $R2 $R0
+
+      ;Loop until "String" end is reached
+      ${For} $R1 0 $R2
+        ;Get the next "String" character
+        StrCpy $R3 $R0 1 $R1
+
+        ;Detect if current character is:
+        ${If} $R3 == "$\r" ;Back-slash
+          StrCpy $R4 "\r"
+        ${ElseIf} $R3 == "$\n" ;Carriage return
+          StrCpy $R4 "\n"
+        ${ElseIf} $R3 == "$\t" ;Line feed
+          StrCpy $R4 "\t"
+        ${ElseIf} $R3 == "\" ;Tab
+          StrCpy $R4 "\\"
+        ${Else} ;Anything else
+          StrCpy $R4 ""
+        ${EndIf}
+
+        ;Detect if "TempRepStr" is not empty
+        ${If} $R4 != ""
+          ;Replace the old character with the new ones
+          StrCpy $R3 $R0 $R1
+          IntOp $R1 $R1 + 1
+          StrCpy $R0 $R0 "" $R1
+          StrCpy $R0 "$R3$R4$R0"
+          IntOp $R2 $R2 + 1 ;Increase "StrLen"
+        ${EndIf}
+      ${Next}
+
+      ;Return output to user
+      Pop $R4
+      Pop $R3
+      Pop $R2
+      Pop $R1
+      Exch $R0
+    FunctionEnd
+  !macroend
+
+  # Function StrRep
+  ###############
+
+  !macro FUNCTION_STRING_StrRep
+    !insertmacro STRFUNC_FUNC `StrRep` `2004 Diego Pedroso - Based on functions by Hendri Adriaens`
+
+    /*After this point:
+      ------------------------------------------
+       $R0 = ReplacementString (input)
+       $R1 = StrToSearch (input)
+       $R2 = String (input)
+       $R3 = RepStrLen (temp)
+       $R4 = StrToSearchLen (temp)
+       $R5 = StrLen (temp)
+       $R6 = StartCharPos (temp)
+       $R7 = TempStrL (temp)
+       $R8 = TempStrR (temp)*/
+
+      ;Get input from user
+      Exch $R0
+      Exch
+      Exch $R1
+      Exch
+      Exch 2
+      Exch $R2
+      Push $R3
+      Push $R4
+      Push $R5
+      Push $R6
+      Push $R7
+      Push $R8
+
+      ;Return "String" if "StrToSearch" is ""
+      ${IfThen} $R1 == "" ${|} Goto Done ${|}
+
+      ;Get "ReplacementString", "String" and "StrToSearch" length
+      StrLen $R3 $R0
+      StrLen $R4 $R1
+      StrLen $R5 $R2
+      ;Start "StartCharPos" counter
+      StrCpy $R6 0
+
+      ;Loop until "StrToSearch" is found or "String" reaches its end
+      ${Do}
+        ;Remove everything before and after the searched part ("TempStrL")
+        StrCpy $R7 $R2 $R4 $R6
+
+        ;Compare "TempStrL" with "StrToSearch"
+        ${If} $R7 == $R1
+          ;Split "String" to replace the string wanted
+          StrCpy $R7 $R2 $R6 ;TempStrL
+
+          ;Calc: "StartCharPos" + "StrToSearchLen" = EndCharPos
+          IntOp $R8 $R6 + $R4
+
+          StrCpy $R8 $R2 "" $R8 ;TempStrR
+
+          ;Insert the new string between the two separated parts of "String"
+          StrCpy $R2 $R7$R0$R8
+          ;Now calculate the new "StrLen" and "StartCharPos"
+          StrLen $R5 $R2
+          IntOp $R6 $R6 + $R3
+          ${Continue}
+        ${EndIf}
+
+        ;If not "StrToSearch", this could be "String" end
+        ${IfThen} $R6 >= $R5 ${|} ${ExitDo} ${|}
+        ;If not, continue the loop
+        IntOp $R6 $R6 + 1
+      ${Loop}
+
+      Done:
+
+    /*After this point:
+      ------------------------------------------
+       $R0 = OutVar (output)*/
+
+      ;Return output to user
+      StrCpy $R0 $R2
+      Pop $R8
+      Pop $R7
+      Pop $R6
+      Pop $R5
+      Pop $R4
+      Pop $R3
+      Pop $R2
+      Pop $R1
+      Exch $R0
+    FunctionEnd
+
+  !macroend
+
+  # Function StrSort
+  ################
+
+  !macro FUNCTION_STRING_StrSort
+    !insertmacro STRFUNC_FUNC `StrSort` `2004 Diego Pedroso - Based on functions by Stuart Welch`
+
+    /*After this point:
+      ------------------------------------------
+       $R0 = String (input)
+       $R1 = LeftStr (input)
+       $R2 = CenterStr (input)
+       $R3 = RightStr (input)
+       $R4 = IncludeLeftStr (input)
+       $R5 = IncludeCenterStr (input)
+       $R6 = IncludeRightStr (input)
+
+       $0 = StrLen (temp)
+       $1 = LeftStrLen (temp)
+       $2 = CenterStrLen (temp)
+       $3 = RightStrLen (temp)
+       $4 = StartPos (temp)
+       $5 = EndPos (temp)
+       $6 = StartCharPos (temp)
+       $7 = EndCharPos (temp)
+       $8 = TempStr (temp)*/
+
+      ;Get input from user
+      Exch $R6
+      Exch
+      Exch $R5
+      Exch
+      Exch 2
+      Exch $R4
+      Exch 2
+      Exch 3
+      Exch $R3
+      Exch 3
+      Exch 4
+      Exch $R2
+      Exch 4
+      Exch 5
+      Exch $R1
+      Exch 5
+      Exch 6
+      Exch $R0
+      Exch 6
+      Push $0
+      Push $1
+      Push $2
+      Push $3
+      Push $4
+      Push $5
+      Push $6
+      Push $7
+      Push $8
+
+      ;Parameter defaults
+      ${IfThen} $R4 == `` ${|} StrCpy $R4 `1` ${|}
+      ${IfThen} $R5 == `` ${|} StrCpy $R5 `1` ${|}
+      ${IfThen} $R6 == `` ${|} StrCpy $R6 `1` ${|}
+
+      ;Get "String", "CenterStr", "LeftStr" and "RightStr" length
+      StrLen $0 $R0
+      StrLen $1 $R1
+      StrLen $2 $R2
+      StrLen $3 $R3
+      ;Start "StartCharPos" counter
+      StrCpy $6 0
+      ;Start "EndCharPos" counter based on "CenterStr" length
+      IntOp $7 $6 + $2
+
+      ;Loop until "CenterStr" is found or "String" reaches its end
+      ${Do}
+        ;Remove everything before and after the searched part ("TempStr")
+        StrCpy $8 $R0 $2 $6
+
+        ;Compare "TempStr" with "CenterStr"
+        ${IfThen} $8 == $R2 ${|} ${ExitDo} ${|}
+        ;If not, this could be "String" end
+        ${IfThen} $7 >= $0 ${|} Goto Done ${|}
+        ;If not, continue the loop
+        IntOp $6 $6 + 1
+        IntOp $7 $7 + 1
+      ${Loop}
+
+      # "CenterStr" was found
+
+      ;Remove "CenterStr" from "String" if the user wants
+      ${If} $R5 = ${FALSE}
+        StrCpy $8 $R0 $6
+        StrCpy $R0 $R0 `` $7
+        StrCpy $R0 $8$R0
+      ${EndIf}
+
+      ;"StartPos" and "EndPos" will record "CenterStr" coordinates for now
+      StrCpy $4 $6
+      StrCpy $5 $7
+      ;"StartCharPos" and "EndCharPos" should be before "CenterStr"
+      IntOp $6 $6 - $1
+      IntOp $7 $6 + $1
+
+      ;Loop until "LeftStr" is found or "String" reaches its start
+      ${Do}
+        ;Remove everything before and after the searched part ("TempStr")
+        StrCpy $8 $R0 $1 $6
+
+        ;If "LeftStr" is empty
+        ${If} $R1 == ``
+          StrCpy $6 0
+          StrCpy $7 0
+          ${ExitDo}
+        ${EndIf}
+
+        ;Compare "TempStr" with "LeftStr"
+        ${IfThen} $8 == $R1 ${|} ${ExitDo} ${|}
+        ;If not, this could be "String" start
+        ${IfThen} $6 <= 0 ${|} ${ExitDo} ${|}
+        ;If not, continue the loop
+        IntOp $6 $6 - 1
+        IntOp $7 $7 - 1
+      ${Loop}
+
+      # "LeftStr" is found or "String" start was reached
+
+      ;Remove "LeftStr" from "String" if the user wants
+      ${If} $R4 = ${FALSE}
+        IntOp $6 $6 + $1
+      ${EndIf}
+
+      ;Record "LeftStr" first character position on "TempStr" (temporarily)
+      StrCpy $8 $6
+
+      ;"StartCharPos" and "EndCharPos" should be after "CenterStr"
+      ${If} $R5 = ${FALSE}
+        StrCpy $6 $4
+      ${Else}
+        IntOp $6 $4 + $2
+      ${EndIf}
+      IntOp $7 $6 + $3
+      
+      ;Record "LeftStr" first character position on "StartPos"
+      StrCpy $4 $8
+
+      ;Loop until "RightStr" is found or "String" reaches its end
+      ${Do}
+        ;Remove everything before and after the searched part ("TempStr")
+        StrCpy $8 $R0 $3 $6
+
+        ;If "RightStr" is empty
+        ${If} $R3 == ``
+          StrCpy $6 $0
+          StrCpy $7 $0
+          ${ExitDo}
+        ${EndIf}
+
+        ;Compare "TempStr" with "RightStr"
+        ${IfThen} $8 == $R3 ${|} ${ExitDo} ${|}
+        ;If not, this could be "String" end
+        ${IfThen} $7 >= $0 ${|} ${ExitDo} ${|}
+        ;If not, continue the loop
+        IntOp $6 $6 + 1
+        IntOp $7 $7 + 1
+      ${Loop}
+
+      ;Remove "RightStr" from "String" if the user wants
+      ${If} $R6 = ${FALSE}
+        IntOp $7 $7 - $3
+      ${EndIf}
+
+      ;Record "RightStr" last character position on "StartPos"
+      StrCpy $5 $7
+
+      ;As the positionment is relative...
+      IntOp $5 $5 - $4
+
+      ;Write the string and finish the job
+      StrCpy $R0 $R0 $5 $4
+      Goto +2
+
+      Done:
+      StrCpy $R0 ``
+
+    /*After this point:
+      ------------------------------------------
+       $R0 = OutVar (output)*/
+
+      ;Return output to user
+      Pop $8
+      Pop $7
+      Pop $6
+      Pop $5
+      Pop $4
+      Pop $3
+      Pop $2
+      Pop $1
+      Pop $0
+      Pop $R6
+      Pop $R5
+      Pop $R4
+      Pop $R3
+      Pop $R2
+      Pop $R1
+      Exch $R0
+    FunctionEnd
+
+  !macroend
+  
+  # Function StrStr
+  ###############
+
+  !macro FUNCTION_STRING_StrStr
+    !insertmacro STRFUNC_FUNC `StrStr` `2004 Diego Pedroso - Based on functions by Ximon Eighteen`
+
+    /*After this point:
+      ------------------------------------------
+       $R0 = StrToSearch (input)
+       $R1 = String (input)
+       $R2 = StrToSearchLen (temp)
+       $R3 = StrLen (temp)
+       $R4 = StartCharPos (temp)
+       $R5 = TempStr (temp)*/
+
+      ;Get input from user
+      Exch $R0
+      Exch
+      Exch $R1
+      Push $R2
+      Push $R3
+      Push $R4
+      Push $R5
+
+      ;Get "String" and "StrToSearch" length
+      StrLen $R2 $R0
+      StrLen $R3 $R1
+      ;Start "StartCharPos" counter
+      StrCpy $R4 0
+
+      ;Loop until "StrToSearch" is found or "String" reaches its end
+      ${Do}
+        ;Remove everything before and after the searched part ("TempStr")
+        StrCpy $R5 $R1 $R2 $R4
+
+        ;Compare "TempStr" with "StrToSearch"
+        ${IfThen} $R5 == $R0 ${|} ${ExitDo} ${|}
+        ;If not "StrToSearch", this could be "String" end
+        ${IfThen} $R4 >= $R3 ${|} ${ExitDo} ${|}
+        ;If not, continue the loop
+        IntOp $R4 $R4 + 1
+      ${Loop}
+
+    /*After this point:
+      ------------------------------------------
+       $R0 = OutVar (output)*/
+
+      ;Remove part before "StrToSearch" on "String" (if there has one)
+      StrCpy $R0 $R1 `` $R4
+
+      ;Return output to user
+      Pop $R5
+      Pop $R4
+      Pop $R3
+      Pop $R2
+      Pop $R1
+      Exch $R0
+    FunctionEnd
+
+  !macroend
+
+  # Function StrStrAdv
+  ##################
+
+  !macro FUNCTION_STRING_StrStrAdv
+    !insertmacro STRFUNC_FUNC `StrStrAdv` `2003-2004 Diego Pedroso`
+
+    /*After this point:
+      ------------------------------------------
+       $0 = String (input)
+       $1 = StringToSearch (input)
+       $2 = DirectionOfSearch (input)
+       $3 = DirectionOfReturn (input)
+       $4 = ShowStrToSearch (input)
+       $5 = NumLoops (input)
+       $6 = CaseSensitive (input)
+       $7 = StringLength (temp)
+       $8 = StrToSearchLength (temp)
+       $9 = CurrentLoop (temp)
+       $R0 = EndCharPos (temp)
+       $R1 = StartCharPos (temp)
+       $R2 = OutVar (output)
+       $R3 = Temp (temp)*/
+
+      ;Get input from user
+
+      Exch $6
+      Exch
+      Exch $5
+      Exch
+      Exch 2
+      Exch $4
+      Exch 2
+      Exch 3
+      Exch $3
+      Exch 3
+      Exch 4
+      Exch $2
+      Exch 4
+      Exch 5
+      Exch $1
+      Exch 5
+      Exch 6
+      Exch $0
+      Exch 6
+      Push $7
+      Push $8
+      Push $9
+      Push $R3
+      Push $R2
+      Push $R1
+      Push $R0
+
+      ; Clean $R0-$R3 variables
+      StrCpy $R0 ""
+      StrCpy $R1 ""
+      StrCpy $R2 ""
+      StrCpy $R3 ""
+
+      ; Verify if we have the correct values on the variables
+      ${If} $0 == ``
+        SetErrors ;AdvStrStr_StrToSearch not found
+        Goto AdvStrStr_End
+      ${EndIf}
+
+      ${If} $1 == ``
+        SetErrors ;No text to search
+        Goto AdvStrStr_End
+      ${EndIf}
+
+      ${If} $2 != <
+        StrCpy $2 >
+      ${EndIf}
+
+      ${If} $3 != <
+        StrCpy $3 >
+      ${EndIf}
+
+      ${If} $4 <> 0
+        StrCpy $4 1
+      ${EndIf}
+
+      ${If} $5 <= 0
+        StrCpy $5 0
+      ${EndIf}
+
+      ${If} $6 <> 1
+        StrCpy $6 0
+      ${EndIf}
+
+      ; Find "AdvStrStr_String" length
+      StrLen $7 $0
+
+      ; Then find "AdvStrStr_StrToSearch" length
+      StrLen $8 $1
+
+      ; Now set up basic variables
+
+      ${If} $2 == <
+        IntOp $R1 $7 - $8
+        StrCpy $R2 $7
+      ${Else}
+        StrCpy $R1 0
+        StrCpy $R2 $8
+      ${EndIf}
+
+      StrCpy $9 0 ; First loop
+
+      ;Let's begin the search
+
+      ${Do}
+        ; Step 1: If the starting or ending numbers are negative
+        ;         or more than AdvStrStr_StringLen, we return
+        ;         error
+
+        ${If} $R1 < 0
+          StrCpy $R1 ``
+          StrCpy $R2 ``
+          StrCpy $R3 ``
+          SetErrors ;AdvStrStr_StrToSearch not found
+          Goto AdvStrStr_End
+        ${ElseIf} $R2 > $7
+          StrCpy $R1 ``
+          StrCpy $R2 ``
+          StrCpy $R3 ``
+          SetErrors ;AdvStrStr_StrToSearch not found
+          Goto AdvStrStr_End
+        ${EndIf}
+
+        ; Step 2: Start the search depending on
+        ;         AdvStrStr_DirectionOfSearch. Chop down not needed
+        ;         characters.
+
+        ${If} $R1 <> 0
+          StrCpy $R3 $0 `` $R1
+        ${EndIf}
+
+        ${If} $R2 <> $7
+          ${If} $R1 = 0
+            StrCpy $R3 $0 $8
+          ${Else}
+            StrCpy $R3 $R3 $8
+          ${EndIf}
+        ${EndIf}
+
+        ; Step 3: Make sure that's the string we want
+
+        ; Case-Sensitive Support <- Use "AdvStrStr_Temp"
+        ; variable because it won't be used anymore
+
+        ${If} $6 == 1
+          System::Call `kernel32::lstrcmpA(ts, ts) i.s` `$R3` `$1`
+          Pop $R3
+          ${If} $R3 = 0
+            StrCpy $R3 1 ; Continue
+          ${Else}
+            StrCpy $R3 0 ; Break
+          ${EndIf}
+        ${Else}
+          ${If} $R3 == $1
+            StrCpy $R3 1 ; Continue
+          ${Else}
+            StrCpy $R3 0 ; Break
+          ${EndIf}
+        ${EndIf}
+
+        ; After the comparasion, confirm that it is the
+        ; value we want.
+
+        ${If} $R3 = 1
+
+          ;We found it, return except if the user has set up to
+          ;search for another one:
+          ${If} $9 >= $5
+
+            ;Now, let's see if the user wants
+            ;AdvStrStr_StrToSearch to appear:
+            ${If} $4 == 0
+              ;Return depends on AdvStrStr_DirectionOfReturn
+              ${If} $3 == <
+                ; RTL
+                StrCpy $R0 $0 $R1
+              ${Else}
+                ; LTR
+                StrCpy $R0 $0 `` $R2
+              ${EndIf}
+              ${Break}
+            ${Else}
+              ;Return depends on AdvStrStr_DirectionOfReturn
+              ${If} $3 == <
+                ; RTL
+                StrCpy $R0 $0 $R2
+              ${Else}
+                ; LTR
+                StrCpy $R0 $0 `` $R1
+              ${EndIf}
+              ${Break}
+            ${EndIf}
+          ${Else}
+            ;If the user wants to have more loops, let's do it so!
+            IntOp $9 $9 + 1
+
+            ${If} $2 == <
+              IntOp $R1 $R1 - 1
+              IntOp $R2 $R2 - 1
+            ${Else}
+              IntOp $R1 $R1 + 1
+              IntOp $R2 $R2 + 1
+            ${EndIf}
+          ${EndIf}
+        ${Else}
+          ; Step 4: We didn't find it, so do steps 1 thru 3 again
+
+          ${If} $2 == <
+            IntOp $R1 $R1 - 1
+            IntOp $R2 $R2 - 1
+          ${Else}
+            IntOp $R1 $R1 + 1
+            IntOp $R2 $R2 + 1
+          ${EndIf}
+        ${EndIf}
+      ${Loop}
+
+      AdvStrStr_End:
+
+      ;Add 1 to AdvStrStr_EndCharPos to be supportable
+      ;by "StrCpy"
+
+      IntOp $R2 $R2 - 1
+
+      ;Return output to user
+
+      Exch $R0
+      Exch
+      Pop $R1
+      Exch
+      Pop $R2
+      Exch
+      Pop $R3
+      Exch
+      Pop $9
+      Exch
+      Pop $8
+      Exch
+      Pop $7
+      Exch
+      Pop $6
+      Exch
+      Pop $5
+      Exch
+      Pop $4
+      Exch
+      Pop $3
+      Exch
+      Pop $2
+      Exch
+      Pop $1
+      Exch
+      Pop $0
+
+    FunctionEnd
+
+  !macroend
+
+  # Function StrTok
+  ###############
+
+  !macro FUNCTION_STRING_StrTok
+    !insertmacro STRFUNC_FUNC `StrTok` `2004 Diego Pedroso - Based on functions by "bigmac666"`
+    /*After this point:
+      ------------------------------------------
+       $0 = SkipEmptyParts (input)
+       $1 = ResultPart (input)
+       $2 = Separators (input)
+       $3 = String (input)
+       $4 = StrToSearchLen (temp)
+       $5 = StrLen (temp)
+       $6 = StartCharPos (temp)
+       $7 = TempStr (temp)
+       $8 = CurrentLoop
+       $9 = CurrentSepChar
+       $R0 = CurrentSepCharNum
+       */
+
+      ;Get input from user
+      Exch $0
+      Exch
+      Exch $1
+      Exch
+      Exch 2
+      Exch $2
+      Exch 2
+      Exch 3
+      Exch $3
+      Exch 3
+      Push $4
+      Push $5
+      Push $6
+      Push $7
+      Push $8
+      Push $9
+      Push $R0
+
+      ;Parameter defaults
+      ${IfThen} $2 == `` ${|} StrCpy $2 `|` ${|}
+      ${IfThen} $1 == `` ${|} StrCpy $1 `L` ${|}
+      ${IfThen} $0 == `` ${|} StrCpy $0 `0` ${|}
+
+      ;Get "String" and "StrToSearch" length
+      StrLen $4 $2
+      StrLen $5 $3
+      ;Start "StartCharPos" and "ResultPart" counters
+      StrCpy $6 0
+      StrCpy $8 -1
+
+      ;Loop until "ResultPart" is met, "StrToSearch" is found or
+      ;"String" reaches its end
+      ResultPartLoop: ;"CurrentLoop" Loop
+
+        ;Increase "CurrentLoop" counter
+        IntOp $8 $8 + 1
+
+        StrSearchLoop:
+        ${Do} ;"String" Loop
+          ;Remove everything before and after the searched part ("TempStr")
+          StrCpy $7 $3 1 $6
+
+          ;Verify if it's the "String" end
+          ${If} $6 >= $5
+            ;If "CurrentLoop" is what the user wants, remove the part
+            ;after "TempStr" and itself and get out of here
+            ${If} $8 == $1
+            ${OrIf} $1 == `L`
+              StrCpy $3 $3 $6
+            ${Else} ;If not, empty "String" and get out of here
+              StrCpy $3 ``
+            ${EndIf}
+            StrCpy $R0 `End`
+            ${ExitDo}
+          ${EndIf}
+
+          ;Start "CurrentSepCharNum" counter (for "Separators" Loop)
+          StrCpy $R0 0
+
+          ${Do} ;"Separators" Loop
+            ;Use one "Separators" character at a time
+            ${If} $R0 <> 0
+              StrCpy $9 $2 1 $R0
+            ${Else}
+              StrCpy $9 $2 1
+            ${EndIf}
+
+            ;Go to the next "String" char if it's "Separators" end
+            ${IfThen} $R0 >= $4 ${|} ${ExitDo} ${|}
+
+            ;Or, if "TempStr" equals "CurrentSepChar", then...
+            ${If} $7 == $9
+              StrCpy $7 $3 $6
+
+              ;If "String" is empty because this result part doesn't
+              ;contain data, verify if "SkipEmptyParts" is activated,
+              ;so we don't return the output to user yet
+
+              ${If} $7 == ``
+              ${AndIf} $0 = ${TRUE}
+                IntOp $6 $6 + 1
+                StrCpy $3 $3 `` $6
+                StrCpy $6 0
+                Goto StrSearchLoop
+              ${ElseIf} $8 == $1
+                StrCpy $3 $3 $6
+                StrCpy $R0 "End"
+                ${ExitDo}
+              ${EndIf} ;If not, go to the next result part
+              IntOp $6 $6 + 1
+              StrCpy $3 $3 `` $6
+              StrCpy $6 0
+              Goto ResultPartLoop
+            ${EndIf}
+
+            ;Increase "CurrentSepCharNum" counter
+            IntOp $R0 $R0 + 1
+          ${Loop}
+          ${IfThen} $R0 == "End" ${|} ${ExitDo} ${|}
+          
+          ;Increase "StartCharPos" counter
+          IntOp $6 $6 + 1
+        ${Loop}
+
+    /*After this point:
+      ------------------------------------------
+       $3 = OutVar (output)*/
+
+      ;Return output to user
+
+      Pop $R0
+      Pop $9
+      Pop $8
+      Pop $7
+      Pop $6
+      Pop $5
+      Pop $4
+      Pop $0
+      Pop $1
+      Pop $2
+      Exch $3
+    FunctionEnd
+
+  !macroend
+
+  # Function StrTrimNewLines
+  ########################
+
+  !macro FUNCTION_STRING_StrTrimNewLines
+    !insertmacro STRFUNC_FUNC `StrTrimNewLines` `2004 Diego Pedroso - Based on functions by Ximon Eighteen`
+
+    /*After this point:
+      ------------------------------------------
+       $R0 = String (input)
+       $R1 = TrimCounter (temp)
+       $R2 = Temp (temp)*/
+
+      ;Get input from user
+      Exch $R0
+      Push $R1
+      Push $R2
+      
+      ;Initialize trim counter
+      StrCpy $R1 0
+
+      loop:
+        ;Subtract to get "String"'s last characters
+        IntOp $R1 $R1 - 1
+
+        ;Verify if they are either $\r or $\n
+        StrCpy $R2 $R0 1 $R1
+        ${If} $R2 == `$\r`
+        ${OrIf} $R2 == `$\n`
+          Goto loop
+        ${EndIf}
+
+      ;Trim characters (if needed)
+      IntOp $R1 $R1 + 1
+      ${If} $R1 < 0
+        StrCpy $R0 $R0 $R1
+      ${EndIf}
+
+    /*After this point:
+      ------------------------------------------
+       $R0 = OutVar (output)*/
+
+      ;Return output to user
+      Pop $R2
+      Pop $R1
+      Exch $R0
+    FunctionEnd
+
+  !macroend
+
+  ;Function Calls for Install and Uninstall
+
+  !macro FUNCTION_STRING_StrCase_Call ResultVar String Type
+    !verbose push
+    !verbose 4
+    !echo `$ {StrCase} "${ResultVar}" "${String}" "${Type}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${Type}`
+    Call StrCase
+    Pop `${ResultVar}`
+  !macroend
+  !macro FUNCTION_STRING_UnStrCase_Call ResultVar String Type
+    !verbose push
+    !verbose 4
+    !echo `$ {UnStrCase} "${ResultVar}" "${String}" "${Type}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${Type}`
+    Call un.StrCase
+    Pop `${ResultVar}`
+  !macroend
+
+  !macro FUNCTION_STRING_StrClb_Call ResultVar String Action
+    !verbose push
+    !verbose 4
+    !echo `$ {StrClb} "${ResultVar}" "${String}" "${Action}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${Action}`
+    Call StrClb
+    Pop `${ResultVar}`
+  !macroend
+  !macro FUNCTION_STRING_UnStrClb_Call ResultVar String Action
+    !verbose push
+    !verbose 4
+    !echo `$ {UnStrClb} "${ResultVar}" "${String}" "${Action}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${Action}`
+    Call un.StrClb
+    Pop `${ResultVar}`
+  !macroend
+
+  !macro FUNCTION_STRING_StrIOToNSIS_Call ResultVar String
+    !verbose push
+    !verbose 4
+    !echo `$ {StrIOToNSIS} "${ResultVar}" "${String}"`
+    !verbose pop
+
+    Push `${String}`
+    Call StrIOToNSIS
+    Pop `${ResultVar}`
+  !macroend
+  !macro FUNCTION_STRING_UnStrIOToNSIS_Call ResultVar String
+    !verbose push
+    !verbose 4
+    !echo `$ {UnStrIOToNSIS} "${ResultVar}" "${String}"`
+    !verbose pop
+
+    Push `${String}`
+    Call un.StrIOToNSIS
+    Pop `${ResultVar}`
+  !macroend
+
+  !macro FUNCTION_STRING_StrLoc_Call ResultVar String StrToSearchFor OffsetDirection
+    !verbose push
+    !verbose 4
+    !echo `$ {StrLoc} "${ResultVar}" "${String}" "${StrToSearchFor}" "${OffsetDirection}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${StrToSearchFor}`
+    Push `${OffsetDirection}`
+    Call StrLoc
+    Pop `${ResultVar}`
+  !macroend
+  !macro FUNCTION_STRING_UnStrLoc_Call ResultVar String StrToSearchFor OffsetDirection
+    !verbose push
+    !verbose 4
+    !echo `$ {UnStrLoc} "${ResultVar}" "${String}" "${StrToSearchFor}" "${OffsetDirection}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${StrToSearchFor}`
+    Push `${OffsetDirection}`
+    Call un.StrLoc
+    Pop `${ResultVar}`
+  !macroend
+
+  !macro FUNCTION_STRING_StrNSISToIO_Call ResultVar String
+    !verbose push
+    !verbose 4
+    !echo `$ {StrNSISToIO} "${ResultVar}" "${String}"`
+    !verbose pop
+
+    Push `${String}`
+    Call StrNSISToIO
+    Pop `${ResultVar}`
+  !macroend
+  !macro FUNCTION_STRING_UnStrNSISToIO_Call ResultVar String
+    !verbose push
+    !verbose 4
+    !echo `$ {UnStrNSISToIO} "${ResultVar}" "${String}"`
+    !verbose pop
+
+    Push `${String}`
+    Call un.StrNSISToIO
+    Pop `${ResultVar}`
+  !macroend
+
+  !macro FUNCTION_STRING_StrRep_Call ResultVar String StringToReplace ReplacementString
+    !verbose push
+    !verbose 4
+    !echo `$ {StrRep} "${ResultVar}" "${String}" "${StringToReplace}" "${ReplacementString}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${StringToReplace}`
+    Push `${ReplacementString}`
+    Call StrRep
+    Pop `${ResultVar}`
+  !macroend
+  !macro FUNCTION_STRING_UnStrRep_Call ResultVar String StringToReplace ReplacementString
+    !verbose push
+    !verbose 4
+    !echo `$ {UnStrRep} "${ResultVar}" "${String}" "${StringToReplace}" "${ReplacementString}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${StringToReplace}`
+    Push `${ReplacementString}`
+    Call un.StrRep
+    Pop `${ResultVar}`
+  !macroend
+
+  !macro FUNCTION_STRING_StrSort_Call ResultVar String CenterStr LeftStr RightStr IncludeCenterStr IncludeLeftStr IncludeRightStr
+    !verbose push
+    !verbose 4
+    !echo `$ {StrSort} "${ResultVar}" "${String}" "${CenterStr}" "${LeftStr}" "${RightStr}" "${IncludeCenterStr}" "${IncludeLeftStr}" "${IncludeRightStr}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${CenterStr}`
+    Push `${LeftStr}`
+    Push `${RightStr}`
+    Push `${IncludeCenterStr}`
+    Push `${IncludeLeftStr}`
+    Push `${IncludeRightStr}`
+    Call StrSort
+    Pop `${ResultVar}`
+  !macroend
+  !macro FUNCTION_STRING_UnStrSort_Call ResultVar String CenterStr LeftStr RightStr IncludeCenterStr IncludeLeftStr IncludeRightStr
+    !verbose push
+    !verbose 4
+    !echo `$ {UnStrSort} "${ResultVar}" "${String}" "${CenterStr}" "${LeftStr}" "${RightStr}" "${IncludeCenterStr}" "${IncludeLeftStr}" "${IncludeRightStr}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${CenterStr}`
+    Push `${LeftStr}`
+    Push `${RightStr}`
+    Push `${IncludeCenterStr}`
+    Push `${IncludeLeftStr}`
+    Push `${IncludeRightStr}`
+    Call un.StrSort
+    Pop `${ResultVar}`
+  !macroend
+
+  !macro FUNCTION_STRING_StrStr_Call ResultVar String StrToSearchFor
+    !verbose push
+    !verbose 4
+    !echo `$ {StrStr} "${ResultVar}" "${String}" "${StrToSearchFor}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${StrToSearchFor}`
+    Call StrStr
+    Pop `${ResultVar}`
+  !macroend
+  !macro FUNCTION_STRING_UnStrStr_Call ResultVar String StrToSearchFor
+    !verbose push
+    !verbose 4
+    !echo `$ {UnStrStr} "${ResultVar}" "${String}" "${StrToSearchFor}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${StrToSearchFor}`
+    Call un.StrStr
+    Pop `${ResultVar}`
+  !macroend
+
+  !macro FUNCTION_STRING_StrStrAdv_Call ResultVar String StrToSearchFor SearchDirection ResultStrDirection DisplayStrToSearch Loops CaseSensitive
+    !verbose push
+    !verbose 4
+    !echo `$ {StrStrAdv} "${ResultVar}" "${String}" "${StrToSearchFor}" "${SearchDirection}" "${ResultStrDirection}" "${DisplayStrToSearch}" "${Loops}" "${CaseSensitive}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${StrToSearchFor}`
+    Push `${SearchDirection}`
+    Push `${ResultStrDirection}`
+    Push `${DisplayStrToSearch}`
+    Push `${Loops}`
+    Push `${CaseSensitive}`
+    Call StrStrAdv
+    Pop `${ResultVar}`
+  !macroend
+  !macro FUNCTION_STRING_UnStrStrAdv_Call ResultVar String StrToSearchFor SearchDirection ResultStrDirection DisplayStrToSearch Loops CaseSensitive
+    !verbose push
+    !verbose 4
+    !echo `$ {UnStrStrAdv} "${ResultVar}" "${String}" "${StrToSearchFor}" "${SearchDirection}" "${ResultStrDirection}" "${DisplayStrToSearch}" "${Loops}" "${CaseSensitive}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${StrToSearchFor}`
+    Push `${SearchDirection}`
+    Push `${ResultStrDirection}`
+    Push `${DisplayStrToSearch}`
+    Push `${Loops}`
+    Push `${CaseSensitive}`
+    Call un.StrStrAdv
+    Pop `${ResultVar}`
+  !macroend
+
+  !macro FUNCTION_STRING_StrTok_Call ResultVar String Separators ResultPart SkipEmptyParts
+    !verbose push
+    !verbose 4
+    !echo `$ {StrTok} "${ResultVar}" "${String}" "${Separators}" "${ResultPart}" "${SkipEmptyParts}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${Separators}`
+    Push `${ResultPart}`
+    Push `${SkipEmptyParts}`
+    Call StrTok
+    Pop `${ResultVar}`
+  !macroend
+  !macro FUNCTION_STRING_UnStrTok_Call ResultVar String Separators ResultPart SkipEmptyParts
+    !verbose push
+    !verbose 4
+    !echo `$ {UnStrTok} "${ResultVar}" "${String}" "${Separators}" "${ResultPart}" "${SkipEmptyParts}"`
+    !verbose pop
+
+    Push `${String}`
+    Push `${Separators}`
+    Push `${ResultPart}`
+    Push `${SkipEmptyParts}`
+    Call un.StrTok
+    Pop `${ResultVar}`
+  !macroend
+
+  !macro FUNCTION_STRING_StrTrimNewLines_Call ResultVar String
+    !verbose push
+    !verbose 4
+    !echo `$ {StrTrimNewLines} "${ResultVar}" "${String}"`
+    !verbose pop
+
+    Push `${String}`
+    Call StrTrimNewLines
+    Pop `${ResultVar}`
+  !macroend
+  !macro FUNCTION_STRING_UnStrTrimNewLines_Call ResultVar String
+    !verbose push
+    !verbose 4
+    !echo `$ {UnStrTrimNewLines} "${ResultVar}" "${String}"`
+    !verbose pop
+
+    Push `${String}`
+    Call un.StrTrimNewLines
+    Pop `${ResultVar}`
+  !macroend
+
+!endif
+!verbose 3
+!define STRFUNC_VERBOSITY ${_STRFUNC_VERBOSITY}
+!undef _STRFUNC_VERBOSITY
+!verbose pop
Index: tmp/org.txm.setups/nsis-2.5/Include/WinMessages.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/WinMessages.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/WinMessages.nsh	(revision 2961)
@@ -0,0 +1,592 @@
+/*
+_____________________________________________________________________________
+
+                       List of common Windows Messages
+_____________________________________________________________________________
+
+ 2005 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
+
+
+Usage example:
+---------------------------------------------------
+Name "Output"
+OutFile "Output.exe"
+
+!include "WinMessages.nsh"
+
+Section
+	FindWindow $0 '#32770' '' $HWNDPARENT
+	GetDlgItem $1 $0 1027
+	SendMessage $1 ${WM_SETTEXT} 0 'STR:MyText'
+SectionEnd
+---------------------------------------------------
+
+
+Prefix  Message category
+-------------------------
+SW      ShowWindow Commands
+BM      Button control
+CB      Combo box control
+EM      Edit control
+LB      List box control
+WM      General window
+ABM     Application desktop toolbar
+DBT     Device
+DM      Default push button control
+HDM     Header control
+LVM     List view control
+SB      Status bar window
+SBM     Scroll bar control
+STM     Static control
+TCM     Tab control
+PBM     Progress bar
+-----------------------------------
+
+NOT included messages (WM_USER + X)
+-----------------------------------
+CBEM    Extended combo box control
+CDM     Common dialog box
+DL      Drag list box
+DTM     Date and time picker control
+HKM     Hot key control
+IPM     IP address control
+MCM     Month calendar control
+PGM     Pager control
+PSM     Property sheet
+RB      Rebar control
+TB      Toolbar
+TBM     Trackbar
+TTM     Tooltip control
+TVM     Tree-view control
+UDM     Up-down control
+-----------------------------------
+*/
+
+
+!ifndef WINMESSAGES_INCLUDED
+!define WINMESSAGES_INCLUDED
+!verbose push
+!verbose 3
+
+!define HWND_BROADCAST      0xFFFF
+
+#ShowWindow Commands#
+!define SW_HIDE             0
+!define SW_SHOWNORMAL       1
+!define SW_NORMAL           1
+!define SW_SHOWMINIMIZED    2
+!define SW_SHOWMAXIMIZED    3
+!define SW_MAXIMIZE         3
+!define SW_SHOWNOACTIVATE   4
+!define SW_SHOW             5
+!define SW_MINIMIZE         6
+!define SW_SHOWMINNOACTIVE  7
+!define SW_SHOWNA           8
+!define SW_RESTORE          9
+!define SW_SHOWDEFAULT      10
+!define SW_FORCEMINIMIZE    11
+!define SW_MAX              11
+
+#Button Control Messages#
+!define BM_CLICK           0x00F5
+!define BM_GETCHECK        0x00F0
+!define BM_GETIMAGE        0x00F6
+!define BM_GETSTATE        0x00F2
+!define BM_SETCHECK        0x00F1
+!define BM_SETIMAGE        0x00F7
+!define BM_SETSTATE        0x00F3
+!define BM_SETSTYLE        0x00F4
+
+!define BST_UNCHECKED      0
+!define BST_CHECKED        1
+!define BST_INDETERMINATE  2
+!define BST_PUSHED         4
+!define BST_FOCUS          8
+
+#Combo Box Messages#
+!define CB_ADDSTRING                0x0143
+!define CB_DELETESTRING             0x0144
+!define CB_DIR                      0x0145
+!define CB_FINDSTRING               0x014C
+!define CB_FINDSTRINGEXACT          0x0158
+!define CB_GETCOUNT                 0x0146
+!define CB_GETCURSEL                0x0147
+!define CB_GETDROPPEDCONTROLRECT    0x0152
+!define CB_GETDROPPEDSTATE          0x0157
+!define CB_GETDROPPEDWIDTH          0x015f
+!define CB_GETEDITSEL               0x0140
+!define CB_GETEXTENDEDUI            0x0156
+!define CB_GETHORIZONTALEXTENT      0x015d
+!define CB_GETITEMDATA              0x0150
+!define CB_GETITEMHEIGHT            0x0154
+!define CB_GETLBTEXT                0x0148
+!define CB_GETLBTEXTLEN             0x0149
+!define CB_GETLOCALE                0x015A
+!define CB_GETTOPINDEX              0x015b
+!define CB_INITSTORAGE              0x0161
+!define CB_INSERTSTRING             0x014A
+!define CB_LIMITTEXT                0x0141
+!define CB_MSGMAX                   0x015B  # 0x0162 0x0163
+!define CB_MULTIPLEADDSTRING        0x0163
+!define CB_RESETCONTENT             0x014B
+!define CB_SELECTSTRING             0x014D
+!define CB_SETCURSEL                0x014E
+!define CB_SETDROPPEDWIDTH          0x0160
+!define CB_SETEDITSEL               0x0142
+!define CB_SETEXTENDEDUI            0x0155
+!define CB_SETHORIZONTALEXTENT      0x015e
+!define CB_SETITEMDATA              0x0151
+!define CB_SETITEMHEIGHT            0x0153
+!define CB_SETLOCALE                0x0159
+!define CB_SETTOPINDEX              0x015c
+!define CB_SHOWDROPDOWN             0x014F
+
+!define CB_ERR                      -1
+
+#Edit Control Messages#
+!define EM_CANUNDO              0x00C6
+!define EM_CHARFROMPOS          0x00D7
+!define EM_EMPTYUNDOBUFFER      0x00CD
+!define EM_EXLIMITTEXT          0x0435
+!define EM_FMTLINES             0x00C8
+!define EM_GETFIRSTVISIBLELINE  0x00CE
+!define EM_GETHANDLE            0x00BD
+!define EM_GETIMESTATUS         0x00D9
+!define EM_GETLIMITTEXT         0x00D5
+!define EM_GETLINE              0x00C4
+!define EM_GETLINECOUNT         0x00BA
+!define EM_GETMARGINS           0x00D4
+!define EM_GETMODIFY            0x00B8
+!define EM_GETPASSWORDCHAR      0x00D2
+!define EM_GETRECT              0x00B2
+!define EM_GETSEL               0x00B0
+!define EM_GETTHUMB             0x00BE
+!define EM_GETWORDBREAKPROC     0x00D1
+!define EM_LIMITTEXT            0x00C5
+!define EM_LINEFROMCHAR         0x00C9
+!define EM_LINEINDEX            0x00BB
+!define EM_LINELENGTH           0x00C1
+!define EM_LINESCROLL           0x00B6
+!define EM_POSFROMCHAR          0x00D6
+!define EM_REPLACESEL           0x00C2
+!define EM_SCROLL               0x00B5
+!define EM_SCROLLCARET          0x00B7
+!define EM_SETHANDLE            0x00BC
+!define EM_SETIMESTATUS         0x00D8
+!define EM_SETLIMITTEXT         0x00C5  # Same as EM_LIMITTEXT
+!define EM_SETMARGINS           0x00D3
+!define EM_SETMODIFY            0x00B9
+!define EM_SETPASSWORDCHAR      0x00CC
+!define EM_SETREADONLY          0x00CF
+!define EM_SETRECT              0x00B3
+!define EM_SETRECTNP            0x00B4
+!define EM_SETSEL               0x00B1
+!define EM_SETTABSTOPS          0x00CB
+!define EM_SETWORDBREAKPROC     0x00D0
+!define EM_UNDO                 0x00C7
+
+#Listbox Messages#
+!define LB_ADDFILE              0x0196
+!define LB_ADDSTRING            0x0180
+!define LB_DELETESTRING         0x0182
+!define LB_DIR                  0x018D
+!define LB_FINDSTRING           0x018F
+!define LB_FINDSTRINGEXACT      0x01A2
+!define LB_GETANCHORINDEX       0x019D
+!define LB_GETCARETINDEX        0x019F
+!define LB_GETCOUNT             0x018B
+!define LB_GETCURSEL            0x0188
+!define LB_GETHORIZONTALEXTENT  0x0193
+!define LB_GETITEMDATA          0x0199
+!define LB_GETITEMHEIGHT        0x01A1
+!define LB_GETITEMRECT          0x0198
+!define LB_GETLOCALE            0x01A6
+!define LB_GETSEL               0x0187
+!define LB_GETSELCOUNT          0x0190
+!define LB_GETSELITEMS          0x0191
+!define LB_GETTEXT              0x0189
+!define LB_GETTEXTLEN           0x018A
+!define LB_GETTOPINDEX          0x018E
+!define LB_INITSTORAGE          0x01A8
+!define LB_INSERTSTRING         0x0181
+!define LB_ITEMFROMPOINT        0x01A9
+!define LB_MSGMAX               0x01A8  # 0x01B0 0x01B1
+!define LB_MULTIPLEADDSTRING    0x01B1
+!define LB_RESETCONTENT         0x0184
+!define LB_SELECTSTRING         0x018C
+!define LB_SELITEMRANGE         0x019B
+!define LB_SELITEMRANGEEX       0x0183
+!define LB_SETANCHORINDEX       0x019C
+!define LB_SETCARETINDEX        0x019E
+!define LB_SETCOLUMNWIDTH       0x0195
+!define LB_SETCOUNT             0x01A7
+!define LB_SETCURSEL            0x0186
+!define LB_SETHORIZONTALEXTENT  0x0194
+!define LB_SETITEMDATA          0x019A
+!define LB_SETITEMHEIGHT        0x01A0
+!define LB_SETLOCALE            0x01A5
+!define LB_SETSEL               0x0185
+!define LB_SETTABSTOPS          0x0192
+!define LB_SETTOPINDEX          0x0197
+
+!define LB_ERR                  -1
+
+#Window Messages#
+!define WM_ACTIVATE                     0x0006
+!define WM_ACTIVATEAPP                  0x001C
+!define WM_AFXFIRST                     0x0360
+!define WM_AFXLAST                      0x037F
+!define WM_APP                          0x8000
+!define WM_APPCOMMAND                   0x0319
+!define WM_ASKCBFORMATNAME              0x030C
+!define WM_CANCELJOURNAL                0x004B
+!define WM_CANCELMODE                   0x001F
+!define WM_CAPTURECHANGED               0x0215
+!define WM_CHANGECBCHAIN                0x030D
+!define WM_CHANGEUISTATE                0x0127
+!define WM_CHAR                         0x0102
+!define WM_CHARTOITEM                   0x002F
+!define WM_CHILDACTIVATE                0x0022
+!define WM_CLEAR                        0x0303
+!define WM_CLOSE                        0x0010
+!define WM_COMMAND                      0x0111
+!define WM_COMMNOTIFY                   0x0044  # no longer suported
+!define WM_COMPACTING                   0x0041
+!define WM_COMPAREITEM                  0x0039
+!define WM_CONTEXTMENU                  0x007B
+!define WM_CONVERTREQUESTEX             0x108
+!define WM_COPY                         0x0301
+!define WM_COPYDATA                     0x004A
+!define WM_CREATE                       0x0001
+!define WM_CTLCOLOR                     0x0019
+!define WM_CTLCOLORBTN                  0x0135
+!define WM_CTLCOLORDLG                  0x0136
+!define WM_CTLCOLOREDIT                 0x0133
+!define WM_CTLCOLORLISTBOX              0x0134
+!define WM_CTLCOLORMSGBOX               0x0132
+!define WM_CTLCOLORSCROLLBAR            0x0137
+!define WM_CTLCOLORSTATIC               0x0138
+!define WM_CUT                          0x0300
+!define WM_DDE_FIRST                    0x3E0
+!define WM_DEADCHAR                     0x0103
+!define WM_DELETEITEM                   0x002D
+!define WM_DESTROY                      0x0002
+!define WM_DESTROYCLIPBOARD             0x0307
+!define WM_DEVICECHANGE                 0x0219
+!define WM_DEVMODECHANGE                0x001B
+!define WM_DISPLAYCHANGE                0x007E
+!define WM_DRAWCLIPBOARD                0x0308
+!define WM_DRAWITEM                     0x002B
+!define WM_DROPFILES                    0x0233
+!define WM_ENABLE                       0x000A
+!define WM_ENDSESSION                   0x0016
+!define WM_ENTERIDLE                    0x0121
+!define WM_ENTERMENULOOP                0x0211
+!define WM_ENTERSIZEMOVE                0x0231
+!define WM_ERASEBKGND                   0x0014
+!define WM_EXITMENULOOP                 0x0212
+!define WM_EXITSIZEMOVE                 0x0232
+!define WM_FONTCHANGE                   0x001D
+!define WM_GETDLGCODE                   0x0087
+!define WM_GETFONT                      0x0031
+!define WM_GETHOTKEY                    0x0033
+!define WM_GETICON                      0x007F
+!define WM_GETMINMAXINFO                0x0024
+!define WM_GETOBJECT                    0x003D
+!define WM_GETTEXT                      0x000D
+!define WM_GETTEXTLENGTH                0x000E
+!define WM_HANDHELDFIRST                0x0358
+!define WM_HANDHELDLAST                 0x035F
+!define WM_HELP                         0x0053
+!define WM_HOTKEY                       0x0312
+!define WM_HSCROLL                      0x0114
+!define WM_HSCROLLCLIPBOARD             0x030E
+!define WM_ICONERASEBKGND               0x0027
+!define WM_IME_CHAR                     0x0286
+!define WM_IME_COMPOSITION              0x010F
+!define WM_IME_COMPOSITIONFULL          0x0284
+!define WM_IME_CONTROL                  0x0283
+!define WM_IME_ENDCOMPOSITION           0x010E
+!define WM_IME_KEYDOWN                  0x0290
+!define WM_IME_KEYLAST                  0x010F
+!define WM_IME_KEYUP                    0x0291
+!define WM_IME_NOTIFY                   0x0282
+!define WM_IME_REQUEST                  0x0288
+!define WM_IME_SELECT                   0x0285
+!define WM_IME_SETCONTEXT               0x0281
+!define WM_IME_STARTCOMPOSITION         0x010D
+!define WM_INITDIALOG                   0x0110
+!define WM_INITMENU                     0x0116
+!define WM_INITMENUPOPUP                0x0117
+!define WM_INPUT                        0x00FF
+!define WM_INPUTLANGCHANGE              0x0051
+!define WM_INPUTLANGCHANGEREQUEST       0x0050
+!define WM_KEYDOWN                      0x0100
+!define WM_KEYFIRST                     0x0100
+!define WM_KEYLAST                      0x0108
+!define WM_KEYUP                        0x0101
+!define WM_KILLFOCUS                    0x0008
+!define WM_LBUTTONDBLCLK                0x0203
+!define WM_LBUTTONDOWN                  0x0201
+!define WM_LBUTTONUP                    0x0202
+!define WM_MBUTTONDBLCLK                0x0209
+!define WM_MBUTTONDOWN                  0x0207
+!define WM_MBUTTONUP                    0x0208
+!define WM_MDIACTIVATE                  0x0222
+!define WM_MDICASCADE                   0x0227
+!define WM_MDICREATE                    0x0220
+!define WM_MDIDESTROY                   0x0221
+!define WM_MDIGETACTIVE                 0x0229
+!define WM_MDIICONARRANGE               0x0228
+!define WM_MDIMAXIMIZE                  0x0225
+!define WM_MDINEXT                      0x0224
+!define WM_MDIREFRESHMENU               0x0234
+!define WM_MDIRESTORE                   0x0223
+!define WM_MDISETMENU                   0x0230
+!define WM_MDITILE                      0x0226
+!define WM_MEASUREITEM                  0x002C
+!define WM_MENUCHAR                     0x0120
+!define WM_MENUCOMMAND                  0x0126
+!define WM_MENUDRAG                     0x0123
+!define WM_MENUGETOBJECT                0x0124
+!define WM_MENURBUTTONUP                0x0122
+!define WM_MENUSELECT                   0x011F
+!define WM_MOUSEACTIVATE                0x0021
+!define WM_MOUSEFIRST                   0x0200
+!define WM_MOUSEHOVER                   0x02A1
+!define WM_MOUSELAST                    0x0209  # 0x020A 0x020D
+!define WM_MOUSELEAVE                   0x02A3
+!define WM_MOUSEMOVE                    0x0200
+!define WM_MOUSEWHEEL                   0x020A
+!define WM_MOVE                         0x0003
+!define WM_MOVING                       0x0216
+!define WM_NCACTIVATE                   0x0086
+!define WM_NCCALCSIZE                   0x0083
+!define WM_NCCREATE                     0x0081
+!define WM_NCDESTROY                    0x0082
+!define WM_NCHITTEST                    0x0084
+!define WM_NCLBUTTONDBLCLK              0x00A3
+!define WM_NCLBUTTONDOWN                0x00A1
+!define WM_NCLBUTTONUP                  0x00A2
+!define WM_NCMBUTTONDBLCLK              0x00A9
+!define WM_NCMBUTTONDOWN                0x00A7
+!define WM_NCMBUTTONUP                  0x00A8
+!define WM_NCMOUSEHOVER                 0x02A0
+!define WM_NCMOUSELEAVE                 0x02A2
+!define WM_NCMOUSEMOVE                  0x00A0
+!define WM_NCPAINT                      0x0085
+!define WM_NCRBUTTONDBLCLK              0x00A6
+!define WM_NCRBUTTONDOWN                0x00A4
+!define WM_NCRBUTTONUP                  0x00A5
+!define WM_NCXBUTTONDBLCLK              0x00AD
+!define WM_NCXBUTTONDOWN                0x00AB
+!define WM_NCXBUTTONUP                  0x00AC
+!define WM_NEXTDLGCTL                   0x0028
+!define WM_NEXTMENU                     0x0213
+!define WM_NOTIFY                       0x004E
+!define WM_NOTIFYFORMAT                 0x0055
+!define WM_NULL                         0x0000
+!define WM_PAINT                        0x000F
+!define WM_PAINTCLIPBOARD               0x0309
+!define WM_PAINTICON                    0x0026
+!define WM_PALETTECHANGED               0x0311
+!define WM_PALETTEISCHANGING            0x0310
+!define WM_PARENTNOTIFY                 0x0210
+!define WM_PASTE                        0x0302
+!define WM_PENWINFIRST                  0x0380
+!define WM_PENWINLAST                   0x038F
+!define WM_POWER                        0x0048
+!define WM_POWERBROADCAST               0x0218
+!define WM_PRINT                        0x0317
+!define WM_PRINTCLIENT                  0x0318
+!define WM_QUERYDRAGICON                0x0037
+!define WM_QUERYENDSESSION              0x0011
+!define WM_QUERYNEWPALETTE              0x030F
+!define WM_QUERYOPEN                    0x0013
+!define WM_QUERYUISTATE                 0x0129
+!define WM_QUEUESYNC                    0x0023
+!define WM_QUIT                         0x0012
+!define WM_RBUTTONDBLCLK                0x0206
+!define WM_RBUTTONDOWN                  0x0204
+!define WM_RBUTTONUP                    0x0205
+!define WM_RASDIALEVENT                 0xCCCD
+!define WM_RENDERALLFORMATS             0x0306
+!define WM_RENDERFORMAT                 0x0305
+!define WM_SETCURSOR                    0x0020
+!define WM_SETFOCUS                     0x0007
+!define WM_SETFONT                      0x0030
+!define WM_SETHOTKEY                    0x0032
+!define WM_SETICON                      0x0080
+!define WM_SETREDRAW                    0x000B
+!define WM_SETTEXT                      0x000C
+!define WM_SETTINGCHANGE                0x001A  # Same as WM_WININICHANGE
+!define WM_SHOWWINDOW                   0x0018
+!define WM_SIZE                         0x0005
+!define WM_SIZECLIPBOARD                0x030B
+!define WM_SIZING                       0x0214
+!define WM_SPOOLERSTATUS                0x002A
+!define WM_STYLECHANGED                 0x007D
+!define WM_STYLECHANGING                0x007C
+!define WM_SYNCPAINT                    0x0088
+!define WM_SYSCHAR                      0x0106
+!define WM_SYSCOLORCHANGE               0x0015
+!define WM_SYSCOMMAND                   0x0112
+!define WM_SYSDEADCHAR                  0x0107
+!define WM_SYSKEYDOWN                   0x0104
+!define WM_SYSKEYUP                     0x0105
+!define WM_TABLET_FIRST                 0x02C0
+!define WM_TABLET_LAST                  0x02DF
+!define WM_THEMECHANGED                 0x031A
+!define WM_TCARD                        0x0052
+!define WM_TIMECHANGE                   0x001E
+!define WM_TIMER                        0x0113
+!define WM_UNDO                         0x0304
+!define WM_UNICHAR                      0x0109
+!define WM_UNINITMENUPOPUP              0x0125
+!define WM_UPDATEUISTATE                0x0128
+!define WM_USER                         0x400
+!define WM_USERCHANGED                  0x0054
+!define WM_VKEYTOITEM                   0x002E
+!define WM_VSCROLL                      0x0115
+!define WM_VSCROLLCLIPBOARD             0x030A
+!define WM_WINDOWPOSCHANGED             0x0047
+!define WM_WINDOWPOSCHANGING            0x0046
+!define WM_WININICHANGE                 0x001A
+!define WM_WTSSESSION_CHANGE            0x02B1
+!define WM_XBUTTONDBLCLK                0x020D
+!define WM_XBUTTONDOWN                  0x020B
+!define WM_XBUTTONUP                    0x020C
+
+
+#Application desktop toolbar#
+!define ABM_ACTIVATE         0x00000006  # lParam == TRUE/FALSE means activate/deactivate
+!define ABM_GETAUTOHIDEBAR   0x00000007
+!define ABM_GETSTATE         0x00000004
+!define ABM_GETTASKBARPOS    0x00000005
+!define ABM_NEW              0x00000000
+!define ABM_QUERYPOS         0x00000002
+!define ABM_REMOVE           0x00000001
+!define ABM_SETAUTOHIDEBAR   0x00000008  # This can fail, you MUST check the result
+!define ABM_SETPOS           0x00000003
+!define ABM_WINDOWPOSCHANGED 0x0000009
+
+#Device#
+!define DBT_APPYBEGIN                   0x0000
+!define DBT_APPYEND                     0x0001
+!define DBT_CONFIGCHANGECANCELED        0x0019
+!define DBT_CONFIGCHANGED               0x0018
+!define DBT_CONFIGMGAPI32               0x0022
+!define DBT_CONFIGMGPRIVATE             0x7FFF
+!define DBT_CUSTOMEVENT                 0x8006  # User-defined event
+!define DBT_DEVICEARRIVAL               0x8000  # System detected a new device
+!define DBT_DEVICEQUERYREMOVE           0x8001  # Wants to remove, may fail
+!define DBT_DEVICEQUERYREMOVEFAILED     0x8002  # Removal aborted
+!define DBT_DEVICEREMOVECOMPLETE        0x8004  # Device is gone
+!define DBT_DEVICEREMOVEPENDING         0x8003  # About to remove, still avail.
+!define DBT_DEVICETYPESPECIFIC          0x8005  # Type specific event
+!define DBT_DEVNODES_CHANGED            0x0007
+!define DBT_DEVTYP_DEVICEINTERFACE      0x00000005  # Device interface class
+!define DBT_DEVTYP_DEVNODE              0x00000001  # Devnode number
+!define DBT_DEVTYP_HANDLE               0x00000006  # File system handle
+!define DBT_DEVTYP_NET                  0x00000004  # Network resource
+!define DBT_DEVTYP_OEM                  0x00000000  # Oem-defined device type
+!define DBT_DEVTYP_PORT                 0x00000003  # Serial, parallel
+!define DBT_DEVTYP_VOLUME               0x00000002  # Logical volume
+!define DBT_LOW_DISK_SPACE              0x0048
+!define DBT_MONITORCHANGE               0x001B
+!define DBT_NO_DISK_SPACE               0x0047
+!define DBT_QUERYCHANGECONFIG           0x0017
+!define DBT_SHELLLOGGEDON               0x0020
+!define DBT_USERDEFINED                 0xFFFF
+!define DBT_VOLLOCKLOCKFAILED           0x8043
+!define DBT_VOLLOCKLOCKRELEASED         0x8045
+!define DBT_VOLLOCKLOCKTAKEN            0x8042
+!define DBT_VOLLOCKQUERYLOCK            0x8041
+!define DBT_VOLLOCKQUERYUNLOCK          0x8044
+!define DBT_VOLLOCKUNLOCKFAILED         0x8046
+!define DBT_VPOWERDAPI                  0x8100  # VPOWERD API for Win95
+!define DBT_VXDINITCOMPLETE             0x0023
+
+#Default push button control#
+!define DM_BITSPERPEL       0x00040000
+!define DM_COLLATE          0x00008000
+!define DM_COLOR            0x00000800
+!define DM_COPIES           0x00000100
+!define DM_DEFAULTSOURCE    0x00000200
+!define DM_DISPLAYFLAGS     0x00200000
+!define DM_DISPLAYFREQUENCY 0x00400000
+!define DM_DITHERTYPE       0x04000000
+!define DM_DUPLEX           0x00001000
+!define DM_FORMNAME         0x00010000
+!define DM_GRAYSCALE        0x00000001  # This flag is no longer valid
+!define DM_ICMINTENT        0x01000000
+!define DM_ICMMETHOD        0x00800000
+!define DM_INTERLACED       0x00000002  # This flag is no longer valid
+!define DM_LOGPIXELS        0x00020000
+!define DM_MEDIATYPE        0x02000000
+!define DM_NUP              0x00000040
+!define DM_ORIENTATION      0x00000001
+!define DM_PANNINGHEIGHT    0x10000000
+!define DM_PANNINGWIDTH     0x08000000
+!define DM_PAPERLENGTH      0x00000004
+!define DM_PAPERSIZE        0x00000002
+!define DM_PAPERWIDTH       0x00000008
+!define DM_PELSHEIGHT       0x00100000
+!define DM_PELSWIDTH        0x00080000
+!define DM_POSITION         0x00000020
+!define DM_PRINTQUALITY     0x00000400
+!define DM_SCALE            0x00000010
+!define DM_SPECVERSION      0x0320       # 0x0400 0x0401
+!define DM_TTOPTION         0x00004000
+!define DM_YRESOLUTION      0x00002000
+
+#Header control#
+!define HDM_FIRST           0x1200
+
+#List view control#
+!define LVM_FIRST           0x1000
+
+#Status bar window#
+!define SB_CONST_ALPHA      0x00000001
+!define SB_GRAD_RECT        0x00000010
+!define SB_GRAD_TRI         0x00000020
+!define SB_NONE             0x00000000
+!define SB_PIXEL_ALPHA      0x00000002
+!define SB_PREMULT_ALPHA    0x00000004
+!define SB_SIMPLEID         0x00ff
+
+#Scroll bar control#
+!define SBM_ENABLE_ARROWS           0x00E4  # Not in win3.1
+!define SBM_GETPOS                  0x00E1  # Not in win3.1
+!define SBM_GETRANGE                0x00E3  # Not in win3.1
+!define SBM_GETSCROLLINFO           0x00EA
+!define SBM_SETPOS                  0x00E0  # Not in win3.1
+!define SBM_SETRANGE                0x00E2  # Not in win3.1
+!define SBM_SETRANGEREDRAW          0x00E6  # Not in win3.1
+!define SBM_SETSCROLLINFO           0x00E9
+
+#Static control#
+!define STM_GETICON                 0x0171
+!define STM_GETIMAGE                0x0173
+!define STM_MSGMAX                  0x0174
+!define STM_ONLY_THIS_INTERFACE     0x00000001
+!define STM_ONLY_THIS_NAME          0x00000008
+!define STM_ONLY_THIS_PROTOCOL      0x00000002
+!define STM_ONLY_THIS_TYPE          0x00000004
+!define STM_SETICON                 0x0170
+!define STM_SETIMAGE                0x0172
+
+#Tab control#
+!define TCM_FIRST                   0x1300
+
+#Progress bar control#
+!define PBM_SETRANGE   0x0401
+!define PBM_SETPOS     0x0402
+!define PBM_DELTAPOS   0x0403
+!define PBM_SETSTEP    0x0404
+!define PBM_STEPIT     0x0405
+!define PBM_GETPOS     0x0408
+!define PBM_SETMARQUEE 0x040a
+
+!verbose pop
+!endif
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Include/WordFunc.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/WordFunc.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/WordFunc.nsh	(revision 2961)
@@ -0,0 +1,1803 @@
+/*
+_____________________________________________________________________________
+
+                       Word Functions Header v3.3
+_____________________________________________________________________________
+
+ 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
+
+ See documentation for more information about the following functions.
+
+ Usage in script:
+ 1. !include "WordFunc.nsh"
+ 2. [Section|Function]
+      ${WordFunction} "Param1" "Param2" "..." $var
+    [SectionEnd|FunctionEnd]
+
+
+ WordFunction=[WordFind|WordFindS|WordFind2X|WordFind2XS|WordFind3X|WordFind3XS|
+               WordReplace|WordReplaceS|WordAdd|WordAddS|WordInsert|WordInsertS|
+               StrFilter|StrFilterS|VersionCompare|VersionConvert]
+
+_____________________________________________________________________________
+
+                       Thanks to:
+_____________________________________________________________________________
+
+WordFind3X
+	Afrow UK (Based on his idea of Function "StrSortLR")
+StrFilter
+	sunjammer (Function "StrUpper")
+VersionCompare
+	Afrow UK (Based on his Function "VersionCheckNew2")
+VersionConvert
+	Afrow UK (Based on his idea of Function "CharIndexReplace")
+*/
+
+
+;_____________________________________________________________________________
+;
+;                         Macros
+;_____________________________________________________________________________
+;
+; Change log window verbosity (default: 3=no script)
+;
+; Example:
+; !include "WordFunc.nsh"
+; !insertmacro WordFind
+; ${WORDFUNC_VERBOSE} 4   # all verbosity
+; !insertmacro WordReplace
+; ${WORDFUNC_VERBOSE} 3   # no script
+
+!ifndef WORDFUNC_INCLUDED
+!define WORDFUNC_INCLUDED
+
+!include Util.nsh
+
+!verbose push
+!verbose 3
+!ifndef _WORDFUNC_VERBOSE
+	!define _WORDFUNC_VERBOSE 3
+!endif
+!verbose ${_WORDFUNC_VERBOSE}
+!define WORDFUNC_VERBOSE `!insertmacro WORDFUNC_VERBOSE`
+!verbose pop
+
+!macro WORDFUNC_VERBOSE _VERBOSE
+	!verbose push
+	!verbose 3
+	!undef _WORDFUNC_VERBOSE
+	!define _WORDFUNC_VERBOSE ${_VERBOSE}
+	!verbose pop
+!macroend
+
+
+!macro WordFindCall _ART _STRING _DELIMITER _OPTION _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_STRING}`
+	Push `${_DELIMITER}`
+	Push `${_OPTION}`
+	${CallArtificialFunction}${_ART} WordFind_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro WordFindSCall _ART _STRING _DELIMITER _OPTION _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_STRING}`
+	Push `${_DELIMITER}`
+	Push `${_OPTION}`
+	${CallArtificialFunction}${_ART} WordFindS_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro WordFind2XCall _STRING _DELIMITER1 _DELIMITER2 _NUMBER _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_STRING}`
+	Push `${_DELIMITER1}`
+	Push `${_DELIMITER2}`
+	Push `${_NUMBER}`
+	${CallArtificialFunction} WordFind2X_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro WordFind2XSCall _STRING _DELIMITER1 _DELIMITER2 _NUMBER _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_STRING}`
+	Push `${_DELIMITER1}`
+	Push `${_DELIMITER2}`
+	Push `${_NUMBER}`
+	${CallArtificialFunction} WordFind2XS_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro WordFind3XCall _STRING _DELIMITER1 _CENTER _DELIMITER2 _NUMBER _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_STRING}`
+	Push `${_DELIMITER1}`
+	Push `${_CENTER}`
+	Push `${_DELIMITER2}`
+	Push `${_NUMBER}`
+	${CallArtificialFunction} WordFind3X_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro WordFind3XSCall _STRING _DELIMITER1 _CENTER _DELIMITER2 _NUMBER _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_STRING}`
+	Push `${_DELIMITER1}`
+	Push `${_CENTER}`
+	Push `${_DELIMITER2}`
+	Push `${_NUMBER}`
+	${CallArtificialFunction} WordFind3XS_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro WordReplaceCall _STRING _WORD1 _WORD2 _NUMBER _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_STRING}`
+	Push `${_WORD1}`
+	Push `${_WORD2}`
+	Push `${_NUMBER}`
+	${CallArtificialFunction} WordReplace_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro WordReplaceSCall _STRING _WORD1 _WORD2 _NUMBER _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_STRING}`
+	Push `${_WORD1}`
+	Push `${_WORD2}`
+	Push `${_NUMBER}`
+	${CallArtificialFunction} WordReplaceS_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro WordAddCall _STRING1 _DELIMITER _STRING2 _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_STRING1}`
+	Push `${_DELIMITER}`
+	Push `${_STRING2}`
+	${CallArtificialFunction} WordAdd_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro WordAddSCall _STRING1 _DELIMITER _STRING2 _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_STRING1}`
+	Push `${_DELIMITER}`
+	Push `${_STRING2}`
+	${CallArtificialFunction} WordAddS_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro WordInsertCall _STRING _DELIMITER _WORD _NUMBER _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_STRING}`
+	Push `${_DELIMITER}`
+	Push `${_WORD}`
+	Push `${_NUMBER}`
+	${CallArtificialFunction} WordInsert_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro WordInsertSCall _STRING _DELIMITER _WORD _NUMBER _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_STRING}`
+	Push `${_DELIMITER}`
+	Push `${_WORD}`
+	Push `${_NUMBER}`
+	${CallArtificialFunction} WordInsertS_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro StrFilterCall _STRING _FILTER _INCLUDE _EXCLUDE _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_STRING}`
+	Push `${_FILTER}`
+	Push `${_INCLUDE}`
+	Push `${_EXCLUDE}`
+	${CallArtificialFunction} StrFilter_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro StrFilterSCall _STRING _FILTER _INCLUDE _EXCLUDE _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_STRING}`
+	Push `${_FILTER}`
+	Push `${_INCLUDE}`
+	Push `${_EXCLUDE}`
+	${CallArtificialFunction} StrFilterS_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro VersionCompareCall _VER1 _VER2 _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_VER1}`
+	Push `${_VER2}`
+	${CallArtificialFunction} VersionCompare_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro VersionConvertCall _VERSION _CHARLIST _RESULT
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+	Push `${_VERSION}`
+	Push `${_CHARLIST}`
+	${CallArtificialFunction} VersionConvert_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro WordFindBody _WORDFUNC_S
+	Exch $1
+	Exch
+	Exch $0
+	Exch
+	Exch 2
+	Exch $R0
+	Exch 2
+	Push $2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	Push $8
+	Push $9
+	Push $R1
+	Push $R2
+	ClearErrors
+
+	StrCpy $9 ''
+	StrCpy $2 $1 1
+	StrCpy $1 $1 '' 1
+	StrCmp $2 'E' 0 +3
+	StrCpy $9 E
+	goto -4
+
+	StrCpy $3 ''
+	StrCmp${_WORDFUNC_S} $2 '+' +6
+	StrCmp${_WORDFUNC_S} $2 '-' +5
+	StrCmp${_WORDFUNC_S} $2 '/' WordFunc_WordFind${_WORDFUNC_S}_restart
+	StrCmp${_WORDFUNC_S} $2 '#' WordFunc_WordFind${_WORDFUNC_S}_restart
+	StrCmp${_WORDFUNC_S} $2 '*' WordFunc_WordFind${_WORDFUNC_S}_restart
+	goto WordFunc_WordFind${_WORDFUNC_S}_error3
+
+	StrCpy $4 $1 1 -1
+	StrCmp${_WORDFUNC_S} $4 '*' +4
+	StrCmp${_WORDFUNC_S} $4 '}' +3
+	StrCmp${_WORDFUNC_S} $4 '{' +2
+	goto +4
+	StrCpy $1 $1 -1
+	StrCpy $3 '$4$3'
+	goto -7
+	StrCmp${_WORDFUNC_S} $3 '*' WordFunc_WordFind${_WORDFUNC_S}_error3
+	StrCmp${_WORDFUNC_S} $3 '**' WordFunc_WordFind${_WORDFUNC_S}_error3
+	StrCmp${_WORDFUNC_S} $3 '}{' WordFunc_WordFind${_WORDFUNC_S}_error3
+	IntOp $1 $1 + 0
+	StrCmp${_WORDFUNC_S} $1 0 WordFunc_WordFind${_WORDFUNC_S}_error2
+
+	WordFunc_WordFind${_WORDFUNC_S}_restart:
+	StrCmp${_WORDFUNC_S} $R0 '' WordFunc_WordFind${_WORDFUNC_S}_error1
+	StrCpy $4 0
+	StrCpy $5 0
+	StrCpy $6 0
+	StrLen $7 $0
+	goto WordFunc_WordFind${_WORDFUNC_S}_loop
+
+	WordFunc_WordFind${_WORDFUNC_S}_preloop:
+	IntOp $6 $6 + 1
+
+	WordFunc_WordFind${_WORDFUNC_S}_loop:
+	StrCpy $8 $R0 $7 $6
+	StrCmp${_WORDFUNC_S} $8$5 0 WordFunc_WordFind${_WORDFUNC_S}_error1
+	StrLen $R2 $8
+	IntCmp $R2 0 +2
+	StrCmp${_WORDFUNC_S} $8 $0 +5 WordFunc_WordFind${_WORDFUNC_S}_preloop
+	StrCmp${_WORDFUNC_S} $3 '{' WordFunc_WordFind${_WORDFUNC_S}_minus
+	StrCmp${_WORDFUNC_S} $3 '}' WordFunc_WordFind${_WORDFUNC_S}_minus
+	StrCmp${_WORDFUNC_S} $2 '*' WordFunc_WordFind${_WORDFUNC_S}_minus
+	StrCmp${_WORDFUNC_S} $5 $6 WordFunc_WordFind${_WORDFUNC_S}_minus +5
+	StrCmp${_WORDFUNC_S} $3 '{' +4
+	StrCmp${_WORDFUNC_S} $3 '}' +3
+	StrCmp${_WORDFUNC_S} $2 '*' +2
+	StrCmp${_WORDFUNC_S} $5 $6 WordFunc_WordFind${_WORDFUNC_S}_nextword
+	IntOp $4 $4 + 1
+	StrCmp${_WORDFUNC_S} $2$4 +$1 WordFunc_WordFind${_WORDFUNC_S}_plus
+	StrCmp${_WORDFUNC_S} $2 '/' 0 WordFunc_WordFind${_WORDFUNC_S}_nextword
+	IntOp $8 $6 - $5
+	StrCpy $8 $R0 $8 $5
+	StrCmp${_WORDFUNC_S} $1 $8 0 WordFunc_WordFind${_WORDFUNC_S}_nextword
+	StrCpy $R1 $4
+	goto WordFunc_WordFind${_WORDFUNC_S}_end
+	WordFunc_WordFind${_WORDFUNC_S}_nextword:
+	IntOp $6 $6 + $7
+	StrCpy $5 $6
+	goto WordFunc_WordFind${_WORDFUNC_S}_loop
+
+	WordFunc_WordFind${_WORDFUNC_S}_minus:
+	StrCmp${_WORDFUNC_S} $2 '-' 0 WordFunc_WordFind${_WORDFUNC_S}_sum
+	StrCpy $2 '+'
+	IntOp $1 $4 - $1
+	IntOp $1 $1 + 1
+	IntCmp $1 0 WordFunc_WordFind${_WORDFUNC_S}_error2 WordFunc_WordFind${_WORDFUNC_S}_error2 WordFunc_WordFind${_WORDFUNC_S}_restart
+	WordFunc_WordFind${_WORDFUNC_S}_sum:
+	StrCmp${_WORDFUNC_S} $2 '#' 0 WordFunc_WordFind${_WORDFUNC_S}_sumdelim
+	StrCpy $R1 $4
+	goto WordFunc_WordFind${_WORDFUNC_S}_end
+	WordFunc_WordFind${_WORDFUNC_S}_sumdelim:
+	StrCmp${_WORDFUNC_S} $2 '*' 0 WordFunc_WordFind${_WORDFUNC_S}_error2
+	StrCpy $R1 $4
+	goto WordFunc_WordFind${_WORDFUNC_S}_end
+
+	WordFunc_WordFind${_WORDFUNC_S}_plus:
+	StrCmp${_WORDFUNC_S} $3 '' 0 +4
+	IntOp $6 $6 - $5
+	StrCpy $R1 $R0 $6 $5
+	goto WordFunc_WordFind${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $3 '{' 0 +3
+	StrCpy $R1 $R0 $6
+	goto WordFunc_WordFind${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $3 '}' 0 +4
+	IntOp $6 $6 + $7
+	StrCpy $R1 $R0 '' $6
+	goto WordFunc_WordFind${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $3 '{*' +2
+	StrCmp${_WORDFUNC_S} $3 '*{' 0 +3
+	StrCpy $R1 $R0 $6
+	goto WordFunc_WordFind${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $3 '*}' +2
+	StrCmp${_WORDFUNC_S} $3 '}*' 0 +3
+	StrCpy $R1 $R0 '' $5
+	goto WordFunc_WordFind${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $3 '}}' 0 +3
+	StrCpy $R1 $R0 '' $6
+	goto WordFunc_WordFind${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $3 '{{' 0 +3
+	StrCpy $R1 $R0 $5
+	goto WordFunc_WordFind${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $3 '{}' 0 WordFunc_WordFind${_WORDFUNC_S}_error3
+	StrLen $3 $R0
+	StrCmp${_WORDFUNC_S} $3 $6 0 +3
+	StrCpy $0 ''
+	goto +2
+	IntOp $6 $6 + $7
+	StrCpy $8 $R0 '' $6
+	StrCmp${_WORDFUNC_S} $4$8 1 +6
+	StrCmp${_WORDFUNC_S} $4 1 +2 +7
+	IntOp $6 $6 + $7
+	StrCpy $3 $R0 $7 $6
+	StrCmp${_WORDFUNC_S} $3 '' +2
+	StrCmp${_WORDFUNC_S} $3 $0 -3 +3
+	StrCpy $R1 ''
+	goto WordFunc_WordFind${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $5 0 0 +3
+	StrCpy $0 ''
+	goto +2
+	IntOp $5 $5 - $7
+	StrCpy $3 $R0 $5
+	StrCpy $R1 '$3$0$8'
+	goto WordFunc_WordFind${_WORDFUNC_S}_end
+
+	WordFunc_WordFind${_WORDFUNC_S}_error3:
+	StrCpy $R1 3
+	goto WordFunc_WordFind${_WORDFUNC_S}_error
+	WordFunc_WordFind${_WORDFUNC_S}_error2:
+	StrCpy $R1 2
+	goto WordFunc_WordFind${_WORDFUNC_S}_error
+	WordFunc_WordFind${_WORDFUNC_S}_error1:
+	StrCpy $R1 1
+	WordFunc_WordFind${_WORDFUNC_S}_error:
+	StrCmp $9 'E' 0 +3
+	SetErrors
+
+	WordFunc_WordFind${_WORDFUNC_S}_end:
+	StrCpy $R0 $R1
+
+	Pop $R2
+	Pop $R1
+	Pop $9
+	Pop $8
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+	Exch $R0
+!macroend
+
+!define WordFind `!insertmacro WordFindCall ''`
+!define un.WordFind `!insertmacro WordFindCall ''`
+
+!macro WordFind
+!macroend
+
+!macro un.WordFind
+!macroend
+
+!macro WordFind_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	!insertmacro WordFindBody ''
+
+	!verbose pop
+!macroend
+
+!define WordFindS `!insertmacro WordFindSCall ''`
+!define un.WordFindS `!insertmacro WordFindSCall ''`
+
+!macro WordFindS
+!macroend
+
+!macro un.WordFindS
+!macroend
+
+!macro WordFindS_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	!insertmacro WordFindBody 'S'
+
+	!verbose pop
+!macroend
+
+!macro WordFind2XBody _WORDFUNC_S
+	Exch $2
+	Exch
+	Exch $1
+	Exch
+	Exch 2
+	Exch $0
+	Exch 2
+	Exch 3
+	Exch $R0
+	Exch 3
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	Push $8
+	Push $9
+	Push $R1
+	Push $R2
+	ClearErrors
+
+	StrCpy $R2 ''
+	StrCpy $3 $2 1
+	StrCpy $2 $2 '' 1
+	StrCmp $3 'E' 0 +3
+	StrCpy $R2 E
+	goto -4
+
+	StrCmp${_WORDFUNC_S} $3 '+' +5
+	StrCmp${_WORDFUNC_S} $3 '-' +4
+	StrCmp${_WORDFUNC_S} $3 '#' WordFunc_WordFind2X${_WORDFUNC_S}_restart
+	StrCmp${_WORDFUNC_S} $3 '/' WordFunc_WordFind2X${_WORDFUNC_S}_restart
+	goto WordFunc_WordFind2X${_WORDFUNC_S}_error3
+
+	StrCpy $4 $2 2 -2
+	StrCmp${_WORDFUNC_S} $4 '{{' +9
+	StrCmp${_WORDFUNC_S} $4 '}}' +8
+	StrCmp${_WORDFUNC_S} $4 '{*' +7
+	StrCmp${_WORDFUNC_S} $4 '*{' +6
+	StrCmp${_WORDFUNC_S} $4 '*}' +5
+	StrCmp${_WORDFUNC_S} $4 '}*' +4
+	StrCmp${_WORDFUNC_S} $4 '{}' +3
+	StrCpy $4 ''
+	goto +2
+	StrCpy $2 $2 -2
+	IntOp $2 $2 + 0
+	StrCmp${_WORDFUNC_S} $2 0 WordFunc_WordFind2X${_WORDFUNC_S}_error2
+
+	WordFunc_WordFind2X${_WORDFUNC_S}_restart:
+	StrCmp${_WORDFUNC_S} $R0 '' WordFunc_WordFind2X${_WORDFUNC_S}_error1
+	StrCpy $5 -1
+	StrCpy $6 0
+	StrCpy $7 ''
+	StrLen $8 $0
+	StrLen $9 $1
+
+	WordFunc_WordFind2X${_WORDFUNC_S}_loop:
+	IntOp $5 $5 + 1
+
+	WordFunc_WordFind2X${_WORDFUNC_S}_delim1:
+	StrCpy $R1 $R0 $8 $5
+	StrCmp${_WORDFUNC_S} $R1$6 0 WordFunc_WordFind2X${_WORDFUNC_S}_error1
+	StrCmp${_WORDFUNC_S} $R1 '' WordFunc_WordFind2X${_WORDFUNC_S}_minus
+	StrCmp${_WORDFUNC_S} $R1 $0 +2
+	StrCmp${_WORDFUNC_S} $7 '' WordFunc_WordFind2X${_WORDFUNC_S}_loop WordFunc_WordFind2X${_WORDFUNC_S}_delim2
+	StrCmp${_WORDFUNC_S} $0 $1 0 +2
+	StrCmp${_WORDFUNC_S} $7 '' 0 WordFunc_WordFind2X${_WORDFUNC_S}_delim2
+	IntOp $7 $5 + $8
+	StrCpy $5 $7
+	goto WordFunc_WordFind2X${_WORDFUNC_S}_delim1
+
+	WordFunc_WordFind2X${_WORDFUNC_S}_delim2:
+	StrCpy $R1 $R0 $9 $5
+	StrCmp${_WORDFUNC_S} $R1 $1 0 WordFunc_WordFind2X${_WORDFUNC_S}_loop
+	IntOp $6 $6 + 1
+	StrCmp${_WORDFUNC_S} $3$6 '+$2' WordFunc_WordFind2X${_WORDFUNC_S}_plus
+	StrCmp${_WORDFUNC_S} $3 '/' 0 WordFunc_WordFind2X${_WORDFUNC_S}_nextword
+	IntOp $R1 $5 - $7
+	StrCpy $R1 $R0 $R1 $7
+	StrCmp${_WORDFUNC_S} $R1 $2 0 +3
+	StrCpy $R1 $6
+	goto WordFunc_WordFind2X${_WORDFUNC_S}_end
+	WordFunc_WordFind2X${_WORDFUNC_S}_nextword:
+	IntOp $5 $5 + $9
+	StrCpy $7 ''
+	goto WordFunc_WordFind2X${_WORDFUNC_S}_delim1
+
+	WordFunc_WordFind2X${_WORDFUNC_S}_minus:
+	StrCmp${_WORDFUNC_S} $3 '-' 0 WordFunc_WordFind2X${_WORDFUNC_S}_sum
+	StrCpy $3 +
+	IntOp $2 $6 - $2
+	IntOp $2 $2 + 1
+	IntCmp $2 0 WordFunc_WordFind2X${_WORDFUNC_S}_error2 WordFunc_WordFind2X${_WORDFUNC_S}_error2 WordFunc_WordFind2X${_WORDFUNC_S}_restart
+	WordFunc_WordFind2X${_WORDFUNC_S}_sum:
+	StrCmp${_WORDFUNC_S} $3 '#' 0 WordFunc_WordFind2X${_WORDFUNC_S}_error2
+	StrCpy $R1 $6
+	goto WordFunc_WordFind2X${_WORDFUNC_S}_end
+
+	WordFunc_WordFind2X${_WORDFUNC_S}_plus:
+	StrCmp${_WORDFUNC_S} $4 '' 0 +4
+	IntOp $R1 $5 - $7
+	StrCpy $R1 $R0 $R1 $7
+	goto WordFunc_WordFind2X${_WORDFUNC_S}_end
+	IntOp $5 $5 + $9
+	IntOp $7 $7 - $8
+	StrCmp${_WORDFUNC_S} $4 '{*' +2
+	StrCmp${_WORDFUNC_S} $4 '*{' 0 +3
+	StrCpy $R1 $R0 $5
+	goto WordFunc_WordFind2X${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $4 '*}' +2
+	StrCmp${_WORDFUNC_S} $4 '}*' 0 +3
+	StrCpy $R1 $R0 '' $7
+	goto WordFunc_WordFind2X${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $4 '}}' 0 +3
+	StrCpy $R1 $R0 '' $5
+	goto WordFunc_WordFind2X${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $4 '{{' 0 +3
+	StrCpy $R1 $R0 $7
+	goto WordFunc_WordFind2X${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $4 '{}' 0 WordFunc_WordFind2X${_WORDFUNC_S}_error3
+	StrCpy $5 $R0 '' $5
+	StrCpy $7 $R0 $7
+	StrCpy $R1 '$7$5'
+	goto WordFunc_WordFind2X${_WORDFUNC_S}_end
+
+	WordFunc_WordFind2X${_WORDFUNC_S}_error3:
+	StrCpy $R1 3
+	goto WordFunc_WordFind2X${_WORDFUNC_S}_error
+	WordFunc_WordFind2X${_WORDFUNC_S}_error2:
+	StrCpy $R1 2
+	goto WordFunc_WordFind2X${_WORDFUNC_S}_error
+	WordFunc_WordFind2X${_WORDFUNC_S}_error1:
+	StrCpy $R1 1
+	WordFunc_WordFind2X${_WORDFUNC_S}_error:
+	StrCmp $R2 'E' 0 +3
+	SetErrors
+
+	WordFunc_WordFind2X${_WORDFUNC_S}_end:
+	StrCpy $R0 $R1
+
+	Pop $R2
+	Pop $R1
+	Pop $9
+	Pop $8
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+	Exch $R0
+!macroend
+
+!define WordFind2X `!insertmacro WordFind2XCall`
+!define un.WordFind2X `!insertmacro WordFind2XCall`
+
+!macro WordFind2X
+!macroend
+
+!macro un.WordFind2X
+!macroend
+
+!macro WordFind2X_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	!insertmacro WordFind2XBody ''
+
+	!verbose pop
+!macroend
+
+!define WordFind2XS `!insertmacro WordFind2XSCall`
+!define un.WordFind2XS `!insertmacro WordFind2XSCall`
+
+!macro WordFind2XS
+!macroend
+
+!macro un.WordFind2XS
+!macroend
+
+!macro WordFind2XS_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	!insertmacro WordFind2XBody 'S'
+
+	!verbose pop
+!macroend
+
+!macro WordFind3XBody _WORDFUNC_S
+	Exch $3
+	Exch
+	Exch $2
+	Exch
+	Exch 2
+	Exch $1
+	Exch 2
+	Exch 3
+	Exch $0
+	Exch 3
+	Exch 4
+	Exch $R0
+	Exch 4
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	Push $8
+	Push $9
+	Push $R1
+	Push $R2
+	Push $R3
+	Push $R4
+	Push $R5
+	ClearErrors
+
+	StrCpy $R5 ''
+	StrCpy $4 $3 1
+	StrCpy $3 $3 '' 1
+	StrCmp $4 'E' 0 +3
+	StrCpy $R5 E
+	goto -4
+
+	StrCmp${_WORDFUNC_S} $4 '+' +5
+	StrCmp${_WORDFUNC_S} $4 '-' +4
+	StrCmp${_WORDFUNC_S} $4 '#' WordFunc_WordFind3X${_WORDFUNC_S}_restart
+	StrCmp${_WORDFUNC_S} $4 '/' WordFunc_WordFind3X${_WORDFUNC_S}_restart
+	goto WordFunc_WordFind3X${_WORDFUNC_S}_error3
+
+	StrCpy $5 $3 2 -2
+	StrCmp${_WORDFUNC_S} $5 '{{' +9
+	StrCmp${_WORDFUNC_S} $5 '}}' +8
+	StrCmp${_WORDFUNC_S} $5 '{*' +7
+	StrCmp${_WORDFUNC_S} $5 '*{' +6
+	StrCmp${_WORDFUNC_S} $5 '*}' +5
+	StrCmp${_WORDFUNC_S} $5 '}*' +4
+	StrCmp${_WORDFUNC_S} $5 '{}' +3
+	StrCpy $5 ''
+	goto +2
+	StrCpy $3 $3 -2
+	IntOp $3 $3 + 0
+	StrCmp${_WORDFUNC_S} $3 0 WordFunc_WordFind3X${_WORDFUNC_S}_error2
+
+	WordFunc_WordFind3X${_WORDFUNC_S}_restart:
+	StrCmp${_WORDFUNC_S} $R0 '' WordFunc_WordFind3X${_WORDFUNC_S}_error1
+	StrCpy $6 -1
+	StrCpy $7 0
+	StrCpy $8 ''
+	StrCpy $9 ''
+	StrLen $R1 $0
+	StrLen $R2 $1
+	StrLen $R3 $2
+
+	WordFunc_WordFind3X${_WORDFUNC_S}_loop:
+	IntOp $6 $6 + 1
+
+	WordFunc_WordFind3X${_WORDFUNC_S}_delim1:
+	StrCpy $R4 $R0 $R1 $6
+	StrCmp${_WORDFUNC_S} $R4$7 0 WordFunc_WordFind3X${_WORDFUNC_S}_error1
+	StrCmp${_WORDFUNC_S} $R4 '' WordFunc_WordFind3X${_WORDFUNC_S}_minus
+	StrCmp${_WORDFUNC_S} $R4 $0 +2
+	StrCmp${_WORDFUNC_S} $8 '' WordFunc_WordFind3X${_WORDFUNC_S}_loop WordFunc_WordFind3X${_WORDFUNC_S}_center
+	StrCmp${_WORDFUNC_S} $0 $1 +2
+	StrCmp${_WORDFUNC_S} $0 $2 0 +2
+	StrCmp${_WORDFUNC_S} $8 '' 0 WordFunc_WordFind3X${_WORDFUNC_S}_center
+	IntOp $8 $6 + $R1
+	StrCpy $6 $8
+	goto WordFunc_WordFind3X${_WORDFUNC_S}_delim1
+
+	WordFunc_WordFind3X${_WORDFUNC_S}_center:
+	StrCmp${_WORDFUNC_S} $9 '' 0 WordFunc_WordFind3X${_WORDFUNC_S}_delim2
+	StrCpy $R4 $R0 $R2 $6
+	StrCmp${_WORDFUNC_S} $R4 $1 0 WordFunc_WordFind3X${_WORDFUNC_S}_loop
+	IntOp $9 $6 + $R2
+	StrCpy $6 $9
+	goto WordFunc_WordFind3X${_WORDFUNC_S}_delim1
+
+	WordFunc_WordFind3X${_WORDFUNC_S}_delim2:
+	StrCpy $R4 $R0 $R3 $6
+	StrCmp${_WORDFUNC_S} $R4 $2 0 WordFunc_WordFind3X${_WORDFUNC_S}_loop
+	IntOp $7 $7 + 1
+	StrCmp${_WORDFUNC_S} $4$7 '+$3' WordFunc_WordFind3X${_WORDFUNC_S}_plus
+	StrCmp${_WORDFUNC_S} $4 '/' 0 WordFunc_WordFind3X${_WORDFUNC_S}_nextword
+	IntOp $R4 $6 - $8
+	StrCpy $R4 $R0 $R4 $8
+	StrCmp${_WORDFUNC_S} $R4 $3 0 +3
+	StrCpy $R4 $7
+	goto WordFunc_WordFind3X${_WORDFUNC_S}_end
+	WordFunc_WordFind3X${_WORDFUNC_S}_nextword:
+	IntOp $6 $6 + $R3
+	StrCpy $8 ''
+	StrCpy $9 ''
+	goto WordFunc_WordFind3X${_WORDFUNC_S}_delim1
+
+	WordFunc_WordFind3X${_WORDFUNC_S}_minus:
+	StrCmp${_WORDFUNC_S} $4 '-' 0 WordFunc_WordFind3X${_WORDFUNC_S}_sum
+	StrCpy $4 +
+	IntOp $3 $7 - $3
+	IntOp $3 $3 + 1
+	IntCmp $3 0 WordFunc_WordFind3X${_WORDFUNC_S}_error2 WordFunc_WordFind3X${_WORDFUNC_S}_error2 WordFunc_WordFind3X${_WORDFUNC_S}_restart
+	WordFunc_WordFind3X${_WORDFUNC_S}_sum:
+	StrCmp${_WORDFUNC_S} $4 '#' 0 WordFunc_WordFind3X${_WORDFUNC_S}_error2
+	StrCpy $R4 $7
+	goto WordFunc_WordFind3X${_WORDFUNC_S}_end
+
+	WordFunc_WordFind3X${_WORDFUNC_S}_plus:
+	StrCmp${_WORDFUNC_S} $5 '' 0 +4
+	IntOp $R4 $6 - $8
+	StrCpy $R4 $R0 $R4 $8
+	goto WordFunc_WordFind3X${_WORDFUNC_S}_end
+	IntOp $6 $6 + $R3
+	IntOp $8 $8 - $R1
+	StrCmp${_WORDFUNC_S} $5 '{*' +2
+	StrCmp${_WORDFUNC_S} $5 '*{' 0 +3
+	StrCpy $R4 $R0 $6
+	goto WordFunc_WordFind3X${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $5 '*}' +2
+	StrCmp${_WORDFUNC_S} $5 '}*' 0 +3
+	StrCpy $R4 $R0 '' $8
+	goto WordFunc_WordFind3X${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $5 '}}' 0 +3
+	StrCpy $R4 $R0 '' $6
+	goto WordFunc_WordFind3X${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $5 '{{' 0 +3
+	StrCpy $R4 $R0 $8
+	goto WordFunc_WordFind3X${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $5 '{}' 0 WordFunc_WordFind3X${_WORDFUNC_S}_error3
+	StrCpy $6 $R0 '' $6
+	StrCpy $8 $R0 $8
+	StrCpy $R4 '$8$6'
+	goto WordFunc_WordFind3X${_WORDFUNC_S}_end
+
+	WordFunc_WordFind3X${_WORDFUNC_S}_error3:
+	StrCpy $R4 3
+	goto WordFunc_WordFind3X${_WORDFUNC_S}_error
+	WordFunc_WordFind3X${_WORDFUNC_S}_error2:
+	StrCpy $R4 2
+	goto WordFunc_WordFind3X${_WORDFUNC_S}_error
+	WordFunc_WordFind3X${_WORDFUNC_S}_error1:
+	StrCpy $R4 1
+	WordFunc_WordFind3X${_WORDFUNC_S}_error:
+	StrCmp $R5 'E' 0 +3
+	SetErrors
+
+	WordFunc_WordFind3X${_WORDFUNC_S}_end:
+	StrCpy $R0 $R4
+	Pop $R5
+	Pop $R4
+	Pop $R3
+	Pop $R2
+	Pop $R1
+	Pop $9
+	Pop $8
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+	Exch $R0
+!macroend
+
+!define WordFind3X `!insertmacro WordFind3XCall`
+!define un.WordFind3X `!insertmacro WordFind3XCall`
+
+!macro WordFind3X
+!macroend
+
+!macro un.WordFind3X
+!macroend
+
+!macro WordFind3X_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	!insertmacro WordFind3XBody ''
+
+	!verbose pop
+!macroend
+
+!define WordFind3XS `!insertmacro WordFind3XSCall`
+!define un.WordFind3XS `!insertmacro WordFind3XSCall`
+
+!macro WordFind3XS
+!macroend
+
+!macro un.WordFind3XS
+!macroend
+
+!macro WordFind3XS_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	!insertmacro WordFind3XBody 'S'
+
+	!verbose pop
+!macroend
+
+!macro WordReplaceBody _WORDFUNC_S
+	Exch $2
+	Exch
+	Exch $1
+	Exch
+	Exch 2
+	Exch $0
+	Exch 2
+	Exch 3
+	Exch $R0
+	Exch 3
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	Push $8
+	Push $9
+	Push $R1
+	ClearErrors
+
+	StrCpy $R1 $R0
+	StrCpy $9 ''
+	StrCpy $3 $2 1
+	StrCpy $2 $2 '' 1
+	StrCmp $3 'E' 0 +3
+	StrCpy $9 E
+	goto -4
+
+	StrCpy $4 $2 1 -1
+	StrCpy $5 ''
+	StrCpy $6 ''
+	StrLen $7 $0
+
+	StrCmp${_WORDFUNC_S} $7 0 WordFunc_WordReplace${_WORDFUNC_S}_error1
+	StrCmp${_WORDFUNC_S} $R0 '' WordFunc_WordReplace${_WORDFUNC_S}_error1
+	StrCmp${_WORDFUNC_S} $3 '{' WordFunc_WordReplace${_WORDFUNC_S}_beginning
+	StrCmp${_WORDFUNC_S} $3 '}' WordFunc_WordReplace${_WORDFUNC_S}_ending WordFunc_WordReplace${_WORDFUNC_S}_errorchk
+
+	WordFunc_WordReplace${_WORDFUNC_S}_beginning:
+	StrCpy $8 $R0 $7
+	StrCmp${_WORDFUNC_S} $8 $0 0 +4
+	StrCpy $R0 $R0 '' $7
+	StrCpy $5 '$5$1'
+	goto -4
+	StrCpy $3 $2 1
+	StrCmp${_WORDFUNC_S} $3 '}' 0 WordFunc_WordReplace${_WORDFUNC_S}_merge
+
+	WordFunc_WordReplace${_WORDFUNC_S}_ending:
+	StrCpy $8 $R0 '' -$7
+	StrCmp${_WORDFUNC_S} $8 $0 0 +4
+	StrCpy $R0 $R0 -$7
+	StrCpy $6 '$6$1'
+	goto -4
+
+	WordFunc_WordReplace${_WORDFUNC_S}_merge:
+	StrCmp${_WORDFUNC_S} $4 '*' 0 +5
+	StrCmp${_WORDFUNC_S} $5 '' +2
+	StrCpy $5 $1
+	StrCmp${_WORDFUNC_S} $6 '' +2
+	StrCpy $6 $1
+	StrCpy $R0 '$5$R0$6'
+	goto WordFunc_WordReplace${_WORDFUNC_S}_end
+
+	WordFunc_WordReplace${_WORDFUNC_S}_errorchk:
+	StrCmp${_WORDFUNC_S} $3 '+' +2
+	StrCmp${_WORDFUNC_S} $3 '-' 0 WordFunc_WordReplace${_WORDFUNC_S}_error3
+
+	StrCpy $5 $2 1
+	IntOp $2 $2 + 0
+	StrCmp${_WORDFUNC_S} $2 0 0 WordFunc_WordReplace${_WORDFUNC_S}_one
+	StrCmp${_WORDFUNC_S} $5 0 WordFunc_WordReplace${_WORDFUNC_S}_error2
+	StrCpy $3 ''
+
+	WordFunc_WordReplace${_WORDFUNC_S}_all:
+	StrCpy $5 0
+	StrCpy $2 $R0 $7 $5
+	StrCmp${_WORDFUNC_S} $2 '' +4
+	StrCmp${_WORDFUNC_S} $2 $0 +6
+	IntOp $5 $5 + 1
+	goto -4
+	StrCmp${_WORDFUNC_S} $R0 $R1 WordFunc_WordReplace${_WORDFUNC_S}_error1
+	StrCpy $R0 '$3$R0'
+	goto WordFunc_WordReplace${_WORDFUNC_S}_end
+	StrCpy $2 $R0 $5
+	IntOp $5 $5 + $7
+	StrCmp${_WORDFUNC_S} $4 '*' 0 +3
+	StrCpy $6 $R0 $7 $5
+	StrCmp${_WORDFUNC_S} $6 $0 -3
+	StrCpy $R0 $R0 '' $5
+	StrCpy $3 '$3$2$1'
+	goto WordFunc_WordReplace${_WORDFUNC_S}_all
+
+	WordFunc_WordReplace${_WORDFUNC_S}_one:
+	StrCpy $5 0
+	StrCpy $8 0
+	goto WordFunc_WordReplace${_WORDFUNC_S}_loop
+
+	WordFunc_WordReplace${_WORDFUNC_S}_preloop:
+	IntOp $5 $5 + 1
+
+	WordFunc_WordReplace${_WORDFUNC_S}_loop:
+	StrCpy $6 $R0 $7 $5
+	StrCmp${_WORDFUNC_S} $6$8 0 WordFunc_WordReplace${_WORDFUNC_S}_error1
+	StrCmp${_WORDFUNC_S} $6 '' WordFunc_WordReplace${_WORDFUNC_S}_minus
+	StrCmp${_WORDFUNC_S} $6 $0 0 WordFunc_WordReplace${_WORDFUNC_S}_preloop
+	IntOp $8 $8 + 1
+	StrCmp${_WORDFUNC_S} $3$8 +$2 WordFunc_WordReplace${_WORDFUNC_S}_found
+	IntOp $5 $5 + $7
+	goto WordFunc_WordReplace${_WORDFUNC_S}_loop
+
+	WordFunc_WordReplace${_WORDFUNC_S}_minus:
+	StrCmp${_WORDFUNC_S} $3 '-' 0 WordFunc_WordReplace${_WORDFUNC_S}_error2
+	StrCpy $3 +
+	IntOp $2 $8 - $2
+	IntOp $2 $2 + 1
+	IntCmp $2 0 WordFunc_WordReplace${_WORDFUNC_S}_error2 WordFunc_WordReplace${_WORDFUNC_S}_error2 WordFunc_WordReplace${_WORDFUNC_S}_one
+
+	WordFunc_WordReplace${_WORDFUNC_S}_found:
+	StrCpy $3 $R0 $5
+	StrCmp${_WORDFUNC_S} $4 '*' 0 +5
+	StrCpy $6 $3 '' -$7
+	StrCmp${_WORDFUNC_S} $6 $0 0 +3
+	StrCpy $3 $3 -$7
+	goto -3
+	IntOp $5 $5 + $7
+	StrCmp${_WORDFUNC_S} $4 '*' 0 +3
+	StrCpy $6 $R0 $7 $5
+	StrCmp${_WORDFUNC_S} $6 $0 -3
+	StrCpy $R0 $R0 '' $5
+	StrCpy $R0 '$3$1$R0'
+	goto WordFunc_WordReplace${_WORDFUNC_S}_end
+
+	WordFunc_WordReplace${_WORDFUNC_S}_error3:
+	StrCpy $R0 3
+	goto WordFunc_WordReplace${_WORDFUNC_S}_error
+	WordFunc_WordReplace${_WORDFUNC_S}_error2:
+	StrCpy $R0 2
+	goto WordFunc_WordReplace${_WORDFUNC_S}_error
+	WordFunc_WordReplace${_WORDFUNC_S}_error1:
+	StrCpy $R0 1
+	WordFunc_WordReplace${_WORDFUNC_S}_error:
+	StrCmp $9 'E' +3
+	StrCpy $R0 $R1
+	goto +2
+	SetErrors
+
+	WordFunc_WordReplace${_WORDFUNC_S}_end:
+	Pop $R1
+	Pop $9
+	Pop $8
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+	Exch $R0
+!macroend
+
+!define WordReplace `!insertmacro WordReplaceCall`
+!define un.WordReplace `!insertmacro WordReplaceCall`
+
+!macro WordReplace
+!macroend
+
+!macro un.WordReplace
+!macroend
+
+!macro WordReplace_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	!insertmacro WordReplaceBody ''
+
+	!verbose pop
+!macroend
+
+!define WordReplaceS `!insertmacro WordReplaceSCall`
+!define un.WordReplaceS `!insertmacro WordReplaceSCall`
+
+!macro WordReplaceS
+!macroend
+
+!macro un.WordReplaceS
+!macroend
+
+!macro WordReplaceS_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	!insertmacro WordReplaceBody 'S'
+
+	!verbose pop
+!macroend
+
+!macro WordAddBody _WORDFUNC_S
+	Exch $1
+	Exch
+	Exch $0
+	Exch
+	Exch 2
+	Exch $R0
+	Exch 2
+	Push $2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	Push $R1
+	ClearErrors
+
+	StrCpy $7 ''
+	StrCpy $2 $1 1
+	StrCmp $2 'E' 0 +4
+	StrCpy $7 E
+	StrCpy $1 $1 '' 1
+	goto -4
+
+	StrCpy $5 0
+	StrCpy $R1 $R0
+	StrCpy $2 $1 '' 1
+	StrCpy $1 $1 1
+	StrCmp${_WORDFUNC_S} $1 '+' +2
+	StrCmp${_WORDFUNC_S} $1 '-' 0 WordFunc_WordAdd${_WORDFUNC_S}_error3
+
+	StrCmp${_WORDFUNC_S} $0 '' WordFunc_WordAdd${_WORDFUNC_S}_error1
+	StrCmp${_WORDFUNC_S} $2 '' WordFunc_WordAdd${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $R0 '' 0 +5
+	StrCmp${_WORDFUNC_S} $1 '-' WordFunc_WordAdd${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $1 '+' 0 +3
+	StrCpy $R0 $2
+	goto WordFunc_WordAdd${_WORDFUNC_S}_end
+
+	WordFunc_WordAdd${_WORDFUNC_S}_loop:
+	IntOp $5 $5 + 1
+	!insertmacro WordFind${_WORDFUNC_S}Call 2 $2 $0 E+$5 $3
+	IfErrors 0 WordFunc_WordAdd${_WORDFUNC_S}_/word
+	StrCmp${_WORDFUNC_S} $3 2 +4
+	StrCmp${_WORDFUNC_S} $3$5 11 0 +3
+	StrCpy $3 $2
+	goto WordFunc_WordAdd${_WORDFUNC_S}_/word
+	StrCmp${_WORDFUNC_S} $1 '-' WordFunc_WordAdd${_WORDFUNC_S}_end WordFunc_WordAdd${_WORDFUNC_S}_preend
+
+	WordFunc_WordAdd${_WORDFUNC_S}_/word:
+	!insertmacro WordFind${_WORDFUNC_S}Call 2 $R0 $0 E/$3 $4
+	IfErrors +2
+	StrCmp${_WORDFUNC_S} $1 '-' WordFunc_WordAdd${_WORDFUNC_S}_delete WordFunc_WordAdd${_WORDFUNC_S}_loop
+	StrCmp${_WORDFUNC_S} $1$4 '-1' +2
+	StrCmp${_WORDFUNC_S} $1 '-' WordFunc_WordAdd${_WORDFUNC_S}_loop +4
+	StrCmp${_WORDFUNC_S} $R0 $3 0 WordFunc_WordAdd${_WORDFUNC_S}_loop
+	StrCpy $R0 ''
+	goto WordFunc_WordAdd${_WORDFUNC_S}_end
+	StrCmp${_WORDFUNC_S} $1$4 '+1' 0 +2
+	StrCmp${_WORDFUNC_S} $R0 $3 WordFunc_WordAdd${_WORDFUNC_S}_loop
+	StrCmp${_WORDFUNC_S} $R0 $R1 +3
+	StrCpy $R1 '$R1$0$3'
+	goto WordFunc_WordAdd${_WORDFUNC_S}_loop
+	StrLen $6 $0
+	StrCpy $6 $R0 '' -$6
+	StrCmp${_WORDFUNC_S} $6 $0 0 -4
+	StrCpy $R1 '$R1$3'
+	goto WordFunc_WordAdd${_WORDFUNC_S}_loop
+
+	WordFunc_WordAdd${_WORDFUNC_S}_delete:
+	!insertmacro WordFind${_WORDFUNC_S}Call 2 $R0 $0 E+$4{} $R0
+	goto WordFunc_WordAdd${_WORDFUNC_S}_/word
+
+	WordFunc_WordAdd${_WORDFUNC_S}_error3:
+	StrCpy $R1 3
+	goto WordFunc_WordAdd${_WORDFUNC_S}_error
+	WordFunc_WordAdd${_WORDFUNC_S}_error1:
+	StrCpy $R1 1
+	WordFunc_WordAdd${_WORDFUNC_S}_error:
+	StrCmp $7 'E' 0 WordFunc_WordAdd${_WORDFUNC_S}_end
+	SetErrors
+
+	WordFunc_WordAdd${_WORDFUNC_S}_preend:
+	StrCpy $R0 $R1
+
+	WordFunc_WordAdd${_WORDFUNC_S}_end:
+	Pop $R1
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+	Exch $R0
+!macroend
+
+!define WordAdd `!insertmacro WordAddCall`
+!define un.WordAdd `!insertmacro WordAddCall`
+
+!macro WordAdd
+!macroend
+
+!macro un.WordAdd
+!macroend
+
+!macro WordAdd_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	!insertmacro WordAddBody ''
+
+	!verbose pop
+!macroend
+
+!define WordAddS `!insertmacro WordAddSCall`
+!define un.WordAddS `!insertmacro WordAddSCall`
+
+!macro WordAddS
+!macroend
+
+!macro un.WordAddS
+!macroend
+
+!macro WordAddS_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	!insertmacro WordAddBody 'S'
+
+	!verbose pop
+!macroend
+
+!macro WordInsertBody _WORDFUNC_S
+	Exch $2
+	Exch
+	Exch $1
+	Exch
+	Exch 2
+	Exch $0
+	Exch 2
+	Exch 3
+	Exch $R0
+	Exch 3
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	Push $8
+	Push $9
+	Push $R1
+	ClearErrors
+
+	StrCpy $5 ''
+	StrCpy $6 $0
+	StrCpy $7 }
+
+	StrCpy $9 ''
+	StrCpy $R1 $R0
+	StrCpy $3 $2 1
+	StrCpy $2 $2 '' 1
+	StrCmp $3 'E' 0 +3
+	StrCpy $9 'E'
+	goto -4
+
+	StrCmp${_WORDFUNC_S} $3 '+' +2
+	StrCmp${_WORDFUNC_S} $3 '-' 0 WordFunc_WordInsert${_WORDFUNC_S}_error3
+	IntOp $2 $2 + 0
+	StrCmp${_WORDFUNC_S} $2 0 WordFunc_WordInsert${_WORDFUNC_S}_error2
+	StrCmp${_WORDFUNC_S} $0 '' WordFunc_WordInsert${_WORDFUNC_S}_error1
+
+	StrCmp${_WORDFUNC_S} $2 1 0 WordFunc_WordInsert${_WORDFUNC_S}_two
+	GetLabelAddress $8 WordFunc_WordInsert${_WORDFUNC_S}_oneback
+	StrCmp${_WORDFUNC_S} $3 '+' WordFunc_WordInsert${_WORDFUNC_S}_call
+	StrCpy $7 {
+	goto WordFunc_WordInsert${_WORDFUNC_S}_call
+	WordFunc_WordInsert${_WORDFUNC_S}_oneback:
+	IfErrors 0 +2
+	StrCpy $4 $R0
+	StrCmp${_WORDFUNC_S} $3 '+' 0 +3
+	StrCpy $R0 '$1$0$4'
+	goto WordFunc_WordInsert${_WORDFUNC_S}_end
+	StrCpy $R0 '$4$0$1'
+	goto WordFunc_WordInsert${_WORDFUNC_S}_end
+
+	WordFunc_WordInsert${_WORDFUNC_S}_two:
+	IntOp $2 $2 - 1
+	GetLabelAddress $8 WordFunc_WordInsert${_WORDFUNC_S}_twoback
+	StrCmp${_WORDFUNC_S} $3 '+' 0 WordFunc_WordInsert${_WORDFUNC_S}_call
+	StrCpy $7 {
+	goto WordFunc_WordInsert${_WORDFUNC_S}_call
+	WordFunc_WordInsert${_WORDFUNC_S}_twoback:
+	IfErrors 0 WordFunc_WordInsert${_WORDFUNC_S}_tree
+	StrCmp${_WORDFUNC_S} $2$4 11 0 WordFunc_WordInsert${_WORDFUNC_S}_error2
+	StrCmp${_WORDFUNC_S} $3 '+' 0 +3
+	StrCpy $R0 '$R0$0$1'
+	goto WordFunc_WordInsert${_WORDFUNC_S}_end
+	StrCpy $R0 '$1$0$R0'
+	goto WordFunc_WordInsert${_WORDFUNC_S}_end
+
+	WordFunc_WordInsert${_WORDFUNC_S}_tree:
+	StrCpy $7 }
+	StrCpy $5 $4
+	IntOp $2 $2 + 1
+	GetLabelAddress $8 WordFunc_WordInsert${_WORDFUNC_S}_treeback
+	StrCmp${_WORDFUNC_S} $3 '+' WordFunc_WordInsert${_WORDFUNC_S}_call
+	StrCpy $7 {
+	goto WordFunc_WordInsert${_WORDFUNC_S}_call
+	WordFunc_WordInsert${_WORDFUNC_S}_treeback:
+	IfErrors 0 +3
+	StrCpy $4 ''
+	StrCpy $6 ''
+	StrCmp${_WORDFUNC_S} $3 '+' 0 +3
+	StrCpy $R0 '$5$0$1$6$4'
+	goto WordFunc_WordInsert${_WORDFUNC_S}_end
+	StrCpy $R0 '$4$6$1$0$5'
+	goto WordFunc_WordInsert${_WORDFUNC_S}_end
+
+	WordFunc_WordInsert${_WORDFUNC_S}_call:
+	!insertmacro WordFind${_WORDFUNC_S}Call 2 $R0 $0 E$3$2*$7 $4
+	goto $8
+
+	WordFunc_WordInsert${_WORDFUNC_S}_error3:
+	StrCpy $R0 3
+	goto WordFunc_WordInsert${_WORDFUNC_S}_error
+	WordFunc_WordInsert${_WORDFUNC_S}_error2:
+	StrCpy $R0 2
+	goto WordFunc_WordInsert${_WORDFUNC_S}_error
+	WordFunc_WordInsert${_WORDFUNC_S}_error1:
+	StrCpy $R0 1
+	WordFunc_WordInsert${_WORDFUNC_S}_error:
+	StrCmp $9 'E' +3
+	StrCpy $R0 $R1
+	goto +2
+	SetErrors
+
+	WordFunc_WordInsert${_WORDFUNC_S}_end:
+	Pop $R1
+	Pop $9
+	Pop $8
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+	Exch $R0
+!macroend
+
+!define WordInsert `!insertmacro WordInsertCall`
+!define un.WordInsert `!insertmacro WordInsertCall`
+
+!macro WordInsert
+!macroend
+
+!macro un.WordInsert
+!macroend
+
+!macro WordInsert_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	!insertmacro WordInsertBody ''
+
+	!verbose pop
+!macroend
+
+
+!define WordInsertS `!insertmacro WordInsertSCall`
+!define un.WordInsertS `!insertmacro WordInsertSCall`
+
+!macro WordInsertS
+!macroend
+
+!macro un.WordInsertS
+!macroend
+
+!macro WordInsertS_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	!insertmacro WordInsertBody 'S'
+
+	!verbose pop
+!macroend
+
+!macro StrFilterBody _WORDFUNC_S
+	Exch $2
+	Exch
+	Exch $1
+	Exch
+	Exch 2
+	Exch $0
+	Exch 2
+	Exch 3
+	Exch $R0
+	Exch 3
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	Push $R1
+	Push $R2
+	Push $R3
+	Push $R4
+	Push $R5
+	Push $R6
+	Push $R7
+	Push $R8
+	ClearErrors
+
+	StrCpy $R2 $0 '' -3
+	StrCmp $R2 "eng" WordFunc_StrFilter${_WORDFUNC_S}_eng
+	StrCmp $R2 "rus" WordFunc_StrFilter${_WORDFUNC_S}_rus
+	WordFunc_StrFilter${_WORDFUNC_S}_eng:
+	StrCpy $4 65
+	StrCpy $5 90
+	StrCpy $6 97
+	StrCpy $7 122
+	goto WordFunc_StrFilter${_WORDFUNC_S}_langend
+	WordFunc_StrFilter${_WORDFUNC_S}_rus:
+	StrCpy $4 192
+	StrCpy $5 223
+	StrCpy $6 224
+	StrCpy $7 255
+	goto WordFunc_StrFilter${_WORDFUNC_S}_langend
+	;...
+
+	WordFunc_StrFilter${_WORDFUNC_S}_langend:
+	StrCpy $R7 ''
+	StrCpy $R8 ''
+
+	StrCmp${_WORDFUNC_S} $2 '' 0 WordFunc_StrFilter${_WORDFUNC_S}_begin
+
+	WordFunc_StrFilter${_WORDFUNC_S}_restart1:
+	StrCpy $2 ''
+	StrCpy $3 $0 1
+	StrCmp${_WORDFUNC_S} $3 '+' +2
+	StrCmp${_WORDFUNC_S} $3 '-' 0 +3
+	StrCpy $0 $0 '' 1
+	goto +2
+	StrCpy $3 ''
+
+	IntOp $0 $0 + 0
+	StrCmp${_WORDFUNC_S} $0 0 +5
+	StrCpy $R7 $0 1 0
+	StrCpy $R8 $0 1 1
+	StrCpy $R2 $0 1 2
+	StrCmp${_WORDFUNC_S} $R2 '' WordFunc_StrFilter${_WORDFUNC_S}_filter WordFunc_StrFilter${_WORDFUNC_S}_error
+
+	WordFunc_StrFilter${_WORDFUNC_S}_restart2:
+	StrCmp${_WORDFUNC_S} $3 '' WordFunc_StrFilter${_WORDFUNC_S}_end
+	StrCpy $R7 ''
+	StrCpy $R8 '+-'
+	goto WordFunc_StrFilter${_WORDFUNC_S}_begin
+
+	WordFunc_StrFilter${_WORDFUNC_S}_filter:
+	StrCmp${_WORDFUNC_S} $R7 '1' +3
+	StrCmp${_WORDFUNC_S} $R7 '2' +2
+	StrCmp${_WORDFUNC_S} $R7 '3' 0 WordFunc_StrFilter${_WORDFUNC_S}_error
+
+	StrCmp${_WORDFUNC_S} $R8 '' WordFunc_StrFilter${_WORDFUNC_S}_begin
+	StrCmp${_WORDFUNC_S} $R7$R8 '23' +2
+	StrCmp${_WORDFUNC_S} $R7$R8 '32' 0 +3
+	StrCpy $R7 -1
+	goto WordFunc_StrFilter${_WORDFUNC_S}_begin
+	StrCmp${_WORDFUNC_S} $R7$R8 '13' +2
+	StrCmp${_WORDFUNC_S} $R7$R8 '31' 0 +3
+	StrCpy $R7 -2
+	goto WordFunc_StrFilter${_WORDFUNC_S}_begin
+	StrCmp${_WORDFUNC_S} $R7$R8 '12' +2
+	StrCmp${_WORDFUNC_S} $R7$R8 '21' 0 WordFunc_StrFilter${_WORDFUNC_S}_error
+	StrCpy $R7 -3
+
+	WordFunc_StrFilter${_WORDFUNC_S}_begin:
+	StrCpy $R6 0
+	StrCpy $R1 ''
+
+	WordFunc_StrFilter${_WORDFUNC_S}_loop:
+	StrCpy $R2 $R0 1 $R6
+	StrCmp${_WORDFUNC_S} $R2 '' WordFunc_StrFilter${_WORDFUNC_S}_restartchk
+
+	StrCmp${_WORDFUNC_S} $2 '' +7
+	StrCpy $R4 0
+	StrCpy $R5 $2 1 $R4
+	StrCmp${_WORDFUNC_S} $R5 '' WordFunc_StrFilter${_WORDFUNC_S}_addsymbol
+	StrCmp${_WORDFUNC_S} $R5 $R2 WordFunc_StrFilter${_WORDFUNC_S}_skipsymbol
+	IntOp $R4 $R4 + 1
+	goto -4
+
+	StrCmp${_WORDFUNC_S} $1 '' +7
+	StrCpy $R4 0
+	StrCpy $R5 $1 1 $R4
+	StrCmp${_WORDFUNC_S} $R5 '' +4
+	StrCmp${_WORDFUNC_S} $R5 $R2 WordFunc_StrFilter${_WORDFUNC_S}_addsymbol
+	IntOp $R4 $R4 + 1
+	goto -4
+
+	StrCmp${_WORDFUNC_S} $R7 '1' +2
+	StrCmp${_WORDFUNC_S} $R7 '-1' 0 +4
+	StrCpy $R4 48
+	StrCpy $R5 57
+	goto WordFunc_StrFilter${_WORDFUNC_S}_loop2
+	StrCmp${_WORDFUNC_S} $R8 '+-' 0 +2
+	StrCmp${_WORDFUNC_S} $3 '+' 0 +4
+	StrCpy $R4 $4
+	StrCpy $R5 $5
+	goto WordFunc_StrFilter${_WORDFUNC_S}_loop2
+	StrCpy $R4 $6
+	StrCpy $R5 $7
+
+	WordFunc_StrFilter${_WORDFUNC_S}_loop2:
+	IntFmt $R3 '%c' $R4
+	StrCmp $R2 $R3 WordFunc_StrFilter${_WORDFUNC_S}_found
+	StrCmp $R4 $R5 WordFunc_StrFilter${_WORDFUNC_S}_notfound
+	IntOp $R4 $R4 + 1
+	goto WordFunc_StrFilter${_WORDFUNC_S}_loop2
+
+	WordFunc_StrFilter${_WORDFUNC_S}_found:
+	StrCmp${_WORDFUNC_S} $R8 '+-' WordFunc_StrFilter${_WORDFUNC_S}_setcase
+	StrCmp${_WORDFUNC_S} $R7 '3' WordFunc_StrFilter${_WORDFUNC_S}_skipsymbol
+	StrCmp${_WORDFUNC_S} $R7 '-3' WordFunc_StrFilter${_WORDFUNC_S}_addsymbol
+	StrCmp${_WORDFUNC_S} $R8 '' WordFunc_StrFilter${_WORDFUNC_S}_addsymbol WordFunc_StrFilter${_WORDFUNC_S}_skipsymbol
+
+	WordFunc_StrFilter${_WORDFUNC_S}_notfound:
+	StrCmp${_WORDFUNC_S} $R8 '+-' WordFunc_StrFilter${_WORDFUNC_S}_addsymbol
+	StrCmp${_WORDFUNC_S} $R7 '3' 0 +2
+	StrCmp${_WORDFUNC_S} $R5 57 WordFunc_StrFilter${_WORDFUNC_S}_addsymbol +3
+	StrCmp${_WORDFUNC_S} $R7 '-3' 0 +5
+	StrCmp${_WORDFUNC_S} $R5 57 WordFunc_StrFilter${_WORDFUNC_S}_skipsymbol
+	StrCpy $R4 48
+	StrCpy $R5 57
+	goto WordFunc_StrFilter${_WORDFUNC_S}_loop2
+	StrCmp${_WORDFUNC_S} $R8 '' WordFunc_StrFilter${_WORDFUNC_S}_skipsymbol WordFunc_StrFilter${_WORDFUNC_S}_addsymbol
+
+	WordFunc_StrFilter${_WORDFUNC_S}_setcase:
+	StrCpy $R2 $R3
+	WordFunc_StrFilter${_WORDFUNC_S}_addsymbol:
+	StrCpy $R1 $R1$R2
+	WordFunc_StrFilter${_WORDFUNC_S}_skipsymbol:
+	IntOp $R6 $R6 + 1
+	goto WordFunc_StrFilter${_WORDFUNC_S}_loop
+
+	WordFunc_StrFilter${_WORDFUNC_S}_error:
+	SetErrors
+	StrCpy $R0 ''
+	goto WordFunc_StrFilter${_WORDFUNC_S}_end
+
+	WordFunc_StrFilter${_WORDFUNC_S}_restartchk:
+	StrCpy $R0 $R1
+	StrCmp${_WORDFUNC_S} $2 '' 0 WordFunc_StrFilter${_WORDFUNC_S}_restart1
+	StrCmp${_WORDFUNC_S} $R8 '+-' 0 WordFunc_StrFilter${_WORDFUNC_S}_restart2
+
+	WordFunc_StrFilter${_WORDFUNC_S}_end:
+	Pop $R8
+	Pop $R7
+	Pop $R6
+	Pop $R5
+	Pop $R4
+	Pop $R3
+	Pop $R2
+	Pop $R1
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+	Exch $R0
+!macroend
+
+!define StrFilter `!insertmacro StrFilterCall`
+!define un.StrFilter `!insertmacro StrFilterCall`
+
+!macro StrFilter
+!macroend
+
+!macro un.StrFilter
+!macroend
+
+!macro StrFilter_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	!insertmacro StrFilterBody ''
+
+	!verbose pop
+!macroend
+
+
+!define StrFilterS `!insertmacro StrFilterSCall`
+!define un.StrFilterS `!insertmacro StrFilterSCall`
+
+!macro StrFilterS
+!macroend
+
+!macro un.StrFilterS
+!macroend
+
+!macro StrFilterS_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	!insertmacro StrFilterBody 'S'
+
+	!verbose pop
+!macroend
+
+!define VersionCompare `!insertmacro VersionCompareCall`
+!define un.VersionCompare `!insertmacro VersionCompareCall`
+
+!macro VersionCompare
+!macroend
+
+!macro un.VersionCompare
+!macroend
+
+!macro VersionCompare_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	Exch $1
+	Exch
+	Exch $0
+	Exch
+	Push $2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+
+	WordFunc_VersionCompare_begin:
+	StrCpy $2 -1
+	IntOp $2 $2 + 1
+	StrCpy $3 $0 1 $2
+	StrCmp $3 '' +2
+	StrCmp $3 '.' 0 -3
+	StrCpy $4 $0 $2
+	IntOp $2 $2 + 1
+	StrCpy $0 $0 '' $2
+
+	StrCpy $2 -1
+	IntOp $2 $2 + 1
+	StrCpy $3 $1 1 $2
+	StrCmp $3 '' +2
+	StrCmp $3 '.' 0 -3
+	StrCpy $5 $1 $2
+	IntOp $2 $2 + 1
+	StrCpy $1 $1 '' $2
+
+	StrCmp $4$5 '' WordFunc_VersionCompare_equal
+
+	StrCpy $6 -1
+	IntOp $6 $6 + 1
+	StrCpy $3 $4 1 $6
+	StrCmp $3 '0' -2
+	StrCmp $3 '' 0 +2
+	StrCpy $4 0
+
+	StrCpy $7 -1
+	IntOp $7 $7 + 1
+	StrCpy $3 $5 1 $7
+	StrCmp $3 '0' -2
+	StrCmp $3 '' 0 +2
+	StrCpy $5 0
+
+	StrCmp $4 0 0 +2
+	StrCmp $5 0 WordFunc_VersionCompare_begin WordFunc_VersionCompare_newer2
+	StrCmp $5 0 WordFunc_VersionCompare_newer1
+	IntCmp $6 $7 0 WordFunc_VersionCompare_newer1 WordFunc_VersionCompare_newer2
+
+	StrCpy $4 '1$4'
+	StrCpy $5 '1$5'
+	IntCmp $4 $5 WordFunc_VersionCompare_begin WordFunc_VersionCompare_newer2 WordFunc_VersionCompare_newer1
+
+	WordFunc_VersionCompare_equal:
+	StrCpy $0 0
+	goto WordFunc_VersionCompare_end
+	WordFunc_VersionCompare_newer1:
+	StrCpy $0 1
+	goto WordFunc_VersionCompare_end
+	WordFunc_VersionCompare_newer2:
+	StrCpy $0 2
+
+	WordFunc_VersionCompare_end:
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!define VersionConvert `!insertmacro VersionConvertCall`
+!define un.VersionConvert `!insertmacro VersionConvertCall`
+
+!macro VersionConvert
+!macroend
+
+!macro un.VersionConvert
+!macroend
+
+!macro VersionConvert_
+	!verbose push
+	!verbose ${_WORDFUNC_VERBOSE}
+
+	Exch $1
+	Exch
+	Exch $0
+	Exch
+	Push $2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+
+	StrCmp $1 '' 0 +2
+	StrCpy $1 'abcdefghijklmnopqrstuvwxyz'
+	StrCpy $1 $1 99
+
+	StrCpy $2 0
+	StrCpy $7 'dot'
+	goto WordFunc_VersionConvert_loop
+
+	WordFunc_VersionConvert_preloop:
+	IntOp $2 $2 + 1
+
+	WordFunc_VersionConvert_loop:
+	StrCpy $3 $0 1 $2
+	StrCmp $3 '' WordFunc_VersionConvert_endcheck
+	StrCmp $3 '.' WordFunc_VersionConvert_dot
+	StrCmp $3 '0' WordFunc_VersionConvert_digit
+	IntCmp $3 '0' WordFunc_VersionConvert_letter WordFunc_VersionConvert_letter WordFunc_VersionConvert_digit
+
+	WordFunc_VersionConvert_dot:
+	StrCmp $7 'dot' WordFunc_VersionConvert_replacespecial
+	StrCpy $7 'dot'
+	goto WordFunc_VersionConvert_preloop
+
+	WordFunc_VersionConvert_digit:
+	StrCmp $7 'letter' WordFunc_VersionConvert_insertdot
+	StrCpy $7 'digit'
+	goto WordFunc_VersionConvert_preloop
+
+	WordFunc_VersionConvert_letter:
+	StrCpy $5 0
+	StrCpy $4 $1 1 $5
+	IntOp $5 $5 + 1
+	StrCmp $4 '' WordFunc_VersionConvert_replacespecial
+	StrCmp $4 $3 0 -3
+	IntCmp $5 9 0 0 +2
+	StrCpy $5 '0$5'
+
+	StrCmp $7 'letter' +2
+	StrCmp $7 'dot' 0 +3
+	StrCpy $6 ''
+	goto +2
+	StrCpy $6 '.'
+
+	StrCpy $4 $0 $2
+	IntOp $2 $2 + 1
+	StrCpy $0 $0 '' $2
+	StrCpy $0 '$4$6$5$0'
+	StrLen $4 '$6$5'
+	IntOp $2 $2 + $4
+	IntOp $2 $2 - 1
+	StrCpy $7 'letter'
+	goto WordFunc_VersionConvert_loop
+
+	WordFunc_VersionConvert_replacespecial:
+	StrCmp $7 'dot' 0 +3
+	StrCpy $6 ''
+	goto +2
+	StrCpy $6 '.'
+
+	StrCpy $4 $0 $2
+	IntOp $2 $2 + 1
+	StrCpy $0 $0 '' $2
+	StrCpy $0 '$4$6$0'
+	StrLen $4 $6
+	IntOp $2 $2 + $4
+	IntOp $2 $2 - 1
+	StrCpy $7 'dot'
+	goto WordFunc_VersionConvert_loop
+
+	WordFunc_VersionConvert_insertdot:
+	StrCpy $4 $0 $2
+	StrCpy $0 $0 '' $2
+	StrCpy $0 '$4.$0'
+	StrCpy $7 'dot'
+	goto WordFunc_VersionConvert_preloop
+
+	WordFunc_VersionConvert_endcheck:
+	StrCpy $4 $0 1 -1
+	StrCmp $4 '.' 0 WordFunc_VersionConvert_end
+	StrCpy $0 $0 -1
+	goto -3
+
+	WordFunc_VersionConvert_end:
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Include/Sections.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/Sections.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/Sections.nsh	(revision 2961)
@@ -0,0 +1,273 @@
+; Sections.nsh
+;
+; Defines and macros for section control
+;
+; Include in your script using:
+; !include "Sections.nsh"
+
+;--------------------------------
+
+!ifndef SECTIONS_INCLUDED
+
+!define SECTIONS_INCLUDED
+
+;--------------------------------
+
+; Generic section defines
+
+# section or section group is selected
+!define SF_SELECTED   1
+# section group
+!define SF_SECGRP     2
+!define SF_SUBSEC     2  # deprecated
+# section group end marker
+!define SF_SECGRPEND  4
+!define SF_SUBSECEND  4  # deprecated
+# bold text (Section !blah)
+!define SF_BOLD       8
+# read only (SectionIn RO)
+!define SF_RO         16
+# expanded section group (SectionGroup /e blah)
+!define SF_EXPAND     32
+# section group is partially selected
+!define SF_PSELECTED  64  # internal
+# internal
+!define SF_TOGGLED    128 # internal
+!define SF_NAMECHG    256 # internal
+
+# mask to toggle off the selected flag
+!define SECTION_OFF   0xFFFFFFFE
+
+;--------------------------------
+
+; Select / unselect / reserve section
+
+!macro SelectSection SECTION
+
+  Push $0
+  Push $1
+    StrCpy $1 "${SECTION}"
+    SectionGetFlags $1 $0
+    IntOp $0 $0 | ${SF_SELECTED}
+    SectionSetFlags $1 $0
+  Pop $1
+  Pop $0
+
+!macroend
+
+!macro UnselectSection SECTION
+
+  Push $0
+  Push $1
+    StrCpy $1 "${SECTION}"
+    SectionGetFlags $1 $0
+    IntOp $0 $0 & ${SECTION_OFF}
+    SectionSetFlags $1 $0
+  Pop $1
+  Pop $0
+
+!macroend
+
+; If section selected, will unselect, if unselected, will select
+
+!macro ReverseSection SECTION
+
+  Push $0
+  Push $1
+    StrCpy $1 "${SECTION}"
+    SectionGetFlags $1 $0
+    IntOp $0 $0 ^ ${SF_SELECTED}
+    SectionSetFlags $1 $0
+  Pop $1
+  Pop $0
+
+!macroend
+
+;--------------------------------
+
+; Macros for mutually exclusive section selection
+; Written by Tim Gallagher
+;
+; See one-section.nsi for an example of usage
+
+; Starts the Radio Button Block
+; You should pass a variable that keeps the selected section
+; as the first parameter for this macro. This variable should
+; be initialized to the default section's index.
+;
+; As this macro uses $R0 and $R1 you can't use those two as the
+; varible which will keep the selected section.
+
+!macro StartRadioButtons var
+
+  !define StartRadioButtons_Var "${var}"
+
+  Push $R0
+  
+   SectionGetFlags "${StartRadioButtons_Var}" $R0
+   IntOp $R0 $R0 & ${SECTION_OFF}
+   SectionSetFlags "${StartRadioButtons_Var}" $R0
+   
+  Push $R1
+  
+    StrCpy $R1 "${StartRadioButtons_Var}"
+   
+!macroend
+
+; A radio button
+
+!macro RadioButton SECTION_NAME
+
+  SectionGetFlags ${SECTION_NAME} $R0
+  IntOp $R0 $R0 & ${SF_SELECTED}
+  IntCmp $R0 ${SF_SELECTED} 0 +2 +2
+  StrCpy "${StartRadioButtons_Var}" ${SECTION_NAME}
+
+!macroend
+
+; Ends the radio button block
+
+!macro EndRadioButtons
+  
+  StrCmp $R1 "${StartRadioButtons_Var}" 0 +4 ; selection hasn't changed
+    SectionGetFlags "${StartRadioButtons_Var}" $R0
+    IntOp $R0 $R0 | ${SF_SELECTED}
+    SectionSetFlags "${StartRadioButtons_Var}" $R0
+
+  Pop $R1
+  Pop $R0
+  
+  !undef StartRadioButtons_Var
+
+!macroend
+
+;--------------------------------
+
+; These are two macros you can use to set a Section in an InstType
+; or clear it from an InstType.
+;
+; Written by Robert Kehl
+;
+; For details, see http://nsis.sourceforge.net/wiki/SetSectionInInstType%2C_ClearSectionInInstType
+;
+; Use the defines below for the WANTED_INSTTYPE paramter.
+
+!define INSTTYPE_1 1
+!define INSTTYPE_2 2
+!define INSTTYPE_3 4
+!define INSTTYPE_4 8
+!define INSTTYPE_5 16
+!define INSTTYPE_6 32
+!define INSTTYPE_7 64
+!define INSTTYPE_8 128
+!define INSTTYPE_9 256
+!define INSTTYPE_10 512
+!define INSTTYPE_11 1024
+!define INSTTYPE_12 2048
+!define INSTTYPE_13 4096
+!define INSTTYPE_14 8192
+!define INSTTYPE_15 16384
+!define INSTTYPE_16 32768
+!define INSTTYPE_17 65536
+!define INSTTYPE_18 131072
+!define INSTTYPE_19 262144
+!define INSTTYPE_20 524288
+!define INSTTYPE_21 1048576
+!define INSTTYPE_22 2097152
+!define INSTTYPE_23 4194304
+!define INSTTYPE_24 8388608
+!define INSTTYPE_25 16777216
+!define INSTTYPE_26 33554432
+!define INSTTYPE_27 67108864
+!define INSTTYPE_28 134217728
+!define INSTTYPE_29 268435456
+!define INSTTYPE_30 536870912
+!define INSTTYPE_31 1073741824
+!define INSTTYPE_32 2147483648
+
+!macro SetSectionInInstType SECTION_NAME WANTED_INSTTYPE
+
+  Push $0
+  Push $1
+    StrCpy $1 "${SECTION_NAME}"
+    SectionGetInstTypes $1 $0
+    IntOp $0 $0 | ${WANTED_INSTTYPE}
+    SectionSetInstTypes $1 $0
+  Pop $1
+  Pop $0
+
+!macroend
+
+!macro ClearSectionInInstType SECTION_NAME WANTED_INSTTYPE
+
+  Push $0
+  Push $1
+  Push $2
+    StrCpy $2 "${SECTION_NAME}"
+    SectionGetInstTypes $2 $0
+    StrCpy $1 ${WANTED_INSTTYPE}
+    IntOp $1 $1 ~
+    IntOp $0 $0 & $1
+    SectionSetInstTypes $2 $0
+  Pop $2
+  Pop $1
+  Pop $0
+
+!macroend
+
+;--------------------------------
+
+; Set / clear / check bits in a section's flags
+; Written by derekrprice
+
+; Set one or more bits in a sections's flags
+
+!macro SetSectionFlag SECTION BITS
+
+  Push $R0
+  Push $R1
+    StrCpy $R1 "${SECTION}"
+    SectionGetFlags $R1 $R0
+    IntOp $R0 $R0 | "${BITS}"
+    SectionSetFlags $R1 $R0
+  Pop $R1
+  Pop $R0
+ 
+!macroend
+
+; Clear one or more bits in section's flags
+
+!macro ClearSectionFlag SECTION BITS
+
+  Push $R0
+  Push $R1
+  Push $R2
+    StrCpy $R2 "${SECTION}"
+    SectionGetFlags $R2 $R0
+    IntOp $R1 "${BITS}" ~
+    IntOp $R0 $R0 & $R1
+    SectionSetFlags $R2 $R0
+  Pop $R2
+  Pop $R1
+  Pop $R0
+
+!macroend
+
+; Check if one or more bits in section's flags are set
+; If they are, jump to JUMPIFSET
+; If not, jump to JUMPIFNOTSET
+
+!macro SectionFlagIsSet SECTION BITS JUMPIFSET JUMPIFNOTSET
+	Push $R0
+	SectionGetFlags "${SECTION}" $R0
+	IntOp $R0 $R0 & "${BITS}"
+	IntCmp $R0 "${BITS}" +3
+	Pop $R0
+	StrCmp "" "${JUMPIFNOTSET}" +3 "${JUMPIFNOTSET}"
+	Pop $R0
+	Goto "${JUMPIFSET}"
+!macroend
+
+;--------------------------------
+
+!endif
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Include/MultiUser.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/MultiUser.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/MultiUser.nsh	(revision 2961)
@@ -0,0 +1,469 @@
+/*
+
+MultiUser.nsh
+
+Installer configuration for multi-user Windows environments
+
+Copyright 2008-2015 Joost Verburg
+
+*/
+
+!ifndef MULTIUSER_INCLUDED
+!define MULTIUSER_INCLUDED
+!verbose push
+!verbose 3
+
+;Standard NSIS header files
+
+!ifdef MULTIUSER_MUI
+  !include MUI2.nsh
+!endif
+!include nsDialogs.nsh
+!include LogicLib.nsh
+!include WinVer.nsh
+!include FileFunc.nsh
+
+;Variables
+
+Var MultiUser.Privileges
+Var MultiUser.InstallMode
+
+;Command line installation mode setting
+
+!ifdef MULTIUSER_INSTALLMODE_COMMANDLINE
+  !include StrFunc.nsh
+  !ifndef StrStr_INCLUDED
+    ${StrStr}
+  !endif
+  !ifndef MULTIUSER_NOUNINSTALL
+    !ifndef UnStrStr_INCLUDED
+      ${UnStrStr}
+    !endif
+  !endif
+  
+  Var MultiUser.Parameters
+  Var MultiUser.Result
+!endif
+
+;Installation folder stored in registry
+
+!ifdef MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY & MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME
+  Var MultiUser.InstDir
+!endif
+
+!ifdef MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY & MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME
+  Var MultiUser.DefaultKeyValue
+!endif
+
+;Windows Vista UAC setting
+
+!if "${MULTIUSER_EXECUTIONLEVEL}" == Admin
+  RequestExecutionLevel admin
+  !define MULTIUSER_EXECUTIONLEVEL_ALLUSERS
+!else if "${MULTIUSER_EXECUTIONLEVEL}" == Power
+  RequestExecutionLevel admin
+  !define MULTIUSER_EXECUTIONLEVEL_ALLUSERS
+!else if "${MULTIUSER_EXECUTIONLEVEL}" == Highest
+  RequestExecutionLevel highest
+  !define MULTIUSER_EXECUTIONLEVEL_ALLUSERS
+!else
+  RequestExecutionLevel user
+!endif
+
+/*
+
+Install modes
+
+*/
+
+!macro MULTIUSER_INSTALLMODE_ALLUSERS UNINSTALLER_PREFIX UNINSTALLER_FUNCPREFIX
+
+  ;Install mode initialization - per-machine
+
+  ${ifnot} ${IsNT}
+    ${orif} $MultiUser.Privileges == "Admin"
+    ${orif} $MultiUser.Privileges == "Power"
+  
+    StrCpy $MultiUser.InstallMode AllUsers
+  
+    SetShellVarContext all
+  
+    !if "${UNINSTALLER_PREFIX}" != UN
+      ;Set default installation location for installer
+      !ifdef MULTIUSER_INSTALLMODE_INSTDIR
+        StrCpy $INSTDIR "$PROGRAMFILES\${MULTIUSER_INSTALLMODE_INSTDIR}"
+      !endif
+    !endif
+  
+    !ifdef MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY & MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME
+  
+      ReadRegStr $MultiUser.InstDir HKLM "${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY}" "${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME}"
+  
+      ${if} $MultiUser.InstDir != ""
+        StrCpy $INSTDIR $MultiUser.InstDir
+      ${endif}
+  
+    !endif
+  
+    !ifdef MULTIUSER_INSTALLMODE_${UNINSTALLER_PREFIX}FUNCTION
+      Call "${MULTIUSER_INSTALLMODE_${UNINSTALLER_PREFIX}FUNCTION}"
+    !endif
+    
+  ${endif}
+
+!macroend
+
+!macro MULTIUSER_INSTALLMODE_CURRENTUSER UNINSTALLER_PREFIX UNINSTALLER_FUNCPREFIX
+
+  ;Install mode initialization - per-user
+  
+  ${if} ${IsNT}  
+  
+    StrCpy $MultiUser.InstallMode CurrentUser
+    
+    SetShellVarContext current
+  
+    !if "${UNINSTALLER_PREFIX}" != UN
+      ;Set default installation location for installer  
+      !ifdef MULTIUSER_INSTALLMODE_INSTDIR
+        ${if} ${AtLeastWin2000}
+          StrCpy $INSTDIR "$LOCALAPPDATA\${MULTIUSER_INSTALLMODE_INSTDIR}"
+        ${else}
+          StrCpy $INSTDIR "$PROGRAMFILES\${MULTIUSER_INSTALLMODE_INSTDIR}"
+        ${endif}
+      !endif
+    !endif
+  
+    !ifdef MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY & MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME
+  
+      ReadRegStr $MultiUser.InstDir HKCU "${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY}" "${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME}"
+  
+      ${if} $MultiUser.InstDir != ""
+        StrCpy $INSTDIR $MultiUser.InstDir
+      ${endif}
+  
+    !endif
+  
+    !ifdef MULTIUSER_INSTALLMODE_${UNINSTALLER_PREFIX}FUNCTION
+      Call "${MULTIUSER_INSTALLMODE_${UNINSTALLER_PREFIX}FUNCTION}"
+    !endif
+  
+  ${endif}
+
+!macroend
+
+Function MultiUser.InstallMode.AllUsers
+  !insertmacro MULTIUSER_INSTALLMODE_ALLUSERS "" ""
+FunctionEnd
+
+Function MultiUser.InstallMode.CurrentUser
+  !insertmacro MULTIUSER_INSTALLMODE_CURRENTUSER "" ""
+FunctionEnd
+
+!ifndef MULTIUSER_NOUNINSTALL
+
+Function un.MultiUser.InstallMode.AllUsers
+  !insertmacro MULTIUSER_INSTALLMODE_ALLUSERS UN .un
+FunctionEnd
+
+Function un.MultiUser.InstallMode.CurrentUser
+  !insertmacro MULTIUSER_INSTALLMODE_CURRENTUSER UN .un
+FunctionEnd
+
+!endif
+
+/*
+
+Installer/uninstaller initialization
+
+*/
+
+!macro MULTIUSER_INIT_QUIT UNINSTALLER_FUNCPREFIX
+
+  !ifdef MULTIUSER_INIT_${UNINSTALLER_FUNCPREFIX}FUNCTIONQUIT
+    Call "${MULTIUSER_INIT_${UNINSTALLER_FUNCPREFIX}FUCTIONQUIT}
+  !else
+    Quit
+  !endif
+
+!macroend
+
+!macro MULTIUSER_INIT_TEXTS
+
+  !ifndef MULTIUSER_INIT_TEXT_ADMINREQUIRED
+    !define MULTIUSER_INIT_TEXT_ADMINREQUIRED "$(^Caption) requires administrator priviledges."
+  !endif
+
+  !ifndef MULTIUSER_INIT_TEXT_POWERREQUIRED
+    !define MULTIUSER_INIT_TEXT_POWERREQUIRED "$(^Caption) requires at least Power User priviledges."
+  !endif
+
+  !ifndef MULTIUSER_INIT_TEXT_ALLUSERSNOTPOSSIBLE
+    !define MULTIUSER_INIT_TEXT_ALLUSERSNOTPOSSIBLE "Your user account does not have sufficient privileges to install $(^Name) for all users of this compuetr."
+  !endif
+
+!macroend
+
+!macro MULTIUSER_INIT_CHECKS UNINSTALLER_PREFIX UNINSTALLER_FUNCPREFIX
+
+  ;Installer initialization - check privileges and set install mode
+
+  !insertmacro MULTIUSER_INIT_TEXTS
+
+  UserInfo::GetAccountType
+  Pop $MultiUser.Privileges
+  
+  ${if} ${IsNT}
+  
+    ;Check privileges
+  
+    !if "${MULTIUSER_EXECUTIONLEVEL}" == Admin
+  
+      ${if} $MultiUser.Privileges != "Admin"
+        MessageBox MB_OK|MB_ICONSTOP "${MULTIUSER_INIT_TEXT_ADMINREQUIRED}"
+        !insertmacro MULTIUSER_INIT_QUIT "${UNINSTALLER_FUNCPREFIX}"
+      ${endif}
+  
+    !else if "${MULTIUSER_EXECUTIONLEVEL}" == Power
+  
+      ${if} $MultiUser.Privileges != "Power"
+        ${andif} $MultiUser.Privileges != "Admin"
+        ${if} ${AtMostWinXP}
+           MessageBox MB_OK|MB_ICONSTOP "${MULTIUSER_INIT_TEXT_POWERREQUIRED}"
+        ${else}
+           MessageBox MB_OK|MB_ICONSTOP "${MULTIUSER_INIT_TEXT_ADMINREQUIRED}"
+        ${endif}        
+        !insertmacro MULTIUSER_INIT_QUIT "${UNINSTALLER_FUNCPREFIX}"
+      ${endif}
+  
+    !endif
+    
+    !ifdef MULTIUSER_EXECUTIONLEVEL_ALLUSERS
+    
+      ;Default to per-machine installation if possible
+    
+      ${if} $MultiUser.Privileges == "Admin"
+        ${orif} $MultiUser.Privileges == "Power"
+        !ifndef MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER
+          Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers
+        !else
+          Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser
+        !endif
+
+        !ifdef MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY & MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME
+
+          ;Set installation mode to setting from a previous installation
+
+          !ifndef MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER
+            ReadRegStr $MultiUser.DefaultKeyValue HKLM "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY}" "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME}"
+            ${if} $MultiUser.DefaultKeyValue == ""
+              ReadRegStr $MultiUser.DefaultKeyValue HKCU "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY}" "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME}"
+              ${if} $MultiUser.DefaultKeyValue != ""
+                Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser
+              ${endif}
+            ${endif}
+          !else
+            ReadRegStr $MultiUser.DefaultKeyValue HKCU "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY}" "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME}"
+            ${if} $MultiUser.DefaultKeyValue == ""
+              ReadRegStr $MultiUser.DefaultKeyValue HKLM "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY}" "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME}"
+              ${if} $MultiUser.DefaultKeyValue != ""
+                Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers
+              ${endif}
+            ${endif}
+          !endif
+
+        !endif
+
+      ${else}
+        Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser
+      ${endif}
+    
+    !else
+
+      Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser
+
+    !endif  
+  
+    !ifdef MULTIUSER_INSTALLMODE_COMMANDLINE
+    
+      ;Check for install mode setting on command line
+
+      ${${UNINSTALLER_FUNCPREFIX}GetParameters} $MultiUser.Parameters
+  
+      ${${UNINSTALLER_PREFIX}StrStr} $MultiUser.Result $MultiUser.Parameters "/CurrentUser"    
+    
+      ${if} $MultiUser.Result != ""
+        Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser
+      ${endif}    
+  
+      ${${UNINSTALLER_PREFIX}StrStr} $MultiUser.Result $MultiUser.Parameters "/AllUsers"    
+    
+      ${if} $MultiUser.Result != ""
+        ${if} $MultiUser.Privileges == "Admin"
+          ${orif} $MultiUser.Privileges == "Power"
+          Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers
+        ${else}
+          MessageBox MB_OK|MB_ICONSTOP "${MULTIUSER_INIT_TEXT_ALLUSERSNOTPOSSIBLE}"
+        ${endif}
+      ${endif}
+  
+    !endif
+    
+  ${else}
+  
+    ;Not running Windows NT, per-user installation not supported
+    
+    Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers
+  
+  ${endif}
+
+!macroend
+
+!macro MULTIUSER_INIT
+  !verbose push
+  !verbose 3
+  
+  !insertmacro MULTIUSER_INIT_CHECKS "" ""
+  
+  !verbose pop 
+!macroend
+
+!ifndef MULTIUSER_NOUNINSTALL
+
+!macro MULTIUSER_UNINIT
+  !verbose push
+  !verbose 3
+  
+  !insertmacro MULTIUSER_INIT_CHECKS Un un.
+  
+  !verbose pop 
+!macroend
+
+!endif
+
+/*
+
+Modern UI 2 page
+
+*/
+
+!ifdef MULTIUSER_MUI
+
+!macro MULTIUSER_INSTALLMODEPAGE_INTERFACE
+
+  !ifndef MULTIUSER_INSTALLMODEPAGE_INTERFACE
+    !define MULTIUSER_INSTALLMODEPAGE_INTERFACE
+    Var MultiUser.InstallModePage
+    
+    Var MultiUser.InstallModePage.Text
+    
+    Var MultiUser.InstallModePage.AllUsers
+    Var MultiUser.InstallModePage.CurrentUser
+    
+    Var MultiUser.InstallModePage.ReturnValue
+  !endif
+
+!macroend
+
+!macro MULTIUSER_PAGEDECLARATION_INSTALLMODE
+
+  !insertmacro MUI_SET MULTIUSER_${MUI_PAGE_UNINSTALLER_PREFIX}INSTALLMODEPAGE ""
+  !insertmacro MULTIUSER_INSTALLMODEPAGE_INTERFACE
+
+  !insertmacro MUI_DEFAULT MULTIUSER_INSTALLMODEPAGE_TEXT_TOP "$(MULTIUSER_INNERTEXT_INSTALLMODE_TOP)"
+  !insertmacro MUI_DEFAULT MULTIUSER_INSTALLMODEPAGE_TEXT_ALLUSERS "$(MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS)"
+  !insertmacro MUI_DEFAULT MULTIUSER_INSTALLMODEPAGE_TEXT_CURRENTUSER "$(MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER)"  
+
+  PageEx custom
+
+    PageCallbacks MultiUser.InstallModePre_${MUI_UNIQUEID} MultiUser.InstallModeLeave_${MUI_UNIQUEID}
+
+    Caption " "
+
+  PageExEnd
+
+  !insertmacro MULTIUSER_FUNCTION_INSTALLMODEPAGE MultiUser.InstallModePre_${MUI_UNIQUEID} MultiUser.InstallModeLeave_${MUI_UNIQUEID}
+
+  !undef MULTIUSER_INSTALLMODEPAGE_TEXT_TOP
+  !undef MULTIUSER_INSTALLMODEPAGE_TEXT_ALLUSERS
+  !undef MULTIUSER_INSTALLMODEPAGE_TEXT_CURRENTUSER
+
+!macroend
+
+!macro MULTIUSER_PAGE_INSTALLMODE
+
+  ;Modern UI page for install mode
+
+  !verbose push
+  !verbose 3
+  
+  !ifndef MULTIUSER_EXECUTIONLEVEL_ALLUSERS
+    !error "A mixed-mode installation requires MULTIUSER_EXECUTIONLEVEL to be set to Admin, Power or Highest."
+  !endif
+  
+  !insertmacro MUI_PAGE_INIT
+  !insertmacro MULTIUSER_PAGEDECLARATION_INSTALLMODE
+  
+  !verbose pop
+
+!macroend
+
+!macro MULTIUSER_FUNCTION_INSTALLMODEPAGE PRE LEAVE
+
+  ;Page functions of Modern UI page
+
+  Function "${PRE}"
+  
+    ${ifnot} ${IsNT}
+      Abort
+    ${endif}
+  
+    ${if} $MultiUser.Privileges != "Power"
+      ${andif} $MultiUser.Privileges != "Admin"
+      Abort
+    ${endif}
+    
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+    !insertmacro MUI_HEADER_TEXT_PAGE $(MULTIUSER_TEXT_INSTALLMODE_TITLE) $(MULTIUSER_TEXT_INSTALLMODE_SUBTITLE)
+    
+    nsDialogs::Create 1018
+    Pop $MultiUser.InstallModePage
+
+    ${NSD_CreateLabel} 0u 0u 300u 20u "${MULTIUSER_INSTALLMODEPAGE_TEXT_TOP}"
+    Pop $MultiUser.InstallModePage.Text
+
+    ${NSD_CreateRadioButton} 20u 50u 280u 10u "${MULTIUSER_INSTALLMODEPAGE_TEXT_ALLUSERS}"
+    Pop $MultiUser.InstallModePage.AllUsers
+    
+    ${NSD_CreateRadioButton} 20u 70u 280u 10u "${MULTIUSER_INSTALLMODEPAGE_TEXT_CURRENTUSER}"
+    Pop $MultiUser.InstallModePage.CurrentUser
+    
+    ${if} $MultiUser.InstallMode == "AllUsers"
+      SendMessage $MultiUser.InstallModePage.AllUsers ${BM_SETCHECK} ${BST_CHECKED} 0
+    ${else}
+      SendMessage $MultiUser.InstallModePage.CurrentUser ${BM_SETCHECK} ${BST_CHECKED} 0
+    ${endif}
+    
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+    nsDialogs::Show
+    
+  FunctionEnd
+
+  Function "${LEAVE}"
+     SendMessage $MultiUser.InstallModePage.AllUsers ${BM_GETCHECK} 0 0 $MultiUser.InstallModePage.ReturnValue
+     
+     ${if} $MultiUser.InstallModePage.ReturnValue = ${BST_CHECKED}
+        Call MultiUser.InstallMode.AllUsers
+     ${else}
+        Call MultiUser.InstallMode.CurrentUser
+     ${endif}
+  
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+  FunctionEnd
+
+!macroend
+
+!endif
+
+!verbose pop
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Include/MUI.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/MUI.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/MUI.nsh	(revision 2961)
@@ -0,0 +1 @@
+!include "${NSISDIR}\Contrib\Modern UI\System.nsh"
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Include/FileFunc.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/FileFunc.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/FileFunc.nsh	(revision 2961)
@@ -0,0 +1,2017 @@
+/*
+_____________________________________________________________________________
+
+                       File Functions Header v3.4
+_____________________________________________________________________________
+
+ 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
+
+ See documentation for more information about the following functions.
+
+ Usage in script:
+ 1. !include "FileFunc.nsh"
+ 2. [Section|Function]
+      ${FileFunction} "Param1" "Param2" "..." $var
+    [SectionEnd|FunctionEnd]
+
+
+ FileFunction=[Locate|GetSize|DriveSpace|GetDrives|GetTime|GetFileAttributes|
+               GetFileVersion|GetExeName|GetExePath|GetParameters|GetOptions|
+               GetOptionsS|GetRoot|GetParent|GetFileName|GetBaseName|GetFileExt|
+               BannerTrimPath|DirState|RefreshShellIcons]
+
+_____________________________________________________________________________
+
+                       Thanks to:
+_____________________________________________________________________________
+
+GetSize
+	KiCHiK (Function "FindFiles")
+DriveSpace
+	sunjammer (Function "CheckSpaceFree")
+GetDrives
+	deguix (Based on his idea of Function "DetectDrives")
+GetTime
+	Takhir (Script "StatTest") and deguix (Function "FileModifiedDate")
+GetFileVersion
+	KiCHiK (Based on his example for command "GetDLLVersion")
+GetParameters
+	sunjammer (Based on his Function "GetParameters")
+GetRoot
+	KiCHiK (Based on his Function "GetRoot")
+GetParent
+	sunjammer (Based on his Function "GetParent")
+GetFileName
+	KiCHiK (Based on his Function "GetFileName")
+GetBaseName
+	comperio (Based on his idea of Function "GetBaseName")
+GetFileExt
+	opher (author)
+RefreshShellIcons
+	jerome tremblay (author)
+*/
+
+
+;_____________________________________________________________________________
+;
+;                         Macros
+;_____________________________________________________________________________
+;
+; Change log window verbosity (default: 3=no script)
+;
+; Example:
+; !include "FileFunc.nsh"
+; !insertmacro Locate
+; ${FILEFUNC_VERBOSE} 4   # all verbosity
+; !insertmacro VersionCompare
+; ${FILEFUNC_VERBOSE} 3   # no script
+
+!ifndef FILEFUNC_INCLUDED
+!define FILEFUNC_INCLUDED
+
+!include Util.nsh
+
+!verbose push
+!verbose 3
+!ifndef _FILEFUNC_VERBOSE
+	!define _FILEFUNC_VERBOSE 3
+!endif
+!verbose ${_FILEFUNC_VERBOSE}
+!define FILEFUNC_VERBOSE `!insertmacro FILEFUNC_VERBOSE`
+!verbose pop
+
+!macro FILEFUNC_VERBOSE _VERBOSE
+	!verbose push
+	!verbose 3
+	!undef _FILEFUNC_VERBOSE
+	!define _FILEFUNC_VERBOSE ${_VERBOSE}
+	!verbose pop
+!macroend
+
+!macro LocateCall _PATH _OPTIONS _FUNC
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push $0
+	Push `${_PATH}`
+	Push `${_OPTIONS}`
+	GetFunctionAddress $0 `${_FUNC}`
+	Push `$0`
+	${CallArtificialFunction} Locate_
+	Pop $0
+	!verbose pop
+!macroend
+
+!macro GetSizeCall _PATH _OPTIONS _RESULT1 _RESULT2 _RESULT3
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push `${_PATH}`
+	Push `${_OPTIONS}`
+	${CallArtificialFunction} GetSize_
+	Pop ${_RESULT1}
+	Pop ${_RESULT2}
+	Pop ${_RESULT3}
+	!verbose pop
+!macroend
+
+!macro DriveSpaceCall _DRIVE _OPTIONS _RESULT
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push `${_DRIVE}`
+	Push `${_OPTIONS}`
+	${CallArtificialFunction} DriveSpace_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro GetDrivesCall _DRV _FUNC
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push $0
+	Push `${_DRV}`
+	GetFunctionAddress $0 `${_FUNC}`
+	Push `$0`
+	${CallArtificialFunction} GetDrives_
+	Pop $0
+	!verbose pop
+!macroend
+
+!macro GetTimeCall _FILE _OPTION _RESULT1 _RESULT2 _RESULT3 _RESULT4 _RESULT5 _RESULT6 _RESULT7
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push `${_FILE}`
+	Push `${_OPTION}`
+	${CallArtificialFunction} GetTime_
+	Pop ${_RESULT1}
+	Pop ${_RESULT2}
+	Pop ${_RESULT3}
+	Pop ${_RESULT4}
+	Pop ${_RESULT5}
+	Pop ${_RESULT6}
+	Pop ${_RESULT7}
+	!verbose pop
+!macroend
+
+!macro GetFileAttributesCall _PATH _ATTR _RESULT
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push `${_PATH}`
+	Push `${_ATTR}`
+	${CallArtificialFunction} GetFileAttributes_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro GetFileVersionCall _FILE _RESULT
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push `${_FILE}`
+	${CallArtificialFunction} GetFileVersion_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro GetExeNameCall _RESULT
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	${CallArtificialFunction} GetExeName_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro GetExePathCall _RESULT
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	${CallArtificialFunction} GetExePath_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro GetParametersCall _RESULT
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	${CallArtificialFunction} GetParameters_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro GetOptionsCall _PARAMETERS _OPTION _RESULT
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push `${_PARAMETERS}`
+	Push `${_OPTION}`
+	${CallArtificialFunction} GetOptions_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro GetOptionsSCall _PARAMETERS _OPTION _RESULT
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push `${_PARAMETERS}`
+	Push `${_OPTION}`
+	${CallArtificialFunction} GetOptionsS_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro GetRootCall _FULLPATH _RESULT
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push `${_FULLPATH}`
+	${CallArtificialFunction} GetRoot_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro GetParentCall _PATHSTRING _RESULT
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push `${_PATHSTRING}`
+	${CallArtificialFunction} GetParent_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro GetFileNameCall _PATHSTRING _RESULT
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push `${_PATHSTRING}`
+	${CallArtificialFunction} GetFileName_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro GetBaseNameCall _FILESTRING _RESULT
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push `${_FILESTRING}`
+	${CallArtificialFunction} GetBaseName_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro GetFileExtCall _FILESTRING _RESULT
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push `${_FILESTRING}`
+	${CallArtificialFunction} GetFileExt_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro BannerTrimPathCall _PATH _LENGHT _RESULT
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push `${_PATH}`
+	Push `${_LENGHT}`
+	${CallArtificialFunction} BannerTrimPath_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro DirStateCall _PATH _RESULT
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	Push `${_PATH}`
+	${CallArtificialFunction} DirState_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro RefreshShellIconsCall
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	${CallArtificialFunction} RefreshShellIcons_
+	!verbose pop
+!macroend
+
+!define Locate `!insertmacro LocateCall`
+!define un.Locate `!insertmacro LocateCall`
+
+!macro Locate
+!macroend
+
+!macro un.Locate
+!macroend
+
+!macro Locate_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+		
+	Exch $2
+	Exch
+	Exch $1
+	Exch
+	Exch 2
+	Exch $0
+	Exch 2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	Push $8
+	Push $9
+	Push $R6
+	Push $R7
+	Push $R8
+	Push $R9
+	ClearErrors
+
+	StrCpy $3 ''
+	StrCpy $4 ''
+	StrCpy $5 ''
+	StrCpy $6 ''
+	StrCpy $7 ''
+	StrCpy $8 0
+	StrCpy $R7 ''
+
+	StrCpy $R9 $0 1 -1
+	StrCmp $R9 '\' 0 +3
+	StrCpy $0 $0 -1
+	goto -3
+	IfFileExists '$0\*.*' 0 FileFunc_Locate_error
+
+	FileFunc_Locate_option:
+	StrCpy $R9 $1 1
+	StrCpy $1 $1 '' 1
+	StrCmp $R9 ' ' -2
+	StrCmp $R9 '' FileFunc_Locate_sizeset
+	StrCmp $R9 '/' 0 -4
+	StrCpy $9 -1
+	IntOp $9 $9 + 1
+	StrCpy $R9 $1 1 $9
+	StrCmp $R9 '' +2
+	StrCmp $R9 '/' 0 -3
+	StrCpy $R8 $1 $9
+	StrCpy $R8 $R8 '' 2
+	StrCpy $R9 $R8 '' -1
+	StrCmp $R9 ' ' 0 +3
+	StrCpy $R8 $R8 -1
+	goto -3
+	StrCpy $R9 $1 2
+	StrCpy $1 $1 '' $9
+
+	StrCmp $R9 'L=' 0 FileFunc_Locate_mask
+	StrCpy $3 $R8
+	StrCmp $3 '' +6
+	StrCmp $3 'FD' +5
+	StrCmp $3 'F' +4
+	StrCmp $3 'D' +3
+	StrCmp $3 'DE' +2
+	StrCmp $3 'FDE' 0 FileFunc_Locate_error
+	goto FileFunc_Locate_option
+
+	FileFunc_Locate_mask:
+	StrCmp $R9 'M=' 0 FileFunc_Locate_size
+	StrCpy $4 $R8
+	goto FileFunc_Locate_option
+
+	FileFunc_Locate_size:
+	StrCmp $R9 'S=' 0 FileFunc_Locate_gotosubdir
+	StrCpy $6 $R8
+	goto FileFunc_Locate_option
+
+	FileFunc_Locate_gotosubdir:
+	StrCmp $R9 'G=' 0 FileFunc_Locate_banner
+	StrCpy $7 $R8
+	StrCmp $7 '' +3
+	StrCmp $7 '1' +2
+	StrCmp $7 '0' 0 FileFunc_Locate_error
+	goto FileFunc_Locate_option
+
+	FileFunc_Locate_banner:
+	StrCmp $R9 'B=' 0 FileFunc_Locate_error
+	StrCpy $R7 $R8
+	StrCmp $R7 '' +3
+	StrCmp $R7 '1' +2
+	StrCmp $R7 '0' 0 FileFunc_Locate_error
+	goto FileFunc_Locate_option
+
+	FileFunc_Locate_sizeset:
+	StrCmp $6 '' FileFunc_Locate_default
+	StrCpy $9 0
+	StrCpy $R9 $6 1 $9
+	StrCmp $R9 '' +4
+	StrCmp $R9 ':' +3
+	IntOp $9 $9 + 1
+	goto -4
+	StrCpy $5 $6 $9
+	IntOp $9 $9 + 1
+	StrCpy $1 $6 1 -1
+	StrCpy $6 $6 -1 $9
+	StrCmp $5 '' +2
+	IntOp $5 $5 + 0
+	StrCmp $6 '' +2
+	IntOp $6 $6 + 0
+
+	StrCmp $1 'B' 0 +3
+	StrCpy $1 1
+	goto FileFunc_Locate_default
+	StrCmp $1 'K' 0 +3
+	StrCpy $1 1024
+	goto FileFunc_Locate_default
+	StrCmp $1 'M' 0 +3
+	StrCpy $1 1048576
+	goto FileFunc_Locate_default
+	StrCmp $1 'G' 0 FileFunc_Locate_error
+	StrCpy $1 1073741824
+
+	FileFunc_Locate_default:
+	StrCmp $3 '' 0 +2
+	StrCpy $3 'FD'
+	StrCmp $4 '' 0 +2
+	StrCpy $4 '*.*'
+	StrCmp $7 '' 0 +2
+	StrCpy $7 '1'
+	StrCmp $R7 '' 0 +2
+	StrCpy $R7 '0'
+	StrCpy $7 'G$7B$R7'
+
+	StrCpy $8 1
+	Push $0
+	SetDetailsPrint textonly
+
+	FileFunc_Locate_nextdir:
+	IntOp $8 $8 - 1
+	Pop $R8
+
+	StrCpy $9 $7 2 2
+	StrCmp $9 'B0' +3
+	GetLabelAddress $9 FileFunc_Locate_findfirst
+	goto call
+	DetailPrint 'Search in: $R8'
+
+	FileFunc_Locate_findfirst:
+	FindFirst $0 $R7 '$R8\$4'
+	IfErrors FileFunc_Locate_subdir
+	StrCmp $R7 '.' 0 FileFunc_Locate_dir
+	FindNext $0 $R7
+	StrCmp $R7 '..' 0 FileFunc_Locate_dir
+	FindNext $0 $R7
+	IfErrors 0 FileFunc_Locate_dir
+	FindClose $0
+	goto FileFunc_Locate_subdir
+
+	FileFunc_Locate_dir:
+	IfFileExists '$R8\$R7\*.*' 0 FileFunc_Locate_file
+	StrCpy $R6 ''
+	StrCmp $3 'DE' +4
+	StrCmp $3 'FDE' +3
+	StrCmp $3 'FD' FileFunc_Locate_precall
+	StrCmp $3 'F' FileFunc_Locate_findnext FileFunc_Locate_precall
+	FindFirst $9 $R9 '$R8\$R7\*.*'
+	StrCmp $R9 '.' 0 +4
+	FindNext $9 $R9
+	StrCmp $R9 '..' 0 +2
+	FindNext $9 $R9
+	FindClose $9
+	IfErrors FileFunc_Locate_precall FileFunc_Locate_findnext
+
+	FileFunc_Locate_file:
+	StrCmp $3 'FDE' +3
+	StrCmp $3 'FD' +2
+	StrCmp $3 'F' 0 FileFunc_Locate_findnext
+	StrCpy $R6 0
+	StrCmp $5$6 '' FileFunc_Locate_precall
+	FileOpen $9 '$R8\$R7' r
+	IfErrors +3
+	FileSeek $9 0 END $R6
+	FileClose $9
+	System::Int64Op $R6 / $1
+	Pop $R6
+	StrCmp $5 '' +2
+	IntCmp $R6 $5 0 FileFunc_Locate_findnext
+	StrCmp $6 '' +2
+	IntCmp $R6 $6 0 0 FileFunc_Locate_findnext
+
+	FileFunc_Locate_precall:
+	StrCpy $9 0
+	StrCpy $R9 '$R8\$R7'
+
+	call:
+	Push $0
+	Push $1
+	Push $2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	Push $8
+	Push $9
+	Push $R7
+	Push $R8
+	StrCmp $9 0 +4
+	StrCpy $R6 ''
+	StrCpy $R7 ''
+	StrCpy $R9 ''
+	Call $2
+	Pop $R9
+	Pop $R8
+	Pop $R7
+	Pop $9
+	Pop $8
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+
+	IfErrors 0 +3
+	FindClose $0
+	goto FileFunc_Locate_error
+	StrCmp $R9 'StopLocate' 0 +3
+	FindClose $0
+	goto FileFunc_Locate_clearstack
+	goto $9
+
+	FileFunc_Locate_findnext:
+	FindNext $0 $R7
+	IfErrors 0 FileFunc_Locate_dir
+	FindClose $0
+
+	FileFunc_Locate_subdir:
+	StrCpy $9 $7 2
+	StrCmp $9 'G0' FileFunc_Locate_end
+	FindFirst $0 $R7 '$R8\*.*'
+	StrCmp $R7 '.' 0 FileFunc_Locate_pushdir
+	FindNext $0 $R7
+	StrCmp $R7 '..' 0 FileFunc_Locate_pushdir
+	FindNext $0 $R7
+	IfErrors 0 FileFunc_Locate_pushdir
+	FindClose $0
+	StrCmp $8 0 FileFunc_Locate_end FileFunc_Locate_nextdir
+
+	FileFunc_Locate_pushdir:
+	IfFileExists '$R8\$R7\*.*' 0 +3
+	Push '$R8\$R7'
+	IntOp $8 $8 + 1
+	FindNext $0 $R7
+	IfErrors 0 FileFunc_Locate_pushdir
+	FindClose $0
+	StrCmp $8 0 FileFunc_Locate_end FileFunc_Locate_nextdir
+
+	FileFunc_Locate_error:
+	SetErrors
+
+	FileFunc_Locate_clearstack:
+	StrCmp $8 0 FileFunc_Locate_end
+	IntOp $8 $8 - 1
+	Pop $R8
+	goto FileFunc_Locate_clearstack
+
+	FileFunc_Locate_end:
+	SetDetailsPrint both
+	Pop $R9
+	Pop $R8
+	Pop $R7
+	Pop $R6
+	Pop $9
+	Pop $8
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+
+	!verbose pop
+!macroend
+
+!define GetSize `!insertmacro GetSizeCall`
+!define un.GetSize `!insertmacro GetSizeCall`
+
+!macro GetSize
+!macroend
+
+!macro un.GetSize
+!macroend
+
+!macro GetSize_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	Exch $1
+	Exch
+	Exch $0
+	Exch
+	Push $2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	Push $8
+	Push $9
+	Push $R3
+	Push $R4
+	Push $R5
+	Push $R6
+	Push $R7
+	Push $R8
+	Push $R9
+	ClearErrors
+
+	StrCpy $R9 $0 1 -1
+	StrCmp $R9 '\' 0 +3
+	StrCpy $0 $0 -1
+	goto -3
+	IfFileExists '$0\*.*' 0 FileFunc_GetSize_error
+
+	StrCpy $3 ''
+	StrCpy $4 ''
+	StrCpy $5 ''
+	StrCpy $6 ''
+	StrCpy $8 0
+	StrCpy $R3 ''
+	StrCpy $R4 ''
+	StrCpy $R5 ''
+
+	FileFunc_GetSize_option:
+	StrCpy $R9 $1 1
+	StrCpy $1 $1 '' 1
+	StrCmp $R9 ' ' -2
+	StrCmp $R9 '' FileFunc_GetSize_sizeset
+	StrCmp $R9 '/' 0 -4
+
+	StrCpy $9 -1
+	IntOp $9 $9 + 1
+	StrCpy $R9 $1 1 $9
+	StrCmp $R9 '' +2
+	StrCmp $R9 '/' 0 -3
+	StrCpy $8 $1 $9
+	StrCpy $8 $8 '' 2
+	StrCpy $R9 $8 '' -1
+	StrCmp $R9 ' ' 0 +3
+	StrCpy $8 $8 -1
+	goto -3
+	StrCpy $R9 $1 2
+	StrCpy $1 $1 '' $9
+
+	StrCmp $R9 'M=' 0 FileFunc_GetSize_size
+	StrCpy $4 $8
+	goto FileFunc_GetSize_option
+
+	FileFunc_GetSize_size:
+	StrCmp $R9 'S=' 0 FileFunc_GetSize_gotosubdir
+	StrCpy $6 $8
+	goto FileFunc_GetSize_option
+
+	FileFunc_GetSize_gotosubdir:
+	StrCmp $R9 'G=' 0 FileFunc_GetSize_error
+	StrCpy $7 $8
+	StrCmp $7 '' +3
+	StrCmp $7 '1' +2
+	StrCmp $7 '0' 0 FileFunc_GetSize_error
+	goto FileFunc_GetSize_option
+
+	FileFunc_GetSize_sizeset:
+	StrCmp $6 '' FileFunc_GetSize_default
+	StrCpy $9 0
+	StrCpy $R9 $6 1 $9
+	StrCmp $R9 '' +4
+	StrCmp $R9 ':' +3
+	IntOp $9 $9 + 1
+	goto -4
+	StrCpy $5 $6 $9
+	IntOp $9 $9 + 1
+	StrCpy $1 $6 1 -1
+	StrCpy $6 $6 -1 $9
+	StrCmp $5 '' +2
+	IntOp $5 $5 + 0
+	StrCmp $6 '' +2
+	IntOp $6 $6 + 0
+
+	StrCmp $1 'B' 0 +4
+	StrCpy $1 1
+	StrCpy $2 bytes
+	goto FileFunc_GetSize_default
+	StrCmp $1 'K' 0 +4
+	StrCpy $1 1024
+	StrCpy $2 Kb
+	goto FileFunc_GetSize_default
+	StrCmp $1 'M' 0 +4
+	StrCpy $1 1048576
+	StrCpy $2 Mb
+	goto FileFunc_GetSize_default
+	StrCmp $1 'G' 0 FileFunc_GetSize_error
+	StrCpy $1 1073741824
+	StrCpy $2 Gb
+
+	FileFunc_GetSize_default:
+	StrCmp $4 '' 0 +2
+	StrCpy $4 '*.*'
+	StrCmp $7 '' 0 +2
+	StrCpy $7 '1'
+
+	StrCpy $8 1
+	Push $0
+	SetDetailsPrint textonly
+
+	FileFunc_GetSize_nextdir:
+	IntOp $8 $8 - 1
+	Pop $R8
+	FindFirst $0 $R7 '$R8\$4'
+	IfErrors FileFunc_GetSize_show
+	StrCmp $R7 '.' 0 FileFunc_GetSize_dir
+	FindNext $0 $R7
+	StrCmp $R7 '..' 0 FileFunc_GetSize_dir
+	FindNext $0 $R7
+	IfErrors 0 FileFunc_GetSize_dir
+	FindClose $0
+	goto FileFunc_GetSize_show
+
+	FileFunc_GetSize_dir:
+	IfFileExists '$R8\$R7\*.*' 0 FileFunc_GetSize_file
+	IntOp $R5 $R5 + 1
+	goto FileFunc_GetSize_findnext
+
+	FileFunc_GetSize_file:
+	StrCpy $R6 0
+	StrCmp $5$6 '' 0 +3
+	IntOp $R4 $R4 + 1
+	goto FileFunc_GetSize_findnext
+	FileOpen $9 '$R8\$R7' r
+	IfErrors +3
+	FileSeek $9 0 END $R6
+	FileClose $9
+	StrCmp $5 '' +2
+	IntCmp $R6 $5 0 FileFunc_GetSize_findnext
+	StrCmp $6 '' +2
+	IntCmp $R6 $6 0 0 FileFunc_GetSize_findnext
+	IntOp $R4 $R4 + 1
+	System::Int64Op $R3 + $R6
+	Pop $R3
+
+	FileFunc_GetSize_findnext:
+	FindNext $0 $R7
+	IfErrors 0 FileFunc_GetSize_dir
+	FindClose $0
+
+	FileFunc_GetSize_show:
+	StrCmp $5$6 '' FileFunc_GetSize_nosize
+	System::Int64Op $R3 / $1
+	Pop $9
+	DetailPrint 'Size:$9 $2  Files:$R4  Folders:$R5'
+	goto FileFunc_GetSize_subdir
+	FileFunc_GetSize_nosize:
+	DetailPrint 'Files:$R4  Folders:$R5'
+
+	FileFunc_GetSize_subdir:
+	StrCmp $7 0 FileFunc_GetSize_preend
+	FindFirst $0 $R7 '$R8\*.*'
+	StrCmp $R7 '.' 0 FileFunc_GetSize_pushdir
+	FindNext $0 $R7
+	StrCmp $R7 '..' 0 FileFunc_GetSize_pushdir
+	FindNext $0 $R7
+	IfErrors 0 FileFunc_GetSize_pushdir
+	FindClose $0
+	StrCmp $8 0 FileFunc_GetSize_preend FileFunc_GetSize_nextdir
+
+	FileFunc_GetSize_pushdir:
+	IfFileExists '$R8\$R7\*.*' 0 +3
+	Push '$R8\$R7'
+	IntOp $8 $8 + 1
+	FindNext $0 $R7
+	IfErrors 0 FileFunc_GetSize_pushdir
+	FindClose $0
+	StrCmp $8 0 FileFunc_GetSize_preend FileFunc_GetSize_nextdir
+
+	FileFunc_GetSize_preend:
+	StrCmp $R3 '' FileFunc_GetSize_nosizeend
+	System::Int64Op $R3 / $1
+	Pop $R3
+	FileFunc_GetSize_nosizeend:
+	StrCpy $2 $R4
+	StrCpy $1 $R5
+	StrCpy $0 $R3
+	goto FileFunc_GetSize_end
+
+	FileFunc_GetSize_error:
+	SetErrors
+	StrCpy $0 ''
+	StrCpy $1 ''
+	StrCpy $2 ''
+
+	FileFunc_GetSize_end:
+	SetDetailsPrint both
+	Pop $R9
+	Pop $R8
+	Pop $R7
+	Pop $R6
+	Pop $R5
+	Pop $R4
+	Pop $R3
+	Pop $9
+	Pop $8
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Exch $2
+	Exch
+	Exch $1
+	Exch 2
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!define DriveSpace `!insertmacro DriveSpaceCall`
+!define un.DriveSpace `!insertmacro DriveSpaceCall`
+
+!macro DriveSpace
+!macroend
+
+!macro un.DriveSpace
+!macroend
+
+!macro DriveSpace_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	Exch $1
+	Exch
+	Exch $0
+	Exch
+	Push $2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	ClearErrors
+
+	StrCpy $2 $0 1 -1
+	StrCmp $2 '\' 0 +3
+	StrCpy $0 $0 -1
+	goto -3
+	IfFileExists '$0\NUL' 0 FileFunc_DriveSpace_error
+
+	StrCpy $5 ''
+	StrCpy $6 ''
+
+	FileFunc_DriveSpace_option:
+	StrCpy $2 $1 1
+	StrCpy $1 $1 '' 1
+	StrCmp $2 ' ' -2
+	StrCmp $2 '' FileFunc_DriveSpace_default
+	StrCmp $2 '/' 0 -4
+	StrCpy $3 -1
+	IntOp $3 $3 + 1
+	StrCpy $2 $1 1 $3
+	StrCmp $2 '' +2
+	StrCmp $2 '/' 0 -3
+	StrCpy $4 $1 $3
+	StrCpy $4 $4 '' 2
+	StrCpy $2 $4 1 -1
+	StrCmp $2 ' ' 0 +3
+	StrCpy $4 $4 -1
+	goto -3
+	StrCpy $2 $1 2
+	StrCpy $1 $1 '' $3
+
+	StrCmp $2 'D=' 0 FileFunc_DriveSpace_unit
+	StrCpy $5 $4
+	StrCmp $5 '' +4
+	StrCmp $5 'T' +3
+	StrCmp $5 'O' +2
+	StrCmp $5 'F' 0 FileFunc_DriveSpace_error
+	goto FileFunc_DriveSpace_option
+
+	FileFunc_DriveSpace_unit:
+	StrCmp $2 'S=' 0 FileFunc_DriveSpace_error
+	StrCpy $6 $4
+	goto FileFunc_DriveSpace_option
+
+	FileFunc_DriveSpace_default:
+	StrCmp $5 '' 0 +2
+	StrCpy $5 'T'
+	StrCmp $6 '' 0 +3
+	StrCpy $6 '1'
+	goto FileFunc_DriveSpace_getspace
+
+	StrCmp $6 'B' 0 +3
+	StrCpy $6 1
+	goto FileFunc_DriveSpace_getspace
+	StrCmp $6 'K' 0 +3
+	StrCpy $6 1024
+	goto FileFunc_DriveSpace_getspace
+	StrCmp $6 'M' 0 +3
+	StrCpy $6 1048576
+	goto FileFunc_DriveSpace_getspace
+	StrCmp $6 'G' 0 FileFunc_DriveSpace_error
+	StrCpy $6 1073741824
+
+	FileFunc_DriveSpace_getspace:
+	System::Call 'kernel32::GetDiskFreeSpaceExA(t, *l, *l, *l)i(r0,.r2,.r3,.)'
+
+	StrCmp $5 T 0 +3
+	StrCpy $0 $3
+	goto FileFunc_DriveSpace_getsize
+	StrCmp $5 O 0 +4
+	System::Int64Op $3 - $2
+	Pop $0
+	goto FileFunc_DriveSpace_getsize
+	StrCmp $5 F 0 +2
+	StrCpy $0 $2
+
+	FileFunc_DriveSpace_getsize:
+	System::Int64Op $0 / $6
+	Pop $0
+	goto FileFunc_DriveSpace_end
+
+	FileFunc_DriveSpace_error:
+	SetErrors
+	StrCpy $0 ''
+
+	FileFunc_DriveSpace_end:
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!define GetDrives `!insertmacro GetDrivesCall`
+!define un.GetDrives `!insertmacro GetDrivesCall`
+
+!macro GetDrives
+!macroend
+
+!macro un.GetDrives
+!macroend
+
+!macro GetDrives_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	Exch $1
+	Exch
+	Exch $0
+	Exch
+	Push $2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $8
+	Push $9
+
+	System::Alloc 1024
+	Pop $2
+	System::Call 'kernel32::GetLogicalDriveStringsA(i,i) i(1024, r2)'
+
+	StrCmp $0 ALL FileFunc_GetDrives_drivestring
+	StrCmp $0 '' 0 FileFunc_GetDrives_typeset
+	StrCpy $0 ALL
+	goto FileFunc_GetDrives_drivestring
+
+	FileFunc_GetDrives_typeset:
+	StrCpy $6 -1
+	IntOp $6 $6 + 1
+	StrCpy $8 $0 1 $6
+	StrCmp $8$0 '' FileFunc_GetDrives_enumex
+	StrCmp $8 '' +2
+	StrCmp $8 '+' 0 -4
+	StrCpy $8 $0 $6
+	IntOp $6 $6 + 1
+	StrCpy $0 $0 '' $6
+
+	StrCmp $8 'FDD' 0 +3
+	StrCpy $6 2
+	goto FileFunc_GetDrives_drivestring
+	StrCmp $8 'HDD' 0 +3
+	StrCpy $6 3
+	goto FileFunc_GetDrives_drivestring
+	StrCmp $8 'NET' 0 +3
+	StrCpy $6 4
+	goto FileFunc_GetDrives_drivestring
+	StrCmp $8 'CDROM' 0 +3
+	StrCpy $6 5
+	goto FileFunc_GetDrives_drivestring
+	StrCmp $8 'RAM' 0 FileFunc_GetDrives_typeset
+	StrCpy $6 6
+
+	FileFunc_GetDrives_drivestring:
+	StrCpy $3 $2
+
+	FileFunc_GetDrives_enumok:
+	System::Call 'kernel32::lstrlenA(t) i(i r3) .r4'
+	StrCmp $4$0 '0ALL' FileFunc_GetDrives_enumex
+	StrCmp $4 0 FileFunc_GetDrives_typeset
+	System::Call 'kernel32::GetDriveTypeA(t) i(i r3) .r5'
+
+	StrCmp $0 ALL +2
+	StrCmp $5 $6 FileFunc_GetDrives_letter FileFunc_GetDrives_enumnext
+	StrCmp $5 2 0 +3
+	StrCpy $8 FDD
+	goto FileFunc_GetDrives_letter
+	StrCmp $5 3 0 +3
+	StrCpy $8 HDD
+	goto FileFunc_GetDrives_letter
+	StrCmp $5 4 0 +3
+	StrCpy $8 NET
+	goto FileFunc_GetDrives_letter
+	StrCmp $5 5 0 +3
+	StrCpy $8 CDROM
+	goto FileFunc_GetDrives_letter
+	StrCmp $5 6 0 FileFunc_GetDrives_enumex
+	StrCpy $8 RAM
+
+	FileFunc_GetDrives_letter:
+	System::Call '*$3(&t1024 .r9)'
+
+	Push $0
+	Push $1
+	Push $2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $8
+	Call $1
+	Pop $9
+	Pop $8
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+	StrCmp $9 'StopGetDrives' FileFunc_GetDrives_enumex
+
+	FileFunc_GetDrives_enumnext:
+	IntOp $3 $3 + $4
+	IntOp $3 $3 + 1
+	goto FileFunc_GetDrives_enumok
+
+	FileFunc_GetDrives_enumex:
+	System::Free $2
+
+	Pop $9
+	Pop $8
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+	
+	!verbose pop
+!macroend
+
+!define GetTime `!insertmacro GetTimeCall`
+!define un.GetTime `!insertmacro GetTimeCall`
+
+!macro GetTime
+!macroend
+
+!macro un.GetTime
+!macroend
+
+!macro GetTime_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	Exch $1
+	Exch
+	Exch $0
+	Exch
+	Push $2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	ClearErrors
+
+	StrCmp $1 'L' FileFunc_GetTime_gettime
+	StrCmp $1 'A' FileFunc_GetTime_getfile
+	StrCmp $1 'C' FileFunc_GetTime_getfile
+	StrCmp $1 'M' FileFunc_GetTime_getfile
+	StrCmp $1 'LS' FileFunc_GetTime_gettime
+	StrCmp $1 'AS' FileFunc_GetTime_getfile
+	StrCmp $1 'CS' FileFunc_GetTime_getfile
+	StrCmp $1 'MS' FileFunc_GetTime_getfile
+	goto FileFunc_GetTime_error
+
+	FileFunc_GetTime_getfile:
+	IfFileExists $0 0 FileFunc_GetTime_error
+	System::Call '*(i,l,l,l,i,i,i,i,&t260,&t14) i .r6'
+	System::Call 'kernel32::FindFirstFileA(t,i)i(r0,r6) .r2'
+	System::Call 'kernel32::FindClose(i)i(r2)'
+
+	FileFunc_GetTime_gettime:
+	System::Call '*(&i2,&i2,&i2,&i2,&i2,&i2,&i2,&i2) i .r7'
+	StrCmp $1 'L' 0 FileFunc_GetTime_systemtime
+	System::Call 'kernel32::GetLocalTime(i)i(r7)'
+	goto FileFunc_GetTime_convert
+	FileFunc_GetTime_systemtime:
+	StrCmp $1 'LS' 0 FileFunc_GetTime_filetime
+	System::Call 'kernel32::GetSystemTime(i)i(r7)'
+	goto FileFunc_GetTime_convert
+
+	FileFunc_GetTime_filetime:
+	System::Call '*$6(i,l,l,l,i,i,i,i,&t260,&t14)i(,.r4,.r3,.r2)'
+	System::Free $6
+	StrCmp $1 'A' 0 +3
+	StrCpy $2 $3
+	goto FileFunc_GetTime_tolocal
+	StrCmp $1 'C' 0 +3
+	StrCpy $2 $4
+	goto FileFunc_GetTime_tolocal
+	StrCmp $1 'M' FileFunc_GetTime_tolocal
+
+	StrCmp $1 'AS' FileFunc_GetTime_tosystem
+	StrCmp $1 'CS' 0 +3
+	StrCpy $3 $4
+	goto FileFunc_GetTime_tosystem
+	StrCmp $1 'MS' 0 +3
+	StrCpy $3 $2
+	goto FileFunc_GetTime_tosystem
+
+	FileFunc_GetTime_tolocal:
+	System::Call 'kernel32::FileTimeToLocalFileTime(*l,*l)i(r2,.r3)'
+	FileFunc_GetTime_tosystem:
+	System::Call 'kernel32::FileTimeToSystemTime(*l,i)i(r3,r7)'
+
+	FileFunc_GetTime_convert:
+	System::Call '*$7(&i2,&i2,&i2,&i2,&i2,&i2,&i2,&i2)i(.r5,.r6,.r4,.r0,.r3,.r2,.r1,)'
+	System::Free $7
+
+	IntCmp $0 9 0 0 +2
+	StrCpy $0 '0$0'
+	IntCmp $1 9 0 0 +2
+	StrCpy $1 '0$1'
+	IntCmp $2 9 0 0 +2
+	StrCpy $2 '0$2'
+	IntCmp $6 9 0 0 +2
+	StrCpy $6 '0$6'
+
+	StrCmp $4 0 0 +3
+	StrCpy $4 Sunday
+	goto FileFunc_GetTime_end
+	StrCmp $4 1 0 +3
+	StrCpy $4 Monday
+	goto FileFunc_GetTime_end
+	StrCmp $4 2 0 +3
+	StrCpy $4 Tuesday
+	goto FileFunc_GetTime_end
+	StrCmp $4 3 0 +3
+	StrCpy $4 Wednesday
+	goto FileFunc_GetTime_end
+	StrCmp $4 4 0 +3
+	StrCpy $4 Thursday
+	goto FileFunc_GetTime_end
+	StrCmp $4 5 0 +3
+	StrCpy $4 Friday
+	goto FileFunc_GetTime_end
+	StrCmp $4 6 0 FileFunc_GetTime_error
+	StrCpy $4 Saturday
+	goto FileFunc_GetTime_end
+
+	FileFunc_GetTime_error:
+	SetErrors
+	StrCpy $0 ''
+	StrCpy $1 ''
+	StrCpy $2 ''
+	StrCpy $3 ''
+	StrCpy $4 ''
+	StrCpy $5 ''
+	StrCpy $6 ''
+
+	FileFunc_GetTime_end:
+	Pop $7
+	Exch $6
+	Exch
+	Exch $5
+	Exch 2
+	Exch $4
+	Exch 3
+	Exch $3
+	Exch 4
+	Exch $2
+	Exch 5
+	Exch $1
+	Exch 6
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!define GetFileAttributes `!insertmacro GetFileAttributesCall`
+!define un.GetFileAttributes `!insertmacro GetFileAttributesCall`
+
+!macro GetFileAttributes
+!macroend
+
+!macro un.GetFileAttributes
+!macroend
+
+!macro GetFileAttributes_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	Exch $1
+	Exch
+	Exch $0
+	Exch
+	Push $2
+	Push $3
+	Push $4
+	Push $5
+
+	System::Call 'kernel32::GetFileAttributes(t r0)i .r2'
+	StrCmp $2 -1 FileFunc_GetFileAttributes_error
+	StrCpy $3 ''
+
+	IntOp $0 $2 & 0x4000
+	IntCmp $0 0 +2
+	StrCpy $3 'ENCRYPTED|'
+
+	IntOp $0 $2 & 0x2000
+	IntCmp $0 0 +2
+	StrCpy $3 'NOT_CONTENT_INDEXED|$3'
+
+	IntOp $0 $2 & 0x1000
+	IntCmp $0 0 +2
+	StrCpy $3 'OFFLINE|$3'
+
+	IntOp $0 $2 & 0x0800
+	IntCmp $0 0 +2
+	StrCpy $3 'COMPRESSED|$3'
+
+	IntOp $0 $2 & 0x0400
+	IntCmp $0 0 +2
+	StrCpy $3 'REPARSE_POINT|$3'
+
+	IntOp $0 $2 & 0x0200
+	IntCmp $0 0 +2
+	StrCpy $3 'SPARSE_FILE|$3'
+
+	IntOp $0 $2 & 0x0100
+	IntCmp $0 0 +2
+	StrCpy $3 'TEMPORARY|$3'
+
+	IntOp $0 $2 & 0x0080
+	IntCmp $0 0 +2
+	StrCpy $3 'NORMAL|$3'
+
+	IntOp $0 $2 & 0x0040
+	IntCmp $0 0 +2
+	StrCpy $3 'DEVICE|$3'
+
+	IntOp $0 $2 & 0x0020
+	IntCmp $0 0 +2
+	StrCpy $3 'ARCHIVE|$3'
+
+	IntOp $0 $2 & 0x0010
+	IntCmp $0 0 +2
+	StrCpy $3 'DIRECTORY|$3'
+
+	IntOp $0 $2 & 0x0004
+	IntCmp $0 0 +2
+	StrCpy $3 'SYSTEM|$3'
+
+	IntOp $0 $2 & 0x0002
+	IntCmp $0 0 +2
+	StrCpy $3 'HIDDEN|$3'
+
+	IntOp $0 $2 & 0x0001
+	IntCmp $0 0 +2
+	StrCpy $3 'READONLY|$3'
+
+	StrCpy $0 $3 -1
+	StrCmp $1 '' FileFunc_GetFileAttributes_end
+	StrCmp $1 'ALL' FileFunc_GetFileAttributes_end
+
+	FileFunc_GetFileAttributes_attrcmp:
+	StrCpy $5 0
+	IntOp $5 $5 + 1
+	StrCpy $4 $1 1 $5
+	StrCmp $4 '' +2
+	StrCmp $4 '|'  0 -3
+	StrCpy $2 $1 $5
+	IntOp $5 $5 + 1
+	StrCpy $1 $1 '' $5
+	StrLen $3 $2
+	StrCpy $5 -1
+	IntOp $5 $5 + 1
+	StrCpy $4 $0 $3 $5
+	StrCmp $4 '' FileFunc_GetFileAttributes_notfound
+	StrCmp $4 $2 0 -3
+	StrCmp $1 '' 0 FileFunc_GetFileAttributes_attrcmp
+	StrCpy $0 1
+	goto FileFunc_GetFileAttributes_end
+
+	FileFunc_GetFileAttributes_notfound:
+	StrCpy $0 0
+	goto FileFunc_GetFileAttributes_end
+
+	FileFunc_GetFileAttributes_error:
+	SetErrors
+	StrCpy $0 ''
+
+	FileFunc_GetFileAttributes_end:
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Exch $0
+		
+	!verbose pop
+!macroend
+
+!define GetFileVersion `!insertmacro GetFileVersionCall`
+!define un.GetFileVersion `!insertmacro GetFileVersionCall`
+
+!macro GetFileVersion
+!macroend
+
+!macro un.GetFileVersion
+!macroend
+
+!macro GetFileVersion_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	Exch $0
+	Push $1
+	Push $2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	ClearErrors
+
+	GetDllVersion '$0' $1 $2
+	IfErrors FileFunc_GetFileVersion_error
+	IntOp $3 $1 >> 16
+	IntOp $3 $3 & 0x0000FFFF
+	IntOp $4 $1 & 0x0000FFFF
+	IntOp $5 $2 >> 16
+	IntOp $5 $5 & 0x0000FFFF
+	IntOp $6 $2 & 0x0000FFFF
+	StrCpy $0 '$3.$4.$5.$6'
+	goto FileFunc_GetFileVersion_end
+
+	FileFunc_GetFileVersion_error:
+	SetErrors
+	StrCpy $0 ''
+
+	FileFunc_GetFileVersion_end:
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!define GetExeName `!insertmacro GetExeNameCall`
+!define un.GetExeName `!insertmacro GetExeNameCall`
+
+!macro GetExeName
+!macroend
+
+!macro un.GetExeName
+!macroend
+
+!macro GetExeName_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	Push $0
+	Push $1
+	Push $2
+	System::Call 'kernel32::GetModuleFileNameA(i 0, t .r0, i 1024)'
+	System::Call 'kernel32::GetLongPathNameA(t r0, t .r1, i 1024)i .r2'
+	StrCmp $2 error +2
+	StrCpy $0 $1
+	Pop $2
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!define GetExePath `!insertmacro GetExePathCall`
+!define un.GetExePath `!insertmacro GetExePathCall`
+
+!macro GetExePath
+!macroend
+
+!macro un.GetExePath
+!macroend
+
+!macro GetExePath_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	Push $0
+	Push $1
+	Push $2
+	StrCpy $0 $EXEDIR
+	System::Call 'kernel32::GetLongPathNameA(t r0, t .r1, i 1024)i .r2'
+	StrCmp $2 error +2
+	StrCpy $0 $1
+	Pop $2
+	Pop $1
+	Exch $0
+	
+	!verbose pop
+!macroend
+
+!define GetParameters `!insertmacro GetParametersCall`
+!define un.GetParameters `!insertmacro GetParametersCall`
+
+!macro GetParameters
+!macroend
+
+!macro un.GetParameters
+!macroend
+
+!macro GetParameters_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	;cmdline-check
+	StrCmp $CMDLINE "" 0 +3
+	Push ""
+	Return
+
+	;vars
+	Push $0  ;tmp
+	Push $1  ;length
+	Push $2  ;parameter offset
+	Push $3  ;separator
+
+	;length/offset
+	StrLen $1 $CMDLINE
+	StrCpy $2 2  ;start with third character
+
+	;separator
+	StrCpy $3 $CMDLINE 1 ;first character
+	StrCmp $3 '"' +2
+	StrCpy $3 ' '
+
+	FileFunc_GetParameters_token:  ;finding second separator
+	IntCmp $2 $1 FileFunc_GetParameters_strip 0 FileFunc_GetParameters_strip
+	StrCpy $0 $CMDLINE 1 $2
+	IntOp $2 $2 + 1
+	StrCmp $3 $0 0 FileFunc_GetParameters_token
+
+	FileFunc_GetParameters_strip:  ;strip white space
+	IntCmp $2 $1 FileFunc_GetParameters_copy 0 FileFunc_GetParameters_copy
+	StrCpy $0 $CMDLINE 1 $2
+	StrCmp $0 ' ' 0 FileFunc_GetParameters_copy
+	IntOp $2 $2 + 1
+	Goto FileFunc_GetParameters_strip
+
+	FileFunc_GetParameters_copy:
+	StrCpy $0 $CMDLINE "" $2
+
+	;strip white spaces from end
+	FileFunc_GetParameters_rstrip:
+	StrCpy $1 $0 1 -1
+	StrCmp $1 ' ' 0 FileFunc_GetParameters_done
+	StrCpy $0 $0 -1
+	Goto FileFunc_GetParameters_rstrip
+
+	FileFunc_GetParameters_done:
+	Pop $3
+	Pop $2
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!macro GetOptionsBody _FILEFUNC_S
+
+	Exch $1
+	Exch
+	Exch $0
+	Exch
+	Push $2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	ClearErrors
+
+	StrCpy $2 $1 '' 1
+	StrCpy $1 $1 1
+	StrLen $3 $2
+	StrCpy $7 0
+
+	FileFunc_GetOptions${_FILEFUNC_S}_begin:
+	StrCpy $4 -1
+	StrCpy $6 ''
+
+	FileFunc_GetOptions${_FILEFUNC_S}_quote:
+	IntOp $4 $4 + 1
+	StrCpy $5 $0 1 $4
+	StrCmp${_FILEFUNC_S} $5$7 '0' FileFunc_GetOptions${_FILEFUNC_S}_notfound
+	StrCmp${_FILEFUNC_S} $5 '' FileFunc_GetOptions${_FILEFUNC_S}_trimright
+	StrCmp${_FILEFUNC_S} $5 '"' 0 +7
+	StrCmp${_FILEFUNC_S} $6 '' 0 +3
+	StrCpy $6 '"'
+	goto FileFunc_GetOptions${_FILEFUNC_S}_quote
+	StrCmp${_FILEFUNC_S} $6 '"' 0 +3
+	StrCpy $6 ''
+	goto FileFunc_GetOptions${_FILEFUNC_S}_quote
+	StrCmp${_FILEFUNC_S} $5 `'` 0 +7
+	StrCmp${_FILEFUNC_S} $6 `` 0 +3
+	StrCpy $6 `'`
+	goto FileFunc_GetOptions${_FILEFUNC_S}_quote
+	StrCmp${_FILEFUNC_S} $6 `'` 0 +3
+	StrCpy $6 ``
+	goto FileFunc_GetOptions${_FILEFUNC_S}_quote
+	StrCmp${_FILEFUNC_S} $5 '`' 0 +7
+	StrCmp${_FILEFUNC_S} $6 '' 0 +3
+	StrCpy $6 '`'
+	goto FileFunc_GetOptions${_FILEFUNC_S}_quote
+	StrCmp${_FILEFUNC_S} $6 '`' 0 +3
+	StrCpy $6 ''
+	goto FileFunc_GetOptions${_FILEFUNC_S}_quote
+	StrCmp${_FILEFUNC_S} $6 '"' FileFunc_GetOptions${_FILEFUNC_S}_quote
+	StrCmp${_FILEFUNC_S} $6 `'` FileFunc_GetOptions${_FILEFUNC_S}_quote
+	StrCmp${_FILEFUNC_S} $6 '`' FileFunc_GetOptions${_FILEFUNC_S}_quote
+	StrCmp${_FILEFUNC_S} $5 $1 0 FileFunc_GetOptions${_FILEFUNC_S}_quote
+	StrCmp${_FILEFUNC_S} $7 0 FileFunc_GetOptions${_FILEFUNC_S}_trimleft FileFunc_GetOptions${_FILEFUNC_S}_trimright
+
+	FileFunc_GetOptions${_FILEFUNC_S}_trimleft:
+	IntOp $4 $4 + 1
+	StrCpy $5 $0 $3 $4
+	StrCmp${_FILEFUNC_S} $5 '' FileFunc_GetOptions${_FILEFUNC_S}_notfound
+	StrCmp${_FILEFUNC_S} $5 $2 0 FileFunc_GetOptions${_FILEFUNC_S}_quote
+	IntOp $4 $4 + $3
+	StrCpy $0 $0 '' $4
+	StrCpy $4 $0 1
+	StrCmp${_FILEFUNC_S} $4 ' ' 0 +3
+	StrCpy $0 $0 '' 1
+	goto -3
+	StrCpy $7 1
+	goto FileFunc_GetOptions${_FILEFUNC_S}_begin
+
+	FileFunc_GetOptions${_FILEFUNC_S}_trimright:
+	StrCpy $0 $0 $4
+	StrCpy $4 $0 1 -1
+	StrCmp${_FILEFUNC_S} $4 ' ' 0 +3
+	StrCpy $0 $0 -1
+	goto -3
+	StrCpy $3 $0 1
+	StrCpy $4 $0 1 -1
+	StrCmp${_FILEFUNC_S} $3 $4 0 FileFunc_GetOptions${_FILEFUNC_S}_end
+	StrCmp${_FILEFUNC_S} $3 '"' +3
+	StrCmp${_FILEFUNC_S} $3 `'` +2
+	StrCmp${_FILEFUNC_S} $3 '`' 0 FileFunc_GetOptions${_FILEFUNC_S}_end
+	StrCpy $0 $0 -1 1
+	goto FileFunc_GetOptions${_FILEFUNC_S}_end
+
+	FileFunc_GetOptions${_FILEFUNC_S}_notfound:
+	SetErrors
+	StrCpy $0 ''
+
+	FileFunc_GetOptions${_FILEFUNC_S}_end:
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Exch $0
+
+!macroend
+
+!define GetOptions `!insertmacro GetOptionsCall`
+!define un.GetOptions `!insertmacro GetOptionsCall`
+
+!macro GetOptions
+!macroend
+
+!macro un.GetOptions
+!macroend
+
+!macro GetOptions_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+
+	!insertmacro GetOptionsBody ''
+
+	!verbose pop
+!macroend
+
+!define GetOptionsS `!insertmacro GetOptionsSCall`
+!define un.GetOptionsS `!insertmacro GetOptionsSCall`
+
+!macro GetOptionsS
+!macroend
+
+!macro un.GetOptionsS
+!macroend
+
+!macro GetOptionsS_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+
+	!insertmacro GetOptionsBody 'S'
+
+	!verbose pop
+!macroend
+
+!define GetRoot `!insertmacro GetRootCall`
+!define un.GetRoot `!insertmacro GetRootCall`
+
+!macro GetRoot
+!macroend
+
+!macro un.GetRoot
+!macroend
+
+!macro GetRoot_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	Exch $0
+	Push $1
+	Push $2
+	Push $3
+
+	StrCpy $1 $0 2
+	StrCmp $1 '\\' FileFunc_GetRoot_UNC
+	StrCpy $2 $1 1 1
+	StrCmp $2 ':' 0 FileFunc_GetRoot_empty
+	StrCpy $0 $1
+	goto FileFunc_GetRoot_end
+
+	FileFunc_GetRoot_UNC:
+	StrCpy $2 1
+	StrCpy $3 ''
+
+	FileFunc_GetRoot_loop:
+	IntOp $2 $2 + 1
+	StrCpy $1 $0 1 $2
+	StrCmp $1$3 '' FileFunc_GetRoot_empty
+	StrCmp $1 '' +5
+	StrCmp $1 '\' 0 FileFunc_GetRoot_loop
+	StrCmp $3 '1' +3
+	StrCpy $3 '1'
+	goto FileFunc_GetRoot_loop
+	StrCpy $0 $0 $2
+	StrCpy $2 $0 1 -1
+	StrCmp $2 '\' 0 FileFunc_GetRoot_end
+
+	FileFunc_GetRoot_empty:
+	StrCpy $0 ''
+
+	FileFunc_GetRoot_end:
+	Pop $3
+	Pop $2
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!define GetParent `!insertmacro GetParentCall`
+!define un.GetParent `!insertmacro GetParentCall`
+
+!macro GetParent
+!macroend
+
+!macro un.GetParent
+!macroend
+
+!macro GetParent_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	Exch $0
+	Push $1
+	Push $2
+
+	StrCpy $2 $0 1 -1
+	StrCmp $2 '\' 0 +3
+	StrCpy $0 $0 -1
+	goto -3
+
+	StrCpy $1 0
+	IntOp $1 $1 - 1
+	StrCpy $2 $0 1 $1
+	StrCmp $2 '\' +2
+	StrCmp $2 '' 0 -3
+	StrCpy $0 $0 $1
+
+	Pop $2
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!define GetFileName `!insertmacro GetFileNameCall`
+!define un.GetFileName `!insertmacro GetFileNameCall`
+
+!macro GetFileName
+!macroend
+
+!macro un.GetFileName
+!macroend
+
+!macro GetFileName_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	Exch $0
+	Push $1
+	Push $2
+
+	StrCpy $2 $0 1 -1
+	StrCmp $2 '\' 0 +3
+	StrCpy $0 $0 -1
+	goto -3
+
+	StrCpy $1 0
+	IntOp $1 $1 - 1
+	StrCpy $2 $0 1 $1
+	StrCmp $2 '' FileFunc_GetFileName_end
+	StrCmp $2 '\' 0 -3
+	IntOp $1 $1 + 1
+	StrCpy $0 $0 '' $1
+
+	FileFunc_GetFileName_end:
+	Pop $2
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!define GetBaseName `!insertmacro GetBaseNameCall`
+!define un.GetBaseName `!insertmacro GetBaseNameCall`
+
+!macro GetBaseName
+!macroend
+
+!macro un.GetBaseName
+!macroend
+
+!macro GetBaseName_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	Exch $0
+	Push $1
+	Push $2
+	Push $3
+
+	StrCpy $1 0
+	StrCpy $3 ''
+
+	FileFunc_GetBaseName_loop:
+	IntOp $1 $1 - 1
+	StrCpy $2 $0 1 $1
+	StrCmp $2 '' FileFunc_GetBaseName_trimpath
+	StrCmp $2 '\' FileFunc_GetBaseName_trimpath
+	StrCmp $3 'noext' FileFunc_GetBaseName_loop
+	StrCmp $2 '.' 0 FileFunc_GetBaseName_loop
+	StrCpy $0 $0 $1
+	StrCpy $3 'noext'
+	StrCpy $1 0
+	goto FileFunc_GetBaseName_loop
+
+	FileFunc_GetBaseName_trimpath:
+	StrCmp $1 -1 FileFunc_GetBaseName_empty
+	IntOp $1 $1 + 1
+	StrCpy $0 $0 '' $1
+	goto FileFunc_GetBaseName_end
+
+	FileFunc_GetBaseName_empty:
+	StrCpy $0 ''
+
+	FileFunc_GetBaseName_end:
+	Pop $3
+	Pop $2
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!define GetFileExt `!insertmacro GetFileExtCall`
+!define un.GetFileExt `!insertmacro GetFileExtCall`
+
+!macro GetFileExt
+!macroend
+
+!macro un.GetFileExt
+!macroend
+
+!macro GetFileExt_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	Exch $0
+	Push $1
+	Push $2
+
+	StrCpy $1 0
+
+	FileFunc_GetFileExt_loop:
+	IntOp $1 $1 - 1
+	StrCpy $2 $0 1 $1
+	StrCmp $2 '' FileFunc_GetFileExt_empty
+	StrCmp $2 '\' FileFunc_GetFileExt_empty
+	StrCmp $2 '.' 0 FileFunc_GetFileExt_loop
+
+	StrCmp $1 -1 FileFunc_GetFileExt_empty
+	IntOp $1 $1 + 1
+	StrCpy $0 $0 '' $1
+	goto FileFunc_GetFileExt_end
+
+	FileFunc_GetFileExt_empty:
+	StrCpy $0 ''
+
+	FileFunc_GetFileExt_end:
+	Pop $2
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!define BannerTrimPath `!insertmacro BannerTrimPathCall`
+!define un.BannerTrimPath `!insertmacro BannerTrimPathCall`
+
+!macro BannerTrimPath
+!macroend
+
+!macro un.BannerTrimPath
+!macroend
+
+!macro BannerTrimPath_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	Exch $1
+	Exch
+	Exch $0
+	Exch
+	Push $2
+	Push $3
+	Push $4
+
+	StrCpy $3 $1 1 -1
+	IntOp $1 $1 + 0
+	StrLen $2 $0
+	IntCmp $2 $1 FileFunc_BannerTrimPath_end FileFunc_BannerTrimPath_end
+	IntOp $1 $1 - 3
+	IntCmp $1 0 FileFunc_BannerTrimPath_empty FileFunc_BannerTrimPath_empty
+	StrCmp $3 'A' FileFunc_BannerTrimPath_A-trim
+	StrCmp $3 'B' FileFunc_BannerTrimPath_B-trim
+	StrCmp $3 'C' FileFunc_BannerTrimPath_C-trim
+	StrCmp $3 'D' FileFunc_BannerTrimPath_D-trim
+
+	FileFunc_BannerTrimPath_A-trim:
+	StrCpy $3 $0 1 1
+	StrCpy $2 0
+	StrCmp $3 ':' 0 +2
+	IntOp $2 $2 + 2
+
+	FileFunc_BannerTrimPath_loopleft:
+	IntOp $2 $2 + 1
+	StrCpy $3 $0 1 $2
+	StrCmp $2 $1 FileFunc_BannerTrimPath_C-trim
+	StrCmp $3 '\' 0 FileFunc_BannerTrimPath_loopleft
+	StrCpy $3 $0 $2
+	IntOp $2 $2 - $1
+	IntCmp $2 0 FileFunc_BannerTrimPath_B-trim 0 FileFunc_BannerTrimPath_B-trim
+
+	FileFunc_BannerTrimPath_loopright:
+	IntOp $2 $2 + 1
+	StrCpy $4 $0 1 $2
+	StrCmp $2 0 FileFunc_BannerTrimPath_B-trim
+	StrCmp $4 '\' 0 FileFunc_BannerTrimPath_loopright
+	StrCpy $4 $0 '' $2
+	StrCpy $0 '$3\...$4'
+	goto FileFunc_BannerTrimPath_end
+
+	FileFunc_BannerTrimPath_B-trim:
+	StrCpy $2 $1
+	IntOp $2 $2 - 1
+	StrCmp $2 -1 FileFunc_BannerTrimPath_C-trim
+	StrCpy $3 $0 1 $2
+	StrCmp $3 '\' 0 -3
+	StrCpy $0 $0 $2
+	StrCpy $0 '$0\...'
+	goto FileFunc_BannerTrimPath_end
+
+	FileFunc_BannerTrimPath_C-trim:
+	StrCpy $0 $0 $1
+	StrCpy $0 '$0...'
+	goto FileFunc_BannerTrimPath_end
+
+	FileFunc_BannerTrimPath_D-trim:
+	StrCpy $3 -1
+	IntOp $3 $3 - 1
+	StrCmp $3 -$2 FileFunc_BannerTrimPath_C-trim
+	StrCpy $4 $0 1 $3
+	StrCmp $4 '\' 0 -3
+	StrCpy $4 $0 '' $3
+	IntOp $3 $1 + $3
+	IntCmp $3 2 FileFunc_BannerTrimPath_C-trim FileFunc_BannerTrimPath_C-trim
+	StrCpy $0 $0 $3
+	StrCpy $0 '$0...$4'
+	goto FileFunc_BannerTrimPath_end
+
+	FileFunc_BannerTrimPath_empty:
+	StrCpy $0 ''
+
+	FileFunc_BannerTrimPath_end:
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!define DirState `!insertmacro DirStateCall`
+!define un.DirState `!insertmacro DirStateCall`
+
+!macro DirState
+!macroend
+
+!macro un.DirState
+!macroend
+
+!macro DirState_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	Exch $0
+	Push $1
+	ClearErrors
+
+	FindFirst $1 $0 '$0\*.*'
+	IfErrors 0 +3
+	StrCpy $0 -1
+	goto FileFunc_DirState_end
+	StrCmp $0 '.' 0 +4
+	FindNext $1 $0
+	StrCmp $0 '..' 0 +2
+	FindNext $1 $0
+	FindClose $1
+	IfErrors 0 +3
+	StrCpy $0 0
+	goto FileFunc_DirState_end
+	StrCpy $0 1
+
+	FileFunc_DirState_end:
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!define RefreshShellIcons `!insertmacro RefreshShellIconsCall`
+!define un.RefreshShellIcons `!insertmacro RefreshShellIconsCall`
+
+!macro RefreshShellIcons
+!macroend
+
+!macro un.RefreshShellIcons
+!macroend
+
+!macro RefreshShellIcons_
+	!verbose push
+	!verbose ${_FILEFUNC_VERBOSE}
+	
+	System::Call 'shell32::SHChangeNotify(i 0x08000000, i 0, i 0, i 0)'
+
+	!verbose pop
+!macroend
+
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Include/TextFunc.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/TextFunc.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/TextFunc.nsh	(revision 2961)
@@ -0,0 +1,1214 @@
+/*
+_____________________________________________________________________________
+
+                       Text Functions Header v2.4
+_____________________________________________________________________________
+
+ 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
+
+ See documentation for more information about the following functions.
+
+ Usage in script:
+ 1. !include "TextFunc.nsh"
+ 2. [Section|Function]
+      ${TextFunction} "File" "..."  $var
+    [SectionEnd|FunctionEnd]
+
+
+ TextFunction=[LineFind|LineRead|FileReadFromEnd|LineSum|FileJoin|
+               TextCompare|TextCompareS|ConfigRead|ConfigReadS|
+               ConfigWrite|ConfigWriteS|FileRecode|TrimNewLines]
+
+_____________________________________________________________________________
+
+                       Thanks to:
+_____________________________________________________________________________
+
+LineRead
+	Afrow UK (Based on his idea of Function "ReadFileLine")
+LineSum
+	Afrow UK (Based on his idea of Function "LineCount")
+FileJoin
+	Afrow UK (Based on his idea of Function "JoinFiles")
+ConfigRead
+	vbgunz (His idea)
+ConfigWrite
+	vbgunz (His idea)
+TrimNewLines
+	sunjammer (Based on his Function "TrimNewLines")
+*/
+
+
+;_____________________________________________________________________________
+;
+;                                   Macros
+;_____________________________________________________________________________
+;
+; Change log window verbosity (default: 3=no script)
+;
+; Example:
+; !include "TextFunc.nsh"
+; !insertmacro LineFind
+; ${TEXTFUNC_VERBOSE} 4   # all verbosity
+; !insertmacro LineSum
+; ${TEXTFUNC_VERBOSE} 3   # no script
+
+!ifndef TEXTFUNC_INCLUDED
+!define TEXTFUNC_INCLUDED
+
+!include FileFunc.nsh
+!include Util.nsh
+
+!verbose push
+!verbose 3
+!ifndef _TEXTFUNC_VERBOSE
+	!define _TEXTFUNC_VERBOSE 3
+!endif
+!verbose ${_TEXTFUNC_VERBOSE}
+!define TEXTFUNC_VERBOSE `!insertmacro TEXTFUNC_VERBOSE`
+!verbose pop
+
+!macro TEXTFUNC_VERBOSE _VERBOSE
+	!verbose push
+	!verbose 3
+	!undef _TEXTFUNC_VERBOSE
+	!define _TEXTFUNC_VERBOSE ${_VERBOSE}
+	!verbose pop
+!macroend
+
+!macro LineFindCall _INPUT _OUTPUT _RANGE _FUNC
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+	Push $0
+	Push `${_INPUT}`
+	Push `${_OUTPUT}`
+	Push `${_RANGE}`
+	GetFunctionAddress $0 `${_FUNC}`
+	Push `$0`
+	${CallArtificialFunction} LineFind_
+	Pop $0
+	!verbose pop
+!macroend
+
+!macro LineReadCall _FILE _NUMBER _RESULT
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+	Push `${_FILE}`
+	Push `${_NUMBER}`
+	${CallArtificialFunction} LineRead_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro FileReadFromEndCall _FILE _FUNC
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+	Push $0
+	Push `${_FILE}`
+	GetFunctionAddress $0 `${_FUNC}`
+	Push `$0`
+	${CallArtificialFunction} FileReadFromEnd_
+	Pop $0
+	!verbose pop
+!macroend
+
+!macro LineSumCall _FILE _RESULT
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+	Push `${_FILE}`
+	${CallArtificialFunction} LineSum_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro FileJoinCall _FILE1 _FILE2 _FILE3
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+	Push `${_FILE1}`
+	Push `${_FILE2}`
+	Push `${_FILE3}`
+	${CallArtificialFunction} FileJoin_
+	!verbose pop
+!macroend
+
+!macro TextCompareCall _FILE1 _FILE2 _OPTION _FUNC
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+	Push $0
+	Push `${_FILE1}`
+	Push `${_FILE2}`
+	Push `${_OPTION}`
+	GetFunctionAddress $0 `${_FUNC}`
+	Push `$0`
+	${CallArtificialFunction} TextCompare_
+	Pop $0
+	!verbose pop
+!macroend
+
+!macro TextCompareSCall _FILE1 _FILE2 _OPTION _FUNC
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+	Push $0
+	Push `${_FILE1}`
+	Push `${_FILE2}`
+	Push `${_OPTION}`
+	GetFunctionAddress $0 `${_FUNC}`
+	Push `$0`
+	${CallArtificialFunction} TextCompareS_
+	Pop $0
+	!verbose pop
+!macroend
+
+!macro ConfigReadCall _FILE _ENTRY _RESULT
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+	Push `${_FILE}`
+	Push `${_ENTRY}`
+	${CallArtificialFunction} ConfigRead_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro ConfigReadSCall _FILE _ENTRY _RESULT
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+	Push `${_FILE}`
+	Push `${_ENTRY}`
+	${CallArtificialFunction} ConfigReadS_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro ConfigWriteCall _FILE _ENTRY _VALUE _RESULT
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+	Push `${_FILE}`
+	Push `${_ENTRY}`
+	Push `${_VALUE}`
+	${CallArtificialFunction} ConfigWrite_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro ConfigWriteSCall _FILE _ENTRY _VALUE _RESULT
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+	Push `${_FILE}`
+	Push `${_ENTRY}`
+	Push `${_VALUE}`
+	${CallArtificialFunction} ConfigWriteS_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro FileRecodeCall _FILE _FORMAT
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+	Push `${_FILE}`
+	Push `${_FORMAT}`
+	${CallArtificialFunction} FileRecode_
+	!verbose pop
+!macroend
+
+!macro TrimNewLinesCall _FILE _RESULT
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+	Push `${_FILE}`
+	${CallArtificialFunction} TrimNewLines_
+	Pop ${_RESULT}
+	!verbose pop
+!macroend
+
+!macro _TextFunc_TempFileForFile _FILE _RESULT
+	# XXX replace with GetParent
+	Push `${_FILE}`
+	Exch $0
+	Push $1
+	Push $2
+
+	StrCpy $2 $0 1 -1
+	StrCmp $2 '\' 0 +3
+	StrCpy $0 $0 -1
+	goto -3
+
+	StrCpy $1 0
+	IntOp $1 $1 - 1
+	StrCpy $2 $0 1 $1
+	StrCmp $2 '\' +2
+	StrCmp $2 '' 0 -3
+	StrCpy $0 $0 $1
+
+	Pop $2
+	Pop $1
+	Exch $0
+	Pop ${_RESULT}
+	# XXX
+	StrCmp ${_RESULT} "" 0 +2
+		StrCpy ${_RESULT} $EXEDIR
+	GetTempFileName ${_RESULT} ${_RESULT}
+	StrCmp ${_RESULT} "" 0 +2
+		GetTempFileName ${_RESULT}
+	ClearErrors
+!macroend
+
+!define LineFind `!insertmacro LineFindCall`
+!define un.LineFind `!insertmacro LineFindCall`
+
+!macro LineFind
+!macroend
+
+!macro un.LineFind
+!macroend
+
+!macro LineFind_
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+
+	Exch $3
+	Exch
+	Exch $2
+	Exch
+	Exch 2
+	Exch $1
+	Exch 2
+	Exch 3
+	Exch $0
+	Exch 3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	Push $8
+	Push $9
+	Push $R4
+	Push $R5
+	Push $R6
+	Push $R7
+	Push $R8
+	Push $R9
+	ClearErrors
+
+	IfFileExists '$0' 0 TextFunc_LineFind_error
+	StrCmp $1 '/NUL' TextFunc_LineFind_begin
+	StrCpy $8 0
+	IntOp $8 $8 - 1
+	StrCpy $9 $1 1 $8
+	StrCmp $9 \ +2
+	StrCmp $9 '' +3 -3
+	StrCpy $9 $1 $8
+	IfFileExists '$9\*.*' 0 TextFunc_LineFind_error
+
+	TextFunc_LineFind_begin:
+	StrCpy $4 1
+	StrCpy $5 -1
+	StrCpy $6 0
+	StrCpy $7 0
+	StrCpy $R4 ''
+	StrCpy $R6 ''
+	StrCpy $R7 ''
+	StrCpy $R8 0
+
+	StrCpy $8 $2 1
+	StrCmp $8 '{' 0 TextFunc_LineFind_delspaces
+	StrCpy $2 $2 '' 1
+	StrCpy $8 $2 1 -1
+	StrCmp $8 '}' 0 TextFunc_LineFind_delspaces
+	StrCpy $2 $2 -1
+	StrCpy $R6 TextFunc_LineFind_cut
+
+	TextFunc_LineFind_delspaces:
+	StrCpy $8 $2 1
+	StrCmp $8 ' ' 0 +3
+	StrCpy $2 $2 '' 1
+	goto -3
+	StrCmp $2$7 '0' TextFunc_LineFind_file
+	StrCpy $4 ''
+	StrCpy $5 ''
+	StrCmp $2 '' TextFunc_LineFind_writechk
+
+	TextFunc_LineFind_range:
+	StrCpy $8 0
+	StrCpy $9 $2 1 $8
+	StrCmp $9 '' +5
+	StrCmp $9 ' ' +4
+	StrCmp $9 ':' +3
+	IntOp $8 $8 + 1
+	goto -5
+	StrCpy $5 $2 $8
+	IntOp $5 $5 + 0
+	IntOp $8 $8 + 1
+	StrCpy $2 $2 '' $8
+	StrCmp $4 '' 0 +2
+	StrCpy $4 $5
+	StrCmp $9 ':' TextFunc_LineFind_range
+
+	IntCmp $4 0 0 +2
+	IntCmp $5 -1 TextFunc_LineFind_goto 0 TextFunc_LineFind_growthcmp
+	StrCmp $R7 '' 0 TextFunc_LineFind_minus2plus
+	StrCpy $R7 0
+	FileOpen $8 $0 r
+	FileRead $8 $9
+	IfErrors +3
+	IntOp $R7 $R7 + 1
+	Goto -3
+	FileClose $8
+
+	TextFunc_LineFind_minus2plus:
+	IntCmp $4 0 +5 0 +5
+	IntOp $4 $R7 + $4
+	IntOp $4 $4 + 1
+	IntCmp $4 0 +2 0 +2
+	StrCpy $4 0
+	IntCmp $5 -1 TextFunc_LineFind_goto 0 TextFunc_LineFind_growthcmp
+	IntOp $5 $R7 + $5
+	IntOp $5 $5 + 1
+	TextFunc_LineFind_growthcmp:
+	IntCmp $4 $5 TextFunc_LineFind_goto TextFunc_LineFind_goto
+	StrCpy $5 $4
+	TextFunc_LineFind_goto:
+	goto $7
+
+	TextFunc_LineFind_file:
+	StrCmp $1 '/NUL' TextFunc_LineFind_notemp
+	!insertmacro _TextFunc_TempFileForFile $1 $R4
+	Push $R4
+	FileOpen $R4 $R4 w
+	TextFunc_LineFind_notemp:
+	FileOpen $R5 $0 r
+	IfErrors TextFunc_LineFind_preerror
+
+	TextFunc_LineFind_loop:
+	IntOp $R8 $R8 + 1
+	FileRead $R5 $R9
+	IfErrors TextFunc_LineFind_handleclose
+
+	TextFunc_LineFind_cmp:
+	StrCmp $2$4$5 '' TextFunc_LineFind_writechk
+	IntCmp $4 $R8 TextFunc_LineFind_call 0 TextFunc_LineFind_writechk
+	StrCmp $5 -1 TextFunc_LineFind_call
+	IntCmp $5 $R8 TextFunc_LineFind_call 0 TextFunc_LineFind_call
+
+	GetLabelAddress $7 TextFunc_LineFind_cmp
+	goto TextFunc_LineFind_delspaces
+
+	TextFunc_LineFind_call:
+	StrCpy $7 $R9
+	Push $0
+	Push $1
+	Push $2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	Push $R4
+	Push $R5
+	Push $R6
+	Push $R7
+	Push $R8
+	StrCpy $R6 '$4:$5'
+	StrCmp $R7 '' +3
+	IntOp $R7 $R8 - $R7
+	IntOp $R7 $R7 - 1
+	Call $3
+	Pop $9
+	Pop $R8
+	Pop $R7
+	Pop $R6
+	Pop $R5
+	Pop $R4
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+	IfErrors TextFunc_LineFind_preerror
+	StrCmp $9 'StopLineFind' 0 +3
+	IntOp $6 $6 + 1
+	goto TextFunc_LineFind_handleclose
+	StrCmp $1 '/NUL' TextFunc_LineFind_loop
+	StrCmp $9 'SkipWrite' 0 +3
+	IntOp $6 $6 + 1
+	goto TextFunc_LineFind_loop
+	StrCmp $7 $R9 TextFunc_LineFind_write
+	IntOp $6 $6 + 1
+	goto TextFunc_LineFind_write
+
+	TextFunc_LineFind_writechk:
+	StrCmp $1 '/NUL' TextFunc_LineFind_loop
+	StrCmp $R6 TextFunc_LineFind_cut 0 TextFunc_LineFind_write
+	IntOp $6 $6 + 1
+	goto TextFunc_LineFind_loop
+
+	TextFunc_LineFind_write:
+	FileWrite $R4 $R9
+	goto TextFunc_LineFind_loop
+
+	TextFunc_LineFind_preerror:
+	SetErrors
+
+	TextFunc_LineFind_handleclose:
+	StrCmp $1 '/NUL' +3
+	FileClose $R4
+	Pop $R4
+	FileClose $R5
+	IfErrors TextFunc_LineFind_error
+
+	StrCmp $1 '/NUL' TextFunc_LineFind_end
+	StrCmp $1 '' 0 +2
+	StrCpy $1 $0
+	StrCmp $6 0 0 TextFunc_LineFind_rename
+	FileOpen $7 $0 r
+	FileSeek $7 0 END $8
+	FileClose $7
+	FileOpen $7 $R4 r
+	FileSeek $7 0 END $9
+	FileClose $7
+	IntCmp $8 $9 0 TextFunc_LineFind_rename
+	Delete $R4
+	StrCmp $1 $0 TextFunc_LineFind_end
+	CopyFiles /SILENT $0 $1
+	goto TextFunc_LineFind_end
+
+	TextFunc_LineFind_rename:
+	Delete '$EXEDIR\$1'
+	Rename $R4 '$EXEDIR\$1'
+	IfErrors 0 TextFunc_LineFind_end
+	Delete $1
+	Rename $R4 $1
+	IfErrors 0 TextFunc_LineFind_end
+
+	TextFunc_LineFind_error:
+	SetErrors
+
+	TextFunc_LineFind_end:
+	Pop $R9
+	Pop $R8
+	Pop $R7
+	Pop $R6
+	Pop $R5
+	Pop $R4
+	Pop $9
+	Pop $8
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+
+	!verbose pop
+!macroend
+
+!define LineRead `!insertmacro LineReadCall`
+!define un.LineRead `!insertmacro LineReadCall`
+
+!macro LineRead
+!macroend
+
+!macro un.LineRead
+!macroend
+
+!macro LineRead_
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+
+	Exch $1
+	Exch
+	Exch $0
+	Exch
+	Push $2
+	Push $3
+	Push $4
+	ClearErrors
+
+	IfFileExists $0 0 TextFunc_LineRead_error
+	IntOp $1 $1 + 0
+	IntCmp $1 0 TextFunc_LineRead_error 0 TextFunc_LineRead_plus
+	StrCpy $4 0
+	FileOpen $2 $0 r
+	IfErrors TextFunc_LineRead_error
+	FileRead $2 $3
+	IfErrors +3
+	IntOp $4 $4 + 1
+	Goto -3
+	FileClose $2
+	IntOp $1 $4 + $1
+	IntOp $1 $1 + 1
+	IntCmp $1 0 TextFunc_LineRead_error TextFunc_LineRead_error
+
+	TextFunc_LineRead_plus:
+	FileOpen $2 $0 r
+	IfErrors TextFunc_LineRead_error
+	StrCpy $3 0
+	IntOp $3 $3 + 1
+	FileRead $2 $0
+	IfErrors +4
+	StrCmp $3 $1 0 -3
+	FileClose $2
+	goto TextFunc_LineRead_end
+	FileClose $2
+
+	TextFunc_LineRead_error:
+	SetErrors
+	StrCpy $0 ''
+
+	TextFunc_LineRead_end:
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!define FileReadFromEnd `!insertmacro FileReadFromEndCall`
+!define un.FileReadFromEnd `!insertmacro FileReadFromEndCall`
+
+!macro FileReadFromEnd
+!macroend
+
+!macro un.FileReadFromEnd
+!macroend
+
+!macro FileReadFromEnd_
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+
+	Exch $1
+	Exch
+	Exch $0
+	Exch
+	Push $7
+	Push $8
+	Push $9
+	ClearErrors
+
+	StrCpy $7 -1
+	StrCpy $8 0
+	IfFileExists $0 0 TextFunc_FileReadFromEnd_error
+	FileOpen $0 $0 r
+	IfErrors TextFunc_FileReadFromEnd_error
+	FileRead $0 $9
+	IfErrors +4
+	Push $9
+	IntOp $8 $8 + 1
+	goto -4
+	FileClose $0
+
+	TextFunc_FileReadFromEnd_nextline:
+	StrCmp $8 0 TextFunc_FileReadFromEnd_end
+	Pop $9
+	Push $1
+	Push $7
+	Push $8
+	Call $1
+	Pop $0
+	Pop $8
+	Pop $7
+	Pop $1
+	IntOp $7 $7 - 1
+	IntOp $8 $8 - 1
+	IfErrors TextFunc_FileReadFromEnd_error
+	StrCmp $0 'StopFileReadFromEnd' TextFunc_FileReadFromEnd_clearstack TextFunc_FileReadFromEnd_nextline
+
+	TextFunc_FileReadFromEnd_error:
+	SetErrors
+
+	TextFunc_FileReadFromEnd_clearstack:
+	StrCmp $8 0 TextFunc_FileReadFromEnd_end
+	Pop $9
+	IntOp $8 $8 - 1
+	goto TextFunc_FileReadFromEnd_clearstack
+
+	TextFunc_FileReadFromEnd_end:
+	Pop $9
+	Pop $8
+	Pop $7
+	Pop $1
+	Pop $0
+
+	!verbose pop
+!macroend
+
+!define LineSum `!insertmacro LineSumCall`
+!define un.LineSum `!insertmacro LineSumCall`
+
+!macro LineSum
+!macroend
+
+!macro un.LineSum
+!macroend
+
+!macro LineSum_
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+
+	Exch $0
+	Push $1
+	Push $2
+	ClearErrors
+
+	IfFileExists $0 0 TextFunc_LineSum_error
+	StrCpy $2 0
+	FileOpen $0 $0 r
+	IfErrors TextFunc_LineSum_error
+	FileRead $0 $1
+	IfErrors +3
+	IntOp $2 $2 + 1
+	Goto -3
+	FileClose $0
+	StrCpy $0 $2
+	goto TextFunc_LineSum_end
+
+	TextFunc_LineSum_error:
+	SetErrors
+	StrCpy $0 ''
+
+	TextFunc_LineSum_end:
+	Pop $2
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!define FileJoin `!insertmacro FileJoinCall`
+!define un.FileJoin `!insertmacro FileJoinCall`
+
+!macro FileJoin
+!macroend
+
+!macro un.FileJoin
+!macroend
+
+!macro FileJoin_
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+
+	Exch $2
+	Exch
+	Exch $1
+	Exch
+	Exch 2
+	Exch $0
+	Exch 2
+	Push $3
+	Push $4
+	Push $5
+	ClearErrors
+
+	IfFileExists $0 0 TextFunc_FileJoin_error
+	IfFileExists $1 0 TextFunc_FileJoin_error
+	StrCpy $3 0
+	IntOp $3 $3 - 1
+	StrCpy $4 $2 1 $3
+	StrCmp $4 \ +2
+	StrCmp $4 '' +3 -3
+	StrCpy $4 $2 $3
+	IfFileExists '$4\*.*' 0 TextFunc_FileJoin_error
+
+	StrCmp $2 $0 0 +2
+	StrCpy $2 ''
+	StrCmp $2 '' 0 +3
+	StrCpy $4 $0
+	Goto TextFunc_FileJoin_notemp
+	!insertmacro _TextFunc_TempFileForFile $2 $4
+	CopyFiles /SILENT $0 $4
+	TextFunc_FileJoin_notemp:
+	FileOpen $3 $4 a
+	IfErrors TextFunc_FileJoin_error
+	FileSeek $3 -1 END
+	FileRead $3 $5
+	StrCmp $5 '$\r' +3
+	StrCmp $5 '$\n' +2
+	FileWrite $3 '$\r$\n'
+
+	;FileWrite $3 '$\r$\n--Divider--$\r$\n'
+
+	FileOpen $0 $1 r
+	IfErrors TextFunc_FileJoin_error
+	FileRead $0 $5
+	IfErrors +3
+	FileWrite $3 $5
+	goto -3
+	FileClose $0
+	FileClose $3
+	StrCmp $2 '' TextFunc_FileJoin_end
+	Delete '$EXEDIR\$2'
+	Rename $4 '$EXEDIR\$2'
+	IfErrors 0 TextFunc_FileJoin_end
+	Delete $2
+	Rename $4 $2
+	IfErrors 0 TextFunc_FileJoin_end
+
+	TextFunc_FileJoin_error:
+	SetErrors
+
+	TextFunc_FileJoin_end:
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+
+	!verbose pop
+!macroend
+
+!macro TextCompareBody _TEXTFUNC_S
+	Exch $3
+	Exch
+	Exch $2
+	Exch
+	Exch 2
+	Exch $1
+	Exch 2
+	Exch 3
+	Exch $0
+	Exch 3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	Push $8
+	Push $9
+	ClearErrors
+
+	IfFileExists $0 0 TextFunc_TextCompare${_TEXTFUNC_S}_error
+	IfFileExists $1 0 TextFunc_TextCompare${_TEXTFUNC_S}_error
+	StrCmp $2 'FastDiff' +5
+	StrCmp $2 'FastEqual' +4
+	StrCmp $2 'SlowDiff' +3
+	StrCmp $2 'SlowEqual' +2
+	goto TextFunc_TextCompare${_TEXTFUNC_S}_error
+
+	FileOpen $4 $0 r
+	IfErrors TextFunc_TextCompare${_TEXTFUNC_S}_error
+	FileOpen $5 $1 r
+	IfErrors TextFunc_TextCompare${_TEXTFUNC_S}_error
+	SetDetailsPrint textonly
+
+	StrCpy $6 0
+	StrCpy $8 0
+
+	TextFunc_TextCompare${_TEXTFUNC_S}_nextline:
+	StrCmp${_TEXTFUNC_S} $4 '' TextFunc_TextCompare${_TEXTFUNC_S}_fast
+	IntOp $8 $8 + 1
+	FileRead $4 $9
+	IfErrors 0 +4
+	FileClose $4
+	StrCpy $4 ''
+	StrCmp${_TEXTFUNC_S} $5 '' TextFunc_TextCompare${_TEXTFUNC_S}_end
+	StrCmp $2 'FastDiff' TextFunc_TextCompare${_TEXTFUNC_S}_fast
+	StrCmp $2 'FastEqual' TextFunc_TextCompare${_TEXTFUNC_S}_fast TextFunc_TextCompare${_TEXTFUNC_S}_slow
+
+	TextFunc_TextCompare${_TEXTFUNC_S}_fast:
+	StrCmp${_TEXTFUNC_S} $5 '' TextFunc_TextCompare${_TEXTFUNC_S}_call
+	IntOp $6 $6 + 1
+	FileRead $5 $7
+	IfErrors 0 +5
+	FileClose $5
+	StrCpy $5 ''
+	StrCmp${_TEXTFUNC_S} $4 '' TextFunc_TextCompare${_TEXTFUNC_S}_end
+	StrCmp $2 'FastDiff' TextFunc_TextCompare${_TEXTFUNC_S}_call TextFunc_TextCompare${_TEXTFUNC_S}_close
+	StrCmp $2 'FastDiff' 0 +2
+	StrCmp${_TEXTFUNC_S} $7 $9 TextFunc_TextCompare${_TEXTFUNC_S}_nextline TextFunc_TextCompare${_TEXTFUNC_S}_call
+	StrCmp${_TEXTFUNC_S} $7 $9 TextFunc_TextCompare${_TEXTFUNC_S}_call TextFunc_TextCompare${_TEXTFUNC_S}_nextline
+
+	TextFunc_TextCompare${_TEXTFUNC_S}_slow:
+	StrCmp${_TEXTFUNC_S} $4 '' TextFunc_TextCompare${_TEXTFUNC_S}_close
+	StrCpy $6 ''
+	DetailPrint '$8. $9'
+	FileSeek $5 0
+
+	TextFunc_TextCompare${_TEXTFUNC_S}_slownext:
+	FileRead $5 $7
+	IfErrors 0 +2
+	StrCmp $2 'SlowDiff' TextFunc_TextCompare${_TEXTFUNC_S}_call TextFunc_TextCompare${_TEXTFUNC_S}_nextline
+	StrCmp $2 'SlowDiff' 0 +2
+	StrCmp${_TEXTFUNC_S} $7 $9 TextFunc_TextCompare${_TEXTFUNC_S}_nextline TextFunc_TextCompare${_TEXTFUNC_S}_slownext
+	IntOp $6 $6 + 1
+	StrCmp${_TEXTFUNC_S} $7 $9 0 TextFunc_TextCompare${_TEXTFUNC_S}_slownext
+
+	TextFunc_TextCompare${_TEXTFUNC_S}_call:
+	Push $2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	Push $7
+	Push $8
+	Push $9
+	Call $3
+	Pop $0
+	Pop $9
+	Pop $8
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	StrCmp $0 'StopTextCompare' 0 TextFunc_TextCompare${_TEXTFUNC_S}_nextline
+
+	TextFunc_TextCompare${_TEXTFUNC_S}_close:
+	FileClose $4
+	FileClose $5
+	goto TextFunc_TextCompare${_TEXTFUNC_S}_end
+
+	TextFunc_TextCompare${_TEXTFUNC_S}_error:
+	SetErrors
+
+	TextFunc_TextCompare${_TEXTFUNC_S}_end:
+	SetDetailsPrint both
+	Pop $9
+	Pop $8
+	Pop $7
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+!macroend
+
+!define TextCompare `!insertmacro TextCompareCall`
+!define un.TextCompare `!insertmacro TextCompareCall`
+
+!macro TextCompare
+!macroend
+
+!macro un.TextCompare
+!macroend
+
+!macro TextCompare_
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+
+	!insertmacro TextCompareBody ''
+
+	!verbose pop
+!macroend
+
+!define TextCompareS `!insertmacro TextCompareSCall`
+!define un.TextCompareS `!insertmacro TextCompareSCall`
+
+!macro TextCompareS
+!macroend
+
+!macro un.TextCompareS
+!macroend
+
+!macro TextCompareS_
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+
+	!insertmacro TextCompareBody 'S'
+
+	!verbose pop
+!macroend
+
+!macro ConfigReadBody _TEXTFUNC_S
+	Exch $1
+	Exch
+	Exch $0
+	Exch
+	Push $2
+	Push $3
+	Push $4
+	ClearErrors
+
+	FileOpen $2 $0 r
+	IfErrors TextFunc_ConfigRead${_TEXTFUNC_S}_error
+	StrLen $0 $1
+	StrCmp${_TEXTFUNC_S} $0 0 TextFunc_ConfigRead${_TEXTFUNC_S}_error
+
+	TextFunc_ConfigRead${_TEXTFUNC_S}_readnext:
+	FileRead $2 $3
+	IfErrors TextFunc_ConfigRead${_TEXTFUNC_S}_error
+	StrCpy $4 $3 $0
+	StrCmp${_TEXTFUNC_S} $4 $1 0 TextFunc_ConfigRead${_TEXTFUNC_S}_readnext
+	StrCpy $0 $3 '' $0
+	StrCpy $4 $0 1 -1
+	StrCmp${_TEXTFUNC_S} $4 '$\r' +2
+	StrCmp${_TEXTFUNC_S} $4 '$\n' 0 TextFunc_ConfigRead${_TEXTFUNC_S}_close
+	StrCpy $0 $0 -1
+	goto -4
+
+	TextFunc_ConfigRead${_TEXTFUNC_S}_error:
+	SetErrors
+	StrCpy $0 ''
+
+	TextFunc_ConfigRead${_TEXTFUNC_S}_close:
+	FileClose $2
+
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Exch $0
+!macroend
+
+!define ConfigRead `!insertmacro ConfigReadCall`
+!define un.ConfigRead `!insertmacro ConfigReadCall`
+
+!macro ConfigRead
+!macroend
+
+!macro un.ConfigRead
+!macroend
+
+!macro ConfigRead_
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+
+	!insertmacro ConfigReadBody ''
+
+	!verbose pop
+!macroend
+
+!define ConfigReadS `!insertmacro ConfigReadSCall`
+!define un.ConfigReadS `!insertmacro ConfigReadSCall`
+
+!macro ConfigReadS
+!macroend
+
+!macro un.ConfigReadS
+!macroend
+
+!macro ConfigReadS_
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+
+	!insertmacro ConfigReadBody 'S'
+
+	!verbose pop
+!macroend
+
+!macro ConfigWriteBody _TEXTFUNC_S
+	Exch $2
+	Exch
+	Exch $1
+	Exch
+	Exch 2
+	Exch $0
+	Exch 2
+	Push $3
+	Push $4
+	Push $5
+	Push $6
+	ClearErrors
+
+	IfFileExists $0 0 TextFunc_ConfigWrite${_TEXTFUNC_S}_error
+	FileOpen $3 $0 a
+	IfErrors TextFunc_ConfigWrite${_TEXTFUNC_S}_error
+
+	StrLen $0 $1
+	StrCmp${_TEXTFUNC_S} $0 0 0 TextFunc_ConfigWrite${_TEXTFUNC_S}_readnext
+	StrCpy $0 ''
+	goto TextFunc_ConfigWrite${_TEXTFUNC_S}_close
+
+	TextFunc_ConfigWrite${_TEXTFUNC_S}_readnext:
+	FileRead $3 $4
+	IfErrors TextFunc_ConfigWrite${_TEXTFUNC_S}_add
+	StrCpy $5 $4 $0
+	StrCmp${_TEXTFUNC_S} $5 $1 0 TextFunc_ConfigWrite${_TEXTFUNC_S}_readnext
+
+	StrCpy $5 0
+	IntOp $5 $5 - 1
+	StrCpy $6 $4 1 $5
+	StrCmp${_TEXTFUNC_S} $6 '$\r' -2
+	StrCmp${_TEXTFUNC_S} $6 '$\n' -3
+	StrCpy $6 $4
+	StrCmp${_TEXTFUNC_S} $5 -1 +3
+	IntOp $5 $5 + 1
+	StrCpy $6 $4 $5
+
+	StrCmp${_TEXTFUNC_S} $2 '' TextFunc_ConfigWrite${_TEXTFUNC_S}_change
+	StrCmp${_TEXTFUNC_S} $6 '$1$2' 0 TextFunc_ConfigWrite${_TEXTFUNC_S}_change
+	StrCpy $0 SAME
+	goto TextFunc_ConfigWrite${_TEXTFUNC_S}_close
+
+	TextFunc_ConfigWrite${_TEXTFUNC_S}_change:
+	FileSeek $3 0 CUR $5
+	StrLen $4 $4
+	IntOp $4 $5 - $4
+	FileSeek $3 0 END $6
+	IntOp $6 $6 - $5
+
+	System::Alloc $6
+	Pop $0
+	FileSeek $3 $5 SET
+	System::Call 'kernel32::ReadFile(i r3, i r0, i $6, t.,)'
+	FileSeek $3 $4 SET
+	StrCmp${_TEXTFUNC_S} $2 '' +2
+	FileWrite $3 '$1$2$\r$\n'
+	System::Call 'kernel32::WriteFile(i r3, i r0, i $6, t.,)'
+	System::Call 'kernel32::SetEndOfFile(i r3)'
+	System::Free $0
+	StrCmp${_TEXTFUNC_S} $2 '' +3
+	StrCpy $0 CHANGED
+	goto TextFunc_ConfigWrite${_TEXTFUNC_S}_close
+	StrCpy $0 DELETED
+	goto TextFunc_ConfigWrite${_TEXTFUNC_S}_close
+
+	TextFunc_ConfigWrite${_TEXTFUNC_S}_add:
+	StrCmp${_TEXTFUNC_S} $2 '' 0 +3
+	StrCpy $0 SAME
+	goto TextFunc_ConfigWrite${_TEXTFUNC_S}_close
+	FileSeek $3 -1 END
+	FileRead $3 $4
+	IfErrors +4
+	StrCmp${_TEXTFUNC_S} $4 '$\r' +3
+	StrCmp${_TEXTFUNC_S} $4 '$\n' +2
+	FileWrite $3 '$\r$\n'
+	FileWrite $3 '$1$2$\r$\n'
+	StrCpy $0 ADDED
+
+	TextFunc_ConfigWrite${_TEXTFUNC_S}_close:
+	FileClose $3
+	goto TextFunc_ConfigWrite${_TEXTFUNC_S}_end
+
+	TextFunc_ConfigWrite${_TEXTFUNC_S}_error:
+	SetErrors
+	StrCpy $0 ''
+
+	TextFunc_ConfigWrite${_TEXTFUNC_S}_end:
+	Pop $6
+	Pop $5
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Exch $0
+!macroend
+
+!define ConfigWrite `!insertmacro ConfigWriteCall`
+!define un.ConfigWrite `!insertmacro ConfigWriteCall`
+
+!macro ConfigWrite
+!macroend
+
+!macro un.ConfigWrite
+!macroend
+
+!macro ConfigWrite_
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+
+	!insertmacro ConfigWriteBody ''
+
+	!verbose pop
+!macroend
+
+!define ConfigWriteS `!insertmacro ConfigWriteSCall`
+!define un.ConfigWriteS `!insertmacro ConfigWriteSCall`
+
+!macro ConfigWriteS
+!macroend
+
+!macro un.ConfigWriteS
+!macroend
+
+!macro ConfigWriteS_
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+
+	!insertmacro ConfigWriteBody 'S'
+
+	!verbose pop
+!macroend
+
+!define FileRecode `!insertmacro FileRecodeCall`
+!define un.FileRecode `!insertmacro FileRecodeCall`
+
+!macro FileRecode
+!macroend
+
+!macro un.FileRecode
+!macroend
+
+!macro FileRecode_
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+
+	Exch $1
+	Exch
+	Exch $0
+	Exch
+	Push $2
+	Push $3
+	Push $4
+
+	IfFileExists $0 0 TextFunc_FileRecode_error
+	StrCmp $1 OemToChar +2
+	StrCmp $1 CharToOem 0 TextFunc_FileRecode_error
+
+	FileOpen $2 $0 a
+	FileSeek $2 0 END $3
+	System::Alloc $3
+	Pop $4
+	FileSeek $2 0 SET
+	System::Call 'kernel32::ReadFile(i r2, i r4, i $3, t.,)'
+	System::Call 'user32::$1Buff(i r4, i r4, i $3)'
+	FileSeek $2 0 SET
+	System::Call 'kernel32::WriteFile(i r2, i r4, i $3, t.,)'
+	System::Free $4
+	FileClose $2
+	goto TextFunc_FileRecode_end
+
+	TextFunc_FileRecode_error:
+	SetErrors
+
+	TextFunc_FileRecode_end:
+	Pop $4
+	Pop $3
+	Pop $2
+	Pop $1
+	Pop $0
+
+	!verbose pop
+!macroend
+
+!define TrimNewLines `!insertmacro TrimNewLinesCall`
+!define un.TrimNewLines `!insertmacro TrimNewLinesCall`
+
+!macro TrimNewLines
+!macroend
+
+!macro un.TrimNewLines
+!macroend
+
+!macro TrimNewLines_
+	!verbose push
+	!verbose ${_TEXTFUNC_VERBOSE}
+
+	Exch $0
+	Push $1
+	Push $2
+
+	StrCpy $1 0
+	IntOp $1 $1 - 1
+	StrCpy $2 $0 1 $1
+	StrCmp $2 '$\r' -2
+	StrCmp $2 '$\n' -3
+	StrCmp $1 -1 +3
+	IntOp $1 $1 + 1
+	StrCpy $0 $0 $1
+
+	Pop $2
+	Pop $1
+	Exch $0
+
+	!verbose pop
+!macroend
+
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Include/Colors.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/Colors.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/Colors.nsh	(revision 2961)
@@ -0,0 +1,75 @@
+!ifndef COLORS_NSH
+!define COLORS_NSH
+
+!verbose push
+!verbose 3
+
+# Squad
+# Rob Segal
+# Joel
+# Yathosho
+
+
+# Predefined HTML Hex colors
+!define WHITE "FFFFFF"
+!define BLACK "000000"
+!define YELLOW "FFFF00"
+!define RED "FF0000"
+!define GREEN "00FF00"
+!define BLUE "0000FF"
+!define MAGENTA "FF00FF"
+!define CYAN "00FFFF"
+
+# Function to convert red , green and blue integer values to HTML Hex format
+!define RGB '!insertmacro rgb2hex'
+
+# Function to convert red, green and blue integer values to Hexadecimal (0xRRGGBB) format
+!define HEX '!insertmacro rgb2hex2'
+
+# Function to get the r value from a RGB number
+!define GetRvalue '!insertmacro redvalue'
+
+# Function to get the g value from a RGB number
+!define GetGvalue '!insertmacro greenvalue'
+
+# Function to get the b value from a RGB number
+!define GetBvalue '!insertmacro bluevalue'
+
+# Function to get the r value from a Hex number
+!define GetRvalueX '!insertmacro bluevalue'
+
+# Function to get the g value from a Hex number
+!define GetGvalueX '!insertmacro greenvalue'
+
+# Function to get the r value from a HEX number
+!define GetBvalueX '!insertmacro redvalue'
+
+!macro rgb2hex output R G B
+IntFmt "${output}" "%02X" "${R}"
+IntFmt "${output}" "${output}%02X" "${G}"
+IntFmt "${output}" "${output}%02X" "${B}"
+!macroend
+
+!macro rgb2hex2 output R G B
+IntFmt "${output}" "%02X" "${B}"
+IntFmt "${output}" "${output}%02X" "${G}"
+IntFmt "${output}" "${output}%02X" "${R}"
+!macroend
+
+!macro redvalue output hexval
+StrCpy ${output} ${hexval} 2 0
+IntFmt "${output}" "%02i" "0x${output}"
+!macroend
+
+!macro greenvalue output hexval
+StrCpy ${output} ${hexval} 2 2
+IntFmt "${output}" "%02i" "0x${output}"
+!macroend
+
+!macro bluevalue output hexval
+StrCpy ${output} ${hexval} 2 4
+IntFmt "${output}" "%02i" "0x${output}"
+!macroend
+
+!verbose pop
+!endif
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Include/VB6RunTime.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Include/VB6RunTime.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Include/VB6RunTime.nsh	(revision 2961)
@@ -0,0 +1,90 @@
+/*
+
+VB6RunTime.nsh
+
+Setup of Visual Basic 6.0 run-time files, including the Oleaut32.dll security update
+
+Copyright 2008-2015 Joost Verburg
+
+To obtain the run-time files, download and extract
+http://nsis.sourceforge.net/vb6runtime.zip
+
+Script code for installation:
+
+!insertmacro InstallVB6RunTime FOLDER ALREADY_INSTALLED
+
+in which FOLDER is the location of the run-time files and ALREADY_INSTALLED is the
+name of a variable that is empty when the application is installed for the first time
+and non-empty otherwise
+
+Script code for uninstallation:
+
+!insertmacro UnInstallVB6RunTime
+
+Remarks:
+
+* You may have to install additional files for such Visual Basic application to work,
+  such as OCX files for user interface controls.
+  
+* Installation of the run-time files requires Administrator or Power User privileges.
+  Use the Multi-User header file to verify whether these privileges are available.
+
+* Add a Modern UI finish page or another check (see IfRebootFlag in the NSIS Users
+  Manual) to allow the user to restart the computer when necessary.
+
+*/
+
+!ifndef VB6_INCLUDED
+!define VB6_INCLUDED
+!verbose push
+!verbose 3
+
+!include Library.nsh
+!include WinVer.nsh
+
+!macro VB6RunTimeInstall FOLDER ALREADY_INSTALLED
+
+  !insertmacro InstallLib REGDLL "${ALREADY_INSTALLED}" REBOOT_PROTECTED "${FOLDER}\msvbvm60.dll" "$SYSDIR\msvbvm60.dll" "$SYSDIR"
+  
+  ;The files below will only be installed on Win9x/NT4
+  
+  !insertmacro InstallLib REGDLL "${ALREADY_INSTALLED}" REBOOT_PROTECTED    "${FOLDER}\olepro32.dll" "$SYSDIR\olepro32.dll" "$SYSDIR"
+  !insertmacro InstallLib REGDLL "${ALREADY_INSTALLED}" REBOOT_PROTECTED    "${FOLDER}\comcat.dll"   "$SYSDIR\comcat.dll"   "$SYSDIR"
+  !insertmacro InstallLib DLL    "${ALREADY_INSTALLED}" REBOOT_PROTECTED    "${FOLDER}\asycfilt.dll" "$SYSDIR\asycfilt.dll" "$SYSDIR"
+  !insertmacro InstallLib TLB    "${ALREADY_INSTALLED}" REBOOT_PROTECTED    "${FOLDER}\stdole2.tlb"  "$SYSDIR\stdole2.tlb"  "$SYSDIR"
+  
+  Push $R0
+  
+  ${if} ${IsNT}
+    ${if} ${IsWinNT4}
+      ReadRegStr $R0 HKLM "System\CurrentControlSet\Control" "ProductOptions"
+      ${if} $R0 == "Terminal Server"
+        !insertmacro InstallLib REGDLL "${ALREADY_INSTALLED}" REBOOT_NOTPROTECTED "${FOLDER}\NT4TS\oleaut32.dll" "$SYSDIR\oleaut32.dll" "$SYSDIR"
+      ${else}
+        !insertmacro InstallLib REGDLL "${ALREADY_INSTALLED}" REBOOT_NOTPROTECTED "${FOLDER}\NT4\oleaut32.dll" "$SYSDIR\oleaut32.dll" "$SYSDIR"
+      ${endif}
+    ${endif}
+  ${else}
+    ;No Oleaut32.dll with the security update has been released for Windows 9x.
+    ;The NT4 version is used because NT4 and Win9x used to share the same 2.40 version
+    ;and version 2.40.4519.0 is reported to work fine on Win9x.
+    !insertmacro InstallLib REGDLL "${ALREADY_INSTALLED}" REBOOT_NOTPROTECTED "${FOLDER}\NT4\oleaut32.dll" "$SYSDIR\oleaut32.dll" "$SYSDIR"
+  ${endif}
+  
+  Pop $R0
+
+!macroend
+
+!macro VB6RunTimeUnInstall
+
+   !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\msvbvm60.dll"
+   !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\oleaut32.dll"
+   !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\olepro32.dll"
+   !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\comcat.dll"
+   !insertmacro UnInstallLib DLL    SHARED NOREMOVE "$SYSDIR\asycfilt.dll"
+   !insertmacro UnInstallLib TLB    SHARED NOREMOVE "$SYSDIR\stdole2.tlb"
+
+!macroend
+
+!verbose pop
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Menu/images/site.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Menu/images/site.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Menu/images/line.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Menu/images/line.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Menu/images/header.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Menu/images/header.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Menu/index.html
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Menu/index.html	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Menu/index.html	(revision 2961)
@@ -0,0 +1,63 @@
+<html>
+<body link="#0C6E97">
+    <div>
+        <img src="images/header.gif" width="598" height="45"></div>
+    <table border="0">
+        <tr>
+            <td width="20">
+            </td>
+            <td width="190" valign="top">
+                <p>
+                    <font size="+1" color="#333333"><b>Compiler</b></font><br>
+                    <a href="EX:makensisw.exe">Compile NSI scripts</a><br>
+                    <a href="EX:Bin\zip2exe.exe">Installer based on ZIP file</a><br>
+                    <br>
+                    <br>
+                    <br>
+                </p>
+                <p>
+                    <font size="+1" color="#333333"><b>Developer Center</b></font><br>
+                    Many more examples, tutorials, plug-ins and NSIS-releted software are available
+                    at the on-line <a href="EX:http://nsis.sourceforge.net/Developer_Center">Developer Center</a>.
+                </p>
+				</td>
+			<td width="150" valign="top">
+				<p>
+					<font size="+1" color="#333333"><b>Documentation</b></font><br>
+					<a href="EX:NSIS.chm">NSIS Users Manual</a><br>
+					<a href="EX:Examples">Example scripts</a><br>
+					<a href="EX:Docs\Modern UI 2\Readme.html">Modern UI 2</a><br>
+					<a href="EX:Docs\MultiUser\Readme.html">Multi-User Header File</a><br>
+					<a href="EX:Docs\StrFunc\StrFunc.txt">StrFunc Header File</a></p>
+				<p>
+					<font size="+1" color="#333333"><b>On-line help</b></font><br>
+					<a href="EX:http://forums.winamp.com/forumdisplay.php?s=&forumid=65">Forum</a><br>
+					<a href="EX:http://nsis.sourceforge.net/FAQ">FAQ</a><br>
+					<a href="EX:irc://irc.landoleet.org/nsis">IRC Channel</a><br>
+					<a href="EX:http://sourceforge.net/tracker/?group_id=22049&atid=373085">Bug Tracker</a><br>
+			</td>
+			<td valign="top">
+				<p>
+					<font size="+1" color="#333333"><b>Plug-ins</b></font><br>
+					<a href="EX:Docs\AdvSplash\advsplash.txt">AdvSplash</a> - splash with fade in/out<br>
+					<a href="EX:Docs\Banner\Readme.txt">Banner</a> - banner with custom text<br>
+					<a href="EX:Docs\BgImage\BgImage.txt">BgImage</a> - background image<br>
+					<a href="EX:Docs\Dialer\Dialer.txt">Dialer</a> - internet connection<br>
+					<a href="EX:Docs\Math\Math.txt">Math</a> - math operations<br>
+					<a href="EX:Docs\nsDialogs\Readme.html">nsDialogs</a> - custom wizard pages<br>
+					<a href="EX:Docs\nsExec\nsExec.txt">nsExec</a> - launch command line tools<br>
+					<a href="EX:Docs\NSISdl\Readme.txt">NSISdl</a> - download files<br>
+					<a href="EX:Docs\Splash\splash.txt">Splash</a> - splash screen<br>
+					<a href="EX:Docs\StartMenu\Readme.txt">StartMenu</a> - Start Menu folder selection<br>
+					<a href="EX:Docs\System\System.html">System</a> - Windows API calls<br>
+					<a href="EX:Docs\VPatch\Readme.html">VPatch</a> - update existing files</p>
+			</td>
+        </tr>
+    </table>
+    <p>
+        <img src="images/line.gif" width="598" height="3"></p>
+    <div align="right">
+        <a href="EX:http://nsis.sourceforge.net/">
+            <img src="images/site.gif" width="200" height="25"></a></div>
+</body>
+</html>

Property changes on: tmp/org.txm.setups/nsis-2.5/Menu/index.html
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Unicode/Plugins/AccessControl.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Unicode/Plugins/AccessControl.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Bin/zip2exe.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Bin/zip2exe.exe
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Bin/MakeLangId.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Bin/MakeLangId.exe
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Bin/GenPat.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Bin/GenPat.exe
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Bin/LibraryLocal.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Bin/LibraryLocal.exe
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Bin/RegTool.bin
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Bin/RegTool.bin
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/COPYING
===================================================================
--- tmp/org.txm.setups/nsis-2.5/COPYING	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/COPYING	(revision 2961)
@@ -0,0 +1,144 @@
+COPYRIGHT
+---------
+
+Copyright (C) 1995-2015 Contributors
+
+More detailed copyright information can be found in the individual source code files.
+
+APPLICABLE LICENSES
+-------------------
+
+* All NSIS source code, plug-ins, documentation, examples, header files and graphics, with the exception of the compression modules and where otherwise noted, are licensed under the zlib/libpng license.
+
+* The zlib compression module for NSIS is licensed under the zlib/libpng license.
+
+* The bzip2 compression module for NSIS is licensed under the bzip2 license.
+
+* The LZMA compression module for NSIS is licensed under the Common Public License version 1.0.
+
+ZLIB/LIBPNG LICENSE
+-------------------
+
+This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
+
+      1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
+
+      2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
+
+      3. This notice may not be removed or altered from any source distribution.
+
+BZIP2 LICENSE
+-------------
+
+This program, "bzip2" and associated library "libbzip2", are copyright (C) 1996-2000 Julian R Seward. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+      1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+    
+      2. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
+
+      3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
+
+      4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 THE AUTHOR 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.
+
+Julian Seward, Cambridge, UK.
+
+jseward@acm.org
+
+COMMON PUBLIC LICENSE VERSION 1.0
+---------------------------------
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+      a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+      b) in the case of each subsequent Contributor:
+
+      i) changes to the Program, and
+
+      ii) additions to the Program;
+
+      where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. 
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+      a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+      b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. 
+
+      c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+      d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. 
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+      a) it complies with the terms and conditions of this Agreement; and
+
+      b) its license agreement:
+
+      i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; 
+
+      ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; 
+
+      iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+      iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. 
+
+When the Program is made available in source code form:
+
+      a) it must be made available under this Agreement; and 
+
+      b) a copy of this Agreement must be included with each copy of the Program. 
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. 
+
+SPECIAL EXCEPTION FOR LZMA COMPRESSION MODULE
+---------------------------------------------
+
+Igor Pavlov and Amir Szekely, the authors of the LZMA compression module for NSIS, expressly permit you to statically or dynamically link your code (or bind by name) to the files from the LZMA compression module for NSIS without subjecting your linked code to the terms of the Common Public license version 1.0. Any modifications or additions to files from the LZMA compression module for NSIS, however, are subject to the terms of the Common Public License version 1.0.
Index: tmp/org.txm.setups/nsis-2.5/Docs/InstallOptions/Readme.html
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/InstallOptions/Readme.html	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/InstallOptions/Readme.html	(revision 2961)
@@ -0,0 +1,907 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <title>InstallOptions 2</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
+    <style type="text/css">
+        /*<![CDATA[*/body
+        {
+            padding: 10px;
+            background-color: #F0F0F0;
+            font-family: Verdana, Arial, Helvetica, sans-serif;
+            font-size: 13px;
+            font-weight: normal;
+            text-align: left;
+        }
+        p, li
+        {
+            font-size: 13px;
+        }
+        .center
+        {
+            text-align: center;
+        }
+        table
+        {
+            margin: auto;
+            font-size: 13px;
+            background-color: #FFFFFF;
+        }
+        .maintable
+        {
+            border: 2px solid #376EAB;
+        }
+        .parameter
+        {
+            font-weight: bold;
+            color: #6586AC;
+        }
+        h1
+        {
+            font-size: 30px;
+            color: #333333;
+            font-weight: normal;
+            text-align: center;
+            margin-top: 20px;
+        }
+        h2
+        {
+            font-size: 20px;
+            color: #7A7272;
+            font-weight: normal;
+        }
+        h3
+        {
+            font-size: 17px;
+            font-weight: bold;
+            color: #303030;
+        }
+        pre
+        {
+            font-size: 13px;
+        }
+        div
+        {
+            margin: 20px;
+        }
+        a:link, a:visited, a:active
+        {
+            color: #294F75;
+            text-decoration: none;
+        }
+        a:hover
+        {
+            color: #182634;
+            text-decoration: underline;
+        }
+        .subtable
+        {
+            border: 0px;
+            margin-left: 20px;
+            margin-right: 20px;
+        }
+        .lefttable
+        {
+            background-color: #CCCCCC;
+            vertical-align: top;
+        }
+        .righttable
+        {
+            background-color: #EEEEEE;
+            vertical-align: top;
+        }
+        /*]]>*/</style>
+</head>
+<body>
+    <table width="750" class="maintable" cellspacing="0" cellpadding="0" align="center">
+        <tr>
+            <td>
+                <h1>
+                    InstallOptions 2</h1>
+                <div>
+                    <p>
+                        The InstallOptions plug-in is deprecated. For new scripts, it is recommended to
+                        use the new nsDialogs plug-in instead.</p>
+                </div>
+                <div>
+                    <h2>
+                        Introduction</h2>
+                    <div>
+                        <p>
+                            InstallOptions is an NSIS plugin which allows you to create custom pages for NSIS
+                            installers, to prompt the user for extra information.</p>
+                        <p>
+                            The dialogs created by InstallOptions are based on INI files which define the controls
+                            on the dialog and their properties. These INI files can be modified from the script
+                            to adjust the dialogs on runtime.</p>
+                        <p>
+                            The format of INI files is described in a <a href="http://en.wikipedia.org/wiki/Ini_file">
+                                Wikipedia article</a>.</p>
+                    </div>
+                    <h2>
+                        INI file structure</h2>
+                    <div>
+                        <p>
+                            The INI file has one required section. This section includes the number of controls
+                            to be created as well as general window attributes. The INI file also includes a
+                            variable number of Field sections which are used to create the controls to be displayed.</p>
+                        <p>
+                            The required section is named &quot;<em>Settings</em>&quot;. It can contain the
+                            following values:</p>
+                        <table class="subtable">
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>NumFields</strong></td>
+                                <td class="lefttable">
+                                    <em>(required)</em></td>
+                                <td class="righttable">
+                                    The number of control elements to be displayed on the dialog window.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>Title</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    If specified, gives the text to set the titlebar to. Otherwise, the titlebar text
+                                    is not changed.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>CancelEnabled</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    If specified, overrides NSIS settings and enables or disables the cancel button.
+                                    If set to 1, the cancel button will be enabled. If set to 0, the cancel button will
+                                    be disabled.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>CancelShow</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    If specified, overrides NSIS settings and shows or hides the cancel button If set
+                                    to 1, the cancel button will be shown. If set to 0, the cancel button will be hidden.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>BackEnabled</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    If specified, overrides NSIS settings and enables or disables the back button. If
+                                    set to 1, the back button will be enabled. If set to 0, the back button will be
+                                    disabled.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>CancelButtonText</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    Overrides the text for the cancel button. If not specified, the cancel button text
+                                    will not be changed.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>NextButtonText</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    Overrides the text for the next button. If not specified, the next button text will
+                                    not be changed.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>BackButtonText</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    Overrides the text for the back button. If not specified, the back button text will
+                                    not be changed.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>Rect</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    Overrides the default rect ID to run over. This will make IO resize itself according
+                                    to a different rect than NSIS's dialogs rect.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>RTL</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    If 1 is specified the dialog will be mirrored and all texts will be aligned to the
+                                    right. The INSTALLOPTIONS_EXTRACT macros automatically set this field to the right
+                                    value for the current installer language as given by the NSIS string $(^RTL).</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>State</strong></td>
+                                <td class="lefttable">
+                                    <em>(output)</em></td>
+                                <td class="righttable">
+                                    This is not something you have to supply yourself but is set by InstallOptions,
+                                    before calling your custom page validation function, to the field number of the
+                                    custom Button control (or other control having the Notify flag) the user pressed,
+                                    if any.</td>
+                            </tr>
+                        </table>
+                        <p>
+                            Each field section has the heading &quot;Field #&quot; where # must be sequential
+                            numbers from 1 to NumFields. Each Field section can contain the following values:</p>
+                        <table class="subtable">
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>Type</strong></td>
+                                <td class="lefttable">
+                                    <em>(required)</em></td>
+                                <td class="righttable">
+                                    Type of control to be created. Valid values are &quot;<em>Label</em>&quot;, &quot;<em>Text</em>&quot;,
+                                    &quot;<em>Password</em>&quot;, &quot;<em>Combobox</em>&quot;, &quot;<em>DropList</em>&quot;,
+                                    &quot;<em>Listbox</em>&quot;, &quot;<em>CheckBox</em>&quot;, &quot;<em>RadioButton</em>&quot;,
+                                    &quot;<em>FileRequest</em>&quot;, &quot;<em>DirRequest</em>&quot; &quot;<em>Icon</em>&quot;,
+                                    &quot;<em>Bitmap</em>&quot;, &quot;<em>GroupBox</em>&quot;, &quot;<em>HLine</em>&quot;,
+                                    &quot;<em>VLine</em>&quot;, &quot;<em>Link</em>&quot; or &quot;<em>Button</em>&quot;.<br />
+                                    <br />
+                                    A &quot;<em>Label</em>&quot; is used to display static text. (i.e. a caption for
+                                    a textbox)<br />
+                                    A &quot;<em>Text</em>&quot; and &quot;<em>Password</em>&quot; accept text input
+                                    from the user. &quot;<em>Password</em>&quot; masks the input with * characters.<br />
+                                    A &quot;<em>Combobox</em>&quot; allows the user to type text not in the popup list,
+                                    a &quot;<em>Droplist</em>&quot; only allows selection of items in the list.<br />
+                                    A &quot;<em>Listbox</em>&quot; shows multiple items and can optionally allow the
+                                    user to select more than one item.<br />
+                                    A &quot;<em>CheckBox</em>&quot; control displays a check box with label.<br />
+                                    A &quot;<em>RadioButton</em>&quot; control displays a radio button with label.<br />
+                                    A &quot;<em>FileRequest</em>&quot; control displays a textbox and a browse button.
+                                    Clicking the browse button will display a file requester where the user can browse
+                                    for a file.<br />
+                                    A &quot;<em>DirRequest</em>&quot; control displays a textbox and a browse button.
+                                    Clicking the browse button will display a directory requester where the user can
+                                    browse for a directory.<br />
+                                    An &quot;<em>Icon</em>&quot; control displays an icon. Use no Text to use the installer
+                                    icon.<br />
+                                    A &quot;<em>Bitmap</em>&quot; control displays a bitmap.<br />
+                                    A &quot;<em>GroupBox</em>&quot; control displays a frame to group controls.<br />
+                                    A &quot;<em>HLine</em>&quot; control displays a horizontal line to separate controls.<br />
+                                    A &quot;<em>VLine</em>&quot; control displays a vertical line to separate controls.<br />
+                                    A &quot;<em>Link</em>&quot; control displays a static hot text. When the user clicks
+                                    the control the contents of <strong>State</strong> (e.g. http://...) will be executed
+                                    using ShellExecute. Alternatively <strong>State</strong> can be omitted and the
+                                    <em>NOTIFY</em> flag used to have your NSIS script called. See the &quot;<em>NOTIFY</em>&quot;
+                                    flag below for more information.<br />
+                                    A &quot;<em>Button</em>&quot; control displays a push button that can be used in
+                                    the same way as the &quot;<em>Link</em>&quot; control above.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>Text</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    Specifies the caption of a label, checkbox, or radio button control. For DirRequest
+                                    control this specifies the title of the browse dialog. For icon and bitmaps control
+                                    this specifies the path to the image.<br />
+                                    <br />
+                                    <strong>Note:</strong> For labels, \r\n will be converted to a newline. To use a
+                                    back-slash in your text you have to escape it using another back-slash - \\. Described
+                                    <a href="#escaping">below</a> are NSIS functions for converting text to/from this
+                                    format.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>State</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    Specifies the state of the control. This is updated when the user closes the window,
+                                    so you can read from it from NSIS. For edit texts and dir and file request boxes,
+                                    this is the string that is specified. For radio button and check boxes, this can
+                                    be '0' or '1' (for unchecked or checked). For list boxes, combo boxes and drop lists
+                                    this is the selected items separated by pipes ('|'). For Links and Buttons this
+                                    can specify something to be executed or opened (using ShellExecute).<br />
+                                    <br />
+                                    <strong>Note:</strong> For Text fields with the MULTILINE flag, \r\n will be converted
+                                    to a newline. To use a back-slash in your text you have to escape it using another
+                                    back-slash - \\. Described <a href="#escaping">below</a> are NSIS functions for
+                                    converting text to/from this format.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>ListItems</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    A list of items to display in a combobox, droplist, or listbox.<br />
+                                    This is a single line of text with each item separated by a pipe character '|'</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>MaxLen</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    Causes validation on the selected control to limit the maximum length of text.<br />
+                                    If the user specifies more text than this, a message box will appear when they click
+                                    &quot;OK&quot; and the dialog will not be dismissed.<br />
+                                    You should not use this on a &quot;<em>combobox</em>&quot; since the user can not
+                                    control what is selected.<br />
+                                    This should be set to a maximum of 260 for &quot;<em>FileRequest</em>&quot; and
+                                    &quot;<em>DirRequest</em>&quot; controls.<br />
+                                    Ignored on &quot;<em>Label</em>&quot; controls.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>MinLen</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    Causes validation on the selected control to force the user to enter a minimum amount
+                                    of text.<br />
+                                    If the user specifies less text than this, a message box will appear when they click
+                                    &quot;OK&quot; and the dialog will not be dismissed.<br />
+                                    Unlike MaxLen, this is useful for &quot;<em>Combobox</em>&quot; controls. By setting
+                                    this to a value of &quot;1&quot; the program will force the user to select an item.<br />
+                                    Ignored on &quot;<em>Label</em>&quot; controls.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>ValidateText</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    If the field fails the test for &quot;<em>MinLen</em>&quot; or &quot;<em>MaxLen</em>&quot;,
+                                    a messagebox will be displayed with this text.<br />
+                                    <br />
+                                    <strong>Note:</strong> \r\n will be converted to a newline, two back-slashes will
+                                    be converted to one - \\. Described <a href="#escaping">below</a> are NSIS functions
+                                    for converting text to/from this format.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>Left<br />
+                                        Right<br />
+                                        Top<br />
+                                        Bottom</strong></td>
+                                <td class="lefttable">
+                                    <em>(required)</em></td>
+                                <td class="righttable">
+                                    The position on the dialog where this control appears. All sizes should be set in
+                                    dialog units. To get the right dimensions for your controls, design your dialog
+                                    using a resource editor and copy the dimensions to the INI file.<br />
+                                    <br />
+                                    <strong>Note:</strong> You can specify negative coordinates to specify the distance
+                                    from the right or bottom edge.<br />
+                                    <br />
+                                    <strong>Note (2):</strong> For combobox or droplist, the &quot;<em>bottom</em>&quot;
+                                    value is not used in the same way.<br />
+                                    In this case, the bottom value is the maximum size of the window when the pop-up
+                                    list is being displayed. All other times, the combobox is automatically sized to
+                                    be one element tall. If you have trouble where you can not see the combobox drop-down,
+                                    then check the bottom value and ensure it is large enough. A rough guide for the
+                                    height required is the number of items in the list multiplied by 8, plus 20.<br />
+                                    <br />
+                                    <strong>Note (3):</strong> FileRequest and DirRequest controls will allocate 15
+                                    dialog units to the browse button. Make this control wide enough the contents of
+                                    the textbox can be seen.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>Filter</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    Specifies the filter to be used in the &quot;<em>FileRequest</em>&quot; control.<br />
+                                    This is constructed by putting pairs of entries together, each item separated by
+                                    a | character.<br />
+                                    The first value in each pair is the text to display for the filter.<br />
+                                    The second value is the pattern to use to match files.<br />
+                                    For example, you might specify:<br />
+                                    Filter=Text Files|*.txt|Programs|*.exe;*.com|All Files|*.*<br />
+                                    If not specified, then the filter defaults to All Files|*.*<br />
+                                    <br />
+                                    <strong>Note:</strong> you should not put any extra spaces around the | characters.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>Root</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    Used by <strong>DirRequest</strong> controls to specify the root directory of the
+                                    search. By default, this allows the user to browse any directory on the computer.
+                                    This will limit the search to a particular directory on the system.</td>
+                            </tr>
+                            <tr>
+                                <td class="lefttable">
+                                    <strong>Flags</strong></td>
+                                <td class="lefttable">
+                                    <em>(optional)</em></td>
+                                <td class="righttable">
+                                    This specifies additional flags for the display of different controls. Each value
+                                    should be separated by a | character, and you should be careful not to put any spaces
+                                    around the | character.<br />
+                                    <table class="righttable">
+                                        <tr>
+                                            <td class="righttable">
+                                                <strong>Value</strong></td>
+                                            <td class="righttable">
+                                                <strong>Meaning</strong></td>
+                                        </tr>
+                                        <tr>
+                                            <td class="righttable">
+                                                REQ_SAVE</td>
+                                            <td class="righttable">
+                                                This causes &quot;<em>FileRequest</em>&quot; controls to display a Save As dialog.
+                                                If not specified, an Open dialog is used.</td>
+                                        </tr>
+                                        <tr>
+                                            <td class="righttable">
+                                                FILE_MUST_EXIST</td>
+                                            <td class="righttable">
+                                                Used by &quot;<em>FileRequest</em>&quot; to determine if the selected file must
+                                                exist.<br />
+                                                This only applies if an &quot;Open&quot; dialog is being displayed.<br />
+                                                This currently does not force the file to exist other than through the browse button.</td>
+                                        </tr>
+                                        <tr>
+                                            <td class="righttable">
+                                                FILE_EXPLORER</td>
+                                            <td class="righttable">
+                                                Used by &quot;<em>FileRequest</em>&quot;, enables new file request look (recommended)</td>
+                                        </tr>
+                                        <tr>
+                                            <td class="righttable">
+                                                FILE_HIDEREADONLY</td>
+                                            <td class="righttable">
+                                                Used by &quot;<em>FileRequest</em>&quot;, hides &quot;open read only&quot; checkbox
+                                                in open dialog.</td>
+                                        </tr>
+                                        <tr>
+                                            <td class="righttable">
+                                                WARN_IF_EXIST</td>
+                                            <td class="righttable">
+                                                Used by &quot;<em>FileRequest</em>&quot; to display a warning message if the selected
+                                                file already exists.<br />
+                                                The warning message is only displayed for files selected with the browse button.</td>
+                                        </tr>
+                                        <tr>
+                                            <td class="righttable">
+                                                PATH_MUST_EXIST</td>
+                                            <td class="righttable">
+                                                Used by &quot;<em>FileRequest</em>&quot; to force the path to exist. Prevents the
+                                                user from typing a non-existent path into the browse dialog window.<br />
+                                                This only validates path's selected with the browse button.</td>
+                                        </tr>
+                                        <tr>
+                                            <td class="righttable">
+                                                PROMPT_CREATE</td>
+                                            <td class="righttable">
+                                                Used by &quot;<em>FileRequest</em>&quot; to display a warning if the selected file
+                                                does not exist. However, it still allows the user to select the file.<br />
+                                                This only displays the warning for files selected with the browse button.<br />
+                                                Doesn't work along with REQ_SAVE.</td>
+                                        </tr>
+                                        <tr>
+                                            <td class="righttable">
+                                                RIGHT</td>
+                                            <td class="righttable">
+                                                Used by &quot;<em>Checkbox</em>&quot; and &quot;<em>Radiobutton</em>&quot; controls
+                                                to specify you want the checkbox to the right of the text instead of the left as
+                                                is the default.</td>
+                                        </tr>
+                                        <tr>
+                                            <td class="righttable">
+                                                MULTISELECT</td>
+                                            <td class="righttable">
+                                                Used by &quot;<em>Listbox</em>&quot; controls. Turns string selection on or off
+                                                each time the user clicks or double-clicks a string in the list box. The user can
+                                                select any number of strings. If this flag and EXTENDEDSELCT are not specified,
+                                                only one item can be selected from the list.</td>
+                                        </tr>
+                                        <tr>
+                                            <td class="righttable">
+                                                EXTENDEDSELCT</td>
+                                            <td class="righttable">
+                                                Used by &quot;<em>Listbox</em>&quot; controls. Allows multiple items to be selected
+                                                by using the SHIFT key and the mouse or special key combinations. If this flag and
+                                                MULTISELECT are not specified, only one item can be selected from the list.</td>
+                                        </tr>
+                                        <tr>
+                                            <td class="righttable">
+                                                RESIZETOFIT</td>
+                                            <td class="righttable">
+                                                This causes &quot;<em>Bitmap</em>&quot; controls to resize the image to the size
+                                                of the control. Also useful to support custom DPI settings. Without this, the image
+                                                will be centered within the specified area.</td>
+                                        </tr>
+                                        <td class="righttable">
+                                            TRANSPARENT</td>
+                                        <td class="righttable">
+                                            Used by &quot;<em>Bitmap</em>&quot; controls. Hides every pixel with the same color
+                                            as of the top left pixel. This allows to see-through to controls behind it. This
+                                            flag doesn't work well with a combination of the RESIZETOFIT flag and bitmaps with
+                                            more than 256 colors.</td>
+                            </tr>
+                            <tr>
+                                <td class="righttable">
+                                    GROUP</td>
+                                <td class="righttable">
+                                    Add this flag to the first control of a group of controls to group them. Grouping
+                                    controls allows you to create multiple groups of radio button and makes keyboard
+                                    navigation using arrow keys easier.</td>
+                            </tr>
+                            <tr>
+                                <td class="righttable">
+                                    FOCUS</td>
+                                <td class="righttable">
+                                    Sets focus on the specified control, instead of the first focusable control. If
+                                    more than one field is specified with this flag, only the first one will receive
+                                    focus.</td>
+                            </tr>
+                            <tr>
+                                <td class="righttable">
+                                    NOTABSTOP</td>
+                                <td class="righttable">
+                                    Do not stop on the control when the user pressed the Tab key. Add NOTABSTOP to all
+                                    controls of a group except the first one to allow navigation between groups with
+                                    the Tab key.</td>
+                            </tr>
+                            <tr>
+                                <td class="righttable">
+                                    DISABLED</td>
+                                <td class="righttable">
+                                    Causes a control to be disabled.</td>
+                            </tr>
+                            <tr>
+                                <td class="righttable">
+                                    ONLY_NUMBERS</td>
+                                <td class="righttable">
+                                    Used by &quot;<em>Text</em>&quot; controls. Forces the user to enter only numbers
+                                    into the edit box.</td>
+                            </tr>
+                            <tr>
+                                <td class="righttable">
+                                    MULTILINE</td>
+                                <td class="righttable">
+                                    Used by &quot;<em>Text</em>&quot; controls. Causes the control to accept multiple-lines.</td>
+                            </tr>
+                            <tr>
+                                <td class="righttable">
+                                    WANTRETURN</td>
+                                <td class="righttable">
+                                    Used by &quot;<em>Text</em>&quot; controls with multiple-line. Specifies that a
+                                    carriage return be inserted when the user presses the ENTER key while entering text
+                                    into the text box.</td>
+                            </tr>
+                            <tr>
+                                <td class="righttable">
+                                    NOWORDWRAP</td>
+                                <td class="righttable">
+                                    Used by &quot;<em>Text</em>&quot; controls with multiple-line. Disables the word-wrap
+                                    that occurs when long lines are entered. Long lines instead scroll off to the side.
+                                    Specifying the HSCROLL flag also has this effect.</td>
+                            </tr>
+                            <tr>
+                                <td class="righttable">
+                                    HSCROLL</td>
+                                <td class="righttable">
+                                    Show a horizontal scrollbar. When used by &quot;<em>Text</em>&quot; controls with
+                                    multiple-lines this also disables word-wrap.</td>
+                            </tr>
+                            <tr>
+                                <td class="righttable">
+                                    VSCROLL</td>
+                                <td class="righttable">
+                                    Show a vertical scrollbar.</td>
+                            </tr>
+                            <tr>
+                                <td class="righttable">
+                                    READONLY</td>
+                                <td class="righttable">
+                                    Used by &quot;<em>Text</em>&quot; controls. Prevents the user from entering or editing
+                                    text in the edit control, but allow the user to select and copy the text.</td>
+                            </tr>
+                            <tr>
+                                <td class="righttable">
+                                    NOTIFY</td>
+                                <td class="righttable">
+                                    Used by &quot;<em>Button</em>&quot;, &quot;<em>Link</em>&quot;, &quot;<em>CheckBox</em>&quot;,
+                                    &quot;<em>RadioButton</em>&quot;, &quot;<em>ListBox</em>&quot; and &quot;<em>DropList</em>&quot;
+                                    controls. Causes InstallOptions to call your NSIS custom page validation/leave function
+                                    whenever the control's selection changes. Your validation/leave function can read
+                                    the &quot;<em>State</em>&quot; value from the &quot;<em>Settings</em>&quot; section
+                                    to determine which control caused the notification, if any, and perform some appropriate
+                                    action followed by an Abort instruction (to tell NSIS to return to the page). The
+                                    Examples\InstallOptions folder contains an example script showing how this might
+                                    be used.</td>
+                            </tr>
+                        </table>
+            </td>
+        </tr>
+        <tr>
+            <td class="lefttable">
+                <strong>TxtColor</strong></td>
+            <td class="lefttable">
+                <em>(optional)</em></td>
+            <td class="righttable">
+                Used by <strong>Link</strong> controls to specify the foreground color of the text.
+                Format: 0xBBGGRR (hexadecimal).</td>
+        </tr>
+        <tr>
+            <td class="lefttable">
+                <strong>HWND<br>
+                    HWND2</strong></td>
+            <td class="lefttable">
+                <em>(output)</em></td>
+            <td class="righttable">
+                After initDialog returns, this will contain the HWND of the control created by this
+                field. It can be used instead of FindWindow and GetDlgItem. HWND2 contains the HWND
+                of an additional control, such as the browse button.</td>
+        </tr>
+    </table>
+    </div>
+    <h2>
+        Header file</h2>
+    <div>
+        <p>
+            The InstallOptions header files provides macros and functions to easily create custom
+            dialogs. You can include it on the top of your script as follows:
+            <pre>
+!include InstallOptions.nsh
+</pre>
+    </div>
+    <h2>
+        Creating dialogs</h2>
+    <div>
+        <h3>
+            Extracting the INI file</h3>
+        <div>
+            <p>
+                First, you have to extract your InstallOptions INI files in the .onInit function
+                (or un.onInit for the uninstaller) using the INSTALLOPTIONS_EXTRACT macro. The files
+                will be extracted to a temporary folder (the NSIS plug-ins folder) that is automatically
+                created.</p>
+            <pre>
+Function .onInit
+  !insertmacro INSTALLOPTIONS_EXTRACT &quot;ioFile.ini&quot;
+FunctionEnd
+</pre>
+            <p>
+                If the INI file is located in another directory, use INSTALLOPTIONS_EXTRACT_AS.
+                The second parameter is the filename in the temporary folder, which is the filename
+                that should be used as input for the other macros.</p>
+            <pre>
+Function .onInit
+  !insertmacro INSTALLOPTIONS_EXTRACT_AS &quot;..\ioFile.ini&quot; &quot;ioFile.ini&quot;
+FunctionEnd
+</pre>
+        </div>
+        <h3>
+            Displaying the dialog</h3>
+        <div>
+            <p>
+                You can call InstallOptions in a page function defined with the Page or UninstPage
+                command. Check the NSIS documentation (Scripting Reference -&gt; Pages) for information
+                about the page system.</p>
+            <pre>
+Page custom CustomPageFunction</pre>
+            <p>
+                To display the dialog, use the INSTALLOPTIONS_DISPLAY macro:<pre>
+Function CustomPageFunction ;Function name defined with Page command
+  !insertmacro INSTALLOPTIONS_DISPLAY &quot;ioFile.ini&quot;
+FunctionEnd
+</pre>
+        </div>
+    </div>
+    <h2>
+        User input</h2>
+    <div>
+        <p>
+            To get the input of the user, read the State value of a Field using the INSTALLOPTIONS_READ
+            macro:</p>
+        <pre>
+!insertmacro INSTALLOPTIONS_READ $VAR &quot;ioFile.ini&quot; &quot;Field #&quot; &quot;Name&quot;
+</pre>
+    </div>
+    <h2>
+        Writing to INI files</h2>
+    <div>
+        <p>
+            The INSTALLOPTIONS_WRITE macro allows you to write values to the INI file to change
+            texts or control settings on runtime:
+            <pre>
+!insertmacro INSTALLOPTIONS_WRITE &quot;ioFile.ini&quot; &quot;Field #&quot; &quot;Name&quot; &quot;Value&quot;
+</pre>
+    </div>
+    <h2>
+        Escaped values</h2>
+    <div>
+        <p>
+            Some InstallOptions values are escaped (in a similar manner to &quot;C&quot; strings)
+            to allow characters to be used that are not normally valid in INI file values. The
+            affected values are:</p>
+        <ul>
+            <li>The ValidateText field</li>
+            <li>The Text value of Label fields</li>
+            <li>The State value of Text fields that have the MULTILINE flag</li>
+        </ul>
+        <p>
+            The escape character is the back-slash character (&quot;\&quot;) and the available
+            escape sequences are:</p>
+        <table class="subtable">
+            <tr>
+                <td class="lefttable">
+                    &quot;\\&quot;</td>
+                <td class="righttable">
+                    Back-slash</td>
+            </tr>
+            <tr>
+                <td class="lefttable">
+                    &quot;\r&quot;</td>
+                <td class="righttable">
+                    Carriage return (ASCII 13)</td>
+            </tr>
+            <tr>
+                <td class="lefttable">
+                    &quot;\n&quot;</td>
+                <td class="righttable">
+                    Line feed (ASCII 10)</td>
+            </tr>
+            <tr>
+                <td class="lefttable">
+                    &quot;\t&quot;</td>
+                <td class="righttable">
+                    Tab (ASCII 9)</td>
+            </tr>
+        </table>
+        <p>
+            The INSTALLOPTIONS_READ_CONVERT and INSTALLOPTIONS_WRITE_CONVERT macros automatically
+            convert these characters in installer code. In uninstaller code, use INSTALLOPTIONS_READ_UNCONVERT
+            and INSTALLOPTIONS_WRITE_UNCONVERT.</p>
+        <p>
+            To use these macros in your script, the conversion functions need to be included:</p>
+        <pre>
+;For INSTALLOPTIONS_READ_CONVERT
+  !insertmacro INSTALLOPTIONS_FUNCTION_READ_CONVERT
+;For INSTALLOPTIONS_WRITE_CONVERT
+  !insertmacro INSTALLOPTIONS_FUNCTION_WRITE_CONVERT
+;For INSTALLOPTIONS_READ_UNCONVERT
+  !insertmacro INSTALLOPTIONS_UNFUNCTION_READ_CONVERT
+;For INSTALLOPTIONS_WRITE_UNCONVERT
+  !insertmacro INSTALLOPTIONS_UNFUNCTION_WRITE_CONVERT
+</pre>
+    </div>
+    <h2>
+        Input validation</h2>
+    <div>
+        <p>
+            To validate the user input (for example, to check whether the user has filled in
+            a textbox) use the leave function of the Page command and Abort when the validation
+            has failed:</p>
+        <pre>
+Function ValidateCustom
+
+  !insertmacro INSTALLOPTIONS_READ $R0 "test.ini" "Field 1" "State"
+  StrCmp $R0 "" 0 +3
+    MessageBox MB_ICONEXCLAMATION|MB_OK "Please enter your name."
+    Abort
+
+FunctionEnd
+</pre>
+    </div>
+    <h2>
+        Return value</h2>
+    <div>
+        After a dialog is created (using display or show), a return value is available:</p>
+        <ul>
+            <li>success - The user has pressed the Next button</li>
+            <li>back - The user has pressed the Back button</li>
+            <li>cancel - The user has pressed the Cancel button</li>
+            <li>error - An error has occurred, the dialog cannot be displayed.</li>
+        </ul>
+        <p>
+            You only have to check this value if you need something really special, such as
+            doing something when the user pressed the Back button.</p>
+        <p>
+            If you need the return value, use the INSTALLOPTIONS_DISPLAY_RETURN or INSTALLOPTIONS_SHOW_RETURN
+            macro. The return value will be added to the stack, so you can use the Pop command
+            to get it.</p>
+    </div>
+    <h2>
+        Reserve files</h2>
+    <div>
+        <p>
+            When using solid compression, it's important that files which are being extracted
+            in user interface functions are located before other files in the data block. Otherwise
+            there may be a delay before a page can be displayed.</p>
+        <p>
+            To ensure that this is the case, add ReserveFile commands for InstallOptions and
+            the INI files before all sections and functions:</p>
+        <pre>
+ReserveFile &quot;test.ini&quot;
+ReserveFile &quot;${NSISDIR}\Plugins\InstallOptions.dll&quot;
+</pre>
+    </div>
+    <h2>
+        Fonts and colors</h2>
+    <div>
+        <p>
+            To customize fonts or colors on InstallOptions dialogs, the INSTALLOPTIONS_INITDIALOG
+            and INSTALLOPTIONS_SHOW macro can be used.</p>
+        <p>
+            INSTALLOPTIONS_INITDIALOG creates the dialog in memory, but does not show it. After
+            inserting this macro, you can set the fonts and colors, and then insert INSTALLOPTIONS_SHOW
+            to show the dialog.</p>
+        <p>
+            The INSTALLOPTIONS_INITDIALOG macro also pushes the HWND of the custom dialog to
+            the stack. Control HWND's are available for each control in the HWND entry of the
+            corresponding field in the INI file.</p>
+        <p>
+            Example of using a custom font:</p>
+        <pre>
+Var HWND
+Var DLGITEM
+Var FONT
+
+Function FunctionName ;FunctionName defined with Page command
+
+  !insertmacro INSTALLOPTIONS_INITDIALOG &quot;ioFile.ini&quot;
+  Pop $HWND ;HWND of dialog
+    
+  !insertmacro INSTALLOPTIONS_READ $DLGITEM &quot;ioFile.ini&quot; &quot;Field 1&quot; &quot;HWND&quot;
+    
+  ;$DLGITEM contains the HWND of the first field
+  CreateFont $FONT &quot;Tahoma&quot; 10 700 
+  SendMessage $DLGITEM ${WM_SETFONT} $FONT 0
+        
+  !insertmacro INSTALLOPTIONS_SHOW
+
+FunctionEnd
+</pre>
+    </div>
+    <h2>
+        Credits</h2>
+    <div>
+        <p>
+            Original version by Michael Bishop<br />
+            DLL version by Nullsoft, Inc.<br />
+            DLL version 2 by Amir Szekely, ORTIM, Joost Verburg<br />
+            New documentation by Joost Verburg</p>
+    </div>
+    <h2>
+        License</h2>
+    <div>
+        <pre>
+Original version Copyright &copy; 2001 Michael Bishop
+DLL version 1 Copyright &copy; 2001-2002 Nullsoft, Inc., ORTIM
+DLL version 2 Copyright &copy; 2003-2015 Amir Szekely, Joost Verburg, Dave Laundon
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute
+it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented;
+   you must not claim that you wrote the original software.
+   If you use this software in a product, an acknowledgment in the
+   product documentation would be appreciated but is not required.
+2. Altered versions must be plainly marked as such,
+   and must not be misrepresented as being the original software.
+3. This notice may not be removed or altered from any distribution.
+</pre>
+    </div>
+    </div> </td> </tr> </table>
+</body>
+</html>

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/InstallOptions/Readme.html
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/InstallOptions/Changelog.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/InstallOptions/Changelog.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/InstallOptions/Changelog.txt	(revision 2961)
@@ -0,0 +1,144 @@
+DLL version 2.47 (4/27/2007)
+* Line breaks support in Link control
+* Added HLine and VLine controls
+
+DLL version 2.46 (3/31/2007)
+* Use installer's name for message boxes
+
+DLL version 2.45 (1/23/2007)
+* Added FOCUS flag for setting focus to a control other than the first
+
+DLL version 2.44 (10/11/2005)
+* Added HWND and HWND2 entries to the INI file to avoid messy calculations of the correct control id
+
+DLL version 2.43 (10/4/2005)
+* Fixed alteration of the working directory by FileRequest
+* Added WS_EX_LEFTSCROLLBAR in RTL mode
+
+DLL version 2.42 (1/21/2005)
+* Added TRANSPARENT flag for BITMAP fields (funded by Chris Morgan)
+
+DLL version 2.41 (8/5/2004)
+* Bitmaps are now automatically centered
+* Fixed a bug which prevented enabling the next button from the leave function of InstallOptions pages
+* Fixed a rare freeze
+
+DLL version 2.4 (1/4/2004)
+* Initial focus is set in "initDialog" making it possible to override it from NSIS prior to calling "show"
+* When initial focus is to a Text field InstallOptions now follows standard Windows behaviour by having the text selected
+* Label and other static fields no longer have State= written to the INI file when leaving the dialog
+* NOTIFY flag can now be used with Link fields (State should be omitted in this case)
+* Likewise, State can now be used with Button fields (behaves the same as with Link fields)
+* NOTIFY flag can also now be used with ListBox and DropList fields to have NSIS notified when the selection changes
+* Meaning of RIGHT flag is now reversed in right-to-left language mode
+* HSCROLL and VSCROLL flags are no longer restricted to Text fields
+* Various Link field fixes
+
+DLL version 2.3 (12/4/2003)
+* Added new control type "Button"
+* Added new flag "NOTIFY"
+* Added new flag "NOWORDWRAP" for multi-line text boxes
+* Reduced size down to 12K
+* Better RTL support
+
+DLL version 2.2 (6/10/2003)
+* Added New control type LINK
+* \r\n converts to newline in Multiline edit box
+* Support for multiline edit box
+* Better tab order in DirRequest and FileRequest
+* Added READONLY option to text box
+* Minor fixes
+
+DLL version 2.1 (3/15/2003)
+* \r\n converts to newline in both label Text and ValidateText
+* New browse dialog style (modern)
+* Word wrapping for check boxes and radio buttons
+* No ugly border for edit fields under XP
+* Scroll bar for list boxes
+* Works with SetStaticBkColor
+* DISABLED dir and file request fields now disable the browse button too
+* No more STATE value for labels
+* Minor fixes
+
+DLL version 2.0 (1/4/2003)
+* Supports custom font and DPI settings (by Joost Verburg)
+* INI files should contain dialog units now, no pixels (by Joost Verburg)
+* RESIZETOFIT flag for Bitmap control (by Amir Szekely)
+* New documentation (by Joost Verburg)
+* New GROUP/NOTABSTOP/DISABLED flags
+
+DLL version 1.7 beta (11/2/2002)
+* Added initDialog and show DLL functions
+
+DLL version 1.6 beta (9/30/2002)
+* CancelConfirmIcon becomes CancelConfirmFlags and can now take the other common MessageBox flags
+
+DLL version 1.5 beta (9/26/2002)
+* Made close [x] button behave like Cancel (thanks brainsucker)
+
+DLL version 1.4 beta (9/4/2002)
+* Added Icon and Bitmap controls (by Amir Szekely)
+
+DLL version 1.3 beta (8/15/2002)
+* Added CancelShow (by ORTIM)
+* Added pixel transformation for widgets (by ORTIM)
+
+DLL version 1.2 beta (7/31/2002)
+* Added CancelEnabled (by ORTIM)
+* Added CancelConfirmCaption and CancelConfirmIcon (by Amir Szekely)
+
+DLL version 1.1 beta (7/22/2002)
+* Font is now taken from the main NSIS window (by Amir Szekely)
+
+DLL version 1.0 beta (12/16/2001)
+* Moved to DLL, no longer need parentwnd ini writing
+* Tons of changes - no longer fully compatible (see source for a big list)
+* removed support for silent installers (it seems the old version would bring up it's own dialog)
+
+version 1.4 (11/18/2001)
+* Added Listbox controls.
+* Added MULTISELECT flag.
+* Made the HWND list for the parent window controls dynamically allocated. This prevents a crash if NSIS ever gets more than 150 controls on it's main window.
+* The TEXT property of DirRequest control can be used to specify an initial directory. The current directory is automatically selected when clicking the browse button of the DirRequest control.
+* Added ROOT property to DirRequest which can be used to set the root directory (mostly due to felfert)
+* Edit controls will now auto scroll (thanks felfert)
+* Fixed a problem where the window wouldn't draw properly on some systems (thanks felfert)
+
+version 1.3 (11/03/2001)
+* Got rid of the call to RedrawWindow() because it's no longer needed with the WS_CLIPCHILDREN flag for NSIS.
+* Removed a few hardcoded limits of buffer sizes
+* Added Checkbox and RadioButton controls
+* Added RIGHT and CHECKED flags
+
+version 1.2.2 (10/30/2001)
+* Additional size reductions. Further reduced the size down to 8k.
+* The text parameter to a combobox can now be used to specify the initial value
+* Changed from InvalidateRect() to RedrawWindow() to force a redraw after a browse dialog
+* On startup, set the flags of the NSIS window to include WS_CLIPCHILDREN. Otherwise, our controls don't get drawn right.
+
+version 1.2.1 (10/28/2001)
+* Bug fix. ControlID for the caption and the OK button were reused by the first two controls. (Thanks Schultz)
+
+version 1.2j (10/28/2001)
+* 8.5kb from 44kb. heh. (by Justin Frankel)
+
+version 1.2 (10/28/2001)
+* Still 44k
+* Added the "FileRequest" and "DirRequest" control types (thanks Schultz)
+* Added "MinLen", "MaxLen", and "ValidateText" properties to fields
+* Added "Flags" as a way to specify additional parameters for controls
+* Few more changes to the documentation
+* Cleaned the code in a few places...still trying to make it smaller
+
+version 1.1 (10/27/2001)
+* Added the "Title" option (thanks Alex)
+* Moved the OK button so it is in the same location as the buttons on the main NSIS window (thanks Alex)
+* Pressing "ENTER" will now automatically select the OK button (thanks Alex)
+* Slightly improved the documentation
+
+version 1.01 (10/25/2001)
+* Fixed the SetFocus loop so it exits after the first control like it was supposed to
+* Added the license to the documentation
+
+version 1.0 (10/25/2001)
+* Barely qualifies as a distribution

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/InstallOptions/Changelog.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/License.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/License.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/License.txt	(revision 2961)
@@ -0,0 +1,10 @@
+Copyright 2002-2015 Joost Verburg
+
+This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software.
+   If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
+2. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software.
+3. This notice may not be removed or altered from any distribution.

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/License.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/Readme.html
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/Readme.html	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/Readme.html	(revision 2961)
@@ -0,0 +1,1154 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <title>NSIS Modern User Interface - Documentation</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
+    <style type="text/css">
+        /*<![CDATA[*/body
+        {
+            padding: 10px;
+            background-color: #F0F0F0;
+            font-size: 13px;
+            font-family: Verdana, Arial, Helvetica, sans-serif;
+            font-weight: normal;
+            text-align: justify;
+        }
+        p, li
+        {
+            font-size: 13px;
+        }
+        table
+        {
+            margin: auto;
+            background-color: #FFFFFF;
+        }
+        .maintable
+        {
+            border: 2px solid #376EAB;
+        }
+        .parameter
+        {
+            font-weight: bold;
+            color: #6586AC;
+        }
+        h1
+        {
+            font-size: 20px;
+            color: #7A7272;
+            font-weight: normal;
+        }
+        h2
+        {
+            font-size: 17px;
+            font-weight: bold;
+            color: #303030;
+        }
+        h3
+        {
+            font-size: 14px;
+            font-weight: bold;
+            color: #2B5885;
+        }
+        pre
+        {
+            font-size: 13px;
+        }
+        div
+        {
+            margin: 20px;
+        }
+        div.settings
+        {
+            margin-right: 0;
+        }
+        a:link, a:visited, a:active
+        {
+            color: #294F75;
+            text-decoration: none;
+        }
+        a:hover
+        {
+            color: #182634;
+            text-decoration: underline;
+        }
+        .trigger
+        {
+            cursor: pointer;
+            cursor: hand;
+            height: 14px;
+        }
+        .toggle
+        {
+            display: none;
+        }
+        .options
+        {
+            text-align: center;
+            cursor: pointer;
+            cursor: hand;
+            color: #294F75;
+        }
+        /*]]>*/</style>
+
+    <script type="text/javascript">
+//<![CDATA[
+
+   var image_open = new Image();
+   image_open.src = "images/open.gif";
+   var image_closed = new Image();
+   image_closed.src = "images/closed.gif";
+   
+   function toggle(image, section) {
+   
+      if(document.all) {
+        if(document.all[section].style.display == "block") {
+           document.all[section].style.display = "none";
+           document.all[image].src = image_closed.src;
+        }
+        else
+        {              
+           document.all[section].style.display = "block";
+           document.all[image].src = image_open.src;
+        }
+      }
+      else
+      {
+      if(document.getElementById(section).style.display == "block") {
+         document.getElementById(section).style.display = "none";
+         document.getElementById(image).src = image_closed.src;
+         }
+      else
+         {              
+         document.getElementById(section).style.display = "block";
+         document.getElementById(image).src = image_open.src;
+         }
+      }
+   
+   }
+
+   function expandall() {
+
+     var divNodeList = document.getElementsByTagName('div'); 
+     for (i = 0; i < divNodeList.length; i++) { 
+        if(divNodeList[i].id) {
+           divNodeList[i].style.display = "block";
+           document.getElementById('trigger_' + divNodeList[i].id.substr(7)).src = "images/open.gif";
+        }
+     }
+     
+   }
+
+   function collapseall() {
+
+     var divNodeList = document.getElementsByTagName('div'); 
+     for (i = 0; i < divNodeList.length; i++) { 
+        if(divNodeList[i].id) {
+           divNodeList[i].style.display = "none";
+           document.getElementById('trigger_' + divNodeList[i].id.substr(7)).src = "images/closed.gif";
+        }
+     }
+
+   }
+
+//]]>
+    </script>
+
+</head>
+<body>
+    <table width="750" class="maintable" cellspacing="0" cellpadding="0" align="center">
+        <tr>
+            <td>
+                <img src="images/header.gif" width="750" height="80" alt="" />
+                <p class="options">
+                    <a onclick="expandall()">[Expand all]</a>&nbsp; &nbsp;<a onclick="collapseall()">[Collapse
+                        all]</a></p>
+                <div>
+                    <h1>
+                        Introduction</h1>
+                    <div>
+                        <p>
+                            The Modern UI provides a user interface for NSIS installers with a modern wizard
+                            style, similar to the wizards of recent Windows versions. It is based on the basic
+                            user interface that is provided by the NSIS compiler itself and extends it with
+                            more interface features and pages.</p>
+                        <p>
+                            All standard NSIS pages (such as the pages to select components and the installation
+                            folder) are supported as well as a number of additional pages. The welcome page
+                            allows you to provide an introduction to the installation process, while the finish
+                            page provides a way to let the user decide what steps should be performed after
+                            the setup wizard is closed (for example, whether the application should be started
+                            immediately). A finish page can also be used to ask for a system restart is necessary.</p>
+                        <h3>
+                            <img class="trigger" alt="Open/Close section" id="trigger_scr" src="images/closed.gif"
+                                onclick="toggle('trigger_scr', 'toggle_scr');" />
+                            Screenshots</h3>
+                        <div class="toggle" id="toggle_scr">
+                            <p>
+                                <img src="images/screen1.png" width="503" height="393" alt="" /></p>
+                            <p>
+                                <img src="images/screen2.png" width="503" height="393" alt="" /></p>
+                        </div>
+                    </div>
+                    <h1>
+                        Script header</h1>
+                    <div>
+                        <p>
+                            The settings for the Modern UI should be inserted in the header of the script file.
+                            It&#39;s important to follow the same order as the items below.&nbsp;For example,
+                            interface settings should be defined before you insert pages, because the pages
+                            depend on the interface configuration. It may be useful to look at the <a href="#examples">
+                                example scripts</a> too see how this is done in actual script files.</p>
+                        <p>
+                            Parameters are given in this format: <span class="parameter">required (option1 | option2)
+                                [optional]</span></p>
+                        <h2>
+                            1. Header file</h2>
+                        <div>
+                            <p>
+                                First of all, add this line to the top of script to include the Modern UI:</p>
+                            <pre>
+!include &quot;MUI.nsh&quot;
+</pre>
+                        </div>
+                        <h2>
+                            2. Interface configuration</h2>
+                        <div>
+                            <p>
+                                Then, you may want to use interface settings to change the look and feel of the
+                                installer. These settings apply to all pages.<p>
+                                    The interface settings provided by the NSIS compiler itself (such as LicenseText,
+                                    Icon, CheckBitmap, InstallColors) should not be used in Modern UI scripts. The Modern
+                                    UI provides equalivent or extended versions of these settings.<p>
+                                        Examples:</p>
+                                    <pre>
+!define MUI_COMPONENTSPAGE_SMALLDESC ;No value
+!define MUI_UI &quot;myUI.exe&quot; ;Value
+!define MUI_INSTFILESPAGE_COLORS &quot;FFFFFF 000000&quot; ;Two colors
+</pre>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_in" src="images/closed.gif"
+                                            onclick="toggle('trigger_in', 'toggle_in');" />
+                                        Interface settings</h3>
+                                    <div class="toggle" id="toggle_in">
+                                        <h3>
+                                            <img class="trigger" alt="Open/Close section" id="trigger_ingen" src="images/closed.gif"
+                                                onclick="toggle('trigger_ingen', 'toggle_ingen');" />
+                                            Page header</h3>
+                                        <div class="toggle" id="toggle_ingen">
+                                            <p>
+                                                <strong>MUI_ICON</strong> <span class="parameter">icon_file</span><br />
+                                                The icon for the installer.<br />
+                                                <em>Default: ${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico</em></p>
+                                            <p>
+                                                <strong>MUI_UNICON</strong> <span class="parameter">icon_file</span><br />
+                                                The icon for the uninstaller.<br />
+                                                <em>Default: ${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico</em></p>
+                                            <p>
+                                                <strong>MUI_HEADERIMAGE</strong><br />
+                                                Display an image on the header of the page.</p>
+                                            <div class="settings">
+                                                <p>
+                                                    <strong>MUI_HEADERIMAGE_BITMAP</strong> <span class="parameter">bmp_file</span><br />
+                                                    Bitmap image to display on the header of installers pages (recommended size: 150x57
+                                                    pixels).<br />
+                                                    <em>Default: ${NSISDIR}\Contrib\Graphics\Header\nsis.bmp</em></p>
+                                                <div class="settings">
+                                                    <p>
+                                                        <strong>MUI_HEADERIMAGE_BITMAP_NOSTRETCH</strong><br />
+                                                        Do not stretch the installer header bitmap to fit the size of the field. Use this
+                                                        option only if you have an image that does not use the whole space. If you have
+                                                        a full size bitmap that fits exactly, you should not use this option because the
+                                                        size of the field will be different if the user has a custom DPI setting.</p>
+                                                    <p>
+                                                        <strong>MUI_HEADERIMAGE_BITMAP_RTL</strong> <span class="parameter">bmp_file</span><br />
+                                                        Bitmap image to display on the header of installers pages when using a RTL language
+                                                        (recommended size: 150x57 pixels).<br />
+                                                        <em>Default: Non-RTL bitmap</em></p>
+                                                    <div class="settings">
+                                                        <p>
+                                                            <strong>MUI_HEADERIMAGE_BITMAP_RTL_NOSTRETCH</strong><br />
+                                                            Do not stretch the installer header bitmap when using a RTL language to fit the
+                                                            size of the field. Use this option only if you have an image that does not use the
+                                                            whole space. If you have a full size bitmap that fits exactly, you should not use
+                                                            this option because the size of the field will be different if the user has a custom
+                                                            DPI setting.</p>
+                                                    </div>
+                                                </div>
+                                                <p>
+                                                    <strong>MUI_HEADERIMAGE_UNBITMAP</strong> <span class="parameter">bmp_file</span><br />
+                                                    Bitmap image to display on the header of uninstaller pages (recommended size: 150x57
+                                                    pixels).<br />
+                                                    <em>Default: Installer header bitmap</em></p>
+                                                <div class="settings">
+                                                    <p>
+                                                        <strong>MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH</strong><br />
+                                                        Do not stretch the uninstaller header bitmap to fit the size of the field. Use this
+                                                        option only if you have an image that does not use the whole space. If you have
+                                                        a full size bitmap that fits exactly, you should not use this option because the
+                                                        size of the field will be different if the user has a custom DPI setting.</p>
+                                                    <p>
+                                                        <strong>MUI_HEADERIMAGE_UNBITMAP_RTL</strong> <span class="parameter">bmp_file</span><br />
+                                                        Bitmap image to display on the header of uninstallers pages when using a RTL language
+                                                        (recommended size: 150x57 pixels).<br />
+                                                        <em>Default: Installer RTL header bitmap</em></p>
+                                                    <div class="settings">
+                                                        <p>
+                                                            <strong>MUI_HEADERIMAGE_UNBITMAP_RTL_NOSTRETCH</strong><br />
+                                                            Do not stretch the uninstaller header bitmap when using a RTL language to fit the
+                                                            size of the field. Use this option only if you have an image that does not use the
+                                                            whole space. If you have a full size bitmap that fits exactly, you should not use
+                                                            this option because the size of the field will be different if the user has a custom
+                                                            DPI setting.</p>
+                                                    </div>
+                                                </div>
+                                                <p>
+                                                    <strong>MUI_HEADERIMAGE_RIGHT</strong><br />
+                                                    Display the header image on the right side instead of the left side (when using
+                                                    a RTL language it will be displayed on the left side instead of the right side).</p>
+                                            </div>
+                                            <p>
+                                                <strong>MUI_BGCOLOR</strong> <span class="parameter">(color: RRGGBBR hexadecimal)</span><br />
+                                                Background color for the header, the Welcome page and the Finish page.<br />
+                                                <em>Default: FFFFFF</em></p>
+                                            <p>
+                                                <strong>MUI_HEADER_TRANSPARENT_TEXT</strong><br />
+                                                Set a transparent background for the header's label controls. Useful for custom
+                                                user interfaces that set a bigger header image.</p>
+                                        </div>
+                                        <h3>
+                                            <img class="trigger" alt="Open/Close section" id="trigger_inres" src="images/closed.gif"
+                                                onclick="toggle('trigger_inres', 'toggle_inres');" />
+                                            Interface resources</h3>
+                                        <div class="toggle" id="toggle_inres">
+                                            <p>
+                                                <strong>MUI_UI</strong> <span class="parameter">ui_file</span><br />
+                                                The interface file with the dialog resources. Change this if you have made your
+                                                own customized UI.<br />
+                                                <em>Default: ${NSISDIR}\Contrib\UIs\modern.exe</em></p>
+                                            <p>
+                                                <strong>MUI_UI_HEADERIMAGE</strong> <span class="parameter">ui_file</span><br />
+                                                The interface files with the dialog resource IDD_INST that contains a bitmap control
+                                                and space for the header bitmap.<br />
+                                                <em>Default: ${NSISDIR}\Contrib\UIs\modern_headerbmp.exe</em></p>
+                                            <p>
+                                                <strong>MUI_UI_HEADERIMAGE_RIGHT</strong> <span class="parameter">ui_file</span><br />
+                                                The interface files with the dialog resource IDD_INST that contains a bitmap control
+                                                and space for the header bitmap on the right side.<br />
+                                                <em>Default: ${NSISDIR}\Contrib\UIs\modern_headerbmpr.exe</em></p>
+                                            <p>
+                                                <strong>MUI_UI_COMPONENTSPAGE_SMALLDESC</strong> <span class="parameter">ui_file</span><br />
+                                                The interface files with a customized dialog resource IDD_SELCOM with a small description
+                                                area.<br />
+                                                <em>Default: ${NSISDIR}\Contrib\UIs\modern_smalldesc.exe</em></p>
+                                            <p>
+                                                <strong>MUI_UI_COMPONENTSPAGE_NODESC</strong> <span class="parameter">ui_file</span><br />
+                                                The interface files with a customized dialog resource IDD_SELCOM without a description
+                                                area.<br />
+                                                <em>Default: ${NSISDIR}\Contrib\UIs\modern_nodesc.exe</em></p>
+                                        </div>
+                                        <h3>
+                                            <img class="trigger" alt="Open/Close section" id="trigger_inwf" src="images/closed.gif"
+                                                onclick="toggle('trigger_inwf', 'toggle_inwf');" />
+                                            Installer welcome/finish page</h3>
+                                        <div class="toggle" id="toggle_inwf">
+                                            <p>
+                                                <strong>MUI_WELCOMEFINISHPAGE_BITMAP</strong> <span class="parameter">bmp_file</span><br />
+                                                Bitmap for the Welcome page and the Finish page (recommended size: 164x314 pixels).<br />
+                                                <em>Default: ${NSISDIR}\Contrib\Graphics\Wizard\win.bmp</em></p>
+                                            <div class="settings">
+                                                <p>
+                                                    <strong>MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH</strong><br />
+                                                    Do not stretch the bitmap for the Welcome and Finish page to fit the size of the
+                                                    field. Use this option only if you have an image that does not use the whole space.
+                                                    If you have a full size bitmap that fits exactly, you should not use this option
+                                                    because the size of the field will be different if the user has a custom DPI setting.</p>
+                                            </div>
+                                            <p>
+                                                <strong>MUI_WELCOMEFINISHPAGE_INI</strong> <span class="parameter">ini_file</span><br />
+                                                InstallOptions INI file for the Welcome page and the Finish page.<br />
+                                                <em>Default: ${NSISDIR}\Contrib\Modern UI\ioSpecial.ini</em></p>
+                                        </div>
+                                        <h3>
+                                            <img class="trigger" alt="Open/Close section" id="trigger_inuwf" src="images/closed.gif"
+                                                onclick="toggle('trigger_inuwf', 'toggle_inuwf');" />
+                                            Uninstaller welcome/finish page</h3>
+                                        <div class="toggle" id="toggle_inuwf">
+                                            <p>
+                                                <strong>MUI_UNWELCOMEFINISHPAGE_BITMAP</strong> <span class="parameter">bmp_file</span><br />
+                                                Bitmap for the Welcome page and the Finish page (recommended size: 164x314 pixels).<br />
+                                                <em>Default: ${NSISDIR}\Contrib\Graphics\Wizard\win.bmp</em></p>
+                                            <div class="settings">
+                                                <p>
+                                                    <strong>MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH</strong><br />
+                                                    Do not stretch the bitmap for the Welcome and Finish page to fit the size of the
+                                                    field. Use this option only if you have an image that does not use the whole space.
+                                                    If you have a full size bitmap that fits exactly, you should not use this option
+                                                    because the size of the field will be different if the user has a custom DPI setting.</p>
+                                            </div>
+                                            <p>
+                                                <strong>MUI_UNWELCOMEFINISHPAGE_INI</strong> <span class="parameter">ini_file</span><br />
+                                                InstallOptions INI file for the uninstaller Welcome page and the Finish page.<br />
+                                                <em>Default: ${NSISDIR}\Contrib\Modern UI\ioSpecial.ini</em></p>
+                                        </div>
+                                        <h3>
+                                            <img class="trigger" alt="Open/Close section" id="trigger_inl" src="images/closed.gif"
+                                                onclick="toggle('trigger_inl', 'toggle_inl');" />
+                                            License page</h3>
+                                        <div class="toggle" id="toggle_inl">
+                                            <p>
+                                                <strong>MUI_LICENSEPAGE_BGCOLOR</strong> <span class="parameter">(/windows | /grey |
+                                                    (color: RRGGBB hexadecimal))</span><br />
+                                                The background color for the license textbox. Use /windows for the Windows text
+                                                background color (usually white). Use the /grey for the window background color
+                                                (usually grey).<br />
+                                                <em>Default: /windows</em></p>
+                                        </div>
+                                        <h3>
+                                            <img class="trigger" alt="Open/Close section" id="trigger_inc" src="images/closed.gif"
+                                                onclick="toggle('trigger_inc', 'toggle_inc');" />
+                                            Components page</h3>
+                                        <div class="toggle" id="toggle_inc">
+                                            <p>
+                                                <strong>MUI_COMPONENTSPAGE_CHECKBITMAP</strong> <span class="parameter">bitmap_file</span><br />
+                                                The bitmap with images for the checks of the component select treeview.<br />
+                                                <em>Default: ${NSISDIR}\Contrib\Graphics\Checks\modern.bmp</em></p>
+                                            <p>
+                                                <strong>MUI_COMPONENTSPAGE_SMALLDESC</strong><br />
+                                                A small description area on the bottom of the page. Use this layout if you have
+                                                a lot of sections and don't need large descriptions.</p>
+                                            <p>
+                                                <strong>MUI_COMPONENTSPAGE_NODESC</strong><br />
+                                                No description area.</p>
+                                        </div>
+                                        <h3>
+                                            <img class="trigger" alt="Open/Close section" id="trigger_ind" src="images/closed.gif"
+                                                onclick="toggle('trigger_ind', 'toggle_ind');" />
+                                            Directory page</h3>
+                                        <div class="toggle" id="toggle_ind">
+                                            <p>
+                                                <strong>MUI_DIRECTORYPAGE_BGCOLOR</strong> <span class="parameter">(color: RRGGBB hexadecimal)</span><br />
+                                                The background color for the directory textbox.</p>
+                                        </div>
+                                        <h3>
+                                            <img class="trigger" alt="Open/Close section" id="trigger_ins" src="images/closed.gif"
+                                                onclick="toggle('trigger_ins', 'toggle_ins');" />
+                                            Start Menu folder page</h3>
+                                        <div class="toggle" id="toggle_ins">
+                                            <p>
+                                                <strong>MUI_STARTMENUPAGE_BGCOLOR</strong> <span class="parameter">(color: RRGGBB hexadecimal)</span><br />
+                                                The background color for the startmenu directory list and textbox.</p>
+                                        </div>
+                                        <h3>
+                                            <img class="trigger" alt="Open/Close section" id="trigger_ini" src="images/closed.gif"
+                                                onclick="toggle('trigger_ini', 'toggle_ini');" />
+                                            Installation page</h3>
+                                        <div class="toggle" id="toggle_ini">
+                                            <p>
+                                                <strong>MUI_INSTFILESPAGE_COLORS</strong> <span class="parameter">(/windows | &quot;(foreground
+                                                    color: RRGGBB hexadecimal) (background color: RRGGBB hexadecimal)&quot;)</span><br />
+                                                The colors of the details screen. Use /windows for the default Windows colors.<br />
+                                                <em>Default: /windows</em></p>
+                                            <p>
+                                                <strong>MUI_INSTFILESPAGE_PROGRESSBAR</strong> <span class="parameter">(&quot;&quot;
+                                                    | colored | smooth)</span><br />
+                                                The style of the progress bar. Colored makes it use the MUI_INSTALLCOLORS.<br />
+                                                <em>Default: smooth</em></p>
+                                        </div>
+                                        <h3>
+                                            <img class="trigger" alt="Open/Close section" id="trigger_inf" src="images/closed.gif"
+                                                onclick="toggle('trigger_inf', 'toggle_inf');" />
+                                            Installer finish page</h3>
+                                        <div class="toggle" id="toggle_inf">
+                                            <p>
+                                                <strong>MUI_FINISHPAGE_NOAUTOCLOSE</strong><br />
+                                                Do not automatically jump to the finish page, to allow the user to check the install
+                                                log.</p>
+                                        </div>
+                                        <h3>
+                                            <img class="trigger" alt="Open/Close section" id="trigger_uinf" src="images/closed.gif"
+                                                onclick="toggle('trigger_uinf', 'toggle_uinf');" />
+                                            Uninstaller finish page</h3>
+                                        <div class="toggle" id="toggle_uinf">
+                                            <p>
+                                                <strong>MUI_UNFINISHPAGE_NOAUTOCLOSE</strong><br />
+                                                Do not automatically jump to the finish page, to allow the user to check the uninstall
+                                                log.</p>
+                                        </div>
+                                        <h3>
+                                            <img class="trigger" alt="Open/Close section" id="trigger_inaw" src="images/closed.gif"
+                                                onclick="toggle('trigger_inaw', 'toggle_inaw');" />
+                                            Abort warning</h3>
+                                        <div class="toggle" id="toggle_inaw">
+                                            <p>
+                                                <strong>MUI_ABORTWARNING</strong><br />
+                                                Show a message box with a warning when the user wants to close the installer.</p>
+                                            <div class="settings">
+                                                <p>
+                                                    <strong>MUI_ABORTWARNING_TEXT</strong> <span class="parameter">text</span><br />
+                                                    Text to display on the abort warning message box.</p>
+                                                <p>
+                                                    <strong>MUI_ABORTWARNING_CANCEL_DEFAULT</strong><br />
+                                                    Set the Cancel button as the default button on the message box.</p>
+                                            </div>
+                                        </div>
+                                        <h3>
+                                            <img class="trigger" alt="Open/Close section" id="trigger_inuaw" src="images/closed.gif"
+                                                onclick="toggle('trigger_inuaw', 'toggle_inuaw');" />
+                                            Uninstaller abort warning</h3>
+                                        <div class="toggle" id="toggle_inuaw">
+                                            <p>
+                                                <strong>MUI_UNABORTWARNING</strong><br />
+                                                Show a message box with a warning when the user wants to close the uninstaller.</p>
+                                            <div class="settings">
+                                                <p>
+                                                    <strong>MUI_UNABORTWARNING_TEXT</strong> <span class="parameter">text</span><br />
+                                                    Text to display on the abort warning message box.</p>
+                                                <p>
+                                                    <strong>MUI_UNABORTWARNING_CANCEL_DEFAULT</strong><br />
+                                                    Set the Cancel button as the default button on the message box.</p>
+                                            </div>
+                                        </div>
+                                    </div>
+                        </div>
+                        <h2>
+                            3. Pages</h2>
+                        <div>
+                            <p>
+                                Insert the following macros to set the pages you want to use. The pages will appear
+                                in the order in which you insert them in the script. You can also insert custom
+                                Page commands between the macros to add custom pages.</p>
+                            <p>
+                                You can add multiple pages of certain types (for example, if you want the user to
+                                specify multiple folders).</p>
+                            <p>
+                                Examples:</p>
+                            <pre>
+!insertmacro MUI_PAGE_LICENSE &quot;License.rtf&quot;
+!insertmacro MUI_PAGE_COMPONENTS
+
+Var StartMenuFolder
+!insertmacro MUI_PAGE_STARTMENU &quot;Application&quot; $StartMenuFolder
+</pre>
+                            <p>
+                                You will need the page ID for the Start Menu folder page when using the Start Menu
+                                folder macros. The folder will be stored in the specified variable.</p>
+                            <p>
+                                <strong>Installer pages</strong><br />
+                                MUI_PAGE_WELCOME<br />
+                                MUI_PAGE_LICENSE <span class="parameter">textfile</span><br />
+                                MUI_PAGE_COMPONENTS<br />
+                                MUI_PAGE_DIRECTORY<br />
+                                MUI_PAGE_STARTMENU <span class="parameter">pageid variable</span><br />
+                                MUI_PAGE_INSTFILES<br />
+                                MUI_PAGE_FINISH</p>
+                            <p>
+                                <strong>Uninstaller pages</strong><br />
+                                MUI_UNPAGE_WELCOME<br />
+                                MUI_UNPAGE_CONFIRM<br />
+                                MUI_UNPAGE_LICENSE <span class="parameter">textfile</span><br />
+                                MUI_UNPAGE_COMPONENTS<br />
+                                MUI_UNPAGE_DIRECTORY<br />
+                                MUI_UNPAGE_INSTFILES<br />
+                                MUI_UNPAGE_FINISH</p>
+                            <h3>
+                                <img class="trigger" alt="Open/Close section" id="trigger_pg" src="images/closed.gif"
+                                    onclick="toggle('trigger_pg', 'toggle_pg');" />
+                                Page settings</h3>
+                            <div class="toggle" id="toggle_pg">
+                                <p>
+                                    Page settings apply to a single page and should be set before inserting a page macro.
+                                    The same settings can be used for installer and uninstaller pages. You have to repeat
+                                    the setting if you want it to apply to multiple pages. Example:</p>
+                                <pre>
+;Add a directory page to let the user specify a plug-ins folder
+;Store the folder in $PluginsFolder
+
+Var PLUGINS_FOLDER
+!define MUI_DIRECTORYPAGE_VARIABLE $PluginsFolder
+!insertmacro MUI_PAGE_DIRECTORY
+</pre>
+                                <p>
+                                    <p>
+                                        All standard texts in the user interface are loaded from language files, which are
+                                        available for all languages supported by NSIS. So you only need to define these
+                                        texts if you want to change the default.</p>
+                                    <p>
+                                        If the parameter is a text that should be different for each language, define a
+                                        language string using LangString and use $(LangStringName) as value. For a license
+                                        text in multiple languages, LicenseLangString can be used. Refer the NSIS Users
+                                        Manual for more information about installers with multiple languages.</p>
+                                    <p>
+                                        In all text settings, the doublequote character (&quot;) should be escaped in the
+                                        following form: $\&quot;</p>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_pgg" src="images/closed.gif"
+                                            onclick="toggle('trigger_pgg', 'toggle_pgg');" />
+                                        General page settings</h3>
+                                    <div class="toggle" id="toggle_pgg">
+                                        <p>
+                                            <strong>MUI_PAGE_HEADER_TEXT</strong> <span class="parameter">text</span><br />
+                                            Text to display on the header of the page.</p>
+                                        <p>
+                                            <strong>MUI_PAGE_HEADER_SUBTEXT</strong> <span class="parameter">text</span><br />
+                                            Subtext to display on the header of the page.</p>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_pgw" src="images/closed.gif"
+                                            onclick="toggle('trigger_pgw', 'toggle_pgw');" />
+                                        Welcome page settings</h3>
+                                    <div class="toggle" id="toggle_pgw">
+                                        <p>
+                                            To add a newline to any of these texts, use \r\n instead of $\r$\n.</p>
+                                        <p>
+                                            <strong>MUI_WELCOMEPAGE_TITLE</strong> <span class="parameter">title</span><br />
+                                            Title to display on the top of the page.</p>
+                                        <p>
+                                            <strong>MUI_WELCOMEPAGE_TITLE_3LINES</strong><br />
+                                            Extra space for the title area.</p>
+                                        <p>
+                                            <strong>MUI_WELCOMEPAGE_TEXT</strong> <span class="parameter">text</span><br />
+                                            Text to display on the page.</p>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_pgl" src="images/closed.gif"
+                                            onclick="toggle('trigger_pgl', 'toggle_pgl');" />
+                                        License page settings</h3>
+                                    <div class="toggle" id="toggle_pgl">
+                                        <p>
+                                            <strong>MUI_LICENSEPAGE_TEXT_TOP</strong> <span class="parameter">text</span><br />
+                                            Text to display on the top of the page.</p>
+                                        <p>
+                                            <strong>MUI_LICENSEPAGE_TEXT_BOTTOM</strong> <span class="parameter">text</span><br />
+                                            Text to display on the bottom of the page.</p>
+                                        <p>
+                                            <strong>MUI_LICENSEPAGE_BUTTON</strong> <span class="parameter">button_text</span><br />
+                                            Text to display on the 'I Agree' button.</p>
+                                        <p>
+                                            <strong>MUI_LICENSEPAGE_CHECKBOX</strong><br />
+                                            Display a checkbox the user has to check to agree with the license terms.</p>
+                                        <div class="settings">
+                                            <p>
+                                                <strong>MUI_LICENSEPAGE_CHECKBOX_TEXT</strong> <span class="parameter">text</span><br />
+                                                Text to display next to the checkbox to agree with the license terms.</p>
+                                        </div>
+                                        <p>
+                                            <strong>MUI_LICENSEPAGE_RADIOBUTTONS</strong><br />
+                                            Display two radio buttons to allow the user to choose between accepting the license
+                                            terms or not.</p>
+                                        <div class="settings">
+                                            <p>
+                                                <strong>MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT</strong> <span class="parameter">text</span><br />
+                                                Text to display next to the checkbox to accept the license terms.</p>
+                                            <p>
+                                                <strong>MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE</strong> <span class="parameter">text</span><br />
+                                                Text to display next to the checkbox to decline the license terms.</p>
+                                        </div>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_pgc" src="images/closed.gif"
+                                            onclick="toggle('trigger_pgc', 'toggle_pgc');" />
+                                        Components page settings</h3>
+                                    <div class="toggle" id="toggle_pgc">
+                                        <p>
+                                            <strong>MUI_COMPONENTSPAGE_TEXT_TOP</strong> <span class="parameter">text</span><br />
+                                            Text to display on the top of the page.</p>
+                                        <p>
+                                            <strong>MUI_COMPONENTSPAGE_TEXT_COMPLIST</strong> <span class="parameter">text</span><br />
+                                            Text to display on next to the components list.</p>
+                                        <p>
+                                            <strong>MUI_COMPONENTSPAGE_TEXT_INSTTYPE</strong> <span class="parameter">text</span><br />
+                                            Text to display on next to the installation type combo box.</p>
+                                        <p>
+                                            <strong>MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE</strong> <span class="parameter">text</span><br />
+                                            Text to display on the of the top of the description box.</p>
+                                        <p>
+                                            <strong>MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO</strong> <span class="parameter">text</span><br />
+                                            Text to display inside the description box when no section is selected.</p>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_pgd" src="images/closed.gif"
+                                            onclick="toggle('trigger_pgd', 'toggle_pgd');" />
+                                        Directory page settings</h3>
+                                    <div class="toggle" id="toggle_pgd">
+                                        <p>
+                                            <strong>MUI_DIRECTORYPAGE_TEXT_TOP</strong> <span class="parameter">text</span><br />
+                                            Text to display on top of the page.</p>
+                                        <p>
+                                            <strong>MUI_DIRECTORYPAGE_TEXT_DESTINATION</strong> <span class="parameter">text</span><br />
+                                            Text to display on the destination folder frame.</p>
+                                        <p>
+                                            <strong>MUI_DIRECTORYPAGE_VARIABLE</strong> <span class="parameter">variable</span><br />
+                                            Variable in which to store the selected folder.<br />
+                                            <em>Default: $INSTDIR</em></p>
+                                        <p>
+                                            <strong>MUI_DIRECTORYPAGE_VERIFYONLEAVE</strong><br />
+                                            Does not disable the Next button when a folder is invalid but allows you to use
+                                            GetInstDirError in the leave function to handle an invalid folder.</p>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_pgs" src="images/closed.gif"
+                                            onclick="toggle('trigger_pgs', 'toggle_pgs');" />
+                                        Start Menu folder page settings</h3>
+                                    <div class="toggle" id="toggle_pgs">
+                                        <p>
+                                            <strong>MUI_STARTMENUPAGE_TEXT_TOP</strong> <span class="parameter">text</span><br />
+                                            Text to display on the top of the page.</p>
+                                        <p>
+                                            <strong>MUI_STARTMENUPAGE_TEXT_CHECKBOX</strong> <span class="parameter">text</span><br />
+                                            Text to display next to the checkbox to disable the Start Menu folder creation.</p>
+                                        <p>
+                                            <strong>MUI_STARTMENUPAGE_DEFAULTFOLDER</strong> <span class="parameter">folder</span><br />
+                                            The default Start Menu Folder.</p>
+                                        <p>
+                                            <strong>MUI_STARTMENUPAGE_NODISABLE</strong><br />
+                                            Do not display the checkbox to disable the creation of Start Menu shortcuts.</p>
+                                        <p>
+                                            <strong>MUI_STARTMENUPAGE_REGISTRY_ROOT</strong> <span class="parameter">root</span><br />
+                                            <strong>MUI_STARTMENUPAGE_REGISTRY_KEY</strong> <span class="parameter">key</span><br />
+                                            <strong>MUI_STARTMENUPAGE_REGISTRY_VALUENAME</strong> <span class="parameter">value_name</span><br />
+                                            The registry key to store the Start Menu folder. The page will use it to remember
+                                            the users preference. You should also use for the uninstaller to remove the Start
+                                            Menu folders. Don't forget to remove this key during uninstallation.</p>
+                                        <p>
+                                            For the uninstaller, use the MUI_STARTMENU_GETFOLDER macro to get the Start Menu
+                                            folder:</p>
+                                        <pre>
+!insertmacro MUI_STARTMENU_GETFOLDER page_id $R0
+  Delete &quot;$SMPROGRAMS\$R0\Your Shortcut.lnk&quot;
+</pre>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_pgi" src="images/closed.gif"
+                                            onclick="toggle('trigger_pgi', 'toggle_pgi');" />
+                                        Installation page settings</h3>
+                                    <div class="toggle" id="toggle_pgi">
+                                        <p>
+                                            <strong>MUI_INSTFILESPAGE_FINISHHEADER_TEXT</strong> <span class="parameter">text</span><br />
+                                            Text to display on the header of the installation page when the installation has
+                                            been completed (won't be displayed when using a Finish page without MUI_(UN)FINISHPAGE_NOAUTOCLOSE).</p>
+                                        <p>
+                                            <strong>MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT</strong> <span class="parameter">text</span><br />
+                                            Subtext to display on the header of the installation page when the installation
+                                            has been completed (won't be displayed when using a Finish page without MUI_(UN)FINISHPAGE_NOAUTOCLOSE).</p>
+                                        <p>
+                                            <strong>MUI_INSTFILESPAGE_ABORTHEADER_TEXT</strong> <span class="parameter">text</span><br />
+                                            Text to display on the header of the installation page when the installation has
+                                            been aborted.</p>
+                                        <p>
+                                            <strong>MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT</strong> <span class="parameter">text</span><br />
+                                            Subext to display on the header of the installation page when the installation has
+                                            been aborted.</p>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_pgf" src="images/closed.gif"
+                                            onclick="toggle('trigger_pgf', 'toggle_pgf');" />
+                                        Finish page settings</h3>
+                                    <div class="toggle" id="toggle_pgf">
+                                        <p>
+                                            To add a newline to any of these texts, use \r\n instead of $\r$\n.</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_TITLE</strong> <span class="parameter">title</span><br />
+                                            Title to display on the top of the page.</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_TITLE_3LINES</strong><br />
+                                            Extra space for the title area.</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_TEXT</strong> <span class="parameter">text</span><br />
+                                            Text to display on the page.</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_TEXT_LARGE</strong><br />
+                                            Extra space for the text area (if using checkboxes).</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_BUTTON</strong> <span class="parameter">text</span><br />
+                                            Text to display on the Finish button.</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_CANCEL_ENABLED</strong><br />
+                                            Enable the Cancel button so the user can skip any options displayed on the finish
+                                            page.</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_TEXT_REBOOT</strong> <span class="parameter">text</span><br />
+                                            Text to display on the finish page when asking for a system reboot.</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_TEXT_REBOOTNOW</strong> <span class="parameter">text</span><br />
+                                            Text to display next to the 'Reboot now' option button.</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_TEXT_REBOOTLATER</strong> <span class="parameter">text</span><br />
+                                            Text to display next to the 'Reboot later' option button.</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_REBOOTLATER_DEFAULT</strong><br />
+                                            Sets the 'Reboot later' option as the default option.</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_RUN</strong> <span class="parameter">exe_file</span><br />
+                                            Application which the user can select to run using a checkbox. You don't need to
+                                            put quotes around the filename when it contains spaces.</p>
+                                        <div class="settings">
+                                            <p>
+                                                <strong>MUI_FINISHPAGE_RUN_TEXT</strong> <span class="parameter">text</span><br />
+                                                Texts to display next to the 'Run program' checkbox.</p>
+                                            <p>
+                                                <strong>MUI_FINISHPAGE_RUN_PARAMETERS</strong> <span class="parameter">parameters</span><br />
+                                                Parameters for the application to run. Don't forget to escape double quotes in the
+                                                value (use $\&quot;).</p>
+                                            <p>
+                                                <strong>MUI_FINISHPAGE_RUN_NOTCHECKED</strong><br />
+                                                Do not check the 'Run program' checkbox by default</p>
+                                            <p>
+                                                <strong>MUI_FINISHPAGE_RUN_FUNCTION</strong> <span class="parameter">function</span><br />
+                                                Call a function instead of executing an application (define MUI_FINISHPAGE_RUN without
+                                                parameters). You can use the function to execute multiple applications or you can
+                                                change the checkbox name and use it for other things.</p>
+                                        </div>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_SHOWREADME</strong> <span class="parameter">file/url</span><br />
+                                            File or website which the user can select to view using a checkbox. You don't need
+                                            to put quotes around the filename when it contains spaces.</p>
+                                        <div class="settings">
+                                            <p>
+                                                <strong>MUI_FINISHPAGE_SHOWREADME_TEXT</strong> <span class="parameter">text</span><br />
+                                                Texts to display next to the 'Show Readme' checkbox.</p>
+                                            <p>
+                                                <strong>MUI_FINISHPAGE_SHOWREADME_NOTCHECKED</strong><br />
+                                                Do not check the 'Show Readme' checkbox by default</p>
+                                            <p>
+                                                <strong>MUI_FINISHPAGE_SHOWREADME_FUNCTION</strong> <span class="parameter">function</span><br />
+                                                Call a function instead of showing a file (define MUI_FINISHPAGE_SHOWREADME without
+                                                parameters). You can use the function to show multiple files or you can change the
+                                                checkbox name and use it for other things.</p>
+                                        </div>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_LINK</strong> <span class="parameter">link_text</span><br />
+                                            Text for a link on the which the user can click to view a website or file.</p>
+                                        <div class="settings">
+                                            <p>
+                                                <strong>MUI_FINISHPAGE_LINK_LOCATION</strong> <span class="parameter">file/url</span><br />
+                                                Website or file which the user can select to view using the link. You don't need
+                                                to put quotes around the filename when it contains spaces.</p>
+                                            <p>
+                                                <strong>MUI_FINISHPAGE_LINK_COLOR</strong> <span class="parameter">(color: RRGGBB hexadecimal)</span><br />
+                                                Text color for the link on the Finish page.<br />
+                                                <em>Default: 000080</em></p>
+                                        </div>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_NOREBOOTSUPPORT</strong><br />
+                                            Disables support for the page that allows the user to reboot the system. Define
+                                            this option to save some space if you are not using the /REBOOTOK flag or SetRebootFlag.</p>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_pgu" src="images/closed.gif"
+                                            onclick="toggle('trigger_pgu', 'toggle_pgu');" />
+                                        Uninstall confirm page settings</h3>
+                                    <div class="toggle" id="toggle_pgu">
+                                        <p>
+                                            <strong>MUI_UNCONFIRMPAGE_TEXT_TOP</strong> <span class="parameter">text</span><br />
+                                            Text to display on the top of the page.</p>
+                                        <p>
+                                            <strong>MUI_UNCONFIRMPAGE_TEXT_LOCATION</strong> <span class="parameter">text</span><br />
+                                            Text to display next to the uninstall location text box.</p>
+                                    </div>
+                            </div>
+                        </div>
+                        <h2>
+                            4. Language files</h2>
+                        <div>
+                            <p>
+                                Insert the Modern UI language files for the languages to want to include.</p>
+                            <pre>
+!insertmacro MUI_LANGUAGE &quot;English&quot;
+</pre>
+                            <p>
+                                The standard NSIS language files are loaded automatically, there is no need to use
+                                LoadLanguageFile.</p>
+                        </div>
+                        <h2>
+                            5. Reserve files</h2>
+                        <div>
+                            <p>
+                                If you are using solid compression, files that are required before the actual installation
+                                should be stored first in the data block, because this will make your installer
+                                start faster. Include reserve file commands for such files before your sections
+                                and functions:</p>
+                            <pre>
+ReserveFile &quot;ioFile.ini&quot; ;Your own InstallOptions INI files
+!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;InstallOptions plug-in
+!insertmacro MUI_RESERVEFILE_LANGDLL ;Language selection dialog
+</pre>
+                        </div>
+                    </div>
+                    <h1>
+                        Script code for pages</h1>
+                    <div>
+                        <p>
+                            Some pages allow you to show additional information or can be used to get user input.
+                            Here you can find the script code to use these features.</p>
+                        <h2>
+                            Components page descriptions</h2>
+                        <div>
+                            <p>
+                                The Modern UI components page has a text box in which a description can be shown
+                                when the user hovers the mouse over a component. If you don't want to use these
+                                descriptions, insert the MUI_COMPONENTSPAGE_NODESC interface setting.</p>
+                            <p>
+                                To set a description for a section, an additional parameter needs to be added to
+                                Section commmand with a unique identifier for the section. This name can later be
+                                used to set the description for this section.</p>
+                            <pre>
+Section &quot;Section Name 1&quot; Section1
+   ...
+SectionEnd
+</pre>
+                            <p>
+                                After the sections, use these macros to set the descriptions:</p>
+                            <pre>
+LangString DESC_Section1 ${LANG_ENGLISH} &quot;Description of section 1.&quot;
+LangString DESC_Section2 ${LANG_ENGLISH} &quot;Description of section 2.&quot;
+
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+  !insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1)
+  !insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+</pre>
+                            <p>
+                                For the uninstaller, use the MUI_UNFUNCTION_DESCRIPTION_BEGIN and MUI_UNFUNCTION_DESCRIPTION_END
+                                macros.</p>
+                        </div>
+                        <h2>
+                            Start Menu folder</h2>
+                        <div>
+                            <p>
+                                Put the code to write the shortcuts (using CreateShortcut) between the MUI_STARTMENU_WRITE_BEGIN
+                                and MUI_STARTMENU_WRITE_END macros:</p>
+                            <pre>
+!insertmacro MUI_STARTMENU_WRITE_BEGIN pageid
+  ...create shortcuts...
+!insertmacro MUI_STARTMENU_WRITE_END
+</pre>
+                            <p>
+                                The page ID should be the ID of the page on which the user has selected the folder
+                                for the shortcuts you want to write.</p>
+                            <p>
+                                The variable which contains the folder and the page ID are set as parameters of
+                                the page macro.</p>
+                        </div>
+                    </div>
+                    <h1>
+                        Language selection dialog</h1>
+                    <div>
+                        <p>
+                            If you want the installer to display a language selection dialog (see the the <a
+                                href="../../Examples/Modern%20UI/MultiLanguage.nsi">MultiLanguage.nsi</a> example),
+                            insert the MUI_LANGDLL_DISPLAY macro in the .onInit function:</p>
+                        <pre>
+Function .onInit
+
+  !insertmacro MUI_LANGDLL_DISPLAY
+
+FunctionEnd
+</pre>
+                        <p>
+                            This macro can also be used in the un.onInit function.</p>
+                        <h3>
+                            <img class="trigger" alt="Open/Close section" id="trigger_lss" src="images/closed.gif"
+                                onclick="toggle('trigger_lss', 'toggle_lss');" />
+                            Settings for registry storage of selected language</h3>
+                        <div class="toggle" id="toggle_lss">
+                            <p>
+                                To remember the user's preference, you can define a registry key. These defines
+                                should be set before inserting the installation page macro.</p>
+                            <p>
+                                <strong>MUI_LANGDLL_REGISTRY_ROOT</strong> <span class="parameter">root</span><br />
+                                <strong>MUI_LANGDLL_REGISTRY_KEY</strong> <span class="parameter">key</span><br />
+                                <strong>MUI_LANGDLL_REGISTRY_VALUENAME</strong> <span class="parameter">value_name</span><br />
+                                The registry key to store the language. The users preference will be remembered.
+                                You can also use it for the uninstaller to display the right language. Don't forget
+                                to remove this key in the uninstaller.</p>
+                            <p>
+                                For the uninstaller, insert the MUI_UNGETLANGUAGE macro in un.onInit to get the
+                                stored language preference:</p>
+                            <pre>
+Function un.onInit
+
+  !insertmacro MUI_UNGETLANGUAGE
+
+FunctionEnd
+</pre>
+                        </div>
+                        <h3>
+                            <img class="trigger" alt="Open/Close section" id="trigger_lsin" src="images/closed.gif"
+                                onclick="toggle('trigger_lsin', 'toggle_lsin');" />
+                            Interface settings for selection dialog</h3>
+                        <div class="toggle" id="toggle_lsin">
+                            <p>
+                                To customize the language selection dialog interface, use these defines before inserting
+                                the MUI_LANGDLL_DISPLAY macro.</p>
+                            <p>
+                                <strong>MUI_LANGDLL_WINDOWTITLE</strong> <span class="parameter">text</span><br />
+                                The window title of the language selection dialog.</p>
+                            <p>
+                                <strong>MUI_LANGDLL_INFO</strong> <span class="parameter">text</span><br />
+                                The text to display on the language selection dialog.</p>
+                            <p>
+                                <strong>MUI_LANGDLL_ALWAYSSHOW</strong><br />
+                                Always show the language selection dialog, even if a language has been stored in
+                                the registry. The language stored in the registry will be selected by default.</p>
+                            <p>
+                                <strong>MUI_LANGDLL_ALLLANGUAGES</strong><br />
+                                Always show all available languages and don't filter according to their codepage.</p>
+                        </div>
+                    </div>
+                    <h1>
+                        Custom pages</h1>
+                    <div>
+                        <p>
+                            If you want add your custom pages to your installer, you can insert your own page
+                            commands between the page macros. The <a href="../InstallOptions/Readme.html">InstallOptions
+                                documentation</a> provides information about creating custom pages using InstallOptions.</p>
+                        <pre>
+!insertmacro MUI_PAGE_WELCOME
+Page custom FunctionName ;Custom page
+!insertmacro MUI_PAGE_COMPONENTS
+ 
+;Uninstaller
+!insertmacro MUI_UNPAGE_CONFIRM
+UninstPage custom un.FunctionName ;Custom page
+!insertmacro MUI_UNPAGE_INSTFILES
+</pre>
+                        <p>
+                            Use the MUI_HEADER_TEXT macro to set the text on the page header in a page function:</p>
+                        <pre>
+LangString PAGE_TITLE ${LANG_ENGLISH} &quot;Title&quot;
+LangString PAGE_SUBTITLE ${LANG_ENGLISH} &quot;Subtitle&quot;
+
+Function CustomPageFunction
+  !insertmacro MUI_HEADER_TEXT $(PAGE_TITLE) $(PAGE_SUBTITLE)
+  !insertmacro MUI_INSTALLOPTIONS_DISPLAY &quot;ioFile.ini&quot;
+FuctionEnd
+</pre>
+                    </div>
+                    <h1>
+                        Custom functions</h1>
+                    <div>
+                        <p>
+                            Interface functions provided by NSIS, like the .onGUIInit function and the page
+                            functions are automatically included by the Modern UI and filled with code to support
+                            new interface features. If you want to add additional code to these function, create
+                            a function with the custom script code in the script use the Modern UI functions
+                            call them.</p>
+                        <p>
+                            Example:</p>
+                        <pre class="text">
+!define MUI_CUSTOMFUNCTION_GUIINIT myGuiInit
+
+Function myGUIInit
+  ...your own code...
+FunctionEnd
+</pre>
+                        <h3>
+                            <img class="trigger" alt="Open/Close section" id="trigger_cfg" src="images/closed.gif"
+                                onclick="toggle('trigger_cfg', 'toggle_cfg');" />
+                            General Custom Functions</h3>
+                        <div class="toggle" id="toggle_cfg">
+                            <p>
+                                These defines should be set before inserting the language macros.</p>
+                            <p>
+                                <strong>MUI_CUSTOMFUNCTION_GUIINIT</strong> <span class="parameter">function</span><br />
+                                <strong>MUI_CUSTOMFUNCTION_UNGUIINIT</strong> <span class="parameter">function</span><br />
+                                <strong>MUI_CUSTOMFUNCTION_ABORT</strong> <span class="parameter">function</span><br />
+                                <strong>MUI_CUSTOMFUNCTION_UNABORT</strong> <span class="parameter">function</span><br />
+                                <strong>MUI_CUSTOMFUNCTION_ONMOUSEOVERSECTION</strong> <span class="parameter">function</span><br />
+                                <strong>MUI_CUSTOMFUNCTION_UNONMOUSEOVERSECTION</strong> <span class="parameter">function</span></p>
+							<p>
+                                Mouse over functions are only available when the description macros
+								(MUI_FUNCTION_DESCRIPTION_BEGIN) are used. When component page descriptions are not
+								used, regular .onMouseOverSection and un.onMouseOverSection must be used.</p>
+                        </div>
+                        <h3>
+                            <img class="trigger" alt="Open/Close section" id="trigger_cfpg" src="images/closed.gif"
+                                onclick="toggle('trigger_cfpg', 'toggle_cfpg');" />
+                            Page Custom Functions</h3>
+                        <div class="toggle" id="toggle_cfpg">
+                            <p>
+                                These defines should be set before inserting a page macro.</p>
+                            <p>
+                                <strong>MUI_PAGE_CUSTOMFUNCTION_PRE</strong> <span class="parameter">function</span><br />
+                                <strong>MUI_PAGE_CUSTOMFUNCTION_SHOW</strong> <span class="parameter">function</span><br />
+                                <strong>MUI_PAGE_CUSTOMFUNCTION_LEAVE</strong> <span class="parameter">function</span></p>
+                            <p>
+                                <strong>Notes:</strong></p>
+                            <ul>
+                                <li>In the Pre function of the Welcome page and the Finish page, you can write to the
+                                    InstallOptions INI file of the page (ioSpecial.ini)</li>
+                                <li>In the Show function of the Welcome, Finish and StartMenu pages, $MUI_HWND contains
+                                    the HWND of the inner dialog</li>
+                            </ul>
+                        </div>
+                        <h3>
+                            <img class="trigger" alt="Open/Close section" id="trigger_cfwf" src="images/closed.gif"
+                                onclick="toggle('trigger_cfwf', 'toggle_cfwf');" />
+                            Welcome/Finish Page Custom Functions</h3>
+                        <div class="toggle" id="toggle_cfwf">
+                            <p>
+                                This define should be inserted before a single Welcome or Finish page.</p>
+                            <p>
+                                <strong>MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT</strong> <span class="parameter">function</span></p>
+                            <p>
+                                This Init function is called before the InstallOptions INI file for the page is
+                                written, so you can use it to initialize any variables used in the page settings.</p>
+                        </div>
+                    </div>
+                    <h1>
+                        <a name="examples" id="examples">Example scripts</a></h1>
+                    <div>
+                        <p>
+                            Basic: <a href="../../Examples/Modern%20UI/Basic.nsi">Basic.nsi</a><br />
+                            Welcome/Finish page: <a href="../../Examples/Modern%20UI/WelcomeFinish.nsi">WelcomeFinish.nsi</a><br />
+                            Multiple languages: <a href="../../Examples/Modern%20UI/MultiLanguage.nsi">MultiLanguage.nsi</a><br />
+                            Header image: <a href="../../Examples/Modern%20UI/HeaderBitmap.nsi">HeaderBitmap.nsi</a><br />
+                            Custom pages: <a href="../../Examples/Modern%20UI/InstallOptions.nsi">InstallOptions.nsi</a><br />
+                            Start Menu Folder page: <a href="../../Examples/Modern%20UI/StartMenu.nsi">StartMenu.nsi</a></p>
+                    </div>
+                    <h1>
+                        Credits</h1>
+                    <div>
+                        <p>
+                            Written by Joost Verburg.<br />
+                            Icons designed by Nikos Adamamas, aka adni18.<br />
+                            Thanks to Amir Szekely, aka KiCHiK, for his work on NSIS to make this possible.</p>
+                    </div>
+                    <h1>
+                        License</h1>
+                    <div>
+                        <p>
+                            The zlib/libpng license applies to the Modern UI.</p>
+                        <h3>
+                            <img class="trigger" alt="Open/Close section" id="trigger_lic" src="images/closed.gif"
+                                onclick="toggle('trigger_lic', 'toggle_lic');" />
+                            License Terms</h3>
+                        <div class="toggle" id="toggle_lic">
+                            <pre>
+Copyright &copy; 2002-2015 Joost Verburg
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute
+it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; 
+   you must not claim that you wrote the original software.
+   If you use this software in a product, an acknowledgment in the
+   product documentation would be appreciated but is not required.
+2. Altered versions must be plainly marked as such,
+   and must not be misrepresented as being the original software.
+3. This notice may not be removed or altered from any distribution.
+</pre>
+                        </div>
+                    </div>
+                </div>
+            </td>
+        </tr>
+    </table>
+</body>
+</html>

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/Readme.html
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/Changelog.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/Changelog.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/Changelog.txt	(revision 2961)
@@ -0,0 +1,263 @@
+NSIS Modern User Interface
+Version History
+
+1.8 - August 9, 2007
+* Uses the new language files
+* Updated documentation
+* Although MUI_DIRECTORYPAGE_BGCOLOR and MUI_STARTMENUPAGE_BGCOLOR are documented as interface
+  setttings that apply to every directory page or Start Menu folder page, they were actually
+  implemented as page specific settings. They have been changed to interface settings.
+* MUI_LANGDLL_DISPLAY now also reads a previously saved language from the registry if the
+  installation is silent.
+* InstallOptions macros have been moved to a separate header file (InstallOptions.nsh).
+  The MUI_INSTALLOPTIONS_* macros are still provided for backwards compatibility and insert the
+  equalivent INSTALLOPTIONS_* macros.
+* Added MUI_CUSTOMFUNCTION_MOUSEOVERSECTION
+
+1.78 - June 8, 2007
+* Added MUI_STARTMENUPAGE_BGCOLOR
+* Added MUI_DIRECTORYPAGE_BGCOLOR
+* Added MUI_LANGDLL_ALLLANGUAGES
+
+1.77 - April 27, 2007
+* Added MUI_FINISHPAGE_CANCEL_ENABLED
+* Added MUI_FINISHPAGE_REBOOTLATER_DEFAULT
+* Block unsupported languages in the language selection dialog
+* Cancel button no longer enabled by default on the finish page
+* Reduced flicker caused by MUI_HEADER_TRANSPARENT_TEXT
+
+1.76 - September 23, 2006
+* Added MUI_ABORTWARNING_CANCEL_DEFAULT
+
+1.75 - April 1, 2006
+* Added show function for the start menu page
+* Added MUI_HEADER_TRANSPARENT_TEXT for transparent header texts
+
+1.74 - September 4, 2005
+* Fixed compile error when checkboxes are used on multiple finish page pages
+
+1.73 - August 6, 2005
+* The checkboxes to run an application or show a Readme file can now also be used on an uninstaller
+  finish pages or multiple finish pages
+
+1.72 - November 27, 2004
+* Fixed state of Finish page Cancel button when both an installer and uninstaller page is included
+
+1.71 - October 14, 2004
+* The selected language is only stored in the registry when installation was successful
+
+1.70 - February 6, 2004
+* Improved documentation
+* New Init custom function for Welcome and Finish page
+
+1.69 - January 7, 2004
+* All uninstaller pages work without installer pages
+* Fixed top text on uninstaller license page
+
+1.68 - November 24, 2003
+* New settings for extra space for title and text on Welcome and Finish page.
+* Improved handling of verbose settings. Define MUI_VERBOSE the set the Modern UI verbose level (1-4).
+* Language file string for uninstaller reboot information
+* Setting for folder validation in leave function
+* Fixed finish page text settings for multiple pages
+
+1.67 - November 18, 2003
+* Support for uninstaller Welcome pages and Finish pages
+* Improved and changed text settings
+* ID for Start Menu Folder pages, easier to use multiple pages
+* Renamed a few settings
+* Default header image
+* Support for uninstaller abort warning
+* Setting for 3 line text on Welcome and Finish page
+  (NOTE: New settings have been introduced in version 1.68)
+* Langauge file backwards compatibility: English for missing strings
+* Support for different uninstaller header image
+* Language selection dialog not displayed if installer is silent
+* Cancel button on Finish page when there are options
+* Full RTL support
+
+1.66 - October 7, 2003
+* New system for page settings and custom pages
+* Support for uninstaller components page
+* Support for multiple pages of the same type
+* New position for interface settings
+* Changed macro and setting names
+* Updated langauge system, new language files and settings
+* Removed MUI_BRANDINGTEXT. You can use the standard BrandingText instruction.
+* Removed MUI_PRODUCT and MUI VERSION. You can use the standard Name instruction.
+
+1.65 - July 16, 2003
+* New page configuration system, no different system for installers with custom pages
+* Default windows color for the license text background
+* Example script updates (new format, user variables)
+* Improved registry storage for Start Menu folder
+* ReserveFile macro for StartMenu plug-in
+* Option to always show the language selection dialog (even if a language has been stored in the registry)
+* Checkboxes on Finish page can be used to call a function
+* Support for custom leave functions for Start Menu Folder, Welcome and Finish pages
+* Support for a link on the Finish page
+* New macro to get Start Menu folder in uninstaller
+* Options to disable bitmap stretching
+* Components page description box info text: always displayed
+  when mouse is outside box, disabled style
+
+1.64 - April 27, 2003
+* Support for license page with checkbox or radiobuttons to let the user accept the agreement or not
+* Macros for finish headers don't have to be inserted anymore
+* Language preference stored when installation has completed, no problems anymore when the users selects the wrong language
+* Header text for aborted installation
+* New macros: get language for uninstaller, delete shortcuts
+* Language specific fonts
+* Welcome/Finish page INI files can be modified in pre functions
+* More texts can be customized
+
+1.63 - March 9, 2003
+* Support for a bitmap in the wizard header
+* New defines to change the components page interface
+* MUI_SYSTEM inserted automatically
+* Single macro for language selection dialog
+* Removed page description in window title
+* Easier to customize resource files
+* New system for custom functions
+* Start Menu folder registry key automatically written
+* New InstallOptions macros that do not remove the return value from the stack
+* Support for custom pages before the finish page
+* Renamed Start Menu page defines
+* 'Do not create shortcuts' checkbox can be removed
+* 'MS Shell Dlg' font for header title
+* RTL support
+* Documentation updates
+* Minor fixes
+
+1.62 - February 2, 2003
+* New language strings for Finish page
+* Possibility to let a Modern UI Function call your own function
+* No problems anymore when using both 'Run program' and 'Show Readme' on the Finish page
+* Default state of checkboxes on the finish page can be changed
+* Welcome / Finish page compatible with custom DPI settings
+* Converted Install Options INI files to use dialog units
+* More ReserveFile macros
+  (NOTE: Some of these macros have been removed in later versions)
+* Background color can be changed with a define
+* Support for multilingual branding texts
+* Start Menu / Finish page window titles also work when using custom page commands
+* Language files should be inserted after inserting the MUI_SYSTEM macro
+  (NOTE: The MUI_SYSTEM macro has been removed in version 1.63)
+* Define MUI_MANUALVERBOSE if you don't want the Modern UI to change the verbose settings during compilation
+  (NOTE: This setting has been changed in version 1.68)
+    
+1.61 - December 5, 2002
+* modern3.exe UI without description area
+  (NOTE: This setting has been changed in version 1.63)
+* Added define to show uninstall confirm page
+* Added language string for finish page title and continue to uninstall
+* Define for parameters for the application to run on the finish page
+* Minor fixes
+
+1.6 - November 18, 2002
+* Welcome / Finish page
+* Automatic ask for reboot on finish page
+* Create no shortcut option on the Start Menu Folder selection page
+* Customizing GUIInit functions easier
+* Minor font / UI changes
+
+1.5 - November 11, 2002
+* New language file format
+* Language strings can be changed in the script without editing languagefiles
+* Start Menu Folder selection page
+* 'Click Next to continue' and 'Click Install to start the installation' texts automatically change to the page order
+* Install Options macros updated. MUI_INSTALLOPTIONS_DISPLAY is the standard macro now.
+  Use MUI_INSTALLOPTIONS_INITDIALOG and MUI_INSTALLOPTIONS_SHOW if you want to customize dialog controls.
+* No more writing window titles & abort warnings to Install Options INI Files
+* Compatible with updated paging system
+* Renamed macros and defines
+* Minor fixes
+
+1.4 - November 4, 2002
+* Uses new NSIS Page command
+* Macro System updates (smaller)
+* Macro System a lot easier
+* Modern UI Language Files load NLF language files
+* Renamed macros and defines
+
+1.3 - October 27, 2002
+* Easier macro system for basic scripts
+* New MultiLanguage system using Modern UI Language Files
+* New directory structure (header/language files in Contrib\Modern UI)
+* Small bugfixes & typo corrections
+* SetPage function should be set using defines
+* Different NextPage/PrevPage/FinishHeader macros for install/uninstall
+  (NOTE: These macros have been removed in version 1.4)
+* Interface settings can be definend (for example, MUI_ICON), no parameters for MUI_INTERFACE anymore
+* New Install Options macros to read/write IO INI file value
+
+1.21 - September 30, 2002
+* Temp vars set in Modern UI header
+* Currentpage & Install Options vars should be set using
+  parameters of the MUI_INTERFACE and * MUI_INSTALLOPTIONS macros
+  (NOTE: The MUI_INTERFACE macro has been removed in version 1.3)
+* MultiLanguage.nsi uses the new language strings
+
+1.2 - September 22, 2002
+  (NOTE: All macros mentioned here have been removed in version 1.4)
+  
+* Lots of macro system updates & fixes
+* InstallOptions support in macro system
+* Added Modern UI + InstallOptions example (InstallOptions.nsi)
+* MUI_NEXTPAGE_OUTER integrated in MUI_NEXTPAGE
+* No hard-coded function names anymore (you should give
+  MUI_PREVPAGE a parameter with the set page function name
+  (for example, MUI_PREVPAGE SetPage)
+* Examples use ReserveFile for faster startup
+
+1.19 - Semtember 19, 2002
+* Renamed some macros
+* Custom code can be used between page start/stop macros
+  (NOTE: These macros have been removed in version 1.4)
+
+1.18 - Semtember 13, 2002
+* Uses the new Sendmessage string option
+
+1.17 - Semtember 10, 2002
+* Win9x font weight bug fixed (font of title in white rect)
+
+1.16 - Semtember 6, 2002
+* Change text 'Scroll down' on license page to 'Press Page Down',
+  because the RichEdit control has focus by default now
+
+1.15 - Semtember 4, 2002
+* Multilanguage example: changed LangDialog to LangDLL::LangDialog (using the DLL name is now required)
+  (NOTE: A new macro for the language selection dialog has been introduced in version 1.63)
+
+1.14 - Semtember 3, 2002
+* Small grammar fix (thanks eccles)
+* UI files updated by Justin for better RichEdit usage
+
+1.13 - Semtember 2, 2002
+* Added 16 color icons 
+
+1.12 - August 30, 2002
+* Verifying installer & Unpacking data dialog has no titlebar anymore
+
+1.11 - August 29, 2002
+* Finish header for uninstaller can also be set using MUI_FINISHHEADER
+  (NOTE: The MUI_FINISHHEADER macro has been removed in version 1.64)
+
+1.1 - August 29, 2002
+  (NOTE: All settings mentioned here do not exist anymore)
+
+* Header file with macros, it's now very easy to use the UI in your scripts
+* Added the modern2.exe UI, with an other location of the Description frame, for installers with a lot of subsections (thanks rainwater)
+* Updated example scripts
+* Added Multilanguage.nsi example (Multilanguage & LangDLL)
+* Fixed background color issue with some custom XP themes
+* Removed WS_VISIBLE from black rect for inner dialog (fixes display issues)
+* Changed size of description area
+* Example script: Added instructions for the user on the Description frame
+* Auto sizing branding text
+* Used modern.bmp for the checks (thanks rainwater)
+* Using the new NSIS version, descriptions work using the keyboard and you can give descriptions to subsections
+* Correct font size using High-DPI fonts
+
+1.0 - August 26, 2002
+* Initial release
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/Changelog.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/images/header.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/images/header.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/images/closed.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/images/closed.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/images/screen1.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/images/screen1.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/images/screen2.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/images/screen2.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/images/open.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI/images/open.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Docs/StartMenu/Readme.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/StartMenu/Readme.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/StartMenu/Readme.txt	(revision 2961)
@@ -0,0 +1,47 @@
+StartMenu.dll shows a custom page that lets the user select a start menu program 
+folder to put shortcuts in.
+
+To show the dialog use the Select function. This function has one required parameter 
+which is the program group default name, and some more optional switches:
+  /autoadd - automatically adds the program name to the selected folder
+  /noicon - doesn't show the icon in the top left corner
+  /text [please select...] - sets the top text to something else than
+                             "Select the Start Menu folder in which..."
+  /lastused [folder] - sets the edit box to a specific value folder.
+                       Use this to make this plug-in remember the last
+                       folder selected by the user
+  /checknoshortcuts text - Shows a check box with the text "text". If
+                           the user checks this box, the return value
+                           will have > as its first character and you
+                           should not create the program group.
+  /rtl - sets the direction of every control on the selection dialog
+         to RTL. This means every text shown on the page will be
+	 justified to the right.
+
+The order of the switches doesn't matter but the required parameter must come after
+all of them. Every switch after the required parameter will be ignored and left
+on the stack.
+
+The function pushes "success", "cancel" or an error to the stack. If there was no
+error and the user didn't press on cancel it will push the selected folder name
+after "success". If the user checked the no shortcuts checkbox the result will be
+prefixed with '>'. The function does not push the full path but only the selected
+sub-folder. It's up to you to decide if to put it in the current user or all
+users start menu.
+
+To set properties of the controls on the page, such as colors and fonts use Init
+and Show instead of Select. Init will push the HWND of the page on the stack,
+or an error string. For example:
+
+StartMenu::Init "Test"
+Pop $0
+IntCmp $0 0 failed
+GetDlgItem $0 $0 1003
+SetCtlColors $0 "" FF0000
+StartMenu::Show
+# continue as with Select here
+failed:
+
+Look at Example.nsi for a full example (without Init and Select).
+
+Created by Amir Szekely (aka KiCHiK)
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/StartMenu/Readme.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/nsDialogs/Readme.html
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/nsDialogs/Readme.html	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/nsDialogs/Readme.html	(revision 2961)
@@ -0,0 +1,924 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<title>nsDialogs</title>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<style type="text/css">
+b
+{
+	color: red;
+}
+code
+{
+	margin-left: 20px;
+	padding: 7px;
+	background-color: rgb(240,240,240);
+}
+</style>
+</head>
+<body>
+
+<h1>NSIS nsDialogs Plug-in</h1>
+<p><i>Next generation of user interface design</i></p>
+
+<h2>Table of Contents</h2>
+
+<ul>
+<li><a href="#intro">Introduction</a></li>
+<li>
+<a href="#step">Step-by-Step Tutorial</a>
+<ul>
+<li><a href="#step-basic">Basic Script</a></li>
+<li><a href="#step-page">Custom Page</a></li>
+<li><a href="#step-create">Creating Page</a></li>
+<li><a href="#step-show">Showing Page</a></li>
+<li><a href="#step-add">Adding Controls</a></li>
+<li><a href="#step-state">Control State</a></li>
+<li><a href="#step-notify">Real-time Notification</a></li>
+<li><a href="#step-memory">Memory</a></li>
+</ul>
+</li>
+<li>
+<a href="#ref">Function Reference</a>
+<ul>
+<li><a href="#ref-create">Create</a></li>
+<li><a href="#ref-createcontrol">CreateControl</a></li>
+<li><a href="#ref-show">Show</a></li>
+<li><a href="#ref-selectfiledialog">SelectFileDialog</a></li>
+<li><a href="#ref-selectfolderdialog">SelectFolderDialog</a></li>
+<li><a href="#ref-setrtl">SetRTL</a></li>
+<li><a href="#ref-getuserdata">GetUserData</a></li>
+<li><a href="#ref-setuserdata">SetUserData</a></li>
+<li><a href="#ref-onback">OnBack</a></li>
+<li><a href="#ref-onchange">OnChange</a></li>
+<li><a href="#ref-onclick">OnClick</a></li>
+<li><a href="#ref-onnotify">OnNotify</a></li>
+<li><a href="#ref-createtimer">CreateTimer</a></li>
+<li><a href="#ref-killtimer">KillTimer</a></li>
+</ul>
+</li>
+<li>
+<a href="#mref">Macro Reference</a>
+<ul>
+<li><a href="#mref-create">NSD_Create*</a></li>
+<li><a href="#mref-onback">NSD_OnBack</a></li>
+<li><a href="#mref-onchange">NSD_OnChange</a></li>
+<li><a href="#mref-onclick">NSD_OnClick</a></li>
+<li><a href="#mref-onnotify">NSD_OnNotify</a></li>
+<li><a href="#mref-createtimer">NSD_CreateTimer</a></li>
+<li><a href="#mref-killtimer">NSD_KillTimer</a></li>
+<li><a href="#mref-addstyle">NSD_AddStyle</a></li>
+<li><a href="#mref-addexstyle">NSD_AddExStyle</a></li>
+<li><a href="#mref-gettext">NSD_GetText</a></li>
+<li><a href="#mref-settext">NSD_SetText</a></li>
+<li><a href="#mref-settextlimit">NSD_SetTextLimit</a></li>
+<li><a href="#mref-getstate">NSD_GetState</a></li>
+<li><a href="#mref-setstate">NSD_SetState</a></li>
+<li><a href="#mref-check">NSD_Check</a></li>
+<li><a href="#mref-uncheck">NSD_Uncheck</a></li>
+<li><a href="#mref-cbaddstring">NSD_CB_AddString</a></li>
+<li><a href="#mref-cbselectstring">NSD_CB_SelectString</a></li>
+<li><a href="#mref-lbaddstring">NSD_LB_AddString</a></li>
+<li><a href="#mref-lbdelstring">NSD_LB_DelString</a></li>
+<li><a href="#mref-lbclear">NSD_LB_Clear</a></li>
+<li><a href="#mref-lbgetcount">NSD_LB_GetCount</a></li>
+<li><a href="#mref-lbselectstring">NSD_LB_SelectString</a></li>
+<li><a href="#mref-lbgetselection">NSD_LB_GetSelection</a></li>
+<li><a href="#mref-setfocus">NSD_SetFocus</a></li>
+<li><a href="#mref-setimage">NSD_SetImage</a></li>
+<li><a href="#mref-setsimage">NSD_SetStretchedImage</a></li>
+<li><a href="#mref-seticon">NSD_SetIcon</a></li>
+<li><a href="#mref-seticonfrominstaller">NSD_SetIconFromInstaller</a></li>
+<li><a href="#mref-clearimage">NSD_ClearImage</a></li>
+<li><a href="#mref-clearicon">NSD_ClearIcon</a></li>
+<li><a href="#mref-freeimage">NSD_FreeImage</a></li>
+<li><a href="#mref-freeicon">NSD_FreeIcon</a></li>
+</ul>
+</li>
+<li><a href="#faq">FAQ</a></li>
+</ul>
+
+<h2><a name="intro"></a>Introduction</h2>
+
+<p>nsDialogs allows creation of custom pages in the installer. On top of the built-in pages, nsDialogs can create pages with any type of controls in any order and arrangement. It can create everything from a simple page with one label to form which reacts to user's actions. <a href="../Modern UI 2/Readme.html">Modern UI 2</a>, for example, uses nsDialogs to create the welcome and finish pages.</p>
+
+<p>nsDialogs is a new NSIS plug-in, introduced in version 2.29 as a replacement for <a href="../InstallOptions/Readme.html">InstallOptions</a>. nsDialogs doesn't use INI files, so it's way faster than InstallOptions. Integration with the script is tighter and more natural - creating controls is done using plug-in functions and notification is done by directly calling a function in the script. Unlike InstallOptions, there isn't a predefined set of available control type and by providing a lower level access to Windows API, every type of control can be created and pages can be more customizable.</p>
+
+<p>The same thing that makes nsDialogs more flexible can also make it more complicated for users with no knowledge of Win32 API. This is solved by creating a library of predefined functions, defined in script, that allow creation and handling of controls. This way, novices get easy access to the flexibility, while advanced users still get access to the core functionality by modifying the library or simply avoid using it.</p>
+
+<h2><a name="step"></a>Step-by-Step Tutorial</h2>
+
+<h3><a name="step-basic"></a>Basic Script</h3>
+
+<p>Before using nsDialogs, lets first create a basic script as our skeleton.</p>
+
+<blockquote><pre>Name nsDialogs
+OutFile nsDialogs.exe
+
+XPStyle on
+
+Page instfiles
+
+Section
+
+	DetailPrint "hello world"
+
+SectionEnd</pre></blockquote>
+
+<h3><a name="step-page"></a>Custom Page</h3>
+
+<p>Next, we'll add a custom page where we can use nsDialogs. nsDialogs cannot be used in sections or any other function but a custom page's function.</p>
+
+<blockquote><pre>Name nsDialogs
+OutFile nsDialogs.exe
+
+XPStyle on
+
+<b>Page custom nsDialogsPage</b>
+Page instfiles
+
+<b>Function nsDialogsPage
+FunctionEnd</b>
+
+Section
+
+	DetailPrint "hello world"
+
+SectionEnd</pre></blockquote>
+
+<h3><a name="step-create"></a>Creating Page</h3>
+
+<p>Now that the foundations are laid, it's time to use nsDialogs. The first call must always be to nsDialogs::Create. It will create a new dialog in the page and return its <i>HWND</i> on the stack. The result must be popped from the stack to prevent stack corruption. If the result is <i>error</i>, the dialog couldn't be created.</p>
+
+<p>nsDialogs::Create accepts one parameter. It has a very specific function, but to keep things simple for this tutorial, it must always be 1018.</p>
+
+<p><i>HWND</i> is a number that uniquely identifies the dialog and can be used with SendMessage, SetCtlColors and Win32 API.</p>
+
+<blockquote><pre><b>!include LogicLib.nsh</b>
+
+Name nsDialogs
+OutFile nsDialogs.exe
+
+XPStyle on
+
+<b>Var Dialog</b>
+
+Page custom nsDialogsPage
+Page instfiles
+
+Function nsDialogsPage
+<b>
+	nsDialogs::Create 1018
+	Pop $Dialog
+
+	${If} $Dialog == error
+		Abort
+	${EndIf}
+</b>
+FunctionEnd
+
+Section
+
+	DetailPrint "hello world"
+
+SectionEnd</pre></blockquote>
+
+<h3><a name="step-show"></a>Showing Page</h3>
+
+<p>Now that the page is created, it's time to show it. This is done with nsDialogs::Show. This function will not return until the user clicks Next, Back or Cancel.</p>
+
+<blockquote><pre>!include LogicLib.nsh
+
+Name nsDialogs
+OutFile nsDialogs.exe
+
+XPStyle on
+
+Var Dialog
+
+Page custom nsDialogsPage
+Page instfiles
+
+Function nsDialogsPage
+	nsDialogs::Create 1018
+	Pop $Dialog
+
+	${If} $Dialog == error
+		Abort
+	${EndIf}
+<b>
+	nsDialogs::Show
+</b>
+FunctionEnd
+
+Section
+
+	DetailPrint "hello world"
+
+SectionEnd</pre></blockquote>
+
+<h3><a name="step-add"></a>Adding Controls</h3>
+
+<p>Compiling the last script and running it results in an empty page which is not very useful. So now we'll add some controls to it to. To do so, we'll use <a href="#mref-create">${NSD_Create*}</a> macros from nsDialogs.nsh. Each of those macros takes 5 parameters - x, y, width, height and text. Each macro also returns one value on the stack, which is the new control's HWND. Like the dialogs HWND, it must be popped from the stack and saved.</p>
+
+<p>Each of the measurements that the macros take can use one of three unit types - pixels, dialog units or percentage of the dialog's size. It can also be negative to indicate it should be measured from the end. To use dialog units, the measurement must be suffixed with the letter <i>u</i>. To use percentage, the measurement must be suffixed with the percentage sign - <i>%</i>. Any other suffix, or no suffix, means pixels.</p>
+
+<p>Dialog units allow creation of dialogs that scale well when different fonts or DPI is used. Its size in pixels is determined on runtime based on the font and the DPI. For example, standard pages in the classic NSIS user interface are 266 dialog units wide and 130 dialog units high. Pages in Modern UI are 300 dialogs units wide and 140 dialog units high. In different resolutions, using different fonts or DPI settings, the dialogs will always have the same size in dialog units, but different size in pixels.</p>
+
+<blockquote><pre><b>!include nsDialogs.nsh</b>
+!include LogicLib.nsh
+
+Name nsDialogs
+OutFile nsDialogs.exe
+
+XPStyle on
+
+Var Dialog
+<b>Var Label
+Var Text</b>
+
+Page custom nsDialogsPage
+Page instfiles
+
+Function nsDialogsPage
+
+	nsDialogs::Create 1018
+	Pop $Dialog
+
+	${If} $Dialog == error
+		Abort
+	${EndIf}
+<b>
+	${NSD_CreateLabel} 0 0 100% 12u "Hello, welcome to nsDialogs!"
+	Pop $Label
+
+	${NSD_CreateText} 0 13u 100% -13u "Type something here..."
+	Pop $Text
+</b>
+	nsDialogs::Show
+
+FunctionEnd
+
+Section
+
+	DetailPrint "hello world"
+
+SectionEnd</pre></blockquote>
+
+<p>Available control types that can be created with <a href="#mref-create">${NSD_Create*}</a> are:</p>
+
+<ul>
+<li>HLine</li>
+<li>VLine</li>
+<li>Label</li>
+<li>Icon</li>
+<li>Bitmap</li>
+<li>BrowseButton</li>
+<li>Link</li>
+<li>Button</li>
+<li>GroupBox</li>
+<li>CheckBox</li>
+<li>RadioButton</li>
+<li>Text</li>
+<li>Password</li>
+<li>Number</li>
+<li>FileRequest</li>
+<li>DirRequest</li>
+<li>ComboBox</li>
+<li>DropList</li>
+<li>ListBox</li>
+<li>ProgressBar</li>
+</ul>
+
+<h3><a name="step-state"></a>Control State</h3>
+
+<p>Now that we have some controls that the user can interact with, it's time to see what the user actually does with them. For that, we'll first add a <i>leave callback</i> function to our page. In that function, we'll query the state of the text control we've created and display it to the user. To do so, we'll use the <a href="#mref-gettext">${NSD_GetText}</a> macro. Use the <a href="#mref-getstate">${NSD_GetState}</a> macro for RadioButton and CheckBox controls.</p>
+
+<p>Note that not all controls support <a href="#mref-gettext">${NSD_GetText}</a> and some require special handling with specific messages defined in WinMessages.nsh. For example, the ListBox control requires usage of <i>LB_GETCURSEL</i> and <i>LB_GETTEXT</i>. With time, the library of macros in nsDialogs.nsh will fill with more and more macros that'll handle more cases like this.</p>
+
+<blockquote><pre>!include nsDialogs.nsh
+!include LogicLib.nsh
+
+Name nsDialogs
+OutFile nsDialogs.exe
+
+XPStyle on
+
+Var Dialog
+Var Label
+Var Text
+
+Page custom nsDialogsPage <b>nsDialogsPageLeave</b>
+Page instfiles
+
+Function nsDialogsPage
+
+	nsDialogs::Create 1018
+	Pop $Dialog
+
+	${If} $Dialog == error
+		Abort
+	${EndIf}
+
+	${NSD_CreateLabel} 0 0 100% 12u "Hello, welcome to nsDialogs!"
+	Pop $Label
+
+	${NSD_CreateText} 0 13u 100% -13u "Type something here..."
+	Pop $Text
+
+	nsDialogs::Show
+
+FunctionEnd
+
+<b>Function nsDialogsPageLeave
+
+	${NSD_GetText} $Text $0
+	MessageBox MB_OK "You typed:$\n$\n$0"
+
+FunctionEnd</b>
+
+Section
+
+	DetailPrint "hello world"
+
+SectionEnd</pre></blockquote>
+
+<h3><a name="step-notify"></a>Real-time Notification</h3>
+
+<p>One of the more exciting new features of nsDialogs is callback function notification of changes to the dialog. nsDialogs can call a function defined in a script in response to a user action such as changing of a text field or click of a button. To make nsDialogs notify us of events, we'll use <a href="#mref-onclick">${NSD_OnClick}</a> and <a href="#mref-onchange">${NSD_OnChange}</a>. Not every control supports both of the events. For example, there is nothing to notify about label changes, only clicks.</p>
+
+<p>When the callback function is called, the control's HWND will be waiting on the stack and must be popped to prevent stack corruption. In this simple example, this is not so useful. But in case of a bigger script where several controls are associated with the same callback function, the HWND can shed some light on which control originated the event.</p>
+
+<p>The new example will respond to the user type <i>hello</i> in the text box.</p>
+
+<blockquote><pre>!include nsDialogs.nsh
+!include LogicLib.nsh
+
+Name nsDialogs
+OutFile nsDialogs.exe
+
+XPStyle on
+
+Var Dialog
+Var Label
+Var Text
+
+Page custom nsDialogsPage nsDialogsPageLeave
+Page instfiles
+
+Function nsDialogsPage
+
+	nsDialogs::Create 1018
+	Pop $Dialog
+
+	${If} $Dialog == error
+		Abort
+	${EndIf}
+
+	${NSD_CreateLabel} 0 0 100% 12u "Hello, welcome to nsDialogs!"
+	Pop $Label
+
+	${NSD_CreateText} 0 13u 100% -13u "Type something here..."
+	Pop $Text
+	<b>${NSD_OnChange} $Text nsDialogsPageTextChange</b>
+
+	nsDialogs::Show
+
+FunctionEnd
+
+Function nsDialogsPageLeave
+
+	${NSD_GetText} $Text $0
+	MessageBox MB_OK "You typed:$\n$\n$0"
+
+FunctionEnd
+
+<b>Function nsDialogsPageTextChange
+
+	Pop $1 # $1 == $ Text
+
+	${NSD_GetText} $Text $0
+
+	${If} $0 == "hello"
+
+		MessageBox MB_OK "right back at ya!"
+
+	${EndIf}
+
+FunctionEnd</b>
+
+Section
+
+	DetailPrint "hello world"
+
+SectionEnd</pre></blockquote>
+
+<h3><a name="step-memory"></a>Memory</h3>
+
+<p>So far we have a page that has some basic input controls. But what happens when the user goes to the next page and comes back? With the current code, the user's input will not be remembered. To remember, we'll use the already present leave callback function to store the user's choice in variables and pass these values when creating the controls the next time. For a better example, we'll also add a checkbox to the page and use <a href="#mref-getstate">${NSD_GetState}</a> and <a href="#mref-setstate">${NSD_SetState}</a> to get and set its state.</p>
+
+<p>For clarity, we'll remove some of the notifications from the previous step.</p>
+
+<blockquote><pre>!include nsDialogs.nsh
+!include LogicLib.nsh
+
+Name nsDialogs
+OutFile nsDialogs.exe
+
+XPStyle on
+
+Var Dialog
+Var Label
+Var Text
+<b>Var Text_State
+Var Checkbox
+Var Checkbox_State</b>
+
+Page custom nsDialogsPage nsDialogsPageLeave
+<b>Page license</b>
+Page instfiles
+
+<b>Function .onInit
+
+	StrCpy $Text_State "Type something here..."
+
+FunctionEnd</b>
+
+Function nsDialogsPage
+
+	nsDialogs::Create 1018
+	Pop $Dialog
+
+	${If} $Dialog == error
+		Abort
+	${EndIf}
+
+	${NSD_CreateLabel} 0 0 100% 12u "Hello, welcome to nsDialogs!"
+	Pop $Label
+
+	${NSD_CreateText} 0 13u 100% <b>12u $Text_State</b>
+	Pop $Text
+
+	<b>${NSD_CreateCheckbox} 0 30u 100% 10u "&amp;Something"
+	Pop $Checkbox
+
+	${If} $Checkbox_State == ${BST_CHECKED}
+		${NSD_Check} $Checkbox
+	${EndIf}
+
+	# alternative for the above ${If}:
+	#${NSD_SetState} $Checkbox_State</b>
+
+	nsDialogs::Show
+
+FunctionEnd
+
+Function nsDialogsPageLeave
+
+	${NSD_GetText} $Text <b>$Text_State</b>
+	<b>${NSD_GetState} $Checkbox $Checkbox_State</b>
+
+FunctionEnd
+
+Section
+
+	DetailPrint "hello world"
+
+SectionEnd</pre></blockquote>
+
+<h2><a name="ref"></a>Function Reference</h2>
+
+<h3><a name="ref-create"></a>Create</h3>
+
+<p><code>nsDialogs::Create <i>rect</i></code></p>
+
+<p>Creates a new dialog. <i>rect</i> specific the identifier of the control whose location will be mimiced. This should usually be 1018, which is control mimiced for creation of built-in pages. The Modern UI also has control 1040 for the welcome and the finish page.</p>
+
+<p>Returns the new dialog's HWND on the stack or <i>error</i>.</p>
+
+<h3><a name="ref-createcontrol"></a>CreateControl</h3>
+
+<p><code>nsDialogs::CreateControl <i>class</i> <i>style</i> <i>extended_style</i> <i>x</i> <i>y</i> <i>width</i> <i>height</i> <i>text</i></code></p>
+
+<p>Create a new control in the current dialog. A dialog must exist for this to work, so nsDialogs::Create must be called prior to this function.</p>
+
+<p>Returns the new dialog's HWND on the stack or <i>error</i>.</p>
+
+<h3><a name="ref-show"></a>Show</h3>
+
+<p><code>nsDialogs::Show</code></p>
+
+<p>Displays the page. Call this once finished with nsDialogs::Create, nsDialogs::CreateControl and the rest.</p>
+
+<p>Returns nothing.</p>
+
+<h3><a name="ref-selectfiledialog"></a>SelectFileDialog</h3>
+
+<p><code>nsDialogs::SelectFileDialog <i>mode</i> <i>initial_selection</i> <i>filter</i></code></p>
+
+<p>Displays a file selection dialog to the user. If <i>mode</i> is set to <i>save</i>, displays a file save dialog. If <i>mode</i> is set to <i>open</i>, displays a file open dialog. <i>filter</i> is a list of available file filters separated by pipes. If an empty string is passed, the default is used - <i>All Files|*.*</i>.</p>
+
+<p><i>initial_selection</i> can be used to provide the user with a default file to look for and/or a default folder to look in. If <i>initial_selection</i> is empty no default filename will be provided for the user and the dialog will start in the current working directory. If <i>initial_selection</i> specifies just a filename, for example "test.exe", the dialog will be set up to look for a file called test.exe in the current working directory. If <i>initial_selection</i> specifies just a directory, for example "C:\Program Files", the dialog starts in the provided directory with no file name provided. If <i>initial_selection</i> specifies a directory and a filename, for example "C:\Windows\System32\calc.exe", the dialog will be set up to look for a file called calc.exe in the directory C:\Windows\System32.</p>
+
+<p>Returns the selected file on the stack or an empty string if the user canceled the operation.</p>
+
+<h3><a name="ref-selectfolderdialog"></a>SelectFolderDialog</h3>
+
+<p><code>nsDialogs::SelectFolderDialog <i>title</i> <i>initial_selection</i></code></p>
+
+<p>Displays a directory selection dialog to the user.</p>
+
+<p>Returns the selected directory on the stack or "error" in case the user canceled the operation or an error occured.</p>
+
+<h3><a name="ref-setrtl"></a>SetRTL</h3>
+
+<p><code>nsDialogs::SetRTL <i>rtl_setting</i></code></p>
+
+<p>Sets right-to-left mode on or off. If <i>rtl_setting</i> is 0, it's set to off. If <i>rtl_setting</i> is 1, it's set to on. This function must be called before any calls to nsDialogs::CreateControl.</p>
+
+<p>Returns nothing.</p>
+
+<h3><a name="ref-getuserdata"></a>GetUserData</h3>
+
+<p><code>nsDialogs::GetUserData <i>control_HWND</i></code></p>
+
+<p>Returns user data associated with the control on the stack.  Use nsDialogs::SetUserData to set this data.</p>
+
+<h3><a name="ref-setuserdata"></a>SetUserData</h3>
+
+<p><code>nsDialogs::SetUserData <i>control_HWND</i> <i>data</i></code></p>
+
+<p>Associates <i>data</i> with the control. Use nsDialogs::GetUserData to get this data.</p>
+
+<p>Returns nothing.</p>
+
+<h3><a name="ref-onback"></a>OnBack</h3>
+
+<p><code>nsDialogs::OnBack <i>function_address</i></code></p>
+
+<p>Sets the callback function for the Back button. This function will be called when the user clicks the back button. Call Abort in this function to prevent the user from going back to the last page.</p>
+
+<p>Use GetFunctionAddress to get the address of the desired callback function.</p>
+
+<p>Returns nothing.</p>
+
+<h3><a name="ref-onchange"></a>OnChange</h3>
+
+<p><code>nsDialogs::OnChange <i>control_HWND</i> <i>function_address</i></code></p>
+
+<p>Sets a change notification callback function for the given control. Whenever the control changes, the function will be called and the control's HWND will be waiting on its stack.</p>
+
+<p>Use GetFunctionAddress to get the address of the desired callback function.</p>
+
+<p>Returns nothing.</p>
+
+<h3><a name="ref-onclick"></a>OnClick</h3>
+
+<p><code>nsDialogs::OnClick <i>control_HWND</i> <i>function_address</i></code></p>
+
+<p>Sets a click notification callback function for the given control. Whenever the control is clicked, the function will be called and the control's HWND will be waiting on its stack.</p>
+
+<p>Use GetFunctionAddress to get the address of the desired callback function.</p>
+
+<p>Returns nothing.</p>
+
+<h3><a name="ref-onnotify"></a>OnNotify</h3>
+
+<p><code>nsDialogs::OnNotify <i>control_HWND</i> <i>function_address</i></code></p>
+
+<p>Sets a notification callback function for the given control. Whenever the control receives the WM_NOTIFY message, the function will be called and the control's HWND, notification code and a pointer to the MNHDR structure will be waiting on its stack.</p>
+
+<p>Use GetFunctionAddress to get the address of the desired callback function.</p>
+
+<p>Returns nothing.</p>
+
+<h3><a name="ref-createtimer"></a>CreateTimer</h3>
+
+<p><code>nsDialogs::CreateTimer <i>function_address</i> <i>timer_interval</i></code></p>
+
+<p>Sets a timer that'd call the callback function for the given control every in a constant interval. Interval times are specified in milliseconds.</p>
+
+<p>Use GetFunctionAddress to get the address of the desired callback function.</p>
+
+<p>Returns nothing.</p>
+
+<h3><a name="ref-killtimer"></a>KillTimer</h3>
+
+<p><code>nsDialogs::KillTimer <i>function_address</i></code></p>
+
+<p>Kills a previously set timer.</p>
+
+<p>Use GetFunctionAddress to get the address of the desired callback function.</p>
+
+<p>Returns nothing.</p>
+
+<h2><a name="mref"></a>Macro Reference</h2>
+
+<p>nsDialogs.nsh contains a lot of macros that can make nsDialogs usage a lot easier. Below is a description of each of those macros including purpose, syntax, input and output.</p>
+
+<h3><a name="mref-create"></a>NSD_Create*</h3>
+
+<p><code>${NSD_Create*} <i>x</i> <i>y</i> <i>width</i> <i>height</i> <i>text</i></code></p>
+
+<p>Create a new control in the current dialog. A dialog must exist for this to work, so nsDialogs::Create must be called prior to this function.</p>
+
+<p>Available variants:</p>
+
+<ul>
+<li>${NSD_CreateHLine}</li>
+<li>${NSD_CreateVLine}</li>
+<li>${NSD_CreateLabel}</li>
+<li>${NSD_CreateIcon}</li>
+<li>${NSD_CreateBitmap}</li>
+<li>${NSD_CreateBrowseButton}</li>
+<li>${NSD_CreateLink}</li>
+<li>${NSD_CreateButton}</li>
+<li>${NSD_CreateGroupBox}</li>
+<li>${NSD_CreateCheckBox}</li>
+<li>${NSD_CreateRadioButton}</li>
+<li>${NSD_CreateText}</li>
+<li>${NSD_CreatePassword}</li>
+<li>${NSD_CreateNumber}</li>
+<li>${NSD_CreateFileRequest}</li>
+<li>${NSD_CreateDirRequest}</li>
+<li>${NSD_CreateComboBox}</li>
+<li>${NSD_CreateDropList}</li>
+<li>${NSD_CreateListBox}</li>
+<li>${NSD_CreateProgressBar}</li>
+</ul>
+
+<p>Returns the new dialog's HWND on the stack or error.</p>
+
+<h3><a name="mref-onback"></a>NSD_OnBack</h3>
+
+<p><code>${NSD_OnBack} <i>function_address</i></code></p>
+
+<p>See <a href="#ref-onback">OnBack</a> for more details.</p>
+
+<p></p>
+
+<h3><a name="mref-onchange"></a>NSD_OnChange</h3>
+
+<p><code>${NSD_OnChange} <i>control_HWND</i> <i>function_address</i></code></p>
+
+<p>See <a href="#ref-onchange">OnChange</a> for more details.</p>
+
+<p>See <a href="#step-notify">Real-time Notification</a> for usage example.</p>
+
+<h3><a name="mref-onclick"></a>NSD_OnClick</h3>
+
+<p><code>${NSD_OnClick} <i>control_HWND</i> <i>function_address</i></code></p>
+
+<p>See <a href="#ref-onclick">OnClick</a> for more details.</p>
+
+<h3><a name="mref-onnotify"></a>NSD_OnNotify</h3>
+
+<p><code>${NSD_OnNotify} <i>control_HWND</i> <i>function_address</i></code></p>
+
+<p>See <a href="#ref-onnotify">OnNotify</a> for more details.</p>
+
+<h3><a name="mref-createtimer"></a>NSD_CreateTimer</h3>
+
+<p><code>${NSD_CreateTimer} <i>function_address</i> <i>timer_interval</i></code></p>
+
+<p>See <a href="#ref-createtimer">CreateTimer</a> for more details.</p>
+
+<h3><a name="mref-killtimer"></a>NSD_KillTimer</h3>
+
+<p><code>${NSD_KillTimer} <i>function_address</i></code></p>
+
+<p>See <a href="#ref-killtimer">KillTimer</a> for more details.</p>
+
+<h3><a name="mref-addstyle"></a>NSD_AddStyle</h3>
+
+<p><code>${NSD_AddStyle} <i>control_HWND</i> <i>style</i></code></p>
+
+<p>Adds one or more window style to a control. Multiple styles should be separated with pipes `|'.</p>
+
+<p>See MSDN for style description.</p>
+
+<h3><a name="mref-addexstyle"></a>NSD_AddExStyle</h3>
+
+<p><code>${NSD_AddExStyle} <i>control_HWND</i> <i>style</i></code></p>
+
+<p>Adds one or more extended window style to a control. Multiple styles should be separated with pipes `|'.</p>
+
+<p>See MSDN for style description.</p>
+
+<h3><a name="mref-gettext"></a>NSD_GetText</h3>
+
+<p><code>${NSD_GetText} <i>control_HWND</i> <i>output_variable</i></code></p>
+
+<p>Retrieves the text of a control and stores it into <i>output_variable</i>. Especially useful for textual controls.</p>
+
+<p>See <a href="#step-state">Control State</a> for usage example.</p>
+
+<h3><a name="mref-settext"></a>NSD_SetText</h3>
+
+<p><code>${NSD_SetText} <i>control_HWND</i> <i>text</i></code></p>
+
+<p>Sets the text of a control.</p>
+
+<h3><a name="mref-settextlimit"></a>NSD_SetTextLimit</h3>
+
+<p><code>${NSD_SetTextLimit} <i>control_HWND</i> <i>limit</i></code></p>
+
+<p>Sets input size limit for a text control.</p>
+
+<h3><a name="mref-getstate"></a>NSD_GetState</h3>
+
+<p><code>${NSD_GetState} <i>control_HWND</i> <i>output_variable</i></code></p>
+
+<p>Retrieves the state of a check box or a radio button control. Possible outputs are ${BST_CHECKED} and ${BST_UNCHECKED}.</p>
+
+<p>See <a href="#step-memory">Memory</a> for usage example.</p>
+
+<h3><a name="mref-setstate"></a>NSD_SetState</h3>
+
+<p><code>${NSD_SetState} <i>control_HWND</i> <i>state</i></code></p>
+
+<p>Sets the state of a check box or a radio button control. Possible values for <i>state</i> are ${BST_CHECKED} and ${BST_UNCHECKED}.</p>
+
+<p>See <a href="#step-memory">Memory</a> for usage example.</p>
+
+<h3><a name="mref-check"></a>NSD_Check</h3>
+
+<p><code>${NSD_Check} <i>control_HWND</i></code></p>
+
+<p>Checks a check box or a radio button control. Same as calling ${NSD_SetState} with ${BST_CHECKED}.</p>
+
+<h3><a name="mref-uncheck"></a>NSD_Uncheck</h3>
+
+<p><code>${NSD_Uncheck} <i>control_HWND</i></code></p>
+
+<p>Unchecks a check box or a radio button control. Same as calling ${NSD_SetState} with ${BST_UNCHECKED}.</p>
+
+<p>See <a href="#step-memory">Memory</a> for usage example.</p>
+
+<h3><a name="mref-cbaddstring"></a>NSD_CB_AddString</h3>
+
+<p><code>${NSD_CB_AddString} <i>combo_HWND</i> <i>string</i></code></p>
+
+<p>Adds a string to a combo box.</p>
+
+<h3><a name="mref-cbselectstring"></a>NSD_CB_SelectString</h3>
+
+<p><code>${NSD_CB_SelectString} <i>combo_HWND</i> <i>string</i></code></p>
+
+<p>Selects a string in a combo box.</p>
+
+<h3><a name="mref-lbaddstring"></a>NSD_LB_AddString</h3>
+
+<p><code>${NSD_LB_AddString} <i>listbox_HWND</i> <i>string</i></code></p>
+
+<p>Adds a string to a list box.</p>
+
+<h3><a name="mref-lbdelstring"></a>NSD_LB_DelString</h3>
+
+<p><code>${NSD_LB_DelString} <i>listbox_HWND</i> <i>string</i></code></p>
+
+<p>Deletes a string from a list box.</p>
+
+<h3><a name="mref-lbcleqar">NSD_LB_Clear</a></h3>
+
+<p><code>${NSD_LB_Clear} <i>listbox_HWND</i></code></p>
+
+<p>Deletes all strings from a list box.</p>
+
+<h3><a name="mref-lbgetcount">NSD_LB_GetCount</a></h3>
+
+<p><code>${NSD_LB_GetCount} <i>listbox_HWND</i> <i>output_variable</i></code></p>
+
+<p>Retrieves the number of strings from a list box.</p>
+
+<h3><a name="mref-lbselectstring"></a>NSD_LB_SelectString</h3>
+
+<p><code>${NSD_LB_SelectString} <i>listbox_HWND</i> <i>string</i></code></p>
+
+<p>Selects a string in a list box.</p>
+
+<h3><a name="mref-lbgetselection">NSD_LB_GetSelection</a></h3>
+
+<p><code>${NSD_LB_GetSelection} <i>listbox_HWND</i> <i>output_variable</i></code></p>
+
+<p>Retrieves the selected stringed from a list box. Returns an empty string if no string is selected.</p>
+
+<h3><a name="mref-setfocus"></a>NSD_SetFocus</h3>
+
+<p><code>${NSD_SetFocus} <i>control_HWND</i></code></p>
+
+<p>Sets focus to a control.</p>
+
+<h3><a name="mref-setimage"></a>NSD_SetImage</h3>
+
+<p><code>${NSD_SetImage} <i>control_HWND</i> <i>image_path</i> <i>output_variable</i></code></p>
+
+<p>Loads a bitmap from <i>image_path</i> and displays it on <i>control_HWND</i> created by <a href="#mref-create">${NSD_CreateBitmap}</a>. The image handle is stored in <i>output_variable</i> and should be freed using <a href="#mref-freeimage">${NSD_FreeImage}</a> once no longer necessary.</p>
+
+<p>The image must be extracted to the user's computer prior to calling this macro. A good place to extract images is $PLUGINSDIR.</p>
+
+<blockquote><pre>!include nsDialogs.nsh
+
+Name nsDialogs
+OutFile nsDialogs.exe
+
+XPStyle on
+
+Page custom nsDialogsImage
+Page instfiles
+
+Var Dialog
+Var Image
+Var ImageHandle
+
+Function .onInit
+
+	InitPluginsDir
+	File /oname=$PLUGINSDIR\image.bmp "${NSISDIR}\Contrib\Graphics\Header\nsis-r.bmp"
+
+FunctionEnd
+
+Function nsDialogsImage
+
+	nsDialogs::Create 1018
+	Pop $Dialog
+
+	${If} $Dialog == error
+		Abort
+	${EndIf}
+
+	${NSD_CreateBitmap} 0 0 100% 100% ""
+	Pop $Image
+	${NSD_SetImage} $Image $PLUGINSDIR\image.bmp $ImageHandle
+
+	nsDialogs::Show
+
+	${NSD_FreeImage} $ImageHandle
+
+FunctionEnd
+
+Section
+SectionEnd</pre></blockquote>
+
+<h3><a name="mref-setsimage"></a>NSD_SetStretchedImage</h3>
+
+<p><code>${NSD_SetStretchedImage} <i>control_HWND</i> <i>image_path</i> <i>output_variable</i></code></p>
+
+<p>Loads and displays a bitmap just like <a href="#mref-setimage">${NSD_SetImage}</a>, but stretched the image to fit the control.</p>
+
+<h3><a name="mref-seticon"></a>NSD_SetIcon</h3>
+
+<p><code>${NSD_SetIcon} <i>control_HWND</i> <i>image_path</i> <i>output_variable</i></code></p>
+
+<p>Same as <a href="#mref-setimage">${NSD_SetImage}</a>, but used for loading and setting an icon in a control created by <a href="#mref-create">${NSD_CreateIcon}</a>. The image handle is stored in <i>output_variable</i> and should be freed using <a href="#mref-freeicon">${NSD_FreeIcon}</a> once no longer necessary.</p>
+
+<h3><a name="mref-seticonfrominstaller"></a>NSD_SetIconFromInstaller</h3>
+
+<p><code>${NSD_SetIconFromInstaller} <i>control_HWND</i> <i>output_variable</i></code></p>
+
+<p>Loads the icon used in the isntaller and displays it on <i>control_HWND</i> created by <a href="#mref-create">${NSD_CreateIcon}</a>. The image handle is stored in <i>output_variable</i> and should be freed using <a href="#mref-freeicon">${NSD_FreeIcon}</a> once no longer necessary.</p>
+
+<h3><a name="mref-clearimage"></a>NSD_ClearImage</h3>
+
+<p><code>${NSD_ClearImage} <i>control_HWND</i></code></p>
+
+<p>Clears an image from a control.</p>
+
+<h3><a name="mref-clearicon"></a>NSD_ClearIcon</h3>
+
+<p><code>${NSD_ClearIcon} <i>control_HWND</i></code></p>
+
+<p>Clears an icon from a control.</p>
+
+<h3><a name="mref-freeimage"></a>NSD_FreeImage</h3>
+
+<p><code>${NSD_FreeImage} <i>image_handle</i></code></p>
+
+<p>Frees an image handle previously loaded with <a href="#mref-setimage">${NSD_SetImage}</a> or <a href="#mref-setsimage">${NSD_SetStretchedImage}</a>.</p>
+
+<h3><a name="mref-freeicon"></a>NSD_FreeIcon</h3>
+
+<p><code>${NSD_FreeIcon} <i>icon_handle</i></code></p>
+
+<p>Frees an icon handle previously loaded with <a href="#mref-seticon">${NSD_SetIcon}</a> or <a href="#mref-seticonfrominstaller">${NSD_SetIconFromInstaller}</a>.</p>
+
+
+<h2><a name="faq"></a>FAQ</h2>
+
+<div>
+
+<ul>
+
+<li>
+<b>Q:</b> Can nsDialogs handle InstallOptions INI files?
+<blockquote>
+<p><b>A:</b> nsDialogs.nsh contains a function called <i>CreateDialogFromINI</i> that can create nsDialogs' dialog from an INI file. It can handle every type of control InstallOptions supports, but doesn't handle the flags or notification yet. <i>Examples\nsDialogs\InstallOptions.nsi</i> shows a usage example of this function.</p><p>In the future there'll also be a function that creates the script itself.
+</blockquote>
+</li>
+
+</ul>
+
+</div>
+
+</body>
+</html>

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/nsDialogs/Readme.html
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/StrFunc/StrFunc.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/StrFunc/StrFunc.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/StrFunc/StrFunc.txt	(revision 2961)
@@ -0,0 +1,707 @@
+String Functions Header File Readme
+-----------------------------------
+
+String Functions Header File contains a set of good string manipulation
+functions in a much simpler way to include and call in NSIS scripts.
+
+How to use
+----------
+
+  Basic Syntax
+  ------------
+
+  Parameters are specified in this format:
+  required (required) (option1 | option2) [optional or add. options]
+  [option1 | option2]
+
+  The stars in command titles (*****) are the function usefulness in my
+  opinion. The more starts, the more useful it is. 5 stars (*****) is the
+  most useful.
+
+  Any time when is mentioned "Default is" means that you can use the value
+  mentioned or keep it blank, the result is the same.
+
+  If you want a certain value (e.g. a text) to be language-specific, set a
+  language string (using LangString) and define $(STRINGNAME) as value.
+
+  If you want to add ` to a string, you should always escape it using $\`
+  because the header file macro functions use ` to separate parameters.
+
+  1. Include Header file
+  ----------------------
+
+    !include "StrFunc.nsh"
+
+    StrFunc.nsh has to be inside Include directory, so you don't have to
+    specify a path.
+
+    You have to put this command before any command used in this header file.
+
+  2. Defines
+  ----------
+
+    This header file contains defines that automate the life of some who
+    fear a lot of changes sometimes imposed in this header file, or who have
+    applications that put it to work at maximum capacity. Before you try
+    these, take a look at the information below:
+
+      - Every item on a define value is separated by a "|", and every subitem
+        (items in an item) is separated by " ".
+
+      - Use ${StrTok} $var "${DefineName}" "|" "$counter" "0" to get every
+        item inside the define. For subitems, use ${StrTok} $var2 "$var" " "
+        "$counter2" "0" after getting the value for a desired item.
+
+      - ${StrFunc_List} is automatically made by the header file. The rest
+        is manually added to the header.
+
+    2.1 Defines List:
+    -----------------
+
+    StrFunc_List - Lists all function names currently available on StrFunc
+                   header file.
+
+    *_List       - Lists all parameter names currently available for "*"
+                   function. (* = function name - i.e. StrTok_List).
+
+    *_TypeList   - Lists the types of all parameters on "*" function.
+                   (* = function name - i.e. StrTok_List). Possible types
+                   for each parameter:
+
+                   - Output - Needs a variable to output a function result.
+
+                   - Text   - Needs text or number to be input.
+
+                   - Mixed  - Needs text, number or option to be inputed.
+                              Each subitem following the "Mixed" word is an
+                              option. The first option is ever the default
+                              one. Two following spaces "  " means that
+                              that subitem is empty.
+
+                   - Option - Needs an option to be inputed. Each subitem
+                              following the "Option" word is an option.
+                              The first option is ever the default one. Two
+                              following spaces "  " means that that subitem
+                              is empty.
+
+  3. Commands
+  -----------
+
+  Some commands have special specifications to work. Consult command's
+  documentation on "3.3 Commands" section.
+
+    3.1 How To Use Commands In Install Sections and Functions
+    ---------------------------------------------------------
+
+    Every command used in install sections and functions have to be called
+    first before and out of any sections and functions, and without
+    parameters.
+
+    Example:
+    --------
+
+    ${StrStr}
+    
+    3.2 How To Use Commands In Uninstall Sections and Functions
+    -----------------------------------------------------------
+
+    Commands with Uninstall Sections and Functions support have "Un" before
+    the words inside curly brackets "{}".
+
+    Example:
+    --------
+    
+    ${UnStrStr}
+
+    A complete example with both Install and Uninstall Commands:
+    ------------------------------------------------------------
+
+
+    !include "StrFunc.nsh"
+
+    ${StrStr} # Supportable for Install Sections and Functions
+
+    ${UnStrStr} # Supportable for Uninstall Sections and Functions
+
+    Section
+
+      ${StrStr} $0 "OK! Now what?" "wh"
+
+    SectionEnd
+
+    Section Uninstall
+
+      ${UnStrStr} $0 "OK! Now what?" "wh"
+
+    SectionEnd
+
+    3.3 Commands
+    ------------
+
+    =========================================================================
+    **                                                             ${StrCase}
+    -------------------------------------------------------------------------
+    ResultVar String Type(|L|U|T|S|<>)
+    =========================================================================
+    Converts "String" to "Type" Case. Uses LogicLib.
+
+    Parameters:
+
+      ResultVar
+      Destination where result is returned.
+
+      String
+      String to convert to "Type" case.
+      
+      Type
+      Type of string case to convert to:
+
+        - "" = Original Case (same as "String")
+        - L = Lower Case (this is just an example. a very simple one.)
+        - U = Upper Case (THIS IS JUST AN EXAMPLE. A VERY SIMPLE ONE.)
+        - T = Title Case (This Is Just An Example. A Very Simple One.)
+        - S = Sentence Case (This is just an example. A very simple one.)
+        - <> = Switch Case (This is just an example. A very simple one.)
+        
+      Default value is "" (Original Case).
+
+    Result Value -> ResultVar:
+
+      "String" in "Type" case.
+
+    Example:
+
+      ${StrCase} $0 '"Você" is "You" in English.' "U"
+                    [__(_)__()___()__()__(____)_]
+
+      $0 = '"VOCÊ" IS "YOU" IN ENGLISH.'
+
+    =========================================================================
+    *                                                               ${StrClb}
+    -------------------------------------------------------------------------
+    ResultVar String Action(|>|<|<>)
+    =========================================================================
+    Makes an action with the clipboard depending on value of parameter
+    "Action". Uses LogicLib.
+
+    Parameters:
+
+      String
+      If "Action" = ">" or "<>" - String to put on the clipboard.
+
+      Action
+      Can be one of the following values:
+
+        - "" = Cleans the clipboard.
+        - ">" = Set string to clipboard.
+        - "<" = Get string from clipboard.
+        - "<>" = Swap string with clipboard's.
+
+    Result Value -> ResultVar:
+
+      If "Action" = "<" or "<>" - String found on the clipboard.
+
+    =========================================================================
+    ***                                                        ${StrIOToNSIS}
+    -------------------------------------------------------------------------
+    ResultVar String
+    =========================================================================
+    Convert "String" from Install Options plugin to be supported by NSIS.
+    Escape, back-slash, carriage return, line feed and tab characters are
+    converted.
+
+    Parameters:
+
+      ResultVar
+      Destination where result is returned.
+
+      String
+      String to convert to be supportable for NSIS.
+
+    Result Value -> ResultVar:
+
+      "String" supportable for NSIS.
+
+    Example:
+
+      ${StrIOToNSIS} $0 "\r\n\t\\This is just an example\\"
+                        [()()()()_______________________()]
+
+      $0 = "$\r$\n$\t\This is just an example\"
+
+    =========================================================================
+    *                                                               ${StrLoc}
+    -------------------------------------------------------------------------
+    ResultVar String StrToSearchFor CounterDirection(>|<)
+    =========================================================================
+    Searches for "StrToSearchFor" in "String" and returns its location,
+    according to "CounterDirection".
+
+    Parameters:
+
+      ResultVar
+      Destination where result is returned.
+
+      String
+      String where to search "StrToSearchFor".
+
+      StrToSearchFor
+      String to search in "String".
+
+      CounterDirection(>|<)
+      Direction where the counter increases to. Default is ">".
+      (> = increases from left to right, < = increases from right to left)
+
+    Result Value -> ResultVar:
+
+      Where "StrToSearchFor" is, according to "OffsetDirection".
+
+    Example: 
+
+      ${StrLoc} $0 "This is just an example" "just" "<"
+                            (__)<<<<<<<<<<<
+
+      $0 = "11"
+
+    =========================================================================
+    ***                                                        ${StrNSISToIO}
+    -------------------------------------------------------------------------
+    ResultVar String
+    =========================================================================
+    Converts "String" from NSIS to be supported by Install Options plugin.
+    Escape, back-slash, carriage return, line feed and tab characters are
+    converted.
+
+    Parameters:
+
+      ResultVar
+      Destination where result is returned.
+
+      String
+      String to convert to be supportable for Install Options plugin.
+
+    Result Value -> ResultVar:
+
+      "String" supportable for Install Options plugin.
+
+    Example:
+
+      ${StrNSISToIO} $0 "$\r$\n$\t\This is just an example\"
+                        [(_)(_)(_)^_______________________^]
+
+      $0 = "\r\n\t\\This is just an example\\"
+
+    =========================================================================
+    *****                                                           ${StrRep}
+    -------------------------------------------------------------------------
+    ResultVar String StrToReplace ReplacementString
+    =========================================================================
+    Searches for all "StrToReplace" in "String" replacing those with
+    "ReplacementString".
+
+    Parameters:
+
+      ResultVar
+      Destination where result is returned.
+
+      String
+      String where to search "StrToReplace".
+
+      StrToReplaceFor
+      String to search in "String".
+
+      StringToBeReplacedWith
+      String to replace "StringToReplace" when it is found in "String".
+
+    Result Value -> ResultVar:
+
+      "String" with all occurrences of "StringToReplace" replaced with
+      "ReplacementString".
+
+    Example: 
+
+      ${StrRep} $0 "This is just an example" "an" "one"
+                    [____________()_______]
+
+      $0 = "This is just one example"
+
+    =========================================================================
+    ***                                                            ${StrSort}
+    -------------------------------------------------------------------------
+    ResultVar String LeftStr CenterStr RightStr IncludeLeftStr(1|0)
+    IncludeCenterStr(1|0) IncludeRightStr(1|0)
+    =========================================================================
+    Searches for "CenterStr" in "String", and returns only the value
+    between "LeftStr" and "RightStr", including or not the "CenterStr" using
+    "IncludeCenterStr" and/or the "LeftStr" using "IncludeLeftStr" and
+    "RightStr" using "IncludeRightStr".
+
+    Parameters:
+
+      ResultVar
+      Destination where result is returned.
+
+      String
+      String where to search "CenterStr".
+
+      LeftStr
+      The first occurrence of "LeftStr" on the left of "CenterStr".
+      If it is an empty value, or was not found, will return
+      everything on the left of "CenterStr".
+
+      CenterStr
+      String to search in "String".
+
+      RightStr
+      The first occurrence of "RightStr" on the right of "CenterStr".
+      If it is an empty value, or was not found, will return
+      everything on the right of "CenterStr".
+
+      IncludeLeftStr(1|0)
+      Include or not the "LeftStr" in the result value. Default is 1
+      (True). (1 = True, 0 = False)
+
+      IncludeCenterStr(1|0)
+      Include or not the "CenterStr" in the result value. Default is 1
+      (True). (1 = True, 0 = False)
+
+      IncludeRightStr(1|0)
+      Include or not the "RightStr" in the result value. Default is 1
+      (True). (1 = True, 0 = False)
+
+    Result Value -> ResultVar:
+
+      String between "LeftStr" and "RightStr" of a found "CenterStr"
+      including or not the "LeftStr" and "RightStr" if
+      "IncludeLeftRightStr" is 1 and/or the "CenterStr" if
+      "IncludeCenterStr" is 1.
+
+    Example: 
+
+      ${StrSort} $0 "This is just an example" " just" "" "ple" "0" "0" "0"
+                    [_______(___)_______]( )
+                              C           R
+
+      $0 = "This is an exam"
+
+    =========================================================================
+    *****                                                           ${StrStr}
+    -------------------------------------------------------------------------
+    ResultVar String StrToSearchFor
+    =========================================================================
+    Searches for "StrToSearchFor" in "String".
+
+    Parameters:
+
+      ResultVar
+      Destination where result is returned.
+
+      String
+      String where to search "StrToSearchFor".
+
+      StrToSearchFor
+      String to search in "String".
+
+    Result Value -> ResultVar:
+
+      "StrToSearchFor" + the string after where "StrToSearchFor" was found in
+      "String".
+
+    Example: 
+
+      ${StrStr} $0 "This is just an example" "just"
+                   >>>>>>>>>{_)____________]
+
+      $0 = "just an example"
+
+    =========================================================================
+    *****                                                        ${StrStrAdv}
+    -------------------------------------------------------------------------
+    ResultVar String StrToSearchFor SearchDirection(>|<)
+    ResultStrDirection(>|<) DisplayStrToSearch(1|0) Loops CaseSensitive(0|1)
+    =========================================================================
+    Searches for "StrToSearchFor" in "String" in the direction specified by
+    "SearchDirection" and looping "Loops" times.
+
+    Parameters:
+
+      ResultVar
+      Destination where result is returned.
+
+      String
+      String where to search "StrToSearchFor".
+
+      StrToSearchFor
+      String to search in "String".
+
+      SearchDirection (>|<)
+      Where do you want to direct the search. Default is ">" (to right).
+      (< = To left, > = To right)
+
+      ResultStrDirection (>|<)
+      Where the result string will be based on in relation of
+      "StrToSearchFor"
+      position. Default is ">" (to right). (< = To left, > = To right)
+
+      DisplayStrToSearch (1|0)
+      Display "StrToSearchFor" in the result. Default is "1" (True).
+      (1 = True, 0 = False)
+
+      Loops
+      Number of times the code will search "StrToSearchFor" in "String" not
+      including the original execution. Default is "0" (1 code execution).
+
+      CaseSensitive(0|1)
+      If "1" the search will be case-sensitive (differentiates between cases).
+      If "0" it is case-insensitive (does not differentiate between cases).
+      Default is "0" (Case-Insensitive).
+
+
+    Result Value -> ResultVar:
+
+      "StrToSearchFor" if "DisplayStrToSearch" is 1 + the result string after
+      or before "StrToSearchFor", depending on "ResultStrDirection".
+
+    Result with Errors:
+
+      When "StrToSearchFor" was not found, will return an empty string.
+
+      When you put nothing in "StrToSearchFor", will return "String" and set
+      error flag.
+
+      When you put nothing in "String", will return an empty string and set
+      error flag.
+
+    Example: 
+
+      ${StrStrAdv} $0 "This IS really just an example" "IS " ">" ">" "0" "0" "1"
+                       >>>>>( )[____________________]                       
+
+
+      $0 = "really just an example"
+
+    =========================================================================
+    ****                                                            ${StrTok}
+    -------------------------------------------------------------------------
+    ResultVar String Separators ResultPart[L] SkipEmptyParts(1|0)
+    =========================================================================
+    Returns the part "ResultPart" between two "Separators" inside
+    "String".
+
+    Parameters:
+
+      ResultVar
+      Destination where result is returned.
+
+      String
+      String where to search for "Separators".
+
+      Separators
+      Characters to find on "String".
+
+      ResultPart[L]
+      The part want to be found on "StrToTokenize" between two "Separators".
+      Can be any number, starting at 0, and "L" that is the last part.
+      Default is L (Last part).
+
+      SkipEmptyParts(1|0)
+      Skips empty string parts between two "Separators". Default is 1 (True).
+      (1 = True, 0 = False)
+
+    Result Value -> ResultVar:
+
+      "String" part number "Part" between two "Separators".
+
+    Examples: 
+
+      1) ${StrTok} $0 "This is, or is not, just an example" " ," "4" "1"
+                       (  ) ()  () () [_]  (  ) () (     )
+                       0    1   2  3  4    5    6  7 
+         $0 = "not"
+
+      2) ${StrTok} $0 "This is, or is not, just an example" " ," "4" "0"
+                       (  ) () ^() [] ( ) ^(  ) () (     )
+                       0    1  23  4  5   67    8  9
+         $0 = "is"
+
+    =========================================================================
+    *                                                      ${StrTrimNewLines}
+    -------------------------------------------------------------------------
+    ResultVar String
+    =========================================================================
+    Deletes unnecessary new lines at end of "String".
+
+    Parameters:
+
+      ResultVar
+      Destination where result is returned.
+
+      String
+      String where to search unnecessary new lines at end of "String".
+
+    Result Value -> ResultVar:
+
+      "String" with unnecessary end new lines removed.
+
+    Example:
+
+      ${StrTrimNewLines} $0 "$\r$\nThis is just an example$\r$\n$\r$\n"
+                            [_____________________________(_)(_)(_)(_)]
+
+      $0 = "$\r$\nThis is just an example"
+
+Functions included and not included
+--------------------------------------------------
+
+11 functions have been included
+  They are not available on Archive
+  They are on LogicLib format
+
+15 functions have not been included
+  12 were not included because of better functions
+    6 were not included because of AdvStrTok (called here as StrTok)
+      First String Part Function
+      Save on Variables Function
+      Sort Strings (1, 2 and 3) Functions
+      StrTok Function
+    2 were not included because of StrCase
+      StrLower Function
+      StrUpper Function
+    2 were not included because of StrClb
+      StrClbSet Function
+      StrClbGet Function
+    1 was not included because of NSISToIO and IOToNSIS
+      Convert / to // in Paths Function
+    1 was not included because of original String Replace Function (called
+      here as StrRep)
+      Another String Replace Function
+  2 were not included because they aren't useful anymore
+    Slash <-> Backslash Converter Function
+    Trim Function
+  1 was not included because of bugs
+    Number to String Converter Function
+
+Version History
+---------------
+
+1.09 - 10/22/2004
+
+- Fixed stack problems involving: StrCase, StrRep, StrSort, StrTok.
+- Fixed StrClb: When "Action" = "<>", handle was wrongly outputed as
+  text.
+- Fixed StrSort, StrStrAdv documentation examples.
+- Fixed StrIOToNSIS, StrLoc, StrNSISToIO, StrRep, StrStr: sometimes
+  didn't find "StrToSearch" at all.
+
+1.08 - 10/12/2004
+
+- Converted all the functions to LogicLib.
+- StrSort: Totally remade and it can break old scripts. See
+  documentation for details.
+- StrTok: "ResultPart" has to start from 0 and it can break old scripts.
+  See documentation for details.
+- Added defines: StrFunc_List, *_List and *_TypeList.
+- Fixed StrStrAdv: Variables $R0-$R3 couldn't be used on scripts before
+  calling.
+- StrRep: Cut down some variables.
+- Arranged correctly the order of StrSort on the documentation.
+
+1.07 - 09/21/2004
+
+- Removed ${UnStrFunc} command. Now you can just include uninstall
+  functions commands like ${UnStrStr} to be supported by uninstall functions
+  and sections.
+- Added case-sensitive comparation option for StrStrAdv.
+- StrCase now uses System.dll which makes case conversions effective with
+all latin letters (i.e. ê).
+- Added switch case and original case for StrCase.
+- StrClbSet and StrClbGet removed, added StrClb.
+- Made compact the most usual operations inside the header file. File size
+reduced.
+
+1.06 - 03/26/2004
+
+- StrNumToStr removed due to complex number handling on some languages.
+- Fixed the bug where the old string was attached to string returned by
+  StrCase when $R5 variable was used.
+
+1.05 - 03/17/2004
+
+- Fixed a bug with StrCase, Title Case wasn't working as should be.
+- Fixed a bug with StrStrAdv, previous fix created another bug, string not
+  returned correctly when using backwards search with "DisplayStrToSearch" as
+  "0".
+
+1.04 - 03/07/2004
+
+- Added new StrCase, removed StrLower and StrUpper.
+- Organized by name commands inside header and readme files.
+
+1.03 - 02/12/2004
+
+- Added commands support for uninstall sections and functions.
+- Fixed variables switch in "StrLoc" and "StrTok" after using these.
+
+1.02 - 02/07/2004
+
+- Fixed StrLoc.
+- Fixed Documentation about StrLoc. "Direction" is really "OffsetDirection".
+- Added my new AdvStrSort, and removed the old one.
+
+1.01 - 02/05/2004
+
+- Fixed Documentation about StrSort and StrTok.
+- Fixed StrTok default value for the string part. Now it's "L".
+- Fixed StrStrAdv fixed wrong search when had a combination of same
+  substrings one after another in a string.
+- Fixed StrLoc: when a string isn't found, don't return any value at all.
+
+1.00 - 02/01/2004
+
+- Added documentation.
+- Renamed header file to "StrFunc.nsh".
+- Added 1 function, StrLoc.
+- Modified StrStrAdv, removed some lines.
+- Fixed StrTok, 2 simple numbers made it loop everytime.
+- Fixed some small issues on the header file.
+
+0.02 - 01/24/2004
+
+- Completed StrFunc.nsh file. Need some tests and the readme.
+
+0.01 - 01/22/2004
+
+- First version to test ideas...
+
+Credits
+-------
+
+  Made by Diego Pedroso (aka deguix).
+
+Functions Credits
+-----------------
+
+- All functions are made by Diego Pedroso on LogicLib format. They
+  are based on functions by Amir Szekely, Dave Laundon, Hendri
+  Adriaens, Nik Medved, Joost Verburg, Stuart Welch, Ximon Eighteen,
+  "bigmac666" and "bluenet". "bluenet"'s version of StrIOToNSIS and
+  StrNSISToIO on LogicLib format were included.
+
+License
+-------
+
+This header file is provided 'as-is', without any express or implied
+warranty. In no event will the author be held liable for any damages
+arising from the use of this header file.
+
+Permission is granted to anyone to use this header file for any purpose,
+including commercial applications, and to alter it and redistribute
+it freely, subject to the following restrictions:
+
+1. The origin of this header file must not be misrepresented;
+   you must not claim that you wrote the original header file.
+   If you use this header file in a product, an acknowledgment in the
+   product documentation would be appreciated but is not required.
+2. Altered versions must be plainly marked as such,
+   and must not be misrepresented as being the original header file.
+3. This notice may not be removed or altered from any distribution.
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/StrFunc/StrFunc.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/System/WhatsNew.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/System/WhatsNew.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/System/WhatsNew.txt	(revision 2961)
@@ -0,0 +1,46 @@
+release 2.
+1. Syntax, with inline input
+2. Int64 full support (conversion/operations/comparison)
+3. Structures support
+4. Callbacks support, including multilevel callbacks
+5. Some useful routines (Alloc, Free, Copy)
+6. CDecl and StdCall calling conventions
+
+release 3, 22 march 2003.
+1. Custom Message Boxes (with icons etc) -> bug in case of GetModuleHandle and
+call to FreeLibrary (sysfunc.nsh)
+2. GetFileSysTime -> No SystemTimeToTzSpecificLocalTime at win9x bug, 
+changed to use FileTimeToLocalFileTime (sysfunc.nsh)
+3. Incorrect automatic structure size (&l) bug, value actually never filled
+into the structure (strange -> winxp takes no care of the structure size 
+members, such as cbSize, and win98 does...) (system.c)
+4. Changed Secondary Stack Allocation behavior - now we just leave 65kb of the
+stack NSIS give to us to the NSIS itself, and use the other part as the stack
+for our calls. (system.c)
+5. Secondary Stack Optimization - in case of no more pending callback procs -
+"free" the secondary stack pointer. (system.c)
+6. PlaySound("", 0, 0) plays the default windows sound at win9x, so changed to
+PlaySound(NULL, 0, 0) for effective sound stopping after splash (sysfunc.nsh).
+
+release 4, 3 september 2003.
+1. Division by zero fatal error at Int64Op killed.
+2. bool type removed (use int instead).
+3. GUID (g) and LPWSTR (w) types added.
+4. Memory cleanup after using t (string), g (guid) and w (unicode string) added.
+5. Automatic A-letter at proc name discovery.
+6. COM optimized: new proc specification "x->y", where x is interface ptr, and
+y is vtable member index. For such procs Interface pointer passed as first arg
+automatically.
+
+release 5, 11 september 2003.
+1. u flag - unload dll after procedure call.
+2. some changes to asm to turn on Whole Program Optimization.
+3. Dll shrunk by 1 kb.
+
+bug-fix-release, 4.06.2004
+1. System::Copy /SIZE fixed (Kichik).
+2. System::Copy with destination auto-allocation now pushes destination
+address on stack.
+3. Callbacks fixed (Kichik's kick is awesome).
+4. Bug with proc call parts redefinition, # for example (pointed by Kichik).
+5. Bug with memory protection during callback processing (Kichik).
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/System/WhatsNew.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/System/System.html
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/System/System.html	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/System/System.html	(revision 2961)
@@ -0,0 +1,790 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>NSIS System Plug-in</title>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
+</head>
+<body>
+<h1>NSIS System Plug-in</h1>
+<p><i>&copy; brainsucker (Nik Medved), 2002</i></p>
+
+<h2>Table of Contents</h2>
+
+<ul>
+<li><a href="#intro">Introduction</a></li>
+<li>
+<a href="#funcs">Available Functions</a>
+<ul>
+<li><a href="#memfuncs">Memory Related Functions</a></li>
+<li><a href="#callfuncs">Calling Functions</a></li>
+<li><a href="#64bitfuncs">64-bit Functions</a></li>
+</ul>
+</li>
+<li><a href="#faq">FAQ</a></li>
+</ul>
+
+<h2><a name="intro"></a>Introduction</h2>
+
+<p>The System plug-in gives developers the ability to call any exported function from any DLL. For example, you can use it to call <a href="http://msdn.microsoft.com/library/en-us/fileio/base/getlogicaldrivestrings.asp">GetLogicalDriveStrings</a> to get a list of available drives on the user's computer.</p>
+
+<p>The System plug-in also allows the developer to allocate, free and copy memory; interact with COM objects and perform mathematical operations on 64-bit integers.</p>
+
+<p>Programming knowledge is highly recommended for good understanding of the System plug-in.</p>
+
+<p>The most useful System plug-in functions (Call, Get and Debug) are not available when compiling with GCC. To work around this, either download a MSVC-compiled version or write your own plugin that calls the functions you need.</p>
+
+<h4>Usage Examples From The Wiki</h4>
+
+<ul>
+<li><a href="http://nsis.sourceforge.net/wiki/Get_Local_Time">Get local time</a></li>
+<li><a href="http://nsis.sourceforge.net/wiki/Registering_a_Palm_Com_Conduit">Register conduits with Palm HotSync</a></li>
+<li><a href="http://nsis.sourceforge.net/wiki/Determining_free_memory_using_the_System_plugin">Get free memory</a></li>
+<li><a href="http://nsis.sourceforge.net/wiki/REG_MULTI_SZ_Reader">Read REG_MULTI_SZ</a></li>
+<li><a href="http://nsis.sourceforge.net/wiki/Get_Disk_Volume_Serial_Number">Get disk serial number</a></li>
+<li><i><a href="http://nsis.sourceforge.net/Special:Search?search=System%3A%3ACall">Search all...</a></i></li>
+</ul>
+
+<h2><a name="funcs"></a>Available Functions</h2>
+
+<h3><a name="memfuncs"></a>Memory Related Functions</h3>
+
+<div>
+<ul>
+
+<li>
+<b>Alloc</b> <i>SIZE</i>
+<blockquote>
+<p>Allocates <i>SIZE</i> bytes and returns a memory address on the stack.</p>
+<h4>Usage Example</h4>
+<blockquote><pre>
+System::<b>Alloc</b> 64
+Pop $0
+DetailPrint "64 bytes allocated at $0"
+System::Free $0
+</pre></blockquote>
+</blockquote>
+</li>
+
+<li>
+<b>Copy</b> [/<i>SIZE</i>] <i>DESTINATION</i> <i>SOURCE</i>
+<blockquote>
+<p>Copies <i>SIZE</i> bytes from <i>SOURCE</i> to <i>DESTINATION</i>. If <i>SIZE</i> is not specified, <i>SOURCE</i>'s size will queried using GlobalSize. This means that if you don't allocate <i>SOURCE</i> using System::Alloc, System::Call or GlobalAlloc, you must specify <i>SIZE</i>. If <i>DESTINATION</i> is zero it will be allocated and its address will be pushed on the stack.</p>
+<h4>Usage example</h4>
+<blockquote><pre>
+# allocate a buffer and put 'test string' and an int in it
+System::Call "*(&amp;t1024 'test string', i 5) i .s"
+Pop $0
+# copy to an automatically created buffer
+System::<b>Copy</b> 0 $0
+Pop $1
+# get string and int in $1 buffer
+System::Call "*$1(&amp;t1024 .r2, i .r3)"
+# free buffer
+System::Free $1
+# print result
+DetailPrint $2
+DetailPrint $3
+# copy to our own buffer
+System::Alloc 1028
+Pop $1
+System::<b>Copy</b> $1 $0
+# get string and int in $1 buffer
+System::Call "*$1(&amp;t1024 .r2, i .r3)"
+# free
+System::Free $0
+System::Free $1
+# print result
+DetailPrint $2
+DetailPrint $3
+</pre></blockquote>
+</blockquote>
+
+</li>
+
+<li>
+<b>Free</b> <i>ADDRESS</i>
+<blockquote>
+<p>Frees <i>ADDRESS</i>.</p>
+<h4>Usage Example</h4>
+<blockquote><pre>
+System::Alloc 64
+Pop $0
+DetailPrint "64 bytes allocated at $0"
+System::<b>Free</b> $0
+</pre></blockquote>
+</blockquote>
+</li>
+
+<li>
+<b>Store</b> "<i>OPERATION</i> [<i>OPERATION</i> [<i>OPERATION</i> ...]]"
+<blockquote>
+<p>Performs stack operations. An operation can be pushing or popping a single register from the NSIS stack or pushing or popping all of the registers ($0-$9 and $R0-$R9) from System's private stack. Operations can be separated by any character.</p>
+<h4>Available Operations</h4>
+<ul>
+<li>To push $<i>#</i>, use p<i>#</i>, where <i>#</i> is a digit from 0 to 9.</li>
+<li>To pop $<i>#</i>, use r<i>#</i>, where <i>#</i> is a digit from 0 to 9.</li>
+<li>To push $R<i>#</i>, use P<i>#</i>, where <i>#</i> is a digit from 0 to 9.</li>
+<li>To pop $R<i>#</i>, use R<i>#</i>, where <i>#</i> is a digit from 0 to 9.</li>
+<li>To push $0-$9 and $R0-$R9 to System's private stack, use s or S.</li>
+<li>To pop $0-$9 and $R0-$R9 from System's private stack, use l or L.</li>
+</ul>
+<h4>Usage Examples</h4>
+<blockquote><pre>
+StrCpy $0 "test"
+System::<b>Store</b> "p0"
+Pop $1
+DetailPrint "$0 = $1"
+</pre></blockquote>
+<blockquote><pre>
+StrCpy $2 "test"
+System::<b>Store</b> "p2 R2"
+DetailPrint "$2 = $R2"
+</pre></blockquote>
+<blockquote><pre>
+StrCpy $3 "test"
+System::<b>Store</b> "s"
+StrCpy $3 "another test"
+System::<b>Store</b> "l"
+DetailPrint $3
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Store</b> "r4" "test"
+DetailPrint $4
+</pre></blockquote>
+</blockquote>
+</li>
+</ul>
+
+</div>
+
+<h3><a name="callfuncs"></a>Calling Functions</h3>
+
+<div>
+
+<ul>
+<li><b>Call</b> <i>PROC</i> [( <i>PARAMS</i> ) [<i>RETURN</i> [? <i>OPTIONS</i>]]]</li>
+<li><b>Get</b> <i>PROC</i> [( <i>PARAMS</i> ) [<i>RETURN</i> [? <i>OPTIONS</i>]]]
+<blockquote>
+<p>Call and get both share a common syntax. As the names suggest, Call calls and Get gets. What does it call or get? It depends on <i>PROC</i>'s value.</p>
+
+<p><i>PARAMS</i> is a list of parameters and what do to with them. You can pass data in the parameters and you can also get data from them. The parameters list is separated by commas. Each parameter is combined of three values: <i>type</i>, <i>source</i> and <i>destination</i>. <i>Type</i> can be an integer, a string, etc. <i>Source</i>, which is the source of the parameter value, can be a NSIS register ($0, $1, $INSTDIR), the NSIS stack, a concrete value (5, "test", etc.) or nothing (null). <i>Destination</i>, which is the destination of the parameter value after the call returns, can be a NSIS register, the NSIS stack or nothing which means no output is required. Either one of <i>source</i> or <i>destination</i> can also be a dot (`.') if it is not needed.</p>
+
+<p><i>RETURN</i> is like a single parameter definition, but <i>source</i> is only used when creating callback functions. Normally <i>source</i> is a dot.</p>
+
+<p><i>OPTIONS</i> is a list of options which control the way System plug-in behaves. Each option can be turned off by prefixing with an exclamation mark. For example: <b>?!e</b>.</p>
+
+<p><i>PARAMS</i>, <i>RETURN</i> and <i>OPTIONS</i> can be repeated many times in one Get/Call line. When repeating, a lot can be omitted, and only what you wish to change can be used. <i>Type</i>, <i>source</i> and/or <i>destination</i> can be omitted for each parameter, even the return value. Options can be added or removed. This allows you to define function prototypes and save on some typing. The <a href="#repeat">last two examples</a> show this.</p>
+
+<p><i>PROC</i> can also be repeated but must be prefixed with a hash sign (`#').</p>
+
+<h4>Possible <i>PROC</i> Values and Meanings</h4>
+
+<blockquote>
+<table>
+<tr>
+<th>Value</th>
+<th>Meaning</th>
+<th>Example</th>
+</tr>
+<tr>
+<th><i>DLL</i>::<i>FUNC</i></th>
+<td><i>FUNC</i> exported from <i>DLL</i></td>
+<td><a href="#func">user32::MessageBox</a></td>
+</tr>
+<tr>
+<th>::<i>ADDR</i></th>
+<td>Function located at <i>ADDR</i></td>
+<td><a href="#funcaddr">see below</a></td>
+</tr>
+<tr>
+<th>*<i>ADDR</i></th>
+<td>Structure located at <i>ADDR</i></td>
+<td><a href="#structaddr">see below</a></td>
+</tr>
+<tr>
+<th>*</th>
+<td>New structure</td>
+<td><a href="#newstruct">see below</a></td>
+</tr>
+<tr>
+<th><i>IPTR</i>-><i>IDX</i></th>
+<td>Member indexed <i>IDX</i> from<br/>interface pointed by <i>IPTR</i></td>
+<td><a href="#com">see below</a></td>
+</tr>
+<tr>
+<th>&lt;nothing&gt;</th>
+<td>New callback function</td>
+<td><a href="#callback">see below</a></td>
+</tr>
+<tr>
+<th><i>PROC</i></th>
+<td><i>PROC</i> returned by Get</td>
+<td><a href="#get">see below</a></td>
+</tr>
+</table>
+</blockquote>
+
+<h4>Available Parameter Types</h4>
+
+<blockquote>
+<table>
+<tr>
+<th>Type</th>
+<th>Meaning</th>
+</tr>
+<tr>
+<th>v</th>
+<td>void (generally for return)</td>
+<td></td>
+</tr>
+<tr>
+<th>p</th>
+<td>pointer (and other pointer sized types like handles and HWNDs)</td>
+</tr>
+<tr>
+<th>i</th>
+<td>int (includes char, byte, short and so on)</td>
+</tr>
+<tr>
+<th>l</th>
+<td>large integer, int64</td>
+</tr>
+<tr>
+<th>m</th>
+<td>ANSI text, string. (FYI: 'm' for multibyte string or 'w' flipped over.)</td>
+</tr>
+<tr>
+<th>t</th>
+<td>text, string (pointer to first character). <i>Like TCHAR*, it is a Unicode string in Unicode NSIS.</i></td>
+</tr>
+<tr>
+<th>w</th>
+<td>WCHAR text, Unicode string</td>
+</tr>
+<tr>
+<th>g</th>
+<td>GUID</td>
+</tr>
+<tr>
+<th>k</th>
+<td>callback</td>
+</tr>
+<tr>
+<th>&amp;v<i>N</i></th>
+<td><i>N</i> bytes padding (structures only)</td>
+</tr>
+<tr>
+<th>&amp;i<i>N</i></th>
+<td>integer of <i>N</i> bytes (structures only)</td>
+</tr>
+<tr>
+<th>&amp;l</th>
+<td>structure size (structures only)</td>
+</tr>
+<tr>
+<th>&amp;t<i>N</i></th>
+<td><i>N</i> bytes of text (structures only)</td>
+</tr>
+<tr>
+<th>&amp;w<i>N</i></th>
+<td><i>N</i> bytes of Unicode text (structures only)</td>
+</tr>
+<tr>
+<th>&amp;g<i>N</i></th>
+<td><i>N</i> bytes of GUID (structures only)</td>
+</tr>
+</table>
+<p>Additionally, each type can be prefixed with an asterisk to denote a pointer. When using an asterisk, the System plug-in still expects the value of the parameter, rather than the pointer's address. To pass a direct address, use `i' with no asterisk. A <a href="#pointer">usage example</a> is available. <a href="#memfuncs">Alloc</a> returns addresses and its return value should therefore be used with `i', without an asterisk.</p>
+</blockquote>
+
+<h4>Available Sources and Destinations</h4>
+
+<blockquote>
+<table>
+<tr>
+<th>Type</th>
+<th>Meaning</th>
+</tr>
+<tr>
+<th>.</th>
+<td>ignored</td>
+<td></td>
+</tr>
+<tr>
+<th><i>number</i></th>
+<td>concrete hex, decimal or octal integer value. several integers can be or'ed using the pipe symbol (`|')</td>
+</tr>
+<tr>
+<th>'<i>string</i>'<br/>"<i>string</i>"<br/>`<i>string</i>`</th>
+<td>concrete string value</td>
+</tr>
+<tr>
+<th><i>r0</i> through <i>r9</i></th>
+<td>$0 through $9 respectively</td>
+</tr>
+<tr>
+<th><i>r10</i> through <i>r19</i><br/><i>R0</i> through <i>R9</i></th>
+<td>$R0 through $R9 respectively</td>
+</tr>
+<tr>
+<th>c</th>
+<td>$CMDLINE</td>
+</tr>
+<tr>
+<th>d</th>
+<td>$INSTDIR</td>
+</tr>
+<tr>
+<th>o</th>
+<td>$OUTDIR</td>
+</tr>
+<tr>
+<th>e</th>
+<td>$EXEDIR</td>
+</tr>
+<tr>
+<th>a</th>
+<td>$LANGUAGE</td>
+</tr>
+<tr>
+<th>s</th>
+<td>NSIS stack</td>
+</tr>
+<tr>
+<th>n</th>
+<td>null for source, no output required for destination</td>
+</tr>
+</table>
+</blockquote>
+
+<h4>Callbacks</h4>
+
+<blockquote>
+<p>Callback functions are simply functions which are passed to a function and called back by it. They are frequently used to pass a possibly large set of data item by item. For example, <a href="http://msdn.microsoft.com/library/en-us/winui/WinUI/WindowsUserInterface/Windowing/Windows/WindowReference/WindowFunctions/EnumChildWindows.asp">EnumChildWindows</a> uses a <a href="http://msdn.microsoft.com/library/en-us/winui/WinUI/WindowsUserInterface/Windowing/Windows/WindowReference/WindowFunctions/EnumChildProc.asp">callback function</a>. As NSIS functions are not quite regular functions, the System plug-in provides its own mechanism to support callback functions. It allows you to create callback functions and notifies you each time a callback function was called.</p>
+
+<p>Creation of callback functions is done using <a href="#callfuncs">Get</a> and the callback creation syntax. As you will not call the callbacks yourself, the source of the parameters should be omitted using a dot. When the callback is called, the destination of the parameters will be filled with the values passed on to the callback. The value the callback will return is set by the source of the return "parameter". The destination of the return "parameter" should always be set as that's where System will notify you the callback was called.</p>
+
+<blockquote><pre>System::Get "(i .r0, i .r1) iss"</pre></blockquote>
+
+<p>To pass a callback to a function, use the k type.</p>
+
+<blockquote><pre>System::Get "(i .r0, i .r1) isR0"
+Pop $0
+System::Call "dll::UseCallback(k r0)"</pre></blockquote>
+
+<p>Each time the callback is called, the string callback#, where # is the number of the callback, will be placed in the destination of the return "parameter". The number of the first callback created is 1, the second's is 2, the third's is 3 and so on. As System is single threaded, a callback can only be called while calling another function. For example, EnumChildWindows's callback can only be called when EnumChildWindows is being called. You should therefore check for callback# after each function call that might call your callback.</p>
+
+<blockquote><pre>System::Get "(i .r0, i .r1) isR0"
+Pop $0
+System::Call "dll::UseCallback(k r0)"
+StrCmp $R0 "callback1" 0 +2
+DetailPrint "UseCallback passed ($0, $1) to the callback"
+</pre></blockquote>
+
+<p>After you've processed the callback call, you should use <a href="#callfuncs">Call</a>, passing it the value returned by <a href="#callfuncs">Get</a> - the callback. This tells System to return from the callback. Destination of the return "parameter" must be cleared prior to calling a function, to avoid false detection of a callback call. If you've specified a source for the return "parameter" when the callback was created, you should fill that source with the appropriate return value. Callbacks are not automatically freed, don't forget to free it after you've finished using it.</p>
+
+<blockquote><pre>System::Get "(i .r0, i .r1) isR0"
+Pop $0
+System::Call "dll::UseCallback(k r0)"
+loop:
+	StrCmp $R0 "callback1" 0 done
+	DetailPrint "UseCallback passed ($0, $1) to the callback"
+	Push 1 # return value of the callback
+	StrCpy $R0 "" # clear $R0 in case there are no more callback calls
+	System::Call $0 # tell system to return from the callback
+	Goto loop
+done:
+System::Free $0
+</pre></blockquote>
+
+<p>A complete working <a href="#callback">example</a> is available in the usage examples section.</p>
+
+</blockquote>
+
+<h4>Notes</h4>
+
+<blockquote>
+<ul>
+<li>To find out the index of a member in a COM interface, you need to search for the definition of this COM interface in the header files that come with Visual C/C++ or the Platform SDK. Remember the index is zero based.</li>
+<li>If a function can't be found, an `A' will be appended to its name and it will be looked up again. This is done because a lot of Windows API functions have two versions, one for ANSI strings and one for Unicode strings. The ANSI version of the function is marked with `A' and the Unicode version is marked with `W'. For example: lstrcpyA and lstrcpyW.</li>
+</ul>
+</blockquote>
+
+<h4>Available Options</h4>
+
+<blockquote>
+<table>
+<tr>
+<th>Option</th>
+<th>Meaning</th>
+</tr>
+<tr>
+<th>c</th>
+<td>cdecl calling convention (the stack restored by caller). By default stdcall calling convention is used (the stack restored by callee).</td>
+<td></td>
+</tr>
+<tr>
+<th>r</th>
+<td>Always return (for GET means you should pop result and proc, for CALL means you should pop result (at least)). By default result is returned for errors only (for GET you will pop either error result or right proc, and for CALL you will get either your return or result at defined return place).</td>
+</tr>
+<tr>
+<th>n</th>
+<td>No redefine. Whenever this proc will be used it will never be redefined either by GET or CALL. This options is never inherited to children.</td>
+</tr>
+<tr>
+<th>s</th>
+<td>Use general Stack. Whenever the first callback defined the system starts using the temporary stacks for function calls.</td>
+</tr>
+<tr>
+<th>e</th>
+<td>Call GetLastError() after procedure end and push result on stack.</td>
+</tr>
+<tr>
+<th>u</th>
+<td>Unload DLL after call (using FreeLibrary, so you'll be able to delete it for example).</td>
+</tr>
+</table>
+</blockquote>
+
+<h4>Usage Examples</h4>
+
+<blockquote><pre>
+<a name="func"></a>System::<b>Call</b> "user32::MessageBox(i $HWNDPARENT, t 'NSIS System Plug-in', t 'Test', i 0)"
+</pre></blockquote>
+<blockquote><pre>
+<a name="funcaddr"></a>System::<b>Call</b> "kernel32::GetModuleHandle(t 'user32.dll') i .s"
+System::<b>Call</b> "kernel32::GetProcAddress(i s, t 'MessageBoxA') i .r0"
+System::<b>Call</b> "::$0(i $HWNDPARENT, t 'GetProcAddress test', t 'NSIS System Plug-in', i 0)"
+</pre></blockquote>
+<blockquote><pre>
+<a name="get"></a>System::<b>Get</b> "user32::MessageBox(i $HWNDPARENT, t 'This is a default text', t 'Default', i 0)"
+Pop $0
+System::<b>Call</b> "$0"
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Get</b> "user32::MessageBox(i $HWNDPARENT, t 'This is a default text', \
+	t 'Default', i 0x1|0x10)"
+Pop $0
+System::<b>Call</b> "$0(, 'This is a System::Get test', 'NSIS System Plug-in',)"
+</pre></blockquote>
+<blockquote><pre>
+<a name="pointer"></a>System::<b>Call</b> "advapi32::GetUserName(t .r0, *i ${NSIS_MAX_STRLEN} r1) i.r2"
+DetailPrint "User name - $0"
+DetailPrint "String length - $1"
+DetailPrint "Return value - $2"
+</pre></blockquote>
+<blockquote><pre>
+<a name="structaddr"></a>System::Alloc 4
+Pop $0
+System::<b>Call</b> "*$0(i 5)"
+System::<b>Call</b> "*$0(i .r1)"
+DetailPrint $1
+</pre></blockquote>
+<blockquote><pre>
+<a name="newstruct"></a>System::<b>Call</b> "*(i 5) i .r0"
+System::<b>Call</b> "*$0(i .r1)"
+DetailPrint $1
+</pre></blockquote>
+<blockquote><pre>
+<a name="com"></a># defines
+!define CLSCTX_INPROC_SERVER 1
+!define CLSID_ActiveDesktop {75048700-EF1F-11D0-9888-006097DEACF9}
+!define IID_IActiveDesktop {F490EB00-1240-11D1-9888-006097DEACF9}
+# create IActiveDesktop interface
+System::<b>Call</b> "ole32::CoCreateInstance( \
+	g '${CLSID_ActiveDesktop}', i 0, \
+	i ${CLSCTX_INPROC_SERVER}, \
+	g '${IID_IActiveDesktop}', *i .r0) i.r1"
+StrCmp $1 0 0 end
+# call IActiveDesktop->GetWallpaper
+System::<b>Call</b> "$0->4(w .r2, i ${NSIS_MAX_STRLEN}, i 0)"
+# call IActiveDesktop->Release
+System::<b>Call</b> "$0->2()"
+# print result
+DetailPrint $2
+end:
+</pre></blockquote>
+<blockquote><pre>
+InitPluginsDir
+SetOutPath $PLUGINSDIR
+File MyDLL.dll
+System::<b>Call</b> "MyDLL::MyFunc(i 5) ? u"
+Delete $PLUGINSDIR\MyDLL.dll
+</pre></blockquote>
+<blockquote><pre>
+<a name="callback"></a>System::<b>Get</b> "(i.r1, i) iss"
+Pop $R0
+System::<b>Call</b> "user32::EnumChildWindows(i $HWNDPARENT, k R0, i) i.s"
+loop:
+	Pop $0
+	StrCmp $0 "callback1" 0 done
+	System::<b>Call</b> "user32::GetWindowText(ir1,t.r2,i${NSIS_MAX_STRLEN})"
+	System::<b>Call</b> "user32::GetClassName(ir1,t.r3,i${NSIS_MAX_STRLEN})"
+	IntFmt $1 "0x%X" $1
+	DetailPrint "$1 - [$3] $2"
+	Push 1 # callback's return value
+	System::<b>Call</b> "$R0"
+	Goto loop
+done:
+System::Free $R0
+</pre></blockquote>
+<blockquote><pre>
+<a name="repeat"></a>!define MB "user32::MessageBox(i$HWNDPARENT,t,t'NSIS System Plug-in',i0)"
+System::<b>Call</b> "${MB}(,'my message',,)"
+System::<b>Call</b> "${MB}(,'another message',,) i.r0"
+MessageBox MB_OK "last call returned $0"
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Call</b> "user32::SendMessage(i $HWNDPARENT, t 'test', t 'test', i 0) i.s ? \
+	e (,t'test replacement',,) i.r0 ? !e #user32::MessageBox"
+DetailPrint $0
+ClearErrors
+Pop $0
+IfErrors good
+MessageBox MB_OK "this message box will never be reached"
+good:
+</pre></blockquote>
+</blockquote>
+</li>
+</ul>
+
+</div>
+
+<h3><a name="64bitfuncs"></a>64-bit Functions</h3>
+
+<div>
+
+<ul>
+
+<li>
+<b>Int64Op</b> <i>ARG1</i> <i>OP</i> [<i>ARG2</i>]
+<blockquote>
+<p>Performs <i>OP</i> on <i>ARG1</i> and optionally <i>ARG2</i> and returns the result on the stack. Both <i>ARG1</i> and <i>ARG2</i> are 64-bit integers. This means they can range between -2^63 and 2^63 - 1.</p>
+<h4>Available Operations</h4>
+<ul>
+<li>Addition -- <b>+</b></li>
+<li>Subtraction -- <b>-</b></li>
+<li>Multiplication -- <b>*</b></li>
+<li>Division -- <b>/</b></li>
+<li>Modulo -- <b>%</b></li>
+<li>Shift right -- <b>&gt;&gt;</b></li>
+<li>Shift left -- <b>&lt;&lt;</b></li>
+<li>Bitwise or -- <b>|</b></li>
+<li>Bitwise and -- <b>&amp;</b></li>
+<li>Bitwise xor -- <b>^</b></li>
+<li>Logical or -- <b>||</b></li>
+<li>Logical and -- <b>&amp;&amp;</b></li>
+<li>Less than -- <b>&lt;</b></li>
+<li>Equals -- <b>=</b></li>
+<li>Greater than -- <b>&gt;</b></li>
+<li>Bitwise not (one argument) -- <b>~</b></li>
+<li>Logical not (one argument) -- <b>!</b></li>
+</ul>
+
+<h4>Usage Examples</h4>
+
+<blockquote><pre>
+System::<b>Int64Op</b> 5 + 5
+Pop $0
+DetailPrint "5 + 5 = $0" # 10
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 64 - 25
+Pop $0
+DetailPrint "64 - 25 = $0" # 39
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 526355 * 1565487
+Pop $0
+DetailPrint "526355 * 1565487 = $0" # 824001909885
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 5498449498849818 / 3
+Pop $0
+DetailPrint "5498449498849818 / 3 = $0" # 1832816499616606
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 0x89498A198E4566C % 157
+Pop $0
+DetailPrint "0x89498A198E4566C % 157 = $0" # 118
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 1 &lt;&lt; 62
+Pop $0
+DetailPrint "1 &lt;&lt; 62 = $0" # 4611686018427387904
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 0x4000000000000000 &gt;&gt; 62
+Pop $0
+DetailPrint "0x4000000000000000 &gt;&gt; 62 = $0" # 1
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 0xF0F0F0F | 0xF0F0FFF
+Pop $0
+# IntFmt is 32-bit, this is just for the example
+IntFmt $0 "0x%X" $0
+DetailPrint "0xF0F0F0F | 0xF0F0FFF = $0" # 0xF0F0FFF
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 0x12345678 &amp; 0xF0F0F0F0
+Pop $0
+# IntFmt is 32-bit, this is just for the example
+IntFmt $0 "0x%X" $0
+DetailPrint "0x12345678 &amp; 0xF0F0F0F0 = $0" # 0x10305070
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 1 ^ 0
+Pop $0
+DetailPrint "1 ^ 0 = $0" # 1
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 1 || 0
+Pop $0
+DetailPrint "1 || 0 = $0" # 1
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 1 &amp;&amp; 0
+Pop $0
+DetailPrint "1 &amp;&amp; 0 = $0" # 0
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 9302157012375 &lt; 570197509190760
+Pop $0
+DetailPrint "9302157012375 &lt; 570197509190760 = $0" # 1
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 5168 &gt; 89873
+Pop $0
+DetailPrint "5168 &gt; 89873 = $0" # 0
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 189189 = 189189
+Pop $0
+DetailPrint "189189 = 189189 = $0" # 1
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 156545668489 ~
+Pop $0
+DetailPrint "1 ~ = $0" # -156545668490
+</pre></blockquote>
+<blockquote><pre>
+System::<b>Int64Op</b> 1 !
+Pop $0
+DetailPrint "1 ! = $0" # 0
+</pre></blockquote>
+</blockquote>
+</li>
+
+</ul>
+
+</div>
+
+<h2><a name="faq"></a>FAQ</h2>
+
+<div>
+
+<ul>
+
+<li>
+<b>Q:</b> How can I pass structs to functions?
+<blockquote>
+<p><b>A:</b> First of all, you must allocate the struct. This can be done in two ways. You can either use <a href="#memfuncs">Alloc</a> or <a href="#callfuncs">Call</a> with the special struct allocation syntax. Next, if you need to pass data in the struct, you must fill it with data. Then you call the function with a pointer to the struct. Finally, if you want to read data from the struct which might have been written by the called function, you must use <a href="#callfuncs">Call</a> with the struct handling syntax. After all is done, it's important to remember to free the struct.</p>
+
+<h4>Allocation</h4>
+
+<blockquote><p>To allocate the struct using <a href="#memfuncs">Alloc</a>, you must know the size of the struct in bytes. Therefore, it would normally be easier to use <a href="#callfuncs">Call</a>. In this case it's easy to see the required size is 16 bytes, but other cases might not be that trivial. In both cases, the struct address will be located on the top of the stack and should be retrieved using Pop.</p>
+
+<blockquote><pre>
+System::Alloc 16
+</pre></blockquote>
+
+<blockquote><pre>
+System::Call "*(i, i, i, t)i.s"
+</pre></blockquote>
+
+</blockquote>
+
+<h4>Setting Data</h4>
+
+<blockquote><p>Setting data can be done using <a href="#callfuncs">Call</a>. It can be done in the allocation stage, or in another stage using the struct handling syntax.</p>
+
+<blockquote><pre>
+System::Call "*(i 5, i 2, i 513, t 'test')i.s"
+</pre></blockquote>
+
+<blockquote><pre>
+# assuming the struct's memory address is kept in $0
+System::Call "*$0(i 5, i 2, i 513, t 'test')"
+</pre></blockquote>
+
+</blockquote>
+
+<h4>Passing to the Function</h4>
+
+<blockquote><p>As all allocation methods return an address, the type of the passed data should be an integer, an address in memory.</p>
+
+<blockquote><pre>
+# assuming the struct's memory address is kept in $0
+System::Call "dll::func(i r0)"
+</pre></blockquote>
+
+</blockquote>
+
+<h4>Reading Data</h4>
+
+<blockquote><p>Reading data from the struct can be done using the same syntax as setting it. The only difference is that the destination part of the parameter will be set and the source part will be omitted using a dot.</p>
+
+<blockquote><pre>
+# assuming the struct's memory address is kept in $0
+System::Call "*$0(i .r0, i .r1, i .r2, t .r3)"
+DetailPrint "first int = $0"
+DetailPrint "second int = $1"
+DetailPrint "third int = $2"
+DetailPrint "string = $3"
+</pre></blockquote>
+
+</blockquote>
+
+<h4>Freeing Memory</h4>
+
+<blockquote><p>Memory is freed using <a href="#memfuncs">Free</a>.</p>
+
+<blockquote><pre>
+# assuming the struct's memory address is kept in $0
+System::Free $0
+</pre></blockquote>
+
+</blockquote>
+
+<h4>A Complete Example</h4>
+
+<blockquote><pre>
+# allocate
+System::Alloc 32
+Pop $1
+# call
+System::Call "Kernel32::GlobalMemoryStatus(i r1)"
+# get
+System::Call "*$1(i.r2, i.r3, i.r4, i.r5, i.r6, i.r7, i.r8, i.r9)"
+# free
+System::Free $1
+# print
+DetailPrint "Structure size: $2 bytes"
+DetailPrint "Memory load: $3%"
+DetailPrint "Total physical memory: $4 bytes"
+DetailPrint "Free physical memory: $5 bytes"
+DetailPrint "Total page file: $6 bytes"
+DetailPrint "Free page file: $7 bytes"
+DetailPrint "Total virtual: $8 bytes"
+DetailPrint "Free virtual: $9 bytes"
+</pre></blockquote>
+
+</blockquote>
+</li>
+
+</ul>
+
+</div>
+
+</body>
+</html>

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/System/System.html
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/nsExec/nsExec.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/nsExec/nsExec.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/nsExec/nsExec.txt	(revision 2961)
@@ -0,0 +1,49 @@
+nsExec
+------
+nsExec will execute command-line based programs and capture the output
+without opening a dos box.
+
+
+Usage
+-----
+nsExec::Exec [/OEM] [/TIMEOUT=x] path
+
+-or-
+
+nsExec::ExecToLog [/OEM] [/TIMEOUT=x] path
+
+-or-
+
+nsExec::ExecToStack [/OEM] [/TIMEOUT=x] path
+
+All functions are the same except ExecToLog will print the output
+to the log window and ExecToStack will push up to ${NSIS_MAX_STRLEN}
+characters of output onto the stack after the return value.
+
+Use the /OEM switch to convert the output text from OEM to ANSI.
+
+The timeout value is optional.  The timeout is the time in
+milliseconds nsExec will wait for output.  If output from the
+process is received, the timeout value is reset and it will
+again wait for more output using the timeout value.  See Return 
+Value for how to check if there was a timeout.
+
+To ensure that command are executed without problems on all windows versions,
+is recommended to use the following syntax:
+
+   nsExec::ExecToStack [OPTIONS] '"PATH" param1 param2 paramN'
+
+This way the application path may contain non 8.3 paths (with spaces)
+
+Return Value
+------------
+If nsExec is unable to execute the process, it will return "error"
+on the top of the stack, if the process timed out it will return
+"timeout", else it will return the return code from the
+executed process.
+
+
+Copyright Info
+--------------
+Copyright (c) 2002 Robert Rainwater
+Thanks to Justin Frankel and Amir Szekely
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/nsExec/nsExec.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/AdvSplash/advsplash.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/AdvSplash/advsplash.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/AdvSplash/advsplash.txt	(revision 2961)
@@ -0,0 +1,53 @@
+AdvSplash.dll - small (5.5k), simple plugin that lets you throw 
+up a splash screen in NSIS installers with cool fading effects (win2k/xp)
+and transparency.
+
+To use:
+
+Create a .BMP file of your splash screen.
+(optional) Create a .WAV file to play while your splash screen shows.
+
+Add the following lines to your .NSI file:
+
+Function .onInit
+  SetOutPath $TEMP
+  File /oname=spltmp.bmp "my_splash.bmp"
+
+; optional
+; File /oname=spltmp.wav "my_splashshit.wav"
+
+  advsplash::show 1000 600 400 -1 $TEMP\spltmp
+
+  Pop $0 ; $0 has '1' if the user closed the splash screen early,
+         ; '0' if everything closed normally, and '-1' if some error occurred.
+
+  Delete $TEMP\spltmp.bmp
+;  Delete $TEMP\spltmp.wav
+FunctionEnd
+
+Calling format
+        advsplash::show Delay FadeIn FadeOut KeyColor FileName
+
+Delay - length to show the screen for (in milliseconds)
+FadeIn - length to show the fadein scene (in ms) (not included in Delay)
+FadeOut - length to show the fadeout scene (in ms) (not included in Delay)
+KeyColor - color used for transparency, could be any RGB value 
+        (for ex. R=255 G=100 B=16 -> KeyColor=0xFF6410), 
+        use KeyColor=-1 if there is no transparent color at your image.
+FileName - splash bitmap filename (without the .bmp). The BMP file used will be 
+        this parameter.bmp, and the wave file used (if present) will be this 
+        parameter.wav.
+
+(If you already have an .onInit function, put that in it)
+
+Note 1: fadein/fadeout supported only on win2k/winxp systems, all other systems
+will show simple splash screen with Delay = Delay + FadeIn + FadeOut. Also, I've
+noted my winXP uses no transparent color at 16 bpp, so at bpps lower than 32
+for images with transparent color no fading effect will occur.
+
+Note 2: the return value of splash is 1 if the user closed the splash 
+screen early (pop it from the stack)
+
+-Justin
+Converted to a plugin DLL by Amir Szekely (kichik)
+Fading and transparency by Nik Medved (brainsucker)
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/AdvSplash/advsplash.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/VPatch/Readme.html
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/VPatch/Readme.html	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/VPatch/Readme.html	(revision 2961)
@@ -0,0 +1,334 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>VPatch 3</title>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
+<style type="text/css">
+/*<![CDATA[*/
+
+body
+        {
+        padding: 10px;
+        background-color: #F0F0F0;
+        font-family: Verdana, Arial, Helvetica, sans-serif;
+        font-size: 13px;
+        font-weight: normal;
+        text-align: left;
+        }
+
+p, li
+        {
+        font-size: 13px;
+        }
+
+.center
+        {
+        text-align: center;
+        }
+
+table
+        {
+        margin: auto;
+        font-size: 13px;
+        background-color: #FFFFFF;
+        }
+
+.maintable
+        {
+        border: 2px solid #376EAB;
+        }
+
+.parameter
+        {
+        font-weight: bold;
+        color: #6586AC;
+        }
+
+
+h1
+        {
+        font-size: 30px;
+        color: #333333;
+        font-weight: normal;
+        text-align: center;
+        margin-top: 20px;
+        }
+
+h2
+        {
+        font-size: 20px;
+        color: #7A7272;
+        font-weight: normal;
+        }
+
+h3
+        {
+        font-size: 17px;
+        font-weight: bold;
+        color: #303030;
+        }
+
+pre     {
+        font-size: 13px;
+        }
+
+div
+        {
+        margin: 20px;
+        }
+
+a:link, a:visited, a:active
+        {
+        color: #294F75;
+        text-decoration: none;
+        }
+
+a:hover
+        {
+        color: #182634;
+        text-decoration: underline;
+        }
+
+/*]]>*/
+</style>
+</head>
+<body>
+<table width="750" class="maintable" cellspacing="0" cellpadding="0" align="center">
+    <tr> 
+      <td> 
+        
+      <h1>VPatch 3.1</h1>
+        <div> 
+          <h2>Introduction</h2>
+          <div>
+          <p>VPatch allows to create a patch file to update previous versions 
+            of your software. The GenPat utility generates the patch file. The 
+            plug-in can use the patch to update a file. Using a patch, you can 
+            reduce the download size of your updates because only the differences 
+            between the files are included in the patch file.</p>
+          </div>
+          <h2>How to use</h2>
+          <div>
+          <h3>Generate the patch file</h3>
+          <div>
+          <p>Make sure you have the source file (original version) and the target 
+            file (version to update to). For example, DATA.DTA (currently on user 
+            system) and DATA_20.DTA (version 2.0 of this data file). Now call 
+            the command line tool GenPat.exe:</p>
+          <pre>
+GENPAT oldfile.txt newfile.txt patch.pat
+</pre>
+          <p>Now, the patch will be generated, this will take some time.</p>
+            <p>Using the /B=(BlockSize) parameter of the GenPat utility (put it 
+              after the filenames), you can use a different block size. A smaller 
+              block size may result in a smaller patch, but the generation will 
+              take more time (the default blocksize is 64).</p>
+            <p>If you have trouble using this command-line utility, you can download 
+              a GUI (graphical user interface) for VPatch from its own website: 
+              <a href="http://www.tibed.net/vpatch">http://www.tibed.net/vpatch</a>.</p>
+          </div>
+          <h3>Update the file during installation</h3>
+          <div>
+          <p>Use the VPatch plug-in to update a file using a patch file:</p>
+          <pre>
+vpatch::vpatchfile "patch.pat" "oldfile.txt" "temporary_newfile.txt"
+</pre>
+          <p>The result of the patch operating will be added to the stack and 
+            can be one of the following texts:</p>
+          <ul>
+            <li>OK</li>
+            <li>OK, new version already installed</li>
+            <li>An error occurred while patching</li>
+            <li>Patch data is invalid or corrupt</li>
+            <li>No suitable patches were found</li>
+          </ul>
+            <p>Check <a href="../../Examples/VPatch/example.nsi">example.nsi</a> for an example. You 
+              should check whether the stack string starts with &quot;OK&quot; 
+              because then the patch has succeeded and you can rename &quot;temporary_newfile.txt&quot; 
+              to &quot;oldfile.txt&quot; to replace the original, if you want.</p>
+          </div>
+          <h3>Multiple patches in one file</h3>
+          <div>
+          <p>GenPat appends a patch to the file you specified. If there is already 
+            a patch for the same original file, with the same CRC/MD5, in the patch file,
+            the patch will be replaced. For example, if you want to be able to upgrade
+            version 1 and 2 to version 3, you can put a 1 &gt; 3 and 2 &gt; 3 patch in 
+            one file.</p>
+          <p>You can also put patches for different files in one patch file, for 
+            example, a patch from file A version 1 to file A version 2 and a patch 
+            from file B version 1 to file B version 2. Just call the plug-in multiple 
+            times with the same patch file. It will automatically select the right 
+            patch (based on the file CRC).</p>
+          </div>
+          <h3>Patch generator (GenPat) exit codes</h3>
+          <div>
+            <p>In version 3 the following exit codes (known as error levels in 
+              the DOS period) can be returned by GenPat. GenPat will return an 
+              exit code based on success of the patch generation. Here is a list 
+              of the possible exit codes:</p>
+            <table width="547" border="0" cellspacing="0" cellpadding="0">
+              <tr> 
+                <td><b>Exit code</b></td>
+                <td><b>Description</b></td>
+              </tr>
+              <tr> 
+                <td>0</td>
+                <td>Success</td>
+              </tr>
+              <tr> 
+                <td>1</td>
+                <td>Arguments missing</td>
+              </tr>
+              <tr> 
+                <td>2</td>
+                <td>Other error</td>
+              </tr>
+              <tr>
+                <td>3</td>
+                <td>Source file already has a patch in specified patch file (ERROR), 
+                  use /R switch to override</td>
+              </tr>
+            </table>
+            <p>These exit codes can be useful when you generate patch files through 
+              a NSIS script.</p>
+        </div>
+        </div>
+        </div>
+        <div>
+          <h2>Source code</h2>
+          <div>
+          <p>Source code is available in the original package and in the SVN repository of NSIS.</p>
+          <h3>NSIS plug-in (C++)</h3>
+          <div>
+          <p>The source of the NSIS plug-in that applies patches can be found 
+            in the Source\Plugin folder.</p>
+          </div>
+          <h3>Patch Generator (C++)</h3>
+          <div>
+            <p>The most interesting part of VPatch, the actual patch generation 
+              algorithm, can be found in Source\GenPat\PatchGenerator.cpp. The 
+              header of that file contains a brief explanation of the algorithm 
+              as well.</p>
+          </div>
+          <h3>User interface (Delphi)</h3>
+          <div>
+          <p>A user interface is included as well, which you will have to build 
+            yourself because the GUI executable was too large to include. Besides 
+            Borland Delphi 6 or higher (you can use the freely available Personal 
+            edition), you will also need to install the <a href=
+"http://www.delphi-gems.com">VirtualTreeView</a> component by Mike Lischke.</p>
+          </div>
+          </div>
+          <h2>Version history</h2>
+          <div>
+          <ul>
+            <li>3.1 
+              <ul>
+                <li>GenPat now compiles on POSIX platforms (MinGW/GCC), Visual 
+                  C++ 6 and Borland C++.</li>
+                <li>More test cases to verify functionality of GenPat.</li>
+              </ul>
+            </li>
+            <li>3.0 
+              <ul>
+                <li><b>Final</b>: Updates to the GUI, installer</li>
+                <li><b>RC8</b>: GenPat will now flag replacement of a patch (e.g. 
+                  the source file has the same contents as a previous patch inside 
+                  a patch file) as an error. You can specifically allow it using 
+                  the /R switch. Added license to source files.</li>
+                <li><b>RC7</b>: Fixed critical bug in GenPat with multiple patches 
+                  in a single file. Fixed serious bug in stand-alone EXE runtime: 
+                  process kept on running forever. Included case testing through 
+                  a Python script to test common usage (and prevent bugs like 
+                  the one in GenPat in the future).</li>
+                <li><b>RC6</b>: Upgraded to non-beta compiler. Added /A switch 
+                  to change block match limit and /O to deactivate the limit. 
+                  Updated GUI to support the /O switch.</li>
+                <li><b>RC4a to RC5a</b>: input block size is now checked for power 
+                  of 2 and fixed if incorrect. When patch file does not yet exist, 
+                  no longer forgets to create the header. No longer tries to allocate 
+                  memory when there are no chunks. Fixed memory leaks.</li>
+                <li>Target file date is now preserved inside a patch and restored 
+                  on the user system.</li>
+                <li>MD5 checksums are now used instead of CRC32 checksums, unless 
+                  existing patches in a file already are in CRC32 mode.</li>
+                <li>The patch generator, GenPat, has been completely rewritten 
+                  in C++. It no longer needs to keep the entire files in memory, 
+                  instead memory usage is a certain percentage of the source file 
+                  size. The percentage is based on the block size, larger block 
+                  sizes will reduce memory usage.</li>
+                <li>All runtimes now share a common codebase, perform proper error 
+                  checking and don't leave behind files if the input file was 
+                  already up to date.</li>
+                <li>Bug Fix: The patch generator algorithm no longer reduces to 
+                  a quadratic runtime if there are many blocks with the same content 
+                  in the files to patch.</li>
+                <li>Bug Fix: The documentation of the command-line utilities was 
+                  incorrect and no warnings would be given by the runtimes, causing 
+                  the patch not to work (this does not apply to NSIS patches).</li>
+              </ul>
+            </li>
+            <li>2.1 
+              <ul>
+                <li>Added argument checking and error handling to GenPat. Now 
+                  returns exit codes as well to indicate success/failure (and 
+                  the reason for failure). Only GenPat has changed in this version 
+                  compared to 2.0 final.</li>
+                <li>Bug Fix: GenPat no longer gives an Access Violation when attempting 
+                  to patch a file smaller than 64 bytes into a file larger than 
+                  64 bytes.</li>
+              </ul>
+            </li>
+            <li>2.0 final 
+              <ul>
+                <li>Cleaned up source code for the patch generator, which is now 
+                  included (this code is written in Borland Delphi 6 and compiles 
+                  with the freely available Personal edition).</li>
+              </ul>
+            </li>
+            <li>2.0 beta 2 
+              <ul>
+                <li>All new algorithm used in the patch generator: much faster 
+                  (up to 90%) while using smaller block sizes (higher compression)</li>
+                <li>Created a NSIS 2 plugin</li>
+                <li>Works with small files</li>
+                <li>Replaces existing patch in file if original file CRC is identical</li>
+              </ul>
+            </li>
+          </ul>
+          </div>
+          <h2>Credits</h2>
+          <div>
+          <p>Written by Koen van de Sande<br />
+            C plug-in initially by Edgewize, updated by Koen van de Sande<br />
+            New documentation and example by Joost Verburg and Koen van de Sande</p>
+          </div>
+          <h2>License</h2>
+          <div>
+          <pre>
+Copyright (C) 2001-2005 Koen van de Sande / Van de Sande Productions
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute
+it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; 
+   you must not claim that you wrote the original software.
+   If you use this software in a product, an acknowledgment in the
+   product documentation would be appreciated but is not required.
+2. Altered versions must be plainly marked as such,
+   and must not be misrepresented as being the original software.
+3. This notice may not be removed or altered from any distribution.
+</pre>
+</div>
+        </div>
+      </td>
+</tr>
+</table>
+</body>
+</html>

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/VPatch/Readme.html
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/Math/Math.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/Math/Math.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/Math/Math.txt	(revision 2961)
@@ -0,0 +1,197 @@
+Math::Script NSIS plugin.
+
+C-like style scripting (operators at least).
+Tip1: plugin watches the case of the letters.
+Tip2: plugin makes almost no error checks. So YOU should check your script
+twice before run :)
+
+New HOW TO USE: run the MathTest.Exe, and try yourself. After spending 
+some minutes your should be able to write your script by yourself.
+To include it to your NSIS script just insert that: 
+        Math::Script "YourScript1"
+        Math::Script "YourScript2"
+        Math::Script "YourScriptFinal"
+
+How to use it? Simple:
+        Strcpy $0 "Brainsucker"
+        Math::Script "a = 'Math'; B = 'Script'; r0 += ' wants to use ' + a + '::' + b +'!'"
+        DetailPrint "$0"
+That string will fill r0 with some shit. 
+
+Here are some other samples:
+        10! (factorial, r0 will contain '10! = 362880'):
+                r0 = '10! = ' + (1*2*3*4*5*6*7*8*9)
+        the same:
+                a = b = 1; #{++a <= 10, b = b*a}; r0 = (a-1) + '! = ' + b
+        Some floating point:
+                Strcpy $R0 "1e1"
+                Math::Script "pi = 3.14159; R1 = 2*pi*R0; r0 = 'Length of circle with radius ' + R0 + ' is equal to ' + R1 + '.'"
+                Detailprint "$0"        
+
+Ok. Variables. 
+NSIS: r0-r9 -> $0-$9. R0-R9 -> $R0-$R9. 
+Also CL ($CMDLINE), ID ($INSTDIR), OD ($OUTDIR), LG ($LANG), ED ($EXEDIR).
+User definable: name starting from character, up to 28 letters long.
+
+Stacks. Two stacks are supported: NSIS stack and plugin's own stack. I see no 
+reasons for using plugin stack, but if you will, remember - the plugin stores
+variables used at function to that stack before function execution, and restores
+after execution. Even less I recommend you to use NSIS stack. You should use it
+only for input/output.
+How to use? It's variable styled. Plugins stack is associated with S variable,
+and NSIS stack associated with NS variable. To push to stack just do "S=0" or
+"NS=0", to pop from stack "a=S" or "b=NS". Combined operations supported too: 
+"S += 1.5" will increment value at the top of stack by 1.5.
+
+Supported types: int (in fact that is __int64), float (double in fact),
+string.
+Int: just numbers, may include sign.
+Float: -123.456, 123.456e-78, 123e-45
+String: something in quotes ("", '', ``).
+
+There is also an array type. It is actually a reference type, so if b is array
+and you will perform "a=b", the a and b will reference a single array.
+To create a copy of array, use ca func: dest = ca(source). Btw - you couldn't
+control dimensions of arrays - they are autosized.
+To declare array:
+a = {};
+To declare array and initialize some items with values:
+{"Hello!", "Use", "mixed types", 1.01e23, "like that" ,1234};
+To access array:
+a[index] = "Cool";
+
+Also [] operation could be used to strings. str[x] gives you a single char with
+index x (zero-based) as new string. str[-x] - the same, but x counts from the
+string end (so the last char is -1). str[x,y] gives you characters in range x-y
+(inclusive), both x and y could be <0 - in this case they counted from the end
+of the string.
+
+The function could be useful - is conversion of arrays to strings and back.
+Example:
+a = a("Hello"); str = s(a);
+After running such script array a will contain 6 integers (chars and last zero 
+- end of string), and str will contain your string back.
+
+Operators (some binary, some unary):
+>>= <<= -= += /= *= |= &= ^= %= -- ++ >> << && || <= =< >= => != ==
+= + - * / % < > & | ^ ~ !
+Only some are applicable to float (logic & arithmetic) and string (+ and logic) 
+of course. 
+Additional case: reference/de-reference operators (& and *). & will
+give you the reference to argument which should be a variable (NSIS, user, array
+item, stack), and * will convert it back to original variable. For example 
+(a=&b; *a=10) will set b to 10. Expression (*&a) is equal to simple (a).
+
+Script is set of expressions (mathematical in general) delimited with ';'.
+Processing is mathematically right (2+2*2 will give 6), operations are performed
+in a C like order (precedence).
+
+Flow control:
+        if-then-else like:      #[if-expression, then-expr, else-expr]
+                example:
+                        #[a==0, b=1; c=2, b *= (--c); c/=10]               
+                C eq:
+                        if (a==0) { b=1; c=2;} else { b*=(c++);c-=10; }
+        while (expr) do; like   #{expr, do}
+                example:
+                        #{(c<1.1e25)&&(b < 10), b++; c*=1.23}
+                C eq:
+                        while ((c<1.1e25)&&(b<10)) { b++; c*=1.23; }
+
+WATCH OUT! Comma (,) separates if-expr, then-expr, and else-expr from each 
+other. All sub-expressions separated by (;) are the part of one expression,
+and the result of the last one of these sub-exprs gives you the result of 
+expression.
+
+All the shit (like variables and functions) will be saved between calls.
+
+Functions:
+        type conversions:
+                l(string)       returns the length of string or array argument
+                s(source)       converts source to string type
+                i(source)       converts source to int type
+                f(source)       converts source to float type
+                c(source)       if source is string, returns int value of first
+                        char, if source is int, returns string which consists
+                        of a single char (source) (+0 terminator).
+                a(source)       converts source to array (only string supported)
+                ff(float, format)       converts float to string, with format
+                                        options.
+                        options = precision + flags.
+                        Precision shows how many digits after decimal point
+                        will be shown. Flags:
+                                16 (or 0x10) - No Exponential View 
+                                        (number will be shown as 123.123)
+                                32 (or 0x20) - Only exponential view
+                                        (number will be shown as 123.12e123)
+                                64 (or 0x40) - use 'E' character instead of 'e' 
+                        By default the plugin decides itself how to show your
+                        number.
+
+        math (description of all these functions is available at MSDN, use the
+            second given name for search):
+                sin(x),         sin     Sine of argument
+                cos(x),         cos     Cosine of argument
+                cel(x),         ceil    Ceil of argument (no fract. part) 
+                csh(x),         cosh    Hyperbolic Cosine of Argument        
+                exp(x),         exp     Exponential
+                abs(x),         abs     Absolute value (warning: float)
+                flr(x),         floor   Floor of argument (no fract. part) 
+                asn(x),         asin    ArcSine of argument
+                acs(x),         acos    ArcCosine of argument
+                atn(x),         atan    ArcTangent of argument
+                ln(x),          log     Exponential Logarithm
+                log(x),         log10   Decimal logarithm
+                snh(x),         sinh    Hyperbolic Sine of Argument
+                sqt(x),         sqrt    Square root of argument
+                tan(x),         tan     Tangent of argument
+                tnh(x),         tanh    Hyperbolic tangent  of argument
+
+          functions taking two arguments
+                at2(x, y)       atan2    Arctangent of the value (y/x)
+                pow(x, y)       pow      power, x^y
+                fmd(x, y)       fmod     floating point remainder
+                fex(x, o)       frexp    Gets the mantissa (result = r) 
+                                        and exponent (o) of floating-point 
+                                        number (x): x = r*(2^o)
+                mdf(x, o)       modf    Splits a floating-point value into 
+                                        fractional and integer parts.
+
+User-defined functions.
+It's very simple. Example:
+        test(a,b) (a+b);
+After that test(1,2) will give you 3. 
+        test2(a,b) (a=a+b; b *= a);
+The result of function is always the result of last expression.
+As said before it better not to use stack (S) in between function calls.
+It will be better to develop variable-safe functions, i.e. functions which will
+not corrupt variables. For this you should either push/pop them to stack, or
+declare as additional arguments, which will never be used. Example:
+        test3(a,b,c) (c=10; #{--c > 0, a=sqrt(a*b)}; a)
+No matter how many arguments will be passed to function, the values of all three 
+vars (a,b,c) will be saved. 
+Such variable-safe functions could be recursive:
+        Math::Script 'rec(a) (#[a > 0, rec(a-1), 0]+a);'
+        Math::Script 'R1 = rec(10)'
+will set R1 to right result 55.
+Sometimes functions will need to return more than one value, in this case you
+could declare argument as referent (b at example):
+        test4(a, &b) (*b = a*a; a*a*a)
+In this case test4 will return a^3, and if we will call it like that test4(a,c),
+it will place a^2 to c. BUT! Note: you should use de-referencer (*) with variable,
+at example *b. CAUTION: never use the same variable as function internal reference
+variable and external argument variable (for example test4(a,b)). It will surely 
+fail. Also: if you declared argument as reference - you should never supply
+a constant expression to it. It could be either array item (array[1]), NSIS
+register R0, any of the user variables (beside the variable with the same name:), 
+but never the constant.
+
+Another may-be-useful possibility is to redeclare the function (the usual 
+declaration at the time when function already defined will simply call that
+function). For such task you could use "#name", like "func()(1); #func()(2);".
+But beware, function declaration occurs at time of parsing, so it's not possible
+to perform flow controlled declaration. 
+SUCH IS NOT POSSIBLE: "#[a<0, #func()(1), #func()(2)]"
+IT WILL SIMPLY DEFINE #func as (2), as the latest variant.
+        
+(c) Nik Medved (brainsucker)
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Math/Math.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/MultiUser/Readme.html
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/MultiUser/Readme.html	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/MultiUser/Readme.html	(revision 2961)
@@ -0,0 +1,404 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+    <title>Multi-User Header File (MultiUser.nsh)</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
+    <style type="text/css">
+        td
+        {
+            padding: 5px;
+            vertical-align: top;
+            border-bottom: 1px solid black;
+        }
+    </style>
+</head>
+<body>
+    <h1>
+        Multi-User Header File (MultiUser.nsh)</h1>
+    <p>
+        <i>Installer configuration for multi-user Windows environments</i></p>
+    <h2>
+        Table of Contents</h2>
+    <ul>
+        <li><a href="#introduction">Introduction</a></li>
+        <li><a href="#executionlevel">Initalization and Execution Level</a>
+            <li><a href="#installationmode">Installation Mode</a></ul>
+    <h2>
+        <a name="introduction"></a>Introduction</h2>
+    <p>
+        Modern Windows versions support multiple users accounts on a single computer, each
+        with different privileges. For security reasons, the privileges of applications
+        can also be limited. For an installer, the <i>execution level</i> and <i>installation
+            mode</i> are important. The execution level determines the privileges of the
+        installer application. For example, to install hardware drivers, administrator privileges
+        are required. Applications can also be installed for a single user or for all users
+        on a computer, which is determined by the installation mode. Installation for all
+        users requires a higher execution level as compared with a single user setup. The
+        MultiUser.nsh header files provides the features to automatically handle all these
+        aspects related to user accounts and installer privileges.</p>
+    <p>
+        Note that all settings need to be set before including the MultiUser.nsh header
+        file.</p>
+    <h2>
+        Initialization and <a name="executionlevel"></a>Execution Level&nbsp;</h2>
+    <p>
+        Before the MultiUser.nsh file is included, the MULTIUSER_EXECUTIONLEVEL define should
+        be set to one of the following values depending on the execution level that is required:</p>
+    <table>
+        <tr>
+            <td>
+                <b>Value </b>
+            </td>
+            <td>
+                <b>Description</b>
+            </td>
+            <td>
+                <b>Typical application</b>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                Admin
+            </td>
+            <td>
+                Administrator privileges are required
+            </td>
+            <td>
+                Access data of all users accounts
+            </td>
+        </tr>
+        <tr>
+            <td>
+                Power
+            </td>
+            <td>
+                Power User privileges are required<br />
+                (Power Users no longer exist in Windows Vista. For Vista this is equivalent to Admin)
+            </td>
+            <td>
+                Installation for all users (writing to &quot;Program Files&quot; or HKLM registry
+                keys), driver installation
+            </td>
+        </tr>
+        <tr>
+            <td>
+                Highest
+            </td>
+            <td>
+                Request the highest possible execution level for the current user
+            </td>
+            <td>
+                Mixed-mode installer that can both be installed per-machine or per-user
+            </td>
+        </tr>
+        <tr>
+            <td>
+                Standard
+            </td>
+            <td>
+                No special rights required
+            </td>
+            <td>
+                Installation for current user only
+            </td>
+        </tr>
+    </table>
+    <p>
+        Insert the MULTIUSER_INIT and MULTIUSER_UNINT macros in the .onInit and un.onInit
+        function to verify these privileges. If no uninstaller is created in the script,
+        set MULTIUSER_NOUNINSTALL.</p>
+    <blockquote>
+        <pre>!define MULTIUSER_EXECUTIONLEVEL Highest
+;!define MULTIUSER_NOUNINSTALL ;Uncomment if no uninstaller is created
+!include MultiUser.nsh
+
+...
+
+Function .onInit
+  !insertmacro MULTIUSER_INIT
+FunctionEnd
+
+Function un.onInit
+  !insertmacro MULTIUSER_UNINIT
+FunctionEnd</pre>
+    </blockquote>
+    <p>
+        Whether the required privileges can be obtained depends on the user that starts
+        the installer:</p>
+    <ul>
+        <li>Windows NT 4/2000/XP/2003 give the installer the same privileges as the user itself.
+            If the privileges of the user are not sufficient (e.g. Admin level is required is
+            set but the user has no administrator rights), the macros will display an error
+            message and quit the installer. If is however possible to manually run the installer
+            with an administrator account.</li>
+        <li>Windows Vista restricts the privileges of all applications by default. Depending
+            on requested execution level, MultiUser.nsh will set the RequestExecutionLevel flag
+            to request privileges. The user will be asked for confirmation and (if necessary)
+            for an administrator password.</li>
+        <li>Windows 95/98/98 do not set any restrictions on users or applications. Administrator
+            rights are always available.</li>
+    </ul>
+    <p>
+        It is recommended to insert these initialization macros before macros that require
+        user intervention. For example, it does not make sense to ask a user for an installer
+        language if the installer will quit afterwards because the user account does not
+        have the required privileges. After the macros are inserted, the variable $MultiUser.Privileges
+        will contain the current execution level (Admin, Power, User or Guest).</p>
+    <p>
+        The following additional settings are available to customize the initialization:</p>
+    <table>
+        <tr>
+            <td>
+                <b>Setting<td>
+                    <b>Description</b>
+                </td>
+        </tr>
+        <tr>
+            <td>
+                MULTIUSER_INIT_TEXT_ADMINREQUIRED
+            </td>
+            <td>
+                Error message to be displayed when administrator rights are required but not available.
+            </td>
+        </tr>
+        <tr>
+            <td>
+                MULTIUSER_INIT_TEXT_POWERREQUIRED
+            </td>
+            <td>
+                Error message to be displayed when Power User rights are required but not available.
+            </td>
+        </tr>
+        <tr>
+            <td>
+                MULTIUSER_INIT_TEXT_ALLUSERSNOTPOSSIBLE
+            </td>
+            <td>
+                Error message to be displayed when administrator or Power User rights are required
+                because of an installation mode setting on the command line (see below) but are
+                not available.
+            </td>
+        </tr>
+        <tr>
+            <td>
+                MULTIUSER_INIT_FUNCTIONQUIT<br />
+                MULTIUSER_INIT_UNFUNCTIONQUIT
+            </td>
+            <td>
+                A custom function to be called when the installer is closed due to insufficient
+                privileges.
+            </td>
+        </tr>
+    </table>
+    <h2>
+        <a name="installationmode"></a>Installation Mode</h2>
+    <p>
+        As mentioned before, applications can both be installed for a single users or for
+        all users on a computer. Applications for all users are typically installed in the
+        Program Files folder and appear in the Start Menu of every user. On the contrary,
+        applications for a single user are usually installed in the local Application Data
+        folder and only a appear in the Start Menu of the user who installed the application.</p>
+    <p>
+        By default, MultiUser.nsh will set the installation mode for a per-machine installation
+        if Administrator or Power User rights are available (this is always the case if
+        the execution level is set to Admin or Power, if Highest is set it depends on the
+        user account). For the Standard execution level the installation will always be
+        for a single user. On Windows 95/98/Me installation for a single user is not possible.</p>
+    <p>
+        The following settings are available to change the default installation mode:
+        <table>
+            <tr>
+                <td>
+                    <b>Setting</b>
+                </td>
+                <td>
+                    <b>Description</b>
+                </td>
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER
+                </td>
+                <td>
+                    Set default to a per-user installation, even if the rights for a per-machine installation
+                    are available.
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME
+                </td>
+                <td>
+                    Non-empty registry key that is created during the installation in either HKCU or
+                    HKLM. The default installation mode will automatically be set to the previously
+                    selected mode depending on the location of the key.
+                </td>
+            </tr>
+        </table>
+        <p>
+            After initialization, the variable $MultiUser.InstallMode will contain the current
+            installation mode (AllUsers or CurrentUser).
+        </p>
+        <h3>
+            Mixed-Mode Installation</h3>
+        <p>
+            For the Admin and Power levels, both a per-machine as well as a per-user installation
+            is possible. If the Highest level is set and the user is an Administrator or Power
+            User, both options are also available.</p>
+        <p>
+            Usually it's a good thing to give the user to choice between these options. For
+            users of the Modern UI version 2, a page is provided that asks the user for the
+            installation mode. To use this page, define MULTIUSER_MUI before including User.nsh.
+            Then, the MULTIUSER_PAGE_INSTALLMODE macro can be used just like a normal Modern
+            UI page (this page will automatically be skipped when running Windows 95/98/Me):</p>
+        <pre>!define MULTIUSER_EXECUTIONLEVEL Highest
+<b>!define MULTIUSER_MUI</b>
+!define MULTIUSER_INSTALLMODE_COMMANDLINE
+!include MultiUser.nsh
+!include MUI2.nsh
+
+<b>!insertmacro MULTIUSER_PAGE_INSTALLMODE</b>
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_INSTFILES 
+
+!insertmacro MUI_LANGUAGE English
+
+...
+
+Function .onInit
+  !insertmacro MULTIUSER_INIT
+FunctionEnd
+
+Function un.onInit
+  !insertmacro MULTIUSER_UNINIT
+FunctionEnd
+</pre>
+        <p>
+            The MULTIUSER_INSTALLMODE_COMMANDLINE setting that also appears in this example
+            enables the installation mode to be set using the /AllUsers or /CurrentUser command
+            line parameters. This is especially useful for silent setup.</p>
+        <p>
+            The following settings can be used to customize the texts on the page (in addition
+            to the general Modern UI page settings):</p>
+        <table>
+            <tr>
+                <td>
+                    <b>Setting</b>
+                </td>
+                <td>
+                    <b>Description</b>
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    MULTIUSER_INSTALLMODEPAGE_TEXT_TOP
+                </td>
+                <td>
+                    Text to display on the top of the page.
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    MULTIUSER_INSTALLMODEPAGE_TEXT_ALLUSERS
+                </td>
+                <td>
+                    Text to display on the combo button for a per-machine installation.
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    MULTIUSER_INSTALLMODEPAGE_TEXT_CURRENTUSER
+                </td>
+                <td>
+                    Text to display on the combo button for a per-user installation.
+                </td>
+            </tr>
+        </table>
+        <h3>
+            Installation Mode Initalization</h3>
+        <p>
+            The SetShellVarContext flag (which determines the folders for e.g. shortcuts, like
+            $DESKTOP) is automatically set depending on the installation mode. In addition,
+            the following settings can be used to perform additional actions when the installation
+            mode is initialized:</p>
+        <table>
+            <tr>
+                <td>
+                    <b>Setting</b>
+                </td>
+                <td>
+                    <b>Description</b>
+                </td>
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    MULTIUSER_INSTALLMODE_INSTDIR
+                </td>
+                <td>
+                    Name of the folder in which to install the application, without a path. This folder
+                    will be located in Program Files for a per-machine installation and in the local
+                    Application Data folder for a per-user installation (if supported).
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME
+                </td>
+                <td>
+                    Registry key from which to obtain a previously stored installation folder. It will
+                    be retrieved from HKCU for per-user and HKLM for per-machine.
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    MULTIUSER_INSTALLMODE_FUNCTION<br />
+                    MULTIUSER_INSTALLMODE_UNFUNCTION
+                </td>
+                <td>
+                    A custom fuction to be called during the initialization of the installation mode
+                    to set additional installer settings that depend on the mode
+                </td>
+        </table>
+        <p>
+            To set the installation mode manually, call one of these four functions:</p>
+        <table>
+            <tr>
+                <td>
+                    <b>Function name</b>
+                </td>
+                <td>
+                    <b>Installation mode</b>
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    MultiUser.InstallMode.AllUsers
+                </td>
+                <td>
+                    Installer: Per-machine installation
+                </td>
+            </tr>
+            <tr>
+                <td>
+                    MultiUser.InstallMode.CurrentUser
+                    <td>
+                        Installer: Per-user installation
+                    </td>
+            </tr>
+            <tr>
+                <td>
+                    un.MultiUser.InstallMode.AllUsers<td>
+                        Uninstaller: Per-machine installation
+                    </td>
+            </tr>
+            <tr>
+                <td>
+                    un.MultiUser.InstallMode.CurrentUser<td>
+                        Uninstaller: Per-user installation
+                    </td>
+            </tr>
+        </table>
+</body>
+</html>

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/MultiUser/Readme.html
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/Splash/splash.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/Splash/splash.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/Splash/splash.txt	(revision 2961)
@@ -0,0 +1,41 @@
+Splash.dll - small (4k), simple plugin that lets you throw 
+up a splash screen in NSIS installers.
+
+--- UPDATED in 2.0b0 - will break old scripts ---
+
+To use:
+
+Create a .BMP file of your splash screen.
+(optional) Create a .WAV file to play while your splash screen shows.
+
+Add the following lines to your .NSI file:
+
+Function .onInit
+  SetOutPath $TEMP
+  File /oname=spltmp.bmp "my_splash.bmp"
+
+; optional
+; File /oname=spltmp.wav "my_splashshit.wav"
+
+  splash::show 1000 $TEMP\spltmp
+
+  Pop $0 ; $0 has '1' if the user closed the splash screen early,
+	 ; '0' if everything closed normally, and '-1' if some error occurred.
+
+  Delete $TEMP\spltmp.bmp
+;  Delete $TEMP\spltmp.wav
+FunctionEnd
+
+Note that the first parameter to splash.exe is the length to show the
+screen for (in milliseconds), and the second is the splash bitmap filename (without
+the .bmp). The BMP file used will be this parameter.bmp, and the wave file used
+(if present) will be this parameter.wav.
+
+(If you already have an .onInit function, put that in it)
+
+Note: the return value of splash is 1 if the user closed the splash 
+screen early (pop it from the stack)
+
+-Justin
+
+Converted to a plugin DLL by Amir Szekely (kichik)

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Splash/splash.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/BgImage/BgImage.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/BgImage/BgImage.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/BgImage/BgImage.txt	(revision 2961)
@@ -0,0 +1,92 @@
+BgImage.DLL - NSIS extension DLL
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Displays an image or a gradient with user defined texts and/or images behind the NSIS window.
+Can also play WAVs.
+
+See Example.nsi for a usage example.
+
+Usage
+~~~~~
+
+1) Call SetBg to set the background
+2) Call AddText, or AddImage to add texts and images
+3) Call Redraw to update the background window
+4) Optional - repeat steps 2-3 to add more images
+           -or-
+   call Clear and repeat steps 1-3 for a completely new background.
+5) Call Destroy when the background is no longer required (.onGUIEnd for example)
+
+Notes
+~~~~~
+
+* This plugin requires NSIS 2.42 and above.
+
+* Do not call SetBg (which creates the window) from a section or a function called by a section.
+   BgImge must be run from the GUI thread as the installation thread is not built to handle GUI.
+
+Available functions
+~~~~~~~~~~~~~~
+
+SetBg [/FILLSCREEN|/TILED] path_to_bitmap
+SetBg /GRADIENT R G B R G B
+   Sets the background and creates the window if necessary
+   Use /FILLSCREEN to make the image fill the screen
+   Use /TILED to set a tiled background
+   Use /GRADIENT to set a gradient background
+
+   If SetReturn on was called returns "success" on the stack
+     or an error string if there was an error
+
+   Do not use in .onInit!
+
+AddImage [/TRANSPARENT R G B] path_to_bitmap X Y
+   Adds an image to the background window at (X,Y)
+     X and Y can be negative to specify distance from right/bottom
+   Use /TRANSPARENT to make BgImage draw the image transparently
+     Define the transparent color using R G B
+
+   If SetReturn on was called returns "success" on the stack
+     or an error string if there was an error
+
+AddText text font_handle R G B X Y X Y
+  Adds text to the background window
+  Use NSIS's CreateFont to create a font and pass it as font_handle
+  Use R G B to set the text color
+  The first X Y is for the top left corner of the text box
+  The second X Y is for the bottom right corner of the text box
+  X and Y can be negative to specify distance from right/bottoms
+
+  If SetReturn on was called returns "success" on the stack
+     or an error string if there was an error
+
+Clear
+   Clears all of the current background, images and texts
+
+Destroy
+   Destroys the current background window
+   Destroy calls Clear automatically
+
+Sound [/WAIT|/LOOP] path_to_wav
+Sound /STOP
+   Plays a wave file
+   Use /WAIT to wait for the sound to finish playing
+   Use /LOOP to loop the sound
+   Use Sound /STOP to stop the loop
+
+SetReturn on|off
+   Enable return values from SetBg, AddImage and AddText
+   Default value is off because all of the possible errors
+     are either things you should handle when debugging your script
+     such as "can't load bitmap" or errors you can do nothing about
+     such as "memory allocation error"
+
+Credits
+~~~~~~~
+
+Coded by Amir Szekely, aka KiCHiK
+
+Ximon Eighteen, aka Sunjammer - Fixed window title bar issues
+iceman_k - Text idea and original implementation
+Lajos Molnar, aka orfanik - Tile idea and original implementation
+Jason Reis - Coding help
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/BgImage/BgImage.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/NSISdl/ReadMe.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/NSISdl/ReadMe.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/NSISdl/ReadMe.txt	(revision 2961)
@@ -0,0 +1,91 @@
+NSISdl 1.3 - HTTP downloading plugin for NSIS
+---------------------------------------------
+
+Copyright (C) 2001-2002 Yaroslav Faybishenko & Justin Frankel
+
+This plugin can be used from NSIS to download files via http.
+
+To connect to the internet, use the Dialer plugin.
+
+USAGE
+-----
+
+NSISdl::download http://www.domain.com/file localfile.exe
+
+You can also pass /TIMEOUT to set the timeout in milliseconds:
+
+NSISdl::download /TIMEOUT=30000 http://www.domain.com/file localfile.exe
+
+The return value is pushed to the stack:
+
+  "cancel" if cancelled
+  "success" if success
+  otherwise, an error string describing the error
+
+If you don't want the progress window to appear, use NSISdl::download_quiet.
+
+Example of usage:
+
+NSISdl::download http://www.domain.com/file localfile.exe
+Pop $R0 ;Get the return value
+  StrCmp $R0 "success" +3
+    MessageBox MB_OK "Download failed: $R0"
+    Quit
+
+For another example, see waplugin.nsi in the examples directory.
+
+PROXIES
+-------
+
+NSISdl supports only basic configurations of proxies. It doesn't support
+proxies which require authentication, automatic configuration script, etc.
+NSISdl reads the proxy configuration from Internet Explorer's registry key
+under HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings. It
+reads and parses ProxyEnable and ProxyServer.
+
+If you don't want NSISdl to use Internet Explorer's settings, use the
+/NOIEPROXY flag. /NOIEPROXY should be used after /TRANSLATE and
+/TIMEOUT. For example:
+
+If you want to specify a proxy on your own, use the /PROXY flag.
+
+NSISdl::download /NOIEPROXY http://www.domain.com/file localfile.exe
+NSISdl::download /TIMEOUT=30000 /NOIEPROXY http://www.domain.com/file localfile.exe
+NSISdl::download /PROXY proxy.whatever.com http://www.domain.com/file localfile.exe
+NSISdl::download /PROXY proxy.whatever.com:8080 http://www.domain.com/file localfile.exe
+
+TRANSLATE
+---------
+
+To translate NSISdl add the following values to the call line:
+
+/TRANSLATE2 downloading connecting second minute hour seconds minutes hours progress
+
+Default values are:
+ 
+  downloading - "Downloading %s"
+  connecting - "Connecting ..."
+  second - " (1 second remaining)"
+  minute - " (1 minute remaining)"
+  hour - " (1 hour remaining)"
+  seconds - " (%u seconds remaining)"
+  minutes - " (%u minutes remaining)"
+  hours - " (%u hours remaining)"
+  progress - "%skB (%d%%) of %skB @ %u.%01ukB/s"
+
+The old /TRANSLATE method still works for backward compatibility.
+
+/TRANSLATE downloading connecting second minute hour plural progress remianing
+
+Default values are:
+
+  downloading - "Downloading %s"
+  connecting - "Connecting ..."
+  second - "second"
+  minute - "minute"
+  hour - "hour"
+  plural - "s"
+  progress - "%dkB (%d%%) of %ukB @ %d.%01dkB/s"
+  remaining -  " (%d %s%s remaining)"
+
+/TRANSLATE and /TRANSLATE2 must come before /TIMEOUT.

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/NSISdl/ReadMe.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/NSISdl/License.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/NSISdl/License.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/NSISdl/License.txt	(revision 2961)
@@ -0,0 +1,18 @@
+NSISdl 1.1 - HTTP downloading plugin for NSIS
+Copyright (C) 2001-2002 Yaroslav Faybishenko & Justin Frankel
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+   claim that you wrote the original software. If you use this software
+   in a product, an acknowledgment in the product documentation would be
+   appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+   misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/NSISdl/License.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/Dialer/Dialer.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/Dialer/Dialer.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/Dialer/Dialer.txt	(revision 2961)
@@ -0,0 +1,121 @@
+DIALER PLUGIN
+-------------
+
+Written by Amir Szekely aka KiCHiK
+Readme by Joost Verburg
+
+The Dialer plugin for NSIS provides five functions related to internet connections.
+
+To download files from the internet, use the NSISdl plugin.
+
+USAGE
+-----
+
+Example of usage:
+
+ClearErrors           ;Clear the error flag
+Dialer::FunctionName  ;Call Dialer function
+IfErrors "" +3        ;Check for errors
+  MessageBox MB_OK "Function not available"
+  Quit
+Pop $R0               ;Get the return value from the stack
+MessageBox MB_OK $R0  ;Display the return value
+
+EXAMPLE FUNCTION
+----------------
+
+; ConnectInternet (uses Dialer plugin)
+; Written by Joost Verburg 
+;
+; This function attempts to make a connection to the internet if there is no
+; connection available. If you are not sure that a system using the installer
+; has an active internet connection, call this function before downloading
+; files with NSISdl.
+; 
+; The function requires Internet Explorer 3, but asks to connect manually if
+; IE3 is not installed.
+
+Function ConnectInternet
+
+  Push $R0
+    
+    ClearErrors
+    Dialer::AttemptConnect
+    IfErrors noie3
+    
+    Pop $R0
+    StrCmp $R0 "online" connected
+      MessageBox MB_OK|MB_ICONSTOP "Cannot connect to the internet."
+      Quit ;Remove to make error not fatal
+    
+    noie3:
+  
+    ; IE3 not installed
+    MessageBox MB_OK|MB_ICONINFORMATION "Please connect to the internet now."
+    
+    connected:
+  
+  Pop $R0
+  
+FunctionEnd
+
+FUNCTIONS
+---------
+
+If a function is not available on the system, the error flag will be set.
+
+* AttemptConnect
+
+  Attempts to make a connection to the Internet if the system is not connected.
+  
+  online - already connected / connection successful
+  offline - connection failed
+  
+  Requires Internet Explorer 3 or later
+
+* AutodialOnline
+
+  Causes the modem to automatically dial the default Internet connection if the system
+  is not connected to the internet. If the system is not set up to automatically
+  connect, it will prompt the user.
+  
+  Return values:
+  
+  online - already connected / connection successful
+  offline - connection failed
+  
+  Requires Internet Explorer 4 or later
+
+* AutodialUnattended
+
+  Causes the modem to automatically dial the default Internet connection if the system
+  is not connected to the internet. The user will not be prompted.
+  
+  Return values:
+  
+  online - already connected / connection successful
+  offline - connection failed
+  
+  Requires Internet Explorer 4 or later
+
+* AutodialHangup
+
+  Disconnects an automatic dial-up connection.
+  
+  Return values:
+
+  success - disconnection successful
+  failure - disconnection failed
+  
+  Requires Internet Explorer 4 or later
+
+* GetConnectedState
+
+  Checks whether the system is connected to the internet.
+  
+  Return values:
+
+  online - system is online
+  offline - system is offline
+  
+  Requires Internet Explorer 4 or later
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Dialer/Dialer.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/makensisw/License.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/makensisw/License.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/makensisw/License.txt	(revision 2961)
@@ -0,0 +1,17 @@
+Copyright (c) 2002 Robert Rainwater <rrainwater@yahoo.com>
+
+This software is provided 'as-is', without any express or implied
+warranty.  In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/makensisw/License.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/makensisw/Readme.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/makensisw/Readme.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/makensisw/Readme.txt	(revision 2961)
@@ -0,0 +1,214 @@
+----------------------------------------------------
+MakeNSISW - MakeNSIS Windows Wrapper
+----------------------------------------------------
+
+
+About MakeNSISW
+---------------
+MakeNSISW is a wrapper for the MakeNSIS that is distributed with
+NSIS (http://www.nullsoft.com/free/nsis/).  MakeNSISW allows you 
+to compile NSIS scripts using a Windows GUI interface.  To install
+MakeNSISW, compile the source using Visual C++ or Mingw.
+
+
+Requirements
+------------
+MakeNSISW requires NSIS be installed on your system.  The default 
+directory for this installation is $PROGRAMFILES\NSIS\Contrib\MakeNSISW.
+
+
+Usage:
+------
+If you installed the Shell Extensions option during the installation, then
+all that is required is that you choose 'Compile NSI' from the right-
+click menu on a NSIS script.  This will invoke MakeNSISW.
+
+The format of the parameters when calling MakeNSISW from the commandline is:
+  makensisw [options] [script.nsi | - [...]]
+
+For the options, please see the MakeNSIS documentation.
+
+
+Shortcut Keys
+-------------
+Ctrl+A: Select All text
+Ctrl+B: Open Script Folder
+Ctrl+C: Copy selected text
+Ctrl+D: Opens the Define Symbols dialog
+Ctrl+E: Edits the script
+Ctrl+F: Find text
+Ctrl+L: Load a script
+Ctrl+R: Recompiles the script
+Ctrl+T: Tests the installer
+Ctrl+W: Clear Log Window
+Alt+X: Exits the application
+F1: View Documentation
+
+
+Version History
+---------------
+0.1
+ - Initial Release
+
+0.2
+ - Added ability to save output and copy output
+
+0.3
+ - Added option to recompile script (F2 or File|Recompile)
+ - Added Help Menu
+ - Return code is now always set
+ - Added Accelerator key support for Exit and Recompile
+ - No longer uses NSIS's version string
+ - Made clearer status message in title bar
+ - Disabled menu/accelerator functions during compile
+
+0.4
+ - Fixed Copy Selected bug
+
+0.5
+ - Minor Makefile changes (mingw)
+ - Moved strings into global strings to make editing easier
+ - Added Clear Log Command under Edit menu
+ - Recompile no longer clears the log window (use F5)
+ - Close is now the default button when you hit enter
+ - added VC++ project, updated resources to work with VC++
+ - rearranged directory structure
+ - makefiles now target ../../makensisw.exe
+ - removed makensisw home link in help menu (hope this is ok,
+   doesn't really seem needed to me)
+ - made display use a fixed width font (Some people may not like
+   this, but I do)
+ - added 'test' button (peeks output for 'Output' line)
+ - made it so that the log shows the most recent 32k.
+ - made it so that the log always clears on a recompile.
+ - compiled with VC++ so no longer needs msvcrt.dll
+ - made the compiler name be a full path (for more flexibility)
+
+0.6
+ - print correct usage if unable to execute compiler
+ - removed mingw warnings
+ - set title/branding before errors
+ - some docs changes
+ - Added Edit|Edit Script function
+
+0.7
+ - Edit Script should now work for output>32k
+ - Added resize support (thanks to felfert)
+ - Added window position saving (thanks to felfert)
+ - Disable some items when exec of makensis failed
+
+0.8
+ - Added window size constraints (thanks to bcheck)
+ - Cleaned up the resource file
+
+0.9
+ - Removed global strings (moved into #defines)
+ - Some GUI changes
+ - No longer focused Close button (its default anyways)
+ - Fixed resize bug on minimize/restore (thanks to felfert)
+ - Made window placement stored in HKLM instead of HKCU, cause
+   I hate things that get littered in HKCU.
+
+1.0
+ - Fixed bug with large output causing crash
+
+1.1
+ - Crash may actually be fixed
+
+1.2
+ - XP visual style support
+
+1.3
+ - Added Documentation menu item
+ - Fix GUI problem with About dialog
+
+1.4
+ - Edit Script command will now work with or without file associations
+ - Added default filename for save dialog
+ - Use standard fonts
+ - Documentation menuitem caused recompile
+
+1.5
+ - Fixed Copy All function
+
+1.6
+ - Reduced size from 44k to 12k (kichik)
+ - Editbox not limited to 32k (now using richedit control)
+ - Made the log window font-size smaller.
+
+1.7
+ - Added check for warnings
+ - Added sound for sucessfull compilations
+ - Update home page and documentation menu items to Sourceforge page
+
+1.8
+ - Contents of log window are now streamed in
+ - Empty log window check (to prevent random crashes)
+
+1.9
+ - Text always scrolls to bottom (kichik)
+ - Updated link to new docs
+ - Makensisw now takes the same parameters as makensis.exe
+ - Fixed some random crashes
+ - Drag and Drop Support into the Makensisw window
+ - Updated icon to more sexy one
+ - Added Load Script option on File menu
+ - Added Search Dialog (Ctrl+F) (kichik)
+ - Added Select All (Ctrl+A), Copy (Ctrl+C), Exit (Alt+X) keys
+ - Branding text now reflects NSIS version
+ - Added some simple tool tips
+ - Added Context Menu in log window
+ - Added resize gripper
+ - Ctrl+L loads a script
+ - Added Clear Log (Ctrl+W)
+ - Browse Script (Ctrl+B) launches explorer in script directory
+ - Check for Update command
+ - Added link to the NSIS Forum under Help menu
+ - Bunch of other stuff not worth mentioning
+ - Define Symbols menu (Ctrl+D)
+
+2.0
+ - Improved user interface
+ - Define Symbols is available even if a script is not loaded
+ - Defined Symbols are saved on exit and reloaded on start
+ - Added NSIS Update menu
+ - Added toolbar for commonly used menus
+ - Made the Toolbar style flat
+ - Added option for compile & run
+ - Added compressor setting option
+ - Added support for lzma compression
+ - Added named Symbols sets.
+
+2.1
+ - Added "Cancel compilation" menu item
+
+2.2
+- Settings saved in HKCU instead of HKLM
+- Added menu accelerators to MRU list
+
+2.3
+- Escape button closes MakeNSISw
+
+2.3.1
+- Fixed broken command line parameter handling
+ 
+Copyright Information
+---------------------
+Copyright (c) 2002 Robert Rainwater
+Contributors: Justin Frankel, Fritz Elfert, Amir Szekely, Sunil Kamath, Joost Verburg
+
+This software is provided 'as-is', without any express or implied
+warranty.  In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/makensisw/Readme.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/AccessControl/AccessControl.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/AccessControl/AccessControl.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/AccessControl/AccessControl.txt	(revision 2961)
@@ -0,0 +1,253 @@
+ACCESS CONTROL PLUGIN
+---------------------
+
+Written by Mathias Hasselmann <mathias@taschenorakel.de>
+Modifications by:
+* Afrow UK <afrowuk@afrowsoft.co.uk>
+* AndersK <anders_k@users.sf.net>
+
+The AccessControl plugin for NSIS provides a set of functions related 
+Windows NT access control list (ACL) management.
+
+
+MODIFICATIONS
+-------------
+
+v1.0.8.1 - 7th July 2014 - AndersK
+* Don't require SE_RESTORE_NAME and SE_TAKE_OWNERSHIP_NAME when changing owner.
+* Fixed broken return value when trustee parsing failed
+
+v1.0.8.0 - 24th March 2014 - AndersK
+* Added basic String SID parsing in the emulated ConvertStringSidToSid (Broken in v1.0.6)
+* Fixed WinNT4 and Win95 support? (Unicode DLL will not load on Win95 but will probably load on Win98)
+* Fixed leaks from ParseSid and ConvertSidToStringSid
+* NameToSid and SidToName now pushes "error" and error details
+* Better GetCurrentUserName error handling (Still returns the problematic "error" string)
+
+v1.0.7.0 - 25th February 2012 - Afrow UK
+* Fixed DisableFileInheritance (broken in v1.0.5.0).
+
+v1.0.6.0 - 26th January 2012 - Afrow UK
+* Wrote replacements for ConvertSidToStringSid/ConvertStringSidToSid for
+  backwards compatibility with Windows NT4/ME (ANSI build only).
+* Loads RegSetKeySecurity/RegGetKeySecurity functions at run-time for
+  backwards compatibility with Windows NT4/ME (ANSI build only).
+* Removed commented out legacy code.
+
+v1.0.5.0 - 25th January 2012 - Afrow UK
+* Removed IsUserTheAdministrator.
+* Added NameToSid.
+* Major code cleanup/rewrite.
+* Proper Unicode build (with Unicode plugin API).
+* Support for 64-bit registry (SetRegView 64).
+* Functions now return "ok" on success or "error" otherwise. On "error",
+  the next item on the stack will be the error description.
+* Added version information resource.
+
+23rd January 2008 - Afrow UK
+* Added function IsUserTheAdministrator.
+* Cleaned up code. Rebuilt as pure cpp, decreasing DLL size.
+* No longer using gobal temp variable for strings.
+
+7th January 2008 - Afrow UK
+* Fixed registry instructions.
+
+8th November 2007 - Afrow UK
+* EnableInheritance/DisableInheritance names changed.
+* Functions added:
+    EnableFileInheritance
+    DisableFileInheritance
+    EnableRegKeyInheritance
+    DisableRegKeyInheritance
+    GetFileOwner
+    GetFileGroup
+    GetRegKeyOwner
+    GetRegKeyGroup
+    ClearOnFile
+    ClearOnRegKey
+    GetCurrentUserName
+    SidToName
+
+21st August 2007 - Afrow UK
+* Added /noinherit switch to prevent child objects inheriting a
+  particular permission.
+* Added EnableInheritance and DisableInheritance functions.
+* Removed code to print items in the install log.
+
+13th July 2007 - kichik
+* Return proper error codes (return value instead of GetLastError())
+
+30th June 2006 - Afrow UK
+* Error MessageBox removed.
+* Error messages are now just returned on NSIS stack.
+
+
+CONVENTIONS
+-----------
+
+<filename>
+  A valid Windows(tm) filename (ie. "C:\WINDOWS\" or
+  "\\HOSTNAME\SHARE").
+
+<rootkey>
+  The well-known root of a registry key. Following values are defined:
+
+    HKCR - HKEY_CLASSES_ROOT
+    HKLM - HKEY_LOCAL_MACHINE
+    HKCU - HKEY_CURRENT_USER
+    HKU  - HKEY_USERS
+
+<regkey>
+  The name of the registry to alter (ie. "Software\Microsoft\Windows").
+
+<trustee>
+  A valid Windows(tm) account. The account can be specified as relative 
+  account name (ie. "Administrator" or "Everyone"), a qualified account 
+    name (ie. "Domain\Administrator") or as security identifier (SID, 
+  ie. "(S-1-5-32-545)"). "BUILTIN\USERS" is also a valid account name.
+  For a list of trustee names, open up
+    Control Panel > Administrative Tools > Computer Management >
+    Local Users and Groups.
+  WinNT4 uses a emulated version of ConvertStringSidToSid and 
+  only supports the following SDDL strings: AN, AU, BA, BU, IU, SY and WD
+
+<permissions>
+  A combination of access rights (ie. "FullAccess" or 
+  "GenericRead + GenericWrite").
+  For a full list of access rights, open the AccessControl.cpp source
+  file in Notepad.
+
+/NOINHERIT
+  Ensures the specified ACEs (Access Control Entries) are not inherited
+  by child nodes (i.e for directory or registry key objects).
+
+HANDLING ERRORS
+---------------
+
+To handle errors, check the result on the stack:
+
+  AccessControl::SetOnRegKey HKLM Software\MyApp Stuart FullAccess
+  Pop $R0
+  ${If} $R0 == error
+    Pop $R0
+    DetailPrint `AccessControl error: $R0`
+  ${EndIf}
+
+FUNCTIONS
+---------
+
+GrantOnFile [/NOINHERIT] <filename> <trustee> <permissions>
+GrantOnRegKey [/NOINHERIT] <rootkey> <regkey> <trustee> <permissions>
+Pop $Result ; "ok" or "error" + error details
+
+  Makes sure that the trustee get the requested access rights on 
+  that object.
+
+---------
+
+SetOnFile [/NOINHERIT] <filename> <trustee> <permissions>
+SetOnRegKey [/NOINHERIT] <rootkey> <regkey> <trustee> <permissions>
+Pop $Result ; "ok" or "error" + error details
+
+  Replaces any existing access rights for the trustee on the object
+  with the specified access rights.
+
+---------
+
+ClearOnFile [/NOINHERIT] <filename> <trustee> <permissions>
+ClearOnRegKey [/NOINHERIT] <rootkey> <regkey> <trustee> <permissions>
+Pop $Result ; "ok" or "error" + error details
+
+  Replaces all trustees on the object with the specified trustee and
+  access rights.
+
+---------
+
+DenyOnFile [/NOINHERIT] <filename> <trustee> <permissions>
+DenyOnRegKey [/NOINHERIT] <rootkey> <regkey> <trustee> <permissions>
+Pop $Result ; "ok" or "error" + error details
+
+  Explicitly denies an access right on a object.
+
+---------
+
+RevokeOnFile [/NOINHERIT] <filename> <trustee> <permissions>
+RevokeOnRegKey [/NOINHERIT] <rootkey> <regkey> <trustee> <permissions>
+Pop $Result ; "ok" or "error" + error details
+
+  Removes a formerly defined access right for that object.
+  Note that access rights will still be revoked even if they are
+  inherited.
+
+---------
+
+SetFileOwner <filename> <trustee>
+SetRegKeyOwner <rootkey> <regkey> <trustee>
+Pop $Result ; "ok" or "error" + error details
+
+  Changes the owner of an object.
+
+---------
+
+GetFileOwner <filename>
+GetRegKeyOwner <rootkey> <regkey>
+Pop $Owner ; or "error" + error details
+
+  Gets the owner of an object.
+
+---------
+
+SetFileGroup <filename> <trustee>
+SetRegKeyGroup <rootkey> <regkey> <trustee>
+Pop $Result ; "ok" or "error" + error details
+
+  Changes the primary group of the object.
+
+---------
+
+GetFileGroup <filename>
+GetRegKeyGroup <rootkey> <regkey>
+Pop $Group ; or "error" + error details
+
+  Gets the primary group of the object.
+
+---------
+
+EnableFileInheritance <filename>
+EnableRegKeyInheritance <rootkey> <regkey>
+Pop $Result ; "ok" or "error" + error details
+
+  Enables inheritance of parent object permissions.
+
+---------
+
+DisableFileInheritance <filename>
+DisableRegKeyInheritance <rootkey> <regkey>
+Pop $Result ; "ok" or "error" + error details
+
+  Disables inheritance of parent object permissions.
+
+---------
+
+SidToName <sidstring>
+Pop $Domain ; or "error" + error details
+Pop $Username
+
+  Converts an SID on the local machine to the corresponding username and
+  domain name.
+
+---------
+
+NameToSid <username>
+Pop $SID ; or "error" + error details
+
+  Gets the SID of the specified username on the local machine.
+
+---------
+
+GetCurrentUserName
+Pop $Username ; or "error"
+
+  Gets the username of the current user running the setup.
+
+---------
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/AccessControl/AccessControl.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/License.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/License.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/License.txt	(revision 2961)
@@ -0,0 +1,10 @@
+Copyright © 2002-2015 Joost Verburg
+
+This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software.
+   If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
+2. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software.
+3. This notice may not be removed or altered from any distribution.
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/License.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/Readme.html
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/Readme.html	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/Readme.html	(revision 2961)
@@ -0,0 +1,1157 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <title>NSIS Modern User Interface - Documentation</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
+    <style type="text/css">
+        /*<![CDATA[*/body
+        {
+            padding: 10px;
+            background-color: #F0F0F0;
+            font-size: 13px;
+            font-family: Verdana, Arial, Helvetica, sans-serif;
+            font-weight: normal;
+            text-align: justify;
+        }
+        p, li
+        {
+            font-size: 13px;
+        }
+        table
+        {
+            margin: auto;
+            background-color: #FFFFFF;
+        }
+        .maintable
+        {
+            border: 2px solid #376EAB;
+        }
+        .parameter
+        {
+            font-weight: bold;
+            color: #6586AC;
+        }
+        h1
+        {
+            font-size: 20px;
+            color: #7A7272;
+            font-weight: normal;
+        }
+        h2
+        {
+            font-size: 17px;
+            font-weight: bold;
+            color: #303030;
+        }
+        h3
+        {
+            font-size: 14px;
+            font-weight: bold;
+            color: #2B5885;
+        }
+        pre
+        {
+            font-size: 13px;
+        }
+        div
+        {
+            margin: 20px;
+        }
+        div.settings
+        {
+            margin-right: 0;
+        }
+        a:link, a:visited, a:active
+        {
+            color: #294F75;
+            text-decoration: none;
+        }
+        a:hover
+        {
+            color: #182634;
+            text-decoration: underline;
+        }
+        .trigger
+        {
+            cursor: pointer;
+            cursor: hand;
+            height: 14px;
+        }
+        .toggle
+        {
+            display: none;
+        }
+        .options
+        {
+            text-align: center;
+            cursor: pointer;
+            cursor: hand;
+            color: #294F75;
+        }
+        /*]]>*/</style>
+
+    <script type="text/javascript">
+//<![CDATA[
+
+   var image_open = new Image();
+   image_open.src = "images/open.gif";
+   var image_closed = new Image();
+   image_closed.src = "images/closed.gif";
+   
+   function toggle(image, section) {
+   
+      if(document.all) {
+        if(document.all[section].style.display == "block") {
+           document.all[section].style.display = "none";
+           document.all[image].src = image_closed.src;
+        }
+        else
+        {              
+           document.all[section].style.display = "block";
+           document.all[image].src = image_open.src;
+        }
+      }
+      else
+      {
+      if(document.getElementById(section).style.display == "block") {
+         document.getElementById(section).style.display = "none";
+         document.getElementById(image).src = image_closed.src;
+         }
+      else
+         {              
+         document.getElementById(section).style.display = "block";
+         document.getElementById(image).src = image_open.src;
+         }
+      }
+   
+   }
+
+   function expandall() {
+
+     var divNodeList = document.getElementsByTagName('div'); 
+     for (i = 0; i < divNodeList.length; i++) { 
+        if(divNodeList[i].id) {
+           divNodeList[i].style.display = "block";
+           document.getElementById('trigger_' + divNodeList[i].id.substr(7)).src = "images/open.gif";
+        }
+     }
+     
+   }
+
+   function collapseall() {
+
+     var divNodeList = document.getElementsByTagName('div'); 
+     for (i = 0; i < divNodeList.length; i++) { 
+        if(divNodeList[i].id) {
+           divNodeList[i].style.display = "none";
+           document.getElementById('trigger_' + divNodeList[i].id.substr(7)).src = "images/closed.gif";
+        }
+     }
+
+   }
+
+//]]>
+    </script>
+
+</head>
+<body>
+    <table width="750" class="maintable" cellspacing="0" cellpadding="0" align="center">
+        <tr>
+            <td>
+                <img src="images/header.gif" width="750" height="80" alt="" />
+                <p class="options">
+                    <a onclick="expandall()">[Expand all]</a>&nbsp; &nbsp;<a onclick="collapseall()">[Collapse
+                        all]</a></p>
+                <div>
+                    <h1>
+                        Introduction</h1>
+                    <div>
+                        <p>
+                            The Modern UI provides a user interface for NSIS installers with a modern wizard
+                            style, similar to the wizards of recent Windows versions. It is based on the basic
+                            user interface that is provided by the NSIS compiler itself and extends it with
+                            more interface features and pages.</p>
+                        <p>
+                            All standard NSIS pages (such as the pages to select components and the installation
+                            folder) are supported as well as a number of additional pages. The welcome page
+                            allows you to provide an introduction to the installation process, while the finish
+                            page provides a way to let the user decide what steps should be performed after
+                            the setup wizard is closed (for example, whether the application should be started
+                            immediately). A finish page can also be used to ask for a system restart is necessary.</p>
+                        <h3>
+                            <img class="trigger" alt="Open/Close section" id="trigger_scr" src="images/closed.gif"
+                                onclick="toggle('trigger_scr', 'toggle_scr');" />
+                            Screenshots</h3>
+                        <div class="toggle" id="toggle_scr">
+                            <p>
+                                <img src="images/screen1.png" width="503" height="393" alt="" /></p>
+                            <p>
+                                <img src="images/screen2.png" width="503" height="393" alt="" /></p>
+                        </div>
+                    </div>
+                    <h1>
+                        Modern UI 2.0</h1>
+                    <div>
+                        <p>
+                            This new version makes it easier to customize pages, because the same method can
+                            be used to&nbsp; change standard NSIS pages as well as additional pages provided
+                            by the Modern UI. It is now also possible for other NSIS plug-ins to add new pages
+                            to the Modern UI. You can expect to see examples of this soon.</p>
+                        <p>
+                            The welcome and finish page are no longer implemented using InstallOptions. Instead,
+                            the new nsDialogs plug-in is used. nsDialogs allows you to create custom pages or
+                            customize existing pages directly from the script.</p>
+                        <p>
+                            To upgrade a Modern UI 1.8 script, you should:</p>
+                        <ul>
+                            <li>Insert the MUI2.nsh header file instead of MUI.nsh.</li>
+                            <li>The macros for InstallOptions have been moved to a separate header file unrelated
+                                to the Modern UI. If you are still using InstallOptions for custom pages, insert
+                                InstallOptions.nsh and use the INSTALLOPTIONS_* macros instead of the MUI_INSTALLOPTIONS_*
+                                macros. The macros themselves have remained the same.</li>
+                            <li>Rewrite customization code for the Modern UI 1.8 welcome and finish pages in which
+                                the InstallOptions INI file is used. nsDialogs commands should be used instead.</li>
+                            <li>Use the standard NSIS method to escape special characters in all texts. For example,
+                                $\r$\n creates newline.</li>
+                        </ul>
+                    </div>
+                    <h1>
+                        Script header</h1>
+                    <div>
+                        <p>
+                            The settings for the Modern UI should be inserted in the header of the script file.
+                            It&#39;s important to follow the same order as the items below.&nbsp;For example,
+                            interface settings should be defined before you insert pages, because the pages
+                            depend on the interface configuration. It may be useful to look at the <a href="#examples">
+                                example scripts</a> too see how this is done in actual script files.</p>
+                        <p>
+                            Parameters are given in this format: <span class="parameter">required (option1 | option2)
+                                [optional]</span></p>
+                    </div>
+                    <h2>
+                        1. Header file</h2>
+                    <div>
+                        <p>
+                            First of all, add this line to the top of script to include the Modern UI:</p>
+                        <pre>
+!include MUI2.nsh
+</pre>
+                    </div>
+                    <h2>
+                        2. Interface configuration</h2>
+                    <div>
+                        <p>
+                            Then, you may want to use interface settings to change the look and feel of the
+                            installer. These settings apply to all pages.<p>
+                                The interface settings provided by the NSIS compiler itself (such as LicenseText,
+                                Icon, CheckBitmap, InstallColors) should not be used in Modern UI scripts. The Modern
+                                UI provides equalivent or extended versions of these settings.<p>
+                                    Examples:</p>
+                                <pre>
+!define MUI_COMPONENTSPAGE_SMALLDESC ;No value
+!define MUI_UI &quot;myUI.exe&quot; ;Value
+!define MUI_INSTFILESPAGE_COLORS &quot;FFFFFF 000000&quot; ;Two colors
+</pre>
+                                <h3>
+                                    <img class="trigger" alt="Open/Close section" id="trigger_in" src="images/closed.gif"
+                                        onclick="toggle('trigger_in', 'toggle_in');" />
+                                    Interface settings</h3>
+                                <div class="toggle" id="toggle_in">
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_ingen" src="images/closed.gif"
+                                            onclick="toggle('trigger_ingen', 'toggle_ingen');" />
+                                        Page header</h3>
+                                    <div class="toggle" id="toggle_ingen">
+                                        <p>
+                                            <strong>MUI_ICON</strong> <span class="parameter">icon_file</span><br />
+                                            The icon for the installer.<br />
+                                            <em>Default: ${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico</em></p>
+                                        <p>
+                                            <strong>MUI_UNICON</strong> <span class="parameter">icon_file</span><br />
+                                            The icon for the uninstaller.<br />
+                                            <em>Default: ${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico</em></p>
+                                        <p>
+                                            <strong>MUI_HEADERIMAGE</strong><br />
+                                            Display an image on the header of the page.</p>
+                                        <div class="settings">
+                                            <p>
+                                                <strong>MUI_HEADERIMAGE_BITMAP</strong> <span class="parameter">bmp_file</span><br />
+                                                Bitmap image to display on the header of installers pages (recommended size: 150x57
+                                                pixels).<br />
+                                                <em>Default: ${NSISDIR}\Contrib\Graphics\Header\nsis.bmp</em></p>
+                                            <div class="settings">
+                                                <p>
+                                                    <strong>MUI_HEADERIMAGE_BITMAP_NOSTRETCH</strong><br />
+                                                    Do not stretch the installer header bitmap to fit the size of the field. Use this
+                                                    option only if you have an image that does not use the whole space. If you have
+                                                    a full size bitmap that fits exactly, you should not use this option because the
+                                                    size of the field will be different if the user has a custom DPI setting.</p>
+                                                <p>
+                                                    <strong>MUI_HEADERIMAGE_BITMAP_RTL</strong> <span class="parameter">bmp_file</span><br />
+                                                    Bitmap image to display on the header of installers pages when using a RTL language
+                                                    (recommended size: 150x57 pixels).<br />
+                                                    <em>Default: Non-RTL bitmap</em></p>
+                                                <div class="settings">
+                                                    <p>
+                                                        <strong>MUI_HEADERIMAGE_BITMAP_RTL_NOSTRETCH</strong><br />
+                                                        Do not stretch the installer header bitmap when using a RTL language to fit the
+                                                        size of the field. Use this option only if you have an image that does not use the
+                                                        whole space. If you have a full size bitmap that fits exactly, you should not use
+                                                        this option because the size of the field will be different if the user has a custom
+                                                        DPI setting.</p>
+                                                </div>
+                                            </div>
+                                            <p>
+                                                <strong>MUI_HEADERIMAGE_UNBITMAP</strong> <span class="parameter">bmp_file</span><br />
+                                                Bitmap image to display on the header of uninstaller pages (recommended size: 150x57
+                                                pixels).<br />
+                                                <em>Default: Installer header bitmap</em></p>
+                                            <div class="settings">
+                                                <p>
+                                                    <strong>MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH</strong><br />
+                                                    Do not stretch the uninstaller header bitmap to fit the size of the field. Use this
+                                                    option only if you have an image that does not use the whole space. If you have
+                                                    a full size bitmap that fits exactly, you should not use this option because the
+                                                    size of the field will be different if the user has a custom DPI setting.</p>
+                                                <p>
+                                                    <strong>MUI_HEADERIMAGE_UNBITMAP_RTL</strong> <span class="parameter">bmp_file</span><br />
+                                                    Bitmap image to display on the header of uninstallers pages when using a RTL language
+                                                    (recommended size: 150x57 pixels).<br />
+                                                    <em>Default: Installer RTL header bitmap</em></p>
+                                                <div class="settings">
+                                                    <p>
+                                                        <strong>MUI_HEADERIMAGE_UNBITMAP_RTL_NOSTRETCH</strong><br />
+                                                        Do not stretch the uninstaller header bitmap when using a RTL language to fit the
+                                                        size of the field. Use this option only if you have an image that does not use the
+                                                        whole space. If you have a full size bitmap that fits exactly, you should not use
+                                                        this option because the size of the field will be different if the user has a custom
+                                                        DPI setting.</p>
+                                                </div>
+                                            </div>
+                                            <p>
+                                                <strong>MUI_HEADERIMAGE_RIGHT</strong><br />
+                                                Display the header image on the right side instead of the left side (when using
+                                                a RTL language it will be displayed on the left side instead of the right side).</p>
+                                        </div>
+                                        <p>
+                                            <strong>MUI_BGCOLOR</strong> <span class="parameter">(color: RRGGBBR hexadecimal)</span><br />
+                                            Background color for the header, the Welcome page and the Finish page.<br />
+                                            <em>Default: FFFFFF</em></p>
+                                        <p>
+                                            <strong>MUI_HEADER_TRANSPARENT_TEXT</strong><br />
+                                            Set a transparent background for the header's label controls. Useful for custom
+                                            user interfaces that set a bigger header image.</p>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_inres" src="images/closed.gif"
+                                            onclick="toggle('trigger_inres', 'toggle_inres');" />
+                                        Interface resources</h3>
+                                    <div class="toggle" id="toggle_inres">
+                                        <p>
+                                            <strong>MUI_UI</strong> <span class="parameter">ui_file</span><br />
+                                            The interface file with the dialog resources. Change this if you have made your
+                                            own customized UI.<br />
+                                            <em>Default: ${NSISDIR}\Contrib\UIs\modern.exe</em></p>
+                                        <p>
+                                            <strong>MUI_UI_HEADERIMAGE</strong> <span class="parameter">ui_file</span><br />
+                                            The interface files with the dialog resource IDD_INST that contains a bitmap control
+                                            and space for the header bitmap.<br />
+                                            <em>Default: ${NSISDIR}\Contrib\UIs\modern_headerbmp.exe</em></p>
+                                        <p>
+                                            <strong>MUI_UI_HEADERIMAGE_RIGHT</strong> <span class="parameter">ui_file</span><br />
+                                            The interface files with the dialog resource IDD_INST that contains a bitmap control
+                                            and space for the header bitmap on the right side.<br />
+                                            <em>Default: ${NSISDIR}\Contrib\UIs\modern_headerbmpr.exe</em></p>
+                                        <p>
+                                            <strong>MUI_UI_COMPONENTSPAGE_SMALLDESC</strong> <span class="parameter">ui_file</span><br />
+                                            The interface files with a customized dialog resource IDD_SELCOM with a small description
+                                            area.<br />
+                                            <em>Default: ${NSISDIR}\Contrib\UIs\modern_smalldesc.exe</em></p>
+                                        <p>
+                                            <strong>MUI_UI_COMPONENTSPAGE_NODESC</strong> <span class="parameter">ui_file</span><br />
+                                            The interface files with a customized dialog resource IDD_SELCOM without a description
+                                            area.<br />
+                                            <em>Default: ${NSISDIR}\Contrib\UIs\modern_nodesc.exe</em></p>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_inwf" src="images/closed.gif"
+                                            onclick="toggle('trigger_inwf', 'toggle_inwf');" />
+                                        Installer welcome/finish page</h3>
+                                    <div class="toggle" id="toggle_inwf">
+                                        <p>
+                                            <strong>MUI_WELCOMEFINISHPAGE_BITMAP</strong> <span class="parameter">bmp_file</span><br />
+                                            Bitmap for the Welcome page and the Finish page (recommended size: 164x314 pixels).<br />
+                                            <em>Default: ${NSISDIR}\Contrib\Graphics\Wizard\win.bmp</em></p>
+                                        <div class="settings">
+                                            <p>
+                                                <strong>MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH</strong><br />
+                                                Do not stretch the bitmap for the Welcome and Finish page to fit the size of the
+                                                field. Use this option only if you have an image that does not use the whole space.
+                                                If you have a full size bitmap that fits exactly, you should not use this option
+                                                because the size of the field will be different if the user has a custom DPI setting.</p>
+                                        </div>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_inuwf" src="images/closed.gif"
+                                            onclick="toggle('trigger_inuwf', 'toggle_inuwf');" />
+                                        Uninstaller welcome/finish page</h3>
+                                    <div class="toggle" id="toggle_inuwf">
+                                        <p>
+                                            <strong>MUI_UNWELCOMEFINISHPAGE_BITMAP</strong> <span class="parameter">bmp_file</span><br />
+                                            Bitmap for the Welcome page and the Finish page (recommended size: 164x314 pixels).<br />
+                                            <em>Default: ${NSISDIR}\Contrib\Graphics\Wizard\win.bmp</em></p>
+                                        <div class="settings">
+                                            <p>
+                                                <strong>MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH</strong><br />
+                                                Do not stretch the bitmap for the Welcome and Finish page to fit the size of the
+                                                field. Use this option only if you have an image that does not use the whole space.
+                                                If you have a full size bitmap that fits exactly, you should not use this option
+                                                because the size of the field will be different if the user has a custom DPI setting.</p>
+                                        </div>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_inl" src="images/closed.gif"
+                                            onclick="toggle('trigger_inl', 'toggle_inl');" />
+                                        License page</h3>
+                                    <div class="toggle" id="toggle_inl">
+                                        <p>
+                                            <strong>MUI_LICENSEPAGE_BGCOLOR</strong> <span class="parameter">(/windows | /grey |
+                                                (color: RRGGBB hexadecimal))</span><br />
+                                            The background color for the license textbox. Use /windows for the Windows text
+                                            background color (usually white). Use the /grey for the window background color
+                                            (usually grey).<br />
+                                            <em>Default: /windows</em></p>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_inc" src="images/closed.gif"
+                                            onclick="toggle('trigger_inc', 'toggle_inc');" />
+                                        Components page</h3>
+                                    <div class="toggle" id="toggle_inc">
+                                        <p>
+                                            <strong>MUI_COMPONENTSPAGE_CHECKBITMAP</strong> <span class="parameter">bitmap_file</span><br />
+                                            The bitmap with images for the checks of the component select treeview.<br />
+                                            <em>Default: ${NSISDIR}\Contrib\Graphics\Checks\modern.bmp</em></p>
+                                        <p>
+                                            <strong>MUI_COMPONENTSPAGE_SMALLDESC</strong><br />
+                                            A small description area on the bottom of the page. Use this layout if you have
+                                            a lot of sections and don't need large descriptions.</p>
+                                        <p>
+                                            <strong>MUI_COMPONENTSPAGE_NODESC</strong><br />
+                                            No description area.</p>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_ind" src="images/closed.gif"
+                                            onclick="toggle('trigger_ind', 'toggle_ind');" />
+                                        Directory page</h3>
+                                    <div class="toggle" id="toggle_ind">
+                                        <p>
+                                            <strong>MUI_DIRECTORYPAGE_BGCOLOR</strong> <span class="parameter">(color: RRGGBB hexadecimal)</span><br />
+                                            The background color for the directory textbox.</p>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_ins" src="images/closed.gif"
+                                            onclick="toggle('trigger_ins', 'toggle_ins');" />
+                                        Start Menu folder page</h3>
+                                    <div class="toggle" id="toggle_ins">
+                                        <p>
+                                            <strong>MUI_STARTMENUPAGE_BGCOLOR</strong> <span class="parameter">(color: RRGGBB hexadecimal)</span><br />
+                                            The background color for the startmenu directory list and textbox.</p>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_ini" src="images/closed.gif"
+                                            onclick="toggle('trigger_ini', 'toggle_ini');" />
+                                        Installation page</h3>
+                                    <div class="toggle" id="toggle_ini">
+                                        <p>
+                                            <strong>MUI_INSTFILESPAGE_COLORS</strong> <span class="parameter">(/windows | &quot;(foreground
+                                                color: RRGGBB hexadecimal) (background color: RRGGBB hexadecimal)&quot;)</span><br />
+                                            The colors of the details screen. Use /windows for the default Windows colors.<br />
+                                            <em>Default: /windows</em></p>
+                                        <p>
+                                            <strong>MUI_INSTFILESPAGE_PROGRESSBAR</strong> <span class="parameter">(&quot;&quot;
+                                                | colored | smooth)</span><br />
+                                            The style of the progress bar. Colored makes it use the MUI_INSTALLCOLORS.<br />
+                                            <em>Default: smooth</em></p>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_inf" src="images/closed.gif"
+                                            onclick="toggle('trigger_inf', 'toggle_inf');" />
+                                        Installer finish page</h3>
+                                    <div class="toggle" id="toggle_inf">
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_NOAUTOCLOSE</strong><br />
+                                            Do not automatically jump to the finish page, to allow the user to check the install
+                                            log.</p>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_uinf" src="images/closed.gif"
+                                            onclick="toggle('trigger_uinf', 'toggle_uinf');" />
+                                        Uninstaller finish page</h3>
+                                    <div class="toggle" id="toggle_uinf">
+                                        <p>
+                                            <strong>MUI_UNFINISHPAGE_NOAUTOCLOSE</strong><br />
+                                            Do not automatically jump to the finish page, to allow the user to check the uninstall
+                                            log.</p>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_inaw" src="images/closed.gif"
+                                            onclick="toggle('trigger_inaw', 'toggle_inaw');" />
+                                        Abort warning</h3>
+                                    <div class="toggle" id="toggle_inaw">
+                                        <p>
+                                            <strong>MUI_ABORTWARNING</strong><br />
+                                            Show a message box with a warning when the user wants to close the installer.</p>
+                                        <div class="settings">
+                                            <p>
+                                                <strong>MUI_ABORTWARNING_TEXT</strong> <span class="parameter">text</span><br />
+                                                Text to display on the abort warning message box.</p>
+                                            <p>
+                                                <strong>MUI_ABORTWARNING_CANCEL_DEFAULT</strong><br />
+                                                Set the Cancel button as the default button on the message box.</p>
+                                        </div>
+                                    </div>
+                                    <h3>
+                                        <img class="trigger" alt="Open/Close section" id="trigger_inuaw" src="images/closed.gif"
+                                            onclick="toggle('trigger_inuaw', 'toggle_inuaw');" />
+                                        Uninstaller abort warning</h3>
+                                    <div class="toggle" id="toggle_inuaw">
+                                        <p>
+                                            <strong>MUI_UNABORTWARNING</strong><br />
+                                            Show a message box with a warning when the user wants to close the uninstaller.</p>
+                                        <div class="settings">
+                                            <p>
+                                                <strong>MUI_UNABORTWARNING_TEXT</strong> <span class="parameter">text</span><br />
+                                                Text to display on the abort warning message box.</p>
+                                            <p>
+                                                <strong>MUI_UNABORTWARNING_CANCEL_DEFAULT</strong><br />
+                                                Set the Cancel button as the default button on the message box.</p>
+                                        </div>
+                                    </div>
+                                </div>
+                    </div>
+                    <h2>
+                        3. Pages</h2>
+                    <div>
+                        <p>
+                            Insert the following macros to set the pages you want to use. The pages will appear
+                            in the order in which you insert them in the script. You can also insert custom
+                            Page commands between the macros to add custom pages.</p>
+                        <p>
+                            You can add multiple pages of certain types (for example, if you want the user to
+                            specify multiple folders).</p>
+                        <p>
+                            Examples:</p>
+                        <pre>
+!insertmacro MUI_PAGE_LICENSE &quot;License.rtf&quot;
+!insertmacro MUI_PAGE_COMPONENTS
+
+Var StartMenuFolder
+!insertmacro MUI_PAGE_STARTMENU &quot;Application&quot; $StartMenuFolder
+</pre>
+                        <p>
+                            You will need the page ID for the Start Menu folder page when using the Start Menu
+                            folder macros. The folder will be stored in the specified variable.</p>
+                        <p>
+                            <strong>Installer pages</strong><br />
+                            MUI_PAGE_WELCOME<br />
+                            MUI_PAGE_LICENSE <span class="parameter">textfile</span><br />
+                            MUI_PAGE_COMPONENTS<br />
+                            MUI_PAGE_DIRECTORY<br />
+                            MUI_PAGE_STARTMENU <span class="parameter">pageid variable</span><br />
+                            MUI_PAGE_INSTFILES<br />
+                            MUI_PAGE_FINISH</p>
+                        <p>
+                            <strong>Uninstaller pages</strong><br />
+                            MUI_UNPAGE_WELCOME<br />
+                            MUI_UNPAGE_CONFIRM<br />
+                            MUI_UNPAGE_LICENSE <span class="parameter">textfile</span><br />
+                            MUI_UNPAGE_COMPONENTS<br />
+                            MUI_UNPAGE_DIRECTORY<br />
+                            MUI_UNPAGE_INSTFILES<br />
+                            MUI_UNPAGE_FINISH</p>
+                        <h3>
+                            <img class="trigger" alt="Open/Close section" id="trigger_pg" src="images/closed.gif"
+                                onclick="toggle('trigger_pg', 'toggle_pg');" />
+                            Page settings</h3>
+                        <div class="toggle" id="toggle_pg">
+                            <p>
+                                Page settings apply to a single page and should be set before inserting a page macro.
+                                The same settings can be used for installer and uninstaller pages. You have to repeat
+                                the setting if you want it to apply to multiple pages. Example:</p>
+                            <pre>
+;Add a directory page to let the user specify a plug-ins folder
+;Store the folder in $PluginsFolder
+
+Var PLUGINS_FOLDER
+!define MUI_DIRECTORYPAGE_VARIABLE $PluginsFolder
+!insertmacro MUI_PAGE_DIRECTORY
+</pre>
+                            <p>
+                                <p>
+                                    All standard texts in the user interface are loaded from language files, which are
+                                    available for all languages supported by NSIS. So you only need to define these
+                                    texts if you want to change the default.</p>
+                                <p>
+                                    If the parameter is a text that should be different for each language, define a
+                                    language string using LangString and use $(LangStringName) as value. For a license
+                                    text in multiple languages, LicenseLangString can be used. Refer the NSIS Users
+                                    Manual for more information about installers with multiple languages.</p>
+                                <p>
+                                    In all text settings, the doublequote character (&quot;) should be escaped in the
+                                    following form: $\&quot;</p>
+                                <h3>
+                                    <img class="trigger" alt="Open/Close section" id="trigger_pgg" src="images/closed.gif"
+                                        onclick="toggle('trigger_pgg', 'toggle_pgg');" />
+                                    General page settings</h3>
+                                <div class="toggle" id="toggle_pgg">
+                                    <p>
+                                        <strong>MUI_PAGE_HEADER_TEXT</strong> <span class="parameter">text</span><br />
+                                        Text to display on the header of the page.</p>
+                                    <p>
+                                        <strong>MUI_PAGE_HEADER_SUBTEXT</strong> <span class="parameter">text</span><br />
+                                        Subtext to display on the header of the page.</p>
+                                </div>
+                                <h3>
+                                    <img class="trigger" alt="Open/Close section" id="trigger_pgw" src="images/closed.gif"
+                                        onclick="toggle('trigger_pgw', 'toggle_pgw');" />
+                                    Welcome page settings</h3>
+                                <div class="toggle" id="toggle_pgw">
+                                    <p>
+                                        <strong>MUI_WELCOMEPAGE_TITLE</strong> <span class="parameter">title</span><br />
+                                        Title to display on the top of the page.</p>
+                                    <p>
+                                        <strong>MUI_WELCOMEPAGE_TITLE_3LINES</strong><br />
+                                        Extra space for the title area.</p>
+                                    <p>
+                                        <strong>MUI_WELCOMEPAGE_TEXT</strong> <span class="parameter">text</span><br />
+                                        Text to display on the page.</p>
+                                </div>
+                                <h3>
+                                    <img class="trigger" alt="Open/Close section" id="trigger_pgl" src="images/closed.gif"
+                                        onclick="toggle('trigger_pgl', 'toggle_pgl');" />
+                                    License page settings</h3>
+                                <div class="toggle" id="toggle_pgl">
+                                    <p>
+                                        <strong>MUI_LICENSEPAGE_TEXT_TOP</strong> <span class="parameter">text</span><br />
+                                        Text to display on the top of the page.</p>
+                                    <p>
+                                        <strong>MUI_LICENSEPAGE_TEXT_BOTTOM</strong> <span class="parameter">text</span><br />
+                                        Text to display on the bottom of the page.</p>
+                                    <p>
+                                        <strong>MUI_LICENSEPAGE_BUTTON</strong> <span class="parameter">button_text</span><br />
+                                        Text to display on the 'I Agree' button.</p>
+                                    <p>
+                                        <strong>MUI_LICENSEPAGE_CHECKBOX</strong><br />
+                                        Display a checkbox the user has to check to agree with the license terms.</p>
+                                    <div class="settings">
+                                        <p>
+                                            <strong>MUI_LICENSEPAGE_CHECKBOX_TEXT</strong> <span class="parameter">text</span><br />
+                                            Text to display next to the checkbox to agree with the license terms.</p>
+                                    </div>
+                                    <p>
+                                        <strong>MUI_LICENSEPAGE_RADIOBUTTONS</strong><br />
+                                        Display two radio buttons to allow the user to choose between accepting the license
+                                        terms or not.</p>
+                                    <div class="settings">
+                                        <p>
+                                            <strong>MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT</strong> <span class="parameter">text</span><br />
+                                            Text to display next to the checkbox to accept the license terms.</p>
+                                        <p>
+                                            <strong>MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE</strong> <span class="parameter">text</span><br />
+                                            Text to display next to the checkbox to decline the license terms.</p>
+                                    </div>
+                                </div>
+                                <h3>
+                                    <img class="trigger" alt="Open/Close section" id="trigger_pgc" src="images/closed.gif"
+                                        onclick="toggle('trigger_pgc', 'toggle_pgc');" />
+                                    Components page settings</h3>
+                                <div class="toggle" id="toggle_pgc">
+                                    <p>
+                                        <strong>MUI_COMPONENTSPAGE_TEXT_TOP</strong> <span class="parameter">text</span><br />
+                                        Text to display on the top of the page.</p>
+                                    <p>
+                                        <strong>MUI_COMPONENTSPAGE_TEXT_COMPLIST</strong> <span class="parameter">text</span><br />
+                                        Text to display on next to the components list.</p>
+                                    <p>
+                                        <strong>MUI_COMPONENTSPAGE_TEXT_INSTTYPE</strong> <span class="parameter">text</span><br />
+                                        Text to display on next to the installation type combo box.</p>
+                                    <p>
+                                        <strong>MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE</strong> <span class="parameter">text</span><br />
+                                        Text to display on the of the top of the description box.</p>
+                                    <p>
+                                        <strong>MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO</strong> <span class="parameter">text</span><br />
+                                        Text to display inside the description box when no section is selected.</p>
+                                </div>
+                                <h3>
+                                    <img class="trigger" alt="Open/Close section" id="trigger_pgd" src="images/closed.gif"
+                                        onclick="toggle('trigger_pgd', 'toggle_pgd');" />
+                                    Directory page settings</h3>
+                                <div class="toggle" id="toggle_pgd">
+                                    <p>
+                                        <strong>MUI_DIRECTORYPAGE_TEXT_TOP</strong> <span class="parameter">text</span><br />
+                                        Text to display on top of the page.</p>
+                                    <p>
+                                        <strong>MUI_DIRECTORYPAGE_TEXT_DESTINATION</strong> <span class="parameter">text</span><br />
+                                        Text to display on the destination folder frame.</p>
+                                    <p>
+                                        <strong>MUI_DIRECTORYPAGE_VARIABLE</strong> <span class="parameter">variable</span><br />
+                                        Variable in which to store the selected folder.<br />
+                                        <em>Default: $INSTDIR</em></p>
+                                    <p>
+                                        <strong>MUI_DIRECTORYPAGE_VERIFYONLEAVE</strong><br />
+                                        Does not disable the Next button when a folder is invalid but allows you to use
+                                        GetInstDirError in the leave function to handle an invalid folder.</p>
+                                </div>
+                                <h3>
+                                    <img class="trigger" alt="Open/Close section" id="trigger_pgs" src="images/closed.gif"
+                                        onclick="toggle('trigger_pgs', 'toggle_pgs');" />
+                                    Start Menu folder page settings</h3>
+                                <div class="toggle" id="toggle_pgs">
+                                    <p>
+                                        <strong>MUI_STARTMENUPAGE_TEXT_TOP</strong> <span class="parameter">text</span><br />
+                                        Text to display on the top of the page.</p>
+                                    <p>
+                                        <strong>MUI_STARTMENUPAGE_TEXT_CHECKBOX</strong> <span class="parameter">text</span><br />
+                                        Text to display next to the checkbox to disable the Start Menu folder creation.</p>
+                                    <p>
+                                        <strong>MUI_STARTMENUPAGE_DEFAULTFOLDER</strong> <span class="parameter">folder</span><br />
+                                        The default Start Menu Folder.</p>
+                                    <p>
+                                        <strong>MUI_STARTMENUPAGE_NODISABLE</strong><br />
+                                        Do not display the checkbox to disable the creation of Start Menu shortcuts.</p>
+                                    <p>
+                                        <strong>MUI_STARTMENUPAGE_REGISTRY_ROOT</strong> <span class="parameter">root</span><br />
+                                        <strong>MUI_STARTMENUPAGE_REGISTRY_KEY</strong> <span class="parameter">key</span><br />
+                                        <strong>MUI_STARTMENUPAGE_REGISTRY_VALUENAME</strong> <span class="parameter">value_name</span><br />
+                                        The registry key to store the Start Menu folder. The page will use it to remember
+                                        the users preference. You should also use for the uninstaller to remove the Start
+                                        Menu folders. Don't forget to remove this key during uninstallation.</p>
+                                    <p>
+                                        For the uninstaller, use the MUI_STARTMENU_GETFOLDER macro to get the Start Menu
+                                        folder:</p>
+                                    <pre>
+!insertmacro MUI_STARTMENU_GETFOLDER page_id $R0
+  Delete &quot;$SMPROGRAMS\$R0\Your Shortcut.lnk&quot;
+</pre>
+                                </div>
+                                <h3>
+                                    <img class="trigger" alt="Open/Close section" id="trigger_pgi" src="images/closed.gif"
+                                        onclick="toggle('trigger_pgi', 'toggle_pgi');" />
+                                    Installation page settings</h3>
+                                <div class="toggle" id="toggle_pgi">
+                                    <p>
+                                        <strong>MUI_INSTFILESPAGE_FINISHHEADER_TEXT</strong> <span class="parameter">text</span><br />
+                                        Text to display on the header of the installation page when the installation has
+                                        been completed (won't be displayed when using a Finish page without MUI_(UN)FINISHPAGE_NOAUTOCLOSE).</p>
+                                    <p>
+                                        <strong>MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT</strong> <span class="parameter">text</span><br />
+                                        Subtext to display on the header of the installation page when the installation
+                                        has been completed (won't be displayed when using a Finish page without MUI_(UN)FINISHPAGE_NOAUTOCLOSE).</p>
+                                    <p>
+                                        <strong>MUI_INSTFILESPAGE_ABORTHEADER_TEXT</strong> <span class="parameter">text</span><br />
+                                        Text to display on the header of the installation page when the installation has
+                                        been aborted.</p>
+                                    <p>
+                                        <strong>MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT</strong> <span class="parameter">text</span><br />
+                                        Subext to display on the header of the installation page when the installation has
+                                        been aborted.</p>
+                                </div>
+                                <h3>
+                                    <img class="trigger" alt="Open/Close section" id="trigger_pgf" src="images/closed.gif"
+                                        onclick="toggle('trigger_pgf', 'toggle_pgf');" />
+                                    Finish page settings</h3>
+                                <div class="toggle" id="toggle_pgf">
+                                    <p>
+                                        <strong>MUI_FINISHPAGE_TITLE</strong> <span class="parameter">title</span><br />
+                                        Title to display on the top of the page.</p>
+                                    <p>
+                                        <strong>MUI_FINISHPAGE_TITLE_3LINES</strong><br />
+                                        Extra space for the title area.</p>
+                                    <p>
+                                        <strong>MUI_FINISHPAGE_TEXT</strong> <span class="parameter">text</span><br />
+                                        Text to display on the page.</p>
+                                    <p>
+                                        <strong>MUI_FINISHPAGE_TEXT_LARGE</strong><br />
+                                        Extra space for the text area (if using checkboxes).</p>
+                                    <p>
+                                        <strong>MUI_FINISHPAGE_BUTTON</strong> <span class="parameter">text</span><br />
+                                        Text to display on the Finish button.</p>
+                                    <p>
+                                        <strong>MUI_FINISHPAGE_CANCEL_ENABLED</strong><br />
+                                        Enable the Cancel button so the user can skip any options displayed on the finish
+                                        page.</p>
+                                    <p>
+                                        <strong>MUI_FINISHPAGE_TEXT_REBOOT</strong> <span class="parameter">text</span><br />
+                                        Text to display on the finish page when asking for a system reboot.</p>
+                                    <p>
+                                        <strong>MUI_FINISHPAGE_TEXT_REBOOTNOW</strong> <span class="parameter">text</span><br />
+                                        Text to display next to the 'Reboot now' option button.</p>
+                                    <p>
+                                        <strong>MUI_FINISHPAGE_TEXT_REBOOTLATER</strong> <span class="parameter">text</span><br />
+                                        Text to display next to the 'Reboot later' option button.</p>
+                                    <p>
+                                        <strong>MUI_FINISHPAGE_REBOOTLATER_DEFAULT</strong><br />
+                                        Sets the 'Reboot later' option as the default option.</p>
+                                    <p>
+                                        <strong>MUI_FINISHPAGE_RUN</strong> <span class="parameter">exe_file</span><br />
+                                        Application which the user can select to run using a checkbox. You don't need to
+                                        put quotes around the filename when it contains spaces.</p>
+                                    <div class="settings">
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_RUN_TEXT</strong> <span class="parameter">text</span><br />
+                                            Texts to display next to the 'Run program' checkbox.</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_RUN_PARAMETERS</strong> <span class="parameter">parameters</span><br />
+                                            Parameters for the application to run. Don't forget to escape double quotes in the
+                                            value (use $\&quot;).</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_RUN_NOTCHECKED</strong><br />
+                                            Do not check the 'Run program' checkbox by default</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_RUN_FUNCTION</strong> <span class="parameter">function</span><br />
+                                            Call a function instead of executing an application (define MUI_FINISHPAGE_RUN without
+                                            parameters). You can use the function to execute multiple applications or you can
+                                            change the checkbox name and use it for other things.</p>
+                                    </div>
+                                    <p>
+                                        <strong>MUI_FINISHPAGE_SHOWREADME</strong> <span class="parameter">file/url</span><br />
+                                        File or website which the user can select to view using a checkbox. You don't need
+                                        to put quotes around the filename when it contains spaces.</p>
+                                    <div class="settings">
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_SHOWREADME_TEXT</strong> <span class="parameter">text</span><br />
+                                            Texts to display next to the 'Show Readme' checkbox.</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_SHOWREADME_NOTCHECKED</strong><br />
+                                            Do not check the 'Show Readme' checkbox by default</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_SHOWREADME_FUNCTION</strong> <span class="parameter">function</span><br />
+                                            Call a function instead of showing a file (define MUI_FINISHPAGE_SHOWREADME without
+                                            parameters). You can use the function to show multiple files or you can change the
+                                            checkbox name and use it for other things.</p>
+                                    </div>
+                                    <p>
+                                        <strong>MUI_FINISHPAGE_LINK</strong> <span class="parameter">link_text</span><br />
+                                        Text for a link on the which the user can click to view a website or file.</p>
+                                    <div class="settings">
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_LINK_LOCATION</strong> <span class="parameter">file/url</span><br />
+                                            Website or file which the user can select to view using the link. You don't need
+                                            to put quotes around the filename when it contains spaces.</p>
+                                        <p>
+                                            <strong>MUI_FINISHPAGE_LINK_COLOR</strong> <span class="parameter">(color: RRGGBB hexadecimal)</span><br />
+                                            Text color for the link on the Finish page.<br />
+                                            <em>Default: 000080</em></p>
+                                    </div>
+                                    <p>
+                                        <strong>MUI_FINISHPAGE_NOREBOOTSUPPORT</strong><br />
+                                        Disables support for the page that allows the user to reboot the system. Define
+                                        this option to save some space if you are not using the /REBOOTOK flag or SetRebootFlag.</p>
+                                </div>
+                                <h3>
+                                    <img class="trigger" alt="Open/Close section" id="trigger_pgu" src="images/closed.gif"
+                                        onclick="toggle('trigger_pgu', 'toggle_pgu');" />
+                                    Uninstall confirm page settings</h3>
+                                <div class="toggle" id="toggle_pgu">
+                                    <p>
+                                        <strong>MUI_UNCONFIRMPAGE_TEXT_TOP</strong> <span class="parameter">text</span><br />
+                                        Text to display on the top of the page.</p>
+                                    <p>
+                                        <strong>MUI_UNCONFIRMPAGE_TEXT_LOCATION</strong> <span class="parameter">text</span><br />
+                                        Text to display next to the uninstall location text box.</p>
+                                </div>
+                        </div>
+                    </div>
+                    <h2>
+                        4. Language files</h2>
+                    <div>
+                        <p>
+                            Insert the Modern UI language files for the languages to want to include.</p>
+                        <pre>
+!insertmacro MUI_LANGUAGE &quot;English&quot;
+</pre>
+                        <p>
+                            The standard NSIS language files are loaded automatically, there is no need to use
+                            LoadLanguageFile.</p>
+                    </div>
+                    <h2>
+                        5. Reserve files</h2>
+                    <div>
+                        <p>
+                            If you are using solid compression, files that are required before the actual installation
+                            should be stored first in the data block, because this will make your installer
+                            start faster. Include reserve file commands for such files before your sections
+                            and functions:</p>
+                        <pre>
+ReserveFile MyPlugin.dll
+!insertmacro MUI_RESERVEFILE_LANGDLL ;Language selection dialog
+...
+</pre>
+                    </div>
+                    <h1>
+                        Script code for pages</h1>
+                    <div>
+                        <p>
+                            Some pages allow you to show additional information or can be used to get user input.
+                            Here you can find the script code to use these features.</p>
+                        <h2>
+                            Components page descriptions</h2>
+                        <div>
+                            <p>
+                                The Modern UI components page has a text box in which a description can be shown
+                                when the user hovers the mouse over a component. If you don't want to use these
+                                descriptions, insert the MUI_COMPONENTSPAGE_NODESC interface setting.</p>
+                            <p>
+                                To set a description for a section, an additional parameter needs to be added to
+                                Section commmand with a unique identifier for the section. This name can later be
+                                used to set the description for this section.</p>
+                            <pre>
+Section &quot;Section Name 1&quot; Section1
+   ...
+SectionEnd
+</pre>
+                            <p>
+                                After the sections, use these macros to set the descriptions:</p>
+                            <pre>
+LangString DESC_Section1 ${LANG_ENGLISH} &quot;Description of section 1.&quot;
+LangString DESC_Section2 ${LANG_ENGLISH} &quot;Description of section 2.&quot;
+
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+  !insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1)
+  !insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+</pre>
+                            <p>
+                                For the uninstaller, use the MUI_UNFUNCTION_DESCRIPTION_BEGIN and MUI_UNFUNCTION_DESCRIPTION_END
+                                macros.</p>
+                        </div>
+                        <h2>
+                            Start Menu folder</h2>
+                        <div>
+                            <p>
+                                Put the code to write the shortcuts (using CreateShortcut) between the MUI_STARTMENU_WRITE_BEGIN
+                                and MUI_STARTMENU_WRITE_END macros:</p>
+                            <pre>
+!insertmacro MUI_STARTMENU_WRITE_BEGIN pageid
+  ...create shortcuts...
+!insertmacro MUI_STARTMENU_WRITE_END
+</pre>
+                            <p>
+                                The page ID should be the ID of the page on which the user has selected the folder
+                                for the shortcuts you want to write.</p>
+                            <p>
+                                The variable which contains the folder and the page ID are set as parameters of
+                                the page macro.</p>
+                        </div>
+                    </div>
+                    <h1>
+                        Language selection dialog</h1>
+                    <div>
+                        <p>
+                            If you want the installer to display a language selection dialog (see the the <a
+                                href="../../Examples/Modern%20UI/MultiLanguage.nsi">MultiLanguage.nsi</a> example),
+                            insert the MUI_LANGDLL_DISPLAY macro in the .onInit function:</p>
+                        <pre>
+Function .onInit
+
+  !insertmacro MUI_LANGDLL_DISPLAY
+
+FunctionEnd
+</pre>
+                        <p>
+                            This macro can also be used in the un.onInit function.</p>
+                        <h3>
+                            <img class="trigger" alt="Open/Close section" id="trigger_lss" src="images/closed.gif"
+                                onclick="toggle('trigger_lss', 'toggle_lss');" />
+                            Settings for registry storage of selected language</h3>
+                        <div class="toggle" id="toggle_lss">
+                            <p>
+                                To remember the user's preference, you can define a registry key. These defines
+                                should be set before inserting the installation page macro.</p>
+                            <p>
+                                <strong>MUI_LANGDLL_REGISTRY_ROOT</strong> <span class="parameter">root</span><br />
+                                <strong>MUI_LANGDLL_REGISTRY_KEY</strong> <span class="parameter">key</span><br />
+                                <strong>MUI_LANGDLL_REGISTRY_VALUENAME</strong> <span class="parameter">value_name</span><br />
+                                The registry key to store the language. The users preference will be remembered.
+                                You can also use it for the uninstaller to display the right language. Don't forget
+                                to remove this key in the uninstaller.</p>
+                            <p>
+                                For the uninstaller, insert the MUI_UNGETLANGUAGE macro in un.onInit to get the
+                                stored language preference:</p>
+                            <pre>
+Function un.onInit
+
+  !insertmacro MUI_UNGETLANGUAGE
+
+FunctionEnd
+</pre>
+                        </div>
+                        <h3>
+                            <img class="trigger" alt="Open/Close section" id="trigger_lsin" src="images/closed.gif"
+                                onclick="toggle('trigger_lsin', 'toggle_lsin');" />
+                            Interface settings for selection dialog</h3>
+                        <div class="toggle" id="toggle_lsin">
+                            <p>
+                                To customize the language selection dialog interface, use these defines before inserting
+                                the MUI_LANGDLL_DISPLAY macro.</p>
+                            <p>
+                                <strong>MUI_LANGDLL_WINDOWTITLE</strong> <span class="parameter">text</span><br />
+                                The window title of the language selection dialog.</p>
+                            <p>
+                                <strong>MUI_LANGDLL_INFO</strong> <span class="parameter">text</span><br />
+                                The text to display on the language selection dialog.</p>
+                            <p>
+                                <strong>MUI_LANGDLL_ALWAYSSHOW</strong><br />
+                                Always show the language selection dialog, even if a language has been stored in
+                                the registry. The language stored in the registry will be selected by default.</p>
+                            <p>
+                                <strong>MUI_LANGDLL_ALLLANGUAGES</strong><br />
+                                Always show all available languages and don't filter according to their codepage.</p>
+                        </div>
+                    </div>
+                    <h1>
+                        Custom pages</h1>
+                    <div>
+                        <p>
+                            If you want add your custom pages to your installer, you can insert your own page
+                            commands between the page macros.</p>
+                        <pre>
+!insertmacro MUI_PAGE_WELCOME
+Page custom FunctionName ;Custom page
+!insertmacro MUI_PAGE_COMPONENTS
+ 
+;Uninstaller
+!insertmacro MUI_UNPAGE_CONFIRM
+UninstPage custom un.FunctionName ;Custom page
+!insertmacro MUI_UNPAGE_INSTFILES
+</pre>
+                        <p>
+                            Use the MUI_HEADER_TEXT macro to set the text on the page header in a page function:</p>
+                        <pre>
+LangString PAGE_TITLE ${LANG_ENGLISH} &quot;Title&quot;
+LangString PAGE_SUBTITLE ${LANG_ENGLISH} &quot;Subtitle&quot;
+
+Function CustomPageFunction
+  !insermacro MUI_HEADER_TEXT $(PAGE_TITLE) $(PAGE_SUBTITLE)
+  ...
+FuctionEnd
+</pre>
+                    </div>
+                    <h1>
+                        Custom functions</h1>
+                    <div>
+                        <p>
+                            Interface functions provided by NSIS, like the .onGUIInit function and the page
+                            functions are automatically included by the Modern UI and filled with code to support
+                            new interface features. If you want to add additional code to these function, create
+                            a function with the custom script code in the script use the Modern UI functions
+                            call them.</p>
+                        <p>
+                            Example:</p>
+                        <pre class="text">
+!define MUI_CUSTOMFUNCTION_GUIINIT myGuiInit
+
+Function myGUIInit
+  ...
+FunctionEnd</pre>
+                        <p>
+                            Modern UI pages can also customized using custom functions.</p>
+                        <h3>
+                            <img class="trigger" alt="Open/Close section" id="trigger_cfg" src="images/closed.gif"
+                                onclick="toggle('trigger_cfg', 'toggle_cfg');" />
+                            General Custom Functions</h3>
+                        <div class="toggle" id="toggle_cfg">
+                            <p>
+                                These defines should be set before inserting the language macros.</p>
+                            <p>
+                                <strong>MUI_CUSTOMFUNCTION_GUIINIT</strong> <span class="parameter">function</span><br />
+                                <strong>MUI_CUSTOMFUNCTION_UNGUIINIT</strong> <span class="parameter">function</span><br />
+                                <strong>MUI_CUSTOMFUNCTION_ABORT</strong> <span class="parameter">function</span><br />
+                                <strong>MUI_CUSTOMFUNCTION_UNABORT</strong> <span class="parameter">function</span><br />
+                                <strong>MUI_CUSTOMFUNCTION_ONMOUSEOVERSECTION</strong> <span class="parameter">function</span><br />
+                                <strong>MUI_CUSTOMFUNCTION_UNONMOUSEOVERSECTION</strong> <span class="parameter">function</span></p>
+							<p>
+                                Mouse over functions are only available when the description macros
+								(MUI_FUNCTION_DESCRIPTION_BEGIN) are used. When component page descriptions are not
+								used, regular .onMouseOverSection and un.onMouseOverSection must be used.</p>
+                        </div>
+                        <h3>
+                            <img class="trigger" alt="Open/Close section" id="trigger_cfpg" src="images/closed.gif"
+                                onclick="toggle('trigger_cfpg', 'toggle_cfpg');" />
+                            Page Custom Functions</h3>
+                        <div class="toggle" id="toggle_cfpg">
+                            <p>
+                                These defines should be set before inserting a page macro.</p>
+                            <p>
+                                <strong>MUI_PAGE_CUSTOMFUNCTION_PRE</strong> <span class="parameter">function</span><br />
+                                <strong>MUI_PAGE_CUSTOMFUNCTION_SHOW</strong> <span class="parameter">function</span><br />
+                                <strong>MUI_PAGE_CUSTOMFUNCTION_LEAVE</strong> <span class="parameter">function</span><br />
+                            </p>
+                            <p>
+                                The pre function is called first and allows you to initalize variables or decide
+                                whether the page should be skipped. Then, the show function is called, which can
+                                be used to customize the interface. Finally, the user input can be validated in the
+								leave function. The NSIS Users Manual provides more information about these functions.</p>
+                            <p>
+                                In the show function, the window handles of all controls on the page can be retrieved
+                                from a Modern UI variable. A list of the variables names is not yet available. For
+                                now, refer to the source files of the Modern UI 2.0. The variable declarations can
+                                be found in the first lines of the header file for a certain page.</p>
+                        </div>
+                    </div>
+                    <h1>
+                        <a name="examples" id="examples">Example scripts</a></h1>
+                    <div>
+                        <p>
+                            Basic: <a href="../../Examples/Modern%20UI/Basic.nsi">Basic.nsi</a><br />
+                            Welcome/Finish page: <a href="../../Examples/Modern%20UI/WelcomeFinish.nsi">WelcomeFinish.nsi</a><br />
+                            Multiple languages: <a href="../../Examples/Modern%20UI/MultiLanguage.nsi">MultiLanguage.nsi</a><br />
+                            Header image: <a href="../../Examples/Modern%20UI/HeaderBitmap.nsi">HeaderBitmap.nsi</a><br />
+                            Start Menu Folder page: <a href="../../Examples/Modern%20UI/StartMenu.nsi">StartMenu.nsi</a></p>
+                    </div>
+                    <h1>
+                        Credits</h1>
+                    <div>
+                        <p>
+                            Written by Joost Verburg.<br />
+                            Icons designed by Nikos Adamamas, aka adni18.<br />
+                            Thanks to Amir Szekely, aka KiCHiK, for his work on NSIS to make this possible.</p>
+                    </div>
+                    <h1>
+                        License</h1>
+                    <div>
+                        <p>
+                            The zlib/libpng license applies to the Modern UI.</p>
+                        <h3>
+                            <img class="trigger" alt="Open/Close section" id="trigger_lic" src="images/closed.gif"
+                                onclick="toggle('trigger_lic', 'toggle_lic');" />
+                            License Terms</h3>
+                        <div class="toggle" id="toggle_lic">
+                            <pre>
+Copyright &copy; 2002-2015 Joost Verburg
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute
+it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; 
+   you must not claim that you wrote the original software.
+   If you use this software in a product, an acknowledgment in the
+   product documentation would be appreciated but is not required.
+2. Altered versions must be plainly marked as such,
+   and must not be misrepresented as being the original software.
+3. This notice may not be removed or altered from any distribution.
+</pre>
+                        </div>
+                    </div>
+                </div>
+            </td>
+        </tr>
+    </table>
+</body>
+</html>

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/Readme.html
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/images/header.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/images/header.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/images/closed.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/images/closed.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/images/screen1.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/images/screen1.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/images/screen2.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/images/screen2.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/images/open.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Modern UI 2/images/open.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Docs/Banner/Readme.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Docs/Banner/Readme.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Docs/Banner/Readme.txt	(revision 2961)
@@ -0,0 +1,47 @@
+BANNER PLUG-IN
+--------------
+
+The Banner plug-in shows a banner with customizable text. It uses the IDD_VERIFY dialog of the UI.
+
+There are three functions - show, getWindow and destroy.
+
+Usage
+-----
+
+Banner::show "Text to show"
+
+[optional] Banner::getWindow
+
+Banner::destroy
+
+See Example.nsi for an example.
+
+Modern UI
+---------
+
+The Modern UI has two labels on the IDD_VERIFY dialog. To change all the texts, use:
+
+Banner::show /set 76 "Text 1 (replaces Please wait while Setup is loading...)" "Normal text"
+
+Custom UI
+---------
+
+If you have more labels on your IDD_VERIFY dialog, you can use multiple /set parameters to change the texts.
+
+Example:
+
+Banner::show /set 76 "bah #1" /set 54 "bah #2" "Normal text"
+
+The second parameter for /set is the ID of the control.
+
+Some More Tricks
+----------------
+
+If you use /set to set the main string (IDC_STR, 1030) you can specify a different string for the window's caption and for the main string.
+
+If you use an empty string as the main string (Banner::show "") the banner window will not show on the taskbar.
+
+Credits
+-------
+
+A joint effort of brainsucker and kichik in honor of the messages dropped during the battle
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Docs/Banner/Readme.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/nsisconf.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/nsisconf.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/nsisconf.nsh	(revision 2961)
@@ -0,0 +1,62 @@
+;------------------------
+;DEFAULT NSIS CONFIG FILE
+;------------------------
+
+;This header file will be included when compiling any NSIS installer,
+;you can use it to add script code to every installer you compile.
+
+;This file is treated as if it is in the directory of your script.
+;When using relative paths, the files have to be in your build directory.
+
+;------------------------
+;EXAMPLES
+;------------------------
+
+;Compress installer exehead with an executable compressor (such as UPX / Petite).
+
+;Paths should be absolute to allow building from any location.
+;Note that your executable compressor should not compress the first icon.
+
+;!packhdr temp.dat '"C:\Program Files\upx\upx" -9 -q temp.dat'
+;!packhdr temp.dat '"C:\Program Files\petite\petite" -9 -b0 -r** -p0 -y temp.dat'
+
+;------------------------
+
+;Set default compressor
+
+;SetCompressor bzip2
+
+;------------------------
+
+;Change the default icons
+
+;Icon "${NSISDIR}\Contrib\Graphics\Icons\arrow-install.ico"
+;UninstallIcon "${NSISDIR}\Contrib\Graphics\Icons\arrow-uninstall.ico"
+
+;------------------------
+
+;Define symbols
+
+;!define COMPANYNAME "bla"
+
+;------------------------
+;MODERN UI
+;------------------------
+
+;The Modern UI will insert the MUI_NSISCONF macro just before processing the settings.
+;Here you can set default settings for the Modern UI.
+
+;------------------------
+
+!define MUI_INSERT_NSISCONF
+
+!macro MUI_NSISCONF
+
+  ;Example: Change the default Modern UI icons
+  
+  ;!ifndef MUI_ICON & MUI_UNICON
+  ;  !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\arrow-install.ico"
+  ;  !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\arrow-uninstall.ico"
+  ;!endif
+  
+!macroend
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/makensis.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/makensis.exe
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/NSIS.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/NSIS.exe
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Examples/WordFunc.ini
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/WordFunc.ini	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/WordFunc.ini	(revision 2961)
@@ -0,0 +1,107 @@
+[Settings]
+NumFields=13
+NextButtonText=&Enter
+
+[Field 1]
+Type=Droplist
+Flags=NOTIFY
+State=1. WordFind        (Find word by number)
+ListItems=1. WordFind        (Find word by number)|                           (Delimiter exclude)|                           (Sum of words)|                           (Sum of delimiters)|                           (Find word number)|                           ( }} )|                           ( {} )|                           ( *} )|2. WordFind2X|3. WordReplace (Replace)|                           (Delete)|                           (Multiple-replace)|4. WordAdd        (Add)|                           (Delete) |5. WordInsert|6. StrFilter           (UpperCase)|                           (LowerCase)|                           (Filter)|7. VersionCompare|8. VersionConvert
+Left=44
+Right=190
+Top=10
+Bottom=191
+
+[Field 2]
+Type=Text
+State=C:\io.sys|C:\logo.sys|C:\Program Files|C:\WINDOWS
+Left=44
+Right=-10
+Top=30
+Bottom=41
+
+[Field 3]
+Type=Text
+State=|C:\
+Left=44
+Right=-10
+Top=46
+Bottom=59
+
+[Field 4]
+Type=Text
+Flags=DISABLED
+Left=44
+Right=-10
+Top=62
+Bottom=75
+
+[Field 5]
+Type=Text
+State=-4
+Left=44
+Right=-10
+Top=80
+Bottom=92
+
+[Field 6]
+Type=Text
+Left=10
+Right=-30
+Top=108
+Bottom=120
+
+[Field 7]
+Type=Text
+Left=-22
+Right=-10
+Top=108
+Bottom=120
+
+[Field 8]
+Type=Label
+Text=String
+Left=10
+Right=43
+Top=32
+Bottom=44
+
+[Field 9]
+Type=Label
+Text=Delimiter
+Left=10
+Right=43
+Top=48
+Bottom=60
+
+[Field 10]
+Type=Label
+Left=10
+Right=44
+Top=65
+Bottom=76
+
+[Field 11]
+Type=Label
+Text=Word #
+Left=10
+Right=43
+Top=81
+Bottom=94
+
+[Field 12]
+Type=Label
+Text=Result (Word):
+Left=10
+Right=236
+Top=97
+Bottom=110
+
+[Field 13]
+Type=Label
+Text=EL
+Left=-21
+Right=-10
+Top=97
+Bottom=110
+

Property changes on: tmp/org.txm.setups/nsis-2.5/Examples/WordFunc.ini
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Examples/Banner/Example.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Banner/Example.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Banner/Example.nsi	(revision 2961)
@@ -0,0 +1,38 @@
+# Look at Readme.txt for usage alongside with the Modern UI
+
+!include "WinMessages.nsh"
+
+Name "Banner.dll test"
+
+OutFile "Banner Test.exe"
+
+ShowInstDetails show
+
+Function .onInit
+	Banner::show "Calculating important stuff..."
+
+	Banner::getWindow
+	Pop $1
+
+	again:
+		IntOp $0 $0 + 1
+		Sleep 1
+		StrCmp $0 100 0 again
+
+	GetDlgItem $2 $1 1030
+	SendMessage $2 ${WM_SETTEXT} 0 "STR:Calculating more important stuff..."
+
+	again2:
+		IntOp $0 $0 + 1
+		Sleep 1
+		StrCmp $0 200 0 again2
+
+	Banner::destroy
+FunctionEnd
+
+Section
+	DetailPrint "Using previous calculations to quickly calculate 1*2000..."
+	Sleep 1000
+	DetailPrint "Eureka! It's $0!!!"
+	DetailPrint ""
+SectionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/FileFunc.ini
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/FileFunc.ini	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/FileFunc.ini	(revision 2961)
@@ -0,0 +1,91 @@
+[Settings]
+NumFields=11
+NextButtonText=&Enter
+
+[Field 1]
+Type=Droplist
+Flags=NOTIFY
+State="  1. Locate"
+ListItems=|  1. Locate|  2. GetSize                 (file)|                                   (directory)|                                   (no size, no subdir)|  3. DriveSpace|  4. GetDrives             (by type)|                                   (all by letter)|  5. GetTime                (local time)|                                   (file time)|  6. GetFileAttributes|  7. GetFileVersion|  8. GetExeName|  9. GetExePath|10. GetParameters|11. GetOptions|12. GetRoot|13. GetParent|14. GetFileName|15. GetBaseName|16. GetFileExt|17. BannerTrimPath|18. DirState|19. RefreshShellIcons
+Left=44
+Right=190
+Top=1
+Bottom=210
+
+[Field 2]
+Type=FileRequest
+Left=44
+Right=-10
+Top=22
+Bottom=33
+
+[Field 3]
+Type=DirRequest
+Left=44
+Right=-10
+Top=22
+Bottom=33
+
+[Field 4]
+Type=Text
+Left=44
+Right=-10
+Top=36
+Bottom=49
+
+[Field 5]
+Type=Text
+State=LocateCallback
+Left=44
+Right=232
+Top=53
+Bottom=66
+
+[Field 6]
+Type=Button
+Text=view
+Flags=NOTIFY
+Left=236
+Right=255
+Top=54
+Bottom=65
+
+[Field 7]
+Type=Text
+Flags=MULTILINE|VSCROLL|HSCROLL|READONLY
+Left=44
+Right=-10
+Top=73
+Bottom=128
+
+[Field 8]
+Type=Label
+Text=Path
+Left=10
+Right=43
+Top=24
+Bottom=36
+
+[Field 9]
+Type=Label
+Text=Options
+Left=10
+Right=43
+Top=40
+Bottom=52
+
+[Field 10]
+Type=Label
+Text=Function
+Left=10
+Right=44
+Top=56
+Bottom=67
+
+[Field 11]
+Type=Label
+Text=Result:
+Left=12
+Right=42
+Top=94
+Bottom=102

Property changes on: tmp/org.txm.setups/nsis-2.5/Examples/FileFunc.ini
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Examples/one-section.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/one-section.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/one-section.nsi	(revision 2961)
@@ -0,0 +1,79 @@
+; one-section.nsi
+;
+; This example demonstrates how to control section selection.
+; It allows only one of the sections of a group to be selected.
+
+;--------------------------------
+
+; Section define/macro header file
+; See this header file for more info
+
+!include "Sections.nsh"
+
+;--------------------------------
+
+Name "One Section"
+OutFile "one-section.exe"
+RequestExecutionLevel user
+
+;--------------------------------
+
+; Pages
+
+Page components
+
+;--------------------------------
+
+; Sections
+
+Section !Required
+  SectionIn RO
+SectionEnd
+
+Section "Group 1 - Option 1" g1o1
+SectionEnd
+
+Section /o "Group 1 - Option 2" g1o2
+SectionEnd
+
+Section /o "Group 1 - Option 3" g1o3
+SectionEnd
+
+Section "Group 2 - Option 1" g2o1
+SectionEnd
+
+Section /o "Group 2 - Option 2" g2o2
+SectionEnd
+
+Section /o "Group 2 - Option 3" g2o3
+SectionEnd
+
+;--------------------------------
+
+; Functions
+
+; $1 stores the status of group 1
+; $2 stores the status of group 2
+
+Function .onInit
+
+  StrCpy $1 ${g1o1} ; Group 1 - Option 1 is selected by default
+  StrCpy $2 ${g2o1} ; Group 2 - Option 1 is selected by default
+
+FunctionEnd
+
+Function .onSelChange
+
+  !insertmacro StartRadioButtons $1
+    !insertmacro RadioButton ${g1o1}
+    !insertmacro RadioButton ${g1o2}
+    !insertmacro RadioButton ${g1o3}
+  !insertmacro EndRadioButtons
+	
+  !insertmacro StartRadioButtons $2
+    !insertmacro RadioButton ${g2o1}
+    !insertmacro RadioButton ${g2o2}
+    !insertmacro RadioButton ${g2o3}
+  !insertmacro EndRadioButtons
+	
+FunctionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/gfx.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/gfx.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/gfx.nsi	(revision 2961)
@@ -0,0 +1,123 @@
+; gfx.nsi
+;
+; This script shows some examples of using all of the new
+; graphic related additions introduced in NSIS 2
+;
+; Written by Amir Szkeley 22nd July 2002
+
+;--------------------------------
+
+!macro BIMAGE IMAGE PARMS
+	Push $0
+	GetTempFileName $0
+	File /oname=$0 "${IMAGE}"
+	SetBrandingImage ${PARMS} $0
+	Delete $0
+	Pop $0
+!macroend
+
+;--------------------------------
+
+Name "Graphical effects"
+
+OutFile "gfx.exe"
+
+; Adds an XP manifest to the installer
+XPStyle on
+
+; Add branding image to the installer (an image placeholder on the side).
+; It is not enough to just add the placeholder, we must set the image too...
+; We will later set the image in every pre-page function.
+; We can also set just one persistent image in .onGUIInit
+AddBrandingImage left 100
+
+; Sets the font of the installer
+SetFont "Comic Sans MS" 8
+
+; Just to make it three pages...
+SubCaption 0 ": Yet another page..."
+SubCaption 2 ": Yet another page..."
+LicenseText "License page"
+LicenseData "gfx.nsi"
+DirText "Lets make a third page!"
+
+; Install dir
+InstallDir "${NSISDIR}\Examples"
+
+; Request application privileges for Windows Vista
+RequestExecutionLevel user
+
+;--------------------------------
+
+; Pages
+Page license licenseImage
+Page custom customPage
+Page directory dirImage
+Page instfiles instImage
+
+;--------------------------------
+
+Section ""
+	; You can also use the BI_NEXT macro here...
+	MessageBox MB_YESNO "We can change the branding image from within a section too!$\nDo you want me to change it?" IDNO done
+		!insertmacro BIMAGE "${NSISDIR}\Contrib\Graphics\Wizard\nsis.bmp" ""
+	done:
+	WriteUninstaller uninst.exe
+SectionEnd
+
+;--------------------------------
+
+Function licenseImage
+	!insertmacro BIMAGE "${NSISDIR}\Contrib\Graphics\Header\nsis.bmp" /RESIZETOFIT
+	MessageBox MB_YESNO 'Would you like to skip the license page?' IDNO no
+		Abort
+	no:
+FunctionEnd
+
+Function customPage
+	!insertmacro BIMAGE "${NSISDIR}\Contrib\Graphics\Checks\modern.bmp" /RESIZETOFIT
+	MessageBox MB_OK 'This is a nice custom "page" with yet another image :P'
+	#insert install options/start menu/<insert plugin name here> here
+FunctionEnd
+
+Function dirImage
+	!insertmacro BIMAGE "${NSISDIR}\Contrib\Graphics\Header\win.bmp" /RESIZETOFIT
+FunctionEnd
+
+Function instImage
+	!insertmacro BIMAGE "${NSISDIR}\Contrib\Graphics\Wizard\llama.bmp" /RESIZETOFIT
+FunctionEnd
+
+;--------------------------------
+
+; Uninstall pages
+
+UninstPage uninstConfirm un.uninstImage
+UninstPage custom un.customPage
+UninstPage instfiles un.instImage
+
+Function un.uninstImage
+	!insertmacro BIMAGE "${NSISDIR}\Contrib\Graphics\Checks\modern.bmp" /RESIZETOFIT
+FunctionEnd
+
+Function un.customPage
+	!insertmacro BIMAGE "${NSISDIR}\Contrib\Graphics\Header\win.bmp" /RESIZETOFIT
+	MessageBox MB_OK 'This is a nice uninstaller custom "page" with yet another image :P'
+	#insert install options/start menu/<insert plugin name here> here
+FunctionEnd
+
+Function un.instImage
+	!insertmacro BIMAGE "${NSISDIR}\Contrib\Graphics\Wizard\llama.bmp" /RESIZETOFIT
+FunctionEnd
+
+;--------------------------------
+
+; Uninstaller
+
+; Another page for uninstaller
+UninstallText "Another page..."
+
+Section uninstall
+	MessageBox MB_OK "Bla"
+SectionEnd
+
Index: tmp/org.txm.setups/nsis-2.5/Examples/LogicLib.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/LogicLib.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/LogicLib.nsi	(revision 2961)
@@ -0,0 +1,619 @@
+!verbose 2
+
+Name "NSIS LogicLib Example"
+OutFile "LogicLib.exe"
+ShowInstDetails show
+RequestExecutionLevel user
+
+!include "LogicLib.nsh"
+
+;!undef LOGICLIB_VERBOSITY
+;!define LOGICLIB_VERBOSITY 4   ; For debugging - watch what logiclib does with your code!
+
+Page components "" "" ComponentsLeave
+Page instfiles
+
+Section /o "Run tests" TESTS
+
+  ; kinds of if other than "value1 comparison value2"
+  ClearErrors
+  FindFirst $R1 $R2 "$PROGRAMFILES\*"
+  ${Unless} ${Errors}
+    ${Do}
+      ${Select} $R2
+        ${Case2} "." ".."
+          ; Do nothing
+        ${CaseElse}
+          DetailPrint "Found $PROGRAMFILES\$R2"
+      ${EndSelect}
+      FindNext $R1 $R2
+    ${LoopUntil} ${Errors}
+    FindClose $R1
+  ${EndUnless}
+
+  ${If} ${FileExists} "${__FILE__}"
+    DetailPrint 'Source file "${__FILE__}" still exists'
+  ${Else}
+    DetailPrint 'Source file "${__FILE__}" has gone'
+  ${EndIf}
+
+  ; if..endif
+  StrCpy $R1 1
+  StrCpy $R2 ""
+  ${If} $R1 = 1
+    StrCpy $R2 $R2A
+  ${EndIf}
+  ${If} $R1 = 2
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} $R1 < 2
+    StrCpy $R2 $R2C
+  ${EndIf}
+  ${If} $R1 < -2
+    StrCpy $R2 $R2D
+  ${EndIf}
+  ${If} $R1 > 2
+    StrCpy $R2 $R2E
+  ${EndIf}
+  ${If} $R1 > -2
+    StrCpy $R2 $R2F
+  ${EndIf}
+  ${If} $R1 <> 1
+    StrCpy $R2 $R2G
+  ${EndIf}
+  ${If} $R1 <> 2
+    StrCpy $R2 $R2H
+  ${EndIf}
+  ${If} $R1 >= 2
+    StrCpy $R2 $R2I
+  ${EndIf}
+  ${If} $R1 >= -2
+    StrCpy $R2 $R2J
+  ${EndIf}
+  ${If} $R1 <= 2
+    StrCpy $R2 $R2K
+  ${EndIf}
+  ${If} $R1 <= -2
+    StrCpy $R2 $R2L
+  ${EndIf}
+  ${If} $R2 == "ACFHJK"
+    DetailPrint "PASSED If..EndIf test"
+  ${Else}
+    DetailPrint "FAILED If..EndIf test"
+  ${EndIf}
+
+  ; if..elseif..else..endif
+  StrCpy $R1 A
+  StrCpy $R2 ""
+  ${If} $R1 == A
+    StrCpy $R2 $R2A
+  ${ElseIf} $R1 == B
+    StrCpy $R2 $R2B
+  ${ElseUnless} $R1 != C
+    StrCpy $R2 $R2C
+  ${Else}
+    StrCpy $R2 $R2D
+  ${EndIf}
+  ${If} $R1 == D
+    StrCpy $R2 $R2D
+  ${ElseIf} $R1 == A
+    StrCpy $R2 $R2A
+  ${ElseUnless} $R1 != B
+    StrCpy $R2 $R2B
+  ${Else}
+    StrCpy $R2 $R2C
+  ${EndIf}
+  ${If} $R1 == C
+    StrCpy $R2 $R2C
+  ${ElseIf} $R1 == D
+    StrCpy $R2 $R2D
+  ${ElseUnless} $R1 != A
+    StrCpy $R2 $R2A
+  ${Else}
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} $R1 == B
+    StrCpy $R2 $R2B
+  ${ElseIf} $R1 == C
+    StrCpy $R2 $R2C
+  ${ElseUnless} $R1 != D
+    StrCpy $R2 $R2D
+  ${Else}
+    StrCpy $R2 $R2A
+  ${EndIf}
+  ${If} $R2 == "$R1$R1$R1$R1"
+    DetailPrint "PASSED If..ElseIf..Else..EndIf test"
+  ${Else}
+    DetailPrint "FAILED If..ElseIf..Else..EndIf test"
+  ${EndIf}
+
+  ; if..andif..orif..endif
+  StrCpy $R2 ""
+  ${If} 1 = 1
+  ${AndIf} 2 = 2
+    StrCpy $R2 $R2A
+  ${Else}
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} 1 = 1
+  ${AndIf} 2 = 3
+    StrCpy $R2 $R2B
+  ${Else}
+    StrCpy $R2 $R2A
+  ${EndIf}
+  ${If} 1 = 2
+  ${AndIf} 2 = 2
+    StrCpy $R2 $R2B
+  ${Else}
+    StrCpy $R2 $R2A
+  ${EndIf}
+  ${If} 1 = 2
+  ${AndIf} 2 = 3
+    StrCpy $R2 $R2B
+  ${Else}
+    StrCpy $R2 $R2A
+  ${EndIf}
+
+  ${If} 1 = 1
+  ${OrIf} 2 = 2
+    StrCpy $R2 $R2A
+  ${Else}
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} 1 = 1
+  ${OrIf} 2 = 3
+    StrCpy $R2 $R2A
+  ${Else}
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} 1 = 2
+  ${OrIf} 2 = 2
+    StrCpy $R2 $R2A
+  ${Else}
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} 1 = 2
+  ${OrIf} 2 = 3
+    StrCpy $R2 $R2B
+  ${Else}
+    StrCpy $R2 $R2A
+  ${EndIf}
+
+  ${If} 1 = 1
+  ${AndIf} 2 = 2
+  ${OrIf} 3 = 3
+    StrCpy $R2 $R2A
+  ${Else}
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} 1 = 1
+  ${AndIf} 2 = 3
+  ${OrIf} 3 = 3
+    StrCpy $R2 $R2A
+  ${Else}
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} 1 = 2
+  ${AndIf} 2 = 2
+  ${OrIf} 3 = 3
+    StrCpy $R2 $R2A
+  ${Else}
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} 1 = 2
+  ${AndIf} 2 = 3
+  ${OrIf} 3 = 3
+    StrCpy $R2 $R2A
+  ${Else}
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} 1 = 1
+  ${AndIf} 2 = 2
+  ${OrIf} 3 = 4
+    StrCpy $R2 $R2A
+  ${Else}
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} 1 = 1
+  ${AndIf} 2 = 3
+  ${OrIf} 3 = 4
+    StrCpy $R2 $R2B
+  ${Else}
+    StrCpy $R2 $R2A
+  ${EndIf}
+  ${If} 1 = 2
+  ${AndIf} 2 = 2
+  ${OrIf} 3 = 4
+    StrCpy $R2 $R2B
+  ${Else}
+    StrCpy $R2 $R2A
+  ${EndIf}
+  ${If} 1 = 2
+  ${AndIf} 2 = 3
+  ${OrIf} 3 = 4
+    StrCpy $R2 $R2B
+  ${Else}
+    StrCpy $R2 $R2A
+  ${EndIf}
+
+  ${If} 1 = 1
+  ${OrIf} 2 = 2
+  ${AndIf} 3 = 3
+    StrCpy $R2 $R2A
+  ${Else}
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} 1 = 1
+  ${OrIf} 2 = 3
+  ${AndIf} 3 = 3
+    StrCpy $R2 $R2A
+  ${Else}
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} 1 = 2
+  ${OrIf} 2 = 2
+  ${AndIf} 3 = 3
+    StrCpy $R2 $R2A
+  ${Else}
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} 1 = 2
+  ${OrIf} 2 = 3
+  ${AndIf} 3 = 3
+    StrCpy $R2 $R2B
+  ${Else}
+    StrCpy $R2 $R2A
+  ${EndIf}
+  ${If} 1 = 1
+  ${OrIf} 2 = 2
+  ${AndIf} 3 = 4
+    StrCpy $R2 $R2B
+  ${Else}
+    StrCpy $R2 $R2A
+  ${EndIf}
+  ${If} 1 = 1
+  ${OrIf} 2 = 3
+  ${AndIf} 3 = 4
+    StrCpy $R2 $R2B
+  ${Else}
+    StrCpy $R2 $R2A
+  ${EndIf}
+  ${If} 1 = 2
+  ${OrIf} 2 = 2
+  ${AndIf} 3 = 4
+    StrCpy $R2 $R2B
+  ${Else}
+    StrCpy $R2 $R2A
+  ${EndIf}
+  ${If} 1 = 2
+  ${OrIf} 2 = 3
+  ${AndIf} 3 = 4
+    StrCpy $R2 $R2B
+  ${Else}
+    StrCpy $R2 $R2A
+  ${EndIf}
+
+  ${If} $R2 == "AAAAAAAAAAAAAAAAAAAAAAAA"
+    DetailPrint "PASSED If..AndIf..OrIf..Else..EndIf test"
+  ${Else}
+    DetailPrint "FAILED If..AndIf..OrIf..Else..EndIf test"
+  ${EndIf}
+
+  ; ifthen..|..|
+  StrCpy $R1 1
+  StrCpy $R2 ""
+  ${IfThen} $R1 = 1 ${|} StrCpy $R2 $R2A ${|}
+  ${IfThen} $R1 = 2 ${|} StrCpy $R2 $R2B ${|}
+  ${IfNotThen} $R1 = 1 ${|} StrCpy $R2 $R2C ${|}
+  ${IfNotThen} $R1 = 2 ${|} StrCpy $R2 $R2D ${|}
+  ${If} $R2 == "AD"
+    DetailPrint "PASSED IfThen test"
+  ${Else}
+    DetailPrint "FAILED IfThen test"
+  ${EndIf}
+
+  ; ifcmd..||..| and if/unless cmd
+  StrCpy $R2 ""
+  ${IfCmd} MessageBox MB_YESNO "Please click Yes" IDYES ${||} StrCpy $R2 $R2A ${|}
+  ${Unless} ${Cmd} `MessageBox MB_YESNO|MB_DEFBUTTON2 "Please click No" IDYES`
+    StrCpy $R2 $R2B
+  ${EndUnless}
+  ${If} $R2 == "AB"
+    DetailPrint "PASSED IfCmd/If Cmd test"
+  ${Else}
+    DetailPrint "FAILED IfCmd/If Cmd test"
+  ${EndIf}
+
+  ; select..case..case2..case3..case4..case5..caseelse..endselect
+  StrCpy $R1 1
+  StrCpy $R2 ""
+  ${Select} $R1
+    ${Case} "1"
+      StrCpy $R2 $R2A
+    ${Case} "2"
+      StrCpy $R2 $R2B
+    ${Case2} "3" "4"
+      StrCpy $R2 $R2C
+    ${CaseElse}
+      StrCpy $R2 $R2D
+  ${EndSelect}
+  ${Select} $R1
+    ${Case} "2"
+      StrCpy $R2 $R2A
+    ${Case} "3"
+      StrCpy $R2 $R2B
+    ${Case2} "4" "5"
+      StrCpy $R2 $R2C
+    ${CaseElse}
+      StrCpy $R2 $R2D
+  ${EndSelect}
+  ${Select} $R1
+    ${Case} "3"
+      StrCpy $R2 $R2A
+    ${Case} "4"
+      StrCpy $R2 $R2B
+    ${Case2} "5" "1"
+      StrCpy $R2 $R2C
+    ${CaseElse}
+      StrCpy $R2 $R2D
+  ${EndSelect}
+  ${Select} $R1
+    ${Case} "4"
+      StrCpy $R2 $R2A
+    ${Case} "5"
+      StrCpy $R2 $R2B
+    ${Case2} "1" "2"
+      StrCpy $R2 $R2C
+    ${CaseElse}
+      StrCpy $R2 $R2D
+  ${EndSelect}
+  ${If} $R2 == "ADCC"
+    DetailPrint "PASSED Select..Case*..EndSelect test"
+  ${Else}
+    DetailPrint "FAILED Select..Case*..EndSelect test"
+  ${EndIf}
+
+  ; switch..case..caseelse..endswitch
+  StrCpy $R2 ""
+  ${For} $R1 1 10
+    ${Switch} $R1
+      ${Case} 3
+        StrCpy $R2 $R2A
+      ${Case} 4
+        StrCpy $R2 $R2B
+        ${Break}
+      ${Case} 5
+        StrCpy $R2 $R2C
+    ${EndSwitch}
+    ${Switch} $R1
+      ${Case} 1
+        StrCpy $R2 $R2D
+      ${Default}
+        StrCpy $R2 $R2E
+        ${Break}
+      ${Case} 2
+        StrCpy $R2 $R2F
+    ${EndSwitch}
+    ${Switch} $R1
+      ${Case} 6
+      ${Case} 7
+        StrCpy $R2 $R2G
+        ${If} $R1 = 6
+      ${Case} 8
+          StrCpy $R2 $R2H
+          ${Switch} $R1
+            ${Case} 6
+              StrCpy $R2 $R2I
+              ${Break}
+            ${Case} 8
+              StrCpy $R2 $R2J
+          ${EndSwitch}
+        ${EndIf}
+        StrCpy $R2 $R2K
+        ${Break}
+      ${Default}
+        StrCpy $R2 $R2L
+      ${Case} 9
+        StrCpy $R2 $R2M
+    ${EndSwitch}
+  ${Next}
+  ${If} $R2 == "DELMFLMABELMBELMCELMEGHIKEGKEHJKEMELM"
+    DetailPrint "PASSED Switch..Case*..EndSwitch test"
+  ${Else}
+    DetailPrint "FAILED Switch..Case*..EndSwitch test"
+  ${EndIf}
+
+  ; for[each]..exitfor..next
+  StrCpy $R2 ""
+  ${For} $R1 1 5
+    StrCpy $R2 $R2$R1
+  ${Next}
+  ${ForEach} $R1 10 1 - 1
+    StrCpy $R2 $R2$R1
+  ${Next}
+  ${For} $R1 1 0
+    StrCpy $R2 $R2$R1
+  ${Next}
+  ${If} $R2 == "1234510987654321"
+    DetailPrint "PASSED For[Each]..Next test"
+  ${Else}
+    DetailPrint "FAILED For[Each]..Next test"
+  ${EndIf}
+
+  ; do..loop
+  StrCpy $R1 0
+  Call DoLoop
+  ${If} $R1 == 5
+    DetailPrint "PASSED Do..Loop test"
+  ${Else}
+    DetailPrint "FAILED Do..Loop test"
+  ${EndIf}
+
+  ; do..exitdo..loop
+  StrCpy $R1 0
+  StrCpy $R2 ""
+  ${Do}
+    StrCpy $R2 $R2$R1
+    IntOp $R1 $R1 + 1
+    ${If} $R1 > 10
+      ${ExitDo}
+    ${EndIf}
+  ${Loop}
+  ${If} $R2 == "012345678910"
+    DetailPrint "PASSED Do..ExitDo..Loop test"
+  ${Else}
+    DetailPrint "FAILED Do..ExitDo..Loop test"
+  ${EndIf}
+
+  ; do..exitdo..loopuntil
+  StrCpy $R1 0
+  StrCpy $R2 ""
+  ${Do}
+    StrCpy $R2 $R2$R1
+    IntOp $R1 $R1 + 1
+  ${LoopUntil} $R1 >= 5
+  ${If} $R2 == "01234"
+    DetailPrint "PASSED Do..ExitDo..LoopUntil test"
+  ${Else}
+    DetailPrint "FAILED Do..ExitDo..LoopUntil test"
+  ${EndIf}
+
+  ; dountil..exitdo..loop
+  StrCpy $R1 0
+  StrCpy $R2 ""
+  ${DoUntil} $R1 >= 5
+    StrCpy $R2 $R2$R1
+    IntOp $R1 $R1 + 1
+  ${Loop}
+  ${If} $R2 == "01234"
+    DetailPrint "PASSED DoUntil..ExitDo..Loop test"
+  ${Else}
+    DetailPrint "FAILED DoUntil..ExitDo..Loop test"
+  ${EndIf}
+
+  ; nested do test
+  StrCpy $R1 0
+  StrCpy $R2 0
+  StrCpy $R3 ""
+  ${Do}
+    StrCpy $R3 $R3$R1$R2
+    IntOp $R1 $R1 + 1
+    ${If} $R1 > 5
+      ${ExitDo}
+    ${EndIf}
+    StrCpy $R2 0
+    ${Do}
+      StrCpy $R3 $R3$R1$R2
+      IntOp $R2 $R2 + 1
+      ${If} $R2 >= 5
+        ${ExitDo}
+      ${EndIf}
+    ${Loop}
+  ${Loop}
+  ${If} $R3 == "00101112131415202122232425303132333435404142434445505152535455"
+    DetailPrint "PASSED nested Do test"
+  ${Else}
+    DetailPrint "FAILED nested Do test"
+  ${EndIf}
+
+  ; while..exitwhile..endwhile (exact replica of dowhile..enddo}
+  StrCpy $R1 0
+  StrCpy $R2 ""
+  ${While} $R1 < 5
+    StrCpy $R2 $R2$R1
+    IntOp $R1 $R1 + 1
+  ${EndWhile}
+  ${If} $R2 == "01234"
+    DetailPrint "PASSED While..ExitWhile..EndWhile test"
+  ${Else}
+    DetailPrint "FAILED While..ExitWhile..EndWhile test"
+  ${EndIf}
+
+  ; Unsigned integer tests
+  StrCpy $R2 ""
+  ${If} -1 < 1
+    StrCpy $R2 $R2A
+  ${EndIf}
+  ${If} -1 U< 1
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} 0xFFFFFFFF > 1
+    StrCpy $R2 $R2C
+  ${EndIf}
+  ${If} 0xFFFFFFFF U> 1
+    StrCpy $R2 $R2D
+  ${EndIf}
+  ${If} $R2 == "AD"
+    DetailPrint "PASSED unsigned integer test"
+  ${Else}
+    DetailPrint "FAILED unsigned integer test"
+  ${EndIf}
+
+  ; 64-bit integer tests (uses System.dll)
+  StrCpy $R2 ""
+  ${If} 0x100000000 L= 4294967296
+    StrCpy $R2 $R2A
+  ${EndIf}
+  ${If} 0x100000000 L< 0x200000000
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} 0x500000000 L>= 0x500000000
+    StrCpy $R2 $R2C
+  ${EndIf}
+  ${If} $R2 == "ABC"
+    DetailPrint "PASSED 64-bit integer test"
+  ${Else}
+    DetailPrint "FAILED 64-bit integer test"
+  ${EndIf}
+
+  ; Extra string tests (uses System.dll)
+  StrCpy $R2 ""
+  ${If} "A" S< "B"
+    StrCpy $R2 $R2A
+  ${EndIf}
+  ${If} "b" S> "A"
+    StrCpy $R2 $R2B
+  ${EndIf}
+  ${If} "a" S<= "B"
+    StrCpy $R2 $R2C
+  ${EndIf}
+  ${If} "B" S< "B"
+    StrCpy $R2 $R2D
+  ${EndIf}
+  ${If} "A" S== "A"
+    StrCpy $R2 $R2E
+  ${EndIf}
+  ${If} "A" S== "a"
+    StrCpy $R2 $R2F
+  ${EndIf}
+  ${If} "A" S!= "a"
+    StrCpy $R2 $R2G
+  ${EndIf}
+  ${If} $R2 == "ABCEG"
+    DetailPrint "PASSED extra string test"
+  ${Else}
+    DetailPrint "FAILED extra string test"
+  ${EndIf}
+
+SectionEnd
+
+Function ComponentsLeave
+  ; Section flags tests (requires sections.nsh be included)
+  ${Unless} ${SectionIsSelected} ${TESTS}
+    MessageBox MB_OK "Please select the component"
+    Abort
+  ${EndIf}
+FunctionEnd
+
+Function DoLoop
+
+  ${Do}
+    IntOp $R1 $R1 + 1
+    ${If} $R1 == 5
+      Return
+    ${EndIf}
+  ${Loop}
+
+FunctionEnd
+
+!verbose 3
Index: tmp/org.txm.setups/nsis-2.5/Examples/StrFunc.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/StrFunc.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/StrFunc.nsi	(revision 2961)
@@ -0,0 +1,635 @@
+Name "NSIS StrFunc Example"
+OutFile "StrFunc.exe"
+ShowInstDetails show
+ShowUninstDetails show
+XPStyle on
+RequestExecutionLevel user
+
+!include "StrFunc.nsh"
+
+# Declare used functions
+${StrCase}
+${StrClb}
+${StrIOToNSIS}
+${StrLoc}
+${StrNSISToIO}
+${StrRep}
+${StrStr}
+${StrStrAdv}
+${StrTok}
+${StrTrimNewLines}
+${StrSort}
+
+${UnStrCase}
+${UnStrClb}
+${UnStrIOToNSIS}
+${UnStrLoc}
+${UnStrNSISToIO}
+${UnStrRep}
+${UnStrStr}
+${UnStrStrAdv}
+${UnStrTok}
+${UnStrTrimNewLines}
+${UnStrSort}
+
+!macro StackVerificationStart
+  StrCpy $0 S0
+  StrCpy $1 S1
+  StrCpy $2 S2
+  StrCpy $3 S3
+  StrCpy $4 S4
+  StrCpy $5 S5
+  StrCpy $6 S6
+  StrCpy $7 S7
+  StrCpy $8 S8
+  StrCpy $9 S9
+  StrCpy $R0 SR0
+  StrCpy $R1 SR1
+  StrCpy $R2 SR2
+  StrCpy $R3 SR3
+  StrCpy $R4 SR4
+  StrCpy $R5 SR5
+  StrCpy $R6 SR6
+  StrCpy $R7 SR7
+  StrCpy $R8 SR8
+  StrCpy $R9 SR9
+!macroend
+
+!macro StackVerificationEnd
+  ClearErrors
+  ${If} $1 != "S1"
+  ${OrIf} $2 != "S2"
+  ${OrIf} $3 != "S3"
+  ${OrIf} $4 != "S4"
+  ${OrIf} $5 != "S5"
+  ${OrIf} $6 != "S6"
+  ${OrIf} $7 != "S7"
+  ${OrIf} $8 != "S8"
+  ${OrIf} $9 != "S9"
+  ${OrIf} $R0 != "SR0"
+  ${OrIf} $R1 != "SR1"
+  ${OrIf} $R2 != "SR2"
+  ${OrIf} $R3 != "SR3"
+  ${OrIf} $R4 != "SR4"
+  ${OrIf} $R5 != "SR5"
+  ${OrIf} $R6 != "SR6"
+  ${OrIf} $R7 != "SR7"
+  ${OrIf} $R8 != "SR8"
+  ${OrIf} $R9 != "SR9"
+    SetErrors
+  ${EndIf}
+!macroend
+
+Section
+
+  # Test case conversion
+  !insertmacro StackVerificationStart
+  ${StrCase} $0 "This is just an example. A very simple one." ""
+  StrCmp $0 "This is just an example. A very simple one." 0 strcaseerror
+  ${StrCase} $0 "THIS IS JUST AN EXAMPLE. A VERY SIMPLE ONE." "S"
+  StrCmp $0 "This is just an example. A very simple one." 0 strcaseerror
+  ${StrCase} $0 "This is just an example. A very simple one." "L"
+  StrCmp $0 "this is just an example. a very simple one." 0 strcaseerror
+  ${StrCase} $0 "This is just an example. A very simple one." "U"
+  StrCmp $0 "THIS IS JUST AN EXAMPLE. A VERY SIMPLE ONE." 0 strcaseerror
+  ${StrCase} $0 "This is just an example. A very simple one." "T"
+  StrCmp $0 "This Is Just An Example. A Very Simple One." 0 strcaseerror
+  ${StrCase} $0 "This is just an example. A very simple one." "<>"
+  StrCmp $0 "tHIS IS JUST AN EXAMPLE. a VERY SIMPLE ONE." 0 strcaseerror
+  ${StrCase} $0 "123456789!@#%^&*()-_=+[]{};:,./<>?" "S"
+  StrCmp $0 "123456789!@#%^&*()-_=+[]{};:,./<>?" 0 strcaseerror
+  ${StrCase} $0 "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#%^&*()abcdefghijklmnopqrstuvwxyz-_=+[]{};:,./<>?" "<>"
+  StrCmp $0 "123456789abcdefghijklmnopqrstuvwxyz!@#%^&*()ABCDEFGHIJKLMNOPQRSTUVWXYZ-_=+[]{};:,./<>?" 0 strcaseerror
+  ${StrCase} $0 "what about taking a shower tomorrow? it's late to do so now! try to sleep now. Good Night!" "S"
+  StrCmp $0 "What about taking a shower tomorrow? It's late to do so now! Try to sleep now. Good night!" 0 strcaseerror
+  !insertmacro StackVerificationEnd
+  IfErrors strcaseerror
+
+  DetailPrint "PASSED StrCase test"
+  Goto +2
+strcaseerror:
+  DetailPrint "FAILED StrCase test"
+
+  # Test clipboard function
+  !insertmacro StackVerificationStart
+  ${StrClb} $0 "StrFunc clipboard test" ">"
+  StrCmp $0 "" 0 strclberror
+  ${StrClb} $0 "StrFunc clipboard test #2" "<>"
+  StrCmp $0 "StrFunc clipboard test" 0 strclberror
+  ${StrClb} $0 "" "<"
+  StrCmp $0 "StrFunc clipboard test #2" 0 strclberror
+  ${StrClb} $0 "" ""
+  StrCmp $0 "" 0 strclberror
+  !insertmacro StackVerificationEnd
+  IfErrors strclberror
+
+  DetailPrint "PASSED StrClb test"
+  Goto +2
+strclberror:
+  DetailPrint "FAILED StrClb test"
+
+  # Test IO functions
+  !insertmacro StackVerificationStart
+  !macro testio str
+  ${StrNSISToIO} $0 "${str}"
+  ${StrIOToNSIS} $0 $0
+  StrCmp $0 "${str}" 0 ioerror
+  !macroend
+  !insertmacro testio "$\rtest$\n"
+  !insertmacro testio "test$\n"
+  !insertmacro testio "$\rtest"
+  !insertmacro testio "test"
+  !insertmacro testio "$\r\$\t$\n"
+  !insertmacro testio "$\r \ $\t $\n $$"
+  !insertmacro testio ""
+  !insertmacro testio " "
+  !insertmacro StackVerificationEnd
+  IfErrors ioerror
+
+  DetailPrint "PASSED StrNSISToIO/StrIOToNSIS test"
+  Goto +2
+ioerror:
+  DetailPrint "FAILED StrNSISToIO/StrIOToNSIS test"
+
+  # Test string search functions
+  !insertmacro StackVerificationStart
+  ${StrLoc} $0 "This is just an example" "just" "<"
+  StrCmp $0 "11" 0 strlocerror
+  ${StrLoc} $0 a abc <
+  StrCmp $0 "" 0 strlocerror
+  ${StrLoc} $0 a abc >
+  StrCmp $0 "" 0 strlocerror
+  ${StrLoc} $0 abc a >
+  StrCmp $0 "0" 0 strlocerror
+  ${StrLoc} $0 abc b >
+  StrCmp $0 "1" 0 strlocerror
+  ${StrLoc} $0 abc c >
+  StrCmp $0 "2" 0 strlocerror
+  ${StrLoc} $0 abc a <
+  StrCmp $0 "2" 0 strlocerror
+  ${StrLoc} $0 abc b <
+  StrCmp $0 "1" 0 strlocerror
+  ${StrLoc} $0 abc c <
+  StrCmp $0 "0" 0 strlocerror
+  ${StrLoc} $0 abc d <
+  StrCmp $0 "" 0 strlocerror
+  !insertmacro StackVerificationEnd
+  IfErrors strlocerror
+  
+  DetailPrint "PASSED StrLoc test"
+  Goto +2
+strlocerror:
+  DetailPrint "FAILED StrLoc test"
+
+  # Test string replacement
+  !insertmacro StackVerificationStart
+  ${StrRep} $0 "This is just an example" "an" "one"
+  StrCmp $0 "This is just one example" 0 strreperror
+  ${StrRep} $0 "test... test... 1 2 3..." "test" "testing"
+  StrCmp $0 "testing... testing... 1 2 3..." 0 strreperror
+  ${StrRep} $0 "" "test" "testing"
+  StrCmp $0 "" 0 strreperror
+  ${StrRep} $0 "test" "test" "testing"
+  StrCmp $0 "testing" 0 strreperror
+  ${StrRep} $0 "test" "test" ""
+  StrCmp $0 "" 0 strreperror
+  ${StrRep} $0 "test" "" "abc"
+  StrCmp $0 "test" 0 strreperror
+  ${StrRep} $0 "test" "" ""
+  StrCmp $0 "test" 0 strreperror
+  !insertmacro StackVerificationEnd
+  IfErrors strreperror
+  
+  DetailPrint "PASSED StrRep test"
+  Goto +2
+strreperror:
+  DetailPrint "FAILED StrRep test"
+
+  # Test sorting
+  !insertmacro StackVerificationStart
+  ${StrSort} $0 "This is just an example" "" " just" "ple" "0" "0" "0"
+  StrCmp $0 "This is an exam" 0 strsorterror
+  ${StrSort} $0 "This is just an example" " " "j" " " "0" "" "0"
+  StrCmp $0 "just" 0 strsorterror
+  ${StrSort} $0 "This is just an example" "" "j" "" "0" "1" "0"
+  StrCmp $0 "This is just an example" 0 strsorterror
+  ${StrSort} $0 "This is just an example" " " "us" "" "0" "1" "0"
+  StrCmp $0 "just an example" 0 strsorterror
+  ${StrSort} $0 "This is just an example" "" "u" " " "0" "1" "0"
+  StrCmp $0 "This is just" 0 strsorterror
+  ${StrSort} $0 "This is just an example" " " "just" " " "0" "1" "0"
+  StrCmp $0 "just" 0 strsorterror
+  ${StrSort} $0 "This is just an example" " " "t" " " "0" "1" "0"
+  StrCmp $0 "This" 0 strsorterror
+  ${StrSort} $0 "This is just an example" " " "le" " " "0" "1" "0"
+  StrCmp $0 "example" 0 strsorterror
+  ${StrSort} $0 "This is just an example" " " "le" " " "1" "0" "0"
+  StrCmp $0 " examp" 0 strsorterror
+  ${StrSort} $0 "an error has occurred" " " "e" " " "0" "1" "0"
+  StrCmp $0 "error" 0 strsorterror
+  ${StrSort} $0 "" " " "something" " " "0" "1" "0"
+  StrCmp $0 "" 0 strsorterror
+  ${StrSort} $0 "This is just an example" " " "j" " " "" "" ""
+  StrCmp $0 " just " 0 strsorterror
+  ${StrSort} $0 "This is just an example" " " "j" " " "1" "0" "1"
+  StrCmp $0 " ust " 0 strsorterror
+  ${StrSort} $0 "This is just an example" "" "j" "" "0" "0" "1"
+  StrCmp $0 "This is ust an example" 0 strsorterror
+  ${StrSort} $0 "This is just an example" " " "us" "" "1" "0" "0"
+  StrCmp $0 " jt an example" 0 strsorterror
+  ${StrSort} $0 "This is just an example" "" "u" " " "0" "0" "1"
+  StrCmp $0 "This is jst " 0 strsorterror
+  ${StrSort} $0 "This is just an example" " " "just" " " "1" "0" "1"
+  StrCmp $0 "  " 0 strsorterror
+  ${StrSort} $0 "an error has occurred" " " "e" "h" "1" "0" "0"
+  StrCmp $0 " rror " 0 strsorterror
+  ${StrSort} $0 "" " " "something" " " "1" "0" "1"
+  StrCmp $0 "" 0 strsorterror
+  !insertmacro StackVerificationEnd
+  IfErrors strsorterror
+  
+  DetailPrint "PASSED StrSort test"
+  Goto +2
+strsorterror:
+  DetailPrint "FAILED StrSort test"
+
+  !insertmacro StackVerificationStart
+  ${StrStr} $0 "abcefghijklmnopqrstuvwxyz" "g"
+  StrCmp $0 "ghijklmnopqrstuvwxyz" 0 strstrerror
+  ${StrStr} $0 "abcefghijklmnopqrstuvwxyz" "ga"
+  StrCmp $0 "" 0 strstrerror
+  ${StrStr} $0 "abcefghijklmnopqrstuvwxyz" ""
+  StrCmp $0 "abcefghijklmnopqrstuvwxyz" 0 strstrerror
+  ${StrStr} $0 "a" "abcefghijklmnopqrstuvwxyz"
+  StrCmp $0 "" 0 strstrerror
+  !insertmacro StackVerificationEnd
+  IfErrors strstrerror
+  
+  DetailPrint "PASSED StrStr test"
+  Goto +2
+strstrerror:
+  DetailPrint "FAILED StrStr test"
+
+  !insertmacro StackVerificationStart
+  ${StrStrAdv} $0 "abcabcabc" "a" ">" ">" "1" "0" "0"
+  StrCmp $0 "abcabcabc" 0 strstradverror
+  ${StrStrAdv} $0 "abcabcabc" "a" ">" ">" "1" "1" "0"
+  StrCmp $0 "abcabc" 0 strstradverror
+  ${StrStrAdv} $0 "abcabcabc" "a" ">" ">" "1" "2" "0"
+  StrCmp $0 "abc" 0 strstradverror
+  ${StrStrAdv} $0 "abcabcabc" "a" ">" ">" "1" "3" "0"
+  StrCmp $0 "" 0 strstradverror
+  ${StrStrAdv} $0 "abcabcabc" "abc" ">" "<" "1" "1" "0"
+  StrCmp $0 "abcabc" 0 strstradverror
+  ${StrStrAdv} $0 "abcabcabc" "abc" ">" "<" "0" "1" "0"
+  StrCmp $0 "abc" 0 strstradverror
+  ${StrStrAdv} $0 "abcabcabc" "abc" "<" "<" "1" "0" "0"
+  StrCmp $0 "abcabcabc" 0 strstradverror
+  ${StrStrAdv} $0 "abcabcabc" "abc" "<" "<" "0" "0" "0"
+  StrCmp $0 "abcabc" 0 strstradverror
+  ${StrStrAdv} $0 "abcabcabc" "abc" "<" ">" "0" "0" "0"
+  StrCmp $0 "" 0 strstradverror
+  ${StrStrAdv} $0 "abcabcabc" "abc" "<" ">" "0" "1" "0"
+  StrCmp $0 "abc" 0 strstradverror
+  ${StrStrAdv} $0 "ABCabcabc" "a" ">" ">" "1" "0" "1"
+  StrCmp $0 "abcabc" 0 strstradverror
+  ${StrStrAdv} $0 "ABCabcabc" "a" ">" ">" "1" "1" "1"
+  StrCmp $0 "abc" 0 strstradverror
+  ${StrStrAdv} $0 "ABCabcabc" "a" ">" ">" "1" "2" "1"
+  StrCmp $0 "" 0 strstradverror
+  ${StrStrAdv} $0 "ABCabcabc" "a" ">" ">" "1" "3" "1"
+  StrCmp $0 "" 0 strstradverror
+  ${StrStrAdv} $0 "ABCabcabc" "abc" ">" "<" "1" "1" "1"
+  StrCmp $0 "ABCabcabc" 0 strstradverror
+  ${StrStrAdv} $0 "ABCabcabc" "abc" ">" "<" "0" "1" "1"
+  StrCmp $0 "ABCabc" 0 strstradverror
+  ${StrStrAdv} $0 "ABCabcabc" "abc" "<" "<" "1" "0" "1"
+  StrCmp $0 "ABCabcabc" 0 strstradverror
+  ${StrStrAdv} $0 "ABCabcabc" "abc" "<" "<" "0" "0" "1"
+  StrCmp $0 "ABCabc" 0 strstradverror
+  ${StrStrAdv} $0 "ABCabcabc" "abc" "<" ">" "0" "0" "1"
+  StrCmp $0 "" 0 strstradverror
+  ${StrStrAdv} $0 "ABCabcabc" "abc" "<" ">" "0" "1" "1"
+  StrCmp $0 "abc" 0 strstradverror
+  !insertmacro StackVerificationEnd
+  IfErrors strstradverror
+  
+  DetailPrint "PASSED StrStrAdv test"
+  Goto +2
+strstradverror:
+  DetailPrint "FAILED StrStrAdv test"
+
+  # Test tokenizer
+  !insertmacro StackVerificationStart
+  ${StrTok} $0 "This is, or is not, just an example" " ," "4" "1"
+  StrCmp $0 "not" 0 strtokerror
+  ${StrTok} $0 "This is, or is not, just an example" " ," "4" "0"
+  StrCmp $0 "is" 0 strtokerror
+  ${StrTok} $0 "This is, or is not, just an example" " ," "152" "0"
+  StrCmp $0 "" 0 strtokerror
+  ${StrTok} $0 "This is, or is not, just an example" " ," "" "0"
+  StrCmp $0 "example" 0 strtokerror
+  ${StrTok} $0 "This is, or is not, just an example" " ," "L" "0"
+  StrCmp $0 "example" 0 strtokerror
+  ${StrTok} $0 "This is, or is not, just an example" " ," "0" "0"
+  StrCmp $0 "This" 0 strtokerror
+  !insertmacro StackVerificationEnd
+  IfErrors strtokerror
+  
+  DetailPrint "PASSED StrTok test"
+  Goto +2
+strtokerror:
+  DetailPrint "FAILED StrTok test"
+
+  # Test trim new lines
+  !insertmacro StackVerificationStart
+  ${StrTrimNewLines} $0 "$\r$\ntest$\r$\ntest$\r$\n"
+  StrCmp $0 "$\r$\ntest$\r$\ntest" 0 strtrimnewlineserror
+  !insertmacro StackVerificationEnd
+  IfErrors strtrimnewlineserror
+
+  DetailPrint "PASSED StrTrimNewLines test"
+  Goto +2
+strtrimnewlineserror:
+  DetailPrint "FAILED StrTrimNewLines test"
+
+  WriteUninstaller $EXEDIR\UnStrFunc.exe
+  
+  Exec $EXEDIR\UnStrFunc.exe
+
+SectionEnd
+
+Section Uninstall
+
+  # Test case conversion
+  !insertmacro StackVerificationStart
+  ${UnStrCase} $0 "This is just an example. A very simple one." ""
+  StrCmp $0 "This is just an example. A very simple one." 0 strcaseerror
+  ${UnStrCase} $0 "THIS IS JUST AN EXAMPLE. A VERY SIMPLE ONE." "S"
+  StrCmp $0 "This is just an example. A very simple one." 0 strcaseerror
+  ${UnStrCase} $0 "This is just an example. A very simple one." "L"
+  StrCmp $0 "this is just an example. a very simple one." 0 strcaseerror
+  ${UnStrCase} $0 "This is just an example. A very simple one." "U"
+  StrCmp $0 "THIS IS JUST AN EXAMPLE. A VERY SIMPLE ONE." 0 strcaseerror
+  ${UnStrCase} $0 "This is just an example. A very simple one." "T"
+  StrCmp $0 "This Is Just An Example. A Very Simple One." 0 strcaseerror
+  ${UnStrCase} $0 "This is just an example. A very simple one." "<>"
+  StrCmp $0 "tHIS IS JUST AN EXAMPLE. a VERY SIMPLE ONE." 0 strcaseerror
+  ${UnStrCase} $0 "123456789!@#%^&*()-_=+[]{};:,./<>?" "S"
+  StrCmp $0 "123456789!@#%^&*()-_=+[]{};:,./<>?" 0 strcaseerror
+  ${UnStrCase} $0 "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#%^&*()abcdefghijklmnopqrstuvwxyz-_=+[]{};:,./<>?" "<>"
+  StrCmp $0 "123456789abcdefghijklmnopqrstuvwxyz!@#%^&*()ABCDEFGHIJKLMNOPQRSTUVWXYZ-_=+[]{};:,./<>?" 0 strcaseerror
+  ${UnStrCase} $0 "what about taking a shower tomorrow? it's late to do so now! try to sleep now. Good Night!" "S"
+  StrCmp $0 "What about taking a shower tomorrow? It's late to do so now! Try to sleep now. Good night!" 0 strcaseerror
+  !insertmacro StackVerificationEnd
+  IfErrors strcaseerror
+
+  DetailPrint "PASSED StrCase test"
+  Goto +2
+strcaseerror:
+  DetailPrint "FAILED StrCase test"
+
+  # Test clipboard function
+  !insertmacro StackVerificationStart
+  ${UnStrClb} $0 "StrFunc clipboard test" ">"
+  StrCmp $0 "" 0 strclberror
+  ${UnStrClb} $0 "StrFunc clipboard test #2" "<>"
+  StrCmp $0 "StrFunc clipboard test" 0 strclberror
+  ${UnStrClb} $0 "" "<"
+  StrCmp $0 "StrFunc clipboard test #2" 0 strclberror
+  ${UnStrClb} $0 "" ""
+  StrCmp $0 "" 0 strclberror
+  !insertmacro StackVerificationEnd
+  IfErrors strclberror
+
+  DetailPrint "PASSED StrClb test"
+  Goto +2
+strclberror:
+  DetailPrint "FAILED StrClb test"
+
+  # Test IO functions
+  !insertmacro StackVerificationStart
+  !macro untestio str
+  ${UnStrNSISToIO} $0 "${str}"
+  ${UnStrIOToNSIS} $0 $0
+  StrCmp $0 "${str}" 0 ioerror
+  !macroend
+  !insertmacro untestio "$\rtest$\n"
+  !insertmacro untestio "test$\n"
+  !insertmacro untestio "$\rtest"
+  !insertmacro untestio "test"
+  !insertmacro untestio "$\r\$\t$\n"
+  !insertmacro untestio "$\r \ $\t $\n $$"
+  !insertmacro untestio ""
+  !insertmacro untestio " "
+  !insertmacro StackVerificationEnd
+  IfErrors ioerror
+
+  DetailPrint "PASSED StrNSISToIO/StrIOToNSIS test"
+  Goto +2
+ioerror:
+  DetailPrint "FAILED StrNSISToIO/StrIOToNSIS test"
+
+  # Test string search functions
+  !insertmacro StackVerificationStart
+  ${UnStrLoc} $0 "This is just an example" "just" "<"
+  StrCmp $0 "11" 0 strlocerror
+  ${UnStrLoc} $0 a abc <
+  StrCmp $0 "" 0 strlocerror
+  ${UnStrLoc} $0 a abc >
+  StrCmp $0 "" 0 strlocerror
+  ${UnStrLoc} $0 abc a >
+  StrCmp $0 "0" 0 strlocerror
+  ${UnStrLoc} $0 abc b >
+  StrCmp $0 "1" 0 strlocerror
+  ${UnStrLoc} $0 abc c >
+  StrCmp $0 "2" 0 strlocerror
+  ${UnStrLoc} $0 abc a <
+  StrCmp $0 "2" 0 strlocerror
+  ${UnStrLoc} $0 abc b <
+  StrCmp $0 "1" 0 strlocerror
+  ${UnStrLoc} $0 abc c <
+  StrCmp $0 "0" 0 strlocerror
+  ${UnStrLoc} $0 abc d <
+  StrCmp $0 "" 0 strlocerror
+  !insertmacro StackVerificationEnd
+  IfErrors strlocerror
+
+  DetailPrint "PASSED StrLoc test"
+  Goto +2
+strlocerror:
+  DetailPrint "FAILED StrLoc test"
+
+  # Test string replacement
+  !insertmacro StackVerificationStart
+  ${UnStrRep} $0 "This is just an example" "an" "one"
+  StrCmp $0 "This is just one example" 0 strreperror
+  ${UnStrRep} $0 "test... test... 1 2 3..." "test" "testing"
+  StrCmp $0 "testing... testing... 1 2 3..." 0 strreperror
+  ${UnStrRep} $0 "" "test" "testing"
+  StrCmp $0 "" 0 strreperror
+  ${UnStrRep} $0 "test" "test" "testing"
+  StrCmp $0 "testing" 0 strreperror
+  ${UnStrRep} $0 "test" "test" ""
+  StrCmp $0 "" 0 strreperror
+  ${UnStrRep} $0 "test" "" "abc"
+  StrCmp $0 "test" 0 strreperror
+  ${UnStrRep} $0 "test" "" ""
+  StrCmp $0 "test" 0 strreperror
+  !insertmacro StackVerificationEnd
+  IfErrors strreperror
+
+  DetailPrint "PASSED StrRep test"
+  Goto +2
+strreperror:
+  DetailPrint "FAILED StrRep test"
+
+  # Test sorting
+  !insertmacro StackVerificationStart
+  ${UnStrSort} $0 "This is just an example" "" " just" "ple" "0" "0" "0"
+  StrCmp $0 "This is an exam" 0 strsorterror
+  ${UnStrSort} $0 "This is just an example" " " "j" " " "0" "" "0"
+  StrCmp $0 "just" 0 strsorterror
+  ${UnStrSort} $0 "This is just an example" "" "j" "" "0" "1" "0"
+  StrCmp $0 "This is just an example" 0 strsorterror
+  ${UnStrSort} $0 "This is just an example" " " "us" "" "0" "1" "0"
+  StrCmp $0 "just an example" 0 strsorterror
+  ${UnStrSort} $0 "This is just an example" "" "u" " " "0" "1" "0"
+  StrCmp $0 "This is just" 0 strsorterror
+  ${UnStrSort} $0 "This is just an example" " " "just" " " "0" "1" "0"
+  StrCmp $0 "just" 0 strsorterror
+  ${UnStrSort} $0 "This is just an example" " " "t" " " "0" "1" "0"
+  StrCmp $0 "This" 0 strsorterror
+  ${UnStrSort} $0 "This is just an example" " " "le" " " "0" "1" "0"
+  StrCmp $0 "example" 0 strsorterror
+  ${UnStrSort} $0 "This is just an example" " " "le" " " "1" "0" "0"
+  StrCmp $0 " examp" 0 strsorterror
+  ${UnStrSort} $0 "an error has occurred" " " "e" " " "0" "1" "0"
+  StrCmp $0 "error" 0 strsorterror
+  ${UnStrSort} $0 "" " " "something" " " "0" "1" "0"
+  StrCmp $0 "" 0 strsorterror
+  ${UnStrSort} $0 "This is just an example" " " "j" " " "" "" ""
+  StrCmp $0 " just " 0 strsorterror
+  ${UnStrSort} $0 "This is just an example" " " "j" " " "1" "0" "1"
+  StrCmp $0 " ust " 0 strsorterror
+  ${UnStrSort} $0 "This is just an example" "" "j" "" "0" "0" "1"
+  StrCmp $0 "This is ust an example" 0 strsorterror
+  ${UnStrSort} $0 "This is just an example" " " "us" "" "1" "0" "0"
+  StrCmp $0 " jt an example" 0 strsorterror
+  ${UnStrSort} $0 "This is just an example" "" "u" " " "0" "0" "1"
+  StrCmp $0 "This is jst " 0 strsorterror
+  ${UnStrSort} $0 "This is just an example" " " "just" " " "1" "0" "1"
+  StrCmp $0 "  " 0 strsorterror
+  ${UnStrSort} $0 "an error has occurred" " " "e" "h" "1" "0" "0"
+  StrCmp $0 " rror " 0 strsorterror
+  ${UnStrSort} $0 "" " " "something" " " "1" "0" "1"
+  StrCmp $0 "" 0 strsorterror
+  !insertmacro StackVerificationEnd
+  IfErrors strsorterror
+
+  DetailPrint "PASSED StrSort test"
+  Goto +2
+strsorterror:
+  DetailPrint "FAILED StrSort test"
+
+  !insertmacro StackVerificationStart
+  ${UnStrStr} $0 "abcefghijklmnopqrstuvwxyz" "g"
+  StrCmp $0 "ghijklmnopqrstuvwxyz" 0 strstrerror
+  ${UnStrStr} $0 "abcefghijklmnopqrstuvwxyz" "ga"
+  StrCmp $0 "" 0 strstrerror
+  ${UnStrStr} $0 "abcefghijklmnopqrstuvwxyz" ""
+  StrCmp $0 "abcefghijklmnopqrstuvwxyz" 0 strstrerror
+  ${UnStrStr} $0 "a" "abcefghijklmnopqrstuvwxyz"
+  StrCmp $0 "" 0 strstrerror
+  !insertmacro StackVerificationEnd
+  IfErrors strstrerror
+
+  DetailPrint "PASSED StrStr test"
+  Goto +2
+strstrerror:
+  DetailPrint "FAILED StrStr test"
+
+  !insertmacro StackVerificationStart
+  ${UnStrStrAdv} $0 "abcabcabc" "a" ">" ">" "1" "0" "0"
+  StrCmp $0 "abcabcabc" 0 strstradverror
+  ${UnStrStrAdv} $0 "abcabcabc" "a" ">" ">" "1" "1" "0"
+  StrCmp $0 "abcabc" 0 strstradverror
+  ${UnStrStrAdv} $0 "abcabcabc" "a" ">" ">" "1" "2" "0"
+  StrCmp $0 "abc" 0 strstradverror
+  ${UnStrStrAdv} $0 "abcabcabc" "a" ">" ">" "1" "3" "0"
+  StrCmp $0 "" 0 strstradverror
+  ${UnStrStrAdv} $0 "abcabcabc" "abc" ">" "<" "1" "1" "0"
+  StrCmp $0 "abcabc" 0 strstradverror
+  ${UnStrStrAdv} $0 "abcabcabc" "abc" ">" "<" "0" "1" "0"
+  StrCmp $0 "abc" 0 strstradverror
+  ${UnStrStrAdv} $0 "abcabcabc" "abc" "<" "<" "1" "0" "0"
+  StrCmp $0 "abcabcabc" 0 strstradverror
+  ${UnStrStrAdv} $0 "abcabcabc" "abc" "<" "<" "0" "0" "0"
+  StrCmp $0 "abcabc" 0 strstradverror
+  ${UnStrStrAdv} $0 "abcabcabc" "abc" "<" ">" "0" "0" "0"
+  StrCmp $0 "" 0 strstradverror
+  ${UnStrStrAdv} $0 "abcabcabc" "abc" "<" ">" "0" "1" "0"
+  StrCmp $0 "abc" 0 strstradverror
+  ${UnStrStrAdv} $0 "ABCabcabc" "a" ">" ">" "1" "0" "1"
+  StrCmp $0 "abcabc" 0 strstradverror
+  ${UnStrStrAdv} $0 "ABCabcabc" "a" ">" ">" "1" "1" "1"
+  StrCmp $0 "abc" 0 strstradverror
+  ${UnStrStrAdv} $0 "ABCabcabc" "a" ">" ">" "1" "2" "1"
+  StrCmp $0 "" 0 strstradverror
+  ${UnStrStrAdv} $0 "ABCabcabc" "a" ">" ">" "1" "3" "1"
+  StrCmp $0 "" 0 strstradverror
+  ${UnStrStrAdv} $0 "ABCabcabc" "abc" ">" "<" "1" "1" "1"
+  StrCmp $0 "ABCabcabc" 0 strstradverror
+  ${UnStrStrAdv} $0 "ABCabcabc" "abc" ">" "<" "0" "1" "1"
+  StrCmp $0 "ABCabc" 0 strstradverror
+  ${UnStrStrAdv} $0 "ABCabcabc" "abc" "<" "<" "1" "0" "1"
+  StrCmp $0 "ABCabcabc" 0 strstradverror
+  ${UnStrStrAdv} $0 "ABCabcabc" "abc" "<" "<" "0" "0" "1"
+  StrCmp $0 "ABCabc" 0 strstradverror
+  ${UnStrStrAdv} $0 "ABCabcabc" "abc" "<" ">" "0" "0" "1"
+  StrCmp $0 "" 0 strstradverror
+  ${UnStrStrAdv} $0 "ABCabcabc" "abc" "<" ">" "0" "1" "1"
+  StrCmp $0 "abc" 0 strstradverror
+  !insertmacro StackVerificationEnd
+  IfErrors strstradverror
+
+  DetailPrint "PASSED StrStrAdv test"
+  Goto +2
+strstradverror:
+  DetailPrint "FAILED StrStrAdv test"
+
+  # Test tokenizer
+  !insertmacro StackVerificationStart
+  ${UnStrTok} $0 "This is, or is not, just an example" " ," "4" "1"
+  StrCmp $0 "not" 0 strtokerror
+  ${UnStrTok} $0 "This is, or is not, just an example" " ," "4" "0"
+  StrCmp $0 "is" 0 strtokerror
+  ${UnStrTok} $0 "This is, or is not, just an example" " ," "152" "0"
+  StrCmp $0 "" 0 strtokerror
+  ${UnStrTok} $0 "This is, or is not, just an example" " ," "" "0"
+  StrCmp $0 "example" 0 strtokerror
+  ${UnStrTok} $0 "This is, or is not, just an example" " ," "L" "0"
+  StrCmp $0 "example" 0 strtokerror
+  ${UnStrTok} $0 "This is, or is not, just an example" " ," "0" "0"
+  StrCmp $0 "This" 0 strtokerror
+  !insertmacro StackVerificationEnd
+  IfErrors strtokerror
+
+  DetailPrint "PASSED StrTok test"
+  Goto +2
+strtokerror:
+  DetailPrint "FAILED StrTok test"
+
+  # Test trim new lines
+  !insertmacro StackVerificationStart
+  ${UnStrTrimNewLines} $0 "$\r$\ntest$\r$\ntest$\r$\n"
+  StrCmp $0 "$\r$\ntest$\r$\ntest" 0 strtrimnewlineserror
+  !insertmacro StackVerificationEnd
+  IfErrors strtrimnewlineserror
+
+  DetailPrint "PASSED StrTrimNewLines test"
+  Goto +2
+strtrimnewlineserror:
+  DetailPrint "FAILED StrTrimNewLines test"
+
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/test.ini
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/test.ini	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/test.ini	(revision 2961)
@@ -0,0 +1,76 @@
+[Settings]
+NumFields=8
+
+[Field 1]
+Type=GroupBox
+Left=0
+Right=-1
+Top=0
+Bottom=-5
+Text=" This is a group box... "
+
+[Field 2]
+Type=checkbox
+Text=Install support for X
+Left=10
+Right=-10
+Top=17
+Bottom=25
+State=0
+Flags=GROUP
+
+[Field 3]
+Type=checkbox
+Text=Install support for Y
+Left=10
+Right=-10
+Top=30
+Bottom=38
+State=1
+Flags=NOTABSTOP
+
+[Field 4]
+Type=checkbox
+Text=Install support for Z
+Left=10
+Right=-10
+Top=43
+Bottom=51
+State=0
+Flags=NOTABSTOP
+
+[Field 5]
+Type=FileRequest
+State=C:\poop.poop
+Left=10
+Right=-10
+Top=56
+Bottom=68
+Filter=Poop Files|*.poop|All files|*.*
+Flags=GROUP|FILE_MUST_EXIST|FILE_EXPLORER|FILE_HIDEREADONLY
+
+[Field 6]
+Type=DirRequest
+Left=10
+Right=-10
+Top=73
+Bottom=85
+Text=Select a directory...
+State=C:\Program Files\NSIS
+
+[Field 7]
+Type=Label
+Left=10
+Right=-10
+Top=90
+Bottom=98
+Text=This is a label...
+
+[Field 8]
+Type=Text
+Left=10
+Right=-10
+Top=98
+Bottom=120
+State="Multiline\r\nedit..."
+Flags=MULTILINE|VSCROLL|WANTRETURN
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/test.ini
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testimgs.ini
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testimgs.ini	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testimgs.ini	(revision 2961)
@@ -0,0 +1,65 @@
+[Settings]
+NumFields=8
+
+[Field 1]
+Type=GroupBox
+Left=0
+Right=-1
+Top=0
+Bottom=-5
+Text=" Images "
+
+[Field 2]
+Type=Bitmap
+Left=10
+Right=-10
+Top=10
+Bottom=30
+Flags=TRANSPARENT
+
+[Field 3]
+Type=Bitmap
+Left=10
+Right=-10
+Top=35
+Bottom=45
+Flags=TRANSPARENT
+
+[Field 4]
+Type=Bitmap
+Left=10
+Right=-10
+Top=50
+Bottom=70
+Flags=RESIZETOFIT|TRANSPARENT
+
+[Field 5]
+Type=Bitmap
+Left=10
+Right=-10
+Top=75
+Bottom=95
+Flags=RESIZETOFIT|TRANSPARENT
+
+[Field 6]
+Type=Icon
+Left=10
+Right=40
+Top=100
+Bottom=120
+
+[Field 7]
+Type=Icon
+Left=50
+Right=80
+Top=100
+Bottom=120
+
+[Field 8]
+Type=Label
+Left=10
+Right=-10
+Top=10
+Bottom=-10
+Text=ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ
+

Property changes on: tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testimgs.ini
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testnotify.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testnotify.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testnotify.nsi	(revision 2961)
@@ -0,0 +1,133 @@
+; InstallOptions script demonstrating custom buttons
+;----------------------------------------------------
+
+!include WinMessages.nsh
+
+; The name of the installer
+Name "InstallOptions Test"
+
+; The file to write
+OutFile "TestNotify.exe"
+
+; Show install details
+ShowInstDetails show
+
+; Called before anything else as installer initialises
+Function .onInit
+
+  ; Extract InstallOptions files
+  ; $PLUGINSDIR will automatically be removed when the installer closes
+  InitPluginsDir
+  File /oname=$PLUGINSDIR\test.ini "testnotify.ini"
+
+FunctionEnd
+
+; Our custom page
+Page custom ShowCustom LeaveCustom ": Testing InstallOptions"
+
+Function ShowCustom
+
+  ; Initialise the dialog but don't show it yet
+  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Test the right-to-left version?" IDNO +2
+    WriteINIStr "$PLUGINSDIR\test.ini" "Settings" "RTL" "1"
+  InstallOptions::initDialog "$PLUGINSDIR\test.ini"
+  ; In this mode InstallOptions returns the window handle so we can use it
+  Pop $0
+  ; Now show the dialog and wait for it to finish
+  InstallOptions::show
+  ; Finally fetch the InstallOptions status value (we don't care what it is though)
+  Pop $0
+
+FunctionEnd
+
+Function LeaveCustom
+
+  ; At this point the user has either pressed Next or one of our custom buttons
+  ; We find out which by reading from the INI file
+  ReadINIStr $0 "$PLUGINSDIR\test.ini" "Settings" "State"
+  StrCmp $0 0 validate  ; Next button?
+  StrCmp $0 2 supportx  ; "Install support for X"?
+  StrCmp $0 9 clearbtn  ; "Clear" button?
+  StrCmp $0 11 droplist ; "Show|Hide" drop-list?
+  Abort ; Return to the page
+
+supportx:
+  ; Make the FileRequest field depend on the first checkbox
+  ReadINIStr $0 "$PLUGINSDIR\test.ini" "Field 2" "State"
+  ReadINIStr $1 "$PLUGINSDIR\test.ini" "Field 5" "HWND"
+  EnableWindow $1 $0
+  ReadINIStr $1 "$PLUGINSDIR\test.ini" "Field 5" "HWND2"
+  EnableWindow $1 $0
+  ; Add the disabled flag too so when we return to this page it's disabled again
+  StrCmp $0 0 0 +3
+
+    WriteINIStr "$PLUGINSDIR\test.ini" "Field 5" "Flags" "GROUP|FILE_MUST_EXIST|FILE_EXPLORER|FILE_HIDEREADONLY|DISABLED"
+    Goto +2
+
+    WriteINIStr "$PLUGINSDIR\test.ini" "Field 5" "Flags" "GROUP|FILE_MUST_EXIST|FILE_EXPLORER|FILE_HIDEREADONLY"
+  Abort ; Return to the page
+
+clearbtn:
+  ; Clear all text fields
+  ReadINIStr $1 "$PLUGINSDIR\test.ini" "Field 5" "HWND"
+  SendMessage $1 ${WM_SETTEXT} 0 "STR:"
+  ReadINIStr $1 "$PLUGINSDIR\test.ini" "Field 6" "HWND"
+  SendMessage $1 ${WM_SETTEXT} 0 "STR:"
+  ReadINIStr $1 "$PLUGINSDIR\test.ini" "Field 8" "HWND"
+  SendMessage $1 ${WM_SETTEXT} 0 "STR:"
+  Abort ; Return to the page
+
+droplist:
+  ; Make the DirRequest field depend on the droplist
+  ReadINIStr $0 "$PLUGINSDIR\test.ini" "Field 11" "State"
+  StrCmp $0 "Show" +3
+    StrCpy $0 0
+  Goto +2
+    StrCpy $0 1
+  ReadINIStr $1 "$PLUGINSDIR\test.ini" "Field 6" "HWND"
+  EnableWindow $1 $0
+  ReadINIStr $1 "$PLUGINSDIR\test.ini" "Field 6" "HWND2"
+  EnableWindow $1 $0
+  ; Add the disabled flag too so when we return to this page it's disabled again
+  StrCmp $0 0 0 +3
+
+    WriteINIStr "$PLUGINSDIR\test.ini" "Field 6" "Flags" "DISABLED"
+    Goto +2
+
+    WriteINIStr "$PLUGINSDIR\test.ini" "Field 6" "Flags" ""
+  Abort ; Return to the page
+
+validate:
+  ; At this point we know the Next button was pressed, so perform any validation
+  ReadINIStr $0 "$PLUGINSDIR\test.ini" "Field 2" "State"
+  StrCmp $0 1 done
+  ReadINIStr $0 "$PLUGINSDIR\test.ini" "Field 3" "State"
+  StrCmp $0 1 done
+  ReadINIStr $0 "$PLUGINSDIR\test.ini" "Field 4" "State"
+  StrCmp $0 1 done
+    MessageBox MB_ICONEXCLAMATION|MB_OK "You must select at least one install option!"
+    Abort
+done:
+
+FunctionEnd
+
+; Installation page
+Page instfiles
+
+Section
+
+  ;Get Install Options dialog user input
+  ReadINIStr $0 "$PLUGINSDIR\test.ini" "Field 2" "State"
+  DetailPrint "Install X=$0"
+  ReadINIStr $0 "$PLUGINSDIR\test.ini" "Field 3" "State"
+  DetailPrint "Install Y=$0"
+  ReadINIStr $0 "$PLUGINSDIR\test.ini" "Field 4" "State"
+  DetailPrint "Install Z=$0"
+  ReadINIStr $0 "$PLUGINSDIR\test.ini" "Field 5" "State"
+  DetailPrint "File=$0"
+  ReadINIStr $0 "$PLUGINSDIR\test.ini" "Field 6" "State"
+  DetailPrint "Dir=$0"
+  ReadINIStr $0 "$PLUGINSDIR\test.ini" "Field 8" "State"
+  DetailPrint "Info=$0"
+
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testlink.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testlink.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testlink.nsi	(revision 2961)
@@ -0,0 +1,58 @@
+;InstallOptions Test Script
+;Written by Ramon
+;This script demonstrates the power of the new control "LINK"
+;that allows you to execute files, send mails, open wepsites, etc.
+;--------------------------
+
+!define TEMP1 $R0 ;Temp variable
+
+;The name of the installer
+Name "InstallOptions Test Link"
+
+;The file to write
+OutFile "TestLink.exe"
+
+; Show install details
+ShowInstDetails show
+
+;Things that need to be extracted on startup (keep these lines before any File command!)
+;Only useful for BZIP2 compression
+;Use ReserveFile for your own InstallOptions INI files too!
+
+ReserveFile "${NSISDIR}\Plugins\InstallOptions.dll"
+ReserveFile "testlink.ini"
+
+;Order of pages
+Page custom SetCustom
+Page instfiles
+
+Section "Components"
+
+  ;Get Install Options dialog user input
+
+SectionEnd
+
+Function .onInit
+
+  ;Extract InstallOptions files
+  ;$PLUGINSDIR will automatically be removed when the installer closes
+  
+  InitPluginsDir
+  File /oname=$PLUGINSDIR\test.ini "testlink.ini"
+  WriteIniStr $PLUGINSDIR\test.ini "Field 2" "State" "$WINDIR\Notepad.exe"
+  
+FunctionEnd
+
+Function SetCustom
+
+  ;Display the InstallOptions dialog
+
+  Push ${TEMP1}
+
+    InstallOptions::dialog "$PLUGINSDIR\test.ini"
+    Pop ${TEMP1}
+  
+  Pop ${TEMP1}
+
+FunctionEnd
+
Index: tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testnotify.ini
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testnotify.ini	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testnotify.ini	(revision 2961)
@@ -0,0 +1,105 @@
+[Settings]
+NumFields=11
+
+[Field 1]
+Type=Groupbox
+Text="This is a group box..."
+Left=0
+Right=-1
+Top=0
+Bottom=-4
+
+[Field 2]
+Type=Checkbox
+Text=Install support for X
+Flags=NOTIFY
+State=1
+Left=10
+Right=100
+Top=17
+Bottom=25
+
+[Field 3]
+Type=Checkbox
+Text=Install support for Y
+State=0
+Left=10
+Right=100
+Top=30
+Bottom=38
+
+[Field 4]
+Type=Checkbox
+Text=Install support for Z
+Flags=RIGHT
+State=0
+Left=10
+Right=100
+Top=43
+Bottom=51
+
+[Field 5]
+Type=FileRequest
+Flags=GROUP|FILE_MUST_EXIST|FILE_EXPLORER|FILE_HIDEREADONLY
+State=C:\poop.poop
+Filter=Poop Files|*.poop|All files|*.*
+Left=10
+Right=-10
+Top=56
+Bottom=69
+
+[Field 6]
+Type=DirRequest
+Text=Select a directory...
+State=C:\Program Files\NSIS
+Left=10
+Right=-10
+Top=74
+Bottom=87
+
+[Field 7]
+Type=Label
+Text=This is a label...
+Left=10
+Right=-10
+Top=89
+Bottom=97
+
+[Field 8]
+Type=Text
+Flags=MULTILINE|VSCROLL|WANTRETURN|NOWORDWRAP
+State="Multiline\r\nedit..."
+Left=10
+Right=-10
+Top=97
+Bottom=118
+MinLen=1
+ValidateText=Please enter some text before proceeding.
+
+[Field 9]
+Type=Button
+Flags=NOTIFY
+Text=&Clear
+Left=-60
+Right=-10
+Top=19
+Bottom=33
+
+[Field 10]
+Type=Button
+Text=&Email
+State=mailto:someone@anywhere.com
+Left=-60
+Right=-10
+Top=35
+Bottom=49
+
+[Field 11]
+Type=DROPLIST
+ListItems=Show|Hide
+State=Show
+Flags=NOTIFY
+Left=120
+Right=-80
+Top=20
+Bottom=56

Property changes on: tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testnotify.ini
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/test.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/test.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/test.nsi	(revision 2961)
@@ -0,0 +1,84 @@
+;InstallOptions Test Script
+;Written by Joost Verburg
+;--------------------------
+
+!define TEMP1 $R0 ;Temp variable
+
+;The name of the installer
+Name "InstallOptions Test"
+
+;The file to write
+OutFile "Test.exe"
+
+; Show install details
+ShowInstDetails show
+
+;Things that need to be extracted on startup (keep these lines before any File command!)
+;Only useful for BZIP2 compression
+;Use ReserveFile for your own InstallOptions INI files too!
+
+ReserveFile "${NSISDIR}\Plugins\InstallOptions.dll"
+ReserveFile "test.ini"
+
+;Order of pages
+Page custom SetCustom ValidateCustom ": Testing InstallOptions" ;Custom page. InstallOptions gets called in SetCustom.
+Page instfiles
+
+Section "Components"
+
+  ;Get Install Options dialog user input
+
+  ReadINIStr ${TEMP1} "$PLUGINSDIR\test.ini" "Field 2" "State"
+  DetailPrint "Install X=${TEMP1}"
+  ReadINIStr ${TEMP1} "$PLUGINSDIR\test.ini" "Field 3" "State"
+  DetailPrint "Install Y=${TEMP1}"
+  ReadINIStr ${TEMP1} "$PLUGINSDIR\test.ini" "Field 4" "State"
+  DetailPrint "Install Z=${TEMP1}"
+  ReadINIStr ${TEMP1} "$PLUGINSDIR\test.ini" "Field 5" "State"
+  DetailPrint "File=${TEMP1}"
+  ReadINIStr ${TEMP1} "$PLUGINSDIR\test.ini" "Field 6" "State"
+  DetailPrint "Dir=${TEMP1}"
+  ReadINIStr ${TEMP1} "$PLUGINSDIR\test.ini" "Field 8" "State"
+  DetailPrint "Info=${TEMP1}"
+  
+SectionEnd
+
+Function .onInit
+
+  ;Extract InstallOptions files
+  ;$PLUGINSDIR will automatically be removed when the installer closes
+  
+  InitPluginsDir
+  File /oname=$PLUGINSDIR\test.ini "test.ini"
+  
+FunctionEnd
+
+Function SetCustom
+
+  ;Display the InstallOptions dialog
+
+  Push ${TEMP1}
+
+    InstallOptions::dialog "$PLUGINSDIR\test.ini"
+    Pop ${TEMP1}
+  
+  Pop ${TEMP1}
+
+FunctionEnd
+
+Function ValidateCustom
+
+  ReadINIStr ${TEMP1} "$PLUGINSDIR\test.ini" "Field 2" "State"
+  StrCmp ${TEMP1} 1 done
+  
+  ReadINIStr ${TEMP1} "$PLUGINSDIR\test.ini" "Field 3" "State"
+  StrCmp ${TEMP1} 1 done
+
+  ReadINIStr ${TEMP1} "$PLUGINSDIR\test.ini" "Field 4" "State"
+  StrCmp ${TEMP1} 1 done
+    MessageBox MB_ICONEXCLAMATION|MB_OK "You must select at least one install option!"
+    Abort
+
+  done:
+  
+FunctionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testimgs.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testimgs.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testimgs.nsi	(revision 2961)
@@ -0,0 +1,59 @@
+;InstallOptions Test Script
+;Written by Joost Verburg
+;--------------------------
+
+;The name of the installer
+Name "InstallOptions Test"
+
+;The file to write
+OutFile "Test.exe"
+
+; Show install details
+ShowInstDetails show
+
+;Things that need to be extracted on startup (keep these lines before any File command!)
+;Only useful for BZIP2 compression
+;Use ReserveFile for your own InstallOptions INI files too!
+
+ReserveFile "${NSISDIR}\Plugins\InstallOptions.dll"
+ReserveFile "testimgs.ini"
+ReserveFile "${NSISDIR}\Contrib\Graphics\Checks\colorful.bmp"
+ReserveFile "${NSISDIR}\Contrib\Graphics\Checks\modern.bmp"
+ReserveFile "${NSISDIR}\Contrib\Graphics\Icons\pixel-install.ico"
+
+;Order of pages
+Page custom SetCustom "" ": Testing InstallOptions" ;Custom page. InstallOptions gets called in SetCustom.
+Page instfiles
+
+Section  
+SectionEnd
+
+Function .onInit
+
+  ;Extract InstallOptions files
+  ;$PLUGINSDIR will automatically be removed when the installer closes
+  
+  InitPluginsDir
+  File /oname=$PLUGINSDIR\testimgs.ini "testimgs.ini"
+  File /oname=$PLUGINSDIR\image.bmp "${NSISDIR}\Contrib\Graphics\Checks\colorful.bmp"
+  File /oname=$PLUGINSDIR\image2.bmp "${NSISDIR}\Contrib\Graphics\Checks\modern.bmp"
+  File /oname=$PLUGINSDIR\icon.ico "${NSISDIR}\Contrib\Graphics\Icons\pixel-install.ico"
+
+  ;Write image paths to the INI file
+
+  WriteINIStr $PLUGINSDIR\testimgs.ini "Field 2" "Text" $PLUGINSDIR\image.bmp
+  WriteINIStr $PLUGINSDIR\testimgs.ini "Field 3" "Text" $PLUGINSDIR\image2.bmp
+  WriteINIStr $PLUGINSDIR\testimgs.ini "Field 4" "Text" $PLUGINSDIR\image.bmp
+  WriteINIStr $PLUGINSDIR\testimgs.ini "Field 5" "Text" $PLUGINSDIR\image2.bmp
+  WriteINIStr $PLUGINSDIR\testimgs.ini "Field 6" "Text" $PLUGINSDIR\icon.ico
+  ;No Text for Field 7 so it'll show the installer's icon
+  
+FunctionEnd
+
+Function SetCustom
+
+  ;Display the InstallOptions dialog
+  InstallOptions::dialog "$PLUGINSDIR\testimgs.ini"
+  Pop $0
+
+FunctionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testlink.ini
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testlink.ini	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testlink.ini	(revision 2961)
@@ -0,0 +1,44 @@
+[Settings]
+NumFields=5
+
+[Field 1]
+Type=Label
+Left=10
+Right=-40
+Top=10
+Bottom=18
+Text=This custom page demonstrates the "Link" control
+
+[Field 2]
+Type=Link
+Left=20
+Right=-40
+Top=40
+Bottom=50
+Text=* Run notepad
+
+[Field 3]
+Type=Link
+Left=20
+Right=-40
+Top=55
+Bottom=65
+State=mailto:someone@anywhere.com
+Text=* Send E-mail
+
+[Field 4]
+Type=Link
+Left=20
+Right=-40
+Top=70
+Bottom=80
+State=http://nsis.sourceforge.net/
+Text=* Homepage http://nsis.sourceforge.net/
+
+[Field 5]
+Type=Text
+Left=20
+Right=-40
+Top=85
+Bottom=98
+State=Just to test proper interaction with the other fields

Property changes on: tmp/org.txm.setups/nsis-2.5/Examples/InstallOptions/testlink.ini
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Examples/VPatch/newfile.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/VPatch/newfile.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/VPatch/newfile.txt	(revision 2961)
@@ -0,0 +1,6 @@
+*** THIS IS A TEST FILE FOR THE VPATCH EXAMPLE ***
+*** COMPILE EXAMPLE.NSI TO TEST ***
+
+newfile - vpatch
+
+67890 - GHIJKL
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Examples/VPatch/newfile.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Examples/VPatch/oldfile.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/VPatch/oldfile.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/VPatch/oldfile.txt	(revision 2961)
@@ -0,0 +1,6 @@
+*** THIS IS A TEST FILE FOR THE VPATCH EXAMPLE ***
+*** COMPILE EXAMPLE.NSI TO TEST ***
+
+oldfile - vpatch
+
+12345 - ABCDEF
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Examples/VPatch/oldfile.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Examples/VPatch/patch.pat
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Examples/VPatch/patch.pat
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Examples/VPatch/example.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/VPatch/example.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/VPatch/example.nsi	(revision 2961)
@@ -0,0 +1,62 @@
+;VPatch example
+;Written by Joost Verburg
+
+;--------------------------------
+
+; The name of the installer
+Name "VPatch Test"
+
+; The file to write
+OutFile "vpatchtest.exe"
+
+; The default installation directory
+InstallDir "$PROGRAMFILES\VPatch Test"
+
+; The text to prompt the user to enter a directory
+DirText "Choose a folder in which to install the VPatch Test!"
+
+; Show details
+ShowInstDetails show
+
+;--------------------------------
+;  The normal way to use VPatch
+;--------------------------------
+!include "VPatchLib.nsh"
+
+Section "Update file"
+  ; Set output path to the installation directory
+  SetOutPath $INSTDIR
+
+  ; Extract the old file under name 'updatefile.txt'
+  File /oname=updatefile.txt oldfile.txt
+  
+  ; Update the file - it will be replaced with the new version
+  DetailPrint "Updating updatefile.txt using patch..."
+  !insertmacro VPatchFile "patch.pat" "$INSTDIR\updatefile.txt" "$INSTDIR\temporaryfile.txt"
+  
+SectionEnd
+
+;-------------------------------
+;  The hard way to use VPatch
+;-------------------------------
+Section "New version in separate file"
+
+  ; Set output path to the installation directory
+  SetOutPath $INSTDIR
+  
+  ; Extract the old file
+  File oldfile.txt
+ 
+  ; Extract the patch to the plug-ins folder (temporary)
+  InitPluginsDir
+  File /oname=$PLUGINSDIR\patch.pat patch.pat
+  
+  ; Update the old file to the new file using the patch
+  DetailPrint "Updating oldfile.txt using patch to newfile.txt..."
+  vpatch::vpatchfile "$PLUGINSDIR\patch.pat" "$INSTDIR\oldfile.txt" "$INSTDIR\newfile.txt"
+  
+  ; Show result
+  Pop $R0
+  DetailPrint "Result: $R0"
+  
+SectionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/silent.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/silent.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/silent.nsi	(revision 2961)
@@ -0,0 +1,63 @@
+# This example shows how to handle silent installers.
+# In short, you need IfSilent and the /SD switch for MessageBox to make your installer
+# really silent when the /S switch is used.
+
+Name "Silent"
+OutFile "silent.exe"
+RequestExecutionLevel user
+
+# uncomment the following line to make the installer silent by default.
+; SilentInstall silent
+
+Function .onInit
+  # `/SD IDYES' tells MessageBox to automatically choose IDYES if the installer is silent
+  # in this case, the installer can only be silent if the user used the /S switch or if
+  # you've uncommented line number 5
+  MessageBox MB_YESNO|MB_ICONQUESTION "Would you like the installer to be silent from now on?" \
+    /SD IDYES IDNO no IDYES yes
+
+  # SetSilent can only be used in .onInit and doesn't work well along with `SetSilent silent'
+
+  yes:
+    SetSilent silent
+    Goto done
+  no:
+    SetSilent normal
+  done:
+FunctionEnd
+
+Section
+  IfSilent 0 +2
+    MessageBox MB_OK|MB_ICONINFORMATION 'This is a "silent" installer'
+
+  # there is no need to use IfSilent for this one because the /SD switch takes care of that
+  MessageBox MB_OK|MB_ICONINFORMATION "This is not a silent installer" /SD IDOK
+
+  # when `SetOverwrite on' (which is the default) is used, the installer will show a message
+  # if it can't open a file for writing. On silent installers, the ignore option will be
+  # automatically selected. if `AllowSkipFiles off' (default is on) was used, there is no
+  # ignore option and the cancel option will be automatically selected.
+
+  # on is default
+  ; AllowSkipFiles on
+
+  # lock file
+  FileOpen $0 $TEMP\silentOverwrite w
+  # try to extract - will fail
+  File /oname=$TEMP\silentOverwrite silent.nsi
+  # unlcok
+  FileClose $0
+
+  # this will always show on silent installers because ignore is the option automatically
+  # selected when a file can't be opened for writing on a silent installer
+  MessageBox MB_OK|MB_ICONINFORMATION "This message box always shows if the installer is silent"
+
+  AllowSkipFiles off
+
+  # lock file
+  FileOpen $0 $TEMP\silentOverwrite w
+  # try to extract - will fail
+  File /oname=$TEMP\silentOverwrite silent.nsi
+  # unlcok
+  FileClose $0
+SectionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/viewhtml.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/viewhtml.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/viewhtml.nsi	(revision 2961)
@@ -0,0 +1,53 @@
+; viewhtml.nsi
+;
+; This script creates a silent installer which extracts one (or more) HTML
+; files to a temporary directory, opens Internet Explorer to view the file(s),
+; and when Internet Explorer has quit, deletes the file(s).
+
+;--------------------------------
+
+; The name of the installer (not really used in a silent install)
+Name "ViewHTML"
+
+; Set to silent mode
+SilentInstall silent
+
+; The file to write
+OutFile "viewhtml.exe"
+
+; Request application privileges for Windows Vista
+RequestExecutionLevel user
+
+;--------------------------------
+
+; The stuff to install
+Section ""
+
+  ; Get a temporary filename (in the Windows Temp directory)
+  GetTempFileName $R0
+  
+  ; Extract file
+  ; Lets skip this one, it's not built to be showin in IE
+  ; File /oname=$R0 "..\Menu\compiler.html"
+  ; and write our own! :)
+  FileOpen $0 $R0 "w"
+  FileWrite $0 "<HTML><BODY><H1>HTML page for viewhtml.nsi</H1></BODY></HTML>"
+  FileClose $0
+  
+  ; View file
+  ExecWait '"$PROGRAMFILES\Internet Explorer\iexplore.exe" "$R0"'
+
+  ; Note: another way of doing this would be to use ExecShell, but then you
+  ; really couldn't get away with deleting the files. Here is the ExecShell
+  ; line that you would want to use:
+  ;
+  ; ExecShell "open" '"$R0"'
+  ;
+  ; The advantage of this way is that it would use the default browser to
+  ; open the HTML.
+  ;
+  
+  ; Delete the files (on reboot if file is in use)
+  Delete /REBOOTOK $R0
+
+SectionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/TextFuncTest.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/TextFuncTest.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/TextFuncTest.nsi	(revision 2961)
@@ -0,0 +1,414 @@
+;_____________________________________________________________________________
+;
+;                          Text Functions Test
+;_____________________________________________________________________________
+;
+; 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
+
+Name "Text Functions Test"
+OutFile "TextFuncTest.exe"
+Caption "$(^Name)"
+ShowInstDetails show
+XPStyle on
+RequestExecutionLevel user
+
+Var FUNCTION
+Var TEMPFILE1
+Var TEMPFILE2
+Var TEMPFILE3
+Var HANDLE
+Var OUT
+
+!include "TextFunc.nsh"
+
+;############### INSTALL ###############
+
+!define StackVerificationStart `!insertmacro StackVerificationStart`
+!macro StackVerificationStart _FUNCTION
+	StrCpy $FUNCTION ${_FUNCTION}
+	Call StackVerificationStart
+!macroend
+
+!define StackVerificationEnd `!insertmacro StackVerificationEnd`
+!macro StackVerificationEnd
+	Call StackVerificationEnd
+!macroend
+
+Function StackVerificationStart
+	StrCpy $0 !0
+	StrCpy $1 !1
+	StrCpy $2 !2
+	StrCpy $3 !3
+	StrCpy $4 !4
+	StrCpy $5 !5
+	StrCpy $6 !6
+	StrCpy $7 !7
+	StrCpy $8 !8
+	StrCpy $9 !9
+	StrCpy $R0 !R0
+	StrCpy $R1 !R1
+	StrCpy $R2 !R2
+	StrCpy $R3 !R3
+	StrCpy $R4 !R4
+	StrCpy $R5 !R5
+	StrCpy $R6 !R6
+	StrCpy $R7 !R7
+	StrCpy $R8 !R8
+	StrCpy $R9 !R9
+FunctionEnd
+
+Function StackVerificationEnd
+	IfErrors +3
+	DetailPrint 'PASSED $FUNCTION no errors'
+	goto +2
+	DetailPrint 'FAILED   $FUNCTION error'
+
+	StrCmp $0 '!0' 0 error
+	StrCmp $1 '!1' 0 error
+	StrCmp $2 '!2' 0 error
+	StrCmp $3 '!3' 0 error
+	StrCmp $4 '!4' 0 error
+	StrCmp $5 '!5' 0 error
+	StrCmp $6 '!6' 0 error
+	StrCmp $7 '!7' 0 error
+	StrCmp $8 '!8' 0 error
+	StrCmp $9 '!9' 0 error
+	StrCmp $R0 '!R0' 0 error
+	StrCmp $R1 '!R1' 0 error
+	StrCmp $R2 '!R2' 0 error
+	StrCmp $R3 '!R3' 0 error
+	StrCmp $R4 '!R4' 0 error
+	StrCmp $R5 '!R5' 0 error
+	StrCmp $R6 '!R6' 0 error
+	StrCmp $R7 '!R7' 0 error
+	StrCmp $R8 '!R8' 0 error
+	StrCmp $R9 '!R9' 0 error
+	DetailPrint 'PASSED $FUNCTION stack'
+	goto end
+
+	error:
+	DetailPrint 'FAILED   $FUNCTION stack'
+;	MessageBox MB_OKCANCEL '$$0={$0}$\n$$1={$1}$\n$$2={$2}$\n$$3={$3}$\n$$4={$4}$\n$$5={$5}$\n$$6={$6}$\n$$7={$7}$\n$$8={$8}$\n$$9={$9}$\n$$R0={$R0}$\n$$R1={$R1}$\n$$R2={$R2}$\n$$R3={$R3}$\n$$R4={$R4}$\n$$R5={$R5}$\n$$R6={$R6}$\n$$R7={$R7}$\n$$R8={$R8}$\n$$R9={$R9}' IDOK +2
+;	quit
+
+	end:
+FunctionEnd
+
+
+
+Section CreateTestFile
+	GetTempFileName $TEMPFILE1
+	FileOpen $HANDLE $TEMPFILE1 w
+	FileWrite $HANDLE '1A=a$\r$\n'
+	FileWrite $HANDLE '2B=b$\r$\n'
+	FileWrite $HANDLE '3C=c$\r$\n'
+	FileWrite $HANDLE '4D=d$\r$\n'
+	FileWrite $HANDLE '5E=e$\r$\n'
+	FileClose $HANDLE
+	GetTempFileName $TEMPFILE2
+	GetTempFileName $TEMPFILE3
+SectionEnd
+
+
+Section LineFind
+	${StackVerificationStart} LineFind
+
+	${LineFind} '$TEMPFILE1' '/NUL' '1:-4 3 -1' 'LineFindCallback1'
+	IfErrors error
+	StrCmp $OUT '|1:2|-5|1|1A=a$\r$\n|1:2|-4|2|2B=b$\r$\n|3:3|-3|3|3C=c$\r$\n' 0 error
+
+	StrCpy $OUT ''
+	SetDetailsPrint none
+	${LineFind} '$TEMPFILE1' '$TEMPFILE2' '1:-1' 'LineFindCallback2'
+	SetDetailsPrint both
+	IfErrors error
+	StrCmp $OUT '|1:-1||1|1A=a$\r$\n|1:-1||2|4D=d$\r$\n|1:-1||3|3C=c$\r$\n|1:-1||4|2B=B$\r$\n|1:-1||5|5E=e$\r$\n' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+Function LineFindCallback1
+	StrCpy $OUT '$OUT|$R6|$R7|$R8|$R9'
+	StrCmp $R8 3 0 +2
+	StrCpy $0 StopLineFind
+
+	Push $0
+FunctionEnd
+
+Function LineFindCallback2
+	StrCmp $R8 2 0 +2
+	StrCpy $R9 '4D=d$\r$\n'
+	StrCmp $R8 4 0 +2
+	StrCpy $R9 '2B=B$\r$\n'
+
+	StrCpy $OUT '$OUT|$R6|$R7|$R8|$R9'
+
+	Push $0
+FunctionEnd
+
+
+Section LineRead
+	${StackVerificationStart} LineRead
+
+	${LineRead} '$TEMPFILE1' '-1' $OUT
+	IfErrors error
+	StrCmp $OUT '5E=e$\r$\n' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section FileReadFromEnd
+	${StackVerificationStart} FileReadFromEnd
+
+	StrCpy $OUT ''
+	${FileReadFromEnd} '$TEMPFILE1' 'FileReadFromEndCallback'
+	IfErrors error
+	StrCmp $OUT '|-1|5|5E=e$\r$\n|-2|4|4D=d$\r$\n|-3|3|3C=c$\r$\n|-4|2|2B=b$\r$\n' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+Function FileReadFromEndCallback
+	StrCpy $OUT '$OUT|$7|$8|$9'
+	StrCmp $8 2 0 +2
+	StrCpy $0 StopFileReadFromEnd
+
+	Push $0
+FunctionEnd
+
+
+Section LineSum
+	${StackVerificationStart} LineSum
+
+	${LineSum} '$TEMPFILE1' $OUT
+	IfErrors error
+	StrCmp $OUT '5' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section FileJoin
+	${StackVerificationStart} FileJoin
+
+	SetDetailsPrint none
+	${FileJoin} '$TEMPFILE1' '$TEMPFILE2' '$TEMPFILE3'
+	SetDetailsPrint both
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section TextCompare
+	${StackVerificationStart} TextCompare
+
+	StrCpy $OUT ''
+	${TextCompare} '$TEMPFILE1' '$TEMPFILE2' 'FastDiff' 'TextCompareCallback'
+	StrCmp $OUT '|2|4D=d$\r$\n|2|2B=b$\r$\n|4|2B=B$\r$\n|4|4D=d$\r$\n' 0 error
+
+	StrCpy $OUT ''
+	${TextCompare} '$TEMPFILE1' '$TEMPFILE2' 'FastEqual' 'TextCompareCallback'
+	StrCmp $OUT '|1|1A=a$\r$\n|1|1A=a$\r$\n|3|3C=c$\r$\n|3|3C=c$\r$\n|5|5E=e$\r$\n|5|5E=e$\r$\n' 0 error
+
+	StrCpy $OUT ''
+	${TextCompare} '$TEMPFILE1' '$TEMPFILE2' 'SlowDiff' 'TextCompareCallback'
+	StrCmp $OUT '' 0 error
+
+	StrCpy $OUT ''
+	${TextCompare} '$TEMPFILE1' '$TEMPFILE2' 'SlowEqual' 'TextCompareCallback'
+	StrCmp $OUT '|1|1A=a$\r$\n|1|1A=a$\r$\n|4|2B=B$\r$\n|2|2B=b$\r$\n|3|3C=c$\r$\n|3|3C=c$\r$\n|2|4D=d$\r$\n|4|4D=d$\r$\n|5|5E=e$\r$\n|5|5E=e$\r$\n' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+Section TextCompareS
+	${StackVerificationStart} TextCompareS
+
+	StrCpy $OUT ''
+	${TextCompareS} '$TEMPFILE1' '$TEMPFILE2' 'SlowDiff' 'TextCompareCallback'
+	StrCmp $OUT '|||2|2B=b$\r$\n' 0 error
+
+	StrCpy $OUT ''
+	${TextCompareS} '$TEMPFILE1' '$TEMPFILE2' 'SlowEqual' 'TextCompareCallback'
+	StrCmp $OUT '|1|1A=a$\r$\n|1|1A=a$\r$\n|3|3C=c$\r$\n|3|3C=c$\r$\n|2|4D=d$\r$\n|4|4D=d$\r$\n|5|5E=e$\r$\n|5|5E=e$\r$\n' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+Function TextCompareCallback
+	StrCpy $OUT '$OUT|$6|$7|$8|$9'
+
+	Push $0
+FunctionEnd
+
+
+Section ConfigRead
+	${StackVerificationStart} ConfigRead
+
+	${ConfigRead} '$TEMPFILE1' '3c=' $OUT
+	StrCmp $OUT 'c' 0 error
+
+	${ConfigRead} '$TEMPFILE1' '6F=' $OUT
+	StrCmp $OUT '' 0 error
+
+	${ConfigRead} '$TEMPFILE1' 'FF=' $OUT
+	IfErrors 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section ConfigReadS
+	${StackVerificationStart} ConfigReadS
+
+	${ConfigReadS} '$TEMPFILE1' '3C=' $OUT
+	StrCmp $OUT 'c' 0 error
+
+	${ConfigReadS} '$TEMPFILE1' '3c=' $OUT
+	IfErrors 0 error
+	StrCmp $OUT '' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section ConfigWrite
+	${StackVerificationStart} ConfigWrite
+
+	${ConfigWrite} '$TEMPFILE1' '5E=' 'e**' $OUT
+	StrCmp $OUT 'CHANGED' 0 error
+
+	${ConfigWrite} '$TEMPFILE1' '2B=' '' $OUT
+	StrCmp $OUT 'DELETED' 0 error
+
+	${ConfigWrite} '$TEMPFILE1' '3c=' 'c' $OUT
+	StrCmp $OUT 'SAME' 0 error
+
+	${ConfigWrite} '$TEMPFILE1' '6F=' '*' $OUT
+	StrCmp $OUT 'ADDED' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section ConfigWriteS
+	${StackVerificationStart} ConfigWriteS
+
+	${ConfigWriteS} '$TEMPFILE1' '5e=' 'e**' $OUT
+	StrCmp $OUT 'ADDED' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section FileRecode
+	${StackVerificationStart} FileRecode
+
+	${FileRecode} '$TEMPFILE1' 'CharToOem'
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section TrimNewLines
+	${StackVerificationStart} TrimNewLines
+
+	${TrimNewLines} 'Text Line$\r$\n' $OUT
+	StrCmp $OUT 'Text Line' 0 error
+
+	${TrimNewLines} 'Text Line' $OUT
+	StrCmp $OUT 'Text Line' 0 error
+
+	${TrimNewLines} 'Text Line$\n' $OUT
+	StrCmp $OUT 'Text Line' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section WriteUninstaller
+	SetDetailsPrint none
+	Delete $TEMPFILE1
+	Delete $TEMPFILE2
+	Delete $TEMPFILE3
+	SetDetailsPrint both
+	goto +2
+	WriteUninstaller '$EXEDIR\un.TextFuncTest.exe'
+SectionEnd
+
+
+
+;############### UNINSTALL ###############
+
+Section un.Uninstall
+	${LineFind} '$TEMPFILE1' '/NUL' '1:-1' 'un.LineFindCallback'
+	${LineRead} '$TEMPFILE1' '-1' $OUT
+	${FileReadFromEnd} '$TEMPFILE1' 'un.FileReadFromEndCallback'
+	${LineSum} '$TEMPFILE1' $OUT
+	${FileJoin} '$TEMPFILE1' '$TEMPFILE2' '$TEMPFILE3'
+	${TextCompare} '$TEMPFILE1' '$TEMPFILE2' 'FastDiff' 'un.TextCompareCallback'
+	${TextCompareS} '$TEMPFILE1' '$TEMPFILE2' 'FastDiff' 'un.TextCompareCallback'
+	${ConfigRead} '$TEMPFILE1' '3c=' $OUT
+	${ConfigReadS} '$TEMPFILE1' '3c=' $OUT
+	${ConfigWrite} '$TEMPFILE1' '5E=' 'e**' $OUT
+	${ConfigWriteS} '$TEMPFILE1' '5E=' 'e**' $OUT
+	${FileRecode} '$TEMPFILE1' 'CharToOem'
+	${TrimNewLines} 'Text Line$\r$\n' $OUT
+SectionEnd
+
+Function un.LineFindCallback
+	Push $0
+FunctionEnd
+
+Function un.FileReadFromEndCallback
+	Push $0
+FunctionEnd
+
+Function un.TextCompareCallback
+	Push $0
+FunctionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/TextFunc.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/TextFunc.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/TextFunc.nsi	(revision 2961)
@@ -0,0 +1,834 @@
+;_____________________________________________________________________________
+;
+;                          Text Functions
+;_____________________________________________________________________________
+;
+; 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
+
+Name "Text Functions"
+OutFile "TextFunc.exe"
+Caption "$(^Name)"
+XPStyle on
+RequestExecutionLevel user
+
+!include "WinMessages.nsh"
+!include "TextFunc.nsh"
+
+Var HWND
+Var INI
+Var LOG
+Var PROJECT
+Var CALLBACK
+Var VIEW
+Var FUNCTION
+Var LINEFIND1
+Var LINEFIND2
+Var LINEFIND3
+Var LINEREAD1
+Var LINEREAD2
+Var FILEREADFROMEND1
+Var LINESUM1
+Var FILEJOIN1
+Var FILEJOIN2
+Var FILEJOIN3
+Var TEXTCOMPARE1
+Var TEXTCOMPARE2
+Var TEXTCOMPARE3
+Var CONFIGREAD1
+Var CONFIGREAD2
+Var CONFIGWRITE1
+Var CONFIGWRITE2
+Var CONFIGWRITE3
+Var FILERECODE1
+Var FILERECODE2
+
+Page Custom ShowCustom LeaveCustom
+
+Function ShowCustom
+	InstallOptions::initDialog "$INI"
+	Pop $hwnd
+	GetDlgItem $0 $HWND 1206
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1208
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1209
+	ShowWindow $0 0
+	StrCpy $FUNCTION LineFind
+	StrCpy $LINEREAD2 10
+	StrCpy $TEXTCOMPARE3 FastDiff
+	StrCpy $CONFIGREAD1 "$WINDIR\system.ini"
+	StrCpy $CONFIGREAD2 "shell="
+	StrCpy $FILERECODE2 CharToOem
+	InstallOptions::show
+	Pop $0
+FunctionEnd
+
+Function LeaveCustom
+	ReadINIStr $0 $INI "Settings" "State"
+ 	ReadINIStr $R0 $INI "Field 1" "State" 	
+	ReadINIStr $R1 $INI "Field 2" "State"
+ 	ReadINIStr $R2 $INI "Field 3" "State"
+ 	ReadINIStr $R3 $INI "Field 4" "State"
+ 	ReadINIStr $R4 $INI "Field 5" "State"
+ 	ReadINIStr $R5 $INI "Field 6" "State"
+	StrCpy $R4 $R4 8
+	StrCpy $R5 $R5 8
+	StrCpy $6 0
+	StrCpy $7 '$${'
+	StrCpy $8 'r'
+	StrCpy $9 'n'
+
+	StrCmp $0 10 Log
+	StrCmp $0 9 ViewOrEdit
+	StrCmp $0 0 Enter
+	goto MainSend
+
+	Log:
+	Exec 'notepad.exe $LOG'
+	Abort
+
+	ViewOrEdit:
+	StrCmp $FUNCTION FileReadFromEnd 0 Edit
+	StrCmp $VIEW '' 0 ViewFileReadFromEndCallback
+	GetTempFileName $VIEW $PLUGINSDIR
+	StrCpy $7 '$$'
+	FileOpen $0 $VIEW w
+	FileWrite $0 `Function FileReadFromEndCallback$\r$\n`
+	FileWrite $0 `	MessageBox MB_OKCANCEL '$7$$9       "Line"=[$$9]$7\$9$7$$8           "#"=[$$8]$7\$9$7$$7          "-#"=[$$7]' IDOK +2$\r$\n`
+	FileWrite $0 `	StrCpy $$R0 StopFileReadFromEnd$\r$\n$\r$\n`
+	FileWrite $0 `	Push $$R0$\r$\n`
+	FileWrite $0 `FunctionEnd$\r$\n`
+	FileClose $0
+	StrCpy $7 '$${'
+	SetFileAttributes $VIEW READONLY
+	ViewFileReadFromEndCallback:
+	Exec 'notepad.exe $VIEW'
+	Abort
+
+	Edit:
+	StrCmp $CALLBACK '' +5
+	StrCmp $6$R6 '0$R0$R4$R5' showproject
+	StrCmp $R6 '$R0$R4$R5' +3
+	Delete $CALLBACK
+	StrCpy $CALLBACK ''
+	StrCpy $R6 '$R0$R4$R5'
+
+	#Project#
+	StrCmp $6$R0 "01. LineFind" 0 +5
+	IfFileExists $CALLBACK +2
+	GetTempFileName $CALLBACK $PLUGINSDIR
+	FileOpen $0 $CALLBACK w
+	goto function
+	IfFileExists $PROJECT +2
+	GetTempFileName $PROJECT $PLUGINSDIR
+	FileOpen $0 $PROJECT w
+
+	#Name#
+	FileWrite $0 'Name "$FUNCTION"$\r$\n'
+	FileWrite $0 'OutFile "$PROJECT.exe"$\r$\n$\r$\n'
+
+	#!include#
+	StrCmp $R0$R4 '1. LineFindExample5' 0 TextFuncInclude
+	IfFileExists '$EXEDIR\WordFunc.nsh' 0 +3
+	FileWrite $0 '!include "$EXEDIR\WordFunc.nsh"$\r$\n'
+	goto +2
+	FileWrite $0 '!include "WordFunc.nsh"$\r$\n'
+	FileWrite $0 '!insertmacro WordFind$\r$\n'
+	FileWrite $0 '!insertmacro WordFindS$\r$\n'
+	FileWrite $0 '!insertmacro WordFind2X$\r$\n'
+	FileWrite $0 '!insertmacro WordFind2XS$\r$\n'
+	FileWrite $0 '!insertmacro WordFind3X$\r$\n'
+	FileWrite $0 '!insertmacro WordFind3XS$\r$\n'
+	FileWrite $0 '!insertmacro WordReplace$\r$\n'
+	FileWrite $0 '!insertmacro WordReplaceS$\r$\n'
+	FileWrite $0 '!insertmacro WordAdd$\r$\n'
+	FileWrite $0 '!insertmacro WordAddS$\r$\n'
+	FileWrite $0 '!insertmacro WordInsert$\r$\n'
+	FileWrite $0 '!insertmacro WordInsertS$\r$\n'
+	FileWrite $0 '!insertmacro StrFilter$\r$\n'
+	FileWrite $0 '!insertmacro StrFilterS$\r$\n'
+	TextFuncInclude:
+	IfFileExists '$EXEDIR\TextFunc.nsh' 0 +3
+	FileWrite $0 '!include "$EXEDIR\TextFunc.nsh"$\r$\n'
+	goto +2
+	FileWrite $0 '!include "TextFunc.nsh"$\r$\n'
+	FileWrite $0 '!insertmacro $FUNCTION$\r$\n'
+	StrCmp $FUNCTION TextCompare +2
+	FileWrite $0 '!insertmacro TrimNewLines$\r$\n'
+
+	#Section#
+	FileWrite $0 '$\r$\nSection -empty$\r$\n'
+	FileWrite $0 'SectionEnd$\r$\n$\r$\n'
+
+	#Function .onInit#
+	FileWrite $0 'Function .onInit$\r$\n'
+	StrCmp $R0$R5 "6. TextCompareExample1" 0 TextCompareExample235
+	FileWrite $0 '	StrCpy $$R0 ""$\r$\n'
+	FileWrite $0 '	$7TextCompare} "$R1" "$R2" "$R3" "$R5"$\r$\n'
+	FileWrite $0 '	IfErrors error$\r$\n'
+	FileWrite $0 '	StrCmp $$R0 NotEqual 0 +2$\r$\n'
+	FileWrite $0 '	MessageBox MB_OK "             Files differ" IDOK +2$\r$\n'
+	FileWrite $0 '	MessageBox MB_OK "           Files identical"$\r$\n'
+	FileWrite $0 '	goto end$\r$\n$\r$\n'
+	goto endoninit
+	TextCompareExample235:
+	StrCmp $R0$R5 "6. TextCompareExample2" +3
+	StrCmp $R0$R5 "6. TextCompareExample3" +2
+	StrCmp $R0$R5 "6. TextCompareExample5" 0 TextCompareExample4
+	FileWrite $0 '	StrCpy $$R0 "$R1"$\r$\n'
+	FileWrite $0 '	StrCpy $$R1 "$R2"$\r$\n$\r$\n'
+	FileWrite $0 '	GetTempFileName $$R2$\r$\n'
+	FileWrite $0 '	FileOpen $$R3 $$R2 w$\r$\n'
+	FileWrite $0 '	FileWrite $$R3 "$$R0 | $$R1$$\$8$$\$9"$\r$\n'
+	FileWrite $0 '	$7TextCompare} "$$R0" "$$R1" "$R3" "$R5"$\r$\n'
+	FileWrite $0 '	IfErrors error$\r$\n'
+	FileWrite $0 '	Exec "notepad.exe $$R2"$\r$\n'
+	FileWrite $0 '	goto end$\r$\n$\r$\n'
+	goto endoninit
+	TextCompareExample4:
+	StrCmp $R0$R5 "6. TextCompareExample4" 0 LineFindExample123456
+	FileWrite $0 '	StrCpy $$R0 "$R1"$\r$\n'
+	FileWrite $0 '	StrCpy $$R1 "$R2"$\r$\n$\r$\n'
+	FileWrite $0 '	GetTempFileName $$R2$\r$\n'
+	FileWrite $0 '	FileOpen $$R3 $$R2 w$\r$\n'
+	FileWrite $0 '	FileWrite $$R3 "$$R0 | $$R1$$\$8$$\$9"$\r$\n'
+	FileWrite $0 '	$7TextCompare} "$$R0" "$$R1" "$R3" "$R5"$\r$\n'
+	FileWrite $0 '	IfErrors error$\r$\n'
+	FileWrite $0 '	FileWrite $$R3 "$$\$8$$\$9$$R1 | $$R0$$\$8$$\$9"$\r$\n'
+	FileWrite $0 '	$7TextCompare} "$$R1" "$$R0" "$R3" "$R5"$\r$\n'
+	FileWrite $0 '	FileClose $$R3$\r$\n'
+	FileWrite $0 '	IfErrors error$\r$\n'
+	FileWrite $0 '	Exec "notepad.exe $$R2"$\r$\n$\r$\n'
+	FileWrite $0 '	goto end$\r$\n$\r$\n'
+	goto endoninit
+	LineFindExample123456:
+	FileWrite $0 '	$7$FUNCTION} "$R1" "$R2" "$R3" "$R4"$\r$\n'
+	FileWrite $0 '	IfErrors error$\r$\n'
+	FileWrite $0 '	MessageBox MB_YESNO "          Open output file?" IDNO end$\r$\n'
+	FileWrite $0 '	StrCmp "$R2" "" 0 +3$\r$\n'
+	FileWrite $0 `	Exec 'notepad.exe "$R1"'$\r$\n`
+	FileWrite $0 '	goto end$\r$\n'
+	FileWrite $0 '	SearchPath $$R2 "$R2"$\r$\n'
+	FileWrite $0 `	Exec 'notepad.exe "$$R2"'$\r$\n`
+	FileWrite $0 '	goto end$\r$\n$\r$\n'
+	endoninit:
+	FileWrite $0 '	error:$\r$\n'
+	FileWrite $0 '	MessageBox MB_OK "Error"$\r$\n$\r$\n'
+	FileWrite $0 '	end:$\r$\n'
+	FileWrite $0 '	Quit$\r$\n'
+	FileWrite $0 'FunctionEnd$\r$\n$\r$\n'
+	#FunctionEnd#
+
+
+	#Function CallBack#
+	StrCmp $CALLBACK '' 0 close
+	function:
+	StrCmp $R0 '1. LineFind' 0 +8
+	FileWrite $0 'Function $R4$\r$\n'
+	StrCmp $R4 "Example1" Example1LF
+	StrCmp $R4 "Example2" Example2LF
+	StrCmp $R4 "Example3" Example3LF
+	StrCmp $R4 "Example4" Example4LF
+	StrCmp $R4 "Example5" Example5LF
+	StrCmp $R4 "Example6" Example6LF
+
+	FileWrite $0 'Function $R5$\r$\n'
+	StrCmp $R5 "Example1" Example1TC
+	StrCmp $R5 "Example2" Example2TC
+	StrCmp $R5 "Example3" Example3TC
+	StrCmp $R5 "Example4" Example4TC
+	StrCmp $R5 "Example5" Example3TC
+
+	Example1LF:
+	FileWrite $0 "	$7TrimNewLines} '$$R9' $$R9$\r$\n"
+	FileWrite $0 "	StrCpy $$R9 $$R9 '' 2       ;delete first two symbols$\r$\n"
+	FileWrite $0 "	StrCpy $$R9 '$$R9$$\$8$$\$9'$\r$\n$\r$\n"
+	goto endwrite
+	Example2LF:
+	FileWrite $0 "	$7TrimNewLines} '$$R9' $$R9$\r$\n"
+	FileWrite $0 "	StrCpy $$R9 '$$R9   ~Changed line ($$R8)~$$\$8$$\$9'$\r$\n$\r$\n"
+	goto endwrite
+	Example3LF:
+	FileWrite $0 "	StrCpy $$0 SkipWrite$\r$\n$\r$\n"
+	goto endwrite
+	Example4LF:
+	FileWrite $0 "	FileWrite $$R4 '---First Line---$$\$8$$\$9'$\r$\n"
+	FileWrite $0 "	FileWrite $$R4 '---Second Line ...---$$\$8$$\$9'$\r$\n$\r$\n"
+	goto endwrite
+	Example5LF:
+	FileWrite $0 "	; You can use:$\r$\n"
+	FileWrite $0 "	; $7WordFind}|$7WordFindS}|$7WordFind2X}|$7WordFind2XS}|$\r$\n"
+	FileWrite $0 "	; $7WordFind3X}|$7WordFind3XS}|$7WordReplace}|$7WordReplaceS}|$\r$\n"
+	FileWrite $0 "	; $7WordAdd}|$7WordAddS}|$7WordInsert}|$7WordInsertS}|$\r$\n"
+	FileWrite $0 "	; $7StrFilter}|$7StrFilterS}$\r$\n$\r$\n"
+	FileWrite $0 "	$7WordReplace} '$$R9' ' ' '_' '+*' $$R9$\r$\n$\r$\n"
+	goto endwrite
+	Example6LF:
+	FileWrite $0 '	;(Cut lines from a line to another line (also including that line))$\r$\n'
+	FileWrite $0 '	StrCmp $$R0 finish stop$\r$\n'
+	FileWrite $0 '	StrCmp $$R0 start finish$\r$\n'
+	FileWrite $0 '	StrCmp $$R9 "Start Line$$\$8$$\$9" 0 skip$\r$\n'
+	FileWrite $0 '	StrCpy $$R0 start$\r$\n'
+	FileWrite $0 '	StrCpy $$R1 $$R9$\r$\n'
+	FileWrite $0 '	goto code$\r$\n'
+	FileWrite $0 '	finish:$\r$\n'
+	FileWrite $0 '	StrCmp $$R9 "Finish Line$$\$8$$\$9" 0 code$\r$\n'
+	FileWrite $0 '	StrCpy $$R0 finish$\r$\n'
+	FileWrite $0 '	StrCpy $$R2 $$R8$\r$\n'
+	FileWrite $0 '	goto code$\r$\n'
+	FileWrite $0 '	skip:$\r$\n'
+	FileWrite $0 '	StrCpy $$0 SkipWrite$\r$\n'
+	FileWrite $0 '	goto output$\r$\n'
+	FileWrite $0 '	stop:$\r$\n'
+	FileWrite $0 '	StrCpy $$0 StopLineFind$\r$\n'
+	FileWrite $0 '	goto output$\r$\n$\r$\n'
+	FileWrite $0 '	;;(Delete lines from a line to another line (also including that line))$\r$\n'
+	FileWrite $0 '	; StrCmp $$R0 finish code$\r$\n'
+	FileWrite $0 '	; StrCmp $$R0 start finish$\r$\n'
+	FileWrite $0 '	; StrCmp $$R9 "Start Line$$\$8$$\$9" 0 code$\r$\n'
+	FileWrite $0 '	; StrCpy $$R0 start$\r$\n'
+	FileWrite $0 '	; StrCpy $$R1 $$R8$\r$\n'
+	FileWrite $0 '	; goto skip$\r$\n'
+	FileWrite $0 '	; finish:$\r$\n'
+	FileWrite $0 '	; StrCmp $$R9 "Finish Line$$\$8$$\$9" 0 skip$\r$\n'
+	FileWrite $0 '	; StrCpy $$R0 finish$\r$\n'
+	FileWrite $0 '	; StrCpy $$R2 $$R8$\r$\n'
+	FileWrite $0 '	; skip:$\r$\n'
+	FileWrite $0 '	; StrCpy $$0 SkipWrite$\r$\n'
+	FileWrite $0 '	; goto output$\r$\n$\r$\n'
+	FileWrite $0 '	code:$\r$\n'
+	FileWrite $0 '	;...$\r$\n$\r$\n'
+	FileWrite $0 '	output:$\r$\n'
+	goto endwrite
+	Example1TC:
+	FileWrite $0 "	StrCpy $$R0 NotEqual$\r$\n"
+	FileWrite $0 "	StrCpy $$0 StopTextCompare$\r$\n$\r$\n"
+	goto endwrite
+	Example2TC:
+	FileWrite $0 "	FileWrite $$R3 '$$8=$$9'$\r$\n"
+	FileWrite $0 "	FileWrite $$R3 '$$6=$$7$$\$8$$\$9'$\r$\n$\r$\n"
+	goto endwrite
+	Example3TC:
+	FileWrite $0 "	FileWrite $$R3 '$$8|$$6=$$9'$\r$\n$\r$\n"
+	goto endwrite
+	Example4TC:
+	FileWrite $0 "	FileWrite $$R3 '$$8=$$9'$\r$\n$\r$\n"
+	goto endwrite
+	endwrite:
+	FileWrite $0 '	Push $$0$\r$\n'
+	FileWrite $0 'FunctionEnd$\r$\n'
+	close:
+	FileClose $0
+	goto $6
+	#FunctionEnd#
+
+	showproject:
+	StrCmp $R0 '1. LineFind' 0 +3
+	ExecWait 'notepad.exe $CALLBACK'
+	goto +4
+	SetFileAttributes $PROJECT READONLY
+	ExecWait 'notepad.exe $PROJECT'
+	SetFileAttributes $PROJECT NORMAL
+	Abort
+
+	MainSend:
+	GetDlgItem $0 $HWND 1210
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $0 $HWND 1203
+	ShowWindow $0 1
+	EnableWindow $0 1
+	GetDlgItem $0 $HWND 1204
+	ShowWindow $0 1
+	EnableWindow $0 1
+	GetDlgItem $0 $HWND 1205
+	EnableWindow $0 1
+	GetDlgItem $0 $HWND 1206
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1207
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1208
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1209
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1211
+	EnableWindow $0 1
+
+	StrCmp $FUNCTION LineFind 0 +5
+	StrCpy $LINEFIND1 $R1
+	StrCpy $LINEFIND2 $R2
+	StrCpy $LINEFIND3 $R3
+	goto LineFindSend
+	StrCmp $FUNCTION LineRead 0 +4
+	StrCpy $LINEREAD1 $R1
+	StrCpy $LINEREAD2 $R2
+	goto LineFindSend
+	StrCmp $FUNCTION FileReadFromEnd 0 +3
+	StrCpy $FILEREADFROMEND1 $R1
+	goto LineFindSend
+	StrCmp $FUNCTION LineSum 0 +3
+	StrCpy $LINESUM1 $R1
+	goto LineFindSend
+	StrCmp $FUNCTION FileJoin 0 +5
+	StrCpy $FILEJOIN1 $R1
+	StrCpy $FILEJOIN2 $R2
+	StrCpy $FILEJOIN3 $R3
+	goto LineFindSend
+	StrCmp $FUNCTION TextCompare 0 +5
+	StrCpy $TEXTCOMPARE1 $R1
+	StrCpy $TEXTCOMPARE2 $R2
+	StrCpy $TEXTCOMPARE3 $R3
+	goto LineFindSend
+	StrCmp $FUNCTION ConfigRead 0 +4
+	StrCpy $CONFIGREAD1 $R1
+	StrCpy $CONFIGREAD2 $R2
+	goto LineFindSend
+	StrCmp $FUNCTION ConfigWrite 0 +5
+	StrCpy $CONFIGWRITE1 $R1
+	StrCpy $CONFIGWRITE2 $R2
+	StrCpy $CONFIGWRITE3 $R3
+	goto LineFindSend
+	StrCmp $FUNCTION FileRecode 0 +3
+	StrCpy $FILERECODE1 $R1
+	StrCpy $FILERECODE2 $R2
+
+	LineFindSend:
+	StrCmp $R0 "1. LineFind" 0 LineReadSend
+	StrCmp $FUNCTION LineFind 0 LineFindSend2
+	StrCmp $R4 "Example1" 0 +3
+	StrCpy $LINEFIND3 "3:-1"
+	goto LineFindSend2
+	StrCmp $R4 "Example2" 0 +3
+	StrCpy $LINEFIND3 "{5:12 15 -6:-5 -1}"
+	goto LineFindSend2
+	StrCmp $R4 "Example3" 0 +3
+	StrCpy $LINEFIND3 "2:3 10:-5 -3:-2"
+	goto LineFindSend2
+	StrCmp $R4 "Example4" 0 +3
+	StrCpy $LINEFIND3 "10"
+	goto LineFindSend2
+	StrCmp $R4 "Example5" 0 +3
+	StrCpy $LINEFIND3 "1:-1"
+	goto LineFindSend2
+	StrCmp $R4 "Example6" 0 +3
+	StrCpy $LINEFIND3 ""
+	goto LineFindSend2
+	StrCmp $R4 "Example7" 0 +2
+	StrCpy $LINEFIND3 "1:-1"
+
+	LineFindSend2:
+	StrCpy $FUNCTION LineFind
+	StrCmp $LINEFIND2 '/NUL' 0 +2
+	StrCpy $LINEFIND2 ''
+	GetDlgItem $0 $HWND 1201
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINEFIND1"
+	GetDlgItem $0 $HWND 1203
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINEFIND2"
+	GetDlgItem $0 $HWND 1205
+	ShowWindow $0 1
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINEFIND3"
+	GetDlgItem $0 $HWND 1207
+	ShowWindow $0 1
+	GetDlgItem $0 $HWND 1211
+	ShowWindow $0 1
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:Edit"
+	GetDlgItem $0 $HWND 1212
+	ShowWindow $0 1
+	StrCmp $LOG '' +2
+	EnableWindow $0 1
+	GetDlgItem $0 $HWND 1213
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
+	GetDlgItem $0 $HWND 1214
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:OutputFile"
+	GetDlgItem $0 $HWND 1215
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:Range"
+	GetDlgItem $0 $HWND 1216
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:Function"
+
+	StrCmp $R4 "Example7" 0 +9
+	GetDlgItem $0 $HWND 1203
+	EnableWindow $0 0
+	SendMessage $0 ${WM_ENABLE} 1 0
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:/NUL"
+	GetDlgItem $0 $HWND 1204
+	EnableWindow $0 0
+	GetDlgItem $0 $HWND 1211
+	EnableWindow $0 0
+	abort
+
+
+	LineReadSend:
+	StrCmp $R0 "2. LineRead" 0 FileReadFromEndSend
+	StrCpy $FUNCTION LineRead
+	GetDlgItem $0 $HWND 1201
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINEREAD1"
+	GetDlgItem $0 $HWND 1203
+	ShowWindow $0 1
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINEREAD2"
+	GetDlgItem $0 $HWND 1204
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1205
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1211
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1212
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1213
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
+	GetDlgItem $0 $HWND 1214
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:Line #"
+	GetDlgItem $0 $HWND 1215
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $0 $HWND 1216
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
+	Abort
+
+	FileReadFromEndSend:
+	StrCmp $R0 "3. FileReadFromEnd" 0 LineSumSend
+	StrCpy $FUNCTION FileReadFromEnd
+	GetDlgItem $0 $HWND 1201
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILEREADFROMEND1"
+	GetDlgItem $0 $HWND 1203
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1204
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1205
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1209
+	ShowWindow $0 1
+	GetDlgItem $0 $HWND 1211
+	ShowWindow $0 1
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:View"
+	GetDlgItem $0 $HWND 1212
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1213
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
+	GetDlgItem $0 $HWND 1214
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $0 $HWND 1215
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $0 $HWND 1216
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:Function"
+	Abort
+
+	LineSumSend:
+	StrCmp $R0 "4. LineSum" 0 FileJoinSend
+	StrCpy $FUNCTION LineSum
+	GetDlgItem $0 $HWND 1201
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$LINESUM1"
+	GetDlgItem $0 $HWND 1203
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1204
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1205
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1211
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1212
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1213
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
+	GetDlgItem $0 $HWND 1214
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $0 $HWND 1215
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $0 $HWND 1216
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
+	Abort
+
+	FileJoinSend:
+	StrCmp $R0 "5. FileJoin" 0 TextCompareSend
+	StrCpy $FUNCTION FileJoin
+	GetDlgItem $0 $HWND 1201
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILEJOIN1"
+	GetDlgItem $0 $HWND 1203
+	ShowWindow $0 1
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILEJOIN2"
+	GetDlgItem $0 $HWND 1204
+	ShowWindow $0 1
+	GetDlgItem $0 $HWND 1205
+	ShowWindow $0 1
+	EnableWindow $0 1
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILEJOIN3"
+	GetDlgItem $0 $HWND 1206
+	ShowWindow $0 1
+	GetDlgItem $0 $HWND 1211
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1212
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1213
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile1"
+	GetDlgItem $0 $HWND 1214
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile2"
+	GetDlgItem $0 $HWND 1215
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:OutputFile"
+	GetDlgItem $0 $HWND 1216
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
+	Abort
+
+	TextCompareSend:
+	StrCmp $R0 "6. TextCompare" 0 ConfigReadSend
+	StrCmp $FUNCTION TextCompare 0 TextCompareSend2
+	StrCmp $R5 "Example1" 0 +3
+	StrCpy $TEXTCOMPARE3 "FastDiff"
+	goto TextCompareSend2
+	StrCmp $R5 "Example2" 0 +3
+	StrCpy $TEXTCOMPARE3 "FastDiff"
+	goto TextCompareSend2
+	StrCmp $R5 "Example3" 0 +3
+	StrCpy $TEXTCOMPARE3 "FastEqual"
+	goto TextCompareSend2
+	StrCmp $R5 "Example4" 0 +3
+	StrCpy $TEXTCOMPARE3 "SlowDiff"
+	goto TextCompareSend2
+	StrCmp $R5 "Example5" 0 +2
+	StrCpy $TEXTCOMPARE3 "SlowEqual"
+
+	TextCompareSend2:
+	StrCpy $FUNCTION TextCompare
+	GetDlgItem $0 $HWND 1201
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$TEXTCOMPARE1"
+	GetDlgItem $0 $HWND 1203
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$TEXTCOMPARE2"
+	GetDlgItem $0 $HWND 1204
+	ShowWindow $0 1
+	GetDlgItem $0 $HWND 1205
+	ShowWindow $0 1
+	EnableWindow $0 0
+	SendMessage $0 ${WM_ENABLE} 1 0
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$TEXTCOMPARE3"
+	GetDlgItem $0 $HWND 1208
+	ShowWindow $0 1
+	GetDlgItem $0 $HWND 1211
+	ShowWindow $0 1
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:View"
+	GetDlgItem $0 $HWND 1212
+	ShowWindow $0 1
+	GetDlgItem $0 $HWND 1213
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:TextFile1"
+	GetDlgItem $0 $HWND 1214
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:TextFile2"
+	GetDlgItem $0 $HWND 1215
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:Option"
+	GetDlgItem $0 $HWND 1216
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:Function"
+	abort
+
+	ConfigReadSend:
+	StrCmp $R0 "7. ConfigRead" 0 ConfigWriteSend
+	StrCpy $FUNCTION ConfigRead
+	GetDlgItem $0 $HWND 1201
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$CONFIGREAD1"
+	GetDlgItem $0 $HWND 1203
+	ShowWindow $0 1
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$CONFIGREAD2"
+	GetDlgItem $0 $HWND 1204
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1205
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1211
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1212
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1213
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
+	GetDlgItem $0 $HWND 1214
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:Entry"
+	GetDlgItem $0 $HWND 1215
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $0 $HWND 1216
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
+	Abort
+
+	ConfigWriteSend:
+	StrCmp $R0 "8. ConfigWrite" 0 FileRecodeSend
+	StrCpy $FUNCTION ConfigWrite
+	GetDlgItem $0 $HWND 1201
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$CONFIGWRITE1"
+	GetDlgItem $0 $HWND 1203
+	ShowWindow $0 1
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$CONFIGWRITE2"
+	GetDlgItem $0 $HWND 1204
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1205
+	ShowWindow $0 1
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$CONFIGWRITE3"
+	GetDlgItem $0 $HWND 1211
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1212
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1213
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
+	GetDlgItem $0 $HWND 1214
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:Entry"
+	GetDlgItem $0 $HWND 1215
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:Value"
+	GetDlgItem $0 $HWND 1216
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
+	Abort
+
+	FileRecodeSend:
+	StrCmp $R0 "9. FileRecode" 0 Abort
+	StrCpy $FUNCTION FileRecode
+	GetDlgItem $0 $HWND 1201
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILERECODE1"
+	GetDlgItem $0 $HWND 1203
+	ShowWindow $0 1
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:$FILERECODE2"
+	GetDlgItem $0 $HWND 1204
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1205
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1211
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1212
+	ShowWindow $0 0
+	GetDlgItem $0 $HWND 1213
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:InputFile"
+	GetDlgItem $0 $HWND 1214
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:Format"
+	GetDlgItem $0 $HWND 1215
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $0 $HWND 1216
+	SendMessage $0 ${WM_SETTEXT} 1 "STR:"
+	Abort
+
+;=Enter=
+	Enter:
+	StrCmp $R1 '' 0 +3
+	StrCpy $0 'Choose InputFile'
+	goto send
+	IfFileExists $R1 +3
+	StrCpy $0 'InputFile is not exist'
+	goto send
+
+	StrCmp $R0 "1. LineFind" LineFindRead
+	StrCmp $R0 "2. LineRead" LineRead
+	StrCmp $R0 "3. FileReadFromEnd" FileReadFromEnd
+	StrCmp $R0 "4. LineSum" LineSum
+	StrCmp $R0 "5. FileJoin" FileJoin
+	StrCmp $R0 "6. TextCompare" LineFind-TextCompare
+	StrCmp $R0 "7. ConfigRead" ConfigRead
+	StrCmp $R0 "8. ConfigWrite" ConfigWrite
+	StrCmp $R0 "9. FileRecode" FileRecode
+	Abort
+
+	LineFindRead:
+	StrCmp $R4 "Example7" 0 LineFind-TextCompare
+	${LineFind} '$R1' '/NUL' '$R3' LineFindCallback
+	IfErrors error
+	StrCmp $R0 StopLineFind 0 done
+	StrCpy $0 'stopped'
+	goto send
+
+	LineFind-TextCompare:
+	GetLabelAddress $6 LineFindBack
+	goto Edit
+	LineFindBack:
+	FileClose $0
+	StrCmp $R0 "6. TextCompare" Compile
+	StrCmp $CALLBACK '' Compile
+	${FileJoin} "$PROJECT" "$CALLBACK" ""
+
+	Compile:
+	StrCmp $LOG '' 0 +4
+	GetTempFileName $LOG $PLUGINSDIR
+	GetDlgItem $0 $HWND 1212
+	EnableWindow $0 1
+	ReadRegStr $0 HKLM "SOFTWARE\NSIS" ""
+	IfErrors 0 +2
+	StrCpy $0 "${NSISDIR}"
+	nsExec::Exec '"$0\makensis.exe" /O$LOG $PROJECT'
+	Pop $0
+	StrCmp $0 0 0 +6
+	ExecWait '$PROJECT.exe' $0
+	Delete $PROJECT
+	Delete $PROJECT.exe
+	StrCpy $PROJECT ''
+	goto done
+	MessageBox MB_YESNO|MB_ICONEXCLAMATION "Compile error. Open log?" IDNO +2
+	Exec 'notepad.exe $LOG'
+	StrCpy $0 "Compile Error"
+	goto send
+
+	LineRead:
+	${LineRead} "$R1" "$R2" $0
+	IfErrors error send
+
+	FileReadFromEnd:
+	${FileReadFromEnd} "$R1" "FileReadFromEndCallback"
+	IfErrors error
+	StrCmp $R0 StopFileReadFromEnd 0 done
+	StrCpy $0 'stopped'
+	goto send
+
+	LineSum:
+	${LineSum} "$R1" $0
+	IfErrors error send
+
+	FileJoin:
+	${FileJoin} "$R1" "$R2" "$R3"
+	IfErrors error
+	MessageBox MB_YESNO "          Open output file?" IDNO done
+	StrCmp $R3 '' 0 +3
+	Exec '"notepad.exe" "$R1"'
+	goto done
+	Exec '"notepad.exe" "$R3"'
+	goto done
+
+	ConfigRead:
+	${ConfigRead} "$R1" "$R2" $0
+	IfErrors error send
+
+	ConfigWrite:
+	${ConfigWrite} "$R1" "$R2" "$R3" $0
+	IfErrors error
+	MessageBox MB_YESNO "          Open output file?" IDNO send
+	Exec '"notepad.exe" "$R1"'
+	goto send
+
+	FileRecode:
+	${FileRecode} "$R1" "$R2"
+	IfErrors error
+	MessageBox MB_YESNO "          Open output file?" IDNO done
+	Exec '"notepad.exe" "$R1"'
+	goto done
+
+	error:
+	StrCpy $0 'error'
+	goto send
+
+	done:
+	StrCpy $0 'Done'
+
+	send:
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$0"
+
+	abort:
+	Abort
+FunctionEnd
+
+Function LineFindCallback
+	MessageBox MB_OKCANCEL '$$R9       "Line"=[$R9]$\n$$R8           "#"=[$R8]$\n$$R7          "-#"=[$R7]$\n$$R6   "Range"=[$R6]$\n$$R5     "Read"=[$R5]$\n$$R4     "Write"=[$R4]' IDOK +2
+	StrCpy $R0 StopLineFind
+
+	Push $R0
+FunctionEnd
+
+Function FileReadFromEndCallback
+	MessageBox MB_OKCANCEL '$$9       "Line"=[$9]$\n$$8           "#"=[$8]$\n$$7          "-#"=[$7]' IDOK +2
+	StrCpy $R0 StopFileReadFromEnd
+
+	Push $R0
+FunctionEnd
+
+Function .onInit
+	InitPluginsDir
+	GetTempFileName $INI $PLUGINSDIR
+	File /oname=$INI "TextFunc.ini"
+FunctionEnd
+
+Page instfiles
+
+Section -Empty
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/rtest.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/rtest.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/rtest.nsi	(revision 2961)
@@ -0,0 +1,93 @@
+; rtest.nsi
+;
+; This script tests some advanced NSIS functions.
+
+;--------------------------------
+
+Name "rtest"
+OutFile "rtest.exe"
+
+ComponentText "Select tests!"
+ShowInstDetails show
+
+RequestExecutionLevel user
+
+;--------------------------------
+
+Section "Test 1"
+
+  StrCpy $R0 "a"
+  
+  GetFunctionAddress $R1 test1
+  Call $R1
+  
+  StrCmp $R0 "a182345678" success
+  
+  DetailPrint "Test 1 failed (output: $R0)"
+  Goto end
+  
+  success:
+  DetailPrint "Test 1 succeeded (output: $R0)"
+  
+  end:
+  
+SectionEnd
+
+Function test1
+
+  GetLabelAddress $9 skip
+  
+  IntOp $9 $9 - 1
+  StrCpy $R0 $R01
+  
+  Call $9
+  
+  StrCpy $R0 $R02
+  StrCpy $R0 $R03
+  StrCpy $R0 $R04
+  StrCpy $R0 $R05
+  StrCpy $R0 $R06
+  StrCpy $R0 $R07
+  StrCpy $R0 $R08
+  
+  skip:
+  
+FunctionEnd
+
+;--------------------------------
+
+Section "Test 2"
+
+  StrCpy $R0 "0"
+  StrCpy $R1 "11"
+  
+  Call test2
+  
+  StrCmp $R1 "11,10,9,8,7,6,5,4,3,2,1" success
+  
+  DetailPrint "Test 2 failed (output: $R1)"
+  Goto end
+  
+  success:
+  DetailPrint "Test 2 succeeded (output: $R1)"
+  
+  end:
+
+SectionEnd
+
+Function test2
+
+  IntOp $R0 $R0 + 1
+  IntCmp $R0 10 done
+  
+  Push $R0
+  
+  GetFunctionAddress $R2 test2
+  Call $R2
+  
+  Pop $R0
+  
+  done:
+  StrCpy $R1 "$R1,$R0"
+  
+FunctionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/UserInfo/UserInfo.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/UserInfo/UserInfo.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/UserInfo/UserInfo.nsi	(revision 2961)
@@ -0,0 +1,44 @@
+Name "UserInfo.dll test"
+OutFile UserInfo.exe
+
+!define REALMSG "$\nOriginal non-restricted account type: $2"
+
+Section
+	ClearErrors
+	UserInfo::GetName
+	IfErrors Win9x
+	Pop $0
+	UserInfo::GetAccountType
+	Pop $1
+	# GetOriginalAccountType will check the tokens of the original user of the
+	# current thread/process. If the user tokens were elevated or limited for
+	# this process, GetOriginalAccountType will return the non-restricted
+	# account type.
+	# On Vista with UAC, for example, this is not the same value when running
+	# with `RequestExecutionLevel user`. GetOriginalAccountType will return
+	# "admin" while GetAccountType will return "user".
+	UserInfo::GetOriginalAccountType
+	Pop $2
+	StrCmp $1 "Admin" 0 +3
+		MessageBox MB_OK 'User "$0" is in the Administrators group${REALMSG}'
+		Goto done
+	StrCmp $1 "Power" 0 +3
+		MessageBox MB_OK 'User "$0" is in the Power Users group${REALMSG}'
+		Goto done
+	StrCmp $1 "User" 0 +3
+		MessageBox MB_OK 'User "$0" is just a regular user${REALMSG}'
+		Goto done
+	StrCmp $1 "Guest" 0 +3
+		MessageBox MB_OK 'User "$0" is a guest${REALMSG}'
+		Goto done
+	MessageBox MB_OK "Unknown error"
+	Goto done
+
+	Win9x:
+		# This one means you don't need to care about admin or
+		# not admin because Windows 9x doesn't either
+		MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
+
+	done:
+SectionEnd
+
Index: tmp/org.txm.setups/nsis-2.5/Examples/BgImage/Example.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/BgImage/Example.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/BgImage/Example.nsi	(revision 2961)
@@ -0,0 +1,100 @@
+Name "BgImage.dll test"
+
+OutFile "BgImage Test.exe"
+
+XPStyle on
+
+!define DEBUG
+!macro GetReturnValue
+!ifdef DEBUG
+	Pop $R9
+	StrCmp $R9 success +2
+		DetailPrint "Error: $R9"
+!endif
+!macroend
+
+Function .onGUIInit
+	# the plugins dir is automatically deleted when the installer exits
+	InitPluginsDir
+	# lets extract some bitmaps...
+	File /oname=$PLUGINSDIR\1.bmp "${NSISDIR}\Contrib\Graphics\Wizard\llama.bmp"
+	File /oname=$PLUGINSDIR\2.bmp "${NSISDIR}\Contrib\Graphics\Checks\modern.bmp"
+
+!ifdef DEBUG
+	# turn return values on if in debug mode
+	BgImage::SetReturn on
+!endif
+
+	# set the initial background for images to be drawn on
+	# we will use a gradient from drak green to dark red
+	BgImage::SetBg /GRADIENT 0 0x80 0 0x80 0 0
+	!insertmacro GetReturnValue
+	# add an image @ (150,0)
+	BgImage::AddImage $PLUGINSDIR\2.bmp 150 0
+	!insertmacro GetReturnValue
+	# add the same image only transparent (magenta wiped) @ (150,16)
+	BgImage::AddImage /TRANSPARENT 255 0 255 $PLUGINSDIR\2.bmp 150 16
+	!insertmacro GetReturnValue
+	# create the font for the following text
+	CreateFont $R0 "Comic Sans MS" 50 700
+	# add a blue shadow for the text
+	BgImage::AddText "Testing 1... 2... 3..." $R0 0 0 255 48 48 798 198
+	!insertmacro GetReturnValue
+	# add a green shadow for the text
+	BgImage::AddText "Testing 1... 2... 3..." $R0 0 255 0 52 52 802 202
+	!insertmacro GetReturnValue
+	# add the text
+	BgImage::AddText "Testing 1... 2... 3..." $R0 255 0 0 50 50 800 200
+	!insertmacro GetReturnValue
+	# show our creation to the world!
+	BgImage::Redraw
+	# Refresh doesn't return any value
+	
+FunctionEnd
+
+ShowInstDetails show
+
+Section
+	# play some sounds
+	FindFirst $0 $1 $WINDIR\Media\*.wav
+	StrCmp $0 "" skipSound
+		moreSounds:
+		StrCmp $1 "" noMoreSounds
+			BgImage::Sound /WAIT $WINDIR\Media\$1
+			# Sound doesn't return any value either
+			MessageBox MB_YESNO "Another sound?" IDNO noMoreSounds
+				FindNext $0 $1
+				Goto moreSounds
+
+	noMoreSounds:
+		FindClose $0
+	skipSound:
+
+	# change the background image to Mike, tiled
+	BgImage::SetBg /TILED $PLUGINSDIR\1.bmp
+	!insertmacro GetReturnValue
+	# we have to redraw to reflect the changes
+	BgImage::Redraw
+
+	MessageBox MB_OK "Mike the llama"
+
+	# clear everything
+	BgImage::Clear
+	# Clear doesn't return any value
+	# set another gradient
+	BgImage::SetBg /GRADIENT 0xFF 0xFA 0xBA 0xAA 0xA5 0x65
+	!insertmacro GetReturnValue
+	# add some text
+	BgImage::AddText "A Desert for Mike" $R0 0 0 0 50 50 800 150
+	!insertmacro GetReturnValue
+	# add mike as an image
+	BgImage::AddImage $PLUGINSDIR\1.bmp 50 150
+	!insertmacro GetReturnValue
+	# again, we have to call redraw to reflect changes
+	BgImage::Redraw
+SectionEnd
+
+Function .onGUIEnd
+	BgImage::Destroy
+	# Destroy doesn't return any value
+FunctionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/Memento.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Memento.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Memento.nsi	(revision 2961)
@@ -0,0 +1,79 @@
+!include LogicLib.nsh
+!include Memento.nsh
+
+Name Memento
+OutFile Memento.exe
+
+XPStyle on
+
+ShowInstDetails show
+
+Page components
+Page instfiles
+
+RequestExecutionLevel user
+
+# settings
+
+!define MEMENTO_REGISTRY_ROOT HKCU
+!define MEMENTO_REGISTRY_KEY "Software\NSIS\Memento Test"
+
+# restore
+
+Function .onInit
+
+  ${If} ${Cmd} `MessageBox MB_YESNO "Would you like to load an example state?" IDYES`
+    
+	DeleteRegKey  HKCU "Software\NSIS\Memento Test"
+
+	WriteRegStr   HKCU "Software\NSIS\Memento Test" MementoSectionUsed ""
+	WriteRegDWORD HKCU "Software\NSIS\Memento Test" MementoSection_sec_horse   1
+	WriteRegDWORD HKCU "Software\NSIS\Memento Test" MementoSection_sec_chicken 1
+	WriteRegDWORD HKCU "Software\NSIS\Memento Test" MementoSection_sec_donkey  0
+	WriteRegDWORD HKCU "Software\NSIS\Memento Test" MementoSection_sec_croc    0
+
+  ${EndIf}
+
+  ${MementoSectionRestore}
+
+FunctionEnd
+
+# sections
+
+${MementoSection} horse sec_horse
+${MementoSectionEnd}
+
+${MementoSection} donkey sec_donkey
+${MementoSectionEnd}
+
+${MementoSection} chicken sec_chicken
+${MementoSectionEnd}
+
+SectionGroup /e group
+
+  SectionGroup /e group
+
+    ${MementoSection} croc sec_croc
+    ${MementoSectionEnd}
+
+    ${MementoSection} cow sec_cow
+    ${MementoSectionEnd}
+
+  SectionGroupEnd
+
+SectionGroupEnd
+
+${MementoUnselectedSection} dinosaur sec_dinosaur
+${MementoSectionEnd}
+
+# done...
+
+${MementoSectionDone}
+
+# save
+
+Function .onInstSuccess
+
+  ${MementoSectionSave}
+
+FunctionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/makensis.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/makensis.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/makensis.nsi	(revision 2961)
@@ -0,0 +1,1052 @@
+;NSIS Setup Script
+;--------------------------------
+
+!ifndef VERSION
+  !define VERSION 'anonymous-build'
+!endif
+
+;--------------------------------
+;Configuration
+
+!ifdef OUTFILE
+  OutFile "${OUTFILE}"
+!else
+  OutFile ..\nsis-${VERSION}-setup.exe
+!endif
+
+SetCompressor /SOLID lzma
+
+InstType "Full"
+InstType "Lite"
+InstType "Minimal"
+
+InstallDir $PROGRAMFILES\NSIS
+InstallDirRegKey HKLM Software\NSIS ""
+
+RequestExecutionLevel admin
+
+;--------------------------------
+;Header Files
+
+!include "MUI2.nsh"
+!include "Sections.nsh"
+!include "LogicLib.nsh"
+!include "Memento.nsh"
+!include "WordFunc.nsh"
+
+;--------------------------------
+;Functions
+
+!ifdef VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD
+
+  !insertmacro VersionCompare
+
+!endif
+
+;--------------------------------
+;Definitions
+
+!define SHCNE_ASSOCCHANGED 0x8000000
+!define SHCNF_IDLIST 0
+
+;--------------------------------
+;Configuration
+
+;Names
+Name "NSIS"
+Caption "NSIS ${VERSION} Setup"
+
+;Memento Settings
+!define MEMENTO_REGISTRY_ROOT HKLM
+!define MEMENTO_REGISTRY_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS"
+
+;Interface Settings
+!define MUI_ABORTWARNING
+
+!define MUI_HEADERIMAGE
+!define MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\nsis.bmp"
+
+!define MUI_COMPONENTSPAGE_SMALLDESC
+
+;Pages
+!define MUI_WELCOMEPAGE_TITLE "Welcome to the NSIS ${VERSION} Setup Wizard"
+!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of NSIS (Nullsoft Scriptable Install System) ${VERSION}, the next generation of the Windows installer and uninstaller system that doesn't suck and isn't huge.$\r$\n$\r$\nNSIS 2 includes a new Modern User Interface, LZMA compression, support for multiple languages and an easy plug-in system.$\r$\n$\r$\n$_CLICK"
+
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_LICENSE "..\COPYING"
+!ifdef VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD
+Page custom PageReinstall PageLeaveReinstall
+!endif
+!insertmacro MUI_PAGE_COMPONENTS
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_INSTFILES
+
+!define MUI_FINISHPAGE_LINK "Visit the NSIS site for the latest news, FAQs and support"
+!define MUI_FINISHPAGE_LINK_LOCATION "http://nsis.sf.net/"
+
+!define MUI_FINISHPAGE_RUN "$INSTDIR\NSIS.exe"
+!define MUI_FINISHPAGE_NOREBOOTSUPPORT
+
+!define MUI_FINISHPAGE_SHOWREADME
+!define MUI_FINISHPAGE_SHOWREADME_TEXT "Show release notes"
+!define MUI_FINISHPAGE_SHOWREADME_FUNCTION ShowReleaseNotes
+
+!insertmacro MUI_PAGE_FINISH
+
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+
+;--------------------------------
+;Languages
+
+!insertmacro MUI_LANGUAGE "English"
+
+;--------------------------------
+;Installer Sections
+
+${MementoSection} "NSIS Core Files (required)" SecCore
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing NSIS Core Files..."
+  SetDetailsPrint listonly
+
+  SectionIn 1 2 3 RO
+  SetOutPath $INSTDIR
+  RMDir /r $SMPROGRAMS\NSIS
+
+  SetOverwrite on
+  File ..\makensis.exe
+  File ..\makensisw.exe
+  File ..\COPYING
+  File ..\NSIS.chm
+  !searchparse /file "..\NSIS.chm" "ITSF" VALIDATE_CHM
+  File ..\NSIS.exe
+  File /nonfatal ..\NSIS.exe.manifest
+
+  IfFileExists $INSTDIR\nsisconf.nsi "" +2
+  Rename $INSTDIR\nsisconf.nsi $INSTDIR\nsisconf.nsh
+  SetOverwrite off
+  File ..\nsisconf.nsh
+  SetOverwrite on
+
+  SetOutPath $INSTDIR\Stubs
+  File ..\Stubs\bzip2
+  File ..\Stubs\bzip2_solid
+  File ..\Stubs\lzma
+  File ..\Stubs\lzma_solid
+  File ..\Stubs\zlib
+  File ..\Stubs\zlib_solid
+  File ..\Stubs\uninst
+
+  SetOutPath $INSTDIR\Include
+  File ..\Include\WinMessages.nsh
+  File ..\Include\Sections.nsh
+  File ..\Include\Library.nsh
+  File ..\Include\UpgradeDLL.nsh
+  File ..\Include\LogicLib.nsh
+  File ..\Include\StrFunc.nsh
+  File ..\Include\Colors.nsh
+  File ..\Include\FileFunc.nsh
+  File ..\Include\TextFunc.nsh
+  File ..\Include\WordFunc.nsh
+  File ..\Include\WinVer.nsh
+  File ..\Include\x64.nsh
+  File ..\Include\Memento.nsh
+  File ..\Include\LangFile.nsh
+  File ..\Include\InstallOptions.nsh
+  File ..\Include\MultiUser.nsh
+  File ..\Include\VB6RunTime.nsh
+  File ..\Include\Util.nsh
+  File ..\Include\WinCore.nsh
+
+  SetOutPath $INSTDIR\Include\Win
+  File ..\Include\Win\WinDef.nsh
+  File ..\Include\Win\WinError.nsh
+  File ..\Include\Win\WinNT.nsh
+  File ..\Include\Win\WinUser.nsh
+
+  SetOutPath $INSTDIR\Docs\StrFunc
+  File ..\Docs\StrFunc\StrFunc.txt
+
+  SetOutPath $INSTDIR\Docs\MultiUser
+  File ..\Docs\MultiUser\Readme.html
+
+  SetOutPath $INSTDIR\Docs\makensisw
+  File ..\Docs\makensisw\*.txt
+
+  SetOutPath $INSTDIR\Menu
+  File ..\Menu\*.html
+  SetOutPath $INSTDIR\Menu\images
+  File ..\Menu\images\header.gif
+  File ..\Menu\images\line.gif
+  File ..\Menu\images\site.gif
+
+  Delete $INSTDIR\makensis.htm
+  Delete $INSTDIR\Docs\*.html
+  Delete $INSTDIR\Docs\style.css
+  RMDir $INSTDIR\Docs
+
+  SetOutPath $INSTDIR\Bin
+  File ..\Bin\LibraryLocal.exe
+  File ..\Bin\RegTool.bin
+
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\TypeLib.dll
+
+  ReadRegStr $R0 HKCR ".nsi" ""
+  StrCmp $R0 "NSISFile" 0 +2
+    DeleteRegKey HKCR "NSISFile"
+
+  WriteRegStr HKCR ".nsi" "" "NSIS.Script"
+  WriteRegStr HKCR "NSIS.Script" "" "NSIS Script File"
+  WriteRegStr HKCR "NSIS.Script\DefaultIcon" "" "$INSTDIR\makensisw.exe,1"
+  ReadRegStr $R0 HKCR "NSIS.Script\shell\open\command" ""
+  StrCmp $R0 "" 0 no_nsiopen
+    WriteRegStr HKCR "NSIS.Script\shell" "" "open"
+    WriteRegStr HKCR "NSIS.Script\shell\open\command" "" 'notepad.exe "%1"'
+  no_nsiopen:
+  WriteRegStr HKCR "NSIS.Script\shell\compile" "" "Compile NSIS Script"
+  WriteRegStr HKCR "NSIS.Script\shell\compile\command" "" '"$INSTDIR\makensisw.exe" "%1"'
+  WriteRegStr HKCR "NSIS.Script\shell\compile-compressor" "" "Compile NSIS Script (Choose Compressor)"
+  WriteRegStr HKCR "NSIS.Script\shell\compile-compressor\command" "" '"$INSTDIR\makensisw.exe" /ChooseCompressor "%1"'
+
+  ReadRegStr $R0 HKCR ".nsh" ""
+  StrCmp $R0 "NSHFile" 0 +2
+    DeleteRegKey HKCR "NSHFile"
+
+  WriteRegStr HKCR ".nsh" "" "NSIS.Header"
+  WriteRegStr HKCR "NSIS.Header" "" "NSIS Header File"
+  WriteRegStr HKCR "NSIS.Header\DefaultIcon" "" "$INSTDIR\makensisw.exe,1"
+  ReadRegStr $R0 HKCR "NSIS.Header\shell\open\command" ""
+  StrCmp $R0 "" 0 no_nshopen
+    WriteRegStr HKCR "NSIS.Header\shell" "" "open"
+    WriteRegStr HKCR "NSIS.Header\shell\open\command" "" 'notepad.exe "%1"'
+  no_nshopen:
+
+  System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'
+
+${MementoSectionEnd}
+
+${MementoSection} "Script Examples" SecExample
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Script Examples..."
+  SetDetailsPrint listonly
+
+  SectionIn 1 2
+  SetOutPath $INSTDIR\Examples
+  File ..\Examples\makensis.nsi
+  File ..\Examples\example1.nsi
+  File ..\Examples\example2.nsi
+  File ..\Examples\viewhtml.nsi
+  File ..\Examples\waplugin.nsi
+  File ..\Examples\bigtest.nsi
+  File ..\Examples\primes.nsi
+  File ..\Examples\rtest.nsi
+  File ..\Examples\gfx.nsi
+  File ..\Examples\one-section.nsi
+  File ..\Examples\languages.nsi
+  File ..\Examples\Library.nsi
+  File ..\Examples\VersionInfo.nsi
+  File ..\Examples\UserVars.nsi
+  File ..\Examples\LogicLib.nsi
+  File ..\Examples\silent.nsi
+  File ..\Examples\StrFunc.nsi
+  File ..\Examples\FileFunc.nsi
+  File ..\Examples\FileFunc.ini
+  File ..\Examples\FileFuncTest.nsi
+  File ..\Examples\TextFunc.nsi
+  File ..\Examples\TextFunc.ini
+  File ..\Examples\TextFuncTest.nsi
+  File ..\Examples\WordFunc.nsi
+  File ..\Examples\WordFunc.ini
+  File ..\Examples\WordFuncTest.nsi
+  File ..\Examples\Memento.nsi
+
+  SetOutPath $INSTDIR\Examples\Plugin
+  File ..\Examples\Plugin\exdll.c
+  File ..\Examples\Plugin\exdll.dpr
+  File ..\Examples\Plugin\exdll.dsp
+  File ..\Examples\Plugin\exdll.dsw
+  File ..\Examples\Plugin\exdll_with_unit.dpr
+  File ..\Examples\Plugin\exdll-vs2008.sln
+  File ..\Examples\Plugin\exdll-vs2008.vcproj
+  File ..\Examples\Plugin\extdll.inc
+  File ..\Examples\Plugin\nsis.pas
+
+  SetOutPath $INSTDIR\Examples\Plugin\nsis
+  File ..\Examples\Plugin\nsis\pluginapi.h
+  File ..\Examples\Plugin\nsis\pluginapi.lib
+  File ..\Examples\Plugin\nsis\api.h
+
+${MementoSectionEnd}
+
+!ifndef NO_STARTMENUSHORTCUTS
+${MementoSection} "Start Menu and Desktop Shortcuts" SecShortcuts
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Start Menu and Desktop Shortcuts..."
+  SetDetailsPrint listonly
+
+!else
+${MementoSection} "Desktop Shortcut" SecShortcuts
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Desktop Shortcut..."
+  SetDetailsPrint listonly
+
+!endif
+  SectionIn 1 2
+  SetOutPath $INSTDIR
+!ifndef NO_STARTMENUSHORTCUTS
+  CreateShortCut "$SMPROGRAMS\NSIS.lnk" "$INSTDIR\NSIS.exe"
+!endif
+
+  CreateShortCut "$DESKTOP\NSIS.lnk" "$INSTDIR\NSIS.exe"
+
+${MementoSectionEnd}
+
+SectionGroup "User Interfaces" SecInterfaces
+
+${MementoSection} "Modern User Interface" SecInterfacesModernUI
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing User Interfaces | Modern User Interface..."
+  SetDetailsPrint listonly
+
+  SectionIn 1 2
+
+  SetOutPath "$INSTDIR\Examples\Modern UI"
+  File "..\Examples\Modern UI\Basic.nsi"
+  File "..\Examples\Modern UI\HeaderBitmap.nsi"
+  File "..\Examples\Modern UI\MultiLanguage.nsi"
+  File "..\Examples\Modern UI\StartMenu.nsi"
+  File "..\Examples\Modern UI\WelcomeFinish.nsi"
+
+  SetOutPath "$INSTDIR\Contrib\Modern UI"
+  File "..\Contrib\Modern UI\System.nsh"
+  File "..\Contrib\Modern UI\ioSpecial.ini"
+
+  SetOutPath "$INSTDIR\Docs\Modern UI"
+  File "..\Docs\Modern UI\Readme.html"
+  File "..\Docs\Modern UI\Changelog.txt"
+  File "..\Docs\Modern UI\License.txt"
+
+  SetOutPath "$INSTDIR\Docs\Modern UI\images"
+  File "..\Docs\Modern UI\images\header.gif"
+  File "..\Docs\Modern UI\images\screen1.png"
+  File "..\Docs\Modern UI\images\screen2.png"
+  File "..\Docs\Modern UI\images\open.gif"
+  File "..\Docs\Modern UI\images\closed.gif"
+
+  SetOutPath $INSTDIR\Contrib\UIs
+  File "..\Contrib\UIs\modern.exe"
+  File "..\Contrib\UIs\modern_headerbmp.exe"
+  File "..\Contrib\UIs\modern_headerbmpr.exe"
+  File "..\Contrib\UIs\modern_nodesc.exe"
+  File "..\Contrib\UIs\modern_smalldesc.exe"
+
+  SetOutPath $INSTDIR\Include
+  File "..\Include\MUI.nsh"
+
+  SetOutPath "$INSTDIR\Contrib\Modern UI 2"
+  File "..\Contrib\Modern UI 2\Deprecated.nsh"
+  File "..\Contrib\Modern UI 2\Interface.nsh"
+  File "..\Contrib\Modern UI 2\Localization.nsh"
+  File "..\Contrib\Modern UI 2\MUI2.nsh"
+  File "..\Contrib\Modern UI 2\Pages.nsh"
+
+  SetOutPath "$INSTDIR\Contrib\Modern UI 2\Pages"
+  File "..\Contrib\Modern UI 2\Pages\Components.nsh"
+  File "..\Contrib\Modern UI 2\Pages\Directory.nsh"
+  File "..\Contrib\Modern UI 2\Pages\Finish.nsh"
+  File "..\Contrib\Modern UI 2\Pages\InstallFiles.nsh"
+  File "..\Contrib\Modern UI 2\Pages\License.nsh"
+  File "..\Contrib\Modern UI 2\Pages\StartMenu.nsh"
+  File "..\Contrib\Modern UI 2\Pages\UninstallConfirm.nsh"
+  File "..\Contrib\Modern UI 2\Pages\Welcome.nsh"
+
+  SetOutPath "$INSTDIR\Docs\Modern UI 2"
+  File "..\Docs\Modern UI 2\Readme.html"
+  File "..\Docs\Modern UI 2\License.txt"
+
+  SetOutPath "$INSTDIR\Docs\Modern UI 2\images"
+  File "..\Docs\Modern UI 2\images\header.gif"
+  File "..\Docs\Modern UI 2\images\screen1.png"
+  File "..\Docs\Modern UI 2\images\screen2.png"
+  File "..\Docs\Modern UI 2\images\open.gif"
+  File "..\Docs\Modern UI 2\images\closed.gif"
+
+  SetOutPath $INSTDIR\Include
+  File "..\Include\MUI2.nsh"
+
+${MementoSectionEnd}
+
+${MementoSection} "Default User Interface" SecInterfacesDefaultUI
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing User Interfaces | Default User Interface..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath "$INSTDIR\Contrib\UIs"
+  File "..\Contrib\UIs\default.exe"
+
+${MementoSectionEnd}
+
+${MementoSection} "Tiny User Interface" SecInterfacesTinyUI
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing User Interfaces | Tiny User Interface..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath "$INSTDIR\Contrib\UIs"
+  File "..\Contrib\UIs\sdbarker_tiny.exe"
+
+${MementoSectionEnd}
+
+SectionGroupEnd
+
+${MementoSection} "Graphics" SecGraphics
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Graphics..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  Delete $INSTDIR\Contrib\Icons\*.ico
+  Delete $INSTDIR\Contrib\Icons\*.bmp
+  RMDir $INSTDIR\Contrib\Icons
+  SetOutPath $INSTDIR\Contrib\Graphics
+  File /r "..\Contrib\Graphics\*.ico"
+  File /r "..\Contrib\Graphics\*.bmp"
+${MementoSectionEnd}
+
+${MementoSection} "Language Files" SecLangFiles
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Language Files..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath "$INSTDIR\Contrib\Language files"
+  File "..\Contrib\Language files\*.nlf"
+
+  SetOutPath $INSTDIR\Bin
+  File ..\Bin\MakeLangID.exe
+
+  !insertmacro SectionFlagIsSet ${SecInterfacesModernUI} ${SF_SELECTED} mui nomui
+  mui:
+    SetOutPath "$INSTDIR\Contrib\Language files"
+    File "..\Contrib\Language files\*.nsh"
+  nomui:
+
+${MementoSectionEnd}
+
+SectionGroup "Tools" SecTools
+
+${MementoSection} "Zip2Exe" SecToolsZ2E
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Tools | Zip2Exe..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath $INSTDIR\Bin
+  File ..\Bin\zip2exe.exe
+  SetOutPath $INSTDIR\Contrib\zip2exe
+  File ..\Contrib\zip2exe\Base.nsh
+  File ..\Contrib\zip2exe\Modern.nsh
+  File ..\Contrib\zip2exe\Classic.nsh
+
+${MementoSectionEnd}
+
+SectionGroupEnd
+
+SectionGroup "Plug-ins" SecPluginsPlugins
+
+${MementoSection} "Banner" SecPluginsBanner
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Plug-ins | Banner..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\Banner.dll
+  SetOutPath $INSTDIR\Docs\Banner
+  File ..\Docs\Banner\Readme.txt
+  SetOutPath $INSTDIR\Examples\Banner
+  File ..\Examples\Banner\Example.nsi
+${MementoSectionEnd}
+
+${MementoSection} "Language DLL" SecPluginsLangDLL
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Plug-ins | Language DLL..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\LangDLL.dll
+${MementoSectionEnd}
+
+${MementoSection} "nsExec" SecPluginsnsExec
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Plug-ins | nsExec..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\nsExec.dll
+  SetOutPath $INSTDIR\Docs\nsExec
+  File ..\Docs\nsExec\nsExec.txt
+  SetOutPath $INSTDIR\Examples\nsExec
+  File ..\Examples\nsExec\test.nsi
+${MementoSectionEnd}
+
+${MementoSection} "Splash" SecPluginsSplash
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Plug-ins | Splash..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\splash.dll
+  SetOutPath $INSTDIR\Docs\Splash
+  File ..\Docs\Splash\splash.txt
+  SetOutPath $INSTDIR\Examples\Splash
+  File ..\Examples\Splash\Example.nsi
+${MementoSectionEnd}
+
+${MementoSection} "AdvSplash" SecPluginsSplashT
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Plug-ins | AdvSplash..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\advsplash.dll
+  SetOutPath $INSTDIR\Docs\AdvSplash
+  File ..\Docs\AdvSplash\advsplash.txt
+  SetOutPath $INSTDIR\Examples\AdvSplash
+  File ..\Examples\AdvSplash\Example.nsi
+${MementoSectionEnd}
+
+${MementoSection} "BgImage" SecPluginsBgImage
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Plug-ins | BgImage..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\BgImage.dll
+  SetOutPath $INSTDIR\Docs\BgImage
+  File ..\Docs\BgImage\BgImage.txt
+  SetOutPath $INSTDIR\Examples\BgImage
+  File ..\Examples\BgImage\Example.nsi
+${MementoSectionEnd}
+
+${MementoSection} "InstallOptions" SecPluginsIO
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Plug-ins | InstallOptions..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\InstallOptions.dll
+  SetOutPath $INSTDIR\Docs\InstallOptions
+  File ..\Docs\InstallOptions\Readme.html
+  File ..\Docs\InstallOptions\Changelog.txt
+  SetOutPath $INSTDIR\Examples\InstallOptions
+  File ..\Examples\InstallOptions\test.ini
+  File ..\Examples\InstallOptions\test.nsi
+  File ..\Examples\InstallOptions\testimgs.ini
+  File ..\Examples\InstallOptions\testimgs.nsi
+  File ..\Examples\InstallOptions\testlink.ini
+  File ..\Examples\InstallOptions\testlink.nsi
+  File ..\Examples\InstallOptions\testnotify.ini
+  File ..\Examples\InstallOptions\testnotify.nsi
+${MementoSectionEnd}
+
+${MementoSection} "nsDialogs" SecPluginsDialogs
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Plug-ins | nsDialogs..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\nsDialogs.dll
+  SetOutPath $INSTDIR\Examples\nsDialogs
+  File ..\Examples\nsDialogs\example.nsi
+  File ..\Examples\nsDialogs\InstallOptions.nsi
+  File ..\Examples\nsDialogs\timer.nsi
+  File ..\Examples\nsDialogs\welcome.nsi
+  SetOutPath $INSTDIR\Include
+  File ..\Include\nsDialogs.nsh
+  SetOutPath $INSTDIR\Docs\nsDialogs
+  File ..\Docs\nsDialogs\Readme.html
+${MementoSectionEnd}
+
+${MementoSection} "Math" SecPluginsMath
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Plug-ins | Math..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\Math.dll
+  SetOutPath $INSTDIR\Docs\Math
+  File ..\Docs\Math\Math.txt
+  SetOutPath $INSTDIR\Examples\Math
+  File ..\Examples\Math\math.nsi
+  File ..\Examples\Math\mathtest.txt
+  File ..\Examples\Math\mathtest.nsi
+  File ..\Examples\Math\mathtest.ini
+
+${MementoSectionEnd}
+
+${MementoSection} "NSISdl" SecPluginsNSISDL
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Plug-ins | NSISdl..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\nsisdl.dll
+  SetOutPath $INSTDIR\Docs\NSISdl
+  File ..\Docs\NSISdl\ReadMe.txt
+  File ..\Docs\NSISdl\License.txt
+${MementoSectionEnd}
+
+${MementoSection} "System" SecPluginsSystem
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Plug-ins | System..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\System.dll
+  SetOutPath $INSTDIR\Docs\System
+  File ..\Docs\System\System.html
+  File ..\Docs\System\WhatsNew.txt
+  SetOutPath $INSTDIR\Examples\System
+  File ..\Examples\System\Resource.dll
+  File ..\Examples\System\SysFunc.nsh
+  File ..\Examples\System\System.nsh
+  File ..\Examples\System\System.nsi
+${MementoSectionEnd}
+
+${MementoSection} "StartMenu" SecPluginsStartMenu
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Plug-ins | StartMenu..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\StartMenu.dll
+  SetOutPath $INSTDIR\Docs\StartMenu
+  File ..\Docs\StartMenu\Readme.txt
+  SetOutPath $INSTDIR\Examples\StartMenu
+  File ..\Examples\StartMenu\Example.nsi
+${MementoSectionEnd}
+
+${MementoSection} "UserInfo" SecPluginsUserInfo
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Plug-ins | UserInfo..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\UserInfo.dll
+  SetOutPath $INSTDIR\Examples\UserInfo
+  File ..\Examples\UserInfo\UserInfo.nsi
+${MementoSectionEnd}
+
+${MementoSection} "Dialer" SecPluginsDialer
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Plug-ins | Dialer..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\Dialer.dll
+  SetOutPath $INSTDIR\Docs\Dialer
+  File ..\Docs\Dialer\Dialer.txt
+${MementoSectionEnd}
+
+${MementoSection} "VPatch" SecPluginsVPatch
+
+  SetDetailsPrint textonly
+  DetailPrint "Installing Plug-ins | VPatch..."
+  SetDetailsPrint listonly
+
+  SectionIn 1
+
+  SetOutPath $INSTDIR\Plugins
+  File ..\Plugins\VPatch.dll
+  SetOutPath $INSTDIR\Examples\VPatch
+  File ..\Examples\VPatch\example.nsi
+  File ..\Examples\VPatch\oldfile.txt
+  File ..\Examples\VPatch\newfile.txt
+  File ..\Examples\VPatch\patch.pat
+  SetOutPath $INSTDIR\Docs\VPatch
+  File ..\Docs\VPatch\Readme.html
+  SetOutPath $INSTDIR\Bin
+  File ..\Bin\GenPat.exe
+  SetOutPath $INSTDIR\Include
+  File ..\Include\VPatchLib.nsh
+${MementoSectionEnd}
+
+${MementoSectionDone}
+
+SectionGroupEnd
+
+Section -post
+
+  ; When Modern UI is installed:
+  ; * Always install the English language file
+  ; * Always install default icons / bitmaps
+
+  !insertmacro SectionFlagIsSet ${SecInterfacesModernUI} ${SF_SELECTED} mui nomui
+
+    mui:
+
+    SetDetailsPrint textonly
+    DetailPrint "Configuring Modern UI..."
+    SetDetailsPrint listonly
+
+    !insertmacro SectionFlagIsSet ${SecLangFiles} ${SF_SELECTED} langfiles nolangfiles
+
+      nolangfiles:
+
+      SetOutPath "$INSTDIR\Contrib\Language files"
+      File "..\Contrib\Language files\English.nlf"
+      SetOutPath "$INSTDIR\Contrib\Language files"
+      File "..\Contrib\Language files\English.nsh"
+
+    langfiles:
+
+    !insertmacro SectionFlagIsSet ${SecGraphics} ${SF_SELECTED} graphics nographics
+
+      nographics:
+
+      SetOutPath $INSTDIR\Contrib\Graphics
+      SetOutPath $INSTDIR\Contrib\Graphics\Checks
+      File "..\Contrib\Graphics\Checks\modern.bmp"
+      SetOutPath $INSTDIR\Contrib\Graphics\Icons
+      File "..\Contrib\Graphics\Icons\modern-install.ico"
+      File "..\Contrib\Graphics\Icons\modern-uninstall.ico"
+      SetOutPath $INSTDIR\Contrib\Graphics\Header
+      File "..\Contrib\Graphics\Header\nsis.bmp"
+      SetOutPath $INSTDIR\Contrib\Graphics\Wizard
+      File "..\Contrib\Graphics\Wizard\win.bmp"
+
+    graphics:
+
+  nomui:
+
+  SetDetailsPrint textonly
+  DetailPrint "Creating Registry Keys..."
+  SetDetailsPrint listonly
+
+  SetOutPath $INSTDIR
+
+  WriteRegStr HKLM "Software\NSIS" "" $INSTDIR
+!ifdef VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD
+  WriteRegDword HKLM "Software\NSIS" "VersionMajor" "${VER_MAJOR}"
+  WriteRegDword HKLM "Software\NSIS" "VersionMinor" "${VER_MINOR}"
+  WriteRegDword HKLM "Software\NSIS" "VersionRevision" "${VER_REVISION}"
+  WriteRegDword HKLM "Software\NSIS" "VersionBuild" "${VER_BUILD}"
+!endif
+
+  WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "UninstallString" '"$INSTDIR\uninst-nsis.exe"'
+  WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "InstallLocation" "$INSTDIR"
+  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "DisplayName" "Nullsoft Install System"
+  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "DisplayIcon" "$INSTDIR\NSIS.exe,0"
+  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "DisplayVersion" "${VERSION}"
+!ifdef VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD
+  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "VersionMajor" "${VER_MAJOR}"
+  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "VersionMinor" "${VER_MINOR}.${VER_REVISION}"
+!endif
+  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "URLInfoAbout" "http://nsis.sourceforge.net/"
+  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "HelpLink" "http://nsis.sourceforge.net/Support"
+  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "NoModify" "1"
+  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "NoRepair" "1"
+
+  WriteUninstaller $INSTDIR\uninst-nsis.exe
+
+  ${MementoSectionSave}
+
+  SetDetailsPrint both
+
+SectionEnd
+
+;--------------------------------
+;Descriptions
+
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "The core files required to use NSIS (compiler etc.)"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecExample} "Example installation scripts that show you how to use NSIS"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} "Adds icons to your start menu and your desktop for easy access"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecInterfaces} "User interface designs that can be used to change the installer look and feel"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecInterfacesModernUI} "A modern user interface like the wizards of recent Windows versions"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecInterfacesDefaultUI} "The default NSIS user interface which you can customize to make your own UI"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecInterfacesTinyUI} "A tiny version of the default user interface"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecTools} "Tools that help you with NSIS development"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecToolsZ2E} "A utility that converts a ZIP file to a NSIS installer"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecGraphics} "Icons, checkbox images and other graphics"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecLangFiles} "Language files used to support multiple languages in an installer"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsPlugins} "Useful plugins that extend NSIS's functionality"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsBanner} "Plugin that lets you show a banner before installation starts"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsLangDLL} "Plugin that lets you add a language select dialog to your installer"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsnsExec} "Plugin that executes console programs and prints its output in the NSIS log window or hides it"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsSplash} "Splash screen add-on that lets you add a splash screen to an installer"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsSplashT} "Splash screen add-on with transparency support that lets you add a splash screen to an installer"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsSystem} "Plugin that lets you call Win32 API or external DLLs"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsMath} "Plugin that lets you evaluate complicated mathematical expressions"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsDialer} "Plugin that provides internet connection functions"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsIO} "Plugin that lets you add custom pages to an installer"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsDialogs} "Plugin that lets you add custom pages to an installer"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsStartMenu} "Plugin that lets the user select the start menu folder"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsBgImage} "Plugin that lets you show a persistent background image plugin and play sounds"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsUserInfo} "Plugin that that gives you the user name and the user account type"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsNSISDL} "Plugin that lets you create a web based installer"
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsVPatch} "Plugin that lets you create patches to upgrade older files"
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+;--------------------------------
+;Installer Functions
+
+Function .onInit
+
+  ${MementoSectionRestore}
+
+FunctionEnd
+
+!ifdef VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD
+
+Var ReinstallPageCheck
+
+Function PageReinstall
+
+  ReadRegStr $R0 HKLM "Software\NSIS" ""
+
+  ${If} $R0 == ""
+    Abort
+  ${EndIf}
+
+  ReadRegDWORD $R0 HKLM "Software\NSIS" "VersionMajor"
+  ReadRegDWORD $R1 HKLM "Software\NSIS" "VersionMinor"
+  ReadRegDWORD $R2 HKLM "Software\NSIS" "VersionRevision"
+  ReadRegDWORD $R3 HKLM "Software\NSIS" "VersionBuild"
+  StrCpy $R0 $R0.$R1.$R2.$R3
+
+  ${VersionCompare} ${VER_MAJOR}.${VER_MINOR}.${VER_REVISION}.${VER_BUILD} $R0 $R0
+  ${If} $R0 == 0
+    StrCpy $R1 "NSIS ${VERSION} is already installed. Select the operation you want to perform and click Next to continue."
+    StrCpy $R2 "Add/Reinstall components"
+    StrCpy $R3 "Uninstall NSIS"
+    !insertmacro MUI_HEADER_TEXT "Already Installed" "Choose the maintenance option to perform."
+    StrCpy $R0 "2"
+  ${ElseIf} $R0 == 1
+    StrCpy $R1 "An older version of NSIS is installed on your system. It's recommended that you uninstall the current version before installing. Select the operation you want to perform and click Next to continue."
+    StrCpy $R2 "Uninstall before installing"
+    StrCpy $R3 "Do not uninstall"
+    !insertmacro MUI_HEADER_TEXT "Already Installed" "Choose how you want to install NSIS."
+    StrCpy $R0 "1"
+  ${ElseIf} $R0 == 2
+    StrCpy $R1 "A newer version of NSIS is already installed! It is not recommended that you install an older version. If you really want to install this older version, it's better to uninstall the current version first. Select the operation you want to perform and click Next to continue."
+    StrCpy $R2 "Uninstall before installing"
+    StrCpy $R3 "Do not uninstall"
+    !insertmacro MUI_HEADER_TEXT "Already Installed" "Choose how you want to install NSIS."
+    StrCpy $R0 "1"
+  ${Else}
+    Abort
+  ${EndIf}
+
+  nsDialogs::Create 1018
+  Pop $R4
+
+  ${NSD_CreateLabel} 0 0 100% 24u $R1
+  Pop $R1
+
+  ${NSD_CreateRadioButton} 30u 50u -30u 8u $R2
+  Pop $R2
+  ${NSD_OnClick} $R2 PageReinstallUpdateSelection
+
+  ${NSD_CreateRadioButton} 30u 70u -30u 8u $R3
+  Pop $R3
+  ${NSD_OnClick} $R3 PageReinstallUpdateSelection
+
+  ${If} $ReinstallPageCheck != 2
+    SendMessage $R2 ${BM_SETCHECK} ${BST_CHECKED} 0
+  ${Else}
+    SendMessage $R3 ${BM_SETCHECK} ${BST_CHECKED} 0
+  ${EndIf}
+
+  ${NSD_SetFocus} $R2
+
+  nsDialogs::Show
+
+FunctionEnd
+
+Function PageReinstallUpdateSelection
+
+  Pop $R1
+
+  ${NSD_GetState} $R2 $R1
+
+  ${If} $R1 == ${BST_CHECKED}
+    StrCpy $ReinstallPageCheck 1
+  ${Else}
+    StrCpy $ReinstallPageCheck 2
+  ${EndIf}
+
+FunctionEnd
+
+Function PageLeaveReinstall
+
+  ${NSD_GetState} $R2 $R1
+
+  StrCmp $R0 "1" 0 +2
+    StrCmp $R1 "1" reinst_uninstall reinst_done
+
+  StrCmp $R0 "2" 0 +3
+    StrCmp $R1 "1" reinst_done reinst_uninstall
+
+  reinst_uninstall:
+  ReadRegStr $R1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "UninstallString"
+
+  ;Run uninstaller
+  HideWindow
+
+    ClearErrors
+    ExecWait '$R1 _?=$INSTDIR'
+
+    IfErrors no_remove_uninstaller
+    IfFileExists "$INSTDIR\makensis.exe" no_remove_uninstaller
+
+      Delete $R1
+      RMDir $INSTDIR
+
+    no_remove_uninstaller:
+
+  StrCmp $R0 "2" 0 +2
+    Quit
+
+  BringToFront
+
+  reinst_done:
+
+FunctionEnd
+
+!endif # VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD
+
+Function ShowReleaseNotes
+  ${If} ${FileExists} $WINDIR\hh.exe
+    StrCpy $0 $WINDIR\hh.exe
+    Exec '"$0" mk:@MSITStore:$INSTDIR\NSIS.chm::/SectionF.1.html'
+  ${Else}
+    SearchPath $0 hh.exe
+    ${If} ${FileExists} $0
+      Exec '"$0" mk:@MSITStore:$INSTDIR\NSIS.chm::/SectionF.1.html'
+    ${Else}
+      ExecShell "open" "http://nsis.sourceforge.net/Docs/AppendixF.html#F.1"
+    ${EndIf}
+  ${EndIf}
+FunctionEnd
+
+;--------------------------------
+;Uninstaller Section
+
+Section Uninstall
+
+  SetDetailsPrint textonly
+  DetailPrint "Uninstalling NSI Development Shell Extensions..."
+  SetDetailsPrint listonly
+
+  IfFileExists $INSTDIR\makensis.exe nsis_installed
+    MessageBox MB_YESNO "It does not appear that NSIS is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?" IDYES nsis_installed
+    Abort "Uninstall aborted by user"
+  nsis_installed:
+
+  SetDetailsPrint textonly
+  DetailPrint "Deleting Registry Keys..."
+  SetDetailsPrint listonly
+
+  ReadRegStr $R0 HKCR ".nsi" ""
+  StrCmp $R0 "NSIS.Script" 0 +2
+    DeleteRegKey HKCR ".nsi"
+
+  ReadRegStr $R0 HKCR ".nsh" ""
+  StrCmp $R0 "NSIS.Header" 0 +2
+    DeleteRegKey HKCR ".nsh"
+
+  DeleteRegKey HKCR "NSIS.Script"
+  DeleteRegKey HKCR "NSIS.Header"
+
+  System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'
+
+  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS"
+  DeleteRegKey HKLM "Software\NSIS"
+
+  SetDetailsPrint textonly
+  DetailPrint "Deleting Files..."
+  SetDetailsPrint listonly
+
+  Delete $SMPROGRAMS\NSIS.lnk
+  Delete $DESKTOP\NSIS.lnk
+  Delete $INSTDIR\makensis.exe
+  Delete $INSTDIR\makensisw.exe
+  Delete $INSTDIR\NSIS.exe
+  Delete $INSTDIR\license.txt
+  Delete $INSTDIR\COPYING
+  Delete $INSTDIR\uninst-nsis.exe
+  Delete $INSTDIR\nsisconf.nsi
+  Delete $INSTDIR\nsisconf.nsh
+  Delete $INSTDIR\NSIS.chm
+  RMDir /r $INSTDIR\Bin
+  RMDir /r $INSTDIR\Contrib
+  RMDir /r $INSTDIR\Docs
+  RMDir /r $INSTDIR\Examples
+  RMDir /r $INSTDIR\Include
+  RMDir /r $INSTDIR\Menu
+  RMDir /r $INSTDIR\Plugins
+  RMDir /r $INSTDIR\Stubs
+  RMDir $INSTDIR
+
+  SetDetailsPrint both
+
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/UserVars.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/UserVars.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/UserVars.nsi	(revision 2961)
@@ -0,0 +1,69 @@
+; UserVars.nsi
+;
+; This script shows you how to declare and user variables.
+
+;--------------------------------
+
+  Name "User Variables Text"
+  OutFile "UserVars.exe"
+  
+  InstallDir "$PROGRAMFILES\User Variables Test"
+  
+  RequestExecutionLevel admin
+  
+;--------------------------------
+
+  ;Pages
+  Page directory
+  Page instfiles
+  
+  UninstPage uninstConfirm
+  UninstPage instfiles
+
+;--------------------------------
+; Declaration of user variables (Var command), allowed charaters for variables names : [a-z][A-Z][0-9] and '_'
+
+  Var "Name"
+  Var "Serial"
+  Var "Info"
+
+;--------------------------------
+; Installer
+
+Section "Dummy Section" SecDummy
+
+     StrCpy $0 "Admin"
+     StrCpy "$Name" $0
+     StrCpy "$Serial" "12345"
+     MessageBox MB_OK "User Name: $Name $\n$\nSerial Number: $Serial"
+
+     CreateDirectory $INSTDIR
+     WriteUninstaller "$INSTDIR\Uninst.exe"
+     
+SectionEnd
+
+Section "Another Section"
+
+     Var /GLOBAL "AnotherVar"
+
+     StrCpy $AnotherVar "test"
+
+SectionEnd
+
+;--------------------------------
+; Uninstaller
+
+Section "Uninstall"
+
+     StrCpy $Info "User variables test uninstalled successfully."
+     Delete "$INSTDIR\Uninst.exe"
+     RmDir $INSTDIR
+
+SectionEnd
+
+Function un.OnUninstSuccess
+
+     HideWindow
+     MessageBox MB_OK "$Info"
+     
+FunctionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/example1.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/example1.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/example1.nsi	(revision 2961)
@@ -0,0 +1,40 @@
+; example1.nsi
+;
+; This script is perhaps one of the simplest NSIs you can make. All of the
+; optional settings are left to their default settings. The installer simply 
+; prompts the user asking them where to install, and drops a copy of example1.nsi
+; there. 
+
+;--------------------------------
+
+; The name of the installer
+Name "Example1"
+
+; The file to write
+OutFile "example1.exe"
+
+; The default installation directory
+InstallDir $DESKTOP\Example1
+
+; Request application privileges for Windows Vista
+RequestExecutionLevel user
+
+;--------------------------------
+
+; Pages
+
+Page directory
+Page instfiles
+
+;--------------------------------
+
+; The stuff to install
+Section "" ;No components page, name is not important
+
+  ; Set output path to the installation directory.
+  SetOutPath $INSTDIR
+  
+  ; Put file there
+  File example1.nsi
+  
+SectionEnd ; end the section
Index: tmp/org.txm.setups/nsis-2.5/Examples/example2.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/example2.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/example2.nsi	(revision 2961)
@@ -0,0 +1,92 @@
+; example2.nsi
+;
+; This script is based on example1.nsi, but it remember the directory, 
+; has uninstall support and (optionally) installs start menu shortcuts.
+;
+; It will install example2.nsi into a directory that the user selects,
+
+;--------------------------------
+
+; The name of the installer
+Name "Example2"
+
+; The file to write
+OutFile "example2.exe"
+
+; The default installation directory
+InstallDir $PROGRAMFILES\Example2
+
+; Registry key to check for directory (so if you install again, it will 
+; overwrite the old one automatically)
+InstallDirRegKey HKLM "Software\NSIS_Example2" "Install_Dir"
+
+; Request application privileges for Windows Vista
+RequestExecutionLevel admin
+
+;--------------------------------
+
+; Pages
+
+Page components
+Page directory
+Page instfiles
+
+UninstPage uninstConfirm
+UninstPage instfiles
+
+;--------------------------------
+
+; The stuff to install
+Section "Example2 (required)"
+
+  SectionIn RO
+  
+  ; Set output path to the installation directory.
+  SetOutPath $INSTDIR
+  
+  ; Put file there
+  File "example2.nsi"
+  
+  ; Write the installation path into the registry
+  WriteRegStr HKLM SOFTWARE\NSIS_Example2 "Install_Dir" "$INSTDIR"
+  
+  ; Write the uninstall keys for Windows
+  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "DisplayName" "NSIS Example2"
+  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "UninstallString" '"$INSTDIR\uninstall.exe"'
+  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "NoModify" 1
+  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "NoRepair" 1
+  WriteUninstaller "uninstall.exe"
+  
+SectionEnd
+
+; Optional section (can be disabled by the user)
+Section "Start Menu Shortcuts"
+
+  CreateDirectory "$SMPROGRAMS\Example2"
+  CreateShortCut "$SMPROGRAMS\Example2\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
+  CreateShortCut "$SMPROGRAMS\Example2\Example2 (MakeNSISW).lnk" "$INSTDIR\example2.nsi" "" "$INSTDIR\example2.nsi" 0
+  
+SectionEnd
+
+;--------------------------------
+
+; Uninstaller
+
+Section "Uninstall"
+  
+  ; Remove registry keys
+  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2"
+  DeleteRegKey HKLM SOFTWARE\NSIS_Example2
+
+  ; Remove files and uninstaller
+  Delete $INSTDIR\example2.nsi
+  Delete $INSTDIR\uninstall.exe
+
+  ; Remove shortcuts, if any
+  Delete "$SMPROGRAMS\Example2\*.*"
+
+  ; Remove directories used
+  RMDir "$SMPROGRAMS\Example2"
+  RMDir "$INSTDIR"
+
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/waplugin.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/waplugin.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/waplugin.nsi	(revision 2961)
@@ -0,0 +1,205 @@
+; waplugin.nsi
+;
+; This script will generate an installer that installs a Winamp 2 plug-in.
+;
+; This installer will automatically alert the user that installation was
+; successful, and ask them whether or not they would like to make the 
+; plug-in the default and run Winamp.
+
+;--------------------------------
+
+; Uncomment the next line to enable auto Winamp download
+; !define WINAMP_AUTOINSTALL
+
+; The name of the installer
+Name "TinyVis Plug-in"
+
+; The file to write
+OutFile "waplugin.exe"
+
+; The default installation directory
+InstallDir $PROGRAMFILES\Winamp
+
+; detect winamp path from uninstall string if available
+InstallDirRegKey HKLM \
+                 "Software\Microsoft\Windows\CurrentVersion\Uninstall\Winamp" \
+                 "UninstallString"
+
+; The text to prompt the user to enter a directory
+DirText "Please select your Winamp path below (you will be able to proceed when Winamp is detected):"
+# currently doesn't work - DirShow hide
+
+; automatically close the installer when done.
+AutoCloseWindow true
+
+; hide the "show details" box
+ShowInstDetails nevershow
+
+; Request application privileges for Windows Vista
+RequestExecutionLevel admin
+
+;--------------------------------
+
+;Pages
+
+Page directory
+Page instfiles
+
+;--------------------------------
+
+; The stuff to install
+
+Section ""
+
+!ifdef WINAMP_AUTOINSTALL
+  Call MakeSureIGotWinamp
+!endif
+
+  Call QueryWinampVisPath
+  SetOutPath $1
+
+  ; File to extract
+  #File "C:\program files\winamp\plugins\vis_nsfs.dll"
+  File /oname=vis_nsfs.dll "${NSISDIR}\Plugins\TypeLib.dll" # dummy plug-in
+
+  ; prompt user, and if they select no, go to NoWinamp
+  MessageBox MB_YESNO|MB_ICONQUESTION \
+             "The plug-in was installed. Would you like to run Winamp now with TinyVis as the default plug-in?" \
+             IDNO NoWinamp
+    WriteINIStr "$INSTDIR\Winamp.ini" "Winamp" "visplugin_name" "vis_nsfs.dll"
+    WriteINIStr "$INSTDIR\Winamp.ini" "Winamp" "visplugin_num" "0"
+    Exec '"$INSTDIR\Winamp.exe"'
+  NoWinamp:
+  
+SectionEnd
+
+;--------------------------------
+
+Function .onVerifyInstDir
+
+!ifndef WINAMP_AUTOINSTALL
+
+  ;Check for Winamp installation
+
+  IfFileExists $INSTDIR\Winamp.exe Good
+    Abort
+  Good:
+
+!endif ; WINAMP_AUTOINSTALL
+
+FunctionEnd
+
+Function QueryWinampVisPath ; sets $1 with vis path
+
+  StrCpy $1 $INSTDIR\Plugins
+  ; use DSPDir instead of VISDir to get DSP plugins directory
+  ReadINIStr $9 $INSTDIR\winamp.ini Winamp VisDir 
+  StrCmp $9 "" End
+  IfFileExists $9 0 End
+    StrCpy $1 $9 ; update dir
+  End:
+  
+FunctionEnd
+
+!ifdef WINAMP_AUTOINSTALL
+
+Function GetWinampInstPath
+
+  Push $0
+  Push $1
+  Push $2
+  ReadRegStr $0 HKLM \
+     "Software\Microsoft\Windows\CurrentVersion\Uninstall\Winamp" \ 
+     "UninstallString"
+  StrCmp $0 "" fin
+
+    StrCpy $1 $0 1 0 ; get firstchar
+    StrCmp $1 '"' "" getparent 
+      ; if first char is ", let's remove "'s first.
+      StrCpy $0 $0 "" 1
+      StrCpy $1 0
+      rqloop:
+        StrCpy $2 $0 1 $1
+        StrCmp $2 '"' rqdone
+        StrCmp $2 "" rqdone
+        IntOp $1 $1 + 1
+        Goto rqloop
+      rqdone:
+      StrCpy $0 $0 $1
+    getparent:
+    ; the uninstall string goes to an EXE, let's get the directory.
+    StrCpy $1 -1
+    gploop:
+      StrCpy $2 $0 1 $1
+      StrCmp $2 "" gpexit
+      StrCmp $2 "\" gpexit
+      IntOp $1 $1 - 1
+      Goto gploop
+    gpexit:
+    StrCpy $0 $0 $1
+
+    StrCmp $0 "" fin
+    IfFileExists $0\winamp.exe fin
+      StrCpy $0 ""
+  fin:
+  Pop $2
+  Pop $1
+  Exch $0
+  
+FunctionEnd
+
+Function MakeSureIGotWinamp
+
+  Call GetWinampInstPath
+  
+  Pop $0
+  StrCmp $0 "" getwinamp
+    Return
+    
+  getwinamp:
+  
+  Call ConnectInternet ;Make an internet connection (if no connection available)
+  
+  StrCpy $2 "$TEMP\Winamp Installer.exe"
+  NSISdl::download http://download.nullsoft.com/winamp/client/winamp281_lite.exe $2
+  Pop $0
+  StrCmp $0 success success
+    SetDetailsView show
+    DetailPrint "download failed: $0"
+    Abort
+  success:
+    ExecWait '"$2" /S'
+    Delete $2
+    Call GetWinampInstPath
+    Pop $0
+    StrCmp $0 "" skip
+    StrCpy $INSTDIR $0
+  skip:
+  
+FunctionEnd
+
+Function ConnectInternet
+
+  Push $R0
+    
+    ClearErrors
+    Dialer::AttemptConnect
+    IfErrors noie3
+    
+    Pop $R0
+    StrCmp $R0 "online" connected
+      MessageBox MB_OK|MB_ICONSTOP "Cannot connect to the internet."
+      Quit
+    
+    noie3:
+  
+    ; IE3 not installed
+    MessageBox MB_OK|MB_ICONINFORMATION "Please connect to the internet now."
+    
+    connected:
+  
+  Pop $R0
+  
+FunctionEnd
+
+!endif ; WINAMP_AUTOINSTALL
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/TextFunc.ini
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/TextFunc.ini	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/TextFunc.ini	(revision 2961)
@@ -0,0 +1,130 @@
+[Settings]
+NumFields=15
+NextButtonText=&Enter
+
+[Field 1]
+Type=Droplist
+Flags=NOTIFY
+State=1. LineFind
+ListItems=1. LineFind|2. LineRead|3. FileReadFromEnd|4. LineSum|5. FileJoin|6. TextCompare|7. ConfigRead|8. ConfigWrite|9. FileRecode
+Left=44
+Right=139
+Top=9
+Bottom=100
+
+[Field 2]
+Type=FileRequest
+Left=44
+Right=-17
+Top=30
+Bottom=41
+
+[Field 3]
+Type=FileRequest
+Left=44
+Right=-17
+Top=46
+Bottom=57
+
+[Field 4]
+Type=FileRequest
+State=3:-1
+Left=44
+Right=-17
+Top=62
+Bottom=75
+
+[Field 5]
+Type=Droplist
+Flags=NOTIFY
+State=Example1  (delete first two symbols)
+ListItems=Example1  (delete first two symbols)|Example2  (show changed lines)|Example3  (delete lines)|Example4  (insert lines)|Example5  (replace in file - WordFunc.nsh required)|Example6  (line string to cut or delete)|Example7  (read lines)
+Left=44
+Right=-36
+Top=81
+Bottom=155
+
+[Field 6]
+Type=Droplist
+Flags=NOTIFY
+State=Example1  (Different or Equal)
+ListItems=Example1  (Different or Equal)|Example2  (Compare line-by-line - Different)|Example3  (Compare line-by-line - Equal)|Example4  (Compare all lines - Different)|Example5  (Compare all lines - Equal)
+Left=44
+Right=-36
+Top=81
+Bottom=140
+
+[Field 7]
+Type=Droplist
+State=FileReadFromEndCallback
+ListItems=FileReadFromEndCallback
+Left=44
+Right=-36
+Top=81
+Bottom=92
+
+[Field 8]
+Type=Text
+Flags=READONLY
+Left=9
+Right=-36
+Top=108
+Bottom=120
+
+[Field 9]
+Type=Button
+Text=Edit
+Flags=NOTIFY
+Left=234
+Right=256
+Top=81
+Bottom=92
+
+[Field 10]
+Type=Button
+Text=Log
+Flags=NOTIFY|DISABLED
+Left=234
+Right=256
+Top=108
+Bottom=120
+
+[Field 11]
+Type=Label
+Text=InputFile
+Left=10
+Right=43
+Top=32
+Bottom=44
+
+[Field 12]
+Type=Label
+Text=OutputFile
+Left=10
+Right=43
+Top=48
+Bottom=60
+
+[Field 13]
+Type=Label
+Text=Range
+Left=10
+Right=44
+Top=65
+Bottom=75
+
+[Field 14]
+Type=Label
+Text=Function
+Left=10
+Right=43
+Top=81
+Bottom=92
+
+[Field 15]
+Type=Label
+Text=Result:
+Left=10
+Right=229
+Top=97
+Bottom=105

Property changes on: tmp/org.txm.setups/nsis-2.5/Examples/TextFunc.ini
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Examples/WordFunc.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/WordFunc.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/WordFunc.nsi	(revision 2961)
@@ -0,0 +1,535 @@
+;_____________________________________________________________________________
+;
+;                          Word Functions
+;_____________________________________________________________________________
+;
+; 2005 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
+
+Name "Word Functions"
+OutFile "WordFunc.exe"
+Caption "$(^Name)"
+XPStyle on
+RequestExecutionLevel user
+
+Var INI
+Var HWND
+Var STATE
+
+!include "WinMessages.nsh"
+!include "WordFunc.nsh"
+
+Page Custom ShowCustom LeaveCustom
+
+Function ShowCustom
+	InstallOptions::initDialog "$INI"
+	Pop $hwnd
+	InstallOptions::show
+	Pop $0
+FunctionEnd
+
+Function LeaveCustom
+	ReadINIStr $0 $INI "Settings" "State"
+	StrCmp $0 0 Enter
+
+	GetDlgItem $1 $HWND 1202
+	EnableWindow $1 1
+	GetDlgItem $1 $HWND 1203
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1204
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1206
+	EnableWindow $1 1
+	GetDlgItem $1 $HWND 1205
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1206
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+
+	ReadINIStr $0 $INI "Field 1" "State"
+	StrCmp $0 "1. WordFind        (Find word by number)" 0 WordFind2Send
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:|C:\"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:-4"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Word):"
+	goto WordFindSend
+
+	WordFind2Send:
+	StrCmp $0 "                           (Delimiter exclude)" 0 WordFind3Send
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:|C:\"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:E-2{"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Before{ or }after delimiter):"
+	goto WordFindSend
+
+	WordFind3Send:
+	StrCmp $0 "                           (Sum of words)" 0 WordFind4Send
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:|C:\"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:#"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Sum of words):"
+	goto WordFindSend
+
+	WordFind4Send:
+	StrCmp $0 "                           (Sum of delimiters)" 0 WordFind5Send
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:|"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:E*"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Sum of delimiters):"
+	goto WordFindSend
+
+	WordFind5Send:
+	StrCmp $0 "                           (Find word number)" 0 WordFind6Send
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:|C:\"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:/Program Files"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:/Word"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Word #):"
+	goto WordFindSend
+
+	WordFind6Send:
+	StrCmp $0 "                           ( }} )" 0 WordFind7Send
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:|C:\"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:E+2}}"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Before{{ or }}after word):"
+	goto WordFindSend
+
+	WordFind7Send:
+	StrCmp $0 "                           ( {} )" 0 WordFind8Send
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:|C:\"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:+2{}"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Without word):"
+	goto WordFindSend
+
+	WordFind8Send:
+	StrCmp $0 "                           ( *} )" 0 WordFind2XSend
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:|C:\"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:E+2*}"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Before{* or *}after word with word):"
+	goto WordFindSend
+
+	WordFind2XSend:
+	StrCmp $0 "2. WordFind2X" 0 WordReplace1Send
+	GetDlgItem $1 $HWND 1201
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:[C:\io.sys];[C:\logo.sys];[C:\WINDOWS]"
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:[C:\"
+	GetDlgItem $1 $HWND 1203
+	EnableWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:];"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:E+2"
+	GetDlgItem $1 $HWND 1207
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:String"
+	GetDlgItem $1 $HWND 1208
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Delimiter1"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Delimiter2"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (Word):"
+	abort
+
+	WordReplace1Send:
+	StrCmp $0 "3. WordReplace (Replace)" 0 WordReplace2Send
+	GetDlgItem $1 $HWND 1201
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:C:\io.sys|C:\logo.sys|C:\WINDOWS"
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:SYS"
+	GetDlgItem $1 $HWND 1203
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:bmp"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:+2"
+	goto WordReplaceSend
+
+	WordReplace2Send:
+	StrCmp $0 "                           (Delete)" 0 WordReplace3Send
+	GetDlgItem $1 $HWND 1201
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:C:\io.sys|C:\logo.sys|C:\WINDOWS"
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:SYS"
+	GetDlgItem $1 $HWND 1203
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:E+"
+	goto WordReplaceSend
+
+	WordReplace3Send:
+	StrCmp $0 "                           (Multiple-replace)" 0 WordAdd1Send
+	GetDlgItem $1 $HWND 1201
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:C:\io.sys||||||C:\logo.sys|||C:\WINDOWS"
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:|"
+	GetDlgItem $1 $HWND 1203
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:|"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:+1*"
+	goto WordReplaceSend
+
+	WordAdd1Send:
+	StrCmp $0 "4. WordAdd        (Add)" 0 WordAdd2Send
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:+C:\WINDOWS|C:\config.sys|C:\IO.SYS"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (String1 + String2):"
+	goto WordAddSend
+
+	WordAdd2Send:
+	StrCmp $0 "                           (Delete) " 0 WordInsertSend
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:E-C:\WINDOWS|C:\config.sys|C:\IO.SYS"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (String1 - String2):"
+	goto WordAddSend
+
+	WordInsertSend:
+	StrCmp $0 "5. WordInsert" 0 StrFilter1Send
+	GetDlgItem $1 $HWND 1201
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:C:\io.sys|C:\WINDOWS"
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:|"
+	GetDlgItem $1 $HWND 1203
+	EnableWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:C:\logo.sys"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:E+2"
+	GetDlgItem $1 $HWND 1207
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:String"
+	GetDlgItem $1 $HWND 1208
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Delimiter"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Word"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result:"
+	abort
+
+	StrFilter1Send:
+	StrCmp $0 "6. StrFilter           (UpperCase)" 0 StrFilter2Send
+	GetDlgItem $1 $HWND 1201
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:123abc 456DEF 7890|%#"
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:+"
+	GetDlgItem $1 $HWND 1203
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (String in uppercase):"
+	goto StrFilterSend
+
+	StrFilter2Send:
+	StrCmp $0 "                           (LowerCase)" 0 StrFilter3Send
+	GetDlgItem $1 $HWND 1201
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:123abc 456DEF 7890|%#"
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:-"
+	GetDlgItem $1 $HWND 1203
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:ef"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (String in lowercase except EF):"
+	goto StrFilterSend
+
+	StrFilter3Send:
+	StrCmp $0 "                           (Filter)" 0 VersionCompareSend
+	GetDlgItem $1 $HWND 1201
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:123abc 456DEF 7890|%#"
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:+12"
+	GetDlgItem $1 $HWND 1203
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:b"
+	GetDlgItem $1 $HWND 1204
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:def"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (String Digits + Letters + b - def):"
+	goto StrFilterSend
+
+	VersionCompareSend:
+	StrCmp $0 "7. VersionCompare" 0 VersionConvertSend
+	GetDlgItem $1 $HWND 1201
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:1.1.1.9"
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:1.1.1.01"
+	GetDlgItem $1 $HWND 1203
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1204
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1206
+	EnableWindow $1 0
+	GetDlgItem $1 $HWND 1207
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Version1"
+	GetDlgItem $1 $HWND 1208
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Version2"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (0-equal 1-newer 2-older):"
+	abort
+
+	VersionConvertSend:
+	StrCmp $0 "8. VersionConvert" 0 Abort
+	GetDlgItem $1 $HWND 1201
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:9.0c"
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1203
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1204
+	ShowWindow $1 0
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1206
+	EnableWindow $1 0
+	GetDlgItem $1 $HWND 1207
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Version"
+	GetDlgItem $1 $HWND 1208
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:CharList"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result (numerical version format):"
+	abort
+
+	Abort:
+	Abort
+
+	WordFindSend:
+	GetDlgItem $1 $HWND 1203
+	EnableWindow $1 0
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1201
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:C:\io.sys|C:\logo.sys|C:\Program Files|C:\WINDOWS"
+	GetDlgItem $1 $HWND 1207
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:String"
+	GetDlgItem $1 $HWND 1208
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Delimiter"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	Abort
+
+	WordReplaceSend:
+	GetDlgItem $1 $HWND 1203
+	EnableWindow $1 1
+	GetDlgItem $1 $HWND 1207
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:String"
+	GetDlgItem $1 $HWND 1208
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Replace it"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:         with"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Word #"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Result:"
+	Abort
+
+	WordAddSend:
+	GetDlgItem $1 $HWND 1203
+	EnableWindow $1 0
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1201
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:C:\io.sys|C:\logo.sys|C:\WINDOWS"
+	GetDlgItem $1 $HWND 1202
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:|"
+	GetDlgItem $1 $HWND 1207
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:String1"
+	GetDlgItem $1 $HWND 1208
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Delimiter"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:String2"
+	Abort
+
+	StrFilterSend:
+	GetDlgItem $1 $HWND 1203
+	EnableWindow $1 1
+	GetDlgItem $1 $HWND 1206
+	EnableWindow $1 0
+	GetDlgItem $1 $HWND 1207
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:String"
+	GetDlgItem $1 $HWND 1208
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Filter"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Include"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Exclude"
+	Abort
+
+;=Enter=
+	Enter:
+	StrCpy $0 ''
+	ReadINIStr $STATE $INI "Field 1" "State"
+	ReadINIStr $R1 $INI "Field 2" "State"
+	ReadINIStr $R2 $INI "Field 3" "State"
+	ReadINIStr $R3 $INI "Field 4" "State"
+	ReadINIStr $R4 $INI "Field 5" "State"
+
+	StrCmp $STATE "1. WordFind        (Find word by number)" WordFind
+	StrCmp $STATE "                           (Delimiter exclude)" WordFind
+	StrCmp $STATE "                           (Find in string)" WordFind
+	StrCmp $STATE "                           (Sum of words)" WordFind
+	StrCmp $STATE "                           (Sum of delimiters)" WordFind
+	StrCmp $STATE "                           (Find word number)" WordFind
+	StrCmp $STATE "                           ( }} )" WordFind
+	StrCmp $STATE "                           ( {} )" WordFind
+	StrCmp $STATE "                           ( *} )" WordFind
+	StrCmp $STATE "2. WordFind2X" WordFind2X
+	StrCmp $STATE "3. WordReplace (Replace)" WordReplace
+	StrCmp $STATE "                           (Delete)" WordReplace
+	StrCmp $STATE "                           (Multiple-replace)" WordReplace
+	StrCmp $STATE "4. WordAdd        (Add)" WordAdd
+	StrCmp $STATE "                           (Delete) " WordAdd
+	StrCmp $STATE "5. WordInsert" WordInsert
+	StrCmp $STATE "6. StrFilter           (UpperCase)" StrFilter
+	StrCmp $STATE "                           (LowerCase)" StrFilter
+	StrCmp $STATE "                           (Filter)" StrFilter
+	StrCmp $STATE "7. VersionCompare" VersionCompare
+	StrCmp $STATE "8. VersionConvert" VersionConvert
+	Abort
+
+	WordFind:
+	${WordFind} "$R1" "$R2" "$R4" $R0
+	IfErrors 0 Send
+	StrCpy $0 $R0
+	StrCmp $R0 3 0 +3
+	StrCpy $3 '"+1" "-1" "+1}" "+1{" "#" "/word"'
+	goto error3
+	StrCmp $R0 2 0 error1
+	StrCpy $R4 $R4 '' 1
+	StrCpy $1 $R4 1
+	StrCmp $1 / 0 error2
+	StrCpy $R4 $R4 '' 1
+	StrCpy $R0 '"$R4" no such word.'
+	goto Send
+
+	WordFind2X:
+	${WordFind2X} "$R1" "$R2" "$R3" "$R4" $R0
+	IfErrors 0 Send
+	StrCpy $0 $R0
+	StrCmp $R0 3 0 +3
+	StrCpy $3 '"+1" "-1"'
+	goto error3
+	StrCmp $R0 2 +3
+	StrCpy $R0 '"$R2...$R3" no words found.'
+	goto Send
+	StrCpy $R4 $R4 '' 1
+	StrCpy $1 $R4 1
+	StrCmp $1 / 0 +2
+	StrCpy $R4 $R4 '' 1
+	StrCpy $R0 '"$R4" no such word.'
+	goto Send
+
+	WordReplace:
+	${WordReplace} "$R1" "$R2" "$R3" "$R4" $R0
+	IfErrors 0 Send
+	StrCpy $0 $R0
+	StrCmp $R0 3 0 +3
+	StrCpy $3 '"+1" "+1*" "+" "+*" "{}"'
+	goto error3
+	StrCmp $R0 2 0 error1
+	StrCpy $R4 $R4 '' 1
+	goto error2
+
+	WordAdd:
+	${WordAdd} "$R1" "$R2" "$R4" $R0
+	IfErrors 0 Send
+	StrCpy $0 $R0
+	StrCmp $R0 3 0 error1empty
+	StrCpy $3 '"+text" "-text"'
+	goto error3
+
+	WordInsert:
+	${WordInsert} "$R1" "$R2" "$R3" "$R4" $R0
+	IfErrors 0 Send
+	StrCpy $0 $R0
+	StrCmp $R0 3 0 +3
+	StrCpy $3 '"+1" "-1"'
+	goto error3
+	StrCmp $R0 2 0 error1empty
+	StrCpy $R4 $R4 '' 1
+	goto error2
+
+	StrFilter:
+	${StrFilter} "$R1" "$R2" "$R3" "$R4" $R0
+	IfErrors 0 Send
+	StrCpy $R0 'Syntax error'
+	goto Send
+
+	VersionCompare:
+	${VersionCompare} "$R1" "$R2" $R0
+	goto Send
+
+	VersionConvert:
+	${VersionConvert} "$R1" "$R2" $R0
+	goto Send
+
+	error3:
+	StrCpy $R0 '"$R4" syntax error ($3)'
+	goto Send
+	error2:
+	StrCpy $R0 '"$R4" no such word number'
+	goto Send
+	error1empty:
+	StrCpy $R0 '"$R2" delimiter is empty'
+	goto Send
+	error1:
+	StrCpy $R0 '"$R2" delimiter not found in string'
+	goto Send
+
+	Send:
+	GetDlgItem $1 $HWND 1205
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$R0"
+	GetDlgItem $1 $HWND 1206
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$0"
+	abort
+FunctionEnd
+
+Function .onInit
+	InitPluginsDir
+	GetTempFileName $INI $PLUGINSDIR
+	File /oname=$INI "WordFunc.ini"
+FunctionEnd
+
+Page instfiles
+
+Section "Empty"
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/WordFuncTest.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/WordFuncTest.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/WordFuncTest.nsi	(revision 2961)
@@ -0,0 +1,610 @@
+;_____________________________________________________________________________
+;
+;                          Word Functions Test
+;_____________________________________________________________________________
+;
+; 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
+
+Name "Word Functions Test"
+OutFile "WordFuncTest.exe"
+Caption "$(^Name)"
+ShowInstDetails show
+XPStyle on
+RequestExecutionLevel user
+
+Var FUNCTION
+Var OUT
+
+!include "WordFunc.nsh"
+
+;############### INSTALL ###############
+
+!define StackVerificationStart `!insertmacro StackVerificationStart`
+!macro StackVerificationStart _FUNCTION
+	StrCpy $FUNCTION ${_FUNCTION}
+	Call StackVerificationStart
+!macroend
+
+!define StackVerificationEnd `!insertmacro StackVerificationEnd`
+!macro StackVerificationEnd
+	Call StackVerificationEnd
+!macroend
+
+Function StackVerificationStart
+	StrCpy $0 !0
+	StrCpy $1 !1
+	StrCpy $2 !2
+	StrCpy $3 !3
+	StrCpy $4 !4
+	StrCpy $5 !5
+	StrCpy $6 !6
+	StrCpy $7 !7
+	StrCpy $8 !8
+	StrCpy $9 !9
+	StrCpy $R0 !R0
+	StrCpy $R1 !R1
+	StrCpy $R2 !R2
+	StrCpy $R3 !R3
+	StrCpy $R4 !R4
+	StrCpy $R5 !R5
+	StrCpy $R6 !R6
+	StrCpy $R7 !R7
+	StrCpy $R8 !R8
+	StrCpy $R9 !R9
+FunctionEnd
+
+Function StackVerificationEnd
+	IfErrors +3
+	DetailPrint 'PASSED $FUNCTION no errors'
+	goto +2
+	DetailPrint 'FAILED   $FUNCTION error'
+
+	StrCmp $0 '!0' 0 error
+	StrCmp $1 '!1' 0 error
+	StrCmp $2 '!2' 0 error
+	StrCmp $3 '!3' 0 error
+	StrCmp $4 '!4' 0 error
+	StrCmp $5 '!5' 0 error
+	StrCmp $6 '!6' 0 error
+	StrCmp $7 '!7' 0 error
+	StrCmp $8 '!8' 0 error
+	StrCmp $9 '!9' 0 error
+	StrCmp $R0 '!R0' 0 error
+	StrCmp $R1 '!R1' 0 error
+	StrCmp $R2 '!R2' 0 error
+	StrCmp $R3 '!R3' 0 error
+	StrCmp $R4 '!R4' 0 error
+	StrCmp $R5 '!R5' 0 error
+	StrCmp $R6 '!R6' 0 error
+	StrCmp $R7 '!R7' 0 error
+	StrCmp $R8 '!R8' 0 error
+	StrCmp $R9 '!R9' 0 error
+	DetailPrint 'PASSED $FUNCTION stack'
+	goto end
+
+	error:
+	DetailPrint 'FAILED   $FUNCTION stack'
+;	MessageBox MB_OKCANCEL '$$0={$0}$\n$$1={$1}$\n$$2={$2}$\n$$3={$3}$\n$$4={$4}$\n$$5={$5}$\n$$6={$6}$\n$$7={$7}$\n$$8={$8}$\n$$9={$9}$\n$$R0={$R0}$\n$$R1={$R1}$\n$$R2={$R2}$\n$$R3={$R3}$\n$$R4={$R4}$\n$$R5={$R5}$\n$$R6={$R6}$\n$$R7={$R7}$\n$$R8={$R8}$\n$$R9={$R9}' IDOK +2
+;	quit
+
+	end:
+FunctionEnd
+
+
+
+Section WordFind
+	${StackVerificationStart} WordFind
+
+	${WordFind} '||io.sys|||Program Files|||WINDOWS' '||' '-02' $OUT
+	StrCmp $OUT '|Program Files' 0 error
+
+	${WordFind} '||io.sys||||Program Files||||WINDOWS' '||' '-2' $OUT
+	StrCmp $OUT 'Program Files' 0 error
+
+	${WordFind} 'C:\io.sys|||logo.sys|||WINDOWS' '||' '-2}' $OUT
+	StrCmp $OUT '|logo.sys|||WINDOWS' 0 error
+
+	${WordFind} 'C:\io.sys|||logo.sys|||WINDOWS' '||' '#' $OUT
+	StrCmp $OUT '3' 0 error
+
+	${WordFind} 'C:\io.sys|||logo.sys|||WINDOWS' '||' '*' $OUT
+	StrCmp $OUT '2' 0 error
+
+	${WordFind} 'C:\io.sys|||Program Files|||WINDOWS' '||' '/|Program Files' $OUT
+	StrCmp $OUT '2' 0 error
+
+	${WordFind} 'C:\io.sys|||logo.sys|||WINDOWS' '||' '+2}}' $OUT
+	StrCmp $OUT '|||WINDOWS' 0 error
+
+	${WordFind} 'C:\io.sys|||logo.sys|||WINDOWS' '||' '+2{}' $OUT
+	StrCmp $OUT 'C:\io.sys|||WINDOWS' 0 error
+
+	${WordFind} 'C:\io.sys|||logo.sys|||WINDOWS' '||' '+2*}' $OUT
+	StrCmp $OUT '|logo.sys|||WINDOWS' 0 error
+
+	${WordFind} 'C:\\Program Files\\NSIS\\NSIS.chm' '\' '-2{*' $OUT
+	StrCmp $OUT 'C:\\Program Files\\NSIS' 0 error
+
+	${WordFind} 'C:\io.sys|||Program Files|||WINDOWS|||' '||' '-1' $OUT
+	StrCmp $OUT '|' 0 error
+
+	${WordFind} '||C:\io.sys|||logo.sys|||WINDOWS||' '||' '-1}' $OUT
+	StrCmp $OUT '' 0 error
+
+	${WordFind} '||C:\io.sys|||logo.sys|||WINDOWS||' '||' '+1{' $OUT
+	StrCmp $OUT '' 0 error
+
+	${WordFind} 'C:\io.sys|||logo.sys' '_' 'E+1' $OUT
+	IfErrors 0 error
+	StrCmp $OUT 1 0 error
+
+	${WordFind} 'C:\io.sys|||logo.sys|||' '\' 'E+3' $OUT
+	IfErrors 0 error
+	StrCmp $OUT 2 0 error
+
+	${WordFind} 'C:\io.sys|||logo.sys' '\' 'E1' $OUT
+	IfErrors 0 error
+	StrCmp $OUT 3 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section WordFindS
+	${StackVerificationStart} WordFindS
+
+	${WordFindS} 'C:\io.sys|||Program Files|||WINDOWS' '||' '/|PROGRAM FILES' $OUT
+	StrCmp $OUT 'C:\io.sys|||Program Files|||WINDOWS' 0 error
+
+	${WordFindS} 'C:\io.sys|||Program Files|||WINDOWS' '||' '/|Program Files' $OUT
+	StrCmp $OUT '2' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section WordFind2X
+	${StackVerificationStart} WordFind2X
+
+	${WordFind2X} '[C:\io.sys];[C:\logo.sys];[C:\WINDOWS]' '[C:\' '];' '+2' $OUT
+	StrCmp $OUT 'logo.sys' 0 error
+
+	${WordFind2X} 'C:\WINDOWS C:\io.sys C:\logo.sys' '\' '.' '-1' $OUT
+	StrCmp $OUT 'logo' 0 error
+
+	${WordFind2X} 'C:\WINDOWS C:\io.sys C:\logo.sys' '\' '.' '-1{{' $OUT
+	StrCmp $OUT 'C:\WINDOWS C:\io.sys C:' 0 error
+
+	${WordFind2X} 'C:\WINDOWS C:\io.sys C:\logo.sys' '\' '.' '-1{}' $OUT
+	StrCmp $OUT 'C:\WINDOWS C:\io.sys C:sys' 0 error
+
+	${WordFind2X} 'C:\WINDOWS C:\io.sys C:\logo.sys' '\' '.' '-1{*' $OUT
+	StrCmp $OUT 'C:\WINDOWS C:\io.sys C:\logo.' 0 error
+
+	${WordFind2X} 'C:\WINDOWS C:\io.sys C:\logo.sys' '\' '.' '/logo' $OUT
+	StrCmp $OUT '2' 0 error
+
+	${WordFind2X} '||a||b||c' '||' '||' 'E+1' $OUT
+	StrCmp $OUT 'a' 0 error
+
+	${WordFind2X} '[io.sys];[C:\logo.sys]' '\' '];' 'E+1' $OUT
+	IfErrors 0 error
+	StrCmp $OUT 1 0 error
+
+	${WordFind2X} '[io.sys];[C:\logo.sys]' '[' '];' 'E+2' $OUT
+	IfErrors 0 error
+	StrCmp $OUT 2 0 error
+
+	${WordFind2X} '[io.sys];[C:\logo.sys]' '\' '];' 'E2' $OUT
+	IfErrors 0 error
+	StrCmp $OUT 3 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section WordFind2XS
+	${StackVerificationStart} WordFind2XS
+
+	${WordFind2XS} 'C:\WINDOWS C:\io.sys C:\logo.sys' '\' '.' '/LOGO' $OUT
+	StrCmp $OUT 'C:\WINDOWS C:\io.sys C:\logo.sys' 0 error
+
+	${WordFind2XS} 'C:\WINDOWS C:\io.sys C:\logo.sys' '\' '.' '/logo' $OUT
+	StrCmp $OUT '2' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section WordFind3X
+	${StackVerificationStart} WordFind3X
+
+	${WordFind3X} '[1.AAB];[2.BAA];[3.BBB];' '[' 'AA' '];' '+1' $OUT
+	StrCmp $OUT '1.AAB' 0 error
+
+	${WordFind3X} '[1.AAB];[2.BAA];[3.BBB];' '[' 'AA' '];' '-1' $OUT
+	StrCmp $OUT '2.BAA' 0 error
+
+	${WordFind3X} '[1.AAB];[2.BAA];[3.BBB];' '[' 'AA' '];' '-1{{' $OUT
+	StrCmp $OUT '[1.AAB];' 0 error
+
+	${WordFind3X} '[1.AAB];[2.BAA];[3.BBB];' '[' 'AA' '];' '-1{}' $OUT
+	StrCmp $OUT '[1.AAB];[3.BBB];' 0 error
+
+	${WordFind3X} '[1.AAB];[2.BAA];[3.BBB];' '[' 'AA' '];' '-1{*' $OUT
+	StrCmp $OUT '[1.AAB];[2.BAA];' 0 error
+
+	${WordFind3X} '[1.AAB];[2.BAA];[3.BBB];' '[' 'AA' '];' '/2.BAA' $OUT
+	StrCmp $OUT '2' 0 error
+
+	${WordFind3X} '[1.AAB];[2.BAA];[3.BBB];' '[' 'XX' '];' 'E+1' $OUT
+	IfErrors 0 error
+	StrCmp $OUT '1' 0 error
+
+	${WordFind3X} '[1.AAB];[2.BAA];[3.BBB];' '[' 'AA' '];' 'E+3' $OUT
+	IfErrors 0 error
+	StrCmp $OUT '2' 0 error
+
+	${WordFind3X} '[1.AAB];[2.BAA];[3.BBB];' '[' 'AA' '];' 'E3' $OUT
+	IfErrors 0 error
+	StrCmp $OUT '3' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section WordFind3XS
+	${StackVerificationStart} WordFind3XS
+
+	${WordFind3XS} '[1.AAB];[2.BAA];[3.BBB];' '[' 'AA' '];' '/2.baa' $OUT
+	StrCmp $OUT '[1.AAB];[2.BAA];[3.BBB];' 0 error
+
+	${WordFind3XS} '[1.AAB];[2.BAA];[3.BBB];' '[' 'AA' '];' '/2.BAA' $OUT
+	StrCmp $OUT '2' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section WordReplace
+	${StackVerificationStart} WordReplace
+
+	${WordReplace} 'C:\io.sys C:\logo.sys C:\WINDOWS' 'SYS' 'bmp' '+2' $OUT
+	StrCmp $OUT 'C:\io.sys C:\logo.bmp C:\WINDOWS' 0 error
+
+	${WordReplace} 'C:\io.sys C:\logo.sys C:\WINDOWS' 'SYS' '' '+' $OUT
+	StrCmp $OUT 'C:\io. C:\logo. C:\WINDOWS' 0 error
+
+	${WordReplace} 'C:\io.sys C:\logo.sys C:\WINDOWS' 'C:\io.sys' '' '+' $OUT
+	StrCmp $OUT ' C:\logo.sys C:\WINDOWS' 0 error
+
+	${WordReplace} 'C:\io.sys      C:\logo.sys   C:\WINDOWS' ' ' ' ' '+1*' $OUT
+	StrCmp $OUT 'C:\io.sys C:\logo.sys   C:\WINDOWS' 0 error
+
+	${WordReplace} 'C:\io.sys C:\logo.sysSYSsys C:\WINDOWS' 'sys' 'bmp' '+*' $OUT
+	StrCmp $OUT 'C:\io.bmp C:\logo.bmp C:\WINDOWS' 0 error
+
+	${WordReplace} 'SYSsysC:\io.sys C:\logo.sys C:\WINDOWSsysSYSsys' 'sys' '|' '{' $OUT
+	StrCmp $OUT '||C:\io.sys C:\logo.sys C:\WINDOWSsysSYSsys' 0 error
+
+	${WordReplace} 'SYSsysC:\io.sys C:\logo.sys C:\WINDOWSsysSYSsys' 'sys' '|' '}' $OUT
+	StrCmp $OUT 'SYSsysC:\io.sys C:\logo.sys C:\WINDOWS|||' 0 error
+
+	${WordReplace} 'SYSsysC:\io.sys C:\logo.sys C:\WINDOWSsysSYSsys' 'sys' '|' '{}' $OUT
+	StrCmp $OUT '||C:\io.sys C:\logo.sys C:\WINDOWS|||' 0 error
+
+	${WordReplace} 'SYSsysC:\io.sys C:\logo.sys C:\WINDOWSsysSYSsys' 'sys' '|' '{*' $OUT
+	StrCmp $OUT '|C:\io.sys C:\logo.sys C:\WINDOWSsysSYSsys' 0 error
+
+	${WordReplace} 'SYSsysC:\io.sys C:\logo.sys C:\WINDOWSsysSYSsys' 'sys' '|' '}*' $OUT
+	StrCmp $OUT 'SYSsysC:\io.sys C:\logo.sys C:\WINDOWS|' 0 error
+
+	${WordReplace} 'SYSsysC:\io.sys C:\logo.sys C:\WINDOWSsysSYSsys' 'sys' '|' '{}*' $OUT
+	StrCmp $OUT '|C:\io.sys C:\logo.sys C:\WINDOWS|' 0 error
+
+	${WordReplace} 'sysSYSsysC:\io.sys C:\logo.sys C:\WINDOWSsysSYSsys' 'sys' '|' '{}*' $OUT
+	StrCmp $OUT '|C:\io.sys C:\logo.sys C:\WINDOWS|' 0 error
+
+	${WordReplace} 'C:\io.sys C:\logo.sys' '#sys' '|sys|' 'E+1' $OUT
+	IfErrors 0 error
+	StrCmp $OUT '1' 0 error
+
+	${WordReplace} 'C:\io.sys C:\logo.sys' '.sys' '|sys|' 'E+3' $OUT
+	IfErrors 0 error
+	StrCmp $OUT '2' 0 error
+
+	${WordReplace} 'C:\io.sys C:\logo.sys' '.sys' '|sys|' 'E3' $OUT
+	IfErrors 0 error
+	StrCmp $OUT '3' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section WordReplaceS
+	${StackVerificationStart} WordReplaceS
+
+	${WordReplaceS} 'C:\io.sys C:\logo.sys C:\WINDOWS' 'SYS' 'bmp' '+2' $OUT
+	StrCmp $OUT 'C:\io.sys C:\logo.sys C:\WINDOWS' 0 error
+
+	${WordReplaceS} 'C:\io.sys C:\logo.sys C:\WINDOWS' 'sys' 'bmp' '+2' $OUT
+	StrCmp $OUT 'C:\io.sys C:\logo.bmp C:\WINDOWS' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section WordAdd
+	${StackVerificationStart} WordAdd
+
+	${WordAdd} 'C:\io.sys C:\WINDOWS' ' ' '+C:\WINDOWS C:\config.sys' $OUT
+	StrCmp $OUT 'C:\io.sys C:\WINDOWS C:\config.sys' 0 error
+
+	${WordAdd} 'C:\io.sys C:\logo.sys C:\WINDOWS' ' ' '-C:\WINDOWS C:\config.sys C:\IO.SYS' $OUT
+	StrCmp $OUT 'C:\logo.sys' 0 error
+
+	${WordAdd} 'C:\io.sys' ' ' '+C:\WINDOWS C:\config.sys C:\IO.SYS' $OUT
+	StrCmp $OUT 'C:\io.sys C:\WINDOWS C:\config.sys' 0 error
+
+	${WordAdd} 'C:\io.sys C:\logo.sys C:\WINDOWS' ' ' '-C:\WINDOWS' $OUT
+	StrCmp $OUT 'C:\io.sys C:\logo.sys' 0 error
+
+	${WordAdd} 'C:\io.sys C:\logo.sys' ' ' '+C:\logo.sys' $OUT
+	StrCmp $OUT 'C:\io.sys C:\logo.sys' 0 error
+
+	${WordAdd} 'C:\io.sys C:\logo.sys' ' ' 'E-' $OUT
+	StrCmp $OUT 'C:\io.sys C:\logo.sys' 0 error
+	IfErrors error
+
+	${WordAdd} 'C:\io.sys C:\logo.sys' '' 'E-C:\logo.sys' $OUT
+	IfErrors 0 error
+	StrCmp $OUT '1' 0 error
+
+	${WordAdd} 'C:\io.sys C:\logo.sys' '' 'EC:\logo.sys' $OUT
+	IfErrors 0 error
+	StrCmp $OUT '3' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section WordAddS
+	${StackVerificationStart} WordAddS
+
+	${WordAddS} 'C:\io.sys C:\WINDOWS' ' ' '+C:\windows C:\config.sys' $OUT
+	StrCmp $OUT 'C:\io.sys C:\WINDOWS C:\windows C:\config.sys' 0 error
+
+	${WordAddS} 'C:\io.sys C:\WINDOWS' ' ' '+C:\WINDOWS C:\config.sys' $OUT
+	StrCmp $OUT 'C:\io.sys C:\WINDOWS C:\config.sys' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section WordInsert
+	${StackVerificationStart} WordInsert
+
+	${WordInsert} 'C:\io.sys C:\WINDOWS' ' ' 'C:\logo.sys' '-2' $OUT
+	StrCmp $OUT 'C:\io.sys C:\logo.sys C:\WINDOWS' 0 error
+
+	${WordInsert} 'C:\io.sys' ' ' 'C:\WINDOWS' '+2' $OUT
+	StrCmp $OUT 'C:\io.sys C:\WINDOWS' 0 error
+
+	${WordInsert} '' ' ' 'C:\WINDOWS' '+1' $OUT
+	StrCmp $OUT 'C:\WINDOWS ' 0 error
+
+	${WordInsert} 'C:\io.sys C:\logo.sys' '' 'C:\logo.sys' 'E+1' $OUT
+	IfErrors 0 error
+	StrCmp $OUT '1' 0 error
+
+	${WordInsert} 'C:\io.sys C:\logo.sys' ' ' 'C:\logo.sys' 'E+4' $OUT
+	IfErrors 0 error
+	StrCmp $OUT '2' 0 error
+
+	${WordInsert} 'C:\io.sys C:\logo.sys' '' 'C:\logo.sys' 'E1' $OUT
+	IfErrors 0 error
+	StrCmp $OUT '3' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section WordInsertS
+	${StackVerificationStart} WordInsertS
+
+	${WordInsertS} 'C:\io.sys x C:\logo.sys' ' X ' 'C:\NTLDR' '+2' $OUT
+	StrCmp $OUT 'C:\io.sys x C:\logo.sys X C:\NTLDR' 0 error
+
+	${WordInsertS} 'C:\io.sys x C:\logo.sys' ' x ' 'C:\NTLDR' '+2' $OUT
+	StrCmp $OUT 'C:\io.sys x C:\NTLDR x C:\logo.sys' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section StrFilter
+	${StackVerificationStart} StrFilter
+
+	${StrFilter} '123abc 456DEF 7890|%#' '+' '' '' $OUT
+	IfErrors error
+	StrCmp $OUT '123ABC 456DEF 7890|%#' 0 error
+
+	${StrFilter} '123abc 456DEF 7890|%#' '-' 'ef' '' $OUT
+	IfErrors error
+	StrCmp $OUT '123abc 456dEF 7890|%#' 0 error
+
+	${StrFilter} '123abc 456DEF 7890|%#' '2' '|%' '' $OUT
+	IfErrors error
+	StrCmp $OUT 'abcDEF|%' 0 error
+
+	${StrFilter} '123abc 456DEF 7890|%#' '13' 'af' '4590' $OUT
+	IfErrors error
+	StrCmp $OUT '123a 6F 78|%#' 0 error
+
+	${StrFilter} '123abc 456DEF 7890|%#' '+12' 'b' 'def' $OUT
+	IfErrors error
+	StrCmp $OUT '123AbC4567890' 0 error
+
+	${StrFilter} '123abc 456DEF 7890|%#' '+12' 'b' 'def' $OUT
+	IfErrors error
+	StrCmp $OUT '123AbC4567890' 0 error
+
+	${StrFilter} '123abc 456DEF 7890|%#' '123' 'b' 'def' $OUT
+	IfErrors 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section StrFilterS
+	${StackVerificationStart} StrFilterS
+
+	${StrFilterS} '123abc 456DEF 7890|%#' '13' 'af' '4590' $OUT
+	IfErrors error
+	StrCmp $OUT '123a 6 78|%#' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section VersionCompare
+	${StackVerificationStart} VersionCompare
+
+	${VersionCompare} '1.1.1.9' '1.1.1.01' $OUT
+	StrCmp $OUT '1' 0 error
+
+	${VersionCompare} '1.1.1.1' '1.1.1.10' $OUT
+	StrCmp $OUT '2' 0 error
+
+	${VersionCompare} '91.1.1.1' '101.1.1.9' $OUT
+	StrCmp $OUT '2' 0 error
+
+	${VersionCompare} '1.1.1.1' '1.1.1.1' $OUT
+	StrCmp $OUT '0' 0 error
+
+	${VersionCompare} '1.1.1.9' '1.1.1.10' $OUT
+	StrCmp $OUT '2' 0 error
+
+	${VersionCompare} '1.1.1.0' '1.1.1' $OUT
+	StrCmp $OUT '0' 0 error
+
+	${VersionCompare} '1.1.0.0' '1.1' $OUT
+	StrCmp $OUT '0' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section VersionConvert
+	${StackVerificationStart} VersionConvert
+
+	${VersionConvert} '9.0a' '' $OUT
+	StrCmp $OUT '9.0.01' 0 error
+
+	${VersionConvert} '9.0c' '' $OUT
+	StrCmp $OUT '9.0.03' 0 error
+
+	${VersionConvert} '0.15c-9m' '' $OUT
+	StrCmp $OUT '0.15.03.9.13' 0 error
+
+	${VersionConvert} '0.15c+' 'abcdefghijklmnopqrstuvwxyz+' $OUT
+	StrCmp $OUT '0.15.0327' 0 error
+
+	${VersionConvert} '0.0xa12.x.ax|.|.|x|a|.3|a.4.||5.|' '' $OUT
+	StrCmp $OUT '0.0.2401.12.24.0124.24.01.3.01.4.5' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section WriteUninstaller
+	goto +2
+	WriteUninstaller '$EXEDIR\un.WordFuncTest.exe'
+SectionEnd
+
+
+
+;############### UNINSTALL ###############
+
+Section un.Uninstall
+	${WordFind} 'C:\io.sys C:\Program Files C:\WINDOWS' ' C:\' '-02' $OUT
+	${WordFindS} 'C:\io.sys C:\Program Files C:\WINDOWS' ' C:\' '-02' $OUT
+	${WordFind2X} '[C:\io.sys];[C:\logo.sys];[C:\WINDOWS]' '[C:\' '];' '+2' $OUT
+	${WordFind2XS} '[C:\io.sys];[C:\logo.sys];[C:\WINDOWS]' '[C:\' '];' '+2' $OUT
+	${WordFind3X} '[1.AAB];[2.BAA];[3.BBB];' '[' 'AA' '];' '+1' $OUT
+	${WordFind3XS} '[1.AAB];[2.BAA];[3.BBB];' '[' 'AA' '];' '+1' $OUT
+	${WordReplace} 'C:\io.sys C:\logo.sys C:\WINDOWS' 'SYS' 'bmp' '+2' $OUT
+	${WordReplaceS} 'C:\io.sys C:\logo.sys C:\WINDOWS' 'SYS' 'bmp' '+2' $OUT
+	${WordAdd} 'C:\io.sys C:\WINDOWS' ' ' '+C:\WINDOWS C:\config.sys' $OUT
+	${WordAddS} 'C:\io.sys C:\WINDOWS' ' ' '+C:\WINDOWS C:\config.sys' $OUT
+	${WordInsert} 'C:\io.sys C:\WINDOWS' ' ' 'C:\logo.sys' '-2' $OUT
+	${WordInsertS} 'C:\io.sys C:\WINDOWS' ' ' 'C:\logo.sys' '-2' $OUT
+	${StrFilter} '123abc 456DEF 7890|%#' '+' '' '' $OUT
+	${StrFilterS} '123abc 456DEF 7890|%#' '+' '' '' $OUT
+	${VersionCompare} '1.1.1.9' '1.1.1.01' $OUT
+	${VersionConvert} '9.0a' '' $OUT
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/StartMenu/Example.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/StartMenu/Example.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/StartMenu/Example.nsi	(revision 2961)
@@ -0,0 +1,50 @@
+Name "StartMenu.dll test"
+
+OutFile "StartMenu Test.exe"
+
+XPStyle on
+
+Page directory
+DirText "This installer will create some shortcuts to MakeNSIS in the start menu.$\nFor this it needs NSIS's path." \
+  "Please specify the path in which you have installed NSIS:"
+InstallDir "${NSISDIR}"
+Function .onVerifyInstDir
+	IfFileExists $INSTDIR\makensis.exe +2
+		Abort
+FunctionEnd
+
+Page custom StartMenuGroupSelect "" ": Start Menu Folder"
+Function StartMenuGroupSelect
+	Push $R1
+
+	StartMenu::Select /checknoshortcuts "Don't create a start menu folder" /autoadd /lastused $R0 "StartMenu.dll test"
+	Pop $R1
+
+	StrCmp $R1 "success" success
+	StrCmp $R1 "cancel" done
+		; error
+		MessageBox MB_OK $R1
+		StrCpy $R0 "StartMenu.dll test" # use default
+		Return
+	success:
+	Pop $R0
+
+	done:
+	Pop $R1
+FunctionEnd
+
+Page instfiles
+Section
+	# this part is only necessary if you used /checknoshortcuts
+	StrCpy $R1 $R0 1
+	StrCmp $R1 ">" skip
+
+		CreateDirectory $SMPROGRAMS\$R0
+		CreateShortCut $SMPROGRAMS\$R0\MakeNSISw.lnk $INSTDIR\makensisw.exe
+
+		SetShellVarContext All
+		CreateDirectory $SMPROGRAMS\$R0
+		CreateShortCut "$SMPROGRAMS\$R0\All users MakeNSISw.lnk" $INSTDIR\makensisw.exe
+
+	skip:
+SectionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/Modern UI/WelcomeFinish.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Modern UI/WelcomeFinish.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Modern UI/WelcomeFinish.nsi	(revision 2961)
@@ -0,0 +1,92 @@
+;NSIS Modern User Interface
+;Welcome/Finish Page Example Script
+;Written by Joost Verburg
+
+;--------------------------------
+;Include Modern UI
+
+  !include "MUI2.nsh"
+
+;--------------------------------
+;General
+
+  ;Name and file
+  Name "Modern UI Test"
+  OutFile "WelcomeFinish.exe"
+
+  ;Default installation folder
+  InstallDir "$LOCALAPPDATA\Modern UI Test"
+
+  ;Get installation folder from registry if available
+  InstallDirRegKey HKCU "Software\Modern UI Test" ""
+
+  ;Request application privileges for Windows Vista
+  RequestExecutionLevel user
+
+;--------------------------------
+;Interface Settings
+
+  !define MUI_ABORTWARNING
+
+;--------------------------------
+;Pages
+
+  !insertmacro MUI_PAGE_WELCOME
+  !insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt"
+  !insertmacro MUI_PAGE_COMPONENTS
+  !insertmacro MUI_PAGE_DIRECTORY
+  !insertmacro MUI_PAGE_INSTFILES
+  !insertmacro MUI_PAGE_FINISH
+
+  !insertmacro MUI_UNPAGE_WELCOME
+  !insertmacro MUI_UNPAGE_CONFIRM
+  !insertmacro MUI_UNPAGE_INSTFILES
+  !insertmacro MUI_UNPAGE_FINISH
+
+;--------------------------------
+;Languages
+
+  !insertmacro MUI_LANGUAGE "English"
+
+;--------------------------------
+;Installer Sections
+
+Section "Dummy Section" SecDummy
+
+  SetOutPath "$INSTDIR"
+
+  ;ADD YOUR OWN FILES HERE...
+
+  ;Store installation folder
+  WriteRegStr HKCU "Software\Modern UI Test" "" $INSTDIR
+
+  ;Create uninstaller
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+SectionEnd
+
+;--------------------------------
+;Descriptions
+
+  ;Language strings
+  LangString DESC_SecDummy ${LANG_ENGLISH} "A test section."
+
+  ;Assign language strings to sections
+  !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+    !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy)
+  !insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+
+  ;ADD YOUR OWN FILES HERE...
+
+  Delete "$INSTDIR\Uninstall.exe"
+
+  RMDir "$INSTDIR"
+
+  DeleteRegKey /ifempty HKCU "Software\Modern UI Test"
+
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/Modern UI/MultiLanguage.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Modern UI/MultiLanguage.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Modern UI/MultiLanguage.nsi	(revision 2961)
@@ -0,0 +1,178 @@
+;NSIS Modern User Interface
+;Multilingual Example Script
+;Written by Joost Verburg
+
+;--------------------------------
+;Include Modern UI
+
+  !include "MUI2.nsh"
+
+;--------------------------------
+;General
+
+  ;Name and file
+  Name "Modern UI Test"
+  OutFile "MultiLanguage.exe"
+
+  ;Default installation folder
+  InstallDir "$LOCALAPPDATA\Modern UI Test"
+  
+  ;Get installation folder from registry if available
+  InstallDirRegKey HKCU "Software\Modern UI Test" ""
+
+  ;Request application privileges for Windows Vista
+  RequestExecutionLevel user
+
+;--------------------------------
+;Interface Settings
+
+  !define MUI_ABORTWARNING
+
+;--------------------------------
+;Language Selection Dialog Settings
+
+  ;Remember the installer language
+  !define MUI_LANGDLL_REGISTRY_ROOT "HKCU" 
+  !define MUI_LANGDLL_REGISTRY_KEY "Software\Modern UI Test" 
+  !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
+
+;--------------------------------
+;Pages
+
+  !insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt"
+  !insertmacro MUI_PAGE_COMPONENTS
+  !insertmacro MUI_PAGE_DIRECTORY
+  !insertmacro MUI_PAGE_INSTFILES
+  
+  !insertmacro MUI_UNPAGE_CONFIRM
+  !insertmacro MUI_UNPAGE_INSTFILES
+
+;--------------------------------
+;Languages
+
+  !insertmacro MUI_LANGUAGE "English" ;first language is the default language
+  !insertmacro MUI_LANGUAGE "French"
+  !insertmacro MUI_LANGUAGE "German"
+  !insertmacro MUI_LANGUAGE "Spanish"
+  !insertmacro MUI_LANGUAGE "SpanishInternational"
+  !insertmacro MUI_LANGUAGE "SimpChinese"
+  !insertmacro MUI_LANGUAGE "TradChinese"
+  !insertmacro MUI_LANGUAGE "Japanese"
+  !insertmacro MUI_LANGUAGE "Korean"
+  !insertmacro MUI_LANGUAGE "Italian"
+  !insertmacro MUI_LANGUAGE "Dutch"
+  !insertmacro MUI_LANGUAGE "Danish"
+  !insertmacro MUI_LANGUAGE "Swedish"
+  !insertmacro MUI_LANGUAGE "Norwegian"
+  !insertmacro MUI_LANGUAGE "NorwegianNynorsk"
+  !insertmacro MUI_LANGUAGE "Finnish"
+  !insertmacro MUI_LANGUAGE "Greek"
+  !insertmacro MUI_LANGUAGE "Russian"
+  !insertmacro MUI_LANGUAGE "Portuguese"
+  !insertmacro MUI_LANGUAGE "PortugueseBR"
+  !insertmacro MUI_LANGUAGE "Polish"
+  !insertmacro MUI_LANGUAGE "Ukrainian"
+  !insertmacro MUI_LANGUAGE "Czech"
+  !insertmacro MUI_LANGUAGE "Slovak"
+  !insertmacro MUI_LANGUAGE "Croatian"
+  !insertmacro MUI_LANGUAGE "Bulgarian"
+  !insertmacro MUI_LANGUAGE "Hungarian"
+  !insertmacro MUI_LANGUAGE "Thai"
+  !insertmacro MUI_LANGUAGE "Romanian"
+  !insertmacro MUI_LANGUAGE "Latvian"
+  !insertmacro MUI_LANGUAGE "Macedonian"
+  !insertmacro MUI_LANGUAGE "Estonian"
+  !insertmacro MUI_LANGUAGE "Turkish"
+  !insertmacro MUI_LANGUAGE "Lithuanian"
+  !insertmacro MUI_LANGUAGE "Slovenian"
+  !insertmacro MUI_LANGUAGE "Serbian"
+  !insertmacro MUI_LANGUAGE "SerbianLatin"
+  !insertmacro MUI_LANGUAGE "Arabic"
+  !insertmacro MUI_LANGUAGE "Farsi"
+  !insertmacro MUI_LANGUAGE "Hebrew"
+  !insertmacro MUI_LANGUAGE "Indonesian"
+  !insertmacro MUI_LANGUAGE "Mongolian"
+  !insertmacro MUI_LANGUAGE "Luxembourgish"
+  !insertmacro MUI_LANGUAGE "Albanian"
+  !insertmacro MUI_LANGUAGE "Breton"
+  !insertmacro MUI_LANGUAGE "Belarusian"
+  !insertmacro MUI_LANGUAGE "Icelandic"
+  !insertmacro MUI_LANGUAGE "Malay"
+  !insertmacro MUI_LANGUAGE "Bosnian"
+  !insertmacro MUI_LANGUAGE "Kurdish"
+  !insertmacro MUI_LANGUAGE "Irish"
+  !insertmacro MUI_LANGUAGE "Uzbek"
+  !insertmacro MUI_LANGUAGE "Galician"
+  !insertmacro MUI_LANGUAGE "Afrikaans"
+  !insertmacro MUI_LANGUAGE "Catalan"
+  !insertmacro MUI_LANGUAGE "Esperanto"
+
+;--------------------------------
+;Reserve Files
+  
+  ;If you are using solid compression, files that are required before
+  ;the actual installation should be stored first in the data block,
+  ;because this will make your installer start faster.
+  
+  !insertmacro MUI_RESERVEFILE_LANGDLL
+
+;--------------------------------
+;Installer Sections
+
+Section "Dummy Section" SecDummy
+
+  SetOutPath "$INSTDIR"
+  
+  ;ADD YOUR OWN FILES HERE...
+  
+  ;Store installation folder
+  WriteRegStr HKCU "Software\Modern UI Test" "" $INSTDIR
+  
+  ;Create uninstaller
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+SectionEnd
+
+;--------------------------------
+;Installer Functions
+
+Function .onInit
+
+  !insertmacro MUI_LANGDLL_DISPLAY
+
+FunctionEnd
+
+;--------------------------------
+;Descriptions
+
+  ;USE A LANGUAGE STRING IF YOU WANT YOUR DESCRIPTIONS TO BE LANGAUGE SPECIFIC
+
+  ;Assign descriptions to sections
+  !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+    !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} "A test section."
+  !insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+ 
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+
+  ;ADD YOUR OWN FILES HERE...
+
+  Delete "$INSTDIR\Uninstall.exe"
+
+  RMDir "$INSTDIR"
+
+  DeleteRegKey /ifempty HKCU "Software\Modern UI Test"
+
+SectionEnd
+
+;--------------------------------
+;Uninstaller Functions
+
+Function un.onInit
+
+  !insertmacro MUI_UNGETLANGUAGE
+  
+FunctionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/Modern UI/Basic.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Modern UI/Basic.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Modern UI/Basic.nsi	(revision 2961)
@@ -0,0 +1,88 @@
+;NSIS Modern User Interface
+;Basic Example Script
+;Written by Joost Verburg
+
+;--------------------------------
+;Include Modern UI
+
+  !include "MUI2.nsh"
+
+;--------------------------------
+;General
+
+  ;Name and file
+  Name "Modern UI Test"
+  OutFile "Basic.exe"
+
+  ;Default installation folder
+  InstallDir "$LOCALAPPDATA\Modern UI Test"
+  
+  ;Get installation folder from registry if available
+  InstallDirRegKey HKCU "Software\Modern UI Test" ""
+
+  ;Request application privileges for Windows Vista
+  RequestExecutionLevel user
+
+;--------------------------------
+;Interface Settings
+
+  !define MUI_ABORTWARNING
+
+;--------------------------------
+;Pages
+
+  !insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt"
+  !insertmacro MUI_PAGE_COMPONENTS
+  !insertmacro MUI_PAGE_DIRECTORY
+  !insertmacro MUI_PAGE_INSTFILES
+  
+  !insertmacro MUI_UNPAGE_CONFIRM
+  !insertmacro MUI_UNPAGE_INSTFILES
+  
+;--------------------------------
+;Languages
+ 
+  !insertmacro MUI_LANGUAGE "English"
+
+;--------------------------------
+;Installer Sections
+
+Section "Dummy Section" SecDummy
+
+  SetOutPath "$INSTDIR"
+  
+  ;ADD YOUR OWN FILES HERE...
+  
+  ;Store installation folder
+  WriteRegStr HKCU "Software\Modern UI Test" "" $INSTDIR
+  
+  ;Create uninstaller
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+SectionEnd
+
+;--------------------------------
+;Descriptions
+
+  ;Language strings
+  LangString DESC_SecDummy ${LANG_ENGLISH} "A test section."
+
+  ;Assign language strings to sections
+  !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+    !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy)
+  !insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+
+  ;ADD YOUR OWN FILES HERE...
+
+  Delete "$INSTDIR\Uninstall.exe"
+
+  RMDir "$INSTDIR"
+
+  DeleteRegKey /ifempty HKCU "Software\Modern UI Test"
+
+SectionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/Modern UI/StartMenu.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Modern UI/StartMenu.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Modern UI/StartMenu.nsi	(revision 2961)
@@ -0,0 +1,114 @@
+;NSIS Modern User Interface
+;Start Menu Folder Selection Example Script
+;Written by Joost Verburg
+
+;--------------------------------
+;Include Modern UI
+
+  !include "MUI2.nsh"
+
+;--------------------------------
+;General
+
+  ;Name and file
+  Name "Modern UI Test"
+  OutFile "StartMenu.exe"
+
+  ;Default installation folder
+  InstallDir "$LOCALAPPDATA\Modern UI Test"
+  
+  ;Get installation folder from registry if available
+  InstallDirRegKey HKCU "Software\Modern UI Test" ""
+
+  ;Request application privileges for Windows Vista
+  RequestExecutionLevel user
+
+;--------------------------------
+;Variables
+
+  Var StartMenuFolder
+
+;--------------------------------
+;Interface Settings
+
+  !define MUI_ABORTWARNING
+
+;--------------------------------
+;Pages
+
+  !insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt"
+  !insertmacro MUI_PAGE_COMPONENTS
+  !insertmacro MUI_PAGE_DIRECTORY
+  
+  ;Start Menu Folder Page Configuration
+  !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" 
+  !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Modern UI Test" 
+  !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
+  
+  !insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
+  
+  !insertmacro MUI_PAGE_INSTFILES
+  
+  !insertmacro MUI_UNPAGE_CONFIRM
+  !insertmacro MUI_UNPAGE_INSTFILES
+
+;--------------------------------
+;Languages
+ 
+  !insertmacro MUI_LANGUAGE "English"
+
+;--------------------------------
+;Installer Sections
+
+Section "Dummy Section" SecDummy
+
+  SetOutPath "$INSTDIR"
+  
+  ;ADD YOUR OWN FILES HERE...
+  
+  ;Store installation folder
+  WriteRegStr HKCU "Software\Modern UI Test" "" $INSTDIR
+  
+  ;Create uninstaller
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+  
+  !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+    
+    ;Create shortcuts
+    CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
+    CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
+  
+  !insertmacro MUI_STARTMENU_WRITE_END
+
+SectionEnd
+
+;--------------------------------
+;Descriptions
+
+  ;Language strings
+  LangString DESC_SecDummy ${LANG_ENGLISH} "A test section."
+
+  ;Assign language strings to sections
+  !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+    !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy)
+  !insertmacro MUI_FUNCTION_DESCRIPTION_END
+ 
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+
+  ;ADD YOUR OWN FILES HERE...
+
+  Delete "$INSTDIR\Uninstall.exe"
+
+  RMDir "$INSTDIR"
+  
+  !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
+    
+  Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk"
+  RMDir "$SMPROGRAMS\$StartMenuFolder"
+  
+  DeleteRegKey /ifempty HKCU "Software\Modern UI Test"
+
+SectionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/Modern UI/HeaderBitmap.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Modern UI/HeaderBitmap.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Modern UI/HeaderBitmap.nsi	(revision 2961)
@@ -0,0 +1,90 @@
+;NSIS Modern User Interface
+;Header Bitmap Example Script
+;Written by Joost Verburg
+
+;--------------------------------
+;Include Modern UI
+
+  !include "MUI2.nsh"
+
+;--------------------------------
+;General
+
+  ;Name and file
+  Name "Modern UI Test"
+  OutFile "HeaderBitmap.exe"
+
+  ;Default installation folder
+  InstallDir "$LOCALAPPDATA\Modern UI Test"
+  
+  ;Get installation folder from registry if available
+  InstallDirRegKey HKCU "Software\Modern UI Test" ""
+
+  ;Request application privileges for Windows Vista
+  RequestExecutionLevel user
+
+;--------------------------------
+;Interface Configuration
+
+  !define MUI_HEADERIMAGE
+  !define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\nsis.bmp" ; optional
+  !define MUI_ABORTWARNING
+
+;--------------------------------
+;Pages
+
+  !insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt"
+  !insertmacro MUI_PAGE_COMPONENTS
+  !insertmacro MUI_PAGE_DIRECTORY
+  !insertmacro MUI_PAGE_INSTFILES
+  
+  !insertmacro MUI_UNPAGE_CONFIRM
+  !insertmacro MUI_UNPAGE_INSTFILES
+  
+;--------------------------------
+;Languages
+ 
+  !insertmacro MUI_LANGUAGE "English"
+
+;--------------------------------
+;Installer Sections
+
+Section "Dummy Section" SecDummy
+
+  SetOutPath "$INSTDIR"
+  
+  ;ADD YOUR OWN FILES HERE...
+  
+  ;Store installation folder
+  WriteRegStr HKCU "Software\Modern UI Test" "" $INSTDIR
+  
+  ;Create uninstaller
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+SectionEnd
+
+;--------------------------------
+;Descriptions
+
+  ;Language strings
+  LangString DESC_SecDummy ${LANG_ENGLISH} "A test section."
+
+  ;Assign language strings to sections
+  !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+    !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy)
+  !insertmacro MUI_FUNCTION_DESCRIPTION_END
+ 
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+
+  ;ADD YOUR OWN FILES HERE...
+
+  Delete "$INSTDIR\Uninstall.exe"
+
+  RMDir "$INSTDIR"
+
+  DeleteRegKey /ifempty HKCU "Software\Modern UI Test"
+
+SectionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/nsDialogs/example.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/nsDialogs/example.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/nsDialogs/example.nsi	(revision 2961)
@@ -0,0 +1,82 @@
+!include nsDialogs.nsh
+!include LogicLib.nsh
+
+Name "nsDialogs Example"
+OutFile "nsDialogs Example.exe"
+
+XPStyle on
+
+Page license
+Page custom nsDialogsPage
+
+Var BUTTON
+Var EDIT
+Var CHECKBOX
+
+Function nsDialogsPage
+
+	nsDialogs::Create 1018
+	Pop $0
+
+	GetFunctionAddress $0 OnBack
+	nsDialogs::OnBack $0
+
+	${NSD_CreateButton} 0 0 100% 12u Test
+	Pop $BUTTON
+	GetFunctionAddress $0 OnClick
+	nsDialogs::OnClick $BUTTON $0
+
+	${NSD_CreateText} 0 35 100% 12u hello
+	Pop $EDIT
+	GetFunctionAddress $0 OnChange
+	nsDialogs::OnChange $EDIT $0
+
+	${NSD_CreateCheckbox} 0 -50 100% 8u Test
+	Pop $CHECKBOX
+	GetFunctionAddress $0 OnCheckbox
+	nsDialogs::OnClick $CHECKBOX $0
+
+	${NSD_CreateLabel} 0 40u 75% 40u "* Type `hello there` above.$\n* Click the button.$\n* Check the checkbox.$\n* Hit the Back button."
+	Pop $0
+
+	nsDialogs::Show
+
+FunctionEnd
+
+Function OnClick
+
+	Pop $0 # HWND
+
+	MessageBox MB_OK clicky
+
+FunctionEnd
+
+Function OnChange
+
+	Pop $0 # HWND
+
+	System::Call user32::GetWindowText(i$EDIT,t.r0,i${NSIS_MAX_STRLEN})
+
+	${If} $0 == "hello there"
+		MessageBox MB_OK "right back at ya"
+	${EndIf}
+
+FunctionEnd
+
+Function OnBack
+
+	MessageBox MB_YESNO "are you sure?" IDYES +2
+	Abort
+
+FunctionEnd
+
+Function OnCheckbox
+
+	Pop $0 # HWND
+
+	MessageBox MB_OK "checkbox clicked"
+
+FunctionEnd
+
+Section
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/nsDialogs/welcome.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/nsDialogs/welcome.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/nsDialogs/welcome.nsi	(revision 2961)
@@ -0,0 +1,320 @@
+!include MUI.nsh
+!include LogicLib.nsh
+!include WinMessages.nsh
+!include FileFunc.nsh
+
+Name "nsDialogs Welcome"
+OutFile "nsDialogs Welcome.exe"
+
+Page custom nsDialogsWelcome
+Page custom nsDialogsDirectory
+!insertmacro MUI_PAGE_INSTFILES
+
+!insertmacro MUI_LANGUAGE English
+
+!define WS_EX_CLIENTEDGE    0x00000200
+
+!define WS_CHILD            0x40000000
+!define WS_VISIBLE          0x10000000
+!define WS_DISABLED         0x08000000
+!define WS_CLIPSIBLINGS     0x04000000
+!define WS_MAXIMIZE         0x01000000
+!define WS_VSCROLL          0x00200000
+!define WS_HSCROLL          0x00100000
+!define WS_GROUP            0x00020000
+!define WS_TABSTOP          0x00010000
+
+!define ES_LEFT             0x00000000
+!define ES_CENTER           0x00000001
+!define ES_RIGHT            0x00000002
+!define ES_MULTILINE        0x00000004
+!define ES_UPPERCASE        0x00000008
+!define ES_LOWERCASE        0x00000010
+!define ES_PASSWORD         0x00000020
+!define ES_AUTOVSCROLL      0x00000040
+!define ES_AUTOHSCROLL      0x00000080
+!define ES_NOHIDESEL        0x00000100
+!define ES_OEMCONVERT       0x00000400
+!define ES_READONLY         0x00000800
+!define ES_WANTRETURN       0x00001000
+!define ES_NUMBER           0x00002000
+
+!define SS_LEFT             0x00000000
+!define SS_CENTER           0x00000001
+!define SS_RIGHT            0x00000002
+!define SS_ICON             0x00000003
+!define SS_BLACKRECT        0x00000004
+!define SS_GRAYRECT         0x00000005
+!define SS_WHITERECT        0x00000006
+!define SS_BLACKFRAME       0x00000007
+!define SS_GRAYFRAME        0x00000008
+!define SS_WHITEFRAME       0x00000009
+!define SS_USERITEM         0x0000000A
+!define SS_SIMPLE           0x0000000B
+!define SS_LEFTNOWORDWRAP   0x0000000C
+!define SS_OWNERDRAW        0x0000000D
+!define SS_BITMAP           0x0000000E
+!define SS_ENHMETAFILE      0x0000000F
+!define SS_ETCHEDHORZ       0x00000010
+!define SS_ETCHEDVERT       0x00000011
+!define SS_ETCHEDFRAME      0x00000012
+!define SS_TYPEMASK         0x0000001F
+!define SS_REALSIZECONTROL  0x00000040
+!define SS_NOPREFIX         0x00000080
+!define SS_NOTIFY           0x00000100
+!define SS_CENTERIMAGE      0x00000200
+!define SS_RIGHTJUST        0x00000400
+!define SS_REALSIZEIMAGE    0x00000800
+!define SS_SUNKEN           0x00001000
+!define SS_EDITCONTROL      0x00002000
+!define SS_ENDELLIPSIS      0x00004000
+!define SS_PATHELLIPSIS     0x00008000
+!define SS_WORDELLIPSIS     0x0000C000
+!define SS_ELLIPSISMASK     0x0000C000
+
+!define BS_PUSHBUTTON       0x00000000
+!define BS_DEFPUSHBUTTON    0x00000001
+!define BS_CHECKBOX         0x00000002
+!define BS_AUTOCHECKBOX     0x00000003
+!define BS_RADIOBUTTON      0x00000004
+!define BS_3STATE           0x00000005
+!define BS_AUTO3STATE       0x00000006
+!define BS_GROUPBOX         0x00000007
+!define BS_USERBUTTON       0x00000008
+!define BS_AUTORADIOBUTTON  0x00000009
+!define BS_PUSHBOX          0x0000000A
+!define BS_OWNERDRAW        0x0000000B
+!define BS_TYPEMASK         0x0000000F
+!define BS_LEFTTEXT         0x00000020
+!define BS_TEXT             0x00000000
+!define BS_ICON             0x00000040
+!define BS_BITMAP           0x00000080
+!define BS_LEFT             0x00000100
+!define BS_RIGHT            0x00000200
+!define BS_CENTER           0x00000300
+!define BS_TOP              0x00000400
+!define BS_BOTTOM           0x00000800
+!define BS_VCENTER          0x00000C00
+!define BS_PUSHLIKE         0x00001000
+!define BS_MULTILINE        0x00002000
+!define BS_NOTIFY           0x00004000
+!define BS_FLAT             0x00008000
+!define BS_RIGHTBUTTON      ${BS_LEFTTEXT}
+
+!define LR_DEFAULTCOLOR     0x0000
+!define LR_MONOCHROME       0x0001
+!define LR_COLOR            0x0002
+!define LR_COPYRETURNORG    0x0004
+!define LR_COPYDELETEORG    0x0008
+!define LR_LOADFROMFILE     0x0010
+!define LR_LOADTRANSPARENT  0x0020
+!define LR_DEFAULTSIZE      0x0040
+!define LR_VGACOLOR         0x0080
+!define LR_LOADMAP3DCOLORS  0x1000
+!define LR_CREATEDIBSECTION 0x2000
+!define LR_COPYFROMRESOURCE 0x4000
+!define LR_SHARED           0x8000
+
+!define IMAGE_BITMAP        0
+!define IMAGE_ICON          1
+!define IMAGE_CURSOR        2
+!define IMAGE_ENHMETAFILE   3
+
+Var DIALOG
+Var HEADLINE
+Var TEXT
+Var IMAGECTL
+Var IMAGE
+Var DIRECTORY
+Var FREESPACE
+
+Var HEADLINE_FONT
+
+Function .onInit
+
+	CreateFont $HEADLINE_FONT "$(^Font)" "14" "700"
+
+	InitPluginsDir
+	File /oname=$PLUGINSDIR\welcome.bmp "${NSISDIR}\Contrib\Graphics\Wizard\orange-nsis.bmp"
+
+FunctionEnd
+
+Function HideControls
+
+    LockWindow on
+    GetDlgItem $0 $HWNDPARENT 1028
+    ShowWindow $0 ${SW_HIDE}
+
+    GetDlgItem $0 $HWNDPARENT 1256
+    ShowWindow $0 ${SW_HIDE}
+
+    GetDlgItem $0 $HWNDPARENT 1035
+    ShowWindow $0 ${SW_HIDE}
+
+    GetDlgItem $0 $HWNDPARENT 1037
+    ShowWindow $0 ${SW_HIDE}
+
+    GetDlgItem $0 $HWNDPARENT 1038
+    ShowWindow $0 ${SW_HIDE}
+
+    GetDlgItem $0 $HWNDPARENT 1039
+    ShowWindow $0 ${SW_HIDE}
+
+    GetDlgItem $0 $HWNDPARENT 1045
+    ShowWindow $0 ${SW_NORMAL}
+    LockWindow off
+
+FunctionEnd
+
+Function ShowControls
+
+    LockWindow on
+    GetDlgItem $0 $HWNDPARENT 1028
+    ShowWindow $0 ${SW_NORMAL}
+
+    GetDlgItem $0 $HWNDPARENT 1256
+    ShowWindow $0 ${SW_NORMAL}
+
+    GetDlgItem $0 $HWNDPARENT 1035
+    ShowWindow $0 ${SW_NORMAL}
+
+    GetDlgItem $0 $HWNDPARENT 1037
+    ShowWindow $0 ${SW_NORMAL}
+
+    GetDlgItem $0 $HWNDPARENT 1038
+    ShowWindow $0 ${SW_NORMAL}
+
+    GetDlgItem $0 $HWNDPARENT 1039
+    ShowWindow $0 ${SW_NORMAL}
+
+    GetDlgItem $0 $HWNDPARENT 1045
+    ShowWindow $0 ${SW_HIDE}
+    LockWindow off
+
+FunctionEnd
+
+Function nsDialogsWelcome
+
+	nsDialogs::Create 1044
+	Pop $DIALOG
+
+	nsDialogs::CreateControl STATIC ${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS}|${SS_BITMAP} 0 0 0 109u 193u ""
+	Pop $IMAGECTL
+
+	StrCpy $0 $PLUGINSDIR\welcome.bmp
+	System::Call 'user32::LoadImage(i 0, t r0, i ${IMAGE_BITMAP}, i 0, i 0, i ${LR_LOADFROMFILE}) i.s'
+	Pop $IMAGE
+	
+	SendMessage $IMAGECTL ${STM_SETIMAGE} ${IMAGE_BITMAP} $IMAGE
+
+	nsDialogs::CreateControl STATIC ${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS} 0 120u 10u -130u 20u "Welcome to nsDialogs!"
+	Pop $HEADLINE
+
+	SendMessage $HEADLINE ${WM_SETFONT} $HEADLINE_FONT 0
+
+	nsDialogs::CreateControl STATIC ${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS} 0 120u 32u -130u -32u "nsDialogs is the next generation of user interfaces in NSIS. It gives the developer full control over custom pages. Some of the features include control text containing variables, callbacks directly into script functions and creation of any type of control. Create boring old edit boxes or load some external library and create custom controls with no need of creating your own plug-in.$\r$\n$\r$\nUnlike InstallOptions, nsDialogs doesn't use INI files to communicate with the script. By interacting directly with the script, nsDialogs can perform much faster without the need of costly, old and inefficient INI operations. Direct interaction also allows direct calls to functions defined in the script and removes the need of conversion functions like Io2Nsis.$\r$\n$\r$\nHit the Next button to see how it all fits into a mock directory page."
+	Pop $TEXT
+
+	SetCtlColors $DIALOG "" 0xffffff
+	SetCtlColors $HEADLINE "" 0xffffff
+	SetCtlColors $TEXT "" 0xffffff
+
+	Call HideControls
+
+	nsDialogs::Show
+
+	Call ShowControls
+
+	System::Call gdi32::DeleteObject(i$IMAGE)
+
+FunctionEnd
+
+!define SHACF_FILESYSTEM 1
+
+Function nsDialogsDirectory
+
+	!insertmacro MUI_HEADER_TEXT "Choose Install Location" "Choose the folder in which to install $(^NameDA)."
+
+	GetDlgItem $0 $HWNDPARENT 1
+	EnableWindow $0 0
+
+	nsDialogs::Create 1018
+	Pop $DIALOG
+
+	nsDialogs::CreateControl STATIC ${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS}|${SS_CENTER} 0 0 0 100% 30 "Directory page"
+	Pop $HEADLINE
+
+	SendMessage $HEADLINE ${WM_SETFONT} $HEADLINE_FONT 0
+
+	nsDialogs::CreateControl STATIC ${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS} 0 0 30 100% 40 "Select the installation directory of NSIS to continue. $_CLICK"
+	Pop $TEXT
+
+	nsDialogs::CreateControl EDIT ${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS}|${ES_AUTOHSCROLL}|${WS_TABSTOP} ${WS_EX_CLIENTEDGE} 0 75 100% 12u ""
+	Pop $DIRECTORY
+
+	SendMessage $HWNDPARENT ${WM_NEXTDLGCTL} $DIRECTORY 1
+
+	GetFunctionAddress $0 DirChange
+	nsDialogs::OnChange $DIRECTORY $0
+
+	System::Call shlwapi::SHAutoComplete(i$DIRECTORY,i${SHACF_FILESYSTEM})
+
+	nsDialogs::CreateControl STATIC ${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS} 0 0 -10u 100% 10u ""
+	Pop $FREESPACE
+
+	Call UpdateFreeSpace
+
+	nsDialogs::Show
+
+FunctionEnd
+
+Function UpdateFreeSpace
+
+	${GetRoot} $INSTDIR $0
+	StrCpy $1 " bytes"
+
+	System::Call kernel32::GetDiskFreeSpaceEx(tr0,*l,*l,*l.r0)
+
+	${If} $0 > 1024
+	${OrIf} $0 < 0
+		System::Int64Op $0 / 1024
+		Pop $0
+		StrCpy $1 "kb"
+		${If} $0 > 1024
+		${OrIf} $0 < 0
+			System::Int64Op $0 / 1024
+			Pop $0
+			StrCpy $1 "mb"
+			${If} $0 > 1024
+			${OrIf} $0 < 0
+				System::Int64Op $0 / 1024
+				Pop $0
+				StrCpy $1 "gb"
+			${EndIf}
+		${EndIf}
+	${EndIf}
+
+	SendMessage $FREESPACE ${WM_SETTEXT} 0 "STR:Free space: $0$1"
+
+FunctionEnd
+
+Function DirChange
+
+	Pop $0 # dir hwnd
+
+	GetDlgItem $0 $HWNDPARENT 1
+
+	System::Call user32::GetWindowText(i$DIRECTORY,t.d,i${NSIS_MAX_STRLEN})
+
+	${If} ${FileExists} $INSTDIR\makensis.exe
+		EnableWindow $0 1
+	${Else}
+		EnableWindow $0 0
+	${EndIf}
+
+	Call UpdateFreeSpace
+
+FunctionEnd
+
+Section
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/nsDialogs/timer.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/nsDialogs/timer.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/nsDialogs/timer.nsi	(revision 2961)
@@ -0,0 +1,102 @@
+!include LogicLib.nsh
+!include nsDialogs.nsh
+
+Name "nsDialogs Timer Example"
+OutFile "nsDialogs Timer Example.exe"
+XPStyle on
+
+Var DIALOG
+Var TEXT
+Var PROGBAR
+Var PROGBAR2
+Var PROGBAR3
+Var BUTTON
+Var BUTTON2
+
+Page custom nsDialogsPage
+
+Function OnTimer
+
+  	SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1
+	${If} $1 = 100
+		SendMessage $PROGBAR ${PBM_SETPOS} 0 0
+	${Else}
+		SendMessage $PROGBAR ${PBM_DELTAPOS} 10 0
+	${EndIf}
+
+FunctionEnd
+
+Function OnTimer2
+
+  	SendMessage $PROGBAR2 ${PBM_GETPOS} 0 0 $1
+	${If} $1 = 100
+		SendMessage $PROGBAR2 ${PBM_SETPOS} 0 0
+	${Else}
+		SendMessage $PROGBAR2 ${PBM_DELTAPOS} 5 0
+	${EndIf}
+
+FunctionEnd
+
+Function OnTimer3
+
+  	SendMessage $PROGBAR3 ${PBM_GETPOS} 0 0 $1
+	${If} $1 >= 100
+		${NSD_KillTimer} OnTimer3
+ 		MessageBox MB_OK "Timer 3 killed"
+	${Else}
+		SendMessage $PROGBAR3 ${PBM_DELTAPOS} 2 0
+	${EndIf}
+
+FunctionEnd
+
+Function OnClick
+
+	Pop $0
+
+	${NSD_KillTimer} OnTimer
+
+FunctionEnd
+
+Function OnClick2
+
+	Pop $0
+
+	${NSD_KillTimer} OnTimer2
+
+FunctionEnd
+
+Function nsDialogsPage
+
+	nsDialogs::Create 1018
+	Pop $DIALOG
+
+	${NSD_CreateLabel} 0u 0u 100% 9u "nsDialogs timer example"
+	Pop $TEXT
+
+	${NSD_CreateProgressBar} 0u 10u 100% 12u ""
+	Pop $PROGBAR
+
+	${NSD_CreateButton} 0u 25u 100u 14u "Kill Timer 1"
+	Pop $BUTTON
+	${NSD_OnClick} $BUTTON OnClick
+
+	${NSD_CreateProgressBar} 0u 52u 100% 12u ""
+	Pop $PROGBAR2
+
+	${NSD_CreateButton} 0u 67u 100u 14u "Kill Timer 2"
+	Pop $BUTTON2
+	${NSD_OnClick} $BUTTON2 OnClick2
+
+	${NSD_CreateProgressBar} 0u 114u 100% 12u ""
+	Pop $PROGBAR3
+
+	${NSD_CreateTimer} OnTimer 1000
+	${NSD_CreateTimer} OnTimer2 100
+	${NSD_CreateTimer} OnTimer3 200
+
+	nsDialogs::Show
+
+FunctionEnd
+
+Section
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/nsDialogs/InstallOptions.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/nsDialogs/InstallOptions.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/nsDialogs/InstallOptions.nsi	(revision 2961)
@@ -0,0 +1,47 @@
+!include LogicLib.nsh
+!include WinMessages.nsh
+
+Name "nsDialogs IO"
+OutFile "nsDialogs IO.exe"
+
+Page custom nsDialogsIO UpdateINIState
+Page instfiles
+
+XPStyle on
+
+ShowInstDetails show
+
+!include nsDialogs.nsh
+!insertmacro NSD_FUNCTION_INIFILE
+
+Function nsDialogsIO
+
+	InitPluginsDir
+	File /oname=$PLUGINSDIR\io.ini "${NSISDIR}\Examples\InstallOptions\test.ini"
+
+	${If} ${Cmd} `MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Test the right-to-left version?" IDYES`
+		WriteINIStr $PLUGINSDIR\io.ini Settings RTL 1
+	${EndIf}
+
+	StrCpy $0 $PLUGINSDIR\io.ini
+
+	Call CreateDialogFromINI
+
+FunctionEnd
+
+Section
+
+  ReadINIStr $0 "$PLUGINSDIR\io.ini" "Field 2" "State"
+  DetailPrint "Install X=$0"
+  ReadINIStr $0 "$PLUGINSDIR\io.ini" "Field 3" "State"
+  DetailPrint "Install Y=$0"
+  ReadINIStr $0 "$PLUGINSDIR\io.ini" "Field 4" "State"
+  DetailPrint "Install Z=$0"
+  ReadINIStr $0 "$PLUGINSDIR\io.ini" "Field 5" "State"
+  DetailPrint "File=$0"
+  ReadINIStr $0 "$PLUGINSDIR\io.ini" "Field 6" "State"
+  DetailPrint "Dir=$0"
+  ReadINIStr $0 "$PLUGINSDIR\io.ini" "Field 8" "State"
+  DetailPrint "Info=$0"
+
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/FileFuncTest.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/FileFuncTest.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/FileFuncTest.nsi	(revision 2961)
@@ -0,0 +1,572 @@
+;_____________________________________________________________________________
+;
+;                          File Functions Test
+;_____________________________________________________________________________
+;
+; 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
+
+Name "File Functions Test"
+OutFile "FileFuncTest.exe"
+Caption "$(^Name)"
+ShowInstDetails show
+XPStyle on
+RequestExecutionLevel user
+
+Var FUNCTION
+Var OUT1
+Var OUT2
+Var OUT3
+Var OUT4
+Var OUT5
+Var OUT6
+Var OUT7
+
+!include "FileFunc.nsh"
+!include "LogicLib.nsh"
+
+;############### INSTALL ###############
+
+!define StackVerificationStart `!insertmacro StackVerificationStart`
+!macro StackVerificationStart _FUNCTION
+	StrCpy $FUNCTION ${_FUNCTION}
+	Call StackVerificationStart
+!macroend
+
+!define StackVerificationEnd `!insertmacro StackVerificationEnd`
+!macro StackVerificationEnd
+	Call StackVerificationEnd
+!macroend
+
+Function StackVerificationStart
+	StrCpy $0 !0
+	StrCpy $1 !1
+	StrCpy $2 !2
+	StrCpy $3 !3
+	StrCpy $4 !4
+	StrCpy $5 !5
+	StrCpy $6 !6
+	StrCpy $7 !7
+	StrCpy $8 !8
+	StrCpy $9 !9
+	StrCpy $R0 !R0
+	StrCpy $R1 !R1
+	StrCpy $R2 !R2
+	StrCpy $R3 !R3
+	StrCpy $R4 !R4
+	StrCpy $R5 !R5
+	StrCpy $R6 !R6
+	StrCpy $R7 !R7
+	StrCpy $R8 !R8
+	StrCpy $R9 !R9
+FunctionEnd
+
+Function StackVerificationEnd
+	IfErrors +3
+	DetailPrint 'PASSED $FUNCTION no errors'
+	goto +2
+	DetailPrint 'FAILED   $FUNCTION error'
+
+	StrCmp $0 '!0' 0 error
+	StrCmp $1 '!1' 0 error
+	StrCmp $2 '!2' 0 error
+	StrCmp $3 '!3' 0 error
+	StrCmp $4 '!4' 0 error
+	StrCmp $5 '!5' 0 error
+	StrCmp $6 '!6' 0 error
+	StrCmp $7 '!7' 0 error
+	StrCmp $8 '!8' 0 error
+	StrCmp $9 '!9' 0 error
+	StrCmp $R0 '!R0' 0 error
+	StrCmp $R1 '!R1' 0 error
+	StrCmp $R2 '!R2' 0 error
+	StrCmp $R3 '!R3' 0 error
+	StrCmp $R4 '!R4' 0 error
+	StrCmp $R5 '!R5' 0 error
+	StrCmp $R6 '!R6' 0 error
+	StrCmp $R7 '!R7' 0 error
+	StrCmp $R8 '!R8' 0 error
+	StrCmp $R9 '!R9' 0 error
+	DetailPrint 'PASSED $FUNCTION stack'
+	goto end
+
+	error:
+	DetailPrint 'FAILED   $FUNCTION stack'
+;	MessageBox MB_OKCANCEL '$$0={$0}$\n$$1={$1}$\n$$2={$2}$\n$$3={$3}$\n$$4={$4}$\n$$5={$5}$\n$$6={$6}$\n$$7={$7}$\n$$8={$8}$\n$$9={$9}$\n$$R0={$R0}$\n$$R1={$R1}$\n$$R2={$R2}$\n$$R3={$R3}$\n$$R4={$R4}$\n$$R5={$R5}$\n$$R6={$R6}$\n$$R7={$R7}$\n$$R8={$R8}$\n$$R9={$R9}' IDOK +2
+;	quit
+
+	end:
+FunctionEnd
+
+
+
+Section Locate
+	${StackVerificationStart} Locate
+
+	${Locate} '$DOCUMENTS' '/L=FD /M=*.* /S=0B /G=0' 'LocateCallback'
+
+	${StackVerificationEnd}
+SectionEnd
+
+Function LocateCallback
+;	MessageBox MB_YESNO '$$0={$0}$\n$$1={$1}$\n$$2={$2}$\n$$3={$3}$\n$$4={$4}$\n$$5={$5}$\n$$6={$6}$\n$$7={$7}$\n$$8={$8}$\n$$9={$9}$\n$$R0={$R0}$\n$$R1={$R1}$\n$$R2={$R2}$\n$$R3={$R3}$\n$$R4={$R4}$\n$$R5={$R5}$\n$$R6={$R6}$\n$$R7={$R7}$\n$$R8={$R8}$\n$$R9={$R9}$\n$\nContinue?' IDYES +2
+;	StrCpy $0 StopLocate
+
+	Push $0
+FunctionEnd
+
+
+Section GetSize
+	${StackVerificationStart} GetSize
+
+	${GetSize} '$WINDIR' '/M=Explorer.exe /S=0K /G=0' $OUT1 $OUT2 $OUT3
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section DriveSpace
+	${StackVerificationStart} DriveSpace
+
+	${DriveSpace} 'C:\' '/D=F /S=M' $OUT1
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section GetDrives
+	${StackVerificationStart} GetDrives
+
+	${GetDrives} 'FDD+CDROM' 'GetDrivesCallback'
+
+	${StackVerificationEnd}
+SectionEnd
+
+Function GetDrivesCallback
+;	MessageBox MB_YESNO '$$0={$0}$\n$$1={$1}$\n$$2={$2}$\n$$3={$3}$\n$$4={$4}$\n$$5={$5}$\n$$6={$6}$\n$$7={$7}$\n$$8={$8}$\n$$9={$9}$\n$$R0={$R0}$\n$$R1={$R1}$\n$$R2={$R2}$\n$$R3={$R3}$\n$$R4={$R4}$\n$$R5={$R5}$\n$$R6={$R6}$\n$$R7={$R7}$\n$$R8={$R8}$\n$$R9={$R9}$\n$\nContinue?' IDYES +2
+;	StrCpy $0 StopGetDrives
+
+	Push $0
+FunctionEnd
+
+
+Section GetTime
+	${StackVerificationStart} GetTime
+
+	${GetTime} '' 'L' $OUT1 $OUT2 $OUT3 $OUT4 $OUT5 $OUT6 $OUT7
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section GetFileAttributes
+	${StackVerificationStart} GetFileAttributes
+
+	${GetFileAttributes} '$WINDIR\explorer.exe' 'ALL' $OUT1
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section GetFileVersion
+	${StackVerificationStart} GetFileVersion
+
+	${GetFileVersion} '$WINDIR\explorer.exe' $OUT1
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section GetExeName
+	${StackVerificationStart} GetExeName
+
+	${GetExeName} $OUT1
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section GetExePath
+	${StackVerificationStart} GetExePath
+
+	${GetExePath} $OUT1
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section GetParameters
+	${StackVerificationStart} GetParameters
+
+	# basic stuff
+
+	StrCpy $CMDLINE '"$PROGRAMFILES\Something\Hello.exe"'
+	${GetParameters} $OUT1
+	StrCpy $CMDLINE '"$PROGRAMFILES\Something\Hello.exe" test'
+	${GetParameters} $OUT2
+	StrCpy $CMDLINE '"$PROGRAMFILES\Something\Hello.exe" "test"'
+	${GetParameters} $OUT3
+	StrCpy $CMDLINE 'C:\Hello.exe'
+	${GetParameters} $OUT4
+	StrCpy $CMDLINE 'C:\Hello.exe test'
+	${GetParameters} $OUT5
+	StrCpy $CMDLINE 'C:\Hello.exe "test"'
+	${GetParameters} $OUT6
+	StrCpy $CMDLINE 'C:\Hello.exe       test test  '
+	${GetParameters} $OUT7
+
+	${If} $OUT1 != ""
+	${OrIf} $OUT2 != "test"
+	${OrIf} $OUT3 != '"test"'
+	${OrIf} $OUT4 != ""
+	${OrIf} $OUT5 != "test"
+	${OrIf} $OUT6 != '"test"'
+	${OrIf} $OUT7 != 'test test'
+		SetErrors
+	${EndIf}
+
+	# some corner cases
+
+	StrCpy $CMDLINE ''
+	${GetParameters} $OUT1
+	StrCpy $CMDLINE '"'
+	${GetParameters} $OUT2
+	StrCpy $CMDLINE '""'
+	${GetParameters} $OUT3
+	StrCpy $CMDLINE '"" test'
+	${GetParameters} $OUT4
+	StrCpy $CMDLINE ' test'
+	${GetParameters} $OUT5
+	StrCpy $CMDLINE '  test' # left over bug(?) from old GetParameters
+	                         # it starts looking for ' ' from the third char
+	${GetParameters} $OUT6
+	StrCpy $CMDLINE ' '
+	${GetParameters} $OUT7
+
+	${If} $OUT1 != ""
+	${OrIf} $OUT2 != ""
+	${OrIf} $OUT3 != ""
+	${OrIf} $OUT4 != ""
+	${OrIf} $OUT5 != ""
+	${OrIf} $OUT6 != ""
+	${OrIf} $OUT7 != ""
+		SetErrors
+	${EndIf}
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section GetOptions
+	${StackVerificationStart} GetOptions
+
+	${GetOptions} '/INSTDIR=C:\Program Files\Common Files /SILENT=yes' '/INSTDIR=' $OUT1
+	StrCmp $OUT1 'C:\Program Files\Common Files' 0 error
+
+	${GetOptions} '-TMP=temp.tmp -INSTDIR="C:/Program Files/Common Files" -SILENT=yes' '-INSTDIR=' $OUT1
+	StrCmp $OUT1 'C:/Program Files/Common Files' 0 error
+
+	${GetOptions} "/INSTDIR='C:/Program Files/Common Files' /SILENT=yes" '/INSTDIR=' $OUT1
+	StrCmp $OUT1 'C:/Program Files/Common Files' 0 error
+
+	StrCpy $OUT1 '/INSTDIR=`C:/Program Files/Common Files` /SILENT=yes'
+	${GetOptions} '$OUT1' '/INSTDIR=' $OUT1
+	StrCmp $OUT1 'C:/Program Files/Common Files' 0 error
+
+	${GetOptions} '/SILENT=yes /INSTDIR=C:\Program Files\Common Files' '/INSTDIR=' $OUT1
+	StrCmp $OUT1 'C:\Program Files\Common Files' 0 error
+
+	${GetOptions} "/INSTDIR=common directory: 'C:\Program Files\Common Files' /SILENT=yes" '/INSTDIR=' $OUT1
+	StrCmp $OUT1 "common directory: 'C:\Program Files\Common Files'" 0 error
+
+	${GetOptions} '/INSTDIR=WxxxW /SILENT=yes' '/INSTDIR=' $OUT1
+	StrCmp $OUT1 'WxxxW' 0 error
+
+	${GetOptions} "/Prm='/D=True' /D=1" '/D=' $OUT1
+	StrCmp $OUT1 "1" 0 error
+
+	${GetOptions} "/D=1 /Prm='/D=True'" '/Prm=' $OUT1
+	StrCmp $OUT1 "/D=True" 0 error
+
+	${GetOptions} `/D=1 /Prm='/D="True" /S="/Temp"'` '/Prm=' $OUT1
+	StrCmp $OUT1 '/D="True" /S="/Temp"' 0 error
+
+	${GetOptions} `/INSTDIR='"C:/Program Files/Common Files"' /SILENT=yes` '/INSTDIR=' $OUT1
+	StrCmp $OUT1 '"C:/Program Files/Common Files"' 0 error
+
+	${GetOptions} `/INSTDIR='"C:/Program Files/Common Files"' /SILENT=yes` '/INSTDIR*=' $OUT1
+	IfErrors 0 error
+	StrCmp $OUT1 '' 0 error
+
+	${GetOptions} `/INSTDIR="C:/Program Files/Common Files" /SILENT=yes` '' $OUT1
+	IfErrors 0 error
+	StrCmp $OUT1 '' 0 error
+
+	${GetOptionsS} '/INSTDIR=C:\Program Files\Common Files /SILENT' '/SILENT' $OUT1
+	IfErrors error
+	StrCmp $OUT1 '' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section GetOptionsS
+	${StackVerificationStart} GetOptionsS
+
+	${GetOptionsS} '/INSTDIR=C:\Program Files\Common Files /SILENT=yes' '/INSTDIR=' $OUT1
+	IfErrors error
+	StrCmp $OUT1 'C:\Program Files\Common Files' 0 error
+
+	${GetOptionsS} '/INSTDIR=C:\Program Files\Common Files /SILENT=yes' '/Instdir=' $OUT1
+	IfErrors 0 error
+	StrCmp $OUT1 '' 0 error
+
+	${GetOptionsS} '/INSTDIR=C:\Program Files\Common Files /SILENT' '/SILENT' $OUT1
+	IfErrors error
+	StrCmp $OUT1 '' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section GetRoot
+	${StackVerificationStart} GetRoot
+
+	${GetRoot} 'C:\Program Files\NSIS' $OUT1
+	StrCmp $OUT1 'C:' 0 error
+
+	${GetRoot} '\\SuperPimp\NSIS\Source\exehead\Ui.c' $OUT1
+	StrCmp $OUT1 '\\SuperPimp\NSIS' 0 error
+
+	${GetRoot} '\\Program Files\NSIS' $OUT1
+	StrCmp $OUT1 '\\Program Files\NSIS' 0 error
+
+	${GetRoot} '\\Program Files\NSIS\' $OUT1
+	StrCmp $OUT1 '\\Program Files\NSIS' 0 error
+
+	${GetRoot} '\\Program Files\NSIS\Source\exehead\Ui.c' $OUT1
+	StrCmp $OUT1 '\\Program Files\NSIS' 0 error
+
+	${GetRoot} '\Program Files\NSIS' $OUT1
+	StrCmp $OUT1 '' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section GetParent
+	${StackVerificationStart} GetParent
+
+	${GetParent} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1
+	StrCmp $OUT1 'C:\Program Files\Winamp' 0 error
+
+	${GetParent} 'C:\Program Files\Winamp\plugins' $OUT1
+	StrCmp $OUT1 'C:\Program Files\Winamp' 0 error
+
+	${GetParent} 'C:\Program Files\Winamp\plugins\' $OUT1
+	StrCmp $OUT1 'C:\Program Files\Winamp' 0 error
+
+	${GetParent} 'C:\' $OUT1
+	StrCmp $OUT1 '' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section GetFileName
+	${StackVerificationStart} GetFileName
+
+	${GetFileName} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1
+	StrCmp $OUT1 'uninstwa.exe' 0 error
+
+	${GetFileName} 'uninstwa.exe' $OUT1
+	StrCmp $OUT1 'uninstwa.exe' 0 error
+
+	${GetFileName} 'C:\Program Files\Winamp\plugins' $OUT1
+	StrCmp $OUT1 'plugins' 0 error
+
+	${GetFileName} 'C:\Program Files\Winamp\plugins\' $OUT1
+	StrCmp $OUT1 'plugins' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section GetBaseName
+	${StackVerificationStart} GetBaseName
+
+	${GetBaseName} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1
+	StrCmp $OUT1 'uninstwa' 0 error
+
+	${GetBaseName} 'uninstwa.exe' $OUT1
+	StrCmp $OUT1 'uninstwa' 0 error
+
+	${GetBaseName} 'C:\Program Files\Winamp\plugins' $OUT1
+	StrCmp $OUT1 'plugins' 0 error
+
+	${GetBaseName} 'C:\Program Files\Winamp\plugins\' $OUT1
+	StrCmp $OUT1 '' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section GetFileExt
+	${StackVerificationStart} GetFileExt
+
+	${GetFileExt} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1
+	StrCmp $OUT1 'exe' 0 error
+
+	${GetFileExt} 'uninstwa.exe' $OUT1
+	StrCmp $OUT1 'exe' 0 error
+
+	${GetFileExt} 'C:\Program Files\Winamp\plugins' $OUT1
+	StrCmp $OUT1 '' 0 error
+
+	${GetFileExt} 'C:\Program Files\Winamp\plugins\' $OUT1
+	StrCmp $OUT1 '' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section BannerTrimPath
+	${StackVerificationStart} BannerTrimPath
+
+	${BannerTrimPath} 'C:\Server\Documents\Terminal\license.htm' '35A' $OUT1
+	StrCmp $OUT1 'C:\Server\...\Terminal\license.htm' 0 error
+
+	${BannerTrimPath} 'C:\12\3456\789' '3A' $OUT1
+	StrCmp $OUT1 '' 0 error
+
+	${BannerTrimPath} 'C:\12\3456\789' '4A' $OUT1
+	StrCmp $OUT1 'C...' 0 error
+
+	${BannerTrimPath} 'C:\12\3456\789' '11A' $OUT1
+	StrCmp $OUT1 'C:\12\...' 0 error
+
+	${BannerTrimPath} 'C:\12\3456\789' '13A' $OUT1
+	StrCmp $OUT1 'C:\12\...\789' 0 error
+
+	${BannerTrimPath} 'C:\12\3456\789' '14A' $OUT1
+	StrCmp $OUT1 'C:\12\3456\789' 0 error
+
+	${BannerTrimPath} 'C:\12\3456\789' '14A' $OUT1
+	StrCmp $OUT1 'C:\12\3456\789' 0 error
+
+	${BannerTrimPath} 'C:\12\3456\789' '11B' $OUT1
+	StrCmp $OUT1 'C:\12\...' 0 error
+
+	${BannerTrimPath} 'C:\12\3456\789' '5B' $OUT1
+	StrCmp $OUT1 'C:...' 0 error
+
+	${BannerTrimPath} 'C:\12\3456\789' '5B' $OUT1
+	StrCmp $OUT1 'C:...' 0 error
+
+	${BannerTrimPath} 'C:\12\3456\789' '11C' $OUT1
+	StrCmp $OUT1 'C:\12\34...' 0 error
+
+	${BannerTrimPath} 'C:\12\3456\789' '9D' $OUT1
+	StrCmp $OUT1 'C:\12\...' 0 error
+
+	${BannerTrimPath} 'C:\12\3456\789' '10D' $OUT1
+	StrCmp $OUT1 'C:\...\789' 0 error
+
+	${BannerTrimPath} 'C:\12\3456\789' '11D' $OUT1
+	StrCmp $OUT1 'C:\1...\789' 0 error
+
+	${BannerTrimPath} '123456789' '5D' $OUT1
+	StrCmp $OUT1 '12...' 0 error
+
+	goto +2
+	error:
+	SetErrors
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section DirState
+	${StackVerificationStart} DirState
+
+	${DirState} '$TEMP' $OUT1
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section RefreshShellIcons
+	${StackVerificationStart} RefreshShellIcons
+
+	${RefreshShellIcons}
+
+	${StackVerificationEnd}
+SectionEnd
+
+
+Section WriteUninstaller
+	goto +2
+	WriteUninstaller '$EXEDIR\un.FileFuncTest.exe'
+SectionEnd
+
+
+
+;############### UNINSTALL ###############
+
+Section un.Uninstall
+	${Locate} '$DOCUMENTS' '/L=FD /M=*.* /S=0B /G=0' 'un.LocateCallback'
+	${GetSize} '$WINDIR' '/M=Explorer.exe /S=0K /G=0' $OUT1 $OUT2 $OUT3
+	${DriveSpace} 'C:\' '/D=F /S=M' $OUT1
+	${GetDrives} 'FDD+CDROM' 'un.GetDrivesCallback'
+	${GetTime} '' 'L' $OUT1 $OUT2 $OUT3 $OUT4 $OUT5 $OUT6 $OUT7
+	${GetFileAttributes} '$WINDIR\explorer.exe' 'ALL' $OUT1
+	${GetFileVersion} '$WINDIR\explorer.exe' $OUT1
+	${GetExeName} $OUT1
+	${GetExePath} $OUT1
+	${GetParameters} $OUT1
+	${GetOptions} '/INSTDIR=C:\Program Files\Common Files /SILENT=yes' '/INSTDIR=' $OUT1
+	${GetOptionsS} '/INSTDIR=C:\Program Files\Common Files /SILENT=yes' '/INSTDIR=' $OUT1
+	${GetRoot} 'C:\Program Files\NSIS' $OUT1
+	${GetParent} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1
+	${GetFileName} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1
+	${GetBaseName} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1
+	${GetFileExt} 'C:\Program Files\Winamp\uninstwa.exe' $OUT1
+	${BannerTrimPath} 'C:\Server\Documents\Terminal\license.htm' '35A' $OUT1
+	${DirState} '$TEMP' $OUT1
+	${RefreshShellIcons}
+SectionEnd
+
+Function un.LocateCallback
+	Push $0
+FunctionEnd
+
+Function un.GetDrivesCallback
+	Push $0
+FunctionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/FileFunc.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/FileFunc.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/FileFunc.nsi	(revision 2961)
@@ -0,0 +1,732 @@
+;_____________________________________________________________________________
+;
+;                          File Functions
+;_____________________________________________________________________________
+;
+; 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
+
+Name "File Functions"
+OutFile "FileFunc.exe"
+Caption "$(^Name)"
+XPStyle on
+RequestExecutionLevel user
+
+!include "WinMessages.nsh"
+!include "FileFunc.nsh"
+
+Var INI
+Var HWND
+Var STATE
+Var FUNCTION
+Var LOCATE1
+Var LOCATE2
+Var GETSIZE1
+Var GETSIZE2
+Var GETSIZE3
+Var GETSIZE4
+Var GETSIZE5
+Var GETSIZE6
+Var DRIVESPACE1
+Var DRIVESPACE2
+Var GETDRIVES1
+Var GETTIME1
+Var GETTIME2
+Var GETFILEATTRIBUTES1
+Var GETFILEATTRIBUTES2
+Var GETFILEVERSION1
+Var GETOPTIONS1
+Var GETOPTIONS2
+Var GETROOT1
+Var GETPARENT1
+Var GETFILENAME1
+Var GETBASENAME1
+Var GETFILEEXT1
+Var BANNERTRIMPATH1
+Var BANNERTRIMPATH2
+Var DIRSTATE1
+
+Page Custom ShowCustom LeaveCustom
+
+Function ShowCustom
+	InstallOptions::initDialog "$INI"
+	Pop $hwnd
+	GetDlgItem $1 $HWND 1201
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1202
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1206
+	EnableWindow $1 0
+	SendMessage $1 ${WM_ENABLE} 1 0
+	StrCpy $LOCATE1 $DOCUMENTS
+	StrCpy $LOCATE2 '/L=FD /M=*.* /S=0B /G=1 /B=0'
+	StrCpy $GETSIZE1 '$WINDIR'
+	StrCpy $GETSIZE2 '/M=Explorer.exe /S=0K /G=0'
+	StrCpy $GETSIZE3 '$PROGRAMFILES\Common Files'
+	StrCpy $GETSIZE4 '/S=0M'
+	StrCpy $GETSIZE5 '$WINDIR'
+	StrCpy $GETSIZE6 '/G=0'
+	StrCpy $DRIVESPACE1 'C:\'
+	StrCpy $DRIVESPACE2 '/D=F /S=M'
+	StrCpy $GETDRIVES1 'FDD+CDROM'
+	StrCpy $GETTIME1 '$WINDIR\Explorer.exe'
+	StrCpy $GETTIME2 'C'
+	StrCpy $GETFILEATTRIBUTES1 'C:\IO.SYS'
+	StrCpy $GETFILEATTRIBUTES2 'ALL'
+	StrCpy $GETFILEVERSION1 '$WINDIR\Explorer.exe'
+	StrCpy $GETOPTIONS1 '/SILENT=yes /INSTDIR="$PROGRAMFILES\Common Files"'
+	StrCpy $GETOPTIONS2 '/INSTDIR='
+	StrCpy $GETROOT1 'C:\path\file.dll'
+	StrCpy $GETPARENT1 'C:\path\file.dll'
+	StrCpy $GETFILENAME1 'C:\path\file.dll'
+	StrCpy $GETBASENAME1 'C:\path\file.dll'
+	StrCpy $GETFILEEXT1 'C:\path\file.dll'
+	StrCpy $BANNERTRIMPATH1 'C:\Server\Documents\Terminal\license.htm'
+	StrCpy $BANNERTRIMPATH2 '34A'
+	StrCpy $DIRSTATE1 '$TEMP'
+
+	GetDlgItem $1 $HWND 1203
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$LOCATE1"
+	GetDlgItem $1 $HWND 1205
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$LOCATE2"
+	InstallOptions::show
+	Pop $0
+FunctionEnd
+
+Function LeaveCustom
+	ReadINIStr $STATE $INI "Field 1" "State"
+	ReadINIStr $R1 $INI "Field 2" "State"
+	ReadINIStr $R2 $INI "Field 3" "State"
+	ReadINIStr $R3 $INI "Field 4" "State"
+	ReadINIStr $R4 $INI "Field 5" "State"
+	ReadINIStr $0 $INI "Settings" "State"
+	StrCmp $0 6 view
+	StrCmp $0 0 Enter
+	goto main
+
+	view:
+	StrCpy $0 '$$'
+	StrCpy $1 'n'
+	StrCpy $2 'r'
+	StrCmp $R4 "LocateCallback" 0 +3
+	StrCpy $R0 `Function LocateCallback$\r$\n	MessageBox MB_OKCANCEL '$0$$R9    "path\name"=[$$R9]$0\$1$0$$R8    "path"          =[$$R8]$0\$1$0$$R7    "name"        =[$$R7]$0\$1$0$$R6    "size"           =[$$R6]' IDOK +2$\r$\n	StrCpy $$R0 StopLocate$\r$\n$\r$\n	Push $$R0$\r$\nFunctionEnd`
+	goto send
+	StrCmp $R4 "GetDrivesCallback" 0 error
+	StrCpy $R0 `Function GetDrivesCallback$\r$\n	MessageBox MB_OKCANCEL '$0$$9    "drive letter"=[$$9]$0\$1$0$$8    "drive type" =[$$8]' IDOK +2$\r$\n	StrCpy $$R0 StopGetDrives$\r$\n	StrCpy $$R5 '$$R5$$9  [$$8 Drive]$$\$2$$\$1'$\r$\n$\r$\n	Push $$R0$\r$\nFunctionEnd`
+	goto send
+
+	main:
+	StrCmp $FUNCTION '' DefaultSend
+	StrCmp $FUNCTION Locate 0 +4
+	StrCpy $LOCATE1 $R2
+	StrCpy $LOCATE2 $R3
+	goto DefaultSend
+	StrCmp $FUNCTION GetSize1 0 +4
+	StrCpy $GETSIZE1 $R2
+	StrCpy $GETSIZE2 $R3
+	goto DefaultSend
+	StrCmp $FUNCTION GetSize2 0 +4
+	StrCpy $GETSIZE3 $R2
+	StrCpy $GETSIZE4 $R3
+	goto DefaultSend
+	StrCmp $FUNCTION GetSize3 0 +4
+	StrCpy $GETSIZE5 $R2
+	StrCpy $GETSIZE6 $R3
+	goto DefaultSend
+	StrCmp $FUNCTION DriveSpace 0 +4
+	StrCpy $DRIVESPACE1 $R1
+	StrCpy $DRIVESPACE2 $R3
+	goto DefaultSend
+	StrCmp $FUNCTION GetDrives 0 +3
+	StrCpy $GETDRIVES1 $R1
+	goto DefaultSend
+	StrCmp $FUNCTION GetTime 0 +4
+	StrCpy $GETTIME1 $R1
+	StrCpy $GETTIME2 $R3
+	goto DefaultSend
+	StrCmp $FUNCTION GetFileAttributes 0 +4
+	StrCpy $GETFILEATTRIBUTES1 $R1
+	StrCpy $GETFILEATTRIBUTES2 $R3
+	goto DefaultSend
+	StrCmp $FUNCTION GetFileVersion 0 +3
+	StrCpy $GETFILEVERSION1 $R1
+	goto DefaultSend
+	StrCmp $FUNCTION GetOptions 0 +4
+	StrCpy $GETOPTIONS1 $R1
+	StrCpy $GETOPTIONS2 $R3
+	goto DefaultSend
+	StrCmp $FUNCTION GetRoot 0 +3
+	StrCpy $GETROOT1 $R1
+	goto DefaultSend
+	StrCmp $FUNCTION GetParent 0 +3
+	StrCpy $GETPARENT1 $R1
+	goto DefaultSend
+	StrCmp $FUNCTION GetFileName 0 +3
+	StrCpy $GETFILENAME1 $R1
+	goto DefaultSend
+	StrCmp $FUNCTION GetBaseName 0 +3
+	StrCpy $GETBASENAME1 $R1
+	goto DefaultSend
+	StrCmp $FUNCTION GetFileExt 0 +3
+	StrCpy $GETFILEEXT1 $R1
+	goto DefaultSend
+	StrCmp $FUNCTION BannerTrimPath 0 +4
+	StrCpy $BANNERTRIMPATH1 $R1
+	StrCpy $BANNERTRIMPATH2 $R3
+	goto DefaultSend
+	StrCmp $FUNCTION DirState 0 +2
+	StrCpy $DIRSTATE1 $R2
+
+	DefaultSend:
+	GetDlgItem $1 $HWND 1201
+	EnableWindow $1 1
+	ShowWindow $1 0
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1202
+	EnableWindow $1 1
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1203
+	EnableWindow $1 1
+	ShowWindow $1 0
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1204
+	EnableWindow $1 1
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1205
+	EnableWindow $1 1
+	GetDlgItem $1 $HWND 1206
+	ShowWindow $1 0
+	EnableWindow $1 0
+	GetDlgItem $1 $HWND 1207
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1208
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+
+	ReadINIStr $0 $INI "Field 1" "State"
+	StrCmp $0 "  1. Locate" 0 GetSize1Send
+	StrCpy $FUNCTION Locate
+	GetDlgItem $1 $HWND 1203
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$LOCATE1"
+	GetDlgItem $1 $HWND 1204
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$LOCATE2"
+	GetDlgItem $1 $HWND 1206
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:LocateCallback"
+	GetDlgItem $1 $HWND 1207
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Path"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Options"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Function"
+	abort
+
+	GetSize1Send:
+	StrCmp $0 "  2. GetSize                 (file)" 0 GetSize2Send
+	StrCpy $FUNCTION 'GetSize1'
+	GetDlgItem $1 $HWND 1203
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE1"
+	GetDlgItem $1 $HWND 1204
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE2"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:File"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Options"
+	Abort
+
+	GetSize2Send:
+	StrCmp $0 "                                   (directory)" 0 GetSize3Send
+	StrCpy $FUNCTION 'GetSize2'
+	GetDlgItem $1 $HWND 1203
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE3"
+	GetDlgItem $1 $HWND 1204
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE4"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Directory"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Options"
+	Abort
+
+	GetSize3Send:
+	StrCmp $0 "                                   (no size, no subdir)" 0 DriveSpaceSend
+	StrCpy $FUNCTION 'GetSize3'
+	GetDlgItem $1 $HWND 1203
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE5"
+	GetDlgItem $1 $HWND 1204
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE6"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Directory"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Options"
+	Abort
+
+	DriveSpaceSend:
+	StrCmp $0 "  3. DriveSpace" 0 GetDrivesSend
+	StrCpy $FUNCTION DriveSpace
+	GetDlgItem $1 $HWND 1201
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$DRIVESPACE1"
+	GetDlgItem $1 $HWND 1202
+	ShowWindow $1 1
+	EnableWindow $1 0
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$DRIVESPACE2"
+	GetDlgItem $1 $HWND 1206
+	ShowWindow $1 0
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:"
+	GetDlgItem $1 $HWND 1207
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Drive"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Options"
+	abort
+
+	GetDrivesSend:
+	StrCmp $0 "  4. GetDrives             (by type)" 0 GetDrives2Send
+	StrCpy $FUNCTION GetDrives
+	GetDlgItem $1 $HWND 1201
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETDRIVES1"
+	GetDlgItem $1 $HWND 1202
+	ShowWindow $1 1
+	EnableWindow $1 0
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1206
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:GetDrivesCallback"
+	GetDlgItem $1 $HWND 1207
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Function"
+	abort
+
+	GetDrives2Send:
+	StrCmp $0 "                                   (all by letter)" 0 GetTime1Send
+	StrCpy $FUNCTION ''
+	GetDlgItem $1 $HWND 1201
+	ShowWindow $1 1
+	EnableWindow $1 0
+	SendMessage $1 ${WM_ENABLE} 1 0
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:ALL"
+	GetDlgItem $1 $HWND 1202
+	ShowWindow $1 1
+	EnableWindow $1 0
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1206
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:GetDrivesCallback"
+	GetDlgItem $1 $HWND 1207
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
+	GetDlgItem $1 $HWND 1211
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Function"
+	abort
+
+	GetTime1Send:
+	StrCmp $0 "  5. GetTime                (local time)" 0 GetTime2Send
+	StrCpy $FUNCTION ''
+	GetDlgItem $1 $HWND 1201
+	ShowWindow $1 1
+	EnableWindow $1 0
+	SendMessage $1 ${WM_ENABLE} 1 0
+	GetDlgItem $1 $HWND 1202
+	ShowWindow $1 1
+	EnableWindow $1 0
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 1
+	EnableWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:L"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
+	Abort
+
+	GetTime2Send:
+	StrCmp $0 "                                   (file time)" 0 GetFileAttributesSend
+	StrCpy $FUNCTION GetTime
+	GetDlgItem $1 $HWND 1201
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETTIME1"
+	GetDlgItem $1 $HWND 1202
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETTIME2"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:File"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
+	Abort
+
+	GetFileAttributesSend:
+	StrCmp $0 "  6. GetFileAttributes" 0 GetFileVersionSend
+	StrCpy $FUNCTION GetFileAttributes
+	GetDlgItem $1 $HWND 1201
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETFILEATTRIBUTES1"
+	GetDlgItem $1 $HWND 1202
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETFILEATTRIBUTES2"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Path"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Attrib"
+	Abort
+
+	GetFileVersionSend:
+	StrCmp $0 "  7. GetFileVersion" 0 GetCmdSend
+	StrCpy $FUNCTION GetFileVersion
+	GetDlgItem $1 $HWND 1201
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETFILEVERSION1"
+	GetDlgItem $1 $HWND 1202
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:File"
+	Abort
+
+	GetCmdSend:
+	StrCmp $0 "  8. GetExeName" +3
+	StrCmp $0 "  9. GetExePath" +2
+	StrCmp $0 "10. GetParameters" 0 GetOptionsSend
+	StrCpy $FUNCTION ''
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 0
+	Abort
+
+	GetOptionsSend:
+	StrCmp $0 "11. GetOptions" 0 GetRootSend
+	StrCpy $FUNCTION GetOptions
+	GetDlgItem $1 $HWND 1201
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETOPTIONS1"
+	GetDlgItem $1 $HWND 1202
+	ShowWindow $1 1
+	EnableWindow $1 0
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETOPTIONS2"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Parameters"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
+	Abort
+
+	GetRootSend:
+	StrCmp $0 "12. GetRoot" 0 GetParentSend
+	StrCpy $FUNCTION GetRoot
+	GetDlgItem $1 $HWND 1201
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETROOT1"
+	GetDlgItem $1 $HWND 1202
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:FullPath"
+	Abort
+
+	GetParentSend:
+	StrCmp $0 "13. GetParent" 0 GetFileNameSend
+	StrCpy $FUNCTION GetParent
+	GetDlgItem $1 $HWND 1201
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETPARENT1"
+	GetDlgItem $1 $HWND 1202
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:PathString"
+	Abort
+
+	GetFileNameSend:
+	StrCmp $0 "14. GetFileName" 0 GetBaseNameSend
+	StrCpy $FUNCTION GetFileName
+	GetDlgItem $1 $HWND 1201
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETFILENAME1"
+	GetDlgItem $1 $HWND 1202
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:PathString"
+	Abort
+
+	GetBaseNameSend:
+	StrCmp $0 "15. GetBaseName" 0 GetFileExtSend
+	StrCpy $FUNCTION GetBaseName
+	GetDlgItem $1 $HWND 1201
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETBASENAME1"
+	GetDlgItem $1 $HWND 1202
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:FileString"
+	Abort
+
+	GetFileExtSend:
+	StrCmp $0 "16. GetFileExt" 0 BannerTrimPathSend
+	StrCpy $FUNCTION GetFileExt
+	GetDlgItem $1 $HWND 1201
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETFILEEXT1"
+	GetDlgItem $1 $HWND 1202
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:FileString"
+	Abort
+
+	BannerTrimPathSend:
+	StrCmp $0 "17. BannerTrimPath" 0 DirStateSend
+	StrCpy $FUNCTION BannerTrimPath
+	GetDlgItem $1 $HWND 1201
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$BANNERTRIMPATH1"
+	GetDlgItem $1 $HWND 1202
+	ShowWindow $1 1
+	EnableWindow $1 0
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$BANNERTRIMPATH2"
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:PathString"
+	GetDlgItem $1 $HWND 1210
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
+	Abort
+
+	DirStateSend:
+	StrCmp $0 "18. DirState" 0 RefreshShellIconsSend
+	StrCpy $FUNCTION DirState
+	GetDlgItem $1 $HWND 1203
+	ShowWindow $1 1
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$DIRSTATE1"
+	GetDlgItem $1 $HWND 1204
+	ShowWindow $1 1
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 0
+	GetDlgItem $1 $HWND 1209
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:Directory"
+	Abort
+
+	RefreshShellIconsSend:
+	StrCmp $0 "19. RefreshShellIcons" 0 Abort
+	StrCpy $FUNCTION ''
+	GetDlgItem $1 $HWND 1205
+	ShowWindow $1 0
+
+	Abort:
+	Abort
+
+;=Enter=
+	Enter:
+	StrCpy $R0 ''
+	StrCpy $R5 ''
+
+	StrCmp $STATE "  1. Locate" Locate
+	StrCmp $STATE "  2. GetSize                 (file)" GetSize
+	StrCmp $STATE "                                   (directory)" GetSize
+	StrCmp $STATE "                                   (no size, no subdir)" GetSize
+	StrCmp $STATE "  3. DriveSpace" DriveSpace
+	StrCmp $STATE "  4. GetDrives             (by type)" GetDrives
+	StrCmp $STATE "                                   (all by letter)" GetDrives
+	StrCmp $STATE "  5. GetTime                (local time)" GetTime
+	StrCmp $STATE "                                   (file time)" GetTime
+	StrCmp $STATE "  6. GetFileAttributes" GetFileAttributes
+	StrCmp $STATE "  7. GetFileVersion" GetFileVersion
+	StrCmp $STATE "  8. GetExeName" GetExeName
+	StrCmp $STATE "  9. GetExePath" GetExePath
+	StrCmp $STATE "10. GetParameters" GetParameters
+	StrCmp $STATE "11. GetOptions" GetOptions
+	StrCmp $STATE "12. GetRoot" GetRoot
+	StrCmp $STATE "13. GetParent" GetParent
+	StrCmp $STATE "14. GetFileName" GetFileName
+	StrCmp $STATE "15. GetBaseName" GetBaseName
+	StrCmp $STATE "16. GetFileExt" GetFileExt
+	StrCmp $STATE "17. BannerTrimPath" BannerTrimPath
+	StrCmp $STATE "18. DirState" DirState
+	StrCmp $STATE "19. RefreshShellIcons" RefreshShellIcons
+	Abort
+
+	Locate:
+	${Locate} "$R2" "$R3" "LocateCallback"
+	IfErrors error
+	StrCmp $R0 StopLocate 0 +3
+	StrCpy $R0 'stopped'
+	goto send
+	StrCpy $R0 'done'
+	goto send
+
+	GetSize:
+	${GetSize} "$R2" "$R3" $0 $1 $2
+	IfErrors error
+	StrCpy $R0 "Size=$0$\r$\nFiles=$1$\r$\nFolders=$2"
+	goto send
+
+	DriveSpace:
+	${DriveSpace} "$R1" "$R3" $0
+	IfErrors error
+	StrCpy $R0 "$0"
+	goto send
+
+	GetDrives:
+	${GetDrives} "$R1" "GetDrivesCallback"
+	StrCmp $R0 StopGetDrives 0 +3
+	StrCpy $R0 '$R5stopped'
+	goto send
+	StrCpy $R0 '$R5done'
+	goto send
+
+	GetTime:
+	${GetTime} "$R1" "$R3" $0 $1 $2 $3 $4 $5 $6
+	IfErrors error
+	StrCpy $R0 'Date=$0/$1/$2 ($3)$\r$\nTime=$4:$5:$6'
+	goto send
+
+	GetFileAttributes:
+	${GetFileAttributes} "$R1" "$R3" $0
+	IfErrors error
+	StrCpy $R0 '$0'
+	goto send
+
+	GetFileVersion:
+	${GetFileVersion} "$R1" $0
+	IfErrors error
+	StrCpy $R0  '$0'
+	goto send
+
+	GetExeName:
+	${GetExeName} $0
+	StrCpy $R0 '$0'
+	goto send
+
+	GetExePath:
+	${GetExePath} $0
+	StrCpy $R0 '$0'
+	goto send
+
+	GetParameters:
+	${GetParameters} $0
+	StrCpy $R0 '$0'
+	StrCmp $R0 '' 0 send
+	StrCpy $R0 'no parameters'
+	goto send
+
+	GetOptions:
+	${GetOptions} "$R1" "$R3" $0
+	IfErrors error
+	StrCpy $R0  '$0'
+	goto send
+
+	GetRoot:
+	${GetRoot} "$R1" $0
+	StrCpy $R0  '$0'
+	goto send
+
+	GetParent:
+	${GetParent} "$R1" $0
+	StrCpy $R0  '$0'
+	goto send
+
+	GetFileName:
+	${GetFileName} "$R1" $0
+	StrCpy $R0  '$0'
+	goto send
+
+	GetBaseName:
+	${GetBaseName} "$R1" $0
+	StrCpy $R0  '$0'
+	goto send
+
+	GetFileExt:
+	${GetFileExt} "$R1" $0
+	StrCpy $R0  '$0'
+	goto send
+
+	BannerTrimPath:
+	${BannerTrimPath} "$R1" "$R3" $0
+	StrCpy $R0  '$0'
+	goto send
+
+	DirState:
+	${DirState} "$R2" $0
+	StrCpy $R0  '$0'
+	goto send
+
+	RefreshShellIcons:
+	${RefreshShellIcons}
+	StrCpy $R0 'done'
+	goto send
+
+	error:
+	StrCpy $R0 'error'
+
+	send:
+	GetDlgItem $1 $HWND 1208
+	SendMessage $1 ${WM_SETTEXT} 1 "STR:$R0"
+
+	abort
+FunctionEnd
+
+Function LocateCallback
+	MessageBox MB_OKCANCEL '$$R9    "path\name"=[$R9]$\n$$R8    "path"          =[$R8]$\n$$R7    "name"        =[$R7]$\n$$R6    "size"           =[$R6]' IDOK +2
+	StrCpy $R0 StopLocate
+
+	Push $R0
+FunctionEnd
+
+Function GetDrivesCallback
+	MessageBox MB_OKCANCEL '$$9    "drive letter"=[$9]$\n$$8    "drive type" =[$8]' IDOK +2
+	StrCpy $R0 StopGetDrives
+	StrCpy $R5 '$R5$9  [$8 Drive]$\r$\n'
+
+	Push $R0
+FunctionEnd
+
+Function .onInit
+	InitPluginsDir
+	GetTempFileName $INI $PLUGINSDIR
+	File /oname=$INI "FileFunc.ini"
+FunctionEnd
+
+Page instfiles
+
+Section "Empty"
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/System/System.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/System/System.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/System/System.nsh	(revision 2961)
@@ -0,0 +1,472 @@
+; Some useful functions, structures, constants
+; 
+; (c) brainsucker, 2002
+; (r) BSForce
+
+; Check for double includes
+!ifndef System.NSH.Included
+!define System.NSH.Included
+
+!verbose 3
+
+; ------------- Functions --------------
+
+; LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
+!define sysWNDPROC "(i.s, i.s, i.s, i.s) iss"
+
+; LRESULT DefWindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
+!define sysDefWindowProc "user32::DefWindowProcA(i, i, i, i) i"
+
+!define sysMessageBox "user32::MessageBoxA(i, t, t, i) i"
+
+!define sysMessageBeep "user32::MessageBeep(i) i"
+
+!define sysMessageBoxIndirect 'user32::MessageBoxIndirectA(i) i'
+
+; HMODULE GetModuleHandle(LPCTSTR lpModuleName); 
+!define sysGetModuleHandle "kernel32::GetModuleHandleA(t) i"
+
+; HMODULE LoadLibrary(LPCTSTR lpFileName);
+!define sysLoadLibrary "kernel32::LoadLibraryA(t) i"
+
+; BOOL FreeLibrary(HMODULE hModule);
+!define sysFreeLibrary "kernel32::FreeLibrary(i) i"
+
+; HCURSOR LoadCursor(HINSTANCE hInstance, LPCTSTR lpCursorName);
+!define sysLoadCursor "user32::LoadCursorA(i, t) i"
+
+; ATOM RegisterClass(CONST WNDCLASS *lpWndClass);
+!define sysRegisterClass "user32::RegisterClassA(i) i"
+
+; HANDLE LoadImage(HINSTANCE hinst, LPCTSTR lpszName, UINT uType,
+;       int cxDesired, int cyDesired, UINT fuLoad);
+!define sysLoadImage "user32::LoadImageA(i, t, i, i, i, i) i"
+
+; BOOL PlaySound(LPCSTR pszSound, HMODULE hmod, DWORD fdwSound);
+!define sysPlaySound "winmm.dll::PlaySoundA(t, i, i) i"
+
+; HWND CreateWindowEx(DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName,
+;       DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent,
+;       HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam);
+!define sysCreateWindowEx "user32::CreateWindowExA(i, t, t, i, i, i, i, i, i, i, i, i) i"
+
+; BOOL IsWindow(HWND hWnd);
+!define sysIsWindow "user32::IsWindow(i) i"
+
+; LONG SetWindowLong(HWND hWnd, int nIndex, LONG dwNewLong);
+!define sysSetWindowLong "user32::SetWindowLongA(i, i, i) i"
+
+; BOOL SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags);
+!define sysSetWindowPos "user32::SetWindowPos(i, i, i, i, i, i, i) i"
+
+; BOOL ShowWindow(HWND hWnd, int nCmdShow);
+!define sysShowWindow "user32::ShowWindow(i, i) i"
+
+; BOOL DestroyWindow(HWND hWnd);
+!define sysDestroyWindow "user32::DestroyWindow(i) i"
+
+; BOOL GetClientRect(HWND hWnd, LPRECT lpRect);
+!define sysGetClientRect "user32::GetClientRect(i, i) i"
+
+; BOOL GetMessage(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax);
+!define sysGetMessage "user32::GetMessageA(i, i, i, i) i"
+
+; LRESULT DispatchMessage(CONST MSG *lpmsg);
+!define sysDispatchMessage "user32::DispatchMessageA(i) i"
+
+; BOOL DeleteObject(HGDIOBJ hObject);
+!define sysDeleteObject "gdi32::DeleteObject(i) i"
+
+; int GetObject(HGDIOBJ hgdiobj, int cbBuffer, LPVOID lpvObject);
+!define sysGetObject "gdi32::GetObjectA(i, i, i) i"
+
+; HGDIOBJ SelectObject(HDC hdc, HGDIOBJ hgdiobj);
+!define sysSelectObject "gdi32::SelectObject(i, i) i"
+
+; HDC CreateCompatibleDC(HDC hdc);
+!define sysCreateCompatibleDC "gdi32::CreateCompatibleDC(i) i"
+
+; BOOL DeleteDC(HDC hdc);
+!define sysDeleteDC "gdi32::DeleteDC(i) i"
+
+; BOOL BitBlt(HDC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, 
+;       HDC hdcSrc, int nXSrc, int nYSrc, DWORD dwRop);
+!define sysBitBlt "gdi32::BitBlt(i, i, i, i, i, i, i, i, i) i"
+
+; proposed by abgandar
+; int AddFontResource(LPCTSTR lpszFilename);
+!define sysAddFontResource "gdi32::AddFontResourceA(t) i"
+
+; HDC BeginPaint(HWND hwnd, LPPAINTSTRUCT lpPaint);
+!define sysBeginPaint "user32::BeginPaint(i, i) i"
+
+; BOOL EndPaint(HWND hWnd, CONST PAINTSTRUCT *lpPaint);
+!define sysEndPaint "user32::EndPaint(i, i) i"
+
+; BOOL SystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni);
+!define sysSystemParametersInfo "user32::SystemParametersInfoA(i, i, i, i) i"
+
+; UINT_PTR SetTimer(HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc);
+!define sysSetTimer "user32::SetTimer(i, i, i, k) i"
+
+!define sysGetLogicalDriveStrings 'kernel32::GetLogicalDriveStringsA(i, i) i'
+
+!define sysGetDiskFreeSpaceEx 'kernel32::GetDiskFreeSpaceExA(t, *l, *l, *l) i'
+
+; UINT GetDriveType(LPCTSTR lpRootPathName);
+!define sysGetDriveType 'kernel32::GetDriveTypeA(t) i'
+
+; HANDLE FindFirstFile(LPCTSTR lpFileName,LPWIN32_FIND_DATA lpFindFileData);
+!define sysFindFirstFile 'kernel32::FindFirstFileA(t, i) i'
+
+; BOOL FindClose(HANDLE hFindFile);
+!define sysFindClose 'kernel32::FindClose(i) i'
+
+; BOOL FileTimeToSystemTime(CONST FILETIME *lpFileTime, 
+; LPSYSTEMTIME lpSystemTime);
+!define sysFileTimeToSystemTime 'kernel32::FileTimeToSystemTime(*l, i) i'
+
+; BOOL FileTimeToLocalFileTime(
+;       CONST FILETIME *lpFileTime, 
+;       LPFILETIME lpLocalFileTime);
+!define sysFileTimeToLocalFileTime 'kernel32::FileTimeToLocalFileTime(*l, *l) i'
+
+; BOOL SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION lpTimeZone, 
+; LPSYSTEMTIME lpUniversalTime, LPSYSTEMTIME lpLocalTime);
+!define sysSystemTimeToTzSpecificLocalTime 'kernel32::SystemTimeToTzSpecificLocalTime(i, i, i) i'
+
+!define syslstrlen 'kernel32::lstrlenA(t) i'
+
+; int wsprintf(LPTSTR lpOut, LPCTSTR lpFmt, ...);
+!define syswsprintf "user32::wsprintfA(t, t) i ? c" 
+
+; ------------- Structures --------------
+
+; typedef struct _WNDCLASS { 
+;               UINT       style; 
+;               WNDPROC    lpfnWndProc; 
+;               int        cbClsExtra; 
+;               int        cbWndExtra; 
+;               HINSTANCE  hInstance; 
+;               HICON      hIcon; 
+;               HCURSOR    hCursor; 
+;               HBRUSH     hbrBackground;
+;               LPCTSTR    lpszMenuName; 
+;               LPCTSTR    lpszClassName; 
+; } WNDCLASS, *PWNDCLASS; 
+!define stWNDCLASS "(i, k, i, i, i, i, i, i, t, t) i"
+
+; typedef struct tagMSG {
+;   HWND   hwnd; 
+;   UINT   message; 
+;   WPARAM wParam; 
+;   LPARAM lParam; 
+;   DWORD  time; 
+;   POINT  pt;  -> will be presented as two separate px and py
+; } MSG, *PMSG;
+!define stMSG "(i, i, i, i, i, i, i) i"
+
+; typedef struct tagBITMAP {
+;   LONG   bmType; 
+;   LONG   bmWidth; 
+;   LONG   bmHeight; 
+;   LONG   bmWidthBytes; 
+;   WORD   bmPlanes; 
+;   WORD   bmBitsPixel; 
+;   LPVOID bmBits; 
+; } BITMAP, *PBITMAP; 
+!define stBITMAP "(i, i, i, i, i, i, i) i"
+
+; typedef struct _RECT { 
+;   LONG left; 
+;   LONG top; 
+;   LONG right; 
+;   LONG bottom; 
+; } RECT, *PRECT; 
+!define stRECT "(i, i, i, i) i"
+
+; typedef struct tagPAINTSTRUCT { 
+;   HDC  hdc; 
+;   BOOL fErase; 
+;   RECT rcPaint; (rcl, rct, rcr, rcb)
+;   BOOL fRestore; 
+;   BOOL fIncUpdate; 
+;   BYTE rgbReserved[32]; 
+; } PAINTSTRUCT, *PPAINTSTRUCT; 
+!define stPAINTSTRUCT "(i, i, i, i, i, i, i, i, &v32) i"
+
+; typedef struct { 
+;  UINT      cbSize; 
+;  HWND      hwndOwner; 
+;  HINSTANCE hInstance; 
+;  LPCTSTR   lpszText; 
+;  LPCTSTR   lpszCaption; 
+;  DWORD     dwStyle; 
+;  LPCTSTR   lpszIcon; 
+;  DWORD_PTR dwContextHelpId; 
+;  MSGBOXCALLBACK lpfnMsgBoxCallback; 
+;  DWORD     dwLanguageId; 
+; } MSGBOXPARAMS, *PMSGBOXPARAMS; 
+!define stMSGBOXPARAMS '(&l4, i, i, t, t, i, t, i, k, i) i'
+
+; typedef struct _SYSTEMTIME { 
+;    WORD wYear; 
+;    WORD wMonth; 
+;    WORD wDayOfWeek; 
+;    WORD wDay; 
+;    WORD wHour; 
+;    WORD wMinute; 
+;    WORD wSecond; 
+;    WORD wMilliseconds; 
+; } SYSTEMTIME, *PSYSTEMTIME; 
+!define stSYSTEMTIME '(&i2, &i2, &i2, &i2, &i2, &i2, &i2, &i2) i'
+
+; Maximal windows path
+!define MAX_PATH          260
+
+; typedef struct _WIN32_FIND_DATA {
+;  DWORD    dwFileAttributes; 
+;  FILETIME ftCreationTime; 
+;  FILETIME ftLastAccessTime; 
+;  FILETIME ftLastWriteTime; 
+;  DWORD    nFileSizeHigh; 
+;  DWORD    nFileSizeLow; 
+;  DWORD    dwReserved0; 
+;  DWORD    dwReserved1; 
+;  TCHAR    cFileName[ MAX_PATH ]; 
+;  TCHAR    cAlternateFileName[ 14 ]; 
+; } WIN32_FIND_DATA, *PWIN32_FIND_DATA; 
+!define stWIN32_FIND_DATA '(i, l, l, l, i, i, i, i, &t${MAX_PATH}, &t14) i'
+
+; ------------- Constants --------------
+
+; == Other ==
+!define INVALID_HANDLE_VALUE -1
+
+; == Cursors ==
+
+!define IDC_ARROW           32512
+!define IDC_IBEAM           32513
+!define IDC_WAIT            32514
+!define IDC_CROSS           32515
+!define IDC_UPARROW         32516
+!define IDC_SIZE            32640  
+!define IDC_ICON            32641  
+!define IDC_SIZENWSE        32642
+!define IDC_SIZENESW        32643
+!define IDC_SIZEWE          32644
+!define IDC_SIZENS          32645
+!define IDC_SIZEALL         32646
+!define IDC_NO              32648 
+!define IDC_HAND            32649
+!define IDC_APPSTARTING     32650 
+!define IDC_HELP            32651
+
+; == Images ==
+
+!define IMAGE_BITMAP        0
+!define IMAGE_ICON          1
+!define IMAGE_CURSOR        2
+!define IMAGE_ENHMETAFILE   3
+
+!define LR_DEFAULTCOLOR     0x0000
+!define LR_MONOCHROME       0x0001
+!define LR_COLOR            0x0002
+!define LR_COPYRETURNORG    0x0004
+!define LR_COPYDELETEORG    0x0008
+!define LR_LOADFROMFILE     0x0010
+!define LR_LOADTRANSPARENT  0x0020
+!define LR_DEFAULTSIZE      0x0040
+!define LR_VGACOLOR         0x0080
+!define LR_LOADMAP3DCOLORS  0x1000
+!define LR_CREATEDIBSECTION 0x2000
+!define LR_COPYFROMRESOURCE 0x4000
+!define LR_SHARED           0x8000
+
+; == Sounds ==
+
+!define SND_SYNC            0x0000  
+!define SND_ASYNC           0x0001  
+!define SND_NODEFAULT       0x0002  
+!define SND_MEMORY          0x0004  
+!define SND_LOOP            0x0008  
+!define SND_NOSTOP          0x0010  
+
+!define SND_NOWAIT      0x00002000
+!define SND_ALIAS       0x00010000 
+!define SND_ALIAS_ID    0x00110000 
+!define SND_FILENAME    0x00020000
+!define SND_RESOURCE    0x00040004 
+!define SND_PURGE           0x0040  
+!define SND_APPLICATION     0x0080  
+
+; == Windows ==
+
+!define WS_OVERLAPPED       0x00000000
+!define WS_POPUP            0x80000000
+!define WS_CHILD            0x40000000
+!define WS_MINIMIZE         0x20000000
+!define WS_VISIBLE          0x10000000
+!define WS_DISABLED         0x08000000
+!define WS_CLIPSIBLINGS     0x04000000
+!define WS_CLIPCHILDREN     0x02000000
+!define WS_MAXIMIZE         0x01000000
+!define WS_CAPTION          0x00C00000    
+!define WS_BORDER           0x00800000
+!define WS_DLGFRAME         0x00400000
+!define WS_VSCROLL          0x00200000
+!define WS_HSCROLL          0x00100000
+!define WS_SYSMENU          0x00080000
+!define WS_THICKFRAME       0x00040000
+!define WS_GROUP            0x00020000
+!define WS_TABSTOP          0x00010000
+!define WS_MINIMIZEBOX      0x00020000
+!define WS_MAXIMIZEBOX      0x00010000
+!define WS_TILED            ${WS_OVERLAPPED}
+!define WS_ICONIC           ${WS_MINIMIZE}
+!define WS_SIZEBOX          ${WS_THICKFRAME}
+!define WS_OVERLAPPEDWINDOW 0x00CF0000
+!define WS_TILEDWINDOW      ${WS_OVERLAPPEDWINDOW}
+!define WS_POPUPWINDOW      0x80880000
+!define WS_CHILDWINDOW      ${WS_CHILD}
+!define WS_EX_DLGMODALFRAME     0x00000001
+!define WS_EX_NOPARENTNOTIFY    0x00000004
+!define WS_EX_TOPMOST           0x00000008
+!define WS_EX_ACCEPTFILES       0x00000010
+!define WS_EX_TRANSPARENT       0x00000020
+!define WS_EX_MDICHILD          0x00000040
+!define WS_EX_TOOLWINDOW        0x00000080
+!define WS_EX_WINDOWEDGE        0x00000100
+!define WS_EX_CLIENTEDGE        0x00000200
+!define WS_EX_CONTEXTHELP       0x00000400
+!define WS_EX_RIGHT             0x00001000
+!define WS_EX_LEFT              0x00000000
+!define WS_EX_RTLREADING        0x00002000
+!define WS_EX_LTRREADING        0x00000000
+!define WS_EX_LEFTSCROLLBAR     0x00004000
+!define WS_EX_RIGHTSCROLLBAR    0x00000000
+!define WS_EX_CONTROLPARENT     0x00010000
+!define WS_EX_STATICEDGE        0x00020000
+!define WS_EX_APPWINDOW         0x00040000
+!define WS_EX_OVERLAPPEDWINDOW  0x00000300
+!define WS_EX_PALETTEWINDOW     0x00000188
+!define WS_EX_LAYERED           0x00080000
+!define WS_EX_NOINHERITLAYOUT   0x00100000 
+!define WS_EX_LAYOUTRTL         0x00400000 
+!define WS_EX_COMPOSITED        0x02000000
+!define WS_EX_NOACTIVATE        0x08000000
+
+
+; == System Parameters Info ==
+
+!define SPI_GETWORKAREA             0x0030
+
+; == Window Long Offsets ==
+
+!define GWL_WNDPROC         -4
+!define GWL_HINSTANCE       -6
+!define GWL_HWNDPARENT      -8
+!define GWL_STYLE           -16
+!define GWL_EXSTYLE         -20
+!define GWL_USERDATA        -21
+!define GWL_ID              -12
+
+; == Window swap ==
+
+!define SWP_NOSIZE          0x0001
+!define SWP_NOMOVE          0x0002
+!define SWP_NOZORDER        0x0004
+!define SWP_NOREDRAW        0x0008
+!define SWP_NOACTIVATE      0x0010
+!define SWP_FRAMECHANGED    0x0020  
+!define SWP_SHOWWINDOW      0x0040
+!define SWP_HIDEWINDOW      0x0080
+!define SWP_NOCOPYBITS      0x0100
+!define SWP_NOOWNERZORDER   0x0200  
+!define SWP_NOSENDCHANGING  0x0400  
+
+!define SWP_DRAWFRAME       ${SWP_FRAMECHANGED}
+!define SWP_NOREPOSITION    ${SWP_NOOWNERZORDER}
+!define SWP_DEFERERASE      0x2000
+!define SWP_ASYNCWINDOWPOS  0x4000
+
+; == Bit Copy ==
+
+!define SRCCOPY             0x00CC0020 
+!define SRCPAINT            0x00EE0086 
+!define SRCAND              0x008800C6 
+!define SRCINVERT           0x00660046 
+!define SRCERASE            0x00440328 
+!define NOTSRCCOPY          0x00330008 
+!define NOTSRCERASE         0x001100A6 
+!define MERGECOPY           0x00C000CA 
+!define MERGEPAINT          0x00BB0226 
+!define PATCOPY             0x00F00021 
+!define PATPAINT            0x00FB0A09 
+!define PATINVERT           0x005A0049 
+!define DSTINVERT           0x00550009 
+!define BLACKNESS           0x00000042 
+!define WHITENESS           0x00FF0062 
+
+; == Message Box ==
+
+!define MB_OK                       0x00000000
+!define MB_OKCANCEL                 0x00000001
+!define MB_ABORTRETRYIGNORE         0x00000002
+!define MB_YESNOCANCEL              0x00000003
+!define MB_YESNO                    0x00000004
+!define MB_RETRYCANCEL              0x00000005
+!define MB_CANCELTRYCONTINUE        0x00000006
+!define MB_ICONHAND                 0x00000010
+!define MB_ICONQUESTION             0x00000020
+!define MB_ICONEXCLAMATION          0x00000030
+!define MB_ICONASTERISK             0x00000040
+!define MB_USERICON                 0x00000080
+!define MB_ICONWARNING              ${MB_ICONEXCLAMATION}
+!define MB_ICONERROR                ${MB_ICONHAND}
+
+!define MB_ICONINFORMATION          ${MB_ICONASTERISK}
+!define MB_ICONSTOP                 ${MB_ICONHAND}
+
+!define MB_DEFBUTTON1               0x00000000
+!define MB_DEFBUTTON2               0x00000100
+!define MB_DEFBUTTON3               0x00000200
+!define MB_DEFBUTTON4               0x00000300
+
+!define MB_APPLMODAL                0x00000000
+!define MB_SYSTEMMODAL              0x00001000
+!define MB_TASKMODAL                0x00002000
+!define MB_HELP                     0x00004000
+
+!define MB_NOFOCUS                  0x00008000
+!define MB_SETFOREGROUND            0x00010000
+!define MB_DEFAULT_DESKTOP_ONLY     0x00020000
+
+!define MB_TOPMOST                  0x00040000
+!define MB_RIGHT                    0x00080000
+!define MB_RTLREADING               0x00100000
+
+; == Drive type constants ==
+
+!define DRIVE_UNKNOWN     0
+!define DRIVE_NO_ROOT_DIR 1
+!define DRIVE_REMOVABLE   2
+!define DRIVE_FIXED       3
+!define DRIVE_REMOTE      4
+!define DRIVE_CDROM       5
+!define DRIVE_RAMDISK     6
+
+; == Callbacks ==
+
+!macro SINGLE_CALLBACK CHKN RES INDEX FUNC
+CheckCB_${CHKN}:
+        Pop ${RES}
+        StrCmp ${RES} "callback${INDEX}" 0 ExitCB_${CHKN}
+        Call ${FUNC}
+        Goto CheckCB_${CHKN}
+ExitCB_${CHKN}:
+!macroend
+
+!verbose 4
+
+!endif
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/System/System.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/System/System.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/System/System.nsi	(revision 2961)
@@ -0,0 +1,136 @@
+; This is just an example of System Plugin
+; 
+; (c) brainsucker, 2002
+; (r) BSForce
+
+Name "System Plugin Example"
+OutFile "System.exe"
+
+!include "SysFunc.nsh"
+
+Section "ThisNameIsIgnoredSoWhyBother?"
+     SetOutPath $TEMP
+
+     ; ----- Sample 1 ----- Message box with custom icon -----
+
+     ; there are no default beeps for custom message boxes, use sysMessageBeep
+     ; in case you need it (see next message box example)
+     !insertmacro smMessageBox "i 0" "Message box with custom icon!" "System Example 1a" ${MB_OK} "i 103"
+     ; i 0 - installer exe as module
+     ; i 103 - icon ID
+
+     ; The same example but using icon from resource.dll.
+     ; You could use this dll for storing your resources, just replace FAR icon
+     ; with something you really need.   
+     File "Resource.dll"
+     System::Call '${sysMessageBeep} (${MB_ICONHAND})'  ; custom beep
+     !insertmacro smMessageBox "`$TEMP\resource.dll`" "Message box with custom icon from resource.dll!" "System Example 1b" ${MB_OKCANCEL} "i 103"
+     Delete $TEMP\resource.dll
+
+     ; ----- Sample 2 ----- Fixed disks size/space -----
+
+     StrCpy $7 '               Disk,                Size,                Free,                Free for user:$\n$\n'
+
+     ; Memory for paths   
+     System::Alloc 1024
+     Pop $1
+     ; Get drives   
+     System::Call '${sysGetLogicalDriveStrings}(1024, r1)'
+enumok:
+     ; One more drive?   
+     System::Call '${syslstrlen}(i r1) .r2'
+     IntCmp $2 0 enumex
+
+     ; Is it DRIVE_FIXED?
+     System::Call '${sysGetDriveType} (i r1) .r3'
+     StrCmp $3 ${DRIVE_FIXED} 0 enumnext
+
+     ; Drive space   
+     System::Call '${sysGetDiskFreeSpaceEx}(i r1, .r3, .r4, .r5)'
+
+     ; Pretty KBs will be saved on stack
+     System::Int64Op $3 / 1048576
+     System::Int64Op $5 / 1048576
+     System::Int64Op $4 / 1048576
+
+     ; Get pretty drive path string   
+     System::Call '*$1(&t1024 .r6)'
+     System::Call '${syswsprintf} (.r7, "%s%20s    %20s mb    %20s mb    %20s mb$\n", tr7, tr6, ts, ts, ts)'
+
+enumnext:
+     ; Next drive path       
+     IntOp $1 $1 + $2
+     IntOp $1 $1 + 1
+     goto enumok   
+enumex: ; End of drives or user cancel
+     ; Free memory for paths   
+     System::Free $1   
+
+     ; Message box      
+     System::Call '${sysMessageBox}($HWNDPARENT, s, "System Example 2", ${MB_OKCANCEL})' "$7"
+
+     ; ----- Sample 3 ----- Direct proc defenition -----
+
+     ; Direct specification demo
+     System::Call 'user32::MessageBoxA(i $HWNDPARENT, t "Just direct MessageBoxA specification demo ;)", t "System Example 3", i ${MB_OK}) i.s'
+     Pop $0
+
+     ; ----- Sample 4 ----- Int64, mixed definition demo -----
+
+     ; Long int demo
+     StrCpy $2 "12312312"
+     StrCpy $3 "12345678903"
+     System::Int64Op $2 "*" $3
+     Pop $4
+
+     ; Cdecl demo (uses 3 defenitions (simple example))
+     System::Call "${syswsprintf}(.R1, s,,, t, ir0) .R0 (,,tr2,tr3,$4_)" "Int64 ops and strange defenition demo, %s x %s == %s, and previous msgbox result = %d"
+     MessageBox MB_OKCANCEL "Cool: '$R1'"
+
+     ; ----- Sample 5 ----- Small structure example -----
+
+     ; Create & Fill structure
+     System::Call "*(i 123123123, &t10 'Hello', &i1 0x123dd, &i2 0xffeeddccaa) i.s"
+     Pop $1
+     ; Read data from structure   
+     System::Call "*$1(i .r2, &t10 .r3, &i1 .r4, &i2 .r5, &l0 .r6)"
+     ; Show data and delete structure
+     MessageBox MB_OK "Structure example: $\nint == $2 $\nstring == $3 $\nbyte == $4 $\nshort == $5 $\nsize == $6"
+     System::Free $1
+
+     ; ----- Sample 6 ----- systemGetFileSysTime demo -----
+     Call       GetInstallerExeName
+     pop        $0
+
+     !insertmacro smGetFileSysTime $0
+     System::Call '*$R0${stSYSTEMTIME}(.r1, .r2, .r3, .r4, .r5, .r6, .r7, .r8)'
+ 
+     MessageBox MB_OK "GetFileSysTime example: file '$0', year $1, month $2, dow $3, day $4, hour $5, min $6, sec $7, ms $8"     
+
+     ; free memory from SYSTEMTIME
+     System::Free $R0   
+
+     ; ----- Sample 7 ----- systemSplash -> Callbacks demonstration -----
+
+     ; Logo
+     File /oname=spltmp.bmp "${NSISDIR}\Contrib\Graphics\Header\orange-nsis.bmp"
+;     File /oname=spltmp.wav "d:\Windows\Media\tada.wav"
+
+     ; I. systemSplash variant
+     !insertmacro smSystemSplash 2000 "$TEMP\spltmp"
+
+     ; II. Splash Plugin variant
+;    splash::show 2000 $TEMP\spltmp
+;    Pop $R0 ; $R0 has '1' if the user closed the splash screen early,
+
+     ; remove logo
+     Delete $TEMP\spltmp.bmp
+;     Delete $TEMP\spltmp.wav
+
+     ; Display splash result
+     pop $0
+     MessageBox MB_OK "Splash (callbacks) demo result $R0"
+
+SectionEnd 
+
+; eof
Index: tmp/org.txm.setups/nsis-2.5/Examples/System/Resource.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Examples/System/Resource.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Examples/System/SysFunc.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/System/SysFunc.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/System/SysFunc.nsh	(revision 2961)
@@ -0,0 +1,398 @@
+; Some useful functions based on System plugin
+; 
+; (c) brainsucker, 2002
+; (r) BSForce
+
+; Check for double includes
+!ifndef SysFunc.NSH.Included
+!define SysFunc.NSH.Included
+
+!include "${NSISDIR}\Examples\System\System.nsh"
+
+!verbose 3      ; For WinMessages especially
+  !include "WinMessages.nsh"
+!verbose 4
+
+; ================= GetInstallerExeName implementation =================
+
+; Adopted Get Parameter function -> now it gets full installer.exe path
+; input - nothing, output -> full path at the top of the stack
+Function GetInstallerExeName
+   Push $R0
+   Push $R1
+   Push $R2
+   StrCpy $R0 $CMDLINE 1
+   StrCpy $R1 '"'
+   StrCpy $R2 1
+   StrCmp $R0 '"' loop
+     StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
+   loop:
+     StrCpy $R0 $CMDLINE 1 $R2
+     StrCmp $R0 $R1 loop2
+     StrCmp $R0 "" loop2
+     IntOp $R2 $R2 + 1
+     Goto loop
+   loop2:
+
+   ; Ok, have we found last exename character or string end?
+   StrCmp $R0 "" "" +2
+        IntOp $R2 $R2 - 1       ; last exename char
+   StrCmp $R1 ' ' +3    ; was first character the '"', or something other?
+        StrCpy $R1 1    ; it was quote
+        Goto +2
+        StrCpy $R1 0    
+   IntOp $R2 $R2 - $R1
+   StrCpy $R0 $CMDLINE $R2 $R1  
+
+   SearchPath $R0 $R0      ; expand file name to full path
+
+   Pop $R2
+   Pop $R1
+   Exch $R0
+FunctionEnd
+
+; ================= systemGetFileSysTime implementation =================
+
+!macro smGetFileSysTime FILENAME
+        Push ${FILENAME}
+        Call systemGetFileSysTime
+        Pop  $R0
+!macroend
+
+; -----------------------------------------------------------------
+; systemGetFileSysTime (params on stack):
+;       FILENAME        -       name of file to get file time
+; returns to stack (SYSTEMTIME struct addr)
+; -----------------------------------------------------------------
+
+; uses original method from NSIS
+Function systemGetFileSysTime
+    System::Store "s r1"
+
+    StrCpy $R0 0     
+
+    ; create WIN32_FIND_DATA struct
+    System::Call '*${stWIN32_FIND_DATA} .r2'
+
+    ; Find file info
+    System::Call '${sysFindFirstFile}(r1, r2) .r3'
+
+    ; ok?
+    IntCmp $3 ${INVALID_HANDLE_VALUE} sgfst_exit
+
+    ; close file search
+    System::Call '${sysFindClose}(r3)'
+
+    ; Create systemtime struct for local time
+    System::Call '*${stSYSTEMTIME} .R0'
+
+    ; Get File time
+    System::Call '*$2${stWIN32_FIND_DATA} (,,, .r3)'
+
+    ; Convert file time (UTC) to local file time
+    System::Call '${sysFileTimeToLocalFileTime}(r3, .r1)'
+
+    ; Convert file time to system time
+    System::Call '${sysFileTimeToSystemTime}(r1, R0)'
+
+sgfst_exit:
+    ; free used memory for WIN32_FIND_DATA struct
+    System::Free $2    
+
+    System::Store "P0 l"
+FunctionEnd
+
+; ================= systemMessageBox implementation =================
+
+; return to $R0
+!macro smMessageBox MODULE MSG CAPTION STYLE ICON
+     Push "${ICON}"
+     Push "${STYLE}"
+     Push "${CAPTION}"
+     Push "${MSG}"
+     Push "${MODULE}"
+     Call systemMessageBox
+     Pop $R0
+!macroend
+
+; -----------------------------------------------------------------
+; systemMessageBox (params on stack):
+;       Module: either handle ("i HANDLE", HANDLE could be 0) or "modulename" 
+;       Msg: text of message
+;       Caption: caption of message box window
+;       Style: style, buttons etc
+;       Icon: either icon handle ("i HANDLE") or resource name 
+; returns to stack
+; -----------------------------------------------------------------
+Function systemMessageBox
+     System::Store "s r2r3r4r5r6"
+
+     ; may be Module is module handle?
+     StrCpy $1 $2
+     IntCmp $1 0 0 smbnext smbnext
+
+	 ; Get module handle
+	 System::Call '${sysGetModuleHandle}($2) .r1'
+	 IntCmp $1 0 loadlib libnotloaded libnotloaded
+
+loadlib:
+     ; Load module and get handle
+     System::Call '${sysLoadLibrary}($2) .r1'
+     IntCmp $1 0 0 smbnext smbnext
+
+libnotloaded:
+	 ; Indicate that LoadLibrary wasn't used
+	 StrCpy $2 1
+
+smbnext:
+     ; Create MSGBOXPARAMS structure
+     System::Call '*${stMSGBOXPARAMS}(, $HWNDPARENT, r1, r3, r4, "$5|${MB_USERICON}", $6, _) .r0'
+     ; call MessageBoxIndirect
+     System::Call '${sysMessageBoxIndirect}(r0) .R0'
+     ; free MSGBOXPARAMS structure
+
+     System::Free $0
+
+     ; have we used load library at start?
+     IntCmp $2 0 0 smbskipfree smbskipfree
+     ; No, then free the module
+     System::Call '${sysFreeLibrary}(r1)'
+
+smbskipfree:
+     System::Store "P0 l"   
+FunctionEnd
+
+; ================= systemSplash implementation =================
+
+; returns to $R0
+!macro smSystemSplash DELAY FILE
+    Push ${FILE}
+    Push ${DELAY}
+    call systemSplash
+    Pop $R0    
+!macroend
+
+; -----------------------------------------------------------------
+; systemSplash (params on stack):
+;       Delay - time in ms to show the splash
+;       File - bitmap (& audio) file name (without extension)
+; returns to stack
+; -----------------------------------------------------------------
+
+Function _systemSplashWndCB
+   ; Callback receives 4 values
+   System::Store "s r2r5r7r9"
+
+   ; Message branching
+   IntCmp $5 ${WM_CLOSE} m_Close
+   IntCmp $5 ${WM_TIMER} m_Timer
+   IntCmp $5 ${WM_LBUTTONDOWN} m_Lbtn
+   IntCmp $5 ${WM_CREATE} m_Create
+   IntCmp $5 ${WM_PAINT} m_Paint
+   goto default
+
+m_Create:
+   ; Create structures
+   System::Call "*${stRECT} (_) .R8"
+   System::Call "*${stBITMAP} (_, &l0 .R7) .R9"
+
+   ; Get bitmap info
+   System::Call "${sysGetObject} (r6, R7, R9)" 
+   
+   ; Get desktop info
+   System::Call "${sysSystemParametersInfo} (${SPI_GETWORKAREA}, 0, R8, 0)" 
+
+   ; Style (callbacked)
+   System::Call "${sysSetWindowLong} (r2, ${GWL_STYLE}, 0) .s" 
+   !insertmacro SINGLE_CALLBACK 5 $R7 1 _systemSplashWndCB
+
+   ; Calculate and set window pos
+
+   ; Get bmWidth(R2) and bmHeight(R3)
+   System::Call "*$R9${stBITMAP} (,.R2,.R3)"
+   ; Get left(R4), top(R5), right(R6), bottom(R7)
+   System::Call "*$R8${stRECT} (.R4,.R5,.R6,.R7)"
+
+   ; Left pos
+   IntOp $R0 $R6 - $R4
+   IntOp $R0 $R0 - $R2
+   IntOp $R0 $R0 / 2
+   IntOp $R0 $R0 + $R4
+
+   ; Top pos
+   IntOp $R1 $R7 - $R5
+   IntOp $R1 $R1 - $R3
+   IntOp $R1 $R1 / 2
+   IntOp $R1 $R1 + $R5
+
+   System::Call "${sysSetWindowPos} (r2, 0, R0, R1, R2, R3, ${SWP_NOZORDER}) .s" 
+   !insertmacro SINGLE_CALLBACK 6 $R7 1 _systemSplashWndCB
+
+   ; Show window
+   System::Call "${sysShowWindow} (r2, ${SW_SHOW}) .s" 
+   !insertmacro SINGLE_CALLBACK 7 $R7 1 _systemSplashWndCB
+
+   ; Set Timer
+   System::Call "${sysSetTimer} (r2, 1, r8,)"
+
+   ; Free used memory
+   System::Free $R8
+   System::Free $R9
+
+   StrCpy $R0 0
+   goto exit
+
+m_Paint:
+   ; Create structures
+   System::Call "*${stRECT} (_) .R8"
+   System::Call "*${stPAINTSTRUCT} (_) .R9"
+
+   ; Begin Paint
+   System::Call "${sysBeginPaint} (r2, R9) .R7"
+
+   ; CreateCompatibleDC
+   System::Call "${sysCreateCompatibleDC} (R7) .R6"
+
+   ; GetClientRect
+   System::Call "${sysGetClientRect} (r2, R8)"
+  
+   ; Select new bitmap
+   System::Call "${sysSelectObject} (R6, r6) .R5"
+
+   ; Get left(R0), top(R1), right(R2), bottom(R3)
+   System::Call "*$R8${stRECT} (.R0,.R1,.R2,.R3)"
+     
+   ; width=right-left  
+   IntOp $R2 $R2 - $R0
+   ; height=bottom-top
+   IntOp $R3 $R3 - $R1
+
+   System::Call "${sysBitBlt} (R7, R0, R1, R2, R3, R6, 0, 0, ${SRCCOPY})" 
+
+   ; Select old bitmap
+   System::Call "${sysSelectObject} (R6, R5)"
+   
+   ; Delete compatible DC
+   System::Call "${sysDeleteDC} (R6)"
+
+   ; End Paint
+   System::Call "${sysEndPaint} (r2, R9)"
+
+   ; Free used memory
+   System::Free $R8
+   System::Free $R9
+
+   StrCpy $R0 0
+   goto exit
+
+m_Timer:
+m_Lbtn:
+   StrCpy $4 0
+   IntCmp $5 ${WM_TIMER} destroy
+        StrCpy $4 1
+
+destroy:
+   System::Call "${sysDestroyWindow} (r2) .s"
+   !insertmacro SINGLE_CALLBACK 12 $R4 1 _systemSplashWndCB
+
+default:
+   ; Default
+   System::Call "${sysDefWindowProc} (r2, r5, r7, r9) .s"
+   !insertmacro SINGLE_CALLBACK 14 $R0 1 _systemSplashWndCB
+   goto exit
+
+m_Close:
+   StrCpy $R0 0
+   goto exit
+
+exit:
+   ; Restore
+   System::Store "p4P0 l R0r4"
+
+   ; Return from callback
+   System::Call "$3" $R0
+FunctionEnd
+
+Function systemSplash
+
+   ; Save registers and get input 
+   System::Store "s r8r9"
+
+   ; Get module instance
+   System::Call "${sysGetModuleHandle} (i) .r7"
+
+   ; Get arrow cursor
+   System::Call "${sysLoadCursor} (0, i ${IDC_ARROW}) .R9" 
+
+   ; Get callback
+   System::Get "${sysWNDPROC}"
+   Pop $3
+
+   ; Create window class
+   System::Call "*${stWNDCLASS} (0,r3,0,0,r7,0,R9,0,i 0,'_sp') .R9"
+
+   ; Register window class
+   System::Call "${sysRegisterClass} (R9) .R9"
+   IntCmp $R9 0 errorexit ; Class registered ok?
+
+   ; Load Image (LR_CREATEDIBSECTION|LR_LOADFROMFILE = 0x2010)
+   System::Call '${sysLoadImage} (, s, ${IMAGE_BITMAP}, 0, 0, ${LR_CREATEDIBSECTION}|${LR_LOADFROMFILE}) .r6' "$9.bmp"
+   IntCmp $6 0 errorexit        ; Image loaded ok?
+
+   ; Start the sound (SND_ASYNC|SND_FILENAME|SND_NODEFAULT = 0x20003)
+   System::Call "${sysPlaySound} (s,,${SND_ASYNC}|${SND_FILENAME}|${SND_NODEFAULT})" "$9.wav" 
+
+   ; Create window
+   System::Call "${sysCreateWindowEx} (${WS_EX_TOOLWINDOW}, s, s,,,,,, $HWNDPARENT,,r7,) .s" "_sp" "_sp" 
+   !insertmacro SINGLE_CALLBACK 1 $5 1 _systemSplashWndCB
+
+   ; Create MSG struct
+   System::Call "*${stMSG} (_) i.R9"
+
+   ; -------------------------
+repeat:
+        ; Check for window
+        System::Call "${sysIsWindow} (r5) .s"
+        !insertmacro SINGLE_CALLBACK 2 $R8 1 _systemSplashWndCB
+        IntCmp $R8 0 finish
+
+        ; Get message
+        System::Call "${sysGetMessage} (R9, r5,_) .s"
+        !insertmacro SINGLE_CALLBACK 3 $R8 1 _systemSplashWndCB
+        IntCmp $R8 0 finish
+
+        ; Dispatch message
+        System::Call "${sysDispatchMessage} (R9) .s"
+        !insertmacro SINGLE_CALLBACK 4 $R8 1 _systemSplashWndCB
+
+        ; Repeat dispatch cycle
+        goto repeat
+   ; -------------------------
+
+finish:
+   ; Stop the sound
+   System::Call "${sysPlaySound} (i 0, i 0, i 0)"
+
+   ; Delete bitmap object
+   System::Call "${sysDeleteObject} (r6)"
+
+   ; Delete the callback queue
+   System::Free $3
+
+   ; Dialog return
+   StrCpy $R0 $4
+   goto exit
+
+; Exit in case of error
+errorexit:
+   StrCpy $R0 -1
+   goto exit
+
+exit:
+   ; Restore register and put output
+   System::Store "P0 l"
+FunctionEnd
+
+!verbose 4
+
+!endif
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/AdvSplash/Example.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/AdvSplash/Example.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/AdvSplash/Example.nsi	(revision 2961)
@@ -0,0 +1,35 @@
+Name "AdvSplash.dll test"
+
+OutFile "AdvSplash Test.exe"
+
+XPStyle on
+
+Function .onInit
+        # the plugins dir is automatically deleted when the installer exits
+        InitPluginsDir
+        File /oname=$PLUGINSDIR\splash.bmp "${NSISDIR}\Contrib\Graphics\Header\nsis.bmp"
+        #optional
+        #File /oname=$PLUGINSDIR\splash.wav "C:\myprog\sound.wav"
+
+        MessageBox MB_OK "Fading"
+
+        advsplash::show 1000 600 400 -1 $PLUGINSDIR\splash
+
+        Pop $0          ; $0 has '1' if the user closed the splash screen early,
+                        ; '0' if everything closed normally, and '-1' if some error occurred.
+
+        MessageBox MB_OK "Transparency"
+        File /oname=$PLUGINSDIR\splash.bmp "${NSISDIR}\Contrib\Graphics\Wizard\orange-uninstall.bmp"
+        advsplash::show 2000 0 0 0x1856B1 $PLUGINSDIR\splash
+        Pop $0 
+
+        MessageBox MB_OK "Transparency/Fading"
+        File /oname=$PLUGINSDIR\splash.bmp "${NSISDIR}\Contrib\Graphics\Wizard\llama.bmp"
+        advsplash::show 1000 600 400 0x04025C $PLUGINSDIR\splash
+        Pop $0 
+
+        Delete $PLUGINSDIR\splash.bmp
+FunctionEnd
+
+Section
+SectionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/nsExec/test.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/nsExec/test.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/nsExec/test.nsi	(revision 2961)
@@ -0,0 +1,31 @@
+Name "nsExec Test"
+
+OutFile "nsExec Test.exe"
+
+ShowInstDetails show
+
+Section "Silent MakeNSIS"
+	nsExec::Exec '"${NSISDIR}\makensis.exe"'
+	Pop $0 # return value/error/timeout
+	DetailPrint ""
+	DetailPrint "       Return value: $0"
+	DetailPrint ""
+SectionEnd
+
+Section "MakeNSIS commands help"
+	nsExec::ExecToLog '"${NSISDIR}\makensis.exe" /CMDHELP'
+	Pop $0 # return value/error/timeout
+	DetailPrint ""
+	DetailPrint "       Return value: $0"
+	DetailPrint ""
+SectionEnd
+
+Section "Output to variable"
+	nsExec::ExecToStack '"${NSISDIR}\makensis.exe" /VERSION'
+	Pop $0 # return value/error/timeout
+	Pop $1 # printed text, up to ${NSIS_MAX_STRLEN}
+	DetailPrint '"${NSISDIR}\makensis.exe" /VERSION printed: $1'
+	DetailPrint ""
+	DetailPrint "       Return value: $0"
+	DetailPrint ""
+SectionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/primes.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/primes.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/primes.nsi	(revision 2961)
@@ -0,0 +1,70 @@
+; primes.nsi
+;
+; This is an example of the possibities of the NSIS Script language.
+; It calculates prime numbers.
+
+;--------------------------------
+
+Name "primes"
+AllowRootDirInstall true
+OutFile "primes.exe"
+Caption "Prime number generator"
+ShowInstDetails show
+AllowRootDirInstall true
+InstallDir "$EXEDIR"
+RequestExecutionLevel user
+
+DirText "Select a directory to write primes.txt. $_CLICK"
+
+;--------------------------------
+
+;Pages
+
+Page directory
+Page instfiles
+
+;--------------------------------
+
+Section ""
+  SetOutPath $INSTDIR
+  Call DoPrimes 
+SectionEnd
+
+;--------------------------------
+
+Function DoPrimes
+
+; we put this in here so it doesn't update the progress bar (faster)
+
+!define PPOS $0 ; position in prime searching
+!define PDIV $1 ; divisor
+!define PMOD $2 ; the result of the modulus
+!define PCNT $3 ; count of how many we've printed
+  FileOpen $9 $INSTDIR\primes.txt w
+
+  DetailPrint "2 is prime!"
+  FileWrite $9 "2 is prime!$\r$\n"
+  DetailPrint "3 is prime!"
+  FileWrite $9 "3 is prime!$\r$\n"
+  Strcpy ${PPOS} 3
+  Strcpy ${PCNT} 2
+outerloop:
+   StrCpy ${PDIV} 3
+   innerloop:
+     IntOp ${PMOD} ${PPOS} % ${PDIV}
+     IntCmp ${PMOD} 0 notprime
+     IntOp ${PDIV} ${PDIV} + 2
+     IntCmp ${PDIV} ${PPOS} 0 innerloop 0
+       DetailPrint "${PPOS} is prime!"
+       FileWrite $9 "${PPOS} is prime!$\r$\n"
+       IntOp ${PCNT} ${PCNT} + 1
+       IntCmp ${PCNT} 100 0 innerloop
+       StrCpy ${PCNT} 0
+       MessageBox MB_YESNO "Process more?" IDNO stop
+     notprime:
+       IntOp ${PPOS} ${PPOS} + 2
+     Goto outerloop
+   stop:
+  FileClose $9
+  
+FunctionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/bigtest.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/bigtest.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/bigtest.nsi	(revision 2961)
@@ -0,0 +1,308 @@
+; bigtest.nsi
+;
+; This script attempts to test most of the functionality of the NSIS exehead.
+
+;--------------------------------
+
+!ifdef HAVE_UPX
+!packhdr tmp.dat "upx\upx -9 tmp.dat"
+!endif
+
+!ifdef NOCOMPRESS
+SetCompress off
+!endif
+
+;--------------------------------
+
+Name "BigNSISTest"
+Caption "NSIS Big Test"
+Icon "${NSISDIR}\Contrib\Graphics\Icons\nsis1-install.ico"
+OutFile "bigtest.exe"
+
+SetDateSave on
+SetDatablockOptimize on
+CRCCheck on
+SilentInstall normal
+BGGradient 000000 800000 FFFFFF
+InstallColors FF8080 000030
+XPStyle on
+
+InstallDir "$PROGRAMFILES\NSISTest\BigNSISTest"
+InstallDirRegKey HKLM "Software\NSISTest\BigNSISTest" "Install_Dir"
+
+CheckBitmap "${NSISDIR}\Contrib\Graphics\Checks\classic-cross.bmp"
+
+LicenseText "A test text, make sure it's all there"
+LicenseData "bigtest.nsi"
+
+RequestExecutionLevel admin
+
+;--------------------------------
+
+Page license
+Page components
+Page directory
+Page instfiles
+
+UninstPage uninstConfirm
+UninstPage instfiles
+
+;--------------------------------
+
+!ifndef NOINSTTYPES ; only if not defined
+  InstType "Most"
+  InstType "Full"
+  InstType "More"
+  InstType "Base"
+  ;InstType /NOCUSTOM
+  ;InstType /COMPONENTSONLYONCUSTOM
+!endif
+
+AutoCloseWindow false
+ShowInstDetails show
+
+;--------------------------------
+
+Section "" ; empty string makes it hidden, so would starting with -
+
+  ; write reg info
+  StrCpy $1 "POOOOOOOOOOOP"
+  DetailPrint "I like to be able to see what is going on (debug) $1"
+  WriteRegStr HKLM SOFTWARE\NSISTest\BigNSISTest "Install_Dir" "$INSTDIR"
+
+  ; write uninstall strings
+  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\BigNSISTest" "DisplayName" "BigNSISTest (remove only)"
+  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\BigNSISTest" "UninstallString" '"$INSTDIR\bt-uninst.exe"'
+
+  SetOutPath $INSTDIR
+  File /a "silent.nsi"
+  CreateDirectory "$INSTDIR\MyProjectFamily\MyProject" ; 2 recursively create a directory for fun.
+  WriteUninstaller "bt-uninst.exe"
+  
+  Nop ; for fun
+
+SectionEnd
+
+Section "TempTest"
+
+SectionIn 1 2 3
+  Start: MessageBox MB_OK "Start:"
+
+  MessageBox MB_YESNO "Goto MyLabel" IDYES MyLabel
+
+  MessageBox MB_OK "Right before MyLabel:"
+
+  MyLabel: MessageBox MB_OK "MyLabel:"
+  
+  MessageBox MB_OK "Right after MyLabel:"
+
+  MessageBox MB_YESNO "Goto Start:?" IDYES Start
+
+SectionEnd
+
+SectionGroup /e SectionGroup1
+
+Section "Test Registry/INI functions"
+
+SectionIn 1 4 3
+
+  WriteRegStr HKLM SOFTWARE\NSISTest\BigNSISTest "StrTest_INSTDIR" "$INSTDIR"
+  WriteRegDword HKLM SOFTWARE\NSISTest\BigNSISTest "DwordTest_0xDEADBEEF" 0xdeadbeef
+  WriteRegDword HKLM SOFTWARE\NSISTest\BigNSISTest "DwordTest_123456" 123456
+  WriteRegDword HKLM SOFTWARE\NSISTest\BigNSISTest "DwordTest_0123" 0123
+  WriteRegBin HKLM SOFTWARE\NSISTest\BigNSISTest "BinTest_deadbeef01f00dbeef" "DEADBEEF01F00DBEEF"
+  StrCpy $8 "$SYSDIR\IniTest"
+  WriteINIStr "$INSTDIR\test.ini"  "MySection" "Value1" $8
+  WriteINIStr "$INSTDIR\test.ini"  "MySectionIni" "Value1" $8
+  WriteINIStr "$INSTDIR\test.ini"  "MySectionIni" "Value2" $8
+  WriteINIStr "$INSTDIR\test.ini"  "IniOn" "Value1" $8
+
+  Call MyFunctionTest
+
+  DeleteINIStr "$INSTDIR\test.ini" "IniOn" "Value1"
+  DeleteINISec "$INSTDIR\test.ini" "MySectionIni"
+
+  ReadINIStr $1 "$INSTDIR\test.ini" "MySectionIni" "Value1"
+  StrCmp $1 "" INIDelSuccess
+    MessageBox MB_OK "DeleteINISec failed"
+  INIDelSuccess:
+
+  ClearErrors
+  ReadRegStr $1 HKCR "software\microsoft" xyz_cc_does_not_exist
+  IfErrors 0 NoError
+    MessageBox MB_OK "could not read from HKCR\software\microsoft\xyz_cc_does_not_exist"
+    Goto ErrorYay
+  NoError:
+    MessageBox MB_OK "read '$1' from HKCR\software\microsoft\xyz_cc_does_not_exist"
+  ErrorYay:
+  
+SectionEnd
+
+Section "Test CreateShortCut"
+
+  SectionIn 1 2 3
+
+  Call CSCTest
+
+SectionEnd
+
+SectionGroup Group2
+
+Section "Test Branching" 
+  
+  BeginTestSection:
+  SectionIn 1 2 3
+ 
+  SetOutPath $INSTDIR
+
+  IfFileExists "$INSTDIR\LogicLib.nsi" 0 BranchTest69
+    
+    MessageBox MB_YESNO|MB_ICONQUESTION "Would you like to overwrite $INSTDIR\LogicLib.nsi?" IDNO NoOverwrite ; skipped if file doesn't exist
+
+    BranchTest69:
+  
+    SetOverwrite ifnewer ; NOT AN INSTRUCTION, NOT COUNTED IN SKIPPINGS
+
+  NoOverwrite:
+
+  File "LogicLib.nsi" ; skipped if answered no
+  SetOverwrite try ; NOT AN INSTRUCTION, NOT COUNTED IN SKIPPINGS
+
+  MessageBox MB_YESNO|MB_ICONQUESTION "Would you like to skip the rest of this section?" IDYES EndTestBranch
+  MessageBox MB_YESNO|MB_ICONQUESTION "Would you like to go back to the beginning of this section?" IDYES BeginTestSection
+  MessageBox MB_YESNO|MB_ICONQUESTION "Would you like to hide the installer and wait five seconds?" IDNO NoHide
+
+    HideWindow
+    Sleep 5000
+    BringToFront
+
+  NoHide:
+
+  MessageBox MB_YESNO|MB_ICONQUESTION "Would you like to call the function 5 times?" IDNO NoRecurse
+
+    StrCpy $1 "x"
+
+  LoopTest: 
+      
+    Call myfunc
+    StrCpy $1 "x$1"
+    StrCmp $1 "xxxxxx" 0 LoopTest
+      
+  NoRecurse:
+
+  EndTestBranch:
+
+SectionEnd
+
+SectionGroupEnd
+
+Section "Test CopyFiles"
+
+  SectionIn 1 2 3
+
+  SetOutPath $INSTDIR\cpdest
+  CopyFiles "$WINDIR\*.ini" "$INSTDIR\cpdest" 0
+
+SectionEnd
+
+SectionGroupEnd
+
+Section "Test Exec functions" TESTIDX
+
+  SectionIn 1 2 3
+  
+  SearchPath $1 notepad.exe
+
+  MessageBox MB_OK "notepad.exe=$1"
+  Exec '"$1"'
+  ExecShell "open" '"$INSTDIR"'
+  Sleep 500
+  BringToFront
+
+SectionEnd
+
+Section "Test ActiveX control registration"
+
+  SectionIn 2
+
+  UnRegDLL "$SYSDIR\spin32.ocx"
+  Sleep 1000
+  RegDLL "$SYSDIR\spin32.ocx"
+  Sleep 1000
+  
+SectionEnd
+
+;--------------------------------
+
+Function "CSCTest"
+  
+  CreateDirectory "$SMPROGRAMS\Big NSIS Test"
+  SetOutPath $INSTDIR ; for working directory
+  CreateShortCut "$SMPROGRAMS\Big NSIS Test\Uninstall BIG NSIS Test.lnk" "$INSTDIR\bt-uninst.exe" ; use defaults for parameters, icon, etc.
+  ; this one will use notepad's icon, start it minimized, and give it a hotkey (of Ctrl+Shift+Q)
+  CreateShortCut "$SMPROGRAMS\Big NSIS Test\silent.nsi.lnk" "$INSTDIR\silent.nsi" "" "$WINDIR\notepad.exe" 0 SW_SHOWMINIMIZED CONTROL|SHIFT|Q
+  CreateShortCut "$SMPROGRAMS\Big NSIS Test\TheDir.lnk" "$INSTDIR\" "" "" 0 SW_SHOWMAXIMIZED CONTROL|SHIFT|Z
+
+FunctionEnd
+
+Function myfunc
+
+  StrCpy $2 "MyTestVar=$1"
+  MessageBox MB_OK "myfunc: $2"
+
+FunctionEnd
+
+Function MyFunctionTest
+
+  ReadINIStr $1 "$INSTDIR\test.ini" "MySectionIni" "Value1"
+  StrCmp $1 $8 NoFailedMsg
+    MessageBox MB_OK "WriteINIStr failed"
+  
+  NoFailedMsg:
+
+FunctionEnd
+
+Function .onSelChange
+
+  SectionGetText ${TESTIDX} $0
+  StrCmp $0 "" e
+    SectionSetText ${TESTIDX} ""
+  Goto e2
+e:
+  SectionSetText ${TESTIDX} "TextInSection"
+e2:
+
+FunctionEnd
+
+;--------------------------------
+
+; Uninstaller
+
+UninstallText "This will uninstall example2. Hit next to continue."
+UninstallIcon "${NSISDIR}\Contrib\Graphics\Icons\nsis1-uninstall.ico"
+
+Section "Uninstall"
+
+  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\BigNSISTest"
+  DeleteRegKey HKLM "SOFTWARE\NSISTest\BigNSISTest"
+  Delete "$INSTDIR\silent.nsi"
+  Delete "$INSTDIR\LogicLib.nsi"
+  Delete "$INSTDIR\bt-uninst.exe"
+  Delete "$INSTDIR\test.ini"
+  Delete "$SMPROGRAMS\Big NSIS Test\*.*"
+  RMDir "$SMPROGRAMS\BiG NSIS Test"
+  
+  MessageBox MB_YESNO|MB_ICONQUESTION "Would you like to remove the directory $INSTDIR\cpdest?" IDNO NoDelete
+    Delete "$INSTDIR\cpdest\*.*"
+    RMDir "$INSTDIR\cpdest" ; skipped if no
+  NoDelete:
+  
+  RMDir "$INSTDIR\MyProjectFamily\MyProject"
+  RMDir "$INSTDIR\MyProjectFamily"
+  RMDir "$INSTDIR"
+
+  IfFileExists "$INSTDIR" 0 NoErrorMsg
+    MessageBox MB_OK "Note: $INSTDIR could not be removed!" IDOK 0 ; skipped if file doesn't exist
+  NoErrorMsg:
+
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/VersionInfo.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/VersionInfo.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/VersionInfo.nsi	(revision 2961)
@@ -0,0 +1,29 @@
+; VersionInfo.nsi
+;
+; This script shows you how to add version information to an installer.
+; Windows shows this information on the Version tab of the File properties.
+
+;--------------------------------
+
+Name "Version Info"
+
+OutFile "VersionInfo.exe"
+
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
+;--------------------------------
+;Version Information
+
+  VIProductVersion "1.2.3.4"
+  VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Test Application"
+  VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "A test comment"
+  VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "Fake company"
+  VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "Test Application is a trademark of Fake company"
+  VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright Fake company"
+  VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Test Application"
+  VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "1.2.3"
+
+;--------------------------------
+
+Section ""
+
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/Math/math.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Math/math.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Math/math.nsi	(revision 2961)
@@ -0,0 +1,33 @@
+; This is just an example of Math plugin
+; 
+; (c) brainsucker, 2002
+; (r) BSForce
+
+Name "Math Plugin Example"
+OutFile "math.exe"
+ShowInstDetails show
+XPStyle on
+
+Section "ThisNameIsIgnoredSoWhyBother?"
+    Math::Script 'SaR(s,fa,ra, i,f,r,e,p) (i=0;#{i<l(fa),e=l(f=fa[i]);r=ra[i];p=0;#{p<l(s),#[s[p,p+e-1]==f,s=(s[,p-1])+r+(s[p+e,]);p+=l(r), p++]}; i++}; s);'
+    Math::Script "TQ(s) (s = s(NS); #[s[0]=='$\"',s=s[1,]]; #[s[-1]=='$\"',s=s[,-2]]; NS = s)"
+    Math::Script "P(s,e, p,i) (p=-1;i=0; #{(i<l(s))&&(p<0), #[s[i,i+l(e)-1]==e, p=i]; i++}; p)"
+    Math::Script "DL(s) (s=s(NS); p=P(s,'\r\n'); #[p>=0, (NS=s[p+4,]; NS=#[p>0,s[,p-1],'']), (NS='';NS=s)])"
+
+    Math::Script "a = 'Hello \r\n World \r\n!!!'; a = SaR(a,{'\r','\n'},{'$\r','$\n'}); R0 = a"
+    Math::Script "NS = '$\"In quotes$\"'; TQ(); R1=NS; R3=P(s(R1),'qu')"
+    Math::Script "NS = 'No quotes'; TQ(); R2=NS"
+    Math::Script "NS='123\r\n456\r\n789'; DL(); R4=NS; DL(); R5=NS; DL(); R6=NS; R7=NS"
+
+
+    DetailPrint "'$R0'"
+    DetailPrint "'$R1'"
+    DetailPrint "'$R2'"
+    DetailPrint "'$R3'"
+    DetailPrint "'$R4'"
+    DetailPrint "'$R5'"
+    DetailPrint "'$R6'"
+    DetailPrint "'$R7'"
+SectionEnd 
+
+; eof
Index: tmp/org.txm.setups/nsis-2.5/Examples/Math/mathtest.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Math/mathtest.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Math/mathtest.nsi	(revision 2961)
@@ -0,0 +1,171 @@
+;NSIS Modern User Interface version 1.65
+;InstallOptions Example Script
+;Written by Joost Verburg
+
+  !define MUI_BUTTONTEXT_NEXT      "Execute"
+
+;---------------------
+;Include Modern UI
+
+  !include "MUI.nsh"
+
+;--------------------------------
+;Product Info
+
+Name "Math::Script Test"
+
+;--------------------------------
+;Configuration
+
+  ;General
+  OutFile "MathTest.exe"
+
+;--------------------------------
+;Variables
+
+  Var TEMP1
+  Var TEMP2
+  Var TEMP3
+
+;--------------------------------
+;Pages
+
+  !insertmacro MUI_PAGE_LICENSE "mathtest.txt"
+  Page custom ScriptPageEnter
+  Page instfiles
+ 
+;--------------------------------
+;Modern UI Configuration
+
+;  !define MUI_ABORTWARNING
+  
+;--------------------------------
+;Languages
+ 
+  !insertmacro MUI_LANGUAGE "English"
+
+;--------------------------------
+;Reserve Files
+  
+  ;Things that need to be extracted on first (keep these lines before any File command!)
+  ;Only for BZIP2 compression
+  
+  ReserveFile "MathTest.ini"
+  !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
+
+;--------------------------------
+;Installer Functions
+
+LangString SCRIPTSAMPLE0 ${LANG_ENGLISH} "r0 = 'Hello'; r1 = 'Math::Script'\r\nr0 += ' from the ' + r1 + '!'; r1=''"
+LangString SCRIPTSAMPLE1 ${LANG_ENGLISH} "a =0; b=1.0\r\n#{a++ < 100, b *= a}\r\nr0 = a; R0 = b; R1 = ff(b, 15)\r\nr1 = (a-1) + '! = ' + b"
+LangString SCRIPTSAMPLE2 ${LANG_ENGLISH} 'pi=3.14159; \r\nangle = pi/4;\r\ntext = "x = " + ff(angle,16+3) \r\nr0 = text +=  ", sin x = " + sin(angle)'
+LangString SCRIPTSAMPLE3 ${LANG_ENGLISH} "v1 = 123.456;  v2 = 123456789.1011\r\nr0 = v1; r1 = v2\r\nr2 = ff(v1, 3); r3 = ff(v2, 3); r4 = ff(v1, 3+16); r5 = ff(v2, 3+16)\r\nr6 = ff(v1, 3+32); r7 = ff(v2, 3+32); r8 = ff(v1, 3+32+64); r9 = ff(v2, 3+32+64)\r\n"
+LangString SCRIPTSAMPLE4 ${LANG_ENGLISH} "a = 10000; b = 0; #{--a > 0, b+= a}; r0 = a; r1 = b\r\nz = 1.55; r2 = #[z > 1.5, 'Its greater', 'Its lower']\r\nz = 1.45; r3 = #[z > 1.5, 'Its greater', 'Its lower']"
+LangString SCRIPTSAMPLE5 ${LANG_ENGLISH} 'r0 = "123a123"\r\nr1 = r0; \r\nr2 = s(r0); r3 = f(r0); r4 = i(r0); r5 = l(r0)' 
+
+Function .onInit
+
+  ;Extract InstallOptions INI files
+  !insertmacro MUI_INSTALLOPTIONS_EXTRACT "MathTest.ini"
+
+  Strcpy "$TEMP1" "$(SCRIPTSAMPLE0)"
+  !insertmacro MUI_INSTALLOPTIONS_WRITE "MathTest.ini" "Field 2" "State" $TEMP1
+  
+FunctionEnd
+
+LangString TEXT_IO_TITLE ${LANG_ENGLISH} "MathTest Script Page"
+LangString TEXT_IO_SUBTITLE ${LANG_ENGLISH} "Try your scripting capapibilites or test one of sample scripts"
+
+
+Function DumpVariables
+  Strcpy "$TEMP1" "$$0='$0'\r\n$$1='$1'\r\n$$2='$2'\r\n$$3='$3'\r\n$$4='$4'\r\n$$5='$5'\r\n$$6='$6'\r\n$$7='$7'\r\n$$8='$8'\r\n$$9='$9'"
+  !insertmacro MUI_INSTALLOPTIONS_WRITE "MathTest.ini" "Field 3" "State" $TEMP1  
+  Strcpy "$TEMP1" "$$R0='$R0'\r\n$$R1='$R1'\r\n$$R2='$R2'\r\n$$R3='$R3'\r\n$$R4='$R4'\r\n$$R5='$R5'\r\n$$R6='$R6'\r\n$$R7='$R7'\r\n$$R8='$R8'\r\n$$R9='$R9'"
+  !insertmacro MUI_INSTALLOPTIONS_WRITE "MathTest.ini" "Field 4" "State" $TEMP1  
+FunctionEnd
+
+Function ClearVariables
+  Math::Script "r0=r1=r2=r3=r4=r5=r6=r7=r8=r9=R0=R1=R2=R3=R4=R5=R6=R7=R8=R9=''"
+FunctionEnd
+
+Function GetLine
+  push $TEMP1
+  Math::Script "mtsDL()"
+  pop $TEMP2
+  pop $TEMP1
+FunctionEnd
+
+Function ExecuteScript
+  !insertmacro MUI_INSTALLOPTIONS_READ $TEMP1 "MathTest.ini" "Field 2" "State" 
+
+  Math::Script "mtsTQ(s) (s = s(NS); #[s[0]=='$\"',s=s[1,]]; #[s[-1]=='$\"',s=s[,-2]]; NS = s)"
+  Math::Script "mtsP(s,e, p,i) (p=-1;i=0; #{(i<l(s))&&(p<0), #[s[i,i+l(e)-1]==e, p=i]; i++}; p)"
+  Math::Script "mtsDL(s) (s=s(NS); p=mtsP(s,'\r\n'); #[p>=0, (NS=s[p+4,]; NS=#[p>0,s[,p-1],'']), (NS='';NS=s)])"
+
+  push  $TEMP1
+  ; remove ""
+  Math::Script "mtsTQ()"
+  pop   $TEMP1
+
+  ; script at $TEMP1
+Go:
+   StrLen $TEMP3 $TEMP1
+   IntCmp $TEMP3 0 End
+   ; get single line to $TEMP2
+   Call GetLine
+;   MessageBox MB_OK "'$TEMP2'      '$TEMP1'"
+   Math::Script "$TEMP2"
+   goto Go
+End:
+   Math::Script ""
+FunctionEnd
+
+Function ScriptPageEnter
+      
+  !insertmacro MUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "$(TEXT_IO_SUBTITLE)"
+
+Again:
+  Call ClearVariables
+  Call ExecuteScript
+  Call DumpVariables
+
+  !insertmacro MUI_INSTALLOPTIONS_DISPLAY_RETURN "mathtest.ini"
+  pop $TEMP3
+
+  !insertmacro MUI_INSTALLOPTIONS_READ $TEMP1 "MathTest.ini" "Field 5" "State"
+  IntCmp $TEMP1 1 Test
+
+  Strcpy "$TEMP2" "$(SCRIPTSAMPLE1)"
+  !insertmacro MUI_INSTALLOPTIONS_READ $TEMP1 "MathTest.ini" "Field 6" "State"
+  IntCmp $TEMP1 1 Write
+
+  Strcpy "$TEMP2" "$(SCRIPTSAMPLE2)"
+  !insertmacro MUI_INSTALLOPTIONS_READ $TEMP1 "MathTest.ini" "Field 7" "State"
+  IntCmp $TEMP1 1 Write
+
+  Strcpy "$TEMP2" "$(SCRIPTSAMPLE3)"
+  !insertmacro MUI_INSTALLOPTIONS_READ $TEMP1 "MathTest.ini" "Field 8" "State"
+  IntCmp $TEMP1 1 Write
+
+  Strcpy "$TEMP2" "$(SCRIPTSAMPLE4)"
+  !insertmacro MUI_INSTALLOPTIONS_READ $TEMP1 "MathTest.ini" "Field 9" "State"
+  IntCmp $TEMP1 1 Write
+
+  Strcpy "$TEMP2" "$(SCRIPTSAMPLE5)"
+
+Write:
+  !insertmacro MUI_INSTALLOPTIONS_WRITE "MathTest.ini" "Field 2" "State" "$TEMP2"
+  !insertmacro MUI_INSTALLOPTIONS_WRITE "MathTest.ini" "Field 5" "State" "1"
+  !insertmacro MUI_INSTALLOPTIONS_WRITE "MathTest.ini" "Field 6" "State" "0"
+  !insertmacro MUI_INSTALLOPTIONS_WRITE "MathTest.ini" "Field 7" "State" "0"
+  !insertmacro MUI_INSTALLOPTIONS_WRITE "MathTest.ini" "Field 8" "State" "0"
+  !insertmacro MUI_INSTALLOPTIONS_WRITE "MathTest.ini" "Field 9" "State" "0"
+  !insertmacro MUI_INSTALLOPTIONS_WRITE "MathTest.ini" "Field 10" "State" "0"
+
+Test:
+  Strcmp $TEMP3 "success" Again
+
+FunctionEnd
+
+Section "Dummy Section" SecDummy  
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/Math/mathtest.ini
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Math/mathtest.ini	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Math/mathtest.ini	(revision 2961)
@@ -0,0 +1,101 @@
+[Settings]
+NumFields=10
+NextButtonText=Execute
+CancelButtonText=Quit
+BackButtonText=Readme
+
+[Field 1]
+Type=label
+Text=Enter your script here:
+Left=0
+Right=-1
+Top=0
+Bottom=8
+
+[Field 2]
+Type=text
+Left=0
+Right=-1
+Top=9
+Bottom=55
+flags=MULTILINE|WANTRETURN|HSCROLL
+State=""
+
+[Field 3]
+Type=text
+Left=53
+Right=175
+Top=56
+Bottom=140
+flags=MULTILINE|READONLY
+State=""
+
+[Field 4]
+Type=text
+Left=175
+Right=-1
+Top=56
+Bottom=140
+flags=MULTILINE|READONLY
+State=""
+
+[Field 5]
+Type=RadioButton
+Left=0
+Right=-1
+Top=70
+Bottom=80
+flags=GROUP
+Text="Your script"
+State=1
+
+[Field 6]
+Type=RadioButton
+Left=0
+Right=-1
+Top=80
+Bottom=90
+flags=
+Text="Sample 1"
+State=0
+
+[Field 7]
+Type=RadioButton
+Left=0
+Right=-1
+Top=90
+Bottom=100
+flags=
+Text="Sample 2"
+State=0
+
+[Field 8]
+Type=RadioButton
+Left=0
+Right=-1
+Top=100
+Bottom=110
+flags=
+Text="Sample 3"
+State=0
+
+[Field 9]
+Type=RadioButton
+Left=0
+Right=-1
+Top=110
+Bottom=120
+flags=
+Text="Sample 4"
+State=0
+
+[Field 10]
+Type=RadioButton
+Left=0
+Right=-1
+Top=120
+Bottom=130
+flags=
+Text="Sample 5"
+State=0
+

Property changes on: tmp/org.txm.setups/nsis-2.5/Examples/Math/mathtest.ini
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Examples/Math/mathtest.txt
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Math/mathtest.txt	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Math/mathtest.txt	(revision 2961)
@@ -0,0 +1,7 @@
+Math Tester.
+
+This demo allows you to test your Math::Script expressions without need to compile anything. Just enter your expressions into multiline editbox (every single line is a separate call to Math::Script) or select one of sample expressions and press Execute.
+
+Every call to Math::Script can accept up to 1kb of script, but this demo is limited to the summ of 1 kb at all lines. And... watch your scripts. No.... Watch your errors at scripts!
+
+(c) Brainsucker, 2003.

Property changes on: tmp/org.txm.setups/nsis-2.5/Examples/Math/mathtest.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Examples/Splash/Example.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Splash/Example.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Splash/Example.nsi	(revision 2961)
@@ -0,0 +1,21 @@
+Name "Splash.dll test"
+
+OutFile "Splash Test.exe"
+
+XPStyle on
+
+Function .onInit
+	# the plugins dir is automatically deleted when the installer exits
+	InitPluginsDir
+	File /oname=$PLUGINSDIR\splash.bmp "${NSISDIR}\Contrib\Graphics\Wizard\orange-nsis.bmp"
+	#optional
+	#File /oname=$PLUGINSDIR\splash.wav "C:\myprog\sound.wav"
+
+	splash::show 1000 $PLUGINSDIR\splash
+
+	Pop $0 ; $0 has '1' if the user closed the splash screen early,
+			; '0' if everything closed normally, and '-1' if some error occurred.
+FunctionEnd
+
+Section
+SectionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/Library.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Library.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Library.nsi	(revision 2961)
@@ -0,0 +1,129 @@
+# This example tests the compile time aspect of the Library macros
+# more than the runtime aspect. It is more of a syntax example,
+# rather than a usage example.
+
+!include "Library.nsh"
+
+Name "Library Test"
+OutFile "Library Test.exe"
+
+InstallDir "$TEMP\Library Test"
+
+Page directory
+Page instfiles
+
+XPStyle on
+
+RequestExecutionLevel user
+
+!define TestDLL '"${NSISDIR}\Plugins\LangDLL.dll"'
+!define TestEXE '"${NSISDIR}\Contrib\UIs\default.exe"'
+
+Section
+
+!insertmacro InstallLib DLL       NOTSHARED REBOOT_PROTECTED      ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib DLL       NOTSHARED NOREBOOT_PROTECTED    ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib DLL       NOTSHARED REBOOT_NOTPROTECTED   ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib DLL       NOTSHARED NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
+
+!insertmacro InstallLib REGDLL    NOTSHARED REBOOT_PROTECTED      ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib REGDLL    NOTSHARED NOREBOOT_PROTECTED    ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib REGDLL    NOTSHARED REBOOT_NOTPROTECTED   ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib REGDLL    NOTSHARED NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
+
+!insertmacro InstallLib TLB       NOTSHARED REBOOT_PROTECTED      ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib TLB       NOTSHARED NOREBOOT_PROTECTED    ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib TLB       NOTSHARED REBOOT_NOTPROTECTED   ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib TLB       NOTSHARED NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
+
+!insertmacro InstallLib REGDLLTLB NOTSHARED REBOOT_PROTECTED      ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib REGDLLTLB NOTSHARED NOREBOOT_PROTECTED    ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib REGDLLTLB NOTSHARED REBOOT_NOTPROTECTED   ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib REGDLLTLB NOTSHARED NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
+
+!insertmacro InstallLib DLL       $0        REBOOT_PROTECTED      ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib DLL       $0        NOREBOOT_PROTECTED    ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib DLL       $0        REBOOT_NOTPROTECTED   ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib DLL       $0        NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
+
+!insertmacro InstallLib REGDLL    $0        REBOOT_PROTECTED      ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib REGDLL    $0        NOREBOOT_PROTECTED    ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib REGDLL    $0        REBOOT_NOTPROTECTED   ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib REGDLL    $0        NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
+
+!insertmacro InstallLib TLB       $0        REBOOT_PROTECTED      ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib TLB       $0        NOREBOOT_PROTECTED    ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib TLB       $0        REBOOT_NOTPROTECTED   ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib TLB       $0        NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
+
+!insertmacro InstallLib REGDLLTLB $0        REBOOT_PROTECTED      ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib REGDLLTLB $0        NOREBOOT_PROTECTED    ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib REGDLLTLB $0        REBOOT_NOTPROTECTED   ${TestDLL} $INSTDIR\test.dll $INSTDIR
+!insertmacro InstallLib REGDLLTLB $0        NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
+
+!insertmacro InstallLib REGEXE    $0        REBOOT_PROTECTED      ${TestEXE} $INSTDIR\test.exe $INSTDIR
+!insertmacro InstallLib REGEXE    $0        NOREBOOT_PROTECTED    ${TestEXE} $INSTDIR\test.exe $INSTDIR
+!insertmacro InstallLib REGEXE    $0        REBOOT_NOTPROTECTED   ${TestEXE} $INSTDIR\test.exe $INSTDIR
+!insertmacro InstallLib REGEXE    $0        NOREBOOT_NOTPROTECTED ${TestEXE} $INSTDIR\test.exe $INSTDIR
+
+WriteUninstaller $INSTDIR\uninstall.exe
+
+SectionEnd
+
+Section uninstall
+
+!insertmacro UninstallLib DLL       NOTSHARED NOREMOVE               $INSTDIR\test.dll
+!insertmacro UninstallLib DLL       NOTSHARED REBOOT_PROTECTED       $INSTDIR\test.dll
+!insertmacro UninstallLib DLL       NOTSHARED NOREBOOT_PROTECTED     $INSTDIR\test.dll
+!insertmacro UninstallLib DLL       NOTSHARED REBOOT_NOTPROTECTED    $INSTDIR\test.dll
+!insertmacro UninstallLib DLL       NOTSHARED NOREBOOT_NOTPROTECTED  $INSTDIR\test.dll
+
+!insertmacro UninstallLib REGDLL    NOTSHARED NOREMOVE               $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLL    NOTSHARED REBOOT_PROTECTED       $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLL    NOTSHARED NOREBOOT_PROTECTED     $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLL    NOTSHARED REBOOT_NOTPROTECTED    $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLL    NOTSHARED NOREBOOT_NOTPROTECTED  $INSTDIR\test.dll
+
+!insertmacro UninstallLib TLB       NOTSHARED NOREMOVE               $INSTDIR\test.dll
+!insertmacro UninstallLib TLB       NOTSHARED REBOOT_PROTECTED       $INSTDIR\test.dll
+!insertmacro UninstallLib TLB       NOTSHARED NOREBOOT_PROTECTED     $INSTDIR\test.dll
+!insertmacro UninstallLib TLB       NOTSHARED REBOOT_NOTPROTECTED    $INSTDIR\test.dll
+!insertmacro UninstallLib TLB       NOTSHARED NOREBOOT_NOTPROTECTED  $INSTDIR\test.dll
+
+!insertmacro UninstallLib REGDLLTLB NOTSHARED NOREMOVE               $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLLTLB NOTSHARED REBOOT_PROTECTED       $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLLTLB NOTSHARED NOREBOOT_PROTECTED     $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLLTLB NOTSHARED REBOOT_NOTPROTECTED    $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLLTLB NOTSHARED NOREBOOT_NOTPROTECTED  $INSTDIR\test.dll
+
+!insertmacro UninstallLib DLL       SHARED    NOREMOVE               $INSTDIR\test.dll
+!insertmacro UninstallLib DLL       SHARED    REBOOT_PROTECTED       $INSTDIR\test.dll
+!insertmacro UninstallLib DLL       SHARED    NOREBOOT_PROTECTED     $INSTDIR\test.dll
+!insertmacro UninstallLib DLL       SHARED    REBOOT_NOTPROTECTED    $INSTDIR\test.dll
+!insertmacro UninstallLib DLL       SHARED    NOREBOOT_NOTPROTECTED  $INSTDIR\test.dll
+
+!insertmacro UninstallLib REGDLL    SHARED    NOREMOVE               $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLL    SHARED    REBOOT_PROTECTED       $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLL    SHARED    NOREBOOT_PROTECTED     $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLL    SHARED    REBOOT_NOTPROTECTED    $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLL    SHARED    NOREBOOT_NOTPROTECTED  $INSTDIR\test.dll
+
+!insertmacro UninstallLib TLB       SHARED    NOREMOVE               $INSTDIR\test.dll
+!insertmacro UninstallLib TLB       SHARED    REBOOT_PROTECTED       $INSTDIR\test.dll
+!insertmacro UninstallLib TLB       SHARED    NOREBOOT_PROTECTED     $INSTDIR\test.dll
+!insertmacro UninstallLib TLB       SHARED    REBOOT_NOTPROTECTED    $INSTDIR\test.dll
+!insertmacro UninstallLib TLB       SHARED    NOREBOOT_NOTPROTECTED  $INSTDIR\test.dll
+
+!insertmacro UninstallLib REGDLLTLB SHARED    NOREMOVE               $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLLTLB SHARED    REBOOT_PROTECTED       $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLLTLB SHARED    NOREBOOT_PROTECTED     $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLLTLB SHARED    REBOOT_NOTPROTECTED    $INSTDIR\test.dll
+!insertmacro UninstallLib REGDLLTLB SHARED    NOREBOOT_NOTPROTECTED  $INSTDIR\test.dll
+
+!insertmacro UninstallLib REGEXE    SHARED    NOREMOVE               $INSTDIR\test.exe
+!insertmacro UninstallLib REGEXE    SHARED    REBOOT_PROTECTED       $INSTDIR\test.exe
+!insertmacro UninstallLib REGEXE    SHARED    NOREBOOT_PROTECTED     $INSTDIR\test.exe
+!insertmacro UninstallLib REGEXE    SHARED    REBOOT_NOTPROTECTED    $INSTDIR\test.exe
+!insertmacro UninstallLib REGEXE    SHARED    NOREBOOT_NOTPROTECTED  $INSTDIR\test.exe
+
+SectionEnd
Index: tmp/org.txm.setups/nsis-2.5/Examples/languages.nsi
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/languages.nsi	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/languages.nsi	(revision 2961)
@@ -0,0 +1,179 @@
+; languages.nsi
+;
+; This is an example of a multilingual installer
+; The user can select the language on startup
+
+;--------------------------------
+
+OutFile languages.exe
+
+XPStyle on
+
+RequestExecutionLevel user
+
+;--------------------------------
+
+Page license
+Page components
+Page instfiles
+
+;--------------------------------
+
+; First is default
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\Dutch.nlf"
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\French.nlf"
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\German.nlf"
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\Korean.nlf"
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\Russian.nlf"
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\Spanish.nlf"
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\Swedish.nlf"
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\TradChinese.nlf"
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\SimpChinese.nlf"
+LoadLanguageFile "${NSISDIR}\Contrib\Language files\Slovak.nlf"
+
+; License data
+; Not exactly translated, but it shows what's needed
+LicenseLangString myLicenseData ${LANG_ENGLISH} "bigtest.nsi"
+LicenseLangString myLicenseData ${LANG_DUTCH} "waplugin.nsi"
+LicenseLangString myLicenseData ${LANG_FRENCH} "example1.nsi"
+LicenseLangString myLicenseData ${LANG_GERMAN} "example2.nsi"
+LicenseLangString myLicenseData ${LANG_KOREAN} "gfx.nsi"
+LicenseLangString myLicenseData ${LANG_RUSSIAN} "languages.nsi"
+LicenseLangString myLicenseData ${LANG_SPANISH} "LogicLib.nsi"
+LicenseLangString myLicenseData ${LANG_SWEDISH} "makensis.nsi"
+LicenseLangString myLicenseData ${LANG_TRADCHINESE} "one-section.nsi"
+LicenseLangString myLicenseData ${LANG_SIMPCHINESE} "primes.nsi"
+LicenseLangString myLicenseData ${LANG_SLOVAK} "silent.nsi"
+
+LicenseData $(myLicenseData)
+
+; Set name using the normal interface (Name command)
+LangString Name ${LANG_ENGLISH} "English"
+LangString Name ${LANG_DUTCH} "Dutch"
+LangString Name ${LANG_FRENCH} "French"
+LangString Name ${LANG_GERMAN} "German"
+LangString Name ${LANG_KOREAN} "Korean"
+LangString Name ${LANG_RUSSIAN} "Russian"
+LangString Name ${LANG_SPANISH} "Spanish"
+LangString Name ${LANG_SWEDISH} "Swedish"
+LangString Name ${LANG_TRADCHINESE} "Traditional Chinese"
+LangString Name ${LANG_SIMPCHINESE} "Simplified Chinese"
+LangString Name ${LANG_SLOVAK} "Slovak"
+
+Name $(Name)
+
+; Directly change the inner lang strings (Same as ComponentText)
+LangString ^ComponentsText ${LANG_ENGLISH} "English component page"
+LangString ^ComponentsText ${LANG_DUTCH} "Dutch component page"
+LangString ^ComponentsText ${LANG_FRENCH} "French component page"
+LangString ^ComponentsText ${LANG_GERMAN} "German component page"
+LangString ^ComponentsText ${LANG_KOREAN} "Korean component page"
+LangString ^ComponentsText ${LANG_RUSSIAN} "Russian component page"
+LangString ^ComponentsText ${LANG_SPANISH} "Spanish component page"
+LangString ^ComponentsText ${LANG_SWEDISH} "Swedish component page"
+LangString ^ComponentsText ${LANG_TRADCHINESE} "Traditional Chinese component page"
+LangString ^ComponentsText ${LANG_SIMPCHINESE} "Simplified Chinese component page"
+LangString ^ComponentsText ${LANG_SLOVAK} "Slovak component page"
+
+; Set one text for all languages (simply don't use a LangString)
+CompletedText "Languages example completed"
+
+; A LangString for the section name
+LangString Sec1Name ${LANG_ENGLISH} "English section #1"
+LangString Sec1Name ${LANG_DUTCH} "Dutch section #1"
+LangString Sec1Name ${LANG_FRENCH} "French section #1"
+LangString Sec1Name ${LANG_GERMAN} "German section #1"
+LangString Sec1Name ${LANG_KOREAN} "Korean section #1"
+LangString Sec1Name ${LANG_RUSSIAN} "Russian section #1"
+LangString Sec1Name ${LANG_SPANISH} "Spanish section #1"
+LangString Sec1Name ${LANG_SWEDISH} "Swedish section #1"
+LangString Sec1Name ${LANG_TRADCHINESE} "Trandional Chinese section #1"
+LangString Sec1Name ${LANG_SIMPCHINESE} "Simplified Chinese section #1"
+LangString Sec1Name ${LANG_SLOVAK} "Slovak section #1"
+
+; A multilingual message
+LangString Message ${LANG_ENGLISH} "English message"
+LangString Message ${LANG_DUTCH} "Dutch message"
+LangString Message ${LANG_FRENCH} "French message"
+LangString Message ${LANG_GERMAN} "German message"
+LangString Message ${LANG_KOREAN} "Korean message"
+LangString Message ${LANG_RUSSIAN} "Russian message"
+LangString Message ${LANG_SPANISH} "Spanish message"
+LangString Message ${LANG_SWEDISH} "Swedish message"
+LangString Message ${LANG_TRADCHINESE} "Trandional Chinese message"
+LangString Message ${LANG_SIMPCHINESE} "Simplified Chinese message"
+LangString Message ${LANG_SLOVAK} "Slovak message"
+
+;--------------------------------
+
+;Section names set by Language strings
+;It works with ! too
+Section !$(Sec1Name) sec1
+	MessageBox MB_OK $(Message)
+SectionEnd
+
+; The old, slow, wasteful way
+; Look at this section and see why LangString is so much easier
+Section "Section number two"
+	StrCmp $LANGUAGE ${LANG_ENGLISH} 0 +2
+		MessageBox MB_OK "Installing English stuff"
+	StrCmp $LANGUAGE ${LANG_DUTCH} 0 +2
+		MessageBox MB_OK "Installing Dutch stuff"
+	StrCmp $LANGUAGE ${LANG_FRENCH} 0 +2
+		MessageBox MB_OK "Installing French stuff"
+	StrCmp $LANGUAGE ${LANG_GERMAN} 0 +2
+		MessageBox MB_OK "Installing German stuff"
+	StrCmp $LANGUAGE ${LANG_KOREAN} 0 +2
+		MessageBox MB_OK "Installing Korean stuff"
+	StrCmp $LANGUAGE ${LANG_RUSSIAN} 0 +2
+		MessageBox MB_OK "Installing Russian stuff"
+	StrCmp $LANGUAGE ${LANG_SPANISH} 0 +2
+		MessageBox MB_OK "Installing Spanish stuff"
+	StrCmp $LANGUAGE ${LANG_SWEDISH} 0 +2
+		MessageBox MB_OK "Installing Swedish stuff"
+	StrCmp $LANGUAGE ${LANG_TRADCHINESE} 0 +2
+		MessageBox MB_OK "Installing Traditional Chinese stuff"
+	StrCmp $LANGUAGE ${LANG_SIMPCHINESE} 0 +2
+		MessageBox MB_OK "Installing Simplified Chinese stuff"
+	StrCmp $LANGUAGE ${LANG_SLOVAK} 0 +2
+		MessageBox MB_OK "Installing Slovak stuff"
+SectionEnd
+
+;--------------------------------
+
+Function .onInit
+
+	;Language selection dialog
+
+	Push ""
+	Push ${LANG_ENGLISH}
+	Push English
+	Push ${LANG_DUTCH}
+	Push Dutch
+	Push ${LANG_FRENCH}
+	Push French
+	Push ${LANG_GERMAN}
+	Push German
+	Push ${LANG_KOREAN}
+	Push Korean
+	Push ${LANG_RUSSIAN}
+	Push Russian
+	Push ${LANG_SPANISH}
+	Push Spanish
+	Push ${LANG_SWEDISH}
+	Push Swedish
+	Push ${LANG_TRADCHINESE}
+	Push "Traditional Chinese"
+	Push ${LANG_SIMPCHINESE}
+	Push "Simplified Chinese"
+	Push ${LANG_SLOVAK}
+	Push Slovak
+	Push A ; A means auto count languages
+	       ; for the auto count to work the first empty push (Push "") must remain
+	LangDLL::LangDialog "Installer Language" "Please select the language of the installer"
+
+	Pop $LANGUAGE
+	StrCmp $LANGUAGE "cancel" 0 +2
+		Abort
+FunctionEnd
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll.dsp
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll.dsp	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll.dsp	(revision 2961)
@@ -0,0 +1,112 @@
+# Microsoft Developer Studio Project File - Name="exdll" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=exdll - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "exdll.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "exdll.mak" CFG="exdll - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "exdll - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "exdll - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "exdll - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "EXDLL_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O1 /I "." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "EXDLL_EXPORTS" /D NSISCALL=__stdcall /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib nsis\pluginapi.lib /nologo /entry:"DllMain" /dll /machine:I386 /nodefaultlib /out:"../../Plugins/exdll.dll" /opt:nowin98
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF  "$(CFG)" == "exdll - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "EXDLL_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "EXDLL_EXPORTS" /D NSISCALL=__stdcall /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib nsis\pluginapi.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+
+!ENDIF 
+
+# Begin Target
+
+# Name "exdll - Win32 Release"
+# Name "exdll - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\exdll.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\nsis\pluginapi.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
Index: tmp/org.txm.setups/nsis-2.5/Examples/Plugin/nsis.pas
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Plugin/nsis.pas	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Plugin/nsis.pas	(revision 2961)
@@ -0,0 +1,201 @@
+{
+    Original Code from
+    (C) 2001 - Peter Windridge
+
+    Code in separate unit and some changes
+    2003 by Bernhard Mayer
+
+    Fixed and formatted by Brett Dever
+    http://editor.nfscheats.com/
+
+    simply include this unit in your plugin project and export
+    functions as needed
+}
+
+unit nsis;
+
+interface
+
+uses
+  windows, CommCtrl, SysUtils;
+
+type
+  VarConstants = (
+    INST_0,       // $0
+    INST_1,       // $1
+    INST_2,       // $2
+    INST_3,       // $3
+    INST_4,       // $4
+    INST_5,       // $5
+    INST_6,       // $6
+    INST_7,       // $7
+    INST_8,       // $8
+    INST_9,       // $9
+    INST_R0,      // $R0
+    INST_R1,      // $R1
+    INST_R2,      // $R2
+    INST_R3,      // $R3
+    INST_R4,      // $R4
+    INST_R5,      // $R5
+    INST_R6,      // $R6
+    INST_R7,      // $R7
+    INST_R8,      // $R8
+    INST_R9,      // $R9
+    INST_CMDLINE, // $CMDLINE
+    INST_INSTDIR, // $INSTDIR
+    INST_OUTDIR,  // $OUTDIR
+    INST_EXEDIR,  // $EXEDIR
+    INST_LANG,    // $LANGUAGE
+    __INST_LAST
+    );
+  TVariableList = INST_0..__INST_LAST;
+
+  TExecuteCodeSegment = function (const funct_id: Integer; const parent: HWND): Integer;  stdcall;
+  Tvalidate_filename = procedure (const filename: PChar); cdecl;
+  TRegisterPluginCallback = function (const unknow: Integer; const uknown2: Integer): Integer; cdecl;
+
+  pexec_flags_t = ^exec_flags_t;
+  exec_flags_t = record
+    autoclose: Integer;
+    all_user_var: Integer;
+    exec_error: Integer;
+    abort: Integer;
+    exec_reboot: Integer;
+    reboot_called: Integer;
+    XXX_cur_insttype: Integer;
+    plugin_api_version: Integer;
+    silent: Integer;
+    instdir_error: Integer;
+    rtl: Integer;
+    errlvl: Integer;
+    alter_reg_view: Integer;
+    status_update: Integer;
+  end;
+
+  pextrap_t = ^extrap_t;
+  extrap_t = record
+    exec_flags: Pointer; // exec_flags_t;
+    exec_code_segment: Pointer; //  TFarProc;
+    validate_filename: Pointer; // Tvalidate_filename;
+    RegisterPluginCallback: Pointer; //TRegisterPluginCallback;
+  end;
+
+  pstack_t = ^stack_t;
+  stack_t = record
+    next: pstack_t;
+    text: PChar;
+  end;
+
+var
+  g_stringsize: integer;
+  g_stacktop: ^pstack_t;
+  g_variables: PChar;
+  g_hwndParent: HWND;
+  g_hwndList: HWND;
+  g_hwndLogList: HWND;
+
+  g_extraparameters: pextrap_t;
+  func : TExecuteCodeSegment;
+  extrap : extrap_t;
+
+procedure Init(const hwndParent: HWND; const string_size: integer; const variables: PChar; const stacktop: pointer; const extraparameters: pointer = nil);
+
+function LogMessage(Msg : String): BOOL;
+function Call(NSIS_func : String) : Integer;
+function PopString(): string;
+procedure PushString(const str: string='');
+function GetUserVariable(const varnum: TVariableList): string;
+procedure SetUserVariable(const varnum: TVariableList; const value: string);
+procedure NSISDialog(const text, caption: string; const buttons: integer);
+
+implementation
+
+procedure Init(const hwndParent: HWND; const string_size: integer; const variables: PChar; const stacktop: pointer; const extraparameters: pointer = nil);
+begin
+  g_stringsize := string_size;
+  g_hwndParent := hwndParent;
+  g_stacktop   := stacktop;
+  g_variables  := variables;
+  g_hwndList := 0;
+  g_hwndList := FindWindowEx(FindWindowEx(g_hwndParent, 0, '#32770', nil), 0,'SysListView32', nil);
+  g_extraparameters := extraparameters;
+  extrap := g_extraparameters^;
+end;
+
+function Call(NSIS_func : String) : Integer;
+var
+  NSISFun: Integer; //The ID of nsis function
+begin
+  Result := 0;
+  NSISFun := StrToIntDef(NSIS_func, 0);
+  if (NSISFun <> 0) and (g_extraparameters <> nil) then
+    begin
+    @func := extrap.exec_code_segment;
+    NSISFun := NSISFun - 1;
+    Result := func(NSISFun, g_hwndParent);
+    end;
+end;
+
+function LogMessage(Msg : String): BOOL;
+var
+  ItemCount : Integer;
+  item: TLVItem;
+begin
+  Result := FAlse;
+  if g_hwndList = 0 then exit;
+  FillChar( item, sizeof(item), 0 );
+  ItemCount := SendMessage(g_hwndList, LVM_GETITEMCOUNT, 0, 0);
+  item.iItem := ItemCount;
+  item.mask := LVIF_TEXT;
+  item.pszText := PAnsiChar(Msg);
+  ListView_InsertItem(g_hwndList, item );
+  ListView_EnsureVisible(g_hwndList, ItemCount, TRUE);
+end;
+
+function PopString(): string;
+var
+  th: pstack_t;
+begin
+  if integer(g_stacktop^) <> 0 then begin
+    th := g_stacktop^;
+    Result := PChar(@th.text);
+    g_stacktop^ := th.next;
+    GlobalFree(HGLOBAL(th));
+  end;
+end;
+
+procedure PushString(const str: string='');
+var
+  th: pstack_t;
+begin
+  if integer(g_stacktop) <> 0 then begin
+    th := pstack_t(GlobalAlloc(GPTR, SizeOf(stack_t) + g_stringsize));
+    lstrcpyn(@th.text, PChar(str), g_stringsize);
+    th.next := g_stacktop^;
+    g_stacktop^ := th;
+  end;
+end;
+
+function GetUserVariable(const varnum: TVariableList): string;
+begin
+  if (integer(varnum) >= 0) and (integer(varnum) < integer(__INST_LAST)) then
+    Result := g_variables + integer(varnum) * g_stringsize
+  else
+    Result := '';
+end;
+
+procedure SetUserVariable(const varnum: TVariableList; const value: string);
+begin
+  if (value <> '') and (integer(varnum) >= 0) and (integer(varnum) < integer(__INST_LAST)) then
+    lstrcpy(g_variables + integer(varnum) * g_stringsize, PChar(value))
+end;
+
+procedure NSISDialog(const text, caption: string; const buttons: integer);
+begin
+  MessageBox(g_hwndParent, PChar(text), PChar(caption), buttons);
+end;
+
+begin
+
+end.
+
Index: tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll-vs2008.sln
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll-vs2008.sln	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll-vs2008.sln	(revision 2961)
@@ -0,0 +1,20 @@
+ï»¿
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exdll", "exdll.vcproj", "{5E3E2AFD-1D6B-4997-A9B5-8ECBC8F6C31A}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{5E3E2AFD-1D6B-4997-A9B5-8ECBC8F6C31A}.Debug|Win32.ActiveCfg = Debug|Win32
+		{5E3E2AFD-1D6B-4997-A9B5-8ECBC8F6C31A}.Debug|Win32.Build.0 = Debug|Win32
+		{5E3E2AFD-1D6B-4997-A9B5-8ECBC8F6C31A}.Release|Win32.ActiveCfg = Release|Win32
+		{5E3E2AFD-1D6B-4997-A9B5-8ECBC8F6C31A}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
Index: tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll.dsw
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll.dsw	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll.dsw	(revision 2961)
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "exdll"=.\exdll.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
Index: tmp/org.txm.setups/nsis-2.5/Examples/Plugin/extdll.inc
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Plugin/extdll.inc	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Plugin/extdll.inc	(revision 2961)
@@ -0,0 +1,145 @@
+;################################################################
+; ExtDLL header for MASM32
+;
+; Author: Ramon
+;
+; Obs: This header must be included after windows.inc and kernel32.inc
+;      because it need the prototypes for lstrcpy, lstrcpyn, 
+;      GlobalAlloc and GlobalFree
+;
+;################################################################
+stack_t struct
+  next dd ?
+  text dd ? ; 1 DUP(?) ; this should be the length of string_size
+stack_t ends
+
+.const
+; For page showing plug-ins
+WM_NOTIFY_OUTER_NEXT   equ (WM_USER+0x8)
+WM_NOTIFY_CUSTOM_READY equ (WM_USER+0xd)
+NOTIFY_BYE_BYE         equ 'x'
+
+INST_0 EQU 0         ; $0
+INST_1 EQU 1         ; $1
+INST_2 EQU 2         ; $2
+INST_3 EQU 3         ; $3
+INST_4 EQU 4         ; $4
+INST_5 EQU 5         ; $5
+INST_6 EQU 6         ; $6
+INST_7 EQU 7         ; $7
+INST_8 EQU 8         ; $8
+INST_9 EQU 9         ; $9
+INST_R0 EQU 10        ; $R0
+INST_R1 EQU 11        ; $R1
+INST_R2 EQU 12        ; $R2
+INST_R3 EQU 13        ; $R3
+INST_R4 EQU 14        ; $R4
+INST_R5 EQU 15        ; $R5
+INST_R6 EQU 16        ; $R6
+INST_R7 EQU 17        ; $R7
+INST_R8 EQU 18        ; $R8
+INST_R9 EQU 19        ; $R9
+INST_CMDLINE EQU 20   ; $CMDLINE
+INST_INSTDIR EQU 21   ; $INSTDIR
+INST_OUTDIR EQU 22    ; $OUTDIR
+INST_EXEDIR EQU 23    ; $EXEDIR
+INST_LANG EQU 24      ; $LANGUAGE
+__INST_LAST EQU 25
+
+.data?
+g_stringsize dd ?
+g_stacktop dd ?
+g_variables dd ?
+
+m2m MACRO M1, M2
+      push M2
+      pop  M1
+ENDM
+
+EXDLL_INIT MACRO
+      m2m g_stringsize, string_size
+      m2m g_stacktop, stacktop
+      m2m g_variables, variables
+ENDM
+
+.code
+
+; utility functions (not required but often useful)
+popstring proc uses edi pStr:DWORD
+
+  LOCAL th:DWORD
+
+  mov edi, g_stacktop
+  cmp edi, 0
+  jz  STACK_ERR
+  mov edi, [edi]
+  cmp edi, 0
+  jz  STACK_ERR
+
+  ASSUME edi:PTR stack_t
+  invoke lstrcpy, pStr, ADDR [edi].text
+  mov th , edi
+  mov edi, [edi].next
+  mov eax, g_stacktop
+  mov [eax], edi
+  invoke GlobalFree, th
+  ASSUME edi:PTR NOTHING
+  mov eax, 0
+  ret
+  
+STACK_ERR:
+  mov eax, 1
+  ret
+
+popstring endp
+
+pushstring proc uses edi pStr:DWORD
+
+  cmp g_stacktop, 0
+  jz  STACK_ERR
+
+  mov eax, sizeof stack_t
+  add eax, g_stringsize
+  invoke GlobalAlloc, GPTR, eax
+
+  mov edi, eax
+  assume edi:PTR stack_t
+
+  invoke lstrcpyn, ADDR [edi].text, pStr, g_stringsize
+  mov eax, g_stacktop
+  push DWORD PTR[eax]
+  mov [eax], edi
+  pop eax
+  ;lea edi, [edi].next ; Not needed [edi].next == edi
+  mov DWORD PTR[edi], eax
+  ASSUME edi:PTR NOTHING
+
+STACK_ERR:
+  ret
+
+pushstring endp
+
+getuservariable proc varnum:DWORD
+
+  .if varnum < 0 || varnum >= __INST_LAST
+    xor eax, eax
+  .else
+    mov eax, varnum
+    imul eax, g_stringsize
+    add eax, g_variables
+  .endif
+  ret
+
+getuservariable endp
+
+setuservariable proc varnum:DWORD, var:DWORD
+
+  .if (var != NULL && varnum >= 0 && varnum < __INST_LAST)
+    mov eax, varnum
+    imul eax, g_stringsize
+    add eax, g_variables
+    invoke lstrcpy, eax, var
+  .endif
+  ret
+
+setuservariable endp
Index: tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll_with_unit.dpr
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll_with_unit.dpr	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll_with_unit.dpr	(revision 2961)
@@ -0,0 +1,31 @@
+{
+  NSIS ExDLL2 example
+  Original is ExDLL
+  (C) 2001 - Peter Windridge
+
+  Changed with delphi unit nsis.pas
+  by bernhard mayer
+
+  Tested in Delphi 7.0
+}
+
+library exdll;
+
+uses
+  nsis, windows;
+
+procedure ex_dll(const hwndParent: HWND; const string_size: integer; const variables: PChar; const stacktop: pointer); cdecl;
+begin
+  // set up global variables
+  Init(hwndParent, string_size, variables, stacktop);
+
+  NSISDialog(GetUserVariable(INST_0), 'The value of $0', MB_OK);
+  NSISDialog(PopString, 'pop', MB_OK);
+  PushString('Hello, this is a push');
+  SetUserVariable(INST_0, 'This is user var $0');
+end;
+
+exports ex_dll;
+
+begin
+end.
Index: tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll.c
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll.c	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll.c	(revision 2961)
@@ -0,0 +1,38 @@
+#include <windows.h>
+#include <nsis/pluginapi.h> // nsis plugin
+
+HINSTANCE g_hInstance;
+
+HWND g_hwndParent;
+
+void __declspec(dllexport) myFunction(HWND hwndParent, int string_size, 
+                                      char *variables, stack_t **stacktop,
+                                      extra_parameters *extra)
+{
+  g_hwndParent=hwndParent;
+
+  EXDLL_INIT();
+
+
+  // note if you want parameters from the stack, pop them off in order.
+  // i.e. if you are called via exdll::myFunction file.dat poop.dat
+  // calling popstring() the first time would give you file.dat,
+  // and the second time would give you poop.dat. 
+  // you should empty the stack of your parameters, and ONLY your
+  // parameters.
+
+  // do your stuff here
+  {
+    char buf[1024];
+    wsprintf(buf,"$0=%s\n",getuservariable(INST_0));
+    MessageBox(g_hwndParent,buf,0,MB_OK);
+  }
+}
+
+
+
+BOOL WINAPI DllMain(HINSTANCE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
+{
+  g_hInstance=hInst;
+	return TRUE;
+}
Index: tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll-vs2008.vcproj
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll-vs2008.vcproj	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll-vs2008.vcproj	(revision 2961)
@@ -0,0 +1,264 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9,00"
+	Name="exdll"
+	ProjectGUID="{5E3E2AFD-1D6B-4997-A9B5-8ECBC8F6C31A}"
+	RootNamespace="exdll"
+	TargetFrameworkVersion="0"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory=".\Release"
+			IntermediateDirectory=".\Release"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="false"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				PreprocessorDefinitions="NDEBUG"
+				MkTypLibCompatible="true"
+				SuppressStartupBanner="true"
+				TargetEnvironment="1"
+				TypeLibraryName=".\Release/exdll.tlb"
+				HeaderFileName=""
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="1"
+				InlineFunctionExpansion="0"
+				AdditionalIncludeDirectories="."
+				PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;_USRDLL;EXDLL_EXPORTS;NSISCALL=__stdcall"
+				StringPooling="true"
+				RuntimeLibrary="2"
+				BufferSecurityCheck="false"
+				EnableFunctionLevelLinking="true"
+				PrecompiledHeaderFile=".\Release/exdll.pch"
+				AssemblerListingLocation=".\Release/"
+				ObjectFile=".\Release/"
+				ProgramDataBaseFileName=".\Release/"
+				WarningLevel="3"
+				SuppressStartupBanner="true"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="NDEBUG"
+				Culture="1033"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="odbc32.lib odbccp32.lib nsis\pluginapi.lib"
+				OutputFile=".\Release/exdll.dll"
+				LinkIncremental="1"
+				SuppressStartupBanner="true"
+				IgnoreAllDefaultLibraries="true"
+				IgnoreDefaultLibraryNames="libc.lib"
+				ProgramDatabaseFile=".\Release/exdll.pdb"
+				OptimizeForWindows98="1"
+				EntryPointSymbol="DllMain"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				ImportLibrary=".\Release/exdll.lib"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+				SuppressStartupBanner="true"
+				OutputFile=".\Release/exdll.bsc"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory=".\Debug"
+			IntermediateDirectory=".\Debug"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="false"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				PreprocessorDefinitions="_DEBUG"
+				MkTypLibCompatible="true"
+				SuppressStartupBanner="true"
+				TargetEnvironment="1"
+				TypeLibraryName=".\Debug/exdll.tlb"
+				HeaderFileName=""
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="."
+				PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;_USRDLL;EXDLL_EXPORTS;NSISCALL=__stdcall"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="0"
+				RuntimeLibrary="3"
+				BufferSecurityCheck="false"
+				PrecompiledHeaderFile=".\Debug/exdll.pch"
+				AssemblerListingLocation=".\Debug/"
+				ObjectFile=".\Debug/"
+				ProgramDataBaseFileName=".\Debug/"
+				WarningLevel="3"
+				SuppressStartupBanner="true"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="_DEBUG"
+				Culture="1033"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="odbc32.lib odbccp32.lib nsis\pluginapi.lib"
+				OutputFile=".\Debug/exdll.dll"
+				LinkIncremental="2"
+				SuppressStartupBanner="true"
+				IgnoreAllDefaultLibraries="true"
+				IgnoreDefaultLibraryNames=""
+				GenerateDebugInformation="true"
+				ProgramDatabaseFile=".\Debug/exdll.pdb"
+				EntryPointSymbol="DllMain"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				ImportLibrary=".\Debug/exdll.lib"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+				SuppressStartupBanner="true"
+				OutputFile=".\Debug/exdll.bsc"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+			>
+			<File
+				RelativePath="exdll.c"
+				>
+				<FileConfiguration
+					Name="Release|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						AdditionalIncludeDirectories=""
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						AdditionalIncludeDirectories=""
+						PreprocessorDefinitions=""
+					/>
+				</FileConfiguration>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl"
+			>
+			<File
+				RelativePath="nsis\pluginapi.h"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+			>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Index: tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll.dpr
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll.dpr	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Plugin/exdll.dpr	(revision 2961)
@@ -0,0 +1,118 @@
+{
+  NSIS ExDLL example
+  (C) 2001 - Peter Windridge
+
+  Fixed and formatted by Brett Dever
+  http://editor.nfscheats.com/
+
+  Tested in Delphi 7.0
+}
+
+library exdll;
+
+uses Windows;
+
+type
+  VarConstants = (
+    INST_0,
+    INST_1,       // $1
+    INST_2,       // $2
+    INST_3,       // $3
+    INST_4,       // $4
+    INST_5,       // $5
+    INST_6,       // $6
+    INST_7,       // $7
+    INST_8,       // $8
+    INST_9,       // $9
+    INST_R0,      // $R0
+    INST_R1,      // $R1
+    INST_R2,      // $R2
+    INST_R3,      // $R3
+    INST_R4,      // $R4
+    INST_R5,      // $R5
+    INST_R6,      // $R6
+    INST_R7,      // $R7
+    INST_R8,      // $R8
+    INST_R9,      // $R9
+    INST_CMDLINE, // $CMDLINE
+    INST_INSTDIR, // $INSTDIR
+    INST_OUTDIR,  // $OUTDIR
+    INST_EXEDIR,  // $EXEDIR
+    INST_LANG,    // $LANGUAGE
+    __INST_LAST
+    );
+  TVariableList = INST_0..__INST_LAST;
+  pstack_t = ^stack_t;
+  stack_t = record
+    next: pstack_t;
+    text: PChar;
+  end;
+
+var
+  g_stringsize: integer;
+  g_stacktop: ^pstack_t;
+  g_variables: PChar;
+  g_hwndParent: HWND;
+
+function PopString(): string;
+var
+  th: pstack_t;
+begin
+  if integer(g_stacktop^) <> 0 then begin
+    th := g_stacktop^;
+    Result := PChar(@th.text);
+    g_stacktop^ := th.next;
+    GlobalFree(HGLOBAL(th));
+  end;
+end;
+
+procedure PushString(const str: string='');
+var
+  th: pstack_t;
+begin
+  if integer(g_stacktop) <> 0 then begin
+    th := pstack_t(GlobalAlloc(GPTR, SizeOf(stack_t) + g_stringsize));
+    lstrcpyn(@th.text, PChar(str), g_stringsize);
+    th.next := g_stacktop^;
+    g_stacktop^ := th;
+  end;
+end;
+
+function GetUserVariable(const varnum: TVariableList): string;
+begin
+  if (integer(varnum) >= 0) and (integer(varnum) < integer(__INST_LAST)) then
+    Result := g_variables + integer(varnum) * g_stringsize
+  else
+    Result := '';
+end;
+
+procedure SetUserVariable(const varnum: TVariableList; const value: string);
+begin
+  if (value <> '') and (integer(varnum) >= 0) and (integer(varnum) < integer(__INST_LAST)) then
+    lstrcpy(g_variables + integer(varnum) * g_stringsize, PChar(value))
+end;
+
+procedure NSISDialog(const text, caption: string; const buttons: integer);
+begin
+  MessageBox(g_hwndParent, PChar(text), PChar(caption), buttons);
+end;
+
+procedure ex_dll(const hwndParent: HWND; const string_size: integer; const variables: PChar; const stacktop: pointer); cdecl;
+begin
+  // setup global variables
+  g_stringsize := string_size;
+  g_hwndParent := hwndParent;
+  g_stacktop := stacktop;
+  g_variables := variables;
+  // end global variable setup
+
+  NSISDialog(GetUserVariable(INST_0), 'The value of $0', MB_OK);
+  NSISDialog(PopString, 'pop', MB_OK);
+  PushString('Hello, this is a push');
+  SetUserVariable(INST_0, 'This is user var $0');
+end;
+
+exports ex_dll;
+
+begin
+end.
Index: tmp/org.txm.setups/nsis-2.5/Examples/Plugin/nsis/pluginapi.lib
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Examples/Plugin/nsis/pluginapi.lib
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Examples/Plugin/nsis/pluginapi.h
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Plugin/nsis/pluginapi.h	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Plugin/nsis/pluginapi.h	(revision 2961)
@@ -0,0 +1,74 @@
+#ifndef ___NSIS_PLUGIN__H___
+#define ___NSIS_PLUGIN__H___
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "api.h"
+
+#ifndef NSISCALL
+#  define NSISCALL __stdcall
+#endif
+
+#define EXDLL_INIT()           {  \
+        g_stringsize=string_size; \
+        g_stacktop=stacktop;      \
+        g_variables=variables; }
+
+typedef struct _stack_t {
+  struct _stack_t *next;
+  char text[1]; // this should be the length of string_size
+} stack_t;
+
+enum
+{
+INST_0,         // $0
+INST_1,         // $1
+INST_2,         // $2
+INST_3,         // $3
+INST_4,         // $4
+INST_5,         // $5
+INST_6,         // $6
+INST_7,         // $7
+INST_8,         // $8
+INST_9,         // $9
+INST_R0,        // $R0
+INST_R1,        // $R1
+INST_R2,        // $R2
+INST_R3,        // $R3
+INST_R4,        // $R4
+INST_R5,        // $R5
+INST_R6,        // $R6
+INST_R7,        // $R7
+INST_R8,        // $R8
+INST_R9,        // $R9
+INST_CMDLINE,   // $CMDLINE
+INST_INSTDIR,   // $INSTDIR
+INST_OUTDIR,    // $OUTDIR
+INST_EXEDIR,    // $EXEDIR
+INST_LANG,      // $LANGUAGE
+__INST_LAST
+};
+
+extern unsigned int g_stringsize;
+extern stack_t **g_stacktop;
+extern char *g_variables;
+
+int NSISCALL popstring(char *str); // 0 on success, 1 on empty stack
+int NSISCALL popstringn(char *str, int maxlen); // with length limit, pass 0 for g_stringsize
+int NSISCALL popint(); // pops an integer
+int NSISCALL popint_or(); // with support for or'ing (2|4|8)
+int NSISCALL myatoi(const char *s); // converts a string to an integer
+unsigned NSISCALL myatou(const char *s); // converts a string to an unsigned integer, decimal only
+int NSISCALL myatoi_or(const char *s); // with support for or'ing (2|4|8)
+void NSISCALL pushstring(const char *str);
+void NSISCALL pushint(int value);
+char * NSISCALL getuservariable(const int varnum);
+void NSISCALL setuservariable(const int varnum, const char *var);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif//!___NSIS_PLUGIN__H___
Index: tmp/org.txm.setups/nsis-2.5/Examples/Plugin/nsis/api.h
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Examples/Plugin/nsis/api.h	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Examples/Plugin/nsis/api.h	(revision 2961)
@@ -0,0 +1,83 @@
+/*
+ * apih
+ * 
+ * This file is a part of NSIS.
+ * 
+ * Copyright (C) 1999-2015 Nullsoft and Contributors
+ * 
+ * Licensed under the zlib/libpng license (the "License");
+ * you may not use this file except in compliance with the License.
+ * 
+ * Licence details can be found in the file COPYING.
+ * 
+ * This software is provided 'as-is', without any express or implied
+ * warranty.
+ */
+
+#ifndef _NSIS_EXEHEAD_API_H_
+#define _NSIS_EXEHEAD_API_H_
+
+// Starting with NSIS 2.42, you can check the version of the plugin API in exec_flags->plugin_api_version
+// The format is 0xXXXXYYYY where X is the major version and Y is the minor version (MAKELONG(y,x))
+// When doing version checks, always remember to use >=, ex: if (pX->exec_flags->plugin_api_version >= NSISPIAPIVER_1_0) {}
+
+#define NSISPIAPIVER_1_0 0x00010000
+#define NSISPIAPIVER_CURR NSISPIAPIVER_1_0
+
+// NSIS Plug-In Callback Messages
+enum NSPIM 
+{
+	NSPIM_UNLOAD,    // This is the last message a plugin gets, do final cleanup
+	NSPIM_GUIUNLOAD, // Called after .onGUIEnd
+};
+
+// Prototype for callbacks registered with extra_parameters->RegisterPluginCallback()
+// Return NULL for unknown messages
+// Should always be __cdecl for future expansion possibilities
+typedef UINT_PTR (*NSISPLUGINCALLBACK)(enum NSPIM);
+
+// extra_parameters data structures containing other interesting stuff
+// but the stack, variables and HWND passed on to plug-ins.
+typedef struct
+{
+  int autoclose;
+  int all_user_var;
+  int exec_error;
+  int abort;
+  int exec_reboot; // NSIS_SUPPORT_REBOOT
+  int reboot_called; // NSIS_SUPPORT_REBOOT
+  int XXX_cur_insttype; // depreacted
+  int plugin_api_version; // see NSISPIAPIVER_CURR
+                          // used to be XXX_insttype_changed
+  int silent; // NSIS_CONFIG_SILENT_SUPPORT
+  int instdir_error;
+  int rtl;
+  int errlvl;
+  int alter_reg_view;
+  int status_update;
+} exec_flags_t;
+
+#ifndef NSISCALL
+#  define NSISCALL __stdcall
+#endif
+
+typedef struct {
+  exec_flags_t *exec_flags;
+  int (NSISCALL *ExecuteCodeSegment)(int, HWND);
+  void (NSISCALL *validate_filename)(char *);
+  int (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK); // returns 0 on success, 1 if already registered and < 0 on errors
+} extra_parameters;
+
+// Definitions for page showing plug-ins
+// See Ui.c to understand better how they're used
+
+// sent to the outer window to tell it to go to the next inner window
+#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8)
+
+// custom pages should send this message to let NSIS know they're ready
+#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd)
+
+// sent as wParam with WM_NOTIFY_OUTER_NEXT when user cancels - heed its warning
+#define NOTIFY_BYE_BYE 'x'
+
+#endif /* _PLUGIN_H_ */
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange-uninstall.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange-uninstall.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange-r-nsis.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange-r-nsis.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange-nsis.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange-nsis.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange-r.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange-r.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/nsis-r.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/nsis-r.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange-uninstall-r-nsis.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange-uninstall-r-nsis.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/nsis.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/nsis.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange-uninstall-nsis.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange-uninstall-nsis.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/win.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/win.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange-uninstall-r.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Header/orange-uninstall-r.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/orange-install.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/orange-install.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-uninstall-blue-full.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-uninstall-blue-full.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/arrow2-install.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/arrow2-install.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-uninstall-blue.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-uninstall-blue.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/orange-uninstall.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/orange-uninstall.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/arrow2-uninstall.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/arrow2-uninstall.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/pixel-install.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/pixel-install.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/classic-install.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/classic-install.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/pixel-uninstall.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/pixel-uninstall.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/classic-uninstall.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/classic-uninstall.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-install-full.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-install-full.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-install.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-install.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/orange-install-nsis.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/orange-install-nsis.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/llama-grey.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/llama-grey.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-uninstall.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-uninstall.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-uninstall-full.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-uninstall-full.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/orange-uninstall-nsis.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/orange-uninstall-nsis.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/box-install.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/box-install.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/arrow-install.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/arrow-install.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/box-uninstall.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/box-uninstall.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/arrow-uninstall.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/arrow-uninstall.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/nsis1-install.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/nsis1-install.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/win-install.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/win-install.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/nsis1-uninstall.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/nsis1-uninstall.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/win-uninstall.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/win-uninstall.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-install-colorful.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-install-colorful.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/llama-blue.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/llama-blue.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-install-blue.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-install-blue.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-install-blue-full.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-install-blue-full.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-uninstall-colorful.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Icons/modern-uninstall-colorful.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/red.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/red.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/grey-cross.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/grey-cross.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/simple-round.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/simple-round.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/red-round.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/red-round.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/simple-round2.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/simple-round2.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/big.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/big.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/classic.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/classic.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/modern.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/modern.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/colorful.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/colorful.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/grey.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/grey.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/classic-cross.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/classic-cross.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/simple.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Checks/simple.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/llama.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/llama.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/nullsoft.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/nullsoft.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/arrow.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/arrow.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/orange.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/orange.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/nsis.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/nsis.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/orange-uninstall-nsis.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/orange-uninstall-nsis.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/win.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/win.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/orange-uninstall.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/orange-uninstall.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/orange-nsis.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Graphics/Wizard/orange-nsis.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/UIs/modern_headerbmp.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/UIs/modern_headerbmp.exe
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/UIs/modern_smalldesc.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/UIs/modern_smalldesc.exe
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/UIs/modern_headerbmpr.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/UIs/modern_headerbmpr.exe
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/UIs/modern_nodesc.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/UIs/modern_nodesc.exe
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/UIs/sdbarker_tiny.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/UIs/sdbarker_tiny.exe
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/UIs/default.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/UIs/default.exe
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/UIs/modern.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/UIs/modern.exe
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/AccessControl.rc
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/AccessControl.rc
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_ansi/pluginapi.lib
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_ansi/pluginapi.lib
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_ansi/pluginapi.h
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_ansi/pluginapi.h	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_ansi/pluginapi.h	(revision 2961)
@@ -0,0 +1,74 @@
+#ifndef ___NSIS_PLUGIN__H___
+#define ___NSIS_PLUGIN__H___
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "api.h"
+
+#ifndef NSISCALL
+#  define NSISCALL __stdcall
+#endif
+
+#define EXDLL_INIT()           {  \
+        g_stringsize=string_size; \
+        g_stacktop=stacktop;      \
+        g_variables=variables; }
+
+typedef struct _stack_t {
+  struct _stack_t *next;
+  char text[1]; // this should be the length of string_size
+} stack_t;
+
+enum
+{
+INST_0,         // $0
+INST_1,         // $1
+INST_2,         // $2
+INST_3,         // $3
+INST_4,         // $4
+INST_5,         // $5
+INST_6,         // $6
+INST_7,         // $7
+INST_8,         // $8
+INST_9,         // $9
+INST_R0,        // $R0
+INST_R1,        // $R1
+INST_R2,        // $R2
+INST_R3,        // $R3
+INST_R4,        // $R4
+INST_R5,        // $R5
+INST_R6,        // $R6
+INST_R7,        // $R7
+INST_R8,        // $R8
+INST_R9,        // $R9
+INST_CMDLINE,   // $CMDLINE
+INST_INSTDIR,   // $INSTDIR
+INST_OUTDIR,    // $OUTDIR
+INST_EXEDIR,    // $EXEDIR
+INST_LANG,      // $LANGUAGE
+__INST_LAST
+};
+
+extern unsigned int g_stringsize;
+extern stack_t **g_stacktop;
+extern char *g_variables;
+
+int NSISCALL popstring(char *str); // 0 on success, 1 on empty stack
+int NSISCALL popstringn(char *str, int maxlen); // with length limit, pass 0 for g_stringsize
+int NSISCALL popint(); // pops an integer
+int NSISCALL popint_or(); // with support for or'ing (2|4|8)
+int NSISCALL myatoi(const char *s); // converts a string to an integer
+unsigned NSISCALL myatou(const char *s); // converts a string to an unsigned integer, decimal only
+int NSISCALL myatoi_or(const char *s); // with support for or'ing (2|4|8)
+void NSISCALL pushstring(const char *str);
+void NSISCALL pushint(int value);
+char * NSISCALL getuservariable(const int varnum);
+void NSISCALL setuservariable(const int varnum, const char *var);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif//!___NSIS_PLUGIN__H___
Index: tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_ansi/api.h
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_ansi/api.h	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_ansi/api.h	(revision 2961)
@@ -0,0 +1,83 @@
+/*
+ * apih
+ * 
+ * This file is a part of NSIS.
+ * 
+ * Copyright (C) 1999-2009 Nullsoft and Contributors
+ * 
+ * Licensed under the zlib/libpng license (the "License");
+ * you may not use this file except in compliance with the License.
+ * 
+ * Licence details can be found in the file COPYING.
+ * 
+ * This software is provided 'as-is', without any express or implied
+ * warranty.
+ */
+
+#ifndef _NSIS_EXEHEAD_API_H_
+#define _NSIS_EXEHEAD_API_H_
+
+// Starting with NSIS 2.42, you can check the version of the plugin API in exec_flags->plugin_api_version
+// The format is 0xXXXXYYYY where X is the major version and Y is the minor version (MAKELONG(y,x))
+// When doing version checks, always remember to use >=, ex: if (pX->exec_flags->plugin_api_version >= NSISPIAPIVER_1_0) {}
+
+#define NSISPIAPIVER_1_0 0x00010000
+#define NSISPIAPIVER_CURR NSISPIAPIVER_1_0
+
+// NSIS Plug-In Callback Messages
+enum NSPIM 
+{
+	NSPIM_UNLOAD,    // This is the last message a plugin gets, do final cleanup
+	NSPIM_GUIUNLOAD, // Called after .onGUIEnd
+};
+
+// Prototype for callbacks registered with extra_parameters->RegisterPluginCallback()
+// Return NULL for unknown messages
+// Should always be __cdecl for future expansion possibilities
+typedef UINT_PTR (*NSISPLUGINCALLBACK)(enum NSPIM);
+
+// extra_parameters data structures containing other interesting stuff
+// but the stack, variables and HWND passed on to plug-ins.
+typedef struct
+{
+  int autoclose;
+  int all_user_var;
+  int exec_error;
+  int abort;
+  int exec_reboot; // NSIS_SUPPORT_REBOOT
+  int reboot_called; // NSIS_SUPPORT_REBOOT
+  int XXX_cur_insttype; // depreacted
+  int plugin_api_version; // see NSISPIAPIVER_CURR
+                          // used to be XXX_insttype_changed
+  int silent; // NSIS_CONFIG_SILENT_SUPPORT
+  int instdir_error;
+  int rtl;
+  int errlvl;
+  int alter_reg_view;
+  int status_update;
+} exec_flags_t;
+
+#ifndef NSISCALL
+#  define NSISCALL __stdcall
+#endif
+
+typedef struct {
+  exec_flags_t *exec_flags;
+  int (NSISCALL *ExecuteCodeSegment)(int, HWND);
+  void (NSISCALL *validate_filename)(char *);
+  int (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK); // returns 0 on success, 1 if already registered and < 0 on errors
+} extra_parameters;
+
+// Definitions for page showing plug-ins
+// See Ui.c to understand better how they're used
+
+// sent to the outer window to tell it to go to the next inner window
+#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8)
+
+// custom pages should send this message to let NSIS know they're ready
+#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd)
+
+// sent as wParam with WM_NOTIFY_OUTER_NEXT when user cancels - heed its warning
+#define NOTIFY_BYE_BYE 'x'
+
+#endif /* _PLUGIN_H_ */
Index: tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/AccessControl.vcxproj
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/AccessControl.vcxproj	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/AccessControl.vcxproj	(revision 2961)
@@ -0,0 +1,174 @@
+ï»¿<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release Unicode|Win32">
+      <Configuration>Release Unicode</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{FA391322-C61F-4CC4-A421-432A0C3D5342}</ProjectGuid>
+    <RootNamespace>AccessControl</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\..\Plugins\</OutDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+    <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">$(SolutionDir)..\..\Unicode\Plugins\</OutDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">false</LinkIncremental>
+    <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">false</GenerateManifest>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\..\Plugins\</OutDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Midl>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MkTypLibCompatible>true</MkTypLibCompatible>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetEnvironment>Win32</TargetEnvironment>
+      <TypeLibraryName>.\Debug/AccessControl.tlb</TypeLibraryName>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>_WIN32_WINNT=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\Debug/AccessControl.pch</PrecompiledHeaderOutputFile>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Link>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <TargetMachine>MachineX86</TargetMachine>
+      <AdditionalDependencies>nsis_ansi/pluginapi.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <IgnoreSpecificDefaultLibraries>libc.lib</IgnoreSpecificDefaultLibraries>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <Optimization>MinSpace</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
+      <OmitFramePointers>false</OmitFramePointers>
+      <PreprocessorDefinitions>_WIN32_WINNT=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <ExceptionHandling>Sync</ExceptionHandling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\Release/AccessControl.pch</PrecompiledHeaderOutputFile>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>
+      </DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>advapi32.lib;nsis_ansi/pluginapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <EntryPointSymbol>DllMain</EntryPointSymbol>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">
+    <ClCompile>
+      <Optimization>MinSpace</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
+      <OmitFramePointers>false</OmitFramePointers>
+      <PreprocessorDefinitions>_WIN32_WINNT=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <ExceptionHandling>Sync</ExceptionHandling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <DisableLanguageExtensions>false</DisableLanguageExtensions>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderOutputFile>.\Release/AccessControl.pch</PrecompiledHeaderOutputFile>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>
+      </DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>advapi32.lib;nsis_unicode/pluginapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <EntryPointSymbol>DllMain</EntryPointSymbol>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="AccessControl.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\ExDLL\exdll.h" />
+    <ClInclude Include="resource.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="AccessControl.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/AccessControl.sln
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/AccessControl.sln	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/AccessControl.sln	(revision 2961)
@@ -0,0 +1,22 @@
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AccessControl", "AccessControl.vcxproj", "{FA391322-C61F-4CC4-A421-432A0C3D5342}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release Unicode|Win32 = Release Unicode|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{FA391322-C61F-4CC4-A421-432A0C3D5342}.Debug|Win32.ActiveCfg = Debug|Win32
+		{FA391322-C61F-4CC4-A421-432A0C3D5342}.Debug|Win32.Build.0 = Debug|Win32
+		{FA391322-C61F-4CC4-A421-432A0C3D5342}.Release Unicode|Win32.ActiveCfg = Release Unicode|Win32
+		{FA391322-C61F-4CC4-A421-432A0C3D5342}.Release Unicode|Win32.Build.0 = Release Unicode|Win32
+		{FA391322-C61F-4CC4-A421-432A0C3D5342}.Release|Win32.ActiveCfg = Release|Win32
+		{FA391322-C61F-4CC4-A421-432A0C3D5342}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
Index: tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/resource.h
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/resource.h	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/resource.h	(revision 2961)
@@ -0,0 +1,14 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by AccessControl.rc
+
+// Next default values for new objects
+// 
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE        101
+#define _APS_NEXT_COMMAND_VALUE         40001
+#define _APS_NEXT_CONTROL_VALUE         1001
+#define _APS_NEXT_SYMED_VALUE           101
+#endif
+#endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_unicode/nsis_tchar.h
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_unicode/nsis_tchar.h	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_unicode/nsis_tchar.h	(revision 2961)
@@ -0,0 +1,214 @@
+/*
+ * nsis_tchar.h
+ * 
+ * This file is a part of NSIS.
+ * 
+ * Copyright (C) 1999-2007 Nullsoft and Contributors
+ * 
+ * This software is provided 'as-is', without any express or implied
+ * warranty.
+ *
+ * For Unicode support by Jim Park -- 08/30/2007
+ */
+
+// Jim Park: Only those we use are listed here.
+
+#pragma once
+
+#ifdef _UNICODE
+
+#ifndef _T
+#define __T(x)   L ## x
+#define _T(x)    __T(x)
+#define _TEXT(x) __T(x)
+#endif
+typedef wchar_t TCHAR;
+typedef wchar_t _TUCHAR;
+
+// program
+#define _tmain      wmain
+#define _tWinMain   wWinMain
+#define _tenviron   _wenviron
+#define __targv     __wargv
+
+// printfs
+#define _ftprintf   fwprintf
+#define _sntprintf  _snwprintf
+#define _stprintf   _swprintf
+#define _tprintf    wprintf
+#define _vftprintf  vfwprintf
+#define _vsntprintf _vsnwprintf
+#define _vstprintf  _vswprintf
+
+// scanfs
+#define _tscanf     wscanf
+#define _stscanf    swscanf
+
+// string manipulations
+#define _tcscat     wcscat
+#define _tcschr     wcschr
+#define _tcsclen    wcslen
+#define _tcscpy     wcscpy
+#define _tcsdup     _wcsdup
+#define _tcslen     wcslen
+#define _tcsnccpy   wcsncpy
+#define _tcsncpy    wcsncpy
+#define _tcsrchr    wcsrchr
+#define _tcsstr     wcsstr
+#define _tcstok     wcstok
+
+// string comparisons
+#define _tcscmp     wcscmp
+#define _tcsicmp    _wcsicmp
+#define _tcsncicmp  _wcsnicmp
+#define _tcsncmp    wcsncmp
+#define _tcsnicmp   _wcsnicmp
+
+// upper / lower
+#define _tcslwr     _wcslwr
+#define _tcsupr     _wcsupr
+#define _totlower   towlower
+#define _totupper   towupper
+
+// conversions to numbers
+#define _tcstoi64   _wcstoi64
+#define _tcstol     wcstol
+#define _tcstoul    wcstoul
+#define _tstof      _wtof
+#define _tstoi      _wtoi
+#define _tstoi64    _wtoi64
+#define _ttoi       _wtoi
+#define _ttoi64     _wtoi64
+#define _ttol       _wtol
+
+// conversion from numbers to strings
+#define _itot       _itow
+#define _ltot       _ltow
+#define _i64tot     _i64tow
+#define _ui64tot    _ui64tow
+
+// file manipulations
+#define _tfopen     _wfopen
+#define _topen      _wopen
+#define _tremove    _wremove
+#define _tunlink    _wunlink
+
+// reading and writing to i/o
+#define _fgettc     fgetwc
+#define _fgetts     fgetws
+#define _fputts     fputws
+#define _gettchar   getwchar
+
+// directory
+#define _tchdir     _wchdir
+
+// environment
+#define _tgetenv    _wgetenv
+#define _tsystem    _wsystem
+
+// time
+#define _tcsftime   wcsftime
+
+#else // ANSI
+
+#ifndef _T
+#define _T(x)    x
+#define _TEXT(x) x
+#endif
+typedef char            TCHAR;
+typedef unsigned char   _TUCHAR;
+
+// program
+#define _tmain      main
+#define _tWinMain   WinMain
+#define _tenviron   environ
+#define __targv     __argv
+
+// printfs
+#define _ftprintf   fprintf
+#define _sntprintf  _snprintf
+#define _stprintf   sprintf
+#define _tprintf    printf
+#define _vftprintf  vfprintf
+#define _vsntprintf _vsnprintf
+#define _vstprintf  vsprintf
+
+// scanfs
+#define _tscanf     scanf
+#define _stscanf    sscanf
+
+// string manipulations
+#define _tcscat     strcat
+#define _tcschr     strchr
+#define _tcsclen    strlen
+#define _tcscnlen   strnlen
+#define _tcscpy     strcpy
+#define _tcsdup     _strdup
+#define _tcslen     strlen
+#define _tcsnccpy   strncpy
+#define _tcsrchr    strrchr
+#define _tcsstr     strstr
+#define _tcstok     strtok
+
+// string comparisons
+#define _tcscmp     strcmp
+#define _tcsicmp    _stricmp
+#define _tcsncmp    strncmp
+#define _tcsncicmp  _strnicmp
+#define _tcsnicmp   _strnicmp
+
+// upper / lower
+#define _tcslwr     _strlwr
+#define _tcsupr     _strupr
+
+#define _totupper   toupper
+#define _totlower   tolower
+
+// conversions to numbers
+#define _tcstol     strtol
+#define _tcstoul    strtoul
+#define _tstof      atof
+#define _tstoi      atoi
+#define _tstoi64    _atoi64
+#define _tstoi64    _atoi64
+#define _ttoi       atoi
+#define _ttoi64     _atoi64
+#define _ttol       atol
+
+// conversion from numbers to strings
+#define _i64tot     _i64toa
+#define _itot       _itoa
+#define _ltot       _ltoa
+#define _ui64tot    _ui64toa
+
+// file manipulations
+#define _tfopen     fopen
+#define _topen      _open
+#define _tremove    remove
+#define _tunlink    _unlink
+
+// reading and writing to i/o
+#define _fgettc     fgetc
+#define _fgetts     fgets
+#define _fputts     fputs
+#define _gettchar   getchar
+
+// directory
+#define _tchdir     _chdir
+
+// environment
+#define _tgetenv    getenv
+#define _tsystem    system
+
+// time
+#define _tcsftime   strftime
+
+#endif
+
+// is functions (the same in Unicode / ANSI)
+#define _istgraph   isgraph
+#define _istascii   __isascii
+
+#define __TFILE__ _T(__FILE__)
+#define __TDATE__ _T(__DATE__)
+#define __TTIME__ _T(__TIME__)
Index: tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_unicode/pluginapi.lib
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_unicode/pluginapi.lib
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_unicode/pluginapi.h
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_unicode/pluginapi.h	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_unicode/pluginapi.h	(revision 2961)
@@ -0,0 +1,101 @@
+#ifndef ___NSIS_PLUGIN__H___
+#define ___NSIS_PLUGIN__H___
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "api.h"
+#include "nsis_tchar.h"
+
+#ifndef NSISCALL
+#  define NSISCALL __stdcall
+#endif
+
+#define EXDLL_INIT()           {  \
+        g_stringsize=string_size; \
+        g_stacktop=stacktop;      \
+        g_variables=variables; }
+
+typedef struct _stack_t {
+  struct _stack_t *next;
+  TCHAR text[1]; // this should be the length of string_size
+} stack_t;
+
+enum
+{
+INST_0,         // $0
+INST_1,         // $1
+INST_2,         // $2
+INST_3,         // $3
+INST_4,         // $4
+INST_5,         // $5
+INST_6,         // $6
+INST_7,         // $7
+INST_8,         // $8
+INST_9,         // $9
+INST_R0,        // $R0
+INST_R1,        // $R1
+INST_R2,        // $R2
+INST_R3,        // $R3
+INST_R4,        // $R4
+INST_R5,        // $R5
+INST_R6,        // $R6
+INST_R7,        // $R7
+INST_R8,        // $R8
+INST_R9,        // $R9
+INST_CMDLINE,   // $CMDLINE
+INST_INSTDIR,   // $INSTDIR
+INST_OUTDIR,    // $OUTDIR
+INST_EXEDIR,    // $EXEDIR
+INST_LANG,      // $LANGUAGE
+__INST_LAST
+};
+
+extern unsigned int g_stringsize;
+extern stack_t **g_stacktop;
+extern TCHAR *g_variables;
+
+int NSISCALL popstring(TCHAR *str); // 0 on success, 1 on empty stack
+int NSISCALL popstringn(TCHAR *str, int maxlen); // with length limit, pass 0 for g_stringsize
+int NSISCALL popint(); // pops an integer
+int NSISCALL popint_or(); // with support for or'ing (2|4|8)
+int NSISCALL myatoi(const TCHAR *s); // converts a string to an integer
+unsigned NSISCALL myatou(const TCHAR *s); // converts a string to an unsigned integer, decimal only
+int NSISCALL myatoi_or(const TCHAR *s); // with support for or'ing (2|4|8)
+void NSISCALL pushstring(const TCHAR *str);
+void NSISCALL pushint(int value);
+TCHAR * NSISCALL getuservariable(const int varnum);
+void NSISCALL setuservariable(const int varnum, const TCHAR *var);
+
+#ifdef _UNICODE
+#define PopStringW(x) popstring(x)
+#define PushStringW(x) pushstring(x)
+#define SetUserVariableW(x,y) setuservariable(x,y)
+
+int  NSISCALL PopStringA(char* ansiStr);
+void NSISCALL PushStringA(const char* ansiStr);
+void NSISCALL GetUserVariableW(const int varnum, wchar_t* wideStr);
+void NSISCALL GetUserVariableA(const int varnum, char* ansiStr);
+void NSISCALL SetUserVariableA(const int varnum, const char* ansiStr);
+
+#else
+// ANSI defs
+
+#define PopStringA(x) popstring(x)
+#define PushStringA(x) pushstring(x)
+#define SetUserVariableA(x,y) setuservariable(x,y)
+
+int  NSISCALL PopStringW(wchar_t* wideStr);
+void NSISCALL PushStringW(wchar_t* wideStr);
+void NSISCALL GetUserVariableW(const int varnum, wchar_t* wideStr);
+void NSISCALL GetUserVariableA(const int varnum, char* ansiStr);
+void NSISCALL SetUserVariableW(const int varnum, const wchar_t* wideStr);
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif//!___NSIS_PLUGIN__H___
Index: tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_unicode/api.h
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_unicode/api.h	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/nsis_unicode/api.h	(revision 2961)
@@ -0,0 +1,83 @@
+/*
+ * apih
+ * 
+ * This file is a part of NSIS.
+ * 
+ * Copyright (C) 1999-2009 Nullsoft and Contributors
+ * 
+ * Licensed under the zlib/libpng license (the "License");
+ * you may not use this file except in compliance with the License.
+ * 
+ * Licence details can be found in the file COPYING.
+ * 
+ * This software is provided 'as-is', without any express or implied
+ * warranty.
+ */
+
+#ifndef _NSIS_EXEHEAD_API_H_
+#define _NSIS_EXEHEAD_API_H_
+
+// Starting with NSIS 2.42, you can check the version of the plugin API in exec_flags->plugin_api_version
+// The format is 0xXXXXYYYY where X is the major version and Y is the minor version (MAKELONG(y,x))
+// When doing version checks, always remember to use >=, ex: if (pX->exec_flags->plugin_api_version >= NSISPIAPIVER_1_0) {}
+
+#define NSISPIAPIVER_1_0 0x00010000
+#define NSISPIAPIVER_CURR NSISPIAPIVER_1_0
+
+// NSIS Plug-In Callback Messages
+enum NSPIM 
+{
+	NSPIM_UNLOAD,    // This is the last message a plugin gets, do final cleanup
+	NSPIM_GUIUNLOAD, // Called after .onGUIEnd
+};
+
+// Prototype for callbacks registered with extra_parameters->RegisterPluginCallback()
+// Return NULL for unknown messages
+// Should always be __cdecl for future expansion possibilities
+typedef UINT_PTR (*NSISPLUGINCALLBACK)(enum NSPIM);
+
+// extra_parameters data structures containing other interesting stuff
+// but the stack, variables and HWND passed on to plug-ins.
+typedef struct
+{
+  int autoclose;
+  int all_user_var;
+  int exec_error;
+  int abort;
+  int exec_reboot; // NSIS_SUPPORT_REBOOT
+  int reboot_called; // NSIS_SUPPORT_REBOOT
+  int XXX_cur_insttype; // depreacted
+  int plugin_api_version; // see NSISPIAPIVER_CURR
+                          // used to be XXX_insttype_changed
+  int silent; // NSIS_CONFIG_SILENT_SUPPORT
+  int instdir_error;
+  int rtl;
+  int errlvl;
+  int alter_reg_view;
+  int status_update;
+} exec_flags_t;
+
+#ifndef NSISCALL
+#  define NSISCALL __stdcall
+#endif
+
+typedef struct {
+  exec_flags_t *exec_flags;
+  int (NSISCALL *ExecuteCodeSegment)(int, HWND);
+  void (NSISCALL *validate_filename)(TCHAR *);
+  int (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK); // returns 0 on success, 1 if already registered and < 0 on errors
+} extra_parameters;
+
+// Definitions for page showing plug-ins
+// See Ui.c to understand better how they're used
+
+// sent to the outer window to tell it to go to the next inner window
+#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8)
+
+// custom pages should send this message to let NSIS know they're ready
+#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd)
+
+// sent as wParam with WM_NOTIFY_OUTER_NEXT when user cancels - heed its warning
+#define NOTIFY_BYE_BYE 'x'
+
+#endif /* _PLUGIN_H_ */
Index: tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/AccessControl.cpp
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/AccessControl.cpp	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/AccessControl/AccessControl.cpp	(revision 2961)
@@ -0,0 +1,1444 @@
+
+/* AccessControl plugin for NSIS
+ * Copyright (C) 2003 Mathias Hasselmann <mathias@taschenorakel.de>
+ *
+ * This software is provided 'as-is', without any express or implied 
+ * warranty. In no event will the authors be held liable for any damages 
+ * arising from the use of this software. 
+ *
+ * Permission is granted to anyone to use this software for any purpose, 
+ * including commercial applications, and to alter it and redistribute it 
+ * freely, subject to the following restrictions:
+ *
+ *   1. The origin of this software must not be misrepresented; you must not 
+ *      claim that you wrote the original software. If you use this software 
+ *      in a product, an acknowledgment in the product documentation would be
+ *      appreciated but is not required.
+ *
+ *   2. Altered source versions must be plainly marked as such, and must not 
+ *      be misrepresented as being the original software.
+ *
+ *   3. This notice may not be removed or altered from any source 
+ *      distribution.
+ */
+
+/* Modifications by Afrow UK, kichik and AndersK.
+ * See Docs\AccessControl\Readme.txt for full modifications list.
+ */
+
+#define WIN32_LEAN_AND_MEAN
+#ifdef _WIN64
+#define WINVER 0x502
+#else
+#define WINVER 0x400
+#endif
+
+#include <windows.h>
+#ifdef UNICODE
+#include "nsis_unicode/pluginapi.h"
+#else
+#include "nsis_ansi/pluginapi.h"
+#endif
+#include <aclapi.h>
+#include <sddl.h>
+
+/*****************************************************************************
+ GLOBAL VARIABLES
+ *****************************************************************************/
+
+HINSTANCE g_hInstance = NULL;
+int g_string_size = 1024;
+extra_parameters* g_extra = NULL;
+
+/*****************************************************************************
+ TYPE DEFINITIONS
+ *****************************************************************************/
+
+typedef struct
+{
+  const TCHAR* name;
+  SE_OBJECT_TYPE type;
+  DWORD defaultInheritance;
+  const TCHAR** const permissionNames;
+  const DWORD* const permissionFlags;
+  const int permissionCount;
+}
+SchemeType;
+
+typedef struct
+{
+  BOOL noInherit;
+  HKEY hRootKey;
+}
+Options;
+
+typedef enum
+{
+  ChangeMode_Owner,
+  ChangeMode_Group
+}
+ChangeMode;
+
+/*****************************************************************************
+ UTILITIES
+ *****************************************************************************/
+
+#define SIZE_OF_ARRAY(Array) (sizeof((Array)) / sizeof(*(Array)))
+#define ARRAY_CONTAINS(Array, Index) (Index >= 0 && Index < SIZE_OF_ARRAY(Array))
+
+void* LocalAllocZero(size_t cb) { return LocalAlloc(LPTR, cb); }
+inline void* LocalAlloc(size_t cb) { return LocalAllocZero(cb); }
+
+/*****************************************************************************
+ PLUG-IN HANDLING
+ *****************************************************************************/
+
+#define PUBLIC_FUNCTION(Name) \
+extern "C" void __declspec(dllexport) __cdecl Name(HWND hWndParent, int string_size, TCHAR* variables, stack_t** stacktop, extra_parameters* extra) \
+{ \
+  EXDLL_INIT(); \
+  g_string_size = string_size; \
+  g_extra = extra;
+
+#define PUBLIC_FUNCTION_END \
+}
+
+void showerror_s(const TCHAR* fmt, TCHAR* arg)
+{
+  TCHAR* msg = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+  if (msg)
+  {
+    wsprintf(msg, fmt, arg);
+    pushstring(msg);
+    LocalFree(msg);
+  }
+}
+
+void showerror_d(const TCHAR* fmt, DWORD arg)
+{
+  TCHAR* msg = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+  if (msg)
+  {
+    wsprintf(msg, fmt, arg);
+    pushstring(msg);
+    LocalFree(msg);
+  }
+}
+
+#define ERRSTR_OOM TEXT("OutOfMemory")
+
+#define ABORT_s(x, y) \
+    { showerror_s(TEXT(x), y); goto cleanup; }
+#define ABORT_d(x, y) \
+    { showerror_d(TEXT(x), y); goto cleanup; }
+#define ABORT(x) \
+    { pushstring(TEXT(x)); goto cleanup; }
+
+/*****************************************************************************
+ COMPATIBILITY UTILITIES
+ *****************************************************************************/
+
+#define BuildExplicitAccessWithNameA BuildExplicitAccessWithNameT
+#define BuildExplicitAccessWithNameW BuildExplicitAccessWithNameT
+#if WINVER < 0x500
+#define ConvertStringSidToSidA Compat_ConvertStringSidToSidT
+#define ConvertStringSidToSidW Compat_ConvertStringSidToSidT
+
+static FARPROC AdvApi32_GetProcAddress(LPCSTR Name)
+{
+  return GetProcAddress(LoadLibraryA("ADVAPI32"), Name);
+}
+
+TCHAR* CharPos(TCHAR* szStr, int cchStrLen, TCHAR chFind)
+{
+  for (int i = 0; i < cchStrLen && NULL != *(szStr + i); i++)
+    if (*(szStr + i) == chFind)
+      return szStr + i;
+  return NULL;
+}
+
+BYTE FromHex(TCHAR* szHex)
+{
+  int a = 0;
+  int b = 0;
+
+  if (szHex[0] >= TEXT('0') && szHex[0] <= TEXT('9'))
+    a = szHex[0] - TEXT('0');
+  else if (szHex[0] >= TEXT('A') && szHex[0] <= TEXT('F'))
+    a = szHex[0] - TEXT('A') + 10;
+  else if (szHex[0] >= TEXT('a') && szHex[0] <= TEXT('f'))
+    a = szHex[0] - TEXT('a') + 10;
+
+  if (szHex[1] >= TEXT('0') && szHex[1] <= TEXT('9'))
+    b = szHex[1] - TEXT('0');
+  else if (szHex[1] >= TEXT('A') && szHex[1] <= TEXT('F'))
+    b = szHex[1] - TEXT('A') + 10;
+  else if (szHex[1] >= TEXT('a') && szHex[1] <= TEXT('f'))
+    b = szHex[1] - TEXT('a') + 10;
+
+  return a * 16 + b;
+}
+
+static void SetIdentifierAuthority(SID_IDENTIFIER_AUTHORITY&sia, DWORD val32)
+{
+  sia.Value[5] = (BYTE)((val32 & 0x000000FF) >> 0);
+  sia.Value[4] = (BYTE)((val32 & 0x0000FF00) >> 8);
+  sia.Value[3] = (BYTE)((val32 & 0x00FF0000) >> 16);
+  sia.Value[2] = (BYTE)((val32 & 0xFF000000) >> 24);
+  sia.Value[1] = sia.Value[0] = 0;
+}
+
+// Based on GetBinarySid function from http://www.codeguru.com/cpp/w-p/system/security/article.php/c5659.
+BOOL Compat_ConvertStringSidToSidT(LPTSTR szSid, PSID* ppSid)
+{  
+  // Try to call the real function on 2000+, 
+  // this will enable support for more SID Strings (Those will not work on NT4 so script carefully)
+  FARPROC fp = AdvApi32_GetProcAddress(sizeof(TCHAR) > 1 ? "ConvertStringSidToSidW" : "ConvertStringSidToSidA");
+  bool ret = fp && ((BOOL(WINAPI*)(LPCTSTR,PSID*))fp)(szSid,ppSid);
+  if (ret) return ret;
+
+  *ppSid = NULL;
+  BYTE nByteAuthorityCount = 0;
+  PSID pSid = LocalAllocZero(8 + (sizeof(DWORD) * SID_MAX_SUB_AUTHORITIES));
+  if (!pSid) return false;
+
+  // Building a revision 1 SID in memory, the rest of the code assumes that pSid is zero filled!
+  ((char*)pSid)[0] = 1;
+  SID_IDENTIFIER_AUTHORITY &sidIA = *(SID_IDENTIFIER_AUTHORITY*) ((char*)pSid + 2);
+  DWORD *pSidSA = (DWORD*) ((char*)pSid + 8);
+
+  static const struct { char id0, id1; BYTE ia, sa0, sa1; } sidmap[] = {
+    {'A'|32,'N'|32, (5), (7) , 0}, // NT AUTHORITY\ANONYMOUS LOGON
+    {'A'|32,'U'|32, (5), (11), 0}, // NT AUTHORITY\Authenticated Users
+    {'B'|32,'A'|32, (5), (32), (544)-500}, // BUILTIN\Administrators
+    {'B'|32,'U'|32, (5), (32), (545)-500}, // BUILTIN\Users
+    {'I'|32,'U'|32, (5), (4) , 0}, // NT AUTHORITY\INTERACTIVE
+    {'S'|32,'Y'|32, (5), (18), 0}, // NT AUTHORITY\SYSTEM
+    {'W'|32,'D'|32, (1), (0) , 0}, // Everyone
+  };
+  // Try to lookup a SID string
+  for (int i = 0; i < SIZE_OF_ARRAY(sidmap); ++i)
+  {
+    if ((szSid[0]|32) != sidmap[i].id0 || (szSid[1]|32) != sidmap[i].id1 || szSid[2]) continue;
+    SetIdentifierAuthority(sidIA, sidmap[i].ia);
+    pSidSA[nByteAuthorityCount++] = sidmap[i].sa0;
+    if (sidmap[i].sa1) pSidSA[nByteAuthorityCount++] = (DWORD)sidmap[i].sa1 + 500;
+    goto done;
+  }
+
+  // S-SID_REVISION- + identifierauthority- + subauthorities + NULL
+
+  // Skip S
+  PTSTR ptr;
+  if (!(ptr = CharPos(szSid, lstrlen(szSid), TEXT('-'))))
+    return FALSE;
+  ptr++;
+
+  // Skip SID_REVISION
+  if (!(ptr = CharPos(ptr, lstrlen(ptr), TEXT('-'))))
+    return FALSE;
+  ptr++;
+
+  // Skip identifierauthority
+  PTSTR ptr1;
+  if (!(ptr1 = CharPos(ptr, lstrlen(ptr), TEXT('-'))))
+    return FALSE;
+  *ptr1 = 0;
+  
+  if ((*ptr == TEXT('0')) && (*(ptr+1) == TEXT('x')))
+  {
+    sidIA.Value[0] = FromHex(ptr);
+    sidIA.Value[1] = FromHex(ptr + 2);
+    sidIA.Value[2] = FromHex(ptr + 4);
+    sidIA.Value[3] = FromHex(ptr + 8);
+    sidIA.Value[4] = FromHex(ptr + 10);
+    sidIA.Value[5] = FromHex(ptr + 12);
+  }
+  else
+  {
+    SetIdentifierAuthority(sidIA, myatou(ptr));
+  }
+
+  // Skip -
+  *ptr1 = TEXT('-'), ptr = ptr1, ptr1++;
+
+  for (int i = 0; i < 8; i++)
+  {
+    // Get subauthority count.
+    if (!(ptr = CharPos(ptr, lstrlen(ptr), TEXT('-')))) break;
+    *ptr = 0, ptr++, nByteAuthorityCount++;
+  }
+
+  for (int i = 0; i < nByteAuthorityCount; i++)
+  {
+    // Get subauthority.
+    pSidSA[i] = myatou(ptr1);
+    ptr1 += lstrlen(ptr1) + 1;
+  }
+
+done:
+  if (nByteAuthorityCount)
+  {
+    *ppSid = pSid, ((char*)pSid)[1] = nByteAuthorityCount;
+    return TRUE;
+  }
+  LocalFree(pSid);
+  return FALSE;
+}
+
+// Based on GetTextualSid function from http://www.codeguru.com/cpp/w-p/system/security/article.php/c5659.
+BOOL ConvertSidToStringSidNoAlloc(const PSID pSid, LPTSTR pszSid)
+{
+  // Validate the binary SID
+  if(!IsValidSid(pSid)) return FALSE;
+
+  // Get the identifier authority value from the SID
+  PSID_IDENTIFIER_AUTHORITY psia = GetSidIdentifierAuthority(pSid);
+
+  // Get the number of subauthorities in the SID.
+  DWORD dwSubAuthorities = *GetSidSubAuthorityCount(pSid);
+
+  // Compute the buffer length
+  // S-SID_REVISION- + IdentifierAuthority- + subauthorities- + NULL
+  DWORD dwSidSize = (15 + 12 + (12 * dwSubAuthorities) + 1) * sizeof(TCHAR);
+
+  // Add 'S' prefix and revision number to the string
+  dwSidSize = wsprintf(pszSid, TEXT("S-%lu-"), SID_REVISION);
+
+  // Add SID identifier authority to the string.
+  if((psia->Value[0] != 0) || (psia->Value[1] != 0))
+  {
+    dwSidSize += wsprintf(pszSid + lstrlen(pszSid),
+        TEXT("0x%02hx%02hx%02hx%02hx%02hx%02hx"),
+        (USHORT)psia->Value[0],
+        (USHORT)psia->Value[1],
+        (USHORT)psia->Value[2],
+        (USHORT)psia->Value[3],
+        (USHORT)psia->Value[4],
+        (USHORT)psia->Value[5]);
+  }
+  else
+  {
+    dwSidSize += wsprintf(pszSid + lstrlen(pszSid),
+        TEXT("%lu"),
+        (ULONG)(psia->Value[5]) +
+        (ULONG)(psia->Value[4] << 8) +
+        (ULONG)(psia->Value[3] << 16) +
+        (ULONG)(psia->Value[2] << 24));
+  }
+
+  // Add SID subauthorities to the string
+  for(DWORD dwCounter = 0; dwCounter < dwSubAuthorities; dwCounter++)
+  {
+    dwSidSize += wsprintf(pszSid + dwSidSize, TEXT("-%lu"),
+        *GetSidSubAuthority(pSid, dwCounter));
+  }
+
+  return TRUE;
+}
+
+#ifndef UNICODE
+#define GetNamedSecurityInfoA Delayload_GetNamedSecurityInfoA
+#define SetEntriesInAclA Delayload_SetEntriesInAclA
+#define SetNamedSecurityInfoA Delayload_SetNamedSecurityInfoA
+
+DWORD Delayload_GetNamedSecurityInfoA(LPSTR ON, SE_OBJECT_TYPE OT, SECURITY_INFORMATION SI, PSID*ppSO, PSID*ppSG, PACL*ppD, PACL*ppS, PSECURITY_DESCRIPTOR*ppSD)
+{
+  FARPROC fp = AdvApi32_GetProcAddress("GetNamedSecurityInfoA");
+  if (!fp) return ERROR_NOT_SUPPORTED;
+  return ((DWORD(WINAPI*)(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*))fp)(ON,OT,SI,ppSO,ppSG,ppD,ppS,ppSD);
+}
+
+DWORD Delayload_SetEntriesInAclA(ULONG c, PEXPLICIT_ACCESS_A pEA, PACL pOA, PACL*ppNA)
+{
+  FARPROC fp = AdvApi32_GetProcAddress("SetEntriesInAclA");
+  if (!fp) return ERROR_NOT_SUPPORTED;
+  return ((DWORD(WINAPI*)(ULONG,PEXPLICIT_ACCESS_A,PACL,PACL*))fp)(c,pEA,pOA,ppNA);
+}
+
+DWORD Delayload_SetNamedSecurityInfoA(LPSTR ON, SE_OBJECT_TYPE OT, SECURITY_INFORMATION SI, PSID pSO, PSID pSG, PACL pD, PACL pS)
+{
+  FARPROC fp = AdvApi32_GetProcAddress("SetNamedSecurityInfoA");
+  if (!fp) return ERROR_NOT_SUPPORTED;
+  return ((DWORD(WINAPI*)(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL))fp)(ON,OT,SI,pSO,pSG,pD,pS);
+}
+#endif // ~!UNICODE
+#else
+BOOL ConvertSidToStringSidNoAlloc(const PSID pSid, LPTSTR pszSid)
+{
+  LPTSTR tmp;
+  if (!ConvertSidToStringSid(pSid, &tmp)) return false;
+  lstrcpy(pszSid, tmp), LocalFree(tmp);
+  return true;
+}
+#endif // ~WINVER < 0x500
+
+static VOID BuildExplicitAccessWithNameT(PEXPLICIT_ACCESS pEA, LPTSTR TN, DWORD AP, ACCESS_MODE AM, DWORD Inheritance)
+{
+  TRUSTEE &t = pEA->Trustee;
+  t.pMultipleTrustee = NULL, t.MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE;
+  t.TrusteeForm = TRUSTEE_IS_NAME, t.TrusteeType = TRUSTEE_IS_UNKNOWN;
+  t.ptstrName = TN, pEA->grfInheritance = Inheritance;
+  pEA->grfAccessPermissions = AP, pEA->grfAccessMode = AM;
+}
+
+/*****************************************************************************
+ STRING PARSERS
+ *****************************************************************************/
+
+/** Converts a string into an enumeration index. If the enumeration
+ ** contains the string the index of the string within the enumeration
+ ** is return. On error you'll receive -1.
+ **/
+static int ParseEnum(const TCHAR* keywords[], const TCHAR* str)
+{
+  const TCHAR** key;
+
+  for(key = keywords; *key; ++key)
+    if (!lstrcmpi(str, *key)) return (int)(key - keywords);
+
+  return -1;
+}
+
+/** Parses a trustee string. If enclosed in brackets the string contains
+ ** a string SID. Otherwise it's assumed that the string contains a
+ ** trustee name.
+ **/
+static TCHAR* ParseTrustee(TCHAR* trustee, DWORD* trusteeForm)
+{
+  TCHAR* strend = trustee + lstrlen(trustee) - 1;
+
+  if (TEXT('(') == *trustee && TEXT(')') == *strend)
+  {
+    PSID pSid = NULL;
+
+    *strend = TEXT('\0'); 
+    trustee++;
+
+    if (!ConvertStringSidToSid(trustee, &pSid))
+      pSid = NULL;
+
+    *trusteeForm = TRUSTEE_IS_SID;
+    return (TCHAR*)pSid;
+  }
+
+  *trusteeForm = TRUSTEE_IS_NAME;
+  TCHAR* ret = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+  if (ret) lstrcpy(ret, trustee);
+  return ret;
+}
+
+static PSID ParseSid(TCHAR* trustee)
+{
+  PSID pSid = NULL;
+  TCHAR* strend = trustee + lstrlen(trustee) - 1;
+
+  if (TEXT('(') == *trustee && TEXT(')') == *strend)
+  {
+    *strend = TEXT('\0'); 
+    ++trustee;
+
+    if (!ConvertStringSidToSid(trustee, &pSid)) pSid = NULL;
+  }
+  else
+  {
+    DWORD sidLen = 0;
+    DWORD domLen = 0;
+    TCHAR* domain = NULL;
+    SID_NAME_USE use;
+
+    if ((LookupAccountName(NULL, trustee, 
+       NULL, &sidLen, NULL, &domLen, &use) ||
+       ERROR_INSUFFICIENT_BUFFER == GetLastError()) &&
+        NULL != (domain = (TCHAR*)LocalAlloc(domLen*sizeof(TCHAR))) &&
+      NULL != (pSid = (PSID)LocalAlloc(sidLen)))
+    {
+      if (!LookupAccountName(NULL, trustee, 
+        pSid, &sidLen, domain, &domLen, &use))
+      {
+        LocalFree(pSid);
+        pSid = NULL;
+      }
+    }
+
+    LocalFree(domain);
+  }
+
+  return pSid;
+}
+
+/* i know: this function is far to generious in accepting strings. 
+ * but hey: this all is about code size, isn't it? 
+ * so i can live with that pretty well.
+ */
+static DWORD ParsePermissions(const SchemeType* scheme, TCHAR* str)
+{
+  DWORD perms = 0;
+  TCHAR* first, * last;
+
+  for(first = str; *first; first = last)
+  {
+    int token;
+
+    while(*first && *first <= TEXT(' ')) ++first;
+    for(last = first; *last && *last > TEXT(' ') && *last != TEXT('|') && 
+      *last != TEXT('+'); ++last);
+    if (*last) *last++ = TEXT('\0');
+
+    token = ParseEnum(scheme->permissionNames, first);
+    if (token >= 0 && token < scheme->permissionCount)
+      perms|= scheme->permissionFlags[token];
+  }
+
+  return perms;
+}
+
+/*****************************************************************************
+ SYMBOL TABLES
+ *****************************************************************************/
+
+static const TCHAR* g_filePermissionNames[] =
+{
+  TEXT("ReadData"), TEXT("WriteData"), TEXT("AppendData"), 
+  TEXT("ReadEA"), TEXT("WriteEA"), TEXT("Execute"), TEXT("ReadAttributes"), TEXT("WriteAttributes"), 
+  TEXT("Delete"), TEXT("ReadControl"), TEXT("WriteDAC"), TEXT("WriteOwner"), TEXT("Synchronize"),
+  TEXT("FullAccess"), TEXT("GenericRead"), TEXT("GenericWrite"), TEXT("GenericExecute"), NULL
+};
+
+static const DWORD g_filePermissionFlags[] =
+{
+  FILE_READ_DATA, FILE_WRITE_DATA, FILE_APPEND_DATA,
+  FILE_READ_EA, FILE_WRITE_EA, FILE_EXECUTE, FILE_READ_ATTRIBUTES, FILE_WRITE_ATTRIBUTES,
+  DELETE, READ_CONTROL, WRITE_DAC, WRITE_OWNER, SYNCHRONIZE,
+  FILE_ALL_ACCESS, FILE_GENERIC_READ, FILE_GENERIC_WRITE, FILE_GENERIC_EXECUTE
+};
+
+static const TCHAR* g_directoryPermissionNames[] =
+{
+  TEXT("ListDirectory"), TEXT("AddFile"), TEXT("AddSubdirectory"), 
+  TEXT("ReadEA"), TEXT("WriteEA"), TEXT("Traverse"), TEXT("DeleteChild"), 
+  TEXT("ReadAttributes"), TEXT("WriteAttributes"), 
+  TEXT("Delete"), TEXT("ReadControl"), TEXT("WriteDAC"), TEXT("WriteOwner"), TEXT("Synchronize"),
+  TEXT("FullAccess"), TEXT("GenericRead"), TEXT("GenericWrite"), TEXT("GenericExecute"), NULL
+};
+
+static const DWORD g_directoryPermissionFlags[] =
+{
+  FILE_LIST_DIRECTORY, FILE_ADD_FILE, FILE_ADD_SUBDIRECTORY,
+  FILE_READ_EA, FILE_WRITE_EA, FILE_TRAVERSE, FILE_DELETE_CHILD,
+  FILE_READ_ATTRIBUTES, FILE_WRITE_ATTRIBUTES,
+  DELETE, READ_CONTROL, WRITE_DAC, WRITE_OWNER, SYNCHRONIZE,
+  FILE_ALL_ACCESS, FILE_GENERIC_READ, FILE_GENERIC_WRITE, FILE_GENERIC_EXECUTE
+};
+
+static const TCHAR* g_registryPermissionNames[] =
+{
+  TEXT("QueryValue"), TEXT("SetValue"), TEXT("CreateSubKey"), 
+  TEXT("EnumerateSubKeys"), TEXT("Notify"), TEXT("CreateLink"), 
+  TEXT("Delete"), TEXT("ReadControl"), TEXT("WriteDAC"), TEXT("WriteOwner"), TEXT("Synchronize"),
+  TEXT("GenericRead"), TEXT("GenericWrite"), TEXT("GenericExecute"), TEXT("FullAccess"), NULL
+};
+
+static const DWORD g_registryPermissionFlags[] =
+{
+  KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, 
+  KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_LINK, 
+  DELETE, READ_CONTROL, WRITE_DAC, WRITE_OWNER, SYNCHRONIZE,
+  KEY_READ, KEY_WRITE, KEY_EXECUTE, KEY_ALL_ACCESS
+};
+
+static const SchemeType g_fileScheme[] =
+{
+  TEXT("file"), SE_FILE_OBJECT,
+  OBJECT_INHERIT_ACE,
+  g_filePermissionNames, 
+  g_filePermissionFlags,
+  SIZE_OF_ARRAY(g_filePermissionFlags)
+};
+
+static const SchemeType g_directoryScheme[] =
+{
+  TEXT("directory"), SE_FILE_OBJECT,
+  OBJECT_INHERIT_ACE | CONTAINER_INHERIT_ACE,
+  g_directoryPermissionNames, 
+  g_directoryPermissionFlags,
+  SIZE_OF_ARRAY(g_directoryPermissionFlags)
+};
+
+static const SchemeType g_registryScheme[] =
+{ 
+  TEXT("registry"), SE_REGISTRY_KEY,
+  CONTAINER_INHERIT_ACE,
+  g_registryPermissionNames, 
+  g_registryPermissionFlags,
+  SIZE_OF_ARRAY(g_registryPermissionFlags)
+};
+
+static const TCHAR* g_rootKeyNames[] =
+{
+  TEXT("HKCR"), TEXT("HKCU"), TEXT("HKLM"), TEXT("HKU"), NULL
+};
+
+static const HKEY g_rootKeyValues[] =
+{
+  HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, NULL
+};
+
+static const TCHAR* g_rootKeyPrefixes[] =
+{
+  TEXT("CLASSES_ROOT\\"), TEXT("CURRENT_USER\\"), TEXT("MACHINE\\"), TEXT("USERS\\")
+};
+
+/*****************************************************************************
+ GENERIC ACL HANDLING
+ *****************************************************************************/
+
+static DWORD MySetNamedSecurityInfo(const SchemeType* scheme, TCHAR* path, SECURITY_INFORMATION si, PSID psidOwner, PSID psidGroup, PACL pDacl, Options* options)
+{
+  DWORD ret;
+
+  if (scheme->type == SE_REGISTRY_KEY && (g_extra->exec_flags->alter_reg_view & KEY_WOW64_64KEY))
+  {
+    HKEY hKey = NULL;
+    if ((ret = RegOpenKeyEx(options->hRootKey, path, 0, (si & OWNER_SECURITY_INFORMATION || si & GROUP_SECURITY_INFORMATION ? WRITE_OWNER : 0)|(si & DACL_SECURITY_INFORMATION ? WRITE_DAC : 0)|KEY_WOW64_64KEY, &hKey)) == ERROR_SUCCESS)
+    {
+      SECURITY_DESCRIPTOR sd;
+      InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION);
+      if (si & OWNER_SECURITY_INFORMATION)
+        SetSecurityDescriptorOwner(&sd, psidOwner, FALSE);
+      if (si & GROUP_SECURITY_INFORMATION)
+        SetSecurityDescriptorGroup(&sd, psidGroup, FALSE);
+      if (si & DACL_SECURITY_INFORMATION)
+        SetSecurityDescriptorDacl(&sd, TRUE, pDacl, FALSE);
+      ret = RegSetKeySecurity(hKey, si, &sd);
+      RegCloseKey(hKey);
+    }
+  }
+  else
+  {
+    ret = SetNamedSecurityInfo(path, scheme->type, si, psidOwner, psidGroup, pDacl, NULL);
+  }
+
+  return ret;
+}
+
+static DWORD MyGetNamedSecurityInfo(const SchemeType* scheme, TCHAR* path, SECURITY_INFORMATION si, PSECURITY_DESCRIPTOR* ppsd, Options* options)
+{
+  DWORD ret = 1;
+  
+  if (scheme->type == SE_REGISTRY_KEY && (g_extra->exec_flags->alter_reg_view & KEY_WOW64_64KEY))
+  {
+    HKEY hKey = NULL;
+    if ((ret = RegOpenKeyEx(options->hRootKey, path, 0, READ_CONTROL|KEY_WOW64_64KEY, &hKey)) == ERROR_SUCCESS)
+    {
+      DWORD dwSize = 0;
+      if ((ret = RegGetKeySecurity(hKey, si, NULL, &dwSize)) == ERROR_INSUFFICIENT_BUFFER)
+        if (NULL != (*ppsd = (PSECURITY_DESCRIPTOR)LocalAlloc(dwSize)))
+          ret = RegGetKeySecurity(hKey, si, *ppsd, &dwSize);
+      RegCloseKey(hKey);
+    }
+  }
+  else
+  {
+    ret = GetNamedSecurityInfo(path, scheme->type, si, NULL, NULL, NULL, NULL, ppsd);
+  }
+
+  return ret;
+}
+
+static DWORD ChangeDACL(const SchemeType* scheme, TCHAR* path, DWORD mode, Options* options, TCHAR* param)
+{
+  TCHAR* trusteeName = NULL;
+  PSECURITY_DESCRIPTOR psd = NULL;
+  PSID pSid = NULL;
+  DWORD trusteeForm = TRUSTEE_IS_NAME;
+  DWORD permissions = 0;
+  PACL pOldAcl = NULL;
+  PACL pNewAcl = NULL;
+  EXPLICIT_ACCESS access;
+  BOOL present = TRUE;
+  BOOL defaulted = FALSE;
+
+  DWORD ret = 1;
+
+  if (popstring(param))
+    ABORT("Trustee is missing");
+
+  if (NULL == (trusteeName = ParseTrustee(param, &trusteeForm)))
+    ABORT_s("Bad trustee (%s)", param);
+
+  if (popstring(param))
+    ABORT("Permission flags are missing");
+
+  if (0 == (permissions = ParsePermissions(scheme, param)))
+    ABORT_s("Bad permission flags (%s)", param);
+  
+  ret = MyGetNamedSecurityInfo(scheme, path, DACL_SECURITY_INFORMATION, &psd, options);
+  if (ret != ERROR_SUCCESS)
+    ABORT_d("Cannot read access control list. Error code: %d", ret);
+
+  GetSecurityDescriptorDacl(psd, &present, &pOldAcl, &defaulted);
+
+  BuildExplicitAccessWithName(&access, TEXT(""), permissions, (ACCESS_MODE)mode, scheme->defaultInheritance);
+
+  access.Trustee.TrusteeForm = (TRUSTEE_FORM)trusteeForm;
+  access.Trustee.ptstrName = trusteeName;
+  if (options->noInherit)
+    access.grfInheritance = NO_INHERITANCE;
+
+  ret = SetEntriesInAcl(1, &access, pOldAcl, &pNewAcl);
+  if (ret != ERROR_SUCCESS)
+    ABORT_d("Cannot build new access control list. Error code: %d", ret);
+
+  ret = MySetNamedSecurityInfo(scheme, path, DACL_SECURITY_INFORMATION, NULL, NULL, pNewAcl, options);
+  if (ret != ERROR_SUCCESS)
+    ABORT_d("Cannot apply new access control list. Error code: %d", ret);
+
+cleanup:
+  LocalFree(pNewAcl);
+  LocalFree(psd);
+  LocalFree(trusteeName);
+  return ret;
+}
+
+static DWORD ChangeInheritance(const SchemeType* scheme, TCHAR* path, Options* options)
+{
+  PSECURITY_DESCRIPTOR psd = NULL;
+  PACL pOldAcl = NULL;
+  BOOL present = TRUE;
+  BOOL defaulted = FALSE;
+
+  DWORD ret = MyGetNamedSecurityInfo(scheme, path, DACL_SECURITY_INFORMATION, &psd, options);
+  if (ret != ERROR_SUCCESS)
+    ABORT_d("Cannot read access control list. Error code: %d", ret);
+
+  GetSecurityDescriptorDacl(psd, &present, &pOldAcl, &defaulted);
+  
+  ret = MySetNamedSecurityInfo(scheme, path, DACL_SECURITY_INFORMATION | (!options->noInherit ? UNPROTECTED_DACL_SECURITY_INFORMATION : PROTECTED_DACL_SECURITY_INFORMATION), NULL, NULL, pOldAcl, options);
+  if (ret != ERROR_SUCCESS)
+    ABORT_d("Cannot change access control list inheritance. Error code: %d", ret);
+
+cleanup:
+  LocalFree(psd);
+  return ret;
+}
+
+BOOL SetPrivilege(HANDLE hToken, LPCTSTR lpszPrivilege, BOOL bEnablePrivilege) 
+{
+  TOKEN_PRIVILEGES tp;
+  LUID luid;
+
+  if (!LookupPrivilegeValue(NULL, lpszPrivilege, &luid))
+    return FALSE;
+
+  tp.PrivilegeCount = 1;
+  tp.Privileges[0].Luid = luid;
+  tp.Privileges[0].Attributes = (bEnablePrivilege ? SE_PRIVILEGE_ENABLED : 0);
+
+  if (!AdjustTokenPrivileges(
+         hToken,
+         FALSE,
+         &tp,
+         sizeof(TOKEN_PRIVILEGES),
+         (PTOKEN_PRIVILEGES)NULL,
+         (PDWORD)NULL))
+    return FALSE;
+
+  if (GetLastError() == ERROR_NOT_ALL_ASSIGNED)
+    return FALSE;
+
+  return TRUE;
+}
+
+static DWORD ChangeOwner(const SchemeType* scheme, TCHAR* path, ChangeMode mode, Options* options, TCHAR* param)
+{
+  DWORD ret = 1;
+  PSID pSid = NULL, pSidOwner = NULL, pSidGroup = NULL;
+  SECURITY_INFORMATION what;
+  HANDLE hToken;
+
+  if (popstring(param))
+    ABORT("Trustee is missing");
+
+  if (NULL == (pSid = ParseSid(param)))
+    ABORT_s("Bad trustee (%s)", param);
+
+  switch(mode)
+  {
+  case ChangeMode_Owner:
+    what = OWNER_SECURITY_INFORMATION;
+    pSidOwner = pSid;
+    break;
+
+  case ChangeMode_Group:
+    what = GROUP_SECURITY_INFORMATION;
+    pSidGroup = pSid;
+    break;
+
+  default:
+    ABORT_d("Bug: Unsupported change mode: %d", mode);
+  }
+
+  if (!OpenProcessToken(GetCurrentProcess(),
+    TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
+    ABORT_d("Cannot open process token. Error code: %d", GetLastError());
+
+  // You only need WRITE_OWNER to change the owner of the object to yourself
+  // blogs.msdn.com/b/oldnewthing/archive/2005/08/18/453054.aspx
+  BOOL privRe = SetPrivilege(hToken, SE_RESTORE_NAME, TRUE);
+  BOOL privTO = SetPrivilege(hToken, SE_TAKE_OWNERSHIP_NAME, TRUE);
+
+  ret = MySetNamedSecurityInfo(scheme, path, what, pSidOwner, pSidGroup, NULL, options);
+
+  if (privRe) SetPrivilege(hToken, SE_RESTORE_NAME, FALSE);
+  if (privTO) SetPrivilege(hToken, SE_TAKE_OWNERSHIP_NAME, FALSE);
+
+  if (ret != ERROR_SUCCESS)
+    ABORT_d("Cannot apply new ownership. Error code: %d", ret);
+
+cleanup:
+  LocalFree(pSid);
+  CloseHandle(hToken);
+  return ret;
+}
+
+static DWORD GetOwner(const SchemeType* scheme, TCHAR* path, ChangeMode mode, TCHAR* owner, TCHAR* domain, Options* options)
+{
+  SECURITY_INFORMATION what;
+  PSECURITY_DESCRIPTOR psd = NULL;
+  PSID pSid = NULL, pSidGroup = NULL, pSidOwner = NULL;
+  SID_NAME_USE eUse = SidTypeUnknown;
+  DWORD dwOwner = g_string_size, dwDomain = g_string_size;
+  BOOL defaulted = FALSE;
+  DWORD ret = 1;
+
+  switch(mode)
+  {
+  case ChangeMode_Owner:
+    what = OWNER_SECURITY_INFORMATION;
+    break;
+
+  case ChangeMode_Group:
+    what = GROUP_SECURITY_INFORMATION;
+    break;
+
+  default:
+    ABORT_d("Bug: Unsupported change mode: %d", mode);
+  }
+  
+  ret = MyGetNamedSecurityInfo(scheme, path, what, &psd, options);
+  if (ret != ERROR_SUCCESS)
+    ABORT_d("Cannot get current ownership. Error code: %d", ret);
+
+  if (mode == OWNER_SECURITY_INFORMATION)
+    GetSecurityDescriptorOwner(psd, &pSidOwner, &defaulted);
+  else
+    GetSecurityDescriptorGroup(psd, &pSidGroup, &defaulted);
+
+  if (!LookupAccountSid(NULL, (pSidOwner ? pSidOwner : pSidGroup),
+          owner, &dwOwner, domain, &dwDomain, &eUse))
+    ABORT_d("Cannot look up owner. Error code: %d", GetLastError());
+
+cleanup:
+  LocalFree(psd);
+  return ret;
+}
+
+static DWORD ClearACL(const SchemeType* scheme, TCHAR* path, Options* options, TCHAR* param)
+{
+  TCHAR* trusteeName = NULL;
+  PSID pSid = NULL;
+  DWORD trusteeForm = TRUSTEE_IS_NAME;
+  DWORD permissions = 0;
+  PACL pNewAcl = NULL;
+  EXPLICIT_ACCESS access;
+
+  DWORD ret = 1;
+
+  if (popstring(param))
+    ABORT("Trustee is missing");
+
+  if (NULL == (trusteeName = ParseTrustee(param, &trusteeForm)))
+    ABORT_s("Bad trustee (%s)", param);
+
+  if (popstring(param))
+    ABORT("Permission flags are missing");
+
+  if (0 == (permissions = ParsePermissions(scheme, param)))
+    ABORT_s("Bad permission flags (%s)", param);
+
+  BuildExplicitAccessWithName(&access, TEXT(""), permissions, SET_ACCESS, scheme->defaultInheritance);
+
+  access.Trustee.TrusteeForm = (TRUSTEE_FORM)trusteeForm;
+  access.Trustee.ptstrName = trusteeName;
+  if (options->noInherit)
+    access.grfInheritance = NO_INHERITANCE;
+
+  ret = SetEntriesInAcl(1, &access, NULL, &pNewAcl);
+  if (ret != ERROR_SUCCESS)
+    ABORT_d("Cannot build new access control list. Error code: %d", ret);
+  
+  ret = MySetNamedSecurityInfo(scheme, path, DACL_SECURITY_INFORMATION, NULL, NULL, pNewAcl, options);
+  if (ret != ERROR_SUCCESS)
+    ABORT_d("Cannot change access control list inheritance. Error code: %d", ret);
+
+cleanup:
+  LocalFree(pNewAcl);
+  LocalFree(trusteeName);
+  return ret;
+}
+
+/*****************************************************************************
+ FILESYSTEM BASED ACL HANDLING
+ *****************************************************************************/
+
+static const SchemeType* PopFileArgs(TCHAR* path, Options* options)
+{
+  if (popstring(path) == 0)
+  {
+    DWORD attr;
+    options->noInherit = FALSE;
+    if (lstrcmpi(path, TEXT("/noinherit")) == 0)
+    {
+      options->noInherit = TRUE;
+      popstring(path);
+    }
+    attr = GetFileAttributes(path);
+
+    if (INVALID_FILE_ATTRIBUTES != attr)
+      return FILE_ATTRIBUTE_DIRECTORY & attr
+        ? g_directoryScheme
+        : g_fileScheme;
+    else
+      ABORT("Invalid filesystem path missing");
+  }
+  else
+    ABORT("Filesystem path missing");
+
+cleanup:
+  return NULL;
+}
+
+static void ChangeFileInheritance(BOOL inherit)
+{
+  DWORD ret = 1;
+  TCHAR* path = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+  if (path)
+  {
+    const SchemeType* scheme;
+    Options options;
+
+    if (NULL != (scheme = PopFileArgs(path, &options)))
+    {
+        options.noInherit = !inherit;
+        if (0 == (ret = ChangeInheritance(scheme, path, &options)))
+          pushstring(TEXT("ok"));
+    }
+
+    LocalFree(path);
+  }
+
+  if (ret) pushstring(TEXT("error"));
+}
+
+static void ChangeFileDACL(DWORD mode)
+{
+  DWORD ret = 1;
+  TCHAR* path = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+  if (path)
+  {
+    TCHAR* param = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+    if (param)
+    {
+      const SchemeType* scheme;
+      Options options;
+
+      if (NULL != (scheme = PopFileArgs(path, &options)))
+        if (0 == (ret = ChangeDACL(scheme, path, mode, &options, param)))
+          pushstring(TEXT("ok"));
+
+      LocalFree(param);
+    }
+
+    LocalFree(path);
+  }
+
+  if (ret) pushstring(TEXT("error"));
+}
+
+static void ChangeFileOwner(ChangeMode mode)
+{
+  DWORD ret = 1;
+  TCHAR* path = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+  if (path)
+  {
+    TCHAR* param = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+    if (param)
+    {
+      const SchemeType* scheme;
+      Options options;
+
+      if (NULL != (scheme = PopFileArgs(path, &options)))
+        if (0 == (ret = ChangeOwner(scheme, path, mode, &options, param)))
+          pushstring(TEXT("ok"));
+    
+      LocalFree(param);
+    }
+
+    LocalFree(path);
+  }
+
+  if (ret) pushstring(TEXT("error"));
+}
+
+static void PushFileOwner(ChangeMode mode)
+{
+  DWORD ret = 1;
+  TCHAR* path = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+  if (path)
+  {
+    TCHAR* owner = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+    if (owner)
+    {
+      TCHAR* domain = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+      if (domain)
+      {
+        const SchemeType* scheme;
+        Options options;
+
+        if (NULL != (scheme = PopFileArgs(path, &options)))
+        {
+          if (0 == (ret = GetOwner(scheme, path, mode, owner, domain, &options)))
+            pushstring(owner);
+        }
+      
+        LocalFree(domain);
+      }
+      
+      LocalFree(owner);
+    }
+
+    LocalFree(path);
+  }
+
+  if (ret) pushstring(TEXT("error"));
+}
+
+/*****************************************************************************
+ REGISTRY BASED ACL HANDLING
+ *****************************************************************************/
+
+static BOOL PopRegKeyArgs(TCHAR* path, Options* options, TCHAR* param)
+{
+  int iRootKey;
+  BOOL success = FALSE;
+
+  if (popstring(param) == 0)
+  {
+    options->noInherit = FALSE;
+    if (lstrcmpi(param, TEXT("/noinherit")) == 0)
+    {
+      options->noInherit = TRUE;
+      popstring(param);
+    }
+  }
+  else
+    ABORT("Root key name missing");
+
+  iRootKey = ParseEnum(g_rootKeyNames, param);
+  if (!ARRAY_CONTAINS(g_rootKeyPrefixes, iRootKey))
+    ABORT_s("Bad root key name (%s)", param);
+
+  if (popstring(param) != 0)
+    ABORT("Registry key name missing");
+
+  if (g_extra->exec_flags->alter_reg_view & KEY_WOW64_64KEY)
+  {
+    options->hRootKey = g_rootKeyValues[iRootKey];
+    lstrcpy(path, param);
+  }
+  else
+  {
+    lstrcpy(path, g_rootKeyPrefixes[iRootKey]);
+    lstrcat(path, param);
+  }
+
+  success = TRUE;
+
+cleanup:
+  return success;
+}
+
+static void ChangeRegKeyInheritance(BOOL inherit)
+{
+  DWORD ret = 1;
+  TCHAR* path = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+  if (path)
+  {
+    TCHAR* param = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+    if (param)
+    {
+      Options options;
+
+      if (PopRegKeyArgs(path, &options, param))
+      {
+        options.noInherit = !inherit;
+        if (0 == (ret = ChangeInheritance(g_registryScheme, path, &options)))
+          pushstring(TEXT("ok"));
+      }
+
+      LocalFree(param);
+    }
+
+    LocalFree(path);
+  }
+
+  if (ret) pushstring(TEXT("error"));
+}
+
+static void ChangeRegKeyDACL(DWORD mode)
+{
+  DWORD ret = 1;
+  TCHAR* path = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+  if (path)
+  {
+    TCHAR* param = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+    if (param)
+    {
+      Options options;
+
+      if (PopRegKeyArgs(path, &options, param))
+        if (0 == (ret = ChangeDACL(g_registryScheme, path, mode, &options, param)))
+          pushstring(TEXT("ok"));
+
+      LocalFree(param);
+    }
+
+    LocalFree(path);
+  }
+
+  if (ret) pushstring(TEXT("error"));
+}
+
+static void ChangeRegKeyOwner(ChangeMode mode)
+{
+  DWORD ret = 1;
+  TCHAR* path = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+  if (path)
+  {
+    TCHAR* param = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+    if (param)
+    {
+      Options options;
+
+      if (PopRegKeyArgs(path, &options, param))
+        if (0 == (ret = ChangeOwner(g_registryScheme, path, mode, &options, param)))
+          pushstring(TEXT("ok"));
+
+      LocalFree(param);
+    }
+
+    LocalFree(path);
+  }
+
+  if (ret) pushstring(TEXT("error"));
+}
+
+static void PushRegKeyOwner(ChangeMode mode)
+{
+  DWORD ret = 1;
+  TCHAR* path = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+  if (path)
+  {
+    TCHAR* owner = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+    if (owner)
+    {
+      TCHAR* domain = (TCHAR*)LocalAlloc(g_string_size*sizeof(TCHAR));
+
+      if (domain)
+      {
+        Options options;
+
+        if (PopRegKeyArgs(path, &options, owner))
+          if (0 == (ret = GetOwner(g_registryScheme, path, mode, owner, domain, &options)))
+            pushstring(owner);
+
+        LocalFree(domain);
+      }
+
+      LocalFree(owner);
+    }
+
+    LocalFree(path);
+  }
+
+  if (ret) pushstring(TEXT("error"));
+}
+
+/*****************************************************************************
+ PUBLIC FILE RELATED FUNCTIONS
+ *****************************************************************************/
+
+PUBLIC_FUNCTION(EnableFileInheritance)
+  ChangeFileInheritance(TRUE);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(DisableFileInheritance)
+  ChangeFileInheritance(FALSE);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(GrantOnFile)
+  ChangeFileDACL(GRANT_ACCESS);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(SetOnFile)
+  ChangeFileDACL(SET_ACCESS);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(DenyOnFile)
+  ChangeFileDACL(DENY_ACCESS);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(RevokeOnFile)
+  ChangeFileDACL(REVOKE_ACCESS);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(SetFileOwner)
+  ChangeFileOwner(ChangeMode_Owner);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(SetFileGroup)
+  ChangeFileOwner(ChangeMode_Group);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(GetFileOwner)
+  PushFileOwner(ChangeMode_Owner);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(GetFileGroup)
+  PushFileOwner(ChangeMode_Group);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(ClearOnFile)
+{
+  DWORD ret = 1;
+  TCHAR* path = (TCHAR*)LocalAlloc(string_size*sizeof(TCHAR));
+
+  if (path)
+  {
+    TCHAR* param = (TCHAR*)LocalAlloc(string_size*sizeof(TCHAR));
+    
+    if (param)
+    {
+      const SchemeType* scheme;
+      Options options;
+
+      if (NULL != (scheme = PopFileArgs(path, &options)))
+        if (0 == (ret = ClearACL(scheme, path, &options, param)))
+          pushstring(TEXT("ok"));
+
+      LocalFree(param);
+    }
+
+    LocalFree(path);
+  }
+
+  if (ret) pushstring(TEXT("error"));
+}
+PUBLIC_FUNCTION_END
+
+/*****************************************************************************
+ PUBLIC REGISTRY RELATED FUNCTIONS
+ *****************************************************************************/
+
+PUBLIC_FUNCTION(EnableRegKeyInheritance)
+  ChangeRegKeyInheritance(TRUE);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(DisableRegKeyInheritance)
+  ChangeRegKeyInheritance(FALSE);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(GrantOnRegKey)
+  ChangeRegKeyDACL(GRANT_ACCESS);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(SetOnRegKey)
+  ChangeRegKeyDACL(SET_ACCESS);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(DenyOnRegKey)
+  ChangeRegKeyDACL(DENY_ACCESS);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(RevokeOnRegKey)
+  ChangeRegKeyDACL(REVOKE_ACCESS);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(SetRegKeyOwner)
+  ChangeRegKeyOwner(ChangeMode_Owner);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(SetRegKeyGroup)
+  ChangeRegKeyOwner(ChangeMode_Group);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(GetRegKeyOwner)
+  PushRegKeyOwner(ChangeMode_Owner);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(GetRegKeyGroup)
+  PushRegKeyOwner(ChangeMode_Group);
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(ClearOnRegKey)
+{
+  DWORD ret = 1;
+  TCHAR* path = (TCHAR*)LocalAlloc(string_size*sizeof(TCHAR));
+
+  if (path)
+  {
+    TCHAR* param = (TCHAR*)LocalAlloc(string_size*sizeof(TCHAR));
+
+    if (param)
+    {
+      Options options;
+
+      if (PopRegKeyArgs(path, &options, param))
+        if (0 == (ret = ClearACL(g_registryScheme, path, &options, param)))
+          pushstring(TEXT("ok"));
+
+      LocalFree(param);
+    }
+
+    LocalFree(path);
+  }
+
+  if (ret) pushstring(TEXT("error"));
+}
+PUBLIC_FUNCTION_END
+
+/*****************************************************************************
+ OTHER ACCOUNT RELATED FUNCTIONS
+ *****************************************************************************/
+
+PUBLIC_FUNCTION(NameToSid)
+{
+  DWORD ret = 1;
+  TCHAR *param = (TCHAR*)LocalAlloc(string_size*sizeof(TCHAR)), *retstr = ERRSTR_OOM;
+
+  if (param)
+  {
+    if (popstring(param) == 0)
+    {
+      DWORD dwSid = 0;
+      DWORD dwDomain = 0;
+      SID_NAME_USE eUse;
+      LookupAccountName(NULL, param, NULL, &dwSid, NULL, &dwDomain, &eUse);
+
+      if (dwSid > 0)
+      {
+        PSID pSid = (PSID)LocalAlloc(dwSid);
+        if (pSid)
+        {
+          TCHAR* domain = (TCHAR*)LocalAlloc(dwDomain*sizeof(TCHAR));
+          if (domain)
+          {
+            retstr = param;
+            if (!LookupAccountName(NULL, param, pSid, &dwSid, domain, &dwDomain, &eUse) || !ConvertSidToStringSidNoAlloc(pSid, param))
+              wsprintf(param, TEXT("Cannot look up name. Error code: %d"), GetLastError());
+            else
+              ret = 0;
+            LocalFree(domain);
+          }
+          LocalFree(pSid);
+        }
+      }
+    }
+  }
+  pushstring(retstr);
+  LocalFree(param);
+
+  if (ret) pushstring(TEXT("error"));
+}
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(SidToName)
+{
+  DWORD ret = 1;
+  TCHAR *param = (TCHAR*)LocalAlloc(string_size*sizeof(TCHAR));
+
+  if (param)
+  {
+    DWORD dwName = string_size;
+    TCHAR* name = (TCHAR*)LocalAlloc(dwName*sizeof(TCHAR));
+
+    if (name)
+    {
+      DWORD dwDomain = string_size;
+      TCHAR* domain = (TCHAR*)LocalAlloc(dwDomain*sizeof(TCHAR));
+
+      if (domain)
+      {
+        if (popstring(param) == 0)
+        {
+          PSID pSid = NULL;
+          SID_NAME_USE eUse;
+          if (!ConvertStringSidToSid(param, &pSid) || !LookupAccountSid(NULL, pSid, name, &dwName, domain, &dwDomain, &eUse))
+          {
+            wsprintf(param, TEXT("Cannot look up SID. Error code: %d"), GetLastError());
+            pushstring(param); // BUGBUG: What if LocalAlloc fails and we never get here?
+          }
+          else
+          {
+            pushstring(name);
+            pushstring(domain);
+            ret = 0;
+          }
+          LocalFree(pSid);
+        }
+        LocalFree(domain);
+      }
+      LocalFree(name);
+    }
+    LocalFree(param);
+  }
+
+  if (ret) pushstring(TEXT("error"));
+}
+PUBLIC_FUNCTION_END
+
+PUBLIC_FUNCTION(GetCurrentUserName)
+{
+  TCHAR *name = (TCHAR*)LocalAlloc(string_size*sizeof(TCHAR)), *retstr = TEXT("error");
+  DWORD dwName = string_size;
+  if (name && GetUserName(name, &dwName)) retstr = name;
+  pushstring(retstr);
+  LocalFree(name);
+}
+PUBLIC_FUNCTION_END
+
+#ifdef _VC_NODEFAULTLIB
+#define DllMain _DllMainCRTStartup
+#endif
+EXTERN_C BOOL WINAPI DllMain(HINSTANCE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
+{
+  g_hInstance = (HINSTANCE)hInst;
+  return TRUE;
+}
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI/ioSpecial.ini
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI/ioSpecial.ini	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI/ioSpecial.ini	(revision 2961)
@@ -0,0 +1,19 @@
+[Settings]
+Rect=1044
+NumFields=3
+[Field 1]
+Type=bitmap
+Left=0
+Right=109
+Top=0
+Bottom=193
+Flags=RESIZETOFIT
+[Field 2]
+Type=label
+Left=120
+Right=315
+Top=10
+[Field 3]
+Type=label
+Left=120
+Right=315
\ No newline at end of file

Property changes on: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI/ioSpecial.ini
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI/System.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI/System.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI/System.nsh	(revision 2961)
@@ -0,0 +1,2206 @@
+/*
+
+NSIS Modern User Interface - Version 1.8
+Copyright 2002-2015 Joost Verburg
+
+*/
+
+!echo "NSIS Modern User Interface version 1.8 - Copyright 2002-2015 Joost Verburg"
+
+;--------------------------------
+
+!ifndef MUI_INCLUDED
+!define MUI_INCLUDED
+
+!define MUI_SYSVERSION "1.8"
+
+!verbose push
+
+!ifndef MUI_VERBOSE
+  !define MUI_VERBOSE 3
+!endif
+
+!verbose ${MUI_VERBOSE}
+
+;--------------------------------
+;HEADER FILES, DECLARATIONS
+
+!include InstallOptions.nsh
+!include LangFile.nsh
+!include WinMessages.nsh
+
+Var MUI_TEMP1
+Var MUI_TEMP2
+
+;--------------------------------
+;INSERT CODE
+
+!macro MUI_INSERT
+
+  !ifndef MUI_INSERT
+    !define MUI_INSERT
+
+    !ifdef MUI_PRODUCT | MUI_VERSION
+      !warning "The MUI_PRODUCT and MUI_VERSION defines have been removed. Use a normal Name command now."
+    !endif
+
+    !insertmacro MUI_INTERFACE
+
+    !insertmacro MUI_FUNCTION_GUIINIT
+    !insertmacro MUI_FUNCTION_ABORTWARNING
+  
+    !ifdef MUI_IOCONVERT_USED
+      !insertmacro INSTALLOPTIONS_FUNCTION_WRITE_CONVERT
+    !endif
+
+    !ifdef MUI_UNINSTALLER
+      !insertmacro MUI_UNFUNCTION_GUIINIT
+      !insertmacro MUI_FUNCTION_UNABORTWARNING
+    
+      !ifdef MUI_UNIOCONVERT_USED
+        !insertmacro INSTALLOPTIONS_UNFUNCTION_WRITE_CONVERT
+      !endif
+    !endif
+
+  !endif
+
+!macroend
+
+;--------------------------------
+;GENERAL
+
+!macro MUI_DEFAULT SYMBOL CONTENT
+
+  !ifndef "${SYMBOL}"
+    !define "${SYMBOL}" "${CONTENT}"
+  !endif
+
+!macroend
+
+!macro MUI_DEFAULT_IOCONVERT SYMBOL CONTENT
+
+  !ifndef "${SYMBOL}"
+    !define "${SYMBOL}" "${CONTENT}"
+    !insertmacro MUI_SET "${SYMBOL}_DEFAULTSET"
+    !insertmacro MUI_SET "MUI_${MUI_PAGE_UNINSTALLER_PREFIX}IOCONVERT_USED"
+  !else
+    !insertmacro MUI_UNSET "${SYMBOL}_DEFAULTSET" 
+  !endif
+
+!macroend
+
+!macro MUI_SET SYMBOL
+
+  !ifndef "${SYMBOL}"
+    !define "${SYMBOL}"
+  !endif
+
+!macroend
+
+!macro MUI_UNSET SYMBOL
+
+  !ifdef "${SYMBOL}"
+    !undef "${SYMBOL}"
+  !endif
+
+!macroend
+
+;--------------------------------
+;INTERFACE - COMPILE TIME SETTINGS
+
+!macro MUI_INTERFACE
+
+  !ifndef MUI_INTERFACE
+    !define MUI_INTERFACE
+
+    !ifdef MUI_INSERT_NSISCONF
+      !insertmacro MUI_NSISCONF
+    !endif
+
+    !insertmacro MUI_DEFAULT MUI_UI "${NSISDIR}\Contrib\UIs\modern.exe"
+    !insertmacro MUI_DEFAULT MUI_UI_HEADERIMAGE "${NSISDIR}\Contrib\UIs\modern_headerbmp.exe"
+    !insertmacro MUI_DEFAULT MUI_UI_HEADERIMAGE_RIGHT "${NSISDIR}\Contrib\UIs\modern_headerbmpr.exe"
+    !insertmacro MUI_DEFAULT MUI_UI_COMPONENTSPAGE_SMALLDESC "${NSISDIR}\Contrib\UIs\modern_smalldesc.exe"
+    !insertmacro MUI_DEFAULT MUI_UI_COMPONENTSPAGE_NODESC "${NSISDIR}\Contrib\UIs\modern_nodesc.exe"
+    !insertmacro MUI_DEFAULT MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
+    !insertmacro MUI_DEFAULT MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
+    !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_CHECKBITMAP "${NSISDIR}\Contrib\Graphics\Checks\modern.bmp"
+    !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_BGCOLOR "/windows"
+    !insertmacro MUI_DEFAULT MUI_INSTFILESPAGE_COLORS "/windows"
+    !insertmacro MUI_DEFAULT MUI_INSTFILESPAGE_PROGRESSBAR "smooth"
+    !insertmacro MUI_DEFAULT MUI_BGCOLOR "FFFFFF"
+    !insertmacro MUI_DEFAULT MUI_WELCOMEFINISHPAGE_INI "${NSISDIR}\Contrib\Modern UI\ioSpecial.ini"
+    !insertmacro MUI_DEFAULT MUI_UNWELCOMEFINISHPAGE_INI "${NSISDIR}\Contrib\Modern UI\ioSpecial.ini"
+    !insertmacro MUI_DEFAULT MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\win.bmp"
+    !insertmacro MUI_DEFAULT MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\win.bmp"
+
+    !ifdef MUI_HEADERIMAGE
+
+      !insertmacro MUI_DEFAULT MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\nsis.bmp"
+
+      !ifndef MUI_HEADERIMAGE_UNBITMAP
+        !define MUI_HEADERIMAGE_UNBITMAP "${MUI_HEADERIMAGE_BITMAP}"
+        !ifdef MUI_HEADERIMAGE_BITMAP_NOSTRETCH
+          !insertmacro MUI_SET MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH
+        !endif
+      !endif
+
+      !ifdef MUI_HEADERIMAGE_BITMAP_RTL
+        !ifndef MUI_HEADERIMAGE_UNBITMAP_RTL
+          !define MUI_HEADERIMAGE_UNBITMAP_RTL "${MUI_HEADERIMAGE_BITMAP_RTL}"
+          !ifdef MUI_HEADERIMAGE_BITMAP_RTL_NOSTRETCH
+            !insertmacro MUI_SET MUI_HEADERIMAGE_UNBITMAP_RTL_NOSTRETCH
+          !endif
+        !endif
+      !endif
+
+    !endif
+
+    XPStyle On
+
+    ChangeUI all "${MUI_UI}"
+    !ifdef MUI_HEADERIMAGE
+      !ifndef MUI_HEADERIMAGE_RIGHT
+        ChangeUI IDD_INST "${MUI_UI_HEADERIMAGE}"
+      !else
+        ChangeUI IDD_INST "${MUI_UI_HEADERIMAGE_RIGHT}"
+      !endif
+    !endif
+    !ifdef MUI_COMPONENTSPAGE_SMALLDESC
+      ChangeUI IDD_SELCOM "${MUI_UI_COMPONENTSPAGE_SMALLDESC}"
+    !else ifdef MUI_COMPONENTSPAGE_NODESC
+       ChangeUI IDD_SELCOM "${MUI_UI_COMPONENTSPAGE_NODESC}"
+    !endif
+
+    Icon "${MUI_ICON}"
+    UninstallIcon "${MUI_UNICON}"
+
+    CheckBitmap "${MUI_COMPONENTSPAGE_CHECKBITMAP}"
+    LicenseBkColor "${MUI_LICENSEPAGE_BGCOLOR}"
+    InstallColors ${MUI_INSTFILESPAGE_COLORS}
+    InstProgressFlags ${MUI_INSTFILESPAGE_PROGRESSBAR}
+
+    SubCaption 4 " "
+    UninstallSubCaption 2 " "
+
+    !insertmacro MUI_DEFAULT MUI_ABORTWARNING_TEXT "$(MUI_TEXT_ABORTWARNING)"
+    !insertmacro MUI_DEFAULT MUI_UNABORTWARNING_TEXT "$(MUI_UNTEXT_ABORTWARNING)"
+
+  !endif
+
+!macroend
+
+;--------------------------------
+;INTERFACE - RUN-TIME
+
+!macro MUI_INNERDIALOG_TEXT CONTROL TEXT
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
+  GetDlgItem $MUI_TEMP1 $MUI_TEMP1 ${CONTROL}
+  SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:${TEXT}"
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_HEADER_TEXT_INTERNAL ID TEXT
+
+  GetDlgItem $MUI_TEMP1 $HWNDPARENT "${ID}"
+
+  !ifdef MUI_HEADER_TRANSPARENT_TEXT
+
+    ShowWindow $MUI_TEMP1 ${SW_HIDE}
+
+  !endif
+
+  SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:${TEXT}"
+
+  !ifdef MUI_HEADER_TRANSPARENT_TEXT
+
+    ShowWindow $MUI_TEMP1 ${SW_SHOWNA}
+
+  !endif
+
+!macroend
+
+!macro MUI_HEADER_TEXT TEXT SUBTEXT
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !ifdef MUI_HEADER_TRANSPARENT_TEXT
+
+    LockWindow on
+
+  !endif
+
+  !insertmacro MUI_HEADER_TEXT_INTERNAL 1037 "${TEXT}"
+  !insertmacro MUI_HEADER_TEXT_INTERNAL 1038 "${SUBTEXT}"
+
+  !ifdef MUI_HEADER_TRANSPARENT_TEXT
+
+    LockWindow off
+
+  !endif
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_HEADER_TEXT_PAGE TEXT SUBTEXT
+
+  !ifdef MUI_PAGE_HEADER_TEXT & MUI_PAGE_HEADER_SUBTEXT
+    !insertmacro MUI_HEADER_TEXT "${MUI_PAGE_HEADER_TEXT}" "${MUI_PAGE_HEADER_SUBTEXT}"
+  !else ifdef MUI_PAGE_HEADER_TEXT
+    !insertmacro MUI_HEADER_TEXT "${MUI_PAGE_HEADER_TEXT}" "${SUBTEXT}"
+  !else ifdef MUI_PAGE_HEADER_SUBTEXT
+    !insertmacro MUI_HEADER_TEXT "${TEXT}" "${MUI_PAGE_HEADER_SUBTEXT}"
+  !else
+    !insertmacro MUI_HEADER_TEXT "${TEXT}" "${SUBTEXT}"
+  !endif
+
+  !insertmacro MUI_UNSET MUI_PAGE_HEADER_TEXT
+  !insertmacro MUI_UNSET MUI_PAGE_HEADER_SUBTEXT
+
+!macroend
+
+!macro MUI_DESCRIPTION_BEGIN
+
+  FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
+  GetDlgItem $MUI_TEMP1 $MUI_TEMP1 1043
+
+  StrCmp $0 -1 0 mui.description_begin_done
+    SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:"
+    EnableWindow $MUI_TEMP1 0
+    SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:$MUI_TEXT"
+    Goto mui.description_done
+  mui.description_begin_done:
+
+!macroend
+
+!macro MUI_DESCRIPTION_TEXT VAR TEXT
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  StrCmp $0 ${VAR} 0 mui.description_${VAR}_done
+    SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:"
+    EnableWindow $MUI_TEMP1 1
+    SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:${TEXT}"
+    Goto mui.description_done
+  mui.description_${VAR}_done:
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_DESCRIPTION_END
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  mui.description_done:
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_ENDHEADER
+
+  IfAbort mui.endheader_abort
+
+    !ifdef MUI_INSTFILESPAGE_FINISHHEADER_TEXT & MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
+      !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_FINISHHEADER_TEXT}" "${MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT}"
+    !else ifdef MUI_INSTFILESPAGE_FINISHHEADER_TEXT
+      !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_FINISHHEADER_TEXT}" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_SUBTITLE)"
+    !else ifdef MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
+      !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_TITLE)" "${MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT}"
+    !else
+      !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_TITLE)" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_SUBTITLE)"
+    !endif
+
+  Goto mui.endheader_done
+
+  mui.endheader_abort:
+
+    !ifdef MUI_INSTFILESPAGE_ABORTHEADER_TEXT & MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT
+      !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_ABORTHEADER_TEXT}" "${MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT}"
+    !else ifdef MUI_INSTFILESPAGE_ABORTHEADER_TEXT
+      !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_ABORTHEADER_TEXT}" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_SUBTITLE)"
+    !else ifdef MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT
+      !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_TITLE)" "${MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT}"
+    !else
+      !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_TITLE)" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_SUBTITLE)"
+    !endif
+
+  mui.endheader_done:
+
+!macroend
+
+!macro MUI_ABORTWARNING
+
+  !ifdef MUI_FINISHPAGE_ABORTWARNINGCHECK
+    StrCmp $MUI_NOABORTWARNING "1" mui.quit
+  !endif
+
+  !ifdef MUI_ABORTWARNING_CANCEL_DEFAULT
+    MessageBox MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2 "${MUI_ABORTWARNING_TEXT}" IDYES mui.quit
+  !else
+    MessageBox MB_YESNO|MB_ICONEXCLAMATION "${MUI_ABORTWARNING_TEXT}" IDYES mui.quit
+  !endif
+
+  Abort
+  mui.quit:
+
+!macroend
+
+!macro MUI_UNABORTWARNING
+
+  !ifdef MUI_UNABORTWARNING_CANCEL_DEFAULT
+    MessageBox MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2 "${MUI_UNABORTWARNING_TEXT}" IDYES mui.quit
+  !else
+    MessageBox MB_YESNO|MB_ICONEXCLAMATION "${MUI_UNABORTWARNING_TEXT}" IDYES mui.quit
+  !endif
+
+  Abort
+  mui.quit:
+
+!macroend
+
+!macro MUI_GUIINIT
+
+  !insertmacro MUI_WELCOMEFINISHPAGE_INIT ""
+  !insertmacro MUI_HEADERIMAGE_INIT ""
+
+  !insertmacro MUI_GUIINIT_BASIC
+
+!macroend
+
+!macro MUI_UNGUIINIT
+
+  !insertmacro MUI_WELCOMEFINISHPAGE_INIT "UN"
+  !insertmacro MUI_HEADERIMAGE_INIT "UN"
+
+  !insertmacro MUI_GUIINIT_BASIC
+
+  !ifdef MUI_UNFINISHPAGE
+    !ifndef MUI_UNFINISHPAGE_NOAUTOCLOSE
+      SetAutoClose true
+    !endif
+  !endif
+
+!macroend
+
+!macro MUI_GUIINIT_BASIC
+
+  GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
+  CreateFont $MUI_TEMP2 "$(^Font)" "$(^FontSize)" "700"
+  SendMessage $MUI_TEMP1 ${WM_SETFONT} $MUI_TEMP2 0
+
+  !ifndef MUI_HEADER_TRANSPARENT_TEXT
+
+    SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
+    SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
+
+  !else
+
+    SetCtlColors $MUI_TEMP1 "" "transparent"
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
+    SetCtlColors $MUI_TEMP1 "" "transparent"
+
+  !endif
+
+  GetDlgItem $MUI_TEMP1 $HWNDPARENT 1034
+  SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
+
+  GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
+  SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
+
+  GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
+  SetCtlColors $MUI_TEMP1 /BRANDING
+  GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
+  SetCtlColors $MUI_TEMP1 /BRANDING
+  SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:$(^Branding) "
+
+!macroend
+
+!macro MUI_WELCOMEFINISHPAGE_INIT UNINSTALLER
+
+  !ifdef MUI_${UNINSTALLER}WELCOMEPAGE | MUI_${UNINSTALLER}FINISHPAGE
+
+    !insertmacro INSTALLOPTIONS_EXTRACT_AS "${MUI_${UNINSTALLER}WELCOMEFINISHPAGE_INI}" "ioSpecial.ini"
+    File "/oname=$PLUGINSDIR\modern-wizard.bmp" "${MUI_${UNINSTALLER}WELCOMEFINISHPAGE_BITMAP}"
+
+    !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Text" "$PLUGINSDIR\modern-wizard.bmp"
+
+    !ifdef MUI_${UNINSTALLER}WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Flags" ""
+    !endif
+
+  !endif
+
+!macroend
+
+!macro MUI_HEADERIMAGE_INIT UNINSTALLER
+
+  !ifdef MUI_HEADERIMAGE
+
+    InitPluginsDir
+
+    !ifdef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL
+
+    StrCmp $(^RTL) 0 mui.headerimageinit_nortl
+
+        File "/oname=$PLUGINSDIR\modern-header.bmp" "${MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL}"
+
+        !ifndef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL_NOSTRETCH
+          SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR\modern-header.bmp"
+        !else
+          SetBrandingImage /IMGID=1046 "$PLUGINSDIR\modern-header.bmp"
+        !endif
+
+        Goto mui.headerimageinit_done
+
+      mui.headerimageinit_nortl:
+
+    !endif
+
+        File "/oname=$PLUGINSDIR\modern-header.bmp" "${MUI_HEADERIMAGE_${UNINSTALLER}BITMAP}"
+
+        !ifndef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_NOSTRETCH
+          SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR\modern-header.bmp"
+        !else
+          SetBrandingImage /IMGID=1046 "$PLUGINSDIR\modern-header.bmp"
+        !endif
+
+    !ifdef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL
+
+    mui.headerimageinit_done:
+
+    !endif
+
+  !endif
+
+!macroend
+
+;--------------------------------
+;INTERFACE - FUNCTIONS
+
+!macro MUI_FUNCTION_GUIINIT
+
+  Function .onGUIInit
+
+    !insertmacro MUI_GUIINIT
+
+    !ifdef MUI_CUSTOMFUNCTION_GUIINIT
+      Call "${MUI_CUSTOMFUNCTION_GUIINIT}"
+    !endif
+
+  FunctionEnd
+
+!macroend
+
+!macro MUI_FUNCTION_DESCRIPTION_BEGIN
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !ifndef MUI_VAR_TEXT
+    Var MUI_TEXT
+    !define MUI_VAR_TEXT
+  !endif
+
+  Function .onMouseOverSection
+    !insertmacro MUI_DESCRIPTION_BEGIN
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_FUNCTION_DESCRIPTION_END
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+    !insertmacro MUI_DESCRIPTION_END
+    !ifdef MUI_CUSTOMFUNCTION_ONMOUSEOVERSECTION
+      Call "${MUI_CUSTOMFUNCTION_ONMOUSEOVERSECTION}"
+    !endif
+  FunctionEnd
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNFUNCTION_DESCRIPTION_BEGIN
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  Function un.onMouseOverSection
+    !insertmacro MUI_DESCRIPTION_BEGIN
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNFUNCTION_DESCRIPTION_END
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+    !insertmacro MUI_DESCRIPTION_END
+    !ifdef MUI_CUSTOMFUNCTION_UNONMOUSEOVERSECTION
+      Call "${MUI_CUSTOMFUNCTION_UNONMOUSEOVERSECTION}"
+    !endif
+  FunctionEnd
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_FUNCTION_ABORTWARNING
+
+  Function .onUserAbort
+    !ifdef MUI_ABORTWARNING
+      !insertmacro MUI_ABORTWARNING
+    !endif
+    !ifdef MUI_CUSTOMFUNCTION_ABORT
+      Call "${MUI_CUSTOMFUNCTION_ABORT}"
+    !endif
+  FunctionEnd
+
+!macroend
+
+!macro MUI_FUNCTION_UNABORTWARNING
+
+  Function un.onUserAbort
+    !ifdef MUI_UNABORTWARNING
+      !insertmacro MUI_UNABORTWARNING
+    !endif
+    !ifdef MUI_CUSTOMFUNCTION_UNABORT
+      Call "${MUI_CUSTOMFUNCTION_UNABORT}"
+    !endif
+  FunctionEnd
+
+!macroend
+
+!macro MUI_UNFUNCTION_GUIINIT
+
+  Function un.onGUIInit
+
+  !insertmacro MUI_UNGUIINIT
+
+  !ifdef MUI_CUSTOMFUNCTION_UNGUIINIT
+    Call "${MUI_CUSTOMFUNCTION_UNGUIINIT}"
+  !endif
+
+  FunctionEnd
+
+!macroend
+
+!macro MUI_FUNCTIONS_DESCRIPTION_BEGIN
+
+  ;1.65 compatibility
+
+  !warning "Modern UI macro name has changed. Please change MUI_FUNCTIONS_DESCRIPTION_BEGIN to MUI_FUNCTION_DESCRIPTION_BEGIN."
+
+  !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+
+!macroend
+
+!macro MUI_FUNCTIONS_DESCRIPTION_END
+
+  ;1.65 compatibility
+
+  !warning "Modern UI macro name has changed. Please change MUI_FUNCTIONS_DESCRIPTION_END to MUI_FUNCTION_DESCRIPTION_END."
+
+  !insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+!macroend
+
+;--------------------------------
+;START MENU FOLDER
+
+!macro MUI_STARTMENU_GETFOLDER ID VAR
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !ifdef MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT & MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY & MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME
+
+    ReadRegStr $MUI_TEMP1 "${MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME}"
+      StrCmp $MUI_TEMP1 "" +3
+        StrCpy "${VAR}" $MUI_TEMP1
+        Goto +2
+
+        StrCpy "${VAR}" "${MUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER}"
+
+   !else
+
+     StrCpy "${VAR}" "${MUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER}"
+
+   !endif
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_STARTMENU_WRITE_BEGIN ID
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !define MUI_STARTMENUPAGE_CURRENT_ID "${ID}"
+
+  StrCpy $MUI_TEMP1 "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}" 1
+  StrCmp $MUI_TEMP1 ">" mui.startmenu_write_${MUI_STARTMENUPAGE_CURRENT_ID}_done
+
+  StrCmp "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}" "" 0 mui.startmenu_writebegin_${MUI_STARTMENUPAGE_CURRENT_ID}_notempty
+
+    !insertmacro MUI_STARTMENU_GETFOLDER "${MUI_STARTMENUPAGE_CURRENT_ID}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}"
+
+  mui.startmenu_writebegin_${MUI_STARTMENUPAGE_CURRENT_ID}_notempty:
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_STARTMENU_WRITE_END
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !ifdef MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_ROOT & MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_KEY & MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_VALUENAME
+    WriteRegStr "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_VALUENAME}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}"
+  !endif
+
+  mui.startmenu_write_${MUI_STARTMENUPAGE_CURRENT_ID}_done:
+
+  !undef MUI_STARTMENUPAGE_CURRENT_ID
+
+  !verbose pop
+
+!macroend
+
+;--------------------------------
+;PAGES
+
+!macro MUI_PAGE_INIT
+
+  !insertmacro MUI_INTERFACE
+
+  !insertmacro MUI_DEFAULT MUI_PAGE_UNINSTALLER_PREFIX ""
+  !insertmacro MUI_DEFAULT MUI_PAGE_UNINSTALLER_FUNCPREFIX ""
+
+  !insertmacro MUI_UNSET MUI_UNIQUEID
+
+  !define MUI_UNIQUEID ${__LINE__}
+
+!macroend
+
+!macro MUI_UNPAGE_INIT
+
+  !ifndef MUI_UNINSTALLER
+    !define MUI_UNINSTALLER
+  !endif
+
+  !define MUI_PAGE_UNINSTALLER
+
+  !insertmacro MUI_UNSET MUI_PAGE_UNINSTALLER_PREFIX
+  !insertmacro MUI_UNSET MUI_PAGE_UNINSTALLER_FUNCPREFIX
+
+  !define MUI_PAGE_UNINSTALLER_PREFIX "UN"
+  !define MUI_PAGE_UNINSTALLER_FUNCPREFIX "un."
+
+!macroend
+
+!macro MUI_UNPAGE_END
+
+  !undef MUI_PAGE_UNINSTALLER
+  !undef MUI_PAGE_UNINSTALLER_PREFIX
+  !undef MUI_PAGE_UNINSTALLER_FUNCPREFIX
+
+!macroend
+
+!macro MUI_PAGE_WELCOME
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_PAGE_INIT
+
+  !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEPAGE
+
+  !insertmacro MUI_DEFAULT_IOCONVERT MUI_WELCOMEPAGE_TITLE "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_WELCOME_INFO_TITLE)"
+  !insertmacro MUI_DEFAULT_IOCONVERT MUI_WELCOMEPAGE_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_WELCOME_INFO_TEXT)"
+
+  !ifndef MUI_VAR_HWND
+    Var MUI_HWND
+    !define MUI_VAR_HWND
+  !endif
+
+  PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom
+
+    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomeLeave_${MUI_UNIQUEID}
+
+  PageExEnd
+
+  !insertmacro MUI_FUNCTION_WELCOMEPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomeLeave_${MUI_UNIQUEID}
+
+  !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE
+  !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE_3LINES
+  !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TEXT
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_PAGE_LICENSE LICENSEDATA
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_PAGE_INIT
+
+  !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}LICENSEPAGE
+
+  !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_TEXT_TOP "$(MUI_INNERTEXT_LICENSE_TOP)"
+  !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_BUTTON ""
+  !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_CHECKBOX_TEXT ""
+  !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT ""
+  !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE ""
+
+  PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}license
+
+    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicensePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseLeave_${MUI_UNIQUEID}
+
+    Caption " "
+
+    LicenseData "${LICENSEDATA}"
+
+    !ifndef MUI_LICENSEPAGE_TEXT_BOTTOM
+      !ifndef MUI_LICENSEPAGE_CHECKBOX & MUI_LICENSEPAGE_RADIOBUTTONS
+        LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM)" "${MUI_LICENSEPAGE_BUTTON}"
+      !else ifdef MUI_LICENSEPAGE_CHECKBOX
+        LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM_CHECKBOX)" "${MUI_LICENSEPAGE_BUTTON}"
+      !else
+        LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS)" "${MUI_LICENSEPAGE_BUTTON}"
+      !endif
+    !else
+      LicenseText "${MUI_LICENSEPAGE_TEXT_BOTTOM}" "${MUI_LICENSEPAGE_BUTTON}"
+    !endif
+
+    !ifdef MUI_LICENSEPAGE_CHECKBOX
+      LicenseForceSelection checkbox "${MUI_LICENSEPAGE_CHECKBOX_TEXT}"
+    !else ifdef MUI_LICENSEPAGE_RADIOBUTTONS
+      LicenseForceSelection radiobuttons "${MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT}" "${MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE}"
+    !endif
+
+  PageExEnd
+
+  !insertmacro MUI_FUNCTION_LICENSEPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicensePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseLeave_${MUI_UNIQUEID}
+
+  !insertmacro MUI_UNSET MUI_LICENSEPAGE_TEXT_TOP
+  !insertmacro MUI_UNSET MUI_LICENSEPAGE_TEXT_BOTTOM
+  !insertmacro MUI_UNSET MUI_LICENSEPAGE_BUTTON
+  !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX
+    !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT
+  !insertmacro MUI_UNSET MUI_LICENSEPAGE_RADIOBUTTONS
+    !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT_ACCEPT
+    !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT_DECLINE
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_PAGE_COMPONENTS
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_PAGE_INIT
+
+  !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}COMPONENTSPAGE
+
+  !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_TOP ""
+  !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_COMPLIST ""
+  !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_INSTTYPE ""
+  !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "$(MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE)"
+  !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO "$(MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO)"
+
+  !ifndef MUI_VAR_TEXT
+    Var MUI_TEXT
+    !define MUI_VAR_TEXT
+  !endif
+
+  PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}components
+
+    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsLeave_${MUI_UNIQUEID}
+
+    Caption " "
+
+    ComponentText "${MUI_COMPONENTSPAGE_TEXT_TOP}" "${MUI_COMPONENTSPAGE_TEXT_INSTTYPE}" "${MUI_COMPONENTSPAGE_TEXT_COMPLIST}"
+
+  PageExEnd
+
+  !insertmacro MUI_FUNCTION_COMPONENTSPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsLeave_${MUI_UNIQUEID}
+
+  !undef MUI_COMPONENTSPAGE_TEXT_TOP
+  !undef MUI_COMPONENTSPAGE_TEXT_COMPLIST
+  !undef MUI_COMPONENTSPAGE_TEXT_INSTTYPE
+  !insertmacro MUI_UNSET MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE
+  !insertmacro MUI_UNSET MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_PAGE_DIRECTORY
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_PAGE_INIT
+
+  !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}DIRECTORYPAGE
+
+  !insertmacro MUI_DEFAULT MUI_DIRECTORYPAGE_TEXT_TOP ""
+  !insertmacro MUI_DEFAULT MUI_DIRECTORYPAGE_TEXT_DESTINATION ""
+
+  PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}directory
+
+    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryLeave_${MUI_UNIQUEID}
+
+    Caption " "
+
+    DirText "${MUI_DIRECTORYPAGE_TEXT_TOP}" "${MUI_DIRECTORYPAGE_TEXT_DESTINATION}"
+
+    !ifdef MUI_DIRECTORYPAGE_VARIABLE
+      DirVar "${MUI_DIRECTORYPAGE_VARIABLE}"
+    !endif
+
+    !ifdef MUI_DIRECTORYPAGE_VERIFYONLEAVE
+      DirVerify leave
+    !endif
+
+  PageExEnd
+
+  !insertmacro MUI_FUNCTION_DIRECTORYPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryLeave_${MUI_UNIQUEID}
+
+  !undef MUI_DIRECTORYPAGE_TEXT_TOP
+  !undef MUI_DIRECTORYPAGE_TEXT_DESTINATION
+  !insertmacro MUI_UNSET MUI_DIRECTORYPAGE_BGCOLOR
+  !insertmacro MUI_UNSET MUI_DIRECTORYPAGE_VARIABLE
+  !insertmacro MUI_UNSET MUI_DIRECTORYPAGE_VERIFYONLEAVE
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_PAGE_STARTMENU ID VAR
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_PAGE_INIT
+
+  !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}STARTMENUPAGE
+
+  !insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_DEFAULTFOLDER "$(^Name)"
+  !insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_TEXT_TOP "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_STARTMENU_TOP)"
+  !insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_TEXT_CHECKBOX "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_STARTMENU_CHECKBOX)"
+
+  !define MUI_STARTMENUPAGE_VARIABLE "${VAR}"
+  !define "MUI_STARTMENUPAGE_${ID}_VARIABLE" "${MUI_STARTMENUPAGE_VARIABLE}"
+  !define "MUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
+  !ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT
+    !define "MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT" "${MUI_STARTMENUPAGE_REGISTRY_ROOT}"
+  !endif
+  !ifdef MUI_STARTMENUPAGE_REGISTRY_KEY
+    !define "MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY" "${MUI_STARTMENUPAGE_REGISTRY_KEY}"
+  !endif
+  !ifdef MUI_STARTMENUPAGE_REGISTRY_VALUENAME
+    !define "MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
+  !endif
+
+  !ifndef MUI_VAR_HWND
+    Var MUI_HWND
+    !define MUI_VAR_HWND
+  !endif
+
+  PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom
+
+    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuLeave_${MUI_UNIQUEID}
+
+    Caption " "
+
+  PageExEnd
+
+  !insertmacro MUI_FUNCTION_STARTMENUPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuLeave_${MUI_UNIQUEID}
+
+  !undef MUI_STARTMENUPAGE_VARIABLE
+  !undef MUI_STARTMENUPAGE_TEXT_TOP
+  !undef MUI_STARTMENUPAGE_TEXT_CHECKBOX
+  !undef MUI_STARTMENUPAGE_DEFAULTFOLDER
+  !insertmacro MUI_UNSET MUI_STARTMENUPAGE_NODISABLE
+  !insertmacro MUI_UNSET MUI_STARTMENUPAGE_REGISTRY_ROOT
+  !insertmacro MUI_UNSET MUI_STARTMENUPAGE_REGISTRY_KEY
+  !insertmacro MUI_UNSET MUI_STARTMENUPAGE_REGISTRY_VALUENAME
+  !insertmacro MUI_UNSET MUI_STARTMENUPAGE_BGCOLOR
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_PAGE_INSTFILES
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_PAGE_INIT
+
+  !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INSTFILESPAGE
+
+  PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}instfiles
+
+    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesLeave_${MUI_UNIQUEID}
+
+    Caption " "
+
+  PageExEnd
+
+  !insertmacro MUI_FUNCTION_INSTFILESPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesLeave_${MUI_UNIQUEID}
+
+  !insertmacro MUI_UNSET MUI_INSTFILESPAGE_FINISHHEADER_TEXT
+  !insertmacro MUI_UNSET MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
+  !insertmacro MUI_UNSET MUI_INSTFILESPAGE_ABORTWARNING_TEXT
+  !insertmacro MUI_UNSET MUI_INSTFILESPAGE_ABORTWARNING_SUBTEXT
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_PAGE_FINISH
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_PAGE_INIT
+
+  !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}FINISHPAGE
+
+  !insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_TITLE "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_TITLE)"
+  !insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_TEXT)"
+  !insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_BUTTON "$(MUI_BUTTONTEXT_FINISH)"
+  !insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_TEXT_REBOOT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_REBOOT)"
+  !insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_TEXT_REBOOTNOW "$(MUI_TEXT_FINISH_REBOOTNOW)"
+  !insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_TEXT_REBOOTLATER "$(MUI_TEXT_FINISH_REBOOTLATER)"
+  !insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_RUN_TEXT "$(MUI_TEXT_FINISH_RUN)"
+  !insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_SHOWREADME_TEXT "$(MUI_TEXT_FINISH_SHOWREADME)"
+  !insertmacro MUI_DEFAULT MUI_FINISHPAGE_LINK_COLOR "000080"
+
+  !ifndef MUI_VAR_HWND
+    Var MUI_HWND
+    !define MUI_VAR_HWND
+  !endif
+
+  !ifndef MUI_PAGE_UNINSTALLER
+    !ifndef MUI_FINISHPAGE_NOAUTOCLOSE
+      AutoCloseWindow true
+    !endif
+  !endif
+
+  !ifdef MUI_FINISHPAGE_CANCEL_ENABLED
+    !ifndef MUI_VAR_NOABORTWARNING
+      !define MUI_VAR_NOABORTWARNING
+      Var MUI_NOABORTWARNING
+    !endif
+  !endif
+
+  PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom
+
+    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishLeave_${MUI_UNIQUEID}
+
+    Caption " "
+
+  PageExEnd
+
+  !insertmacro MUI_FUNCTION_FINISHPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishLeave_${MUI_UNIQUEID}
+
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_TITLE
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_TITLE_3LINES
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_LARGE
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_BUTTON
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_CANCEL_ENABLED
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOT
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOTNOW
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOTLATER
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_REBOOTLATER_DEFAULT
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_TEXT
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_PARAMETERS
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_NOTCHECKED
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_FUNCTION
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_TEXT
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_FUNCTION
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_LINK
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_LINK_LOCATION
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_LINK_COLOR
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_NOREBOOTSUPPORT
+
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_CURFIELD_TOP
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_CURFIELD_BOTTOM
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNPAGE_WELCOME
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_UNPAGE_INIT
+
+    !insertmacro MUI_PAGE_WELCOME
+
+  !insertmacro MUI_UNPAGE_END
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNPAGE_CONFIRM
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !ifndef MUI_UNINSTALLER
+    !define MUI_UNINSTALLER
+  !endif
+
+  !insertmacro MUI_PAGE_INIT
+
+  !insertmacro MUI_SET MUI_UNCONFIRMPAGE
+
+  !insertmacro MUI_DEFAULT MUI_UNCONFIRMPAGE_TEXT_TOP ""
+  !insertmacro MUI_DEFAULT MUI_UNCONFIRMPAGE_TEXT_LOCATION ""
+
+  PageEx un.uninstConfirm
+
+    PageCallbacks un.mui.ConfirmPre_${MUI_UNIQUEID} un.mui.ConfirmShow_${MUI_UNIQUEID} un.mui.ConfirmLeave_${MUI_UNIQUEID}
+
+    Caption " "
+
+    UninstallText "${MUI_UNCONFIRMPAGE_TEXT_TOP}" "${MUI_UNCONFIRMPAGE_TEXT_LOCATION}"
+
+  PageExEnd
+
+  !insertmacro MUI_UNFUNCTION_CONFIRMPAGE un.mui.ConfirmPre_${MUI_UNIQUEID} un.mui.ConfirmShow_${MUI_UNIQUEID} un.mui.ConfirmLeave_${MUI_UNIQUEID}
+
+  !insertmacro MUI_UNSET MUI_UNCONFIRMPAGE_TEXT_TOP
+  !insertmacro MUI_UNSET MUI_UNCONFIRMPAGE_TEXT_LOCATION
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNPAGE_LICENSE LICENSEDATA
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_UNPAGE_INIT
+
+    !insertmacro MUI_PAGE_LICENSE "${LICENSEDATA}"
+
+  !insertmacro MUI_UNPAGE_END
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNPAGE_COMPONENTS
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_UNPAGE_INIT
+
+    !insertmacro MUI_PAGE_COMPONENTS
+
+  !insertmacro MUI_UNPAGE_END
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNPAGE_DIRECTORY
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_UNPAGE_INIT
+
+    !insertmacro MUI_PAGE_DIRECTORY
+
+  !insertmacro MUI_UNPAGE_END
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNPAGE_INSTFILES
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_UNPAGE_INIT
+
+    !insertmacro MUI_PAGE_INSTFILES
+
+  !insertmacro MUI_UNPAGE_END
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNPAGE_FINISH
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_UNPAGE_INIT
+
+    !insertmacro MUI_PAGE_FINISH
+
+  !insertmacro MUI_UNPAGE_END
+
+  !verbose pop
+
+!macroend
+
+;--------------------------------
+;PAGE FUNCTIONS
+
+!macro MUI_PAGE_FUNCTION_CUSTOM TYPE
+
+  !ifdef MUI_PAGE_CUSTOMFUNCTION_${TYPE}
+    Call "${MUI_PAGE_CUSTOMFUNCTION_${TYPE}}"
+    !undef MUI_PAGE_CUSTOMFUNCTION_${TYPE}
+  !endif
+
+!macroend
+
+!macro MUI_WELCOMEFINISHPAGE_FUNCTION_CUSTOM
+
+  !ifdef MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT
+    Call "${MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT}"
+    !undef MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT
+  !endif
+
+!macroend
+
+!macro MUI_FUNCTION_WELCOMEPAGE PRE LEAVE
+
+  Function "${PRE}"
+
+    !insertmacro MUI_WELCOMEFINISHPAGE_FUNCTION_CUSTOM
+
+    !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "NumFields" "3"
+    !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "NextButtonText" ""
+    !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "CancelEnabled" ""
+
+    !insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 2" "Text" MUI_WELCOMEPAGE_TITLE
+
+    !ifndef MUI_WELCOMEPAGE_TITLE_3LINES
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Bottom" "38"
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Top" "45"
+    !else
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Bottom" "48"
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Top" "55"
+    !endif
+
+    !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "185"
+    !insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 3" "Text" MUI_WELCOMEPAGE_TEXT
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+
+    LockWindow on
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
+    ShowWindow $MUI_TEMP1 ${SW_HIDE}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
+    ShowWindow $MUI_TEMP1 ${SW_HIDE}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1035
+    ShowWindow $MUI_TEMP1 ${SW_HIDE}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
+    ShowWindow $MUI_TEMP1 ${SW_HIDE}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
+    ShowWindow $MUI_TEMP1 ${SW_HIDE}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
+    ShowWindow $MUI_TEMP1 ${SW_HIDE}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
+    ShowWindow $MUI_TEMP1 ${SW_NORMAL}
+    LockWindow off
+
+    !insertmacro INSTALLOPTIONS_INITDIALOG "ioSpecial.ini"
+    Pop $MUI_HWND
+    SetCtlColors $MUI_HWND "" "${MUI_BGCOLOR}"
+
+    GetDlgItem $MUI_TEMP1 $MUI_HWND 1201
+    SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
+
+    CreateFont $MUI_TEMP2 "$(^Font)" "12" "700"
+    SendMessage $MUI_TEMP1 ${WM_SETFONT} $MUI_TEMP2 0
+
+    GetDlgItem $MUI_TEMP1 $MUI_HWND 1202
+    SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+
+    !insertmacro INSTALLOPTIONS_SHOW
+
+    LockWindow on
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
+    ShowWindow $MUI_TEMP1 ${SW_NORMAL}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
+    ShowWindow $MUI_TEMP1 ${SW_NORMAL}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1035
+    ShowWindow $MUI_TEMP1 ${SW_NORMAL}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
+    ShowWindow $MUI_TEMP1 ${SW_NORMAL}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
+    ShowWindow $MUI_TEMP1 ${SW_NORMAL}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
+    ShowWindow $MUI_TEMP1 ${SW_NORMAL}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
+    ShowWindow $MUI_TEMP1 ${SW_HIDE}
+    LockWindow off
+
+  FunctionEnd
+
+  Function "${LEAVE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+
+  FunctionEnd
+
+!macroend
+
+!macro MUI_FUNCTION_LICENSEPAGE PRE SHOW LEAVE
+
+  Function "${PRE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+    !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_LICENSE_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_LICENSE_SUBTITLE)
+
+  FunctionEnd
+
+  Function "${SHOW}"
+
+    !insertmacro MUI_INNERDIALOG_TEXT 1040 "${MUI_LICENSEPAGE_TEXT_TOP}"
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+
+  FunctionEnd
+
+  Function "${LEAVE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+
+  FunctionEnd
+
+!macroend
+
+!macro MUI_FUNCTION_COMPONENTSPAGE PRE SHOW LEAVE
+
+  Function "${PRE}"
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+    !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_COMPONENTS_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_COMPONENTS_SUBTITLE)
+  FunctionEnd
+
+  Function "${SHOW}"
+
+    !insertmacro MUI_INNERDIALOG_TEXT 1042 "${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE}"
+
+    FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
+    GetDlgItem $MUI_TEMP1 $MUI_TEMP1 1043
+    EnableWindow $MUI_TEMP1 0
+
+    !insertmacro MUI_INNERDIALOG_TEXT 1043 "${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO}"
+    StrCpy $MUI_TEXT "${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO}"
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+
+  FunctionEnd
+
+  Function "${LEAVE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+
+  FunctionEnd
+
+!macroend
+
+!macro MUI_FUNCTION_DIRECTORYPAGE PRE SHOW LEAVE
+
+  Function "${PRE}"
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+    !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_DIRECTORY_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_DIRECTORY_SUBTITLE)
+  FunctionEnd
+
+  Function "${SHOW}"
+    !ifdef MUI_DIRECTORYPAGE_BGCOLOR
+      FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
+      GetDlgItem $MUI_TEMP1 $MUI_TEMP1 1019
+      SetCtlColors $MUI_TEMP1 "" "${MUI_DIRECTORYPAGE_BGCOLOR}"
+    !endif
+    
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+  FunctionEnd
+
+  Function "${LEAVE}"
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+  FunctionEnd
+
+!macroend
+
+!macro MUI_FUNCTION_STARTMENUPAGE PRE LEAVE
+
+  Function "${PRE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+
+     !ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT & MUI_STARTMENUPAGE_REGISTRY_KEY & MUI_STARTMENUPAGE_REGISTRY_VALUENAME
+
+      StrCmp "${MUI_STARTMENUPAGE_VARIABLE}" "" 0 +4
+
+      ReadRegStr $MUI_TEMP1 "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
+        StrCmp $MUI_TEMP1 "" +2
+          StrCpy "${MUI_STARTMENUPAGE_VARIABLE}" $MUI_TEMP1
+
+    !endif
+
+    !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_TEXT_STARTMENU_TITLE) $(MUI_TEXT_STARTMENU_SUBTITLE)
+
+    StrCmp $(^RTL) 0 mui.startmenu_nortl
+      !ifndef MUI_STARTMENUPAGE_NODISABLE
+        StartMenu::Init /rtl /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" /checknoshortcuts "${MUI_STARTMENUPAGE_TEXT_CHECKBOX}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
+      !else
+        StartMenu::Init /rtl /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
+      !endif
+      Goto mui.startmenu_initdone
+    mui.startmenu_nortl:
+      !ifndef MUI_STARTMENUPAGE_NODISABLE
+        StartMenu::Init /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" /checknoshortcuts "${MUI_STARTMENUPAGE_TEXT_CHECKBOX}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
+      !else
+        StartMenu::Init /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
+      !endif
+    mui.startmenu_initdone:
+
+  Pop $MUI_HWND
+
+  !ifdef MUI_STARTMENUPAGE_BGCOLOR
+    GetDlgItem $MUI_TEMP1 $MUI_HWND 1002
+    SetCtlColors $MUI_TEMP1 "" "${MUI_STARTMENUPAGE_BGCOLOR}"
+    GetDlgItem $MUI_TEMP1 $MUI_HWND 1004
+    SetCtlColors $MUI_TEMP1 "" "${MUI_STARTMENUPAGE_BGCOLOR}"
+  !endif
+
+  !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+
+  StartMenu::Show
+
+    Pop $MUI_TEMP1
+    StrCmp $MUI_TEMP1 "success" 0 +2
+      Pop "${MUI_STARTMENUPAGE_VARIABLE}"
+
+  FunctionEnd
+
+  Function "${LEAVE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+
+  FunctionEnd
+
+!macroend
+
+!macro MUI_FUNCTION_INSTFILESPAGE PRE SHOW LEAVE
+
+  Function "${PRE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+    !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_${MUI_PAGE_UNINSTALLER_PREFIX}INSTALLING_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_${MUI_PAGE_UNINSTALLER_PREFIX}INSTALLING_SUBTITLE)
+
+  FunctionEnd
+
+  Function "${SHOW}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+
+  FunctionEnd
+
+  Function "${LEAVE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+
+    !insertmacro MUI_ENDHEADER
+    !insertmacro MUI_LANGDLL_SAVELANGUAGE
+
+  FunctionEnd
+
+!macroend
+
+!macro MUI_FUNCTION_FINISHPAGE PRE LEAVE
+
+  Function "${PRE}"
+
+    !insertmacro MUI_WELCOMEFINISHPAGE_FUNCTION_CUSTOM
+
+    !insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Settings" "NextButtonText" MUI_FINISHPAGE_BUTTON
+
+    !ifdef MUI_FINISHPAGE_CANCEL_ENABLED
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "CancelEnabled" "1"
+    !endif
+
+    !ifndef MUI_FINISHPAGE_TITLE_3LINES
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Bottom" "38"
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Top" "45"
+    !else
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Bottom" "48"
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Top" "55"
+    !endif
+
+    !insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 2" "Text" MUI_FINISHPAGE_TITLE
+
+    !ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME
+      !ifndef MUI_FINISHPAGE_TITLE_3LINES
+        !ifndef MUI_FINISHPAGE_TEXT_LARGE
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "85"
+        !else
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "115"
+        !endif
+      !else
+        !ifndef MUI_FINISHPAGE_TEXT_LARGE
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "95"
+        !else
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "125"
+        !endif
+      !endif
+    !else
+      !ifndef MUI_FINISHPAGE_LINK
+        !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "185"
+      !else
+        !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "175"
+      !endif
+    !endif
+
+    !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
+
+      IfRebootFlag 0 mui.finish_noreboot_init
+
+        !ifndef MUI_FINISHPAGE_TITLE_3LINES
+          !ifndef MUI_FINISHPAGE_TEXT_LARGE
+            !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "85"
+          !else
+            !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "115"
+          !endif
+        !else
+          !ifndef MUI_FINISHPAGE_TEXT_LARGE
+            !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "95"
+          !else
+            !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "125"
+          !endif
+        !endif
+
+        !insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 3" "Text" MUI_FINISHPAGE_TEXT_REBOOT
+
+        !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "5"
+
+        !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Type" "RadioButton"
+        !insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 4" "Text" MUI_FINISHPAGE_TEXT_REBOOTNOW
+        !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Left" "120"
+        !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Right" "321"
+        !ifndef MUI_FINISHPAGE_TITLE_3LINES
+          !ifndef MUI_FINISHPAGE_TEXT_LARGE
+            !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "90"
+            !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "100"
+          !else
+            !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "120"
+            !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "130"
+          !endif
+        !else
+          !ifndef MUI_FINISHPAGE_TEXT_LARGE
+            !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "100"
+            !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "110"
+          !else
+            !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "130"
+            !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "140"
+          !endif
+        !endif
+        !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Type" "RadioButton"
+        !insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 5" "Text" MUI_FINISHPAGE_TEXT_REBOOTLATER
+        !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Left" "120"
+        !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Right" "321"
+        !ifndef MUI_FINISHPAGE_TITLE_3LINES
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Top" "110"
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Bottom" "120"
+        !else
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Top" "110"
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Bottom" "120"
+        !endif
+        !ifdef MUI_FINISHPAGE_REBOOTLATER_DEFAULT
+		  !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "State" "0"
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "State" "1"
+        !else
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "State" "1"
+		  !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "State" "0"
+        !endif
+
+        Goto mui.finish_load
+
+      mui.finish_noreboot_init:
+
+    !endif
+
+    !insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 3" "Text" MUI_FINISHPAGE_TEXT
+
+    !ifdef MUI_FINISHPAGE_RUN
+
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Type" "CheckBox"
+      !insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 4" "Text" MUI_FINISHPAGE_RUN_TEXT
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Left" "120"
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Right" "315"
+      !ifndef MUI_FINISHPAGE_TITLE_3LINES
+        !ifndef MUI_FINISHPAGE_TEXT_LARGE
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "90"
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "100"
+        !else
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "120"
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "130"
+        !endif
+      !else
+        !ifndef MUI_FINISHPAGE_TEXT_LARGE
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "100"
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "110"
+        !else
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "130"
+          !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "140"
+        !endif
+      !endif
+      !ifndef MUI_FINISHPAGE_RUN_NOTCHECKED
+        !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "State" "1"
+      !endif
+
+    !endif
+
+    !ifdef MUI_FINISHPAGE_SHOWREADME
+
+      !ifdef MUI_FINISHPAGE_CURFIELD_NO
+        !undef MUI_FINISHPAGE_CURFIELD_NO
+      !endif
+
+      !ifndef MUI_FINISHPAGE_RUN
+        !define MUI_FINISHPAGE_CURFIELD_NO 4
+        !ifndef MUI_FINISHPAGE_TITLE_3LINES
+          !ifndef MUI_FINISHPAGE_TEXT_LARGE
+            !define MUI_FINISHPAGE_CURFIELD_TOP 90
+            !define MUI_FINISHPAGE_CURFIELD_BOTTOM 100
+          !else
+            !define MUI_FINISHPAGE_CURFIELD_TOP 120
+            !define MUI_FINISHPAGE_CURFIELD_BOTTOM 130
+          !endif
+        !else
+          !ifndef MUI_FINISHPAGE_TEXT_LARGE
+            !define MUI_FINISHPAGE_CURFIELD_TOP 100
+            !define MUI_FINISHPAGE_CURFIELD_BOTTOM 110
+          !else
+            !define MUI_FINISHPAGE_CURFIELD_TOP 130
+            !define MUI_FINISHPAGE_CURFIELD_BOTTOM 140
+          !endif
+        !endif
+      !else
+        !define MUI_FINISHPAGE_CURFIELD_NO 5
+        !ifndef MUI_FINISHPAGE_TITLE_3LINES
+          !ifndef MUI_FINISHPAGE_TEXT_LARGE
+            !define MUI_FINISHPAGE_CURFIELD_TOP 110
+            !define MUI_FINISHPAGE_CURFIELD_BOTTOM 120
+          !else
+            !define MUI_FINISHPAGE_CURFIELD_TOP 140
+            !define MUI_FINISHPAGE_CURFIELD_BOTTOM 150
+          !endif
+        !else
+          !ifndef MUI_FINISHPAGE_TEXT_LARGE
+            !define MUI_FINISHPAGE_CURFIELD_TOP 120
+            !define MUI_FINISHPAGE_CURFIELD_BOTTOM 130
+          !else
+            !define MUI_FINISHPAGE_CURFIELD_TOP 150
+            !define MUI_FINISHPAGE_CURFIELD_BOTTOM 160
+          !endif
+        !endif
+      !endif
+
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Type" "CheckBox"
+      !insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Text" MUI_FINISHPAGE_SHOWREADME_TEXT
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Left" "120"
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Right" "315"
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Top" ${MUI_FINISHPAGE_CURFIELD_TOP}
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Bottom" ${MUI_FINISHPAGE_CURFIELD_BOTTOM}
+      !ifndef MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
+         !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "State" "1"
+      !endif
+
+    !endif
+
+    !ifdef MUI_FINISHPAGE_LINK
+
+      !ifdef MUI_FINISHPAGE_CURFIELD_NO
+        !undef MUI_FINISHPAGE_CURFIELD_NO
+      !endif
+
+      !ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
+        !define MUI_FINISHPAGE_CURFIELD_NO 6
+      !else ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME
+        !define MUI_FINISHPAGE_CURFIELD_NO 5
+      !else
+        !define MUI_FINISHPAGE_CURFIELD_NO 4
+      !endif
+
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Type" "Link"
+      !insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Text" MUI_FINISHPAGE_LINK
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Left" "120"
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Right" "315"
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Top" "175"
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Bottom" "185"
+      !insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "State" MUI_FINISHPAGE_LINK_LOCATION
+
+    !endif
+
+    !ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME & MUI_FINISHPAGE_LINK
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "6"
+    !else ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "5"
+    !else ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_LINK
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "5"
+    !else ifdef MUI_FINISHPAGE_SHOWREADME & MUI_FINISHPAGE_LINK
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "5"
+    !else ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME | MUI_FINISHPAGE_LINK
+      !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "4"
+    !endif
+
+    !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
+       mui.finish_load:
+    !endif
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+
+    LockWindow on
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
+    ShowWindow $MUI_TEMP1 ${SW_HIDE}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
+    ShowWindow $MUI_TEMP1 ${SW_HIDE}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1035
+    ShowWindow $MUI_TEMP1 ${SW_HIDE}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
+    ShowWindow $MUI_TEMP1 ${SW_HIDE}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
+    ShowWindow $MUI_TEMP1 ${SW_HIDE}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
+    ShowWindow $MUI_TEMP1 ${SW_HIDE}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
+    ShowWindow $MUI_TEMP1 ${SW_NORMAL}
+    LockWindow off
+
+    !insertmacro INSTALLOPTIONS_INITDIALOG "ioSpecial.ini"
+    Pop $MUI_HWND
+    SetCtlColors $MUI_HWND "" "${MUI_BGCOLOR}"
+
+    GetDlgItem $MUI_TEMP1 $MUI_HWND 1201
+    SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
+
+    CreateFont $MUI_TEMP2 "$(^Font)" "12" "700"
+    SendMessage $MUI_TEMP1 ${WM_SETFONT} $MUI_TEMP2 0
+
+    GetDlgItem $MUI_TEMP1 $MUI_HWND 1202
+    SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
+
+    !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
+
+      IfRebootFlag 0 mui.finish_noreboot_show
+
+        GetDlgItem $MUI_TEMP1 $MUI_HWND 1203
+        SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
+
+        GetDlgItem $MUI_TEMP1 $MUI_HWND 1204
+        SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
+
+        Goto mui.finish_show
+
+      mui.finish_noreboot_show:
+
+    !endif
+
+    !ifdef MUI_FINISHPAGE_RUN
+      GetDlgItem $MUI_TEMP1 $MUI_HWND 1203
+      SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
+    !endif
+
+    !ifdef MUI_FINISHPAGE_SHOWREADME
+      !ifndef MUI_FINISHPAGE_RUN
+        GetDlgItem $MUI_TEMP1 $MUI_HWND 1203
+      !else
+        GetDlgItem $MUI_TEMP1 $MUI_HWND 1204
+      !endif
+      SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
+    !endif
+
+    !ifdef MUI_FINISHPAGE_LINK
+      !ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
+        GetDlgItem $MUI_TEMP1 $MUI_HWND 1205
+      !else ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME
+        GetDlgItem $MUI_TEMP1 $MUI_HWND 1204
+      !else
+        GetDlgItem $MUI_TEMP1 $MUI_HWND 1203
+      !endif
+      SetCtlColors $MUI_TEMP1 "${MUI_FINISHPAGE_LINK_COLOR}" "${MUI_BGCOLOR}"
+    !endif
+
+    !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
+      mui.finish_show:
+    !endif
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+
+    !ifdef MUI_FINISHPAGE_CANCEL_ENABLED
+      StrCpy $MUI_NOABORTWARNING "1"
+    !endif
+
+    !insertmacro INSTALLOPTIONS_SHOW
+
+    !ifdef MUI_FINISHPAGE_CANCEL_ENABLED
+      StrCpy $MUI_NOABORTWARNING ""
+    !endif
+
+    LockWindow on
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
+    ShowWindow $MUI_TEMP1 ${SW_NORMAL}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
+    ShowWindow $MUI_TEMP1 ${SW_NORMAL}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1035
+    ShowWindow $MUI_TEMP1 ${SW_NORMAL}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
+    ShowWindow $MUI_TEMP1 ${SW_NORMAL}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
+    ShowWindow $MUI_TEMP1 ${SW_NORMAL}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
+    ShowWindow $MUI_TEMP1 ${SW_NORMAL}
+
+    GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
+    ShowWindow $MUI_TEMP1 ${SW_HIDE}
+    LockWindow off
+
+  FunctionEnd
+
+  Function "${LEAVE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+
+    !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
+
+      IfRebootFlag "" mui.finish_noreboot_end
+
+        !insertmacro INSTALLOPTIONS_READ $MUI_TEMP1 "ioSpecial.ini" "Field 4" "State"
+
+          StrCmp $MUI_TEMP1 "1" 0 +2
+            Reboot
+
+          Return
+
+      mui.finish_noreboot_end:
+
+    !endif
+
+    !ifdef MUI_FINISHPAGE_RUN
+
+      !insertmacro INSTALLOPTIONS_READ $MUI_TEMP1 "ioSpecial.ini" "Field 4" "State"
+
+      StrCmp $MUI_TEMP1 "1" 0 mui.finish_norun
+        !ifndef MUI_FINISHPAGE_RUN_FUNCTION
+          !ifndef MUI_FINISHPAGE_RUN_PARAMETERS
+            StrCpy $MUI_TEMP1 "$\"${MUI_FINISHPAGE_RUN}$\""
+          !else
+            StrCpy $MUI_TEMP1 "$\"${MUI_FINISHPAGE_RUN}$\" ${MUI_FINISHPAGE_RUN_PARAMETERS}"
+          !endif
+          Exec "$MUI_TEMP1"
+        !else
+          Call "${MUI_FINISHPAGE_RUN_FUNCTION}"
+        !endif
+
+        mui.finish_norun:
+
+    !endif
+
+    !ifdef MUI_FINISHPAGE_SHOWREADME
+
+      !ifndef MUI_FINISHPAGE_RUN
+        !insertmacro INSTALLOPTIONS_READ $MUI_TEMP1 "ioSpecial.ini" "Field 4" "State"
+      !else
+        !insertmacro INSTALLOPTIONS_READ $MUI_TEMP1 "ioSpecial.ini" "Field 5" "State"
+      !endif
+
+      StrCmp $MUI_TEMP1 "1" 0 mui.finish_noshowreadme
+        !ifndef MUI_FINISHPAGE_SHOWREADME_FUNCTION
+           ExecShell "open" "${MUI_FINISHPAGE_SHOWREADME}"
+        !else
+          Call "${MUI_FINISHPAGE_SHOWREADME_FUNCTION}"
+        !endif
+
+        mui.finish_noshowreadme:
+
+    !endif
+
+  FunctionEnd
+
+!macroend
+
+!macro MUI_UNFUNCTION_CONFIRMPAGE PRE SHOW LEAVE
+
+  Function "${PRE}"
+
+   !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+   !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_UNTEXT_CONFIRM_TITLE) $(MUI_UNTEXT_CONFIRM_SUBTITLE)
+
+  FunctionEnd
+
+  Function "${SHOW}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+
+  FunctionEnd
+
+  Function "${LEAVE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+
+  FunctionEnd
+
+!macroend
+
+;--------------------------------
+;INSTALL OPTIONS (CUSTOM PAGES)
+
+!macro MUI_INSTALLOPTIONS_EXTRACT FILE
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro INSTALLOPTIONS_EXTRACT "${FILE}"
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_EXTRACT_AS FILE FILENAME
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro INSTALLOPTIONS_EXTRACT_AS "${FILE}" "${FILENAME}"
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_DISPLAY FILE
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro INSTALLOPTIONS_DISPLAY "${FILE}"
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_DISPLAY_RETURN FILE
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro INSTALLOPTIONS_DISPLAY_RETURN "${FILE}"
+  
+  !verbose pop
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_INITDIALOG FILE
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro INSTALLOPTIONS_INITDIALOG "${FILE}"
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_SHOW
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro INSTALLOPTIONS_SHOW
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_SHOW_RETURN
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro INSTALLOPTIONS_SHOW_RETURN
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_READ VAR FILE SECTION KEY
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro INSTALLOPTIONS_READ "${VAR}" "${FILE}" "${SECTION}" "${KEY}"
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_WRITE FILE SECTION KEY VALUE
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro INSTALLOPTIONS_WRITE "${FILE}" "${SECTION}" "${KEY}" "${VALUE}"
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT FILE SECTION KEY SYMBOL
+
+  ;Converts default strings from language files to InstallOptions format
+  ;Only for use inside MUI
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !ifndef "${SYMBOL}_DEFAULTSET"
+    !insertmacro INSTALLOPTIONS_WRITE "${FILE}" "${SECTION}" "${KEY}" "${${SYMBOL}}"
+  !else
+    Push "${${SYMBOL}}"
+    Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}Nsis2Io
+    Pop $MUI_TEMP1
+    !insertmacro INSTALLOPTIONS_WRITE "${FILE}" "${SECTION}" "${KEY}" $MUI_TEMP1
+  !endif
+
+  !verbose pop
+
+!macroend
+
+;--------------------------------
+;RESERVE FILES
+
+!macro MUI_RESERVEFILE_INSTALLOPTIONS
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  ReserveFile "${NSISDIR}\Plugins\InstallOptions.dll"
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_RESERVEFILE_LANGDLL
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  ReserveFile "${NSISDIR}\Plugins\LangDLL.dll"
+
+  !verbose pop
+
+!macroend
+
+;--------------------------------
+;LANGUAGES
+
+!macro MUI_LANGUAGE LANGUAGE
+
+  ;Include a language
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_INSERT
+
+  LoadLanguageFile "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nlf"
+
+  ;Include language file
+  !insertmacro LANGFILE_INCLUDE_WITHDEFAULT "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nsh" "${NSISDIR}\Contrib\Language files\English.nsh"
+
+  ;Add language to list of languages for selection dialog  
+  !ifndef MUI_LANGDLL_LANGUAGES
+    !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' "
+    !define MUI_LANGDLL_LANGUAGES_CP "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' "
+  !else
+    !ifdef MUI_LANGDLL_LANGUAGES_TEMP
+      !undef MUI_LANGDLL_LANGUAGES_TEMP
+    !endif
+    !define MUI_LANGDLL_LANGUAGES_TEMP "${MUI_LANGDLL_LANGUAGES}"
+    !undef MUI_LANGDLL_LANGUAGES
+
+	!ifdef MUI_LANGDLL_LANGUAGES_CP_TEMP
+      !undef MUI_LANGDLL_LANGUAGES_CP_TEMP
+    !endif
+    !define MUI_LANGDLL_LANGUAGES_CP_TEMP "${MUI_LANGDLL_LANGUAGES_CP}"
+    !undef MUI_LANGDLL_LANGUAGES_CP
+
+    !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' ${MUI_LANGDLL_LANGUAGES_TEMP}"
+    !define MUI_LANGDLL_LANGUAGES_CP "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' ${MUI_LANGDLL_LANGUAGES_CP_TEMP}"
+  !endif
+  
+  !verbose pop
+
+!macroend
+
+;--------------------------------
+;LANGUAGE SELECTION DIALOG
+
+!macro MUI_LANGDLL_DISPLAY
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_DEFAULT MUI_LANGDLL_WINDOWTITLE "Installer Language"
+  !insertmacro MUI_DEFAULT MUI_LANGDLL_INFO "Please select a language."
+
+  !ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
+
+    ReadRegStr $MUI_TEMP1 "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
+    StrCmp $MUI_TEMP1 "" mui.langdll_show
+      StrCpy $LANGUAGE $MUI_TEMP1
+      !ifndef MUI_LANGDLL_ALWAYSSHOW
+        Goto mui.langdll_done
+      !endif
+    mui.langdll_show:
+
+  !endif
+  
+  !ifdef NSIS_CONFIG_SILENT_SUPPORT
+    IfSilent mui.langdll_done
+  !endif  
+
+  !ifdef MUI_LANGDLL_ALLLANGUAGES
+    LangDLL::LangDialog "${MUI_LANGDLL_WINDOWTITLE}" "${MUI_LANGDLL_INFO}" A ${MUI_LANGDLL_LANGUAGES} ""
+  !else
+    LangDLL::LangDialog "${MUI_LANGDLL_WINDOWTITLE}" "${MUI_LANGDLL_INFO}" AC ${MUI_LANGDLL_LANGUAGES_CP} ""
+  !endif
+
+  Pop $LANGUAGE
+  StrCmp $LANGUAGE "cancel" 0 +2
+    Abort
+
+  !ifdef NSIS_CONFIG_SILENT_SUPPORT
+    mui.langdll_done:
+  !else ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
+    mui.langdll_done:
+  !endif
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_LANGDLL_SAVELANGUAGE
+
+  !ifndef MUI_PAGE_UNINSTALLER
+
+    IfAbort mui.langdllsavelanguage_abort
+
+    !ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
+      WriteRegStr "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}" $LANGUAGE
+    !endif
+
+    mui.langdllsavelanguage_abort:
+
+  !endif
+
+!macroend
+
+!macro MUI_UNGETLANGUAGE
+
+  !verbose pop
+
+  !ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
+
+    ReadRegStr $MUI_TEMP1 "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
+    StrCmp $MUI_TEMP1 "" 0 mui.ungetlanguage_setlang
+
+  !endif
+
+  !insertmacro MUI_LANGDLL_DISPLAY
+
+  !ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
+
+    Goto mui.ungetlanguage_done
+
+    mui.ungetlanguage_setlang:
+      StrCpy $LANGUAGE $MUI_TEMP1
+
+    mui.ungetlanguage_done:
+
+  !endif
+
+  !verbose pop
+
+!macroend
+
+;--------------------------------
+;END
+
+!endif
+
+!verbose pop
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Deprecated.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Deprecated.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Deprecated.nsh	(revision 2961)
@@ -0,0 +1,72 @@
+/*
+
+NSIS Modern User Interface
+Deprecated code - display warnings
+
+*/
+
+;--------------------------------
+;InstallOptions
+
+!define INSTALLOPTIONS_ERROR "MUI_INSTALLOPTIONS_* macros are no longer a part of MUI2. Include InstallOptions.nsh and use INSTALLOPTIONS_* macros instead. It is also recommended to upgrade to nsDialogs."
+
+!macro MUI_INSTALLOPTIONS_EXTRACT FILE
+
+  !error "${INSTALLOPTIONS_ERROR}"
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_EXTRACT_AS FILE FILENAME
+
+  !error "${INSTALLOPTIONS_ERROR}"
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_DISPLAY FILE
+
+  !error "${INSTALLOPTIONS_ERROR}"
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_DISPLAY_RETURN FILE
+
+  !error "${INSTALLOPTIONS_ERROR}"
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_INITDIALOG FILE
+
+  !error "${INSTALLOPTIONS_ERROR}"
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_SHOW
+
+  !error "${INSTALLOPTIONS_ERROR}"
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_SHOW_RETURN
+
+  !error "${INSTALLOPTIONS_ERROR}"
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_READ VAR FILE SECTION KEY
+
+  !error "${INSTALLOPTIONS_ERROR}"
+
+!macroend
+
+!macro MUI_INSTALLOPTIONS_WRITE FILE SECTION KEY VALUE
+
+  !error "${INSTALLOPTIONS_ERROR}"
+
+!macroend
+
+!macro MUI_RESERVEFILE_INSTALLOPTIONS
+
+  !define MUI_DOLLAR "$"
+  !error "MUI_RESERVEFILE_INSTALLOPTIONS is no longer supported as InstallOptions is no longer used by MUI2. Instead, use ReserveFile '${MUI_DOLLAR}{NSISDIR}\Plugins\InstallOptions.dll'. It is also recommended to upgrade to nsDialogs."
+
+!macroend
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Interface.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Interface.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Interface.nsh	(revision 2961)
@@ -0,0 +1,304 @@
+/*
+
+NSIS Modern User Interface
+Interface code for all pages
+
+*/
+
+;--------------------------------
+;Variables
+
+Var mui.Header.Text
+Var mui.Header.Text.Font
+Var mui.Header.SubText
+Var mui.Header.Background
+Var mui.Header.Image
+
+Var mui.Branding.Text
+Var mui.Branding.Background
+
+Var mui.Line.Standard
+Var mui.Line.FullWindow
+
+Var mui.Button.Next
+Var mui.Button.Cancel
+Var mui.Button.Back
+
+
+;--------------------------------
+;General interface settings
+
+!macro MUI_INTERFACE
+
+  !ifndef MUI_INTERFACE
+
+    !define MUI_INTERFACE
+
+    ;These values are set after the interface settings in the script,
+    ;so the script itself can override all values.
+
+    ;Default interface settings in nsisconf.nsh
+    !ifdef MUI_INSERT_NSISCONF
+      !insertmacro MUI_NSISCONF
+    !endif
+
+    ;Default interface settings
+    !insertmacro MUI_DEFAULT MUI_UI "${NSISDIR}\Contrib\UIs\modern.exe"
+    !insertmacro MUI_DEFAULT MUI_UI_HEADERIMAGE "${NSISDIR}\Contrib\UIs\modern_headerbmp.exe"
+    !insertmacro MUI_DEFAULT MUI_UI_HEADERIMAGE_RIGHT "${NSISDIR}\Contrib\UIs\modern_headerbmpr.exe"
+    !insertmacro MUI_DEFAULT MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
+    !insertmacro MUI_DEFAULT MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
+    !insertmacro MUI_DEFAULT MUI_BGCOLOR "FFFFFF"
+
+    ;Default header images
+    !ifdef MUI_HEADERIMAGE
+
+      !insertmacro MUI_DEFAULT MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\nsis.bmp"
+
+      !ifndef MUI_HEADERIMAGE_UNBITMAP
+        !define MUI_HEADERIMAGE_UNBITMAP "${MUI_HEADERIMAGE_BITMAP}"
+        !ifdef MUI_HEADERIMAGE_BITMAP_NOSTRETCH
+          !insertmacro MUI_SET MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH ""
+        !endif
+      !endif
+
+      !ifdef MUI_HEADERIMAGE_BITMAP_RTL
+        !ifndef MUI_HEADERIMAGE_UNBITMAP_RTL
+          !define MUI_HEADERIMAGE_UNBITMAP_RTL "${MUI_HEADERIMAGE_BITMAP_RTL}"
+          !ifdef MUI_HEADERIMAGE_BITMAP_RTL_NOSTRETCH
+            !insertmacro MUI_SET MUI_HEADERIMAGE_UNBITMAP_RTL_NOSTRETCH ""
+          !endif
+        !endif
+      !endif
+
+    !endif
+
+    ;Default texts
+    !insertmacro MUI_DEFAULT MUI_ABORTWARNING_TEXT "$(MUI_TEXT_ABORTWARNING)"
+    !insertmacro MUI_DEFAULT MUI_UNABORTWARNING_TEXT "$(MUI_UNTEXT_ABORTWARNING)"  
+
+    ;Apply settings
+
+    XPStyle On ;XP style setting in manifest resource
+
+    ;Dialog resources
+    ChangeUI all "${MUI_UI}" 
+    !ifdef MUI_HEADERIMAGE
+      !ifndef MUI_HEADERIMAGE_RIGHT
+        ChangeUI IDD_INST "${MUI_UI_HEADERIMAGE}"
+      !else
+        ChangeUI IDD_INST "${MUI_UI_HEADERIMAGE_RIGHT}"
+      !endif
+    !endif
+
+    ;Icons
+    Icon "${MUI_ICON}"
+    UninstallIcon "${MUI_UNICON}"
+
+  !endif
+
+!macroend
+
+
+;--------------------------------
+;Abort warning message box
+
+!macro MUI_ABORTWARNING
+
+  !ifdef MUI_ABORTWARNING_CANCEL_DEFAULT
+    MessageBox MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2 "${MUI_ABORTWARNING_TEXT}" IDYES mui.Quit
+  !else
+    MessageBox MB_YESNO|MB_ICONEXCLAMATION "${MUI_ABORTWARNING_TEXT}" IDYES mui.Quit
+  !endif
+  
+  Abort
+  mui.Quit:
+
+!macroend
+
+!macro MUI_UNABORTWARNING
+
+  !ifdef MUI_UNABORTWARNING_CANCEL_DEFAULT
+    MessageBox MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2 "${MUI_UNABORTWARNING_TEXT}" IDYES mui.Quit
+  !else
+    MessageBox MB_YESNO|MB_ICONEXCLAMATION "${MUI_UNABORTWARNING_TEXT}" IDYES mui.Quit
+  !endif
+
+  Abort
+  mui.Quit:
+
+!macroend
+
+
+;--------------------------------
+;Initialization of GUI
+
+!macro MUI_HEADERIMAGE_INIT UNINSTALLER
+
+  ;Load and display header image
+
+  !ifdef MUI_HEADERIMAGE
+
+    InitPluginsDir
+
+    !ifdef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL
+
+      ${if} $(^RTL) == 1
+
+        File "/oname=$PLUGINSDIR\modern-header.bmp" "${MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL}"
+
+        !ifndef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL_NOSTRETCH
+          SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR\modern-header.bmp"
+        !else
+          SetBrandingImage /IMGID=1046 "$PLUGINSDIR\modern-header.bmp"
+        !endif
+
+      ${else}
+
+    !endif
+
+        File "/oname=$PLUGINSDIR\modern-header.bmp" "${MUI_HEADERIMAGE_${UNINSTALLER}BITMAP}"
+
+        !ifndef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_NOSTRETCH
+          SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR\modern-header.bmp"
+        !else
+          SetBrandingImage /IMGID=1046 "$PLUGINSDIR\modern-header.bmp"
+        !endif
+
+    !ifdef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL
+
+      ${endif}
+
+    !endif
+
+  !endif
+
+!macroend
+
+!macro MUI_GUIINIT_OUTERDIALOG UNINSTALLER
+
+  ;Initialize outer dialog (fonts & colors)
+
+  ;Header
+  GetDlgItem $mui.Header.Text $HWNDPARENT 1037
+  CreateFont $mui.Header.Text.Font "$(^Font)" "$(^FontSize)" "700"
+  SendMessage $mui.Header.Text ${WM_SETFONT} $mui.Header.Text.Font 0
+  
+  GetDlgItem $mui.Header.SubText $HWNDPARENT 1038
+
+  !ifndef MUI_HEADER_TRANSPARENT_TEXT
+    SetCtlColors $mui.Header.Text "" "${MUI_BGCOLOR}"
+    SetCtlColors $mui.Header.SubText "" "${MUI_BGCOLOR}"
+  !else
+    SetCtlColors $mui.Header.Text "" "transparent"
+    SetCtlColors $mui.Header.SubText "" "transparent"
+  !endif
+  
+  ;Header image
+  !insertmacro MUI_HEADERIMAGE_INIT "${UNINSTALLER}"
+
+  ;Header background
+  GetDlgItem $mui.Header.Background $HWNDPARENT 1034
+  SetCtlColors $mui.Header.Background "" "${MUI_BGCOLOR}"
+
+  ;Header image background
+  GetDlgItem $mui.Header.Image $HWNDPARENT 1039
+  SetCtlColors $mui.Header.Image "" "${MUI_BGCOLOR}"
+
+  ;Branding text
+  GetDlgItem $mui.Branding.Background $HWNDPARENT 1028
+  SetCtlColors $mui.Branding.Background /BRANDING
+  GetDlgItem $mui.Branding.Text $HWNDPARENT 1256
+  SetCtlColors $mui.Branding.Text /BRANDING
+  SendMessage $mui.Branding.Text ${WM_SETTEXT} 0 "STR:$(^Branding) "
+  
+  ;Lines
+  GetDlgItem $mui.Line.Standard $HWNDPARENT 1035
+  GetDlgItem $mui.Line.FullWindow $HWNDPARENT 1045
+  
+  ;Buttons
+  GetDlgItem $mui.Button.Next $HWNDPARENT 1
+  GetDlgItem $mui.Button.Cancel $HWNDPARENT 2
+  GetDlgItem $mui.Button.Back $HWNDPARENT 3
+
+!macroend
+
+
+;--------------------------------
+;Interface functions
+
+!macro MUI_FUNCTION_GUIINIT
+
+  Function .onGUIInit
+
+    !insertmacro MUI_GUIINIT_OUTERDIALOG ""
+
+    !ifdef MUI_PAGE_FUNCTION_GUIINIT
+      Call "${MUI_PAGE_FUNCTION_GUIINIT}"
+    !endif  
+
+    !ifdef MUI_CUSTOMFUNCTION_GUIINIT
+      Call "${MUI_CUSTOMFUNCTION_GUIINIT}"
+    !endif
+
+  FunctionEnd
+
+!macroend
+
+!macro MUI_UNFUNCTION_GUIINIT
+
+  Function un.onGUIInit  
+
+    !insertmacro MUI_GUIINIT_OUTERDIALOG UN
+    
+    !ifdef MUI_UNPAGE_FUNCTION_GUIINIT
+      Call "${MUI_UNPAGE_FUNCTION_GUIINIT}"
+    !endif    
+
+    !ifdef MUI_CUSTOMFUNCTION_UNGUIINIT
+      Call "${MUI_CUSTOMFUNCTION_UNGUIINIT}"
+    !endif
+
+  FunctionEnd
+
+!macroend
+
+!macro MUI_FUNCTION_ABORTWARNING
+
+  Function .onUserAbort
+  
+    !ifdef MUI_PAGE_FUNCTION_ABORTWARNING
+      Call ${MUI_PAGE_FUNCTION_ABORTWARNING}
+    !endif
+  
+    !ifdef MUI_ABORTWARNING
+      !insertmacro MUI_ABORTWARNING
+    !endif
+    
+    !ifdef MUI_CUSTOMFUNCTION_ABORT
+      Call "${MUI_CUSTOMFUNCTION_ABORT}"
+    !endif
+    
+  FunctionEnd
+
+!macroend
+
+!macro MUI_FUNCTION_UNABORTWARNING
+
+  Function un.onUserAbort
+  
+    !ifdef MUI_UNPAGE_FUNCTION_ABORTWARNING
+      Call ${MUI_UNPAGE_FUNCTION_ABORTWARNING}
+    !endif  
+  
+    !ifdef MUI_UNABORTWARNING
+      !insertmacro MUI_UNABORTWARNING
+    !endif
+    
+    !ifdef MUI_CUSTOMFUNCTION_UNABORT
+      Call "${MUI_CUSTOMFUNCTION_UNABORT}"
+    !endif
+    
+  FunctionEnd
+
+!macroend
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Localization.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Localization.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Localization.nsh	(revision 2961)
@@ -0,0 +1,192 @@
+/*
+
+NSIS Modern User Interface
+Localization
+
+*/
+
+;--------------------------------
+;Variables
+
+!macro MUI_LANGDLL_VARIABLES
+
+  !ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
+    !ifndef MUI_LANGDLL_REGISTRY_VARAIBLES
+      !define MUI_LANGDLL_REGISTRY_VARAIBLES
+
+      ;/GLOBAL because the macros are included in a function
+      Var /GLOBAL mui.LangDLL.RegistryLanguage
+
+    !endif
+  !endif
+
+!macroend
+
+
+;--------------------------------
+;Include langauge files
+
+!macro MUI_LANGUAGE LANGUAGE
+
+  ;Include a language
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_INSERT
+
+  LoadLanguageFile "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nlf"
+
+  ;Include language file
+  !insertmacro LANGFILE_INCLUDE_WITHDEFAULT "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nsh" "${NSISDIR}\Contrib\Language files\English.nsh"
+
+  ;Add language to list of languages for selection dialog
+  !ifndef MUI_LANGDLL_LANGUAGES
+    !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' "
+    !define MUI_LANGDLL_LANGUAGES_CP "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' "
+  !else
+    !ifdef MUI_LANGDLL_LANGUAGES_TEMP
+      !undef MUI_LANGDLL_LANGUAGES_TEMP
+    !endif
+    !define MUI_LANGDLL_LANGUAGES_TEMP "${MUI_LANGDLL_LANGUAGES}"
+    !undef MUI_LANGDLL_LANGUAGES
+
+    !ifdef MUI_LANGDLL_LANGUAGES_CP_TEMP
+      !undef MUI_LANGDLL_LANGUAGES_CP_TEMP
+    !endif
+    !define MUI_LANGDLL_LANGUAGES_CP_TEMP "${MUI_LANGDLL_LANGUAGES_CP}"
+    !undef MUI_LANGDLL_LANGUAGES_CP
+
+    !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' ${MUI_LANGDLL_LANGUAGES_TEMP}"
+    !define MUI_LANGDLL_LANGUAGES_CP "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' ${MUI_LANGDLL_LANGUAGES_CP_TEMP}"
+  !endif
+
+  !verbose pop
+
+!macroend
+
+
+;--------------------------------
+;Language selection
+
+!macro MUI_LANGDLL_DISPLAY
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_LANGDLL_VARIABLES
+
+  !insertmacro MUI_DEFAULT MUI_LANGDLL_WINDOWTITLE "Installer Language"
+  !insertmacro MUI_DEFAULT MUI_LANGDLL_INFO "Please select a language."
+
+  !ifdef MUI_LANGDLL_REGISTRY_VARAIBLES
+
+    ReadRegStr $mui.LangDLL.RegistryLanguage "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
+    
+    ${if} $mui.LangDLL.RegistryLanguage != ""
+      ;Set default langauge to registry language
+      StrCpy $LANGUAGE $mui.LangDLL.RegistryLanguage
+    ${endif}
+
+  !endif
+
+  !ifdef NSIS_CONFIG_SILENT_SUPPORT
+    ${unless} ${Silent}
+  !endif
+
+  !ifndef MUI_LANGDLL_ALWAYSSHOW
+  !ifdef MUI_LANGDLL_REGISTRY_VARAIBLES
+    ${if} $mui.LangDLL.RegistryLanguage == ""
+  !endif
+  !endif
+  
+  ;Show langauge selection dialog
+  !ifdef MUI_LANGDLL_ALLLANGUAGES
+    LangDLL::LangDialog "${MUI_LANGDLL_WINDOWTITLE}" "${MUI_LANGDLL_INFO}" A ${MUI_LANGDLL_LANGUAGES} ""
+  !else
+    LangDLL::LangDialog "${MUI_LANGDLL_WINDOWTITLE}" "${MUI_LANGDLL_INFO}" AC ${MUI_LANGDLL_LANGUAGES_CP} ""
+  !endif
+  
+    Pop $LANGUAGE
+    ${if} $LANGUAGE == "cancel"
+      Abort
+    ${endif}
+  
+  !ifndef MUI_LANGDLL_ALWAYSSHOW
+  !ifdef MUI_LANGDLL_REGISTRY_VARAIBLES
+    ${endif}
+  !endif
+  !endif
+
+
+  !ifdef NSIS_CONFIG_SILENT_SUPPORT
+    ${endif}
+  !endif
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_LANGDLL_SAVELANGUAGE
+
+  ;Save language in registry
+
+  !ifndef MUI_PAGE_UNINSTALLER
+
+    IfAbort mui.langdllsavelanguage_abort
+
+    !ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
+      WriteRegStr "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}" $LANGUAGE
+    !endif
+
+    mui.langdllsavelanguage_abort:
+
+  !endif
+
+!macroend
+
+!macro MUI_UNGETLANGUAGE
+
+  ;Get language from registry in uninstaller
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_LANGDLL_VARIABLES
+
+  !ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
+
+    ReadRegStr $mui.LangDLL.RegistryLanguage "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
+    
+    ${if} $mui.LangDLL.RegistryLanguage = ""
+
+  !endif
+
+  !insertmacro MUI_LANGDLL_DISPLAY
+
+  !ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
+
+    ${else}
+      StrCpy $LANGUAGE $mui.LangDLL.RegistryLanguage
+    ${endif}
+
+  !endif
+
+  !verbose pop
+
+!macroend
+
+
+;--------------------------------
+;Rerserve LangDLL file
+
+!macro MUI_RESERVEFILE_LANGDLL
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  ReserveFile "${NSISDIR}\Plugins\LangDLL.dll"
+
+  !verbose pop
+
+!macroend
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/Directory.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/Directory.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/Directory.nsh	(revision 2961)
@@ -0,0 +1,125 @@
+/*
+
+NSIS Modern User Interface
+Directory page
+
+*/
+
+;--------------------------------
+;Page interface settings and variables
+
+!macro MUI_DIRECTORYPAGE_INTERFACE
+
+  !ifndef MUI_DIRECTORYPAGE_INTERFACE
+    !define MUI_DIRECTORYPAGE_INTERFACE
+    Var mui.DirectoryPage
+    
+    Var mui.DirectoryPage.Text
+    
+    Var mui.DirectoryPage.DirectoryBox        
+    Var mui.DirectoryPage.Directory
+    Var mui.DirectoryPage.BrowseButton
+    
+    Var mui.DirectoryPage.SpaceRequired
+    Var mui.DirectoryPage.SpaceAvailable    
+  !endif
+
+!macroend
+
+
+;--------------------------------
+;Page declaration
+
+!macro MUI_PAGEDECLARATION_DIRECTORY
+
+  !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}DIRECTORYPAGE ""
+  !insertmacro MUI_DIRECTORYPAGE_INTERFACE
+
+  !insertmacro MUI_DEFAULT MUI_DIRECTORYPAGE_TEXT_TOP ""
+  !insertmacro MUI_DEFAULT MUI_DIRECTORYPAGE_TEXT_DESTINATION ""
+
+  PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}directory
+
+    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryLeave_${MUI_UNIQUEID}
+
+    Caption " "
+
+    DirText "${MUI_DIRECTORYPAGE_TEXT_TOP}" "${MUI_DIRECTORYPAGE_TEXT_DESTINATION}"
+
+    !ifdef MUI_DIRECTORYPAGE_VARIABLE
+      DirVar "${MUI_DIRECTORYPAGE_VARIABLE}"
+    !endif
+
+    !ifdef MUI_DIRECTORYPAGE_VERIFYONLEAVE
+      DirVerify leave
+    !endif
+
+  PageExEnd
+
+  !insertmacro MUI_FUNCTION_DIRECTORYPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryLeave_${MUI_UNIQUEID}
+
+  !undef MUI_DIRECTORYPAGE_TEXT_TOP
+  !undef MUI_DIRECTORYPAGE_TEXT_DESTINATION
+  !insertmacro MUI_UNSET MUI_DIRECTORYPAGE_VARIABLE
+  !insertmacro MUI_UNSET MUI_DIRECTORYPAGE_VERIFYONLEAVE
+
+!macroend
+
+!macro MUI_PAGE_DIRECTORY
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_PAGE_INIT
+  !insertmacro MUI_PAGEDECLARATION_DIRECTORY
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNPAGE_DIRECTORY
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_UNPAGE_INIT
+  !insertmacro MUI_PAGEDECLARATION_DIRECTORY
+
+  !verbose pop
+
+!macroend
+
+
+;--------------------------------
+;Page functions
+
+!macro MUI_FUNCTION_DIRECTORYPAGE PRE SHOW LEAVE
+
+  Function "${PRE}"
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+    !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_DIRECTORY_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_DIRECTORY_SUBTITLE)
+  FunctionEnd
+
+  Function "${SHOW}"
+  
+    ;Get control handles
+    FindWindow $mui.DirectoryPage "#32770" "" $HWNDPARENT
+    GetDlgItem $mui.DirectoryPage.Text $mui.DirectoryPage 1006
+    GetDlgItem $mui.DirectoryPage.DirectoryBox $mui.DirectoryPage 1020
+    GetDlgItem $mui.DirectoryPage.Directory $mui.DirectoryPage 1019 
+    GetDlgItem $mui.DirectoryPage.BrowseButton $mui.DirectoryPage 1001
+    GetDlgItem $mui.DirectoryPage.SpaceRequired $mui.DirectoryPage 1023    
+    GetDlgItem $mui.DirectoryPage.SpaceAvailable $mui.DirectoryPage 1024
+  
+    !ifdef MUI_DIRECTORYPAGE_BGCOLOR
+      SetCtlColors $mui.DirectoryPage.Directory "" "${MUI_DIRECTORYPAGE_BGCOLOR}"
+    !endif
+    
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+  FunctionEnd
+
+  Function "${LEAVE}"
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+  FunctionEnd
+
+!macroend
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/Components.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/Components.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/Components.nsh	(revision 2961)
@@ -0,0 +1,242 @@
+/*
+
+NSIS Modern User Interface
+Components page
+
+*/
+
+;--------------------------------
+;Page interface settings and variables
+
+!macro MUI_COMPONENTSPAGE_INTERFACE
+
+  !ifndef MUI_COMPONENTSPAGE_INTERFACE
+    !define MUI_COMPONENTSPAGE_INTERFACE
+    Var mui.ComponentsPage
+    
+    Var mui.ComponentsPage.Text
+    Var mui.ComponentsPage.InstTypesText
+    Var mui.ComponentsPage.ComponentsText 
+
+    Var mui.ComponentsPage.InstTypes
+    Var mui.ComponentsPage.Components    
+    
+    Var mui.ComponentsPage.DescriptionTitle
+    Var mui.ComponentsPage.DescriptionText.Info
+    Var mui.ComponentsPage.DescriptionText
+    
+    Var mui.ComponentsPage.SpaceRequired
+    
+    !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_CHECKBITMAP "${NSISDIR}\Contrib\Graphics\Checks\modern.bmp"
+    
+    !insertmacro MUI_DEFAULT MUI_UI_COMPONENTSPAGE_SMALLDESC "${NSISDIR}\Contrib\UIs\modern_smalldesc.exe"
+    !insertmacro MUI_DEFAULT MUI_UI_COMPONENTSPAGE_NODESC "${NSISDIR}\Contrib\UIs\modern_nodesc.exe"
+    
+    ;Apply settings
+    
+    !ifdef MUI_COMPONENTSPAGE_SMALLDESC
+      ChangeUI IDD_SELCOM "${MUI_UI_COMPONENTSPAGE_SMALLDESC}"
+    !else ifdef MUI_COMPONENTSPAGE_NODESC
+      ChangeUI IDD_SELCOM "${MUI_UI_COMPONENTSPAGE_NODESC}"
+    !endif
+
+    CheckBitmap "${MUI_COMPONENTSPAGE_CHECKBITMAP}"    
+       
+  !endif
+
+!macroend
+
+
+;--------------------------------
+;Page declaration
+
+!macro MUI_PAGEDECLARATION_COMPONENTS
+
+  !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}COMPONENTSPAGE ""
+  !insertmacro MUI_COMPONENTSPAGE_INTERFACE
+
+  !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_TOP ""
+  !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_COMPLIST ""
+  !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_INSTTYPE ""
+  !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "$(MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE)"
+  !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO "$(MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO)"
+  
+  PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}components
+
+    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsLeave_${MUI_UNIQUEID}
+
+    Caption " "
+
+    ComponentText "${MUI_COMPONENTSPAGE_TEXT_TOP}" "${MUI_COMPONENTSPAGE_TEXT_INSTTYPE}" "${MUI_COMPONENTSPAGE_TEXT_COMPLIST}"
+
+  PageExEnd
+
+  !insertmacro MUI_FUNCTION_COMPONENTSPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsLeave_${MUI_UNIQUEID}
+
+  !undef MUI_COMPONENTSPAGE_TEXT_TOP
+  !undef MUI_COMPONENTSPAGE_TEXT_COMPLIST
+  !undef MUI_COMPONENTSPAGE_TEXT_INSTTYPE
+  !insertmacro MUI_UNSET MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE
+  !insertmacro MUI_UNSET MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO
+
+!macroend
+
+!macro MUI_PAGE_COMPONENTS
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_PAGE_INIT
+  !insertmacro MUI_PAGEDECLARATION_COMPONENTS
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNPAGE_COMPONENTS
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_UNPAGE_INIT
+  !insertmacro MUI_PAGEDECLARATION_COMPONENTS
+
+  !verbose pop
+
+!macroend
+
+
+;--------------------------------
+;Page functions
+
+!macro MUI_FUNCTION_COMPONENTSPAGE PRE SHOW LEAVE
+
+  Function "${PRE}"
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+    !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_COMPONENTS_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_COMPONENTS_SUBTITLE)
+  FunctionEnd
+
+  Function "${SHOW}"
+  
+    ;Get control hanldes
+    FindWindow $mui.ComponentsPage "#32770" "" $HWNDPARENT
+    GetDlgItem $mui.ComponentsPage.Text             $mui.ComponentsPage 1006
+    GetDlgItem $mui.ComponentsPage.InstTypesText    $mui.ComponentsPage 1021
+    GetDlgItem $mui.ComponentsPage.ComponentsText   $mui.ComponentsPage 1022
+    GetDlgItem $mui.ComponentsPage.InstTypes        $mui.ComponentsPage 1017
+    GetDlgItem $mui.ComponentsPage.Components       $mui.ComponentsPage 1032
+    GetDlgItem $mui.ComponentsPage.DescriptionTitle $mui.ComponentsPage 1042
+    GetDlgItem $mui.ComponentsPage.DescriptionText  $mui.ComponentsPage 1043
+    GetDlgItem $mui.ComponentsPage.SpaceRequired    $mui.ComponentsPage 1023    
+
+    ;Default text in description textbox
+    SendMessage $mui.ComponentsPage.DescriptionTitle ${WM_SETTEXT} 0 "STR:${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE}"
+    EnableWindow $mui.ComponentsPage.DescriptionText 0
+    SendMessage $mui.ComponentsPage.DescriptionText ${WM_SETTEXT} 0 "STR:${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO}"
+
+    StrCpy $mui.ComponentsPage.DescriptionText.Info "${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO}" ;Text for current components page
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+
+  FunctionEnd
+
+  Function "${LEAVE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+
+  FunctionEnd
+
+!macroend
+
+
+;--------------------------------
+;Script functions for components descriptions
+
+!macro MUI_DESCRIPTION_BEGIN
+
+  ${if} $0 == -1
+    ;No mouse hover over component in list
+    SendMessage $mui.ComponentsPage.DescriptionText ${WM_SETTEXT} 0 "STR:"
+    EnableWindow $mui.ComponentsPage.DescriptionText 0
+    SendMessage $mui.ComponentsPage.DescriptionText ${WM_SETTEXT} 0 "STR:$mui.ComponentsPage.DescriptionText.Info"
+
+!macroend
+
+!macro MUI_DESCRIPTION_TEXT VAR TEXT
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  ${elseif} $0 == ${VAR}
+    SendMessage $mui.ComponentsPage.DescriptionText ${WM_SETTEXT} 0 "STR:"
+    EnableWindow $mui.ComponentsPage.DescriptionText 1
+    SendMessage $mui.ComponentsPage.DescriptionText ${WM_SETTEXT} 0 "STR:${TEXT}"
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_DESCRIPTION_END
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  ${endif}
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_FUNCTION_DESCRIPTION_BEGIN
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  Function .onMouseOverSection
+    !insertmacro MUI_DESCRIPTION_BEGIN
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_FUNCTION_DESCRIPTION_END
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+    !insertmacro MUI_DESCRIPTION_END
+    !ifdef MUI_CUSTOMFUNCTION_ONMOUSEOVERSECTION
+      Call "${MUI_CUSTOMFUNCTION_ONMOUSEOVERSECTION}"
+    !endif
+  FunctionEnd
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNFUNCTION_DESCRIPTION_BEGIN
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  Function un.onMouseOverSection
+    !insertmacro MUI_DESCRIPTION_BEGIN
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNFUNCTION_DESCRIPTION_END
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+    !insertmacro MUI_DESCRIPTION_END
+    !ifdef MUI_CUSTOMFUNCTION_UNONMOUSEOVERSECTION
+      Call "${MUI_CUSTOMFUNCTION_UNONMOUSEOVERSECTION}"
+    !endif
+  FunctionEnd
+
+  !verbose pop
+
+!macroend
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/UninstallConfirm.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/UninstallConfirm.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/UninstallConfirm.nsh	(revision 2961)
@@ -0,0 +1,96 @@
+/*
+
+NSIS Modern User Interface
+Uninstall confirmation page
+
+*/
+
+;--------------------------------
+;Page interface settings and variables
+
+!macro MUI_UNCONFIRMPAGE_INTERFACE
+
+  !ifndef MUI_UNCONFIRMPAGE_INTERFACE
+    !define MUI_UNCONFIRMPAGE_INTERFACE
+    Var mui.UnConfirmPage
+    
+    Var mui.UnConfirmPage.Text
+    Var mui.UnConfirmPage.DirectoryText
+    Var mui.UnConfirmPage.Directory    
+  !endif
+
+!macroend
+
+
+;--------------------------------
+;Page declaration
+
+!macro MUI_PAGEDECLARATION_CONFIRM
+
+  !insertmacro MUI_SET MUI_UNCONFIRMPAGE ""
+  !insertmacro MUI_UNCONFIRMPAGE_INTERFACE  
+
+  !insertmacro MUI_DEFAULT MUI_UNCONFIRMPAGE_TEXT_TOP ""
+  !insertmacro MUI_DEFAULT MUI_UNCONFIRMPAGE_TEXT_LOCATION ""
+
+  PageEx un.uninstConfirm
+
+    PageCallbacks un.mui.ConfirmPre_${MUI_UNIQUEID} un.mui.ConfirmShow_${MUI_UNIQUEID} un.mui.ConfirmLeave_${MUI_UNIQUEID}
+
+    Caption " "
+
+    UninstallText "${MUI_UNCONFIRMPAGE_TEXT_TOP}" "${MUI_UNCONFIRMPAGE_TEXT_LOCATION}"
+
+  PageExEnd
+
+  !insertmacro MUI_UNFUNCTION_CONFIRMPAGE un.mui.ConfirmPre_${MUI_UNIQUEID} un.mui.ConfirmShow_${MUI_UNIQUEID} un.mui.ConfirmLeave_${MUI_UNIQUEID}
+
+  !insertmacro MUI_UNSET MUI_UNCONFIRMPAGE_TEXT_TOP
+  !insertmacro MUI_UNSET MUI_UNCONFIRMPAGE_TEXT_LOCATION
+
+!macroend
+
+!macro MUI_UNPAGE_CONFIRM
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_UNPAGE_INIT
+  !insertmacro MUI_PAGEDECLARATION_CONFIRM
+  
+  !verbose pop
+
+!macroend
+
+
+;--------------------------------
+;Page functions
+
+!macro MUI_UNFUNCTION_CONFIRMPAGE PRE SHOW LEAVE
+
+  Function "${PRE}"
+
+   !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+   !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_UNTEXT_CONFIRM_TITLE) $(MUI_UNTEXT_CONFIRM_SUBTITLE)
+
+  FunctionEnd
+
+  Function "${SHOW}"
+
+    ;Get controls handles
+    FindWindow $mui.UnConfirmPage "#32770" "" $HWNDPARENT
+    GetDlgItem $mui.UnConfirmPage.Text $mui.UnConfirmPage 1006
+    GetDlgItem $mui.UnConfirmPage.DirectoryText $mui.UnConfirmPage 1029
+    GetDlgItem $mui.UnConfirmPage.Directory $mui.UnConfirmPage 1000
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+
+  FunctionEnd
+
+  Function "${LEAVE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+
+  FunctionEnd
+
+!macroend
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/InstallFiles.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/InstallFiles.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/InstallFiles.nsh	(revision 2961)
@@ -0,0 +1,149 @@
+/*
+
+NSIS Modern User Interface
+InstallFiles page
+
+*/
+
+;--------------------------------
+;Page interface settings and variables
+
+!macro MUI_INSTFILESPAGE_INTERFACE
+
+  !ifndef MUI_INSTFILESYPAGE_INTERFACE
+    !define MUI_INSTFILESYPAGE_INTERFACE
+    
+    !insertmacro MUI_DEFAULT MUI_INSTFILESPAGE_COLORS "/windows"
+    !insertmacro MUI_DEFAULT MUI_INSTFILESPAGE_PROGRESSBAR "smooth"    
+    
+    Var mui.InstFilesPage
+    
+    Var mui.InstFilesPage.Text
+    Var mui.InstFilesPage.ProgressBar
+    Var mui.InstFilesPage.ShowLogButton
+    Var mui.InstFilesPage.Log
+    
+    ;Apply settings
+    InstallColors ${MUI_INSTFILESPAGE_COLORS}
+    InstProgressFlags ${MUI_INSTFILESPAGE_PROGRESSBAR}
+    SubCaption 4 " "
+    UninstallSubCaption 2 " "   
+  !endif
+
+!macroend
+
+
+;--------------------------------
+;Page declaration
+
+!macro MUI_PAGEDECLARATION_INSTFILES
+
+  !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INSTFILESPAGE ""
+  !insertmacro MUI_INSTFILESPAGE_INTERFACE
+  
+  PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}instfiles
+
+    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesLeave_${MUI_UNIQUEID}
+
+    Caption " "
+
+  PageExEnd
+
+  !insertmacro MUI_FUNCTION_INSTFILESPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesLeave_${MUI_UNIQUEID}
+
+  !insertmacro MUI_UNSET MUI_INSTFILESPAGE_FINISHHEADER_TEXT
+  !insertmacro MUI_UNSET MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
+  !insertmacro MUI_UNSET MUI_INSTFILESPAGE_ABORTWARNING_TEXT
+  !insertmacro MUI_UNSET MUI_INSTFILESPAGE_ABORTWARNING_SUBTEXT
+
+!macroend
+
+!macro MUI_PAGE_INSTFILES
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_PAGE_INIT
+  !insertmacro MUI_PAGEDECLARATION_INSTFILES
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNPAGE_INSTFILES
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_UNPAGE_INIT
+  !insertmacro MUI_PAGEDECLARATION_INSTFILES
+
+  !verbose pop
+
+!macroend
+
+
+;--------------------------------
+;Page functions
+
+!macro MUI_FUNCTION_INSTFILESPAGE PRE SHOW LEAVE
+
+  Function "${PRE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+    !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_${MUI_PAGE_UNINSTALLER_PREFIX}INSTALLING_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_${MUI_PAGE_UNINSTALLER_PREFIX}INSTALLING_SUBTITLE)
+
+  FunctionEnd
+
+  Function "${SHOW}"
+
+    ;Get controls handles
+    FindWindow $mui.InstFilesPage "#32770" "" $HWNDPARENT
+    GetDlgItem $mui.InstFilesPage.Text $mui.InstFilesPage 1006
+    GetDlgItem $mui.InstFilesPage.ProgressBar $mui.InstFilesPage 1004
+    GetDlgItem $mui.InstFilesPage.ShowLogButton $mui.InstFilesPage 1027    
+    GetDlgItem $mui.InstFilesPage.Log $mui.InstFilesPage 1016
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+
+  FunctionEnd
+
+  Function "${LEAVE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+
+    ;Set text on completed page header
+
+    IfAbort mui.endheader_abort
+
+      !ifdef MUI_INSTFILESPAGE_FINISHHEADER_TEXT & MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
+        !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_FINISHHEADER_TEXT}" "${MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT}"
+      !else ifdef MUI_INSTFILESPAGE_FINISHHEADER_TEXT
+        !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_FINISHHEADER_TEXT}" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_SUBTITLE)"
+      !else ifdef MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
+        !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_TITLE)" "${MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT}"
+      !else
+        !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_TITLE)" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_SUBTITLE)"
+      !endif
+
+    Goto mui.endheader_done
+
+    mui.endheader_abort:
+
+      !ifdef MUI_INSTFILESPAGE_ABORTHEADER_TEXT & MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT
+        !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_ABORTHEADER_TEXT}" "${MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT}"
+      !else ifdef MUI_INSTFILESPAGE_ABORTHEADER_TEXT
+        !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_ABORTHEADER_TEXT}" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_SUBTITLE)"
+      !else ifdef MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT
+        !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_TITLE)" "${MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT}"
+      !else
+        !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_TITLE)" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_SUBTITLE)"
+      !endif
+
+    mui.endheader_done:
+
+      !insertmacro MUI_LANGDLL_SAVELANGUAGE
+
+  FunctionEnd
+
+!macroend
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/Welcome.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/Welcome.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/Welcome.nsh	(revision 2961)
@@ -0,0 +1,180 @@
+/*
+
+NSIS Modern User Interface
+Welcome page (implemented using nsDialogs)
+
+*/
+
+;--------------------------------
+;Page interface settings and variables
+
+!macro MUI_WELCOMEPAGE_INTERFACE
+
+  !ifndef MUI_WELCOMEPAGE_INTERFACE
+    !define MUI_WELCOMEPAGE_INTERFACE
+    Var mui.WelcomePage
+        
+    Var mui.WelcomePage.Image
+    Var mui.WelcomePage.Image.Bitmap
+    
+    Var mui.WelcomePage.Title
+    Var mui.WelcomePage.Title.Font
+    
+    Var mui.WelcomePage.Text    
+  !endif
+  
+  !insertmacro MUI_DEFAULT MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\win.bmp"  
+
+!macroend
+
+
+;--------------------------------
+;Interface initialization
+
+!macro MUI_WELCOMEPAGE_GUIINIT
+
+  !ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEWELCOMEPAGE_GUINIT
+    !define MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEWELCOMEPAGE_GUINIT
+
+    Function ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePage.GUIInit
+      
+      InitPluginsDir
+      File "/oname=$PLUGINSDIR\modern-wizard.bmp" "${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP}"
+    
+      !ifdef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT
+        Call "${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT}"
+      !endif   
+    
+    FunctionEnd
+  
+    !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePage.GUIInit
+
+  !endif
+
+!macroend
+
+
+;--------------------------------
+;Page declaration
+
+!macro MUI_PAGEDECLARATION_WELCOME
+
+  !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEPAGE ""
+  !insertmacro MUI_WELCOMEPAGE_INTERFACE
+  
+  !insertmacro MUI_WELCOMEPAGE_GUIINIT
+
+  !insertmacro MUI_DEFAULT MUI_WELCOMEPAGE_TITLE "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_WELCOME_INFO_TITLE)"
+  !insertmacro MUI_DEFAULT MUI_WELCOMEPAGE_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_WELCOME_INFO_TEXT)"
+  
+  !insertmacro MUI_PAGE_FUNCTION_FULLWINDOW
+
+  PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom
+
+    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomeLeave_${MUI_UNIQUEID}
+
+  PageExEnd
+
+  !insertmacro MUI_FUNCTION_WELCOMEPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomeLeave_${MUI_UNIQUEID}
+
+  !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE
+  !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE_3LINES
+  !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TEXT
+
+!macroend
+
+!macro MUI_PAGE_WELCOME
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_PAGE_INIT
+  !insertmacro MUI_PAGEDECLARATION_WELCOME
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNPAGE_WELCOME
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_UNPAGE_INIT
+  !insertmacro MUI_PAGEDECLARATION_WELCOME
+
+  !verbose pop
+
+!macroend
+
+
+;--------------------------------
+;Page functions
+
+!macro MUI_FUNCTION_WELCOMEPAGE PRE LEAVE
+
+  Function "${PRE}"
+  
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE  
+
+    ;Create dialog
+    nsDialogs::Create 1044
+    Pop $mui.WelcomePage
+    nsDialogs::SetRTL $(^RTL)
+    SetCtlColors $mui.WelcomePage "" "${MUI_BGCOLOR}"    
+
+    ;Image control
+    ${NSD_CreateBitmap} 0u 0u 109u 193u ""
+    Pop $mui.WelcomePage.Image
+    !ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
+      ${NSD_SetStretchedImage} $mui.WelcomePage.Image $PLUGINSDIR\modern-wizard.bmp $mui.WelcomePage.Image.Bitmap
+    !else
+      ${NSD_SetImage} $mui.WelcomePage.Image $PLUGINSDIR\modern-wizard.bmp $mui.WelcomePage.Image.Bitmap
+    !endif
+
+    ;Positiong of controls
+
+    ;Title    
+    !ifndef MUI_WELCOMEPAGE_TITLE_3LINES
+      !define MUI_WELCOMEPAGE_TITLE_HEIGHT 28
+    !else
+      !define MUI_WELCOMEPAGE_TITLE_HEIGHT 38
+    !endif
+    
+    ;Text
+    ;17 = 10 (top margin) + 7 (distance between texts)
+    !define /math MUI_WELCOMEPAGE_TEXT_TOP 17 + ${MUI_WELCOMEPAGE_TITLE_HEIGHT}
+
+    ;Title
+    ${NSD_CreateLabel} 120u 10u 195u ${MUI_WELCOMEPAGE_TITLE_HEIGHT}u "${MUI_WELCOMEPAGE_TITLE}"
+    Pop $mui.WelcomePage.Title
+    SetCtlColors $mui.WelcomePage.Title "" "${MUI_BGCOLOR}"    
+    CreateFont $mui.WelcomePage.Title.Font "$(^Font)" "12" "700"
+    SendMessage $mui.WelcomePage.Title ${WM_SETFONT} $mui.WelcomePage.Title.Font 0
+
+    ;Welcome text
+    ${NSD_CreateLabel} 120u ${MUI_WELCOMEPAGE_TEXT_TOP}u 195u 130u "${MUI_WELCOMEPAGE_TEXT}"
+    Pop $mui.WelcomePage.Text
+    SetCtlColors $mui.WelcomePage.Text "" "${MUI_BGCOLOR}"
+
+    ;Show page
+    Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageLoadFullWindow
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+    nsDialogs::Show
+    Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageUnloadFullWindow    
+
+    ;Delete image from memory
+    ${NSD_FreeImage} $mui.WelcomePage.Image.Bitmap
+
+    !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE_HEIGHT
+    !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TEXT_TOP
+    
+  FunctionEnd
+
+  Function "${LEAVE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+
+  FunctionEnd
+
+!macroend
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/Finish.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/Finish.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/Finish.nsh	(revision 2961)
@@ -0,0 +1,491 @@
+ /*
+
+NSIS Modern User Interface
+Finish page (implemented using nsDialogs)
+
+*/
+
+;--------------------------------
+;Page interface settings and variables
+
+!macro MUI_FINISHPAGE_INTERFACE
+
+  !ifndef MUI_FINISHPAGE_INTERFACE
+    !define MUI_FINISHPAGE_INTERFACE
+    Var mui.FinishPage
+        
+    Var mui.FinishPage.Image
+    Var mui.FinishPage.Image.Bitmap
+    
+    Var mui.FinishPage.Title
+    Var mui.FinishPage.Title.Font
+    
+    Var mui.FinishPage.Text
+  !endif
+
+  !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
+    !ifndef MUI_FINISHPAGE_RETURNVALUE_VARIABLES
+      !define MUI_FINISHPAGE_RETURNVALUE_VARIABLES
+      Var mui.FinishPage.ReturnValue
+    !endif
+  !else ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME
+    !ifndef MUI_FINISHPAGE_RETURNVALUE_VARIABLES
+      !define MUI_FINISHPAGE_RETURNVALUE_VARIABLES
+      Var mui.FinishPage.ReturnValue
+    !endif 
+  !endif
+    
+  !ifdef MUI_FINISHPAGE_CANCEL_ENABLED
+    !ifndef MUI_FINISHPAGE_CANCEL_ENABLED_VARIABLES
+      !define MUI_FINISHPAGE_CANCEL_ENABLED_VARIABLES
+      Var mui.FinishPage.DisableAbortWarning
+    !endif  
+  !endif
+  
+  !ifdef MUI_FINISHPAGE_RUN
+    !ifndef MUI_FINISHPAGE_RUN_VARIABLES
+      !define MUI_FINISHPAGE_RUN_VARIABLES
+      Var mui.FinishPage.Run
+    !endif
+  !endif
+  
+  !ifdef MUI_FINISHPAGE_SHOWREADME
+    !ifndef MUI_FINISHPAGE_SHOREADME_VARAIBLES
+      !define MUI_FINISHPAGE_SHOREADME_VARAIBLES
+      Var mui.FinishPage.ShowReadme
+    !endif
+  !endif
+  
+  !ifdef MUI_FINISHPAGE_LINK
+    !ifndef MUI_FINISHPAGE_LINK_VARIABLES
+      !define MUI_FINISHPAGE_LINK_VARIABLES
+      Var mui.FinishPage.Link
+    !endif
+  !endif
+  
+  !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
+    !ifndef MUI_FINISHPAGE_REBOOT_VARIABLES
+      !define MUI_FINISHPAGE_REBOOT_VARIABLES
+      Var mui.FinishPage.RebootNow
+      Var mui.FinishPage.RebootLater
+    !endif
+  !endif
+
+  !insertmacro MUI_DEFAULT MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\win.bmp"  
+
+!macroend
+
+
+;--------------------------------
+;Interface initialization
+
+!macro MUI_FINISHPAGE_GUIINIT
+
+  !ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_GUINIT
+    !define MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_GUINIT
+
+    Function ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.GUIInit
+  
+      InitPluginsDir  
+      File "/oname=$PLUGINSDIR\modern-wizard.bmp" "${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP}"
+    
+      !ifdef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT
+        Call "${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT}"
+      !endif
+      
+      !ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}FINISHPAGE_NOAUTOCLOSE
+        SetAutoClose true
+      !endif
+    
+    FunctionEnd
+  
+    !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.GUIInit
+    
+  !endif    
+
+!macroend
+
+
+;--------------------------------
+;Abort warning
+
+!macro MUI_FINISHPAGE_ABORTWARNING
+
+  !ifdef MUI_FINISHPAGE_CANCEL_ENABLED
+  
+    !ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}FINISHPAGE_ABORTWARNING
+      !define MUI_${MUI_PAGE_UNINSTALLER_PREFIX}FINISHPAGE_ABORTWARNING
+
+      Function ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.AbortWarning
+
+        ${if} $mui.FinishPage.DisableAbortWarning == "1"
+          Quit
+        ${endif}
+      
+        !ifdef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_ABORTWARNING
+          Call ${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_ABORTWARNING}
+        !endif
+  
+      FunctionEnd
+    
+      !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_ABORTWARNING ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.AbortWarning
+    
+    !endif
+  
+  !endif
+
+!macroend
+
+
+;--------------------------------
+;Page declaration
+
+!macro MUI_PAGEDECLARATION_FINISH
+
+  !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}FINISHPAGE ""
+  !insertmacro MUI_FINISHPAGE_INTERFACE
+  
+  !insertmacro MUI_FINISHPAGE_GUIINIT
+  !insertmacro MUI_FINISHPAGE_ABORTWARNING
+
+  !insertmacro MUI_DEFAULT MUI_FINISHPAGE_TITLE "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_TITLE)"
+  !insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_TEXT)"
+  !insertmacro MUI_DEFAULT MUI_FINISHPAGE_BUTTON "$(MUI_BUTTONTEXT_FINISH)"
+  !insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT_REBOOT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_REBOOT)"
+  !insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT_REBOOTNOW "$(MUI_TEXT_FINISH_REBOOTNOW)"
+  !insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT_REBOOTLATER "$(MUI_TEXT_FINISH_REBOOTLATER)"
+  !insertmacro MUI_DEFAULT MUI_FINISHPAGE_RUN_TEXT "$(MUI_TEXT_FINISH_RUN)"
+  !insertmacro MUI_DEFAULT MUI_FINISHPAGE_SHOWREADME_TEXT "$(MUI_TEXT_FINISH_SHOWREADME)"
+  !insertmacro MUI_DEFAULT MUI_FINISHPAGE_LINK_COLOR "000080"
+
+  !insertmacro MUI_PAGE_FUNCTION_FULLWINDOW
+
+  PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom
+
+    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.Pre_${MUI_UNIQUEID} \
+      ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.Leave_${MUI_UNIQUEID}
+
+    Caption " "
+
+  PageExEnd
+
+  !insertmacro MUI_FUNCTION_FINISHPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.Pre_${MUI_UNIQUEID} \
+    ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.Leave_${MUI_UNIQUEID} \
+    ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.Link_${MUI_UNIQUEID}
+
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_TITLE
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_TITLE_3LINES
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_LARGE
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_BUTTON
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_CANCEL_ENABLED
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOT
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOTNOW
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOTLATER
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_REBOOTLATER_DEFAULT
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_TEXT
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_PARAMETERS
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_NOTCHECKED
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_FUNCTION
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_TEXT
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_FUNCTION
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_LINK
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_LINK_LOCATION
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_LINK_COLOR
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_NOREBOOTSUPPORT
+
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_ABORTWARNINGCHECK
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_CURFIELD_TOP
+  !insertmacro MUI_UNSET MUI_FINISHPAGE_CURFIELD_BOTTOM
+
+!macroend
+
+!macro MUI_PAGE_FINISH
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_PAGE_INIT
+  !insertmacro MUI_PAGEDECLARATION_FINISH
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNPAGE_FINISH
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_UNPAGE_INIT
+  !insertmacro MUI_PAGEDECLARATION_FINISH
+
+  !verbose pop
+
+!macroend
+
+
+;--------------------------------
+;Page functions
+
+!macro MUI_FUNCTION_FINISHPAGE PRE LEAVE LINK
+
+  !ifdef MUI_FINISHPAGE_LINK
+  
+  Function "${LINK}"
+  
+    ExecShell open "${MUI_FINISHPAGE_LINK_LOCATION}"
+  
+  FunctionEnd
+  
+  !endif
+  
+  Function "${PRE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+
+    ;Set text on Next button
+    SendMessage $mui.Button.Next ${WM_SETTEXT} 0 "STR:${MUI_FINISHPAGE_BUTTON}"
+    
+    ;Enable cancel button if set in script
+    !ifdef MUI_FINISHPAGE_CANCEL_ENABLED
+      EnableWindow $mui.Button.Cancel 1
+    !endif
+    
+    ;Create dialog
+    nsDialogs::Create 1044
+    Pop $mui.FinishPage
+    nsDialogs::SetRTL $(^RTL)
+    SetCtlColors $mui.FinishPage "" "${MUI_BGCOLOR}"
+
+    ;Image control
+    ${NSD_CreateBitmap} 0u 0u 109u 193u ""
+    Pop $mui.FinishPage.Image
+    !ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
+      ${NSD_SetStretchedImage} $mui.FinishPage.Image $PLUGINSDIR\modern-wizard.bmp $mui.FinishPage.Image.Bitmap
+    !else
+      ${NSD_SetImage} $mui.FinishPage.Image $PLUGINSDIR\modern-wizard.bmp $mui.FinishPage.Image.Bitmap
+    !endif
+    
+    ;Positiong of controls
+
+    ;Title    
+    !ifndef MUI_FINISHPAGE_TITLE_3LINES
+      !define MUI_FINISHPAGE_TITLE_HEIGHT 28
+    !else
+      !define MUI_FINISHPAGE_TITLE_HEIGHT 38
+    !endif
+    
+    ;Text
+    ;17 = 10 (top margin) + 7 (distance between texts)
+    !define /math MUI_FINISHPAGE_TEXT_TOP 17 + ${MUI_FINISHPAGE_TITLE_HEIGHT}
+    
+    ;Height if space required for radio buttons or check boxes
+    !ifndef MUI_FINISHPAGE_TEXT_LARGE
+      !define MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS 40
+    !else
+      !define MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS 60
+    !endif
+    
+    !define /math MUI_FINISHPAGE_TEXT_BOTTOM_BUTTONS ${MUI_FINISHPAGE_TEXT_TOP} + ${MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS}
+    
+    ;Positioning of radio buttons to ask for a reboot
+    !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
+      !define /math MUI_FINISHPAGE_REBOOTNOW_TOP ${MUI_FINISHPAGE_TEXT_BOTTOM_BUTTONS} + 5 ;Distance between text and options
+      ;25 = 10 (height of first radio button) + 15 (distance between buttons)
+      !define /math MUI_FINISHPAGE_REBOOTLATER_TOP ${MUI_FINISHPAGE_REBOOTNOW_TOP} + 25
+    !endif
+    
+    ;Positioning of checkboxes
+    !ifdef MUI_FINISHPAGE_RUN
+      !define /math MUI_FINISHPAGE_RUN_TOP ${MUI_FINISHPAGE_TEXT_BOTTOM_BUTTONS} + 5 ;Distance between text and options 
+    !endif
+    !ifdef MUI_FINISHPAGE_SHOWREADME
+      !ifdef MUI_FINISHPAGE_RUN
+        ;25 = 10 (height of run checkbox) + 10 (distance between checkboxes)
+        !define /math MUI_FINISHPAGE_SHOWREADME_TOP ${MUI_FINISHPAGE_RUN_TOP} + 20
+      !else
+        !define /math MUI_FINISHPAGE_SHOWREADME_TOP ${MUI_FINISHPAGE_TEXT_BOTTOM_BUTTONS} + 5 ;Distance between text and options    
+      !endif
+    !endif
+
+    !ifndef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
+      ;Height if full space is available for text and link
+      !ifndef MUI_FINISHPAGE_LINK
+        !define MUI_FINISHPAGE_TEXT_HEIGHT 130
+      !else
+        !define MUI_FINISHPAGE_TEXT_HEIGHT 120
+      !endif
+    !endif 
+    
+    !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
+
+      ${if} ${RebootFlag}
+
+        ;Title text
+        ${NSD_CreateLabel} 120u 10u 195u ${MUI_FINISHPAGE_TITLE_HEIGHT}u "${MUI_FINISHPAGE_TITLE}"
+        Pop $mui.FinishPage.Title
+        SetCtlColors $mui.FinishPage.Title "" "${MUI_BGCOLOR}"
+        CreateFont $mui.FinishPage.Title.Font "$(^Font)" "12" "700"
+        SendMessage $mui.FinishPage.Title ${WM_SETFONT} $mui.FinishPage.Title.Font 0
+
+        ;Finish text
+        ${NSD_CreateLabel} 120u 45u 195u ${MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS}u "${MUI_FINISHPAGE_TEXT_REBOOT}"
+        Pop $mui.FinishPage.Text
+        SetCtlColors $mui.FinishPage.Text "" "${MUI_BGCOLOR}"
+      
+        ;Radio buttons for reboot page
+        ${NSD_CreateRadioButton} 120u ${MUI_FINISHPAGE_REBOOTNOW_TOP}u 195u 10u "${MUI_FINISHPAGE_TEXT_REBOOTNOW}"
+        Pop $mui.FinishPage.RebootNow
+        SetCtlColors $mui.FinishPage.RebootNow "" "${MUI_BGCOLOR}"        
+        ${NSD_CreateRadioButton} 120u ${MUI_FINISHPAGE_REBOOTLATER_TOP}u 195u 10u "${MUI_FINISHPAGE_TEXT_REBOOTLATER}"
+        Pop $mui.FinishPage.RebootLater
+        SetCtlColors $mui.FinishPage.RebootLater "" "${MUI_BGCOLOR}"
+        !ifndef MUI_FINISHPAGE_REBOOTLATER_DEFAULT
+          SendMessage $mui.FinishPage.RebootNow ${BM_SETCHECK} ${BST_CHECKED} 0
+        !else
+          SendMessage $mui.FinishPage.RebootLater ${BM_SETCHECK} ${BST_CHECKED} 0
+        !endif
+        ${NSD_SetFocus} $mui.FinishPage.RebootNow
+
+      ${else}
+
+    !endif
+        
+        ;Title text
+        ${NSD_CreateLabel} 120u 10u 195u ${MUI_FINISHPAGE_TITLE_HEIGHT}u "${MUI_FINISHPAGE_TITLE}"
+        Pop $mui.FinishPage.Title
+        SetCtlColors $mui.FinishPage.Title "" "${MUI_BGCOLOR}"
+        CreateFont $mui.FinishPage.Title.Font "$(^Font)" "12" "700"
+        SendMessage $mui.FinishPage.Title ${WM_SETFONT} $mui.FinishPage.Title.Font 0
+
+        ;Finish text
+        !ifndef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
+          ${NSD_CreateLabel} 120u ${MUI_FINISHPAGE_TEXT_TOP}u 195u ${MUI_FINISHPAGE_TEXT_HEIGHT}u "${MUI_FINISHPAGE_TEXT}"
+        !else
+          ${NSD_CreateLabel} 120u ${MUI_FINISHPAGE_TEXT_TOP}u 195u ${MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS}u "${MUI_FINISHPAGE_TEXT}"
+        !endif
+        Pop $mui.FinishPage.Text
+        SetCtlColors $mui.FinishPage.Text "" "${MUI_BGCOLOR}"
+    
+        ;Checkboxes
+        !ifdef MUI_FINISHPAGE_RUN
+          ${NSD_CreateCheckbox} 120u ${MUI_FINISHPAGE_RUN_TOP}u 195u 10u "${MUI_FINISHPAGE_RUN_TEXT}"
+          Pop $mui.FinishPage.Run
+          SetCtlColors $mui.FinishPage.Run "" "${MUI_BGCOLOR}"
+          !ifndef MUI_FINISHPAGE_RUN_NOTCHECKED
+            SendMessage $mui.FinishPage.Run ${BM_SETCHECK} ${BST_CHECKED} 0
+          !endif
+          ${NSD_SetFocus} $mui.FinishPage.Run
+        !endif
+        !ifdef MUI_FINISHPAGE_SHOWREADME
+          ${NSD_CreateCheckbox} 120u ${MUI_FINISHPAGE_SHOWREADME_TOP}u 195u 10u "${MUI_FINISHPAGE_SHOWREADME_TEXT}"
+          Pop $mui.FinishPage.ShowReadme
+          SetCtlColors $mui.FinishPage.ShowReadme "" "${MUI_BGCOLOR}"
+          !ifndef MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
+            SendMessage $mui.FinishPage.ShowReadme ${BM_SETCHECK} ${BST_CHECKED} 0
+          !endif
+          !ifndef MUI_FINISHPAGE_RUN
+            ${NSD_SetFocus} $mui.FinishPage.ShowReadme
+          !endif
+        !endif
+    
+        ;Link
+        !ifdef MUI_FINISHPAGE_LINK
+          ${NSD_CreateLink} 120u 175u 195u 10u "${MUI_FINISHPAGE_LINK}"
+          Pop $mui.FinishPage.Link
+          SetCtlColors $mui.FinishPage.Link "${MUI_FINISHPAGE_LINK_COLOR}" "${MUI_BGCOLOR}"
+          ${NSD_OnClick} $mui.FinishPage.Link "${LINK}"
+        !endif
+        
+    !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT        
+      ${endif}
+    !endif
+
+    !ifdef MUI_FINISHPAGE_CANCEL_ENABLED
+      StrCpy $mui.FinishPage.DisableAbortWarning "1"
+    !endif
+
+    ;Show page
+    Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageLoadFullWindow
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+    nsDialogs::Show
+    Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageUnloadFullWindow 
+    
+    !ifdef MUI_FINISHPAGE_CANCEL_ENABLED
+      StrCpy $mui.FinishPage.DisableAbortWarning ""
+    !endif
+    
+    ;Delete image from memory
+    ${NSD_FreeImage} $mui.FinishPage.Image.Bitmap
+    
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_TITLE_HEIGHT
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_TOP
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_HEIGHT
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_BOTTOM_BUTTONS
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_REBOOTNOW_TOP
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_REBOOTLATER_TOP
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_TOP
+    !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_TOP
+
+  FunctionEnd
+
+  Function "${LEAVE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+
+    !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
+
+      ;Check whether the user has chosen to reboot the computer
+      ${if} ${RebootFlag}
+        SendMessage $mui.FinishPage.RebootNow ${BM_GETCHECK} 0 0 $mui.FinishPage.ReturnValue
+        ${if} $mui.FinishPage.ReturnValue = ${BST_CHECKED}
+          Reboot
+        ${else}
+          Return
+        ${endif}
+      ${endif}
+
+    !endif
+
+    ;Run functions depending on checkbox state 
+
+    !ifdef MUI_FINISHPAGE_RUN
+    
+      SendMessage $mui.FinishPage.Run ${BM_GETCHECK} 0 0 $mui.FinishPage.ReturnValue
+
+      ${if} $mui.FinishPage.ReturnValue = ${BST_CHECKED}
+        !ifndef MUI_FINISHPAGE_RUN_FUNCTION
+          !ifndef MUI_FINISHPAGE_RUN_PARAMETERS
+            Exec "$\"${MUI_FINISHPAGE_RUN}$\""
+          !else
+            Exec "$\"${MUI_FINISHPAGE_RUN}$\" ${MUI_FINISHPAGE_RUN_PARAMETERS}"
+          !endif
+        !else
+          Call "${MUI_FINISHPAGE_RUN_FUNCTION}"
+        !endif
+      ${endif}
+
+    !endif
+
+    !ifdef MUI_FINISHPAGE_SHOWREADME
+
+      SendMessage $mui.FinishPage.ShowReadme ${BM_GETCHECK} 0 0 $mui.FinishPage.ReturnValue
+
+      ${if} $mui.FinishPage.ReturnValue = ${BST_CHECKED}
+        !ifndef MUI_FINISHPAGE_SHOWREADME_FUNCTION
+          ExecShell open "${MUI_FINISHPAGE_SHOWREADME}"
+        !else
+          Call "${MUI_FINISHPAGE_SHOWREADME_FUNCTION}"
+        !endif
+      ${endif}
+
+    !endif
+
+  FunctionEnd
+
+!macroend
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/License.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/License.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/License.nsh	(revision 2961)
@@ -0,0 +1,145 @@
+/*
+
+NSIS Modern User Interface
+License page
+
+*/
+
+;--------------------------------
+;Page interface settings and variables
+
+!macro MUI_LICENSEPAGE_INTERFACE
+
+  !ifndef MUI_LICENSEPAGE_INTERFACE
+    !define MUI_LICENSEPAGE_INTERFACE
+    Var mui.LicensePage
+    
+    Var mui.Licensepage.TopText
+    Var mui.Licensepage.Text
+    Var mui.Licensepage.LicenseText
+    
+    !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_BGCOLOR "/windows"
+    
+    ;Apply settings
+    LicenseBkColor "${MUI_LICENSEPAGE_BGCOLOR}"
+  !endif
+
+!macroend
+
+
+;--------------------------------
+;Page declaration
+
+!macro MUI_PAGEDECLARATION_LICENSE LICENSEDATA
+
+  !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}LICENSEPAGE ""
+  !insertmacro MUI_LICENSEPAGE_INTERFACE  
+
+  !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_TEXT_TOP "$(MUI_INNERTEXT_LICENSE_TOP)"
+  !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_BUTTON ""
+  !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_CHECKBOX_TEXT ""
+  !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT ""
+  !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE ""
+
+  PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}license
+
+    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicensePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseLeave_${MUI_UNIQUEID}
+
+    Caption " "
+
+    LicenseData "${LICENSEDATA}"
+
+    !ifndef MUI_LICENSEPAGE_TEXT_BOTTOM
+      !ifndef MUI_LICENSEPAGE_CHECKBOX & MUI_LICENSEPAGE_RADIOBUTTONS
+        LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM)" "${MUI_LICENSEPAGE_BUTTON}"
+      !else ifdef MUI_LICENSEPAGE_CHECKBOX
+        LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM_CHECKBOX)" "${MUI_LICENSEPAGE_BUTTON}"
+      !else
+        LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS)" "${MUI_LICENSEPAGE_BUTTON}"
+      !endif
+    !else
+      LicenseText "${MUI_LICENSEPAGE_TEXT_BOTTOM}" "${MUI_LICENSEPAGE_BUTTON}"
+    !endif
+
+    !ifdef MUI_LICENSEPAGE_CHECKBOX
+      LicenseForceSelection checkbox "${MUI_LICENSEPAGE_CHECKBOX_TEXT}"
+    !else ifdef MUI_LICENSEPAGE_RADIOBUTTONS
+      LicenseForceSelection radiobuttons "${MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT}" "${MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE}"
+    !endif
+
+  PageExEnd
+
+  !insertmacro MUI_FUNCTION_LICENSEPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicensePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseLeave_${MUI_UNIQUEID}
+
+  !insertmacro MUI_UNSET MUI_LICENSEPAGE_TEXT_TOP
+  !insertmacro MUI_UNSET MUI_LICENSEPAGE_TEXT_BOTTOM
+  !insertmacro MUI_UNSET MUI_LICENSEPAGE_BUTTON
+  !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX
+    !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT
+  !insertmacro MUI_UNSET MUI_LICENSEPAGE_RADIOBUTTONS
+    !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT_ACCEPT
+    !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT_DECLINE
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_PAGE_LICENSE LICENSEDATA
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_PAGE_INIT
+  !insertmacro MUI_PAGEDECLARATION_LICENSE "${LICENSEDATA}"
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_UNPAGE_LICENSE LICENSEDATA
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_UNPAGE_INIT
+  !insertmacro MUI_PAGEDECLARATION_LICENSE "${LICENSEDATA}"
+
+  !verbose pop
+
+!macroend
+
+
+;--------------------------------
+;Page functions
+
+!macro MUI_FUNCTION_LICENSEPAGE PRE SHOW LEAVE
+
+  Function "${PRE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+    !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_LICENSE_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_LICENSE_SUBTITLE)
+
+  FunctionEnd
+
+  Function "${SHOW}"
+
+    ;Get conrol handles
+    FindWindow $mui.LicensePage "#32770" "" $HWNDPARENT
+    GetDlgItem $mui.LicensePage.TopText $mui.LicensePage 1040
+    GetDlgItem $mui.LicensePage.Text $mui.LicensePage 1006
+    GetDlgItem $mui.LicensePage.LicenseText $mui.LicensePage 1000
+    
+    ;Top text
+    SendMessage $mui.LicensePage.TopText ${WM_SETTEXT} 0 "STR:${MUI_LICENSEPAGE_TEXT_TOP}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+
+  FunctionEnd
+
+  Function "${LEAVE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+
+  FunctionEnd
+
+!macroend
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/StartMenu.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/StartMenu.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages/StartMenu.nsh	(revision 2961)
@@ -0,0 +1,235 @@
+/*
+
+NSIS Modern User Interface
+Start Menu folder page
+
+*/
+
+;--------------------------------
+;Page interface settings and variables
+
+!macro MUI_STARTMENUPAGE_INTERFACE
+
+  !ifndef MUI_STARTMENUPAGE_INTERFACE
+    !define MUI_STARTMENUPAGE_INTERFACE
+    Var mui.StartMenuPage
+    Var mui.StartMenuPage.Location
+    Var mui.StartMenuPage.FolderList
+
+    Var mui.StartMenuPage.Temp
+  !endif
+
+  !ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT & MUI_STARTMENUPAGE_REGISTRY_KEY & MUI_STARTMENUPAGE_REGISTRY_VALUENAME
+    !ifndef MUI_STARTMENUPAGE_REGISTRY_VARIABLES
+      !define MUI_STARTMENUPAGE_REGISTRY_VARIABLES
+        Var mui.StartMenuPage.RegistryLocation
+    !endif
+  !endif
+
+!macroend
+
+
+;--------------------------------
+;Page declaration
+
+!macro MUI_PAGEDECLARATION_STARTMENU ID VAR
+
+  !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}STARTMENUPAGE ""
+  !insertmacro MUI_STARTMENUPAGE_INTERFACE  
+
+  !insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_DEFAULTFOLDER "$(^Name)"
+  !insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_TEXT_TOP "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_STARTMENU_TOP)"
+  !insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_TEXT_CHECKBOX "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_STARTMENU_CHECKBOX)"
+
+  !define MUI_STARTMENUPAGE_VARIABLE "${VAR}"
+  !define "MUI_STARTMENUPAGE_${ID}_VARIABLE" "${MUI_STARTMENUPAGE_VARIABLE}"
+  !define "MUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
+  !ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT
+    !define "MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT" "${MUI_STARTMENUPAGE_REGISTRY_ROOT}"
+  !endif
+  !ifdef MUI_STARTMENUPAGE_REGISTRY_KEY
+    !define "MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY" "${MUI_STARTMENUPAGE_REGISTRY_KEY}"
+  !endif
+  !ifdef MUI_STARTMENUPAGE_REGISTRY_VALUENAME
+    !define "MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
+  !endif
+
+  PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom
+
+    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuLeave_${MUI_UNIQUEID}
+
+    Caption " "
+
+  PageExEnd
+
+  !insertmacro MUI_FUNCTION_STARTMENUPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuLeave_${MUI_UNIQUEID}
+
+  !undef MUI_STARTMENUPAGE_VARIABLE
+  !undef MUI_STARTMENUPAGE_TEXT_TOP
+  !undef MUI_STARTMENUPAGE_TEXT_CHECKBOX
+  !undef MUI_STARTMENUPAGE_DEFAULTFOLDER
+  !insertmacro MUI_UNSET MUI_STARTMENUPAGE_NODISABLE
+  !insertmacro MUI_UNSET MUI_STARTMENUPAGE_REGISTRY_ROOT
+  !insertmacro MUI_UNSET MUI_STARTMENUPAGE_REGISTRY_KEY
+  !insertmacro MUI_UNSET MUI_STARTMENUPAGE_REGISTRY_VALUENAME
+
+!macroend
+
+!macro MUI_PAGE_STARTMENU ID VAR
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !insertmacro MUI_PAGE_INIT
+  !insertmacro MUI_PAGEDECLARATION_STARTMENU "${ID}" "${VAR}"
+
+  !verbose pop
+
+!macroend
+
+;--------------------------------
+;Page functions
+
+!macro MUI_FUNCTION_STARTMENUPAGE PRE LEAVE
+
+  Function "${PRE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
+
+    !ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT & MUI_STARTMENUPAGE_REGISTRY_KEY & MUI_STARTMENUPAGE_REGISTRY_VALUENAME
+      
+      ;Get Start Menu location from registry
+
+      ${if} "${MUI_STARTMENUPAGE_VARIABLE}" == ""
+
+        ReadRegStr $mui.StartMenuPage.RegistryLocation  "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
+        ${if} $mui.StartMenuPage.RegistryLocation != ""
+          StrCpy "${MUI_STARTMENUPAGE_VARIABLE}" $mui.StartMenuPage.RegistryLocation
+        ${endif}
+
+        ClearErrors
+
+      ${endif}
+
+    !endif
+
+    !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_TEXT_STARTMENU_TITLE) $(MUI_TEXT_STARTMENU_SUBTITLE)
+
+    ${if} $(^RTL) == "0"
+       !ifndef MUI_STARTMENUPAGE_NODISABLE
+        StartMenu::Init /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" /checknoshortcuts "${MUI_STARTMENUPAGE_TEXT_CHECKBOX}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
+      !else
+        StartMenu::Init /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
+      !endif
+    ${else}
+      !ifndef MUI_STARTMENUPAGE_NODISABLE
+        StartMenu::Init /rtl /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" /checknoshortcuts "${MUI_STARTMENUPAGE_TEXT_CHECKBOX}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
+      !else
+        StartMenu::Init /rtl /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
+      !endif
+    ${endif}
+
+    Pop $mui.StartMenuPage
+
+    ;Get control handles
+    GetDlgItem $mui.StartMenuPage.Location $mui.StartMenuPage 1002
+    GetDlgItem $mui.StartMenuPage.FolderList $mui.StartMenuPage 1004
+
+    !ifdef MUI_STARTMENUPAGE_BGCOLOR
+      SetCtlColors $mui.StartMenuPage.Location "" "${MUI_STARTMENUPAGE_BGCOLOR}"
+      SetCtlColors $mui.StartMenuMenu.FolderList "" "${MUI_STARTMENUPAGE_BGCOLOR}"
+    !endif
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+
+    StartMenu::Show
+
+    Pop $mui.StartMenuPage.Temp
+    ${if} $mui.StartMenuPage.Temp ==  "success"
+      Pop "${MUI_STARTMENUPAGE_VARIABLE}"
+    ${endif}
+
+  FunctionEnd
+
+  Function "${LEAVE}"
+
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+
+  FunctionEnd
+
+!macroend
+
+
+;--------------------------------
+;Script macros to get Start Menu folder
+
+!macro MUI_STARTMENU_GETFOLDER ID VAR
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  ;Get Start Menu folder from registry
+  ;Can be called from the script in the uninstaller
+
+  !ifdef MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT & MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY & MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME
+
+    ReadRegStr $mui.StartMenuPage.RegistryLocation "${MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME}"
+    
+    ${if} $mui.StartMenuPage.RegistryLocation != ""
+      StrCpy "${VAR}" $mui.StartMenuPage.RegistryLocation
+    ${else}
+      StrCpy "${VAR}" "${MUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER}"
+    ${endif}
+
+  !else
+
+    StrCpy "${VAR}" "${MUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER}"
+
+  !endif
+   
+  !verbose pop   
+
+!macroend
+
+!macro MUI_STARTMENU_WRITE_BEGIN ID
+
+  ;The code in the script to write the shortcuts should be put between the
+  ;MUI_STARTMENU_WRITE_BEGIN and MUI_STARTMENU_WRITE_END macros
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !define MUI_STARTMENUPAGE_CURRENT_ID "${ID}"
+
+  StrCpy $mui.StartMenuPage.Temp "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}" 1
+  
+  ;If the folder start with >, the user has chosen not to create a shortcut
+  ${if} $mui.StartMenuPage.Temp != ">"
+
+    ${if} "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}" == ""
+      ;Get folder from registry if the variable doesn't contain anything
+      !insertmacro MUI_STARTMENU_GETFOLDER "${MUI_STARTMENUPAGE_CURRENT_ID}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}"
+    ${endif}
+
+  !verbose pop
+
+!macroend
+
+!macro MUI_STARTMENU_WRITE_END
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+    !ifdef MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_ROOT & MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_KEY & MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_VALUENAME
+      ;Write folder to registry
+      WriteRegStr "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_VALUENAME}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}"
+    !endif
+
+  ${endif}
+
+  !undef MUI_STARTMENUPAGE_CURRENT_ID
+
+  !verbose pop
+
+!macroend
+
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/MUI2.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/MUI2.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/MUI2.nsh	(revision 2961)
@@ -0,0 +1,122 @@
+/*
+
+NSIS Modern User Interface - Version 2.0
+Copyright 2002-2015 Joost Verburg
+
+*/
+
+!echo "NSIS Modern User Interface version 2.0 - Copyright 2002-2015 Joost Verburg"
+
+;--------------------------------
+
+!ifndef MUI_INCLUDED
+!define MUI_INCLUDED
+
+!define MUI_SYSVERSION "2.0"
+
+!verbose push
+
+!ifndef MUI_VERBOSE
+  !define MUI_VERBOSE 3
+!endif
+
+!verbose ${MUI_VERBOSE}
+
+!addincludedir "${NSISDIR}\Contrib\Modern UI 2"
+
+;--------------------------------
+;Header files required by MUI
+
+!include WinMessages.nsh
+!include LogicLib.nsh
+!include nsDialogs.nsh
+!include LangFile.nsh
+
+
+;--------------------------------
+;Macros for compile-time defines
+
+!macro MUI_DEFAULT SYMBOL CONTENT
+
+  ;Define symbol if not yet defined
+  ;For setting default values
+
+  !ifndef "${SYMBOL}"
+    !define "${SYMBOL}" "${CONTENT}"
+  !endif
+
+!macroend
+
+!macro MUI_SET SYMBOL CONTENT
+
+  ;Define symbol and undefine if neccesary
+  
+  !insertmacro MUI_UNSET "${SYMBOL}"
+  !define "${SYMBOL}" "${CONTENT}"
+
+!macroend
+
+!macro MUI_UNSET SYMBOL
+
+  ;Undefine symbol if defined
+
+  !ifdef "${SYMBOL}"
+    !undef "${SYMBOL}"
+  !endif
+
+!macroend
+
+
+;--------------------------------
+;MUI interface
+
+!include "Deprecated.nsh"
+!include "Interface.nsh"
+!include "Localization.nsh"
+!include "Pages.nsh"
+
+
+;--------------------------------
+;Pages
+
+!include "Pages\Components.nsh"
+!include "Pages\Directory.nsh"
+!include "Pages\Finish.nsh"
+!include "Pages\InstallFiles.nsh"
+!include "Pages\License.nsh"
+!include "Pages\StartMenu.nsh"
+!include "Pages\UninstallConfirm.nsh"
+!include "Pages\Welcome.nsh"
+
+
+;--------------------------------
+;Insert MUI code in script
+
+!macro MUI_INSERT
+
+  !ifndef MUI_INSERT
+    !define MUI_INSERT
+
+    ;This macro is included when the first language file is included,
+    ;after the pages.
+
+    ;Interface settings
+    !insertmacro MUI_INTERFACE
+
+    ;Interface functions - Installer
+    !insertmacro MUI_FUNCTION_GUIINIT
+    !insertmacro MUI_FUNCTION_ABORTWARNING
+
+    ;Interface functions - Uninstaller
+    !ifdef MUI_UNINSTALLER
+      !insertmacro MUI_UNFUNCTION_GUIINIT
+      !insertmacro MUI_FUNCTION_UNABORTWARNING
+    !endif
+
+  !endif
+
+!macroend
+
+!endif
+
+!verbose pop
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Modern UI 2/Pages.nsh	(revision 2961)
@@ -0,0 +1,160 @@
+/*
+
+NSIS Modern User Interface
+Support code for all pages
+
+*/
+
+;--------------------------------
+;Page initialization
+
+!macro MUI_PAGE_INIT
+
+  ;Include interface settings in neccesary
+  !insertmacro MUI_INTERFACE
+
+  ;Define settings for installer page
+  !insertmacro MUI_UNSET MUI_PAGE_UNINSTALLER
+  !insertmacro MUI_UNSET MUI_PAGE_UNINSTALLER_PREFIX
+  !insertmacro MUI_UNSET MUI_PAGE_UNINSTALLER_FUNCPREFIX
+  
+  !insertmacro MUI_SET MUI_PAGE_UNINSTALLER_PREFIX ""
+  !insertmacro MUI_SET MUI_PAGE_UNINSTALLER_FUNCPREFIX ""
+
+  ;Generate unique ID
+  !insertmacro MUI_UNSET MUI_UNIQUEID
+  !define MUI_UNIQUEID ${__LINE__}
+
+!macroend
+
+!macro MUI_UNPAGE_INIT
+
+  ;Include interface settings
+  !insertmacro MUI_INTERFACE
+
+  ;Define prefixes for uninstaller page
+  !insertmacro MUI_SET MUI_UNINSTALLER ""
+  
+  !insertmacro MUI_SET MUI_PAGE_UNINSTALLER ""
+  !insertmacro MUI_SET MUI_PAGE_UNINSTALLER_PREFIX "UN"
+  !insertmacro MUI_SET MUI_PAGE_UNINSTALLER_FUNCPREFIX "un."
+  
+  ;Generate unique ID
+  !insertmacro MUI_UNSET MUI_UNIQUEID
+  !define MUI_UNIQUEID ${__LINE__}  
+
+!macroend
+
+
+;--------------------------------
+;Header text for standard MUI page
+
+!macro MUI_HEADER_TEXT_PAGE TEXT SUBTEXT
+
+  !ifdef MUI_PAGE_HEADER_TEXT & MUI_PAGE_HEADER_SUBTEXT
+    !insertmacro MUI_HEADER_TEXT "${MUI_PAGE_HEADER_TEXT}" "${MUI_PAGE_HEADER_SUBTEXT}"
+  !else ifdef MUI_PAGE_HEADER_TEXT
+    !insertmacro MUI_HEADER_TEXT "${MUI_PAGE_HEADER_TEXT}" "${SUBTEXT}"
+  !else ifdef MUI_PAGE_HEADER_SUBTEXT
+    !insertmacro MUI_HEADER_TEXT "${TEXT}" "${MUI_PAGE_HEADER_SUBTEXT}"
+  !else
+    !insertmacro MUI_HEADER_TEXT "${TEXT}" "${SUBTEXT}"
+  !endif
+
+  !insertmacro MUI_UNSET MUI_PAGE_HEADER_TEXT
+  !insertmacro MUI_UNSET MUI_PAGE_HEADER_SUBTEXT
+
+!macroend
+
+
+;--------------------------------
+;Header text for custom page
+
+!macro MUI_HEADER_TEXT TEXT SUBTEXT ;Called from script
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  !ifdef MUI_HEADER_TRANSPARENT_TEXT
+    LockWindow on
+  !endif
+
+  SendMessage $mui.Header.Text ${WM_SETTEXT} 0 "STR:${TEXT}"
+  SendMessage $mui.Header.SubText ${WM_SETTEXT} 0 "STR:${SUBTEXT}"
+
+  !ifdef MUI_HEADER_TRANSPARENT_TEXT
+    LockWindow off
+  !endif
+
+  !verbose pop
+
+!macroend
+
+
+;--------------------------------
+;Custom page functions
+
+!macro MUI_PAGE_FUNCTION_CUSTOM TYPE
+
+  !ifdef MUI_PAGE_CUSTOMFUNCTION_${TYPE}
+    Call "${MUI_PAGE_CUSTOMFUNCTION_${TYPE}}"
+    !undef MUI_PAGE_CUSTOMFUNCTION_${TYPE}
+  !endif
+
+!macroend
+
+
+;--------------------------------
+;Support for full window pages (like welcome/finish page)
+
+!macro MUI_PAGE_FUNCTION_FULLWINDOW
+
+  !ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_FULLWINDOW
+    !define MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_FULLWINDOW
+
+    Function ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageLoadFullWindow
+    
+      LockWindow on
+      
+      ;The branding text needs to be hidden because the full windows page
+      ;overlaps with it.
+      ShowWindow $mui.Branding.Background ${SW_HIDE}
+      ShowWindow $mui.Branding.Text ${SW_HIDE}      
+      
+      ;The texts need to be hidden because otherwise they may show through
+      ;the page above when the Alt key is pressed.
+      ShowWindow $mui.Header.Text ${SW_HIDE}
+      ShowWindow $mui.Header.SubText ${SW_HIDE}
+      ShowWindow $mui.Header.Image ${SW_HIDE}
+
+      ;Show line below full width of page
+      ShowWindow $mui.Line.Standard ${SW_HIDE}
+      ShowWindow $mui.Line.FullWindow ${SW_NORMAL}
+      
+      LockWindow off
+      
+    FunctionEnd
+    
+    Function ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageUnloadFullWindow
+    
+      ;Set everything back to normal again
+    
+      LockWindow on
+      
+      ShowWindow $mui.Branding.Background ${SW_NORMAL}
+      ShowWindow $mui.Branding.Text ${SW_NORMAL}
+      
+      ShowWindow $mui.Header.Text ${SW_NORMAL}
+      ShowWindow $mui.Header.SubText ${SW_NORMAL}
+      ShowWindow $mui.Header.Image ${SW_NORMAL}
+      
+      ShowWindow $mui.Line.Standard ${SW_NORMAL}
+      ShowWindow $mui.Line.FullWindow ${SW_HIDE}
+      
+      LockWindow off
+      
+    FunctionEnd    
+    
+  !endif
+
+!macroend
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Swedish.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Swedish.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Swedish.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1053
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by Magnus Bonnevier (magnus.bonnevier@telia.com)
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) Installation
+# ^UninstallCaption
+$(^Name) Avinstallation
+# ^LicenseSubCaption
+: Licensavtal
+# ^ComponentsSubCaption
+: Installationsval
+# ^DirSubCaption
+: Installationskatalog
+# ^InstallingSubCaption
+: Installerar
+# ^CompletedSubCaption
+: Slutförd
+# ^UnComponentsSubCaption
+: Avinstallationsval
+# ^UnDirSubCaption
+: Avinstallationskatalog
+# ^ConfirmSubCaption
+: Bekräftelse
+# ^UninstallingSubCaption
+: Avinstallerar
+# ^UnCompletedSubCaption
+: Slutförd
+# ^BackBtn
+< &Tillbaka
+# ^NextBtn
+&Nästa >
+# ^AgreeBtn
+Jag &Godkänner
+# ^AcceptBtn
+Jag &Godkänner villkoren i licensavtalet
+# ^DontAcceptBtn
+Jag &Godkänner inte villkoren i licensavtalet
+# ^InstallBtn
+&Installera
+# ^UninstallBtn
+&Avinstallera
+# ^CancelBtn
+Avbryt
+# ^CloseBtn
+&Stäng
+# ^BrowseBtn
+B&läddra...
+# ^ShowDetailsBtn
+Visa &detaljer
+# ^ClickNext
+Klicka på Nästa för att fortsätta.
+# ^ClickInstall
+Klicka på Installera för att starta installationen.
+# ^ClickUninstall
+Klicka på Avinstallera för att starta avinstallationen.
+# ^Name
+Namn
+# ^Completed
+Slutförd
+# ^LicenseText
+Var vänlig läs igenom licensvillkoren innan du installerar $(^NameDA). Om du accepterar villkoren i avtalet, klicka Jag Godkänner.
+# ^LicenseTextCB
+Var vänlig läs igenom licensvillkoren innan du installerar $(^NameDA). Om du accepterar villkoren i avtalet, klicka i checkrutan nedan. $_CLICK
+# ^LicenseTextRB
+Var vänlig läs igenom licensvillkoren innan du installerar $(^NameDA). Om du accepterar villkoren i avtalet, välj det första alternativet nedan. $_CLICK
+# ^UnLicenseText
+Var vänlig läs igenom licensvillkoren innan du avinstallerar $(^NameDA). Om du accepterar villkoren i avtalet, klicka Jag Godkänner.
+# ^UnLicenseTextCB
+Var vänlig läs igenom licensvillkoren innan du avinstallerar $(^NameDA). Om du accepterar villkoren i avtalet, klicka i checkrutan nedan. $_CLICK
+# ^UnLicenseTextRB
+Var vänlig läs igenom licensvillkoren innan du avinstallerar $(^NameDA). Om du accepterar villkoren i avtalet, välj det första alternativet nedan. $_CLICK
+# ^Custom
+Valfri
+# ^ComponentsText
+Markera de komponenter du vill installera och avmarkera de komponenter du inte vill installera. $_CLICK
+# ^ComponentsSubText1
+Välj typ av installation:
+# ^ComponentsSubText2_NoInstTypes
+Välj komponenter att installera:
+# ^ComponentsSubText2
+Eller, välj de alternativa komponenter du önskar installera:
+# ^UnComponentsText
+Markera de komponenter du vill avinstallera och avmarkera de komponenter du inte vill avinstallera. $_CLICK
+# ^UnComponentsSubText1
+Välj typ av avinstallation:
+# ^UnComponentsSubText2_NoInstTypes
+Välj komponenter att avinstallera:
+# ^UnComponentsSubText2
+Eller, välj de alternativa komponenter du önskar avinstallera:
+# ^DirText
+Guiden kommer att installera $(^NameDA) i följande katalog. För att installera i en annan katalog, klicka Bläddra och välj en alternativ katalog. $_CLICK
+# ^DirSubText
+Målkatalog
+# ^DirBrowseText
+Välj katalog att installera $(^NameDA) i:
+# ^UnDirText
+Installationsguiden kommer att avinstallera $(^NameDA) från följande katalog. För att avinstallera från en annan katalog, klicka Bläddra och välj en annan katalog. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Välj katalog att avinstallera $(^NameDA) från:
+# ^SpaceAvailable
+"Utrymme tillgängligt: "
+# ^SpaceRequired
+"Utrymme som behövs: "
+# ^UninstallingText
+$(^NameDA) kommer att avinstalleras från följande katalog. $_CLICK
+# ^UninstallingSubText
+Avinstallerar från:
+# ^FileError
+Fel vid Öppning av fil för skrivning: \r\n\t"$0"\r\nKlicka på avbryt för att avbryta installationen,\r\nförsök igen för att försöka skriva till filen igen, eller\r\nIgnorera för att skippa denna fil
+# ^FileError_NoIgnore
+Fel vid Öppning av fil för skrivning: \r\n\t"$0"\r\nKlicka på försök igen för att skriva till filen igen, eller\r\navbryt för att avbryta installationen
+# ^CantWrite
+"Kan inte skriva: "
+# ^CopyFailed
+Kopiering misslyckades
+# ^CopyTo
+"Kopiera till "
+# ^Registering
+"Registrerar: "
+# ^Unregistering
+"Avregistrerar: "
+# ^SymbolNotFound
+"Kunde inte hitta symbol: "
+# ^CouldNotLoad
+"Kunde inte ladda: "
+# ^CreateFolder
+"Skapa katalog: "
+# ^CreateShortcut
+"Skapa genväg: "
+# ^CreatedUninstaller
+"Skapade avinstallationsprogram: "
+# ^Delete
+"Radera fil: "
+# ^DeleteOnReboot
+"Radera vid omstart: "
+# ^ErrorCreatingShortcut
+"Fel vid skapande av genväg: "
+# ^ErrorCreating
+"Fel vid skapande: "
+# ^ErrorDecompressing
+Fel vid uppackning av data! Skadat installationspaket?
+# ^ErrorRegistering
+Fel vid registrering av DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Kör: "
+# ^Extract
+"Extrahera: "
+# ^ErrorWriting
+"Extrahera: fel vid skrivning till fil "
+# ^InvalidOpcode
+Installationspaket skadat: ogiltig opcode
+# ^NoOLE
+"Ingen OLE för: "
+# ^OutputFolder
+"Målkatalog: "
+# ^RemoveFolder
+"Ta bort katalog: "
+# ^RenameOnReboot
+"Döp om vid omstart: "
+# ^Rename
+"Döp om: "
+# ^Skipped
+"Ignorerad: "
+# ^CopyDetails
+Kopiera detaljinformation till klippbordet
+# ^LogInstall
+Logga installationsförfarandet
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Macedonian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Macedonian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Macedonian.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Macedonian (1071)
+;By Sasko Zdravkin [wingman2083@yahoo.com]
+
+!insertmacro LANGFILE "Macedonian" "Macedonian"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Äîáðî äî¼äîâòå âî èíñòàëàöè¼àòà íà $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Îâî¼ ïðîãðàì �å âå âîäè íèç èíñòàëàöè¼àòà íà $(^NameDA).$\r$\n$\r$\nÏðåïîðà÷àíî å äà ãè çàòâîðèòå ñèòå ïðîãðàìè ïðåä äà èíñòàëèðàòå. Îâà �å äîçâîëè èíñòàëàöèîíèîò ïðîãðàì äà îáíîâè íåêîè ñèñòåìñêè äàòîòåêè áåç äà ãî ðåñòàðòèðà êîìï¼óòåðîò.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Äîáðî äî¼äîâòå âî äåèíñòàëàöè¼àòà íà $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Îâî¼ ïðîãðàì �å âå âîäè íèç äåèíñòàëàöè¼àòà íà $(^NameDA).$\r$\n$\r$\nÏðåä äà ¼à ïî÷íåòå äåèíñòàëàöè¼àòà íà $(^NameDA) ïðîâåðåòå äàëè å èñêëó÷åíà ïðîãðàìàòà.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Ëèöåíöåí Äîãîâîð"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Âå ìîëèìå ïðîâåðåòå ãè ëèöåíöíèòå óñëîâè ïðåä äà ãî èíñòàëèðàòå $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Àêî ãè ïðèôà�àòå óñëîâèòå îä äîãîâîðîò, ïðèòèñíåòå 'Äà' çà äà ïðîäîëæèòå. Ìîðà äà ãî ïðèôàòèòå äîãîâîðîò çà äà ãî èíñòàëèðàòå $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Àêî ãè ïðèôà�àòå óñëîâèòå îä äîãîâîðîò, ÷åêèðà¼òå ãî check box-îò ïîäîëå. Ìîðà äà ãî ïðèôàòèòå äîãîâîðîò çà ãî èíñòàëèðàòå $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Àêî ãè ïðèôà�àòå óñëîâèòå îä äîãîâîðîò, îäáåðåòå ¼à ïðâàòà îïöè¼à ïîäîëå. Ìîðà äà ãî ïðèôàòèòå äîãîâîðîò çà ãî èíñòàëèðàòå $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Ëèöåíöåí Äîãîâîð"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Âå ìîëèìå ïðîâåðåòå ãè ëèöåíöíèòå óñëîâè ïðåä äà ãî äåèíñòàëèðàòå $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Àêî ãè ïðèôà�àòå óñëîâèòå îä äîãîâîðîò, ïðèòèñíåòå 'Äà' çà äà ïðîäîëæèòå. Ìîðà äà ãî ïðèôàòèòå äîãîâîðîò çà äà ãî äåèíñòàëèðàòå $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Àêî ãè ïðèôà�àòå óñëîâèòå îä äîãîâîðîò, ÷åêèðà¼òå ãî check box-îò ïîäîëå. Ìîðà äà ãî ïðèôàòèòå äîãîâîðîò çà ãî äåèíñòàëèðàòå $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Àêî ãè ïðèôà�àòå óñëîâèòå îä äîãîâîðîò, îäáåðåòå ¼à ïðâàòà îïöè¼à ïîäîëå. Ìîðà äà ãî ïðèôàòèòå äîãîâîðîò çà ãî äåèíñòàëèðàòå $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Ïðèòèñíåòå 'Page Down' çà äà ãî âèäåòå îñòàíàòèîò äåë îä äîãîâîðîò."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Îäáåðåòå Êîìïîíåíòè"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Îäáåðåòå êîè ðàáîòè îä $(^NameDA) ñàêàòå äà ñå èíñòàëèðààò."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Îäáåðåòå Êîìïîíåíòè"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Îäáåðåòå êîè ðàáîòè îä $(^NameDA) ñàêàòå äà ñå äåèíñòàëèðààò."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Îá¼àñíåíèå"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Îäíåñåòå ãî êóðñîðîò äî êîìïîíåíòàòà çà äà ãî âèäåòå íå¼çèíîòî îá¼àñíåíèå."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Îäíåñåòå ãî êóðñîðîò äî êîìïîíåíòàòà çà äà ãî âèäåòå íå¼çèíîòî îá¼àñíåíèå."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Îäáåðåòå ¼à ëîêàöè¼àòà çà èíñòàëèðàœå"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Îäáåðåòå ãî äèðåêòîðèóìîò êàäå øòî ñàêàòå äà ñå èíñòàëèðà $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Îäáåðåòå ¼à ëîêàöè¼àòà çà äåèíñòàëèðàœå"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Îäáåðåòå ãî äèðåêòîðèóìîò îä êî¼ ñàêàòå äà ñå äåèíñòàëèðà $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Èíñòàëèðà"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Âå ìîëèìå ïî÷åêà¼òå äîäåêà $(^NameDA) ñå èíñòàëèðà."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Èíñòàëàöè¼àòà å çàâðøåíà"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Èíñòàëèðàœåòî áåøå óñïåøíî."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Èíñòàëàöè¼àòà å îòêàæàíà"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Èíñòàëèðàœåòî íå áåøå óñïåøíî çàâðøåíî."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Äåèíñòàëèðà"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Âå ìîëèìå ïî÷åêà¼òå äîäåêà $(^NameDA) ñå äåèíñòàëèðà."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Äåèíñòàëàöè¼àòà å çàâðøåíà"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Äåèíñòàëèðàœåòî áåøå óñïåøíî."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Äåèíñòàëàöè¼àòà å îòêàæàíà"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Äåèíñòàëèðàœåòî íå áåøå óñïåøíî çàâðøåíî."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Çàâðøóâà èíñòàëèðàœåòî íà $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) å èíñòàëèðàí íà âàøèîò êîìï¼óòåð.$\r$\n$\r$\nÏðèòèñíåòå 'Êðà¼' çà äà ãî çàòâîðèòå èíñòàëàöèîíèîò ïðîãðàì."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Âàøèîò êîìï¼óòåð ìîðà äà ñå ðåñòàðòèðà çà äà çàâðøè èíñòàëàöè¼àòà íà $(^NameDA). Äàëè ñàêàòå äà ñå ðåñòàðòèðà ñåãà?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Çàâðøóâà äåèíñòàëèðàœåòî íà $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) å äåèíñòàëèðàí îä âàøèîò êîìï¼óòåð.$\r$\n$\r$\nÏðèòèñíåòå 'Êðà¼' çà äà ãî çàòâîðèòå äåèíñòàëàöèîíèîò ïðîãðàì."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Âàøèîò êîìï¼óòåð ìîðà äà ñå ðåñòàðòèðà çà äà çàâðøè äåèíñòàëàöè¼àòà íà $(^NameDA). Äàëè ñàêàòå äà ñå ðåñòàðòèðà ñåãà?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Ðåñòàðòèðà¼ ñåãà"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Àêî ñàêàòå äà ãî ðåñòàðòèðàòå ïîäîöíà"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "Ïîê&ðåíè ãî $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Îòâîð&è 'Ïðî÷èòà¼ Ìå'"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Êðà¼"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Îäáåðåòå äèðåêòîðèóì çà Ñòàðò Ìåíèòî"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Îäáåðåòå äèðåêòîðèóì âî Ñòàðò Ìåíèòî çà êðåèðàœå ñêðàòåíèöà íà $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Îäáåðåòå ãî äèðåêòîðèóìîò âî Ñòàðò Ìåíèòî âî êî¼ ñàêàòå äà ñå êðåèðà ñêðàòåíèöà çà ïðîãðàìàòà. Èñòî òàêà ìîæåòå äà âíåñåòå äðóãî èìå çà äà ñå êðåèðà íîâ äèðåêòîðèóì."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Íå êðåèðà¼ ñêðàòåíèöà"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Äåèíñòàëèðà¼ ãî $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Îäñòðàíåòå ãî $(^NameDA) îä âàøèîò êîìï¼óòåð."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Ñèãóðíè ëè ñòå äåêà ñàêàòå äà ñå îòêàæåòå îä èíñòàëàöè¼àòà íà $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Ñèãóðíè ëè ñòå äåêà ñàêàòå äà ñå îòêàæåòå îä äåèíñòàëàöè¼àòà íà $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Polish.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Polish.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Polish.nsh	(revision 2961)
@@ -0,0 +1,132 @@
+;Language: Polish (1045)
+;By Piotr Murawski & Rafa³ Lampe
+;Updated by cube and SYSTEMsoft Group
+;Updated by Pawe³ Porwisz, http://www.pepesoft.tox.pl
+;Corrected by Mateusz Gola (aka Prozac) - http://www.videopedia.pl/avirecomp
+
+!insertmacro LANGFILE "Polish" "Polski"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Witamy w kreatorze instalacji programu $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Kreator ten pomo¿e Ci zainstalowaæ program $(^NameDA).$\r$\n$\r$\nZalecane jest zamkniêcie wszystkich uruchomionych programów przed rozpoczêciem instalacji. Pozwoli to na uaktualnienie niezbêdnych plików systemowych bez koniecznoœci ponownego uruchamiania komputera.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Witamy w kreatorze deinstalacji $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Kreator poprowadzi Ciê przez proces deinstalacji $(^NameDA).$\r$\n$\r$\nPrzed rozpoczêciem deinstalacji programu, upewnij siê, czy $(^NameDA) NIE jest w³aœnie uruchomiony.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Umowa licencyjna"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Przed instalacj¹ programu $(^NameDA) zapoznaj siê z warunkami licencji."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Je¿eli akceptujesz warunki umowy, wybierz Zgadzam siê, aby kontynuowaæ. Musisz zaakceptowaæ warunki umowy, aby zainstalowaæ $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Je¿eli akceptujesz warunki umowy, zaznacz pole wyboru poni¿ej, aby kontynuowaæ. Musisz zaakceptowaæ warunki umowy, aby zainstalowaæ $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Je¿eli akceptujesz warunki umowy, wybierz pierwsz¹ opcjê poni¿ej, aby kontynuowaæ. Musisz zaakceptowaæ warunki umowy, aby zainstalowaæ $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Umowa licencyjna"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Przed deinstalacj¹ programu $(^NameDA) zapoznaj siê z warunkami licencji."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Je¿eli akceptujesz warunki umowy, wybierz Zgadzam siê, aby kontynuowaæ. Musisz zaakceptowaæ warunki umowy, aby odinstalowaæ $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Je¿eli akceptujesz warunki umowy, zaznacz pole wyboru poni¿ej, aby kontynuowaæ. Musisz zaakceptowaæ warunki umowy, aby odinstalowaæ $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Je¿eli akceptujesz warunki umowy, wybierz pierwsz¹ opcjê poni¿ej, aby kontynuowaæ. Musisz zaakceptowaæ warunki umowy, aby odinstalowaæ $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Naciœnij klawisz Page Down, aby zobaczyæ resztê umowy."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Wybierz komponenty"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Wybierz komponenty programu $(^NameDA), które chcesz zainstalowaæ."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Wybierz komponenty"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Wybierz, które elementy $(^NameDA) chcesz odinstalowaæ."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Opis"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Przesuñ kursor myszy nad komponent, aby zobaczyæ jego opis."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Przesuñ kursor myszy nad komponent, aby zobaczyæ jego opis."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Wybierz lokalizacjê dla instalacji"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Wybierz folder, w którym ma byæ zainstalowany $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Wybór miejsca deinstalacji"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Wybierz folder, z którego chcesz odinstalowaæ $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Instalacja"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Proszê czekaæ, podczas gdy $(^NameDA) jest instalowany."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Zakoñczono instalacjê"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Instalacja zakoñczona pomyœlnie."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Instalacja przerwana"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Instalacja nie zosta³a zakoñczona pomyœlnie."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Deinstalacja"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Proszê czekaæ, $(^NameDA) jest odinstalowywany."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Zakoñczono odinstalowanie"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Odinstalowanie zakoñczone pomyœlnie."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Deinstalacja przerwana"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Deinstalacja nie zosta³a zakoñczona pomyœlnie."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Koñczenie pracy kreatora instalacji $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) zosta³ pomyœlnie zainstalowany na Twoim komputerze.$\r$\n$\r$\nKliknij Zakoñcz, aby zakoñczyæ dzia³anie kreatora."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Twój komputer musi zostaæ ponownie uruchomiony, aby zakoñczyæ instalacjê programu $(^NameDA). Czy chcesz zrobiæ to teraz?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Koñczenie pracy kreatora deinstalacji $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) zosta³ odinstalowany z Twojego komputera.$\r$\n$\r$\nKliknij Zakoñcz, aby zakoñczyæ dzia³anie kreatora."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Twój komputer musi zostaæ ponownie uruchomiony w celu zakoñczenia deinstalacji programu $(^NameDA). Czy chcesz zrobiæ to teraz?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Uruchom ponownie teraz"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Sam uruchomiê ponownie komputer póŸniej"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Uruchom program $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Poka¿ plik ReadMe"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Zakoñcz"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Wybierz folder w menu Start"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Wybierz folder menu Start, w którym zostan¹ umieszczone skróty do programu"
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Wybierz folder w menu Start, w którym chcia³byœ umieœciæ skróty do programu. Mo¿esz tak¿e utworzyæ nowy folder wpisuj¹c jego nazwê."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Nie twórz skrótów"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Odinstaluj $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Usuñ $(^NameDA) z Twojego komputera."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Czy na pewno chcesz zakoñczyæ dzia³anie instalatora $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Czy na pewno chcesz przerwaæ proces deinstalacji $(^Name)?"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Wybierz u¿ytkowników"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Wybierz, dla których u¿ytkowników chcesz zainstalowaæ program $(^NameDA)."
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Wybierz, czy chcesz zainstalowaæ program $(^NameDA) tylko dla siebie, czy dla wszystkich u¿ytkowników tego komputera. $(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Zainstaluj dla wszystkich u¿ytkowników tego komputera"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Zainstaluj tylko dla mnie"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Slovak.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Slovak.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Slovak.nsh	(revision 2961)
@@ -0,0 +1,133 @@
+;Language: Slovak (1051)
+;Translated by:
+;  Kypec (peter.dzugas@mahe.sk)
+;edited by:
+;  Marián Hikaník (podnety@mojepreklady.net)
+;  Ivan Masár <helix84@centrum.sk>, 2008.
+
+!insertmacro LANGFILE "Slovak" "Slovensky"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Vitajte v sprievodcovi inštaláciou programu $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Tento sprievodca vás prevedie inštaláciou $(^NameDA).$\r$\n$\r$\nPred zaèiatkom inštalácie sa odporúèa ukonèi� všetky ostatné programy. Tým umožníte aktualizovanie systémových súborov bez potreby reštartovania vášho poèítaèa.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Vitajte v sprievodcovi odinštalovaním programu $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Tento sprievodca vás prevedie procesom odinštalovania programu $(^NameDA).$\r$\n$\r$\nPred spustením procesu odinštalovania sa uistite, že program $(^NameDA) nie je práve aktívny.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Licenèná zmluva"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Pred inštaláciou $(^NameDA) si prosím preštudujte licenèné podmienky."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Ak súhlasíte s podmienkami zmluvy, kliknite na tlaèidlo Súhlasím a môžete pokraèova� v inštalácii. Ak chcete v inštalácii pokraèova�, musíte odsúhlasi� podmienky licenènej zmluvy $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Ak súhlasíte s podmienkami zmluvy, zaškrtnite nižšie uvedené políèko. Ak chcete v inštalácii pokraèova�, musíte odsúhlasi� podmienky licenènej zmluvy $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Ak súhlasíte s podmienkami zmluvy, oznaète prvú z nižšie uvedených možností. Ak chcete v inštalácii pokraèova�, musíte odsúhlasi� podmienky licenènej zmluvy $(^NameDA)."
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Licenèná zmluva"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Pred odinštalovaním programu $(^NameDA) si prosím preèítajte licenèné podmienky."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Ak súhlasíte s podmienkami zmluvy, zvo¾te Súhlasím. Licenènú zmluvu musíte odsúhlasi�, ak chcete v odinštalovaní programu $(^NameDA) pokraèova�."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Ak súhlasíte s podmienkami zmluvy, zaškrtnite nižšie uvedené políèko. Licenènú zmluvu musíte odsúhlasi�, ak chcete pokraèova� v odinštalovaní programu $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Ak súhlasíte s podmienkami licenènej zmluvy, oznaète prvú z nižšie uvedených možností. Licenènú zmluvu musíte odsúhlasi�, ak chcete pokraèova� v odinštalovaní programu $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Stlaèením klávesu Page Down posuniete text licenènej zmluvy."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Vo¾ba súèastí programu"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Zvo¾te si tie súèasti programu $(^NameDA), ktoré chcete nainštalova�."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Vo¾ba súèastí"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Zvo¾te súèasti programu $(^NameDA), ktoré chcete odinštalova�."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Popis"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Pri prejdení kurzorom myši nad názvom súèasti sa zobrazí jej popis."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Pri prejdení kurzorom myši nad názvom súèasti sa zobrazí jej popis."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Vo¾ba umiestnenia programu"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Vyberte si prieèinok, do ktorého chcete nainštalova� program $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Umiestenie programu pre odinštalovanie"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Vyberte si prieèinok, z ktorého chcete odinštalova� program $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Inštalácia"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Poèkajte prosím, kým prebehne inštalácia programu $(^NameDA)."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Ukonèenie inštalácie"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Inštalácia bola dokonèená úspešne."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Prerušenie inštalácie"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Inštaláciu sa nepodarilo dokonèi�."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Odinštalovanie"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Èakajte prosím, kým prebehne odinštalovanie programu $(^NameDA)."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Ukonèenie odinštalovania"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Odinštalovanie bolo úspešne dokonèené."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Prerušenie odinštalovania"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Odinštalovanie sa neukonèilo úspešne."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Dokonèenie inštalácie programu $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "Program $(^NameDA) bol nainštalovaný do vášho poèítaèa.$\r$\nKliknite na tlaèidlo Dokonèi� a tento sprievodca sa ukonèí."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Pre úplné dokonèenie inštalácie programu $(^NameDA) je potrebné reštartova� váš poèítaè. Chcete ho reštartova� ihneï?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Dokonèenie sprievodcu odinštalovaním"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "Program $(^NameDA) bol odinštalovaný z vášho poèítaèa.$\r$\n$\r$\nKliknite na tlaèidlo Dokonèi� a tento sprievodca sa ukonèí."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Pre úplné dokonèenie odinštalovania programu $(^NameDA) je nutné reštartova� váš poèítaè. Chcete ho reštartova� ihneï?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Reštartova� teraz"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Reštartova� neskôr (manuálne)"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Spusti� program $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Zobrazi� súbor s informáciami"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Dokonèi�"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Vo¾ba umiestnenia v ponuke Štart"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Vyberte si prieèinok v ponuke Štart, kam sa umiestnia odkazy na program $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Vyberte si prieèinok v ponuke Štart, v ktorom chcete vytvori� odkazy na program. Takisto môžete napísa� názov nového prieèinka."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Nevytvára� odkazy"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Odinštalovanie programu $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Odstránenie programu $(^NameDA) z vášho poèítaèa."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Naozaj chcete ukonèi� inštaláciu programu $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Naozaj chcete ukonèi� proces odinštalovania programu $(^Name)?"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Vybra� používate¾ov"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Vyberte pre ktorých používate¾ov chcete nainštalova� $(^NameDA)."
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Vyberte, èi chcete nainštalova� program $(^NameDA) iba pre seba alebo pre všetkých používate¾ov tohto poèítaèa. $(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Nainštalova� pre všetkých používate¾ov tohto poèítaèa"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Nainštalova� iba pre mòa"
+!endif
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Portuguese.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Portuguese.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Portuguese.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Portuguese (2070)
+;By Ramon <ramon@netcabo.pt>
+
+!insertmacro LANGFILE "Portuguese" "Português"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Bem vindo ao Assistente de Instalação do $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Este assistente ajudá-lo-á durante a instalação do $(^NameDA).$\r$\n$\r$\nÉ recomendado que feche todas as outras aplicações antes de iniciar a Instalação. Isto permitirá que o Instalador actualize ficheiros relacionados com o sistema sem necessidade de reiniciar o computador.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Bem vindo ao Assistente de desinstalação do $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Este assistente ajudá-lo-á durante a desinstalação do $(^NameDA).$\r$\n$\r$\nAntes de iniciar a desinstalação, certifique-se de que o $(^NameDA) não está em execução.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Contrato de Licença"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Por favor, verifique os termos da licença antes de instalar o $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Se aceitar os termos da licença, clique em 'Aceito' para continuar. Deverá aceitar o contrato para instalar o $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Se aceitar os termos da licença, clique na caixa de seleção abaixo. Deverá aceitar o contrato para instalar o $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Se aceitar os termos da licença, selecione a primeira opção abaixo. Você deve aceitar o contrato para instalar o $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Contrato de Licença"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Por favor, verifique os termos da licença antes de desinstalar o $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Se aceitar os termos da licença, clique em 'Aceito' para continuar. Deverá aceitar o contrato para desinstalar o $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Se aceitar os termos da licença, clique na caixa de seleção abaixo. Deverá aceitar o contrato para desinstalar o $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Se aceitar os termos da licença, selecione a primeira opção abaixo. Você deve aceitar o contrato para desinstalar o $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Tecle Page Down para ver o restante da licença."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Escolha de Componentes"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Escolha quais as características do $(^NameDA) que deseja instalar."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Escolher Componentes"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Escolha quais as características do $(^NameDA) que deseja desinstalar."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Descrição"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Posicione o rato sobre um componente para ver a sua descrição."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Posicione o rato sobre um componente para ver a sua descrição."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Escolha do Local da Instalação"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Escolha a pasta na qual deseja instalar o $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Escolha o Local de desinstalação"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Escolha a pasta de onde pretende desinstalar o $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Instalando"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Por favor, aguarde enquanto o $(^NameDA) está sendo instalado."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Instalação Completa"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "A instalação foi concluída com sucesso."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Instalação Abortada"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "A instalação não foi concluída com sucesso."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Desinstalando"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Por favor, aguarde enquanto o $(^NameDA) está sendo desinstalado."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Desinstalação Completa"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "A desinstalação foi concluída com sucesso."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Desinstalação Abortada"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "A desinstalação não foi concluída com sucesso"
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Concluindo o Assistente de Instalação do $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) foi instalado no seu computador.$\r$\n$\r$\nClique em Terminar para fechar este assistente."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "O seu computador deve ser reiniciado para concluír a instalação do $(^NameDA). Deseja reiniciar agora?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Concluíndo o assistente de desisntalação do $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) foi removido do seu computador.$\r$\n$\r$\nClique em Terminar para fechar este assistente."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "O seu computador deve ser reiniciado para concluír a desinstalação do $(^NameDA). Deseja reiniciar agora?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Reiniciar Agora"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Eu quero reiniciar manualmente depois"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Executar $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Mostrar Leiame"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Terminar"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Escolha uma Pasta do Menu Iniciar"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Escolha uma pasta do Menu Iniciar para os atalhos do programa."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Selecione uma pasta do Menu Iniciar em que deseja criar os atalhos do programa. Você pode também digitar um nome para criar uma nova pasta. "
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Não criar atalhos"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Desinstalar $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Remover o $(^NameDA) do seu computador."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Deseja realmente cancelar a instalação do $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Deseja realmente cancelar a desinstalação do $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SerbianLatin.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SerbianLatin.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SerbianLatin.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+2074
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1250
+# RTL - anything else than RTL means LTR
+-
+# Translation by Srðan Obuæina <obucina@srpskijezik.edu.yu>
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) Instalacija
+# ^UninstallCaption
+$(^Name) Deinstalacija
+# ^LicenseSubCaption
+: Dogovor o pravu korišæenja
+# ^ComponentsSubCaption
+: Opcije instalacije
+# ^DirSubCaption
+: Izbor foldera za instalaciju
+# ^InstallingSubCaption
+: Instalacija
+# ^CompletedSubCaption
+: Završena instalacija
+# ^UnComponentsSubCaption
+: Opcije deinstalacije
+# ^UnDirSubCaption
+: Izbor foldera za deinstalaciju
+# ^ConfirmSubCaption
+: Potvrðivanje
+# ^UninstallingSubCaption
+: Deinstalacija
+# ^UnCompletedSubCaption
+: Završena deinstalacija
+# ^BackBtn
+< Nazad
+# ^NextBtn
+Napred >
+# ^AgreeBtn
+Prihvatam
+# ^AcceptBtn
+Prihvatam uslove dogovora o pravu korišæenja
+# ^DontAcceptBtn
+Ne prihvatam uslove dogovora o pravu korišæenja
+# ^InstallBtn
+Instaliraj
+# ^UninstallBtn
+Deinstaliraj
+# ^CancelBtn
+Odustani
+# ^CloseBtn
+Zatvori
+# ^BrowseBtn
+Izbor...
+# ^ShowDetailsBtn
+Detalji
+# ^ClickNext
+Pritisnite dugme „Napred“ za nastavak.
+# ^ClickInstall
+Pritisnite dugme „Instaliraj“ za poèetak instalacije.
+# ^ClickUninstall
+Pritisnite dugme „Deinstaliraj“ za poèetak deinstalacije.
+# ^Name
+Ime
+# ^Completed
+Završeno
+# ^LicenseText
+Pažlivo proèitajte dogovor o pravu korišæenja pre instalacije programa $(^NameDA). Ako prihvatate sve uslove dogovora, pritisnite dugme „Prihvatam“.
+# ^LicenseTextCB
+Pažlivo proèitajte dogovor o pravu korišæenja pre instalacije programa $(^NameDA). Ako prihvatate sve uslove dogovora, obeležite kvadratiæ ispod. $_CLICK
+# ^LicenseTextRB
+Pažlivo proèitajte dogovor o pravu korišæenja pre instalacije programa $(^NameDA). Ako prihvatate sve uslove dogovora, izaberite prvu opciju ispod. $_CLICK
+# ^UnLicenseText
+Pažlivo proèitajte dogovor o pravu korišæenja pre deinstalacije programa $(^NameDA). Ako prihvatate sve uslove dogovora, pritisnite dugme „Prihvatam“.
+# ^UnLicenseTextCB
+Pažlivo proèitajte dogovor o pravu korišæenja pre deinstalacije programa $(^NameDA). Ako prihvatate sve uslove dogovora, obeležite kvadratiæ ispod. $_CLICK
+# ^UnLicenseTextRB
+Pažlivo proèitajte dogovor o pravu korišæenja pre deinstalacije programa $(^NameDA). Ako prihvatate sve uslove dogovora, izaberite prvu opciju ispod. $_CLICK
+# ^Custom
+Prilagoðavanje
+# ^ComponentsText
+Izaberite komponente za instalaciju. Instaliraju se samo oznaèene komponente. $_CLICK
+# ^ComponentsSubText1
+Izaberite tip instalacije:
+# ^ComponentsSubText2_NoInstTypes
+Izaberite komponente za instalaciju: 
+# ^ComponentsSubText2
+Ili, izaberite opcione komponente koje želite da instalirate: 
+# ^UnComponentsText
+Izaberite komponente za deinstalaciju. Deinstaliraju se samo oznaèene komponente. $_CLICK
+# ^UnComponentsSubText1
+Izaberite tip deinstalacije: 
+# ^UnComponentsSubText2_NoInstTypes
+Izaberite komponente za deinstalaciju: 
+# ^UnComponentsSubText2
+Ili, izaberite opcione komponente koje želite da deinstalirate: 
+# ^DirText
+Program $(^NameDA) æe biti instaliran u navedeni folder. Za instalaciju u drugi folder pritisnite dugme „Izbor...“ i izaberite folder. $_CLICK
+# ^DirSubText
+Folder
+# ^DirBrowseText
+Izaberite folder u koji æete instalirati program $(^NameDA):
+# ^UnDirText
+Program $(^NameDA) æe biti deinstaliran iz navedenog foldera. Za deinstalaciju iz drugog foldera pritisnite dugme „Izbor...“ i izaberite folder. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Izaberite folder iz koga æete deinstalirati program $(^NameDA):
+# ^SpaceAvailable
+"Slobodan prostor: "
+# ^SpaceRequired
+"Potreban prostor: "
+# ^UninstallingText
+Program $(^NameDA) æe biti deinstaliran iz navedenog foldera. $_CLICK
+# ^UninstallingSubText
+Deinstalacija iz: 
+# ^FileError
+Greška pri otvaranju fajla za pisanje: \r\n\t"$0"\r\nPritisnite dugme „Odustani“ za prekid instalacije,\r\n„Ponovi“ za ponovni pokušaj pisanja u fajl, ili\r\n„Ignoriši“ za preskakanje ovog fajla.
+# ^FileError_NoIgnore
+Greška pri otvaranju fajla za pisanje: \r\n\t"$0"\r\nPritisnite dugme „Ponovi“ za ponovni pokušaj pisanja u fajl, ili\r\n„Odustani“ za prekid instaliranja.
+# ^CantWrite
+"Nemoguæe pisanje: "
+# ^CopyFailed
+Neuspešno kopiranje
+# ^CopyTo
+"Kopiranje u "
+# ^Registering
+"Registrovanje: "
+# ^Unregistering
+"Deregistrovanje: "
+# ^SymbolNotFound
+"Simbol nije naðen: "
+# ^CouldNotLoad
+"Nemoguæe uèitavanje: "
+# ^CreateFolder
+"Kreiranje foldera: "
+# ^CreateShortcut
+"Kreiranje preèice: "
+# ^CreatedUninstaller
+"Kreiranje deinstalera: "
+# ^Delete
+"Brisanje fajla: "
+# ^DeleteOnReboot
+"Brisanje pri restartu: "
+# ^ErrorCreatingShortcut
+"Greška pri kreiranju preèice: "
+# ^ErrorCreating
+"Greška pri kreiranju: "
+# ^ErrorDecompressing
+Greška pri otpakivanju podataka! Ošteæen instalacioni program?
+# ^ErrorRegistering
+Greška pri registrovanju biblioteke
+# ^ExecShell
+"Izvršavanje u okruženju: "
+# ^Exec
+"Izvršavanje: "
+# ^Extract
+"Otpakivanje: "
+# ^ErrorWriting
+"Otpakivanje: greška pri upisu u fajl "
+# ^InvalidOpcode
+Ošteæen instalacioni program: neispravna komanda 
+# ^NoOLE
+"Nema OLE podrške za: "
+# ^OutputFolder
+"Izlazni folder: "
+# ^RemoveFolder
+"Brisanje foldera: "
+# ^RenameOnReboot
+"Preimenovanje pri restartu: "
+# ^Rename
+"Preimenovan: "
+# ^Skipped
+"Preskoèen: "
+# ^CopyDetails
+Kopiraj detalje u klipbord
+# ^LogInstall
+Vodi zapisnik o procesu instalacije
+# ^Byte
+B
+# ^Kilo
+k
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Malay.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Malay.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Malay.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Malay (1086)
+;By muhammadazwa@yahoo.com
+
+!insertmacro LANGFILE "Malay" "Malay"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Assalamualaikum, Selamat datang ke $(^NameDA) Setup Wizard"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Setup Wizard akan membantu anda untuk memasukkan $(^NameDA).$\r$\n$\r$\nSila tutup program aplikasi yang lain sebelum Setup ini dimulakan. Ini supaya tiada proses reboot komputer diperlukan.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Selamat datang ke $(^NameDA) Uninstall Wizard"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Uninstall Wizard akan membantu anda pada proses membuang $(^NameDA).$\r$\n$\r$\nSebelum membuang, pastikan dulu $(^NameDA) dimatikan.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Perlesenan"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Sila baca teks lesen berikut sebelum memasukkan $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Jika anda bersetuju, klik Saya setuju untuk teruskan. Anda mesti setuju untuk sebelum aplikasi dapat dimasukkan $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Jika anda bersetuju dengan syarat-syarat lesen, sila tanda dicheckbox. Anda mesti setuju sebelum memasukkan $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Jika anda terima semua yang ada di lesen, pilihlah salah satu item dibawah ini. Anda mesti setuju sebelum memasukkan $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Tentang Lesen"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Sila baca teks lesen sebelum membuang $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Jika anda menerima lesen, klik Saya setuju untuk teruskan. Anda mesti setuju untuk dapat membuang $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Jika anda menerima semua yang ada di lesen, beri tanda dicheckbox. Anda mesti setuju untuk dapat membuang $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Jika anda menerima semua yang ada di lesen, pilihlah salah satu item dibawah ini. Anda mesti setuju untuk dapat membuang $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Tekan Page Down untuk melihat teks selebihnya."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Pilih Komponen"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Pilih fungsi-fungsi dari $(^NameDA) yang ingin dimasukkan."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Pilih Komponen"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Pilih fungsi-fungsi $(^NameDA) yang ingin dibuang."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Penerangan"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Alihkan tetikus ke komponen untuk mengetahui penerangannya."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Alihkan tetikus ke komponen untuk mengetahui penerangannya."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Pilih Lokasi Kemasukan"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Pilih folder untuk memasukkan $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Pilih Lokasi Uninstall"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Pilih folder untuk meng-uninstall $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Pemasangan"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Sila tunggu ketika $(^NameDA) sedang dimasukkan."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Proses Selesai"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Setup sudah selesai."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Proses Dibatalkan"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Setup terbatal."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Uninstall"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Sila tunggu ketika $(^NameDA) sedang di-buang."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Proses Uninstall Selesai"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Uninstall sudah selesai."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Proses Uninstall Dibatalkan"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Uninstall belum selesai secara sempurna."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Menyelesaikan $(^NameDA) Setup Wizard"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) sudah dimasukkan di komputer anda.$\r$\n$\r$\nKlik Selesai untuk menutup Setup Wizard."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Komputer anda harus direboot untuk menyelesaikan proses memasukkan $(^NameDA). Apakah anda hendak reboot sekarang juga?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Menyelesaikan $(^NameDA) Uninstall Wizard"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) sudah dibuang dari komputer anda.$\r$\n$\r$\nKlik Selesai untuk menutup Setup Wizard."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Komputer anda harus di reboot untuk menyelesaikan proses membuang $(^NameDA). Reboot sekarang?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Reboot sekarang"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Reboot nanti"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Jalankan $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Buka fail Readme"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Selesai"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Pilih Folder Start Menu"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Pilih folder Start Menu untuk meletakkan pintasan $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Pilih folder Start Menu untuk perletakkan pintasan aplikasi ini. Boleh cipta nama folder anda sendiri."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Tidak perlu pintasan"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Buang $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Padam $(^NameDA) dari komputer anda."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Adakan anda yakin ingin membatalkan Setup $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Adakan anda yakin ingin membatalkan proses buang $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Bulgarian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Bulgarian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Bulgarian.nsh	(revision 2961)
@@ -0,0 +1,124 @@
+;Language: Bulgarian (1026)
+;Translated by Asparouh Kalyandjiev [acnapyx@sbline.net]
+;Review and update from v1.63 to v1.68 by Plamen Penkov [plamen71@hotmail.com]
+;Updated by Êèðèë Êèðèëîâ (DumpeR) [dumper@data.bg]
+;
+
+!insertmacro LANGFILE "Bulgarian" "Bulgarian"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Äîáðå äîøëè â Ñúâåòíèêà çà èíñòàëèðàíå íà $(^NameDA)!"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Òîé ùå èíñòàëèðà $(^NameDA) íà âàøèÿ êîìïþòúð.$\r$\n$\r$\nÏðåïîðú÷âà ñå äà çàòâîðèòå âñè÷êè äðóãè ïðèëîæåíèÿ, ïðåäè äà ïðîäúëæèòå. Òîâà ùå ïîçâîëè íà ïðîãðàìàòà äà îáíîâè íÿêîè ñèñòåìíè ôàéëîâå, áåç äà ñå ðåñòàðòèðà êîìïþòúðà.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Äîáðå äîøëè â Ñúâåòíèêà çà èçòðèâàíå íà $(^NameDA)!"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Òîé ùå âè ïîìîãíå äà èçòðèåòå $(^NameDA) îò âàøèÿ êîìïþòúð.$\r$\n$\r$\nÏðåäè äà ïðîäúëæèòå, óâåðåòå ñå ÷å $(^NameDA) íå å ñòàðòèðàíà â ìîìåíòà.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Ëèöåíçèîííî ñïîðàçóìåíèå"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Ìîëÿ çàïîçíàéòå ñå Ëèöåíçèîííîòî ñïîðàçóìåíèå ïðåäè äà ïðîäúëæèòå."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Àêî ïðèåìàòå óñëîâèÿòà íà ñïîðàçóìåíèåòî, íàòèñíåòå $\"Ñúãëàñåí$\", çà äà ïðîäúëæèòå. Òðÿáâà äà ïðèåìåòå ñïîðàçóìåíèåòî, çà äà èíñòàëèðàòå $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Àêî ïðèåìàòå óñëîâèÿòà íà ñïîðàçóìåíèåòî, ñëîæåòå îòìåòêà â ïîëåòî ïî-äîëó. Òðÿáâà äà ïðèåìåòå ñïîðàçóìåíèåòî, çà äà èíñòàëèðàòå $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Àêî ïðèåìàòå óñëîâèÿòà íà ñïîðàçóìåíèåòî, èçáåðåòå ïúðâàòà îïöèÿ ïî-äîëó. Òðÿáâà äà ïðèåìåòå ñïîðàçóìåíèåòî, çà äà èíñòàëèðàòå $(^NameDA) $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Ëèöåíçèîííî ñïîðàçóìåíèå"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Ìîëÿ çàïîçíàéòå ñå ëèöåíçèîííèòå óñëîâèÿ ïðåäè äà èçòðèåòå $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Àêî ïðèåìàòå óñëîâèÿòà íà ñïîðàçóìåíèòî, íàòèñíåòå $\"Ñúãëàñåí$\" çà äà ïðîäúëæèòå. Òðÿáâà äà ïðèåìåòå ñïîðàçóìåíèåòî, çà äà èçòðèåòå $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Àêî ïðèåìàòå óñëîâèÿòà íà ñïîðàçóìåíèåòî, ñëîæåòå îòìåòêà â ïîëåòî ïî-äîëó. Òðÿáâà äà ïðèåìåòå ñïîðàçóìåíèåòî, çà äà èçòðèåòå $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Àêî ïðèåìàòå óñëîâèÿòà íà ñïîðàçóìåíèòî, èçáåðåòå ïúðâàòà îïöèÿ ïî-äîëó. Òðÿáâà äà ïðèåìåòå ñïîðàçóìåíèåòî, çà äà èçòðèåòå $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Íàòèñíåòå êëàâèøà $\"Page Down$\", çà äà âèäèòå îñòàíàëàòà ÷àñò îò ñïîðàçóìåíèåòî."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Èçáîð íà êîìïîíåíòè"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Èçáåðåòå êîè êîìïîíåíòè íà $(^NameDA) èñêàòå äà èíñòàëèðàòå."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Èçáîð íà êîìïîíåíòè"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Èçáåðåòå êîè êîìïîíåíòè íà $(^NameDA) èñêàòå äà èçòðèåòå."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Îïèñàíèå"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Ïðåìèíåòå ñ ìèøêàòà íàä îïðåäåëåí êîìïîíåíò, çà äà âèäèòå îïèñàíèåòî ìó."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Ïðåìèíåòå ñ ìèøêàòà íàä îïðåäåëåí êîìïîíåíò, çà äà âèäèòå îïèñàíèåòî ìó."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Èçáîð íà ïàïêà çà èíñòàëèðàíå"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Èçáåðåòå ïàïêàòà, â êîÿòî äà ñå èíñòàëèðà $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Èçáîð íà ïàïêà çà èçòðèâàíå"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Èçáåðåòå ïàïêàòà, îò êîÿòî äà ñå èçòðèå $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Èíñòàëèðàíå"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Èç÷àêàéòå, èíñòàëèðàò ñå ôàéëîâåòå íà $(^NameDA)..."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Èíñòàëèðàíåòî çàâúðøè."
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Èíñòàëèðàíåòî çàâúðøè óñïåøíî."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Èíñòàëèðàíåòî ïðåêðàòåíî."
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Èíñòàëèðàíåòî íå çàâúðøè óñïåøíî."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Èçòðèâàíå"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Èç÷àêàéòå, èçòðèâàò ñå ôàéëîâåòå íà $(^NameDA)..."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Êðàé"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Èçòðèâàíåòî çàâúðøè óñïåøíî."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Èçòðèâàíåòî ïðåêðàòåíî."
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Èçòðèâàíåòî íå çàâúðøè íàïúëíî."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Ïðèêëþ÷âàíå íà Ñúâåòíèêà çà èíñòàëèðàíå íà $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "Èíñòàëèðàíåòî íà $(^NameDA) å çàâúðøåíî.$\r$\n$\r$\nÍàòèñíåòå áóòîíà $\"Êðàé$\", çà äà çàòâîðèòå Ñúâåòíèêà."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Êîìïþòúðúò òðÿáâà äà áúäå ðåñòàðòèðàí, çà äà çàâúðøè èíñòàëèðàíåòî íà $(^NameDA). Èñêàòå ëè äà ðåñòàðòèðàòå ñåãà?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Ïðèêëþ÷âàíå íà Ñúâåòíèêà çà èçòðèâàíå íà $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "Ïðîãðàìàòà $(^NameDA) áåøå èçòðèòà îò âàøèÿ êîìïþòúð.$\r$\n$\r$\nÍàòèñíåòå $\"Êðàé$\" çà äà çàòâîðèòå òîçè Ñúâåòíèê."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Êîìïþòúðúò âè òðÿáâà äà ñå ðåñòàðòèðà, çà äà ïðèêëþ÷è óñïåøíî èçòðèâàíåòî íà $(^NameDA). Èñêàòå ëè äà ðåñòàðòèðàòå ñåãà?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Äà, ðåñòàðòèðàé ñåãà"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Íå, ùå ðåñòàðòèðàì ïî-êúñíî"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "Ñòàðòèðàé $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Ïîêàæè ôàéëà $\"ReadMe$\""
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Êðàé"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Èçáîð íà ïàïêà â ìåíþòî $\"Ñòàðò$\""
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Èçáåðåòå ïàïêà â ìåíþòî $\"Ñòàðò$\" çà ïðåêè ïúòèùà êúì ïðîãðàìàòà."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Èçáåðåòå ïàïêà â ìåíþòî $\"Ñòàðò$\", â êîÿòî èñêàòå äà ñúçäàäåòå ïðåêè ïúòèùà êúì ïðîãðàìàòà. Ìîæåòå ñúùî òàêà äà âúâåäåòå èìå, çà äà ñúçäàäåòå íîâà ïàïêà."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Íå ñúçäàâàé ïðåêè ïúòèùà"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Èçòðèâàíå íà $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Èçòðèâàíå íà $(^NameDA) îò âàøèÿ êîìïþòúð."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Ñèãóðíè ëè ñòå, ÷å èñêàòå äà ïðåêðàòèòå èíñòàëèðàíåòî íà $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Ñèãóðíè ëè ñòå, ÷å èñêàòå äà ïðåêðàòèòå èçòðèâàíåòî íà $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Irish.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Irish.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Irish.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+2108
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by Kevin P. Scannell < scannell at slu dot edu >
+# ^Branding
+Córas Suiteála Nullsoft %s
+# ^SetupCaption
+Socrú $(^Name)
+# ^UninstallCaption
+Díshuiteáil $(^Name)
+# ^LicenseSubCaption
+: Comhaontú um Cheadúnas
+# ^ComponentsSubCaption
+: Roghanna Suiteála
+# ^DirSubCaption
+: Fillteán Suiteála
+# ^InstallingSubCaption
+: Suiteáil
+# ^CompletedSubCaption
+: Críochnaithe
+# ^UnComponentsSubCaption
+: Roghanna Díshuiteála
+# ^UnDirSubCaption
+: Fillteán Díshuiteála
+# ^ConfirmSubCaption
+: Deimhniú
+# ^UninstallingSubCaption
+: Díshuiteáil
+# ^UnCompletedSubCaption
+: Críochnaithe
+# ^BackBtn
+< Ar Ai&s
+# ^NextBtn
+Ar &Aghaidh >
+# ^AgreeBtn
+Gl&acaim Leis
+# ^AcceptBtn
+Táim toilteanach &glacadh le coinníollacha an Chomhaontú um Cheadúnas
+# ^DontAcceptBtn
+Nílim &toilteanach glacadh le coinníollacha an Chomhaontú um Cheadúnas
+# ^InstallBtn
+&Suiteáil
+# ^UninstallBtn
+&Díshuiteáil
+# ^CancelBtn
+Cealaigh
+# ^CloseBtn
+&Dún
+# ^BrowseBtn
+B&rabhsáil...
+# ^ShowDetailsBtn
+Taispeáin &sonraí
+# ^ClickNext
+Cliceáil "Ar Aghaidh" chun leanúint ar aghaidh.
+# ^ClickInstall
+Cliceáil "Suiteáil" chun tosú.
+# ^ClickUninstall
+Cliceáil "Díshuiteáil" chun tosú.
+# ^Name
+Ainm
+# ^Completed
+Críochnaithe
+# ^LicenseText
+Déan iniúchadh ar an gComhaontú um Cheadúnas sula suiteálann tú $(^NameDA). Má ghlacann tú le gach coinníoll den chomhaontú, cliceáil "Glacaim Leis".
+# ^LicenseTextCB
+Déan iniúchadh ar an gComhaontú um Cheadúnas sula suiteálann tú $(^NameDA). Má ghlacann tú le gach coinníoll den chomhaontú, cliceáil an ticbhosca thíos. $_CLICK
+# ^LicenseTextRB
+Déan iniúchadh ar an gComhaontú um Cheadúnas sula suiteálann tú $(^NameDA). Má ghlacann tú le gach coinníoll den chomhaontú, roghnaigh an chéad rogha thíos. $_CLICK
+# ^UnLicenseText
+Déan iniúchadh ar an gComhaontú um Cheadúnas sula ndíshuiteálann tú $(^NameDA). Má ghlacann tú le gach coinníoll den chomhaontú, cliceáil "Glacaim Leis".
+# ^UnLicenseTextCB
+Déan iniúchadh ar an gComhaontú um Cheadúnas sula ndíshuiteálann tú $(^NameDA). Má ghlacann tú le gach coinníoll den chomhaontú, cliceáil an ticbhosca thíos. $_CLICK
+# ^UnLicenseTextRB
+Déan iniúchadh ar an gComhaontú um Cheadúnas sula ndíshuiteálann tú $(^NameDA). Má ghlacann tú le gach coinníoll den chomhaontú, roghnaigh an chéad rogha thíos. $_CLICK
+# ^Custom
+Saincheaptha
+# ^ComponentsText
+Roghnaigh na comhpháirteanna is mian leat a shuiteáil, agus díroghnaigh na comhpháirteanna nach mian leat a shuiteáil. $_CLICK
+# ^ComponentsSubText1
+Roghnaigh cineál na suiteála:
+# ^ComponentsSubText2_NoInstTypes
+Roghnaigh na comhpháirteanna is mian leat a shuiteáil:
+# ^ComponentsSubText2
+Nó, roghnaigh na comhpháirteanna roghnacha is mian leat a shuiteáil:
+# ^UnComponentsText
+Roghnaigh na comhpháirteanna is mian leat a dhíshuiteáil, agus díroghnaigh na comhpháirteanna nach mian leat a dhíshuiteáil. $_CLICK
+# ^UnComponentsSubText1
+Roghnaigh cineál na díshuiteála:
+# ^UnComponentsSubText2_NoInstTypes
+Roghnaigh comhpháirteanna le díshuiteáil:
+# ^UnComponentsSubText2
+Nó, roghnaigh na comhpháirteanna roghnacha is mian leat a dhíshuiteáil:
+# ^DirText
+Cuirfidh an Suiteálaí $(^NameDA) san fhillteán seo a leanas. Más mian leat suiteáil i bhfillteán difriúil, cliceáil "Brabhsáil" agus roghnaigh fillteán eile. $_CLICK
+# ^DirSubText
+Sprioc-Fhillteán
+# ^DirBrowseText
+Roghnaigh an fillteán inar mian leat $(^NameDA) a shuiteáil:
+# ^UnDirText
+Bainfidh an Suiteálaí $(^NameDA) amach as an bhfillteán seo a leanas. Más mian leat é a dhíshuiteáil ó fhillteán difriúil, cliceáil "Brabhsáil" agus roghnaigh fillteán eile. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Roghnaigh an fillteán ar mian leat $(^NameDA) a dhíshuiteáil as:
+# ^SpaceAvailable
+"Spás le fáil: "
+# ^SpaceRequired
+"Spás de dhíth: "
+# ^UninstallingText
+Díshuiteálfar $(^NameDA) ón fhillteán seo a leanas. $_CLICK
+# ^UninstallingSubText
+Á dhíshuiteáil ó:
+# ^FileError
+Earráid agus comhad á scríobh: \r\n\r\n$0\r\n\r\nCliceáil "Abort" chun an tsuiteáil a stopadh,\r\n"Retry" chun iarracht eile a dhéanamh, nó\r\n"Ignore" chun neamhaird a dhéanamh den chomhad seo.
+# ^FileError_NoIgnore
+Earráid agus comhad á scríobh: \r\n\r\n$0\r\n\r\nCliceáil "Retry" chun iarracht eile a dhéanamh, nó\r\n"Cancel" chun an tsuiteáil a stopadh.
+# ^CantWrite
+"Ní féidir scríobh: "
+# ^CopyFailed
+Theip ar an gcóipeáil
+# ^CopyTo
+"Cóipeáil go "
+# ^Registering
+"Clárú: "
+# ^Unregistering
+"Díchlárú: "
+# ^SymbolNotFound
+"Níorbh fhéidir siombail a aimsiú: "
+# ^CouldNotLoad
+"Níorbh fhéidir luchtú: "
+# ^CreateFolder
+"Cruthaigh fillteán: "
+# ^CreateShortcut
+"Cruthaigh aicearra: "
+# ^CreatedUninstaller
+"Cruthaíodh díshuiteálaí: "
+# ^Delete
+"Scrios comhad: "
+# ^DeleteOnReboot
+"Scrios ag am atosaithe: "
+# ^ErrorCreatingShortcut
+"Earráid agus aicearra á chruthú: "
+# ^ErrorCreating
+"Earráid le linn cruthaithe: "
+# ^ErrorDecompressing
+Earráid agus sonraí á ndíchomhbhrú! Suiteálaí truaillithe?
+# ^ErrorRegistering
+Earráid agus DLL á chlárú
+# ^ExecShell
+"Blaosc: "
+# ^Exec
+"Rith: "
+# ^Extract
+"Bain Amach: "
+# ^ErrorWriting
+"Extract: earráid le linn scríofa "
+# ^InvalidOpcode
+Díshuiteálaí truaillithe: cód neamhbhailí oibríochta
+# ^NoOLE
+"Gan OLE le haghaidh: "
+# ^OutputFolder
+"Fillteán aschurtha: "
+# ^RemoveFolder
+"Bain fillteán: "
+# ^RenameOnReboot
+"Athainmnigh ag am atosaithe: "
+# ^Rename
+"Athainmnigh: "
+# ^Skipped
+"Neamhaird déanta de: "
+# ^CopyDetails
+Cóipeáil Sonraí go dtí an Ghearrthaisce
+# ^LogInstall
+Logáil an próiseas suiteála
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Albanian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Albanian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Albanian.nsh	(revision 2961)
@@ -0,0 +1,129 @@
+;Language: Albanian (1052)
+;Translation Besnik Bleta, besnik@programeshqip.org
+
+!insertmacro LANGFILE "Albanian" "Albanian"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Mirësevini te Rregullimi i $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Ky do t'ju udhëheqë gjatë instalimit të $(^NameDA).$\r$\n$\r$\nKëshillohet që të mbyllni tërë zbatimet e tjera para se të nisni Rregullimin. Kjo bën të mundur përditësimin e kartelave të rëndësishme të sistemit pa u dashur të riniset kompjuteri juaj.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Mirësevini te Çinstalimi i $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Ky do t'ju udhëheqë gjatë çinstalimit të $(^NameDA).$\r$\n$\r$\nPara nisjes së çinstalimit, sigurohuni që $(^NameDA) nuk është duke xhiruar.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Marrëveshje Licence"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Ju lutem shqyrtoni kushtet e licencës përpara se të instaloni $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Nëse i pranoni kushtet e marrëveshjes, klikoni Pajtohem për të vazhduar. Duhet ta pranoni marrëveshjen për të instaluar $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Nëse pranoni kushtet e marrëveshjes, klikoni kutizën më poshtë. Duhet të pranoni marrëveshjen për të instaluar $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Nëse pranoni kushtet e marrëveshjes, përzgjidhni më poshtë mundësinë e parë. Duhet të pranoni marrëveshjen për të instaluar $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Marrëveshje Licence"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Ju lutem shqyrtoni kushtet e licencës përpara çinstalimit të $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Nëse i pranoni kushtet e marrëveshjes, klikoni Pajtohem për të vazhduar. Duhet të pranoni marrëveshjen për të çinstaluar $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Nëse pranoni kushtet e marrëveshjes, klikoni kutizën më poshtë. Duhet të pranoni marrëveshjen për të çinstaluar $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Nëse pranoni kushtet e marrëveshjes, përzgjidhni mundësinë e parë më poshtë. Duhet të pranoni marrëveshjen për të çinstaluar $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Shtypni Page Down për të parë pjesën e mbetur të marrëveshjes."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Përzgjidhni Përbërës"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Zgjidhni cilat anë të $(^NameDA) doni të instalohen."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Zgjidhni Përbërësa"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Zgjidhni cilat anë të $(^NameDA) doni të çinstalohen."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Përshkrim"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Për të parë përshkrimin e një përbërësi, vendosni miun përsipër tij."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Për të parë përshkrimin e një përbërësi, vendosni miun përsipër tij."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Zgjidhni Vend Instalimi"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Zgjidhni dosjen tek e cila të instalohet $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Zgjidhni Vend Çinstalimi"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Zgjidhni dosjen prej së cilës të çinstalohet $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Po instalohet"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Ju lutem prisni ndërkohë që $(^NameDA) instalohet."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Instalim i Plotësuar"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Rregullimi u plotësua me sukses."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Instalimi u Ndërpre"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Rregullimi nuk u plotësua me sukses."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Çinstalim"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Ju lutem prisni ndërsa $(^NameDA) çinstalohet."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Çinstalim i Plotë"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Çinstalimi u plotësua me sukses."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Çinstalimi u Ndërpre"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Çinstalimi nuk plotësua me sukses."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Po plotësoj Rregullimin e $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) u instalua në kompjuterin tuaj.$\r$\n$\r$\nPër mbylljen e procesit, klikoni Përfundoje."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Që të mund të plotësohet instalimi i $(^NameDA) kompjuteri juaj duhet të riniset. Doni ta rinisni tani?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Po plotësoj Çinstalimin e $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) u çinstalua prej kompjuterit tuaj.$\r$\n$\r$\nPër mbylljen e procesit, klikoni Përfundoje."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Kompjuteri juaj duhet të riniset që të mund të plotësohet çinstalimi i $(^NameDA). Doni ta rinisni tani?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Rinise tani"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Dua ta rinis dorazi më vonë"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Nis $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Shfaq Readme"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Përfundoje"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Zgjidhni Dosje Menuje Start"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Zgjidhni një dosje Menuje Start për shkurtore $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Përzgjidhni dosjen e Menusë Start në të cilën do të donit të krijonit shkurtoret për programin. Mundeni edhe të jepni një emër për të krijuar një dosje të re."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Mos krijo shkurtore"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Çinstalo $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Hiqeni $(^NameDA) prej kompjuterit tuaj."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Jeni i sigurt që doni të dilni nga Rregullimi i $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Jeni i sigurt që doni të dilni nga Çinstalimi i $(^Name)?"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Zgjidhni Përdoruesa"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Zgjidhni për cilët përdoruesa doni të instalohet $(^NameDA)."
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Përzgjidhni në doni të instalohet $(^NameDA) vetëm për veten tuaj apo për tërë përdoruesit e këtij kompjuteri. $(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Instaloje për këdo në këtë kompjuter"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Instaloje vetëm për mua"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Uzbek.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Uzbek.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Uzbek.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1091
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by Emil Garipov [emil.garipov@gmail.com]
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+O'rnatish $(^Name)
+# ^UninstallCaption
+O'chirish $(^Name)
+# ^LicenseSubCaption
+: Lisenzion kelishuv
+# ^ComponentsSubCaption
+: O'rnatish parametrlari 
+# ^DirSubCaption
+: O'rnatish papkasi
+# ^InstallingSubCaption
+: Fayllarni kopiya qilish
+# ^CompletedSubCaption
+: Operatsiya yakunlandi
+# ^UnComponentsSubCaption
+: O'chirish parametrlari
+# ^UnDirSubCaption
+: O'chirsh papkasi
+# ^ConfirmSubCaption
+: Tasdiqlash
+# ^UninstallingSubCaption
+: Fayllarni o'chirish
+# ^UnCompletedSubCaption
+: Operatsiya yakunlandi
+# ^BackBtn
+< &Orqaga
+# ^NextBtn
+&Oldinga >
+# ^AgreeBtn
+&Qabul qilaman
+# ^AcceptBtn
+Men &kelishuv shartlarini qabul qilaman
+# ^DontAcceptBtn
+Men &kelishuv shartlarini qabul qilmayman
+# ^InstallBtn
+&O'rnatish
+# ^UninstallBtn
+&O'chirish
+# ^CancelBtn
+Bekor qilish
+# ^CloseBtn
+&Yopish
+# ^BrowseBtn
+&Ko'rish ...
+# ^ShowDetailsBtn
+&Äåòàëè...
+# ^ClickNext
+Davom etish uchun 'Oldinga'tugmachasini bosing.
+# ^ClickInstall
+Dasturni o'rnatish uchun'O'rnatish' tugmachasini bosing.
+# ^ClickUninstall
+Dasturni o'chirish uchun 'O'chirsh' tugmachasini bosing.
+# ^Name
+Ism
+# ^Completed
+Tayor
+# ^LicenseText
+$(^NameDA)ni o'rnatishdan oldin lisenzion kelishuv bilan tanishib oling. Kelishuv shartlarini qabul qilsangiz 'Qabul qilaman' tugmachasini bosing.
+# ^LicenseTextCB
+$(^NameDA)ni o'rnatishdan oldin lisenzion kelishuv bilan tanishib oling. Kelishuv shartlarini qabul qilsangiz bayroqchani joylashtiring. $_CLICK
+# ^LicenseTextRB
+$(^NameDA)ni o'rnatishdan oldin lisenzion kelishuv bilan tanishib oling. Kelishuv shartlarini qabul qilsangiz quyida taklif etilganlardan birinchi variantni tanlang. $_CLICK
+# ^UnLicenseText
+$(^NameDA)ni o'rnatishdan oldin lisenzion kelishuv bilan tanishib oling. Kelishuv shartlarini qabul qilsangiz 'Qabul qilaman' tugmachasini bosing.
+# ^UnLicenseTextCB
+$(^NameDA)ni o'rnatishdan oldin lisenzion kelishuv bilan tanishib oling. Kelishuv shartlarini qabul qilsangiz bayroqchani joylashtiring. $_CLICK
+# ^UnLicenseTextRB
+$(^NameDA)ni o'rnatishdan oldin lisenzion kelishuv bilan tanishib oling. Kelishuv shartlarini qabul qilsangiz quyida taklif etilganlardan birinchi variantni tanlang. $_CLICK
+# ^Custom
+Tanlash bo'icha
+# ^ComponentsText
+O'rnatish ucun dastur komponentlarini tanlang. $_CLICK
+# ^ComponentsSubText1
+O'rnatish jarayonini tanlang:
+# ^ComponentsSubText2_NoInstTypes
+O'rnatish uchun dastur komponentlarini tanlang:
+# ^ComponentsSubText2
+Yoki o'rnatish uchun qushimcha komponentlarini tanlang:
+# ^UnComponentsText
+O'chirish uchun dastur komponentlarini tanlang. $_CLICK
+# ^UnComponentsSubText1
+O'chirish jarayonini tanlang:
+# ^UnComponentsSubText2_NoInstTypes
+O'chirish uchun dastur komponentlarini tanlang:
+# ^UnComponentsSubText2
+Yoki o'chirish uchun qushimcha komponentlarini tanlang:
+# ^DirText
+Dastur $(^NameDA)ni ko'rsatilgan papkaga o'rnatadi. Boshqa papkaga o'rnatish uchun, 'Ko'rish'tugmachasini bosing va uni ko'rsatib bering. $_CLICK
+# ^DirSubText
+O'rnatish papkasi
+# ^DirBrowseText
+O'rnatish papkasini ko'rsating $(^NameDA):
+# ^UnDirText
+Dastur $(^NameDA)ni ko'rsatilgan papkadan o'chiradi. Boshqa papkaga o'rnatish uchun, 'Ko'rish'tugmachasini bosing va uni ko'rsatib bering. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+$(^NameDA)ni o'chirish uchun papkani ko'rsating:
+# ^SpaceAvailable
+"Diskda joriy qilingan: "
+# ^SpaceRequired
+"Diskda talab qilinadigan: "
+# ^UninstallingText
+$(^NameDA) dasturi kompyuterizdan uchiriladi. $_CLICK
+# ^UninstallingSubText
+O'chirilish:
+# ^FileError
+Yozish uchun faylni ochish imkoniyati yuq: \r\n\t"$0"\r\n'Tuxtashish': O'rnatishni tuxtatish;\r\n"Takrorlash":yana bir o'rinib ko'rish;\r\n"Taylab ketish": shu xarakatni taylab ketish.
+# ^FileError_NoIgnore
+Yozish uchun faylni ochish imkoniyati yuq: \r\n\t"$0"\r\n'Takrorlash': yana bir o'rinib ko'rish;\r\n'Bekor qilish': o'rnatish protsessini bekor qilish.
+# ^CantWrite
+"Yozish uchun imkoniyat yuq: "
+# ^CopyFailed
+Kopiya qilganda xato bor
+# ^CopyTo
+"Kopiya qilish "
+# ^Registering
+"Ro'yxatga olish: "
+# ^Unregistering
+"Ro'xatdan chiqish: "
+# ^SymbolNotFound
+"Simvolni topish imkoniyati yuq: "
+# ^CouldNotLoad
+"Zagruzka qilish imkoniyati yuq: "
+# ^CreateFolder
+"Papkani yaratish: "
+# ^CreateShortcut
+"Belgini yaratish: "
+# ^CreatedUninstaller
+"O'chirish dasturini yaratish: "
+# ^Delete
+"Faylni o'chirish: "
+# ^DeleteOnReboot
+"Kompyuter qayta yuklash jaraonida o'chirish: "
+# ^ErrorCreatingShortcut
+"Belgini yaratish jarayonida xato: " 
+# ^ErrorCreating
+"Yaratish xatosi: "
+# ^ErrorDecompressing
+Ma'lumotlarni asilga qaytarish xatosi! Distributiv ziyonlangan bulishi mumkin.
+# ^ErrorRegistering
+Kutubxonani ro'xatga olish imkoniyati yuq (DLL)
+# ^ExecShell
+"Qoplang'ich komandasini bajarish: " 
+# ^Exec
+"Bajarish: "
+# ^Extract
+"Ichidan olish: "
+# ^ErrorWriting
+"Ichidan olish: fayl yozish xatosi "
+# ^InvalidOpcode
+Distributiv ziyonlangan: ruxsatlanmangan kod
+# ^NoOLE
+"Quydagilarga OLE yuq: " 
+# ^OutputFolder
+"Papkani o'rnatish: "
+# ^RemoveFolder
+"Papkani o'chirish: "
+# ^RenameOnReboot
+"Kompyuter qayta yuklanish jarayonida ismni qaita quyish: "
+# ^Rename
+"Ismni qayta quyish: "
+# ^Skipped
+"O'tkazib yuborish: "
+# ^CopyDetails
+Bufer obmenaga ma'lumotlarni kopiya qilish
+# ^LogInstall
+O'rnatish xisobotini chiqorish
+# byte
+áàéò
+# kilo
+ Ê
+# mega
+ Ì
+# giga
+ Ã
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Hungarian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Hungarian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Hungarian.nsh	(revision 2961)
@@ -0,0 +1,122 @@
+;Language: Hungarian (1038)
+;Translation by Jozsef Tamas Herczeg ( - 1.61-ig),
+;               Lajos Molnar (Orfanik) <orfanik@axelero.hu> ( 1.62 - tõl)
+
+!insertmacro LANGFILE "Hungarian" "Magyar"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Üdvözli a(z) $(^NameDA) Telepítõ Varázsló"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "A(z) $(^NameDA) telepítése következik a számítógépre.$\r$\n$\r$\nJavasoljuk, hogy indítás elõtt zárja be a futó alkalmazásokat. Így a telepítõ a rendszer újraindítása nélkül tudja frissíteni a szükséges rendszerfájlokat.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Üdvözli a(z) $(^NameDA) Eltávolító Varázsló"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Ez a varázsló segíti a(z) $(^NameDA) eltávolításában.$\r$\n$\r$\nMielõtt elkezdi az eltávilítást gyõzõdjön meg arról, hogy a(z) $(^NameDA) nem fut.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Licencszerzõdés"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "A(z) $(^NameDA) telepítése elõtt tekintse át a szerzõdés feltételeit."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Ha elfogadja a szerzõdés valamennyi feltételét, az Elfogadom gombbal folytathatja. El kell fogadnia a(z) $(^NameDA) telepítéséhez."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Amennyiben elfogadja a feltételeket, jelölje be a jelölõnényzeten. A(z) $(^NameDA) telepítéséhez el kell fogadnia a feltételeket. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Amennyiben elfogadja a feltételeket, válassza az elsõ opciót. A(z) $(^NameDA) telepítéséhez el kell fogadnia a feltételeket. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Licencszerzõdés"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "A(z) $(^NameDA) eltávolítása elõtt tekintse át a szerzõdés feltételeit."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Ha elfogadja a szerzõdés valamennyi feltételét, az Elfogadom gombbal folytathatja. El kell fogadnia a(z) $(^NameDA) eltávolításához."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Amennyiben elfogadja a feltételeket, jelölje be a jelölõnényzeten. A(z) $(^NameDA) eltávolításához el kell fogadnia a feltételeket. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Amennyiben elfogadja a feltételeket, válassza az elsõ opciót. A(z) $(^NameDA) eltávolításához el kell fogadnia a feltételeket. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "A PageDown gombbal olvashatja el a szerzõdés folytatását."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Összetevõk kiválasztása"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Válassza ki, hogy a(z) $(^NameDA) mely funkcióit kívánja telepíteni."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Összetevõk kiválasztása"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Válassza ki, hogy a(z) $(^NameDA) mely funkcióit kívánja eltávolítani."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Leírás"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Vigye rá az egeret az összetevõre, hogy megtekinthesse a leírását."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Vigye rá az egeret az összetevõre, hogy megtekinthesse a leírását."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Telepítési hely kiválasztása"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Válassza ki a(z) $(^NameDA) telepítésének mappáját."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Telepítési hely kiválasztása"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Válassza ki a(z) $(^NameDA) telepítésének mappáját."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Telepítési folyamat"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Kis türelmet a(z) $(^NameDA) telepítéséig."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Telepítés befejezõdött"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "A telepítés sikeresen befejezõdött."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "A telepítés megszakadt"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "A telepítés sikertelen volt."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Eltávolítási folyamat"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Kis türelmet a(z) $(^NameDA) eltávolításáig."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Az eltávolítás befejezõdött"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Az eltávolítás sikeresen befejezõdött."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Az eltávolítás megszakadt"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Az eltávolítás sikertelen volt."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "A(z) $(^NameDA) telepítése megtörtént."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "A(z) $(^NameDA) telepítése megtörtént.$\r$\n$\r$\nA Befejezés gomb megnyomásával zárja be a varázslót."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "A(z) $(^NameDA) telepítésének befejezéséhez újra kell indítani a rendszert. Most akarja újraindítani?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "A(z) $(^NameDA) eltávolítás varázslójának befejezése."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "A(z) $(^NameDA) eltávolítása sikeresen befejezõdött.$\r$\n$\r$\nA Finish-re kattintva bezárul ez a varázsló."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "A számítógépet újra kell indítani, hogy a(z) $(^NameDA) eltávolítása teljes legyen. Akarja most újraindítani a rendszert?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Most indítom újra"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Késõbb fogom újraindítani"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "$(^NameDA) futtatása"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "OlvassEl fájl megjelenítése"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Befejezés"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Start menü mappa kijelölése"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Start menü mappa kijelölése a program parancsikonjaihoz."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Jelöljön ki egy mappát a Start menüben, melybe a program parancsikonjait fogja elhelyezni. Beírhatja új mappa nevét is."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Nincs parancsikon elhelyezés"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "A(z) $(^NameDA) Eltávolítása."
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "A(z) $(^NameDA) eltávolítása következik a számítógéprõl."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Biztos, hogy ki akar lépni a(z) $(^Name) Telepítõbõl?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Biztos, hogy ki akar lépni a(z) $(^Name) Eltávolítóból?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/TradChinese.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/TradChinese.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/TradChinese.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1028
+# Font and size - dash (-) means default ¦r«¬¦WºÙ»P¤j¤p
+·s²Ó©úÅé
+9
+# Codepage - dash (-) means ANSI code page ANSI ¦r½X­¶
+950
+# RTL - anything else than RTL means LTR ¥Ñ¥k¦Ü¥ª®Ñ¼g
+-
+# Translator: Kii Ali <kiiali@cpatch.org>;Revision date: 2004-12-14
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) ¦w¸Ë
+# ^UninstallCaption
+$(^Name) ¸Ñ°£¦w¸Ë
+# ^LicenseSubCaption
+: ±ÂÅv¨óÄ³
+# ^ComponentsSubCaption
+: ¦w¸Ë¿ï¶µ
+# ^DirSubCaption
+: ¦w¸Ë¸ê®Æ§¨
+# ^InstallingSubCaption
+: ¥¿¦b¦w¸Ë
+# ^CompletedSubCaption
+: ¤w§¹¦¨
+# ^UnComponentsSubCaption
+: ¸Ñ°£¦w¸Ë¿ï¶µ
+# ^UnDirSubCaption
+: ¸Ñ°£¦w¸Ë¸ê®Æ§¨
+# ^ConfirmSubCaption
+: ½T»{
+# ^UninstallingSubCaption
+: ¥¿¦b¸Ñ°£¦w¸Ë
+# ^UnCompletedSubCaption
+: §¹¦¨
+# ^BackBtn
+< ¤W¤@¨B(&P)
+# ^NextBtn
+¤U¤@¨B(&N) >
+# ^AgreeBtn
+§Ú±µ¨ü(&I)
+# ^AcceptBtn
+§Ú±µ¨ü¡u±ÂÅv¨óÄ³¡v¤¤ªº±ø´Ú(&A)
+# ^DontAcceptBtn
+§Ú¤£±µ¨ü¡u±ÂÅv¨óÄ³¡v¤¤ªº±ø´Ú(&N)
+# ^InstallBtn
+¦w¸Ë(&I)
+# ^UninstallBtn
+²¾°£(&U)
+# ^CancelBtn
+¨ú®ø(&C)
+# ^CloseBtn
+Ãö³¬(&L)
+# ^BrowseBtn
+ÂsÄý(&B)...
+# ^ShowDetailsBtn
+Åã¥Ü²Ó¸`(&D)
+# ^ClickNext
+«ö¤@¤U [¤U¤@¨B(N)] Ä~Äò¡C
+# ^ClickInstall
+«ö¤@¤U [¦w¸Ë(I)] ¶}©l¦w¸Ë¶iµ{¡C
+# ^ClickUninstall
+«ö¤@¤U [¸Ñ°£¦w¸Ë(U)] ¶}©l¸Ñ°£¦w¸Ë¶iµ{¡C
+# ^Name
+¦WºÙ
+# ^Completed
+¤w§¹¦¨
+# ^LicenseText
+¦b¦w¸Ë $(^NameDA) ¤§«e½ÐÀË¾\±ÂÅv¨óÄ³¡C¦pªG§A±µ¨ü¨óÄ³¤¤©Ò¦³±ø´Ú¡A«ö¤@¤U [§Ú¦P·N(I)] ¡C
+# ^LicenseTextCB
+¦b¦w¸Ë $(^NameDA) ¤§«e½ÐÀË¾\±ÂÅv¨óÄ³¡C¦pªG§A±µ¨ü¨óÄ³¤¤©Ò¦³±ø´Ú¡A«ö¤@¤U¤U¤èªº¤Ä¿ï®Ø¡C $_CLICK
+# ^LicenseTextRB
+¦b¦w¸Ë $(^NameDA) ¤§«e½ÐÀË¾\±ÂÅv¨óÄ³¡C¦pªG§A±µ¨ü¨óÄ³¤¤©Ò¦³±ø´Ú¡A¿ï¾Ü¤U¤èªº²Ä¤@­Ó¿ï¶µ¡C $_CLICK
+# ^UnLicenseText
+¦b¸Ñ°£¦w¸Ë $(^NameDA) ¤§«e½ÐÀË¾\±ÂÅv¨óÄ³¡C¦pªG§A±µ¨ü¨óÄ³¤¤©Ò¦³±ø´Ú¡A«ö¤@¤U [§Ú¦P·N(I)] ¡C
+# ^UnLicenseTextCB
+¦b¸Ñ°£¦w¸Ë $(^NameDA) ¤§«e½ÐÀË¾\±ÂÅv¨óÄ³¡C¦pªG§A±µ¨ü¨óÄ³¤¤©Ò¦³±ø´Ú¡A«ö¤@¤U¤U¤èªº¤Ä¿ï®Ø¡C $_CLICK
+# ^UnLicenseTextRB
+¦b¸Ñ°£¦w¸Ë $(^NameDA) ¤§«e½ÐÀË¾\±ÂÅv¨óÄ³¡C¦pªG§A±µ¨ü¨óÄ³¤¤©Ò¦³±ø´Ú¡A¿ï¾Ü¤U¤èªº²Ä¤@­Ó¿ï¶µ¡C $_CLICK
+# ^Custom
+¦Û­q
+# ^ComponentsText
+¤Ä¿ï§A·Q­n¦w¸Ëªº¤¸¥ó¡A¨Ã¸Ñ°£¤Ä¿ï§A¤£§Æ±æ¦w¸Ëªº¤¸¥ó¡C $_CLICK
+# ^ComponentsSubText1
+¿ï¨ú¦w¸ËªºÃþ«¬: 
+# ^ComponentsSubText2_NoInstTypes
+¿ï¨ú¦w¸Ëªº¤¸¥ó: 
+# ^ComponentsSubText2
+©ÎªÌ¡A¦Û­q¿ï¨ú·Q¦w¸Ëªº¤¸¥ó: 
+# ^UnComponentsText
+¤Ä¿ï§A·Q­n¸Ñ°£¦w¸Ëªº¤¸¥ó¡A¨Ã¸Ñ°£¤Ä¿ï§A¤£§Æ±æ¸Ñ°£¦w¸Ëªº¤¸¥ó¡C $_CLICK
+# ^UnComponentsSubText1
+¿ï¾Ü¸Ñ°£¦w¸ËªºÃþ«¬: 
+# ^UnComponentsSubText2_NoInstTypes
+¿ï¾Ü­n¸Ñ°£¦w¸Ëªº¤¸¥ó: 
+# ^UnComponentsSubText2
+©Î¬O¡A¿ï¾Ü·Q­n¸Ñ°£¦w¸Ëªº¥i¿ï¶µ¤¸¥ó: 
+# ^DirText
+Setup ±N¦w¸Ë $(^NameDA) ¦b¤U¦C¸ê®Æ§¨¡C­n¦w¸Ë¨ì¤£¦P¸ê®Æ§¨¡A«ö¤@¤U [ÂsÄý(B)] ¨Ã¿ï¾Ü¨ä¥Lªº¸ê®Æ§¨¡C $_CLICK
+# ^DirSubText
+¥Ø¼Ð¸ê®Æ§¨
+# ^DirBrowseText
+¿ï¾Ü­n¦w¸Ë $(^NameDA) ªº¸ê®Æ§¨¦ì¸m: 
+# ^UnDirText
+Setup ±N¸Ñ°£¦w¸Ë $(^NameDA) ¦b¤U¦C¸ê®Æ§¨¡C­n¸Ñ°£¦w¸Ë¨ì¤£¦P¸ê®Æ§¨¡A«ö¤@¤U [ÂsÄý(B)] ¨Ã¿ï¾Ü¨ä¥Lªº¸ê®Æ§¨¡C $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+¿ï¾Ü­n¸Ñ°£¦w¸Ë $(^NameDA) ªº¸ê®Æ§¨¦ì¸m: 
+# ^SpaceAvailable
+"¥i¥ÎªÅ¶¡: "
+# ^SpaceRequired
+"©Ò»ÝªÅ¶¡: "
+# ^UninstallingText
+³o­ÓºëÆF±N±q§Aªº¹q¸£¸Ñ°£¦w¸Ë $(^NameDA) ¡C $_CLICK
+# ^UninstallingSubText
+¸Ñ°£¦w¸Ë¥Ø¿ý: 
+# ^FileError
+µLªk¶}±Ò­n¼g¤JªºÀÉ®×: \r\n\t"$0"\r\n«ö¤@¤U [Abort] ©ñ±ó¦w¸Ë¡A\r\n [Retry] ­«·s¹Á¸Õ¼g¤JÀÉ®×¡A©Î\r\n [Ignore] ©¿²¤³o­ÓÀÉ®×¡C
+# ^FileError_NoIgnore
+µLªk¶}±Ò­n¼g¤JªºÀÉ®×: \r\n\t"$0"\r\n«ö¤@¤U [Retry] ­«·s¹Á¸Õ¼g¤JÀÉ®×¡A©Î\r\n [Cancel] ¨ú®ø¦w¸Ë¡C
+# ^CantWrite
+"µLªk¼g¤J: "
+# ^CopyFailed
+"½Æ»s¥¢±Ñ "
+# ^CopyTo
+"½Æ»s¨ì: "
+# ^Registering
+"¥¿¦bµù¥U: "
+# ^Unregistering
+"¥¿¦b¸Ñ°£µù¥U: "
+# ^SymbolNotFound
+"µLªk§ä¨ì²Å¸¹: "
+# ^CouldNotLoad
+"µLªk¸ü¤J: "
+# ^CreateFolder
+"«Ø¥ß¸ê®Æ§¨: " 
+# ^CreateShortcut
+"«Ø¥ß±¶®|: "
+# ^CreatedUninstaller
+"«Ø¥ß¸Ñ°£¦w¸Ëµ{¦¡: "
+# ^Delete
+"§R°£ÀÉ®×: "
+# ^DeleteOnReboot
+"­«·s±Ò°Ê«á§R°£: "
+# ^ErrorCreatingShortcut
+"¥¿¦b«Ø¥ß±¶®|®Éµo¥Í¿ù»~: "
+# ^ErrorCreating
+"¥¿¦b«Ø¥ß®Éµo¥Í¿ù»~: "
+# ^ErrorDecompressing
+"¥¿¦b¸ÑÀ£ÁY¸ê®Æµo¥Í¿ù»~¡I¤w·lÃaªº¦w¸Ëµ{¦¡¡H"
+# ^ErrorRegistering
+"¥¿¦bµù¥U DLL ®Éµo¥Í¿ù»~"
+# ^ExecShell
+"°õ¦æ¥~³¡µ{¦¡: "
+# ^Exec
+"°õ¦æ: "
+# ^Extract
+"©â¨ú: "
+# ^ErrorWriting
+"©â¨ú: µLªk¼g¤JÀÉ®× "
+# ^InvalidOpcode
+"¦w¸Ë·l·´: µL®Äªº§@·~¥N½X "
+# ^NoOLE
+"¨S¦³ OLE ¥Î©ó: "
+# ^OutputFolder
+"¿é¥X¥Ø¿ý: "
+# ^RemoveFolder
+"²¾°£¥Ø¿ý: "
+# ^RenameOnReboot
+"­«·s±Ò°Ê«á­«·s©R¦W: "
+# ^Rename
+"­«·s©R¦W: "
+# ^Skipped
+"¤w²¤¹L: "
+# ^CopyDetails
+"½Æ»s²Ó¸`¨ì°Å¶KÃ¯ "
+# ^LogInstall
+"¤é»x¦w¸Ë¶iµ{"
+# byte
+B
+# kilo
+K
+# mega
+M
+# giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Basque.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Basque.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Basque.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Basque (1069)
+;By Iñaki San Vicente
+
+!insertmacro LANGFILE "Basque" "Euskera"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Ongi etorri $(^NameDA) -ren instalazio programara"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Programa honek $(^NameDA) zure ordenagailuan instalatuko du.$\r$\n$\r$\nAholkatzen da instalazioarekin hasi aurretik beste aplikazio guztiak ixtea. Honek sistemarekin erlazionatuta dauden fitxategien eguneratzea ahalbidetuko du, ordenagailua berrabiarazi beharrik izan gabe.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Ongi etorri $(^NameDA) -ren ezabaketa programara"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Laguntzaile honek $(^NameDA)-ren ezabaketa prozesuan zehar gidatuko zaitu.$\r$\n$\r$\nEzabaketa hasi aurretik, ziurtatu $(^NameDA) martxan ez dagoela .$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Lizentzia hitzarmena"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Mesedez aztertu lizentziaren baldintzak $(^NameDA) instalatu aurretik."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Baldintzak onartzen badituzu, sakatu Onartu aurrera egiteko. Hitzarmena onartzea ezinbestekoa da $(^NameDA) instalatzeko."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Baldintzak onartzen badituzu, nabarmendu azpiko laukitxoa. Hitzarmena onartzea ezinbestekoa da $(^NameDA) instalatzeko. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Baldintzak onartzen badituzu, hautatu azpian lehen aukera. Hitzarmena onartzea ezinbestekoa da $(^NameDA) instalatzeko. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Lizentzia hitzarmena"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Mesedez aztertu lizentziaren baldintzak $(^NameDA) ezabatu aurretik."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Baldintzak onartzen badituzu, sakatu Onartu aurrera egiteko. Hitzarmena onartzea ezinbestekoa da $(^NameDA) ezabatzeko."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Baldintzak onartzen badituzu, nabarmendu azpiko laukitxoa. Hitzarmena onartzea ezinbestekoa da $(^NameDA) ezabatzeko. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Baldintzak onartzen badituzu, hautatu azpian lehen aukera. Hitzarmena onartzea ezinbestekoa da $(^NameDA) ezabatzeko. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Sakatu Av Pág hitzarmenaren gainontzeko atalak ikusteko."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Osagaien hautatzea"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Hautatu $(^NameDA)-ren zein ezaugarri instalatu nahi duzun."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Osagaien hautatzea"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Hautatu $(^NameDA)-ren zein ezaugarri ezabatu nahi duzun."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Azalpena"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Jarri sagua osagai baten gainean dagokion azalpena ikusteko."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Jarri sagua osagai baten gainean dagokion azalpena ikusteko."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Hautatu instalazioaren lekua"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Aukeratu $(^NameDA) instalatzeko karpeta."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Aukeratu ezabatuko den karpeta"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Aukeratu $(^NameDA) zein karpetatik ezabatuko den."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Instalatzen"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Mesedez itxoin $(^NameDA) instalatzen den bitartean."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Instalazioa burututa"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Instalazioa zuzen burutu da."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Instalazioa ezeztatua"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Instalazioa ez da zuzen burutu."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Ezabatzen"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Mesedez itxoin $(^NameDA) ezabatzen den bitartean."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Ezabatzea burututa"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Ezabatzea zuzen burutu da."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Ezabatzea ezeztatuta"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Ezabatzea ez da zuzen burutu."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "$(^NameDA)-ren instalazio laguntzailea osatzen"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) zure sisteman instalatu da.$\r$\n$\r$\nSakatu Amaitu laguntzaile hau ixteko."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Zure sistema berrabiarazi behar duzu $(^NameDA)-ren instalazioa osatzeko. Orain Berrabiarazi nahi duzu?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "$(^NameDA)-ren ezabaketa laguntzailea osatzen"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) zure sistematik ezabatu da.$\r$\n$\r$\nSakatu Amaitu laguntzaile hau ixteko."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Zure ordenagailuak berrabiarazia izan behar du $(^NameDA)-ren ezabaketa osatzeko. Orain Berrabiarazi nahi duzu?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Berrabiarazi orain"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Neuk berrabiarazi geroago"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Exekutatu $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Ikusi Readme.txt"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Amaitu"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Aukeratu Hasiera Menuko karpeta"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Aukeratu Hasiera Menuko karpeta bat $(^NameDA)-ren lasterbideentzako."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Aukeratu Hasiera Menuko karpeta bat, non programaren lasterbideak instalatu nahi dituzun. Karpeta berri bat sortzeko izen bat ere adierazi dezakezu."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Ez sortu lasterbiderik"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Ezabatu $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "$(^NameDA) zure sistematik ezabatzen du."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Ziur zaude $(^Name)-ren instalaziotik irten nahi duzula?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Ziur zaude $(^Name)-ren ezabaketa laguntzailetik irten nahi duzula?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Ukrainian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Ukrainian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Ukrainian.nsh	(revision 2961)
@@ -0,0 +1,122 @@
+;Language: Ukrainian (1058)
+;By Yuri Holubow, http://www.Nash-Soft.com
+;Correct by Osidach Vitaly (Vit_Os2)
+
+!insertmacro LANGFILE "Ukrainian" "Ukrainian"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Ëàñêàâî ïðîñèìî äî Ìàéñòðà Âñòàíîâëåííÿ $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Äàíà ïðîãðàìà âñòàíîâèòü $(^NameDA) íà Âàø êîìï'þòåð.$\r$\n$\r$\nÐåêîìåíäîâàíî çàêðèòè âñ³ ïðîãðàìè ïåðåä ïî÷àòêîì ³íñòàëÿö³¿. Öå äîçâîëèòü ïðîãðàì³ âñòàíîâëåííÿ îíîâèòè ñèñòåìí³ ôàéëè áåç ïåðåçàâàíòàæåííÿ ñèñòåìè.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Ëàñêàâî ïðîñèìî äî Ìàéñòðà Âèäàëåííÿ $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Äàíèé ìàéñòåð äîìîæå âèäàëèòè $(^NameDA).$\r$\n$\r$\nÏåðåä ïî÷àòêîì âèäàëåííÿ, ïåðåâ³ðòå, ÷è íå çàïóùåíî $(^NameDA).$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Ë³öåíç³éíà Óãîäà"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Áóäü-ëàñêà ïåðåãëÿíüòå ë³öåíç³þ ïåðåä âñòàíîâëåííÿì $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "ßêùî Âè ïðèéìàºòå âñi óìîâè Óãîäè, íàòèñíiòü íà êíîïêó Çãîäåí. Âè ïîâèííi ïðèéíÿòè óìîâè Óãîäè äëÿ âñòàíîâëåííÿ $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "ßêùî Âè ïðèéìàºòå âñ³ óìîâè Óãîäè, âñòàíîâ³òü â³äì³òêó ó êâàäðàòèêó íèæ÷å. Âè ïîâèíí³ ïðèéíÿòè óìîâè Óãîäè äëÿ âñòàíîâëåííÿ $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "ßêùî Âè ïðèéìàºòå âñ³ óìîâè Óãîäè, âèáåð³òü ïåðøèé âàð³àíò ç òèõ ùî íèæ÷å. Âè ïîâèíí³ ïðèéíÿòè óìîâè Óãîäè äëÿ âñòàíîâëåííÿ $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Ë³öåíç³éíà óãîäà"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Ïðî÷èòàéòå óìîâè ë³öåíç³éíî¿ óãîäè ïåðåä âèäàëåííÿì $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "ßêùî Âè ïðèéìàºòå âñi óìîâè Óãîäè, íàòèñíiòü íà êíîïêó Çãîäåí. Âè ïîâèííi ïðèéíÿòè óìîâè Óãîäè äëÿ âèäàëåííÿ $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "ßêùî Âè ïðèéìàºòå âñ³ óìîâè Óãîäè, âñòàíîâ³òü â³äì³òêó ó êâàäðàòèêó íèæ÷å. Âè ïîâèíí³ ïðèéíÿòè óìîâè Óãîäè äëÿ âèäàëåííÿ $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "ßêùî Âè ïðèéìàºòå âñ³ óìîâè Óãîäè, âèáåð³òü ïåðøèé âàð³àíò ç òèõ, ùî íèæ÷å. Âè ïîâèíí³ ïðèéíÿòè óìîâè Óãîäè äëÿ âèäàëåííÿ $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Íàòèñíiòü PageDown ùîá ïåðåì³ñòèòèñü âíèç óãîäè."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Îáåð³òü êîìïîíåíòè"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Îáåð³òü êîìïîíåíòè $(^NameDA) ÿêi Âè áàæàºòå âñòàíîâèòè."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Êîìïîíåíòè ïðîãðàìè"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Îáåð³òü ÿê³ êîìïîíåíòè $(^NameDA) Âè áàæàºòå âèäàëèòè."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Îïèñ"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Ïiäâåäiòü âàøó ìèøêó äî êîìïîíåíòà, ùîá ïîáà÷èòè éîãî îïèñ."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Ïiäâåäiòü âàøó ìèøêó äî êîìïîíåíòà, ùîá ïîáà÷èòè éîãî îïèñ."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Îáåðiòü òåêó âñòàíîâëåííÿ"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Îáåðiòü òåêó äëÿ âñòàíîâëåííÿ $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Âèá³ð òåêè äëÿ âèäàëåííÿ"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Îáåð³òü òåêó, ç ÿêî¿ Âè áàæàºòå âèäàëèòè $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Êîï³þâàííÿ ôàéë³â"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Áóäü-ëàñêà çà÷åêàéòå, äîêè ïðîãðàìà âñòàíîâëåííÿ ñêîï³þº âñ³ íåîáõ³äí³ ôàéëè $(^NameDA)."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Âñòàíîâëåííÿ çàâåðøåíî"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Âñòàíîâëåííÿ óñïiøíî çàâåðøåíî."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Âñòàíîâëåííÿ ïåðåðâàíà"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Âñòàíîâëåííÿ íå áóëî óñïiøíî çàâåðøåíî."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Âèäàëåííÿ"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Áóäü-ëàñêà çà÷åêàéòå, éäå âèäàëåííÿ ôàéë³â $(^NameDA)."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Âèäàëåííÿ çàâåðøåíî"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Âèäàëåííÿ ïðîãðàìè áóëî óñï³øíî çàâåðøåíî."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Âèäàëåííÿ ïåðåðâàíî"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Âèäàëåííÿ íå áóëî âèêîíàíî ïîâí³ñòþ."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Çàâåðøåííÿ ìàéñòðà âñòàíîâëåííÿ $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) âñòàíîâëåíî íà âàø êîìï'þòåð.$\r$\n$\r$\nÍàòèñí³òü Ê³íåöü äëÿ âèõîäó."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Äëÿ òîãî, ùîá çàâåðøèòè âñòàíîâëåííÿ $(^NameDA) Âàø êîìï'þòåð ïîâèíåí ïåðåçàâàíòàæèòèñÿ. Çðîáèòè öå çàðàç?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Çàâåðøåííÿ Ìàéñòðà Âèäàëåííÿ $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) âèäàëåíèé ç âàøîãî êîìï'þòåðà.$\r$\n$\r$\nÍàòèñí³òü Âèõ³ä, ùîá çàêðèòè Ìàéñòðà."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Äëÿ òîãî, ùîá çàê³í÷èòè âèäàëåííÿ $(^NameDA) âàø êîìï'þòåð ïîâèíåí ïåðåçàâàíòàæèòèñÿ. Âè áàæàºòå çðîáèòè öå çàðàç?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Ïåðåçàâàíòàæèòèñÿ çàðàç"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "ß õî÷ó ïåðåçàâàíòàæèòèñÿ âëàñíîðó÷ ï³çí³øå"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Çàïóñòèòè $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Ïîêàçàòè ³íôîðìàö³þ ïðî ïðîãðàìó"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Ê³íåöü"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Òåêà â ìåíþ Ïóñê"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Îáåð³òü òåêó â ìåíþ Ïóñê äëÿ ÿðëèê³â ïðîãðàìè."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Îáåð³òü òåêó â ìåíþ Ïóñê â ÿêó áóäóòü ïîì³ùåí³ ÿðëèêè äëÿ âñòàíîâëåíî¿ ïðîãðàìè. Âè òàêîæ ìîæåòå ââåñòè ³íøå ³ì'ÿ äëÿ ñòâîðåííÿ íîâî¿ òåêè."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Íå ñòâîðþâàòè ÿðëèêè"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Âèäàëåííÿ $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Âèäàëåííÿ $(^NameDA) ç âàøîãî êîìï'þòåðà."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Âè âïåâíåííi, ùî áàæàºòå ïîêèíóòè âñòàíîâëåííÿ $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Âè âïåâíåíí³ ùî áàæàºòå ïîêèíóòè Ìàéñòð Âèäàëåííÿ $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Serbian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Serbian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Serbian.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Serbian (3098)
+;Translation by Ñð�àí Îáóžèíà <obucina@srpskijezik.edu.yu>
+
+!insertmacro LANGFILE "Serbian" "Serbian Cyrillic"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Äîáðîäîøëè ó âîäè÷ çà èíñòàëàöè¼ó ïðîãðàìà $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Áèžåòå âî�åíè êðîç ïðîöåñ èíñòàëàöè¼å ïðîãðàìà $(^NameDA).$\r$\n$\r$\nÏðåïîðó÷šèâî ¼å äà èñêšó÷èòå ñâå äðóãå ïðîãðàìå ïðå ïî÷åòêà èíñòàëàöè¼å. Îâî ìîæå îìîãóžèòè àæóðèðàœå ñèñòåìñêèõ ôà¼ëîâà áåç ïîòðåáå çà ïîíîâíèì ïîêðåòàœåì ðà÷óíàðà.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Äîáðîäîøëè ó äåèíñòàëàöè¼ó ïðîãðàìà $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Áèžåòå âî�åíè êðîç ïðîöåñ äåèíñòàëàöè¼å ïðîãðàìà $(^NameDA).$\r$\n$\r$\nÏðå ïî÷åòêà äåèíñòàëàöè¼å, óâåðèòå ñå äà ¼å ïðîãðàì $(^NameDA) èñêšó÷åí. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Äîãîâîð î ïðàâó êîðèøžåœà"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Ïàæšèâî ïðî÷èòà¼òå äîãîâîð î ïðàâó êîðèøžåœà ïðå èíñòàëàöè¼å ïðîãðàìà $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Àêî ïðèõâàòàòå ñâå óñëîâå äîãîâîðà, ïðèòèñíèòå äóãìå „Ïðèõâàòàì“ çà íàñòàâàê. Ìîðàòå ïðèõâàòèòè äîãîâîð äà áèñòå èíñòàëèðàëè ïðîãðàì $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Àêî ïðèõâàòàòå ñâå óñëîâå äîãîâîðà, îáåëåæèòå êâàäðàòèž èñïîä. Ìîðàòå ïðèõâàòèòè äîãîâîð äà áèñòå èíñòàëèðàëè ïðîãðàì $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Àêî ïðèõâàòàòå ñâå óñëîâå äîãîâîðà, èçàáåðèòå ïðâó îïöè¼ó èñïîä. Ìîðàòå ïðèõâàòèòè äîãîâîð äà áèñòå èíñòàëèðàëè ïðîãðàì $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Äîãîâîð î ïðàâó êîðèøžåœà"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Ïàæšèâî ïðî÷èòà¼òå äîãîâîð î ïðàâó êîðèøžåœà ïðå äåèíñòàëàöè¼å ïðîãðàìà $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Àêî ïðèõâàòàòå ñâå óñëîâå äîãîâîðà, ïðèòèñíèòå äóãìå „Ïðèõâàòàì“ çà íàñòàâàê. Ìîðàòå ïðèõâàòèòè äîãîâîð äà áèñòå äåèíñòàëèðàëè ïðîãðàì $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Àêî ïðèõâàòàòå ñâå óñëîâå äîãîâîðà, îáåëåæèòå êâàäðàòèž èñïîä. Ìîðàòå ïðèõâàòèòè äîãîâîð äà áèñòå äåèíñòàëèðàëè ïðîãðàì $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Àêî ïðèõâàòàòå ñâå óñëîâå äîãîâîðà, èçàáåðèòå ïðâó îïöè¼ó èñïîä. Ìîðàòå ïðèõâàòèòè äîãîâîð äà áèñòå äåèíñòàëèðàëè ïðîãðàì $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Ïðèòèñíèòå Page Down äà áèñòå âèäåëè îñòàòàê äîãîâîðà."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Èçáîð êîìïîíåíòè çà èíñòàëàöè¼ó"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Èçàáåðèòå êîìïîíåíòå çà èíñòàëàöè¼ó. Èíñòàëèðà¼ó ñå ñàìî îçíà÷åíå êîìïîíåíòå."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Èçáîð êîìïîíåíòè çà äåèíñòàëàöè¼ó"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Èçàáåðèòå êîìïîíåíòå çà äåèíñòàëàöè¼ó. Äåèíñòàëèðà¼ó ñå ñàìî îçíà÷åíå êîìïîíåíòå."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Îïèñ"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Ïðå�èòå êóðñîðîì ìèøà ïðåêî èìåíà êîìïîíåíòå äà áèñòå âèäåëè œåí îïèñ."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Ïðå�èòå êóðñîðîì ìèøà ïðåêî èìåíà êîìïîíåíòå äà áèñòå âèäåëè œåí îïèñ."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Èçáîð ôîëäåðà çà èíñòàëàöè¼ó"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Èçàáåðèòå ôîëäåð ó êî¼è žåòå èíñòàëèðàòè ïðîãðàì $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Èçáîð ôîëäåðà çà äåèíñòàëaöè¼ó"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Èçàáåðèòå ôîëäåð èç êîãà žåòå äåèíñòàëèðàòè ïðîãðàì $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Èíñòàëàöè¼à"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Ñà÷åêà¼òå äîê ñå ïðîãðàì $(^NameDA) èíñòàëèðà."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Çàâðøåíà èíñòàëàöè¼à"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Èíñòàëàöè¼à ¼å óñïåøíî çàâðøåíà."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Ïðåêèíóòà èíñòàëàöè¼à"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Èíñòàëàöè¼à ¼å ïðåêèíóòà è íè¼å óñïåøíî çàâðøåíà."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Äåèíñòàëàöè¼à"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Ñà÷åêà¼òå äîê ñå ïðîãðàì $(^NameDA) äåèíñòàëèðà."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Çàâðøåíà äåèíñòàëàöè¼à"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Äåèíñòàëàöè¼à ¼å óñïåøíî çàâðøåíà."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Ïðåêèíóòà äåèíñòàëàöè¼à"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Äåèíñòàëàöè¼à ¼å ïðåêèíóòà è íè¼å óñïåøíî çàâðøåíà."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Çàâðøåíà èíñòàëàöè¼à ïðîãðàìà $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "Ïðîãðàì $(^NameDA) ¼å èíñòàëèðàí íà ðà÷óíàð.$\r$\n$\r$\nÏðèòèñíèòå äóãìå „Êðà¼“ çà çàòâàðàœå îâîã ïðîçîðà."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Ðà÷óíàð ìîðà áèòè ïîíîâî ïîêðåíóò äà áè ñå ïðîöåñ èíñòàëàöè¼å ïðîãðàìà $(^NameDA) óñïåøíî çàâðøèî. Æåëèòå ëè òî îäìàõ äà óðàäèòå?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Çàâðøåíà äåèíñòàëàöè¼à ïðîãðàìà $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "Ïðîãðàì $(^NameDA) ¼å äåèíñòàëèðàí ñà ðà÷óíàðà.$\r$\n$\r$\nÏðèòèñíèòå äóãìå „Êðà¼“ çà çàòâàðàœå îâîã ïðîçîðà."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Ðà÷óíàð ìîðà áèòè ïîíîâî ïîêðåíóò äà áè ñå ïðîöåñ äåèíñòàëàöè¼å ïðîãðàìà $(^NameDA) óñïåøíî çàâðøèî. Æåëèòå ëè òî äà óðàäèòå îäìàõ?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Îäìàõ ïîíîâî ïîêðåíè ðà÷óíàð"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Áåç ïîíîâíîã ïîêðåòàœà"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "Ïîêðåíè ïðîãðàì $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Ïðèêàæè Ïðî÷èòà¼Ìå ôà¼ë"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "Êðà¼"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Èçáîð ôîëäåðà ó Ñòàðò ìåíè¼ó"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Èçàáåðèòå ôîëäåð ó Ñòàðò ìåíè¼ó ó êîìå žåòå êðåèðàòè ïðå÷èöå."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Èçàáåðèòå ôîëäåð ó Ñòàðò ìåíè¼ó ó êîìå æåëèòå äà áóäó êðåèðàíå ïðå÷èöå ïðîãðàìà. Ìîæåòå óïèñàòè è èìå çà êðåèðàœå íîâîã ôîëäåðà."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Áåç êðåèðàœà ïðå÷èöà"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Äåèíñòàëàöè¼à ïðîãðàìà $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Äåèíñòàëàöè¼à ïðîãðàìà $(^NameDA) ñà ðà÷óíàðà."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Ñèãóðíî æåëèòå äà ïðåêèíåòå èíñòàëàöè¼ó ïðîãðàìà $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Ñèãóðíî æåëèòå äà ïðåêèíåòå äåèíñòàëàöè¼ó ïðîãðàìà $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Mongolian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Mongolian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Mongolian.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Mongolian (1104)
+;By Bayarsaikhan Enkhtaivan
+
+!insertmacro LANGFILE "Mongolian" "Mongolian"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "$(^NameDA) Ñóóëãàöàä òàâòàé ìîðèë"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "$(^NameDA) ñóóëãàöûí èëáý÷èíã òà øóóä àøèãëàæ áîëíî.$\r$\n$\r$\n¯¿íèéã ñóóëãàõûí ºìíº áóñàä á¿õ ïðîãðàìóóäàà õààõûã çºâëºæ áàéíà. Ñèñòåìèéí ôàéëóóäûã øèíý÷èëáýë êîìïüþòåðýý äàõèí à÷ààëàõã¿é áàéõ áîëîìæòîé.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "$(^NameDA) Ñóóëãàöûã óñòãàõ èëáý÷èíä òàâòàé ìîðèë"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "$(^NameDA) óñòãàöûí èëáý÷èíã òà øóóä àøèãëàæ áîëíî.$\r$\n$\r$\nÓñòãàõûí ºìíº $(^NameDA) íü àæèëëààã¿é ýñýõèéã øàëãà.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Ëèöåíçèéí çºâøººðºë"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "$(^NameDA)-ûã ñóóëãàõûíõàà ºìíº çºâøèëöëèéí ç¿éë¿¿äèéã óíøèíà óó."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Õýðýâ çºâøèëöëèéí ç¿éëñèéã çºâøººð÷ áàéâàë, Çºâøººðëºº òîâ÷èéã äàðàí ¿ðãýëæë¿¿ëíý ¿¿. $(^NameDA)-ûã ñóóëãàõûí òóëä çààâàë çºâøººðºõ øààðäëàãàòàé."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Õýðýâ çºâøèëöëèéí ç¿éëñèéã çºâøººð÷ áàéâàë, Çºâëºõ õàéðöãèéã äàðàí ¿ðãýëæë¿¿ëíý ¿¿. $(^NameDA)-ûã ñóóëãàõûí òóëä çààâàë çºâøººðºõ øààðäëàãàòàé. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Õýðýâ çºâøèëöëèéí ç¿éëñèéã çºâøººð÷ áàéâàë, äîîðõîîñ ýõíèéã íü ñîíãîí ¿ðãýëæë¿¿ëíý ¿¿. $(^NameDA)-ûã ñóóëãàõûí òóëä çààâàë çºâøººðºõ øààðäëàãàòàé. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Ëèöåíçèéí çºâøººðºë"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "$(^NameDA) óñòãàõûí ºìíº çºâøèëöëèéí ç¿éëñèéã óíøèíà óó."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Õýðýâ çºâøèëöëèéí ç¿éëñèéã çºâøººð÷ áàéâàë, Çºâøººðëºº òîâ÷èéã äàðàí ¿ðãýëæë¿¿ëíý ¿¿. $(^NameDA)-ûã óñòãàõûí òóëä çààâàë çºâøººðºõ øààðäëàãàòàé."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Õýðýâ çºâøèëöëèéí ç¿éëñèéã çºâøººð÷ áàéâàë, Çºâëºõ õàéðöãèéã äàðàí ¿ðãýëæë¿¿ëíý ¿¿. $(^NameDA)-ûã óñòãàõûí òóëä çààâàë çºâøººðºõ øààðäëàãàòàé. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Õýðýâ çºâøèëöëèéí ç¿éëñèéã çºâøººð÷ áàéâàë, äîîðõîîñ ýõíèéã íü ñîíãîí ¿ðãýëæë¿¿ëíý ¿¿. $(^NameDA)-ûã óñòãàõûí òóëä çààâàë çºâøººðºõ øààðäëàãàòàé. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Page Down òîâ÷èéã äàðàí çºâøèëöëèéã äîîø ã¿éëãýíý ¿¿."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Íýãäëèéã ñîíãîõ"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "$(^NameDA)-ûã ñóóëãàõàä øààðäàãäàõ õýñãèéã ñîíãîíî óó."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Íýãäëèéã ñîíãîõ"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "$(^NameDA)-ûí óñòãàõ øààðäëàãàòàé íýãäëèéã ñîíãîõ."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Òàéëáàð"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Òà õóëãàíààðàà íýãäëèéí äýýð î÷èõîä ò¿¿íèé òàéëáàðûã õàðóóëíà."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Òà õóëãàíààðàà íýãäëèéí äýýð î÷èõîä ò¿¿íèé òàéëáàðûã õàðóóëíà."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Ñóóëãàõ áàéðëàëûã ñîíãîõ"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "$(^NameDA) ñóóëãàöûí ñóóëãàõ çàìûã ñîíãî."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Óñòãàöûí áàéðëàëûã ñîíãîõ"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "$(^NameDA)-ûã óñòãàõ õàâòñûã ñîíãîõ."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Ñóóëãàæ áàéíà"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "$(^NameDA)-ûã ñóóëãàæ äóóñòàë ò¿ð õ¿ëýýíý ¿¿."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Ñóóëãàæ äóóñëàà"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Ñóóëãàö àìæèëòòàé áîëîâ."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Ñóóëãàëò òàñëàãäëàà"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Ñóóëãàëò àìæèëòã¿é áîëîâ."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Óñòãàæ áàéíà"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "$(^NameDA) -ûã çàéëóóëæ äóóñòàë ò¿ð õ¿ëýýíý ¿¿."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Óñòãàæ äóóñëàà"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Óñòãàëò àìæèëòòàé äóóñëàà."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Óñòãàö òàñëàãäëàà"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Óñòãàëò àìæèëòã¿é áîëëîî."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "$(^NameDA) Ñóóëãàöûí èëáý÷èí äóóñëàà"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) íü òàíû êîìïüþòåðò ñóóëàà.$\r$\n$\r$\nÒºãñãºë äýýð äàðâàë õààíà."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "$(^NameDA)-ûí ñóóëãàöûí äàðààëàëä òà êîìïüþòåðýý äàõèí à÷ààëñíààð äóóñíà. Òà äàõèí à÷ààëàõûã õ¿ñýæ áàéíà óó?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "$(^NameDA) Óñòãàöûí èëáý÷èí äóóñëàà"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) íü òàíû êîìïüþòåðýýñ çàéëóóëàãäëàà.$\r$\n$\r$\nÒºãñãºë äýýð äàðâàë õààíà."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "$(^NameDA) Óñòãàöûí äàðààëàëä òà êîìïüþòåðýý äàõèí à÷ààëñíààð äóóñíà. Òà ä.à÷ààëìààð áàéíà óó?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Ä.À÷ààë"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Áè äàðàà ä.à÷ààëàõûã õ¿ñýæ áàéíà."
+  ${LangFileString} MUI_TEXT_FINISH_RUN "$(^NameDA) àæèëëóóëàõ"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Readme õàðóóëàõ"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Òºãñãºë"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Start öýñíèé õàâòñûã ñîíãî"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Start öýñ äýõ $(^NameDA) shortcut-ûí õàâòñûã ñîíãî."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Start öýñýíä ïðîãðàìûí shortcut ¿¿ñãýõ õàâòñûã ñîíãî. Ýñâýë òà øèíý íýðýýð ¿¿ñãýæ áîëíî."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Do not create shortcuts"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "$(^NameDA)--ûí Óñòãàö"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "$(^NameDA) -ûã òàíû êîìïüþòåðýýñ çàéëóóëàõ."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "$(^Name) -ûí ñóóëãàöààñ ãàðìààð áàéíà óó?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "$(^Name) Óñòãàöààñ ãàðìààð áàéíà óó?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Polish.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Polish.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Polish.nlf	(revision 2961)
@@ -0,0 +1,195 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+1045
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1250
+# RTL - anything else than RTL means LTR
+-
+# Translation by Piotr Murawski & Rafa³ Lampe
+# Updated by cube and SYSTEMsoft Group
+# Corrections by Marek Stepien <marcoos@aviary.pl> - http://www.aviary.pl/
+# Updated by Pawe³ Porwisz, http://www.pepesoft.tox.pl
+# Corrected by Mateusz Gola (aka Prozac) - http://www.videopedia.pl/avirecomp
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+Instalator programu $(^Name)
+# ^UninstallCaption
+Deinstalator programu $(^Name)
+# ^LicenseSubCaption
+: Umowa licencyjna
+# ^ComponentsSubCaption
+: Opcje instalacji
+# ^DirSubCaption
+: Folder instalacyjny
+# ^InstallingSubCaption
+: Instalowanie plików
+# ^CompletedSubCaption
+: Zakoñczono
+# ^UnComponentsSubCaption
+: Opcje deinstalacji
+# ^UnDirSubCaption
+: Folder deinstalacyjny
+# ^ConfirmSubCaption
+: Potwierdzenie
+# ^UnDirSubCaption
+: Deinstalowanie plików
+# ^UnCompletedSubCaption
+: Zakoñczono
+# ^BackBtn
+< &Wstecz
+# ^NextBtn
+&Dalej >
+# ^AgreeBtn
+&Zgadzam siê
+# ^AcceptBtn
+&Akceptujê warunki umowy licencyjnej
+# ^DontAcceptBtn
+&Nie akceptujê warunków umowy licencyjnej
+# ^InstallBtn
+&Zainstaluj
+# ^UninstallBtn
+&Odinstaluj
+# ^CancelBtn
+Anuluj
+# ^CloseBtn
+&Zamknij
+# ^BrowseBtn
+&Przegl¹daj...
+# ^ShowDetailsBtn
+Poka¿ &szczegó³y
+# ^ClickNext
+Kliknij Dalej, aby kontynuowaæ.
+# ^ClickInstall
+Kliknij Zainstaluj, aby rozpocz¹æ instalacjê.
+# ^ClickUninstall
+Kliknij Odinstaluj, aby rozpocz¹æ deinstalacjê.
+# ^Name
+Nazwa
+# ^Completed
+Zakoñczono
+# ^LicenseText
+Przed zainstalowaniem $(^NameDA) przeczytaj umowê licencyjn¹. Jeœli akceptujesz wszystkie warunki umowy, kliknij Zgadzam siê.
+# ^LicenseTextCB
+Przed zainstalowaniem $(^NameDA) przeczytaj umowê licencyjn¹. Jeœli akceptujesz wszystkie warunki umowy, kliknij pole wyboru poni¿ej. $_CLICK.
+# ^LicenseTextRB
+Przed zainstalowaniem $(^NameDA) przeczytaj umowê licencyjn¹. Jeœli akceptujesz wszystkie warunki umowy, wybierz pierwsz¹ opcjê poni¿ej. $_CLICK.
+# ^UnLicenseText
+Przed odinstalowaniem $(^NameDA) przeczytaj umowê licencyjn¹. Jeœli akceptujesz wszystkie warunki umowy, kliknij Zgadzam siê.
+# ^UnLicenseTextCB
+Przed odinstalowaniem $(^NameDA) przeczytaj umowê licencyjn¹. Jeœli akceptujesz wszystkie warunki umowy, kliknij pole wyboru poni¿ej. $_CLICK.
+# ^UnLicenseTextRB
+Przed odinstalowaniem $(^NameDA) przeczytaj licencjê. Jeœli akceptujesz wszystkie warunki umowy, wybierz pierwsz¹ opcjê poni¿ej. $_CLICK.
+# ^Custom
+U¿ytkownika
+# ^ComponentsText
+Zaznacz komponenty, które chcesz zainstalowaæ i odznacz te, których nie chcesz instalowaæ. $_CLICK
+# ^ComponentsSubText1
+Wybierz typ instalacji:
+# ^ComponentsSubText2_NoInstTypes
+Wybierz komponenty do zainstalowania:
+# ^ComponentsSubText2
+Albo wybierz opcjonalne komponenty, które chcesz zainstalowaæ:
+# ^UnComponentsText
+Zaznacz komponenty, które chcesz odinstalowaæ i odznacz te, które nie zostan¹ odinstalowane. $_CLICK
+# ^UnComponentsSubText1
+Wybierz typ deinstalacji:
+# ^UnComponentsSubText2_NoInstTypes
+Wybierz komponenty do odinstalowania:
+# ^UnComponentsSubText2
+Albo wybierz opcjonalne komponenty, które chcesz odinstalowaæ:
+# ^DirText
+Instalator zainstaluje program $(^NameDA) w nastêpuj¹cym folderze. Aby zainstalowaæ w innym folderze, kliknij Przegl¹daj i wybierz folder. $_CLICK
+# ^DirSubText
+Folder docelowy
+# ^DirBrowseText
+Wybierz folder instalacyjny $(^NameDA):
+# ^UnDirText
+Deinstalator usunie $(^NameDA) z nastêpuj¹cego folderu. Aby odinstalowaæ z innego folderu, kliknij Przegl¹daj i wybierz folder. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Wybierz folder, z którego zostanie odinstalowany program $(^NameDA):
+# ^SpaceAvailable
+"Dostêpne miejsce: "
+# ^SpaceRequired
+"Wymagane miejsce: "
+# ^UninstallingText
+Ten kreator odinstaluje $(^NameDA) z Twojego komputera. $_CLICK
+# ^UninstallingSubText
+Deinstalacja z: 
+# ^FileError
+B³¹d otwarcia pliku do zapisu: \r\n\r\n$0\r\n\r\nWybierz Anuluj, aby przerwaæ instalacjê,\r\nPonów, aby ponowiæ zapis do pliku lub\r\nIgnoruj, aby pomin¹æ ten plik.
+# ^FileError_NoIgnore
+B³¹d otwarcia pliku do zapisu: \r\n\r\n$0\r\n\r\nWybierz Ponów, aby ponowiæ zapis do pliku lub\r\nAnuluj, aby przerwaæ instalacjê.
+# ^CantWrite
+"Nie mo¿na zapisaæ: "
+# ^CopyFailed
+B³¹d kopiowania
+# ^CopyTo
+"Kopiuj do "
+# ^Registering 
+"Rejestrowanie: "
+# ^Unregistering
+"Odrejestrowywanie: "
+# ^SymbolNotFound
+"Nie mo¿na odnaleŸæ symbolu: "
+# ^CouldNotLoad
+"Nie mo¿na wczytaæ: "
+#^CreateFolder
+"Utwórz folder: "
+# ^CreateShortcut
+"Utwórz skrót: "
+# ^CreatedUninstaller
+"Utworzono deinstalator: "
+# ^Delete
+"Usuñ plik: "
+# ^DeleteOnReboot
+"Usuñ przy ponownym uruchomieniu: "
+# ^ErrorCreatingShortcut
+"B³¹d tworzenia skrótu: "
+# ^ErrorCreating
+"B³¹d tworzenia: "
+# ^ErrorDecompressing
+B³¹d rozpakowywania danych! Uszkodzony instalator?
+# ^ErrorRegistering
+B³¹d rejestracji pliku DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Uruchom: "
+# ^Extract
+"Rozpakuj: "
+# ^ErrorWriting
+"Rozpakuj: b³¹d zapisu do pliku "
+# ^InvalidOpcode
+Instalator uszkodzony: nieprawid³owy kod operacji
+# ^NoOLE
+"Brak OLE dla: "
+# ^OutputFolder
+"Folder wyjœciowy: "
+# ^RemoveFolder
+"Usuñ folder: "
+# ^RenameOnReboot
+"Zmieñ nazwê przy ponownym uruchomieniu: "
+# ^Rename
+"Zmieñ nazwê: "
+# ^Skipped
+"Pominiête: "
+# ^CopyDetails
+Kopiuj szczegó³y do schowka
+# ^LogInstall
+Rejestruj przebieg instalacji
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Macedonian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Macedonian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Macedonian.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+1071
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1251
+# RTL - anything else than RTL means LTR
+-
+# Translation by Sasko Zdravkin [wingman2083@yahoo.com]
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+Èíñòàëèðàœå íà $(^Name)
+# ^UninstallCaption
+Äåèíñòàëèðàœå íà $(^Name)
+# ^LicenseSubCaption
+: Ëèöåíöåí Äîãîâîð
+# ^ComponentsSubCaption
+: Èíñòàëàöèîíè Îïöèè
+# ^DirSubCaption
+: Èíñòàëàöèîíåí Äèðåêòîðèóì
+# ^InstallingSubCaption
+: Èíñòàëèðà
+# ^CompletedSubCaption
+: Çàâðøåíî
+# ^UnComponentsSubCaption
+: Äåèíñòàëàöèîíè Îïöèè
+# ^UnDirSubCaption
+: Äåèíñòàëàöèîíåí Äèðåêòîðèóì
+# ^ConfirmSubCaption
+: Ïîòâðäà
+# ^UninstallingSubCaption
+: Äåèíñòàëèðà
+# ^UnCompletedSubCaption
+: Çàâðøåíî
+# ^BackBtn
+< &Íàçàä
+# ^NextBtn
+Í&àïðåä >
+# ^AgreeBtn
+&Äà
+# ^AcceptBtn
+&Ãè ïðèôà�àì óñëîâèòå îä Ëèöåíöíèîò Äîãîâîð
+# ^DontAcceptBtn
+Í&å ãè ïðèôà�àì óñëîâèòå îä Ëèöåíöíèîò Äîãîâîð
+# ^InstallBtn
+&Èíñòàëèðà¼
+# ^UninstallBtn
+&Äåèíñòàëèðà¼
+# ^CancelBtn
+Îòêàæè
+# ^CloseBtn
+&Çàòâîðè
+# ^BrowseBtn
+&Ïðåáàðóâà¼...
+# ^ShowDetailsBtn
+Ï&îêàæè Äåòàëè
+# ^ClickNext
+Ïðèòèñíåòå 'Íàïðåä' çà äà ïðîäîëæèòå.
+# ^ClickInstall
+Ïðèòèñíåòå 'Èíñòàëèðà¼' çà äà ñå èíñòàëèðà.
+# ^ClickUninstall
+Ïðèòèñíåòå 'Äåèíñòàëèðà¼' çà äà ñå äåèíñòàëèðà.
+# ^Name
+Èìå
+# ^Completed
+Çàâðøåíî
+# ^LicenseText
+Âå ìîëèìå ïðî÷èòà¼òå ãî Ëèöåíöíèîò Äîãîâîð ïðåä äà ñå èíñòàëèðà $(^NameDA). Àêî ãè ïðèôà�àòå ñèòå óñëîâè, ïðèòèñíåòå 'Äà'.
+# ^LicenseTextCB
+Âå ìîëèìå ïðî÷èòà¼òå ãî Ëèöåíöíèîò Äîãîâîð ïðåä äà ñå èíñòàëèðà $(^NameDA). Àêî ãè ïðèôà�àòå ñèòå óñëîâè, ïðèòèñíåòå ãî Check box-îò ïîäîëå. $_CLICK
+# ^LicenseTextRB
+Âå ìîëèìå ïðî÷èòà¼òå ãî Ëèöåíöíèîò Äîãîâîð ïðåä äà ñå èíñòàëèðà $(^NameDA). Àêî ãè ïðèôà�àòå ñèòå óñëîâè, îäáåðåòå ¼à ïðâàòà îïöè¼à ïîäîëå. $_CLICK
+# ^UnLicenseText
+Âå ìîëèìå ïðî÷èòà¼òå ãî Ëèöåíöíèîò Äîãîâîð ïðåä äà ñå äåèíñòàëèðà $(^NameDA). Àêî ãè ïðèôà�àòå ñèòå óñëîâè, ïðèòèñíåòå 'Äà'.
+# ^UnLicenseTextCB
+Âå ìîëèìå ïðî÷èòà¼òå ãî Ëèöåíöíèîò Äîãîâîð ïðåä äà ñå äåèíñòàëèðà $(^NameDA). Àêî ãè ïðèôà�àòå ñèòå óñëîâè, ïðèòèñíåòå ãî Check box-îò ïîäîëå. $_CLICK
+# ^UnLicenseTextRB
+Âå ìîëèìå ïðî÷èòà¼òå ãî Ëèöåíöíèîò Äîãîâîð ïðåä äà ñå äåèíñòàëèðà $(^NameDA). Àêî ãè ïðèôà�àòå ñèòå óñëîâè, îäáåðåòå ¼à ïðâàòà îïöè¼à ïîäîëå. $_CLICK
+# ^Custom
+Ïîäåñåíî
+# ^ComponentsText
+×åêèðà¼òå ãè êîìïîíåíòèòå øòî ñàêàòå äà ñå èíñòàëèðààò èëè äå÷åêèðà¼òå ãè òèå øòî íå ñàêàòå äà ñå èíñòàëèðààò. $_CLICK 
+# ^ComponentsSubText1
+Îäáåðåòå âèä íà èíñòàëàöè¼à:
+# ^ComponentsSubText2_NoInstTypes
+Îäáåðåòå ãè êîìïîíåíòèòå øòî �å ñå èíñòàëèðààò:
+# ^ComponentsSubText2
+èëè, îäáåðåòå äðóãè êîìïîíåíòè øòî ñàêàòå äà ñå èíñòàëèðààò:
+# ^UnComponentsText
+×åêèðà¼òå ãè êîìïîíåíòèòå øòî ñàêàòå äà ñå äåèíñòàëèðààò èëè äå÷åêèðà¼òå ãè òèå øòî íå ñàêàòå äà ñå äåèíñòàëèðààò. $_CLICK
+# ^UnComponentsSubText1
+Îäáåðåòå ãî âèäîò íà äåèíñòàëàöè¼àòà:
+# ^UnComponentsSubText2_NoInstTypes
+Îäáåðåòå ãè êîìïîíåíòèòå øòî �å ñå äåèíñòàëèðààò:
+# ^UnComponentsSubText2
+èëè, îäáåðåòå äðóãè êîìïîíåíòè øòî ñàêàòå äà ñå äåèíñòàëèðààò:
+# ^DirText
+Èíñòàëàöèîíèîò ïðîãðàì �å ãî èíñòàëèðà $(^NameDA) âî ñëåäíèîâ äèðåêòîðèóì. Çà äà èíñòàëèðàòå âî äðóã, ïðèòèñíåòå 'Ïðåáàðóâà¼' è îäáåðåòå äðóã äèðåêòîðèóì. $_CLICK
+# ^DirSubText
+Äèðåêòîðèóì êàäå øòî �å ñå èíñòàëèðà
+# ^DirBrowseText
+Îäáåðåòå äèðåêòîðèóì çà èíñòàëèðàœå íà $(^NameDA):
+# ^UnDirText
+Èíñòàëàöèîíèîò ïðîãðàì �å ãî äåèíñòàëèðà $(^NameDA) îä ñëåäíèîâ äèðåêòîðèóì. Çà äà äåèíñòàëèðàòå îä äðóã, ïðèòèñíåòå 'Ïðåáàðóâà¼' è îäáåðåòå äðóã äèðåêòîðèóì. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Îäáåðåòå ãî äèðåêòîðèóìîò çà äåèíñòàëèðàœå íà $(^NameDA):
+# ^SpaceAvailable
+"Ñëîáîäåí ïðîñòîð: "
+# ^SpaceRequired
+"Ïîòðåáåí ïðîñòîð: "
+# ^UninstallingText
+$(^NameDA) �å áèäå äåèíñòàëèðàí îä ñëåäíèîâ äèðåêòîðèóì. $_CLICK
+# ^UninstallingSubText
+Äåèíñòàëèðà îä:
+# ^FileError
+Ãðåøêà ïðè îòâàðàœåòî íà äàòîòåêàòà çà çàïèøóâàœå: \r\n\t"$0"\r\nÏðèòèñíåòå 'Îòêàæè' çà äà ¼à îòêàæåòå èíñòàëàöè¼àòà,\r\n'Ïðîáà¼' çà äà ïðîáà äà ¼à çàïèøå äàòîòåêàòà, èëè\r\n'Èãíîðèðà¼' çà äà ¼à ïðåðèïà äàòîòåêàòà
+# ^FileError_NoIgnore
+Ãðåøêà ïðè îòâàðàœåòî íà äàòîòåêàòà çà çàïèøóâàœå: \r\n\t"$0"\r\nÏðèòèñíåòå 'Ïðîáà¼' çà äà ïðîáà äà ¼à çàïèøå äàòîòåêàòà, èëè\r\n'Îòêàæè' çà äà ¼à îòêàæå èíñòàëàöè¼àòà
+# ^CantWrite
+"Íå ìîæå äà çàïèøå: "
+# ^CopyFailed
+Êîïèðàœåòî íå óñïåà
+# ^CopyTo
+"Êîïèðà¼ äî "
+# ^Registering
+"Ðåãèñòðèðà: "
+# ^Unregistering
+"Äåðåãèñòðèðà: "
+# ^SymbolNotFound
+"Íå ìîæå äà ãî íà¼äå ñèìáîëîò: "
+# ^CouldNotLoad
+"Íå ìîæå äà ëîàäèðà: "
+# ^CreateFolder
+"Ñîçäàäè äèðåêòîðèóì: "
+# ^CreateShortcut
+"Ñîçäàäè êðàòåíèöà: "
+# ^CreatedUninstaller
+"Ñîçäàäåí äåèíñòàëàòîð: "
+# ^Delete
+"Èçáðèøàíà äàòîòåêà: "
+# ^DeleteOnReboot
+"Èçáðèøè ïîñëå ðåñòàðòèðàœå: "
+# ^ErrorCreatingShortcut
+"Ãðåøêà ïðè ñîçäàâàœåòî íà ñêðàòåíèöàòà: "
+# ^ErrorCreating
+"Ãðåøêà ïðè ñîçäàâàœåòî: "
+# ^ErrorDecompressing
+Ãðåøêà ïðè îòïàêóâàœåòî íà ïîäàòîöèòå! Ðàñèïàí èíñòàëàöèîíåí ïðîãðàì?
+# ^ErrorRegistering
+Ãðåøêà ïðè ðåãèñòðèðàœåòî íà DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Ïîêðåíè: "
+# ^Extract
+"Îòïàêóâàíî: "
+# ^ErrorWriting
+"Îòïàêóâà¼: ãðåøêà ïðè ñíèìàœåòî âî äàòîòåêàòà "
+# ^InvalidOpcode
+Ðàñèïàí èíñòàëàöèîíåí ïðîãðàì: ïîãðåøåí êîä
+# ^NoOLE
+"Íåìà OLE çà: "
+# ^OutputFolder
+"Èíñòàëàöèîíåí äèðåêòîðèóì: "
+# ^RemoveFolder
+"Èçáðèøàí äèðåêòîðèóì: "
+# ^RenameOnReboot
+"Ïðåèìåíóâà¼ ïîñëå ðåñòàðòèðàœå: "
+# ^Rename
+"Ïðåèìåíóâà¼: "
+# ^Skipped
+"Ïðåðèïàíî: "
+# ^CopyDetails
+Êîïèðà¼ ãè Äåòàëèòå âî Clipboard-îò
+# ^LogInstall
+Ñíèìè ëîã çà èíñòàëàöèîíèòå ïðîöåñè
+# ^Byte
+á
+# ^Kilo
+Ê
+# ^Mega
+Ì
+# ^Giga
+Ã
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Slovak.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Slovak.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Slovak.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1051
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1250
+# RTL - anything else than RTL means LTR
+-
+#Translated by: Kypec (peter.dzugas@mahe.sk); edited by: Marián Hikaník (podnety@mojepreklady.net), Ivan Masár <helix84@centrum.sk>, 2008.
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+Inštalácia programu $(^Name)
+# ^UninstallCaption
+Odinštalovanie programu $(^Name)
+# ^LicenseSubCaption
+: Licenèná zmluva
+# ^ComponentsSubCaption
+: Možnosti inštalácie
+# ^DirSubCaption
+: Inštalaèný prieèinok
+# ^InstallingSubCaption
+: Prebieha inštalácia
+# ^CompletedSubCaption
+: Hotovo
+# ^UnComponentsSubCaption
+: Možnosti odinštalovania
+# ^UnDirSubCaption
+: Prieèinok s informáciami pre odinštalovanie
+# ^ConfirmSubCaption
+: Potvrdenie
+# ^UninstallingSubCaption
+: Prebieha odinštalácia
+# ^UnCompletedSubCaption
+: Hotovo
+# ^BackBtn
+< &Spä�
+# ^NextBtn
+Ï&alej >
+# ^AgreeBtn
+&Súhlasím
+# ^AcceptBtn
+&Súhlasím s podmienkami licenènej zmluvy
+# ^DontAcceptBtn
+N&esúhlasím s podmienkami licenènej zmluvy
+# ^InstallBtn
+&Nainštalova�
+# ^UninstallBtn
+&Odinštalova�
+# ^CancelBtn
+Zruši�
+# ^CloseBtn
+&Zatvori�
+# ^BrowseBtn
+&Preh¾adáva�...
+# ^ShowDetailsBtn
+&Podrobnosti
+# ^ClickNext
+V inštalácii pokraèujte kliknutím na tlaèidlo Ïalej.
+# ^ClickInstall
+Pre spustenie inštalácie kliknite na tlaèidlo Nainštalova�.
+# ^ClickUninstall
+Pre spustenie procesu odinštalovania kliknite na tlaèidlo Odinštalova�.
+# ^Name
+Názov
+# ^Completed
+Hotovo
+# ^LicenseText
+Pred inštaláciou programu si prosím dôkladne preèítajte licenènú zmluvu $(^NameDA). Ak súhlasíte so všetkými jej podmienkami, kliknite na tlaèidlo Súhlasím.
+# ^LicenseTextCB
+Pred inštaláciou programu si prosím dôkladne preèítajte licenènú zmluvu $(^NameDA). Ak súhlasíte so všetkými jej podmienkami, zaškrtnite nasledujúce políèko. $_CLICK
+# ^LicenseTextRB
+Pred inštaláciou programu si prosím dôkladne preèítajte licenènú zmluvu $(^NameDA). Ak súhlasíte so všetkými jej podmienkami, oznaète prvú z nasledujúcich možností. $_CLICK
+# ^UnLicenseText
+Pred odinštalovaním programu si prosím dôkladne preèítajte licenènú zmluvu $(^NameDA). Ak súhlasíte so všetkými jej podmienkami, kliknite na tlaèidlo Súhlasím.
+# ^UnLicenseTextCB
+Pred odinštalovaním programu si prosím dôkladne preèítajte licenènú zmluvu $(^NameDA). Ak súhlasíte so všetkými jej podmienkami, zaškrtnite nasledujúce políèko. $_CLICK
+# ^UnLicenseTextRB
+Pred odinštalovaním programu si prosím dôkladne preèítajte licenènú zmluvu $(^NameDA). Ak súhlasíte so všetkými jej podmienkami, oznaète prvú z nasledujúcich možností. $_CLICK
+# ^Custom
+Volite¾ná
+# ^ComponentsText
+Oznaète súèasti programu, ktoré chcete nainštalova� a odznaète tie, ktoré nainštalova� nechcete. $_CLICK
+# ^ComponentsSubText1
+Vyberte si typ inštalácie:
+# ^ComponentsSubText2_NoInstTypes
+Vyberte si tie súèasti programu, ktoré chcete nainštalova�:
+# ^ComponentsSubText2
+Alebo oznaète volite¾né doplnky, ktoré chcete nainštalova�:
+# ^UnComponentsText
+Oznaète súèasti programu, ktoré chcete odinštalova� a odznaète tie, ktoré chcete ponecha� nainštalované. $_CLICK
+# ^UnComponentsSubText1
+Zvo¾te typ deinštalácie:
+# ^UnComponentsSubText2_NoInstTypes
+Vyberte súèasti, ktoré chcete odinštalova�:
+# ^UnComponentsSubText2
+Alebo oznaète volite¾né súèasti, ktoré chcete odinštalova�:
+# ^DirText
+$(^NameDA) bude nainštalovaný do nasledujúceho prieèinka. Inštalova� do iného prieèinka môžete po kliknutí na tlaèidlo Preh¾adáva� a vybraní iného prieèinka. $_CLICK
+# ^DirSubText
+Cie¾ový prieèinok
+# ^DirBrowseText
+Zvo¾te prieèinok, do ktorého sa nainštaluje program $(^NameDA):
+# ^UnDirText
+Inštalátor odinštaluje program $(^NameDA) z nasledovného prieèinka. Ak ho chcete odinštalova� z iného prieèinka, kliknite na tlaèidlo Preh¾adáva� a vyberte iný prieèinok. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Zvo¾te prieèinok, z ktorého sa odinštaluje program $(^NameDA):
+# ^SpaceAvailable
+"Vo¾né miesto na disku: "
+# ^SpaceRequired
+"Potrebné miesto na disku: "
+# ^UninstallingText
+Program $(^NameDA) sa odinštaluje z nasledovného prieèinka. $_CLICK
+# ^UninstallingSubText
+Prebieha odinštalovanie z:
+# ^FileError
+Chyba pri otváraní súboru na zápis: \r\n\r\n$0\r\n\r\n. Ak chcete inštaláciu ukonèi�, kliknite na tlaèidlo Ukonèi�,\r\ ak chcete zápis súboru zopakova�, kliknite na tlaèidlo Opakova� alebo kliknite na tlaèidlo \r\nIgnorova�, ak chcete inštaláciu tohto súboru vynecha�.
+# ^FileError_NoIgnore
+Chyba pri otváraní súboru na zápis: \r\n\r\n$0\r\n\r\n. Ak chcete zopakova� zápis súboru, kliknite na tlaèidlo Opakova�, alebo kliknite na tlaèidlo \r\nZruši�, v prípade, že chcete inštaláciu ukonèi�.
+# ^CantWrite
+"Nemožno zapísa� súbor: "
+# ^CopyFailed
+Kopírovanie zlyhalo.
+# ^CopyTo
+"Kopírova� do "
+# ^Registering
+"Registruje sa: "
+# ^Unregistering
+"Vymazáva sa z registra: "
+# ^SymbolNotFound
+"Nemožno nájs� symbol: "
+# ^CouldNotLoad
+"Nemožno naèíta�: "
+# ^CreateFolder
+"Vytvorený prieèinok: "
+# ^CreateShortcut
+"Vytvorený odkaz: "
+# ^CreatedUninstaller
+"Program pre odinštalovanie: "
+# ^Delete
+"Vymazaný súbor: "
+# ^DeleteOnReboot
+"Vymaza� po reštartovaní systému: "
+# ^ErrorCreatingShortcut
+"Chyba pri vytváraní odkazu: "
+# ^ErrorCreating
+"Chyba pri vytváraní: "
+# ^ErrorDecompressing
+Chyba pri dekomprimovaní dát! Inštalátor je pravdepodobne poškodený...
+# ^ErrorRegistering
+Chyba pri registrácii súèasti
+# ^ExecShell
+"Vykona� príkaz: "
+# ^Exec
+"Spusti�: "
+# ^Extract
+"Extrahuje sa: "
+# ^ErrorWriting
+"Chyba pri zápise do súboru "
+# ^InvalidOpcode
+Inštalátor je pravdepodobne poškodený, pretože obsahuje neplatný operaèný kód.
+# ^NoOLE
+"Žiadny zápis OLE pre: "
+# ^OutputFolder
+"Výstupný prieèinok: "
+# ^RemoveFolder
+"Odstráni� prieèinok: "
+# ^RenameOnReboot
+"Premenova� po reštartovaní systému: "
+# ^Rename
+"Premenova�: "
+# ^Skipped
+"Vynechané: "
+# ^CopyDetails
+Skopírova� podrobnosti do schránky
+# ^LogInstall
+Zaznamena� priebeh inštalácie
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Indonesian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Indonesian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Indonesian.nsh	(revision 2961)
@@ -0,0 +1,129 @@
+;Language: Indonesian (1057)
+;By Ariel825010106@yahoo.com modified by was.uthm@gmail.com in April 2009
+
+!insertmacro LANGFILE "Indonesian" "Indonesian"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Selamat datang di program instalasi $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Program ini akan membantu anda dalam proses instalasi $(^NameDA).$\r$\n$\r$\nAnda sangat disarankan untuk menutup program lainnya sebelum memulai proses instalasi. Hal ini diperlukan agar berkas yang terkait dapat diperbarui tanpa harus booting ulang komputer anda.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Selamat datang di program penghapusan $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Program ini akan membantu anda pada proses penghapusan $(^NameDA).$\r$\n$\r$\nSebelum memulai proses penghapusan, pastikan dulu $(^NameDA) tidak sedang digunakan.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Perihal Lisensi"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Silahkan membaca perihal lisensi sebelum memulai proses instalasi $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Jika anda setuju dan menerima semua pernyataan, tekan tombol Saya Setuju untuk melanjutkan. Anda harus setuju untuk memulai instalasi $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Jika anda setuju dan menerima semua pernyatan, beri tanda centang. Anda harus setuju untuk memulai instalasi $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Jika anda setuju dan menerima semua pernyataan, pilihlah salah satu item dibawah ini. Anda harus setuju untuk memulai instalasi $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Perihal Lisensi"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Silahkan membaca lisensi berikut sebelum melakukan penghapusan $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Jika anda setuju dan menerima semua pernyataan, tekan tombol Saya Setuju untuk melanjutkan. Anda harus setuju untuk memulai proses penghapusan $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Jika anda setuju dan menerima semua pernyataan, beri tanda centang. Anda harus setuju untuk memulai proses penghapusan $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Jika anda setuju dan menerima semua pernyataan, pilihlah salah satu item dibawah ini. Anda harus setuju untuk memulai proses penghapusan $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Tekan tombol Page Down untuk melihat pernyataan berikutnya."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Pilih Komponen"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Pilih komponen fitur tambahan dari $(^NameDA) yang ingin di instal."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Pilih Komponen"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Pilih komponen fitur tambahan dari $(^NameDA) yang ingin dihapus."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Deskripsi"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Tunjuk ke salah satu komponen untuk melihat deskripsi tentang komponen itu."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Tunjuk ke salah satu komponen untuk melihat deskripsi tentang komponen itu."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Pilih Lokasi Instalasi"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Pilih lokasi untuk instalasi program $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Pilih Lokasi berkas yang akan dihapus"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Pilih lokasi instalasi program $(^NameDA) yang akan dihapus."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Proses instalasi "
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Mohon tunggu sejenak, instalasi program $(^NameDA) sedang berlangsung."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Instalasi Selesai"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Seluruh proses instalasi sudah paripurna."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Instalasi Dibatalkan"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Proses instalasi tidak selesai dengan sempurna."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Proses penghapusan"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Mohon tunggu sejenak, penghapusan program $(^NameDA) sedang berlangsung."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Proses Penghapusan Selesai"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Seluruh proses penghapusan sudah paripurna."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Penghapusan Dibatalkan"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Proses penghapusa tidak selesai dengan sempurna."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Menutup Instalasi Program $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) sudah di instal di komputer anda.$\r$\n$\r$\nTekan tombol Selesai untuk menutup program."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Komputer anda memerlukan booting ulang untuk menyempurnakan proses instalasi $(^NameDA). Apakah anda akan melakukan booting ulang sekarang juga?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Menutup program penghapusan $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) sudah dihapus dari komputer anda.$\r$\n$\r$\nTekan tombol Selesai untuk menutup."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Komputer anda memerlukan booting untuk menyempurnakan proses penghapusan $(^NameDA). Apakah anda akan melakukan booting ulang sekarang juga?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Booting ulang sekarang"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Booting ulang nanti"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Jalankan $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Buka berkas Readme"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Selesai"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Pilih lokasi dari Menu Start"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Pilih lokasi dari Menu Start untuk meletakkan shortcut $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Pilih lokasi dari Menu Start untuk meletakkan shortcut program ini. Anda bisa juga membuat lokasi baru dengan cara menulis nama lokasi yang dikehendaki."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Tidak perlu membuat shortcut"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Penghapusan $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Menghapus $(^NameDA) dari komputer anda."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Apakah anda yakin ingin menghentikan proses instalasi $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Apakah anda yakin ingin menghentikan proses penghapusan $(^Name)?"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Pilihan Pemakai"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Pilihlah pemakai komputer yang akan menggunakan program $(^NameDA)."
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Apakah anda akan melakukan instalasi $(^NameDA) untuk anda sendiri atau untuk semua pemakai komputer ini. $(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Instalasi untuk semua pemakai komputer ini"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Instalasi hanya untuk saya sendiri"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Turkish.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Turkish.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Turkish.nsh	(revision 2961)
@@ -0,0 +1,122 @@
+;Language: Turkish (1055)
+;By Çagatay Dilsiz(Chagy)
+;Updated by Fatih BOY (fatih_boy@yahoo.com)
+
+!insertmacro LANGFILE "Turkish" "Türkçe"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "$(^NameDA) Kurulum sihirbazýna hoþ geldiniz"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Bu sihirbaz size $(^NameDA) kurulumu boyunca rehberlik edecektir.$\r$\n$\r$\nKurulumu baþlatmadan önce çalýþan diðer programlari kapatmanýzý öneririz. Böylece bilgisayarýnýzý yeniden baþlatmadan bazý sistem dosyalarý sorunsuz kurulabilir.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "$(^NameDA) Programýný Kaldýrma Sihirbazýna Hoþ Geldiniz"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Bu sihirbaz size $(^NameDA) programýnýn kadýrýlýmý boyunca rehberlik edecektir.$\r$\n$\r$\nKaldýrým iþlemeni baþlatmadan önce çalýþan diðer programlari kapatmanýzý öneririz. Böylece bilgisayarýnýzý yeniden baþlatmadan bazý sistem dosyalarý sorunsuz kaldýrýlabilir.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Lisans Sözleþmesi"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Lütfen $(^NameDA) programýný kurmadan önce sözleþmeyi okuyunuz."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Sözleþme koþullarýný kabul ediyorsanýz, 'Kabul Ediyorum'a basýnýz. $(^NameDA) programýný kurmak için sözleþme koþullarýný kabul etmelisiniz."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Sözleþme koþullarýný kabul ediyorsanýz, aþaðýdaki onay kutusunu doldurunuz. $(^NameDA) programýný kurmak için sözleþme koþullarýný kabul etmelisiniz. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Sözleþme koþullarýný kabul ediyorsanýz, asagidaki onay düðmesini seçiniz. $(^NameDA) programýný kurmak için sözleþme koþullarýný kabul etmelisiniz. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Lisans Sözleþmesi"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Lütfen $(^NameDA) programýný sisteminizden kaldýrmadan önce sözleþmeyi okuyunuz."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Sözleþme koþullarýný kabul ediyorsanýz, 'Kabul Ediyorum'a basýnýz. $(^NameDA) programýný sisteminizden kaldýrmak için sözleþme koþullarýný kabul etmelisiniz."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Sözleþme koþullarýný kabul ediyorsanýz, aþaðýdaki onay kutusunu doldurunuz. $(^NameDA) programýný sisteminizden kaldýrmak için sözleþme koþullarýný kabul etmelisiniz. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Sözleþme koþullarýný kabul ediyorsanýz, asagidaki onay düðmesini seçiniz. $(^NameDA) programýný sisteminizden kaldýrmak için sözleþme koþullarýný kabul etmelisiniz. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Sözleþmenin geri kalanýný okumak için 'page down' tuþuna basabilirsiniz."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Bileþen seçimi"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Lütfen $(^NameDA) için kurmak istediginiz bileþenleri seçiniz."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Bileþen Þeçimi"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Lütfen kaldýrmak istediðiniz $(^NameDA) program bileþenini seçiniz."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Açýklama"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Bileþenlerin açýklamalarýný görmek için imleci bileþen üzerine götürün."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Bileþenlerin açýklamalarýný görmek için imleci bileþen üzerine götürün."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Hedef dizini seçimi"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "$(^NameDA) programýný kurmak istediðiniz dizini þeçiniz."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Kaldýrýlýcak Dizin Seçimi"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "$(^NameDA) programýný kaldýrmak istediginiz dizini seçiniz."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Kuruluyor"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Lütfen $(^NameDA) kurulurken bekleyiniz."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Kurulum Tamamlandý"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Kurulum baþarýyla tamamlandý."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Kurulum Ýptal Edildi"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Kurulum tam olarak tamamlanmadý."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Kaldýrýlýyor"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Litfen $(^NameDA) programý sisteminizden kaldýrýlýrken bekleyiniz."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Kaldýrma Ýþlemi Tamamlandýr"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Kaldýrma iþlemi baþarýyla tamamlandý."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Kaldýrma Ýþlemi Ýptal Edildi"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Kaldýrma Ýþlemi tamamlanamadý."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "$(^NameDA) Kurulum sihirbazý tamamlanýyor."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA)  bilgisayariniza yüklendi.$\r$\n$\r$\nLütfen 'Bitir'e basarak kurulumu sonlandýrýn."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "$(^NameDA) kurulumunun tamamlanmasý için bilgisayarýnýzý yeniden baþlatmanýz gerekiyor.Bilgisayarýnýzý yeniden baþlatmak istiyor musunuz?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "$(^NameDA) Programý Kaldýrma Sihirbazý Tamamlanýyor"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) programý sisteminizden kaldýrýldý.$\r$\n$\r$\nSihirbazý kapatmak için 'bitir'e basýnýz."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "$(^NameDA) programýný kaldýrma iþleminin tamamlanmasý için bilgisayarýnýzýn yeniden baþlatýlmasý gerekiyor. Bilgisayarýnýzýn þimdi yeniden baþlatýlmasýný ister misiniz?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Yeniden baþlat"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Bilgisayarýmý daha sonra baþlatacaðým."
+  ${LangFileString} MUI_TEXT_FINISH_RUN "$(^NameDA) programýný çalýþtýr"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "beni oku/readme dosyasýný &göster"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Bitir"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Baþlat Menüsü Klasör Seçimi"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "$(^NameDA) kýsayollarýnýn konulacagý baþlat menüsü klasörünü seçiniz."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Programýn kýsayollarýnýn konulacaðý baþlat menüsü klasörünü seçiniz. Farklý bir isim girerek yeni bir klasör yaratabilirsiniz."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Kýsayollarý oluþturmadan devam et"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "$(^NameDA) Programýný Kaldýr"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "$(^NameDA) programýný sisteminizden kaldýrma."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "$(^Name) kurulumundan çýkmak istediðinize emin misiniz?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "$(^Name) Programi Kaldýrma iþleminden çýkmak istediðinize emin misiniz?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Portuguese.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Portuguese.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Portuguese.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+2070
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation v4.0.3 by DragonSoull <dragonsoull@madalien.tk> with help from Dre` - Updated by Ramon
+# ^Branding
+Sistema de Instalação Nullsoft %s
+# ^SetupCaption
+Instalação de $(^Name)
+# ^UninstallCaption
+Desinstalação de $(^Name)
+# ^LicenseSubCaption
+: Contrato de Licença
+# ^ComponentsSubCaption
+: Opções de instalação
+# ^DirSubCaption
+: Diretório de instalação
+# ^InstallingSubCaption
+: Instalando Ficheiros
+# ^CompletedSubCaption
+: Concluído
+# ^UnComponentsSubCaption
+: Opções de Desinstalação
+# ^UnDirSubCaption
+: Pasta de Desinstalação
+# ^ConfirmSubCaption
+: Confirmação
+# ^UninstallingSubCaption
+: Desinstalando
+# ^UnCompletedSubCaption
+: Concluído
+# ^BackBtn
+< &Anterior
+# ^NextBtn
+&Seguinte >
+# ^AgreeBtn
+&Aceito
+# ^AcceptBtn
+Eu &aceito os termos do Contrato de Licença
+# ^DontAcceptBtn
+Eu &não aceito os termos do Contrato de Licença
+# ^InstallBtn
+&Instalar
+# ^UninstallBtn
+&Desinstalar
+# ^CancelBtn
+Cancelar
+# ^CloseBtn
+&Fechar
+# ^BrowseBtn
+&Procurar...
+# ^ShowDetailsBtn
+Ver &Detalhes
+# ^ClickNext
+Clique em 'Seguinte' para continuar.
+# ^ClickInstall
+Clique em 'Instalar' para iniciar a instalação.
+# ^ClickUninstall
+Clique em 'Desinstalar' para iniciar a desinstalação.
+# ^Name
+Nome
+# ^Completed
+Concluído
+# ^LicenseText
+Por favor reveja o acordo de licensa antes de instalar $(^NameDA). Se concorda com todos os termos da licensa, clique em 'Aceito'.
+# ^LicenseTextCB
+Por favor reveja o acordo de licensa antes de instalar $(^NameDA). Se concorda com todos os termos da licensa, clique na caixa de seleção abaixo. $_CLICK
+# ^LicenseTextRB
+Por favor reveja o acordo de licensa antes de instalar $(^NameDA). Se concorda com todos os termos da licensa, escolha a primeira opção abaixo. $_CLICK
+# ^UnLicenseText
+Por favor reveja o acordo de licensa antes de desinstalar $(^NameDA). Se concorda com todos os termos da licensa, clique em 'Aceito'.
+# ^UnLicenseTextCB
+Por favor reveja o acordo de licensa antes de desinstalar $(^NameDA). Se concorda com todos os termos da licensa, clique na caixa de seleção abaixo. $_CLICK
+# ^UnLicenseTextRB
+Por favor reveja o acordo de licensa antes de desinstalar $(^NameDA). Se concorda com todos os termos da licensa, escolha a primeira opção abaixo. $_CLICK
+# ^Custom
+Personalizado
+# ^ComponentsText
+Marque os componentes que deseja instalar e desmarque os componentes que não deseja instalar. $_CLICK
+# ^ComponentsSubText1
+Escolha o tipo de instalação:
+# ^ComponentsSubText2_NoInstTypes
+Escolha os componentes para instalar:
+# ^ComponentsSubText2
+Ou, escolha os componentes opcionais que deseja instalar:
+# ^UnComponentsText
+Marque os componentes que queira desinstalar e vice versa. $_CLICK
+# ^UnComponentsSubText1
+Escolha o tipo de desinstalação: 
+# ^UnComponentsSubText2_NoInstTypes
+Escolha os componentes para desinstalar:
+# ^UnComponentsSubText2
+Ou, escolha os componentes opcionais que queira desinstalar:
+# ^DirText
+O $(^NameDA) será instalado na seguinte pasta. Para instalar numa pasta diferente, clique em 'Procurar...' e escolha outra pasta. $_CLICK
+# ^DirSubText
+Pasta de Destino
+# ^DirBrowseText
+Escolha uma pasta para instalar o $(^NameDA):
+# ^UnDirText
+O $(^NameDA) será desinstalado da seguinte pasta. Para desinstalar de uma pasta diferente, clique em 'Procurar...' e escolha outra pasta. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Escolha uma pasta de onde será desinstalado o $(^NameDA):
+# ^SpaceAvailable
+"Espaço disponível: "
+# ^SpaceRequired
+"Espaço necessário: "
+# ^UninstallingText
+$(^NameDA) será desinstalado da seguinte pasta. $_CLICK
+# ^UninstallingSubText
+Desinstalando de:
+# ^FileError
+Erro ao abrir ficheiro para escrita: \r\n\t"$0"\r\nClique em Abortar para abortar a instalação,\r\nRepetir para tentar novamente a escrita do ficheiro, ou\r\nIgnorar para ignorar este ficheiro.
+# ^FileError_NoIgnore
+Erro ao abrir ficheiro para escrita: \r\n\t"$0"\r\nClique em Repetir para tentar novamente a gravação do ficheiro, ou\r\nCancelar para abortar a instalação.
+# ^CantWrite
+"Não foi possível escrever: "
+# ^CopyFailed
+Falha ao copiar
+# ^CopyTo
+"Copiar para "
+# ^Registering
+"Registando: "
+# ^Unregistering
+"Desregistando: "
+# ^SymbolNotFound
+"Símbolo não encontrado: "
+# ^CouldNotLoad
+"Não foi possível carregar: "
+# ^CreateFolder
+"Criando diretório: "
+# ^CreateShortcut
+"Criando atalho: "
+# ^CreatedUninstaller
+"Criando desinstalador: "
+# ^Delete
+"Apagando ficheiro: "
+# ^DeleteOnReboot
+"Apagar ao reiniciar: "
+# ^ErrorCreatingShortcut
+"Erro ao criar atalho: "
+# ^ErrorCreating
+"Erro ao criar: "
+# ^ErrorDecompressing
+Erro ao descomprimir dados! Instalador corrompido?
+# ^ErrorRegistering
+Erro ao registar DLL
+# ^ExecShell
+"Executando pelo Shell: "
+# ^Exec
+"Executando: "
+# ^Extract
+"Extraindo: "
+# ^ErrorWriting
+"Extraindo: erro ao escrever ficheiro "
+# ^InvalidOpcode
+Instalador corrompido: código de operação inválido
+# ^NoOLE
+"Sem OLE para: "
+# ^OutputFolder
+"Pasta de destino: "
+# ^RemoveFolder
+"Removendo pasta: "
+# ^RenameOnReboot
+"Renomear ao reiniciar: "
+# ^Rename
+"Renomeando: "
+# ^Skipped
+"Ignorado: "
+# ^CopyDetails
+Copiar detalhes para a Área de Transfêrencia
+# ^LogInstall
+Registar processo de instalação
+# ^Byte
+B
+# kilo
+K
+# mega
+M
+# giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Bosnian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Bosnian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Bosnian.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Bosnian (5146)
+;By Salih Èavkiæ, cavkic@skynet.be
+
+!insertmacro LANGFILE "Bosnian" "Bosanski"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Dobrodošli u program za instalaciju $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Ovaj program æe instalirati $(^NameDA) na Vaš sistem. $\r$\n$\r$\nPreporuèujemo da neizostavno zatvorite sve druge otvorene programe prije nego što definitivno zapoènete sa instaliranjem. To æe omoguæiti bolju nadogradnju odreðenih sistemskih datoteka bez potrebe da Vaš raèunar ponovo startujete. Instaliranje programa možete prekinuti pritiskom na dugme 'Odustani'.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Dobrodošli u postupak uklanjanja programa $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Ovaj æe Vas vodiè provesti kroz postupak uklanjanja programa $(^NameDA).$\r$\n$\r$\nPrije samog poèetka, molim zatvorite program $(^NameDA) ukoliko je sluèajno otvoren.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Licencni ugovor"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Molim proèitajte licencni ugovor $(^NameDA) prije instalacije programa."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Ako prihvatate uslove licence, odaberite 'Prihvatam' za nastavak. Morate prihvatiti licencu za instalaciju programa $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Ako prihvatate uslove licence, oznaèite donji kvadratiæ. Morate prihvatiti licencu za instalaciju programa $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Ako prihvatate uslove licence, odaberite prvu donju opciju. Morate prihvatiti licencu za instalaciju programa $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Licencni ugovor o pravu korištenja"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Molim proèitajte licencu prije uklanjanja programa $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Ako prihvatate uslove licence, odaberite 'Prihvatam' za nastavak. Morate prihvatiti licencu za uklanjanje programa $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Ako prihvatate uslove licence, oznaèite donji kvadratiæ. Morate prihvatiti licencu za uklanjanje programa $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Ako prihvatate uslove licence, odaberite prvu donju opciju. Morate prihvatiti licencu za uklanjanje programa $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Pritisnite 'Page Down' na tastaturi za ostatak licence."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Izbor komponenti za instalaciju"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Izaberite komponente programa $(^NameDA) koje želite instalirati."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Izbor komponenti za uklanjanje"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Izaberite komponente programa $(^NameDA) koje želite ukloniti."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Opis"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Postavite kursor od miša iznad komponente da biste vidjeli njezin opis."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Postavite kursor od miša iznad komponente da biste vidjeli njezin opis."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Odaberite odredište za instalaciju"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Odaberite mapu u koju želite instalirati program $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Izaberite polazište za uklanjanje"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Selektirajte mapu iz koje želite ukloniti program $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Instaliranje"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Molim prièekajte na završetak instalacije programa $(^NameDA)."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Kraj instalacije"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Instalacija je u potpunosti uspješno završila."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Instalacija je prekinuta"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Instalacija nije završila uspješno."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Uklanjanje"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Molim Vas prièekajte da vodiè završi uklanjanje $(^NameDA) programa."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Uklanjanje je završeno"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Uklanjanje je u potpunosti završilo uspješno."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Uklanjanje je prekinuto"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Uklanjanje nije završilo uspješno."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Dovršavanje instalacije programa $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "Program $(^NameDA) je instaliran na Vaše raèunar.$\r$\n$\r$\nPritisnite dugme 'Kraj' za završetak."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Raèunar treba ponovno startovati za dovršavanje instalacije programa $(^NameDA). Želite li to uèiniti sada?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Završetak uklanjanja programa $(^NameDA) sa Vašeg sistema."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "Program $(^NameDA) je uklonjen sa Vašeg raèunara.$\r$\n$\r$\nPritisnite dugme 'Kraj' za zatvaranje ovog prozora."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Vaš raèunar trebate ponovno startovati da dovršite uklanjanje programa $(^NameDA). Želite li da odmah sad ponovo startujete raèunar?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Startuj raèunar odmah sad"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Ponovno æu pokrenuti raèunar kasnije"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Pokreni program $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Prikaži datoteku &Readme"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Kraj"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Izbor mape u Start meniju"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Izaberite ime za programsku mapu unutar Start menija."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Izaberite jednu mapu u Start meniju u kojoj želite da se kreiraju preèice programa. Možete takoðer unijeti ime za novu mapu ili selektirati veæ postojeæu."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Nemojte praviti preèice"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Uklanjanje programa $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Program $(^NameDA) æe biti uklonjen sa Vašeg raèunara."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Jeste li sigurni da želite prekinuti instalaciju programa $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Jeste li sigurni da želite prekinuti uklanjanje $(^Name) programa?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Malay.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Malay.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Malay.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1086
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+-
+# RTL - anything else than RTL means LTR
+-
+# Translation muhammadazwa@yahoo.com
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+Setup $(^Name)
+# ^UninstallCaption
+Uninstall $(^Name)
+# ^LicenseSubCaption
+: Perlesenan
+# ^ComponentsSubCaption
+: Pilihan kemasukan
+# ^DirSubCaption
+: Folder kemasukan
+# ^InstallingSubCaption
+: Memasang
+# ^CompletedSubCaption
+: Selesai
+# ^UnComponentsSubCaption
+: Pilihan membuang
+# ^UnDirSubCaption
+: Folder Uninstal
+# ^ConfirmSubCaption
+: Kepastian
+# ^UninstallingSubCaption
+: Membuang
+# ^UnCompletedSubCaption
+: Tidak Selesai
+# ^BackBtn
+< &Ke Belakang
+# ^NextBtn
+&Ke Depan >
+# ^AgreeBtn
+Saya &setuju
+# ^AcceptBtn
+Saya s&etuju dengan Perlesenan
+# ^DontAcceptBtn
+Saya &tidak setuju dengan Perlesenan
+# ^InstallBtn
+&Masukkan
+# ^UninstallBtn
+&Buang
+# ^CancelBtn
+Batal
+# ^CloseBtn
+&Tutup
+# ^BrowseBtn
+S&elusur...
+# ^ShowDetailsBtn
+Buka &lagi
+# ^ClickNext
+Klik Ke Depan untuk teruskan.
+# ^ClickInstall
+Klik Masukkan untuk kemasukkan.
+# ^ClickUninstall
+Klik Uninstall untuk membuang.
+# ^Name
+Nama
+# ^Completed
+Selesai
+# ^LicenseText
+Sila baca lesen sebelum memasukkan $(^NameDA). Jika anda terima perlesenan, klik Saya setuju.
+# ^LicenseTextCB
+Sila baca lesen sebelum memasukkan $(^NameDA). Jika terima, beri tanda dicheckbox. $_CLICK
+# ^LicenseTextRB
+Sila baca lesen sebelum sebelum membuang $(^NameDA). Jika anda terima perlesenan, pilihlah salah satu item dibawah ini. $_CLICK
+# ^UnLicenseText
+Sila baca lesen sebelum sebelum membuang $(^NameDA). Jika anda terima perlesenan, klik Saya setuju.
+# ^UnLicenseTextCB
+Sila baca lesen sebelum memasukkan $(^NameDA). Jika terima, beri tanda dicheckbox. $_CLICK
+# ^UnLicenseTextRB
+Sila baca lesen sebelum sebelum membuang $(^NameDA).Jika anda terima perlesenan, pilihlah salah satu item dibawah ini. $_CLICK
+# ^Custom
+Custom
+# ^ComponentsText
+Beri tanda dicheckbox pada komponen yang ingin dimasukkan and hilangkan tanda pada komponen yang tidak perlu dimasukkan. $_CLICK
+# ^ComponentsSubText1
+Pilih kemasukan:
+# ^ComponentsSubText2_NoInstTypes
+Pilih komponen-komponen untuk dimasukkan:
+# ^ComponentsSubText2
+Atau, pilih komponen berikut untuk dimasukkan:
+# ^UnComponentsText
+Beri tanda dicheckbox pada komponen yang ingin dimasukkan and hilangkan tanda pada komponen yang tidak perlu dimasukkan. $_CLICK
+# ^UnComponentsSubText1
+Pilih tipe un-kemasukan:
+# ^UnComponentsSubText2_NoInstTypes
+Pilih komponen-komponen untuk di buang:
+# ^UnComponentsSubText2
+Atau, pilih komponen berikut untuk di buang:
+# ^DirText
+Setup akan memasukkan $(^NameDA) pada folder berikut. Untuk memilih folder lainnya, klik Selusur dan pilih folder pilihan anda. $_CLICK
+# ^DirSubText
+Folder tujuan
+# ^DirBrowseText
+Pilih folder untuk memasukkan $(^NameDA):
+# ^UnDirText
+Setup akan membuang $(^NameDA) dari folder berikut. Untuk memilih folder lainnya, klik Selusur dan pilih folder pilihan anda. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Pilih folder untuk dibuang $(^NameDA):
+# ^SpaceAvailable
+"Ruang cakera keras yang ada: "
+# ^SpaceRequired
+"Ruang cakera keras yang diperlukan: "
+# ^UninstallingText
+$(^NameDA) akan buang dari folder berikut. $_CLICK
+# ^UninstallingSubText
+Membuang:
+# ^FileError
+Tidak dapat menulis pada fail: \r\n\t"$0"\r\nKlik abort untuk membatalkan kemasukan,\r\nretry untuk cuba lagi, atau\r\nignore untuk abaikan fail ini.
+# ^FileError_NoIgnore
+Tidak dapat menulis pada fail: \r\n\t"$0"\r\nKlik retry untuk cuba lagi, atau\r\ncancel untuk batalkan kemasukan
+# ^CantWrite
+"Gagal menulis pada: "
+# ^CopyFailed
+Gagal menyalin
+# ^CopyTo
+"Menyalin ke "
+# ^Registering
+"Mendaftarkan modul: "
+# ^Unregistering
+"Melepaskan modul: "
+# ^SymbolNotFound
+"Symbol tidak jumpa : "
+# ^CouldNotLoad
+"Tidak dapat membuka: "
+# ^CreateFolder
+"Membuat folder: "
+# ^CreateShortcut
+"Membuat pintasan: "
+# ^CreatedUninstaller
+"Membuat program unistall: "
+# ^Delete
+"Memadam fail: "
+# ^DeleteOnReboot
+"Akan dipadam ketika reboot: "
+# ^ErrorCreatingShortcut
+"Tidak dapat membuat pintasan: "
+# ^ErrorCreating
+"Ralat penciptaan: "
+# ^ErrorDecompressing
+Ralat ketika membuka data! Program Installer rosak
+# ^ErrorRegistering
+Ralat mendaftarkan modul DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Menjalankan: "
+# ^Extract
+"Mengekstrak: "
+# ^ErrorWriting
+"Ekstrak: ralat ketika menulis ke fail "
+# ^InvalidOpcode
+Installer rosak: opcode tidak lengkap
+# ^NoOLE
+"OLE tidak ditemukan: "
+# ^OutputFolder
+"Folder tujuan: "
+# ^RemoveFolder
+"Menghapuskan folder: "
+# ^RenameOnReboot
+"Menamakan semula pada reboot: "
+# ^Rename
+"Menamakan semula: "
+# ^Skipped
+"Diabaikan: "
+# ^CopyDetails
+Salin terperinci ke clipboard
+# ^LogInstall
+Catat proses kemasukan
+# ^Byte
+Bait
+# ^Kilo
+Kilo
+# ^Mega
+Mega
+# ^Giga
+Giga
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Bulgarian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Bulgarian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Bulgarian.nlf	(revision 2961)
@@ -0,0 +1,194 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+1026
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1251
+# RTL - anything else than RTL means LTR
+-
+# Translation by Asparouh Kalyandjiev <acnapyx@computers.bg>
+# Updated v2 to v6 by Plamen Penkov <plamen71@hotmail.com>
+# Updated by Êèðèë Êèðèëîâ (DumpeR)<dumper@data.bg>
+# 
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+Èíñòàëèðàíå íà $(^Name) 
+# ^UninstallCaption
+Èçòðèâàíå íà $(^Name) 
+#^LicenseSubCaption
+: Ëèöåíçèîííî ñïîðàçóìåíèå
+#^ComponentsSubCaption
+: Îïöèè çà èíñòàëèðàíå
+# ^DirSubCaption
+: Èíñòàëèðàíå â ïàïêà
+#^InstallingSubCaption
+: Èíñòàëèðàíå
+#^CompletedSubCaption
+: Çàâúðøâàíå
+# ^UnComponentsSubCaption
+: Îïöèè çà èçòðèâàíå
+# ^UnDirSubCaption
+: Èçòðèâàíå îò ïàïêà
+# ^ConfirmSubCaption
+: Ïîòâúðæäåíèå
+#^UninstallingSubCaption
+: Èçòðèâàíå
+#^UnCompletedSubCaption
+: Çàâúðøâàíå
+# ^BackBtn
+< &Íàçàä
+#^NextBtn
+Í&àïðåä >
+# ^AgreeBtn
+&Ñúãëàñåí
+# ^AcceptBtn
+&Ñúãëàñåí ñúì ñ óñëîâèÿòà íà Ëèöåíçèîííîòî ñïîðàçóìåíèå.
+# ^DontAcceptBtn
+&Íå ñúì ñúãëàñåí ñ óñëîâèÿòà íà Ëèöåíçèîííîòî ñïîðàçóìåíèå.
+# ^InstallBtn
+&Èíñòàëèðàé
+#^UninstallBtn
+&Èçòðèé
+# ^CancelBtn
+&Îòêàç
+#^CloseBtn
+&Çàòâîðè
+#^BrowseBtn
+Ï&ðåãëåä...
+#^ShowDetailsBtn
+&Äåòàéëè
+# ^ClickNext
+Íàòèñíåòå "Íàïðåä", çà äà ïðîäúëæèòå.
+# ^ClickInstall
+Íàòèñíåòå "Èíñòàëèðàé", çà äà çàïî÷íå èíñòàëèðàíåòî.
+# ^ClickUninstall
+Íàòèñíåòå "Èçòðèé", çà äà çàïî÷íå èçòðèâàíåòî.
+# ^Name
+Èìå
+#^Completed
+Êðàé
+# ^LicenseText
+Ìîëÿ ïðî÷åòåòå Ëèöåíçèîííîòî ñïîðàçóìåíèå ïðåäè äà èíñòàëèðàòå $(^NameDA). Àêî ïðèåìàòå âñè÷êè óñëîâèÿ íà ñïîðàçóìåíèåòî, íàòèñíåòå "Ñúãëàñåí".
+# ^LicenseTextCB
+Ìîëÿ ïðî÷åòåòå Ëèöåíçèîííîòî ñïîðàçóìåíèå ïðåäè äà èíñòàëèðàòå $(^NameDA). Àêî ïðèåìàòå âñè÷êè óñëîâèÿ íà ñïîðàçóìåíèåòî, ñëîæåòå îòìåòêà â ïîëåòî ïî-äîëó. $_CLICK
+# ^LicenseTextRB
+Ìîëÿ ïðî÷åòåòå Ëèöåíçèîííîòî ñïîðàçóìåíèå ïðåäè äà èíñòàëèðàòå $(^NameDA). Àêî ïðèåìàòå âñè÷êè óñëîâèÿ íà ñïîðàçóìåíèåòî, èçáåðåòå ïúðâàòà îïöèÿ ïî-äîëó. $_CLICK
+# ^UnLicenseText
+Ìîëÿ ïðî÷åòåòå Ëèöåíçèîííîòî ñïîðàçóìåíèå ïðåäè äà èçòðèåòå $(^NameDA). Àêî ïðèåìàòå âñè÷êè óñëîâèÿ íà ñïîðàçóìåíèåòî, íàòèñíåòå "Ñúãëàñåí".
+# ^UnLicenseTextCB
+Ìîëÿ ïðî÷åòåòå Ëèöåíçèîííîòî ñïîðàçóìåíèå ïðåäè äà èçòðèåòå $(^NameDA). Àêî ïðèåìàòå âñè÷êè óñëîâèÿ íà ñïîðàçóìåíèåòî, ñëîæåòå îòìåòêà â ïîëåòî ïî-äîëó. $_CLICK
+# ^UnLicenseTextRB
+Ìîëÿ ïðî÷åòåòå Ëèöåíçèîííîòî ñïîðàçóìåíèå ïðåäè äà èçòðèåòå $(^NameDA). Àêî ïðèåìàòå âñè÷êè óñëîâèÿ íà ñïîðàçóìåíèåòî, èçáåðåòå ïúðâàòà îïöèÿ ïî-äîëó. $_CLICK
+# ^Custom
+Èíñòàëèðàíå ïî èçáîð
+#^ComponentsText
+Èçáåðåòå êîìïîíåíòèòå, êîèòî èñêàòå äà áúäàò èíñòàëèðàíè. $_CLICK
+#^ComponentsSubText1
+Èçáåðåòå òèï èíñòàëèðàíå:
+#^ComponentsSubText2_NoInstTypes
+Èçáåðåòå êîìïîíåíòè:
+#^ComponentsSubText2
+Èëè èçáåðåòå êîìïîíåíòèòå, êîèòî èñêàòå äà áúäàò èíñòàëèðàíè:
+# ^UnComponentsText
+Ñëîæåòå îòìåòêà ïðåä êîìïîíåíòèòå, êîèòî èñêàòå äà èçòðèåòå, à òåçè êîèòî íå èñêàòå äà èçòðèåòå îñòàâåòå áåç îòìåòêà. $_CLICK
+# ^UnComponentsSubText1
+Èçáåðåòå òèïà íà èçòðèâàíå:
+# ^UnComponentsSubText2_NoInstTypes
+Èçáåðåòå êîìïîíåíòèòå çà èçòðèâàíå:
+# ^UnComponentsSubText2
+Èëè, èçáåðåòå äîïúëíèòåëíè êîìïîíåíòè çà èçòðèâàíå:
+# ^DirText
+Ïðîãðàìàòà ùå èíñòàëèðà $(^NameDA) â ïîñî÷åíàòà ïàïêà. Çà äà èíñòàëèðàòå â äðóãà ïàïêà, íàòèñíåòå "Ïðåãëåä" è èçáåðåòå äðóãà ïàïêà. $_CLICK
+# ^DirSubText
+Öåëåâà ïàïêà
+# ^DirBrowseText
+Èçáåðåòå ïàïêà, â êîÿòî äà ñå èíñòàëèðà $(^NameDA):
+# ^UnDirText
+Ïðîãðàìàòà ùå èçòðèå $(^NameDA) îò ñëåäíàòà ïàïêà. Çà äà èçòðèåòå îò äðóãà ïàïêà, íàòèñíåòå "Ïðåãëåä" è èçáåðåòå äðóãà ïàïêà. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Èçáåðåòå ïàïêàòà îò êîÿòî äà ñå èçòðèå $(^NameDA):
+# ^SpaceAvailable
+"Ñâîáîäíî ïðîñòðàíñòâî: "
+#^SpaceRequired
+"Íåîáõîäèìî ïðîñòðàíñòâî: "
+# ^UninstallingText
+$(^NameDA) ùå áúäå èçòðèòà îò ñëåäíàòà ïàïêà. $_CLICK
+# ^UninstallingSubText
+Èçòðèâàíå îò:
+# ^FileError
+Ãðåøêà ïðè îòâàðÿíå íà ôàéëà çà çàïèñ: \r\n\t"$0"\r\nÍàòèñíåòå "Ïðåêðàòè", çà äà ïðåêðàòèòå èíñòàëèðàíåòî, "Ïîâòîðè", çà äà îïèòàòå îòíîâî èëè "Èãíîðèðàé", çà äà ïðîïóñíåòå òîçè ôàéë
+# ^FileError_NoIgnore
+Ãðåøêà ïðè îòâàðÿíå íà ôàéëà çà çàïèñ: \r\n\t"$0"\r\nÍàòèñíåòå "Ïîâòîðè", çà äà îïèòàòå îòíîâî èëè "Ïðåêðàòè", çà äà ïðåêðàòèòå èíñòàëèðàíåòî.
+# ^CantWrite
+"Íåóñïåøíî çàïèñâàíå íà: "
+#^CopyFailed
+Êîïèðàíåòî íåóñïåøíî
+# ^CopyTo
+"Êîïèðàíå íà "
+# ^Registering
+"Ðåãèñòðèðàíå íà: "
+# ^Unregistering
+"Äåðåãèñòðèðàíå íà: "
+#^SymbolNotFound
+"Ñèìâîëúò íå å íàìåðåí: "
+# ^CouldNotLoad
+"Íåóñïåøíî çàðåæäàíå íà: "
+# ^CreateFolder
+"Ñúçäàâàíå íà ïàïêà: "
+# ^CreateShortcut
+"Ñúçäàâàíå íà ïðÿê ïúò: "
+#^CreatedUninstaller
+"Ñúçäàâàíå íà ïðîãðàìà çà èçòðèâàíå: "
+# ^Delete
+"Èçòðèâàíå íà: "
+#^DeleteOnReboot
+"Èçòðèâàíå ñëåä ðåñòàðò: "
+#^ErrorCreatingShortcut
+"Ãðåøêà ïðè ñúçäàâàíå íà ïðåêèÿ ïúò: "
+#^ErrorCreating
+"Ãðåøêà ïðè ñúçäàâàíå íà: "
+# ^ErrorDecompressing
+Ãðåøêà ïðè äåêîìïðåñèðàíå íà äàííèòå! Âåðîÿòíî èíñòàëàöèîííèÿ ïàêåò å ïîâðåäåí.
+# ^ErrorRegistering
+Ãðåøêà ïðè ðåãèñòðèðàíå íà DLL
+#^ExecShell
+"ExecShell: "
+#^Exec
+"Èçïúëíåíèå íà: "
+#^Extract
+"Èçâëè÷àíå íà: "
+#^ErrorWriting
+"Èçâëè÷àíå íà: ãðåøêà ïðè çàïèñ âúâ ôàéë "
+#^InvalidOpcode
+Ïàêåòà å ïîâðåäåí: ãðåøåí êîä íà îïåðàöèÿ
+# ^NoOLE
+"Íÿìà OLE çà: "
+#^OutputFolder
+"Èíñòàëèðàíå â ïàïêà: "
+#^RemoveFolder
+"Èçòðèâàíå íà ïàïêà: "
+#^RenameOnReboot
+"Ïðåèìåíóâàíå ïðè ðåñòàðò: "
+# ^Rename
+"Ïðåèìåíóâàíå íà: "
+#^Skipped
+"Ïðîïóñêàíå íà: "
+# ^CopyDetails
+Êîïèðàíå íà äàííèòå â áóôåðà
+# ^LogInstall
+Çàïèñâàíå íà îò÷åò çà èíñòàëèðàíåòî
+# ^Byte
+Á
+# ^Kilo
+ Ê
+# ^Mega
+ Ì
+# ^Giga
+ Ã 
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Albanian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Albanian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Albanian.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+1052
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1250
+# RTL - anything else than RTL means LTR
+-
+# Përkthimi nga Besnik Bleta, besnik@programeshqip.org
+# ^Branding
+Sistemi Nullsoft për Instalime %s
+# ^SetupCaption
+Rregullimi i $(^Name)
+# ^UninstallCaption
+Çinstalimi i $(^Name)
+# ^LicenseSubCaption
+: Marrëveshje Licence
+# ^ComponentsSubCaption
+: Mundësi Instalimi
+# ^DirSubCaption
+: Dosje Instalimi
+# ^InstallingSubCaption
+: Po instalohet
+# ^CompletedSubCaption
+: U plotësua
+# ^UnComponentsSubCaption
+: Mundësi Çinstalimi
+# ^UnDirSubCaption
+: Dosje Çinstalimi
+# ^ConfirmSubCaption
+: Ripohim
+# ^UninstallingSubCaption
+: Po çinstalohet
+# ^UnCompletedSubCaption
+: U plotësua
+# ^BackBtn
+< &Mbrapsht
+# ^NextBtn
+&Tjetri >
+# ^AgreeBtn
+&Pajtohem
+# ^AcceptBtn
+&I pranoj kushtet e Marrëveshjes së Licensës
+# ^DontAcceptBtn
+&Nuk i pranoj kushtet e Marrëveshjes së Licensës
+# ^InstallBtn
+&Instaloje
+# ^UninstallBtn
+&Çinstaloje
+# ^CancelBtn
+Anuloje
+# ^CloseBtn
+&Mbylle
+# ^BrowseBtn
+Sh&fletoni...
+# ^ShowDetailsBtn
+Shfaq &hollësi
+# ^ClickNext
+Klikoni Tjetri për të vazhduar.
+# ^ClickInstall
+Për të filluar instalimin klikoni Instaloje.
+# ^ClickUninstall
+Për të filluar çinstalimin klikoni Çinstaloje.
+# ^Name
+Emër
+# ^Completed
+U plotësua
+# ^LicenseText
+Ju lutem, para instalimit të $(^NameDA), shqyrtoni marrëveshjen e licencës. Nëse i pranoni tërë kushtet e marrëveshjes, klikoni Pajtohem.
+# ^LicenseTextCB
+Ju lutem, para instalimit të $(^NameDA), shqyrtoni marrëveshjen e licensës. Nëse i pranoni tërë kushtet e marrëveshjes, klikoni kutizën më poshtë. $_CLICK
+# ^LicenseTextRB
+Ju lutem, para instalimit të $(^NameDA), shqyrtoni marrëveshjen e licensës. Nëse i pranoni tërë kushtet e marrëveshjes, përzgjidhni mundësinë e parë më poshtë. $_CLICK
+# ^UnLicenseText
+Ju lutem, para çinstalimit të $(^NameDA), shqyrtoni marrëveshjen e licensës. Nëse i pranoni tërë kushtet e marrëveshjes, klikoni Pajtohem.
+# ^UnLicenseTextCB
+Ju lutem, para çinstalimit të $(^NameDA), shqyrtoni marrëveshjen e licensës. Nëse i pranoni tërë kushtet e marrëveshjes, klikoni kutizën më poshtë. $_CLICK
+# ^UnLicenseTextRB
+Ju lutem, para çinstalimit të $(^NameDA), shqyrtoni marrëveshjen e licensës. Nëse i pranoni tërë kushtet e marrëveshjes, përzgjidhni mundësinë e parë më poshtë. $_CLICK
+# ^Custom
+Vetjake
+# ^ComponentsText
+U vini shenjë përbërësve që doni të instalohen dhe hiquani shenjën  përbërësvet që nuk doni të instalohen. $_CLICK
+# ^ComponentsSubText1
+Përzgjidhni llojin e instalimit:
+# ^ComponentsSubText2_NoInstTypes
+Përzgjidhni përbërësit për instalim:
+# ^ComponentsSubText2
+Ose, përzgjidhni përbërësit e mundshëm që doni të instalohen:
+# ^UnComponentsText
+U vini shenjë përbërësve që doni të çinstalohen dhe hiquni shenjën përbërësve që nuk doni të çinstalohen. $_CLICK
+# ^UnComponentsSubText1
+Përzgjidhni llojin e çinstalimit:
+# ^UnComponentsSubText2_NoInstTypes
+Përzgjidhni përbërësit për çinstalim:
+# ^UnComponentsSubText2
+Ose, përzgjidhni përbërësit e mundshëm që doni të çinstalohen:
+# ^DirText
+Rregullimi do ta instalojë $(^NameDA) në dosjen vijuese. Për instalim në një dosje tjetër, klikoni Shfletoni dhe përzgjidhni një tjetër dosje. $_CLICK
+# ^DirSubText
+Dosje Vendmbërritje
+# ^DirBrowseText
+Përzgjidhni dosjen ku të instalohet $(^NameDA):
+# ^UnDirText
+Rregullimi do të çinstalojë $(^NameDA) prej dosjes vijuese. Për çinstalim prej një dosjeje tjetër, klikoni Shfletoni dhe përzgjidhni një tjetër dosje. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Përzgjidhni dosjen prej nga ku të çinstalohet $(^NameDA):
+# ^SpaceAvailable
+"Hapësirë e mundshme: "
+# ^SpaceRequired
+"Hapësirë e nevojshme: "
+# ^UninstallingText
+$(^NameDA) do të çinstalohet prej dosjes vijuese. $_CLICK
+# ^UninstallingSubText
+Po çinstalohet prej:
+# ^FileError
+Gabim në hapje kartele për shkrim: \r\n\r\n$0\r\n\r\nKlikoni Ndërprite për të ndalur instalimin,\r\nRiprovo për të provuar sërish, ose\r\nShpërfille për të sanashkaluar këtë kartelë.
+# ^FileError_NoIgnore
+Gabim në hapje kartele për shkrim: \r\n\r\n$0\r\n\r\nKlikoni Riprovo për të provuar sërish, ose\r\nAnulo për të ndalur instalimin.
+# ^CantWrite
+"S'shkruaj dot: "
+# ^CopyFailed
+Kopjimi dështoi
+# ^CopyTo
+"Kopjo tek "
+# ^Registering
+"Regjistrim: "
+# ^Unregistering
+"Çregjistrim: "
+# ^SymbolNotFound
+"S'u gjet dot simbol: "
+# ^CouldNotLoad
+"S'u ngarkua dot: "
+# ^CreateFolder
+"Krijo dosje: "
+# ^CreateShortcut
+"Krijo shkurtore: "
+# ^CreatedUninstaller
+"Krijo çinstalues: "
+# ^Delete
+"Fshi kartelë: "
+# ^DeleteOnReboot
+"Fshi gjatë rinisjes: "
+# ^ErrorCreatingShortcut
+"Gabim në krijim shkurtoresh: "
+# ^ErrorCreating
+"Gabim në krijimin e: "
+# ^ErrorDecompressing
+Gabim në çngjeshje të dhënash! Instalues i dëmtuar?
+# ^ErrorRegistering
+Gabim në regjistrim DLL-je
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Ekzekuto: "
+# ^Extract
+"Përfto: "
+# ^ErrorWriting
+"Përftim: gabim në shkrim te kartela "
+# ^InvalidOpcode
+Instalues i dëmtuar: opcode i pavlefshëm
+# ^NoOLE
+"Pa OLE për: "
+# ^OutputFolder
+"Dosje përfundimesh: "
+# ^RemoveFolder
+"Hiq dosjen: "
+# ^RenameOnReboot
+"Riemërtoje gjatë rinisjes: "
+# ^Rename
+"Riemërtoje: "
+# ^Skipped
+"U anashkalua: "
+# ^CopyDetails
+Kopjo Hollësira Te Clipboard
+# ^LogInstall
+Regjistro procesin e instalimit
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Greek.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Greek.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Greek.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Greek (1032)
+;By Makidis N. Michael - http://dias.aueb.gr/~p3010094/
+
+!insertmacro LANGFILE "Greek" "Greek"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Êáëþò Þëèáôå óôçí ÅãêáôÜóôáóç ôïõ '$(^NameDA)'"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Ï ïäçãüò áõôüò èá óáò êáèïäçãÞóåé êáôÜ ôç äéÜñêåéá ôçò åãêáôÜóôáóçò ôïõ '$(^NameDA)'.$\r$\n$\r$\nÓõíéóôÜôáé íá êëåßóåôå üëåò ôéò Üëëåò åöáñìïãÝò ðñéí îåêéíÞóåôå ôçí ÅãêáôÜóôáóç. Áõôü èá åðéôñÝøåé óôçí ÅãêáôÜóôáóç íá åíçìåñþóåé ôá ó÷åôéêÜ áñ÷åßá óõóôÞìáôïò ÷ùñßò ôçí åðáíåêêßíçóç ôïõ õðïëïãéóôÞ óáò.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Êáëþò Þëèáôå óôïí ïäçãü áðåãêáô. ôïõ '$(^NameDA)'"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Ï ïäçãüò áõôüò èá óáò êáèïäçãÞóåé êáôÜ ôç äéÜñêåéá ôçò áðåãêáôÜóôáóçò ôïõ '$(^NameDA)'.$\r$\n$\r$\nÐñéí îåêéíÞóåôå ôçí áðåãêáôÜóôáóç, âåâáéùèåßôå üôé ôï '$(^NameDA)' äåí ôñÝ÷åé.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Óõìöùíßá ¢äåéáò ×ñÞóçò"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "ÅëÝãîôå ôçí Üäåéá ÷ñÞóçò ðñéí åãêáôáóôÞóåôå ôï '$(^NameDA)'."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "ÅÜí áðïäÝ÷åóôå ôïõò üñïõò ôçò Üäåéáò ÷ñÞóçò, êÜíôå êëéê óôï Óõìöùíþ ãéá íá óõíå÷ßóåôå. ÐñÝðåé íá áðïäå÷èåßôå ôç óõìöùíßá ãéá íá åãêáôáóôÞóåôå ôï '$(^NameDA)'."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "ÅÜí áðïäÝ÷åóôå ôïõò üñïõò ôçò Üäåéáò ÷ñÞóçò, êÜíôå êëéê óôçí åðéëïãÞ ðáñáêÜôù. ÐñÝðåé íá áðïäå÷èåßôå ôç óõìöùíßá ãéá íá åãêáôáóôÞóåôå ôï '$(^NameDA)'. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "ÅÜí áðïäÝ÷åóôå ôïõò üñïõò ôçò Üäåéáò ÷ñÞóçò, êÜíôå êëéê óôçí ðñþôç åðéëïãÞ ðáñáêÜôù. ÐñÝðåé íá áðïäå÷èåßôå ôç óõìöùíßá ãéá íá åãêáôáóôÞóåôå ôï '$(^NameDA)'. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Óõìöùíßá ¢äåéáò ×ñÞóçò"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "ÅëÝãîôå ôçí Üäåéá ÷ñÞóçò ðñéí áðåãêáôáóôÞóåôå ôï '$(^NameDA)'."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "ÅÜí áðïäÝ÷åóôå ôïõò üñïõò ôçò Üäåéáò ÷ñÞóçò, êÜíôå êëéê óôï Óõìöùíþ ãéá íá óõíå÷ßóåôå. ÐñÝðåé íá áðïäå÷èåßôå ôç óõìöùíßá ãéá íá áðåãêáôáóôÞóåôå ôï '$(^NameDA)'."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "ÅÜí áðïäÝ÷åóôå ôïõò üñïõò ôçò Üäåéáò ÷ñÞóçò, êÜíôå êëéê óôçí åðéëïãÞ ðáñáêÜôù. ÐñÝðåé íá áðïäå÷èåßôå ôç óõìöùíßá ãéá íá áðåãêáôáóôÞóåôå ôï '$(^NameDA)'. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "ÅÜí áðïäÝ÷åóôå ôïõò üñïõò ôçò Üäåéáò ÷ñÞóçò, êÜíôå êëéê óôçí ðñþôç åðéëïãÞ ðáñáêÜôù. ÐñÝðåé íá áðïäå÷èåßôå ôç óõìöùíßá ãéá íá áðåãêáôáóôÞóåôå ôï '$(^NameDA)'. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "ÐáôÞóôå ôï Page Down ãéá íá äåßôå ôï õðüëïéðï ôçò Üäåéáò ÷ñÞóçò."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "ÅðéëïãÞ Óôïé÷åßùí"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "ÅðéëÝîôå ôá óôïé÷åßá ôïõ '$(^NameDA)' ðïõ èÝëåôå íá åãêáôáóôÞóåôå."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "ÅðéëïãÞ Óôïé÷åßùí"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "ÅðéëÝîôå ôá óôïé÷åßá ôïõ '$(^NameDA)' ðïõ èÝëåôå íá áðåãêáôáóôÞóåôå."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "ÐåñéãñáöÞ"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "ÐåñÜóôå ôï äåßêôç ôïõ ðïíôéêéïý ðÜíù áðü Ýíá óôïé÷åßï ãéá íá äåßôå ôçí ðåñéãñáöÞ ôïõ."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "ÐåñÜóôå ôï äåßêôç ôïõ ðïíôéêéïý ðÜíù áðü Ýíá óôïé÷åßï ãéá íá äåßôå ôçí ðåñéãñáöÞ ôïõ."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "ÅðéëïãÞ ÈÝóçò ÅãêáôÜóôáóçò"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "ÅðéëÝîôå ôï öÜêåëï ìÝóá óôïí ïðïßï èá åãêáôáóôáèåß ôï '$(^NameDA)'."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "ÅðéëïãÞ ÈÝóçò ÁðåãêáôÜóôáóçò"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "ÅðéëÝîôå ôï öÜêåëï áðü ôïí ïðïßï èá áðåãêáôáóôáèåß ôï '$(^NameDA)'."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "ÅãêáôÜóôáóç Óå ÅîÝëéîç"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Ðáñáêáëþ ðåñéìÝíåôå üóï ôï '$(^NameDA)' åãêáèßóôáôáé."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Ç ÅãêáôÜóôáóç Ïëïêëçñþèçêå"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Ç åãêáôÜóôáóç ïëïêëçñþèçêå åðéôõ÷þò."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Ç ÅãêáôÜóôáóç Äéáêüðçêå"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Ç åãêáôÜóôáóç äåí ïëïêëçñþèçêå åðéôõ÷þò."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "ÁðåãêáôÜóôáóç Óå ÅîÝëéîç"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Ðáñáêáëþ ðåñéìÝíåôå üóï ôï '$(^NameDA)' áðåãêáèßóôáôáé."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Ç ÁðåãêáôÜóôáóç Ïëïêëçñþèçêå"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Ç áðåãêáôÜóôáóç ïëïêëçñþèçêå åðéôõ÷þò."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Ç ÁðåãêáôÜóôáóç Äéáêüðçêå"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Ç áðåãêáôÜóôáóç äåí ïëïêëçñþèçêå åðéôõ÷þò."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "ÏëïêëÞñùóç ôçò ÅãêáôÜóôáóçò ôïõ '$(^NameDA)'"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "Ôï '$(^NameDA)' åãêáôáóôÜèçêå óôïí õðïëïãéóôÞ óáò.$\r$\n$\r$\nÊÜíôå êëéê óôï ÔÝëïò ãéá íá êëåßóåôå áõôüí ôïí ïäçãü."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "ÐñÝðåé íá ãßíåé åðáíåêêßíçóç ôïõ õðïëïãéóôÞ óáò ãéá íá ïëïêëçñùèåß ç åãêáôÜóôáóç ôïõ '$(^NameDA)'. ÈÝëåôå íá åðáíåêêéíÞóåôå ôïí õðïëïãéóôÞ óáò ôþñá;"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "ÏëïêëÞñùóç ôçò ÁðåãêáôÜóôáóçò ôïõ '$(^NameDA)'"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "Ôï '$(^NameDA)' áðåãêáôáóôÜèçêå áðü ôïí õðïëïãéóôÞ óáò.$\r$\n$\r$\nÊÜíôå êëéê óôï ÔÝëïò ãéá íá êëåßóåôå áõôüí ôïí ïäçãü."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "ÐñÝðåé íá ãßíåé åðáíåêêßíçóç ôïõ õðïëïãéóôÞ óáò ãéá íá ïëïêëçñùèåß ç áðåãêáôÜóôáóç ôïõ '$(^NameDA)'. ÈÝëåôå íá åðáíåêêéíÞóåôå ôïí õðïëïãéóôÞ óáò ôþñá;"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Íá ãßíåé åðáíåêêßíçóç ôþñá"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Èá åðáíåêêéíÞóù ôïí õðïëïãéóôÞ ìïõ áñãüôåñá"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&ÅêôÝëåóç ôïõ '$(^NameDA)'"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "ÅìöÜíéóç ôïõ &áñ÷åßïõ Readme"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&ÔÝëïò"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "ÅðéëïãÞ ÖáêÝëïõ ãéá ôï Ìåíïý ¸íáñîç"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "ÅðéëÝîôå Ýíá öÜêåëï ôïõ ìåíïý ¸íáñîç ãéá ôéò óõíôïìåýóåéò ôïõ '$(^NameDA)'."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "ÅðéëÝîôå Ýíá öÜêåëï ôïõ ìåíïý ¸íáñîç ãéá ôéò óõíôïìåýóåéò ôïõ ðñïãñÜììáôïò. Ìðïñåßôå åðßóçò íá åéóÜãåôå Ýíá üíïìá ãéá íá äçìéïõñãÞóåôå Ýíá íÝï öÜêåëï."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Íá ìç äçìéïõñãçèïýí óõíôïìåýóåéò"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "ÁðåãêáôÜóôáóç ôïõ '$(^NameDA)'"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Áöáßñåóç ôïõ '$(^NameDA)' áðü ôïí õðïëïãéóôÞ óáò."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Åßóôå óßãïõñïé ðùò èÝëåôå íá ôåñìáôßóåôå ôçí åãêáôÜóôáóç ôïõ '$(^Name)';"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Åßóôå óßãïõñïé ðùò èÝëåôå íá ôåñìáôßóåôå ôçí áðåãêáôÜóôáóç ôïõ '$(^Name)';"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Finnish.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Finnish.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Finnish.nsh	(revision 2961)
@@ -0,0 +1,123 @@
+;Compatible with Modern UI 1.86
+;Language: Finnish (1035)
+;By Eclipser (Jonne Lehtinen) <Eclipser at pilvikaupunki dot com>
+;Updated by Puuhis (puuhis@puuhis.net)
+
+!insertmacro LANGFILE "Finnish" "Suomi"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Tervetuloa ohjelman $(^NameDA) asennukseen"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Tämä avustaja ohjaa sinut ohjelman $(^NameDA) asennuksen läpi.$\r$\n$\r$\nOn suositeltavaa sulkea kaikki muut ohjelmat ennen asennuksen aloittamista, jotta asennus voisi päivittää tiettyjä järjestelmätiedostoja käynnistämättä konetta uudelleen.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Tervetuloa $(^NameDA) -ohjelmiston poisto-ohjelmaan"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Tämä velho auttaa sinut läpi $(^NameDA) -ohjelmiston poistamisen.$\r$\n$\r$\nEnnen poisto-ohjelman aloitusta, varmista ettei $(^NameDA) ole käynnissä.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Lisenssisopimus"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Lue lisenssiehdot tarkasti ennen ohjelman $(^NameDA) asentamista."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Jos hyväksyt ehdot, valitse Hyväksyn jatkaaksesi. Sinun pitää hyväksyä ehdot asentaaksesi ohjelman $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Jos hyväksyt ehdot, laita rasti alla olevaan ruutuun. Sinun pitää hyväksyä ehdot asentaaksesi ohjelman $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Jos hyväksyt ehdot, valitse ensimmäinen vaihtoehto alapuolelta. Sinun pitää hyväksyä ehdot asentaaksesi ohjelman $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Lisenssisopimus"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Lue huolellisesti lisenssiehdot ennen $(^NameDA) -ohjelmiston poistoa."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Jos hyväksyt säännöt ja ehdot, paina Hyväksyn -nappia jatkaakseni. Sinun täytyy hyväksyä ehdot poistaaksesi $(^NameDA) -ohjelmiston."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Jos hyväksyt ehdot, klikkaa valintaruutua alhaalla. Sinun täytyy hyväksyä ehdot poistaaksesi $(^NameDA) -ohjelmiston. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Jos hyväksyt ehdot, valitse ensimmäinen vaihtoehto alhaalta. Sinun täytyy hyväksyä ehdot poistaaksesi $(^NameDA) -ohjelmiston. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Paina Page Down nähdäksesi loput sopimuksesta."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Valitse komponentit"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Valitse toiminnot, jotka haluat asentaa ohjelmaan $(^NameDA)."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Valitse komponentit"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Valitse $(^NameDA) toiminnot, jotka haluat poistaa."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Selitys"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Siirrä hiiri komponentin nimen päälle saadaksesi sen selityksen."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Siirrä hiiri komponentin nimen päälle saadaksesi sen selityksen."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Valitse asennuskohde"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Valitse hakemisto, johon haluat asentaa ohjelman $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Valitse paikka mistä poistetaan"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Valitse kansio mistä $(^NameDA) poistetaan."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Asennetaan"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Odota... $(^NameDA) asennetaan..."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Asennus valmis"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Asennus valmistui onnistuneesti."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Asennus keskeytettiin"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Asennus ei onnistunut."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Poistetaan"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Odota... Ohjelmaa $(^NameDA) poistetaan."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Poisto valmis"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Ohjelma poistettiin onnistuneesti."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Poisto lopetettu"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Ohjelmaa poisto epäonnistuneesti."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Viimeistellään ohjelman $(^NameDA) asennusta"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) on asennettu koneellesi.$\r$\n$\r$\nValitse Valmis sulkeaksesi avustajan."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Tietokoneesi pitää käynnistää uudelleen jotta ohjelman $(^NameDA) asennus saataisiin valmiiksi. Haluatko käynnistää koneen uudelleen nyt?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Viimeistellään $(^NameDA) -ohjelmiston poistamista"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) on poistettu koneeltasi.$\r$\n$\r$\nPaina Lopeta -nappia sulkeaksesi tämän velhon."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Jotta $(^NameDA) -ohjelmiston poistaminen olisi valmis, tulee tietokone käynnistää uudelleen. Haluatko uudelleenkäynnistää nyt?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Käynnistä uudelleen nyt"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Käynnistän koneen myöhemmin uudelleen"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "Käynnistä $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Näytä LueMinut"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Valmis"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Valitse Käynnistä-valikon hakemisto"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Valitse Käynnistä-valikon hakemisto ohjelman pikakuvakkeille."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Valitse Käynnistä-valikon hakemisto, johon haluaisit luoda ohjelman pikakuvakkeet. Voit myös kirjoittaa uuden nimen."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Älä luo pikakuvakkeita"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Poista $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Poista $(^NameDA) tietokoneestasi."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Haluatko varmasti lopettaa $(^Name) Asennuksen?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Oletko varma että haluat poistua $(^Name) poisto-ohjelmasta?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Hungarian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Hungarian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Hungarian.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1038
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1250
+# RTL - anything else than RTL means LTR
+-
+# Translation by Soft-Trans Bt. (V2)
+# Translation by Orfanik Kft.   (V3-V6)
+# ^Branding
+Nullsoft Telepítõrendszer %s
+# ^SetupCaption
+$(^Name) Telepítõ
+# ^UninstallCaption
+$(^Name) Eltávolító
+# ^LicenseSubCaption
+: Licencszerzõdés
+# ^ComponentsSubCaption
+: Telepítési lehetõségek
+# ^DirSubCaption
+: Célmappa
+# ^InstallingSubCaption
+: Fájlok telepítése
+# ^CompletedSubCaption
+: Kész
+# ^UnComponentsSubCaption
+: Eltávolítási lehetõségek
+# ^UnDirSubCaption
+: Eltávolítás mappája
+# ^ConfirmSubCaption
+: Megerõsítés
+# ^UninstallingSubCaption
+: Fájlok eltávolítása
+# ^UnCompletedSubCaption
+: Kész
+# ^BackBtn
+< &Vissza
+# ^NextBtn
+&Tovább >
+# ^AgreeBtn
+&Elfogadom
+# ^AcceptBtn
+&Elfogadom a Licencszerzõdés feltételeit
+# ^DontAcceptBtn
+&Nem fogadom el a Licencszerzõdés feltételeit
+# ^InstallBtn
+&Telepítés
+# ^UninstallBtn
+&Eltávolítás
+# ^CancelBtn
+&Mégse
+# ^CloseBtn
+&Bezárás
+# ^BrowseBtn
+&Tallózás...
+# ^ShowDetailsBtn
+&Részletek
+# ^ClickNext
+Kattintson a Tovább-ra a folytatáshoz.
+# ^ClickInstall
+Kattintson a Telepítésre a telepítéshez.
+# ^ClickUninstall
+Kattintson az Eltávolításra az eltávolításhoz.
+# ^Name
+Név
+# ^Completed
+Kész
+# ^LicenseText
+A(z) $(^NameDA) telepítése elõtt tekintse át a szerzõdés feltételeit. Ha elfogadja a szerzõdés valamennyi feltételét, az Elfogadom gombbal folytathatja.
+# ^LicenseTextCB
+A(z) $(^NameDA) telepítése elõtt tekintse át a szerzõdés feltételeit. Ha elfogadja a szerzõdés valamennyi feltételét, jelölje be a Jelölõnégyzeten. $_CLICK
+# ^LicenseTextRB
+A(z) $(^NameDA) telepítése elõtt tekintse át a szerzõdés feltételeit. Ha elfogadja a szerzõdés valamennyi feltételét, válassza az elsõ lehetõséget. $_CLICK
+# ^UnLicenseText
+A(z) $(^NameDA) eltávolítása elõtt tekintse át a szerzõdés feltételeit. Ha elfogadja a szerzõdés valamennyi feltételét, az Elfogadom gombbal folytathatja.
+# ^UnLicenseTextCB
+A(z) $(^NameDA) eltávolítása elõtt tekintse át a szerzõdés feltételeit. Ha elfogadja a szerzõdés valamennyi feltételét, jelölje be a Jelölõnégyzeten. $_CLICK
+# ^UnLicenseTextRB
+A(z) $(^NameDA) eltávolítása elõtt tekintse át a szerzõdés feltételeit. Ha elfogadja a szerzõdés valamennyi feltételét, válassza az elsõ lehetõséget. $_CLICK
+# ^Custom
+Egyéni
+# ^ComponentsText
+Jelölje be azokat az összetevõket amelyeket telepíteni kíván és törölje a jelölést a nem kívánt összetevõknél. $_CLICK
+# ^ComponentsSubText1
+Válassza ki a telepítés típusát:
+# ^ComponentsSubText2_NoInstTypes
+Válassza ki a telepítendõ összetevõket:
+# ^ComponentsSubText2
+vagy, jelölje ki a választható összetevõk közül a telepíteni kívánta(ka)t:
+# ^UnComponentsText
+Jelölje be azokat az összetevõket amelyeket el kíván távolítani és törölje a jelölést az eltávolítani nem kívánt összetevõknél. $_CLICK
+# ^UnComponentsSubText1
+Válassza ki az Eltávolítás típusát:
+# ^UnComponentsSubText2_NoInstTypes
+Válassza ki az eltávolítandó összetevõket:
+# ^UnComponentsSubText2
+vagy, jelölje ki a választható összetevõk közül az eltávolítani kívánta(ka)t:
+# ^DirText
+A $(^NameDA) a következõ mappába kerül. Másik mappa választásához kattintson a Tallózás gombra. $_CLICK
+# ^DirSubText
+Telepítés helye
+# ^DirBrowseText
+A(z) $(^NameDA) telepítési helyének kiválasztása:
+# ^UnDirText
+A(z) $(^NameDA) eltávolítása a következõ mappából. Másik mappa választásához kattintson a Tallózás gombra. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Válassza ki, hogy a $(^NameDA) melyik mappából kerüljön eltávolításra:
+# ^SpaceAvailable
+"Szabad terület: "
+# ^SpaceRequired
+"Helyigény: "
+# ^UninstallingText
+A(z) $(^NameDA) eltávolítása következik a számítógéprõl. $_CLICK
+# ^UninstallingSubText
+Eltávolítás helye:
+# ^FileError
+Hiba történt a fájl írásra történõ megnyitásakor: \r\n\t"$0"\r\nA Mégse gomb megnyomásával megszakíthatja a telepítést,\r\naz Ismét gombbal megismételheti a fájl írását,\r\na Kihagyás gombbal kihagyhatja ezt a fájlt.
+# ^FileError_NoIgnore
+Hiba történt a fájl írásra történõ megnyitásakor:  \r\n\t"$0"\r\nAz Újra gomb megnyomásával megismételheti a mûveletet, vagy \r\na Mégse gombbal megszakíthatja a telepítést.
+# ^CantWrite
+"Nem írható: "
+# ^CopyFailed
+A másolás megszakadt
+# ^CopyTo
+"Másolás ide: "
+# ^Registering
+"Bejegyzés: "
+# ^Unregistering
+"Eltávolítás: "
+# ^SymbolNotFound
+"A következõ szimbólum nem található: "
+# ^CouldNotLoad
+"Nem tölthetõ be: "
+# ^CreateFolder
+"Mappa létrehozás: "
+# ^CreateShortcut
+"Parancsikon létrehozása: "
+# ^CreatedUninstaller
+"Létrehozott eltávolító: "
+# ^Delete
+"Törölt fájl: "
+# ^DeleteOnReboot
+"Rendszerindításkor törlendõ: "
+# ^ErrorCreatingShortcut
+"Hiba a parancsikon létrehozásakor: "
+# ^ErrorCreating
+"Hiba a létrehozáskor: "
+# ^ErrorDecompressing
+Hiba az adatok kibontásakor! Megsérült a Telepítõ?
+# ^ErrorRegistering
+Hiba a DLL regisztrálásakor
+# ^ExecShell
+"Végrehajtás a hozzárendeléseken keresztül: "
+# ^Exec
+"Végrehajtás: "
+# ^Extract
+"Kibontás: "
+# ^ErrorWriting
+"Kibontás: Hiba a fájl írásakor "
+# ^InvalidOpcode
+Sérült a telepítõ: hibás utasítás
+# ^NoOLE
+"Nincs OLE: "
+# ^OutputFolder
+"Kimeneti mappa: "
+# ^RemoveFolder
+"Mappa eltávolítása: "
+# ^RenameOnReboot
+"Átnevezés rendszerindításkor: "
+# ^Rename
+"Átnevezés: "
+# ^Skipped
+"Kihagyott: "
+# ^CopyDetails
+Adatok vágólapra másolása
+# ^LogInstall
+Telepítõ ellenõrzõlista
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Romanian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Romanian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Romanian.nsh	(revision 2961)
@@ -0,0 +1,130 @@
+;Language: Romanian (1048)
+;Translated by Cristian Pirvu (pcristip@yahoo.com)
+;Updates by Sorin Sbarnea - INTERSOL SRL (sbarneasorin@intersol.ro) - ROBO Design (www.robodesign.ro)
+;New revision by George Radu (georadu@hotmail.com) http://mediatae.3x.ro
+;New revision by Vlad Rusu (vlad@bitattack.ro)
+;	- Use Romanian letters ãâîºþ
+;	- ".. produsului" removed as unnecessary
+;	- "Eliminã" related terms replaced with more appropiate "Dezinstaleazã"
+;	- Misc language tweaks
+!insertmacro LANGFILE "Romanian" "Romana"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Bine aþi venit la instalarea $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Aceastã aplicaþie va instala $(^NameDA).$\r$\n$\r$\nEste recomandat sã închideþi toate aplicaþiile înainte de începerea procesului de instalare. Acest lucru vã poate asigura un proces de instalare fãrã erori sau situaþii neprevãzute.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Bine aþi venit la dezinstalarea $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Aceastã aplicaþie va dezinstala $(^NameDA).$\r$\n$\r$\nEste recomandat sã închideþi toate aplicaþiile înainte de începerea procesului de dezinstalare. Acest lucru vã poate asigura un proces de dezinstalare fãrã erori sau situaþii neprevãzute.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_WELCOMEPAGE | MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Terminare"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Contract de licenþã"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Citiþi cu atenþie termenii contractului de licenþã înainte de a instala $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Dacã acceptaþi termenii contractului de licenþã, apãsati De Acord. Pentru a instala $(^NameDA) trebuie sã acceptaþi termenii din contractul de licenþã."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Dacã acceptaþi termenii contractului de licenþã, bifaþi cãsuþa de mai jos. Pentru a instala $(^NameDA) trebuie sã acceptaþi termenii din contractul de licenþã. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Dacã acceptaþi termenii contractului de licenþã, selectaþi prima opþiune de mai jos. Pentru a instala $(^NameDA) trebuie sã acceptaþi termenii din contractul de licenþã. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Contract de licenþã"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Citiþi cu atenþie termenii contractului de licenþã înainte de a dezinstala $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Dacã acceptaþi termenii contractului de licenþã, apãsati De Acord. Pentru a dezinstala $(^NameDA) trebuie sã acceptaþi termenii din contractul de licenþã."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Dacã acceptaþi termenii contractului de licenþã, bifaþi cãsuþa de mai jos. Pentru a dezinstala $(^NameDA) trebuie sã acceptaþi termenii din contractul de licenþã. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Dacã acceptaþi termenii contractului de licenþã, selectaþi prima opþiune de mai jos. Pentru a dezinstala $(^NameDA) trebuie sã acceptaþi termenii din contractul de licenþã. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Apãsaþi Page Down pentru a vizualiza restul contractului de licenþã."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Selectare componente"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Selectaþi componentele $(^NameDA) pe care doriþi sã le instalaþi."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Selectare componente"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Selectaþi componentele $(^NameDA) pe care doriþi sã le dezinstalaþi."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Descriere"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Aºezaþi mouse-ul deasupra fiecãrei componente pentru a vizualiza descrierea acesteia."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Aºezaþi mouse-ul deasupra fiecãrei componente pentru a vizualiza descrierea acesteia."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Selectare director destinaþie"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Selectaþi directorul în care doriþi sã instalaþi $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Selectare director de dezinstalat"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Selectaþi directorul din care doriþi sã dezinstalaþi $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "În curs de instalare"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Vã rugãm sã aºteptaþi, $(^NameDA) se instaleazã."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Instalare terminatã"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Instalarea s-a terminat cu succes."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Instalare anulatã"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Instalarea a fost anulatã de utilizator."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "În curs de dezinstalare"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Vã rugãm sã aºteptaþi, $(^NameDA) se dezinstaleazã."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Dezinstalare terminatã"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Dezinstalarea s-a terminat cu succes."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Dezinstalare anulatã"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Dezinstalarea fost anulatã de utilizator."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Terminare instalare $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) a fost instalat.$\r$\n$\r$\nApãsaþi Terminare pentru a încheia instalarea."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Trebuie sã reporniþi calculatorul pentru a termina instalarea. Doriþi sã-l reporniþi acum?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Terminare dezinstalare $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) a fost dezinstalat.$\r$\n$\r$\nApãsaþi Terminare pentru a încheia dezinstalarea."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Trebuie sã reporniþi calculatorul pentru a termina dezinstalarea. Doriþi sã-l reporniþi acum?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Reporneºte acum"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Repornesc eu mai târziu"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "Executare $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Afiºare fiºier readme (citeºte-mã)."
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Selectare grup Meniul Start"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Selectaþi un grup in Meniul Start pentru a crea comenzi rapide pentru produs."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Selectaþi grupul din Meniul Start în care vor fi create comenzi rapide pentru produs. Puteþi de asemenea sã creaþi un grup nou."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Nu doresc comenzi rapide"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Dezinstalare $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Dezinstalare $(^NameDA) din calculatorul dumneavoastrã."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Sunteþi sigur(ã) cã doriþi sã anulaþi instalarea $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Sunteþi sigur(ã) cã doriþi sã anulaþi dezinstalarea $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Danish.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Danish.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Danish.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Danish (1030)
+;By Claus Futtrup
+
+!insertmacro LANGFILE "Danish" "Dansk"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Velkommen til installationsguiden for $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Denne guide vil installere $(^NameDA) på din computer.$\r$\n$\r$\nDet anbefales, at du lukker alle kørende programmer inden start af installationsguiden. Dette vil tillade guiden at opdatere de nødvendige systemfiler uden at skulle genstarte computeren.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Velkommen til $(^NameDA) afinstallationsguiden"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Denne afinstallationsguide vil hjælpe dig gennem afinstallationen af $(^NameDA).$\r$\n$\r$\nFør start af afinstallationen skal du være sikker på at $(^NameDA) ikke kører.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Licensaftale"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Læs venligst licensaftalen før du installerer $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Tryk 'Jeg accepterer' hvis du ønsker at accepterer alle vilkårene i aftalen og forsætte. Du skal acceptere vilkårene for at installere $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Hvis du accepterer alle vilkårene i aftalen, skal du markere afkrydsningsfeltet nedenfor. Du skal acceptere vilkårene for at installere $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Hvis du accepterer alle vilkårene i aftalen, skal du vælge den første mulighed nedenfor. Du skal acceptere vilkårene for at installere $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Licensaftale"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Læs venligst licensvilkårene før afinstalleringen af $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Hvis du accepterer vilkårene for aftalen, skal du trykke 'Jeg accepterer' for at fortsætte. Du skal acceptere aftalen for at afinstallere $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Hvis du accepterer vilkårene for aftalen, skal du markere afkrydsningsfeltet nedenfor. Du skal acceptere aftalen for at afinstallere $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Hvis du accepterer vilkårene for aftalen, skal du vælge den første mulighed nedenfor. Du skal acceptere aftalen for at afinstallere $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Tryk Page Down for at se resten af aftalen."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Vælg komponenter"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Vælg hvilke features af $(^NameDA) du vil installere."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Vælg komponenter"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Vælg hvilke features af $(^NameDA) du vil afinstallere."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Beskrivelse"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Placer musemarkøren over en komponent for at se beskrivelsen af komponenten."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Placer musemarkøren over en komponent for at se beskrivelsen af komponenten."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Vælg installationsmappe"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Vælg hvilken mappe du vil installere $(^NameDA) i."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Vælg afinstallationsmappe"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Vælg den mappe hvorfra du vil afinstallere $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Installerer"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Vent venligst mens $(^NameDA) bliver installeret."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Installation gennemført"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Installationsguiden blev gennemført med succes."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Installation afbrudt"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Installationsguiden blev ikke gennemført."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Afinstallerer"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Vent venligst mens $(^NameDA) bliver afinstalleret."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Afinstallationen er færdig"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Afinstallationen blev afsluttet med succes."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Afinstallationen er blevet afbrudt"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Afinstallationen blev ikke genmmenført."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Afslutter $(^NameDA) installationsguiden"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) er blevet installeret på din computer.$\r$\n$\r$\nTryk 'Afslut' for at lukke installationsguiden."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Din computer skal genstartes før installationen af $(^NameDA) er afsluttet. Vil du genstarte nu?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Afslutter $(^NameDA) afinstallationsguiden"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) er blevet afinstalleret fra din computer.$\r$\n$\r$\nTryk 'Afslut' for at lukke denne guide."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Din computer skal genstartes for at gennemføre afinstallationen af $(^NameDA). Vil du genstarte nu?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Genstart nu"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Jeg genstarter selv på et andet tidspunkt"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Start $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Vis vigtig information"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Afslut"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Vælg Start Menu mappe"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Vælg en Start Menu mappe til programmets genveje."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Vælg Start Menu mappen hvor du vil lave programmets genveje. Du kan også skrive et navn for at oprette en ny mappe."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Opret ikke genveje"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Afinstaller $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Slet $(^NameDA) fra din computer."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Er du sikker på, at du vil afslutte $(^Name) installationen?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Er du sikker på at du vil afbryde $(^Name) afinstallationen?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Galician.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Galician.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Galician.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Galician (1110)
+;Ramon Flores <fa2ramon@usc.es>
+
+!insertmacro LANGFILE "Galician" "Galego"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Benvindo ao Asistente de Instalación do $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Este asistente vai axudá-lo durante a instalación do $(^NameDA).$\r$\n$\r$\nRecomenda-se fechar todas as outras aplicacións antes de iniciar a instalación. Isto posibilita actualizar os ficheiros do sistema relevantes sen ter que reiniciar o computador.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Benvindo ao Asistente de desinstalación do $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Este asistente vai axudá-lo durante a desinstalación do $(^NameDA).$\r$\n$\r$\nAntes de iniciar a desinstalación, certifique-se de que o $(^NameDA) non está a executar-se.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Contrato de licenza"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Por favor, verifique os termos da licenza antes de instalar o $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Se aceitar os termos da licenza, clique en 'Aceito' para continuar. Cumpre aceitar o contrato para instalar o $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Se aceitar os termos da licenza, clique na caixa de selección abaixo. Cumpre aceitar o contrato para instalar o $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Se aceitar os termos da licenza, seleccione a primeira opción abaixo. Cumpre aceitar o contrato para instalar o $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Contrato de licenza"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Por favor, verifique os termos da licenza antes de desinstalar o $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Se aceitar os termos da licenza, clique en 'Aceito' para continuar. Cumpre aceitar o contrato para desinstalar o $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Se aceitar os termos da licenza, clique na caixa de selección abaixo. Cumpre aceitar o contrato para desinstalar o $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Se aceitar os termos da licenza, seleccione a primeira opción abaixo. Cumpre aceitar o contrato para desinstalar o $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Prema Page Down para ver o restante da licenza."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Escolla de componentes"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Escolla que características do $(^NameDA) que desexa instalar."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Escoller componentes"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Escolla que características do $(^NameDA) desexa desinstalar."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Descrición"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Posicione o rato sobre un componente para ver a sua descrición."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Posicione o rato sobre un componente para ver a sua descrición."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Escolla do local da instalación"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Escolla a directória na cal desexa instalar o $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Escolla o Local de desinstalación"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Escolla a directória de onde pretende desinstalar o $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Instalando"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Por favor, agarde entanto o $(^NameDA) está sendo instalado."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Instalación completa"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "A instalación concluiu con suceso."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Instalación Abortada"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "A instalación concluiu sen suceso."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Desinstalando"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Por favor, agarde entanto se desinstala o $(^NameDA)."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Desinstalación completa"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "A desinstalación concluiu con suceso."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Desinstalación abortada"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "A desinstalación non concluiu con suceso"
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Concluindo o Asistente de instalación do $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "Instalou-se o $(^NameDA) no seu computador.$\r$\n$\r$\nClique en Rematar para fechar este asistente."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Cumpre reiniciar o seu computador para concluír a instalación do $(^NameDA). Desexa reiniciar agora?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Concluíndo o asistente de desinstalación do $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "Eliminou-se $(^NameDA) do seu computador.$\r$\n$\r$\nClique em Rematar para fechar este asistente."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Cumpre reiniciar o seu computador para concluír a desinstalación do $(^NameDA). Desexa reiniciá-lo agora?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Reiniciar agora"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Prefiro reinicia-lo manualmente despois"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Executar $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Mostrar Leame"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Rematar"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Escolla un cartafol do Menu Iniciar"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Escolla un cartafol do Menu Iniciar para os atallos do programa."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Seleccione o cartafol do Menu Iniciar no que desexa criar os atallos do programa. Tamén é posíbel dixitar un nome para criar un novo cartafol. "
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Non criar atallos"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Desinstalar $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Eliminar o $(^NameDA) do seu computador."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Realmente desexa cancelar a instalación do $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Realmente desexa cancelar a desinstalación do $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Basque.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Basque.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Basque.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1069
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by Iñaki San Vicente
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) -ren Instalazioa
+# ^UninstallCaption
+$(^Name) -ren Ezabaketa
+# ^LicenseSubCaption
+: Lizentzia hitzarmen agiria
+# ^ComponentsSubCaption
+: Instalazio aukerak
+# ^DirSubCaption
+: Instalazio karpeta
+# ^InstallingSubCaption
+: Instalatzen
+# ^CompletedSubCaption
+: Instalazioa burututa
+# ^UnComponentsSubCaption
+: Ezabaketa aukerak
+# ^UnDirSubCaption
+: Ezabaketa direktorioa
+# ^ConfirmSubCaption
+: Berretsi ezabaketa
+# ^UninstallingSubCaption
+: Ezabatzen
+# ^UnCompletedSubCaption
+: Ezabaketa burututa
+# ^BackBtn
+< &Atzera
+# ^NextBtn
+&Aurrera >
+# ^AgreeBtn
+Onartu
+# ^AcceptBtn
+Lizentzia hitzarmenaren baldintzak onartzen ditut.
+# ^DontAcceptBtn
+Ez ditut lizentzia hitzarmenaren baldintzak onartzen.
+# ^InstallBtn
+&Instalatu
+# ^UninstallBtn
+&Ezabatu
+# ^CancelBtn
+Ezeztatu
+# ^CloseBtn
+&Itxi
+# ^BrowseBtn
+&Arakatu...
+# ^ShowDetailsBtn
+Ikusi &zehaztasunak
+# ^ClickNext
+Sakatu Aurrera jarraitzeko.
+# ^ClickInstall
+Sakatu Instalatu instalazioarekin hasteko.
+# ^ClickUninstall
+Sakatu Ezabatu ezabaketarekin hasteko.
+# ^Name
+Izena
+# ^Completed
+Osatuta
+# ^LicenseText
+Mesedez, aztertu lizentzia hitzarmena $(^NameDA) instalatu aurretik. Baldintza guztiak onartzen badituzu, sakatu Onartu.
+# ^LicenseTextCB
+Mesedez, aztertu lizentzia hitzarmena $(^NameDA) instalatu aurretik. Baldintza guztiak onartzen badituzu, nabarmendu azpiko laukitxoa. $_CLICK
+# ^LicenseTextRB
+Mesedez, aztertu lizentzia hitzarmena $(^NameDA) instalatu aurretik. Baldintza guztiak onartzen badituzu, hautatu azpian lehen aukera. $_CLICK
+# ^UnLicenseText
+Mesedez, aztertu lizentzia hitzarmena $(^NameDA) ezabatu aurretik. Baldintza guztiak onartzen badituzu, sakatu Onartu.
+# ^UnLicenseTextCB
+Mesedez, aztertu lizentzia hitzarmena $(^NameDA) ezabatu aurretik. Baldintza guztiak onartzen badituzu, nabarmendu azpiko laukitxoa. $_CLICK.
+# ^UnLicenseTextRB
+Mesedez, aztertu lizentzia hitzarmena $(^NameDA) ezabatu aurretik. Baldintza guztiak onartzen badituzu, hautatu azpian lehen aukera. $_CLICK
+# ^Custom
+Norberaren nahien arabera
+# ^ComponentsText
+Nabarmendu instalatu nahi diren osagaiak, eta utzi zuri instalatu nahi ez direnak. $_CLICK
+# ^ComponentsSubText1
+Hautatu instalazio mota:
+# ^ComponentsSubText2_NoInstTypes
+Hautatu instalatu beharreko osagaiak:
+# ^ComponentsSubText2
+Edo hautatu instalatu beharreko aukerazko osagaiak:
+# ^UnComponentsText
+Nabarmendu ezabatu nahi diren osagaiak, eta utzi zuri ezabatu nahi ez direnak. $_CLICK
+# ^UnComponentsSubText1
+Hautatu ezabaketa mota:
+# ^UnComponentsSubText2_NoInstTypes
+Hautatu ezabatu beharreko osagaiak:
+# ^UnComponentsSubText2
+Edo hautatu ezabatu beharreko aukerazko osagaiak:
+# ^DirText
+Instalazio programak $(^NameDA) honako karpetan instalatuko du. Beste karpeta batean instalatzeko, sakatu Arakatu eta aukeratu beste bat. $_CLICK
+# ^DirSubText
+Helburu karpeta
+# ^DirBrowseText
+Aukeratu $(^NameDA) instalatuko den karpeta:
+# ^UnDirText
+Instalazio programak $(^NameDA) honako karpetatik ezabatuko du. Beste karpeta batetik ezabatzeko, sakatu Arakatu eta aukeratu beste bat. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Aukeratu $(^NameDA) zein karpetatik ezabatuko den:
+# ^SpaceAvailable
+Leku erabilgarria:
+# ^SpaceRequired
+Behar den lekua:
+# ^UninstallingText
+$(^NameDA) ondorengo karpetan instalatuko da. $_CLICK
+# ^UninstallingSubTex
+Ezabatzen honako karpetatik:
+# ^FileError
+Hutsegitea idazteko fitxategia irekitzean: \r\n\t"$0"\r\nSakatu Irten instalazioa ,\r\nsaiatu berriz fitxategi hau berriz idazten saiatzeko, u\r\njarraitu fitxategi hau alde batera utzita aurrera egiteko
+# ^FileError_NoIgnore
+Hutsegitea idazteko fitxategia irekitzean: \r\n\t"$0"\r\nsaiatu berriz fitxategi hau berriz idazten saiatzeko ,\r\nSakatu Irten instalazioa
+# ^CantWrite
+"Ezin izan da idatzi: "
+# ^CopyFailed
+Kopiatzeak hutsegin du
+# ^CopyTo
+"Kopiatu hona "
+# ^Registering
+"Erregistratzen: "
+# ^Unregistering
+"Erregistroa ezabatzen: "
+# ^SymbolNotFound
+"Ikurra ezin izan da aurkitu: "
+# ^CouldNotLoad
+"Ezin izan da kargatu: "
+# ^CreateFolder
+"Sortu karpeta: "
+# ^CreateShortcut
+"Sortu lasterbidea: "
+# ^CreatedUninstaller
+"Sortu ezabatzailea: "
+# ^Delete
+"Ezabatu fitxategia: "
+# ^DeleteOnReboot
+"Ezabatu berrabiarazitakoan: "
+# ^ErrorCreatingShortcut
+"Hutsegitea lasterbidea sortzerakoan: "
+# ^ErrorCreating
+"Hutsegitea sortzerakoan: "
+# ^ErrorDecompressing
+¡Hutsegitea datuak deskomprimatzean! Instalatzailea okerra?
+# ^ErrorRegistering
+Hutsegitea DLL erregistratzerakoan
+# ^ExecShell
+"Exekutatu agindua: "
+# ^Exec
+"Exekutatu: "
+# ^Extract
+"Kanporatu: "
+# ^ErrorWriting
+"Kanporaketa: hutsegitea fitxategira idazterakoan "
+# ^InvalidOpcode
+Instalatzailea okerra: ekintza kodea ez da baliozkoa
+# ^NoOLE
+"OLE-rik ez honentzako: "
+# ^OutputFolder
+"Irteera karpeta: "
+# ^RemoveFolder
+"Ezabatu karpeta: "
+# ^RenameOnReboot
+"Berrizendatu berrabiarazitakoan: "
+# ^Rename
+"Berrizendatu: "
+# ^Skipped
+"Alde batera utzitakoa: "
+# ^CopyDetails
+Kopiatu xehetasunak arbelera
+# ^LogInstall
+Instalazio prozesuaren erregistroa gorde
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SimpChinese.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SimpChinese.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SimpChinese.nsh	(revision 2961)
@@ -0,0 +1,123 @@
+;Language: 'Chinese (Simplified)' (2052)
+;Translator: Kii Ali <kiiali@cpatch.org>
+;Revision date: 2004-12-15
+;Verified by: QFox <qfox99@gmail.com>
+
+!insertmacro LANGFILE "SimpChinese" "Chinese (Simplified)"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "»¶Ó­Ê¹ÓÃ¡°$(^NameDA)¡±°²×°Ïòµ¼"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Õâ¸öÏòµ¼½«Ö¸ÒýÄãÍê³É¡°$(^NameDA)¡±µÄ°²×°½ø³Ì¡£$\r$\n$\r$\nÔÚ¿ªÊ¼°²×°Ö®Ç°£¬½¨ÒéÏÈ¹Ø±ÕÆäËûËùÓÐÓ¦ÓÃ³ÌÐò¡£Õâ½«ÔÊÐí¡°°²×°³ÌÐò¡±¸üÐÂÖ¸¶¨µÄÏµÍ³ÎÄ¼þ£¬¶ø²»ÐèÒªÖØÐÂÆô¶¯ÄãµÄ¼ÆËã»ú¡£$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "»¶Ó­Ê¹ÓÃ¡°$(^NameDA)¡±Ð¶ÔØÏòµ¼"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Õâ¸öÏòµ¼½«È«³ÌÖ¸ÒýÄã¡°$(^NameDA)¡±µÄÐ¶ÔØ½ø³Ì¡£$\r$\n$\r$\nÔÚ¿ªÊ¼Ð¶ÔØÖ®Ç°£¬È·ÈÏ¡°$(^NameDA)¡±²¢Î´ÔËÐÐµ±ÖÐ¡£$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Ðí¿ÉÖ¤Ð­Òé"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "ÔÚ°²×°¡°$(^NameDA)¡±Ö®Ç°£¬ÇëÔÄ¶ÁÊÚÈ¨Ð­Òé¡£"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Èç¹ûÄã½ÓÊÜÐ­ÒéÖÐµÄÌõ¿î£¬µ¥»÷ [ÎÒ½ÓÊÜ(I)] ¼ÌÐø°²×°¡£Èç¹ûÄãÑ¡¶¨ [È¡Ïû(C)] £¬°²×°³ÌÐò½«»á¹Ø±Õ¡£±ØÐë½ÓÊÜÐ­Òé²ÅÄÜ°²×°¡°$(^NameDA)¡±¡£"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Èç¹ûÄã½ÓÊÜÐ­ÒéÖÐµÄÌõ¿î£¬µ¥»÷ÏÂ·½µÄ¹´Ñ¡¿ò¡£±ØÐëÒª½ÓÊÜÐ­Òé²ÅÄÜ°²×° $(^NameDA)¡£$_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Èç¹ûÄã½ÓÊÜÐ­ÒéÖÐµÄÌõ¿î£¬Ñ¡ÔñÏÂ·½µÚÒ»¸öÑ¡Ïî¡£±ØÐëÒª½ÓÊÜÐ­Òé²ÅÄÜ°²×° $(^NameDA)¡£$_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Ðí¿ÉÖ¤Ð­Òé"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "ÔÚÐ¶ÔØ¡°$(^NameDA)¡±Ö®Ç°£¬Çë¼ìÔÄÊÚÈ¨Ìõ¿î¡£"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Èç¹ûÄã½ÓÊÜÐ­ÒéÖÐµÄÌõ¿î£¬µ¥»÷ [ÎÒ½ÓÊÜ(I)] ¼ÌÐøÐ¶ÔØ¡£Èç¹ûÄãÑ¡¶¨ [È¡Ïû(C)] £¬°²×°³ÌÐò½«»á¹Ø±Õ¡£±ØÐëÒª½ÓÊÜÐ­Òé²ÅÄÜÐ¶ÔØ¡°$(^NameDA)¡±¡£"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Èç¹ûÄã½ÓÊÜÐ­ÒéÖÐµÄÌõ¿î£¬µ¥»÷ÏÂ·½µÄ¹´Ñ¡¿ò¡£±ØÐëÒª½ÓÊÜÐ­Òé²ÅÄÜÐ¶ÔØ $(^NameDA)¡£$_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Èç¹ûÄã½ÓÊÜÐ­ÒéÖÐµÄÌõ¿î£¬Ñ¡ÔñÏÂ·½µÚÒ»¸öÑ¡Ïî¡£±ØÐëÒª½ÓÊÜÐ­Òé²ÅÄÜÐ¶ÔØ $(^NameDA)¡£$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "°´ [PgDn] ÔÄ¶Á¡°ÊÚÈ¨Ð­Òé¡±µÄÆäÓà²¿·Ö¡£"
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Ñ¡Ôñ×é¼þ"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Ñ¡ÔñÄãÏëÒª°²×°¡°$(^NameDA)¡±µÄÄÇÐ©¹¦ÄÜ¡£"
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Ñ¡¶¨×é¼þ"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Ñ¡¶¨¡°$(^NameDA)¡±µ±ÖÐÄãÏëÒªÐ¶ÔØµÄ¹¦ÄÜ¡£"
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "ÃèÊö"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "ÒÆ¶¯ÄãµÄÊó±êÖ¸Õëµ½×é¼þÖ®ÉÏ£¬±ã¿É¼ûµ½ËüµÄÃèÊö¡£"
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "ÒÆ¶¯ÄãµÄÊó±êÖ¸Õëµ½×é¼þÖ®ÉÏ£¬±ã¿É¼ûµ½ËüµÄÃèÊö¡£"
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Ñ¡Ôñ°²×°Î»ÖÃ"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Ñ¡Ôñ¡°$(^NameDA)¡±µÄ°²×°ÎÄ¼þ¼Ð¡£"
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Ñ¡¶¨Ð¶ÔØÎ»ÖÃ"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Ñ¡¶¨¡°$(^NameDA)¡±ÒªÐ¶ÔØµÄÎÄ¼þ¼Ð¡£"
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "ÕýÔÚ°²×°"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "¡°$(^NameDA)¡±ÕýÔÚ°²×°£¬ÇëµÈºò..."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "°²×°Íê³É"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "°²×°ÒÑ³É¹¦Íê³É¡£"
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "°²×°¼ºÖÐÖ¹"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "°²×°Ã»ÓÐ³É¹¦¡£"
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "ÕýÔÚÐ¶ÔØ"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "¡°$(^NameDA)¡±ÕýÔÚÐ¶ÔØ£¬ÇëµÈºò..."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Ð¶ÔØÒÑÍê³É"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Ð¶ÔØÒÑ³É¹¦µØÍê³É¡£"
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Ð¶ÔØÒÑÖÐÖ¹"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Ð¶ÔØ³ÌÐò²¢Î´³É¹¦µØÍê³É¡£"
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "ÕýÔÚÍê³É¡°$(^NameDA)¡±°²×°Ïòµ¼"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "¡°$(^NameDA)¡±ÒÑ°²×°ÔÚÄãµÄÏµÍ³¡£$\r$\nµ¥»÷ [Íê³É(F)] ¹Ø±Õ´ËÏòµ¼¡£"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "ÄãµÄÏµÍ³ÐèÒªÖØÐÂÆô¶¯£¬ÒÔ±ãÍê³É¡°$(^NameDA)¡±µÄ°²×°¡£ÏÖÔÚÒªÖØÐÂÆô¶¯Âð£¿"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "ÕýÔÚÍê³É¡°$(^NameDA)¡±Ð¶ÔØÏòµ¼"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "¡°$(^NameDA)¡±ÒÑ´ÓÄãµÄ¼ÆËã»úÐ¶ÔØ¡£$\r$\n$\r$\nµ¥»÷ [Íê³É] ¹Ø±ÕÕâ¸öÏòµ¼¡£"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "¼ÆËã»úÐèÒªÖØÐÂÆô¶¯£¬ÒÔ±ãÍê³É¡°$(^NameDA)¡±µÄÐ¶ÔØ¡£ÏÖÔÚÏëÒªÖØÐÂÆô¶¯Âð£¿"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "ÊÇ£¬ÏÖÔÚÖØÐÂÆô¶¯(&Y)"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "·ñ£¬ÎÒÉÔºóÔÙ×ÔÐÐÖØÐÂÆô¶¯(&N)"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "ÔËÐÐ $(^NameDA)(&R)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "ÏÔÊ¾¡°×ÔÊöÎÄ¼þ¡±(&M)"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "Íê³É(&F)"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Ñ¡Ôñ¡°¿ªÊ¼²Ëµ¥¡±ÎÄ¼þ¼Ð"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Ñ¡Ôñ¡°¿ªÊ¼²Ëµ¥¡±ÎÄ¼þ¼Ð£¬ÓÃÓÚ³ÌÐòµÄ¿ì½Ý·½Ê½¡£"
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Ñ¡Ôñ¡°¿ªÊ¼²Ëµ¥¡±ÎÄ¼þ¼Ð£¬ÒÔ±ã´´½¨³ÌÐòµÄ¿ì½Ý·½Ê½¡£ÄãÒ²¿ÉÒÔÊäÈëÃû³Æ£¬´´½¨ÐÂÎÄ¼þ¼Ð¡£"
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "²»Òª´´½¨¿ì½Ý·½Ê½(&N)"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Ð¶ÔØ $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "´ÓÄãµÄ¼ÆËã»úÐ¶ÔØ¡°$(^NameDA)¡±"
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "ÄãÈ·ÊµÒªÍË³ö¡°$(^Name)¡±°²×°³ÌÐò£¿"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "ÄãÈ·ÊµÒªÍË³ö¡°$(^Name)¡±Ð¶ÔØÂð£¿"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Ukrainian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Ukrainian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Ukrainian.nlf	(revision 2961)
@@ -0,0 +1,192 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1058
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1251
+# RTL - anything else than RTL means LTR
+-
+# Translation by Yuri Holubow, Nash-Soft.com <http://www.Nash-Soft.com>
+# Corrections by Dmitriy Kononchuk [http://gri3ly.kiev.ua]
+# New corrections by Osidach Vitaly
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) Âñòàíîâëåííÿ
+# ^UninstallCaption
+$(^Name) Âèäàëåííÿ
+# ^LicenseSubCaption
+: Ë³öåíç³éíà óãîäà
+# ^ComponentsSubCaption
+: Îïö³¿ âñòàíîâëåííÿ
+# ^DirSubCaption
+: Òåêà âñòàíîâëåííÿ
+# ^InstallingSubCaption
+: Êîï³þâàííÿ ôàéë³â
+# ^CompletedSubCaption
+: Çàâåðøåíî
+# ^UnComponentsSubCaption
+: Îïö³¿ âèäàëåííÿ
+# ^UnDirSubCaption
+: Òåêà âèäàëåííÿ
+# ^ConfirmSubCaption
+: Ï³äòâåðæäåííÿ
+# ^UninstallingSubCaption
+: Âèäàëåííÿ ôàéë³â
+# ^UnCompletedSubCaption
+: Çàâåðøåíî
+# ^BackBtn
+< &Íàçàä
+# ^NextBtn
+&Äàë³ >
+# ^AgreeBtn
+&Çãîäåí
+# ^AcceptBtn
+ß &ïðèéìàþ óìîâè Ë³öåíç³éíî¿ óãîäè
+# ^DontAcceptBtn
+ß &íå ïðèéìàþ óìîâè Ë³öåíç³éíî¿ óãîäè
+# ^InstallBtn
+&Âñòàíîâèòè
+# ^UninstallBtn
+Âèäàëèòè
+# ^CancelBtn
+Ñêàñóâàòè
+# ^CloseBtn
+&Çàêðèòè
+# ^BrowseBtn
+Î&ãëÿä...
+# ^ShowDetailsBtn
+Ïîäðîáèö³
+# ^ClickNext
+Íàòèñí³òü Äàë³ ùîá ïðîäîâæèòè
+# ^ClickInstall
+Íàòèñí³òü Âñòàíîâèòè äëÿ ïî÷àòêó ïðîöåññó âñòàíîâëåííÿ
+# ^ClickUninstall
+Íàòèñí³òü Âèäàëèòü äëÿ ïî÷àòêó ïðîöåññó âèäàëåííÿ
+# ^Name
+²ì'ÿ
+# ^Completed
+Çàâåðøåíî
+# ^LicenseText
+Ïðî÷èòàéòå óìîâè ë³öåíç³éíî¿ óãîäè ïåðåä âñòàíîâëåííÿì $(^NameDA). ßêùî Âè ïðèéìàºòå óìîâè óãîäè, íàòèñí³òü íà êíîïêó Çãîäåí.
+# ^LicenseTextCB
+Ïðî÷èòàéòå óìîâè ë³öåíç³éíî¿ óãîäè ïåðåä âñòàíîâëåííÿì $(^NameDA). ßêùî Âè ïðèéìàºòå óìîâè óãîäè, âñòàíîâ³òü â³äì³òêó ó êâàäðàòèêó íèæ÷å. $_CLICK
+# ^LicenseTextRB
+Ïðî÷èòàéòå óìîâè ë³öåíç³éíî¿ óãîäè ïåðåä âñòàíîâëåííÿì $(^NameDA). ßêùî Âè ïðèéìàºòå óìîâè óãîäè, âèáåð³òü ïåðøèé âàð³àíò. $_CLICK
+# ^UnLicenseText
+Ïðî÷èòàéòå óìîâè ë³öåíç³éíî¿ óãîäè ïåðåä âñòàíîâëåííÿì $(^NameDA). ßêùî Âè ïðèéìàºòå óìîâè ë³öåíç³éíî¿ óãîäè, íàòèñí³òü íà êíîïêó Çãîäåí.
+# ^UnLicenseTextCB
+Ïðî÷èòàéòå óìîâè ë³öåíç³éíî¿ óãîäè ïåðåä âñòàíîâëåííÿì $(^NameDA). ßêùî Âè ïðèéìàºòå óìîâè óãîäè, âñòàíîâ³òü â³äì³òêó ó êâàäðàòèêó íèæ÷å. $_CLICK
+# ^UnLicenseTextRB
+Ïðî÷èòàéòå óìîâè ë³öåíç³éíî¿ óãîäè ïåðåä âèäàëåííÿì $(^NameDA). ßêùî Âè ïðèéìàºòå óìîâè óãîäè, âèáåð³òü ïåðøèé âàð³àíò. $_CLICK
+# ^Custom
+Ïî âèáîðó
+# ^ComponentsText
+Âèáåð³òü ÿê³ êîìïîíåíòè ïðîãðàìè Âè áàæàºòå âñòàíîâèòè. $_CLICK
+# ^ComponentsSubText1
+Âèáåð³òü òèï âñòàíîâëåííÿ:
+# ^ComponentsSubText2_NoInstTypes
+Âèáåð³òü êîìïîíåíòè äëÿ âñòàíîâëåííÿ:
+# ^ComponentsSubText2
+×è, âèáåð³òü âðó÷íó êîìïîíåíòè, ÿê³ Âè õî÷åòå âñòàíîâèòè:
+# ^UnComponentsText
+Âèáåð³òü ÿê³ êîìïîíåíòè Âè áàæàºòå âèäàëèòè. Â³äì³òüòå êîìïîíåíòè äëÿ âèäàëåííÿ ³ çí³ì³òü â³äì³òêó ç òèõ, ÿê³ Âè âèäàëÿòè íå áàæàºòå. $_CLICK
+# ^UnComponentsSubText1
+Âèáåð³òü òèï âèäàëåííÿ:
+# ^UnComponentsSubText2_NoInstTypes
+Âèá³ð êîìïîíåíò³â äëÿ âèäàëåííÿ:
+# ^UnComponentsSubText2
+×è âèáåð³òü êîìïîíåíòè ïðîãðàìè äëÿ âèäàëåííÿ ïî ñâîºìó áàæàíí³:
+# ^DirText
+Ïðîãðàììà âñòàíîâèòü $(^NameDA) ó âêàçàíó òåêó. Äëÿ òîãî, ùîá âñòàíîâèòè ïðîãðàììó â ³íøó òåêó, íàòèñí³òü Îãëÿä ³ âêàæ³òü ïîòð³áíó òåêó. $_CLICK
+# ^DirSubText
+Òåêà ïðèçíà÷åííÿ
+# ^DirBrowseText
+Âèáåð³òü òåêó äëÿ âñòàíîâëåííÿ $(^NameDA):
+# ^UnDirText
+Ïðîãðàììà âñòàíîâëåííÿ âèäàëèòü $(^NameDA) ³ç âêàçàííî¿ òåêè. Äëÿ òîãî, ùîá ïðîâåñòè âèäàëåííÿ ç ³íøî¿ òåêè, íàòèñí³òü Îãëÿä ³ âêàæ³òü ïîòð³áíó òåêó. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Âèáåð³òü òåêó, ç ÿêî¿ Âè áàæàºòå âèäàëèòè $(^NameDA):
+# ^SpaceAvailable
+"Äîñòóïíî ì³ñöÿ: "
+# ^SpaceRequired
+"Íåîáõ³äíî ì³ñöÿ: "
+# ^UninstallingText
+Ìàéñòåð âñòàíîâëåííÿ äîïîìîæå Âàì âèäàëèòè $(^NameDA) ç Âàøîãî êîìï'þòåðà. $_CLICK
+# ^UninstallingSubText
+Âèäàëåííÿ ç:
+# ^FileError
+Íåìîæëèâî â³äêðèòè ôàéë äëÿ çàïèñó: \r\n\t"$0"\r\nÍàòèñí³òü Ïåðåðâàòè äëÿ òîãî, ùîá ïåðåðâàòè âñòàíîâëåííÿ,\r\nÏîâòîðèòè äëÿ òîãî, ùîá ïîâòîðèòè ñïðîáó çàïèñó ó ôàéë, ÷è\r\n²ãíîðóâàòè äëÿ òîãî, ùîá ïðîïóñòèòè öþ ä³þ
+# ^FileError_NoIgnore
+Íåìîæëèâî â³äêðèòè ôàéë äëÿ çàïèñó: \r\n\t"$0"\r\nÍàòèñí³òü Ïîâòîðèòè äëÿ òîãî, ùîá ïîâòîðèòè ñïðîáó çàïèñó ó ôàéë, ÷è\r\nÑêàñóâàòè äëÿ òîãî, ùîá ïåðåðâàòè âñòàíîâëåííÿ
+# ^CantWrite
+"Íåìîæëèâî çàïèñàòè: "
+# ^CopyFailed
+Êîï³þâàííÿ íåâä³ëå
+# ^CopyTo
+"Êîï³þâàííÿ â "
+# ^Registering
+"Ðåºñòðàö³ÿ: "
+# ^Unregistering
+"Âèäàëåííÿ ðåºñòðàö³¿: "
+# ^SymbolNotFound
+"Íåìîæëèâî çíàéòè ñèìâîë: "
+# ^CouldNotLoad
+"Íåìîæëèâî çàâàíòàæèòè: "
+# ^CreateFolder
+"Ñòâîðåííÿ òåêè: "
+# ^CreateShortcut
+"Ñòâîðåííÿ ÿðëèêà: "
+# ^CreatedUninstaller
+"Ñòâîðåííÿ ïðîãðàìè âèäàëåííÿ: "
+# ^Delete
+"Âèäàëåííÿ ôàéëó: "
+# ^DeleteOnReboot
+"Âèäàëåííÿ ï³ñëÿ ïåðåçàâàíòàæåííÿ: "
+# ^ErrorCreatingShortcut
+"Ïîìèëêà ñòâîðåííÿ ÿðëèêà: " 
+# ^ErrorCreating
+"Ïîìèëêà ñòâîðåííÿ: "
+# ^ErrorDecompressing
+Íåìîæëèâî âèòÿãíóòè äàí³. Ìîæëèâî ïîøêîäæåíèé äèñòðèáóòèâ.
+# ^ErrorRegistering
+Íåìîæëèâî çàðåºñòðóâàòè á³áë³îòåêó (DLL)
+# ^ExecShell
+"Âèêîíàííÿ êîìàíäè îáîëîíêè: " 
+# ^Exec
+"Âèêîíàííÿ: "
+# ^Extract
+"Âèòÿãíåííÿ: "
+# ^ErrorWriting
+"Âèòÿãíåííÿ: ïîìèëêà çàïèñó ôàéëà"
+# ^InvalidOpcode
+Äèñòðèáóòèâ ïîøêîäæåíèé: ïîìèëêîâèé êîä â³äïîâ³ä³
+# ^NoOLE
+"Íåìàº OLE äëÿ: " 
+# ^OutputFolder
+"Òåêà ïðèçíà÷åííÿ: "
+# ^RemoveFolder
+"Âèäàëåííÿ òåêè: "
+# ^RenameOnReboot
+"Ïåðå³ìåíóâàííÿ ï³ñëÿ ïåðåçàâàíàæåííÿ: "
+# ^Rename
+"Ïåðåéìåíóâàííÿ: "
+# ^Skipped
+"Ïðîïóùåíî: "
+# ^CopyDetails
+Êîï³þâàòè äåòàë³ ó áóôåð îáì³íó 
+# ^LogInstall
+Çàïèñóâàòè â ëîã ïðîöåñ âñòíîâëåííÿ
+# byte
+á
+# kilo
+Ê
+# mega
+Ì
+# giga
+Ã
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Kurdish.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Kurdish.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Kurdish.nsh	(revision 2961)
@@ -0,0 +1,122 @@
+;Language: Kurdish
+;By Rêzan Tovjîn
+;Updated by Erdal Ronahî (erdal.ronahi@gmail.com)
+
+!insertmacro LANGFILE "Kurdish" "Kurdî"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "$(^NameDA) Tu bi xêr hatî sêrbaziya sazkirinê"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Ev sêrbaz dê di dema sazkirina $(^NameDA) de rêberiya te bike.$\r$\n$\r$\nBerî tu dest bi sazkirinê bikî, em pêþniyar dikin tu hemû bernameyên vekirî bigirî. Bi vî rengî beyî tu komputera ji nû ve vekî dê hinek dosiyên pergalê bêpirsgirêk werin sazkirin.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Tu bi xêr hatî sêrbaziya rakirina bernameya $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Ev sêrbaz ji bo rakirina bernameya $(^NameDA) dê alîkariya te bike.$\r$\n$\r$\nBerî tu dest bi rakirina bernameyê bikî, bernameyên vekirî hemûyan bigire. Bi vî rengî dû re tu mecbûr namînî ku komputera xwe bigirî û ji nû ve veki.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Peymana Lîsansê"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Ji kerema xwe re berî tu bernameya $(^NameDA) saz bikî, peymana lîsansê bixwîne."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Heke tu þertên peymanê dipejirînî, 'Ez Dipejirînim'ê bitikîne. Ji bo sazkirina bernameya $(^NameDA) divê tu þertên peymanê bipejirînî."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Heke tu þertên peymanê dipejirînî, zeviya piþtrastkirinê ya jêrîn dagire. Ji bo tu bikarî bernameya $(^NameDA) saz bikî divê tu þertên peymanê bipejirînî. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Heke tu þertên peymanê dipejirînî, biþkojka erêkirinê ya jêrîn bitikîne. Ji bo sazkirina bernameya $(^NameDA) divê tu þertên peymanê bipejirînî. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Peymana Lîsansê"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Berî tu bernameya $(^NameDA) ji pergala xwe rakî peymanê bixwîne."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Heke tu þertên peymanê dipejirînî, 'Dipejirînim'ê bitikîne. Ji bo rakirina bernameya  $(^NameDA) divê tu þertên peymanê bipejirînî."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Heke tu þertên peymanê dipejirînî, zeviya erêkirinê ya jêrîn dagire. Ji bo tu bernameya $(^NameDA) ji pergala xwe rakî divê tu peymanê bipejirînî. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Heke tu þertên peymanê dipejirînî, biþkojka erêkirinê ya jêrîn hilbijêre. Ji bo tu bernameya  $(^NameDA) ji pergala xwe rakî divê tu þertên peymanê bipejirînî. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Ji bo dûmahîka peymanê biþkojka 'page down' bitikîne."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Hilbijartina pareyan"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Ji bo sazkirina $(^NameDA) pareyên tu dixwazî hilbijêre."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Hilbijartina Pareyan"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Pareya bernameya $(^NameDA) ku tu dixwazî rakî hilbijêre."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Dazanîn"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Ji bo tu der barê pareyan de agahiyan bistînî nîþanekê bibe ser pareyekê."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Ji bo tu der barê pareyan de agahiyan bistînî nîþanekê bibe ser pareyekê."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Hilbijartina peldanka armanckirî"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Peldanka tu dixwazî bernameya $(^NameDA) tê de were sazkirin hilbijêre."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Hilbijartina Peldanka Dê Were Rakirin"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Peldanka bernameya $(^NameDA) ku tudixwazî rakî hilbijêre."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Tê sazkirin"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Ji kerema xwe re heta sazkirina $(^NameDA) biqede raweste."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Sazkirin Qediya"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Sazkirin bi serkeftinî qediya."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Sazkirin hate betalkirin"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Sazkirin be tevahî qediya."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Tê rakirin"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Heta bernameya $(^NameDA) ji pergala te were rakirin raweste."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Rakirina Bernameyê Biqedîne"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Rakirina bernameyê bi serkeftin pêk hat."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Rakirina bernameyê hate betalkirin"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Rakirina bernameyê neqediya."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Sêrbaziya sazkirina $(^NameDA) diqede."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) li komputera te hate barkirin.$\r$\n$\r$\n'Biqedîne'yê bitikîne û sazkirinê bi dawî bîne."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Ji bo bidawîkirina sazkirina $(^NameDA) divê tu komputerê ji nû ve vekî.Tu dixwazî komputerê ji nû ve vekî?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Sêrbaziya Rakirina Bernameya $(^NameDA) Tê Temamkirin"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "Bernameya $(^NameDA) ji pergale hate rakirin.$\r$\n$\r$\nJi bo girtina sêrbaz 'biqedîne'yê bitikîne."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Ji bo rakirina bernameya $(^NameDA) biqede divê tu komputera xwe ji nû ve vekî. Tu dixwazî niha komputera te were girtin û ji nû ve dest pê bike?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Ji nû ve veke"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Ezê paþê ji nû ve vekim."
+  ${LangFileString} MUI_TEXT_FINISH_RUN "Bernameya $(^NameDA) bixebitîne"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Dosiya min bixwîne/readme &nîþan bide"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Biqedîne"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Hilbijartina Peldanka Pêþeka Destpêkê"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Peldanka pêþeka destpêkê ya ku dê kineriya $(^NameDA) tê de were bikaranîn hilbijêre."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Peldanka pêþeka destpêkê ya ku dê kineriya bernameyê tê de were bicihkirin hilbijêre.  Tu dikarî bi navekî nû peldankeke nû ava bikî."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Bêyî çêkirina kineriyê bidomîne"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Bernameya $(^NameDA) Rake"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Rakirina bernameya $(^NameDA) ji pergala te."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Tu bawer î ku dixwazî ji sazkirina $(^Name) derkevî?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Tu bawer î ku dixwazî dest ji rakirina bernameya $(^Name) berdî?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Mongolian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Mongolian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Mongolian.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1104
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1251
+# RTL - anything else than RTL means LTR
+-
+# Translation by Bayarsaikhan Enkhtaivan. ebayaraa@gmail.com
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) Ñóóëãàö
+# ^UninstallCaption
+$(^Name) Ñóóëãàñíûã óñòãàõ
+# ^LicenseSubCaption
+: Ëèöåíçèéí çºâøººðºë
+# ^ComponentsSubCaption
+: Ñóóëãàõ ñîíãîëò
+# ^DirSubCaption
+: Ñóóëãàõ Õàâòàñ
+# ^InstallingSubCaption
+:Ñóóëãàæ áàéíà
+# ^CompletedSubCaption
+: Äóóñëàà
+# ^UnComponentsSubCaption
+: Ñóóëãàñíûã óñòãàõûí Ñîíãîëò
+# ^UnDirSubCaption
+: Ñóóëãàñíûã óñòãàõ Õàâòàñ
+# ^ConfirmSubCaption
+: Áàòëàìæ
+# ^UninstallingSubCaption
+: Ñóóëãàñíûã óñòãàæ áàéíà
+# ^UnCompletedSubCaption
+: Äóóñëàà
+# ^BackBtn
+< &Áóöàõ
+# ^NextBtn
+&Öààø>
+# ^AgreeBtn
+&Çºâøººðëºº
+# ^AcceptBtn
+Áè Ëèöåíçèéí Çºâøººðëèéí ç¿éë¿¿äèéã  &çºâøººð÷ áàéíà
+# ^DontAcceptBtn
+Áè Ëèöåíçèéí Çºâøººðëèéí ç¿éë¿¿äèéã  &çºâøººðºõã¿é áàéíà
+# ^InstallBtn
+&Ñóóëãà
+# ^UninstallBtn
+&Óñòãà
+# ^CancelBtn
+Áîëèõ
+# ^CloseBtn
+&Xaax
+# ^BrowseBtn
+Õ&ºòëºõ...
+# ^ShowDetailsBtn
+&Äýëãýðýíã¿é
+# ^ClickNext
+Öààø äýýð äàðâàë ¿ðãýëæèëíý.
+# ^ClickInstall
+Ñóóëãà äýýð äàðâàë ñóóëãàö ýõýëíý.
+# ^ClickUninstall
+Óñòãà äýýð äàðâàë ñóóëãàöûí óñòãàëò ýõýëíý.
+# ^Name
+Íýð
+# ^Completed
+Äóóñëàà
+# ^LicenseText
+$(^NameDA)-ã ñóóëãàõûí ºìíº Ëèöåíçèéí Çºâøººðëèéã óíøèíà óó. Õýðýâ òà çºâøèëöëèéí ç¿éë¿¿äèéã çºâøººð÷ áàéâàë, Çºâøººðëºº-ã äàðíà óó.
+# ^LicenseTextCB
+$(^NameDA)-ã ñóóëãàõûí ºìíº Ëèöåíçèéí Çºâøººðëèéã óíøèíà óó. Õýðýâ òà çºâøèëöëèéí ç¿éë¿¿äèéã çºâøººð÷ áàéâàë, äîîðõ í¿äèéã ÷àãòàëíà óó. $_CLICK
+# ^LicenseTextRB
+$(^NameDA)-ã ñóóëãàõûí ºìíº Ëèöåíçèéí Çºâøººðëèéã óíøèíà óó. Õýðýâ òà çºâøèëöëèéí ç¿éë¿¿äèéã çºâøººð÷ áàéâàë, äîîðõ ýõíèé ñîíãîëòûã ñîíãîíî óó. $_CLICK
+# ^UnLicenseText
+$(^NameDA)-ã ñóóëãàõûí ºìíº Ëèöåíçèéí Çºâøººðëèéã óíøèíà óó. Õýðýâ òà çºâøèëöëèéí ç¿éë¿¿äèéã çºâøººð÷ áàéâàë, Çºâøººðëºº-ã äàðíà óó.
+# ^UnLicenseTextCB
+$(^NameDA)-ã ñóóëãàõûí ºìíº Ëèöåíçèéí Çºâøººðëèéã óíøèíà óó. Õýðýâ òà çºâøèëöëèéí ç¿éë¿¿äèéã çºâøººð÷ áàéâàë, äîîðõ í¿äèéã ÷àãòàëíà óó. $_CLICK
+# ^UnLicenseTextRB
+$(^NameDA)-ã ñóóëãàõûí ºìíº Ëèöåíçèéí Çºâøººðëèéã óíøèíà óó. Õýðýâ òà çºâøèëöëèéí ç¿éë¿¿äèéã çºâøººð÷ áàéâàë, äîîðõ ýõíèé ñîíãîëòûã ñîíãîíî óó. $_CLICK
+# ^Custom
+Áóñàä
+# ^ComponentsText
+Ñóóëãàõûã õ¿ññýí íýãäëýý ÷àãòëààä, ñóóëãàõûã õ¿ñýõã¿é áóéãàà á¿¿ ÷àãòëààðàé. $_CLICK
+# ^ComponentsSubText1
+Ñóóëãàõ òºðëèéã ñîíãîíî óó:
+# ^ComponentsSubText2_NoInstTypes
+Ñóóëãàõ íýãäëèéã ñîíãîíî óó:
+# ^ComponentsSubText2
+Ýñâýë, çààâàë ñóóëãàõã¿é áàéõ íýãäë¿¿äèéã ñîíãî:
+# ^UnComponentsText
+Óñòãàõûã õ¿ññýí íýãäëýý ÷àãòëààä, óñòãàõûã õ¿ñýõã¿é áàéãààãàà á¿¿ ÷àãòëààðàé. $_CLICK
+# ^UnComponentsSubText1
+Óñòãàõ òºðëèéã ñîíãîíî óó:
+# ^UnComponentsSubText2_NoInstTypes
+Óñòãàõ íýãäë¿¿äèéã ñîíãîíî óól:
+# ^UnComponentsSubText2
+Ýñâýë, çààâàë óñòãàõã¿é áàéõ íýãäë¿¿äèéã ñîíãî:
+# ^DirText
+$(^NameDA) íü äàðààõ õàâòñàíä ñóóíà. ªºð ãàçàð ñóóëãàõûã õ¿ñâýë Õºòëºõ òîâ÷ äýýð äàðàí ººð õàâòàñ ñîíãîíî óó. $_CLICK
+# ^DirSubText
+Çîðèëòîò Õàâòàñ
+# ^DirBrowseText
+$(^NameDA)-ûã ñóóëãàõ õàâòñûã ñîíãîõ:
+# ^UnDirText
+$(^NameDA)-ã óã õàâòàñíààñ óñòãàíà. ªºð ãàçðààñ óñòãàõûã õ¿ñâýë Õºòëºõ òîâ÷ äýýð äàðàí ººð õàâòàñ ñîíãîíî óó. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+$(^NameDA)-ã óñòãàõ õàâòñûã ñîíãîõ:
+# ^SpaceAvailable
+"Áîëîìæèò çàé: "
+# ^SpaceRequired
+"Øààðäàãäàõ çàé: "
+# ^UninstallingText
+$(^NameDA) íü óã õàâòàñíààñ óñòãàãäëàà. $_CLICK
+# ^UninstallingSubText
+Óñòãàãäàõ ãàçàð:
+# ^FileError
+Ôàéë áè÷èõýýð íýýõýä àëäëàà: \r\n\t"$0"\r\nÒàñëàõ äàðâàë ñóóëãàëò òàñëàãäàíà,\r\nÄàõüÿ äàðâàë ôàéëûã áè÷èõýýð äàõèí îðîëäîíî,\r\nýñâýë ¯ë òîîõ äàðâàë óã ôàéëûã àëãàñíà
+# ^FileError_NoIgnore
+Ôàéë áè÷èõýýð íýýõýä àëäëàà: \r\n\t"$0"\r\nÄàõèÿ äàðâàë ôàéëûã áè÷èõýýð äàõèí îðîëäîíî, \r\nýñâýë áîëèõ äàðâàë ñóóëãàëò òàñëàãäàíà
+# ^CantWrite
+"Áè÷èæ ÷àäñàíã¿é: "
+# ^CopyFailed
+Õóóëàëò á¿òñýíã¿é
+# ^CopyTo
+"Õóóëàõ íü "
+# ^Registering
+"Á¿ðòãýæ áàéíà: "
+# ^Unregistering
+"Á¿ðòãýëèéã àðèëãàæ áàéíà: "
+# ^SymbolNotFound
+"Òýìäýã õàéãäñàíã¿é: "
+# ^CouldNotLoad
+"Äóóäàãäñàíã¿é: "
+# ^CreateFolder
+"¯¿ñãýõ õàâòàñ: "
+# ^CreateShortcut
+"¯¿ñãýõ shortcut: "
+# ^CreatedUninstaller
+"¯¿ññýí uninstaller: "
+# ^Delete
+"Ôàéë óñòãàõ: "
+# ^DeleteOnReboot
+"Ä.à÷ààëàõàä óñòãàõ: "
+# ^ErrorCreatingShortcut
+"Shortcut ¿¿ñãýõýä àëäëàà: "
+# ^ErrorCreating
+"¯¿ñãýõ àëäàà: "
+# ^ErrorDecompressing
+ªãºãäºë çàäëàõàä àëäëàà! Ñóóëãàö ýâäýð÷ýý?
+# ^ErrorRegistering
+DLL á¿ðòã¿¿ëýõýä àëäëàà
+# ^ExecShell
+"Àæèëëóóëàõ êîìàíä(ExecShell): "
+# ^Exec
+"Àæèëëóóëàõ: "
+# ^Extract
+"Çàäëàõ: "
+# ^ErrorWriting
+"Çàäëàëò:ôàéë ðóó áè÷èõýä àëäàà "
+# ^InvalidOpcode
+Ñóóëãàö ýâäýð÷ýý: çàäëàõ êîä áóðóó
+# ^NoOLE
+"OLE áàéõã¿é: "
+# ^OutputFolder
+"Ãàðãàõ õàâòàñ: "
+# ^RemoveFolder
+"Óñòãàõ õàâòàñ: "
+# ^RenameOnReboot
+"Ä.à÷ààëàõàä äàõèí íýðëýõ: "
+# ^Rename
+"Äàõèí íýðëýõ: "
+# ^Skipped
+"Àëãàññàí: "
+# ^CopyDetails
+Äýëãýðýíã¿éã Clipboard ðóó õóóëàõ
+# ^LogInstall
+Ñóóëãàõ ÿâöûí áàðèìò
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Serbian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Serbian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Serbian.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+3098
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1251
+# RTL - anything else than RTL means LTR
+-
+# Translation by Ñð�àí Îáóžèíà <obucina@srpskijezik.edu.yu>
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) Èíñòàëàöè¼à
+# ^UninstallCaption
+$(^Name) Äåèíñòàëàöè¼à
+# ^LicenseSubCaption
+: Äîãîâîð î ïðàâó êîðèøžåœà
+# ^ComponentsSubCaption
+: Îïöè¼å èíñòàëàöè¼å
+# ^DirSubCaption
+: Èçáîð ôîëäåðà çà èíñòàëàöè¼ó
+# ^InstallingSubCaption
+: Èíñòàëàöè¼à
+# ^CompletedSubCaption
+: Çàâðøåíà èíñòàëàöè¼à
+# ^UnComponentsSubCaption
+: Îïöè¼å äåèíñòàëàöè¼å
+# ^UnDirSubCaption
+: Èçáîð ôîëäåðà çà äåèíñòàëàöè¼ó
+# ^ConfirmSubCaption
+: Ïîòâð�èâàœå
+# ^UninstallingSubCaption
+: Äåèíñòàëàöè¼à
+# ^UnCompletedSubCaption
+: Çàâðøåíà äåèíñòàëàöè¼à
+# ^BackBtn
+< Íàçàä
+# ^NextBtn
+Íàïðåä >
+# ^AgreeBtn
+Ïðèõâàòàì
+# ^AcceptBtn
+Ïðèõâàòàì óñëîâå äîãîâîðà î ïðàâó êîðèøžåœà
+# ^DontAcceptBtn
+Íå ïðèõâàòàì óñëîâå äîãîâîðà î ïðàâó êîðèøžåœà
+# ^InstallBtn
+Èíñòàëèðà¼
+# ^UninstallBtn
+Äåèíñòàëèðà¼
+# ^CancelBtn
+Îäóñòàíè
+# ^CloseBtn
+Çàòâîðè
+# ^BrowseBtn
+Èçáîð...
+# ^ShowDetailsBtn
+Äåòàšè
+# ^ClickNext
+Ïðèòèñíèòå äóãìå „Íàïðåä“ çà íàñòàâàê.
+# ^ClickInstall
+Ïðèòèñíèòå äóãìå „Èíñòàëèðà¼“ çà ïî÷åòàê èíñòàëàöè¼å.
+# ^ClickUninstall
+Ïðèòèñíèòå äóãìå „Äåèíñòàëèðà¼“ çà ïî÷åòàê äåèíñòàëàöè¼å.
+# ^Name
+Èìå
+# ^Completed
+Çàâðøåíî
+# ^LicenseText
+Ïàæšèâî ïðî÷èòà¼òå äîãîâîð î ïðàâó êîðèøžåœà ïðå èíñòàëàöè¼å ïðîãðàìà $(^NameDA). Àêî ïðèõâàòàòå ñâå óñëîâå äîãîâîðà, ïðèòèñíèòå äóãìå „Ïðèõâàòàì“.
+# ^LicenseTextCB
+Ïàæšèâî ïðî÷èòà¼òå äîãîâîð î ïðàâó êîðèøžåœà ïðå èíñòàëàöè¼å ïðîãðàìà $(^NameDA). Àêî ïðèõâàòàòå ñâå óñëîâå äîãîâîðà, îáåëåæèòå êâàäðàòèž èñïîä. $_CLICK
+# ^LicenseTextRB
+Ïàæšèâî ïðî÷èòà¼òå äîãîâîð î ïðàâó êîðèøžåœà ïðå èíñòàëàöè¼å ïðîãðàìà $(^NameDA). Àêî ïðèõâàòàòå ñâå óñëîâå äîãîâîðà, èçàáåðèòå ïðâó îïöè¼ó èñïîä. $_CLICK
+# ^UnLicenseText
+Ïàæšèâî ïðî÷èòà¼òå äîãîâîð î ïðàâó êîðèøžåœà ïðå äåèíñòàëàöè¼å ïðîãðàìà $(^NameDA). Àêî ïðèõâàòàòå ñâå óñëîâå äîãîâîðà, ïðèòèñíèòå äóãìå „Ïðèõâàòàì“.
+# ^UnLicenseTextCB
+Ïàæšèâî ïðî÷èòà¼òå äîãîâîð î ïðàâó êîðèøžåœà ïðå äåèíñòàëàöè¼å ïðîãðàìà $(^NameDA). Àêî ïðèõâàòàòå ñâå óñëîâå äîãîâîðà, îáåëåæèòå êâàäðàòèž èñïîä. $_CLICK
+# ^UnLicenseTextRB
+Ïàæšèâî ïðî÷èòà¼òå äîãîâîð î ïðàâó êîðèøžåœà ïðå äåèíñòàëàöè¼å ïðîãðàìà $(^NameDA). Àêî ïðèõâàòàòå ñâå óñëîâå äîãîâîðà, èçàáåðèòå ïðâó îïöè¼ó èñïîä. $_CLICK
+# ^Custom
+Ïðèëàãî�àâàœå
+# ^ComponentsText
+Èçàáåðèòå êîìïîíåíòå çà èíñòàëàöè¼ó. Èíñòàëèðà¼ó ñå ñàìî îçíà÷åíå êîìïîíåíòå. $_CLICK
+# ^ComponentsSubText1
+Èçàáåðèòå òèï èíñòàëàöè¼å:
+# ^ComponentsSubText2_NoInstTypes
+Èçàáåðèòå êîìïîíåíòå çà èíñòàëàöè¼ó: 
+# ^ComponentsSubText2
+Èëè, èçàáåðèòå îïöèîíå êîìïîíåíòå êî¼å æåëèòå äà èíñòàëèðàòå: 
+# ^UnComponentsText
+Èçàáåðèòå êîìïîíåíòå çà äåèíñòàëàöè¼ó. Äåèíñòàëèðà¼ó ñå ñàìî îçíà÷åíå êîìïîíåíòå. $_CLICK
+# ^UnComponentsSubText1
+Èçàáåðèòå òèï äåèíñòàëàöè¼å: 
+# ^UnComponentsSubText2_NoInstTypes
+Èçàáåðèòå êîìïîíåíòå çà äåèíñòàëàöè¼ó: 
+# ^UnComponentsSubText2
+Èëè, èçàáåðèòå îïöèîíå êîìïîíåíòå êî¼å æåëèòå äà äåèíñòàëèðàòå: 
+# ^DirText
+Ïðîãðàì $(^NameDA) žå áèòè èíñòàëèðàí ó íàâåäåíè ôîëäåð. Çà èíñòàëàöè¼ó ó äðóãè ôîëäåð ïðèòèñíèòå äóãìå „Èçáîð...“ è èçàáåðèòå ôîëäåð. $_CLICK
+# ^DirSubText
+Ôîëäåð
+# ^DirBrowseText
+Èçàáåðèòå ôîëäåð ó êî¼è žåòå èíñòàëèðàòè ïðîãðàì $(^NameDA):
+# ^UnDirText
+Ïðîãðàì $(^NameDA) žå áèòè äåèíñòàëèðàí èç íàâåäåíîã ôîëäåðà. Çà äåèíñòàëàöè¼ó èç äðóãîã ôîëäåðà ïðèòèñíèòå äóãìå „Èçáîð...“ è èçàáåðèòå ôîëäåð. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Èçàáåðèòå ôîëäåð èç êîãà žåòå äåèíñòàëèðàòè ïðîãðàì $(^NameDA):
+# ^SpaceAvailable
+"Ñëîáîäàí ïðîñòîð: "
+# ^SpaceRequired
+"Ïîòðåáàí ïðîñòîð: "
+# ^UninstallingText
+Ïðîãðàì $(^NameDA) žå áèòè äåèíñòàëèðàí èç íàâåäåíîã ôîëäåðà. $_CLICK
+# ^UninstallingSubText
+Äåèíñòàëàöè¼à èç: 
+# ^FileError
+Ãðåøêà ïðè îòâàðàœó ôà¼ëà çà ïèñàœå: \r\n\t"$0"\r\nÏðèòèñíèòå äóãìå „Îäóñòàíè“ çà ïðåêèä èíñòàëàöè¼å,\r\n„Ïîíîâè“ çà ïîíîâíè ïîêóøà¼ ïèñàœà ó ôà¼ë, èëè\r\n„Èãíîðèøè“ çà ïðåñêàêàœå îâîã ôà¼ëà.
+# ^FileError_NoIgnore
+Ãðåøêà ïðè îòâàðàœó ôà¼ëà çà ïèñàœå: \r\n\t"$0"\r\nÏðèòèñíèòå äóãìå „Ïîíîâè“ çà ïîíîâíè ïîêóøà¼ ïèñàœà ó ôà¼ë, èëè\r\n„Îäóñòàíè“ çà ïðåêèä èíñòàëèðàœà.
+# ^CantWrite
+"Íåìîãóžå ïèñàœå: "
+# ^CopyFailed
+Íåóñïåøíî êîïèðàœå
+# ^CopyTo
+"Êîïèðàœå ó "
+# ^Registering
+"Ðåãèñòðîâàœå: "
+# ^Unregistering
+"Äåðåãèñòðîâàœå: "
+# ^SymbolNotFound
+"Ñèìáîë íè¼å íà�åí: "
+# ^CouldNotLoad
+"Íåìîãóžå ó÷èòàâàœå: "
+# ^CreateFolder
+"Êðåèðàœå ôîëäåðà: "
+# ^CreateShortcut
+"Êðåèðàœå ïðå÷èöå: "
+# ^CreatedUninstaller
+"Êðåèðàœå äåèíñòàëåðà: "
+# ^Delete
+"Áðèñàœå ôà¼ëà: "
+# ^DeleteOnReboot
+"Áðèñàœå ïðè ðåñòàðòó: "
+# ^ErrorCreatingShortcut
+"Ãðåøêà ïðè êðåèðàœó ïðå÷èöå: "
+# ^ErrorCreating
+"Ãðåøêà ïðè êðåèðàœó: "
+# ^ErrorDecompressing
+Ãðåøêà ïðè îòïàêèâàœó ïîäàòàêà! Îøòåžåí èíñòàëàöèîíè ïðîãðàì?
+# ^ErrorRegistering
+Ãðåøêà ïðè ðåãèñòðîâàœó áèáëèîòåêå
+# ^ExecShell
+"Èçâðøàâàœå ó îêðóæåœó: "
+# ^Exec
+"Èçâðøàâàœå: "
+# ^Extract
+"Îòïàêèâàœå: "
+# ^ErrorWriting
+"Îòïàêèâàœå: ãðåøêà ïðè óïèñó ó ôà¼ë "
+# ^InvalidOpcode
+Îøòåžåí èíñòàëàöèîíè ïðîãðàì: íåèñïðàâíà êîìàíäà 
+# ^NoOLE
+"Íåìà OLE ïîäðøêå çà: "
+# ^OutputFolder
+"Èçëàçíè ôîëäåð: "
+# ^RemoveFolder
+"Áðèñàœå ôîëäåðà: "
+# ^RenameOnReboot
+"Ïðåèìåíîâàœå ïðè ðåñòàðòîâàœó: "
+# ^Rename
+"Ïðåèìåíîâàí: "
+# ^Skipped
+"Ïðåñêî÷åí: "
+# ^CopyDetails
+Êîïèðà¼ äåòàšå ó êëèïáîðä
+# ^LogInstall
+Âîäè çàïèñíèê î ïðîöåñó èíñòàëàöè¼å
+# ^Byte
+B
+# ^Kilo
+k
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Hebrew.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Hebrew.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Hebrew.nsh	(revision 2961)
@@ -0,0 +1,129 @@
+;Language: Hebrew (1037)
+;By Yaron Shahrabani
+
+!insertmacro LANGFILE "Hebrew" "Hebrew"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "áøåëéí äáàéí ìàùó ääú÷ðä ùì $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "àùó æä éðçä àúëí áîäìê ääú÷ðä ùì $(^NameDA).$\r$\n$\r$\nîåîìõ ìñâåø ëì úåëðéú àçøú ìôðé äúçìú ääú÷ðä. ôòåìä æå úàôùø ìàùó ìòãëï ÷áöé îòøëú ììà àéúçåì äîçùá.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "áøåëéí äáàéí ìàùó ääñøä ùì $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "àùó æä éðçä àúëí áîäìê ääñøä ùì $(^NameDA).$\r$\n$\r$\nîåîìõ ìñâåø ëì úåëðéú àçøú ìôðé äúçìú ääñøä. ôòåìä æå úàôùø ìàùó ìòãëï ÷áöé îòøëú ììà àéúçåì äîçùá.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "äñëí øéùåé"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "ðà òééï áúðàé äñëí äøéùåé ìôðé äú÷ðú $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "àí àúä î÷áì àú úðàé ääñëí, ìçõ òì 'àðé îñëéí' ëãé ìäîùéê. àí ìà úñëéí ìúðàé ääñëí ìà úåëì ìäú÷éï àú $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "àí àúä î÷áì àú úðàé ääñëí, ñîï àú úéáú äáçéøä ùìäìï. òìééê ì÷áì àú úðàé ääñëí áëãé ìäú÷éï àú $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "àí àúä î÷áì àú úðàé ääñëí, áçø áàôùøåú äøàùåðä ùìäìï. òìééê ì÷áì àú ääñëí ëãé ìäú÷éï àú $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "äñëí øéùåé"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "ðà òééï áúðàé äñëí äøéùåé ìôðé äñøú $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "àí àúä î÷áì àú úðàé ääñëí, ìçõ òì 'àðé îñëéí' ëãé ìäîùéê. àí ìà ú÷áì àú úðàé ääñëí ìà úåëì ìäñéø àú $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "àí àúä î÷áì àú úðàé ääñëí, ñîï àú úéáú äáçéøä ùìäìï. òìééê ì÷áì àú úðàé ääñëí ëãé ìäñéø àú $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "àí àúä î÷áì àú úðàé ääñëí, áçø áàôùøåú äøàùåðä ùìäìï. òìééê ì÷áì àú ääñëí ëãé ìäñéø àú $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "ëãé ìöôåú áùàø äñëí äøéùåé ìçõ òì Page Down."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "áçø øëéáéí"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "áçø àéìå øëéáéí ùì $(^NameDA) áøöåðê ìäú÷éï."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "áçø øëéáéí"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "áçø àéìå úëåðåú ùì $(^NameDA) áøöåðê ìäñéø."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "úéàåø"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "äòáø àú äòëáø îòì øëéá ëìùäå áëãé ìöôåú áúéàåøå."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "äòáø àú äòëáø îòì øëéá ëìùäå áëãé ìöôåú áúéàåøå."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "áçø îé÷åí ìäú÷ðä"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "áçø àú äúé÷ééä áä àúä îòåðééï ìäú÷éï àú $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "áçø îé÷åí ìäñøä"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "áçø àú äúé÷ééä îîðä àúä îòåðééï ìäñéø àú $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "îú÷éï"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "àðà äîúï áæîï ù-$(^NameDA) îåú÷ï."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "ääú÷ðä äåùìîä"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "ääú÷ðä äåùìîä áîìåàä."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "ääú÷ðä áåèìä"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "ääú÷ðä ìà äåùìîä äîìåàä."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "îñéø"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "àðà äîúï áæîï ù-$(^NameDA) îåñø îäîçùá."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "ääñøä äåùìîä"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "ääñøä äåùìîä áîìåàä."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "ääñøä áåèìä"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "ääñøä ìà äåùìîä áîìåàä."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "îùìéí àú àùó ääú÷ðä ùì $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) äåú÷ï áäöìçä.$\r$\n$\r$\nìçõ òì ñéåí ëãé ìñâåø àú äàùó."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "òìééê ìàúçì àú äîçùá ëãé ìñééí àú äú÷ðú $(^NameDA). äàí áøöåðê ìàúçì ëòú?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "îùìéí àú àùó ääñøä ùì $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) äåñø áäöìçä.$\r$\n$\r$\nìçõ òì ñéåí ëãé ìñâåø àú äàùó."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "òìééê ìàúçì àú äîçùá ëãé ìñééí àú äñøú $(^NameDA). äàí áøöåðê ìàúçì ëòú?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "àúçì ëòú"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "áøöåðé ìàúçì éãðéú îàåçø éåúø"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&äøõ àú $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&äöâ îñîê '÷øà àåúé'"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&ñééí"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "áçø úé÷ééä áúôøéè ääúçìä"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "áçø áúé÷ééú úôøéè ääúçìä áä éååöøå ÷éöåøé äãøê ùì äúåëðéú."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "áçø áúé÷ééä îúôøéè ääúçìä áä áøöåðê ìéöåø àú ÷éöåøé äãøê òáåø äúåëðéú. áàôùøåúê âí ìä÷ìéã àú ùí äúé÷ééä ëãé ìéöåø úé÷ééä çãùä."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "àì úéöåø ÷éöåøé ãøê"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "äñø àú $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "äñø àú $(^NameDA) îäîçùá."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "äàí àúä áèåç ùáøöåðê ìöàú îäú÷ðú $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "äàí àúä áèåç ùáøöåðê ìöàú îäñøú $(^Name)?"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "áçø îùúîùéí"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "áçø ìàéìå îùúîùéí ìäú÷éï àú $(^NameDA)."
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "áçø äàí ìäú÷éï àú $(^NameDA) ìòöîê àå ìëì äîùúîùéí ùì äîçùá. $(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "äú÷ï ìëì îùúîùé äîçùá"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "äú÷ï ø÷ ìîùúîù ùìé"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/NorwegianNynorsk.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/NorwegianNynorsk.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/NorwegianNynorsk.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Norwegian nynorsk (2068)
+;By Vebjoern Sture and Håvard Mork (www.firefox.no)
+
+!insertmacro LANGFILE "NorwegianNynorsk" "Norwegian nynorsk"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Velkommen til $(^NameDA) innstallasjonsvegvisar"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Denne vegvisaren vil leie deg gjennom installeringa av $(^NameDA).$\n$\nDet er tilrådd at du avsluttar alle andre program før du held fram. Dette vil la installeringsprogrammet oppdatera systemfiler utan at du må starta datamaskinen på nytt.$\n$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Velkommen til avinstallering av $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Denne vegvisaren vil leie deg gjennom avinstalleringen av $(^NameDA).$\n$\nFør du fortsetter må du forsikre deg om at $(^NameDA) ikkje er opent.$\n$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Lisensavtale"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Les gjennom lisensavtalen før du startar installeringa av $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Trykk på «Godta» dersom du godtar betingelsane i avtala. Du må godta avtala for å installere $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Trykk på avkryssingsboksen nedanfor nedanfor dersom du godtar betingelsane i avtala. Du må godta avtala for å installere $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Vel det første alternativet nedanfor dersom du godtek vilkåra i avtala. Du må godta avtala for å installera $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Lisensavtale"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Les gjennom lisensavtalen før du startar avinstalleringa av $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Trykk på «Godta» dersom du godtar betingelsane i avtala. Du må godta avtala for å avinstallera $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Trykk på avkryssingsboksen nedanfor nedanfor dersom du godtar betingelsane i avtala. Du må godta avtala for å avinstallera $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Vel det første alternativet nedanfor dersom du godtar betingelsane i avtala. Du må godta avtala for å avinstallera $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Trykk Page Down-knappen for å sjå resten av lisensavtala."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Vel komponentar"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Vel kva delar av $(^NameDA) du ynskjer å installera."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Vel funksjonar"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Vel kva for funksjonar du vil avinstallera i $(^NameDA)."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Beskriving"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Beveg musa over komponentene for å sjå beskrivinga."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Beveg musa over komponentene for å sjå beskrivinga."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Vel installasjonsmappe"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Vel kva mappe du vil installera $(^NameDA) i."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Vel avinstalleringplassering"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Vel mappa du vil avinstallere $(^NameDA) frå."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Installerer"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Vent mens $(^NameDA) blir installert."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Installeringa er fullført"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Installeringa vart fullført."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Installeringa vart avbroten"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Installeringa vart ikkje fullført."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Avinstallerer"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Vent medan $(^NameDA) vert avinstallert."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Avinstallering ferdig"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Avinstallering ble utført uten feil."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Avinstallering broten"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Avinstallering ble ikkje utført riktig."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Installering fullført"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) er installert og klar til bruk.$\n$\nTrykk på «Fullfør» for å avslutte installeringa."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Du må starta datamaskinen på nytt for å fullføra installeringa av $(^NameDA). Vil du starta på nytt no?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Fullfører avinstalleringa av $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) er no avinstallert frå datamaskina di.$\n$\nTrykk på «Fullfør» for å avslutta denne vegvisaren."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Datamaskinen må starta på nytt for å fullføra avinstalleringa av $(^NameDA). Vil du starta datamaskina på nytt no?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Start på nytt no"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Eg vil starta på nytt seinare"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Køyr $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Syn lesmeg"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Fullfør"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Vel mappe på startmenyen"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Vel kva mappe snarvegane til $(^NameDA) skal liggja i."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Vel mappa du vil oppretta snarvegane til programmet i. Du kan òg skriva inn eit nytt namn for å laga ei ny mappe."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Ikkje opprett snarvegar"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Avinstaller $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Slett $(^NameDA) frå datamaskinen."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Er du viss på at du vil avslutta installeringa av $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Er du viss på at du vil avbryta avinstalleringa av $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Indonesian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Indonesian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Indonesian.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1057
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+-
+# RTL - anything else than RTL means LTR
+-
+# Translation ariel825010106@yahoo.com modified and completed by was.uthm@gmail.com in April 2009
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+Instalasi Program $(^Name)
+# ^UninstallCaption
+Penghapusan Program $(^Name)
+# ^LicenseSubCaption
+: Perihal Lisensi
+# ^ComponentsSubCaption
+: Pilihan Instalasi
+# ^DirSubCaption
+: Lokasi Instalasi
+# ^InstallingSubCaption
+: Proses Instalasi
+# ^CompletedSubCaption
+: Selesai
+# ^UnComponentsSubCaption
+: Pilihan Penghapusan
+# ^UnDirSubCaption
+: Berkas Lokasi yang dihapus
+# ^ConfirmSubCaption
+: Konfirmasi
+# ^UninstallingSubCaption
+: Proses Penghapusan
+# ^UnCompletedSubCaption
+: Selesai
+# ^BackBtn
+< &Mundur
+# ^NextBtn
+&Lanjut >
+# ^AgreeBtn
+Saya &Setuju
+# ^AcceptBtn
+Saya s&etuju dengan Perihal Lisensi
+# ^DontAcceptBtn
+Saya &tidak setuju dengan Perihal Lisensi
+# ^InstallBtn
+&Instal
+# ^UninstallBtn
+&Hapus
+# ^CancelBtn
+Batalkan
+# ^CloseBtn
+&Tutup
+# ^BrowseBtn
+Ca&ri...
+# ^ShowDetailsBtn
+Lihat &perincian
+# ^ClickNext
+Tekan tombol Lanjut untuk melanjutkan.
+# ^ClickInstall
+Tekan tombol Instal untuk memulai instalasi.
+# ^ClickUninstall
+Tekan tombol Hapus untuk memulai penghapusan.
+# ^Name
+Nama
+# ^Completed
+Selesai
+# ^LicenseText
+Silahkan membaca lisensi berikut sebelum memulai instalasi $(^NameDA). Jika anda menyetujui dan menerima semua pernyataan, tekan tombol Saya Setuju.
+# ^LicenseTextCB
+Silahkan membaca lisensi berikut sebelum memulai instalasi $(^NameDA). Jika anda menyetujui dan menerima semua pernyataan, beri tanda centang. $_CLICK
+# ^LicenseTextRB
+Silahkan membaca lisensi berikut sebelum memulai instalasi $(^NameDA). Jika anda menyetujui dan menerima semua pernyataan, pilihlah salah satu item dibawah ini. $_CLICK
+# ^UnLicenseText
+Silahkan membaca lisensi berikut sebelum mulai menghapus $(^NameDA). Jika anda menyetujui dan menerima semua pernyataan, tekan tombol Saya Setuju.
+# ^UnLicenseTextCB
+Silahkan membaca lisensi berikut sebelum mulai menghapus $(^NameDA). Jika anda menyetujui dan menerima semua pernyataan, beri tanda centang. $_CLICK
+# ^UnLicenseTextRB
+Silahkan membaca lisensi berikut sebelum mulai menghapus $(^NameDA). Jika anda menyetujui dan menerima semua pernyataan, pilihlah salah satu item dibawah ini. $_CLICK
+# ^Custom
+Tentukan Sendiri
+# ^ComponentsText
+Beri tanda centang pada komponen yang akan di instal and hilangkan tanda centang pada komponen yang tidak perlu di instal. $_CLICK
+# ^ComponentsSubText1
+Pilih tipe instalasi:
+# ^ComponentsSubText2_NoInstTypes
+Pilih komponen-komponen yang akan di instal:
+# ^ComponentsSubText2
+Atau, pilih komponen tambahan yang akan di instal:
+# ^UnComponentsText
+Beri tanda centang pada komponen yang akan dihapus and hilangkan tanda centang pada komponen yang tidak ingin dihapus. $_CLICK
+# ^UnComponentsSubText1
+Pilih tipe penghapusan:
+# ^UnComponentsSubText2_NoInstTypes
+Pilih komponen-komponen yang ingin dihapus:
+# ^UnComponentsSubText2
+Atau, pilih komponen tambahan yang ingin dihapus:
+# ^DirText
+Program $(^NameDA) akan di instal pada lokasi berikut. Untuk memilih lokasi, tekan tombol Cari kemudian pilih lokasi yang anda kehendaki. $_CLICK
+# ^DirSubText
+Lokasi instalasi
+# ^DirBrowseText
+Pilih lokasi instalasi program $(^NameDA):
+# ^UnDirText
+Proses penghapusan program $(^NameDA) dari lokasi instalasi berikut. Untuk memilih lokasi lainnya, tekan tombol Cari kemudian pilih lokasi yang anda kehendaki. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Pilih lokasi instalasi program $(^NameDA) yang akan dihapus:
+# ^SpaceAvailable
+"Ruang yang tersedia:   "
+# ^SpaceRequired
+"Ruang yang dibutuhkan: "
+# ^UninstallingText
+$(^NameDA) akan dihapus dari lokasi berikut. $_CLICK
+# ^UninstallingSubText
+Proses penghapusan dari:
+# ^FileError
+Tidak dapat membuka berkas untuk menulis: \r\n\t"$0"\r\nTekan tombol Abort untuk membatalkan instalasi,\r\nRetry untuk mencoba lagi, atau\r\nIgnore untuk melewati file ini.
+# ^FileError_NoIgnore
+Tidak dapat membuka berkas untuk menulis: \r\n\t"$0"\r\nTekan tombol Retry untuk mencoba lagi, atau\r\nCancel untuk membatalkan instalasi.
+# ^CantWrite
+"Tidak bisa menulis pada berkas: "
+# ^CopyFailed
+Gagal menyalin berkas
+# ^CopyTo
+"Menyalin ke "
+# ^Registering
+"Memasukkan dalam daftar: "
+# ^Unregistering
+"Menghapus dari daftar: "
+# ^SymbolNotFound
+"Tidak dapat menemukan simbol: "
+# ^CouldNotLoad
+"Tidak dapat memuat: "
+# ^CreateFolder
+"Membuat tempat menyimpan berkas: "
+# ^CreateShortcut
+"Membuat shortcut: "
+# ^CreatedUninstaller
+"Program penghapusan yang dibuat: "
+# ^Delete
+"Menghapus berkas: "
+# ^DeleteOnReboot
+"Akan dihapus saat reboot: "
+# ^ErrorCreatingShortcut
+"Tidak dapat membuat shortcut: "
+# ^ErrorCreating
+"Ada kesalahan saat membuat: "
+# ^ErrorDecompressing
+Ada kesalahan saat membuka data! Program Instalasi tidak lengkap?
+# ^ErrorRegistering
+Ada kesalahan ketika mendaftarkan modul DLL
+# ^ExecShell
+"Perintah: "
+# ^Exec
+"Menjalankan: "
+# ^Extract
+"Proses ekstraksi berkas: "
+# ^ErrorWriting
+"Ekstraksi: ada kesalahan saat menulis ke berkas "
+# ^InvalidOpcode
+Program instalasi rusak: kode program tidak lengkap
+# ^NoOLE
+"OLE tidak ditemukan: "
+# ^OutputFolder
+"Lokasi tujuan: "
+# ^RemoveFolder
+"Menghapus lokasi penyimpanan: "
+# ^RenameOnReboot
+"Memberi nama baru saat reboot: "
+# ^Rename
+"Memberi nama baru: "
+# ^Skipped
+"Dilewati: "
+# ^CopyDetails
+Salin perincian ke Clipboard
+# ^LogInstall
+Catat proses instalasi
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Turkish.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Turkish.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Turkish.nlf	(revision 2961)
@@ -0,0 +1,192 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+1055
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1254
+# RTL - anything else than RTL means LTR
+-
+# Translation by ?atay Dilsiz(chagy) (amigos_cagi@hotmail.com)
+# Corrections by Mozilla Türkiye Yerelleþtirme Topluluðu tarafýndan çevrilmiþtir. http://mozilla.org.tr
+# ^Branding
+Nullsoft Kurulum Sistemi %s
+# ^SetupCaption
+$(^Name) Kurulumu
+# ^UninstallCaption
+$(^Name) Kaldýrma
+# ^LicenseSubCaption
+: Lisans Sözleþmesi
+# ^ComponentsSubCaption
+: Kurulum Seçenekleri
+# ^DirSubCaption
+: Kurulum Dizini
+# ^InstallingSubCaption
+: Kuruluyor
+# ^CompletedSubCaption
+: Tamamlandý
+# ^UnComponentsSubCaption
+: Kaldýrma Seçenekleri
+# ^UnDirSubCaption
+: Kaldýrýlacak Dizin
+# ^ConfirmSubCaption
+: Onay
+# ^UninstallingSubCaption
+: Kaldýrýlýyor
+# ^UnCompletedSubCaption
+: Tamamlandý
+# ^BackBtn
+< &Geri
+# ^NextBtn
+Ý&leri >
+# ^AgreeBtn
+&Kabul Ediyorum
+# ^AcceptBtn
+Lisans Sözleþmesi'nin koþullarýný &kabul ediyorum
+# ^DontAcceptBtn
+Lisans Sözleþmesi'nin koþullarýný kabul et&miyorum
+# ^InstallBtn
+&Kur
+# ^UninstallBtn
+&Kaldýr
+# ^CancelBtn
+Vazgeç
+# ^CloseBtn
+&Kapat
+# ^BrowseBtn
+&Gözat...
+# ^ShowDetailsBtn
+&Ayrýntýlarý göster
+# ^ClickNext
+Devam etmek için Ýleri düðmesine basýn.
+# ^ClickInstall
+Kurulumu baþlatmak için Kur düðmesine basýn.
+# ^ClickUninstall
+Kaldýrmayý baþlatmak için Kaldýr düðmesine basýn.
+# ^Name
+Ad
+# ^Completed
+Tamamlandý
+# ^LicenseText
+Lütfen $(^NameDA) uygulamasýný kurmadan önce lisans sözleþmesini gözden geçirin. Sözleþmedeki bütün koþullarý kabul ediyorsanýz Kabul Ediyorum düðmesine basýn.
+# ^LicenseTextCB
+Lütfen $(^NameDA) uygulamasýný kurmadan önce lisans sözleþmesini gözden geçirin. Sözleþmedeki bütün koþullarý kabul ediyorsanýz aþaðýdaki kutuya iþaret koyun. $_CLICK
+# ^LicenseTextRB
+Lütfen $(^NameDA) uygulamasýný kurmadan önce lisans sözleþmesini gözden geçirin. Sözleþmedeki bütün koþullarý kabul ediyorsanýz aþaðýdaki ilk seçeneði seçin. $_CLICK
+# ^UnLicenseText
+Lütfen $(^NameDA) uygulamasýný kaldýrmadan önce lisans sözleþmesini gözden geçirin. Sözleþmedeki bütün koþullarý kabul ediyorsanýz Kabul Ediyorum düðmesine basýn.
+# ^UnLicenseTextCB
+Lütfen $(^NameDA) uygulamasýný kaldýrmadan önce lisans sözleþmesini gözden geçirin. Sözleþmedeki bütün koþullarý kabul ediyorsanýz aþaðýdaki kutuya iþaret koyun. $_CLICK
+# ^UnLicenseTextRB
+Lütfen $(^NameDA) uygulamasýný kaldýrmadan önce lisans sözleþmesini gözden geçirin. Sözleþmedeki bütün koþullarý kabul ediyorsanýz aþaðýdaki ilk seçeneði seçin. $_CLICK
+# ^Custom
+Özel
+# ^ComponentsText
+Kurmak istediðiniz bileþenleri iþaretleyip kurmak istemediklerinizi iþaretlemeden býrakýn. $_CLICK
+# ^ComponentsSubText1
+Kurulum türünü seçin:
+# ^ComponentsSubText2_NoInstTypes
+Kurulacak bileþenleri seçin:
+# ^ComponentsSubText2
+ya da isteðe baðlý olarak kurmak istediðiniz bileþenleri seçin:
+# ^UnComponentsText
+Kaldýrmak istediðiniz bileþenleri iþaretleyip kaldýrmak istemediklerinizi iþaretlemeden býrakýn. $_CLICK
+# ^UnComponentsSubText1
+Kaldýrma türünü seçin:
+# ^UnComponentsSubText2_NoInstTypes
+Kaldýrýlacak bileþenleri seçin:
+# ^UnComponentsSubText2
+ya da isteðe baðlý olarak kaldýrmak istediðiniz bileþenleri seçin:
+# ^DirText
+$(^NameDA) aþaðýdaki dizinde kurulacak. Farklý bir dizinde kurmak için Gözat düðmesine basýp baþka bir dizin seçin. $_CLICK
+# ^DirSubText
+Hedef Dizin
+# ^DirBrowseText
+$(^NameDA) uygulamasýnýn kurulacaðý dizini seçin:
+# ^UnDirText
+$(^NameDA) aþaðýdaki dizinden kaldýrýlacak. Farklý bir dizinden kaldýrmak için Gözat düðmesine basýp baþka bir dizin seçin. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+$(^NameDA) uygulamasýnýn kaldýrýlacaðý dizini seçin:
+# ^SpaceAvailable
+"Kullanýlabilir boþ alan: "
+# ^SpaceRequired
+"Gereken boþ alan: "
+# ^UninstallingText
+$(^NameDA) aþaðýdaki dizinden kaldýrýlacak. $_CLICK
+# ^UninstallingSubText
+Kaldýrýlan yer:
+# ^FileError
+Dosya yazmak için açýlýrken hata meydana geldi: \r\n\r\n$0\r\n\r\nKurulumu durdurmak için Dur düðmesine,\r\nyeniden denemek için Yeniden Dene düðmesine,\r\nbu dosyayý atlamak için Yoksay düðmesine basýn.
+# ^FileError_NoIgnore
+Dosya yazmak için açýlýrken hata meydana geldi: \r\n\r\n$0\r\n\r\nYeniden denemek için Yeniden Dene düðmesine,\r\nkurulumu durdurmak için Vazgeç düðmesine basýn.
+# ^CantWrite
+"Yazýlamadý: "
+# ^CopyFailed
+Kopyalama baþarýsýz oldu
+# ^CopyTo
+"Kayýt: "
+# ^Registering
+"Kaydediliyor: "
+# ^Unregistering
+"Kayýt siliniyor: "
+# ^SymbolNotFound
+"Simge bulunamadý: "
+# ^CouldNotLoad
+"Yüklenemedi: "
+# ^CreateFolder
+"Dizin oluþtur: "
+# ^CreateShortcut
+"Kýsayol oluþtur: "
+# ^CreatedUninstaller
+"Kaldýrma uygulamasý oluþtur: "
+# ^Delete
+"Dosya sil: "
+# ^DeleteOnReboot
+"Açýlýþta sil: "
+# ^ErrorCreatingShortcut
+"Kýsayol oluþturulurken hata meydana geldi: "
+# ^ErrorCreating
+"Oluþturma hatasý: "
+# ^ErrorDecompressing
+Veriyi açarken hata meydana geldi! Acaba kurulum uygulamasý mý bozuk?
+# ^ErrorRegistering
+DLL kaydedilirken hata meydana geldi
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Çalýþtýr: "
+# ^Extract
+"Aç: "
+# ^ErrorWriting
+"Açma: Dosyaya yazarken hata meydana geldi "
+# ^InvalidOpcode
+Kurulum bozuk: Geçersiz kod
+# ^NoOLE
+"OLE yok: "
+# ^OutputFolder
+"Çýktý dizini: "
+# ^RemoveFolder
+"Dizini sil: "
+# ^RenameOnReboot
+"Açýlýþta adýný deðiþtir: "
+# ^Rename
+"Ad deðiþtir: "
+# ^Skipped
+"Atlandý: "
+# ^CopyDetails
+Ayrýntýlarý panoya kopyala
+# ^LogInstall
+Kurulum sürecinin kaydýný tut
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Bosnian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Bosnian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Bosnian.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Language ID
+5146
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1250
+# RTL - anything else than RTL means LTR
+-
+# Translation by Salih CAVKIC, cavkic@skynet.be
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) Instalacija
+# ^UninstallCaption
+$(^Name) Uklanjanje
+# ^LicenseSubCaption
+: Licencno pravo korištenja
+# ^ComponentsSubCaption
+: Opcije instalacije
+# ^DirSubCaption
+: Izbor mape za instalaciju
+# ^InstallingSubCaption
+: Instaliranje
+# ^CompletedSubCaption
+: Završeno
+# ^UnComponentsSubCaption
+: Opcije uklanjanja
+# ^UnDirSubCaption
+: Mapa uklanjanja
+# ^ConfirmSubCaption
+: Potvrda
+# ^UninstallingSubCaption
+: Uklanjanje
+# ^UnCompletedSubCaption
+: Završeno uklanjanje
+# ^BackBtn
+< &Nazad
+# ^NextBtn
+&Dalje >
+# ^AgreeBtn
+&Prihvatam
+# ^AcceptBtn
+&Prihvatam uvjete licencnog ugovora
+# ^DontAcceptBtn
+&Ne prihvatam uvjete licencnog ugovora
+# ^InstallBtn
+&Instaliraj
+# ^UninstallBtn
+&Ukloni
+# ^CancelBtn
+Odustani
+# ^CloseBtn
+&Zatvori
+# ^BrowseBtn
+&Pregledaj...
+# ^ShowDetailsBtn
+Prikaži &detalje
+# ^ClickNext
+Pritisnite dugme 'Dalje' za nastavak.
+# ^ClickInstall
+Pritisnite dugme 'Instaliraj' za poèetak instalacije.
+# ^ClickUninstall
+Pritisnite dugme 'Ukloni' za poèetak uklanjanja.
+# ^Name
+Ime
+# ^Completed
+Završeno
+# ^LicenseText
+Molim proèitajte licencu prije instaliranja programa $(^NameDA). Ukoliko prihvatate sve uvjete ugovora, odaberite 'Prihvatam'.
+# ^LicenseTextCB
+Molim proèitajte licencu prije instaliranja programa $(^NameDA). Ukoliko prihvatate sve uvjete ugovora, oznaèite donji kvadratiæ. $_CLICK
+# ^LicenseTextRB
+Molim proèitajte licencu prije instaliranja programa $(^NameDA). Ukoliko prihvatate sve uvjete ugovora, odaberite prvu donju opciju. $_CLICK
+# ^UnLicenseText
+Molim proèitajte licencu prije uklanjanja programa $(^NameDA). Ukoliko prihvatate sve uvjete ugovora, odaberite 'Prihvatam'.
+# ^UnLicenseTextCB
+Molim proèitajte licencu prije uklanjanja programa $(^NameDA). Ako prihvatate sve uvjete ugovora, obilježite donji kvadratiæ. $_CLICK
+# ^UnLicenseTextRB
+Molim proèitajte licencu prije uklanjanja programa $(^NameDA). Ukoliko prihvatate sve uvjete ugovora, odaberite prvu opciju ispod. $_CLICK
+# ^Custom
+Podešavanje
+# ^ComponentsText
+Oznaèite komponente koje želite instalirati. Instaliraju se samo oznaèene komponente. Uklonite oznaku sa onih koje ne želite instalirati. $_CLICK
+# ^ComponentsSubText1
+Izaberite tip instalacije:
+# ^ComponentsSubText2_NoInstTypes
+Odaberite komponente za instalaciju:
+# ^ComponentsSubText2
+Ili po izboru oznaèite komponente koje želite instalirati:
+# ^UnComponentsText
+Oznaèite komponente koje želite ukloniti. Uklonite oznaku sa onih koje ne želite ukloniti. $_CLICK
+# ^UnComponentsSubText1
+Izaberite tip uklanjanja:
+# ^UnComponentsSubText2_NoInstTypes
+Izaberite komponente za uklanjanje:
+# ^UnComponentsSubText2
+Ili po izboru odaberite komponente koje želite da uklonite:
+# ^DirText
+Program $(^NameDA) æe biti instaliran u sljedeæu mapu. Za instalaciju na neku drugu mapu odaberite 'Pregledaj...' i odaberite drugu mapu. $_CLICK
+# ^DirSubText
+Odredišna mapa
+# ^DirBrowseText
+Izaberite mapu u koju želite instalirati program $(^NameDA):
+# ^UnDirText
+Program $(^NameDA) æe biti uklonjen iz navedene mape. Za uklanjanje iz druge mape odaberite 'Pregledaj...' i oznaèite drugu mapu. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Izaberite mapu iz koje æete program $(^NameDA) ukloniti:
+# ^SpaceAvailable
+"Slobodno prostora na disku: "
+# ^SpaceRequired
+"Potrebno prostora na disku: "
+# ^UninstallingText
+Program $(^NameDA) æe biti uklonjen iz sljedeæe mape. $_CLICK
+# ^UninstallingSubText
+Uklanjanje iz:
+# ^FileError
+Greška prilikom otvaranja datoteke za upisivanje: \r\n\t"$0"\r\n\"Odustani\" za prekid instalacije,\r\n\"Ponovi\" za ponovni pokušaj upisivanja, ili\r\n\"Ignoriši\" za zanemarenje te datoteke
+# ^FileError_NoIgnore
+Greška prilikom otvaranja datoteke za upisivanje: \r\n\t"$0"\r\n\"Ponovi\" za ponovni pokušaj zapisivanja, ili\r\n\"Odustani\" za prekid instalacije
+# ^CantWrite
+"Nemoguæe upisati: "
+# ^CopyFailed
+Greška prilikom kopiranja
+# ^CopyTo
+"Kopiraj u "
+# ^Registering
+"Prijava: "
+# ^Unregistering
+"Odjava: "
+# ^SymbolNotFound
+"Nemoguæe naæi simbol: "
+# ^CouldNotLoad
+"Nemoguæe uèitavanje: "
+# ^CreateFolder
+"Napravi mapu: "
+# ^CreateShortcut
+"Napravi preèicu: "
+# ^CreatedUninstaller
+"Program za uklanjanje: "
+# ^Delete
+"Obriši datoteku: "
+# ^DeleteOnReboot
+"Obriši prilikom ponovnog pokretanja: "
+# ^ErrorCreatingShortcut
+"Greška prilikom kreiranja preèica: "
+# ^ErrorCreating
+"Greška prilikom kreiranja: "
+# ^ErrorDecompressing
+Greška prilikom otpakivanja podataka! Ošteæen instalacijski program?
+# ^ErrorRegistering
+Greška prilikom prijavljivanja DLLa
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Izvrši: "
+# ^Extract
+"Otpakuj: "
+# ^ErrorWriting
+"Otpakivanje: greška upisivanja u datoteku "
+# ^InvalidOpcode
+Ošteæena instalacijska datoteka: neispravna opkoda
+# ^NoOLE
+"Nema OLE za: "
+# ^OutputFolder
+"Izlazna mapa: "
+# ^RemoveFolder
+"Obriši mapu: "
+# ^RenameOnReboot
+"Preimenuj prilikom ponovnog startovanja: "
+# ^Rename
+"Preimenuj: "
+# ^Skipped
+"Preskoèeno: "
+# ^CopyDetails
+Kopiraj detalje na Klembord
+# ^LogInstall
+Logiraj zapisnik procesa instalacije
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
+
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Estonian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Estonian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Estonian.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Estonian (1061)
+;Translated by johnny izzo (izzo@hot.ee)
+
+!insertmacro LANGFILE "Estonian" "Eesti keel"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "$(^NameDA) paigaldamine!"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "See abiline aitab paigaldada $(^NameDA).$\r$\n$\r$\nEnne paigaldamise alustamist on soovitatav kõik teised programmid sulgeda, see võimaldab teatud süsteemifaile uuendada ilma arvutit taaskäivitamata.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "$(^NameDA) eemaldamine!"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "See abiline aitab eemaldada $(^NameDA).$\r$\n$\r$\nEnne eemaldamist vaata, et $(^NameDA) oleks suletud.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Litsentsileping"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Enne $(^NameDA) paigaldamist vaata palun litsentsileping üle."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Kui sa oled lepingu tingimustega nõus, vali jätkamiseks Nõustun. $(^NameDA) paigaldamiseks pead sa lepinguga nõustuma."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Kui nõustud lepingu tingimustega, vali allolev märkeruut. $(^NameDA) paigaldamiseks pead lepinguga nõustuma. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Kui nõustud lepingu tingimustega, märgi allpool esimene valik. $(^NameDA) paigaldamiseks pead lepinguga nõustuma. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Litsentsileping"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Enne $(^NameDA) eemaldamist vaata palun litsentsileping üle."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Kui sa oled lepingu tingimustega nõus, vali jätkamiseks Nõustun. $(^NameDA) eemaldamiseks pead sa lepinguga nõustuma."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Kui nõustud lepingu tingimustega, vali allolev märkeruut. $(^NameDA) eemaldamiseks pead lepinguga nõustuma. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Kui nõustud lepingu tingimustega, märgi allpool esimene valik. $(^NameDA) eemaldamiseks pead lepinguga nõustuma. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Vajuta Page Down, et näha ülejäänud teksti."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Vali komponendid"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Vali millised $(^NameDA) osad sa soovid paigaldada."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Vali komponendid"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Vali millised $(^NameDA) osad sa soovid eemaldada."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Kirjeldus"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Nihuta hiir komponendile, et näha selle kirjeldust."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Nihuta hiir komponendile, et näha selle kirjeldust."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Vali asukoht"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Vali kaust kuhu paigaldada $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Vali asukoht"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Vali kaust kust $(^NameDA) eemaldada."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Paigaldan..."
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Palun oota kuni $(^NameDA) on paigaldatud."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Programm paigaldatud"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Paigaldus edukalt sooritatud."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Paigaldus katkestatud"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Paigaldamine ebaõnnestus."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Eemaldan..."
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Palun oota kuni $(^NameDA) on eemaldatud."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Eemaldamine lõpetatud"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Eemaldamine edukalt lõpule viidud."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Eemaldamine katkestatud"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Eemaldamine ebaõnestus."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "$(^NameDA) paigalduse lõpule viimine."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) on sinu arvutisse paigaldatud.$\r$\n$\r$\nAbilise sulgemiseks vajuta Lõpeta."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "$(^NameDA) täielikuks paigaldamiseks tuleb arvuti taaskäivitada. Kas soovid arvuti kohe taaskäivitada ?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "$(^NameDA) eemaldamise lõpule viimine."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) on sinu arvutist eemaldatud.$\r$\n$\r$\nAbilise sulgemiseks vajuta Lõpeta."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "$(^NameDA) täielikuks eemaldamiseks tuleb arvuti taaskäivitada. Kas soovid arvuti kohe taaskäivitada ?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Taaskäivita kohe"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Taaskäivitan hiljem käsitsi"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "Käivita $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Kuva Loemind"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "Lõpeta"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Vali Start-menüü kaust"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Vali $(^NameDA) otseteede jaoks Start-menüü kaust."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Vali Start-menüü kaust, kuhu soovid paigutada programmi otseteed. Võid ka sisestada nime, et luua uus kaust."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Ära loo otseteid"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Eemalda $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Eemalda $(^NameDA) oma arvutist."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Oled sa kindel et soovid $(^Name) paigaldamise katkestada?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Oled sa kindel et soovid $(^Name) eemaldamise katkestada?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Italian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Italian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Italian.nsh	(revision 2961)
@@ -0,0 +1,131 @@
+;Language: Italian (1040)
+;By SANFACE Software <sanface@sanface.com> v1.67 accents
+;Review and update from v1.65 to v1.67 by Alessandro Staltari < staltari (a) geocities.com >
+;Review and update from v1.67 to v1.68 by Lorenzo Bevilacqua < meow811@libero.it >
+
+!insertmacro LANGFILE "Italian" "Italiano"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Benvenuti nel programma di installazione di $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Questo programma installerà $(^NameDA) nel vostro computer.$\r$\n$\r$\nSi raccomanda di chiudere tutte le altre applicazioni prima di iniziare l'installazione. Questo permetterà al programma di installazione di aggiornare i file di sistema senza dover riavviare il computer.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Benvenuti nella procedura guidata di disinstallazione di $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Questa procedura vi guiderà nella disinstallazione di $(^NameDA).$\r$\n$\r$\nPrima di iniziare la disinstallazione, assicuratevi che $(^Name) non sia in esecuzione.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Licenza d'uso"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Prego leggere le condizioni della licenza d'uso prima di installare $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Se si accettano i termini della licenza d'uso scegliere Accetto per continuare. È necessario accettare i termini della licenza d'uso per installare $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Se si accettano i termini della licenza d'uso, selezionare la casella sottostante. È necessario accettare i termini della licenza d'uso per installare $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Se si accettano i termini della licenza d'uso, selezionare la prima opzione sottostante. È necessario accettare i termini della licenza d'uso per installare $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Licenza d'uso"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Prego leggere le condizioni della licenza d'uso prima di disinstallare $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Se si accettano i termini della licenza d'uso scegliere Accetto per continuare. È necessario accettare i termini della licenza d'uso per disinstallare $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Se si accettano i termini della licenza d'uso, selezionare la casella sottostante. È necessario accettare i termini della licenza d'uso per disinstallare $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Se si accettano i termini della licenza d'uso, selezionare la prima opzione sottostante. È necessario accettare i termini della licenza d'uso per disinstallare $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Premere Page Down per vedere il resto della licenza d'uso."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Selezione dei componenti"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Selezionare i componenti di $(^NameDA) che si desidera installare."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Selezione componenti"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Scegliere i componenti di $(^NameDA) che si desidera disinstallare."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Descrizione"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Posizionare il puntatore del mouse sul componente per vederne la descrizione."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Posizionare il puntatore del mouse sul componente per vederne la descrizione."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Scelta della cartella di installazione"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Scegliere la cartella nella quale installare $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Scelta della cartella da cui disinstallare"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Scegliere la cartella dalla quale disinstallare $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Installazione in corso"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Prego attendere mentre $(^NameDA) viene installato."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Installazione completata"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "L'installazione è stata completata con successo."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Installazione interrotta"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "L'installazione non è stata completata correttamente."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Disinstallazione in corso"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Prego attendere mentre $(^NameDA) viene disinstallato."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Disinstallazione completata"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "La disinstallazione è stata completata con successo."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Disinstallazione interrotta"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "La disintallazione non è stata completata correttamente."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Completamento dell'installazione di $(^NameDA)."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) è stato installato sul vostro computer.$\r$\n$\r$\nScegliere Fine per chiudere il programma di installazione."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Il computer deve essere riavviato per completare l'installazione di $(^NameDA). Vuoi riavviarlo ora?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Completamento della disinstallazione di $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) è stato disinstallato dal computer.$\r$\n$\r$\nSelezionare Fine per terminare questa procedura."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Il computer deve essere riavviato per completare l'installazione di $(^NameDA). Vuoi riavviarlo ora?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Riavvia adesso"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Preferisco riavviarlo manualmente più tardi"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "Esegui $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Mostra il file Readme"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Fine"
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Scelta della cartella del menu Start"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Scegliere una cartella del menu Start per i collegamenti del programma."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Scegliere la cartella del menu Start in cui verranno creati i collegamenti del programma. È possibile inserire un nome per creare una nuova cartella."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Non creare i collegamenti al programma."
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Disinstalla $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Rimuove $(^NameDA) dal computer."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Sei sicuro di voler interrompere l'installazione di $(^Name) ?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Sei sicuro di voler interrompere la disinstallazione di $(^Name)?"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Scelta degli Utenti"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Scegliete per quali utenti volete installare $(^NameDA)."
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Scegliete se volete installare $(^NameDA) solo per voi o per tutti gli utenti di questo sistema. $(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Installazione per tutti gli utenti"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Installazione personale"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Greek.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Greek.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Greek.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1032
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1253
+# RTL - anything else than RTL means LTR
+-
+# Translation by Makidis N. Michael - http://dias.aueb.gr/~p3010094/
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+ÅãêáôÜóôáóç ôïõ '$(^Name)'
+# ^UninstallCaption
+ÁðåãêáôÜóôáóç ôïõ '$(^Name)'
+# ^LicenseSubCaption
+: Óõìöùíßá ¢äåéáò ×ñÞóçò
+# ^ComponentsSubCaption
+: ÅðéëïãÝò ÅãêáôÜóôáóçò
+# ^DirSubCaption
+: ÖÜêåëïò ÅãêáôÜóôáóçò
+# ^InstallingSubCaption
+: ÅãêáôÜóôáóç óå åîÝëéîç
+# ^CompletedSubCaption
+: Ïëïêëçñþèçêå
+# ^UnComponentsSubCaption
+: ÅðéëïãÝò ÁðåãêáôÜóôáóçò
+# ^UnDirSubCaption
+: ÖÜêåëïò ÁðåãêáôÜóôáóçò
+# ^ConfirmSubCaption
+: Åðéâåâáßùóç
+# ^UninstallingSubCaption
+: ÁðåãêáôÜóôáóç óå åîÝëéîç
+# ^UnCompletedSubCaption
+: Ïëïêëçñþèçêå
+# ^BackBtn
+< &Ðßóù
+# ^NextBtn
+&Åðüìåíï >
+# ^AgreeBtn
+&Óõìöùíþ
+# ^AcceptBtn
+&ÁðïäÝ÷ïìáé ôïõò üñïõò ôçò Üäåéáò ÷ñÞóçò
+# ^DontAcceptBtn
+&Äåí áðïäÝ÷ïìáé ôïõò üñïõò ôçò Üäåéáò ÷ñÞóçò
+# ^InstallBtn
+&ÅãêáôÜóôáóç
+# ^UninstallBtn
+Áðå&ãêáôÜóô.
+# ^CancelBtn
+¢êõñï
+# ^CloseBtn
+&Êëåßóéìï
+# ^BrowseBtn
+Á&íáæÞôçóç...
+# ^ShowDetailsBtn
+&ËåðôïìÝñåéåò
+# ^ClickNext
+ÊÜíôå êëéê óôï Åðüìåíï ãéá íá óõíå÷ßóåôå.
+# ^ClickInstall
+ÊÜíôå êëéê óôï ÅãêáôÜóôáóç ãéá íá áñ÷ßóåôå ôçí åãêáôÜóôáóç.
+# ^ClickUninstall
+ÊÜíôå êëéê óôï ÁðåãêáôÜóôáóç ãéá íá áñ÷ßóåôå ôçí áðåãêáôÜóôáóç.
+# ^Name
+¼íïìá
+# ^Completed
+Ïëïêëçñþèçêå
+# ^LicenseText
+ÅëÝãîôå ôçí Üäåéá ÷ñÞóçò ðñéí åãêáôáóôÞóåôå ôï '$(^NameDA)'. ÅÜí áðïäÝ÷åóôå üëïõò ôïõò üñïõò, êÜíôå êëéê óôï Óõìöùíþ.
+# ^LicenseTextCB
+ÅëÝãîôå ôçí Üäåéá ÷ñÞóçò ðñéí åãêáôáóôÞóåôå ôï '$(^NameDA)'. ÅÜí áðïäÝ÷åóôå üëïõò ôïõò üñïõò, êÜíôå êëéê óôçí åðéëïãÞ ðáñáêÜôù. $_CLICK
+# ^LicenseTextRB
+ÅëÝãîôå ôçí Üäåéá ÷ñÞóçò ðñéí åãêáôáóôÞóåôå ôï '$(^NameDA)'. ÅÜí áðïäÝ÷åóôå üëïõò ôïõò üñïõò, êÜíôå êëéê óôçí ðñþôç åðéëïãÞ ðáñáêÜôù. $_CLICK
+# ^UnLicenseText
+ÅëÝãîôå ôçí Üäåéá ÷ñÞóçò ðñéí áðåãêáôáóôÞóåôå ôï '$(^NameDA)'. ÅÜí áðïäÝ÷åóôå üëïõò ôïõò üñïõò, êÜíôå êëéê óôï Óõìöùíþ.
+# ^UnLicenseTextCB
+ÅëÝãîôå ôçí Üäåéá ÷ñÞóçò ðñéí áðåãêáôáóôÞóåôå ôï '$(^NameDA)'. ÅÜí áðïäÝ÷åóôå üëïõò ôïõò üñïõò, êÜíôå êëéê óôçí åðéëïãÞ ðáñáêÜôù. $_CLICK
+# ^UnLicenseTextRB
+ÅëÝãîôå ôçí Üäåéá ÷ñÞóçò ðñéí áðåãêáôáóôÞóåôå ôï '$(^NameDA)'. ÅÜí áðïäÝ÷åóôå üëïõò ôïõò üñïõò, êÜíôå êëéê óôçí ðñþôç åðéëïãÞ ðáñáêÜôù. $_CLICK
+# ^Custom
+ÐñïóáñìïóìÝíç
+# ^ComponentsText
+ÅðéëÝîôå ôá óôïé÷åßá ðïõ èÝëåôå íá åãêáôáóôÞóåôå êáé áðïåðéëÝîôå ôá óôïé÷åßá ðïõ äå èÝëåôå íá åãêáôáóôÞóåôå. $_CLICK
+# ^ComponentsSubText1
+ÅðéëÝîôå ôýðï åãêáôÜóôáóçò:
+# ^ComponentsSubText2_NoInstTypes
+ÅðéëÝîôå ôá óôïé÷åßá ðïõ èÝëåôå íá åãêáôáóôÞóåôå:
+# ^ComponentsSubText2
+¹, åðéëÝîôå ôá ðñïáéñåôéêÜ óôïé÷åßá ðïõ èÝëåôå íá åãêáôáóôÞóåôå:
+# ^UnComponentsText
+ÅðéëÝîôå ôá óôïé÷åßá ðïõ èÝëåôå íá áðåãêáôáóôÞóåôå êáé áðïåðéëÝîôå ôá óôïé÷åßá ðïõ äå èÝëåôå íá áðåãêáôáóôÞóåôå. $_CLICK
+# ^UnComponentsSubText1
+ÅðéëÝîôå ôýðï áðåãêáôÜóôáóçò:
+# ^UnComponentsSubText2_NoInstTypes
+ÅðéëÝîôå ôá óôïé÷åßá ðïõ èÝëåôå íá áðåãêáôáóôÞóåôå:
+# ^UnComponentsSubText2
+¹, åðéëÝîôå ôá ðñïáéñåôéêÜ óôïé÷åßá ðïõ èÝëåôå íá áðåãêáôáóôÞóåôå:
+# ^DirText
+Ôï ðñüãñáììá åãêáôÜóôáóçò èá åãêáôáóôÞóåé ôï '$(^NameDA)' óôïí ðáñáêÜôù öÜêåëï. Ãéá íá ôï åãêáôáóôÞóåôå óå Ýíáí Üëëï öÜêåëï, êÜíôå êëéê óôï ÁíáæÞôçóç êáé åðéëÝîôå êÜðïéïí Üëëï öÜêåëï. $_CLICK
+# ^DirSubText
+ÖÜêåëïò ÅãêáôÜóôáóçò
+# ^DirBrowseText
+ÅðéëÝîôå ôï öÜêåëï åãêáôÜóôáóçò ãéá ôï '$(^NameDA)':
+# ^UnDirText
+Ôï ðñüãñáììá åãêáôÜóôáóçò èá áðåãêáôáóôÞóåé ôï '$(^NameDA)' áðü ôïí ðáñáêÜôù öÜêåëï. Ãéá íá áðåãêáôáóôÞóåôå áðü Ýíáí Üëëï öÜêåëï, êÜíôå êëéê óôï ÁíáæÞôçóç êáé åðéëÝîôå êÜðïéïí Üëëï öÜêåëï. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+ÅðéëÝîôå ôï öÜêåëï áðåãêáôÜóôáóçò ãéá ôï '$(^NameDA)':
+# ^SpaceAvailable
+"ÄéáèÝóéìïò ÷þñïò: "
+# ^SpaceRequired
+"Áðáéôïýìåíïò ÷þñïò: "
+# ^UninstallingText
+Ôï '$(^NameDA)' èá áðåãêáôáóôáèåß áðü ôïí áêüëïõèï öÜêåëï. $_CLICK
+# ^UninstallingSubText
+ÁðåãêáôÜóô. áðü:
+# ^FileError
+ÓöÜëìá êáôÜ ôï Üíïéãìá áñ÷åßïõ ãéá åããñáöÞ: \r\n\t"$0"\r\nÅðéëÝîôå ìáôáßùóç ãéá íá ìáôáéþóåôå ôçí åãêáôÜóôáóç,\r\nåðáíÜëçøç ãéá íá äïêéìÜóåôå íá ãñÜøåôå ôï áñ÷åßï ðÜëé, Þ\r\nðáñÜâëåøç ãéá íá ðáñáëåßøåôå áõôü ôï áñ÷åßï.
+# ^FileError_NoIgnore
+ÓöÜëìá êáôÜ ôï Üíïéãìá áñ÷åßïõ ãéá åããñáöÞ: \r\n\t"$0"\r\nÅðéëÝîôå åðáíÜëçøç ãéá íá äïêéìÜóåôå íá ãñÜøåôå ôï áñ÷åßï ðÜëé, Þ\r\nìáôáßùóç ãéá íá ìáôáéþóåôå ôçí åãêáôÜóôáóç.
+# ^CantWrite
+"Áäõíáìßá åããñáöÞò: "
+# ^CopyFailed
+ÁíôéãñáöÞ áðÝôõ÷å
+# ^CopyTo
+"ÁíôéãñáöÞ óôï "
+# ^Registering
+"Êáôá÷þñçóç: "
+# ^Unregistering
+"ÊáôÜñãçóç êáôá÷þñçóçò: "
+# ^SymbolNotFound
+"Áäõíáìßá åýñåóçò óõìâüëïõ: "
+# ^CouldNotLoad
+"Áäõíáìßá öüñôùóçò: "
+# ^CreateFolder
+"Äçìéïõñãßá öáêÝëïõ: "
+# ^CreateShortcut
+"Äçìéïõñãßá óõíôüìåõóçò: "
+# ^CreatedUninstaller
+"Äçìéïõñãßá ðñïãñÜììáôïò áðåãêáôÜóôáóçò: "
+# ^Delete
+"ÄéáãñáöÞ áñ÷åßïõ: "
+# ^DeleteOnReboot
+"ÄéáãñáöÞ óôçí åðáíåêêßíçóç: "
+# ^ErrorCreatingShortcut
+"ÓöÜëìá óôç äçìéïõñãßá óõíôüìåõóçò: "
+# ^ErrorCreating
+"ÓöÜëìá óôç äçìéïõñãßá: "
+# ^ErrorDecompressing
+ÓöÜëìá óôçí áðïóõìðßåóç äåäïìÝíùí! ÊáôåóôñáììÝíï ðñüãñáììá åãêáôÜóôáóçò;
+# ^ErrorRegistering
+ÓöÜëìá êáôá÷þñçóçò ôïõ DLL
+# ^ExecShell
+"ÅêôÝëåóç (ExecShell): "
+# ^Exec
+"ÅêôÝëåóç: "
+# ^Extract
+"Áðïóõìðßåóç: "
+# ^ErrorWriting
+"Áðïóõìðßåóç: óöÜëìá åããñáöÞò óôï áñ÷åßï "
+# ^InvalidOpcode
+ÅãêáôÜóôáóç êáôåóôñáììÝíç: ìç-Ýãêõñï opcode
+# ^NoOLE
+"¼÷é OLE ãéá ôï: "
+# ^OutputFolder
+"ÖÜêåëïò åîüäïõ: "
+# ^RemoveFolder
+"ÄéáãñáöÞ öáêÝëïõ: "
+# ^RenameOnReboot
+"Ìåôïíïìáóßá óôçí åðáíåêêßíçóç: "
+# ^Rename
+"Ìåôïíïìáóßá: "
+# ^Skipped
+"Ðáñáëåßöèçêå: "
+# ^CopyDetails
+ÁíôéãñáöÞ ëåðôïìåñåéþí óôï Ðñü÷åéñï
+# ^LogInstall
+ÊáôáãñáöÞ äéáäéêáóßáò åãêáôÜóôáóçò
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Belarusian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Belarusian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Belarusian.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Belarusian (1059)
+;Translated by Sitnikov Vjacheslav [ glory_man@tut.by ]
+
+!insertmacro LANGFILE "Belarusian" "Byelorussian"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Âàñ âiòàå ìàéñòàð ¢ñòàíî¢ê³ $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Ãýòàÿ ïðàãðàìà ¢ñòàëþå $(^NameDA) íà Âàø êàìïóòàð.$\r$\n$\r$\nÏåðàä ïà÷àòêàì óñòàíî¢êi ïðàïàíóåì çà÷ûí³öü óñå ïðàãðàìû, ÿê³ÿ âûêîíâàþööà ¢ ñàïðà¢äíû ìîìàíò. Ãýòà äàïàìîæà ïðàãðàìå ¢ñòàíî¢ê³ àáíàâ³öü ñ³ñòýìíûÿ ôàéëû áåç ïåðàçàãðóçê³ êàìïóòàðà.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Âàñ âiòàå ìàéñòàð âûäàëåííÿ $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Ãýòàÿ ïðàãðàìà âûäàë³öü $(^NameDA) ç Âàøàãà êàìïóòàðà.$\r$\n$\r$\nÏåðàä ïà÷àòêàì âûäàëåííÿ ïåðàêàíàéöåñÿ ¢ òûì, øòî ïðàãðàìà $(^NameDA) íå âûêîíâàåööà.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Ëiöåíçiéíàå ïàãàäíåííå"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Êàë³ ëàñêà, ïðà÷ûòàéöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ ïåðàä ïà÷àòêàì óñòàíî¢êi $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Êàëi Âû ïðûìàåöå ¢ìîâû Ëiöåíçiéíàãà ïàãàäíåííÿ, íàö³ñí³öå êíîïêó $\"Çãîäçåí$\". Ãýòà íåàáõîäíà äëÿ ¢ñòàíî¢ê³ ïðàãðàìû."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Êàëi Âû ïðûìàåöå ¢ìîâû Ëiöåíçiéíàãà ïàãàäíåííÿ, óñòàëþéöå ñöÿæîê í³æýé. Ãýòà íåàáõîäíà äëÿ ¢ñòàíî¢ê³ ïðàãðàìû. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Êàëi Âû ïðûìàåöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ, âûëó÷ûöå ïåðøû âàðûÿíò ç ïðàïàíîâàíûõ í³æýé. Ãýòà íåàáõîäíà äëÿ ¢ñòàíî¢ê³ ïðàãðàìû. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Ë³öýíç³éíàå ïàãàäíåííå"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Êàë³ ëàñêà, ïðà÷ûòàéöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ ïåðàä ïà÷àòêàì âûäàëåííÿ $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Êàë³ Âû ïðûìàåöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ, íàö³ñí³öå êíîïêó $\"Çãîäçåí$\". Ãýòà íåàáõîäíà äëÿ âûäàëåííÿ ïðàãðàìû. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Êàë³ Âû ïðûìàåöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ, óñòàëþéöå ñöÿæîê í³æýé. Ãýòà íåàáõîäíà äëÿ âûäàëåííÿ ïðàãðàìû. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Êàë³ Âû ïðûìàåöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ, âûëó÷ûöå ïåðøû âàðûÿíò ç ïðàïàíàâàíûõ í³æýé. Ãýòà íåàáõîäíà äëÿ âûäàëåííÿ ïðàãðàìû. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Âûêàðûñòî¢âàéöå êíîïêi $\"PageUp$\" i $\"PageDown$\" äëÿ ïåðàìÿø÷ýííÿ ïà òýêñöå."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Êàìïàíåíòû ïðàãðàìû, ÿêàÿ ¢ñòàë¸¢âàåööà"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Âûçíà÷öå êàìïàíåíòû $(^NameDA), ÿê³ÿ Âû æàäàåöå ¢ñòàëÿâàöü."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Êàìïàíåíòû ïðàãðàìû"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Âûçíà÷öå êàìïàíåíòû $(^NameDA), ÿê³ÿ Âû æàäàåöå âûäàë³öü."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Àï³ñàííå"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Óñòàëþéöå êóðñîð ìûøû íà íàçâó êàìïàíåíòà, êàá ïðà÷ûòàöü ÿãî àï³ñàííå."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Óñòàëþéöå êóðñîð ìûøû íà íàçâó êàìïàíåíòà, êàá ïðà÷ûòàöü ÿãî àï³ñàííå."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Âûáàð ïàïê³ ¢ñòàíî¢ê³"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Âûçíà÷öå ïàïêó äëÿ ¢ñòàíî¢ê³ $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Âûáàð ïàïê³ äëÿ âûäàëåííÿ"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Âûçíà÷öå ïàïêó, ç ÿêîé ïàòðýáíà âûäàë³öü $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Êàï³ðàâàííå ôàéëà¢"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Ïà÷àêàéöå, êàë³ ëàñêà, âûêîíâàåööà êàï³ðàâàííå ôàéëà¢ $(^NameDA) íà Âàø êàìïóòàð..."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Óñòàíî¢êà çàâåðøàíà"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Óñòàíî¢êà ïàñïÿõîâà çàâåðøàíà."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Óñòàíî¢êà ïåðàðâàíà"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Óñòàíî¢êà íå çàâåðøàíà."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Âûäàëåííå"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Ïà÷àêàéöå, êàë³ ëàñêà, âûêîíâàåööà âûäàëåííå ôàéëà¢ $(^NameDA) ç Âàøàãà êàìïóòàðà..."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Âûäàëåííå çàâåðøàíà"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Âûäàëåííå ïðàãðàìû ïàñïÿõîâà çàâåðøàíà."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Âûäàëåííå ïåðàðâàíà"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Âûäàëåííå âûêàíàíà íå ïî¢íàñöþ."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Çàêàí÷ýííå ìàéñòðà ¢ñòàíî¢ê³ $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "Óñòàíî¢êà $(^NameDA) âûêàíàíà.$\r$\n$\r$\nÍàö³ñí³öå êíîïêó $\"Ãàòîâà$\" äëÿ âûéñöÿ ç ïðàãðàìû ¢ñòàíî¢ê³."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Êàá çàêîí÷ûöü óñòàíî¢êó $(^NameDA), íåàáõîäíà ïåðàçàãðóç³öü êàìïóòàð. Ö³ æàäàåöå Âû çðàá³öü ãýòà çàðàç?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Çàêàí÷ýííå ðàáîòû ìàéñòàðà âûäàëåííÿ $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "Ïðàãðàìà $(^NameDA) âûäàëåíà ç Âàøàãà êàìïóòàðà.$\r$\n$\r$\nÍàö³ñí³öå êíîïêó $\"Ãàòîâà$\"êàá âûéñö³ ç ïðàãðàìû âûäàëåííÿ."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Êàá ñêîí÷ûöü âûäàëåííå  $(^NameDA), íåàáõîäíà ïåðàçàãðóç³öü êàìïóòàð. Ö³ æàäàåöå Âû çðàá³öü ãýòà çàðàç?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Òàê, ïåðàçàãðóç³öü êàìïóòàð çàðàç"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Íå, ïåðàçàãðóç³öü êàìïóòàð ïàçíåé"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Çàïóñö³öü $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Ïàêàçàöü ³íôàðìàöûþ àá ïðàãðàìå"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Ãàòîâà"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Ïàïêà ¢ ìåíþ $\"Ïóñê$\""
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Âûëó÷ûöå ïàïêó ¢ ìåíþ $\"Ïóñê$\" äëÿ ðàçìÿø÷ýííÿ ÿðëûêî¢ ïðàãðàìû."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Âûëó÷ûöå ïàïêó ¢ ìåíþ $\"Ïóñê$\", êóäû áóäóöü çìåø÷àíû ÿðëûê³ ïðàãðàìû. Âû òàêñàìà ìîæàöå àçíà÷ûöü ³íøàå ³ìÿ ïàïê³."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Íå ñòâàðàöü ÿðëûê³"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Âûäàëåííå $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Âûäàëåííå $(^NameDA) ç Âàøàãà êàìïóòàðà."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Âû ñàïðà¢äû æàäàåöå ñêàñàâàöü óñòàíî¢êó $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Âû ñàïðà¢äû æàäàåöå ñêàñàâàöü âûäàëåííå $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Finnish.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Finnish.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Finnish.nlf	(revision 2961)
@@ -0,0 +1,192 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+1035
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by Eclipser (Jonne Lehtinen) <Eclipser at pilvikaupunki dot net>
+# Corrections by the Mozilla.fi crew
+# ^Branding
+Nullsoftin asennusjärjestelmä %s
+# ^SetupCaption
+$(^Name) Asennus
+# ^UninstallCaption
+$(^Name) Poisto
+# ^LicenseSubCaption
+: Lisenssisopimus
+# ^ComponentsSubCaption
+: Asennusvaihtoehdot
+# ^DirSubCaption
+: Asennuskansio
+# ^InstallingSubCaption
+: Asennetaan
+# ^CompletedSubCaption
+: Valmis
+# ^UnComponentsSubCaption
+: Poistovaihtoehdot
+# ^UnDirSubCaption
+: Poistokansio
+# ^ConfirmSubCaption
+: Varmistus
+# ^UninstallingSubCaption
+: Poistetaan
+# ^UnCompletedSubCaption
+: Valmis
+# ^BackBtn
+< &Takaisin
+# ^NextBtn
+&Seuraava >
+# ^AgreeBtn
+&Hyväksyn
+# ^AcceptBtn
+Hyväksyn lisenssisopimuksen ehdot
+# ^DontAcceptBtn
+En hyväksy sopimuksen ehtoja
+# ^InstallBtn
+&Asenna
+# ^UninstallBtn
+&Poista
+# ^CancelBtn
+Peruuta
+# ^CloseBtn
+&Sulje
+# ^BrowseBtn
+S&elaa...
+# ^ShowDetailsBtn
+&Näytä tiedot
+# ^ClickNext
+Valitse Seuraava jatkaaksesi.
+# ^ClickInstall
+Valitse Asenna aloittaaksesi asennuksen.
+# ^ClickUninstall
+Valitse Poista poistaaksesi asennuksen.
+# ^Name
+Nimi
+# ^Completed
+Valmis
+# ^LicenseText
+Lue lisenssisopimus ennen asentamista. Jos hyväksyt sopimuksen kaikki ehdot, valitse Hyväksyn.
+# ^LicenseTextCB
+Lue lisenssisopimus ennen asentamista. Jos hyväksyt sopimuksen kaikki ehdot, laita rasti ruutuun. $_CLICK
+# ^LicenseTextRB
+Lue lisenssisopimus ennen asentamista. Jos hyväksyt sopimuksen kaikki ehdot, valitse ensimmäinen vaihtoehto alapuolelta. $_CLICK
+# ^UnLicenseText
+Lue lisenssisopimus ennen poistamista. Jos hyväksyt sopimuksen kaikki ehdot, valitse Hyväksyn.
+# ^UnLicenseTextCB
+Lue lisenssisopimus ennen poistamista. Jos hyväksyt sopimuksen kaikki ehdot, laita rasti ruutuun. $_CLICK
+# ^UnLicenseTextRB
+Lue lisenssisopimus ennen poistamista. Jos hyväksyt sopimuksen kaikki ehdot, valitse ensimmäinen vaihtoehto alapuolelta. $_CLICK
+# ^Custom
+Oma
+# ^ComponentsText
+Valitse komponentit, jotka haluat asentaa, ja poista valinta komponenteista, joita et halua asentaa. $_CLICK
+# ^ComponentsSubText1
+Valitse asennustyyppi:
+# ^ComponentsSubText2_NoInstTypes
+Valitse asennettavat komponentit:
+# ^ComponentsSubText2
+Tai, valitse valinnaiset komponentit, jotka haluat asentaa:
+# ^UnComponentsText
+Valitse komponentit, jotka haluat poistaa, ja poista valinta komponenteista, joita et haluat poistaa. $_CLICK
+# ^UnComponentsSubText1
+Valitse poistotyyppi:
+# ^UnComponentsSubText2_NoInstTypes
+Valitse poistettavat komponentit:
+# ^UnComponentsSubText2
+Tai, valitse valinnaiset komponentit, jotka haluat poistaa
+# ^DirText
+Asennus asentaa ohjelman $(^NameDA) seuraavaan kansioon. Jos haluat asentaa sen johonkin muuhun kansioon, valitse Selaa, ja valitse toinen kansio. $_CLICK
+# ^DirSubText
+Kohdekansio
+# ^DirBrowseText
+Valitse kansio, johon haluat asentaa ohjelman $(^NameDA):
+# ^UnDirText
+Asennus poistaa ohjelman $(^NameDA) seuraavasta kansiosta. Jos haluat poistaa sen jostakin muusta kansiosta, valitse Selaa, ja valitse toinen kansio. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Valitse kansio, josta haluat poistaa ohjelman $(^NameDA):
+# ^SpaceAvailable
+"Tilaa vapaana: "
+# ^SpaceRequired
+"Tarvittava tila: "
+# ^UninstallingText
+Tämä ohjelma poistaa ohjelman $(^NameDA) tietokoneelta. $_CLICK
+# ^UninstallingSubText
+Poistetaan kansiosta:
+# ^FileError
+Tiedostoon ei voitu kirjoittaa: \r\n\t"$0"\r\nLopeta asennus valitsemalla Hylkää,\r\nyritä uudelleen valitsemalla Uudelleen, tai\r\nohita tiedosto valitsemalla Ohita
+# ^FileError_NoIgnore
+Tiedostoon ei voitu kirjoittaa: \r\n\t"$0"\r\nYritä uudelleen valitsemalla Uudelleen, tai\r\nlopeta asennus valitsemalla Hylkää
+# ^CantWrite
+"Ei voi kirjoittaa: "
+# ^CopyFailed
+Kopiointi epäonnistui
+# ^CopyTo
+"Kopioidaan kohteeseen "
+# ^Registering
+"Rekisteröidään: "
+# ^Unregistering
+"Poistetaan rekisteröinti: "
+# ^SymbolNotFound
+"Symbolia ei löytynyt: "
+# ^CouldNotLoad
+"Ei voitu ladata: "
+# ^CreateFolder
+"Luo kansio: "
+# ^CreateShortcut
+"Luo pikakuvake: "
+# ^CreatedUninstaller
+"Poisto-ohjelma luotiin: "
+# ^Delete
+"Poista: "
+# ^DeleteOnReboot
+"Poista käynnistyksen yhteydessä: "
+# ^ErrorCreatingShortcut
+"Virhe luotaessa pikakuvaketta: "
+# ^ErrorCreating
+"Virhe luotaessa: "
+# ^ErrorDecompressing
+Pakettia ei voitu purkaa. Korruptoitunut asennusohjelma?
+# ^ErrorRegistering
+Virhe rekisteröidessä DLL-tiedostoa
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Suorita: "
+# ^Extract
+"Pura: "
+# ^ErrorWriting
+"Pura: tiedostoon ei voitu kirjoittaa "
+# ^InvalidOpcode
+Asennuspaketti on vioittunut: virheellinen opcode
+# ^NoOLE
+"Ei OLEa: "
+# ^OutputFolder
+"Kansio: "
+# ^RemoveFolder
+"Poista kansio: "
+# ^RenameOnReboot
+"Muuta nimi uudelleenkäynnistyksen yhteydessä: "
+# ^Rename
+"Muuta nimi: "
+# ^Skipped
+"Ohitettiin: "
+# ^CopyDetails
+Kopioi tiedot leikepöydälle
+# ^LogInstall
+Tallenna asennusloki
+# ^Byte
+t
+# ^Kilo
+k
+# ^Mega
+M
+# ^Giga
+G
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Japanese.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Japanese.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Japanese.nsh	(revision 2961)
@@ -0,0 +1,130 @@
+;Language: Japanese (1041)
+;By Dnanako
+;Translation updated by Takahiro Yoshimura <takahiro_y@monolithworks.co.jp>
+
+!insertmacro LANGFILE "Japanese" "Japanese"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "$(^NameDA) ƒZƒbƒgƒAƒbƒv ƒEƒBƒU�[ƒh‚Ö‚æ‚¤‚±‚»"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "‚±‚ÌƒEƒBƒU�[ƒh‚Í�A$(^NameDA)‚ÌƒCƒ“ƒXƒg�[ƒ‹‚ðƒKƒCƒh‚µ‚Ä‚¢‚«‚Ü‚·�B$\r$\n$\r$\nƒZƒbƒgƒAƒbƒv‚ðŠJŽn‚·‚é‘O‚É�A‘¼‚Ì‚·‚×‚Ä‚ÌƒAƒvƒŠƒP�[ƒVƒ‡ƒ“‚ð�I—¹‚·‚é‚±‚Æ‚ð�„�§‚µ‚Ü‚·�B‚±‚ê‚É‚æ‚Á‚ÄƒZƒbƒgƒAƒbƒv‚ªƒRƒ“ƒsƒ…�[ƒ^‚ð�Ä‹N“®‚¹‚¸‚É�AƒVƒXƒeƒ€ ƒtƒ@ƒCƒ‹‚ð�X�V‚·‚é‚±‚Æ‚ª�o—ˆ‚é‚æ‚¤‚É‚È‚è‚Ü‚·�B$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "$(^NameDA) ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹ ƒEƒBƒU�[ƒh‚Ö‚æ‚¤‚±‚»"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "‚±‚ÌƒEƒBƒU�[ƒh‚Í�A$(^NameDA)‚ÌƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚ðƒKƒCƒh‚µ‚Ä‚¢‚«‚Ü‚·�B$\r$\n$\r$\nƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚ðŠJŽn‚·‚é‘O‚É�A$(^NameDA)‚ª‹N“®‚µ‚Ä‚¢‚È‚¢‚±‚Æ‚ðŠm”F‚µ‚Ä‰º‚³‚¢�B$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "ƒ‰ƒCƒZƒ“ƒXŒ_–ñ�‘"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "$(^NameDA)‚ðƒCƒ“ƒXƒg�[ƒ‹‚·‚é‘O‚É�Aƒ‰ƒCƒZƒ“ƒX�ðŒ�‚ðŠm”F‚µ‚Ä‚­‚¾‚³‚¢�B"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Œ_–ñ�‘‚Ì‚·‚×‚Ä‚Ì�ðŒ�‚É“¯ˆÓ‚·‚é‚È‚ç‚Î�A[“¯ˆÓ‚·‚é] ‚ð‘I‚ñ‚ÅƒCƒ“ƒXƒg�[ƒ‹‚ð‘±‚¯‚Ä‚­‚¾‚³‚¢�B$(^NameDA) ‚ðƒCƒ“ƒXƒg�[ƒ‹‚·‚é‚É‚Í�AŒ_–ñ�‘‚É“¯ˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·�B"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Œ_–ñ�‘‚Ì‚·‚×‚Ä‚Ì�ðŒ�‚É“¯ˆÓ‚·‚é‚È‚ç‚Î�A‰º‚Ìƒ`ƒFƒbƒNƒ{ƒbƒNƒX‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢�B$(^NameDA) ‚ðƒCƒ“ƒXƒg�[ƒ‹‚·‚é‚É‚Í�AŒ_–ñ�‘‚É“¯ˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·�B $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Œ_–ñ�‘‚Ì‚·‚×‚Ä‚Ì�ðŒ�‚É“¯ˆÓ‚·‚é‚È‚ç‚Î�A‰º‚É•\Ž¦‚³‚ê‚Ä‚¢‚éƒIƒvƒVƒ‡ƒ“‚Ì‚¤‚¿�A�Å�‰‚Ì‚à‚Ì‚ð‘I‚ñ‚Å‰º‚³‚¢�B$(^NameDA) ‚ðƒCƒ“ƒXƒg�[ƒ‹‚·‚é‚É‚Í�AŒ_–ñ�‘‚É“¯ˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·�B $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "ƒ‰ƒCƒZƒ“ƒXŒ_–ñ�‘"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "$(^NameDA)‚ðƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚·‚é‘O‚É�Aƒ‰ƒCƒZƒ“ƒX�ðŒ�‚ðŠm”F‚µ‚Ä‚­‚¾‚³‚¢�B"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Œ_–ñ�‘‚Ì‚·‚×‚Ä‚Ì�ðŒ�‚É“¯ˆÓ‚·‚é‚È‚ç‚Î�A[“¯ˆÓ‚·‚é] ‚ð‘I‚ñ‚ÅƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚ð‘±‚¯‚Ä‚­‚¾‚³‚¢�B$(^NameDA) ‚ðƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚·‚é‚É‚Í�AŒ_–ñ�‘‚É“¯ˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·�B"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Œ_–ñ�‘‚Ì‚·‚×‚Ä‚Ì�ðŒ�‚É“¯ˆÓ‚·‚é‚È‚ç‚Î�A‰º‚Ìƒ`ƒFƒbƒNƒ{ƒbƒNƒX‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢�B$(^NameDA) ‚ðƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚·‚é‚É‚Í�AŒ_–ñ�‘‚É“¯ˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·�B $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Œ_–ñ�‘‚Ì‚·‚×‚Ä‚Ì�ðŒ�‚É“¯ˆÓ‚·‚é‚È‚ç‚Î�A‰º‚É•\Ž¦‚³‚ê‚Ä‚¢‚éƒIƒvƒVƒ‡ƒ“‚Ì‚¤‚¿�A�Å�‰‚Ì‚à‚Ì‚ð‘I‚ñ‚Å‰º‚³‚¢�B$(^NameDA) ‚ðƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚·‚é‚É‚Í�AŒ_–ñ�‘‚É“¯ˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·�B $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "[Page Down]‚ð‰Ÿ‚µ‚ÄŒ_–ñ�‘‚ð‚·‚×‚Ä‚¨“Ç‚Ý‚­‚¾‚³‚¢�B"
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "ƒRƒ“ƒ|�[ƒlƒ“ƒg‚ð‘I‚ñ‚Å‚­‚¾‚³‚¢�B"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "$(^NameDA)‚ÌƒCƒ“ƒXƒg�[ƒ‹ ƒIƒvƒVƒ‡ƒ“‚ð‘I‚ñ‚Å‚­‚¾‚³‚¢�B"
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "ƒRƒ“ƒ|�[ƒlƒ“ƒg‚ð‘I‚ñ‚Å‚­‚¾‚³‚¢�B"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "$(^NameDA)‚ÌƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹ ƒIƒvƒVƒ‡ƒ“‚ð‘I‚ñ‚Å‚­‚¾‚³‚¢�B"
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "�à–¾"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "ƒRƒ“ƒ|�[ƒlƒ“ƒg‚Ì�ã‚Éƒ}ƒEƒX ƒJ�[ƒ\ƒ‹‚ðˆÚ“®‚·‚é‚Æ�A‚±‚±‚É�à–¾‚ª•\Ž¦‚³‚ê‚Ü‚·�B"
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "ƒRƒ“ƒ|�[ƒlƒ“ƒg‚Ì�ã‚Éƒ}ƒEƒX ƒJ�[ƒ\ƒ‹‚ðˆÚ“®‚·‚é‚Æ�A‚±‚±‚É�à–¾‚ª•\Ž¦‚³‚ê‚Ü‚·�B"
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "ƒCƒ“ƒXƒg�[ƒ‹�æ‚ð‘I‚ñ‚Å‚­‚¾‚³‚¢�B"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "$(^NameDA)‚ðƒCƒ“ƒXƒg�[ƒ‹‚·‚éƒtƒHƒ‹ƒ_‚ð‘I‚ñ‚Å‚­‚¾‚³‚¢�B"
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹Œ³‚ð‘I‚ñ‚Å‚­‚¾‚³‚¢�B"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "$(^NameDA)‚ðƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚·‚éƒtƒHƒ‹ƒ_‚ð‘I‚ñ‚Å‚­‚¾‚³‚¢�B"
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "ƒCƒ“ƒXƒg�[ƒ‹"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "$(^NameDA)‚ðƒCƒ“ƒXƒg�[ƒ‹‚µ‚Ä‚¢‚Ü‚·�B‚µ‚Î‚ç‚­‚¨‘Ò‚¿‚­‚¾‚³‚¢�B"
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "ƒCƒ“ƒXƒg�[ƒ‹‚ÌŠ®—¹"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "ƒCƒ“ƒXƒg�[ƒ‹‚É�¬Œ÷‚µ‚Ü‚µ‚½�B"
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "ƒCƒ“ƒXƒg�[ƒ‹‚Ì’†Ž~"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "ƒZƒbƒgƒAƒbƒv‚Í�³�í‚ÉŠ®—¹‚³‚ê‚Ü‚¹‚ñ‚Å‚µ‚½�B"
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "$(^NameDA)‚ðƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚µ‚Ä‚¢‚Ü‚·�B‚µ‚Î‚ç‚­‚¨‘Ò‚¿‚­‚¾‚³‚¢�B"
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚ÌŠ®—¹"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚É�¬Œ÷‚µ‚Ü‚µ‚½�B"
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚Ì’†Ž~"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚Í�³�í‚ÉŠ®—¹‚³‚ê‚Ü‚¹‚ñ‚Å‚µ‚½�B"
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "$(^NameDA) ƒZƒbƒgƒAƒbƒv ƒEƒBƒU�[ƒh‚ÍŠ®—¹‚µ‚Ü‚µ‚½�B"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA)‚Í�A‚±‚ÌƒRƒ“ƒsƒ…�[ƒ^‚ÉƒCƒ“ƒXƒg�[ƒ‹‚³‚ê‚Ü‚µ‚½�B$\r$\n$\r$\nƒEƒBƒU�[ƒh‚ð•Â‚¶‚é‚É‚Í [Š®—¹] ‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢�B"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "$(^NameDA) ‚ÌƒCƒ“ƒXƒg�[ƒ‹‚ðŠ®—¹‚·‚é‚É‚Í�A‚±‚ÌƒRƒ“ƒsƒ…�[ƒ^‚ð�Ä‹N“®‚·‚é•K—v‚ª‚ ‚è‚Ü‚·�B�¡‚·‚®�Ä‹N“®‚µ‚Ü‚·‚©�H"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "$(^NameDA) ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹ ƒEƒBƒU�[ƒh‚ÍŠ®—¹‚µ‚Ü‚µ‚½�B"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA)‚Í�A‚±‚ÌƒRƒ“ƒsƒ…�[ƒ^‚©‚çƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚³‚ê‚Ü‚µ‚½�B$\r$\n$\r$\nƒEƒBƒU�[ƒh‚ð•Â‚¶‚é‚É‚Í [Š®—¹] ‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢�B"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "$(^NameDA) ‚ÌƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚ðŠ®—¹‚·‚é‚É‚Í�A‚±‚ÌƒRƒ“ƒsƒ…�[ƒ^‚ð�Ä‹N“®‚·‚é•K—v‚ª‚ ‚è‚Ü‚·�B�¡‚·‚®�Ä‹N“®‚µ‚Ü‚·‚©�H"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "�¡‚·‚®�Ä‹N“®‚·‚é"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Œã‚ÅŽè“®‚Å�Ä‹N“®‚·‚é"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "$(^NameDA)‚ðŽÀ�s(&R)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Readme ‚ð•\Ž¦‚·‚é(&S)"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "Š®—¹(&F)"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "ƒXƒ^�[ƒgƒ�ƒjƒ…�[ ƒtƒHƒ‹ƒ_‚ð‘I‚ñ‚Å‚­‚¾‚³‚¢�B"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "$(^NameDA)‚ÌƒVƒ‡�[ƒgƒJƒbƒg‚ð�ì�¬‚·‚éƒXƒ^�[ƒgƒ�ƒjƒ…�[ ƒtƒHƒ‹ƒ_‚ð‘I‚ñ‚Å‰º‚³‚¢�B"
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "‚±‚Ìƒvƒ�ƒOƒ‰ƒ€‚ÌƒVƒ‡�[ƒgƒJƒbƒg‚ð�ì�¬‚µ‚½‚¢ƒXƒ^�[ƒgƒ�ƒjƒ…�[ ƒtƒHƒ‹ƒ_‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢�B‚Ü‚½�A�ì�¬‚·‚é�V‚µ‚¢ƒtƒHƒ‹ƒ_‚É–¼‘O‚ð‚Â‚¯‚é‚±‚Æ‚à‚Å‚«‚Ü‚·�B"
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "ƒVƒ‡�[ƒgƒJƒbƒg‚ð�ì�¬‚µ‚È‚¢"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "$(^NameDA)‚ÌƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "$(^NameDA)‚ð‚±‚ÌƒRƒ“ƒsƒ…�[ƒ^‚©‚ç�í�œ‚µ‚Ü‚·�B"
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "$(^Name) ƒZƒbƒgƒAƒbƒv‚ð’†Ž~‚µ‚Ü‚·‚©�H"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "$(^Name) ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚ð’†Ž~‚µ‚Ü‚·‚©�H"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "ƒ†�[ƒU�[‚ð‘I‘ð"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "‚Ç‚Ìƒ†�[ƒU�[‚Ì‚½‚ß‚É$(^NameDA)‚ðƒCƒ“ƒXƒg�[ƒ‹‚·‚é‚©‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢�B"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "$(^NameDA)‚ðŽ©•ªŽ©�g‚Ì‚½‚ß‚¾‚¯‚ÉƒCƒ“ƒXƒg�[ƒ‹‚µ‚½‚¢‚Ì‚©�A‚±‚ÌƒRƒ“ƒsƒ…�[ƒ^�[‚Ì‘Sƒ†�[ƒU�[‚Ì‚½‚ß‚ÉƒCƒ“ƒXƒg�[ƒ‹‚µ‚½‚¢‚Ì‚©‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢�B$(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "‚±‚ÌƒRƒ“ƒsƒ…�[ƒ^�[‚ðŽg—p‚µ‚Ä‚¢‚é‘S‚Ä‚Ì�l—p‚ÉƒCƒ“ƒXƒg�[ƒ‹‚·‚é"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Ž©•ª�ê—p‚ÉƒCƒ“ƒXƒg�[ƒ‹‚·‚é"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Norwegian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Norwegian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Norwegian.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Norwegian (2068)
+;By Jonas Lindsrøm (jonasc_88@hotmail.com) Reviewed and fixed by Jan Ivar Beddari, d0der at online.no
+
+!insertmacro LANGFILE "Norwegian" "Norwegian"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Velkommen til veiviseren for installasjon av $(^NameDA) "
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Denne veiviseren vil lede deg gjennom installasjonen av $(^NameDA).$\r$\n$\r$\nDet anbefales at du avslutter alle andre programmer før du fortsetter. Dette vil la installasjonsprogrammet forandre på systemfiler uten at du må starte datamaskinen på nytt.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Velkommen til veiviseren for avinstallasjon av $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Denne veiviseren vil lede deg gjennom avinstallasjonen av $(^NameDA).$\r$\n$\r$\nFør du fortsetter må du forsikre deg om at $(^NameDA) ikke kjører.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Lisensavtale"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Vennligst les gjennom lisensavtalen før du starter installasjonen av $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Hvis du godtar lisensavtalen trykk Godta for å fortsette. Du må godta lisensavtalen for å installere $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Hvis du godtar lisensavtalen, kryss av på merket under. Du må godta lisensavtalen for å installere $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Hvis du godtar lisensavtalen, velg det første alternativet ovenfor. Du må godta lisensavtalen for å installere $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Lisensavtale"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Vennligst les gjennom lisensavtalen før du avinstallerer $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Hvis du godtar lisensavtalen trykk Godta for å fortsette.  Du må godta lisensavtalen for å avintallere $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Hvis du godtar lisensavtalen, kryss av på merket under. Du må godta lisensavtalen for å avinstallere $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Hvis du godtar lisensavtalen, velg det første alternativet ovenfor. Du må godta lisensavtalen for å avinstallere $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Trykk Page Down knappen for å se resten av lisensavtalen."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Velg komponenter"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Velg hvilke deler av $(^NameDA) du ønsker å installere."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Velg komponenter"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Velg hvilke deler av $(^NameDA) du ønsker å avinstallere."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Beskrivelse"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Beveg musen over komponentene for å se beskrivelsen."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Beveg musen over komponentene for å se beskrivelsen."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Velg installasjonsmappe"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Velg hvilken mappe du vil installere $(^NameDA) i."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Velg mappe for avinstallasjon"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Velg mappen du vil avinstallere $(^NameDA) fra."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Installasjonen pågår"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Vennligst vent mens $(^NameDA) blir installert."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Installasjonen er ferdig"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Installasjonen ble fullført uten feil."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Installasjonen er avbrutt"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Installasjonen ble ikke fullført riktig."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Avinstallasjon pågår"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Vennligst vent mens $(^NameDA) blir avinstallert."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Avinstallasjon ferdig"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Avinstallasjonen ble utført uten feil."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Avinstallasjon avbrutt"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Avinstallasjonen ble ikke utført riktig."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Avslutter $(^NameDA) installasjonsveiviser"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) er klart til bruk på din datamskin.$\r$\n$\r$\nTrykk Ferdig for å avslutte installasjonsprogrammet."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Du må starte datamaskinen på nytt for å fullføre installasjonen av $(^NameDA). Vil du starte datamaskinen på nytt nå?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Fullfører avinstallasjonen av $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) har blitt avinstallert fra din datamaskin.$\r$\n$\r$\nTrykk på ferdig for å avslutte denne veiviseren."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Datamaskinen må starte på nytt for å fullføre avinstallasjonen av $(^NameDA). Vil du starte datamaskinen på nytt nå?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Ja. Start datamaskinen på nytt nå"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Nei. Jeg vil starte datamaskinen på nytt senere"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Kjør $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Vis Readme filen"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Ferdig"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Velg plassering på startmenyen"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Velg hvilken mappe snarveiene til $(^NameDA) skal ligge i."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Velg mappe for snarveiene til programmet. Du kan også skrive inn et nytt navn for å lage en ny mappe."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Ikke lag snarveier"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Avinstaller $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Fjern $(^NameDA) fra din datamaskin."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Er du sikker på at du vil avslutte installasjonen av $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Er du sikker på at du vil avbryte avinstallasjonen av $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/English.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/English.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/English.nsh	(revision 2961)
@@ -0,0 +1,129 @@
+;Language: English (1033)
+;By Joost Verburg
+
+!insertmacro LANGFILE "English" "English"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Welcome to the $(^NameDA) Setup Wizard"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "This wizard will guide you through the installation of $(^NameDA).$\r$\n$\r$\nIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without having to reboot your computer.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Welcome to the $(^NameDA) Uninstall Wizard"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "This wizard will guide you through the uninstallation of $(^NameDA).$\r$\n$\r$\nBefore starting the uninstallation, make sure $(^NameDA) is not running.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "License Agreement"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Please review the license terms before installing $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "If you accept the terms of the agreement, click I Agree to continue. You must accept the agreement to install $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "If you accept the terms of the agreement, click the check box below. You must accept the agreement to install $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "If you accept the terms of the agreement, select the first option below. You must accept the agreement to install $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "License Agreement"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Please review the license terms before uninstalling $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "If you accept the terms of the agreement, click I Agree to continue. You must accept the agreement to uninstall $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "If you accept the terms of the agreement, click the check box below. You must accept the agreement to uninstall $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "If you accept the terms of the agreement, select the first option below. You must accept the agreement to uninstall $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Press Page Down to see the rest of the agreement."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Choose Components"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Choose which features of $(^NameDA) you want to install."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Choose Components"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Choose which features of $(^NameDA) you want to uninstall."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Description"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Position your mouse over a component to see its description."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Position your mouse over a component to see its description."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Choose Install Location"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Choose the folder in which to install $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Choose Uninstall Location"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Choose the folder from which to uninstall $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Installing"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Please wait while $(^NameDA) is being installed."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Installation Complete"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Setup was completed successfully."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Installation Aborted"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Setup was not completed successfully."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Uninstalling"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Please wait while $(^NameDA) is being uninstalled."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Uninstallation Complete"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Uninstall was completed successfully."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Uninstallation Aborted"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Uninstall was not completed successfully."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Completing the $(^NameDA) Setup Wizard"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) has been installed on your computer.$\r$\n$\r$\nClick Finish to close this wizard."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Your computer must be restarted in order to complete the installation of $(^NameDA). Do you want to reboot now?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Completing the $(^NameDA) Uninstall Wizard"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) has been uninstalled from your computer.$\r$\n$\r$\nClick Finish to close this wizard."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Your computer must be restarted in order to complete the uninstallation of $(^NameDA). Do you want to reboot now?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Reboot now"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "I want to manually reboot later"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Run $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Show Readme"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Finish"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Choose Start Menu Folder"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Choose a Start Menu folder for the $(^NameDA) shortcuts."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Select the Start Menu folder in which you would like to create the program's shortcuts. You can also enter a name to create a new folder."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Do not create shortcuts"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Uninstall $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Remove $(^NameDA) from your computer."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Are you sure you want to quit $(^Name) Setup?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Are you sure you want to quit $(^Name) Uninstall?"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Choose Users"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Choose for which users you want to install $(^NameDA)."
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Select whether you want to install $(^NameDA) for yourself only or for all users of this computer. $(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Install for anyone using this computer"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Install just for me"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Romanian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Romanian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Romanian.nlf	(revision 2961)
@@ -0,0 +1,202 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1048
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1250
+# RTL - anything else than RTL means LTR
+-
+# Translation by Cristian Pirvu (pcristip@yahoo.com) v6
+# Revision by Sorin Sbarnea (sorin@intersol.ro)      v5.1
+# and Sorin Sbarnea INTERSOL SRL (sorin@intersol.ro) v4
+# New revision by George Radu (georadu@hotmail.com)
+# New revision by Iulian Dogariu (iulian@jayomega.net)
+#   - Use Romanian letters ãâîºþ
+#   - Use imperative forms on buttons
+#   - Replace some neologisms
+# New revision by Vlad Rusu (vlad@bitattack.ro)
+#	- "Rasfoieºte" replaced with "Alege" - more appropiate
+#	- "Eliminã" related terms replaced with more appropiate "Dezinstaleazã"
+#	- Fixed: Wrong translation in ^FileError and ^FileError_NoIgnore -> no translation
+#	  needed Abort/Retry/Ignore, as these are not translated into local language, OS related
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+Instalare $(^Name)
+# ^UninstallCaption
+Dezinstalare $(^Name)
+# ^LicenseSubCaption
+: Contract de licenþã
+# ^ComponentsSubCaption
+: Opþiuni instalare
+# ^DirSubCaption
+: Directorul destinaþie
+# ^InstallingSubCaption
+: În curs de instalare
+# ^CompletedSubCaption
+: Instalare terminatã
+# ^UnComponentsSubCaption
+: Opþiuni dezinstalare
+# ^UnDirSubCaption
+: Directorul de dezinstalare
+# ^ConfirmSubCaption
+: Confirmã
+# ^UninstallingSubCaption
+: În curs de dezinstalare
+# ^UnCompletedSubCaption
+: Terminã
+# ^BackBtn
+< Îna&poi
+# ^NextBtn
+Îna&inte >
+# ^AgreeBtn
+&De acord
+# ^AcceptBtn
+&Accept termenii contractului de licenþã
+# ^DontAcceptBtn
+Nu accept termenii contractului de licenþã
+# ^InstallBtn
+&Instaleazã
+# ^UninstallBtn
+&Dezinstaleazã
+# ^CancelBtn
+&Renunþã
+# ^CloseBtn
+În&chide
+# ^BrowseBtn
+&Alege...
+# ^ShowDetailsBtn
+Aratã &detalii
+# ^ClickNext
+Apãsaþi Înainte pentru a continua.
+# ^ClickInstall
+Apãsaþi Instaleazã pentru a începe instalarea.
+# ^ClickUninstall
+Apãsaþi Dezinstaleazã pentru a începe dezinstalarea.
+# ^Name
+Nume
+# ^Completed
+Terminat
+# ^LicenseText
+Citiþi cu atenþie contractul de licenþã înainte de a instala $(^NameDA). Dacã acceptaþi termenii contractului de licenþã, apãsaþi butonul De acord.
+# ^LicenseTextCB
+Citiþi cu atenþie contractul de licenþã înainte de a instala $(^NameDA). Dacã acceptaþi termenii contractului de licenþã, bifaþi cãsuþa de mai jos. $_CLICK
+# ^LicenseTextRB
+Citiþi cu atenþie contractul de licenþã înainte de a instala $(^NameDA). Dacã acceptaþi termenii contractului de licenþã, selectaþi prima opþiune de mai jos. $_CLICK
+# ^UnLicenseText
+Citiþi cu atenþie contractul de licenþã înainte de a dezinstala $(^NameDA). Dacã acceptaþi termenii contractului de licenþã, apãsaþi butonul De acord.
+# ^UnLicenseTextCB
+Citiþi cu atenþie contractul de licenþã înainte de a dezinstala $(^NameDA). Dacã acceptaþi termenii contractului de licenþã, bifaþi cãsuþa de mai jos. $_CLICK
+# ^UnLicenseTextRB
+Citiþi cu atenþie contractul de licenþã înainte de a dezinstala $(^NameDA). Dacã acceptaþi termenii contractului de licenþã, selectaþi prima opþiune de mai jos. $_CLICK
+# ^Custom
+Personalizatã
+# ^ComponentsText
+Alegeþi componentele pe care doriþi sã le instalaþi. $_CLICK
+# ^ComponentsSubText1
+Alegeþi tipul instalãrii:
+# ^ComponentsSubText2_NoInstTypes
+Alegeþi componentele ce urmeazã a fi instalate:
+# ^ComponentsSubText2
+Sau, alegeþi componentele opþionale pe care doriþi sã le instalaþi:
+# ^UnComponentsText
+Alegeþi componentele pe care doriþi sã le dezinstalaþi. $_CLICK
+# ^UnComponentsSubText1
+Alegeþi tipul de dezinstalare:
+# ^UnComponentsSubText2_NoInstTypes
+Alegeþi componentele ce urmeazã a fi dezinstalate:
+# ^UnComponentsSubText2
+Sau, alegeþi componentele opþionale pe care doriþi sã le dezinstalaþi:
+# ^DirText
+$(^NameDA) se va instala în urmãtorul director. Pentru a alege altã destinaþie, apãsaþi Alege ºi alegeþi alt director. $_CLICK
+# ^DirSubText
+Director destinaþie
+# ^DirBrowseText
+Alegeþi directorul în care doriþi sã instalaþi $(^NameDA):
+# ^UnDirText
+$(^NameDA) se va dezinstala din urmãtorul director. Pentru a dezinstala din alt director, apãsaþi Alege ºi alegeþi alt director. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Alegeþi directorul de dezinstalare al $(^NameDA):
+# ^SpaceAvailable
+"Spaþiu disponibil: "
+# ^SpaceRequired
+"Spaþiu necesar: "
+# ^UninstallingText
+Aceastã aplicaþie va dezinstala $(^NameDA) din computerul Dv. $_CLICK
+# ^UninstallingSubText
+Dezinstalare din:
+# ^FileError
+Eroare la scrierea fiºierului: \r\n\t"$0"\r\nApãsaþi Abort pentru oprirea instalãrii,\r\nRetry pentru a mai încerca o datã scrierea fiºierului, \r\nIgnore pentru a trece peste acest fiºier.
+# ^FileError_NoIgnore
+Eroare la scrierea fiºierului: \r\n\t"$0"\r\nApãsaþi Retry pentru a mai încerca o datã, sau\r\nAbort pentru oprirea instalãrii.
+# ^CantWrite
+"Nu am putut scrie: "
+# ^CopyFailed
+Copierea a eºuat
+# ^CopyTo
+"Copiere în "
+# ^Registering
+"Se înregistreazã: "
+# ^Unregistering
+"Se dezînregistreazã din registru: "
+# ^SymbolNotFound
+"Simbolul nu a fost gãsit: "
+# ^CouldNotLoad
+"Nu am putut încãrca: "
+# ^CreateFolder
+"Creare director: "
+# ^CreateShortcut
+"Creare comandã rapidã: "
+# ^CreatedUninstaller
+"S-a creat aplicaþia de dezinstalare: "
+# ^Delete
+"ªtergere fiºier: "
+# ^DeleteOnReboot
+"ªtergere la repornire: "
+# ^ErrorCreatingShortcut
+"Eroare la crearea comenzii rapide: "
+# ^ErrorCreating
+"Eroare la creare: "
+# ^ErrorDecompressing
+Eroare la dezarhivarea datelor! Aplicatia de instalare este defectã?
+# ^ErrorRegistering
+Eroare la Înregistrarea DLL-ului
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Executare: "
+# ^Extract
+"Extragere: "
+# ^ErrorWriting
+"Extragere: eroare la scriere în fiºier "
+# ^InvalidOpcode
+Aplicaþie de instalare defectã: opcode incorect
+# ^NoOLE
+"Nu existã OLE pentru: "
+# ^OutputFolder
+"Directorul destinaþie: "
+# ^RemoveFolder
+"ªtergere destinaþie: "
+# ^RenameOnReboot
+"Redenumire la repornirea computerului: "
+# ^Rename
+"Redenumire: "
+# ^Skipped
+"Sãrite: "
+# ^CopyDetails
+Copiere detalii în clipboard
+# ^LogInstall
+Jurnal proces instalare
+# ^Byte
+O
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Lithuanian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Lithuanian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Lithuanian.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Lithuanian (1063)
+;By Vytautas Krivickas (Vytautas). Updated by Danielius Scepanskis (Daan daniel@takas.lt) 2004.01.09
+
+!insertmacro LANGFILE "Lithuanian" "Lietuviu"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Sveiki atvykæ á $(^NameDA) ádiegimo programà."
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Ði programa jums padës lengvai ádiegti $(^NameDA).$\r$\n$\r$\nRekomenduojama iðjungti visas programas, prieð pradedant ádiegimà. Tai leis atnaujinti sistemos failus neperkraunat kompiuterio.$\r$\n$\r$\n"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Sveiki atvykæ á $(^NameDA) paðalinimo programà."
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Ði programa jums padës lengvai iðtrinti $(^NameDA).$\r$\n$\r$\nPrieð pradedant pasitikrinkite kad $(^NameDA) yra iðjungta.$\r$\n$\r$\n"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Naudojimo sutartis"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Praðome perskaityti sutartá prieð ádiegdami $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Jei jûs sutinkate su nurodytomis sàlygomis, spauskite Sutinku. Jûs privalote sutikti, jei norite ádiegti $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Jei jûs sutinkate su nurodytomis sàlygomis, padëkite varnelæ tam skirtame laukelyje. Jûs privalote sutikti, jei norite ádiegti $(^NameDA). "
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Jei jûs sutinkate su nurodytomis sàlygomis, pasirinkite pirmà pasirinkimà esantá þemiau. Jûs privalote sutikti, jei norite ádiegti $(^NameDA). "
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Naudojimo sutartis"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Praðome perskaityti sutartá prieð $(^NameDA) paðalinimà."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Jei jûs sutinkate su nurodytomis sàlygomis, spauskite Sutinku. Jûs privalote sutikti, jei norite iðtrinti $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "s, padëkite varnelæ tam skirtame laukelyje. Jûs privalote sutikti, jei norite iðtrinti $(^NameDA). "
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Jei jûs sutinkate su nurodytomis sàlygomis, pasirinkite pirmà pasirinkimà esantá þemiau. Jûs privalote sutikti, jei norite iðtrinti $(^NameDA)."
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Paspauskite Page Down ir perskaitykite visà sutartá."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Pasirinkite"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Pasirinkite kokias $(^NameDA) galimybes jûs norite ádiegti."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Pasirinkite"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Pasirinkite kokias $(^NameDA) galimybes jûs norite paðalinti."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Paaiðkinimas"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Uþveskite pelës þymeklá ant komponento ir pamatysite jo apraðymà."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Uþveskite pelës þymeklá ant komponento ir pamatysite jo apraðymà."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Pasirinkite ádiegimo vietà"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Pasirinkite katalogà á kûri ádiegsite $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Pasirinkite iðtrinimo vietà"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Pasirinkite katalogà ið kurio iðtrinsite $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Diegiama"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Praðome palaukti, kol $(^NameDA) bus ádiegtas."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Ádiegimas baigtas"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Ádiegimas baigtas sekmingai."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Ádiegimas nutrauktas"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Ádiegimas nebuvo baigtas sekmingai."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Ðalinama"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Praðome palaukti, kol $(^NameDA) bus paðalinta."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Programos paðalinimas baigtas"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Iðtrynimas baigtas sekmingai."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Iðtrynimas nutrauktas"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Iðtrynimas nebuvo baigtas sekmingai."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Baigiu $(^NameDA) ádiegimo procesà"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) buvo ádiegtas á jûsø kompiuterá.$\r$\n$\r$\nPaspauskite Baigti."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Jûsø kompiuteris turi bûti perkrautas, kad bûtø baigtas $(^NameDA) ádiegimas. Ar jûs norite perkrauti dabar?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Baigiu $(^NameDA) paðalinimo programà."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) buvo iðtrinta ið jûsø kompiuterio.$\r$\n$\r$\nPaspauskite Baigti."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Jûsø kompiuteris turi bûti perkrautas, kad bûtø baigtas $(^NameDA) paðalinimas. Ar jûs norite perkrauti dabar?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Perkrauti dabar"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Að noriu perkrauti veliau pats"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Leisti $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Parodyti dokumentacijà"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Baigti"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Pasirinkite Start Menu katalogà"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Pasirinkite Start Menu katalogà, kuriame bus sukurtos programos nuorodos."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Pasirinkite Start Menu katalogà, kuriame bus sukurtos programos nuorodos. Jûs taip pat galite sukurti naujà katalogà."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Nekurti nuorodø"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Panaikinti $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Iðtrinti $(^NameDA) ið jûsø kompiuterio."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Ar jûs tikrai norite iðjungti $(^Name) ádiegimo programà?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Ar jûs tikrai norite iðjungti $(^Name) paðalinimo programà?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Danish.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Danish.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Danish.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1030
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by Claus Futtrup
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) Installation
+# ^UninstallCaption
+$(^Name) Afinstallation
+# ^LicenseSubCaption
+: Licensaftale
+# ^ComponentsSubCaption
+: Installationsmuligheder
+# ^DirSubCaption
+: Installationsmappe
+# ^InstallingSubCaption
+: Installerer
+# ^CompletedSubCaption
+: Gennemført
+# ^UnComponentsSubCaption
+: Afinstallationsmuligheder
+# ^UnDirSubCaption
+: Afinstallationsmappe
+# ^ConfirmSubCaption
+: Bekræft
+# ^UninstallingSubCaption
+: Afinstallerer
+# ^UnCompletedSubCaption
+: Gennemført
+# ^BackBtn
+< &Tilbage
+# ^NextBtn
+&Næste >
+# ^AgreeBtn
+Jeg &accepterer
+# ^AcceptBtn
+Jeg &accepterer vilkårene i licensaftalen
+# ^DontAcceptBtn
+Jeg &accepterer ikke vilkårene i licensaftalen
+# ^InstallBtn
+&Installer
+# ^UninstallBtn
+&Afinstaller
+# ^CancelBtn
+Afbryd
+# ^CloseBtn
+&Luk
+# ^BrowseBtn
+G&ennemse...
+# ^ShowDetailsBtn
+Vis &detaljer
+# ^ClickNext
+Tryk Næste for at fortsætte.
+# ^ClickInstall
+Tryk Installer for at starte installationen.
+# ^ClickUninstall
+Tryk Afinstaller for at starte afinstallationen.
+# ^Name
+Navn
+# ^Completed
+Gennemført
+# ^LicenseText
+Læs venligst licensaftalen før installationen af $(^NameDA). Hvis du accepterer alle betingelser i aftalen, skal du trykke 'Jeg accepterer'.
+# ^LicenseTextCB
+Læs venligst licensaftalen før installationen af $(^NameDA). Hvis du accepterer alle betingelser i aftalen, skal du markere afkrydsningsfeltet nedenfor. $_CLICK
+# ^LicenseTextRB
+Læs venligst licensaftalen før installationen af $(^NameDA). Hvis du accepterer alle betingelser i aftalen, skal du vælge den første mulighed nedenfor. $_CLICK
+# ^UnLicenseText
+Læs venligst licensaftalen før afinstallationen af $(^NameDA). Hvis du accepterer alle betingelser i aftalen, skal du trykke 'Jeg accepterer'
+# ^UnLicenseTextCB
+Læs venligst licensaftalen før afinstallationen af $(^NameDA). Hvis du accepterer alle betingelser i aftalen, skal du markere afkrydsningsfeltet nedenfor. $_CLICK
+# ^UnLicenseTextRB
+Læs venligst licensaftalen før afinstallationen af $(^NameDA). Hvis du accepterer alle betingelser i aftalen, skal du vælge den første mulighed nedenfor $_CLICK
+# ^Custom
+Brugerdefineret
+# ^ComponentsText
+Marker de komponenter du vil installere, og fjern markeringen af de komponenter du ikke vil installere. $_CLICK
+# ^ComponentsSubText1
+Vælg installationstype:
+# ^ComponentsSubText2_NoInstTypes
+Vælg de komponenter der skal installeres:
+# ^ComponentsSubText2
+Eller vælg de tillægskomponenter komponenter du ønsker at installere:
+# ^UnComponentsText
+Marker de komponenter du vil afinstallere, og fjern markeringen af de komponenter du ikke vil afinstallere. $_CLICK
+# ^UnComponentsSubText1
+Vælg afinstallationstype:
+# ^UnComponentsSubText2_NoInstTypes
+Vælg de komponenter der skal afinstalleres:
+# ^UnComponentsSubText2
+Eller vælg de tillægskomponenter du ønsker at afinstallere:
+# ^DirText
+Installationsguiden vil installere $(^NameDA) i følgende mappe. For at installere i en anden mappe, tryk Gennemse og vælg en anden mappe. $_CLICK
+# ^DirSubText
+Destinationsmappe
+# ^DirBrowseText
+Vælg den mappe $(^NameDA) skal installeres i:
+# ^UnDirText
+Installationsguiden vil afinstallere $(^NameDA) fra følgende mappe. For at afinstallere fra en anden mappe, tryk Gennemse og vælg en anden mappe. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Vælg den mappe hvorfra $(^NameDA) skal afinstalleres:
+# ^SpaceAvailable
+"Ledig plads: "
+# ^SpaceRequired
+"Nødvendig plads: "
+# ^UninstallingText
+$(^NameDA) vil blive afinstalleret fra følgende mappe. $_CLICK
+# ^UninstallingSubText
+Afinstallerer fra:
+# ^FileError
+Fejl ved skrivning af fil: \r\n\t"$0"\r\nTryk Afbryd for at afbryde installationen,\r\nPrøv Igen for at prøve at skrive til filen, eller\r\nIgnorer for at springe over denne fil
+# ^FileError_NoIgnore
+Fejl ved åbning af fil: \r\n\t"$0"\r\nTryk Prøv Igen for at prøve at skrive til filen, eller\r\nAfbryd for at afbryde installationen
+# ^CantWrite
+"Kan ikke skrive: "
+# ^CopyFailed
+Kopiering mislykkedes
+# ^CopyTo
+"Kopier til "
+# ^Registering
+"Registrerer: "
+# ^Unregistering
+"Afregisterer: "
+# ^SymbolNotFound
+"Kunne ikke finde symbol: "
+# ^CouldNotLoad
+"Kunne ikke hente: "
+# ^CreateFolder
+"Opret mappe: "
+# ^CreateShortcut
+"Opret genvej: "
+# ^CreatedUninstaller
+"Afinstallationsguide oprettet: "
+# ^Delete
+"Slet fil: "
+# ^DeleteOnReboot
+"Slet ved genstart: "
+# ^ErrorCreatingShortcut
+"Fejl ved oprettelse af genvej: "
+# ^ErrorCreating
+"Fejl ved oprettelse: "
+# ^ErrorDecompressing
+Fejl ved udpakning af data! Installationsguiden skadet?
+# ^ErrorRegistering
+Fejl ved registrering af DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Kør: "
+# ^Extract
+"Udpak: "
+# ^ErrorWriting
+"Udpak: Fejl ved skrivning til fil "
+# ^InvalidOpcode
+Installationsguide i stykker: Ugyldig opcode
+# ^NoOLE
+"Ingen OLE for: "
+# ^OutputFolder
+"Outputmappe: "
+# ^RemoveFolder
+"Slet mappe: "
+# ^RenameOnReboot
+"Omdøb ved genstart: "
+# ^Rename
+"Omdøb: "
+# ^Skipped
+"Sprunget over: "
+# ^CopyDetails
+Kopier detaljer til udklipsholderen
+# ^LogInstall
+Log installationsproces
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SimpChinese.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SimpChinese.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SimpChinese.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+2052
+# Font and size - dash (-) means default ×ÖÌåÃû³ÆÓë´óÐ¡
+ËÎÌå
+9
+# Codepage - dash (-) means ANSI code page ANSI ×ÖÂëÒ³
+936
+# RTL - anything else than RTL means LTR ÓÉÓÒÖÁ×óÊéÐ´
+-
+# Translator: Kii Ali <kiiali@cpatch.org>;Revision date: 2004-12-15
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) °²×°
+# ^UninstallCaption
+$(^Name) Ð¶ÔØ
+# ^LicenseSubCaption
+: Ðí¿ÉÖ¤Ð­Òé
+# ^ComponentsSubCaption
+: °²×°Ñ¡Ïî
+# ^DirSubCaption
+: °²×°ÎÄ¼þ¼Ð
+# ^InstallingSubCaption
+: ÕýÔÚ°²×°
+# ^CompletedSubCaption
+: ÒÑÍê³É
+# ^UnComponentsSubCaption
+: Ð¶ÔØÑ¡Ïî
+# ^UnDirSubCaption
+: Ð¶ÔØÎÄ¼þ¼Ð
+# ^ConfirmSubCaption
+: È·ÈÏ
+# ^UninstallingSubCaption
+: ÕýÔÚÐ¶ÔØ
+# ^UnCompletedSubCaption
+: Íê³É
+# ^BackBtn
+< ÉÏÒ»²½(&P)
+# ^NextBtn
+ÏÂÒ»²½(&N) >
+# ^AgreeBtn
+ÎÒ½ÓÊÜ(&I)
+# ^AcceptBtn
+ÎÒ½ÓÊÜ¡°Ðí¿ÉÖ¤Ð­Òé¡±ÖÐµÄÌõ¿î(&A)
+# ^DontAcceptBtn
+ÎÒ²»½ÓÊÜ¡°Ðí¿ÉÖ¤Ð­Òé¡±ÖÐµÄÌõ¿î(&N)
+# ^InstallBtn
+°²×°(&I)
+# ^UninstallBtn
+Ð¶ÔØ(&U)
+# ^CancelBtn
+È¡Ïû(&C)
+# ^CloseBtn
+¹Ø±Õ(&L)
+# ^BrowseBtn
+ä¯ÀÀ(&B)...
+# ^ShowDetailsBtn
+ÏÔÊ¾Ï¸½Ú(&D)
+# ^ClickNext
+µ¥»÷ [ÏÂÒ»²½(N)] ¼ÌÐø¡£
+# ^ClickInstall
+µ¥»÷ [°²×°(I)] ¿ªÊ¼°²×°½ø³Ì¡£
+# ^ClickUninstall
+µ¥»÷ [Ð¶ÔØ(U)] ¿ªÊ¼½â³ý°²×°½ø³Ì¡£
+# ^Name
+Ãû³Æ
+# ^Completed
+ÒÑÍê³É
+# ^LicenseText
+ÔÚ°²×° $(^NameDA) Ö®Ç°Çë¼ìÔÄÐí¿ÉÖ¤Ð­Òé¡£Èç¹ûÄã½ÓÊÜÐ­ÒéÖÐËùÓÐÌõ¿î£¬µ¥»÷ [ÎÒ½ÓÊÜ(I)] ¡£
+# ^LicenseTextCB
+ÔÚ°²×° $(^NameDA) Ö®Ç°Çë¼ìÔÄÐí¿ÉÖ¤Ð­Òé¡£Èç¹ûÄã½ÓÊÜÐ­ÒéÖÐËùÓÐÌõ¿î£¬µ¥»÷ÏÂ·½µÄ¹´Ñ¡¿ò¡£ $_CLICK
+# ^LicenseTextRB
+ÔÚ°²×° $(^NameDA) Ö®Ç°Çë¼ìÔÄÐí¿ÉÖ¤Ð­Òé¡£Èç¹ûÄã½ÓÊÜÐ­ÒéÖÐËùÓÐÌõ¿î£¬Ñ¡ÔñÏÂ·½µÄµÚÒ»¸öÑ¡Ïî¡£ $_CLICK
+# ^UnLicenseText
+ÔÚÐ¶ÔØ $(^NameDA) Ö®Ç°Çë¼ìÔÄÐí¿ÉÖ¤Ð­Òé¡£Èç¹ûÄã½ÓÊÜÐ­ÒéÖÐËùÓÐÌõ¿î£¬µ¥»÷ [ÎÒ½ÓÊÜ(I)] ¡£
+# ^UnLicenseTextCB
+ÔÚÐ¶ÔØ $(^NameDA) Ö®Ç°Çë¼ìÔÄÐí¿ÉÖ¤Ð­Òé¡£Èç¹ûÄã½ÓÊÜÐ­ÒéÖÐËùÓÐÌõ¿î£¬µ¥»÷ÏÂ·½µÄ¹´Ñ¡¿ò¡£ $_CLICK
+# ^UnLicenseTextRB
+ÔÚÐ¶ÔØ $(^NameDA) Ö®Ç°Çë¼ìÔÄÐí¿ÉÖ¤Ð­Òé¡£Èç¹ûÄã½ÓÊÜÐ­ÒéÖÐËùÓÐÌõ¿î£¬Ñ¡ÔñÏÂ·½µÄµÚÒ»¸öÑ¡Ïî¡£ $_CLICK
+# ^Custom
+×Ô¶¨Òå
+# ^ComponentsText
+¹´Ñ¡ÄãÏëÒª°²×°µÄ×é¼þ£¬²¢½â³ý¹´Ñ¡Äã²»Ï£Íû°²×°µÄ×é¼þ¡£ $_CLICK
+# ^ComponentsSubText1
+Ñ¡¶¨°²×°µÄÀàÐÍ: 
+# ^ComponentsSubText2_NoInstTypes
+Ñ¡¶¨°²×°µÄ×é¼þ: 
+# ^ComponentsSubText2
+»òÕß£¬×Ô¶¨ÒåÑ¡¶¨Ïë°²×°µÄ×é¼þ: 
+# ^UnComponentsText
+¹´Ñ¡ÄãÏëÒªÐ¶ÔØµÄ×é¼þ£¬²¢½â³ý¹´Ñ¡Äã²»Ï£ÍûÐ¶ÔØµÄ×é¼þ¡£ $_CLICK
+# ^UnComponentsSubText1
+Ñ¡ÔñÐ¶ÔØµÄÀàÐÍ: 
+# ^UnComponentsSubText2_NoInstTypes
+Ñ¡ÔñÒªÐ¶ÔØµÄ×é¼þ: 
+# ^UnComponentsSubText2
+»òÊÇ£¬Ñ¡ÔñÏëÒªÐ¶ÔØµÄ¿ÉÑ¡Ïî×é¼þ: 
+# ^DirText
+Setup ½«°²×° $(^NameDA) ÔÚÏÂÁÐÎÄ¼þ¼Ð¡£Òª°²×°µ½²»Í¬ÎÄ¼þ¼Ð£¬µ¥»÷ [ä¯ÀÀ(B)] ²¢Ñ¡ÔñÆäËûµÄÎÄ¼þ¼Ð¡£ $_CLICK
+# ^DirSubText
+Ä¿±êÎÄ¼þ¼Ð
+# ^DirBrowseText
+Ñ¡ÔñÒª°²×° $(^NameDA) µÄÎÄ¼þ¼ÐÎ»ÖÃ: 
+# ^UnDirText
+Setup ½«Ð¶ÔØ $(^NameDA) ÔÚÏÂÁÐÎÄ¼þ¼Ð¡£ÒªÐ¶ÔØµ½²»Í¬ÎÄ¼þ¼Ð£¬µ¥»÷ [ä¯ÀÀ(B)] ²¢Ñ¡ÔñÆäËûµÄÎÄ¼þ¼Ð¡£ $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Ñ¡ÔñÒªÐ¶ÔØ $(^NameDA) µÄÎÄ¼þ¼ÐÎ»ÖÃ: 
+# ^SpaceAvailable
+"¿ÉÓÃ¿Õ¼ä: "
+# ^SpaceRequired
+"ËùÐè¿Õ¼ä: "
+# ^UninstallingText
+Õâ¸öÏòµ¼½«´ÓÄãµÄ¼ÆËã»úÐ¶ÔØ $(^NameDA) ¡£ $_CLICK
+# ^UninstallingSubText
+Ð¶ÔØÄ¿Â¼: 
+# ^FileError
+²»ÄÜ´ò¿ªÒªÐ´ÈëµÄÎÄ¼þ: \r\n\t"$0"\r\nµ¥»÷ [Abort] ·ÅÆú°²×°£¬\r\n [Retry] ÖØÐÂ³¢ÊÔÐ´ÈëÎÄ¼þ£¬»ò\r\n [Ignore] ºöÂÔÕâ¸öÎÄ¼þ¡£
+# ^FileError_NoIgnore
+²»ÄÜ´ò¿ªÒªÐ´ÈëµÄÎÄ¼þ: \r\n\t"$0"\r\nµ¥»÷ [Retry] ÖØÐÂ³¢ÊÔÐ´ÈëÎÄ¼þ£¬»ò\r\n [Cancel] È¡Ïû°²×°¡£
+# ^CantWrite
+"ÎÞ·¨Ð´Èë: "
+# ^CopyFailed
+"¸´ÖÆÊ§°Ü "
+# ^CopyTo
+"¸´ÖÆµ½: "
+# ^Registering
+"ÕýÔÚ×¢²á: "
+# ^Unregistering
+"ÕýÔÚ½â³ý×¢²á: "
+# ^SymbolNotFound
+"ÎÞ·¨ÕÒµ½·ûºÅ: "
+# ^CouldNotLoad
+"ÎÞ·¨¼ÓÔØ: "
+# ^CreateFolder
+"´´½¨ÎÄ¼þ¼Ð: " 
+# ^CreateShortcut
+"´´½¨¿ì½Ý·½Ê½: "
+# ^CreatedUninstaller
+"´´½¨Ð¶ÔØ³ÌÐò: "
+# ^Delete
+"É¾³ýÎÄ¼þ: "
+# ^DeleteOnReboot
+"ÖØÐÂÆô¶¯ºóÉ¾³ý: "
+# ^ErrorCreatingShortcut
+"ÕýÔÚ´´½¨¿ì½Ý·½Ê½Ê±·¢Éú´íÎó: "
+# ^ErrorCreating
+"ÕýÔÚ´´½¨Ê±·¢Éú´íÎó: "
+# ^ErrorDecompressing
+"ÕýÔÚ½âÑ¹ËõÊý¾Ý·¢Éú´íÎó£¡ÒÑËð»µµÄ°²×°³ÌÐò£¿"
+# ^ErrorRegistering
+"ÕýÔÚ×¢²á DLL Ê±·¢Éú´íÎó"
+# ^ExecShell
+"ÔËÐÐÍâ²¿³ÌÐò: "
+# ^Exec
+"ÔËÐÐ: "
+# ^Extract
+"³éÈ¡: "
+# ^ErrorWriting
+"³éÈ¡: ÎÞ·¨Ð´ÈëÎÄ¼þ "
+# ^InvalidOpcode
+"°²×°Ëð»Ù: ÎÞÐ§µÄ²Ù×÷´úÂë "
+# ^NoOLE
+"Ã»ÓÐ OLE ÓÃÓÚ: "
+# ^OutputFolder
+"Êä³öÄ¿Â¼: "
+# ^RemoveFolder
+"ÒÆ³ýÄ¿Â¼: "
+# ^RenameOnReboot
+"ÖØÐÂÆô¶¯ºóÖØÃüÃû: "
+# ^Rename
+"ÖØÃüÃû: "
+# ^Skipped
+"ÒÑÌø¹ý: "
+# ^CopyDetails
+"¸´ÖÆÏ¸½Úµ½¼ôÌù°å "
+# ^LogInstall
+"ÈÕÖ¾°²×°½ø³Ì"
+# byte
+B
+# kilo
+K
+# mega
+M
+# giga
+G
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Galician.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Galician.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Galician.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+1110
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation v 1.0.0 by Ramon Flores <fa2ramon@usc.es>
+# ^Branding
+Sistema de Instalación Nullsoft %s
+# ^SetupCaption
+Instalación de $(^Name)
+# ^UninstallCaption
+Desinstalación de $(^Name)
+# ^LicenseSubCaption
+: Contrato de licenza
+# ^ComponentsSubCaption
+: Opcións de instalación
+# ^DirSubCaption
+: Diretória de instalación
+# ^InstallingSubCaption
+: Instalando ficheiros
+# ^CompletedSubCaption
+: Concluído
+# ^UnComponentsSubCaption
+: Opcións de desinstalación
+# ^UnDirSubCaption
+: Cartafol de desinstalación
+# ^ConfirmSubCaption
+: Confirmación
+# ^UninstallingSubCaption
+: Desinstalando
+# ^UnCompletedSubCaption
+: Concluído
+# ^BackBtn
+< &Anterior
+# ^NextBtn
+&Seguinte >
+# ^AgreeBtn
+&Aceito
+# ^AcceptBtn
+Eu &aceito os termos do Contrato de licenza
+# ^DontAcceptBtn
+Eu &non aceito os termos do Contrato de licenza
+# ^InstallBtn
+&Instalar
+# ^UninstallBtn
+&Desinstalar
+# ^CancelBtn
+Cancelar
+# ^CloseBtn
+&Fechar
+# ^BrowseBtn
+&Procurar...
+# ^ShowDetailsBtn
+Ver &Detalles
+# ^ClickNext
+Clique en 'Seguinte' para continuar.
+# ^ClickInstall
+Clique en 'Instalar' para iniciar a instalación.
+# ^ClickUninstall
+Clique en 'Desinstalar' para iniciar a desinstalación.
+# ^Name
+Nome
+# ^Completed
+Concluído
+# ^LicenseText
+Por favor revexa o acordo de licenza antes de instalar $(^NameDA). Se concordar con todos os termos da licenza, clique em 'Aceito'.
+# ^LicenseTextCB
+Por favor reveja o acordo de licenza antes de instalar $(^NameDA). Se concordar con todos os termos da licenza, clique na caixa de selección abaixo. $_CLICK
+# ^LicenseTextRB
+Por favor revexa o acordo de licenza antes de instalar $(^NameDA). Se concordar con todos os termos da licenza, escolla a primeira opción abaixo. $_CLICK
+# ^UnLicenseText
+Por favor revexa o acordo de licenza antes de desinstalar $(^NameDA). Se concordar con todos os termos da licenza, clique em 'Aceito'.
+# ^UnLicenseTextCB
+Por favor reveja o acordo de licenza antes de desinstalar $(^NameDA). Se concordar con todos os termos da licenza, clique na caixa de selección abaixo. $_CLICK
+# ^UnLicenseTextRB
+Por favor revexa o acordo de licenza antes de desinstalar $(^NameDA). Se concordar con todos os termos da licenza, escolla a primeira opción abaixo. $_CLICK
+# ^Custom
+Personalizado
+# ^ComponentsText
+Marque os componentes que desexa instalar e desmarque os componentes que non desexa instalar. $_CLICK
+# ^ComponentsSubText1
+Escolla o tipo de instalación:
+# ^ComponentsSubText2_NoInstTypes
+Escolla os componentes para instalar:
+# ^ComponentsSubText2
+Ou, escolla os componentes opcionais que desexa instalar:
+# ^UnComponentsText
+Marque os componentes que queira desinstalar e vice versa. $_CLICK
+# ^UnComponentsSubText1
+Escolla o tipo de desinstalación:
+# ^UnComponentsSubText2_NoInstTypes
+Escolla os componentes para desinstalar:
+# ^UnComponentsSubText2
+Ou, escolla os componentes opcionais que queira desinstalar:
+# ^DirText
+O $(^NameDA) será instalado na seguinte directória. Para instalar nunha directória diferente, clique en 'Procurar...' e escolla outra directória. $_CLICK
+# ^DirSubText
+Directória de destino
+# ^DirBrowseText
+Escolla unha directória para instalar o $(^NameDA):
+# ^UnDirText
+O $(^NameDA) será desinstalado da seguinte directória. Para desinstalar dunha pasta diferente, clique en 'Procurar...' e escolla outra directória. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Escolla a directória de onde vai ser desinstalado o $(^NameDA):
+# ^SpaceAvailable
+"Espazo disponíbel: "
+# ^SpaceRequired
+"Espazo necesário: "
+# ^UninstallingText
+$(^NameDA) vai ser desinstalado da seguinte directória. $_CLICK
+# ^UninstallingSubText
+Desinstalando de:
+# ^FileError
+Erro ao abrir ficheiro para escrita: \r\n\t"$0"\r\nClique en Abortar para abortar a instalación,\r\nRepetir para tentar novamente a escrita do ficheiro, ou\r\nIgnorar para ignorar este ficheiro.
+# ^FileError_NoIgnore
+Erro ao abrir ficheiro para escrita: \r\n\t"$0"\r\nClique en Repetir para tentar novamente a gravación do ficheiro, ou\r\nCancelar para abortar a instalación.
+# ^CantWrite
+"Non foi posíbel escreber: "
+# ^CopyFailed
+Falla ao copiar
+# ^CopyTo
+"Copiar para "
+# ^Registering
+"Rexistando: "
+# ^Unregistering
+"Desrexistando: "
+# ^SymbolNotFound
+"Símbolo non achado: "
+# ^CouldNotLoad
+"Non foi posíbel carregar: "
+# ^CreateFolder
+"Criando diretória: "
+# ^CreateShortcut
+"Criando atallo: "
+# ^CreatedUninstaller
+"Criando desinstalador: "
+# ^Delete
+"Eliminando ficheiro: "
+# ^DeleteOnReboot
+"Eliminar ao reiniciar: "
+# ^ErrorCreatingShortcut
+"Erro ao criar atallo: "
+# ^ErrorCreating
+"Erro ao criar: "
+# ^ErrorDecompressing
+Erro ao descomprimir dados! Instalador corrompido?
+# ^ErrorRegistering
+Erro ao rexistar DLL
+# ^ExecShell
+"Executando polo Shell: "
+# ^Exec
+"Executando: "
+# ^Extract
+"Extraindo: "
+# ^ErrorWriting
+"Extraindo: erro ao escreber ficheiro "
+# ^InvalidOpcode
+Instalador corrompido: código de operación inválido
+# ^NoOLE
+"Sen OLE para: "
+# ^OutputFolder
+"Cartafol de destino: "
+# ^RemoveFolder
+"Removendo cartafol: "
+# ^RenameOnReboot
+"Renomear ao reiniciar: "
+# ^Rename
+"Renomeando: "
+# ^Skipped
+"Ignorado: "
+# ^CopyDetails
+Copiar detalles para a Área de transférencia
+# ^LogInstall
+Rexistar proceso de instalación
+# ^Byte
+B
+# kilo
+K
+# mega
+M
+# giga
+G
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Croatian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Croatian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Croatian.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Croatian (1050)
+;By Igor Ostriz
+
+!insertmacro LANGFILE "Croatian" "Hrvatski"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Dobrodošli u instalaciju programa $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Instalacija programa $(^NameDA) na Vaše raèunalo sastoji se od nekoliko jednostavnih koraka kroz koje æe Vas provesti ovaj èarobnjak.$\r$\n$\r$\nPreporuèamo zatvaranje svih ostalih aplikacija prije samog poèetka instalacije. To æe omoguæiti nadogradnju nekih sistemskih datoteka bez potrebe za ponovnim pokretanjem Vašeg raèunala. U svakom trenutku instalaciju možete prekinuti pritiskom na 'Odustani'.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Dobrodošli u postupak uklanjanja programa $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Ovaj æe Vas èarobnjak provesti kroz postupak uklanjanja programa $(^NameDA).$\r$\n$\r$\nPrije samog poèetka, molim zatvorite program $(^NameDA) ukoliko je sluèajno otvoren.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Licenèni ugovor"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Molim proèitajte licencu prije instalacije programa $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Ukoliko prihvaæate uvjete licence, odaberite 'Prihvaæam' za nastavak. Morate prihvatiti licencu za instalaciju programa $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Ukoliko prihvaæate uvjete licence, oznaèite donji kvadratiæ. Morate prihvatiti licencu za instalaciju programa $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Ukoliko prihvaæate uvjete licence, odaberite prvu donju opciju. Morate prihvatiti licencu za instalaciju programa $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Licenèni ugovor"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Molim proèitajte licencu prije uklanjanja programa $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Ukoliko prihvaæate uvjete licence, odaberite 'Prihvaæam' za nastavak. Morate prihvatiti licencu za uklanjanje programa $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Ukoliko prihvaæate uvjete licence, oznaèite donji kvadratiæ. Morate prihvatiti licencu za uklanjanje programa $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Ukoliko prihvaæate uvjete licence, odaberite prvu donju opciju. Morate prihvatiti licencu za uklanjanje programa $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "'Page Down' za ostatak licence."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Izbor komponenti"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Odaberite komponente programa $(^NameDA) koje želite instalirati."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Izbor komponenti"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Odaberite koje komponente programa $(^NameDA) želite ukloniti."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Opis"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Postavite pokazivaè iznad komponente za njezin opis."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Postavite pokazivaè iznad komponente za njezin opis."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Odaberite odredište za instalaciju"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Odaberite mapu u koju želite instalirati program $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Odaberite polazište za uklanjanje"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Odaberite mapu iz koje želite ukloniti program $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Instaliranje"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Molim prièekajte na završetak instalacije programa $(^NameDA)."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Kraj instalacije"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Instalacija je u potpunosti završila uspješno."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Instalacija je prekinuta"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Instalacija nije završila uspješno."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Uklanjanje"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Molim prièekajte na završetak uklanjanja programa $(^NameDA)."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Uklanjanje završeno"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Uklanjanje je u potpunosti završilo uspješno."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Uklanjanje je prekinuto"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Uklanjanje nije završilo uspješno."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Dovršenje instalacije programa $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "Program $(^NameDA) je instaliran na Vaše raèunalo.$\r$\n$\r$\nOdaberite 'Kraj' za završetak."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Vaše raèunalo treba ponovno pokrenuti za dovršenje instalacije programa $(^NameDA). Želite li to uèiniti sada?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Završetak uklanjanja programa $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "Program $(^NameDA) je uklonjen s Vašeg raèunala.$\r$\n$\r$\nOdaberite 'Kraj' za zatvaranje ovog èarobnjaka."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Vaše raèunalo treba ponovno pokrenuti za dovršenje postupka uklanjanja programa $(^NameDA). Želite li to uèiniti sada?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Ponovno pokreni raèunalo sada"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Ponovno æu pokrenuti raèunalo kasnije"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Pokreni program $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Prikaži &Readme"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Kraj"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Izbor mape u Start meniju"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Odaberite ime za programsku mapu unutar Start menija."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Program æe pripadati odabranoj programskoj mapi u Start meniju. Možete odrediti novo ime za mapu ili odabrati veæ postojeæu."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Nemoj napraviti preèace"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Uklanjanje programa $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Program $(^NameDA) æe biti uklonjen s Vašeg raèunala."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Jeste li sigurni da želite prekinuti instalaciju programa $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Jeste li sigurni da želite prekinuti uklanjanje programa $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Kurdish.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Kurdish.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Kurdish.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID (none exists for Kurdish at this time)
+9999
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+-
+# RTL - anything else than RTL means LTR
+-
+# Translation by Rêzan Tovjîn(chagy) (retovjin@hotmail.com.com)
+# ^Branding
+Nullsoft Pergala Sazkirinê %s
+# ^SetupCaption
+$(^Name) Sazkirin
+# ^UninstallCaption
+$(^Name) Rakirin
+# ^LicenseSubCaption
+: Peymana Lîsansê
+# ^ComponentsSubCaption
+: Vebijêrkên Sazkirinê
+# ^DirSubCaption
+: Peldanka Sazkirinê
+# ^InstallingSubCaption
+: Tê Sazkirin
+# ^CompletedSubCaption
+: Qediya
+# ^UnComponentsSubCaption
+: Vebijêrkên Rakirinê
+# ^UnDirSubCaption
+: Peldanka Rakirinê
+# ^ConfirmSubCaption
+: Erêkirin
+# ^UninstallingSubCaption
+: Tê Rakirin
+# ^UnCompletedSubCaption
+: Qediya
+# ^BackBtn
+< &Vegere
+# ^NextBtn
+&Bidomîne >
+# ^AgreeBtn
+&Ez Dipejirînim
+# ^AcceptBtn
+Þertên Peymanê &Dipejirînim
+# ^DontAcceptBtn
+Þertên Peymanê Napejirînim
+# ^InstallBtn
+&Saz Bike
+# ^UninstallBtn
+&Rake
+# ^CancelBtn
+Betal
+# ^CloseBtn
+&Bigire
+# ^BrowseBtn
+&Çavlêgerîn...
+# ^ShowDetailsBtn
+Hûragahiyan &Nîþan Bide
+# ^ClickNext
+Ji bo berdewamê 'Bidomîne'yê bitikîne.
+# ^ClickInstall
+Ji bo destpêka sazkirinê 'Saz Bike'yê bitikîne.
+# ^ClickUninstall
+Ji bo destpêka rakirinê 'Rake' bitikîne.
+# ^Name
+nav
+# ^Completed
+Qediya
+# ^LicenseText
+Ji kerema xwe re berî tu bernameya $(^NameDA) saz bikî, çavekî li peymana lîsansê bigerîne. Heke tu hemû þertên peymanê dipejirînî, 'Ez Dipejirînim'ê bitikîne.
+# ^LicenseTextCB
+Ji kerema xwe re berî tu bernameya $(^NameDA) saz bikî, çavekî li peymana lîsansê bigerîne. Heke tu hemû þertan dipejirînî, zeviya erêkirinê ya jêrîn dagire. $_CLICK
+# ^LicenseTextRB
+Ji kerema xwe re berî tu bernameya $(^NameDA) saz bikî çavekî li peymana lîsansê bigerîne. Heke tu hemû þertên peymanê dipejirînî, zeviya vebijêrkê ya jêrîn dagire. $_CLICK
+# ^UnLicenseText
+Ji kerema xwe re berî tu bernameya $(^NameDA) rakî, çavekî li peymana lîsansê bigerîne. Heke tu hemû þertên peymanê dipejirînî, 'Ez Dipejirînim'ê bitikîn.
+# ^UnLicenseTextCB
+Ji kerema xwe re berî tu bernameya $(^NameDA) ji pergala xwe rakî, çavekî li peymana lîsansê bigerîne. Heke tu hemû þertên peymanê dipejirînî, zeviya jêrîn a erêkirinê dagire. $_CLICK
+# ^UnLicenseTextRB
+Ji kerema xwe re berî tu bernameya $(^NameDA) ji pergala xwe rakî, çavekî li peymana lîsansê bigerîne. Heke tu hemû þertên peymanê dipejirînî, zeviya vebijêrkê ya jêrîn dagire. $_CLICK
+# ^Custom
+Taybet
+# ^ComponentsText
+Beþên tu dixwazî saz bikî hilbijêre û niqirên 'check' beþên tu naxwazî werin sazkirin rake. $_CLICK
+# ^ComponentsSubText1
+Awayê sazkirinê hilbijêre:
+# ^ComponentsSubText2_NoInstTypes
+Beþên dê werin sazkirin hilbijêre:
+# ^ComponentsSubText2
+an jî, beþên beþên tu dixwazî werin sazkirin hilbijêre:
+# ^UnComponentsText
+Beþên tu dixwazî rakî hilbijêre, an jî niqira 'check'a ber beþên tu daxwazî were rakirin, rake. $_CLICK
+# ^UnComponentsSubText1
+Awayê rakirinê hilbijêre:
+# ^UnComponentsSubText2_NoInstTypes
+Beþên dê werin rakirin hilbijêre:
+# ^UnComponentsSubText2
+an jî beþên tu dixwazî werin rakirin hilbijêre:
+# ^DirText
+$(^NameDA) dê ji aliyê sazkirinê ve li peldanka jêrîn were sazkirin. Ji bo tu li peldankeke din saz bikî 'Çavlêgerîn'ê bitikîne û peldankeke din hilbijêre. $_CLICK
+# ^DirSubText
+Peldanka Armanckirî
+# ^DirBrowseText
+Peldanka tu dixwazî bernameya $(^NameDA) lê were sazkirin hilbijêre:
+# ^UnDirText
+$(^NameDA) dê ji aliyê sazkirinê ve ji peldanka jêrîn were rakirin. Ji bo tu ji peldankeke cuda rakî 'Çavlêgerîn'ê bitikîne û peldankeke din hilbijêre. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Peldanka tu dixwazî bernameya $(^NameDA) jê were rakirin hilbijêre:
+# ^SpaceAvailable
+"Herêma vala ku dikare were bikaranîn: "
+# ^SpaceRequired
+"Herêma vala ya pêwist: "
+# ^UninstallingText
+Bernameya $(^NameDA) dê ji peldanka jêrîn were rakirin. $_CLICK
+# ^UninstallingSubText
+tê rakirin:
+# ^FileError
+Dosya ji bo nivîsandinê venebû: \r\n\t"$0"\r\nJi bo destjêberdana sazkirinê abort'ê bitikîne,\r\nji bo ceribandina ji nû ve  retry'ê , an jî\r\nji bo tu dosiyê tune bihesibînî û berdewam bikî ignore'yê bitikîne
+# ^FileError_NoIgnore
+Dosya ji bo nivîsandinê vebenebû: \r\n\t"$0"\r\nJi bo nivîsandina ji nû ve retry'yê, an jî\r\nJi bo destjêberdana sazkirinê abort'ê hilbijêre
+# ^CantWrite
+"Nehate Nivîsandin: "
+# ^CopyFailed
+Çewtiya Jibergirtinê
+# ^CopyTo
+"Ji Ber Bigire "
+# ^Registering
+"Tê Tomarkirin: "
+# ^Unregistering
+"Tomarî Tê Jêbirin: "
+# ^SymbolNotFound
+"Dawêr Nehate Dîtin: "
+# ^CouldNotLoad
+"Nehate Barkirin: "
+# ^CreateFolder
+"Peldankê Çêke: "
+# ^CreateShortcut
+"Kineriyê Çêke: "
+# ^CreatedUninstaller
+"Sêrbazê Rakirinê Hate Çêkirin: "
+# ^Delete
+"Dosyayê Jê Bibe: "
+# ^DeleteOnReboot
+"Dema ji nû ve dest pê kir dosiyê jê bibe: "
+# ^ErrorCreatingShortcut
+"Dema çêkirina kineriyê çewtî derket: "
+# ^ErrorCreating
+"Çewtiya çêkirinê: "
+# ^ErrorDecompressing
+Di dema vekirina daneyan de çewtî derket! Sazkirina Çewt?
+# ^ErrorRegistering
+Çewtiya tomariya DLL
+# ^ExecShell
+"Qalikê Xebatê: "
+# ^Exec
+"Bixebitîne: "
+# ^Extract
+"Veke: "
+# ^ErrorWriting
+"Veke: Dema li dosiyê hate nivîsîn çewtiyek derket "
+# ^InvalidOpcode
+Sazkirina Xirabe: koda nerast pêkanînê
+# ^NoOLE
+"OLE nehate dîtin: "
+# ^OutputFolder
+"Peldanka derketinê: "
+# ^RemoveFolder
+"Peldankê jê bibe: "
+# ^RenameOnReboot
+"Dema ji nû hate destpêkirin ji nû ve bi nav bike: "
+# ^Rename
+"Nav Biguhere: "
+# ^Skipped
+"Hate gavkirin: "
+# ^CopyDetails
+Hûragahiyan li Pano'yê binivîse
+# ^LogInstall
+Pêkanîna sazkirinê li lênûska rewþê binivîse
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Hebrew.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Hebrew.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Hebrew.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Hebrew NSIS language file
+NLF v6
+# Language ID
+1037
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1255
+# RTL - anything else than RTL means LTR
+RTL
+# Translation by Amir Szekely (aka KiCHiK), fixed by Yaron Shahrabani
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+äú÷ðú $(^Name)
+# ^UninstallCaption
+äñøú $(^Name)
+# ^LicenseSubCaption
+: äñëí øéùåé
+# ^ComponentsSubCaption
+: àôùøåéåú äú÷ðä
+# ^DirSubCaption
+: úé÷ééú äú÷ðä
+# ^InstallingSubCaption
+: îú÷éï
+# ^CompletedSubCaption
+: ääú÷ðä äåùìîä
+# ^UnComponentsSubCaption
+: àôùøåéåú äñøä
+# ^UnDirSubCaption
+: úé÷ééä ìäñøä
+# ^ConfirmSubCaption
+: àéùåø äñøä
+# ^UninstallingSubCaption
+: îñéø
+# ^UnCompletedSubCaption
+: ääñøä äåùìîä
+# ^BackBtn
+< ä&÷åãí
+# ^NextBtn
+ä&áà >
+# ^AgreeBtn
+àðé &îñëéí
+# ^AcceptBtn
+àðé &îñëéí ìúðàé äñëí äøéùåé
+# ^DontAcceptBtn
+àðé &ìà îñëéí ìúðàé äñëí äøéùåé
+# ^InstallBtn
+&äú÷ï
+# ^UninstallBtn
+&äñø
+# ^CancelBtn
+áéèåì
+# ^CloseBtn
+ñâåø&
+# ^BrowseBtn
+&òééï...
+# ^ShowDetailsBtn
+ä&öâ ôøèéí
+# ^ClickNext
+ìçõ òì äáà ëãé ìäîùéê.
+# ^ClickInstall
+ìçõ òì äú÷ï ëãé ìäúçéì àú ääú÷ðä.
+# ^ClickUninstall
+ìçõ òì äñø ëãé ìäúçéì àú ääñøä.
+# ^Name
+ùí
+# ^Completed
+äôòåìä äåùìîä
+# ^LicenseText
+àðà ñ÷åø àú äñëí äøéùåé ìôðé äú÷ðú $(^NameDA). àí äéðê î÷áì àú ëì úðàé ääñëí, ìçõ 'àðé îñëéí'.
+# ^LicenseTextCB
+àðà ñ÷åø àú äñëí äøéùåé ìôðé äú÷ðú $(^NameDA). àí äéðê î÷áì àú ëì úðàé ääñëí, ñîï àú úéáú äñéîåï ùìäìï. $_CLICK
+# ^LicenseTextRB
+àðà ñ÷åø àú äñëí äøéùåé ìôðé äú÷ðú $(^NameDA). àí äéðê î÷áì àú ëì úðàé ääñëí, áçø áàôùøåú äøàùåðä ùìäìï. $_CLICK
+# ^UnLicenseText
+àðà ñ÷åø àú äñëí äøéùåé ìôðé äñøú $(^NameDA). àí äéðê îñëéí ìëì úðàé ääñëí, ìçõ 'àðé îñëéí'.
+# ^UnLicenseTextCB
+àðà ñ÷åø àú äñëí äøéùåé ìôðé äñøú $(^NameDA). àí äéðê îñëéí ìëì úðàé ääñëí, ñîï àú úéáú äñéîåï ùìäìï. $_CLICK
+# ^UnLicenseTextRB
+àðà ñ÷åø àú äñëí äøéùåé ìôðé äñøú $(^NameDA). àí äéðê îñëéí ìëì úðàé ääñëí, áçø áàôùøåú äøàùåðä ùìäìï. $_CLICK
+# ^Custom
+îåúàí àéùéú
+# ^ComponentsText
+ñîï àú äøëéáéí ùáøöåðê ìäú÷éï åáèì àú äñéîåï ùì øëéáéí ùàéï áøöåðê ìäú÷éï. $_CLICK
+# ^ComponentsSubText1
+áçø ñåâ äú÷ðä:
+# ^ComponentsSubText2_NoInstTypes
+áçø øëéáéí ìäú÷ðä:
+# ^ComponentsSubText2
+àå, áçø øëéáé øùåú ìäú÷ðä:
+# ^UnComponentsText
+ñîï àú äøëéáéí ùáøöåðê ìäñéø åáèì àú äñéîåï ùì øëéáéí ùàéï áøöåðê ìäñéø. $_CLICK
+# ^UnComponentsSubText1
+áçø ñåâ äñøä:
+# ^UnComponentsSubText2_NoInstTypes
+áçø øëéáéí ìäñøä:
+# ^UnComponentsSubText2
+àå, áçø øëéáé øùåú ìäñøä:
+# ^DirText
+úåëðéú æå úú÷éï àú $(^NameDA) ìúé÷ééä ùìäìï. ëãé ìäú÷éï ìúé÷ééä àçøú, ìçõ òì 'òééï' åáçø úé÷ééä àçøú. $_CLICK
+# ^DirSubText
+úé÷ééú éòã
+# ^DirBrowseText
+áçø úé÷ééä ìäú÷ðú $(^NameDA):
+# ^UnDirText
+úåëðéú æå úñéø àú $(^NameDA) îäúé÷ééä ùìäìï. ëãé ìäñéø îúé÷ééä àçøú, ìçõ òì 'òééï' åáçø úé÷ééä àçøú. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+áçø úé÷ééä îîðä úåñø $(^NameDA):
+# ^SpaceAvailable
+"î÷åí ôðåé: "
+# ^SpaceRequired
+"î÷åí ãøåù: "
+# ^UninstallingText
+äñøú $(^NameDA) úúáöò îäúé÷ééä ùìäìï. $_CLICK
+# ^UninstallingSubText
+îñéø î:
+# ^FileError
+àøòä ùâéàä áòú ôúéçú ÷åáõ ìëúéáä:\r\n\t"$0"\r\nìçõ òì áéèåì ëãé ìáèì àú ääú÷ðä,\r\nðñä ùðéú ëãé ìðñåú ìôúåç àú ä÷åáõ ùåá, àå\r\näúòìí ëãé ìãìâ òì ä÷åáõ
+# ^FileError_NoIgnore
+àøòä ùâéàä áòú ôúéçú ÷åáõ ìëúéáä:\r\n\t"$0"\r\nìçõ òì ðñä ùðéú ëãé ìðñåú ìôúåç àú ä÷åáõ  ùåá, àå\r\náéèåì ëãé ìáèì àú äúú÷ðä
+# ^CantWrite
+"ìà ðéúï ìëúåá: "
+# ^CopyFailed
+ääòú÷ä ðëùìä
+# ^CopyTo
+äòú÷ ì-
+# ^Registering
+"øåùí: "
+# ^Unregistering
+"áéèåì øéùåí: "
+# ^SymbolNotFound
+"ñîì ìà ðîöà: "
+# ^CouldNotLoad
+"ìà ðéúï ìèòåï: "
+# ^CreateFolder
+"öåø úé÷ééä: "
+# ^CreateShortcut
+"öåø ÷éöåø ãøê: "
+# ^CreatedUninstaller
+"îñéø äú÷ðä ðåöø: "
+# ^Delete
+"îç÷ ÷åáõ: "
+# ^DeleteOnReboot
+"îç÷ àçøé àúçåì: "
+# ^ErrorCreatingShortcut
+"ùâéàä áòú éöéøú ÷éöåø ãøê: "
+# ^ErrorCreating
+"ùâéàä áòú éöéøú: "
+# ^ErrorDecompressing
+ùâéàä áòú ôøéùú îéãò! äú÷ðä ôâåîä?
+# ^ErrorRegistering
+ùâéàä áòú øéùåí DLL
+# ^ExecShell
+"áöò ôòåìú-÷åáõ: "
+# ^Exec
+"áöò: "
+# ^Extract
+"ôøåù: "
+# ^ErrorWriting
+"ôøåù: ùâéàä áòú ëúéáä ì÷åáõ "
+# ^InvalidOpcode
+äú÷ðä ôâåîä! ô÷åãú áéöåò ùâåéä
+# ^NoOLE
+"àéï OLE ì: "
+# ^OutputFolder
+"úé÷ééú ôìè: "
+# ^RemoveFolder
+"äñø úé÷ééä: "
+# ^RenameOnReboot
+"ùðä ùí ìàçø àúçåì: "
+# ^Rename
+"ùðä ùí: "
+# ^Skipped
+"ãìâ: "
+# ^CopyDetails
+äòú÷ ôøèéí ììåç
+# ^LogInstall
+ùîåø øéùåí ôòéìåéåú ääú÷ðä
+# ^Byte
+"á
+# ^Kilo
+" ÷"
+# ^Mega
+" î"
+# ^Giga
+" â"
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/NorwegianNynorsk.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/NorwegianNynorsk.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/NorwegianNynorsk.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Language ID
+2068
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by Vebjørn Sture, vsture gmail com
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) installasjon
+# ^UninstallCaption
+$(^Name) avinstallasjon
+# ^LicenseSubCaption
+: Lisensavtale
+# ^ComponentsSubCaption
+: Installasjonsval
+# ^DirSubCaption
+: Installasjonsmappe
+# ^InstallingSubCaption
+: Installerer
+# ^CompletedSubCaption
+: Ferdig
+# ^UnComponentsSubCaption
+: Avinstallasjonsval
+# ^UnDirSubCaption
+: Avinstallasjonsmappe
+# ^ConfirmSubCaption
+: Stadfest
+# ^UninstallingSubCaption
+: Avinstallerer
+# ^UnCompletedSubCaption
+: Ferdig
+# ^BackBtn
+< &Attende
+# ^NextBtn
+&Neste >
+# ^AgreeBtn
+&Godta
+# ^AcceptBtn
+Eg &godtek vilkåra i lisensavtalen
+# ^DontAcceptBtn
+Eg godtek &ikkje vilkåra i lisensavtalen
+# ^InstallBtn
+&Installer
+# ^UninstallBtn
+&Avinstaller
+# ^CancelBtn
+Avbryt
+# ^CloseBtn
+&Lat att
+# ^BrowseBtn
+Bla &gjennom ...
+# ^ShowDetailsBtn
+Syn &detaljar
+# ^ClickNext
+Trykk Neste for å halda fram.
+# ^ClickInstall
+Trykk Installer for å starta installasjonen.
+# ^ClickUninstall
+Trykk Avinstaller for å starta avinstallasjonen.
+# ^Name
+Namn
+# ^Completed
+Ferdig
+# ^LicenseText
+Ver grei og les gjennom lisensavtalen før du installerer $(^NameDA). Dersom du godtek vilkåra i avtalen, trykk på Godta.
+# ^LicenseTextCB
+Ver grei og les gjennom lisensavtalen før du installerer $(^NameDA). Dersom du godtek vilkåra i avtalen, merk av under. $_CLICK
+# ^LicenseTextRB
+Ver grei og les gjennom lisensavtalen før du installerer $(^NameDA). Dersom du godtek vilkåra i avtalen, vel det fyrste alternativet. $_CLICK
+# ^UnLicenseText
+Ver grei og les gjennom lisensavtalen før du avinstallerer $(^NameDA). Dersom du godtek vilkåra i avtalen, trykk på Godta.
+# ^UnLicenseTextCB
+Ver grei og les gjennom lisensavtalen før du avinstallerer $(^NameDA). Dersom du godtek vilkåra i avtalen, merk av under. $_CLICK
+# ^UnLicenseTextRB
+Ver grei og les gjennom lisensavtalen før du avinstallerer $(^NameDA). Dersom du godtek vilkåra i avtalen, vel det fyrste alternativet. $_CLICK
+# ^Custom
+Eigendefinert
+# ^ComponentsText
+Merk komponentane du vil installera og fjern merkinga for dei du ikkje vil installera. $_CLICK
+# ^ComponentsSubText1
+Vel kva måte du vil installera på:
+# ^ComponentsSubText2_NoInstTypes
+Merk komponentar du vil installera:
+# ^ComponentsSubText2
+Eller merk dei valfrie komponentane du ynskjer å installera:
+# ^UnComponentsText
+Merk komponentane du vil avinstallera og fjern merkinga for dei du vil ta vare på. $_CLICK
+# ^UnComponentsSubText1
+Vel kva måte du vil avinstallera på:
+# ^UnComponentsSubText2_NoInstTypes
+Merk komponentar du vil avinstallera:
+# ^UnComponentsSubText2
+Eller merk dei valfrie komponentane du ynskjer å avinstallera:
+# ^DirText
+$(^NameDA) vil verta installert i fylgjande mappe. For å velja ei anna mappe, trykk Bla gjennom. $_CLICK
+# ^DirSubText
+Målmappe
+# ^DirBrowseText
+Vel mappe du vil installera $(^NameDA) i:
+# ^UnDirText
+$(^NameDA) i fylgjande mappe vil verta avinstallert. For å velja ei anna mappe, trykk Bla gjennom. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Vel mappe du vil avinstallera $(^NameDA) frå:
+# ^SpaceAvailable
+"Ledig plass: "
+# ^SpaceRequired
+"Naudsynt plass: "
+# ^UninstallingText
+Denne vegvisaren vil avinstallera $(^NameDA) frå din datamaskin. $_CLICK
+# ^UninstallingSubText
+Avinstallerer frå:
+# ^FileError
+Feil under opning av fil for skriving: \r\n\t\"$0\"\r\nTrykk Avbryt for å avbryta installasjonen,\r\nPrøv igjen for å prøva igjen, eller\r\nIgnorer for å hoppa over denne fila
+# ^FileError_NoIgnore
+Feil under opning av fil for skriving: \r\n\t\"$0\"\r\nTrykk Prøv igjen for å prøva igjen, or\r\neller Avbryt for å avbryta installasjonen
+# ^CantWrite
+"Kan ikkje skriva: "
+# ^CopyFailed
+Kopiering mislukka
+# ^CopyTo
+"Kopier til "
+# ^Registering
+"Registrerer: "
+# ^Unregistering
+""Avregistrerer: "
+# ^SymbolNotFound
+"Kunne ikkje finna symbol: "
+# ^CouldNotLoad
+"Kunne ikkje lasta: "
+# ^CreateFolder
+"Lag mappe: "
+# ^CreateShortcut
+"Lag snarveg: "
+# ^CreatedUninstaller
+"Avinstallasjon laga: "
+# ^Delete
+"Slett fil: "
+# ^DeleteOnReboot
+"Slett ved omstart: "
+# ^ErrorCreatingShortcut
+"Feil under oppretting av snarveg: "
+# ^ErrorCreating
+"Feil under oppretting av: "
+# ^ErrorDecompressing
+Feil under utpakking av data! Installasjonsprogrammet kan vera skadd.
+# ^ErrorRegistering
+Feil under registrering av DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Køyra: "
+# ^Extract
+"Pakk ut: "
+# ^ErrorWriting
+"Pakk ut: Feil under skriving til fil "
+# ^InvalidOpcode
+Installasjonsprogrammet er skadd: ukjend kode
+# ^NoOLE
+"Ingen OLE for: "
+# ^OutputFolder
+"Ut-mappe: "
+# ^RemoveFolder
+"Fjern mappe: "
+# ^RenameOnReboot
+"Gje nytt namn ved omstart: "
+# ^Rename
+"Gje nytt namn: "
+# ^Skipped
+"Hoppa over: "
+# ^CopyDetails
+Kopier detaljar til utklyppstavla
+# ^LogInstall
+Loggfør installasjonsprosessen
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
+
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Farsi.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Farsi.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Farsi.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Farsi (1065)
+;By FzerorubigD - FzerorubigD@gmail.com - Thanx to all people help me in forum.persiantools.com
+
+!insertmacro LANGFILE "Farsi" "Farsi"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Èå ÈÑäÇãå äÕÈ  $(^NameDA) ÎæÔ ÂãÏíÏ."
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Çíä ÈÑäÇãå ÔãÇ ÑÇ ÏÑ äÕÈ  $(^NameDA) íÇÑí ãíßäÏ.$\r$\n$\r$\nÊæÕíå ãíßäíã ßáíå ÈÑäÇãå åÇí ÏÑ ÍÇá ÇÌÑÇ ÑÇ ÈÈäÏíÏ. Çíä Èå ÈÑäÇãå äÕÈ ÇÌÇÒå ãíÏåÏ ßå ÝÇíáåÇí áÇÒã ÑÇ ÈÏæä äíÇÒ Èå ÑÇå ÇäÏÇÒí ÏæÈÇÑå ßÇã�íæÊÑ ÔãÇ Èå ÑæÒ ßäÏ.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Èå ÈÑäÇãå ÍÐÝ $(^NameDA) ÎæÔ ÂãÏíÏ."
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT " Çíä ÈÑäÇãå ÈÑÇí ÍÐÝ $(^NameDA) Èå ÔãÇ ßãß ãíßäÏ.$\r$\n$\r$\nÞÈá ÇÒ ÍÐÝ  $(^NameDA) ãØãÆä ÔæíÏ Çíä ÈÑäÇãå ÏÑ ÍÇá ÇÌÑÇ äÈÇÔÏ.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "ÊæÇÝÞäÇãå äÕÈ"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "áØÝÇ �íÔ ÇÒ äÕÈ $(^NameDA) ãÝÇÏ ÊæÇÝÞäÇãå ÑÇ ãÑæÑ ßäíÏ."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Ç�Ñ ßáíå ÈäÏåÇí ÊæÇÝÞäÇãå ÑÇ ÞÈæá ÏÇÑíÏ Ïßãå ãæÇÝÞã ÑÇ ÈÝÔÇÑíÏ. ÈÑÇí äÕÈ  $(^NameDA) ÔãÇ ÈÇíÓÊ Çíä ÊæÇÝÞäÇãå ÑÇ ÞÈæá ßäíÏ."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Ç�Ñ ßáíå ÈäÏåÇí ÊæÇÝÞäÇãå ÑÇ ÞÈæá ÏÇÑíÏ Êíß ÒíÑ ÑÇ ÇäÊÎÇÈ ßäíÏ. ÈÑÇí äÕÈ  $(^NameDA) ÔãÇ ÈÇíÓÊ Çíä ÊæÇÝÞäÇãå ÑÇ ÞÈæá ßäíÏ. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Ç�Ñ ßáíå ÈäÏåÇí ÊæÇÝÞäÇãå ÑÇ ÞÈæá ÏÇÑíÏ �Òíäå Çæá ÑÇ ÇäÊÎÇÈ ßäíÏ. ÈÑÇí äÕÈ  $(^NameDA) ÔãÇ ÈÇíÓÊ Çíä ÊæÇÝÞäÇãå ÑÇ ÞÈæá ßäíÏ. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "ÊæÇÝÞäÇãå ÍÐÝ"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "áØÝÇ ßáíå ÈäÏåÇí Çíä ÊæÇÝÞäÇãå ÑÇ ÞÈá ÇÑ ÍÐÝ $(^NameDA) ãÑæÑ ßäíÏ."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Ç�Ñ ßáíå ÈäÏåÇí ÊæÇÝÞäÇãå ÑÇ ÞÈæá ÏÇÑíÏ Ïßãå ãæÇÝÞã ÑÇ ÈÝÔÇÑíÏ. ÈÑÇí ÍÐÝ $(^NameDA) ÔãÇ ÈÇíÓÊ Çíä ÊæÇÝÞäÇãå ÑÇ ÞÈæá ßäíÏ."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Ç�Ñ ßáíå ÈäÏåÇí ÊæÇÝÞäÇãå ÑÇ ÞÈæá ÏÇÑíÏ Êíß ÒíÑ ÑÇ ÇäÊÎÇÈ ßäíÏ. ÈÑÇí ÍÐÝ $(^NameDA) ÔãÇ ÈÇíÓÊ Çíä ÊæÇÝÞäÇãå Ñ ÞÈæá ßäíÏ. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Ç�Ñ ßáíå ÈäÏåÇí ÊæÇÝÞäÇãå ÑÇ ÞÈæá ÏÇÑíÏ �Òíäå Çæá ÑÇ ÇäÊÎÇÈ ßäíÏ. ÈÑÇí ÍÐÝ $(^NameDA) ÔãÇ ÈÇíÓÊ Çíä ÊæÇÝÞäÇãå Ñ ÞÈæá ßäíÏ. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "ÈÑÇí ÏíÏä ãÊä Èå ÕæÑÊ ßÇãá ÇÒ ßáíÏ Page Down ÇÓÊÝÇÏå ßäíÏ."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "ÇäÊÎÇÈ ÇÌÒÇí ÈÑäÇãå "
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "ÇÌÒÇíí ÇÒ  $(^NameDA) ßå ãíÎæÇåíÏ äÕÈ ÔæäÏ ÑÇ ÇäÊÎÇÈ ßäíÏ."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "ÇäÊÎÇÈ ÇÌÒÇí ÈÑäÇãå"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "ÇÌÒÇíí ÇÒ $(^NameDA) ÑÇ ßå ãíÎæÇåíÏ ÍÐÝ ßäíÏ ÇäÊÎÇÈ ßäíÏ."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "ÊæÖíÍÇÊ"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "äÔÇä�Ñ ãÇæÓ ÑÇ ÈÑ Ñæí  ÇÌÒÇíí ßå ãíÎæÇåíÏ ÈÈÑíÏ ÊÇ ÊæÖíÍÇÊ Âä ÑÇ ÈÈíäíÏ."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "äÔÇä�Ñ ãÇæÓ ÑÇ ÈÑ Ñæí  ÇÌÒÇíí ßå ãíÎæÇåíÏ ÈÈÑíÏ ÊÇ ÊæÖíÍÇÊ Âä ÑÇ ÈÈíäíÏ."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "ÇäÊÎÇÈ �æÔå äÕÈ"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "�æÔå Çí ßå ãíÎæÇåíÏ  $(^NameDA) ÏÑ Âä äÕÈ ÔæÏ ÑÇ ÇäÊÎÇÈ ßäíÏ."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "�æÔå ÍÐÝ ÑÇ ÇäÊÎÇÈ ßäíÏ"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "�æÔå Çí ßå ãíÎæÇåíÏ $(^NameDA) ÑÇ ÇÒ Âä ÍÐÝ ßäíÏ ÇäÊÎÇÈ ßäíÏ."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "äÕÈ ÈÑäÇãå"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "áØÝÇ ãÏÊ ÒãÇäí ßå  $(^NameDA) ÏÑ ÍÇá äÕÈ ÇÓÊ ÑÇ ÕÈÑ ßäíÏ."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "äÕÈ �ÇíÇä íÇÝÊ"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "ÈÑäÇãå äÕÈ ÈÇ ãæÝÞíÊ �ÇíÇä íÇÝÊ."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "ÈÑäÇãå äÕÈ áÛæ ÔÏ."
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "ÈÑäÇãå äÕÈ Èå ÕæÑÊ äíãå ÊãÇã �ÇíÇä íÇÝÊ."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "ÍÐÝ ÈÑäÇãå"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "áØÝÇ ãÏÊ ÒãÇäí ßå  $(^NameDA) ÏÑ ÍÇá ÍÐÝ ÇÓÊ ÑÇ ÕÈÑ ßäíÏ."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "ÍÐÝ �ÇíÇä íÇÝÊ"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "ÈÑäÇãå ÍÐÝ ÈÇ ãæÝÞíÊ �ÇíÇä íÇÝÊ."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "ÈÑäÇãå ÍÐÝ áÛæ ÔÏ"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "ÈÑäÇãå ÍÐÝ Èå ÕæÑÊ äíãå ÊãÇã �ÇíÇä íÇÝÊ"
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "ÈÑäÇãå äÕÈ  $(^NameDA) �ÇíÇä íÇÝÊ"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) ÈÑ Ñæí ßÇã�íæÊÑ ÔãÇ äÕÈ ÔÏ.$\r$\n$\r$\nÈÑ Ñæí Ïßãå �ÇíÇä ÈÑÇí ÎÑæÌ ÇÒ Çíä ÈÑäÇãå ßáíß ßäíÏ."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "ßÇã�íæÊÑ ÔãÇ ÈÑÇí Êßãíá äÕÈ $(^NameDA) ÈÇíÓÊí ÏæÈÇÑå ÑÇå ÇäÏÇÒí ÔæÏ. ÂíÇ ãíÎæÇåíÏ Çíä ßÇÑ ÑÇ ÇáÇä ÇäÌÇã ÏåíÏ¿"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "ÈÑäÇãå ÍÐÝ $(^NameDA) �ÇíÇä íÇÝÊ"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) ÇÒ Ñæí ßÇã�íæÊÑ ÔãÇ ÍÐÝ ÔÏ.$\r$\n$\r$\nÈÑ Ñæí Ïßãå �ÇíÇä ÈÑÇí ÎÑæÌ ÇÒ Çíä ÈÑäÇãå ßáíß ßäíÏ."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "ßÇã�íæÊÑ ÔãÇ ÈÑÇí Êßãíá ÍÐÝ$(^NameDA) ÈÇíÓÊ ÏæÈÇÑå ÑÇå ÇäÏÇÒí ÔæÏ.ÂíÇ ãíÎæÇåíÏ Çíä ßÇÑ ÑÇ ÇáÇä ÇäÌÇã ÏåíÏ¿"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "ÑÇå ÇäÏÇÒí ãÌÏÏ."
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "ãä ÎæÏã Çíä ßÇÑ ÑÇ ÇäÌÇã ÎæÇåã ÏÇÏ."
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&ÇÌÑÇí  $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&äãÇíÔ ÝÇíá ÊæÖíÍÇÊ"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&�ÇíÇä"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "ÇäÊÎÇÈ �æÔå ÏÑ ãäæí ÈÑäÇãå åÇ"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "�æÔå Çí ßå ãíÎæÇåíÏ ãíÇäÈÑåÇí  $(^NameDA) ÏÑ Âä ÞÑÇÑ È�íÑäÏ ÑÇ ÇäÊÎÇÈ ßäíÏ."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "�æÔå Çí ÏÑ ãäæí ÈÑäÇãå åÇ ßå ãíÎæÇåíÏ ãíÇäÈÑåÇí ÈÑäÇãå ÏÑ ÂäÌÇ ÇíÌÇÏ ÔæäÏ ÑÇ ÇäÊÎÇÈ ßäíÏ. ÈÑÇí ÇíÌÇÏ íß �æÔå ÌÏíÏ ãíÊæÇäíÏ íß äÇã ÊÇí� ßäíÏ."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "ãíÇäÈÑí äÓÇÒ"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "ÍÐÝ $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "�Çß ßÑÏä $(^NameDA) ÇÒ Ñæí ßÇã�íæÊÑ ÔãÇ."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "ÂíÇ ãØãÆäíÏ ßå ãíÎæÇåíÏ ÇÒ ÈÑäÇãå äÕÈ $(^Name) ÎÇÑÌ ÔæíÏ¿"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "ÂíÇ ãØãÆäíÏ ßå ãíÎæÇåíÏ ÇÒ ÈÑäÇãå ÍÐÝ  $(^Name) ÎÇÑÌ ÔæíÏ¿"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Spanish.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Spanish.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Spanish.nsh	(revision 2961)
@@ -0,0 +1,130 @@
+;Language: Spanish (1034)
+;By MoNKi & Joel
+;Updates & Review Darwin Rodrigo Toledo Cáceres - www.winamp-es.com - niwrad777@gmail.com
+
+!insertmacro LANGFILE "Spanish" "Español"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Bienvenido al Asistente de Instalación de $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Este programa instalará $(^NameDA) en su ordenador.$\r$\n$\r$\nSe recomienda que cierre todas las demás aplicaciones antes de iniciar la instalación. Esto hará posible actualizar archivos relacionados con el sistema sin tener que reiniciar su ordenador.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Bienvenido al Asistente de Desinstalación de $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Este asistente le guiará durante la desinstalación de $(^NameDA).$\r$\n$\r$\nAntes de comenzar la desinstalación, asegúrese de que $(^NameDA) no se está ejecutando.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Acuerdo de licencia"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Por favor revise los términos de la licencia antes de instalar $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Si acepta todos los términos del acuerdo, seleccione Acepto para continuar. Debe aceptar el acuerdo para instalar $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Si acepta los términos del acuerdo, marque abajo la casilla. Debe aceptar los términos para instalar $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Si acepta los términos del acuerdo, seleccione abajo la primera opción. Debe aceptar los términos para instalar $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Acuerdo de licencia"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Por favor revise los términos de la licencia antes de desinstalar $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Si acepta todos los términos del acuerdo, seleccione Acepto para continuar. Debe aceptar el acuerdo para desinstalar $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Si acepta los términos del acuerdo, marque abajo la casilla. Debe aceptar los términos para desinstalar $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Si acepta los términos del acuerdo, seleccione abajo la primera opción. Debe aceptar los términos para desinstalar $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Presione Avanzar Página para ver el resto del acuerdo."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Selección de componentes"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Seleccione qué características de $(^NameDA) desea instalar."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Selección de componentes"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Seleccione qué características de $(^NameDA) desea desinstalar."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Descripción"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Sitúe el ratón encima de un componente para ver su descripción."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Sitúe el ratón encima de un componente para ver su descripción."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Elegir lugar de instalación"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Elija el directorio para instalar $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Elegir lugar de desinstalación"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Elija el directorio desde el cual se desinstalará $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Instalando"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Por favor espere mientras $(^NameDA) se instala."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Instalación Completada"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "La instalación se ha completado correctamente."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Instalación Anulada"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "La instalación no se completó correctamente."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Desinstalando"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Por favor espere mientras $(^NameDA) se desinstala."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Desinstalación Completada"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "La desinstalación se ha completado correctamente."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Desinstalación Anulada"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "La desinstalación no se completó correctamente."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Completando el Asistente de Instalación de $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) ha sido instalado en su sistema.$\r$\n$\r$\nPresione Terminar para cerrar este asistente."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Su sistema debe ser reiniciado para que pueda completarse la instalación de $(^NameDA). ¿Desea reiniciar ahora?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Completando el Asistente de Desinstalación de $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) ha sido desinstalado de su sistema.$\r$\n$\r$\nPresione Terminar para cerrar este asistente."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Su ordenador debe ser reiniciado para completar la desinstalación de $(^NameDA). ¿Desea reiniciar ahora?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Reiniciar ahora"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Deseo reiniciar manualmente más tarde"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Ejecutar $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Ver Léame"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Terminar"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Elegir Carpeta del Menú Inicio"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Elija una Carpeta del Menú Inicio para los accesos directos de $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Seleccione una carpeta del Menú Inicio en la que quiera crear los accesos directos del programa. También puede introducir un nombre para crear una nueva carpeta."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "No crear accesos directos"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Desinstalar $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Elimina $(^NameDA) de su sistema."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "¿Está seguro de que desea salir de la instalación de $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "¿Está seguro de que desea salir de la desinstalación de $(^Name)?"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Elegir Usuarios"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Elija los usuarios para los cuales Ud. desea instalar $(^NameDA)."
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Seleccione si desea instalar $(^NameDA) sólo para Ud. o para todos los usuarios de este Ordenador.$(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Instación para cualquier usuario de este ordenador"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Instalación solo para mí"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/French.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/French.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/French.nsh	(revision 2961)
@@ -0,0 +1,129 @@
+;Language: French (1036)
+;By Sébastien Delahaye <seb@delahaye.net>
+
+!insertmacro LANGFILE "French" "French"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Bienvenue dans le programme d'installation de $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Vous êtes sur le point d'installer $(^NameDA) sur votre ordinateur.$\r$\n$\r$\nAvant de démarrer l'installation, il est recommandé de fermer toutes les autres applications. Cela permettra la mise à jour de certains fichiers système sans redémarrer votre ordinateur.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Bienvenue dans le programme de désinstallation de $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Vous êtes sur le point de désinstaller $(^NameDA) de votre ordinateur.$\r$\n$\r$\nAvant d'amorcer la désinstallation, assurez-vous que $(^NameDA) ne soit pas en cours d'exécution.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Licence utilisateur"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Veuillez examiner les termes de la licence avant d'installer $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Si vous acceptez les conditions de la licence utilisateur, cliquez sur J'accepte pour continuer. Vous devez accepter la licence utilisateur afin d'installer $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Si vous acceptez les conditions de la licence utilisateur, cochez la case ci-dessous. Vous devez accepter la licence utilisateur afin d'installer $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Si vous acceptez les conditions de la licence utilisateur, sélectionnez le premier choix ci-dessous. Vous devez accepter la licence utilisateur afin d'installer $(^NameDA)."
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Licence utilisateur"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Veuillez examiner les conditions de la licence avant de désinstaller $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Si vous acceptez les conditions de la licence utilisateur, cliquez sur J'accepte pour continuer. Vous devez accepter la licence utilisateur afin de désinstaller $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Si vous acceptez les conditions de la licence utilisateur, cochez la case ci-dessous. Vous devez accepter la licence utilisateur afin de désintaller $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Si vous acceptez les conditions de la licence utilisateur, sélectionnez le premier choix ci-dessous. Vous devez accepter la licence utilisateur afin de désinstaller $(^NameDA)."
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Appuyez sur Page Suivante pour lire le reste de la licence utilisateur."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Choisissez les composants"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Choisissez les composants de $(^NameDA) que vous souhaitez installer."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Choisissez les composants"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Cochez les composants de $(^NameDA) que vous souhaitez désinstaller."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Description"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Passez le curseur de votre souris sur un composant pour en voir la description."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Passez le curseur de votre souris sur un composant pour en voir la description."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Choisissez le dossier d'installation"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Choisissez le dossier dans lequel installer $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Choisissez le dossier de désinstallation"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Choisissez le dossier à partir duquel vous voulez désinstaller $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Installation en cours"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Veuillez patienter pendant l'installation des fichiers de $(^NameDA) sur votre machine."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Installation terminée"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "L'installation s'est terminée avec succès."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Installation interrompue"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "L'installation n'a pas été terminée."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Désinstallation en cours"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Veuillez patienter pendant que $(^NameDA) est en train d'être supprimé de votre ordinateur."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Désinstallation terminée"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "La désinstallation s'est terminée avec succès."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Désinstallation interrompue"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "La désinstallation n'a pas été terminée."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Fin de l'installation de $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) a été installé sur votre ordinateur.$\r$\n$\r$\nCliquez sur Fermer pour quitter le programme d'installation."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Votre ordinateur doit être redémarré afin de compléter l'installation de $(^NameDA). Souhaitez-vous redémarrer maintenant ?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Fin de la désinstallation de $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) a été supprimé de votre ordinateur.$\r$\n$\r$\nCliquez sur Fermer pour quitter le programme d'installation."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Votre ordinateur doit être redémarré pour terminer la désinstallation de $(^NameDA). Souhaitez-vous redémarrer maintenant ?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Redémarrer maintenant"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Je souhaite redémarrer moi-même plus tard"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "Lancer $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Afficher le fichier Readme"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Fermer"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Choisissez un dossier dans le menu Démarrer"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Choisissez un dossier dans le menu Démarrer pour les raccourcis de l'application."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Choisissez le dossier du menu Démarrer dans lequel vous voulez placer les raccourcis du programme. Vous pouvez également entrer un nouveau nom pour créer un nouveau dossier."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Ne pas créer de raccourcis"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Désinstaller $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Supprimer $(^NameDA) de votre ordinateur."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Êtes-vous sûr de vouloir quitter l'installation de $(^Name) ?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Êtes-vous sûr de vouloir quitter la désinstallation de $(^Name) ?"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Choix des utilisateurs"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Sélection des utilisateurs désirant utiliser $(^NameDA)."
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Choix entre installer $(^NameDA) seulement pour vous-même  ou bien pour tous les utilisateurs du système. $(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Installer pour tous les utilisateurs"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Installer seulement pour moi"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Estonian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Estonian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Estonian.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1061
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1257
+# RTL - anything else than RTL means LTR
+-
+# Translation by izzo (izzo@hot.ee)
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) Paigaldamine
+# ^UninstallCaption
+$(^Name) Eemaldamine
+# ^LicenseSubCaption
+: Litsentsileping
+# ^ComponentsSubCaption
+: Paigaldusvalikud
+# ^DirSubCaption
+: Paigalduskaust
+# ^InstallingSubCaption
+: Paigaldan			
+# ^CompletedSubCaption
+: Valmis
+# ^UnComponentsSubCaption
+: Eemaldusvalikud
+# ^UnDirSubCaption
+: Eemalduskaust
+# ^ConfirmSubCaption
+: Kinnitus
+# ^UninstallingSubCaption
+: Eemaldan
+# ^UnCompletedSubCaption
+: Valmis
+# ^BackBtn
+< Tagasi
+# ^NextBtn
+Edasi >
+# ^AgreeBtn
+Nõustun
+# ^AcceptBtn
+Nõustun litsentsilepingu tingimustega
+# ^DontAcceptBtn
+Ei nõustu litsentsilepingu tingimustega
+# ^InstallBtn
+Paigalda
+# ^UninstallBtn
+Eemalda
+# ^CancelBtn
+Loobu
+# ^CloseBtn
+Sule
+# ^BrowseBtn
+Sirvi...
+# ^ShowDetailsBtn
+Detailid
+# ^ClickNext
+Jätkamiseks vajuta Edasi.
+# ^ClickInstall
+Paigaldamise alustamiseks vajuta Paigalda.
+# ^ClickUninstall
+Eemaldamise alustamiseks vajuta Eemalda.
+# ^Name
+Nimi
+# ^Completed
+Valmis
+# ^LicenseText
+Enne $(^NameDA) paigaldamist vaata palun litsentsileping üle. Kui sa nõustud kõigi lepingu tingimustega, vajuta Nõustun.
+# ^LicenseTextCB
+Enne $(^NameDA) paigaldamist vaata palun litsentsileping üle. Kui sa nõustud kõigi lepingu tingimustega, vali allolev märkeruut. $_CLICK
+# ^LicenseTextRB
+Enne $(^NameDA) paigaldamist vaata palun litsentsileping üle. Kui sa nõustud kõigi lepingu tingimustega, märgi allpool esimene valik. $_CLICK
+# ^UnLicenseText
+Enne $(^NameDA) eemaldamist vaata palun litsentsileping üle. Kui sa nõustud kõigi lepingu tingimustega, vajuta Nõustun.
+# ^UnLicenseTextCB
+Enne $(^NameDA) eemaldamist vaata palun litsentsileping üle. Kui sa nõustud kõigi lepingu tingimustega, vali allolev märkeruut. $_CLICK
+# ^UnLicenseTextRB
+Enne $(^NameDA) eemaldamist vaata palun litsentsileping üle. Kui sa nõustud kõigi lepingu tingimustega, märgi allpool esimene valik. $_CLICK
+# ^Custom
+Kohandatud
+# ^ComponentsText
+Märgista komponendid mida soovid paigaldada ja eemalda märgistus neilt, mida ei soovi paigaldada. $_CLICK
+# ^ComponentsSubText1
+Vali paigalduse tüüp:
+# ^ComponentsSubText2_NoInstTypes
+Vali paigaldatavad komponendid:
+# ^ComponentsSubText2
+või vali lisakomponendid mida soovid paigaldada:
+# ^UnComponentsText
+Märgista komponendid mida soovid eemaldada ja eemalda märgistus neilt, mida ei soovi eemaldada. $_CLICK
+# ^UnComponentsSubText1
+Vali eemalduse tüüp:
+# ^UnComponentsSubText2_NoInstTypes
+Vali eemaldatavad komponendid:
+# ^UnComponentsSubText2
+või vali lisakomponendid mida soovid eemaldada:
+# ^DirText
+$(^NameDA) paigaldatakse järgmisse kausta. Et mujale paigaldada, vajuta sirvi ja vali teine kaust. $_CLICK
+# ^DirSubText
+Sihtkaust
+# ^DirBrowseText
+Vali kaust kuhu $(^NameDA) paigaldada:
+# ^UnDirText
+$(^NameDA) eemaldatakse järgmisest kaustast. Et mujalt eemaldada, vajuta sirvi ja vali teine kaust. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Vali kaust kust $(^NameDA) eemaldada:
+# ^SpaceAvailable
+"Vaba ruum: "
+# ^SpaceRequired
+"Vajalik ruum: "
+# ^UninstallingText
+$(^NameDA) eemaldatakse järgmisest kaustast. $_CLICK
+# ^UninstallingSubText
+Eemaldan sealt:
+# ^FileError
+Tõrge faili avamisel kirjutamiseks: \r\n\t"$0"\r\nPaigalduse katkestamiseks vajuta Katkesta,\r\nvajuta Ürita uuesti, et faili kirjutamist uuesti proovida, või\r\nIgnoreeri, et see fail vahele jätta.
+# ^FileError_NoIgnore
+Tõrge faili avamisel kirjutamiseks: \r\n\t"$0"\r\nVajuta Ürita uuesti, et faili kirjutamist uuesti proovida, või\r\nLoobu, et paigaldamine katkestada
+# ^CantWrite
+"Ei saa kirjutada: "
+# ^CopyFailed
+Kopeerimine ebaõnnestus
+# ^CopyTo
+"Kopeeri sinna "
+# ^Registering
+"Registreerin: "
+# ^Unregistering
+"Deregistreerin: "
+# ^SymbolNotFound
+"Ei leidnud sümbolit: "
+# ^CouldNotLoad
+"Ei saanud laadida: "
+# ^CreateFolder
+"Loo kaust: "
+# ^CreateShortcut
+"Loo otsetee: "
+# ^CreatedUninstaller
+"Loodud eemaldaja: "
+# ^Delete
+"Kustuta fail: "
+# ^DeleteOnReboot
+"Kustuta taaskäivitamisel: "
+# ^ErrorCreatingShortcut
+"Tõrge otsetee loomisel: "
+# ^ErrorCreating
+"Tõrge loomisel: "
+# ^ErrorDecompressing
+Tõrge andmete lahtipakkimisel! Vigane paigaldaja?
+# ^ErrorRegistering
+Tõrge DLL-i registreerimisel
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Käivita: "
+# ^Extract
+"Paki lahti: "
+# ^ErrorWriting
+"Paki lahti: viga faili kirjutamisel "
+# ^InvalidOpcode
+Paigaldaja kõlbmatu: vigane opkood
+# ^NoOLE
+"No OLE for: "
+# ^OutputFolder
+"Väljastatav kaust: "
+# ^RemoveFolder
+"Eemalda kaust: "
+# ^RenameOnReboot
+"Taaskäivitusel nimeta ümber: "
+# ^Rename
+"Nimeta ümber: "
+# ^Skipped
+"Vahele jäetud: "
+# ^CopyDetails
+Kopeeri detailid lõikelauale
+# ^LogInstall
+Logi paigaldusprotsess
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Dutch.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Dutch.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Dutch.nsh	(revision 2961)
@@ -0,0 +1,129 @@
+;Language: Dutch (1043)
+;By Joost Verburg
+
+!insertmacro LANGFILE "Dutch" "Nederlands"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Welkom bij de $(^NameDA)-installatiewizard"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Deze wizard zal $(^NameDA) op uw systeem installeren.$\r$\n$\r$\nHet wordt aanbevolen alle overige toepassingen af te sluiten alvorens de installatie te starten. Dit maakt het mogelijk relevante systeembestanden bij te werken zonder uw systeem opnieuw op te moeten starten.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Welkom bij de $(^NameDA)-deïnstallatiewizard"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Deze wizard zal $(^NameDA) van uw syteem verwijderen.$\r$\n$\r$\nControleer voordat u begint met verwijderen of $(^NameDA) is afgesloten.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Licentieovereenkomst"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Lees de licentieovereenkomst voordat u $(^NameDA) installeert."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Klik op Akkoord om verder te gaan als u de overeenkomst accepteert. U moet de overeenkomst accepteren om $(^NameDA) te installeren."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Schakel het selectievakje hieronder in als u de overeenkomst accepteert. U moet de overeenkomst accepteren om $(^NameDA) te installeren."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Selecteer de eerste optie hieronder als u de overeenkomst accepteert. U moet de overeenkomst accepteren om $(^NameDA) te installeren."
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Licentieovereenkomst"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Lees de licentieovereenkomst voordat u $(^NameDA) verwijdert."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Klik op Akkoord op verder te gaan als u de overeenkomst accepteert. U moet de overeenkomst accepteren om $(^NameDA) te verwijderen."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Schakel het selectievakje hieronder in als u de overeenkomst accepteert. U moet de overeenkomst accepteren om $(^NameDA) te verwijderen."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Selecteer de eerste optie hieronder als u de overeenkomst accepteert. U moet de overeenkomst accepteren om $(^NameDA) te verwijderen."
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Druk op Page Down om de rest van de overeenkomst te zien."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Onderdelen kiezen"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Kies de onderdelen die u wilt installeren."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Onderdelen kiezen"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Kies de onderdelen die u wilt verwijderen."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Beschrijving"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Beweeg uw muis over een onderdeel om de beschrijving te zien."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Beweeg uw muis over een onderdeel om de beschrijving te zien."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Installatielocatie kiezen"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Kies de map waarin u $(^NameDA) wilt installeren."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Locatie kiezen"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Kies de map waaruit u $(^NameDA) wilt verwijderen."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Bezig met installeren"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Een ogenblik geduld terwijl $(^NameDA) wordt geïnstalleerd."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Installatie voltooid"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "De installatie is succesvol voltooid."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Installatie afgebroken"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "De installatie is niet voltooid."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Bezig met verwijderen"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Een ogenblik geduld terwijl $(^NameDA) van uw systeem wordt verwijderd."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Verwijderen gereed"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "$(^NameDA) is van uw systeem verwijderd."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Verwijderen afgebroken"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "$(^NameDA) is niet volledig van uw systeem verwijderd."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Voltooien van de $(^NameDA)-installatiewizard"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) is geïnstalleerd op uw systeem.$\r$\n$\r$\nKlik op Voltooien om deze wizard te sluiten."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Uw systeem moet opnieuw worden opgestart om de installatie van $(^NameDA) te voltooien. Wilt u nu herstarten?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Voltooien van de $(^NameDA)-deïnstallatiewizard"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) is van uw systeem verwijderd.$\r$\n$\r$\nKlik op Voltooien om deze wizard te sluiten."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Uw systeem moet opnieuw worden opgestart om het verwijderen van $(^NameDA) te voltooien. Wilt u nu herstarten?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Nu herstarten"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Ik wil later handmatig herstarten"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "$(^NameDA) &starten"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Leesmij weergeven"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Voltooien"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Startmenumap kiezen"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Kies een map in het menu Start voor de snelkoppelingen van $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Kies een map in het menu Start waarin de snelkoppelingen moeten worden aangemaakt. U kunt ook een naam invoeren om een nieuwe map te maken."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Geen snelkoppelingen aanmaken"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "$(^NameDA) verwijderen"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "$(^NameDA) van uw systeem verwijderen."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Weet u zeker dat u de $(^Name)-installatie wilt afsluiten?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Weet u zeker dat u de $(^Name)-deïnstallatie wilt afsluiten?"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Gebruikers kiezen"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Kies voor welke gebruikers u $(^NameDA) wilt installeren."
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Selecteer of u $(^NameDA) alleen voor uzelf of voor alle gebruikers van deze computer wilt installeren. $(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Installeer voor alle gebruikers van deze computer"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Installeer alleen voor mijzelf"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Italian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Italian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Italian.nlf	(revision 2961)
@@ -0,0 +1,192 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1040
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation orginally started by Orfanik - http://www.orfanik.hu
+# Updated v2 to v6 by Alessandro Staltari < staltari (a) geocities.com >
+# corrected by < mdalco@gmail.com >
+# ^Branding
+Sistema di installazione Nullsoft %s
+# ^SetupCaption
+Installazione di $(^Name)
+# ^UninstallCaption
+Disinstallazione di $(^Name)
+# ^LicenseSubCaption
+: Licenza d'uso
+# ^ComponentsSubCaption
+: Opzioni di installazione
+# ^DirSubCaption
+: Cartella di installazione
+# ^InstallingSubCaption
+: Installazione dei file
+# ^CompletedSubCaption
+: Completata
+# ^UnComponentsSubCaption
+: Opzioni di disinstallazione
+# ^UnDirSubCaption
+: Cartella di disinstallazione
+# ^ConfirmSubCaption
+: Conferma
+# ^UninstallingSubCaption
+: Rimozione dei file
+# ^UnCompletedSubCaption
+: Completata
+# ^BackBtn
+< &Indietro
+# ^NextBtn
+&Avanti >
+# ^AgreeBtn
+&Accetto
+# ^AcceptBtn
+&Accetto le condizioni della licenza
+# ^DontAcceptBtn
+&Non accetto le condizioni della licenza
+# ^InstallBtn
+Ins&talla
+# ^UninstallBtn
+&Disinstalla
+# ^CancelBtn
+Annulla
+# ^CloseBtn
+&Fine
+# ^BrowseBtn
+S&foglia...
+# ^ShowDetailsBtn
+Mostra &dettagli
+# ^ClickNext
+Per proseguire, scegliere Avanti.
+# ^ClickInstall
+Per avviare l'installazione, selezionare Installa.
+# ^ClickUninstall
+Per avviare la disinstallazione, selezionare Disinstalla.
+# ^Name
+Nome
+# ^Completed
+Completata
+# ^LicenseText
+Leggere la licenza prima di procedere con l'installazione di $(^NameDA). Se si accettano le condizioni di licenza, selezionare Accetto.
+# ^LicenseTextCB
+Leggere la licenza prima di procedere con l'installazione di $(^NameDA). Se si accettano pienamente le condizioni di licenza, selezionare la casella sottostante. $_CLICK
+# ^LicesnseTextRB
+Leggere la licenza prima di procedere con l'installazione di $(^NameDA). Se si accettano pienamente le condizioni di licenza, selezionare la prima delle opzioni sottoindicate. $_CLICK
+# ^UnLicenseText
+Leggere la licenza prima di procedere con la disinstallazione di $(^NameDA). Se si accettano pienamente le condizioni di licenza, selezionare Accetto. $_CLICK
+# ^UnLicenseTextCB
+Leggere la licenza prima di procedere con la disinstallazione di $(^NameDA). Se si accettano pienamente le condizioni di licenza, selezionare la casella sottostante. $_CLICK
+# ^UnLicesnseTextRB
+Leggere la licenza prima di procedere con la disinstallazione di $(^NameDA). Se si accettano pienamente le condizioni di licenza, selezionare la prima delle opzioni sottoindicate. $_CLICK
+# ^Custom
+Personalizzata
+# ^ComponentsText
+Selezionare i componenti che si desidera installare.
+# ^ComponentsSubText1
+Selezionare il tipo d'installazione:
+# ^ComponentsSubText2_NoInstTypes
+Selezionare i componenti da installare:
+# ^ComponentsSubText2
+Oppure, selezionare i componenti opzionali che si desidera installare:
+# ^UnComponentsText
+Selezionare i componenti che si desidera disinstallare.
+# ^UnComponentsSubText1
+Selezionare il tipo di disinstallazione:
+# ^UnComponentsSubText2_NoInstTypes
+Selezionare i componenti da disinstallare:
+# ^UnComponentsSubText2
+Oppure, selezionare i componenti opzionali che si desidera disinstallare :
+# ^DirText
+Questa procedura installerà $(^NameDA) nella cartella seguente. Per installare in una cartella diversa, selezionare Sfoglia e sceglierne un'altra. $_CLICK
+# ^DirSubText
+Cartella di destinazione
+# ^DirBrowseText
+Selezionare la cartella dove installare $(^NameDA):
+# ^UnDirText
+Questa procedura disinstallerà $(^NameDA) nella cartella seguente. Per disinstallare da una cartella diversa, selezionare Sfoglia e sceglierene un'altra. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Selezionare la cartella dalla quale disinstallare $(^NameDA):
+# ^SpaceAvailable
+"Spazio disponibile: "
+# ^SpaceRequired
+"Spazio richiesto: "
+# ^UninstallingText
+$(^NameDA) verrà disinstallato dalla cartella seguente. $_CLICK
+# ^UninstallingSubText
+Rimozione da:
+# ^FileError
+Errore nell'apertura del file per la scrittura: \r\n\t"$0"\r\nSeleziona Termina per interrompere l'installazione,\r\nsu Riprova per ritentare, oppure\r\nsu Ignora per saltare questo file.
+# ^FileError_NoIgnore
+Errore nell'apertura del file per la scrittura: \r\n\t"$0"\r\nSeleziona Riprova per ritentare, oppure\r\nsu Termina per interrompere l'installazione
+# ^CantWrite
+"Impossibile scrivere: "
+# ^CopyFailed
+Copia fallita
+# ^CopyTo
+"Copia in "
+# ^Registering
+"Registrazione in corso: "
+# ^Unregistering
+"Deregistrazione in corso: "
+# ^SymbolNotFound
+"Impossibile trovare il simbolo: "
+# ^CouldNotLoad
+"Impossibile caricare: "
+# ^CreateFolder
+"Crea cartella: "
+# ^CreateShortcut
+"Crea collegamento: "
+# ^CreatedUninstaller
+"Creato il programma di disinstallazione: "
+# ^Delete
+"Elimina file: "
+# ^DeleteOnReboot
+"Elimina al riavvio: "
+# ^ErrorCreatingShortcut
+"Errore nella creazione del collegamento: "
+# ^ErrorCreating
+"Errore nella creazione: "
+# ^ErrorDecompressing
+Errore nella decompressione dei dati! Programma di installazione corrotto?
+# ^ErrorRegistering
+Errore nella registrazione della DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Esecuzione: "
+# ^Extract
+"Estrazione: "
+# ^ErrorWriting
+"Estrazione: errore nella scrittura sul file "
+# ^InvalidOpcode
+Programma di installazione corrotto: opcode non valido
+# ^NoOLE
+"Nessuna OLE per: "
+# ^OutputFolder 
+"Cartella di destinazione: "
+# ^RemoveFolder
+"Rimuovi cartella: "
+# ^RenameOnReboot
+"Rinomina al riavvio: "
+# ^Rename
+Rinomina 
+# ^Skipped
+"Saltato: "
+# ^CopyDetails
+Copia i dettagli negli appunti
+# ^LogInstall
+Log del processo di installazione
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/German.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/German.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/German.nsh	(revision 2961)
@@ -0,0 +1,129 @@
+;Language: German (1031)
+;By L.King, changes by K. Windszus & R. Bisswanger & M. Simmack & D. Weiß
+
+!insertmacro LANGFILE "German" "Deutsch"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Willkommen beim Installations-$\r$\nAssistenten für $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Dieser Assistent wird Sie durch die Installation von $(^NameDA) begleiten.$\r$\n$\r$\nEs wird empfohlen, vor der Installation alle anderen Programme zu schließen, damit bestimmte Systemdateien ohne Neustart ersetzt werden können.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Willkommen beim Deinstallations-$\r$\nAssistenten für $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Dieser Assistent wird Sie durch die Deinstallation von $(^NameDA) begleiten.$\r$\n$\r$\nBitte beenden Sie $(^NameDA), bevor Sie mit der Deinstallation fortfahren.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Lizenzabkommen"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Bitte lesen Sie die Lizenzbedingungen durch, bevor Sie mit der Installation fortfahren."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Falls Sie alle Bedingungen des Abkommens akzeptieren, klicken Sie auf Annehmen. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^NameDA) installieren zu können."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Falls Sie alle Bedingungen des Abkommens akzeptieren, aktivieren Sie das Kästchen. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^NameDA) installieren zu können. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Falls Sie alle Bedingungen des Abkommens akzeptieren, wählen Sie unten die entsprechende Option. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^NameDA) installieren zu können. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Lizenzabkommen"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Bitte lesen Sie die Lizenzbedingungen durch, bevor Sie mit der Deinstallation von $(^NameDA) fortfahren."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Falls Sie alle Bedingungen des Abkommens akzeptieren, klicken Sie auf Annehmen. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^NameDA) deinstallieren zu können."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Falls Sie alle Bedingungen des Abkommens akzeptieren, aktivieren Sie das Kästchen. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^NameDA) deinstallieren zu können. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Falls Sie alle Bedingungen des Abkommens akzeptieren, wählen Sie unten die entsprechende Option. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^NameDA) deinstallieren zu können. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Drücken Sie die Bild-nach-unten Taste, um den Rest des Abkommens zu sehen."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Komponenten auswählen"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Wählen Sie die Komponenten aus, die Sie installieren möchten."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Komponenten auswählen"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Wählen Sie die Komponenten aus, die Sie entfernen möchten."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Beschreibung"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Bewegen Sie den Mauszeiger über eine Komponente, um ihre Beschreibung zu sehen."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Bewegen Sie den Mauszeiger über eine Komponente, um ihre Beschreibung zu sehen."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Zielverzeichnis auswählen"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Wählen Sie das Verzeichnis aus, in das $(^NameDA) installiert werden soll."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Verzeichnis für Deinstallation auswählen"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Wählen Sie das Verzeichnis aus, aus dem $(^NameDA) entfernt werden soll."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Installiere..."
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Bitte warten Sie, während $(^NameDA) installiert wird."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Die Installation ist vollständig"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Die Installation wurde erfolgreich abgeschlossen."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Abbruch der Installation"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Die Installation wurde nicht vollständig abgeschlossen."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Deinstalliere..."
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Bitte warten Sie, während $(^NameDA) entfernt wird."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Die Deinstallation ist vollständig"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Die Deinstallation wurde erfolgreich abgeschlossen."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Abbruch der Deinstallation"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Die Deinstallation wurde nicht vollständig abgeschlossen."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Die Installation von $(^NameDA) wird abgeschlossen"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) wurde auf Ihrem Computer installiert.$\r$\n$\r$\nKlicken Sie auf Fertig stellen, um den Installations-Assistenten zu schließen."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Windows muss neu gestartet werden, um die Installation von $(^NameDA) zu vervollständigen. Möchten Sie Windows jetzt neu starten?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Die Deinstallation von $(^NameDA) wird abgeschlossen"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) ist von Ihrem Computer entfernt worden.$\r$\n$\r$\nKlicken Sie auf Fertig stellen, um den Assistenten zu schließen."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Windows muss neu gestartet werden, um die Deinstallation von $(^NameDA) zu vervollständigen. Möchten Sie Windows jetzt neu starten?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Jetzt neu starten"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Windows später selbst neu starten"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "$(^NameDA) ausführen"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Liesmich anzeigen"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Fertig stellen"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Startmenü-Ordner bestimmen"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Bestimmen Sie einen Startmenü-Ordner für die Programmverknüpfungen."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Wählen Sie den Startmenü-Ordner für die Programmverknüpfungen aus. Falls Sie einen neuen Ordner erstellen möchten, geben Sie dessen Namen ein."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Keine Verknüpfungen erstellen"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Deinstallation von $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "$(^NameDA) wird von Ihrem Computer entfernt."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Sind Sie sicher, dass Sie die Installation von $(^Name) abbrechen wollen?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Sind Sie sicher, dass Sie die Deinstallation von $(^Name) abbrechen möchten?"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Benutzer auswählen"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Wählen Sie die Benutzer aus, für die Sie $(^NameDA) installieren wollen."
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Wählen Sie aus, ob Sie $(^NameDA) nur für den eigenen Gebrauch oder für die Nutzung durch alle Benutzer dieses Systems installieren möchten. $(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Installation für alle Benutzer dieses Computers"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Installation nur für mich"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Icelandic.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Icelandic.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Icelandic.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Icelandic (15)
+;By Gretar Orri Kristinsson
+
+!insertmacro LANGFILE "Icelandic" "Icelandic"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Velkominn til $(^NameDA) uppsetningarhjálparinnar"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Þessi hjálp mun leiða þig í gegnum uppsetninguna á $(^NameDA).$\r$\n$\r$\nMælt er með því að þú lokir öllum öðrum forritum áður en uppsetningin hefst. Þetta mun gera uppsetningarforritinu kleyft að uppfæra kerfiskrár án þess að endurræsa tölvuna.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Velkomin(n) til $(^NameDA) fjarlægingarhjálparinnar"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Þessi hjálp mun leiða þig í gegnum fjarlæginguna á $(^NameDA).$\r$\n$\r$\nÁður en fjarlæging hefst skal ganga úr skugga um að $(^NameDA) sé ekki opið.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Notandaleyfissamningur"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Vinsamlegast skoðaðu Notandaleyfissamninginn vel áður en uppsetning á $(^NameDA) hefst."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Ef þú samþykkir skilmála samningsins, smelltu þá á 'Ég samþykki' til að halda áfram. Þú verður að samþykkja samninginn til þess að setja upp $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Ef þú samþykkir skilmála samningsins, hakaðu þá í kassann hér að neðan. Þú verður að samþykkja samninginn til þess að setja upp $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Ef þú samþykkir skilmála samningsins, veldu þá fyrsta valmöguleikann hér að neðan. Þú verður að samþykkja samninginn til þess að setja upp $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Leyfissamningur"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Vinsamlegast skoðaðu leyfissamninginn vel áður en fjarlæging á $(^NameDA) hefst."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Ef þú samþykkir skilmála samningsins, smelltu þá á 'Ég samþykki' til að halda áfram. Þú verður að samþykkja samninginn til þess að fjarlægja $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Ef þú samþykkir skilmála samningsins, hakaðu þá í kassann hér að neðan. Þú verður að samþykkja samninginn til þess að fjarlægja $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Ef þú samþykkir skilmála samningsins, veldu þá fyrsta valmöguleikann hér að neðan. Þú verður að samþykkja samninginn til þess að fjarlægja $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Smelltu á 'PageDown' takkann á lyklaborðinu til að sjá afganginn af samningnum."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Velja íhluti"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Veldu hvaða $(^NameDA) íhluti þú vilt setja upp."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Velja íhluti"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Velja hvaða $(^NameDA) íhluti þú vilt fjarlægja."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Lýsing"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Færðu músina yfir íhlut til að fá lýsinguna á honum."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Færðu músina yfir íhlut til að fá lýsinguna á honum."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Veldu uppsetningarskáarsafn"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Veldu það skráarsafn sem þú vilt setja $(^NameDA) upp í."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Velja fjarlægingarskáarsafn"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Veldu það skráarsafn sem þú vilt fjarlægja $(^NameDA) úr."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Set upp"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Vinsamlegast dokaðu við meðan $(^NameDA) er sett upp."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Uppsetningu lokið"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Uppsetning tókst."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Hætt við uppsetningu"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Uppsetningu lauk ekki sem skildi."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Fjarlægi"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Vinsamlegast dokaðu við á meðan $(^NameDA) er fjarlægt."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Fjarlægingu lokið"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Fjarlæging tókst."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Hætt við fjarlægingu"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Fjarlægingu lauk ekki sem skildi."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Ljúka $(^NameDA) uppsetningarhjálpinni"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) er nú upp sett á tölvunni þinni.$\r$\n$\r$\nSmelltu á 'Ljúka' til að loka þessari hjálp."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Til að ljúka uppsetningunni á $(^NameDA) verður að endurræsa tölvuna. Viltu endurræsa núna?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Ljúka $(^NameDA) fjarlægingarhjálpinni"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) hefur nú verið fjarlægt úr tölvunni.$\r$\n$\r$\nSmelltu á 'Ljúka' til að loka þessari hjálp."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Til að ljúka fjarlægingunni á $(^NameDA) verður að endurræsa tölvuna. Viltu endurræsa núna?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Endurræsa núna"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Ég vil endurræsa seinna"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Keyra $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Skoða LestuMig"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Ljúka"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Velja skráarsafn 'Start' valmyndar"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Veldu skráarsafn $(^NameDA) flýtileiða fyrir 'Start' valmyndina."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Veldu skráarsafn flýtileiða forritsins fyrir 'Start' valmyndina. Þú getur einnig búið til nýtt skráarsafn með því að setja inn nýtt nafn."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Ekki búa til flýtileiðir í 'Start' valmyndinni"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Fjarlægja $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Fjarlægja $(^NameDA) úr tölvunni."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Ertu viss um að þú viljir loka $(^Name) uppsetningarhjálpinni?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Ertu viss um að þú viljir loka $(^Name) fjarlægingarhjálpinni?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Belarusian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Belarusian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Belarusian.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1059
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1251
+# RTL - anything else than RTL means LTR
+-
+# Translation by Sitnikov Vjacheslav [ glory_man@tut.by ]
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+Óñòàíî¢êà $(^Name)
+# ^UninstallCaption
+Âûäàëåííå $(^Name)
+# ^LicenseSubCaption
+: Ë³öýíç³éíàå ïàãàäíåííå
+# ^ComponentsSubCaption
+: Ïàðàìåòðû ¢ñòàíî¢ê³
+# ^DirSubCaption
+: Ïàïêà óñòàíî¢ê³
+# ^InstallingSubCaption
+: Êàï³ðàâàííå ôàéëà¢
+# ^CompletedSubCaption
+: Ïðàöýäóðà çàâåðøåíà
+# ^UnComponentsSubCaption
+: Ïàðàìåòðû âûäàëåííÿ
+# ^UnDirSubCaption
+: Ïàïêà âûäàëåííÿ
+# ^ConfirmSubCaption
+: Ïàöâÿðäæýííå
+# ^UninstallingSubCaption
+: Âûäàëåííå ôàéëà¢
+# ^UnCompletedSubCaption
+: Ïðàöýäóðà çàâåðøàíà
+# ^BackBtn
+< &Íàçàä
+# ^NextBtn
+&Äàëåé >
+# ^AgreeBtn
+&Çãîäçåí
+# ^AcceptBtn
+ß &ïðûìàþ ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ
+# ^DontAcceptBtn
+ß í&å ïðûìàþ ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ
+# ^InstallBtn
+&Óñòàëÿâàöü
+# ^UninstallBtn
+Âûä&àë³öü
+# ^CancelBtn
+Àäìÿí³öü
+# ^CloseBtn
+Çà&÷ûí³öü
+# ^BrowseBtn
+À&ãëÿä ...
+# ^ShowDetailsBtn
+Ïàäðà&áÿçíà...
+# ^ClickNext
+Íàö³ñí³öå êíîïêó "Äàëåé", êàá ïðàöÿãíóöü óñòàíî¢êó ïðàãðàìû.
+# ^ClickInstall
+Íàö³ñí³öå êíîïêó "Óñòàëÿâàöü" äëÿ ïà÷àòêó ïðàöýñà ¢ñòàíî¢ê³ ïðàãðàìû.
+# ^ClickUninstall
+Íàö³ñí³öå êíîïêó "Âûäàë³öü" äëÿ ïà÷àòêó ïðàöýñà âûäàëåííÿ ïðàãðàìû.
+# ^Name
+²ìÿ
+# ^Completed
+Çàâåðøàíà
+# ^LicenseText
+Êàë³ ëàñêà, ïðà÷ûòàéöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ ïåðàä ïà÷àòêàì óñòàíî¢ê³ $(^NameDA). Êàë³ Âû ïðûìàåöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ, íàö³ñí³öå êíîïêó "Çãîäçåí".
+# ^LicenseTextCB
+Êàë³ ëàñêà, ïðà÷ûòàéöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ ïåðàä ïà÷àòêàì óñòàíî¢ê³ $(^NameDA). Êàë³ Âû ïðûìàåöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ, óñòàëþéöå ñöÿæîê í³æýé. $_CLICK
+# ^LicenseTextRB
+Êàë³ ëàñêà, ïðà÷ûòàéöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ ïåðàä ïà÷àòêàì óñòàíî¢ê³ $(^NameDA). Êàë³ Âû ïðûìàåöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ, âûëó÷ûöå ïåðøû âàðûÿíò ç ïðàïàíàâàíûõ íiæýé. $_CLICK
+# ^UnLicenseText
+Êàë³ ëàñêà, ïðà÷ûòàéöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ ïåðàä ïà÷àòêàì âûäàëåííÿ $(^NameDA). Êàë³ Âû ïðûìàåöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ, íàöiñíiöå êíîïêó "Çãîäçåí".
+# ^UnLicenseTextCB
+Êàë³ ëàñêà, ïðà÷ûòàéöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ ïåðàä ïà÷àòêàì âûäàëåííÿ $(^NameDA). Êàë³ Âû ïðûìàåöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ, óñòàëþéöå ñöÿæîê í³æýé. $_CLICK
+# ^UnLicenseTextRB
+Êàë³ ëàñêà, ïðà÷ûòàéöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ ïåðàä ïà÷àòêàì âûäàëåííÿ $(^NameDA). Êàë³ Âû ïðûìàåöå ¢ìîâû Ë³öýíç³éíàãà ïàãàäíåííÿ, âûëó÷ûöå ïåðøû âàðûÿíò ç ïðàïàíàâàíûõ íiæýé. $_CLICK
+# ^Custom
+Âûáàðêîâà
+# ^ComponentsText
+Âûçíà÷öå êàìïàíåíòû ïðàãðàìû, ÿêiÿ Âû æàäàåöå ¢ñòàíàâiöü. $_CLICK
+# ^ComponentsSubText1
+Âûçíà÷öå òûï óñòàíî¢êi:
+# ^ComponentsSubText2_NoInstTypes
+Âûçíà÷öå êàìïàíåíòû ïðàãðàìû, êàá óñòàíàâiöü iõ:
+# ^ComponentsSubText2
+àëüáî âûçíà÷öå êàìïàíåíòû ïðàãðàìû, êàá óñòàíàâiöü iõ ïà ñâàéìó æàäàííþ:
+# ^UnComponentsText
+Âûçíà÷öå êàìïàíåíòû, ÿêiÿ Âû æàäàåöå âûäàëiöü, i çíiìiöå ñöÿæê³, âûáðàíûÿ äëÿ òûõ êàìïàíåíòà¢, ÿêiÿ íå òðýáà âûäàëÿöü. $_CLICK
+# ^UnComponentsSubText1
+Âûçíà÷öå òûï âûäàëåííÿ:
+# ^UnComponentsSubText2_NoInstTypes
+Âûçíà÷öå êàìïàíåíòû äëÿ âûäàëåííÿ:
+# ^UnComponentsSubText2
+àëüáî âûçíà÷öå êàìïàíåíòû ïðàãðàìû äëÿ âûäàëåííÿ:
+# ^DirText
+Ïðàãðàìà ¢ñòàëþå $(^NameDA) ó âûçíà÷àíóþ ïàïêó. Êàá óñòàíàâiöü ïðàãðàìó ¢ iíøàé ïàïê³, íàöiñíiöå êíîïêó "Àãëÿä" i âûçíà÷öå ïàòðýáíóþ ïàïêó. $_CLICK
+# ^DirSubText
+Ïàïêà óñòàíî¢êi
+# ^DirBrowseText
+Âûçíà÷öå ïàïêó äëÿ ¢ñòàíî¢êi $(^NameDA):
+# ^UnDirText
+Ïðàãðàìà âûäàëiöü $(^NameDA) ç àäçíà÷àíàé ïàïê³. Êàá âûðàá³öü âûäàëåííå ç iíøàé ïàïê³, íàöiñíiöå êíîïêó "Àãëÿä" i âûçíà÷öå ïàòðýáíóþ ïàïêó. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Âûçíà÷öå ïàïêó, ç ÿêîé Âû æàäàåöå âûäàëiöü $(^NameDA):
+# ^SpaceAvailable
+"Äàñÿæíà íà äûñêó: "
+# ^SpaceRequired
+"Ïàòðýáíàå ìåñöà íà äûñêó: "
+# ^UninstallingText
+Ïðàãðàìà âûäàëiöü $(^NameDA) ç Âàøàãà êàìïóòàðà. $_CLICK
+# ^UninstallingSubText
+Âûäàëåííå ç:
+# ^FileError
+Íåìàã÷ûìà àä÷ûí³öü ôàéë äëÿ çàïiñó: \r\n\r\n$0\r\n\r\nÍàöiñíiöå êíîïêó "Ïåðàïûíiöü", êàá ïåðàïûíiöü óñòàíî¢êó;\r\n"Ïà¢òàðûöü", êàá ïà¢òàðûöü ñïðîáó çàïiñó ¢ ôàéë;\r\n"²ãíàðàâàöü", êàá ïðàïóñöiöü ãýòà äçåÿííå.
+# ^FileError_NoIgnore
+Íåìàã÷ûìà àä÷ûí³öü ôàéë äëÿ çàïiñó: \r\n\r\n$0\r\n\r\nÍàöiñíiöå êíîïêó "Ïà¢òàðûöü", êàá ïà¢òàðûöü ñïðîáó çàïiñó ¢ ôàéë;\r\n"Àäìÿí³öü", êàá ïåðàïûíiöü óñòàíî¢êó.
+# ^CantWrite
+"Íåìàã÷ûìà çàïiñàöü: "
+# ^CopyFailed
+Êàïiðàâàííå íÿ¢äàëà
+# ^CopyTo
+"Êàïiðàâàííå ¢ "
+# ^Registering
+"Ðýãiñòðàöûÿ: "
+# ^Unregistering
+"Âûäàëåííå ðýãiñòðàöûi: "
+# ^SymbolNotFound
+"Íåìàã÷ûìà àäøóêàöü ñiìâàë: "
+# ^CouldNotLoad
+"Íåìàã÷ûìà çàãðóçiöü: "
+# ^CreateFolder
+"Ñòâàðýííå ïàïê³: "
+# ^CreateShortcut
+"Ñòâàðýííå ÿðëûêó: "
+# ^CreatedUninstaller
+"Ñòâàðýííå ïðàãðàìû âûäàëåííÿ: "
+# ^Delete
+"Âûäàëåííå ôàéëà: "
+# ^DeleteOnReboot
+"Âûäàëåííå ïàñëÿ ïåðåçàãðóçêi êàìïóòàðà: "
+# ^ErrorCreatingShortcut
+"Ïàìûëêà ñòâàðýííÿ ÿðëûêó: " 
+# ^ErrorCreating
+"Ïàìûëêà ñòâàðýííÿ: "
+# ^ErrorDecompressing
+Íåìàã÷ûìà âûöÿãíóöü äàäçåíûÿ. Ìàã÷ûìà ïàøêîäæàíû äûñòðûáóòû¢.
+# ^ErrorRegistering
+Íåìàã÷ûìà çàðýã³ñòðàâàöü á³áë³ÿòýêó (DLL)
+# ^ExecShell
+"Âûêàíàííå êàìàíäû àáàëîíê³: " 
+# ^Exec
+"Âûêàíàííå: "
+# ^Extract
+"Âûìàííå: "
+# ^ErrorWriting
+"Âûìàííå: ïàìûëêà çàïiñó ôàéëà"
+# ^InvalidOpcode
+äûñòðûáóòû¢ ïàøêîäæàíû: êîä ïàìûëêi
+# ^NoOLE
+"Íÿìà OLE äëÿ: " 
+# ^OutputFolder
+"Êàòàëîã óñòàíî¢êi: "
+# ^RemoveFolder
+"Âûäàëåííå ïàïê³: "
+# ^RenameOnReboot
+"Ïåðàíàçâà ïàñëÿ ïåðåçàãðóçêi êàìïóòàðà: "
+# ^Rename
+"Ïåðàíàçâà: "
+# ^Skipped
+"Ïðàïóø÷àíà: "
+# ^CopyDetails
+Êàïiðàâàöü çâåñòêi ¢ áóôåð àáìåíà 
+# ^LogInstall
+Çàïiñâàöü ó ëîã ïðàöýñ óñòàíî¢êi
+# byte
+Á
+# kilo
+Ê
+# mega
+Ì
+# giga
+Ã
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Japanese.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Japanese.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Japanese.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1041
+# Font and size - dash (-) means default
+‚l‚r ‚oƒSƒVƒbƒN
+9
+# Codepage - dash (-) means ANSI code page
+932
+# RTL - anything else than RTL means LTR
+-
+# Translation by Dnanako, updated by Takahiro Yoshimura <takahiro_y@monolithworks.co.jp>
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) ƒZƒbƒgƒAƒbƒv
+# ^UninstallCaption
+$(^Name) ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹
+# ^LicenseSubCaption
+�Fƒ‰ƒCƒZƒ“ƒXŒ_–ñ�‘
+# ^ComponentsSubCaption
+�FƒCƒ“ƒXƒg�[ƒ‹ ƒIƒvƒVƒ‡ƒ“
+# ^DirSubCaption
+�FƒCƒ“ƒXƒg�[ƒ‹ ƒtƒHƒ‹ƒ_
+# ^InstallingSubCaption
+�FƒCƒ“ƒXƒg�[ƒ‹
+# ^CompletedSubCaption
+�FŠ®—¹
+# ^UnComponentsSubCaption
+: ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹ ƒIƒvƒVƒ‡ƒ“
+# ^UnDirSubCaption
+: ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹ ƒtƒHƒ‹ƒ_
+# ^ComfirmSubCaption
+�FŠm”F
+# ^UninstallingSubCaption
+�FƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹
+# ^UnCompletedSubCaption
+�FŠ®—¹
+# ^BackBtn
+< –ß‚é(&B)
+# ^NextBtn
+ŽŸ‚Ö(&N) >
+# ^AgreeBtn
+“¯ˆÓ‚·‚é(&A)
+# ^AcceptBtn
+‚±‚Ìƒ‰ƒCƒZƒ“ƒXŒ_–ñ�‘‚É“¯ˆÓ‚µ‚Ü‚·(&A)
+# ^DontAcceptBtn
+‚±‚Ìƒ‰ƒCƒZƒ“ƒXŒ_–ñ�‘‚É‚Í“¯ˆÓ‚Å‚«‚Ü‚¹‚ñ(&D)
+# ^InstallBtn
+ƒCƒ“ƒXƒg�[ƒ‹
+# ^UninstallBtn
+±Ý²Ý½Ä°Ù(&U)
+# ^CancelBtn
+ƒLƒƒƒ“ƒZƒ‹
+# ^CloseBtn
+•Â‚¶‚é(&C)
+# ^BrowseBtn
+ŽQ�Æ(&R)...
+# ^ShowDetailsBtn
+�Ú�×‚ð•\Ž¦(&D)
+# ^ClickNext
+‘±‚¯‚é‚É‚Í [ŽŸ‚Ö] ‚ðƒNƒŠƒbƒN‚µ‚Ä‰º‚³‚¢�B
+# ^ClickInstall
+ƒCƒ“ƒXƒg�[ƒ‹‚ðŽn‚ß‚é‚É‚Í [ƒCƒ“ƒXƒg�[ƒ‹] ‚ðƒNƒŠƒbƒN‚µ‚Ä‰º‚³‚¢�B
+# ^ClickUninstall
+ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚ðŽn‚ß‚é‚É‚Í [±Ý²Ý½Ä°Ù] ‚ðƒNƒŠƒbƒN‚µ‚Ä‰º‚³‚¢�B
+# ^Name
+ƒAƒvƒŠƒP�[ƒVƒ‡ƒ“
+# ^Completed
+Š®—¹
+# ^LicenseText
+$(^NameDA)‚ðƒCƒ“ƒXƒg�[ƒ‹‚·‚é‘O‚É�Aƒ‰ƒCƒZƒ“ƒXŒ_–ñ�‘‚ðŠm”F‚µ‚Ä‰º‚³‚¢�BŒ_–ñ�‘‚Ì‘S‚Ä‚Ì�ðŒ�‚É“¯ˆÓ‚·‚é‚È‚ç‚Î�A[“¯ˆÓ‚·‚é] ƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‰º‚³‚¢�B
+# ^LicenseTextCB
+$(^NameDA)‚ðƒCƒ“ƒXƒg�[ƒ‹‚·‚é‘O‚É�Aƒ‰ƒCƒZƒ“ƒXŒ_–ñ�‘‚ðŠm”F‚µ‚Ä‰º‚³‚¢�BŒ_–ñ�‘‚Ì‘S‚Ä‚Ì�ðŒ�‚É“¯ˆÓ‚·‚é‚È‚ç‚Î�A‰º‚Ìƒ`ƒFƒbƒNƒ{ƒbƒNƒX‚ðƒNƒŠƒbƒN‚µ‚Ä‰º‚³‚¢�B $_CLICK
+# ^LicenseTextRB
+$(^NameDA)‚ðƒCƒ“ƒXƒg�[ƒ‹‚·‚é‘O‚É�Aƒ‰ƒCƒZƒ“ƒXŒ_–ñ�‘‚ðŠm”F‚µ‚Ä‰º‚³‚¢�BŒ_–ñ�‘‚Ì‘S‚Ä‚Ì�ðŒ�‚É“¯ˆÓ‚·‚é‚È‚ç‚Î�A‰º‚É•\Ž¦‚³‚ê‚Ä‚¢‚éƒIƒvƒVƒ‡ƒ“‚Ì‚¤‚¿�A�Å�‰‚Ì‚à‚Ì‚ð‘I‚ñ‚Å‰º‚³‚¢�B $_CLICK
+# ^UnLicenseText
+$(^NameDA)‚ðƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚·‚é‘O‚É�Aƒ‰ƒCƒZƒ“ƒXŒ_–ñ�‘‚ðŠm”F‚µ‚Ä‰º‚³‚¢�BŒ_–ñ�‘‚Ì‘S‚Ä‚Ì�ðŒ�‚É“¯ˆÓ‚·‚é‚È‚ç‚Î�A[“¯ˆÓ‚·‚é] ƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‰º‚³‚¢�B
+# ^UnLicenseTextCB
+$(^NameDA)‚ðƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚·‚é‘O‚É�Aƒ‰ƒCƒZƒ“ƒXŒ_–ñ�‘‚ðŠm”F‚µ‚Ä‰º‚³‚¢�BŒ_–ñ�‘‚Ì‘S‚Ä‚Ì�ðŒ�‚É“¯ˆÓ‚·‚é‚È‚ç‚Î�A‰º‚Ìƒ`ƒFƒbƒNƒ{ƒbƒNƒX‚ðƒNƒŠƒbƒN‚µ‚Ä‰º‚³‚¢�B $_CLICK
+# ^UnLicenseTextRB
+$(^NameDA)‚ðƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚·‚é‘O‚É�Aƒ‰ƒCƒZƒ“ƒXŒ_–ñ�‘‚ðŠm”F‚µ‚Ä‰º‚³‚¢�BŒ_–ñ�‘‚Ì‘S‚Ä‚Ì�ðŒ�‚É“¯ˆÓ‚·‚é‚È‚ç‚Î�A‰º‚É•\Ž¦‚³‚ê‚Ä‚¢‚éƒIƒvƒVƒ‡ƒ“‚Ì‚¤‚¿�A�Å�‰‚Ì‚à‚Ì‚ð‘I‚ñ‚Å‰º‚³‚¢�B $_CLICK
+# ^Custom
+ƒJƒXƒ^ƒ€
+# ^ComponentsText
+ƒCƒ“ƒXƒg�[ƒ‹‚µ‚½‚¢ƒRƒ“ƒ|�[ƒlƒ“ƒg‚Éƒ`ƒFƒbƒN‚ð•t‚¯‚Ä‰º‚³‚¢�B•s—v‚È‚à‚Ì‚É‚Â‚¢‚Ä‚Í�Aƒ`ƒFƒbƒN‚ðŠO‚µ‚Ä‰º‚³‚¢�B $_CLICK
+# ^ComponentsSubText1
+ƒCƒ“ƒXƒg�[ƒ‹ ƒ^ƒCƒv‚ð‘I‘ð�F
+# ^ComponentsSubText2_NoInstTypes
+ƒCƒ“ƒXƒg�[ƒ‹ ƒRƒ“ƒ|�[ƒlƒ“ƒg‚ð‘I‘ð�F
+# ^ComponentsSubText2
+‚Ü‚½‚Í�AƒCƒ“ƒXƒg�[ƒ‹ ƒIƒvƒVƒ‡ƒ“ ƒRƒ“ƒ|�[ƒlƒ“ƒg‚ð‘I‘ð�F
+# ^UnComponentsText
+ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚µ‚½‚¢ƒRƒ“ƒ|�[ƒlƒ“ƒg‚Éƒ`ƒFƒbƒN‚ð•t‚¯‚Ä‰º‚³‚¢�B‚»‚¤‚Å‚È‚¢‚à‚Ì‚É‚Â‚¢‚Ä‚Í�Aƒ`ƒFƒbƒN‚ðŠO‚µ‚Ä‰º‚³‚¢�B $_CLICK
+# ^UnComponentsSubText1
+ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹ ƒ^ƒCƒv‚ð‘I‘ð�F
+# ^UnComponentsSubText2_NoInstTypes
+ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹ ƒRƒ“ƒ|�[ƒlƒ“ƒg‚ð‘I‘ð�F
+# ^UnComponentsSubText2
+‚Ü‚½‚Í�AƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹ ƒIƒvƒVƒ‡ƒ“ ƒRƒ“ƒ|�[ƒlƒ“ƒg‚ð‘I‘ð�F
+# ^DirText
+$(^NameDA)‚ðˆÈ‰º‚ÌƒtƒHƒ‹ƒ_‚ÉƒCƒ“ƒXƒg�[ƒ‹‚µ‚Ü‚·�BˆÙ‚È‚Á‚½ƒtƒHƒ‹ƒ_‚ÉƒCƒ“ƒXƒg�[ƒ‹‚·‚é‚É‚Í�A[ŽQ�Æ] ‚ð‰Ÿ‚µ‚Ä�A•Ê‚ÌƒtƒHƒ‹ƒ_‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢�B $_CLICK
+# ^DirSubText
+ƒCƒ“ƒXƒg�[ƒ‹�æ ƒtƒHƒ‹ƒ_
+# ^DirBrowseText
+$(^NameDA)‚ðƒCƒ“ƒXƒg�[ƒ‹‚·‚éƒtƒHƒ‹ƒ_‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢�F
+# ^UnDirText
+$(^NameDA)‚ðˆÈ‰º‚ÌƒtƒHƒ‹ƒ_‚©‚çƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚µ‚Ü‚·�BˆÙ‚È‚Á‚½ƒtƒHƒ‹ƒ_‚©‚çƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚·‚é‚É‚Í�A[ŽQ�Æ] ‚ð‰Ÿ‚µ‚Ä�A•Ê‚ÌƒtƒHƒ‹ƒ_‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢�B $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+$(^NameDA)‚ðƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚·‚éƒtƒHƒ‹ƒ_‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢�F
+# ^SpaceAvailable
+—˜—p‰Â”\‚ÈƒfƒBƒXƒNƒXƒy�[ƒX�F 
+# ^SpaceRequired
+•K—v‚ÈƒfƒBƒXƒNƒXƒy�[ƒX�F 
+# ^UninstallingText
+$(^NameDA)‚Í�AˆÈ‰º‚ÌƒtƒHƒ‹ƒ_‚©‚çƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹‚³‚ê‚Ü‚·�B $_CLICK
+# ^UninstallingSubText
+ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‹Œ³�F
+# ^FileError
+�‰Šúƒtƒ@ƒCƒ‹‚Ì�ì�¬ƒGƒ‰�[�F\r\n\t"$0"\r\nƒCƒ“ƒXƒg�[ƒ‹‚ð’†Ž~‚·‚é‚É‚Í’†Ž~‚ð,\r\n�Ä‚Ñ‚±‚Ìƒtƒ@ƒCƒ‹‚Ì�ì�¬‚ðŽŽ‚Ý‚é‚É‚Í�ÄŽŽ�s‚ð, ‚Ü‚½\r\n‚±‚Ìƒtƒ@ƒCƒ‹‚ðƒXƒLƒbƒv‚µ‚Ä‘±‚¯‚é‚É‚Í–³Ž‹‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢
+# ^FileError_NoIgnore
+�‰Šúƒtƒ@ƒCƒ‹‚Ì�ì�¬ƒGƒ‰�[: \r\n\t"$0"\r\n�Ä‚Ñ‚±‚Ìƒtƒ@ƒCƒ‹‚Ì�ì�¬‚ðŽŽ‚Ý‚é‚É‚Í�ÄŽŽ�s‚ð, ‚Ü‚½\r\nƒCƒ“ƒXƒg�[ƒ‹‚ð’†Ž~‚·‚é‚É‚ÍƒLƒƒƒ“ƒZƒ‹‚ð‰Ÿ‚µ‚Ä‰º‚³‚¢
+# ^CantWrite
+�ì�¬‚Å‚«‚Ü‚¹‚ñ�F
+# ^CopyFailed
+ƒRƒs�[‚ÍŽ¸”s‚µ‚Ü‚µ‚½
+# ^CopyTo
+ƒRƒs�[‚µ‚Ü‚·
+# ^Registering
+“o˜^’†:
+# ^Unregistering
+“o˜^‰ð�œ’†:
+# ^SymbolNotFound
+ƒVƒ“ƒ{ƒ‹‚ðŒ©‚Â‚¯‚é‚±‚Æ‚ª‚Å‚«‚Ü‚¹‚ñ�F
+# ^CouldNotLoad
+ƒ��[ƒh‚·‚é‚±‚Æ‚ª‚Å‚«‚Ü‚¹‚ñ�F
+# ^CreateFolder
+ƒtƒHƒ‹ƒ_‚Ì�ì�¬�F
+# ^CreateShortcut
+ƒVƒ‡�[ƒgƒJƒbƒg‚Ì�ì�¬�F
+# ^CreatedUninstaller
+ƒAƒ“ƒCƒ“ƒXƒg�[ƒ‰‚Ì�ì�¬�F
+# ^Delete
+ƒtƒ@ƒCƒ‹‚Ì�í�œ�F
+# ^DeleteOnReboot
+ƒŠƒu�[ƒgŽž‚É�í�œ�F
+# ^ErrorCreatingShortcut
+ƒVƒ‡�[ƒgƒJƒbƒg‚Ì�ì�¬ƒGƒ‰�[�F
+# ^ErrorCreating
+�ì�¬ƒGƒ‰�[�F
+# ^ErrorDecompressing
+ƒf�[ƒ^‚Ì’Š�oƒGƒ‰�[\r\n\r\nƒCƒ“ƒXƒg�[ƒ‰‚ª”j‘¹‚µ‚Ä‚¢‚Ü‚·�B
+# ^ErrorRegistering
+DLL‚Ì“o˜^ƒGƒ‰�[
+# ^ExecShell
+Šg’£Žq‚ÌŠÖ˜A•t‚¯ŽÀ�s: 
+# ^Execute
+ŽÀ�s�F
+# ^Extract
+’Š�o�F
+# ^ErrorWriting
+’Š�o�Fƒtƒ@ƒCƒ‹�ì�¬ƒGƒ‰�[
+# ^InvalidOpcode
+ƒCƒ“ƒXƒg�[ƒ‹‚Ì•s�³�F–³Œø‚Èopcode
+# ^NoOLE
+OLE‚ª‚ ‚è‚Ü‚¹‚ñ�F
+# ^OutputFolder
+�o—Í�æƒtƒHƒ‹ƒ_�F
+# ^RemoveFolder
+ƒtƒHƒ‹ƒ_‚Ì�í�œ�F
+# ^RenameOnReboot
+ƒŠƒu�[ƒgŽž‚É–¼‘O‚Ì•Ï�X�F
+# ^Rename
+–¼‘O‚Ì•Ï�X�F
+# ^Skipped
+ƒXƒLƒbƒv�F
+# ^CopyDetails
+ƒNƒŠƒbƒvƒ{�[ƒh‚Ö�Ú�×‚ðƒRƒs�[
+# ^LogInstall
+ƒCƒ“ƒXƒg�[ƒ‹ƒvƒ�ƒZƒX‚ðƒ�ƒOƒw‹L˜^
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Korean.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Korean.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Korean.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Korean (1042)
+;By linak linak@korea.com ( ~ V2.0 BETA3 ) By kippler@gmail.com(www.kipple.pe.kr) ( V2.0 BETA3 ~ ) (last update:2007/09/05)
+
+!insertmacro LANGFILE "Korean" "Korean"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "$(^NameDA) ¼³Ä¡¸¦ ½ÃÀÛÇÕ´Ï´Ù."
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "ÀÌ ÇÁ·Î±×·¥Àº ´ç½ÅÀÇ ÄÄÇ»ÅÍ¿¡ $(^NameDA)(À»)¸¦ ¼³Ä¡ÇÒ °ÍÀÔ´Ï´Ù.$\r$\n$\r$\n¼³Ä¡¸¦ ½ÃÀÛÇÏ±â Àü °¡´ÉÇÑ ÇÑ ¸ðµç ÇÁ·Î±×·¥À» Á¾·áÇÏ¿© ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù. ÀÌ´Â ÀçºÎÆÃÀ» ÇÏÁö ¾Ê°í¼­µµ ½Ã½ºÅÛ ÆÄÀÏÀ» ¼öÁ¤ÇÒ ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "$(^NameDA) Á¦°Å¸¦ ½ÃÀÛÇÕ´Ï´Ù."
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "ÀÌ ÇÁ·Î±×·¥Àº ´ç½ÅÀÇ ÄÄÇ»ÅÍ¿¡¼­ $(^NameDA)(À»)¸¦ Á¦°ÅÇÒ °ÍÀÔ´Ï´Ù.$\r$\n$\r$\nÁ¦°Å¸¦ ½ÃÀÛÇÏ±â Àü¿¡ $(^NameDA)(À»)¸¦ Á¾·áÇÏ¿© ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "»ç¿ë±Ç °è¾à"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "$(^NameDA)(À»)¸¦ ¼³Ä¡ÇÏ½Ã±â Àü¿¡ »ç¿ë±Ç °è¾à ³»¿ëÀ» »ìÆìº¸½Ã±â ¹Ù¶ø´Ï´Ù."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "³»¿ë¿¡ µ¿ÀÇÇÏ¼Ì´Ù¸é 'µ¿ÀÇÇÔ'À» ´­·¯ ÁÖ¼¼¿ä. $(^NameDA)(À»)¸¦ ¼³Ä¡ÇÏ±â À§ÇØ¼­´Â ¹Ýµå½Ã ³»¿ë¿¡ µ¿ÀÇÇÏ¼Å¾ß ÇÕ´Ï´Ù."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "³»¿ë¿¡ µ¿ÀÇÇÏ¼Ì´Ù¸é ¾Æ·¡ »çÇ×À» ¼±ÅÃÇØ ÁÖ¼¼¿ä. $(^NameDA)(À»)¸¦ ¼³Ä¡ÇÏ±â À§ÇØ¼­´Â ¹Ýµå½Ã ³»¿ë¿¡ µ¿ÀÇÇÏ¼Å¾ß ÇÕ´Ï´Ù. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "³»¿ë¿¡ µ¿ÀÇÇÏ¼Ì´Ù¸é Ã¹ ¹øÂ° »çÇ×À» ¼±ÅÃÇØ ÁÖ¼¼¿ä. $(^NameDA)(À»)¸¦ ¼³Ä¡ÇÏ±â À§ÇØ¼­´Â ¹Ýµå½Ã ³»¿ë¿¡ µ¿ÀÇÇÏ¼Å¾ß ÇÕ´Ï´Ù. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "»ç¿ë±Ç °è¾à µ¿ÀÇ"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "$(^NameDA)(À»)¸¦ Á¦°ÅÇÏ½Ã±â Àü¿¡ »ç¿ë±Ç °è¾à ³»¿ëÀ» »ìÆìº¸½Ã±â ¹Ù¶ø´Ï´Ù."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "³»¿ë¿¡ µ¿ÀÇÇÏ¼Ì´Ù¸é 'µ¿ÀÇÇÔ'À» ´­·¯ ÁÖ¼¼¿ä. $(^NameDA)(À»)¸¦ Á¦°ÅÇÏ±â À§ÇØ¼­´Â ¹Ýµå½Ã ³»¿ë¿¡ µ¿ÀÇÇÏ¼Å¾ß ÇÕ´Ï´Ù."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "³»¿ë¿¡ µ¿ÀÇÇÏ¼Ì´Ù¸é ¾Æ·¡ »çÇ×À» ¼±ÅÃÇØ ÁÖ¼¼¿ä. $(^NameDA)(À»)¸¦ Á¦°ÅÇÏ±â À§ÇØ¼­´Â ¹Ýµå½Ã ³»¿ë¿¡ µ¿ÀÇÇÏ¼Å¾ß ÇÕ´Ï´Ù. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "³»¿ë¿¡ µ¿ÀÇÇÏ¼Ì´Ù¸é Ã¹ ¹øÂ° »çÇ×À» ¼±ÅÃÇØ ÁÖ¼¼¿ä. $(^NameDA)(À»)¸¦ Á¦°ÅÇÏ±â À§ÇØ¼­´Â ¹Ýµå½Ã ³»¿ë¿¡ µ¿ÀÇÇÏ¼Å¾ß ÇÕ´Ï´Ù. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "»ç¿ë±Ç °è¾à µ¿ÀÇ »çÇ×ÀÇ ³ª¸ÓÁö ºÎºÐÀ» º¸½Ã·Á¸é [Page Down] Å°¸¦ ´­·¯ ÁÖ¼¼¿ä."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "±¸¼º ¿ä¼Ò ¼±ÅÃ"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "¼³Ä¡ÇÏ°íÀÚ ÇÏ´Â $(^NameDA)ÀÇ ±¸¼º ¿ä¼Ò¸¦ ¼±ÅÃÇØ ÁÖ¼¼¿ä."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "±¸¼º ¿ä¼Ò ¼±ÅÃ"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Á¦°ÅÇÏ°íÀÚ ÇÏ´Â $(^NameDA)ÀÇ ±¸¼º ¿ä¼Ò¸¦ ¼±ÅÃÇØ ÁÖ¼¼¿ä."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "»ó¼¼ ¼³¸í"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "»ó¼¼ ¼³¸íÀ» º¸°í ½ÍÀ¸½Å ºÎºÐ¿¡ ¸¶¿ì½º¸¦ ¿Ã·Á³õÀ¸¼¼¿ä."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "»ó¼¼ ¼³¸íÀ» º¸°í ½ÍÀ¸½Å ºÎºÐ¿¡ ¸¶¿ì½º¸¦ ¿Ã·Á³õÀ¸¼¼¿ä."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "¼³Ä¡ À§Ä¡ ¼±ÅÃ"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "$(^NameDA)(À»)¸¦ ¼³Ä¡ÇÒ Æú´õ¸¦ ¼±ÅÃÇØ ÁÖ¼¼¿ä."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Á¦°Å À§Ä¡ ¼±ÅÃ"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "$(^NameDA)(À»)¸¦ Á¦°ÅÇÒ Æú´õ¸¦ ¼±ÅÃÇØ ÁÖ¼¼¿ä."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "¼³Ä¡Áß"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "$(^NameDA)(À»)¸¦ ¼³Ä¡ÇÏ´Â µ¿¾È Àá½Ã ±â´Ù·Á ÁÖ¼¼¿ä."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "¼³Ä¡ ¿Ï·á"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "¼³Ä¡°¡ ¼º°øÀûÀ¸·Î ¿Ï·áµÇ¾ú½À´Ï´Ù."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "¼³Ä¡ Ãë¼Ò"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "ÇÁ·Î±×·¥ ¼³Ä¡°¡ Ãë¼ÒµÇ¾ú½À´Ï´Ù."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Á¦°ÅÁß"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "$(^NameDA)(À»)¸¦ Á¦°ÅÇÏ´Â µ¿¾È Àá½Ã ±â´Ù·Á ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Á¦°Å ¸¶Ä§"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "ÇÁ·Î±×·¥À» ¼º°øÀûÀ¸·Î Á¦°ÅÇÏ¿´½À´Ï´Ù."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "ÇÁ·Î±×·¥ Á¦°Å Ãë¼Ò"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "ÇÁ·Î±×·¥ Á¦°Å°¡ Ãë¼ÒµÇ¾ú½À´Ï´Ù."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "$(^NameDA) ¼³Ä¡ ¿Ï·á"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA)ÀÇ ¼³Ä¡°¡ ¿Ï·áµÇ¾ú½À´Ï´Ù. ¼³Ä¡ ÇÁ·Î±×·¥À» ¸¶Ä¡·Á¸é '¸¶Ä§' ¹öÆ°À» ´­·¯ ÁÖ¼¼¿ä."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "$(^NameDA)ÀÇ ¼³Ä¡¸¦ ¿Ï·áÇÏ±â À§ÇØ¼­´Â ½Ã½ºÅÛÀ» ´Ù½Ã ½ÃÀÛÇØ¾ß ÇÕ´Ï´Ù. Áö±Ý ÀçºÎÆÃ ÇÏ½Ã°Ú½À´Ï±î?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Á¦°Å ¿Ï·á"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA)ÀÇ Á¦°Å°¡ ¿Ï·á µÇ¾ú½À´Ï´Ù."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "$(^NameDA)ÀÇ Á¦°Å¸¦ ¿Ï·áÇÏ±â À§ÇØ¼­´Â ½Ã½ºÅÛÀ» ´Ù½Ã ½ÃÀÛÇØ¾ß ÇÕ´Ï´Ù. Áö±Ý ÀçºÎÆÃ ÇÏ½Ã°Ú½À´Ï±î?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Áö±Ý ÀçºÎÆÃ ÇÏ°Ú½À´Ï´Ù."
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "³ªÁß¿¡ ÀçºÎÆÃ ÇÏ°Ú½À´Ï´Ù."
+  ${LangFileString} MUI_TEXT_FINISH_RUN "$(^NameDA) ½ÇÇàÇÏ±â(&R)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Readme ÆÄÀÏ º¸±â(&S)"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "¸¶Ä§"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "½ÃÀÛ ¸Þ´º Æú´õ ¼±ÅÃ"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "ÇÁ·Î±×·¥ÀÇ ¹Ù·Î °¡±â ¾ÆÀÌÄÜÀÌ »ý¼ºµÉ ½ÃÀÛ ¸Þ´º Æú´õ ¼±ÅÃ."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "ÇÁ·Î±×·¥ÀÇ ¹Ù·Î °¡±â ¾ÆÀÌÄÜÀÌ »ý¼ºµÉ ½ÃÀÛ ¸Þ´º Æú´õ¸¦ ¼±ÅÃÇÏ¼¼¿ä. »õ·Î¿î Æú´õ¸¦ »ý¼ºÇÏ·Á¸é Æú´õ ÀÌ¸§À» ÀÔ·ÂÇÏ¼¼¿ä."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "¹Ù·Î °¡±â ¾ÆÀÌÄÜÀ» ¸¸µéÁö ¾Ê°Ú½À´Ï´Ù."
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "$(^NameDA) Á¦°Å"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "$(^NameDA) Á¦°ÅÇÏ±â"
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "$(^Name) ¼³Ä¡¸¦ Ãë¼ÒÇÏ½Ã°Ú½À´Ï±î?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "$(^Name) Á¦°Å¸¦ Ãë¼ÒÇÏ½Ã°Ú½À´Ï±î?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Norwegian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Norwegian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Norwegian.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1044
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by Jonas Lindstrøm (jonasc_88@hotmail.com). Reviewed and fixed by Jan Ivar Beddari <d0der at online.no>
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) installasjon
+# ^UninstallCaption
+$(^Name) avinstallasjon
+# ^LicenseSubCaption
+: Lisensavtale
+# ^ComponentsSubCaption
+: Installasjonsvalg
+# ^DirSubCaption
+: Installasjonsmappe
+# ^InstallingSubCaption
+: Installerer
+# ^CompletedSubCaption
+: Ferdig
+# ^UnComponentsSubCaption
+: Avinstallasjonsvalg
+# ^UnDirSubCaption
+: Avinstallasjonsmappe
+# ^ConfirmSubCaption
+: Bekreft
+# ^UninstallingSubCaption
+: Avinstallerer
+# ^UnCompletedSubCaption
+: Ferdig
+# ^BackBtn
+< &Tilbake
+# ^NextBtn
+&Neste >
+# ^AgreeBtn
+&Godta
+# ^AcceptBtn
+Jeg &godtar vilkårene i lisensavtalen
+# ^DontAcceptBtn
+Jeg godtar &ikke vilkårene i lisensavtalen
+# ^InstallBtn
+&Installer
+# ^UninstallBtn
+&Avinstaller
+# ^CancelBtn
+Avbryt
+# ^CloseBtn
+&Lukk
+# ^BrowseBtn
+Bla &gjennom...
+# ^ShowDetailsBtn
+Vis &detaljer
+# ^ClickNext
+Trykk Neste for å fortsette.
+# ^ClickInstall
+Trykk Installer for å starte installasjonen.
+# ^ClickUninstall
+Trykk Avinstaller for å starte avinstallasjonen.
+# ^Name
+Navn
+# ^Completed
+Ferdig
+# ^LicenseText
+Vennligst les gjennom lisensavtalen før du installerer $(^Name). Hvis du godtar vilkårene i avtalen, trykk på Godta.
+# ^LicenseTextCB
+Vennligst les gjennom lisensavtalen før du installerer $(^Name). Hvis du godtar vilkårene i avtalen, merk av under. $_CLICK
+# ^LicenseTextRB
+Vennligst les gjennom lisensavtalen før du installerer $(^Name). Hvis du godtar vilkårene i avtalen, velg det første alternativet. $_CLICK
+# ^UnLicenseText
+Vennligst les gjennom lisensavtalen før du avinstallerer $(^Name). Hvis du godtar vilkårene i avtalen, trykk på Godta.
+# ^UnLicenseTextCB
+Vennligst les gjennom lisensavtalen før du avinstallerer $(^Name). Hvis du godtar vilkårene i avtalen, merk av under. $_CLICK
+# ^UnLicenseTextRB
+Vennligst les gjennom lisensavtalen før du avinstallerer $(^Name). Hvis du godtar vilkårene i avtalen, velg det første alternativet. $_CLICK
+# ^Custom
+Egendefinert
+# ^ComponentsText
+Merk komponentene du vil installere og fjern merkingen for de du ikke vil installere. $_CLICK
+# ^ComponentsSubText1
+Velg hvilken måte du vil installere på:
+# ^ComponentsSubText2_NoInstTypes
+Merk komponenter du vil installere:
+# ^ComponentsSubText2
+Eller merk de valgfrie komponentene du ønsker å installere:
+# ^UnComponentsText
+Merk komponentene du vil avinstallere og fjern merkingen for de du vil beholde. $_CLICK
+# ^UnComponentsSubText1
+Velg hvilken måte du vil avinstallere på:
+# ^UnComponentsSubText2_NoInstTypes
+Merk komponenter du vil avinstallere:
+# ^UnComponentsSubText2
+Eller merk de valgfrie komponentene du ønsker å avinstallere:
+# ^DirText
+$(^Name) vil bli installert i følgende mappe. For å velge en annen mappe, trykk Bla gjennom. $_CLICK
+# ^DirSubText
+Målmappe
+# ^DirBrowseText
+Velg mappe du vil installere $(^Name) i:
+# ^UnDirText
+$(^Name) i følgende mappe vil bli avinstallert. For å velge en annen mappe, trykk Bla gjennom. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Velg mappe du vil avinstallere $(^Name) fra:
+# ^SpaceAvailable
+"Ledig plass: "
+# ^SpaceRequired
+"Nødvendig plass: "
+# ^UninstallingText
+Denne veiviseren vil avinstallere $(^Name) fra din datamaskin. $_CLICK
+# ^UninstallingSubText
+Avinstallerer fra:
+# ^FileError
+Feil under åpning av fil for skriving: \r\n\t\"$0\"\r\nTrykk Avbryt for å avbryte installasjonen,\r\nPrøv igjen for å prøve igjen, eller\r\nIgnorer for å hoppe over denne filen
+# ^FileError_NoIgnore
+Feil under åpning av fil for skriving: \r\n\t\"$0\"\r\nTrykk Prøv igjen for å prøve igjen, or\r\neller Avbryt for å avbryte installasjonen
+# ^CantWrite
+"Kan ikke skrive: "
+# ^CopyFailed
+Kopiering mislyktes
+# ^CopyTo
+"Kopier til "
+# ^Registering
+"Registrerer: "
+# ^Unregistering
+""Avregistrerer: "
+# ^SymbolNotFound
+"Kunne ikke finne symbol: "
+# ^CouldNotLoad
+"Kunne ikke laste: "
+# ^CreateFolder
+"Lag mappe: "
+# ^CreateShortcut
+"Lag snarvei: "
+# ^CreatedUninstaller
+"Avinstallasjon laget: "
+# ^Delete
+"Slett fil: "
+# ^DeleteOnReboot
+"Slett ved omstart: "
+# ^ErrorCreatingShortcut
+"Feil under opprettelse av snarvei: "
+# ^ErrorCreating
+"Feil under opprettelse av: "
+# ^ErrorDecompressing
+Feil under utpakking av data! Installasjonsprogrammet kan være skadet.
+# ^ErrorRegistering
+Feil under registrering av DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Kjøre: "
+# ^Extract
+"Pakk ut: "
+# ^ErrorWriting
+"Pakk ut: Feil under skriving til fil "
+# ^InvalidOpcode
+Installasjonsprogrammet er skadet: ukjent kode
+# ^NoOLE
+"Ingen OLE for: "
+# ^OutputFolder
+"Ut-mappe: "
+# ^RemoveFolder
+"Fjern mappe: "
+# ^RenameOnReboot
+"Gi nytt navn ved omstart: "
+# ^Rename
+"Gi nytt navn: "
+# ^Skipped
+"Hoppet over: "
+# ^CopyDetails
+Kopier detaljer til utklippstavlen
+# ^LogInstall
+Loggfør installasjonsprosessen
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/English.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/English.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/English.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+1033
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+-
+# RTL - anything else than RTL means LTR
+-
+# Translation by ..... (any credits should go here)
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) Setup
+# ^UninstallCaption
+$(^Name) Uninstall
+# ^LicenseSubCaption
+: License Agreement
+# ^ComponentsSubCaption
+: Installation Options
+# ^DirSubCaption
+: Installation Folder
+# ^InstallingSubCaption
+: Installing
+# ^CompletedSubCaption
+: Completed
+# ^UnComponentsSubCaption
+: Uninstallation Options
+# ^UnDirSubCaption
+: Uninstallation Folder
+# ^ConfirmSubCaption
+: Confirmation
+# ^UninstallingSubCaption
+: Uninstalling
+# ^UnCompletedSubCaption
+: Completed
+# ^BackBtn
+< &Back
+# ^NextBtn
+&Next >
+# ^AgreeBtn
+I &Agree
+# ^AcceptBtn
+I &accept the terms of the License Agreement
+# ^DontAcceptBtn
+I &do not accept the terms of the License Agreement
+# ^InstallBtn
+&Install
+# ^UninstallBtn
+&Uninstall
+# ^CancelBtn
+Cancel
+# ^CloseBtn
+&Close
+# ^BrowseBtn
+B&rowse...
+# ^ShowDetailsBtn
+Show &details
+# ^ClickNext
+Click Next to continue.
+# ^ClickInstall
+Click Install to start the installation.
+# ^ClickUninstall
+Click Uninstall to start the uninstallation.
+# ^Name
+Name
+# ^Completed
+Completed
+# ^LicenseText
+Please review the license agreement before installing $(^NameDA). If you accept all terms of the agreement, click I Agree.
+# ^LicenseTextCB
+Please review the license agreement before installing $(^NameDA). If you accept all terms of the agreement, click the check box below. $_CLICK
+# ^LicenseTextRB
+Please review the license agreement before installing $(^NameDA). If you accept all terms of the agreement, select the first option below. $_CLICK
+# ^UnLicenseText
+Please review the license agreement before uninstalling $(^NameDA). If you accept all terms of the agreement, click I Agree.
+# ^UnLicenseTextCB
+Please review the license agreement before uninstalling $(^NameDA). If you accept all terms of the agreement, click the check box below. $_CLICK
+# ^UnLicenseTextRB
+Please review the license agreement before uninstalling $(^NameDA). If you accept all terms of the agreement, select the first option below. $_CLICK
+# ^Custom
+Custom
+# ^ComponentsText
+Check the components you want to install and uncheck the components you don't want to install. $_CLICK
+# ^ComponentsSubText1
+Select the type of install:
+# ^ComponentsSubText2_NoInstTypes
+Select components to install:
+# ^ComponentsSubText2
+Or, select the optional components you wish to install:
+# ^UnComponentsText
+Check the components you want to uninstall and uncheck the components you don't want to uninstall. $_CLICK
+# ^UnComponentsSubText1
+Select the type of uninstall:
+# ^UnComponentsSubText2_NoInstTypes
+Select components to uninstall:
+# ^UnComponentsSubText2
+Or, select the optional components you wish to uninstall:
+# ^DirText
+Setup will install $(^NameDA) in the following folder. To install in a different folder, click Browse and select another folder. $_CLICK
+# ^DirSubText
+Destination Folder
+# ^DirBrowseText
+Select the folder to install $(^NameDA) in:
+# ^UnDirText
+Setup will uninstall $(^NameDA) from the following folder. To uninstall from a different folder, click Browse and select another folder. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Select the folder to uninstall $(^NameDA) from:
+# ^SpaceAvailable
+"Space available: "
+# ^SpaceRequired
+"Space required: "
+# ^UninstallingText
+$(^NameDA) will be uninstalled from the following folder. $_CLICK
+# ^UninstallingSubText
+Uninstalling from:
+# ^FileError
+Error opening file for writing: \r\n\r\n$0\r\n\r\nClick Abort to stop the installation,\r\nRetry to try again, or\r\nIgnore to skip this file.
+# ^FileError_NoIgnore
+Error opening file for writing: \r\n\r\n$0\r\n\r\nClick Retry to try again, or\r\nCancel to stop the installation.
+# ^CantWrite
+"Can't write: "
+# ^CopyFailed
+Copy failed
+# ^CopyTo
+"Copy to "
+# ^Registering
+"Registering: "
+# ^Unregistering
+"Unregistering: "
+# ^SymbolNotFound
+"Could not find symbol: "
+# ^CouldNotLoad
+"Could not load: "
+# ^CreateFolder
+"Create folder: "
+# ^CreateShortcut
+"Create shortcut: "
+# ^CreatedUninstaller
+"Created uninstaller: "
+# ^Delete
+"Delete file: "
+# ^DeleteOnReboot
+"Delete on reboot: "
+# ^ErrorCreatingShortcut
+"Error creating shortcut: "
+# ^ErrorCreating
+"Error creating: "
+# ^ErrorDecompressing
+Error decompressing data! Corrupted installer?
+# ^ErrorRegistering
+Error registering DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Execute: "
+# ^Extract
+"Extract: "
+# ^ErrorWriting
+"Extract: error writing to file "
+# ^InvalidOpcode
+Installer corrupted: invalid opcode
+# ^NoOLE
+"No OLE for: "
+# ^OutputFolder
+"Output folder: "
+# ^RemoveFolder
+"Remove folder: "
+# ^RenameOnReboot
+"Rename on reboot: "
+# ^Rename
+"Rename: "
+# ^Skipped
+"Skipped: "
+# ^CopyDetails
+Copy Details To Clipboard
+# ^LogInstall
+Log install process
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Arabic.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Arabic.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Arabic.nsh	(revision 2961)
@@ -0,0 +1,122 @@
+;Language: Arabic (1025)
+;Translation by asdfuae@msn.com
+;updated by Rami Kattan
+
+!insertmacro LANGFILE "Arabic" "Arabic"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "ãÑÍÈÇ Èß Ýí ãÑÔÏ ÅÚÏÇÏ $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "ÓíÓÇÚÏß åÐÇ ÇáãÑÔÏ Ýí ÊäÕíÈ $(^NameDA).$\r$\n$\r$\nãä ÇáãÝÖá ÅÛáÇÞ ÌãíÚ ÇáÈÑÇãÌ ÞÈá ÇáÊäÕíÈ. ÓíÓÇÚÏ åÐÇ Ýí ÊÌÏíÏ ãáÝÇÊ ÇáäÙÇã Ïæä ÇáÍÇÌÉ áÅÚÇÏÉ ÊÔÛíá ÇáÌåÇÒ.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "ãÑÍÈÇ Èß Ýí ãÑÔÏ ÅÒÇáÉ $(^NameDA) "
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "åÐÇ ÇáãÑÔÏ ÓíÏáøß ÃËäÇÁ ÅÒÇáÉ $(^NameDA).$\r$\n$\r$\n ÞÈá ÇáÈÏÁ ÈÇáÅÒÇáÉ¡ íÑÌì ÇáÊÃßÏ ãä Ãä $(^NameDA) ÛíÑ ÔÛøÇá.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "ÅÊÝÇÞíÉþ ÇáÊÑÎíÕ"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "ÇáÑÌÇÁ ãÑÇÌÚÉ ÅÊÝÇÞíÉþ ÇáÊÑÎíÕ ÞÈá ÊäÕíÈ $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "ÚäÏ ÇáãæÇÝÞÉ Úáì ÔÑæØ ÇáÅÊÝÇÞíÉþ¡ ÅÖÛØ ÃæÇÝÞ ááãÊÇÈÚÉ. íÌÈ ÇáãæÇÝÞÉ Úáì ÇáÅÊÝÇÞíÉþ áÊäÕíÈ $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "ÚäÏ ÇáãæÇÝÞÉ Úáì ÔÑæØ ÇáÅÊÝÇÞíÉþ¡ Úáøã ãÑÈÚ ÇáÚáÇãÉ ÇáÊÇáí. íÌÈ ÇáãæÇÝÞÉ Úáì ÇáÅÊÝÇÞíÉþ áÊäÕíÈ $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "ÚäÏ ÇáãæÇÝÞÉ Úáì ÔÑæØ ÇáÅÊÝÇÞíÉ¡ ÅÎÊÑ ÇáÎíÇÑ ÇáÃæá ãä ÇáÊÇáí. íÌÈ ÇáãæÇÝÞÉ Úáì ÇáÅÊÝÇÞíÉ áÊäÕíÈ $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "ÅÊÝÇÞíÉ ÇáÊÑÎíÕ"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "ÇáÑÌÇÁ ãÑÇÌÚÉ ÔÑæØ ÇáÊÑÎíÕ ÞÈá ÅÒÇáÉ $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "ÚäÏ ÇáãæÇÝÞÉ Úáì ÔÑæØ ÇáÅÊÝÇÞíÉ¡ ÅÖÛØ Úáì ãæÇÝÞ. íÌÈ ÇáãæÇÝÞÉ Úáì ÇáÅÊÝÇÞíÉ áÅÒÇáÉ $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "ÚäÏ ÇáãæÇÝÞÉ Úáì ÔÑæØ ÇáÅÊÝÇÞíÉ¡ Úáøã ÇáãÑÈÚ ÇáÚáÇãÉ ÇáÊÇáí. íÌÈ ÇáãæÇÝÞÉ Úáì ÇáÅÊÝÇÞíÉ áÅÒÇáÉ $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "ÚäÏ ÇáãæÇÝÞÉ Úáì ÔÑæØ ÇáÅÊÝÇÞíÉ¡ ÅÎÊÑ ÇáÎíÇÑ ÇáÃæá ãä ÇáÊÇáí. íÌÈ ÇáãæÇÝÞÉ Úáì ÇáÅÊÝÇÞíÉ áÅÒÇáÉ $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "ÅÖÚØ ãÝÊÇÍ ÕÝÍÉ ááÃÓÝá áÑÄíÉ ÈÇÞí ÇáÅÊÝÇÞíÉ"
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "ÅÎÊÑ ÇáãßæäÇÊ"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "ÅÎÊÑ ãíÒÇÊ $(^NameDA) ÇáãÑÇÏ ÊäÕíÈåÇ."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "ÅÎÊÑ ÇáãßæäÇÊ"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "ÅÎÊÑ ãíÒÇÊ $(^NameDA) ÇáãÑÇÏ ÅÒÇáÊåÇ."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "ÇáæÕÝ"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "ÃÔÑ ÈÇáÝÃÑÉ ÝæÞ ÃÍÏ ÇáãßæäÇÊ áÑÄíÉ ÇáæÕÝ"
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "ÃÔÑ ÈÇáÝÃÑÉ ÝæÞ ÃÍÏ ÇáãßæäÇÊ áÑÄíÉ ÇáæÕÝ"
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "ÅÎÊÑ ãæÞÚ ÇáÊäÕíÈ"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "ÅÎÊÑ ÇáãÌáÏ ÇáãÑÇÏ ÊäÕíÈ $(^NameDA) Ýíå."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "ÅÎÊÑ ãæÞÚ ÇáãÒíá"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "ÅÎÊÑ ÇáãÌáÏ ÇáÐí ÓíÒÇá ãäå $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "ÊäÕíÈ"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "ÇáÑÌÇÁ ÇáÅäÊÙÇÑ ÃËäÇÁ ÊäÕíÈ $(^NameDA)."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "ÅäÊåì ÇáÊäÕíÈ"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "ÅäÊåÊ ÚãáíÉ ÇáÊäÕíÈ ÈäÌÇÍ."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "ÅáÛÇÁ ÇáÊäÕíÈ"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "áã íäÊåí ÇáÊäÕíÈ ÈäÌÇÍ."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "ÅÒÇáÉ"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "ÇáÑÌÇÁ ÇáÅäÊÙÇÑ ÃËäÇÁ ÅÒÇáÉ $(^NameDA)."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "ÅäÊåì"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "ÅäÊåÊ ÚãáíÉ ÇáÅÒÇáÉ ÈäÌÇÍ."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "ÅáÛÇÁ ÇáÅÒÇáÉ"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "áã ÊäÊåí ÇáÅÒÇáÉ ÈäÌÇÍ."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "ÅäåÇÁ ãÑÔÏ ÅÚÏÇÏ $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "áÞÏ Êã ÊäÕíÈ $(^NameDA) Úáì ÇáÌåÇÒ$\r$\n$\r$\nÅÖÛØ ÅäåÇÁ áÅÛáÇÞ ãÑÔÏ ÇáÅÚÏÇÏ."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "íÌÈ ÅÚÇÏÉ ÊÔÛíá ÇáÌåÇÒ áÅäåÇÁ ÊäÕíÈ $(^NameDA). åá ÊÑíÏ ÅÚÇÏÉ ÇáÊÔÛíá ÇáÂä¿"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "ÅäåÇÁ ãÑÔÏ ÅÒÇáÉ $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "áÞÏ Êã ÅÒÇáÉ $(^NameDA) ãä ÇáÌåÇÒ.$\r$\n$\r$\n ÅÖÛØ ÅäåÇÁ áÅÛáÇÞ ÇáãÑÔÏ."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "íÌÈ ÅÚÇÏÉ ÊÔÛíá ÇáÌåÇÒ áÅäåÇÁ ÅÒÇáÉ $(^NameDA). åá ÊÑíÏ ÅÚÇÏÉ ÇáÊÔÛíá ÇáÂä¿"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "ÃÚÏ ÇáÊÔÛíá ÇáÂä"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "ÃÑÛÈ Ýí ÅÚÇÏÉ ÊÔÛíá ÇáÌåÇÒ Ýí æÞÊ áÇÍÞ"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&ÔÛá $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "ÇÚÑÖ& ÃÞÑÃäí"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&ÅäåÇÁ"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "ÅÎÊÑ ãÌáÏ ÞÇÆãÉ ÇÈÏÃ"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "ÅÎÊÑ ãÌáÏ ÞÇÆãÉ ÇÈÏÃ áÅÎÊÕÇÑÇÊ $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "ÅÎÊÑ ÇáãÌáÏ Ýí ÞÇÆãÉ ÇÈÏÃ ÇáÐí ÓÊäÔÃ Ýíå ÅÎÊÕÇÑÇÊ ÇáÈÑäÇãÌ. íãßä ÃíÖÇ ßÊÇÈÉ ÅÓã áÅäÔÇÁ ãÌáÏ ÌÏíÏ."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "áÇ ÊäÔÆ ÅÎÊÕÇÑÇÊ"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "ÅÒÇáÉ $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "ÅÒÇáÉ $(^NameDA) ãä ÇáÌåÇÒ."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "åá ÃäÊ ãÊÃßÏ ãä ÅÛáÇÞ ãäÕøÈ $(^Name)¿"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "åá ÃäÊ ãÊÃßÏ ãä Ãäß ÇáÎÑæÌ ãä ãÒíá $(^Name)¿"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Welsh.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Welsh.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Welsh.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Welsh (1106)
+;By Rhoslyn Prys, Meddal.com
+
+!insertmacro LANGFILE "Welsh" "Welsh"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Croeso i Ddewin Gosod $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Bydd y dewin yn eich arwain drwy osodiad $(^NameDA).$\r$\n$\r$\nCaewch pob rhaglen cyn cychwyn y rhaglen osod. Bydd hyn yn ei gwneud yn bosibl i ddiweddaru'r ffeiliau system berthnasol heb fod angen ailgychwyn eich cyfrifiadur.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Croeso i Ddewin Dadosod $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Bydd y dewin yn eich arwain drwy ddadosod $(^NameDA).$\r$\n$\r$\nCyn cychwyn dadosod, gwnewch yn siwr nad yw $(^NameDA) yn rhedeg.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Cytundeb Trwyddedu"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Darllenwch amodau'r drwydded cyn gosod $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Os ydych yn derbyn amodau'r cytundeb, cliciwch Cytuno i barhau. Mae'n rhaid i chi dderbyn amodau'r cytundeb er mwyn gosod $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Os ydych yn derbyn amodau'r cytundeb, cliciwch y blwch ticio isod. Mae'n rhaid i chi dderbyn amodau'r cytundeb er mwyn gosod $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Os ydych yn derbyn amodau'r cytundeb, cliciwch y dewis cyntaf isod. Mae'n rhaid i chi dderbyn amodau'r cytundeb er mwyn gosod $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Cytundeb Trwyddedu"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Darllenwch amodau'r drwydded cyn dadosod $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Os ydych yn derbyn amodau'r cytundeb, cliciwch Cytuno i barhau. Mae'n rhaid i chi dderbyn amodau'r cytundeb er mwyn dadosod  $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Os ydych yn derbyn amodau'r cytundeb, cliciwch y blwch ticio isod. Mae'n rhaid i chi dderbyn amodau'r cytundeb er mwyn dadosod $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Os ydych yn derbyn amodau'r cytundeb, cliciwch y dewis cyntaf isod. Mae'n rhaid i chi dderbyn amodau'r cytundeb er mwyn dadosod $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Pwyswch Page Down i ddarllen gweddill y cytundeb."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Dewis Cydrannau"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Dewis pa nodweddion o $(^NameDA) rydych am eu gosod."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Dewis Cydrannau"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Dewis pa nodweddion o $(^NameDA) i'w dadoso."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Disgrifiad"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Gosod eich llygoden dros gydran i weld ei ddisgrifiad."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Gosod eich llygoden dros gydran i weld ei ddisgrifiad."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Dewis Lleoliad Gosod"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Dewis y ffolder i osod $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Dewis Lleoliad Dadosod"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Dewis y ffolder i ddadosod $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Gosod"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Arhoswch tra fo $(^NameDA) yn cael ei osod."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Cwblhawyd y Gosod"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Mae'r Gosod wedi ei gwblhau'n llwyddiannus."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Ataliwyd y Gosod"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Methwyd â chwblhau'r gosod yn llwyddiannus."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Dadosod"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Arhoswch tra bo $(^NameDA) yn cael ei ddadosod."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Cwblhawyd y Dadosod"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Mae'r Dadosod wedi ei gwblhau'n llwyddiannus."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Ataliwyd y Dadosod"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Methwyd â chwblhau'r dadosod yn llwyddiannus."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Cwblhau Dewin Gosod $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "Mae $(^NameDA) wedi cael ei osod ar eich cyfrifiadur.$\r$\n$\r$\nCliciwch Gorffen i gau'r dewin."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Rhaid ailgychwyn eich cyfrifiadur i gwblhau gosod $(^NameDA). Hoffech chi ailgychwyn?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Cwblhau Dewin Dadosod $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "Mae $(^NameDA) wedi ei ddadosod oddi ar eich cyfrifiadur.$\r$\n$\r$\nCliciwch Gorffen i gau'r dewin."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Rhaid ailgychwyn eich cyfrifiadur i gwblhau gosod $(^NameDA). Hoffech chi ailgychwyn?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Ailgychwyn"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Rwyf am ailgychwyn yn hwyrach"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Rhedeg $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Dangos Darllenfi"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Gorffen"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Dewis Ffolder Dewislen Cychwyn"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Dewis ffolder Dewislen Cychwyn ar gyfer llwybrau byr $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Dewis ffolder Dewislen Cychwyn i greu llwybrau byr y rhaglen. Gallwch roi enw i greu ffolder newydd."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Peidio creu llwybrau byr"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Dadosod $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Tynnu $(^NameDA) oddiar eich cyfrifiadur."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Ydych chi'n si?r eich bod am adael Rhaglen Osod $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Ydych chi'n siwr eich bod am adael Rhaglen Dadosod $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Lithuanian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Lithuanian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Lithuanian.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1063
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1257
+# RTL - anything else than RTL means LTR
+-
+# Translation by Vytautas Krivickas (Vytautas)
+# Updated by Danielius Scepanskis (Daan daniel@takas.lt) 2004.03.24
+# ^Branding
+Nullsoft instaliavimo sistema %s
+# ^SetupCaption
+$(^Name) Ádiegimas
+# ^UninstallCaption
+$(^Name) Ðalinti
+# ^LicenseSubCaption
+: Naudojimo sutartis
+# ^ComponentsSubCaption
+: Ádiegimo nustatymai
+# ^DirSubCaption
+: Ádiegimo katalogas
+# ^InstallingSubCaption
+: Ádiegiama
+# ^CompletedSubCaption
+: Baigta
+# ^UnComponentsSubCaption
+: Iðtrinimo nustatymai
+# ^UnDirSubCaption
+: Iðtrinimo katalogas
+# ^ConfirmSubCaption
+: Patvirtinimas
+# ^UninstallingSubCaption
+: Panaikinama
+# ^UnCompletedSubCaption
+: Baigta
+# ^BackBtn
+< &Atgal
+# ^NextBtn
+&Toliau >
+# ^AgreeBtn
+Að &sutinku
+# ^AcceptBtn
+Að &sutinku su naudojimo sutarties sàlygomis
+# ^DontAcceptBtn
+Að &nesutinku su naudojimo sutarties sàlygomis
+# ^InstallBtn
+&Ádiegti
+# ^UninstallBtn
+&Panaikinti
+# ^CancelBtn
+Nutraukti
+# ^CloseBtn
+&Uþdaryti
+# ^BrowseBtn
+P&asirinkti...
+# ^ShowDetailsBtn
+Parodyti &detales
+# ^ClickNext
+Paspauskite toliau
+# ^ClickInstall
+Paspauskite ádiegti
+# ^ClickUninstall
+Paspauskite iðtrinti
+# ^Name
+Vardas
+# ^Completed
+Baigta
+# ^LicenseText
+Praðome perskaityti sutartá prieð ádiegdami $(^NameDA). Jei jûs sutinkate su nurodytomis sàlygomis, spauskite Sutinku.
+# ^LicenseTextCB
+Praðome perskaityti sutartá prieð ádiegdami $(^NameDA). Jei jûs sutinkate su nurodytomis sàlygomis, padëkite varnelæ tam skirtame laukelyje. $_CLICK
+# ^LicenseTextRB
+Praðome perskaityti sutartá prieð ádiegdami $(^NameDA). Jei jûs sutinkate su nurodytomis sàlygomis, pasirinkite pirmà pasirinkimà esantá þemiau. $_CLICK
+# ^UnLicenseText
+Praðome perskaityti sutartá prieð iðtrinant $(^NameDA). Jei jûs sutinkate su nurodytomis sàlygomis, spauskite Sutinku.
+# ^UnLicenseTextCB
+Praðome perskaityti sutartá prieð iðtrinant $(^NameDA). Jei jûs sutinkate su nurodytomis sàlygomis, padëkite varnelæ tam skirtame laukelyje. $_CLICK
+# ^UnLicenseTextRB
+Praðome perskaityti sutartá prieð iðtrinant $(^NameDA). Jei jûs sutinkate su nurodytomis sàlygomis, pasirinkite pirmà pasirinkimà esantá þemiau.  $_CLICK
+# ^Custom
+Kitoks
+# ^ComponentsText
+Padëkite varneles laukeliuose komponentø kuriuos norite ádiegti ir nuimkite nuo kuriø nenorite ádiegti. $_CLICK
+# ^ComponentsSubText1
+Pasirinkite ádiegimo bûdà:
+# ^ComponentsSubText2_NoInstTypes
+Pasirinkite komponentus, kuriuos ádiegti:
+# ^ComponentsSubText2
+Arba, pasirinkite neprivalomus komponentus, kuriuos jûs norite ádiegti:
+# ^UnComponentsText
+Padëkite varneles laukeliuose komponentø kuriuos norite paðalinti ir nuimkite nuo kuriø nenorite paðalinti. $_CLICK
+# ^UnComponentsSubText1
+Pasirinkite ðalinimo bûdà:
+# ^UnComponentsSubText2_NoInstTypes
+Pasirinkite komponentus, kuriuos ðalinti:
+# ^UnComponentsSubText2
+Arba, pasirinkite neprivalomus komponentus, kuriuos jûs norite paðalinti:
+# ^DirText
+Ádiegimas dabar ádiegs $(^NameDA) ðiame kataloge. Jeigu norite pakeisti ðá katalogà, paspauskite Pasirinkti. $_CLICK
+# ^DirSubText
+Ádiegimo katalogas
+# ^DirBrowseText
+Pasirinkite katalogà, kur ádiegti $(^NameDA):
+# ^UnDirText
+Ádiegimas dabar paðalins $(^NameDA) ið ðio katalogo. Jeigu norite pakeisti ðá katalogà paspauskite Pasirinkti. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Pasirinkite katalogà ið kurio paðalinti $(^NameDA):
+# ^SpaceAvailable
+Yra vietos: 
+# ^SpaceRequired
+Reikia vietos: 
+# ^UninstallingText
+$(^NameDA) dabar bus paðalintas ið ðio katalogo. $_CLICK
+# ^UninstallingSubText
+Trinama ið:
+# ^FileError
+Klaida atidarant failà áraðymui: \r\n\t"$0"\r\nPaspauskite Nutraukti, jei norite nutraukti ádiegimà,\r\nPakartoti, jei norite pabandyti dar kartà áraðyti failà, ar\r\nIgnoruoti, jei norite praleisti ðá failà
+# ^FileError_NoIgnore
+Klaida atidarant failà áraðymui: \r\n\t"$0"\r\nPaspauskite Pakartoti, jei norite pabandyti dar kartà áraðyti failà, ar\r\nNutraukti, jei norite nutraukti ádiegimà.
+# ^CantWrite
+"Negalima áraðyti: "
+# ^CopyFailed
+Kopijavimas nepavyko
+# ^CopyTo
+Kopijuoti á 
+# ^Registering
+"Uþregistruojama: "
+# ^Unregistering
+"Iðregistruojama: "
+# ^SymbolNotFound
+Nerastas simbolis: 
+# ^CouldNotLoad
+Negaliu ákrauti: 
+# ^CreateFolder
+Sukurti katalogà: 
+# ^CreateShortcut
+Sukurti nuorodà: 
+# ^CreatedUninstaller
+Sukurti panaikinimo programà:
+# ^Delete
+Iðtrinti failà: 
+# ^DeleteOnReboot
+"Iðtrinti perkraunant: "
+# ^ErrorCreatingShortcut
+"Klaida kuriant nuorodà: "
+# ^ErrorCreating
+"Klaida kuriant: "
+# ^ErrorDecompressing
+Klaida iðskleidþiant duomenis! Sugadintas ádiegimo failas?
+# ^ErrorRegistering
+Klaida uþregistruojant DLL
+# ^ExecShell
+"VykdytiShell: "
+# ^Exec
+"Vykdyti: "
+# ^Extract
+"Iðskleisti: "
+# ^ErrorWriting
+Iðskleisti: klaida áraðant á failà
+# ^InvalidOpcode
+Ádiegimo failas sugadintas: neteisingas opkodas
+# ^NoOLE
+"Nëra OLE dël: "
+# ^OutputFolder
+"Paskirties katalogas: "
+# ^RemoveFolder
+"Panaikinti katalogà: "
+# ^RenameOnReboot
+"Pervardinti perkraunant: "
+# ^Rename
+"Pervardinti: "
+# ^Skipped
+"Praleista: "
+# ^CopyDetails
+Kopijuoti detales á atmintá
+# ^LogInstall
+Áraðyti ádiegimo detales
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Russian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Russian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Russian.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Russian (1049)
+;Translation updated by Dmitry Yerokhin [erodim@mail.ru] (050424)
+
+!insertmacro LANGFILE "Russian" "Russian"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Âàñ ïðèâåòñòâóåò ìàñòåð óñòàíîâêè $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Ýòà ïðîãðàììà óñòàíîâèò $(^NameDA) íà âàø êîìïüþòåð.$\r$\n$\r$\nÏåðåä íà÷àëîì óñòàíîâêè ðåêîìåíäóåòñÿ çàêðûòü âñå ðàáîòàþùèå ïðèëîæåíèÿ. Ýòî ïîçâîëèò ïðîãðàììå óñòàíîâêè îáíîâèòü ñèñòåìíûå ôàéëû áåç ïåðåçàãðóçêè êîìïüþòåðà.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Âàñ ïðèâåòñòâóåò ìàñòåð óäàëåíèÿ $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Ýòà ïðîãðàììà óäàëèò $(^NameDA) èç âàøåãî êîìïüþòåðà.$\r$\n$\r$\nÏåðåä íà÷àëîì óäàëåíèÿ óáåäèòåñü, ÷òî ïðîãðàììà $(^NameDA) íå çàïóùåíà.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Ëèöåíçèîííîå ñîãëàøåíèå"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Ïåðåä óñòàíîâêîé $(^NameDA) îçíàêîìüòåñü ñ ëèöåíçèîííûì ñîãëàøåíèåì."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Åñëè âû ïðèíèìàåòå óñëîâèÿ ñîãëàøåíèÿ, íàæìèòå êíîïêó $\"Ïðèíèìàþ$\". ×òîáû óñòàíîâèòü ïðîãðàììó, íåîáõîäèìî ïðèíÿòü ñîãëàøåíèå."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Åñëè âû ïðèíèìàåòå óñëîâèÿ ñîãëàøåíèÿ, óñòàíîâèòå ôëàæîê íèæå. ×òîáû óñòàíîâèòü ïðîãðàììó, íåîáõîäèìî ïðèíÿòü ñîãëàøåíèå. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Åñëè âû ïðèíèìàåòå óñëîâèÿ ñîãëàøåíèÿ, âûáåðèòå ïåðâûé âàðèàíò èç ïðåäëîæåííûõ íèæå. ×òîáû óñòàíîâèòü ïðîãðàììó, íåîáõîäèìî ïðèíÿòü ñîãëàøåíèå. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Ëèöåíçèîííîå ñîãëàøåíèå"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Ïåðåä óäàëåíèåì $(^NameDA) îçíàêîìüòåñü ñ ëèöåíçèîííûì ñîãëàøåíèåì."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Åñëè âû ïðèíèìàåòå óñëîâèÿ ñîãëàøåíèÿ, íàæìèòå êíîïêó $\"Ïðèíèìàþ$\". Äëÿ óäàëåíèÿ íåîáõîäèìî ïðèíÿòü ñîãëàøåíèå. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Åñëè âû ïðèíèìàåòå óñëîâèÿ ñîãëàøåíèÿ, óñòàíîâèòå ôëàæîê íèæå. Äëÿ óäàëåíèÿ íåîáõîäèìî ïðèíÿòü ñîãëàøåíèå. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Åñëè âû ïðèíèìàåòå óñëîâèÿ ñîãëàøåíèÿ, âûáåðèòå ïåðâûé âàðèàíò èç ïðåäëîæåííûõ íèæå. Äëÿ óäàëåíèÿ íåîáõîäèìî ïðèíÿòü ñîãëàøåíèå. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Äëÿ ïåðåìåùåíèÿ ïî òåêñòó èñïîëüçóéòå êëàâèøè $\"PageUp$\" è $\"PageDown$\"."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Êîìïîíåíòû óñòàíàâëèâàåìîé ïðîãðàììû"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Âûáåðèòå êîìïîíåíòû $(^NameDA), êîòîðûå âû õîòèòå óñòàíîâèòü."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Êîìïîíåíòû ïðîãðàììû"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Âûáåðèòå êîìïîíåíòû $(^NameDA), êîòîðûå âû õîòèòå óäàëèòü."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Îïèñàíèå"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Íàâåäèòå êóðñîð ìûøè íà íàçâàíèå êîìïîíåíòà, ÷òîáû ïðî÷åñòü åãî îïèñàíèå."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Íàâåäèòå êóðñîð ìûøè íà íàçâàíèå êîìïîíåíòà, ÷òîáû ïðî÷åñòü åãî îïèñàíèå."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Âûáîð ïàïêè óñòàíîâêè"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Âûáåðèòå ïàïêó äëÿ óñòàíîâêè $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Âûáîð ïàïêè äëÿ óäàëåíèÿ"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Óêàæèòå ïàïêó, èç êîòîðîé íóæíî óäàëèòü $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Êîïèðîâàíèå ôàéëîâ"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Ïîäîæäèòå, èäåò êîïèðîâàíèå ôàéëîâ $(^NameDA)..."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Óñòàíîâêà çàâåðøåíà"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Óñòàíîâêà óñïåøíî çàâåðøåíà."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Óñòàíîâêà ïðåðâàíà"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Óñòàíîâêà íå çàâåðøåíà."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Óäàëåíèå"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Ïîäîæäèòå, èäåò óäàëåíèå ôàéëîâ $(^NameDA)..."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Óäàëåíèå çàâåðøåíî"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Óäàëåíèå ïðîãðàììû óñïåøíî çàâåðøåíî."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Óäàëåíèå ïðåðâàíî"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Óäàëåíèå ïðîèçâåäåíî íå ïîëíîñòüþ."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Çàâåðøåíèå ðàáîòû ìàñòåðà óñòàíîâêè $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "Óñòàíîâêà $(^NameDA) âûïîëíåíà.$\r$\n$\r$\nÍàæìèòå êíîïêó $\"Ãîòîâî$\" äëÿ âûõîäà èç ïðîãðàììû óñòàíîâêè."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Äëÿ çàâåðøåíèÿ óñòàíîâêè $(^NameDA) íåîáõîäèìî ïåðåçàãðóçèòü êîìïüþòåð. Õîòèòå ñäåëàòü ýòî ñåé÷àñ?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Çàâåðøåíèå ðàáîòû ìàñòåðà óäàëåíèÿ $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "Ïðîãðàììà $(^NameDA) óäàëåíà èç âàøåãî êîìïüþòåðà.$\r$\n$\r$\nÍàæìèòå êíîïêó $\"Ãîòîâî$\"äëÿ âûõîäà èç ïðîãðàììû óäàëåíèÿ."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Äëÿ çàâåðøåíèÿ óäàëåíèÿ $(^NameDA) íóæíî ïåðåçàãðóçèòü êîìïüþòåð. Õîòèòå ñäåëàòü ýòî ñåé÷àñ?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Äà, ïåðåçàãðóçèòü ÏÊ ñåé÷àñ"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Íåò, ÿ ïåðåçàãðóæó ÏÊ ïîçæå"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Çàïóñòèòü $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Ïîêàçàòü ôàéë ReadMe"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Ãîòîâî"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Ïàïêà â ìåíþ $\"Ïóñê$\""
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Âûáåðèòå ïàïêó â ìåíþ $\"Ïóñê$\" äëÿ ðàçìåùåíèÿ ÿðëûêîâ ïðîãðàììû."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Âûáåðèòå ïàïêó â ìåíþ $\"Ïóñê$\", êóäà áóäóò ïîìåùåíû ÿðëûêè ïðîãðàììû. Âû òàêæå ìîæåòå ââåñòè äðóãîå èìÿ ïàïêè."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Íå ñîçäàâàòü ÿðëûêè"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Óäàëåíèå $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Óäàëåíèå $(^NameDA) èç êîìïüþòåðà."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Âû äåéñòâèòåëüíî õîòèòå îòìåíèòü óñòàíîâêó $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Âû äåéñòâèòåëüíî õîòèòå îòìåíèòü óäàëåíèå $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Thai.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Thai.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Thai.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Thai (1054)
+;By SoKoOLz, TuW@nNu (asdfuae)
+
+!insertmacro LANGFILE "Thai" "Thai"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "ÂÔ¹´ÕµéÍ¹ÃÑºà¢éÒÊÙè¡ÒÃµÔ´µÑé§â»Ãá¡ÃÁ $(^NameDA) "
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "µÑÇµÔ´µÑé§ÍÑµÔâ¹ÁÑµÔ¨Ð¹Ó¤Ø³ä»ÊÙè¡ÒÃµÔ´µÑé§¢Í§ $(^NameDA).$\r$\n$\r$\nàÃÒ¢Íá¹Ð¹ÓãËé»Ô´â»Ãá¡ÃÁÍ×è¹æãËéËÁ´¡èÍ¹·Õè¨ÐàÃÔèÁµÔ´µÑé§, ¹Õè¨Ðà»ç¹¡ÒÃÍÑ»à´·ä¿Åìä´é§èÒÂ¢Öé¹â´Â¤Ø³äÁè¨Óà»ç¹µéÍ§·Ó¡ÒÃÃÕºÙ·¤ÍÁ¾ÔÇàµÍÃì¢Í§¤Ø³$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "ÂÔ¹´ÕµéÍ¹ÃÑºÊÙè¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§ÍÑµÔâ¹ÁÑµÔ¢Í§ $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "µÑÇµÔ´µÑé§ÍÑµÔâ¹ÁÑµÔ¹Õé¨Ð¹Ó¤Ø³ä»ÊÙè¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§¢Í§ $(^NameDA).$\r$\n$\r$\n¡ÒÃ¨ÐàÃÔèÁ¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§¹Õé, â»Ã´µÃÇ¨ÊÍºÇèÒ $(^NameDA) äÁèä´éãªéÍÂÙè$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "¢éÍµ¡Å§àÃ×èÍ§ÅÔ¢ÊÔ·¸Ôì"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "â»Ã´ÍèÒ¹·Ç¹ÅÔ¢ÊÔ·¸Ôìã¹ËÑÇ¢éÍµèÒ§æÍÕ¡¤ÃÑé§¡èÍ¹·Õè¤Ø³¨Ð·Ó¡ÒÃµÔ´µÑé§ $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "¶éÒ¤Ø³ÂÍÁÃÑº¢éÍµ¡Å§àÃ×èÍ§ÅÔ¢ÊÔ·¸Ôì, ¡´ ©Ñ¹ÂÍÁÃÑº à¾×èÍ·ÓµèÍä», ¤Ø³µéÍ§ÂÍÁÃÑºã¹¢éÍµ¡Å§ÅÔ¢ÊÔ·¸Ôìà¾×èÍ·Õè¨Ð·Ó¡ÒÃµÔ´µÑé§ $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "¶éÒ¤Ø³ÂÍÁÃÑº¢éÍµ¡Å§àÃ×èÍ§ÅÔ¢ÊÔ·¸, ¡´àÅ×Í¡ã¹¡ÅèÍ§¢éÒ§ÅèÒ§¹Õé  ¤Ø³µéÍ§ÂÍÁÃÑºã¹¢éÍµ¡Å§ÅÔ¢ÊÔ·¸Ôìà¾×èÍ·Õè¨Ð·Ó¡ÒÃµÔ´µÑé§ $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "¶éÒ¤Ø³ÂÍÁÃÑº¢éÍµ¡Å§àÃ×èÍ§ÅÔ¢ÊÔ·¸,  àÅ×Í¡µÑÇàÅ×Í¡áÃ¡´éÒ¹ÅèÒ§¹Õé ¤Ø³µéÍ§ÂÍÁÃÑºã¹¢éÍµ¡Å§ÅÔ¢ÊÔ·¸Ôìà¾×èÍ·Õè¨Ð·Ó¡ÒÃµÔ´µÑé§ $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "¢éÍµ¡Å§àÃ×èÍ§ÅÔ¢ÊÔ·¸Ôì"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "¡ÃØ³ÒÍèÒ¹¢éÍµ¡Å§´éÒ¹ÅÔ¢ÊÔ·¸Ôì¡èÍ¹µÔ´µÑé§â»Ãá¡ÃÁ $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "¶éÒ¤Ø³ÂÍÁÃÑºã¹¢éÍµ¡Å§¹Õé ¡ÃØ³Ò¡´»ØèÁ ©Ñ¹ÂÍÁÃÑº áÅÐ¤Ø³¨ÐµéÍ§µ¡Å§¡èÍ¹·Õè¨ÐàÃÔèÁ¡ÒÃÂ¡àÅÔ¡µÔ´µÑé§â»Ãá¡ÃÁ $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "¶éÒ¤Ø³ÂÍÁÃÑº¢éÍµ¡Å§àÃ×èÍ§ÅÔ¢ÊÔ·¸Ôì, ¡´àÅ×Í¡ã¹¡ÅèÍ§¢éÒ§ÅèÒ§¹Õé ¤Ø³µéÍ§ÂÍÁÃÑºã¹¢éÍµ¡Å§ÅÔ¢ÊÔ·¸Ôìà¾×èÍ·Õè¨Ð·Ó¡ÒÃµÔ´µÑé§ $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "¶éÒ¤Ø³ÂÍÁÃÑº¢éÍµ¡Å§àÃ×èÍ§ÅÔ¢ÊÔ·¸Ôì, àÅ×Í¡µÑÇàÅ×Í¡áÃ¡´éÒ¹ÅèÒ§¹Õé ¤Ø³µéÍ§ÂÍÁÃÑºã¹¢éÍµ¡Å§ÅÔ¢ÊÔ·¸Ôìà¾×èÍ·Õè¨Ð·Ó¡ÒÃµÔ´µÑé§ $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "¡´ Page Down à¾×èÍÍèÒ¹¢éÍµ¡Å§·Ñé§ËÁ´"
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "àÅ×Í¡ÊèÇ¹»ÃÐ¡Íº"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "àÅ×Í¡ÊÔè§·Õè¤Ø³µéÍ§¡ÒÃãªé§Ò¹¨Ò¡ $(^NameDA) ·Õè¤Ø³µéÍ§¡ÒÃµÔ´µÑé§"
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "àÅ×Í¡ÊèÇ¹»ÃÐ¡Íº"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "àÅ×Í¡ÊÔè§·Õè¤Ø³µéÍ§¡ÒÃãªé§Ò¹¨Ò¡ $(^NameDA) ·Õè¤Ø³µéÍ§Â¡àÅÔ¡¡ÒÃµÔ´µÑé§"
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "ÃÒÂÅÐàÍÕÂ´"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "¢ÂÑºàÁÒÊì¢Í§¤Ø³àË¹×ÍÊèÇ¹»ÃÐ¡Íºà¾×èÍ´ÙÃÒÂÅÐàÍÕÂ´"
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "¢ÂÑºàÁÒÊì¢Í§¤Ø³àË¹×ÍÊèÇ¹»ÃÐ¡Íºà¾×èÍ´ÙÃÒÂÅÐàÍÕÂ´"
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "àÅ×Í¡·Õè·ÕèµéÍ§¡ÒÃµÔ´µÑé§"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "àÅ×Í¡á¼éÁ·ÕèµéÍ§¡ÒÃµÔ´µÑé§ $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "àÅ×Í¡á¿éÁ·ÕèµéÍ§¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "àÅ×Í¡á¿éÁ·Õè¤Ø³µéÍ§¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§¢Í§ $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "¡ÓÅÑ§µÔ´µÑé§"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "â»Ã´ÃÍã¹¢³Ð·Õè $(^NameDA) ¡ÓÅÑ§¶Ù¡µÔ´µÑé§"
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "¡ÒÃµÔ´µÑé§àÊÃç¨ÊÔé¹"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "¡ÒÃµÔ´µÑé§àÊÃç¨ÊÁºÙÃ³ì"
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "¡ÒÃµÔ´µÑé§¶Ù¡Â¡àÅÔ¡"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "¡ÒÃµÔ´µÑé§äÁèàÊÃç¨ÊÁºÙÃ³ì"
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "¡ÓÅÑ§Â¡àÅÔ¡¡ÒÃµÔ´µÑé§"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "â»Ã´ÃÍã¹¢³Ð·Õè $(^NameDA) ¡ÓÅÑ§¶Ù¡Â¡àÅÔ¡¡ÒÃµÔ´µÑé§."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§àÊÃç¨ÊÔé¹"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§àÊÃç¨ÊÔé¹â´ÂÊÁºÙÃ³ì"
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§¶Ù¡Â¡àÅÔ¡"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§äÁèÊÓàÃç¨"
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "¡ÒÃµÔ´µÑé§ÍÑµÔâ¹ÁÑµÔ¢Í§  $(^NameDA) ¡ÓÅÑ§àÊÃç¨ÊÔé¹"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) ä´é¶Ù¡µÔ´µÑé§Å§ã¹à¤Ã×èÍ§¤ÍÁ¾ÔÇàµÍÃì¢Í§¤Ø³áÅéÇ$\r$\n$\r$\n¡´ àÊÃç¨ÊÔé¹à¾×èÍ»Ô´µÑÇµÔ´µÑé§ÍÑµÔâ¹ÁÑµÔ"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "à¤Ã×èÍ§¤ÍÁ¾ÔÇàµÍÃì¢Í§¤Ø³¨Óà»ç¹µéÍ§ÃÕÊµÒÃ·ìà¾×èÍ¡ÒÃµÔ´µÑé§¢Í§ $(^NameDA) ¨ÐàÃÕÂºÃéÍÂ, ¤Ø³µéÍ§¡ÒÃ¨Ð ÃÕºÙ· à´ÕëÂÇ¹ÕéäËÁ?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§ÍÑµÔâ¹ÁÑµÔ¢Í§ $(^NameDA) ¡ÓÅÑ§àÊÃç¨ÊÁºÙÃ³ì"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) ä´é¶Ù¡Â¡àÅÔ¡ÍÍ¡¨Ò¡à¤Ã×èÍ§¤ÍÁ¾ÔÇàµÍÃì¢Í§¤Ø³áÅéÇ $\r$\n$\r$\n¡´ àÊÃç¨ÊÔé¹ à¾×èÍ»Ô´Ë¹éÒ¨ÍµÔ´µÑé§ÍÑµÔâ¹ÁÑµÔ"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "à¤Ã×èÍ§¤ÍÁ¾ÔÇàµÍÃì¢Í§¤Ø³¨Óà»ç¹µéÍ§ÃÕÊµÒÃì·ã¹¡ÒÃ·Õè¨Ð·Ó¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§¢Í§ $(^NameDA) àÊÃç¨ÊÔé¹, ¤Ø³µéÍ§¡ÒÃ¨ÐÃÕºÙ·à´ÕëÂÇ¹ÕéäËÁ?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "ÃÕºÙ· à´ÕëÂÇ¹Õé"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "©Ñ¹µéÍ§¡ÒÃ ÃÕºÙ·´éÇÂµ¹àÍ§ ·ÕËÅÑ§"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&ÃÑ¹ $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&áÊ´§ÃÒÂÅÐàÍÕÂ´"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&àÊÃç¨ÊÔé¹"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "àÅ×Í¡á¿éÁ Start Menu"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "àÅ×Í¡á¿éÁ Start Menu à¾×èÍÊÃéÒ§ªÍÃìµ¤Ñ·¢Í§ $(^NameDA). "
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "àÅ×Í¡á¼éÁ Start Menu ·Õè¤Ø³µéÍ§¡ÒÃ¨ÐÊÃéÒ§ªÍÃìµ¤Ñ·¢Í§â»Ãá¡ÃÁ, ¤Ø³ÂÑ§ÊÒÁÒÃ¶¡ÓË¹´ª×èÍà¾×èÍÊÃéÒ§á¿éÁãËÁèä´éÍÕ¡´éÇÂ"
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "äÁèµéÍ§ÊÃéÒ§ ªÍÃìµ¤Ñ·"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Â¡àÅÔ¡¡ÒÃµÔ´µÑé§ $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Â¡àÅÔ¡¡ÒÃµÔ´µÑé§ $(^NameDA) ¨Ò¡à¤Ã×èÍ§¤ÍÁ¾ÔÇàµÍÃì¢Í§¤Ø³"
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "¤Ø³á¹èã¨ËÃ×ÍÇèÒ¤Ø³µéÍ§¡ÒÃ¨ÐÍÍ¡¨Ò¡¡ÒÃµÔ´µÑé§¢Í§ $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "¤Ø³á¹èã¨ËÃ×ÍÇèÒ¤Ø³µéÍ§¡ÒÃÍÍ¡¨Ò¡¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§¢Í§ $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/PortugueseBR.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/PortugueseBR.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/PortugueseBR.nsh	(revision 2961)
@@ -0,0 +1,129 @@
+;Language: Brazilian Portuguese (1046)
+;By Felipe
+
+!insertmacro LANGFILE "PortugueseBR" "Português Brasileiro"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Bem-vindo ao Assistente de Instalação do $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Este assistente guiará você através da instalação do $(^NameDA).$\r$\n$\r$\nÉ recomendado que você feche todos os outros aplicativos antes de iniciar o Instalador. Isto tornará possível atualizar os arquivos de sistema relevantes sem ter que reiniciar seu computador.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Bem-vindo ao Assistente de Desinstalação do $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Este assistente guiará você através da desinstalação do $(^NameDA).$\r$\n$\r$\nAntes de iniciar a desinstalação, tenha certeza de que o $(^NameDA) não está em execução.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Acordo da licença"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Por favor, reveja os termos da licença antes de instalar o $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Se você aceita os termos do acordo, clique em Eu Concordo para continuar. Você deve aceitar o acordo para instalar o $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Se você aceita os termos do acordo, clique na caixa de seleção abaixo. Você deve aceitar o acordo para instalar o $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Se você aceita os termos do acordo, selecione a primeira opção abaixo. Você deve aceitar o acordo para instalar o $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Acordo da licença"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Por favor, reveja os termos da licença antes de desinstalar o $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Se você aceita os termos do acordo, clique em Eu Concordo para continuar. Você deve aceitar o acordo para desinstalar o $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Se você aceita os termos do acordo, clique na caixa de seleção abaixo. Você deve aceitar o acordo para desinstalar o $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Se você aceita os termos do acordo, selecione a primeira opção abaixo. Você deve aceitar o acordo para desinstalar o $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Pressione Page Down para ver o resto do acordo."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Escolher Componentes"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Escolha quais funções do $(^NameDA) você quer instalar."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Escolher Componentes"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Escolha quais funções do $(^NameDA) você quer desinstalar."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Descrição"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Posicione seu mouse sobre um componente para ver sua descrição."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Posicione seu mouse sobre um componente para ver sua descrição."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Escolher o Local da Instalação"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Escolha a pasta na qual instalar o $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Escolher o Local da Desinstalação"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Escolha a pasta da qual desinstalar o $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Instalando"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Por favor espere enquanto o $(^NameDA) está sendo instalado."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Instalação Completa"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "O Instalador completou com sucesso."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Instalação Abortada"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "O Instalador não completou com sucesso."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Desinstalando"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Por favor espere enquanto o $(^NameDA) está sendo desinstalado."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Desinstalação Completa"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "A desinstalação foi completada com sucesso."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Desinstalação Abortada"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "A desinstalação não foi completada com sucesso."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Completando o Assistente de Instalação do $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "O $(^NameDA) foi instalado no seu computador.$\r$\n$\r$\nClique em Terminar para fechar este assistente."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Seu computador deve ser reiniciado para completar a instalação do $(^NameDA). Você quer reiniciar agora?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Completando o Assistente de Desinstalação do $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) foi desinstalado do seu computador.$\r$\n$\r$\nClique em Terminar para fechar este assistente."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Seu computador tem que ser reiniciado para completar a desinstalação do $(^NameDA). Você quer reiniciar agora?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Reiniciar agora"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Eu quero reiniciar manualmente depois"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Executar $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Mostrar o Readme"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Terminar"
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Escolher a Pasta do Menu Iniciar"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Escolher uma pasta do Menu Iniciar para os atalhos do $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Selecione a pasta do Menu Iniciar na qual você gostaria de criar os atalhos do programa. Você pode também inserir um nome para criar uma nova pasta."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Não criar atalhos"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Desinstalar o $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Remover o $(^NameDA) do seu computador."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Você tem certeza de que quer sair do Instalador do $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Você tem certeza de que quer sair da Desinstalação do $(^Name)?"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Escolher Usuários"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Escolher para quais usuários você quer instalar o $(^NameDA)."
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Selecione se você quer instalar o $(^NameDA) para si mesmo ou para todos os usuários deste computador. $(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Instalar para qualquer um usando este computador"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Instalar apenas para mim"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Croatian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Croatian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Croatian.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1050
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1250
+# RTL - anything else than RTL means LTR
+-
+# Translation by Igor Ostriz
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) Instalacija
+# ^UninstallCaption
+$(^Name) Uklanjanje
+# ^LicenseSubCaption
+: Licenenèni uvjeti
+# ^ComponentsSubCaption
+: Instalacijske opcije
+# ^DirSubCaption
+: Instalacijska mapa
+# ^InstallingSubCaption
+: Instaliranje
+# ^CompletedSubCaption
+: Završeno
+# ^UnComponentsSubCaption
+: Opcije uklanjanja
+# ^UnDirSubCaption
+: Mapa uklanjanja
+# ^ConfirmSubCaption
+: Potvrda
+# ^UninstallingSubCaption
+: Uklanjanje
+# ^UnCompletedSubCaption
+: Završeno
+# ^BackBtn
+< &Nazad
+# ^NextBtn
+&Dalje >
+# ^AgreeBtn
+&Prihvaæam
+# ^AcceptBtn
+&Prihvaæam uvjete licenènog ugovora
+# ^DontAcceptBtn
+&Ne prihvaæam uvjete licenènog ugovora
+# ^InstallBtn
+&Instaliraj
+# ^UninstallBtn
+&Ukloni
+# ^CancelBtn
+Odustani
+# ^CloseBtn
+&Zatvori
+# ^BrowseBtn
+&Pregledaj...
+# ^ShowDetailsBtn
+Prikaži &detalje
+# ^ClickNext
+Za nastavak odaberite 'Dalje'.
+# ^ClickInstall
+Za poèetak instalacije odaberite 'Instaliraj'.
+# ^ClickUninstall
+Za poèetak uklanjanja odaberite 'Ukloni'.
+# ^Name
+Ime
+# ^Completed
+Završeno
+# ^LicenseText
+Molim proèitajte licencu prije instalacije programa $(^NameDA). Ukoliko prihvaæate sve uvjete ugovora, odaberite 'Prihvaæam'.
+# ^LicenseTextCB
+Molim proèitajte licencu prije instalacije programa $(^NameDA). Ukoliko prihvaæate sve uvjete ugovora, oznaèite donji kvadratiæ. $_CLICK
+# ^LicenseTextRB
+Molim proèitajte licencu prije instalacije programa $(^NameDA). Ukoliko prihvaæate sve uvjete ugovora, odaberite prvu donju opciju. $_CLICK
+# ^UnLicenseText
+Molim proèitajte licencu prije uklanjanja programa $(^NameDA). Ukoliko prihvaæate sve uvjete ugovora, odaberite 'Prihvaæam'.
+# ^UnLicenseTextCB
+Molim proèitajte licencu prije uklanjanja programa $(^NameDA). Ukoliko prihvaæate sve uvjete ugovora, oznaèite donji kvadratiæ. $_CLICK
+# ^UnLicenseTextRB
+Molim proèitajte licencu prije uklanjanja programa $(^NameDA). Ukoliko prihvaæate sve uvjete ugovora, odaberite prvu donju opciju. $_CLICK
+# ^Custom
+Posebna
+# ^ComponentsText
+Oznaèite komponente koje želite instalirati i uklonite oznaku s onih koje ne želite instalirati. $_CLICK
+# ^ComponentsSubText1
+Izaberite tip instalacije:
+# ^ComponentsSubText2_NoInstTypes
+Odaberite komponente za instalaciju:
+# ^ComponentsSubText2
+Ili po izboru oznaèite komponente koje želite instalirati:
+# ^UnComponentsText
+Oznaèite komponente koje želite ukloniti i uklonite oznaku s onih koje ne želite ukloniti. $_CLICK
+# ^UnComponentsSubText1
+Izaberite tip uklanjanja:
+# ^UnComponentsSubText2_NoInstTypes
+Odaberite komponente za uklanjanje:
+# ^UnComponentsSubText2
+Ili po izboru oznaèite komponente koje želite ukloniti:
+# ^DirText
+Program $(^NameDA) æe biti instaliran u slijedeæu mapu. Za instalaciju na drugo odredište odaberite 'Pregledaj' i oznaèite drugu mapu. $_CLICK
+# ^DirSubText
+Odredišna mapa
+# ^DirBrowseText
+Odaberite mapu u koju želite instalirati program $(^NameDA):
+# ^UnDirText
+Program $(^NameDA) æe biti uklonjen iz slijedeæe mape. Za uklanjanje s drugog mjesta odaberite 'Pregledaj' i oznaèite drugu mapu. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Mapa iz koje æe program $(^NameDA) biti uklonjen:
+# ^SpaceAvailable
+"Slobodno prostora na disku: "
+# ^SpaceRequired
+"Potrebno prostora na disku: "
+# ^UninstallingText
+Program $(^NameDA) æe biti uklonjen iz slijedeæe mape. $_CLICK
+# ^UninstallingSubText
+Uklanjam iz:
+# ^FileError
+Greška prilikom otvaranja datoteke za zapisivanje: \r\n\t"$0"\r\n\"Abort\" za prekid instalacije,\r\n\"Retry\" za ponovni pokušaj zapisivanja, ili\r\n\"Ignore\" za zanemarenje te datoteke
+# ^FileError_NoIgnore
+Greška prilikom otvaranja datoteke za zapisivanje: \r\n\t"$0"\r\n\"Retry\" za ponovni pokušaj zapisivanja, ili\r\n\"Cancel\" za prekid instalacije
+# ^CantWrite
+"Ne mogu zapisati: "
+# ^CopyFailed
+Greška prilikom kopiranja
+# ^CopyTo
+"Kopiraj u "
+# ^Registering
+"Prijava: "
+# ^Unregistering
+"Odjava: "
+# ^SymbolNotFound
+"Ne mogu naæi simbol: "
+# ^CouldNotLoad
+"Ne mogu uèitati: "
+# ^CreateFolder
+"Stvori mapu: "
+# ^CreateShortcut
+"Stvori preèac: "
+# ^CreatedUninstaller
+"Program za uklanjanje: "
+# ^Delete
+"Obriši datoteku: "
+# ^DeleteOnReboot
+"Obriši prilikom ponovnog pokretanja: "
+# ^ErrorCreatingShortcut
+"Greška prilikom stvaranja preèaca: "
+# ^ErrorCreating
+"Greška prilikom stvaranja: "
+# ^ErrorDecompressing
+Greška dekompresije podataka! Ošteæena instalacijska datoteka?
+# ^ErrorRegistering
+Greška prilikom prijavljivanja DLLa
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Izvrši: "
+# ^Extract
+"Otpakiraj: "
+# ^ErrorWriting
+"Otpakiranje: greška zapisivanja u datoteku "
+# ^InvalidOpcode
+Ošteæena instalacijska datoteka: neispravni opkod
+# ^NoOLE
+"Nema OLE za: "
+# ^OutputFolder
+"Izlazna mapa: "
+# ^RemoveFolder
+"Obriši mapu: "
+# ^RenameOnReboot
+"Preimenuj prilikom ponovnog pokretanja: "
+# ^Rename
+"Preimenuj: "
+# ^Skipped
+"Preskoèeno: "
+# ^CopyDetails
+Kopiraj detalje u Clipboard
+# ^LogInstall
+Logiraj instalacijski proces
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Breton.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Breton.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Breton.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Breton (1150)
+;By KAD-Korvigelloù An Drouizig
+
+!insertmacro LANGFILE "Breton" "Brezhoneg"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Degemer mat e skoazeller staliañ $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Sturiet e viot gant ar skoazeller-mañ evit staliañ $(^NameDA).$\r$\n$\r$\nGwelloc'h eo serriñ pep arload oberiant er reizhiad a-raok mont pelloc'h gant ar skoazeller-mañ. Evel-se e c'heller nevesaat ar restroù reizhiad hep rankout adloc'hañ hoc'h urzhiataer.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Degemer mat er skoazeller distaliañ $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Sturiet e viot gant ar skoazeller-mañ a-benn distaliañ $(^NameDA).$\r$\n$\r$\nEn em asurit n'eo ket lañset $(^NameDA) a-raok mont pelloc'h gant an distaliañ.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Lañvaz emglev"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Bezit aketus en ur lenn pep term eus al lañvaz a-raok staliañ $(^NameDA), mar plij."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Mar degemerit pep term eus al lañvaz, klikit war « War-lerc'h ». Ret eo deoc'h degemer al lañvaz evit staliañ $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Mar degemerit pep term eus al lañvaz, klikit war al log a-zindan. Ret eo deoc'h degemer al lañvaz a-benn staliañ $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Mar degemerit pep term eus al lañvaz, diuzit an dibab kentañ a-zindan. Ret eo deoc'h degemer al lañvaz a-benn staliañ $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Lañvaz emglev"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Trugarez da lenn al lañvaz a-raok distaliañ $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Mar degemerit pep term eus al lañvaz, klikit war « A-du emaon » evit kenderc'hel. Ret eo deoc'h degemer al lañvaz evit distaliañ $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Mar degemerit pep term eus al lañvaz, klikit war al log a-zindan. Ret eo deoc'h degemer al lañvaz evit distaliañ $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Mar degemerit pep term eus al lañvaz, dizuit an dibab kentañ a-zindan. Ret eo deoc'h degemer al lañvaz evit distaliañ $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Pouezit war « Pajenn a-raok » evit lenn ar pajennoù eus al lañvaz da-heul."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Dibab elfennoù"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Dibabit pe elfenn(où) $(^NameDA) a fell deoc'h staliañ."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Dibabit elfennoù"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Dibabit pe elfenn(où) $(^NameDA) a fell deoc'h distaliañ."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Deskrivadenn"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Lakait ho logodenn a-zioc'h an elfenn evit gwelout he deskrivadenn."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Lakait ho logodenn a-zioc'h an elfenn evit gwelout he deskrivadenn."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Dibabit al lec'hiadur staliañ"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Dibabit ar c'havlec'h ma vo lakaet $(^NameDA) ennañ."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Dibabit al lec'hiadur distaliañ"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Dibabit ar c'havlec'h e vo dilamet $(^NameDA) dioutañ."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "O staliañ"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Gortozit mar plij, emañ $(^NameDA) o vezañ staliet."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Echu eo gant ar staliañ"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Kaset eo bet da benn mat ar staliañ."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Staliañ paouezet"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "N'eo ket bet kaset da benn mat ar staliañ."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "O tistaliañ"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Gortozit mar plij, emañ $(^NameDA) o vezañ distaliet."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Echu eo gant an distaliañ"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Gant berzh eo bet kaset da benn an distaliañ."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Distaliañ paouezet"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "N'eo ket bet kaset da benn mat an distaliañ."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Oc'h echuiñ staliañ $(^NameDA) gant ar skoazeller"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "Staliet eo bet $(^NameDA) war hoc'h urzhiataer.$\r$\n$\r$\nKlikit war « Echuiñ » evit serriñ ar skoazeller-mañ."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Ret eo hoc'h urzhiataer bezañ adloc'het evit ma vez kaset da benn staliañ $(^NameDA). Ha fellout a ra deoc'h adloc'hañ diouzhtu ?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Oc'h echuiñ distaliañ $(^NameDA) gant ar skoazeller"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "Distaliet eo bet $(^NameDA) diouzh hoc'h urzhiataer.$\r$\n$\r$\nKlikit war « Echuiñ » evit serriñ ar skoazeller-mañ."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Ret eo hoc'h urzhiataer bezañ adloc'het evit ma vez kaset da benn distaliañ $(^NameDA). Ha fellout a ra deoc'h adloc'hañ diouzhtu ?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Adloc'hañ diouzhtu"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Fellout a ra din adloc'hañ diwezatoc'h dre zorn"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Lañsañ $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Diskouez ar restr Malennit"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Echuiñ"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Diskouez kavlec'h al Lañser loc'hañ"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Dibabit ur c'havlec'h Lañser loc'hañ evit berradennoù $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Diuzit ar c'havlec'h Lañser loc'hañ e vo savet ennañ berradennoù ar goulevioù. Gallout a rit ingal reiñ un anv evit sevel ur c'havlec'h nevez."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Chom hep sevel berradennoù"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Distaliañ $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Dilemel $(^NameDA) adalek hoc'h urzhiataer."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Ha sur oc'h e fell deoc'h kuitaat staliañ $(^Name) ?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Ha sur oc'h e fell deoc'h kuitaat distaliañ $(^Name) ?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Farsi.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Farsi.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Farsi.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+1065
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1256
+# RTL - anything else than RTL means LTR
+RTL
+# Translation By FzerorubigD - FzerorubigD@gmail.com - Thanx to all people help me in forum.persiantools.com, Elnaz Sarbar <elnaz@farsiweb.info>
+# ^Branding
+ÓíÓÊã äÕÈ äÇá�ÓÇÝÊ %s
+# ^SetupCaption
+äÕÈ $(^Name) 
+# ^UninstallCaption
+ÍÐÝ $(^Name) 
+# ^LicenseSubCaption
+: ãÌæÒ äÕÈ
+# ^ComponentsSubCaption
+: �Òíäå�åÇì äÕÈ
+# ^DirSubCaption
+: �æÔå äÕÈ
+# ^InstallingSubCaption
+: ÏÑ ÍÇá äÕÈ
+# ^CompletedSubCaption
+: �ÇíÇä íÇÝÊ
+# ^UnComponentsSubCaption
+: �Òíäå�åÇì ÍÐÝ
+# ^UnDirSubCaption
+: �æÔå ÍÐÝ
+# ^ConfirmSubCaption
+: ÊÃííÏ
+# ^UninstallingSubCaption
+: ÏÑ ÍÇá ÍÐÝ
+# ^UnCompletedSubCaption
+: �ÇíÇä íÇÝÊ
+# ^BackBtn
+&ÞÈá 
+# ^NextBtn
+&ÈÚÏ
+# ^AgreeBtn
+&ãæÇÝÞã
+# ^AcceptBtn
+ãä åãå ÈäÏåÇì ãÌæÒ ÑÇ ÞÈæá &ÏÇÑã
+# ^DontAcceptBtn
+ãä ÈäÏåÇì ãÌæÒ ÑÇ ÞÈæá &äÏÇÑã
+# ^InstallBtn
+&äÕÈ
+# ^UninstallBtn
+&ÍÐÝ
+# ^CancelBtn
+ÇäÕÑÇÝ
+# ^CloseBtn
+&ÈÓÊä
+# ^BrowseBtn
+&ãÑæÑ...
+# ^ShowDetailsBtn
+äãÇíÔ ÌÒÆíÇÊ
+# ^ClickNext
+ÈÑÇì ÇÏÇãå Ñæì Ï˜ãå  ÈÚÏ ˜áí˜ ˜äíÏ.
+# ^ClickInstall
+ÈÑÇì ÔÑæÚ äÕÈ Ñæì Ï˜ãå äÕÈ ˜áí˜ ˜äíÏ.
+# ^ClickUninstall
+ÈÑÇì ÔÑæÚ ÍÐÝ Ñæì Ï˜ãå ÍÐÝ ˜áí˜ ˜äíÏ.
+# ^Name
+äÇã
+# ^Completed
+�ÇíÇä íÇÝÊ
+# ^LicenseText
+áØÝÇð ÞÈá ÇÒ äÕÈ $(^NameDA) ãÊä ãÌæÒ ÑÇ ÈÎæÇäíÏ. Ç�Ñ åãå ÈäÏåÇì Âä ÑÇ ÞÈæá ÏÇÑíÏ Ñæì Ï˜ãå ãæÇÝÞã ˜áí˜ ˜äíÏ.
+# ^LicenseTextCB
+áØÝÇð ÞÈá ÇÒ äÕÈ $(^NameDA) ãÊä ãÌæÒ ÑÇ ÈÎæÇäíÏ. Ç�Ñ åãå ÈäÏåÇì Âä ÑÇ ÞÈæá ÏÇÑíÏ Ñæì ÌÚÈå äÔÇäå�Òäì ÒíÑ ˜áí˜ ˜äíÏ. $_CLICK
+# ^LicenseTextRB
+áØÝÇð ÞÈá ÇÒ äÕÈ $(^NameDA) ãÊä ãÌæÒ ÑÇ ÈÎæÇäíÏ. Ç�Ñ åãå ÈäÏåÇì Âä ÑÇ ÞÈæá ÏÇÑíÏ �Òíäå Çæá ÑÇ ÇäÊÎÇÈ ˜äíÏ. $_CLICK
+# ^UnLicenseText
+áØÝÇð ÞÈá ÇÒ ÍÐÝ $(^NameDA) ãÊä ãÌæÒ ÑÇ ÈÎæÇäíÏ. Ç�Ñ åãå ÈäÏåÇì Âä ÑÇ ÞÈæá ÏÇÑíÏ Ñæì Ï˜ãå ãæÇÝÞã ˜áí˜ ˜äíÏ.
+# ^UnLicenseTextCB
+áØÝÇð ÞÈá ÇÒ ÍÐÝ $(^NameDA) ãÊä ãÌæÒ ÑÇ ÈÎæÇäíÏ. Ç�Ñ åãå ÈäÏåÇì Âä ÑÇ ÞÈæá ÏÇÑíÏ Ñæì ÌÚÈå äÔÇäå�Òäì ÒíÑ ˜áí˜ ˜äíÏ. $_CLICK
+# ^UnLicenseTextRB
+áØÝÇð ÞÈá ÇÒ ÍÐÝ $(^NameDA) ãÊä ãÌæÒ ÑÇ ÈÎæÇäíÏ. Ç�Ñ åãå ÈäÏåÇì Âä ÑÇ ÞÈæá ÏÇÑíÏ �Òíäå Çæá ÑÇ ÇäÊÎÇÈ ˜äíÏ. $_CLICK
+# ^Custom
+ÓÝÇÑÔì
+# ^ComponentsText
+˜äÇÑ ÈÎÔ�åÇíì ˜å ãì�ÎæÇåíÏ äÕÈ ÔæäÏ äÔÇäå ÈÒäíÏ æ äÔÇäå ÈÎÔ�åÇíì ÑÇ ˜å äãì�ÎæÇåíÏ äÕÈ ÔæäÏ ÈÑÏÇÑíÏ. $_CLICK
+# ^ComponentsSubText1
+äæÚ äÕÈ ÑÇ ãÔÎÕ ˜äíÏ: 
+# ^ComponentsSubText2_NoInstTypes
+ÈÎÔ�åÇíì ÑÇ ˜å ãì�ÎæÇåíÏ äÕÈ ÔæäÏ ÇäÊÎÇÈ ˜äíÏ:
+# ^ComponentsSubText2
+íÇ¡ ÈÎÔ�åÇì ÇÎÊíÇÑì ÑÇ ˜å ãì�ÎæÇåíÏ äÕÈ ÔæäÏ ÇäÊÎÇÈ ˜äíÏ: 
+# ^UnComponentsText
+˜äÇÑ ÈÎÔ�åÇíì ˜å ãì�ÎæÇåíÏ ÍÐÝ ÔæäÏ äÔÇäå ÈÒäíÏ æ äÔÇäå ÈÎÔ�åÇíì ÑÇ ˜å äãì�ÎæÇåíÏ ÍÐÝ ÔæäÏ ÈÑÏÇÑíÏ. $_CLICK
+# ^UnComponentsSubText1
+äæÚ ÍÐÝ ÑÇ ÇäÊÎÇÈ ˜äíÏ: 
+# ^UnComponentsSubText2_NoInstTypes
+ÈÎÔ�åÇíì ÑÇ ˜å ãì�ÎæÇåíÏ ÍÐÝ ÔæäÏ ÇäÊÎÇÈ ˜äíÏ:
+# ^UnComponentsSubText2
+íÇ¡ ÈÎÔ�åÇì ÇÎÊíÇÑì ÑÇ ˜å ãì�ÎæÇåíÏ ÍÐÝ ÔæäÏ ÇäÊÎÇÈ ˜äíÏ: 
+# ^DirText
+ÈÑäÇãå äÕÈ¡ $(^NameDA) ÑÇ ÏÑ �æÔå ÒíÑ äÕÈ ÎæÇåÏ ˜ÑÏ. ÈÑÇì äÕÈ ÏÑ �æÔå Ïí�Ñ Ñæì Ï˜ãå ãÑæÑ ˜áí˜ ˜äíÏ æ �æÔå Ïí�Ñì ÇäÊÎÇÈ ˜äíÏ. $_CLICK
+# ^DirSubText
+�æÔå ãÞÕÏ
+# ^DirBrowseText
+ÇäÊÎÇÈ �æÔå ÈÑÇì äÕÈ $(^NameDA):
+# ^UnDirText
+ÈÑäÇãå äÕÈ¡ $(^NameDA) ÑÇ ÇÒ �æÔå ÒíÑ ÍÐÝ ÎæÇåÏ ˜ÑÏ. ÈÑÇì äÕÈ ÏÑ �æÔå Ïí�Ñ Ñæì Ï˜ãå ãÑæÑ ˜áí˜ ˜äíÏ æ �æÔå Ïí�Ñì ÇäÊÎÇÈ ˜äíÏ. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+ÇäÊÎÇÈ �æÔå ÈÑÇì ÍÐÝ $(^NameDA):
+# ^SpaceAvailable
+"ÝÖÇì ãæÌæÏ: "
+# ^SpaceRequired
+"ÝÖÇì ãæÑÏ äíÇÒ: "
+# ^UninstallingText
+þ(^NameDA) ÇÒ �æÔå ÒíÑ ÍÐÝ ÎæÇåÏ ÔÏ. $_CLICK
+# ^UninstallingSubText
+ÍÐÝ ÇÒ: 
+# ^FileError
+ÎØÇ åä�Çã ÈÇÒ ˜ÑÏä �ÑæäÏå ÈÑÇì äæÔÊä: \r\n\r\n$0\r\n\n ÈÑÇì ÊæÞÝ äÕÈ Ñæì Abort \r\n ÈÑÇì ÊáÇÔ ãÌÏÏ Ñæì Retry \r\n æ ÈÑÇì ÕÑÝ�äÙÑ ÇÒ Çíä �ÑæäÏå Ñæì Ignore ˜áí˜ ˜äíÏ.
+# ^FileError_NoIgnore
+ÎØÇ åä�Çã ÈÇÒ ˜ÑÏä �ÑæäÏå ÈÑÇì äæÔÊä: \r\n\r\n$0\r\n\nÈÑÇì ÊáÇÔ ãÌÏÏ Ñæì Retry\r\næ ÈÑÇì ÇäÕÑÇÝ Ñæì Cancel ˜áí˜ ˜äíÏ.
+# ^CantWrite
+"äæÔÊä ãã˜ä äíÓÊ: "
+# ^CopyFailed
+äÓÎå�ÈÑÏÇÑì äÇãæÝÞ ÈæÏ.
+# ^CopyTo
+"äÓÎå�ÈÑÏÇÑì ÏÑ: "
+# ^Registering
+"ÏÑ ÍÇá ËÈÊ: "
+# ^Unregistering
+"ÏÑ ÍÇá ÍÐÝ ËÈÊ: "
+# ^SymbolNotFound
+"ÚáÇãÊ �íÏÇ äÔÏ: "
+# ^CouldNotLoad
+"ÈÇÑ�ÐÇÑì ãã˜ä äíÓÊ: "
+# ^CreateFolder
+"ÇíÌÇÏ �æÔå: "
+# ^CreateShortcut
+"ÇíÌÇÏ ãíÇä�ÈõÑ: "
+# ^CreatedUninstaller
+"ÍÐÝ�˜ääÏå ÇíÌÇÏ ÔÏ: "
+# ^Delete
+"ÍÐÝ �ÑæäÏå: "
+# ^DeleteOnReboot
+"ÍÐÝ åä�Çã ÑÇå ÇäÏÇÒì ãÌÏÏ: "
+# ^ErrorCreatingShortcut
+"ÎØÇ åä�Çã ÇíÌÇÏ ãíÇä�ÈõÑ: "
+# ^ErrorCreating
+"ÎØÇ åä�Çã ÇíÌÇÏ: "
+# ^ErrorDecompressing
+ÎØÇ åä�Çã ÈÇÒ ˜ÑÏä ÇØáÇÚÇÊ! äÕÈ�˜ääÏå ÎÑÇÈ ÇÓÊ¿
+# ^ErrorRegistering
+ÎØÇ åä�Çã ËÈÊ DLL
+# ^ExecShell
+"�æÓÊå ÇÌÑÇíì: "
+# ^Exec
+"ÇÌÑÇ: "
+# ^Extract
+"ÇÓÊÎÑÇÌ: "
+# ^ErrorWriting
+"ÇÓÊÎÑÇÌ: ÎØÇ åä�Çã äæÔÊä ÏÑ �ÑæäÏå"
+# ^InvalidOpcode
+äÕÈ�˜ääÏå ÎÑÇÈ ÇÓÊ: ˜Ï ÚãáíÇÊì äÇãÚÊÈÑ.
+# ^NoOLE
+"þOLE æÌæÏ äÏÇÑÏ: "
+# ^OutputFolder
+"�æÔå ÎÑæÌì: "
+# ^RemoveFolder
+"ÍÐÝ �æÔå: "
+# ^RenameOnReboot
+"ÊÛííÑ äÇã åä�Çã ÑÇå ÇäÏÇÒì ãÌÏÏ: "
+# ^Rename
+"ÊÛííÑ äÇã: "
+# ^Skipped
+"�Ôã �æÔì ÔÏ: "
+# ^CopyDetails
+äÓÎå�ÈÑÏÇÑì ÌÒÆíÇÊ ÏÑ ˜áí��ÈÑÏ
+# ^LogInstall
+ËÈÊ ÑæäÏ äÕÈ
+# ^Byte
+ ÈÇíÊ
+# ^Kilo
+ ˜íáæ
+# ^Mega
+ ã�Ç
+# ^Giga
+ �í�Ç
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/French.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/French.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/French.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1036
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by the French NSIS team <veekee@winampfr.com> - http://www.winampfr.com/nsis.
+# Updated to v6 by Jerome Charaoui (lavamind@inetflex.com)
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+Installation de $(^Name)
+# ^UninstallCaption
+Désinstallation de $(^Name)
+# ^LicenseSubCaption
+: Licence
+# ^ComponentsSubCaption
+: Options d'installation
+# ^DirSubCaption
+: Dossier d'installation
+# ^InstallingSubCaption
+: Installation des fichiers
+# ^CompletedSubCaption
+: Terminé
+# ^UnComponentsSubCaption
+: Options de désinstallation
+# ^UnDirSubCaption
+: Dossier de désinstallation
+# ^ConfirmSubCaption
+: Confirmation
+# ^UninstallingSubCaption
+: Désinstallation des fichiers
+# ^UnCompletedSubCaption
+: Terminé
+# ^BackBtn
+< &Précédent
+# ^NextBtn
+&Suivant >
+# ^AgreeBtn
+J'a&ccepte
+# ^AcceptBtn
+J'a&ccepte les termes de la licence
+# ^DontAcceptBtn
+Je &n'accepte pas les termes de la licence
+# ^InstallBtn
+&Installer
+# ^UninstallBtn
+&Désinstaller
+# ^CancelBtn
+Annuler
+# ^CloseBtn
+&Fermer
+# ^BrowseBtn
+P&arcourir...
+# ^ShowDetailsBtn
+P&lus d'infos
+# ^ClickNext
+Cliquez sur Suivant pour continuer.
+# ^ClickInstall
+Cliquez sur Installer pour démarrer l'installation.
+# ^ClickUninstall
+Cliquez sur Désinstaller pour démarrer la désinstallation.
+# ^Name
+Nom
+# ^Completed
+Terminé
+# ^LicenseText
+Veuillez examiner le contrat de licence avant d'installer $(^NameDA). Si vous acceptez tous les termes du contrat, cliquez sur J'accepte.
+# ^LicenseTextCB
+Veuillez examiner le contrat de licence avant d'installer $(^NameDA). Si vous acceptez tous les termes du contrat, cochez la boîte de contrôle ci-dessous. $_CLICK
+# ^LicesnseTextRB
+Veuillez examiner le contrat de licence avant d'installer $(^NameDA). Si vous acceptez tous les termes du contrat, sélectionnez la première option ci-dessous. $_CLICK
+# ^UnLicenseText
+Veuillez examiner le contrat de licence avant de désinstaller $(^NameDA). Si vous acceptez tous les termes du contrat, cliquez sur J'accepte.
+# ^UnLicenseTextCB
+Veuillez examiner le contrat de licence avant de désinstaller $(^NameDA). Si vous acceptez tous les termes du contrat, cochez la boîte de contrôle ci-dessous. $_CLICK
+# ^UnLicesnseTextRB
+Veuillez examiner le contrat de licence avant de désinstaller $(^NameDA). Si vous acceptez tous les termes du contrat, sélectionnez la première option ci-dessous. $_CLICK
+# ^Custom
+Personnalisée
+# ^ComponentsText
+Cochez les composants que vous désirez installer et décochez ceux que vous ne désirez pas installer. $_CLICK
+# ^ComponentsSubText1
+Type d'installation :
+# ^ComponentsSubText2_NoInstTypes
+Sélectionnez les composants à installer :
+# ^ComponentsSubText2
+Ou, sélectionnez les composants optionnels que vous voulez installer :
+# ^UnComponentsText
+Cochez les composants que vous désirez désinstaller et décochez ceux que vous ne désirez pas désinstaller. $_CLICK
+# ^UnComponentsSubText1
+Sélectionnez le type de désinstallation :
+# ^UnComponentsSubText2_NoInstTypes
+Sélectionnez les composants à désinstaller :
+# ^UnComponentsSubText2
+Ou, sélectionnez les composants optionnels que vous voulez désinstaller :
+# ^DirText
+Ceci installera $(^NameDA) dans le dossier suivant. Pour installer dans un autre dossier, cliquez sur Parcourir et choisissez un autre dossier. $_CLICK
+# ^DirSubText
+Dossier d'installation
+# ^DirBrowseText
+Sélectionnez le dossier d'installation pour $(^NameDA) :
+# ^UnDirText
+Ceci désinstallera $(^NameDA) du dossier suivant. Pour désinstaller d'un autre dossier, cliquez sur Parcourir et choisissez un autre dossier. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Sélectionnez le dossier de désinstallation pour $(^NameDA) :
+# ^SpaceAvailable
+"Espace disponible : "
+# ^SpaceRequired
+"Espace requis : "
+# ^UninstallingText
+Ce programme désinstallera $(^NameDA) de votre ordinateur. $_CLICK
+# ^UninstallingSubText
+Désinstallation à partir de :
+# ^FileError
+Erreur lors de l'ouverture du fichier en écriture : \r\n\t"$0"\r\nAppuyez sur Abandonner pour annuler l'installation,\r\nRéessayer pour réessayer l'écriture du fichier, ou\r\nIgnorer pour passer ce fichier
+# ^FileError_NoIgnore
+Erreur lors de l'ouverture du fichier en écriture : \r\n\t"$0"\r\nAppuyez sur Réessayez pour re-écrire le fichier, ou\r\nAnnuler pour abandonner l'installation
+# ^CantWrite
+"Impossible d'écrire : "
+# ^CopyFailed
+Échec de la copie
+# ^CopyTo
+"Copier vers "
+# ^Registering
+"Enregistrement : "
+# ^Unregistering
+"Suppression de l'enregistrement : "
+# ^SymbolNotFound
+"Impossible de trouver un symbole : "
+# ^CouldNotLoad
+"Impossible de charger : "
+# ^CreateFolder
+"Création du dossier : "
+# ^CreateShortcut
+"Création du raccourci : "
+# ^CreatedUninstaller
+"Création de la désinstallation : "
+# ^Delete
+"Suppression : "
+# ^DeleteOnReboot
+"Suppression au redémarrage : "
+# ^ErrorCreatingShortcut
+"Erreur lors de la création du raccourci : "
+# ^ErrorCreating
+"Erreur de la création : "
+# ^ErrorDecompressing
+Erreur lors de la décompression des données ! Installation corrompue ?
+# ^ErrorRegistering
+Erreur lors de l'enregistrement de la DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Exécution : "
+# ^Extract
+"Extraction : "
+# ^ErrorWriting
+"Extraction : erreur d'écriture du fichier "
+# ^InvalidOpcode
+Installation corrompue : opcode incorrect
+# ^NoOLE
+"Pas de OLE pour : "
+# ^OutputFolder
+"Destination : "
+# ^RemoveFolder
+"Suppression du dossier : "
+# ^RenameOnReboot
+"Renommer au redémarrage : "
+# ^Rename
+"Renommer : "
+# ^Skipped
+"Passé : "
+# ^CopyDetails
+Copier les Détails dans le Presse-papier
+# ^LogInstall
+Enregistrer le déroulement de l'installation
+# ^Byte
+o
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Czech.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Czech.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Czech.nsh	(revision 2961)
@@ -0,0 +1,122 @@
+;Language: Czech (1029)
+;By SELiCE (ls@selice.cz - http://ls.selice.cz)
+;Corrected by Ondøej Vaniš - http://www.vanis.cz/ondra
+
+!insertmacro LANGFILE "Czech" "Cesky"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Vítejte v prùvodci instalace programu $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Tento prùvodce Vás provede instalací $(^NameDA).$\r$\n$\r$\nPøed zaèátkem instalace je doporuèeno zavøít všechny ostatní aplikace. Toto umožní aktualizovat dùležité systémové soubory bez restartování Vašeho poèítaèe.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Vítejte v $(^NameDA) odinstalaèním prùvodci"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Tento prùvodce Vás provede odinstalací $(^NameDA).$\r$\n$\r$\nPøed zaèátkem odinstalace, se pøesvìdète, že $(^NameDA) není spuštìn.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Licenèní ujednání"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Pøed instalací programu $(^NameDA) si prosím prostudujte licenèní podmínky."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Jestliže souhlasíte se všemi podmínkami ujednání, zvolte 'Souhlasím' pro pokraèování. Pro instalaci programu $(^NameDA) je nutné souhlasit s licenèním ujednáním."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Jestliže souhlasíte se všemi podmínkami ujednání, zaškrtnìte níže uvedenou volbu. Pro instalaci programu $(^NameDA) je nutné souhlasit s licenèním ujednáním. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Jestliže souhlasíte se všemi podmínkami ujednání, zvolte první z možností uvedených níže. Pro instalaci programu $(^NameDA) je nutné souhlasit s licenèním ujednáním. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Licenèní ujednání"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Pøed odinstalováním programu $(^NameDA) si prosím prostudujte licenèní podmínky."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Jestliže souhlasíte se všemi podmínkami ujednání, zvolte 'Souhlasím' pro pokraèování. Pro odinstalování programu $(^NameDA) je nutné souhlasit s licenèním ujednáním."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Jestliže souhlasíte se všemi podmínkami ujednání, zaškrtnìte níže uvedenou volbu. Pro odinstalování programu $(^NameDA) je nutné souhlasit s licenèním ujednáním. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Jestliže souhlasíte se všemi podmínkami ujednání, zvolte první z níže uvedených možností. Pro odinstalování programu $(^NameDA) je nutné souhlasit s licenèním ujednáním. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Stisknutím klávesy Page Down posunete text licenèního ujednání."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Volba souèástí"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Zvolte souèásti programu $(^NameDA), které chcete nainstalovat."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Volba souèástí"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Zvolte souèásti programu $(^NameDA), které chcete odinstalovat."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Popis"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Pøi pohybu myší nad instalátorem programu se zobrazí její popis."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Pøi pohybu myší nad instalátorem programu se zobrazí její popis."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Zvolte umístìní instalace"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Zvolte složku, do které bude program $(^NameDA) nainstalován."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Zvolte umístìní odinstalace"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Zvolte složku, ze které bude program $(^NameDA) odinstalován."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Instalace"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Vyèkejte, prosím, na dokonèení instalace programu $(^NameDA)."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Instalace dokonèena"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Instalace probìhla v poøádku."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Instalace pøerušena"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Instalace nebyla dokonèena."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Odinstalace"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Vyèkejte, prosím, na dokonèení odinstalace programu $(^NameDA)."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Odinstalace dokonèena"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Odinstalace probìhla v poøádku."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Odinstalace pøerušena"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Odinstalace nebyla dokonèena."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Dokonèení prùvodce programu $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "Program $(^NameDA) byl nainstalován na Váš poèítaè.$\r$\n$\r$\nKliknìte 'Dokonèit' pro ukonèení prùvodce."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Pro dokonèení instalace programu $(^NameDA) je nutno restartovat poèítaè. Chcete restatovat nyní?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Dokonèuji odinstalaèního prùvodce $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) byl odinstalován z Vašeho poèítaèe.$\r$\n$\r$\nKliknìte na 'Dokonèit' pro ukonèení tohoto prùvodce."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Pro dokonèení odinstalace $(^NameDA) musí být Váš poèítaè restartován. Chcete restartovat nyní?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Restartovat nyní"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Restartovat ruènì pozdìji"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Spustit program $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Zobrazit Èti-mne"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Dokonèit"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Zvolte složku v Nabídce Start"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Zvolte složku v Nabídce Start pro zástupce programu $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Zvolte složku v Nabídce Start, ve které chcete vytvoøit zástupce programu. Mùžete také zadat nové jméno pro vytvoøení nové složky."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Nevytváøet zástupce"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Odinstalovat program $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Odebrat program $(^NameDA) z Vašeho poèítaèe."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Opravdu chcete ukonèit instalaci programu $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Skuteènì chcete ukonèit odinstalaci $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Spanish.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Spanish.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Spanish.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit ;Español - España (Alfabetización Tradicional)
+NLF v6
+# Language ID
+1034
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by MoNKi & Joel
+# Review and minor corrections Darwin Rodrigo Toledo Cáceres (niwrad777@gmail.com) www.winamp-es.com
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+Instalación de $(^Name)
+# ^UninstallCaption
+Desinstalación de $(^Name)
+# ^LicenseSubCaption
+: Acuerdo de Licencia
+# ^ComponentsSubCaption
+: Opciones de Instalación
+# ^DirSubCaption
+: Directorio de Instalación
+# ^InstallingSubCaption
+: Instalando
+# ^CompletedSubCaption
+: Completado
+# ^UnComponentsSubCaption
+: Opciones de Desinstalación
+# ^UnDirSubCaption
+: Directorio de Desinstalación
+# ^ConfirmSubCaption
+: Confirmación
+# ^UninstallingSubCaption
+: Desinstalando
+# ^UnCompletedSubCaption
+: Completado
+# ^BackBtn
+< &Atrás
+# ^NextBtn
+&Siguiente >
+# ^AgreeBtn
+A&cepto
+# ^AcceptBtn
+A&cepto los términos de la licencia
+# ^DontAcceptBtn
+&No acepto los términos de la licencia
+# ^InstallBtn
+&Instalar
+# ^UninstallBtn
+&Desinstalar
+# ^CancelBtn
+Cancelar
+# ^CloseBtn
+&Cerrar
+# ^BrowseBtn
+&Examinar...
+# ^ShowDetailsBtn
+Ver &detalles
+# ^ClickNext
+Presione Siguiente para continuar.
+# ^ClickInstall
+Presione Instalar para comenzar la instalación.
+# ^ClickUninstall
+Presione Desinstalar para comenzar la desinstalación.
+# ^Name
+Nombre
+# ^Completed
+Completado
+# ^LicenseText
+Por favor, revise el acuerdo de licencia antes de instalar $(^NameDA). Si acepta todos los términos del acuerdo, presione Acepto.
+# ^LicenseTextCB
+Por favor, revise el acuerdo de licencia antes de instalar $(^NameDA). Si acepta todos los términos del acuerdo, marque abajo la casilla. $_CLICK
+# ^LicenseTextRB
+Por favor, revise el acuerdo de licencia antes de instalar $(^NameDA). Si acepta todos los términos del acuerdo, seleccione abajo la primera opción. $_CLICK
+# ^UnLicenseText
+Por favor, revise el acuerdo de licencia antes de desinstalar $(^NameDA). Si acepta todos los términos del acuerdo, presione Acepto.
+# ^UnLicenseTextCB
+Por favor, revise el acuerdo de licencia antes de desinstalar $(^NameDA). Si acepta todos los términos del acuerdo, marque abajo la casilla. $_CLICK.
+# ^UnLicenseTextRB
+Por favor, revise el acuerdo de licencia antes de desinstalar $(^NameDA). Si acepta todos los términos del acuerdo, seleccione abajo la primera opción. $_CLICK
+# ^Custom
+Personalizada
+# ^ComponentsText
+Marque los componentes que desee instalar y desmarque los componentes que no desee instalar. $_CLICK
+# ^ComponentsSubText1
+Tipos de instalación:
+# ^ComponentsSubText2_NoInstTypes
+Seleccione los componentes a instalar:
+# ^ComponentsSubText2
+O seleccione los componentes opcionales que desee instalar:
+# ^UnComponentsText
+Marque los componentes que desee desinstalar y desmarque los componentes que no desee desinstalar. $_CLICK
+# ^UnComponentsSubText1
+Tipos de desinstalación:
+# ^UnComponentsSubText2_NoInstTypes
+Seleccione los componentes a desinstalar:
+# ^UnComponentsSubText2
+O seleccione los componentes opcionales que desee desinstalar:
+# ^DirText
+El programa de instalación instalará $(^NameDA) en el siguiente directorio. Para instalar en un directorio diferente, presione Examinar y seleccione otro directorio. $_CLICK
+# ^DirSubText
+Directorio de Destino
+# ^DirBrowseText
+Seleccione el directorio en el que instalará $(^NameDA):
+# ^UnDirText
+El programa de instalación desinstalará $(^NameDA) del siguiente directorio. Para desinstalar de un directorio diferente, presione Examinar y seleccione otro directorio. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Seleccione el directorio desde el cual desinstalará $(^NameDA):
+# ^SpaceAvailable
+Espacio disponible: 
+# ^SpaceRequired
+Espacio requerido: 
+# ^UninstallingText
+$(^NameDA) será desinstalado del siguiente directorio. $_CLICK
+# ^UninstallingSubText
+Desinstalando desde:
+# ^FileError
+Error abriendo archivo para escritura: \r\n\t"$0"\r\nPresione abortar para anular la instalación,\r\nreintentar para volver a intentar escribir el archivo, u\r\nomitir para ignorar este archivo
+# ^FileError_NoIgnore
+Error abriendo archivo para escritura: \r\n\t"$0"\r\nPresione reintentar para volver a intentar escribir el archivo, o\r\ncancelar para anular la instalación
+# ^CantWrite
+"No pudo escribirse: "
+# ^CopyFailed
+Falló la copia
+# ^CopyTo
+"Copiar a "
+# ^Registering
+"Registrando: "
+# ^Unregistering
+"Eliminando registro: "
+# ^SymbolNotFound
+"No pudo encontrarse símbolo: "
+# ^CouldNotLoad
+"No pudo cargarse: "
+# ^CreateFolder
+"Crear directorio: "
+# ^CreateShortcut
+"Crear acceso directo: "
+# ^CreatedUninstaller
+"Crear desinstalador: "
+# ^Delete
+"Borrar archivo: "
+# ^DeleteOnReboot
+"Borrar al reinicio: "
+# ^ErrorCreatingShortcut
+"Error creando acceso directo: "
+# ^ErrorCreating
+"Error creando: "
+# ^ErrorDecompressing
+¡Error descomprimiendo datos! ¿Instalador corrupto?
+# ^ErrorRegistering
+Error registrando DLL
+# ^ExecShell
+"Ejecutar comando: "
+# ^Exec
+"Ejecutar: "
+# ^Extract
+"Extraer: "
+# ^ErrorWriting
+"Extraer: error escribiendo al archivo "
+# ^InvalidOpcode
+Instalador corrupto: código de operación no válido
+# ^NoOLE
+"Sin OLE para: "
+# ^OutputFolder
+"Directorio de salida: "
+# ^RemoveFolder
+"Eliminar directorio: "
+# ^RenameOnReboot
+"Renombrar al reinicio: "
+# ^Rename
+"Renombrar: "
+# ^Skipped
+"Omitido: "
+# ^CopyDetails
+Copiar Detalles al Portapapeles
+# ^LogInstall
+Registrar proceso de instalación 
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Luxembourgish.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Luxembourgish.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Luxembourgish.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Luxembourgish (1031)
+;By Snowloard, changes by Philo
+
+!insertmacro LANGFILE "Luxembourgish" "Lëtzebuergesch"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Wëllkomm beim Installatiouns-$\r$\nAssistent vun $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Dësen Assistent wärt dech duech d'Installatioun vun $(^NameDA) begleeden.$\r$\n$\r$\nEt gëtt ugeroden alleguer d'Programmer di am Moment lafen zouzemaan, datt bestëmmt Systemdateien ouni Neistart ersat kënne ginn.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Wëllkomm am Desinstallatiouns-$\r$\n\Assistent fir $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Desen Assistent begleet dech duech d'Desinstallatioun vun $(^NameDA).$\r$\n$\r$\nW.e.g. maach $(^NameDA) zu, ierts de mat der Desinstallatioun ufänks.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Lizenzofkommes"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "W.e.g. d'Lizenzoofkommes liesen, ierts de mat der Installatioun weiderfiers."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Wanns de alleguer d'Bedengungen vum Ofkommes akzeptéiers, klick op Unhuelen. Du muss alleguer d'Fuerderungen unerkennen, fir $(^NameDA) installéieren ze kënnen."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Wanns de alleguer d'Bedengungen vum Ofkommes akzeptéiers, aktivéier d'Këschtchen. Du muss alleguer d'Fuerderungen unerkennen, fir $(^NameDA) installéieren ze kënnen. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Wanns de alleguer d'Bedengungen vum Ofkommes akzeptéiers, wiel ënnen di entspriechend Äntwert aus. Du muss alleguer d'Fuerderungen unerkennen, fir $(^NameDA) installéieren ze kënnen. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Lizenzofkommes"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "W.e.g. lies d'Lizenzofkommes duech ierts de mat der Desinstallatioun vun $(^NameDA) weiderfiers."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Wanns de d'Fuerderungen vum Ofkommes akzeptéiers, klick op unhuelen. Du muss d'Ofkommes akzeptéieren, fir $(^NameDA) kënnen ze desinstalléieren."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Wanns de d'Fuerderungen vum Ofkommes akzeptéiers, aktivéier d'Këschtchen. Du muss d'Ofkommes akzeptéieren, fir $(^NameDA) kënnen ze desinstalléieren. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Wanns de d'Fuerderungen vum Ofkommes akzeptéiers, wiel ënnen di entspriechend Optioun. Du muss d'Oofkommes akzeptéieren, fir $(^NameDA) kennen ze desinstalléieren. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Dréck d'PageDown-Tast fir den Rescht vum Ofkommes ze liesen."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Komponenten auswielen"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Wiel d'Komponenten aus, déis de wëlls installéieren."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Komponenten auswielen"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Wiel eng Komponent aus, déis de desinstalléieren wëlls."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Beschreiwung"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Hal den Mausfeil iwwer eng Komponent, fir d'Beschreiwung dervun ze gesinn."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Hal den Mausfeil iwwer eng Komponent, fir d'Beschreiwung dervun ze gesinn."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Zielverzeechnes auswielen"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Wiel den Dossier aus, an deen $(^NameDA) installéiert soll ginn."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Dossier fir d'Desinstallatioun wielen"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Wiel den Dossier aus, aus dem $(^NameDA) desinstalléiert soll ginn."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Installéieren..."
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Waard w.e.g während deem $(^NameDA) installéiert gëtt."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Installatioun färdeg"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "D'Installatioun ass feelerfräi oofgeschloss ginn."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Installatioun ofgebrach"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "D'Installatioun ass net komplett ofgeschloss ginn."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Desinstalléieren..."
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "W.e.g. waard, während deems $(^NameDA) desinstalléiert gëtt."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Desinstallatioun ofgeschloss"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "D'Desinstallatioun ass erfollegräich ofgeschloss ginn."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Desinstallatioun oofbriechen"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Desinstallatioun ass net erfollegräich ofgeschloss ginn."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "D'Installatioun vun $(^NameDA) gëtt ofgeschloss."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) ass um Computer installéiert ginn.$\r$\n$\r$\nKlick op färdeg maan, fir den Installatiouns-Assistent zou ze maan.."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Den Windows muss nei gestart ginn, fir d'Installatioun vun $(^NameDA) ofzeschléissen. Wëlls de Windows lo néi starten?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Desinstallatioun vun $(^NameDA) gëtt ofgeschloss"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) ass vum Computer desinstalléiert ginn.$\r$\n$\r$\nKlick op Ofschléissen fir den Assistent zou ze maan."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Windows muss néi gestart gin, fir d'Desinstallatioun vun $(^NameDA) ze vervollstännegen. Wëlls de Windows lo néi starten?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Lo néi starten"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Spéider manuell néi starten"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "$(^NameDA) op maan"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Liesmech op maan"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Färdeg man"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Startmenü-Dossier bestëmmen"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Bestëmm een Startmanü-Dossier an deen d'Programmofkierzungen kommen."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Bestëmm een Startmanü-Dossier an deen d'Programmofkierzungen kommen. Wanns de een néien Dossier man wells, gëff deem säin zukünftegen Numm an."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Keng Ofkierzungen man"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Desinstallatioun vun $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "$(^NameDA) gett vum Computer desinstalléiert."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Bass de sécher, dass de d'Installatioun vun $(^Name) ofbriechen wëlls?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Bass de sécher, dass de d'Desinstallatioun vun $(^Name) ofbriechen wëlls?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SpanishInternational.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SpanishInternational.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SpanishInternational.nsh	(revision 2961)
@@ -0,0 +1,130 @@
+;Language: Spanish International (3082)
+;By Darwin Rodrigo Toledo Cáceres - www.winamp-es.com - niwrad777@gmail.com
+;Base by Monki y Joel
+
+!insertmacro LANGFILE "SpanishInternational" "Español (Alfabetización Internacional)"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Bienvenido al Asistente de Instalación de $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Este asistente le guiará a través de la instalación de $(^NameDA).$\r$\n$\r$\nSe recomienda que cierre todas la demás aplicaciones antes de iniciar la instalación. Esto hará posible actualizar archivos de sistema sin tener que reiniciar su computadora.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Bienvenido al Asistente de Desinstalación de $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Este asistente le guiará durante la desinstalación de $(^NameDA).$\r$\n$\r$\nAntes de iniciar la desinstalación, asegúrese de que $(^NameDA) no se está ejecutando.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Acuerdo de licencia"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Por favor revise el acuerdo de licencia antes de instalar $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Si acepta todas las condiciones del acuerdo, seleccione Acepto para continuar. Debe aceptar el acuerdo para instalar $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Si acepta las condiciones del acuerdo, marque abajo la casilla. Debe aceptar las condiciones para instalar $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Si acepta las condiciones del acuerdo, seleccione abajo la primera opción. Debe aceptar las condiciones para instalar $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Acuerdo de licencia"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Por favor revise el acuerdo de licencia antes de desinstalar $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Si acepta todas las condiciones del acuerdo, seleccione Acepto para continuar. Debe aceptar el acuerdo para desinstalar $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Si acepta los términos del acuerdo, marque abajo la casilla. Debe aceptar los términos para desinstalar $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Si acepta los términos del acuerdo, seleccione abajo la primera opción. Debe aceptar los términos para desinstalar $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Presione Avanzar Página para ver el resto del acuerdo."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Selección de componentes"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Seleccione qué características de $(^NameDA) desea instalar."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Selección de componentes"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Seleccione qué características de $(^NameDA) desea desinstalar."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Descripción"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Sitúe el ratón encima de un componente para ver su descripción."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Sitúe el ratón encima de un componente para ver su descripción."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Elegir lugar de instalación"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Elija la carpeta para instalar $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Elegir lugar de desinstalación"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Elija la carpeta desde la cual desinstalará $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Instalando"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Por favor espere mientras $(^NameDA) se instala."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Instalación Finalizada"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "La instalación se ha finalizado correctamente."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Instalación Abortada"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "La instalación no se terminó correctamente."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Desinstalando"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Por favor espere mientras $(^NameDA) se desinstala."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Desinstalación Finalizada"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "La desinstalación se ha finalizado correctamente."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Desinstalación Abortada"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "La desinstalación no se terminó correctamente."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Finalizando el Asistente de Instalación de $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) ha sido instalado en su sistema.$\r$\n$\r$\nPresione Terminar para cerrar este asistente."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Su sistema debe ser reiniciado para poder finalizar la instalación de $(^NameDA). ¿Desea reiniciar ahora?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Completando el Asistente de Desinstalación de $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) ha sido desinstalado de su sistema.$\r$\n$\r$\nPresione Terminar para cerrar este asistente."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Su computadora debe ser reiniciada para finalizar la desinstalación de $(^NameDA). ¿Desea reiniciar ahora?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Reiniciar ahora"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Deseo reiniciar manualmente más tarde"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Ejecutar $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Mostrar Léame"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Terminar"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Elegir Carpeta del Menú Inicio"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Elija una Carpeta del Menú Inicio para los accesos directos de $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Seleccione una carpeta del Menú Inicio en la que quiera crear los accesos directos del programa. También puede introducir un nombre para crear una nueva carpeta."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "No crear accesos directos"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Desinstalar $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Elimina $(^NameDA) de su sistema."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "¿Está seguro de que desea salir de la instalación de $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "¿Está seguro de que desea salir de la desinstalación de $(^Name)?"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Elegir Usuarios"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Elija los usuarios para los cuales Ud. desea instalar $(^NameDA)."
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Elija una opción si desea instalar $(^NameDA) para sólo para Ud., o para todos los usuarios de esta computadora.$(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Instación para cualquier usuario de esta computadora"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Instalación solo para mí"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Latvian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Latvian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Latvian.nsh	(revision 2961)
@@ -0,0 +1,122 @@
+;Language: Latvieðu [Latvian] - (1062)
+;By Valdis Griíis
+;Corrections by Kristaps Meòìelis / x-f (x-f 'AT' inbox.lv)
+
+!insertmacro LANGFILE "Latvian" "Latvieðu"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Esiet sveicinâti '$(^NameDA)' uzstâdîðanas vednî"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Ðis uzstâdîðanas vednis jums palîdzçs veikt '$(^NameDA)' uzstâdîðanu.$\r$\n$\r$\nÏoti ieteicams aizvçrt citas programmas pirms ðîs programmas uzstâdîðanas veikðanas. Tas ïaus atjaunot svarîgus sistçmas failus bez datora pârstartçðanas.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Esiet sveicinâti '$(^NameDA)' atinstalçðanas vednî"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Ðis vednis jums palîdzçs veikt '$(^NameDA)' atinstalçðanu.$\r$\n$\r$\nPirms sâkt atinstalçðanas procesu, pârliecinieties, vai '$(^NameDA)' paðlaik nedarbojas.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Licences lîgums"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Lûdzu izlasiet licences lîgumu pirms '$(^NameDA)' uzstâdîðanas."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Ja piekrîtat licences lîguma noteikumiem, spiediet 'Piekrîtu', lai turpinâtu uzstâdîðanu. Jums ir jâpiekrît licences noteikumiem, lai uzstâdîtu '$(^NameDA)'."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Ja piekrîtat licences lîguma noteikumiem, tad atzîmçjiet izvçles rûtiòu. Jums ir jâpiekrît licences noteikumiem, lai uzstâdîtu '$(^NameDA)'. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Ja piekrîtat licences lîguma noteikumiem, tad izvçlieties pirmo zemâkesoðo opciju. Jums ir jâpiekrît licences noteikumiem, lai uzstâdîtu '$(^NameDA)'. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Licences lîgums"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Lûdzu izlasiet licences lîgumu pirms '$(^NameDA)' atinstalçðanas."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Ja piekrîtat licences noteikumiem, spiediet 'Piekrîtu', lai turpinâtu. Jums ir jâpiekrît licences noteikumiem, lai atinstalçtu '$(^NameDA)'."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Ja piekrîtat licences lîguma noteikumiem, tad iezîmçjiet izvçles rûtiòu. Jums ir jâpiekrît licences noteikumiem, lai atinstalçtu '$(^NameDA)'. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Ja piekrîtat licences lîguma noteikumiem, tad izvçlieties pirmo zemâkesoðo opciju. Jums ir jâpiekrît licences noteikumiem, lai atinstalçtu '$(^NameDA)'. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Spiediet 'Page Down', lai aplûkotu visu lîgumu."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Izvçlieties komponentus"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Izvçlieties nepiecieðamâs '$(^NameDA)' sastâvdaïas, kuras uzstâdît."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Izvçlieties komponentus"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Izvçlieties nepiecieðamâs '$(^NameDA)' sastâvdaïas, kuras atinstalçt."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Apraksts"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Novietojiet peles kursoru uz komponenta, lai tiktu parâdîts tâ apraksts."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Novietojiet peles kursoru uz komponenta, lai tiktu parâdîts tâ apraksts."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Izvçlieties uzstâdîðanas mapi"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Izvçlieties mapi, kurâ uzstâdît '$(^NameDA)'."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Izvçlieties atinstalçðanas mapi"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Izvçlieties mapi, no kuras notiks '$(^NameDA)' atinstalçðana."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Notiek uzstâdîðana"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Lûdzu uzgaidiet, kamçr notiek '$(^NameDA)' uzstâdîðana."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Uzstâdîðana pabeigta"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Uzstâdîðana noritçja veiksmîgi."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Uzstâdîðana atcelta"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Uzstâdîðana nenoritçja veiksmîgi."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Notiek atinstalçðana"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Lûdzu uzgaidiet, kamçr '$(^NameDA)' tiek atinstalçta."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Atinstalçðana pabeigta"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Atinstalçðana noritçja veiksmîgi."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Atinstalçðana atcelta"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Atinstalçðana nenoritçja veiksmîgi."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Tiek pabeigta '$(^NameDA)' uzstâdîðana"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "'$(^NameDA)' tika veiksmîgi uzstâdîta jûsu datorâ.$\r$\n$\r$\nNospiediet 'Pabeigt', lai aizvçrtu vedni."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Jûsu datoru ir nepiecieðams pârstartçt, lai pabeigtu '$(^NameDA)' uzstâdîðanu. Vai vçlaties pârstartçt datoru tûlît?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Tiek pabeigta '$(^NameDA)' atinstalâcija"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "'$(^NameDA)' tika veiksmîgi izdzçsta no jûsu datora.$\r$\n$\r$\nNospiediet 'Pabeigt', lai aizvçrtu vedni."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Jûsu datoru nepiecieðams pârstartçt, lai pabeigtu '$(^NameDA)' atinstalçðanu. Vai vçlaties pârstartçt datoru tûlît?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Pârstartçt tûlît"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Es vçlos pârstartçt pats vçlâk"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "P&alaist '$(^NameDA)'"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Pa&râdît LasiMani failu"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Pabeigt"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Izvçlieties 'Start Menu' folderi"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Izvçlieties 'Start Menu' mapi '$(^NameDA)' saîsnçm."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Izvçlieties 'Start Menu' mapi, kurâ tiks izveidotas programmas saîsnes. Varat arî pats izveidot jaunu mapi."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Neveidot saîsnes"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "'$(^NameDA)' atinstalçðana"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Dzçst '$(^NameDA)' no jûsu datora."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Vai tieðâm vçlaties pârtraukt '$(^Name)' uzstâdîðanu?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Vai tieðâm vçlaties pârtraukt '$(^Name)' atinstalçðanu?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Dutch.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Dutch.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Dutch.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+1043
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by Joost Verburg & Hendri Adireans, fixes by Milan Bast
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name)-installatie
+# ^UninstallCaption
+$(^Name)-deïnstallatie
+# ^LicenseSubCaption
+: Licentieovereenkomst
+# ^ComponentsSubCaption
+: Installatieopties
+# ^DirSubCaption
+: Installatiemap
+# ^InstallingSubCaption
+: Bezig met installeren
+# ^CompletedSubCaption
+: Voltooid
+# ^UnComponentsSubCaption
+: Verwijderingsopties
+# ^UnDirSubCaption
+: Te verwijderen map
+# ^ConfirmSubCaption
+: Bevestiging
+# ^UninstallingSubCaption
+: Bezig met verwijderen
+# ^UnCompletedSubCaption
+: Voltooid
+# ^BackBtn
+< V&orige
+# ^NextBtn
+&Volgende >
+# ^AgreeBtn
+&Akkoord
+# ^AcceptBtn
+Ik &accepteer de overeenkomst
+# ^DontAcceptBtn
+Ik accepteer de overeenkomst &niet
+# ^InstallBtn
+&Installeren
+# ^UninstallBtn
+&Verwijderen
+# ^CancelBtn
+Annuleren
+# ^CloseBtn
+&Afsluiten
+# ^BrowseBtn
+&Bladeren...
+# ^ShowDetailsBtn
+&Details tonen
+# ^ClickNext
+Klik op Volgende om verder te gaan.
+# ^ClickInstall
+Klik op Installeren om de installatie te beginnen.
+# ^ClickUninstall
+Klik op Verwijderen om de deïnstallatie te beginnen.
+# ^Name
+Naam
+# ^Completed
+Voltooid
+# ^LicenseText
+Lees de licentieovereenkomst voordat u $(^NameDA) installeert. Klik op Akkoord als u de overeenkomst accepteert.
+# ^LicenseTextCB
+Lees de licentieovereenkomst voordat u $(^NameDA) installeert. Schakel het selectievakje hieronder in als u de overeenkomst accepteert. $_CLICK
+# ^LicenseTextRB
+Lees de licentieovereenkomst voordat u $(^NameDA) installeert. Selecteer de eerste optie hieronder als u de overeenkomst accepteert. $_CLICK
+# ^UnLicenseText
+Lees de licentieovereenkomst voordat u $(^NameDA) verwijdert. Klik op Akkoord als u de overeenkomst accepteert.
+# ^UnLicenseTextCB
+Lees de licentieovereenkomst voordat u $(^NameDA) verwijdert. Schakel het selectievakje hieronder in als u de overeenkomst accepteert. $_CLICK
+# ^UnLicenseTextRB
+Lees de licentieovereenkomst voordat u $(^NameDA) verwijdert. Selecteer de eerste optie hieronder als u de overeenkomst accepteert. $_CLICK
+# ^Custom
+Aangepast
+# ^ComponentsText
+Selecteer de onderdelen die u wilt installeren en deselecteer welke u niet wilt installeren. $_CLICK
+# ^ComponentsSubText1
+Selecteer het installatietype:
+# ^ComponentsSubText2_NoInstTypes
+Selecteer de onderdelen die moeten worden geïnstalleerd:
+# ^ComponentsSubText2
+Of selecteer de optionele onderdelen die moeten worden geïnstalleerd:
+# ^UnComponentsText
+Selecteer de onderdelen die u wilt verwijderen en deselecteer welke u niet wilt verwijderen. $_CLICK
+# ^UnComponentsSubText1
+Selecteer het type verwijdering:
+# ^UnComponentsSubText2_NoInstTypes
+Selecteer de onderdelen die moeten worden verwijderd:
+# ^UnComponentsSubText2
+Of selecteer de optionele onderdelen die moeten worden verwijderd:
+# ^DirText
+Setup zal $(^NameDA) in de volgende map installeren. Klik op Bladeren als u $(^NameDA) in een andere map wilt installeren en selecteer deze. $_CLICK
+# ^DirSubText
+Installatiemap
+# ^DirBrowseText
+Selecteer de map om $(^NameDA) in te installeren:
+# ^UnDirText
+Setup zal $(^NameDA) uit de volgende map verwijderen. Klik op Bladeren als u $(^NameDA) uit een andere map wilt verwijderen en selecteer deze. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Selecteer de map om $(^NameDA) uit te verwijderen:
+# ^SpaceAvailable
+"Beschikbare ruimte: "
+# ^SpaceRequired
+"Vereiste ruimte: "
+# ^UninstallingText
+$(^NameDA) zal uit de volgende map worden verwijderd. $_CLICK
+# ^UninstallingSubText
+Verwijderen uit:
+# ^FileError
+Fout bij het schrijven naar bestand: \r\n\r\n$0\r\n\r\nKlik op Afbreken om de installatie te stoppen,\r\nOpnieuw om het opnieuw te proberen of\r\nNegeren om dit bestand over te slaan.
+# ^FileError_NoIgnore
+Fout bij het schrijven naar bestand: \r\n\r\n$0\r\n\r\nKlik op Opnieuw om het opnieuw te proberen of \r\nAnnuleren om de installatie te stoppen.
+# ^CantWrite
+"Kon niet schrijven: "
+# ^CopyFailed
+Kopiëren mislukt
+# ^CopyTo
+"Kopiëren naar "
+# ^Registering
+"Registreren: "
+# ^Unregistering
+"Deregistreren: "
+# ^SymbolNotFound
+"Kon symbool niet vinden: "
+# ^CouldNotLoad
+"Kon niet laden: "
+# ^CreateFolder
+"Map maken: "
+# ^CreateShortcut
+"Snelkoppeling maken: "
+# ^CreatedUninstaller
+"Deïnstallatieprogramma gemaakt: "
+# ^Delete
+"Bestand verwijderen: "
+# ^DeleteOnReboot
+"Verwijderen na opnieuw opstarten: "
+# ^ErrorCreatingShortcut
+"Fout bij maken snelkoppeling: "
+# ^ErrorCreating
+"Fout bij maken: "
+# ^ErrorDecompressing
+Fout bij uitpakken van gegevens! Gegevens beschadigd?
+# ^ErrorRegistering
+Fout bij registreren DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Uitvoeren: "
+# ^Extract
+"Uitpakken: "
+# ^ErrorWriting
+"Uitpakken: fout bij schrijven naar bestand "
+# ^InvalidOpcode
+Installatieprogramma beschadigd: ongeldige opcode
+# ^NoOLE
+"Geen OLE voor: "
+# ^OutputFolder
+"Uitvoermap: "
+# ^RemoveFolder
+"Map verwijderen: "
+# ^RenameOnReboot
+"Hernoemen na opnieuw opstarten: "
+# ^Rename
+"Hernoemen: "
+# ^Skipped
+"Overgeslagen: "
+# ^CopyDetails
+Details kopiëren naar klembord
+# ^LogInstall
+Gegevens over installatie bewaren
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Slovenian.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Slovenian.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Slovenian.nsh	(revision 2961)
@@ -0,0 +1,129 @@
+;Language: Slovenian (1060)
+;By Janez Dolinar, edited by Martin Srebotnjak - Lugos.si
+
+!insertmacro LANGFILE "Slovenian" "Slovenski jezik"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Dobrodošli v èarovniku namestitve $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Ta èarovnik vas vodi skozi namestitev programa $(^NameDA).$\r$\n$\r$\nPred namestitvijo je priporoèeno zapreti vsa ostala okna in programe. S tem omogoèite nemoteno namestitev programa in potrebnih sistemskih datotek brez ponovnega zagona raèunalnika.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Dobrodošli v èarovniku za odstranitev $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Ta èarovnik vas bo vodil skozi odstranitev $(^NameDA).$\r$\n$\r$\nPreden priènete z odstranitvijo, se preprièajte, da program $(^NameDA) ni zagnan.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Licenèna pogodba"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Prosimo, da si ogledate pogoje licenène pogodbe pred namestitvijo $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Èe se strinjate s pogoji, pritisnite Se strinjam. Da bi lahko namestili $(^NameDA), se morate s pogodbo strinjati."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Èe se strinjate z licenènimi pogoji pogodbe, spodaj izberite ustrezno okence. Za namestitev $(^NameDA) se morate strinjati s pogoji pogodbe. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Èe se strinjate z licenènimi pogoji pogodbe, spodaj izberite prvo možnost. Za namestitev $(^NameDA) se morate strinjati s pogoji pogodbe. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Licenèna pogodba"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Prosimo, da pred odstranitvijo $(^NameDA) pregledate pogoje licenène pogodbe."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Èe se strinjate s pogoji licenène pogodbe, izberite Se strinjam. Za odstranitev $(^NameDA) se morate strinjati s pogoji."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Èe se strinjate s pogoji licenène pogodbe, kliknite na okence spodaj. Za odstranitev $(^NameDA) se morate strinjati s pogoji. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Èe se strinjate s pogoji licenène pogodbe, spodaj izberite prvo podano možnost. Za odstranitev $(^NameDA) se morate strinjati s pogoji. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Za preostali del pogodbe pritisnite tipko 'Page Down'."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Izbor komponent"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Izberite, katere komponente izdelka $(^NameDA) želite namestiti."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Izbor komponent"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Izberite komponente $(^NameDA), ki jih želite odstraniti."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Opis"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Povlecite miško nad komponento, da vidite njen opis."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Povlecite miško nad komponento, da vidite njen opis."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Izberite pot namestive"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Izberite mapo, v katero želite namestiti $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Izbor mape"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Izberite mapo, iz katere želite odstraniti $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Namešèanje poteka"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Prosimo, poèakajte, $(^NameDA) se namešèa."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Dokonèana namestitev"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Namestitev je uspešno zakljuèena."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Prekinjena namestitev"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Namestitev ni bila uspešno zakljuèena."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Odstranjevanje poteka"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Prosimo, poèakajte, dokler se program $(^NameDA) odstranjuje."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Odstranitev konèana"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Odstranitev je uspešno konèana."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Odstranitev prekinjena"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Odstranitev ni bila konèana uspešno."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Zakljuèevanje namestitve $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "Program $(^NameDA) je bil namešèen na vaš raèunalnik.$\r$\n$\r$\nPritisnite Dokonèaj za zaprtje èarovnika."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Za dokonèanje namestitve $(^NameDA) morate ponovno zagnati raèunalnik. Želite zdaj ponovno zagnati raèunalnik?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Èarovnik za odstranitev $(^NameDA) se zakljuèuje"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "Program $(^NameDA) je odstranjen z vašega raèunalnika.$\r$\n$\r$\nKliknite Dokonèaj, da zaprete èarovnika."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Da bi se namestitev $(^NameDA) dokonèala, morate ponovno zagnati raèunalnik. Želite zdaj znova zagnati raèunalnik?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Ponovni zagon"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Raèunalnik želim znova zagnati kasneje"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Zaženi $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Pokaži BeriMe"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "Do&konèaj"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Izberite mapo menija Start"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Izberite mapo menija Start za bližnjice do $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Izberite mapo menija Start, kjer želite ustvariti bližnjico do programa. Èe vpišete novo ime, boste ustvarili istoimensko mapo."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Ne ustvari bližnjic"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Odstranitev $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Odstrani $(^NameDA) z vašega raèunalnika."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Ste preprièani, da želite prekiniti namestitev $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Ste preprièani, da želite zapustiti odstranitev $(^Name)?"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Izberite uporabnike"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Izberite uporabnike, za katere želite namestiti $(^NameDA)."
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Izberite, ali želite namestiti $(^NameDA) le zase ali za vse uporabnike tega raèunalnika. $(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Namesti za vse uporabnike tega raèunalnika"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Namesti le zame"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Afrikaans.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Afrikaans.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Afrikaans.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Afrikaans (1078)
+;By Friedel Wolff
+
+!insertmacro LANGFILE "Afrikaans" "Afrikaans"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Welkom by die $(^NameDA) Installasieslimmerd"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Hierdie slimmerd lei mens deur die installasie van $(^NameDA).$\r$\n$\r$\nDit word aanbeveel dat u alle ander programme afsluit voor die begin van die installasie. Dit maak dit moontlik om die relevante stelsellêers op te dateer sonder om die rekenaar te herlaai.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Welkom by die $(^NameDA) Verwyderingslimmerd"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Hierdie slimmerd lei mens deur die verwydering van $(^NameDA).$\r$\n$\r$\nVoor die verwydering begin word, maak seker dat $(^NameDA) nie loop nie.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Lisensie-ooreenkoms"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Lees die lisensie-ooreenkoms voordat u $(^NameDA) installeer."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Klik op Regso om verder te gaan as u die ooreenkoms aanvaar. U moet die ooreenkoms aanvaar om $(^NameDA) te installeer."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Merk die blokkie hier onder as u die ooreenkoms aanvaar. U moet die ooreenkoms aanvaar om $(^NameDA) te installeer. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Kies die eerste keuse hieronder as u die ooreenkoms aanvaar. U moet die ooreenkoms aanvaar om $(^NameDA) te installeer. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Lisensie-ooreenkoms"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Lees die lisensie-ooreenkoms voordat u $(^NameDA) verwyder."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Klik op Regso om verder te gaan as u die ooreenkoms aanvaar. U moet die ooreenkoms aanvaar om $(^NameDA) te verwyder."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Merk die kiesblokkie hieronder as u die ooreenkoms aanvaar. U moet die ooreenkoms aanvaar om $(^NameDA) te verwyder."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Kies die eerste keuse hieronder as u die ooreenkoms aanvaar. U moet die ooreenkoms aanvaar om $(^NameDA) te verwyder."
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Druk op Page Down om die res van die ooreenkoms te sien."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Kies komponente"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Kies watter komponente van $(^NameDA) geïnstalleer moet word."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Kies komponente"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Kies watter komponente van $(^NameDA) verwyder moet word."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Beskrywing"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Beweeg die muis oor 'n komponent om sy beskrywing te sien."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Beweeg die muis oor 'n komponent om sy beskrywing te sien."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Kies installasieplek"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Kies die gids waarin u $(^NameDA) wil installeer."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Kies verwyderinggids"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Kies die gids waaruit u $(^NameDA) wil verwyder."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Installeer tans"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Wag asb. terwyl $(^NameDA) geïnstalleer word."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Installasie voltooid"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Die installasie is suksesvol voltooi."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Installasie gestaak"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Die installasie is nie suksesvol voltooi nie."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Verwyder tans"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Wag asb. terwyl $(^NameDA) van u rekenaar verwyder word."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Verwydering voltooi"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Verwydering is suksesvol voltooi."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Verwydering gestaak"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Verwydering is nie suksesvol voltooi nie."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Voltooi van die $(^NameDA) Installasieslimmerd"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) is geïnstalleer op uw rekenaar.$\r$\n$\r$\nKlik op Voltooi om hierdie slimmerd af te sluit."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Die rekenaar moet oorbegin word om die installasie van $(^NameDA) te voltooi. Wil u nou oorbegin?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Voltooi van die $(^NameDA) Verwyderingslimmerd"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) is van u rekenaar verwyder.$\r$\n$\r$\nKlik op Voltooi om hierdie slimmerd af te sluit."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Die rekenaar moet oorbegin word om die verwydering van $(^NameDA) te voltooi. Wil u nou oorbegin?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Begin nou oor"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Ek wil later self oorbegin"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Laat loop $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Wys Leesmy-lêer"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Voltooi"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Kies gids in Begin-kieslys"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Kies 'n gids in die Begin-kieslys vir $(^NameDA) se kortpaaie."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Kies die gids in die Begin-kieslys waarin die program se kortpaaie geskep moet word. U kan ook 'n nuwe naam gee om 'n nuwe gids te skep."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Moenie kortpaaie maak nie"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Verwyder $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Verwyder $(^NameDA) van u rekenaar."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Wil u definitief die installasie van $(^Name) afsluit?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Wil u definitief die verwydering van $(^Name) afsluit?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/German.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/German.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/German.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1031
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by L.King, changes by R. Bisswanger, Tim Kosse
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) Installation
+# ^UninstallCaption
+$(^Name) Deinstallation
+# ^LicenseSubCaption
+: Lizenzabkommen
+# ^ComponentsSubCaption
+: Installations-Optionen
+# ^DirSubCaption
+: Zielverzeichnis
+# ^InstallingSubCaption
+: Installiere
+# ^CompletedSubCaption
+: Fertig
+# ^UnComponentsSubCaption
+: Deinstallations-Optionen
+# ^UnDirSubCaption
+: Quellverzeichnis
+# ^ConfirmSubCaption
+: Bestätigung
+# ^UninstallingSubCaption
+: Entferne
+# ^UnCompletedSubCaption
+: Fertig
+# ^BackBtn
+< &Zurück
+# ^NextBtn
+&Weiter >
+# ^AgreeBtn
+&Annehmen
+# ^AcceptBtn
+Ich &akzeptiere das Lizenzabkommen.
+# ^DontAcceptBtn
+Ich &lehne das Lizenzabkommen ab.
+# ^InstallBtn
+&Installieren
+# ^UninstallBtn
+&Deinstallieren
+# ^CancelBtn
+Abbrechen
+# ^CloseBtn
+&Beenden
+# ^BrowseBtn
+&Durchsuchen...
+# ^ShowDetailsBtn
+&Details anzeigen
+# ^ClickNext
+Klicken Sie auf Weiter, um fortzufahren.
+# ^ClickInstall
+Klicken Sie auf Installieren, um die Installation zu starten.
+# ^ClickUninstall
+Klicken Sie auf Deinstallieren, um die Deinstallation zu starten.
+# ^Name
+Name
+# ^Completed
+Fertig
+# ^LicenseText
+Bitte lesen Sie das Lizenzabkommen, bevor Sie $(^NameDA) installieren. Wenn Sie alle Bedingungen des Abkommens akzeptieren, klicken Sie auf Annehmen.
+# ^LicenseTextCB
+Bitte lesen Sie das Lizenzabkommen, bevor Sie $(^NameDA) installieren. Wenn Sie alle Bedingungen des Abkommens akzeptieren, aktivieren Sie das Kontrollkästchen. $_CLICK
+# ^LicenseTextRB
+Bitte lesen Sie das Lizenzabkommen, bevor Sie $(^NameDA) installieren. Wenn Sie alle Bedingungen des Abkommens akzeptieren, wählen Sie die entsprechende Option. $_CLICK
+# ^UnLicenseText
+Bitte lesen Sie das Lizenzabkommen, bevor Sie $(^NameDA) entfernen. Wenn Sie alle Bedingungen des Abkommens akzeptieren, klicken Sie auf Annehmen.
+# ^UnLicenseTextCB
+Bitte lesen Sie das Lizenzabkommen, bevor Sie $(^NameDA) entfernen. Wenn Sie alle Bedingungen des Abkommens akzeptieren, aktivieren Sie das Kontrollkästchen. $_CLICK
+# ^UnLicenseTextRB
+Bitte lesen Sie das Lizenzabkommen, bevor Sie $(^NameDA) entfernen. Wenn Sie alle Bedingungen des Abkommens akzeptieren, wählen Sie die entsprechende Option. $_CLICK
+# ^Custom
+Benutzerdefiniert
+# ^ComponentsText
+Wählen Sie die Komponenten aus, die Sie installieren möchten und wählen Sie diejenigen ab, die Sie nicht installieren wollen. $_CLICK
+# ^ComponentsSubText1
+Installations-Typ bestimmen:
+# ^ComponentsSubText2_NoInstTypes
+Wählen Sie die Komponenten aus, die Sie installieren möchten:
+# ^ComponentsSubText2
+oder wählen Sie zusätzliche Komponenten aus, die Sie installieren möchten:
+# ^UnComponentsText
+Wählen Sie die Komponenten aus, die Sie entfernen möchten und wählen Sie diejenigen ab, die Sie nicht entfernen wollen. $_CLICK
+# ^UnComponentsSubText1
+Deinstallations-Typ bestimmen:
+# ^UnComponentsSubText2_NoInstTypes
+Wählen Sie die Komponenten aus, die Sie entfernen möchten:
+# ^UnComponentsSubText2
+oder wählen Sie zusätzliche Komponenten aus, die Sie entfernen möchten:
+# ^DirText
+$(^NameDA) wird in das unten angegebene Verzeichnis installiert. Falls Sie in ein anderes Verzeichnis installieren möchten, klicken Sie auf Durchsuchen und wählen Sie ein anderes Verzeichnis aus. $_CLICK
+# ^DirSubText
+Zielverzeichnis
+# ^DirBrowseText
+Wählen Sie das Verzeichnis aus, in das Sie $(^NameDA) installieren möchten:
+# ^UnDirText
+$(^NameDA) wird aus dem unten angegebenen Verzeichnis entfernt. Falls sich $(^NameDA) in einem anderen Verzeichnis befindet, klicken Sie auf Durchsuchen und wählen Sie das richtige Verzeichnis aus. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Wählen Sie das Verzeichnis aus, in dem sich $(^NameDA) befindet:
+# ^SpaceAvailable
+"Verfügbarer Speicher: "
+# ^SpaceRequired
+"Benötigter Speicher: "
+# ^UninstallingText
+$(^NameDA) wird aus dem unten angegebenen Verzeichnis entfernt. $_CLICK
+# ^UninstallingSubText
+Entferne aus:
+# ^FileError
+Fehler beim Überschreiben der Datei: \r\n\t"$0"\r\nKlicken Sie auf Abbrechen, um abzubrechen,\r\nauf Wiederholen, um den Schreibvorgang erneut zu versuchen\r\noder auf Ignorieren, um diese Datei zu überspringen.
+# ^FileError_NoIgnore
+Fehler beim Überschreiben der Datei: \r\n\t"$0"\r\nKlicken Sie auf Wiederholen, um den Schreibvorgang erneut zu versuchen\r\noder auf Abbrechen, um die Installation zu beenden.
+# ^CantWrite
+"Fehler beim Schreiben: "
+# ^CopyFailed
+Kopieren fehlgeschlagen
+# ^CopyTo
+"Kopiere nach "
+# ^Registering
+"Registriere: "
+# ^Unregistering
+"Deregistriere: "
+# ^SymbolNotFound
+"Symbol ist nicht vorhanden: "
+# ^CouldNotLoad
+"Fehler beim Laden von "
+# ^CreateFolder
+"Erstelle Verzeichnis: "
+# ^CreateShortcut
+"Erstelle Verknüpfung: "
+# ^CreatedUninstaller
+"Erstelle Deinstallations-Programm: "
+# ^Delete
+"Lösche Datei: "
+# ^DeleteOnReboot
+"Lösche Datei nach Neustart: "
+# ^ErrorCreatingShortcut
+"Fehler beim Erstellen der Verknüpfung: "
+# ^ErrorCreating
+"Fehler beim Erstellen: "
+# ^ErrorDecompressing
+Fehler beim Dekomprimieren. Beschädigtes Installations-Programm?
+# ^ErrorRegistering
+Fehler beim Registrieren der DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Starte: "
+# ^Extract
+"Dekomprimiere: "
+# ^ErrorWriting
+"Dekomprimierung: Fehler beim Schreiben der Datei "
+# ^InvalidOpcode
+Beschädigtes Installations-Programm: ungültiger Befehlscode
+# ^NoOLE
+"Kein OLE für: "
+# ^OutputFolder
+"Zielverzeichnis: "
+# ^RemoveFolder
+"Entferne Verzeichnis: "
+# ^RenameOnReboot
+"Umbenennen nach Neustart: "
+# ^Rename
+"Umbenennen: "
+# ^Skipped
+"Übersprungen: "
+# ^CopyDetails
+Details in die Zwischenablage kopieren
+# ^LogInstall
+Installationsverlauf protokollieren
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Esperanto.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Esperanto.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Esperanto.nsh	(revision 2961)
@@ -0,0 +1,129 @@
+;Language: Esperanto (0)
+;By Felipe Castro <fefcas@gmail.com>
+
+!insertmacro LANGFILE "Esperanto" "Esperanto"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Bonvenon al la Gvidilo por Instalado de $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Tiu cxi gvidilo helpos vin dum la instalado de $(^NameDA).$\r$\n$\r$\nOni rekomendas fermi cxiujn aliajn aplikajxojn antaux ol ekigi la Instaladon. Tio cxi ebligos al la Instalilo gxisdatigi la koncernajn dosierojn de la sistemo sen bezono restartigi la komputilon.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Bonvenon al la Gvidilo por Malinstalado de $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Tiu cxi gvidilo helpos vin dum la malinstalado de $(^NameDA).$\r$\n$\r$\nAntaux ol ekigi la malinstalado, certigxu ke $(^NameDA) ne estas plenumata nun.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Permes-Kontrakto"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Bonvole, kontrolu la kondicxojn de la permesilo antaux ol instali la programon $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Se vi akceptas la kondicxojn, musklaku en 'Akceptite' por dauxrigi. Vi devos akcepti la kontrakton por instali la programon $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Se vi akceptas la permes-kondicxojn, musklaku la suban elekt-skatolon. Vi devos akcepti la kontrakton por instali la programon $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Se vi akceptas la permes-kondicxojn, elektu la unuan opcion sube. Vi devas akcepti la kontrakton por instali la programon $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Permes-Kontrakto"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Bonvole, kontrolu la kondicxojn de la permesilo antaux ol malinstali la programon $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Se vi akceptas la kondicxojn, musklaku en 'Akceptite' por dauxrigi. Vi devos akcepti la kontrakton por malinstali la programon $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Se vi akceptas la permes-kondicxojn, musklaku la suban elekt-skatolon. Vi devos akcepti la kontrakton por malinstali la programon $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Se vi akceptas la permes-kondicxojn, elektu la unuan opcion sube. Vi devas akcepti la kontrakton por malinstali la programon $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Premu 'Page Down' por rigardi la reston de la permeso."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Elekto de Konsisteroj"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Elektu kiujn funkciojn de $(^NameDA) vi deziras instali."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Elekto de Konsisteroj"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Elektu kiujn funkciojn de $(^NameDA) vi deziras malinstali."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Priskribo"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Poziciu la muson sur konsistero por rigardi ties priskribon."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Poziciu la muson sur konsistero por rigardi ties priskribon."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Elekto de la Instalada Loko"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Elektu la dosierujon en kiun vi deziras instali la programon $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Elekto de la Malinstalada Loko"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Elektu la dosierujon el kiu vi deziras malinstali la programon $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Oni instalas"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Bonvole, atendu dum $(^NameDA) estas instalata."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Instalado Plenumite"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "La instalado sukcese plenumigxis."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Instalado Cxesigite"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "La instalado ne plenumigxis sukcese."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Oni malinstalas"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Bonvole, atendu dum $(^NameDA) estas malinstalata."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Malinstalado Plenumite"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "La malinstalado sukcese plenumigxis."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Malinstalado Cxesigxite"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "La malinstalado ne plenumigxis sukcese."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Oni finigas la Gvidilon por Instalado de $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) estas instalita en via komputilo.$\r$\n$\r$\nMusklaku en Finigi por fermi tiun cxi gvidilon."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Via komputilo devas esti restartigita por kompletigi la instaladon de $(^NameDA). Cxu restartigi nun?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Oni finigas la Gvidilon por Malinstalado de $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) estis forigita el via komputilo.$\r$\n$\r$\nMusklaku en Finigi por fermi tiun cxi gvidilon."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Via komputilo devas esti restartigita por kompletigi la malinstaladon de $(^NameDA). Cxu restartigi nun?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Restartigi Nun"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Mi volas restartigi permane poste"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Lancxi $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Montri Legumin"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Finigi"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Elektu Dosierujon de la Ek-Menuo"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Elektu dosierujon de la Ek-Menuo por la lancxiloj de la programo."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Elektu dosierujon de la Ek-Menuo en kiu vi deziras krei la lancxilojn de la programo. Vi povas ankaux tajpi nomon por krei novan ujon."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Ne krei lancxilojn"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Malinstali $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Forigi $(^NameDA) el via komputilo."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Cxu vi certe deziras nuligi la instaladon de $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Cxu vi certe deziras nuligi la malinstaladon de $(^Name)?"
+!endif
+
+!ifdef MULTIUSER_INSTALLMODEPAGE
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Elekti Uzantojn"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Elekti por kiuj uzantoj vi deziras instali $(^NameDA)."
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Elektu cxu vi volas instali $(^NameDA) por vi mem aux por cxiuj uzantoj de tiu cxi komputilo. $(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Instali por iu ajn uzanto de tiu cxi komputilo"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Instali nur por mi"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Icelandic.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Icelandic.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Icelandic.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+15
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by Gretar Orri Kristinsson
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) Uppsetning
+# ^UninstallCaption
+$(^Name) Fjarlæging
+# ^LicenseSubCaption
+: Notandaleyfissamningur
+# ^ComponentsSubCaption
+: Uppsetningarvalmöguleikar
+# ^DirSubCaption
+: Uppsetningarskráarsafn
+# ^InstallingSubCaption
+: Set upp
+# ^CompletedSubCaption
+: Lokið
+# ^UnComponentsSubCaption
+: Fjarlægingarvalmöguleikar
+# ^UnDirSubCaption
+: Fjarlægingarskráarsafn
+# ^ConfirmSubCaption
+: Staðfesting
+# ^UninstallingSubCaption
+: Fjarlægi
+# ^UnCompletedSubCaption
+: Lokið
+# ^BackBtn
+< &Til baka
+# ^NextBtn
+&Áfram >
+# ^AgreeBtn
+Ég &Samþykki
+# ^AcceptBtn
+Ég &samþykki skilmála leyfissamningsins
+# ^DontAcceptBtn
+Ég samþykki &ekki skilmála leyfissamningsins
+# ^InstallBtn
+&Setja upp
+# ^UninstallBtn
+&Fjarlægja
+# ^CancelBtn
+Hætta við
+# ^CloseBtn
+&Loka
+# ^BrowseBtn
+&Vafra...
+# ^ShowDetailsBtn
+Sýna &upplýsingar
+# ^ClickNext
+Smelltu á 'Áfram' til að halda áfram.
+# ^ClickInstall
+Smelltu á 'Setja upp' til þess að hefja uppsetninguna.
+# ^ClickUninstall
+Smelltu á 'Fjarlægja' til að hefja fjarlægingar ferlið.
+# ^Name
+Nafn
+# ^Completed
+Lokið
+# ^LicenseText
+Vinsamlegast skoðaðu notandaleyfissamninginn vel áður en uppsetning á $(^NameDA) hefst. Ef þú samþykkir skilmála samningsins, smelltu þá á 'Ég samþykki'.
+# ^LicenseTextCB
+Vinsamlegast skoðaðu notandaleyfissamninginn vel áður en uppsetning á $(^NameDA) hefst. Ef þú samþykkir skilmála samningsins, hakaðu þá í kassann hér að neðan. $_CLICK
+# ^LicenseTextRB
+Vinsamlegast skoðaðu notandaleyfissamninginn vel áður en uppsetning á $(^NameDA) hefst. Ef þú samþykkir skilmála samningsins, veldu þá fyrsta valmöguleikann hér að neðan. $_CLICK
+# ^UnLicenseText
+Vinsamlegast skoðaðu notandaleyfissamninginn vel áður en uppsetning á $(^NameDA) hefst. Ef þú samþykkir skilmála samningsins, smelltu þá á 'Ég samþykki'.
+# ^UnLicenseTextCB
+Vinsamlegast skoðaðu notandaleyfissamninginn vel áður en uppsetning á $(^NameDA) hefst. Ef þú samþykkir skilmála samningsins, hakaðu þá í kassann hér að neðan. $_CLICK
+# ^UnLicenseTextRB
+Vinsamlegast skoðaðu notandaleyfissamninginn vel áður en uppsetning á $(^NameDA) hefst. Ef þú samþykkir skilmála samningsins, veldu þá fyrsta valmöguleikann hér að neðan. $_CLICK
+# ^Custom
+Sjálfval
+# ^ComponentsText
+Hakaðu við þá íhluti sem þú vilt setja upp og taktu hakið af þeim íhlutum sem þú vilt ekki setja upp. $_CLICK
+# ^ComponentsSubText1
+Veldu tegund uppsetningar:
+# ^ComponentsSubText2_NoInstTypes
+Veldu þá íhluti sem á að setja upp:
+# ^ComponentsSubText2
+Eða, veldu valfrjálsa íhluti á að setja upp:
+# ^UnComponentsText
+Hakaðu við þá íhluti sem þú vilt fjarlægja og taktu hakið af þeim íhlutum sem þú vilt ekki fjarlægja. $_CLICK
+# ^UnComponentsSubText1
+Veldu tegund fjarlægingar:
+# ^UnComponentsSubText2_NoInstTypes
+Veldu íhluti sem á að fjarlægja:
+# ^UnComponentsSubText2
+Eða, veldu valfrjálsa íhluti sem á að fjarlægja:
+# ^DirText
+Uppsetningin mun setja $(^NameDA) upp í eftirfarandi skráarsafn. Til að setja forritið upp í annað skráarsafn, smelltu á 'Vafra...' og veldu annað skráarsafn. $_CLICK
+# ^DirSubText
+Uppsetningarskráarsafn
+# ^DirBrowseText
+Veldu það skráarsafn sem þú vilt setja $(^NameDA) upp í:
+# ^UnDirText
+Uppsetningin mun fjarlægja $(^NameDA) úr eftirfarandi skráarsafni. Til að fjarlægja forritið úr öðru skráarsafni, smelltu á 'Vafra...' og veldu annað skráarsafn. $_CLICK
+# ^UnDirSubText
+"Fjarlægingarskráarsafn"
+# ^UnDirBrowseText
+Veldu það skráarsafn sem þú vilt fjarlægja $(^NameDA) úr:
+# ^SpaceAvailable
+"Tiltækt rými: "
+# ^SpaceRequired
+"Nauðsynlegt rými: "
+# ^UninstallingText
+$(^NameDA) verður fjarlægt úr eftirfarandi skráarsafni. $_CLICK
+# ^UninstallingSubText
+Fjarlægi úr:
+# ^FileError
+Villa við að skrifa í skrá: \r\n\r\n$0\r\n\r\nSmelltu á 'Hætta við' til að stoppa uppsetninguna,\r\n'Reyna aftur' til að gera aðra tilraun, eða\r\n'Hunsa' til sleppa þessari skrá.
+# ^FileError_NoIgnore
+Villa við að skrifa í skrá: \r\n\r\n$0\r\n\r\nSmelltu á 'Reyna aftur' til að gera aðra tilraun, eða\r\n'Hætta við' til að stoppa uppsetninguna.
+# ^CantWrite
+"Get ei skrifað: "
+# ^CopyFailed
+Afritun mistókst
+# ^CopyTo
+"Afrita til "
+# ^Registering
+"Skrásetja: "
+# ^Unregistering
+"Afskrá: "
+# ^SymbolNotFound
+"Fann ekki tákn: "
+# ^CouldNotLoad
+"Gat ekki hlaðið inn: "
+# ^CreateFolder
+"Búa til skráarsafn: "
+# ^CreateShortcut
+"Búa til flýtileið: "
+# ^CreatedUninstaller
+"Bjó til fjarlægingarhjálp: "
+# ^Delete
+"Eyða skrá: "
+# ^DeleteOnReboot
+"Eyða við endurræsingu: "
+# ^ErrorCreatingShortcut
+"Villa við gerð flýtileiðar: "
+# ^ErrorCreating
+"Villa við gerð: "
+# ^ErrorDecompressing
+Villa við afþjöppun gagna! Biluð uppsetningarhjálp?
+# ^ErrorRegistering
+Villa við skrásetningu DLL
+# ^ExecShell
+"Keyrslugluggi: "
+# ^Exec
+"Keyra: "
+# ^Extract
+"Færa út: "
+# ^ErrorWriting
+"Færa út: villa við að skrifa í skrá "
+# ^InvalidOpcode
+Uppsetningarhjálp biluð: rangur stýrikóði
+# ^NoOLE
+"Engin OLE fyrir: "
+# ^OutputFolder
+"Útskráarsafn: "
+# ^RemoveFolder
+"Fjarlægja skráarsafn: "
+# ^RenameOnReboot
+"Endurskíra við endurræsingu: "
+# ^Rename
+"Endurskíra: "
+# ^Skipped
+"Sleppt: "
+# ^CopyDetails
+Afrita upplýsingar til skrifbrettis
+# ^LogInstall
+Skrá uppsetningarferli
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Catalan.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Catalan.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Catalan.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Catalan (1027)
+;By falanko, corrections by Toni Hermoso Pulido
+
+!insertmacro LANGFILE "Catalan" "Català"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Benvinguts a l'auxiliar d'instal·lació de l'aplicació $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Aquest auxiliar us guiarà durant el procés d'instal·lació de l'aplicació $(^NameDA).$\r$\n$\r$\nEs recomana tancar la resta d'aplicacions abans de començar la instal·lació. Això permetrà al programa d'instal·ació actualitzar fitxers del sistema rellevants sense haver de reiniciar l'ordinador.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Benvinguts a l'auxiliar de desinstal·lació de l'aplicació $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Aquest auxiliar us guiarà a través de la desinstal·lació de l'aplicació $(^NameDA).$\r$\n\rAbans de començar la desinstal·lació, assegureu-vos que l'aplicació $(^NameDA) no s'està executant.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Acord de Llicència"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Reviseu els termes de la llicència abans d'instal·lar l'aplicació $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Si accepteu tots els termes de l'acord, premeu Hi estic d'acord per a continuar. Heu d'acceptar l'acord per a poder instal·lar l'aplicació $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Si accepteu tots els termes de l'acord, activeu la casella de sota. Heu d'acceptar l'acord per poder instal·lar l'aplicació $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Si accepteu tots els termes de l'acord, seleccioneu la primera opció de sota. Heu d'acceptar l'acord per a poder instal·lar $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Acord de llicència"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Reviseu els termes de la llicència abans de desinstal·lar l'aplicació $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Si accepteu tots els termes de l'acord, premeu Hi estic d'Acord per a continuar. Heu d'acceptar l'acord per a poder desinstal·lar l'aplicació $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Si accepteu tots els termes de l'acord, activeu la casella de sota. Heu d'acceptar l'acord per a poder desinstal·lar l'aplicació $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Si accepteu tots els termes de l'acord, seleccioneu la primera opció de sota. Heu d'acceptar l'acord per a poder desinstal·lar l'aplicació $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Premeu AvPàg per a veure la resta de l'acord."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Selecció de components"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Seleccioneu quines característiques de l'aplicació $(^NameDA) desitgeu instal·lar."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Selecció de components"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Seleccioneu quines característiques de l'aplicació $(^NameDA) desitgeu desinstal·lar."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Descripció"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Situeu el ratolí damunt d'un component per a veure'n la descripció."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Situeu el ratolí damunt d'un component per a veure'n la descripció."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Trieu una ubicació d'instal·lació"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Trieu la carpeta on instal·lar-hi l'aplicació $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Trieu la ubicació de desinstal·lació"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Trieu la carpeta d'on desinstal·lar l'aplicació $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "S'està instal·lant"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Si us plau, espereu mentre l'aplicació $(^NameDA) s'instal·la."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "S'ha acabat la instal·lació"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "La instal·lació ha acabat correctament."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "S'ha abandonat la instal·lació"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "La instal·lació no ha acabat correctament."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "S'està desinstal·lant"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Si us plau, espereu mentre l'aplicació $(^NameDA) es desinstal·la."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "S'ha acabat la desinstal·lació"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "La desinstal·lació s'ha realitzat correctament."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "S'ha abandonat la desinstal·lació"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "La desinstal·lació no ha acabat correctament."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "S'està acabant l'auxiliar d'instal·lació de l'aplicació $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "L'aplicació $(^NameDA) s'ha instal·lat a l'ordinador.$\r$\n$\r$\nFeu clic a Finalitza per a tancar aquest auxiliar."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Cal reiniciar l'ordinador perquè pugui acabar-se la instal·lació de l'aplicació $(^NameDA). Voleu reiniciar-lo ara?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "S'està acabant l'auxiliar de desinstal·lació de l'aplicació $(^NameDA)."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "L'aplicació $(^NameDA) s'ha desinstal·lat de l'ordinador.$\r$\n$\r$\nFeu clic a Finalitza per a tancar aquest auxiliar."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Cal reiniciar l'ordinador perquè pugui acabar-se la desinstal·lació de l'aplicació $(^NameDA). Voleu reiniciar-lo ara?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Reinicia ara"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Reinicia més tard manualment"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "Executa l'aplicació $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Mostra el Llegeix-me"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Finalitza"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Tria la carpeta del menú Inicia"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Tria una carpeta del menú Inicia per a les dreceres de l'aplicació $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Seleccioneu la carpeta del Menú Inicia en la que hi vulgueu crear les dreceres del programa. Podeu introduir-hi un altre nom si voleu crear una carpeta nova."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "No creïs les dreceres"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Desinstal·la l'aplicació $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Suprimeix l'aplicació $(^NameDA) de l'ordinador."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Esteu segur que voleu sortir del programa d'instal·lació de l'aplicació $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Esteu segur que voleu sortir del programa de desinstal·lació de l'aplicació $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Korean.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Korean.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Korean.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+1042
+# Font and size - dash (-) means default
+±¼¸²
+9
+# Codepage - dash (-) means ANSI code page
+949
+# RTL - anything else than RTL means LTR
+-
+# Translation by dTomoyo dtomoyo@empal.com ( ~V2.0 BETA2 ) / By hardkoder@gmail.com (V2.0 BETA3 ~ )
+# ^Branding
+³Î¼ÒÇÁÆ® ¼³Ä¡ ½Ã½ºÅÛ %s
+# ^SetupCaption
+$(^Name) ¼³Ä¡
+# ^UninstallCaption
+$(^Name) Á¦°Å
+# ^LicenseSubCaption
+: »ç¿ë±Ç °è¾à µ¿ÀÇ
+# ^ComponentsSubCaption
+: ¼³Ä¡ ¿É¼Ç
+# ^DirSubCaption
+: Æú´õ ÁöÁ¤
+# ^InstallingSubCaption
+: ÆÄÀÏ ¼³Ä¡Áß
+# ^CompletedSubCaption
+: ¼³Ä¡ ¿Ï·á
+# ^UnComponentsSubCaption
+: Á¦°Å ¿É¼Ç
+# ^UnDirSubCaption
+: Á¦°Å Æú´õ
+# ^ConfirmSubCaption
+: È®ÀÎ 
+# ^UninstallingSubCaption
+: Á¦°ÅÁß
+# ^UnCompletedSubCaption
+: Á¦°Å ¿Ï·á
+# ^BackBtn
+< µÚ·Î
+# ^NextBtn
+´ÙÀ½ >
+# ^AgreeBtn
+µ¿ÀÇÇÔ
+# ^AcceptBtn
+À§ »çÇ×¿¡ µ¿ÀÇÇÕ´Ï´Ù.
+# ^DontAcceptBtn
+µ¿ÀÇÇÏÁö ¾Ê½À´Ï´Ù.
+# ^InstallBtn
+¼³Ä¡
+# ^UninstallBtn
+Á¦°Å
+# ^CancelBtn
+Ãë¼Ò
+# ^CloseBtn
+´ÝÀ½
+# ^BrowseBtn
+Ã£¾Æº¸±â...
+# ^ShowDetailsBtn
+ÀÚ¼¼È÷ º¸±â
+# ^ClickNext
+°è¼ÓÇÏ½Ã·Á¸é '´ÙÀ½' ¹öÆ°À» ´­·¯ ÁÖ¼¼¿ä.
+# ^ClickInstall
+¼³Ä¡¸¦ ½ÃÀÛÇÏ½Ã·Á¸é '¼³Ä¡' ¹öÆ°À» ´­·¯ ÁÖ¼¼¿ä.
+# ^ClickUninstall
+'Á¦°Å' ¹öÆ°À» ´©¸£¸é Á¦°Å°¡ ½ÃÀÛµË´Ï´Ù.
+# ^Name
+ÀÌ¸§
+# ^Completed
+¿Ï·á
+# ^LicenseText
+$(^NameDA)(À»)¸¦ ¼³Ä¡ÇÏ±â Àü¿¡ »ç¿ë±Ç °è¾à ³»¿ëÀ» »ìÆìº¸½Ã±â ¹Ù¶ø´Ï´Ù. ³»¿ë¿¡ µ¿ÀÇÇÏ¼Ì´Ù¸é 'µ¿ÀÇÇÔ'À» ´­·¯ ÁÖ¼¼¿ä.
+# ^LicenseTextCB
+$(^NameDA)(À»)¸¦ ¼³Ä¡ÇÏ±â Àü¿¡ »ç¿ë±Ç °è¾à ³»¿ëÀ» »ìÆìº¸½Ã±â ¹Ù¶ø´Ï´Ù. ³»¿ë¿¡ µ¿ÀÇÇÏ¼Ì´Ù¸é ¾Æ·¡ »çÇ×À» Ã¼Å©ÇØ ÁÖ¼¼¿ä. $_CLICK
+# ^LicesnseTextRB
+$(^NameDA)(À»)¸¦ ¼³Ä¡ÇÏ±â Àü¿¡ »ç¿ë±Ç °è¾à ³»¿ëÀ» »ìÆìº¸½Ã±â ¹Ù¶ø´Ï´Ù. ³»¿ë¿¡ µ¿ÀÇÇÏ¼Ì´Ù¸é ¾Æ·¡ ¿É¼ÇÀ» ¼±ÅÃÇØ ÁÖ¼¼¿ä. $_CLICK
+# ^UnLicenseText
+$(^NameDA)(À»)¸¦ Á¦°ÅÇÏ±â Àü¿¡ »ç¿ë±Ç °è¾à ³»¿ëÀ» »ìÆìº¸½Ã±â ¹Ù¶ø´Ï´Ù. ³»¿ë¿¡ µ¿ÀÇÇÏ¼Ì´Ù¸é 'µ¿ÀÇÇÔ'À» ´­·¯ ÁÖ¼¼¿ä.
+# ^UnLicenseTextCB
+$(^NameDA)(À»)¸¦ Á¦°ÅÇÏ±â Àü¿¡ »ç¿ë±Ç °è¾à ³»¿ëÀ» »ìÆìº¸½Ã±â ¹Ù¶ø´Ï´Ù. ³»¿ë¿¡ µ¿ÀÇÇÏ¼Ì´Ù¸é ¾Æ·¡ »çÇ×À» Ã¼Å©ÇØ ÁÖ¼¼¿ä. $_CLICK
+# ^UnLicesnseTextRB
+$(^NameDA)(À»)¸¦ Á¦°ÅÇÏ±â Àü¿¡ »ç¿ë±Ç °è¾à ³»¿ëÀ» »ìÆìº¸½Ã±â ¹Ù¶ø´Ï´Ù. ³»¿ë¿¡ µ¿ÀÇÇÏ¼Ì´Ù¸é ¾Æ·¡ ¿É¼ÇÀ» ¼±ÅÃÇØ ÁÖ¼¼¿ä. $_CLICK
+# ^Custom
+»ç¿ëÀÚ Á¤ÀÇ
+# ^ComponentsText
+¼³Ä¡¸¦ ¿øÇÏ½Ã´Â ±¸¼º ¿ä¼Ò¸¦ ¼±ÅÃÇÏ¿© ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù. $_CLICK
+# ^ComponentsSubText1
+¼³Ä¡ ÇüÅÂ ¼±ÅÃ:
+# ^ComponentsSubText2_NoInstTypes
+¼³Ä¡ÇÏ·Á´Â ±¸¼º ¿ä¼Ò ¼±ÅÃ:
+# ^ComponentsSubText2
+±¸¼º¿ä¼Ò Á÷Á¢ ¼±ÅÃ:
+# ^UnComponentsText
+Á¦°Å¸¦ ¿øÇÏ´Â ±¸¼º ¿ä¼Ò¸¦ Ã¼Å©ÇØ ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù. $_CLICK
+# ^UnComponentsSubText1
+Á¦°Å ÇüÅÂ ¼±ÅÃ:
+# ^UnComponentsSubText2_NoInstTypes
+Á¦°ÅÇÏ·Á´Â ±¸¼º ¿ä¼Ò ¼±ÅÃ:
+# ^UnComponentsSubText2
+Á¦°ÅÇÏ·Á´Â ±¸¼º¿ä¼Ò Á÷Á¢ ¼±ÅÃ:
+# ^DirText
+$(^NameDA)(À»)¸¦ ´ÙÀ½ Æú´õ¿¡ ¼³Ä¡ÇÒ ¿¹Á¤ÀÔ´Ï´Ù. \r\n´Ù¸¥ Æú´õ¿¡ ¼³Ä¡ÇÏ°í ½ÍÀ¸½Ã¸é 'Ã£¾Æº¸±â' ¹öÆ°À» ´­·¯¼­ ´Ù¸¥ Æú´õ¸¦ ¼±ÅÃÇØ ÁÖ¼¼¿ä. $_CLICK
+# ^DirSubText
+¼³Ä¡ Æú´õ
+# ^DirBrowseText
+$(^NameDA)(À»)¸¦ ´ÙÀ½ Æú´õ¿¡ ¼³Ä¡ÇÕ´Ï´Ù:
+# ^UnDirText
+$(^NameDA)(À»)¸¦ ´ÙÀ½ Æú´õ¿¡¼­ Á¦°ÅÇÒ ¿¹Á¤ÀÔ´Ï´Ù. \r\n´Ù¸¥ Æú´õ¿¡¼­ Á¦°ÅÇÏ°í ½ÍÀ¸½Ã¸é 'Ã£¾Æº¸±â' ¹öÆ°À» ´­·¯¼­ ´Ù¸¥ Æú´õ¸¦ ¼±ÅÃÇØ ÁÖ¼¼¿ä. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+$(^NameDA)(À»)¸¦ ´ÙÀ½ Æú´õ¿¡¼­ Á¦°Å ÇÕ´Ï´Ù:
+# ^SpaceAvailable
+"³²Àº µð½ºÅ© °ø°£: "
+# ^SpaceRequired
+"ÇÊ¿äÇÑ µð½ºÅ© °ø°£: "
+# ^UninstallingText
+½Ã½ºÅÛ¿¡¼­ $(^NameDA)(À»)¸¦ Á¦°Å ÇÒ °ÍÀÔ´Ï´Ù. $_CLICK
+# ^UninstallingText
+Á¦°Å ´ë»ó:
+# ^FileError
+´ÙÀ½ ÆÄÀÏÀ» ¿­ ¼ö ¾ø½À´Ï´Ù.: \r\n\t"$0"\r\n'Áß´Ü'À» ´­·¯ ¼³Ä¡¸¦ Á¾·áÇÏ°Å³ª,\r'´Ù½Ã ½Ãµµ'¸¦ ´­·¯ ´Ù½Ã ½ÃµµÇØ º¸°Å³ª,\r'¹«½Ã'¸¦ ´­·¯ ÀÌ ÆÄÀÏÀ» °Ç³Ê ¶Ù¼¼¿ä.
+# ^FileError_NoIgnore
+´ÙÀ½ ÆÄÀÏÀ» ¿­ ¼ö ¾ø½À´Ï´Ù.: \r\n\t"$0"\r\n'´Ù½Ã ½Ãµµ'¸¦ ´­·¯ ´Ù½Ã ½ÃµµÇØ º¸°Å³ª,\r'Ãë¼Ò'¸¦ ´­·¯ ¼³Ä¡¸¦ Á¾·áÇÏ¼¼¿ä.
+# ^CantWrite
+"±â·ÏÇÒ ¼ö ¾øÀ½: "
+# ^CopyFailed
+º¹»ç ½ÇÆÐ
+# ^CopyTo
+"ÆÄÀÏ º¹»ç "
+# ^Registering
+"µî·ÏÁß: "
+# ^Unregistering
+"µî·Ï ÇØÁ¦Áß: "
+# ^SymbolNotFound
+"½Éº¼À» Ã£À» ¼ö ¾øÀ½: "
+# ^CouldNotLoad
+"ºÒ·¯¿Ã ¼ö ¾øÀ½: "
+# ^CreateFolder
+"Æú´õ »ý¼º: "
+# ^CreateShortcut
+"¹Ù·Î °¡±â »ý¼º: "
+# ^CreatedUninstaller
+"¾ðÀÎ½ºÅç·¯ »ý¼º: "
+# ^Delete
+"ÆÄÀÏ »èÁ¦: "
+# ^DeleteOnReboot
+"ÀçºÎÆÃ½Ã »èÁ¦: "
+# ^ErrorCreatingShortcut
+"¹Ù·Î °¡±â »ý¼º ¿À·ù: "
+# ^ErrorCreating
+"»ý¼º ½ÇÆÐ: "
+# ^ErrorDecompressing
+¾ÐÃà ÇØÁ¦Áß ¿À·ù ¹ß»ý! ¼³Ä¡ ÆÄÀÏÀÌ ¼Õ»óµÇ¾ú½À´Ï´Ù.
+# ^ErrorRegistering
+DLL µî·Ï ½ÇÆÐ
+# ^ExecShell
+"½© ½ÇÇà: "
+# ^Exec
+"½ÇÇà: "
+# ^Extract
+"¾ÐÃà ÇØÁ¦: "
+# ^ErrorWriting
+"¾ÐÃà ÇØÁ¦: ÆÄÀÏÀ» ±â·ÏÇÏ´Â µµÁß ¿À·ù ¹ß»ý "
+# ^InvalidOpcode
+ÀÎ½ºÅç·¯ ¼Õ»óµÊ: Àß¸øµÈ ½ÇÇàÄÚµå
+# ^NoOLE
+"OLE Á¤º¸ ¾øÀ½: "
+# ^OutputFolder
+"´ë»ó Æú´õ: "
+# ^RemoveFolder
+"Æú´õ »èÁ¦: "
+# ^RenameOnReboot
+"ÀçºÎÆÃ½Ã ÀÌ¸§ º¯°æ: "
+# ^Rename
+"ÀÌ¸§ º¯°æ: "
+# ^Skipped
+"°Ç³Ê¶Ü: "
+# ^CopyDetails
+ÀÚ¼¼ÇÑ ³»¿ëÀ» Å¬¸³º¸µå·Î º¹»ç
+# ^LogInstall
+¼³Ä¡ ·Î±× ÀÛ¼º
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Swedish.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Swedish.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Swedish.nsh	(revision 2961)
@@ -0,0 +1,122 @@
+;Compatible with Modern UI 1.72
+;Language: Swedish (1053)
+;By Magnus Bonnevier (magnus.bonnevier@telia.com), updated by Rickard Angbratt (r.angbratt@home.se), updated by Ulf Axelsson (ulf.axelsson@gmail.com)
+
+!insertmacro LANGFILE "Swedish" "Svenska"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Välkommen till installationsguiden för $(^NameDA)."
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Denna guide tar dig igenom installationen av $(^NameDA).$\r$\n$\r$\nDet rekommenderas att du avslutar alla andra program innan du fortsätter installationen. Detta tillåter att installationen uppdaterar nödvändiga systemfiler utan att behöva starta om din dator.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Välkommen till avinstallationsguiden för $(^NameDA)."
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Denna guide tar dig igenom avinstallationen av $(^NameDA).$\r$\n$\r$\nInnan du startar avinstallationen, försäkra dig om att $(^NameDA) inte körs.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Licensavtal"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Var vänlig läs igenom licensvillkoren innan du installerar $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Om du accepterar villkoren i avtalet, klicka Jag Godkänner för att fortsätta. Du måste acceptera avtalet för att installera $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Om du accepterar villkoren i avtalet, klicka i checkrutan nedan. Du måste acceptera avtalet för att installera $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Om du accepterar villkoren i avtalet, välj det första alternativet nedan. Du måste acceptera avtalet för att installera $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Licensavtal"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Var vänlig läs igenom licensvillkoren innan du avinstallerar $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Om du accepterar villkoren i avtalet, klicka Jag Godkänner för att fortsätta. Du måste acceptera avtalet för att avinstallera $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Om du accepterar villkoren i avtalet, klicka i checkrutan nedan. Du måste acceptera avtalet för att avinstallera $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Om du accepterar villkoren i avtalet, välj det första alternativet nedan. Du måste acceptera avtalet för att avinstallera $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Tryck Page Down för att se resten av licensavtalet."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Välj komponenter"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Välj vilka alternativ av $(^NameDA) som du vill installera."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Välj komponenter"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Välj vilka alternativ av $(^NameDA) som du vill avinstallera."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Beskrivning"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Håll muspekaren över ett alternativ för att se dess beskrivning."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Håll muspekaren över ett alternativ för att se dess beskrivning."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Välj installationsväg"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Välj katalog att installera $(^NameDA) i."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Välj avinstallationsväg"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Välj katalog att avinstallera $(^NameDA) från."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Installerar"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Var vänlig vänta medan $(^NameDA) installeras."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Installationen är klar"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Guiden avslutades korrekt."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Installationen avbröts"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Guiden genomfördes inte korrekt."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Avinstallerar"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Var vänlig vänta medan $(^NameDA) avinstalleras."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Avinstallationen genomförd"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Avinstallationen genomfördes korrekt."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Avinstallationen avbruten"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Avinstallationen genomfördes inte korrekt."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Avslutar installationsguiden för $(^NameDA)."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) har installerats på din dator.$\r$\n$\r$\nKlicka på Slutför för att avsluta guiden."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Din dator måste startas om för att fullborda installationen av $(^NameDA). Vill du starta om nu?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Avslutar avinstallationsguiden för $(^NameDA)."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) komponenter har avinstallerats från din dator.$\r$\n$\r$\nKlicka på Slutför för att avsluta guiden."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Din dator måste startas om för att fullborda avinstallationen av $(^NameDA). Vill du starta om nu?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Starta om nu"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Jag vill starta om själv senare"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Kör $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Visa Readme-filen"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Slutför"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Välj Startmenykatalog"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Välj en Startmenykatalog för programmets genvägar."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Välj startmenykatalog i vilken du vill skapa programmets genvägar. Du kan ange ett eget namn för att skapa en ny katalog."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Skapa ej genvägar"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Avinstallera $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Ta bort $(^NameDA) från din dator."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Är du säker på att du vill avbryta installationen av $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Är du säker på att du vill avbryta avinstallationen av $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Arabic.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Arabic.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Arabic.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1025
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1256
+# RTL - anything else than RTL means LTR
+RTL
+# Translation by asdfuae@msn.com, updated by Rami Kattan
+# ^Branding
+äÙÇã ÇáÊäÕíÈ äáÓæÝÊ %s
+# ^SetupCaption
+ÊäÕíÈ $(^Name)
+# ^UninstallCaption
+ÅÒÇáÉ $(^Name)
+# ^LicenseSubCaption
+ÅÊÝÇÞíÉþ ÇáÊÑÎíÕ :
+# ^ComponentsSubCaption
+ÎíÇÑÇÊ ÇáÊäÕíÈ :
+# ^DirSubCaption
+ãÌáÏ ÇáÊäÕíÈ :
+# ^InstallingSubCaption
+ÊäÕíÈ :
+# ^CompletedSubCaption
+ÅäÊåì :
+# ^UnComponentsSubCaption
+ÎíÇÑÇÊ ÇáÅÒÇáÉ :
+# ^UnDirSubCaption
+ãÌáÏ ÇáÅÒÇáÉ :
+# ^ConfirmSubCaption
+ÊÃßíÏ :
+# ^UninstallingSubCaption
+ÅÒÇáÉ :
+# ^UnCompletedSubCaption
+ÅäÊåì :
+# ^BackBtn
+< Çá&ÓÇÈÞ
+# ^NextBtn
+Çá&ÊÇáí >
+# ^AgreeBtn
+ãæÇÝÞ&
+# ^AcceptBtn
+&ÃæÇÝÞ Úáì ÔÑæØ ÇÊÝÇÞíÉ ÇáÊÑÎíÕ
+# ^DontAcceptBtn
+&áÇ ÃæÇÝÞ Úáì ÔÑæØ ÇÊÝÇÞíÉ ÇáÊÑÎíÕ
+# ^InstallBtn
+&ÊäÕíÈ
+# ^UninstallBtn
+&ÅÒÇáÉ
+# ^CancelBtn
+ÅáÛÇÁ
+# ^CloseBtn
+Å&ÛáÇÞ
+# ^BrowseBtn
+&ÚÑÖ...
+# ^ShowDetailsBtn
+Å&ÙåÇÑ ÇáÊÝÇÕíá
+# ^ClickNext
+ÅÖÛØ Úáì ÇáÊÇáí ááãÊÇÈÚÉ.
+# ^ClickInstall
+ÅÖÛØ Úáì ÊäÕíÈ áÊÔÛíá ÇáÊäÕíÈ.
+# ^ClickUninstall
+ÅÖÛØ Úáì ÅÒÇáÉ áÊÔÛíá ÇáÅÒÇáÉ.
+# ^Name
+ÇáÅÓã
+# ^Completed
+ÅäÊåì
+# ^LicenseText
+ÇáÑÌÇÁ ãÑÇÌÚÉ ÅÊÝÇÞíÉ ÇáÊÑÎíÕ ÞÈá ÊäÕíÈ $(^NameDA). ÚäÏ ÇáãæÇÝÞÉ Úáì ÌãíÚ ÔÑæØ ÇáÅÊÝÇÞíÉ¡ ÅÖÛØ ãæÇÝÞ.
+# ^LicenseTextCB
+ÇáÑÌÇÁ ãÑÇÌÚÉ ÅÊÝÇÞíÉ ÇáÊÑÎíÕ ÞÈá ÊäÕíÈ $(^NameDA). ÚäÏ ÇáãæÇÝÞÉ Úáì ÌãíÚ ÔÑæØ ÇáÅÊÝÇÞíÉ¡ ÅÖÛØ Úáì ãÑÈÚ ÇáãÄÔÑ ÇáÊÇáí. $_CLICK.
+# ^LicenseTextRB
+ÇáÑÌÇÁ ãÑÇÌÚÉ ÅÊÝÇÞíÉ ÇáÊÑÎíÕ ÞÈá ÊäÕíÈ $(^NameDA). ÚäÏ ÇáãæÇÝÞÉ Úáì ÌãíÚ ÔÑæØ ÇáÅÊÝÇÞíÉ¡ ÅÎÊÑ ÇáÎíÇÑ ÇáÃæá ÇáÊÇáí. $_CLICK
+# ^UnLicenseText
+ÇáÑÌÇÁ ãÑÇÌÚÉ ÅÊÝÇÞíÉ ÇáÊÑÎíÕ ÞÈá ÅÒÇáÉ $(^NameDA). ÚäÏ ÇáãæÇÝÞÉ Úáì ÌãíÚ ÔÑæØ ÇáÅÊÝÇÞíÉ¡ ÅÖÛØ ãæÇÝÞ.
+# ^UnLicenseTextCB
+ÇáÑÌÇÁ ãÑÇÌÚÉ ÅÊÝÇÞíÉ ÇáÊÑÎíÕ ÞÈá ÅÒÇáÉ $(^NameDA). ÚäÏ ÇáãæÇÝÞÉ Úáì ÌãíÚ ÔÑæØ ÇáÅÊÝÇÞíÉ¡ ÇÖÛØ Úáì ãÑÈÚ ÇáãÄÔÑ ÇáÊÇáí. $_CLICK
+# ^UnLicenseTextRB
+ÇáÑÌÇÁ ãÑÇÌÚÉ ÅÊÝÇÞíÉ ÇáÊÑÎíÕ ÞÈá ÅÒÇáÉ $(^NameDA). ÚäÏ ÇáãæÇÝÞÉ Úáì ÌãíÚ ÔÑæØ ÇáÅÊÝÇÞíÉ¡ ÅÎÊÑ ÇáÎíÇÑ ÇáÃæá ÇáÊÇáí. $_CLICK
+# ^Custom
+ÅÎÊíÇÑí
+# ^ComponentsText
+Úáøã ÇáãßæäÇÊ ÇáãÑÇÏ ÊäÕíÈåÇ æÅÒá ÇáÚáÇãÉ Úä ÇáãßæäÇÊ ÇáÛíÑ ãÑÇÏ ÊäÕíÈåÇ. $_CLICK
+# ^ComponentsSubText1
+ÅÎÊÑ äæÚ ÇáÊäÕíÈ:
+# ^ComponentsSubText2_NoInstTypes
+ÅÎÊÑ ÇáãßæäÇÊ ááÊäÕíÈ:
+# ^ComponentsSubText2
+Ãæ¡ Þã ÈÅÎÊíÇÑ ÇáãßæäÇÊ ÇáÅÎÊíÇÑíÉ ÇáãÑÇÏ ÊäÕíÈåÇ:
+# ^UnComponentsText
+Úáøã ÇáãßæäÇÊ ÇáãÑÇÏ ÅÒÇáÊåÇ æÃÒá ÇáÚáÇãÉ Úä ÇáãßæäÇÊ ÇáÛíÑ ãÑÇÏ ÅÒÇáÊåÇ. $_CLICK
+# ^UnComponentsSubText1
+ÅÎÊÑ äæÚ ÇáÅÒÇáÉ:
+# ^UnComponentsSubText2_NoInstTypes
+ÅÎÊÑ ÇáãßæäÇÊ ááÅÒÇáÉ:
+# ^UnComponentsSubText2
+Ãæ¡ ÅÎÊÑ ÇáãßæäÇÊ ÇáÅÎÊíÇÑíÉ ÇáãÑÇÏ ÅÒÇáÊåÇ:
+# ^DirText
+ÓíÊã ÊäÕíÈ $(^NameDA) Ýí ÇáãÌáÏ ÇáÊÇáí. ááÊäÕíÈ Ýí ãÌáÏ ÂÎÑ¡ ÅÖÛØ ÚÑÖ æÅÎÊÑ ãÌáÏ ÂÎÑ. $_CLICK
+# ^DirSubText
+ãÌáÏ ÇáåÏÝ
+# ^DirBrowseText
+ÅÎÊÑ ÇáãÌáÏ áÊäÕíÈ $(^NameDA) Ýíå:
+# ^UnDirText
+ÓíÊã ÅÒÇáÉ $(^NameDA) ãä ÇáãÌáÏ ÇáÊÇáí. ááÅÒÇáÉ ãä ãÌáÏ ÂÎÑ¡ ÅÖÛØ ÚÑÖ æÃÎÊÑ ãÌáÏ ÂÎÑ. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+ÅÎÊÑ ÇáãÌáÏ áÅÒÇáÉ $(^NameDA) ãäå:
+# ^SpaceAvailable
+"ÇáãÓÇÍÉ ÇáãÊæÝÑÉ: "
+# ^SpaceRequired
+"ÇáãÓÇÍÉ ÇáãØáæÈÉ: "
+# ^UninstallingText
+ÓíÊã ÅÒÇáÉ $(^NameDA) ãä ÇáãÌáÏ ÇáÊÇáí. $_CLICK
+# ^UninstallingSubText
+ÅÒÇáÉ ãä:
+# ^FileError
+ÍÏË Îáá ÃËäÇÁ ÝÊÍ ãáÝ ááßÊÇÈÉ: \r\n\t\"$0\"\r\nÅÖÛØ ÅáÛÇÁ áÅáÛÇÁ ÇáÊäÕíÈ¡\r\nãÍÇæáÉ áÅÚÇÏÉ ãÍÇæáÉ ßÊÇÈÉ ÇáãáÝ¡\r\n ÊÌÇåá áÊÎØí ÇáãáÝ
+# ^FileError_NoIgnore
+ÍÏË Îáá ÃËäÇÁ ÝÊÍ ãáÝ ááßÊÇÈÉ: \r\n\t\"$0\"\r\nÅÖÛØ ãÍÇæáÉ áÅÚÇÏÉ ãÍÇæáÉ ßÊÇÈÉ ÇáãáÝ¡ Ãæ\r\nÅáÛÇÁ áÅáÛÇÁ ÇáÊäÕíÈ
+# ^CantWrite
+"áÇ íÓÊØíÚ ÇáßÊÇÈÉ: "
+# ^CopyFailed
+ÝÔá ÇáäÓÎ
+# ^CopyTo
+"äÓÎ Åáì"
+# ^Registering
+"ÊÓÌíá: "
+# ^Unregistering
+"ÅáÛÇÁ ÊÓÌíá: "
+# ^SymbolNotFound
+"áã íÊãßä ãä ÅíÌÇÏ ÇáÑãÒ :"
+# ^CouldNotLoad
+"áã íÊãßä ãä ÊÍãíá :"
+# ^CreateFolder
+"ÅäÔÇÁ ãÌáÏ"
+# ^CreateShortcut
+"ÅäÔÇÁ ÅÎÊÕÇÑ: "
+# ^CreatedUninstaller
+"ÅäÔÇÁ ãÒíá: "
+# ^Delete
+"ÍÐÝ ãáÝ: "
+# ^DeleteOnReboot
+"ÍÐÝ ÈÚÏ ÅÚÇÏÉ ÇáÊÔÛíá: "
+# ^ErrorCreatingShortcut
+"Îáá ÃËäÇÁ ÅäÔÇÁ ÅÎÊÕÇÑ: "
+# ^ErrorCreating
+"Îáá ÃËäÇÁ ÅäÔÇÁ :"
+# ^ErrorDecompressing
+Îáá ÃËäÇÁ ÝÊÍ ÇáÈíÇäÇÊ ÇáãÖÛæØÉ! ãäÕÈ ÊÇáÝ¿
+# ^ErrorRegistering
+Îáá ÃËäÇÁ ÊÓÌíá DLL
+# ^ExecShell
+"ÊäÝíÐ ExecShell:"
+# ^Exec
+"ÊäÝíÐ: "
+# ^Extract
+"ÅÓÊÎÑÇÌ: "
+# ^ErrorWriting
+"ÅÓÊÎÑÇÌ: Îáá ÃËäÇÁ ÇáßÊÇÈÉ Åáì ãáÝ "
+# ^InvalidOpcode
+ÇáãäÕøÈ ÊÇáÝ: ÔÝÑÉ ÛíÑ ÕÇáÍÉ
+# ^NoOLE
+"áÇ ÊæÌÏ OLE áÜö: "
+# ^OutputFolder
+"ãÌáÏ ÇáÅÎÑÇÌ: "
+# ^RemoveFolder
+"ÅÒÇáÉ ãÌáÏ: "
+# ^RenameOnReboot
+"ÅÚÇÏÉ ÊÓãíÉ ÈÚÏ ÅÚÇÏÉ ÇáÊÔÛíá: "
+# ^Rename
+"ÅÚÇÏÉ ÊÓãíÉ: "
+# ^Skipped
+"ÊÎØì: "
+# ^CopyDetails
+äÓÎ ÇáÊÝÇÕíá Åáì ÇáÐÇßÑÉ
+# ^LogInstall
+ÓÌøá ÚãáíÉ ÇáÊäÕíÈ
+# ^Byte
+ÈÇíÊ
+# ^Kilo
+ßíáæ
+# ^Mega
+ãíÛÇ
+# ^Giga
+ÌíÛÇ
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Welsh.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Welsh.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Welsh.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+1160
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+-
+# RTL - anything else than RTL means LTR
+-
+# Translation by Rhoslyn Prys, Meddal.com
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+Rhaglen Osod $(^Name)
+# ^UninstallCaption
+Rhaglen Dadosod $(^Name)
+# ^LicenseSubCaption
+: Cytundeb Trwyddedu
+# ^ComponentsSubCaption
+: Dewisiadau Gosod
+# ^DirSubCaption
+: Ffolder Gosod
+# ^InstallingSubCaption
+: Gosod
+# ^CompletedSubCaption
+: Cwblhawyd
+# ^UnComponentsSubCaption
+: Dewisiadau Dadosod
+# ^UnDirSubCaption
+: Ffolder Dadosod
+# ^ConfirmSubCaption
+: Cadarnhad
+# ^UninstallingSubCaption
+: Dadosod
+# ^UnCompletedSubCaption
+: Cwblhawyd
+# ^BackBtn
+< &Nôl
+# ^NextBtn
+&Nesaf >
+# ^AgreeBtn
+&Cytuno
+# ^AcceptBtn
+Rwy'n &derbyn Amodau'r Drwydded
+# ^DontAcceptBtn
+Rwy'n &gwrthod Amodau'r Drwydded
+# ^InstallBtn
+&Gosod
+# ^UninstallBtn
+&Dadosod
+# ^CancelBtn
+Diddymu
+# ^CloseBtn
+C&au
+# ^BrowseBtn
+&Pori...
+# ^ShowDetailsBtn
+&Dangos manylion
+# ^ClickNext
+Cliciwch Nesaf i barhau.
+# ^ClickInstall
+Cliciwch Gosod i gychwyn gosod.
+# ^ClickUninstall
+Cliciwch Dadosod i gychwyn dadosod.
+# ^Name
+Enw
+# ^Completed
+Cwblhawyd
+# ^LicenseText
+Darllenwch y cytundeb trwyddedu cyn gosod $(^NameDA). Os ydych yn derbyn holl amodau'r cytundeb, cliciwch Cytuno.
+# ^LicenseTextCB
+Darllenwch y cytundeb trwyddedu cyn gosod $(^NameDA). Os ydych yn derbyn holl amodau'r cytundeb, cliciwch y blwch ticio isod. $_CLICK
+# ^LicenseTextRB
+Darllenwch y cytundeb trwyddedu cyn gosod $(^NameDA). Os ydych yn derbyn holl amodau'r cytundeb, ticiwch y dewis cyntaf isod. $_CLICK
+# ^UnLicenseText
+Darllenwch y cytundeb trwyddedu cyn dadosod $(^NameDA). Os ydych yn derbyn holl amodau'r cytundeb, cliciwch Cytuno.
+# ^UnLicenseTextCB
+Darllenwch y cytundeb trwyddedu cyn dadosod $(^NameDA). Os ydych yn derbyn holl amodau'r cytundeb, cliciwch y blwch ticio isod. $_CLICK
+# ^UnLicenseTextRB
+Darllenwch y cytundeb trwyddedu cyn dadosod $(^NameDA). Os ydych yn derbyn holl amodau'r cytundeb, ticiwch y dewis cyntaf isod. $_CLICK
+# ^Custom
+Addasu
+# ^ComponentsText
+Ticiwch y cydrannau rydych am eu gosod a dad-dicio'r cydrannau nad ydych am eu gosod. $_CLICK
+# ^ComponentsSubText1
+Dewis y math o osod:
+# ^ComponentsSubText2_NoInstTypes
+Dewis cydrannau i'w gosod:
+# ^ComponentsSubText2
+Neu, ddewis y cydrannau ychwanegol i'w gosod:
+# ^UnComponentsText
+Ticiwch y cydrannau rydych am eu dadosod a dad-dicio'r cydrannau nad ydych am eu dadosod. $_CLICK
+# ^UnComponentsSubText1
+Dewis y math o ddadosod:
+# ^UnComponentsSubText2_NoInstTypes
+Dewis cydrannau i'w dadosod:
+# ^UnComponentsSubText2
+Neu, ddewis y cydrannau ychwanegol i'w dadosod:
+# ^DirText
+Bydd y Rhaglen Osod yn gosod $(^NameDA) yn y ffolder canlynol. I'w osod mewn ffolder gwahanol, cliciwch Pori a dewis ffolder arall. $_CLICK
+# ^DirSubText
+Ffolder Cyrchfan
+# ^DirBrowseText
+Dewis y ffolder i osod $(^NameDA) ynddo:
+# ^UnDirText
+Bydd y Rhegen Osod yn dadosod $(^NameDA) o'r ffolder canlynol. I ddadosod o ffolder gwahanol, cliciwch Pori a dewis ffolder arall. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Dewis ffolder i ddadosod $(^NameDA) ohono:
+# ^SpaceAvailable
+"Lle ar gael: "
+# ^SpaceRequired
+"Lle angenrheidiol: "
+# ^UninstallingText
+Bydd $(^NameDA) yn cael ei ddadosod o'r ffolder canlynol. $_CLICK
+# ^UninstallingSubText
+Dadosod o:
+# ^FileError
+Gwall agor ffeil i'w hysgrifennu: \r\n\r\n$0\r\n\r\nCliciwch Atal i atal y gosod,\r\nEto i geisio eto, neu\r\nAnwybyddu i hepgor y ffeil.
+# ^FileError_NoIgnore
+Gwall agor ffeil i'w hysgrifennu: \r\n\r\n$0\r\n\r\nCliciwch Eto i geisio eto, neu\r\nDiddymu i atal y gosod.
+# ^CantWrite
+"Methu ysgrifennu: "
+# ^CopyFailed
+Methu Copïo
+# ^CopyTo
+"Copïo i "
+# ^Registering
+"Cofrestru: "
+# ^Unregistering
+"Dadgofrestru: "
+# ^SymbolNotFound
+"Methu canfod symbol: "
+# ^CouldNotLoad
+"Methu llwytho: "
+# ^CreateFolder
+"Creu ffolder: "
+# ^CreateShortcut
+"Creu llwybr byr: "
+# ^CreatedUninstaller
+"Creu dadosodwr: "
+# ^Delete
+"Dileu ffeil: "
+# ^DeleteOnReboot
+"Dileu wrth ailgychwyn: "
+# ^ErrorCreatingShortcut
+"Gwall wrth greu llwybr byr: "
+# ^ErrorCreating
+"Gwall wrth greu: "
+# ^ErrorDecompressing
+Gwall wrth ddatgywasgu data! Gosodwr llwgr?
+# ^ErrorRegistering
+Gwall cofrestru DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Gweithredu: "
+# ^Extract
+"Echdynnu: "
+# ^ErrorWriting
+"Echdynnu: gwall ysgrifennu i ffeil "
+# ^InvalidOpcode
+Gosodwr llwgr: opcode annilys
+# ^NoOLE
+"Dim OLE ar gyfer: "
+# ^OutputFolder
+"Ffolder allbwn: "
+# ^RemoveFolder
+"Tynnu ffolder: "
+# ^RenameOnReboot
+"Ailenwi wrth ailgychwyn: "
+# ^Rename
+"Ailenwi: "
+# ^Skipped
+"Hepgor: "
+# ^CopyDetails
+Copïo Manylion i'r Clipfwrdd
+# ^LogInstall
+Cofnodi'r brosed gosod
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Russian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Russian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Russian.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1049
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1251
+# RTL - anything else than RTL means LTR
+-
+# Translation by Timon [ timon@front.ru ] + 20030919
+# Translation updated by Dmitry Yerokhin [erodim@mail.ru] (050424)
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+Óñòàíîâêà $(^Name)
+# ^UninstallCaption
+Óäàëåíèå $(^Name)
+# ^LicenseSubCaption
+: Ëèöåíçèîííîå ñîãëàøåíèå
+# ^ComponentsSubCaption
+: Ïàðàìåòðû óñòàíîâêè
+# ^DirSubCaption
+: Ïàïêà óñòàíîâêè
+# ^InstallingSubCaption
+: Êîïèðîâàíèå ôàéëîâ
+# ^CompletedSubCaption
+: Îïåðàöèÿ çàâåðøåíà
+# ^UnComponentsSubCaption
+: Ïàðàìåòðû óäàëåíèÿ
+# ^UnDirSubCaption
+: Ïàïêà óäàëåíèÿ
+# ^ConfirmSubCaption
+: Ïîäòâåðæäåíèå
+# ^UninstallingSubCaption
+: Óäàëåíèå ôàéëîâ
+# ^UnCompletedSubCaption
+: Îïåðàöèÿ çàâåðøåíà
+# ^BackBtn
+< &Íàçàä
+# ^NextBtn
+&Äàëåå >
+# ^AgreeBtn
+Ïðèíèìà&þ
+# ^AcceptBtn
+ß &ïðèíèìàþ óñëîâèÿ ñîãëàøåíèÿ
+# ^DontAcceptBtn
+ß &íå ïðèíèìàþ óñëîâèÿ ñîãëàøåíèÿ
+# ^InstallBtn
+&Óñòàíîâèòü
+# ^UninstallBtn
+Óä&àëèòü
+# ^CancelBtn
+Îòìåíà
+# ^CloseBtn
+&Çàêðûòü
+# ^BrowseBtn
+Î&áçîð ...
+# ^ShowDetailsBtn
+&Äåòàëè...
+# ^ClickNext
+Íàæìèòå êíîïêó 'Äàëåå' äëÿ ïðîäîëæåíèÿ.
+# ^ClickInstall
+Íàæìèòå êíîïêó 'Óñòàíîâèòü', ÷òîáû óñòàíîâèòü ïðîãðàììó.
+# ^ClickUninstall
+Íàæìèòå êíîïêó 'Óäàëèòü', ÷òîáû óäàëèòü ïðîãðàììó.
+# ^Name
+Èìÿ
+# ^Completed
+Ãîòîâî
+# ^LicenseText
+Ïåðåä óñòàíîâêîé $(^NameDA) îçíàêîìüòåñü ñ ëèöåíçèîííûì ñîãëàøåíèåì. Åñëè âû ïðèíèìàåòå óñëîâèÿ ñîãëàøåíèÿ, íàæìèòå êíîïêó 'Ïðèíèìàþ'.
+# ^LicenseTextCB
+Ïåðåä óñòàíîâêîé $(^NameDA) îçíàêîìüòåñü ñ ëèöåíçèîííûì ñîãëàøåíèåì. Åñëè âû ïðèíèìàåòå óñëîâèÿ ñîãëàøåíèÿ, óñòàíîâèòå ôëàæîê íèæå. $_CLICK
+# ^LicenseTextRB
+Ïåðåä óñòàíîâêîé $(^NameDA) îçíàêîìüòåñü ñ ëèöåíçèîííûì ñîãëàøåíèåì. Åñëè âû ïðèíèìàåòå óñëîâèÿ ñîãëàøåíèÿ, âûáåðèòå ïåðâûé âàðèàíò èç ïðåäëîæåííûõ íèæå. $_CLICK
+# ^UnLicenseText
+Ïåðåä óñòàíîâêîé $(^NameDA) îçíàêîìüòåñü ñ ëèöåíçèîííûì ñîãëàøåíèåì. Åñëè âû ïðèíèìàåòå óñëîâèÿ ñîãëàøåíèÿ, íàæìèòå êíîïêó 'Ïðèíèìàþ'.
+# ^UnLicenseTextCB
+Ïåðåä óñòàíîâêîé $(^NameDA) îçíàêîìüòåñü ñ ëèöåíçèîííûì ñîãëàøåíèåì. Åñëè âû ïðèíèìàåòå óñëîâèÿ ñîãëàøåíèÿ, óñòàíîâèòå ôëàæîê íèæå. $_CLICK
+# ^UnLicenseTextRB
+Ïåðåä óñòàíîâêîé $(^NameDA) îçíàêîìüòåñü ñ ëèöåíçèîííûì ñîãëàøåíèåì. Åñëè âû ïðèíèìàåòå óñëîâèÿ ñîãëàøåíèÿ, âûáåðèòå ïåðâûé âàðèàíò èç ïðåäëîæåííûõ íèæå. $_CLICK
+# ^Custom
+Ïî âûáîðó
+# ^ComponentsText
+Âûáåðèòå êîìïîíåíòû ïðîãðàììû, êîòîðûå âû õîòèòå óñòàíîâèòü. $_CLICK
+# ^ComponentsSubText1
+Âûáåðèòå òèï óñòàíîâêè:
+# ^ComponentsSubText2_NoInstTypes
+Âûáåðèòå êîìïîíåíòû ïðîãðàììû äëÿ óñòàíîâêè:
+# ^ComponentsSubText2
+èëè âûáåðèòå äîïîëíèòåëüíûå êîìïîíåíòû äëÿ óñòàíîâêè:
+# ^UnComponentsText
+Âûáåðèòå êîìïîíåíòû, êîòîðûå âû õîòèòå óäàëèòü. $_CLICK
+# ^UnComponentsSubText1
+Âûáåðèòå òèï óäàëåíèÿ:
+# ^UnComponentsSubText2_NoInstTypes
+Âûáåðèòå êîìïîíåíòû äëÿ óäàëåíèÿ:
+# ^UnComponentsSubText2
+èëè âûáåðèòå äîïîëíèòåëüíûå êîìïîíåíòû äëÿ óäàëåíèÿ:
+# ^DirText
+Ïðîãðàììà óñòàíîâèò $(^NameDA) â óêàçàííóþ ïàïêó. ×òîáû óñòàíîâèòü ïðèëîæåíèå â äðóãóþ ïàïêó, íàæìèòå êíîïêó 'Îáçîð' è óêàæèòå åå. $_CLICK
+# ^DirSubText
+Ïàïêà óñòàíîâêè
+# ^DirBrowseText
+Óêàæèòå ïàïêó äëÿ óñòàíîâêè $(^NameDA):
+# ^UnDirText
+Ïðîãðàììà óäàëèò $(^NameDA) èç óêàçàííîé ïàïêè. ×òîáû âûïîëíèòü óäàëåíèå èç äðóãîé ïàïêè, íàæìèòå êíîïêó 'Îáçîð' è óêàæèòå åå. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Óêàæèòå ïàïêó, èç êîòîðîé íóæíî óäàëèòü $(^NameDA):
+# ^SpaceAvailable
+"Äîñòóïíî íà äèñêå: "
+# ^SpaceRequired
+"Òðåáóåòñÿ íà äèñêå: "
+# ^UninstallingText
+Ïðîãðàììà $(^NameDA) áóäåò óäàëåíà èç âàøåãî ÏÊ. $_CLICK
+# ^UninstallingSubText
+Óäàëåíèå èç:
+# ^FileError
+Íåâîçìîæíî îòêðûòü ôàéë äëÿ çàïèñè: \r\n\t"$0"\r\n'Ïðåðâàòü': îñòàíîâèòü óñòàíîâêó;\r\n"Ïîâòîð": ïîâòîðèòü ïîïûòêó;\r\n"Ïðîïóñê": ïðîïóñòèòü ýòî äåéñòâèå.
+# ^FileError_NoIgnore
+Íåâîçìîæíî îòêðûòü ôàéë äëÿ çàïèñè: \r\n\t"$0"\r\n'Ïîâòîð': ïîâòîðèòü ïîïûòêó;\r\n'Îòìåíà': ïðåðâàòü ïðîöåññ óñòàíîâêè.
+# ^CantWrite
+"Íåâîçìîæíî çàïèñàòü: "
+# ^CopyFailed
+Îøèáêà ïðè êîïèðîâàíèè
+# ^CopyTo
+"Êîïèðîâàíèå â "
+# ^Registering
+"Ðåãèñòðàöèÿ: "
+# ^Unregistering
+"Äå-ðåãèñòðàöèÿ: "
+# ^SymbolNotFound
+"Íåâîçìîæíî íàéòè ñèìâîë: "
+# ^CouldNotLoad
+"Íåâîçìîæíî çàãðóçèòü: "
+# ^CreateFolder
+"Ñîçäàíèå ïàïêè: "
+# ^CreateShortcut
+"Ñîçäàíèå ÿðëûêà: "
+# ^CreatedUninstaller
+"Ñîçäàíèå ïðîãðàììû óäàëåíèÿ: "
+# ^Delete
+"Óäàëåíèå ôàéëà: "
+# ^DeleteOnReboot
+"Óäàëåíèå ïðè ïåðåçàãðóçêå ÏÊ: "
+# ^ErrorCreatingShortcut
+"Îøèáêà ñîçäàíèÿ ÿðëûêà: " 
+# ^ErrorCreating
+"Îøèáêà ñîçäàíèÿ: "
+# ^ErrorDecompressing
+Îøèáêà ðàñïàêîâêè äàííûõ! Âîçìîæíî, ïîâðåæä¸í äèñòðèáóòèâ.
+# ^ErrorRegistering
+Íåâîçìîæíî çàðåãèñòðèðîâàòü áèáëèîòåêó (DLL)
+# ^ExecShell
+"Âûïîëíåíèå êîìàíäû îáîëî÷êè: " 
+# ^Exec
+"Âûïîëíåíèå: "
+# ^Extract
+"Èçâëå÷åíèå: "
+# ^ErrorWriting
+"Èçâëå÷åíèå: îøèáêà çàïèñè ôàéëà "
+# ^InvalidOpcode
+Äèñòðèáóòèâ ïîâðåæäåí: íåäîïóñòèìûé êîä
+# ^NoOLE
+"Íåò OLE äëÿ: " 
+# ^OutputFolder
+"Ïàïêà óñòàíîâêè: "
+# ^RemoveFolder
+"Óäàëåíèå ïàïêè: "
+# ^RenameOnReboot
+"Ïåðåèìåíîâàíèå ïðè ïåðåçàãðóçêå ÏÊ: "
+# ^Rename
+"Ïåðåèìåíîâàíèå: "
+# ^Skipped
+"Ïðîïóñê: "
+# ^CopyDetails
+Êîïèðîâàòü ñâåäåíèÿ â áóôåð îáìåíà 
+# ^LogInstall
+Âåñòè îò÷åò óñòàíîâêè
+# byte
+áàéò
+# kilo
+ Ê
+# mega
+ Ì
+# giga
+ Ã
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SerbianLatin.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SerbianLatin.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SerbianLatin.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Serbian Latin (2074)
+;Translation by Srðan Obuæina <obucina@srpskijezik.edu.yu>
+
+!insertmacro LANGFILE "SerbianLatin" "Serbian Latin"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Dobrodošli u vodiè za instalaciju programa $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Biæete voðeni kroz proces instalacije programa $(^NameDA).$\r$\n$\r$\nPreporuèljivo je da iskljuèite sve druge programe pre poèetka instalacije. Ovo može omoguæiti ažuriranje sistemskih fajlova bez potrebe za ponovnim pokretanjem raèunara.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Dobrodošli u deinstalaciju programa $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Biæete voðeni kroz proces deinstalacije programa $(^NameDA).$\r$\n$\r$\nPre poèetka deinstalacije, uverite se da je program $(^NameDA) iskljuèen. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Dogovor o pravu korišæenja"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Pažljivo proèitajte dogovor o pravu korišæenja pre instalacije programa $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Ako prihvatate sve uslove dogovora, pritisnite dugme „Prihvatam“ za nastavak. Morate prihvatiti dogovor da biste instalirali program $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Ako prihvatate sve uslove dogovora, obeležite kvadratiæ ispod. Morate prihvatiti dogovor da biste instalirali program $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Ako prihvatate sve uslove dogovora, izaberite prvu opciju ispod. Morate prihvatiti dogovor da biste instalirali program $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Dogovor o pravu korišæenja"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Pažlivo proèitajte dogovor o pravu korišæenja pre deinstalacije programa $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Ako prihvatate sve uslove dogovora, pritisnite dugme „Prihvatam“ za nastavak. Morate prihvatiti dogovor da biste deinstalirali program $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Ako prihvatate sve uslove dogovora, obeležite kvadratiæ ispod. Morate prihvatiti dogovor da biste deinstalirali program $(^NameDA). $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Ako prihvatate sve uslove dogovora, izaberite prvu opciju ispod. Morate prihvatiti dogovor da biste deinstalirali program $(^NameDA). $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Pritisnite Page Down da biste videli ostatak dogovora."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Izbor komponenti za instalaciju"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Izaberite komponente za instalaciju. Instaliraju se samo oznaèene komponente."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Izbor komponenti za deinstalaciju"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Izaberite komponente za deinstalaciju. Deinstaliraju se samo oznaèene komponente."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Opis"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Preðite kursorom miša preko imena komponente da biste videli njen opis."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Preðite kursorom miša preko imena komponente da biste videli njen opis."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Izbor foldera za instalaciju"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Izaberite folder u koji æete instalirati program $(^NameDA)."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Izbor foldera za deinstalaciju"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Izaberite folder iz koga æete deinstalirati program $(^NameDA)."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Instalacija"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Saèekajte dok se program $(^NameDA) instalira."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Završena instalacija"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "Instalacija je uspešno završena."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Prekinuta instalacija"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Instalacija je prekinuta i nije uspešno završena."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Deinstalacija"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Saèekajte dok se program $(^NameDA) deinstalira."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Završena deinstalacija"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Deinstalacija je uspešno završena."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Prekinuta deinstalacija"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Deinstalacija je prekinuta i nije uspešno završena."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Završena instalacija programa $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "Program $(^NameDA) je instaliran na raèunar.$\r$\n$\r$\nPritisnite dugme „Kraj“ za zatvaranje ovog prozora."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Raèunar mora biti ponovo pokrenut da bi se proces instalacije programa $(^NameDA) uspešno završio. Želite li to odmah da uradite?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Završena deinstalacija programa $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "Program $(^NameDA) je deinstaliran sa raèunara.$\r$\n$\r$\nPritisnite dugme „Kraj“ za zatvaranje ovog prozora."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Raèunar mora biti ponovo pokrenut da bi se proces deinstalacije programa $(^NameDA) uspešno završio. Želite li to da uradite odmah?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Odmah ponovo pokreni raèunar"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Bez ponovnog pokretanja"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "Pokreni program $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Prikaži ProèitajMe fajl"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "Kraj"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Izbor foldera u Start meniju"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Izaberite folder u Start meniju u kome æete kreirati preèice."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Izaberite folder u Start meniju u kome želite da budu kreirane preèice programa. Možete upisati i ime za kreiranje novog foldera."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Bez kreiranja preèica"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Deinstalacija programa $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Deinstalacija programa $(^NameDA) sa raèunara."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Sigurno želite da prekinete instalaciju programa $(^Name)?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "Sigurno želite da prekinete deinstalaciju programa $(^Name)?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Thai.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Thai.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Thai.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+1054
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+874
+# RTL - anything else than RTL means LTR
+-
+# Translation by SoKoOLz, TuW@nNu (asdfuae)
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) µÔ´µÑé§
+# ^UninstallCaption
+$(^Name) Â¡àÅÔ¡¡ÒÃµÔ´µÑé§
+# ^LicenseSubCaption
+: ¢éÍµ¡Å§àÃ×èÍ§ÅÔ¢ÊÔ·¸Ôì
+# ^ComponentsSubCaption
+: µÑÇàÅ×Í¡¡ÒÃµÔ´µÑé§
+# ^DirSubCaption
+: á¿éÁ·ÕèµÔ´µÑé§
+# ^InstallingSubCaption
+: ¡ÓÅÑ§µÔ´µÑé§
+# ^CompletedSubCaption
+: àÊÃç¨ÊÔé¹
+# ^UnComponentsSubCaption
+: µÑÇàÅ×Í¡Â¡àÅÔ¡¡ÒÃµÔ´µÑé§
+# ^UnDirSubCaption
+: á¿éÁ·ÕèÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§
+# ^ConfirmSubCaption
+: Â×¹ÂÑ¹
+# ^UninstallingSubCaption
+: ¡ÓÅÑ§Â¡àÅÔ¡¡ÒÃµÔ´µÑé§
+# ^UnCompletedSubCaption
+: àÊÃç¨ÊÔé¹
+# ^BackBtn
+< &¡ÅÑºä»
+# ^NextBtn
+&µèÍä» >
+# ^AgreeBtn
+&µ¡Å§
+# ^AcceptBtn
+&µ¡Å§ÂÍÁÃÑº¢éÍµèÒ§æã¹ËÑÇ¢éÍÅÔ¢ÊÔ·¸Ôì 
+# ^DontAcceptBtn
+&äÁèÂÍÁÃÑº¢éÍµèÒ§æã¹ËÑÇ¢éÍÅÔ¢ÊÔ·¸Ôì
+# ^InstallBtn
+&µÔ´µÑé§
+# ^UninstallBtn
+&Â¡àÅÔ¡¡ÒÃµÔ´µÑé§
+# ^CancelBtn
+Â¡àÅÔ¡
+# ^CloseBtn
+&»Ô´
+# ^BrowseBtn
+à&ÃÕÂ¡´Ù...
+# ^ShowDetailsBtn
+&ÃÒÂÅÐàÍÕÂ´
+# ^ClickNext
+¡´ µèÍä» à¾×èÍàÃÔèÁÃÐººÍÑµÔâ¹ÁÑµÔ
+# ^ClickInstall
+¡´  µÔ´µÑé§ à¾×èÍ·Ó¡ÒÃµÔ´µÑé§
+# ^ClickUninstall
+¡´  Â¡àÅÔ¡¡ÒÃµÔ´µÑé§ à¾×èÍÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§
+# ^Name
+ª×èÍ
+# ^Completed
+àÊÃç¨ÊÔé¹áÅéÇ
+# ^LicenseText
+â»Ã´ÍèÒ¹·Ç¹àÃ×èÍ§¡ÒÃÂÍÁÃÑºã¹ÅÔ¢ÊÔ·¸Ôì¡èÍ¹·Õè¤Ø³¨Ð·Ó¡ÒÃµÔ´µÑé§ $(^NameDA). ¶éÒ¤Ø³ÂÍÁÃÑº¢éÍµ¡Å§ã¹·Ø¡æ´éÒ¹, ¡´ ©Ñ¹ÂÍÁÃÑº
+# ^LicenseTextCB
+â»Ã´ÍèÒ¹·Ç¹àÃ×èÍ§¡ÒÃÂÍÁÃÑºã¹ÅÔ¢ÊÔ·¸Ôì¡èÍ¹·Õè¤Ø³¨Ð·Ó¡ÒÃµÔ´µÑé§ $(^NameDA). ¶éÒ¤Ø³ÂÍÁÃÑº¢éÍµ¡Å§ã¹·Ø¡æ´éÒ¹, ¡´àÅ×Í¡·Õè¡ÅèÍ§´éÒ¹ÅèÒ§. $_CLICK
+# ^LicenseTextRB
+â»Ã´ÍèÒ¹·Ç¹àÃ×èÍ§¡ÒÃÂÍÁÃÑºã¹ÅÔ¢ÊÔ·¸Ôì¡èÍ¹·Õè¤Ø³¨Ð·Ó¡ÒÃµÔ´µÑé§ $(^NameDA). ¶éÒ¤Ø³ÂÍÁÃÑº¢éÍµ¡Å§ã¹·Ø¡æ´éÒ¹, àÅ×Í¡µÑÇàÅ×Í¡áÃ¡¢éÒ§ÅèÒ§. $_CLICK
+# ^UnLicenseText
+â»Ã´ÍèÒ¹·Ç¹àÃ×èÍ§¡ÒÃÂÍÁÃÑºã¹ÅÔ¢ÊÔ·¸Ôì¡èÍ¹·Õè¤Ø³¨Ð·Ó¡ÒÃÂ¡àÅÔ¡µÔ´µÑé§ $(^NameDA). ¶éÒ¤Ø³ÂÍÁÃÑº¢éÍµ¡Å§ã¹·Ø¡æ´éÒ¹, ¡´ ©Ñ¹ÂÍÁÃÑº
+# ^UnLicenseTextCB
+â»Ã´ÍèÒ¹·Ç¹àÃ×èÍ§¡ÒÃÂÍÁÃÑºã¹ÅÔ¢ÊÔ·¸Ôì¡èÍ¹·Õè¤Ø³¨Ð·Ó¡ÒÃÂ¡àÅÔ¡µÔ´µÑé§ $(^NameDA). ¶éÒ¤Ø³ÂÍÁÃÑº¢éÍµ¡Å§ã¹·Ø¡æ´éÒ¹, ¡´àÅ×Í¡·Õè¡ÅèÍ§´éÒ¹ÅèÒ§. $_CLICK
+# ^UnLicenseTextRB
+â»Ã´ÍèÒ¹·Ç¹àÃ×èÍ§¡ÒÃÂÍÁÃÑºã¹ÅÔ¢ÊÔ·¸Ôì¡èÍ¹·Õè¤Ø³¨Ð·Ó¡ÒÃÂ¡àÅÔ¡µÔ´µÑé§ $(^NameDA). ¶éÒ¤Ø³ÂÍÁÃÑº¢éÍµ¡Å§ã¹·Ø¡æ´éÒ¹, àÅ×Í¡µÑÇàÅ×Í¡áÃ¡¢éÒ§ÅèÒ§. $_CLICK
+# ^Custom
+¡ÓË¹´àÍ§
+# ^ComponentsText
+àÅ×èÍ¡ÊÔè§·Õè¤Ø³µéÍ§¡ÒÃµÔ´µÑé§áÅÐäÁèàÅ×Í¡ÊÔè§·Õè¤Ø³äÁèµéÍ§¡ÒÃµÔ´µÑé§ $_CLICK
+# ^ComponentsSubText1
+àÅ×Í¡ÇÔ¸Õ¡ÒÃ¡ÒÃµÔ´µÑé§:
+# ^ComponentsSubText2_NoInstTypes
+àÅ×Í¡ÊÔè§·Õè¤Ø³µéÍ§¡ÒÃµÔ´µÑé§:
+# ^ComponentsSubText2
+ËÃ×Í, àÅ×Í¡µÑÇàÅ×Í¡·Õè¤Ø³µéÍ§¡ÒÃµÔ´µÑé§:
+# ^UnComponentsText
+àÅ×Í¡µÑÇàÅ×Í¡·Õè¤Ø³µéÍ§¡ÒÃ¨ÐÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§áÅÐäÁèàÅ×Í¡ÊÔè§·Õè¤Ø³äÁèµéÍ§¡ÒÃ¨ÐÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§ $_CLICK
+# ^UnComponentsSubText1
+àÅ×Í¡ÇÔ¸Õ¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§:
+# ^UnComponentsSubText2_NoInstTypes
+àÅ×Í¡µÑÇàÅ×Í¡·ÕèµéÍ§¡ÒÃ¨ÐÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§:
+# ^UnComponentsSubText2
+ËÃ×Í, àÅ×Í¡¨Ò¡µÑÇàÅ×Í¡Í×è¹æ·Õè¤Ø³µéÍ§¡ÒÃ¨ÐÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§:
+# ^DirText
+µÑÇµÔ´µÑé§¨Ð·Ó¡ÒÃµÔ´µÑé§ $(^NameDA) Å§ã¹á¿éÁ´Ñ§µèÍä»¹Õé, ¶éÒµéÍ§¡ÒÃµÔ´µÑé§Å§ã¹á¿éÁÍ×è¹, ¡´ àÃÕÂ¡´ÙáÅÐàÅ×Í¡á¿éÁÍ×è¹ $_CLICK
+# ^DirSubText
+á¿éÁ·ÕèµéÍ§¡ÒÃµÔ´µÑé§
+# ^DirBrowseText
+àÅ×Í¡á¿éÁ·ÕèµéÍ§¡ÒÃµÔ´µÑé§ $(^NameDA) ã¹:
+# ^UnDirText
+µÑÇµÔ´µÑé§¨Ð·Ó¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§ $(^NameDA) ¨Ò¡á¿éÁ´Ñ§µèÍä»¹Õé, ¶éÒµéÍ§¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§¨Ò¡á¿éÁÍ×è¹, ¡´ àÃÕÂ¡´Ù áÅÐàÅ×Í¡á¿éÁÍ×è¹ $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+àÅ×Í¡á¿éÁ·ÕèµéÍ§¡ÒÃÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§ $(^NameDA) ¨Ò¡:
+# ^SpaceAvailable
+"ÁÕ¾×é¹·ÕèàËÅ×Í: "
+# ^SpaceRequired
+"µéÍ§¡ÒÃ¾×é¹·Õè: "
+# ^UninstallingText
+$(^NameDA) ¨Ð¶Ù¡Â¡àÅÔ¡¡ÒÃµÔ´µÑé§¨Ò¡á¿éÁµèÍä»¹Õé. $_CLICK
+# ^UninstallingSubText
+Â¡àÅÔ¡¡ÒÃµÔ´µÑé§¨Ò¡:
+# ^FileError
+äÁèÊÒÁÒÃ¶à»Ô´ä¿ÅìÊÓËÃÑºà¢ÕÂ¹ä´é: \r\n\r\n$0\r\n\r\n¡´ Â¡àÅÔ¡ à¾×èÍËÂØ´¡ÒÃµÔ´µÑé§,\r\nÅÍ§ÍÕ¡¤ÃÑé§ à¾×èÍÅÍ§ÍÕ¡¤ÃÑé§, ËÃ×Í\r\nà¾Ô¡à©Â à¾×èÍ¢éÒÁä¿Åì¹Õé.
+# ^FileError_NoIgnore
+äÁèÊÒÁÒÃ¶à»Ô´ä¿ÅìÊÓËÃÑºà¢ÕÂ¹ä´é: \r\n\r\n$0\r\n\r\n¡´ ÅÍ§ÍÕ¡¤ÃÑé§ à¾×èÍÅÍ§ÍÕ¡¤ÃÑé§, ËÃ×Í\r\nÂ¡àÅÔ¡à¾×èÍËÂØ´¡ÒÃµÔ´µÑé§
+# ^CantWrite
+"äÁèÊÒÁÒÃ¶à¢ÕÂ¹: "
+# ^CopyFailed
+¤Ñ´ÅÍ¡¼Ô´¾ÅÒ´
+# ^CopyTo
+"¤Ñ´ÅÍ¡ä»ÂÑ§ "
+# ^Registering
+"¡ÓÅÑ§Å§·ÐàºÕÂ¹: "
+# ^Unregistering
+"Â¡àÅÔ¡¡ÒÃÅ§·ÐàºÕÂ¹: "
+# ^SymbolNotFound
+"äÁèÊÒÁÒÃ¶ËÒÊÑ­ÅÑ¡É³ìä´é: "
+# ^CouldNotLoad
+"äÁèÊÒÁÒÃ¶âËÅ´ä´é: "
+# ^CreateFolder
+"ÊÃéÒ§á¿éÁ: "
+# ^CreateShortcut
+"ÊÃéÒ§ªÍÃìµ¤Ñ·: "
+# ^CreatedUninstaller
+"ÊÃéÒ§µÑÇÂ¡àÅÔ¡¡ÒÃµÔ´µÑé§: "
+# ^Delete
+"Åºä¿Åì: "
+# ^DeleteOnReboot
+"ÅºµÍ¹ÃÕºÙ·: "
+# ^ErrorCreatingShortcut
+"ÁÕ»Ñ­ËÒÊÃéÒ§ä¿ÅìªÍÃìµ¤Ñ·: "
+# ^ErrorCreating
+"ÁÕ»Ñ­ËÒã¹¡ÒÃÊÃéÒ§ä¿Åì: "
+# ^ErrorDecompressing
+ÁÕ»Ñ­ËÒã¹¡ÒÃ¤ÅÒÂ¢éÍÁÙÅ! à¡Ô´¢éÍ¼Ô´¾ÅÒ´¨Ò¡µÑÇµÔ´µÑé§?
+# ^ErrorRegistering
+ÁÕ»Ñ­ËÒã¹¡ÒÃÅ§·ÐàºÕÂ¹ DLL
+# ^ExecShell
+"ÃÑ¹àªÅÅìä¿Åì: "
+# ^Exec
+"ÃÑ¹ä¿Åì: "
+# ^Extract
+"áµ¡ä¿Åì: "
+# ^ErrorWriting
+"áµ¡ä¿Åì: à¡Ô´»Ñ­ËÒã¹¡ÒÃà¢ÕÂ¹ä¿Åì"
+# ^InvalidOpcode
+µÑÇµÔ´µÑé§ÁÕ»Ñ­ËÒ: ÃËÑÊ opcode ¼Ô´¾ÅÒ´
+# ^NoOLE
+"äÁèÁÕ OLE ÊÓËÃÑº: "
+# ^OutputFolder
+"á¿éÁ·ÕµÔ´µÑé§: "
+# ^RemoveFolder
+"Åºá¿éÁ: "
+# ^RenameOnReboot
+"à»ÅÕèÂ¹ª×èÍµÍ¹ÃÕºÙ·: "
+# ^Rename
+"à»ÅÕèÂ¹ª×èÍ: "
+# ^Skipped
+"¢éÒÁ: "
+# ^CopyDetails
+¤Ñ´ÅÍ¡ÃÒÂÅÐàÍÕÂ´Å§¤ÅÔ»ºÍÃì´
+# ^LogInstall
+ºÑ¹·Ö¡¡ÒÃµÔ´µÑé§
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/PortugueseBR.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/PortugueseBR.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/PortugueseBR.nlf	(revision 2961)
@@ -0,0 +1,192 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+1046
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by Diego Marcos
+# Corrections by Felipe
+# ^Branding
+Sistema de Instalação Nullsoft %s
+# ^SetupCaption
+Instalação do $(^Name)
+# ^UninstallCaption
+Desinstalação do $(^Name)
+# ^LicenseSubCaption
+: Acordo da Licença
+# ^ComponentsSubCaption
+: Opções da Instalação
+# ^DirSubCaption
+: Pasta da Instalação
+# ^InstallingSubCaption
+: Instalando
+# ^CompletedSubCaption
+: Completado
+# ^UnComponentsSubCaption
+: Opções da Desinstalação
+# ^UnDirSubCaption
+: Pasta da Desinstalação
+# ^ConfirmSubCaption
+: Confirmação
+# ^UninstallingSubCaption
+: Desinstalando
+# ^UnCompletedSubCaption
+: Completado
+# ^BackBtn
+< &Voltar
+# ^NextBtn
+&Próximo >
+# ^AgreeBtn
+Eu &Concordo
+# ^AcceptBtn
+Eu &aceito os termos no Acordo da Licença
+# ^DontAcceptBtn
+Eu &não aceito os termos no Acordo da Licença
+# ^InstallBtn
+&Instalar
+# ^UninstallBtn
+&Desinstalar
+# ^CancelBtn
+Cancelar
+# ^CloseBtn
+&Fechar
+# ^BrowseBtn
+P&rocurar...
+# ^ShowDetailsBtn
+Mostrar &detalhes
+# ^ClickNext
+Clique em Próximo para continuar.
+# ^ClickInstall
+Clique em Instalar para iniciar a instalação.
+# ^ClickUninstall
+Clique em Desinstalar para iniciar a desinstalação.
+# ^Name
+Nome
+# ^Completed
+Completado
+# ^LicenseText
+Por favor reveja o acordo da licença antes de instalar o $(^NameDA). Se você aceita todos os termos do acordo, clique em Eu Concordo.
+# ^LicenseTextCB
+Por favor reveja o acordo da licença antes de instalar o $(^NameDA). Se você aceita todos os termos do acordo, clique na caixa de seleção abaixo. $_CLICK
+# ^LicenseTextRB
+Por favor reveja o acordo da licença antes de instalar o $(^NameDA). Se você aceita todos os termos do acordo, selecione a primeira opção abaixo. $_CLICK
+# ^UnLicenseText
+Por favor reveja o acordo da licença antes de desinstalar o $(^NameDA). Se você aceita todos os termos do acordo, clique em Eu Concordo.
+# ^UnLicenseTextCB
+Por favor reveja o acordo da licença antes de desinstalar o $(^NameDA). Se você aceita todos os termos do acordo, clique na caixa de seleção abaixo. $_CLICK
+# ^UnLicenseTextRB
+Por favor reveja o acordo da licença antes de desinstalar o $(^NameDA). Se você aceita todos os termos do acordo, selecione a primeira opção abaixo. $_CLICK
+# ^Custom
+Personalizado
+# ^ComponentsText
+Marque os componentes que você quer instalar e desmarque os componentes que você não quer instalar. $_CLICK
+# ^ComponentsSubText1
+Selecione o tipo de instalação:
+# ^ComponentsSubText2_NoInstTypes
+Selecione os componentes a instalar:
+# ^ComponentsSubText2
+Ou, selecione os componentes opcionais que você deseja instalar:
+# ^UnComponentsText
+Marque os componentes que você quer desinstalar e desmarque os componentes que você não quer desinstalar. $_CLICK
+# ^UnComponentsSubText1
+Selecione o tipo de desinstalação:
+# ^UnComponentsSubText2_NoInstTypes
+Selecione os componentes a desinstalar:
+# ^UnComponentsSubText2
+Ou, selecione os componentes opcionais que você deseja desinstalar:
+# ^DirText
+O Instalador instalará o $(^NameDA) na seguinte pasta. Para instalar em uma pasta diferente, clique em Procurar e selecione outra pasta. $_CLICK
+# ^DirSubText
+Pasta Destino
+# ^DirBrowseText
+Selecione a pasta para instalar o $(^NameDA):
+# ^UnDirText
+O Instalador desinstalará o $(^NameDA) da seguinte pasta. Para desinstalar de uma pasta diferente, clique em Procurar e selecione outra pasta. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Selecione a pasta de onde desinstalar o $(^NameDA):
+# ^SpaceAvailable
+"Espaço disponível: "
+# ^SpaceRequired
+"Espaço requerido: "
+# ^UninstallingText
+O $(^NameDA) será desinstalado da seguinte pasta. $_CLICK
+# ^UninstallingSubText
+Desinstalando de:
+# ^FileError
+Erro ao abrir o arquivo para a gravação: \r\n\r\n$0\r\n\r\nClique em Abortar para parar a instalação,\r\nRepetir para tentar de novo, ou\r\nIgnorar para pular este arquivo.
+# ^FileError_NoIgnore
+Erro ao abrir o arquivo para a gravação: \r\n\r\n$0\r\n\r\nClique em Repetir para tentar de novo, ou\r\nCancelar para parar a instalação.
+# ^CantWrite
+"Não pode escrever: "
+# ^CopyFailed
+Falhou em copiar
+# ^CopyTo
+"Copiar para "
+# ^Registering
+"Registrando: "
+# ^Unregistering
+"Desfazendo o registro: "
+# ^SymbolNotFound
+"Não pôde achar o símbolo: "
+# ^CouldNotLoad
+"Não pôde carregar: "
+# ^CreateFolder
+"Criar pasta: "
+# ^CreateShortcut
+"Criar atalho: "
+# ^CreatedUninstaller
+"Desinstalador criado: "
+# ^Delete
+"Apagar o arquivo: "
+# ^DeleteOnReboot
+"Apagar ao reiniciar: "
+# ^ErrorCreatingShortcut
+"Erro ao criar o atalho: "
+# ^ErrorCreating
+"Erro ao criar: "
+# ^ErrorDecompressing
+Erro ao descompactar os dados! Instalador corrompido?
+# ^ErrorRegistering
+Erro ao registar a DLL
+# ^ExecShell
+"Executar pelo Shell: "
+# ^Exec
+"Executar: "
+# ^Extract
+"Extrair: "
+# ^ErrorWriting
+"Extrair: erro ao gravar o arquivo "
+# ^InvalidOpcode
+Instalador corrompido: opcode inválido
+# ^NoOLE
+"Sem OLE para: "
+# ^OutputFolder
+"Pasta de saída: "
+# ^RemoveFolder
+"Remover a pasta: "
+# ^RenameOnReboot
+"Renomear ao reiniciar: "
+# ^Rename
+"Renomear: "
+# ^Skipped
+"Ignorado: "
+# ^CopyDetails
+Copiar os Detalhes para a Área de Transferência
+# ^LogInstall
+Pôr no Log o processo de instalação
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Irish.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Irish.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Irish.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Irish (2108)
+;By Kevin P. Scannell < scannell at slu dot edu >
+
+!insertmacro LANGFILE "Irish" "Irish"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Fáilte go dtí Draoi Suiteála $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Déanfaidh an draoi seo treorú duit tríd an suiteáil de $(^NameDA).$\r$\n$\r$\nMoltar duit gach feidhmchlár eile a dhúnadh sula dtosaíonn tú an Suiteálaí. Cinnteoidh sé seo gur féidir na comhaid oiriúnacha a nuashonrú gan do ríomhaire a atosú.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Fáilte go dtí Draoi Díshuiteála $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Déanfaidh an draoi seo treorú duit tríd an díshuiteáil de $(^NameDA).$\r$\n$\r$\nBí cinnte nach bhfuil $(^NameDA) ag rith sula dtosaíonn tú an díshuiteáil.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Comhaontú um Cheadúnas"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Déan iniúchadh ar choinníollacha an cheadúnais sula suiteálann tú $(^NameDA)."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Má ghlacann tú le coinníollacha an chomhaontaithe, cliceáil $\"Glacaim Leis$\" chun leanúint ar aghaidh. Caithfidh tú glacadh leis an gcomhaontú chun $(^NameDA) a shuiteáil."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Má ghlacann tú le coinníollacha an chomhaontaithe, cliceáil an ticbhosca thíos. Caithfidh tú glacadh leis an gcomhaontú chun $(^NameDA) a shuiteáil. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Má ghlacann tú le coinníollacha an chomhaontaithe, roghnaigh an chéad rogha thíos. Caithfidh tú glacadh leis an gcomhaontú chun $(^NameDA) a dhíshuiteáil. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Comhaontú um Cheadúnas"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Déan iniúchadh ar choinníollacha an cheadúnais sula ndíshuiteálann tú $(^NameDA)."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Má ghlacann tú le coinníollacha an chomhaontaithe, cliceáil $\"Glacaim Leis$\" chun leanúint ar aghaidh. Caithfidh tú glacadh leis an gcomhaontú chun $(^NameDA) a dhíshuiteáil."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Má ghlacann tú le coinníollacha an chomhaontaithe, cliceáil an ticbhosca thíos. Caithfidh tú glacadh leis an gcomhaontú chun $(^NameDA) a dhíshuiteáil. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Má ghlacann tú le coinníollacha an chomhaontaithe, roghnaigh an chéad rogha thíos. Caithfidh tú glacadh leis an gcomhaontú chun $(^NameDA) a dhíshuiteáil. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Brúigh $\"Page Down$\" chun an chuid eile den cheadúnas a léamh."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Roghnaigh Comhpháirteanna"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Roghnaigh na gnéithe $(^NameDA) ba mhaith leat suiteáil."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Roghnaigh Comhpháirteanna"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Roghnaigh na gnéithe $(^NameDA) ba mhaith leat díshuiteáil."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Cur Síos"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Cuir do luch os cionn comhpháirte chun cur síos a fheiceáil."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Cuir do luch os cionn comhpháirte chun cur síos a fheiceáil."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Roghnaigh Suíomh na Suiteála"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Roghnaigh an fillteán inar mian leat $(^NameDA) a shuiteáil."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Roghnaigh Suíomh na Díshuiteála"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Roghnaigh an fillteán ar mian leat $(^NameDA) a dhíshuiteáil as."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Á Shuiteáil"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Fan go fóill; $(^NameDA) á shuiteáil."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "Suiteáil Críochnaithe"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "D'éirigh leis an tsuiteáil."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "Suiteáil Tobscortha"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Níor éirigh leis an tsuiteáil."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Á Dhíshuiteáil"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Fan go fóill; $(^NameDA) á dhíshuiteáil."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Díshuiteáil Críochnaithe"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "D'éirigh leis an díshuiteáil."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Díshuiteáil Tobscortha"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Níor éirigh leis an díshuiteáil."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Draoi Suiteála $(^NameDA) á Chríochnú"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "Suiteáladh $(^NameDA) ar do ríomhaire.$\r$\n$\r$\nCliceáil $\"Críochnaigh$\" chun an draoi seo a dhúnadh."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Ní mór duit do ríomhaire a atosú chun suiteáil $(^NameDA) a chur i gcrích. Ar mhaith leat atosú anois?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Draoi Díshuiteála $(^NameDA) á Chríochnú"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "Díshuiteáladh $(^NameDA) ó do ríomhaire.$\r$\n$\r$\nCliceáil $\"Críochnaigh$\" chun an draoi seo a dhúnadh."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Ní mór duit do ríomhaire a atosú chun díshuiteáil $(^NameDA) a chur i gcrích. Ar mhaith leat atosú anois?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Atosaigh anois"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Atosóidh mé de láimh níos déanaí"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "&Rith $(^NameDA)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Tai&speáin comhad README"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Críochnaigh"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Roghnaigh Fillteán sa Roghchlár Tosaigh"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Roghnaigh fillteán sa Roghchlár Tosaigh a gcuirfear aicearraí $(^NameDA) ann."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Roghnaigh an fillteán sa Roghchlár Tosaigh inar mian leat aicearraí an chláir a chruthú. Is féidir freisin fillteán nua a chruthú trí ainm nua a iontráil."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Ná cruthaigh aicearraí"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Díshuiteáil $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Bain $(^NameDA) ó do ríomhaire."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "An bhfuil tú cinnte gur mian leat Suiteálaí $(^Name) a scor?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "An bhfuil tú cinnte gur mian leat Díshuiteálaí $(^Name) a scor?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Breton.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Breton.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Breton.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID
+1150
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by KAD-Korvigelloù an Drouizig (drouizig@drouizig.org)
+# ^Branding
+Reizhiad staliañ Nullsoft %s
+# ^SetupCaption
+Staliañ ha kefluniañ $(^Name)
+# ^UninstallCaption
+Distaliañ $(^Name)
+# ^LicenseSubCaption
+: Aotre arverañ
+# ^ComponentsSubCaption
+: Dibaboù staliañ
+# ^DirSubCaption
+: Kavlec'h staliañ
+# ^InstallingSubCaption
+: O staliañ ar restroù
+# ^CompletedSubCaption
+: Echu eo
+# ^UnComponentsSubCaption
+: Dibaboù distaliañ
+# ^UnDirSubCaption
+: Kavlec'h distaliañ
+# ^ConfirmSubCaption
+: Kadarnañ
+# ^UninstallingSubCaption
+: O tistaliañ ar restroù
+# ^UnCompletedSubCaption
+: Echu eo
+# ^BackBtn
+< &Kent
+# ^NextBtn
+&War-lerc'h >
+# ^AgreeBtn
+&A-du emaon
+# ^AcceptBtn
+&Degemer holl dermoù al lañvaz emglev
+# ^DontAcceptBtn
+&Chom hep degemer termoù al lañvaz emglev
+# ^InstallBtn
+&Staliañ
+# ^UninstallBtn
+&Distaliañ
+# ^CancelBtn
+Nullañ
+# ^CloseBtn
+&Serriñ
+# ^BrowseBtn
+F&urchal...
+# ^ShowDetailsBtn
+Muioc'h a &ditouroù
+# ^ClickNext
+Klikit war « War-lerc'h » evit mont war-raok.
+# ^ClickInstall
+Klikit war « Staliañ » evit kregiñ gant ar staliadur.
+# ^ClickUninstall
+Klikit war « Distaliañ » evit kregiñ gant an distaliadur.
+# ^Name
+Anv
+# ^Completed
+Echu eo
+# ^LicenseText
+Bezit aketus en ur lenn an aotre arverañ a-raok staliañ $(^NameDA) mar plij. Mar degemerit pep term eus an aotre, klikit war « A-du emaon ».
+# ^LicenseTextCB
+Bezit aketus en ur lenn an aotre arverañ a-raok staliañ $(^NameDA) mar plij. Mar degemerit pep term eus an aotre, klikit war al log a-zindan. $_CLICK
+# ^LicenseTextRB
+Bezit aketus en ur lenn an aotre arverañ a-raok staliañ $(^NameDA) mar plij. Mar degemerit pep term eus an aotre, dizuzit an dibab kentañ a-zindan. $_CLICK
+# ^UnLicenseText
+Bezit aketus en ur lenn an aotre arverañ a-raok distaliañ $(^NameDA) mar plij. Mar degemerit pep term eus an aotre, klikit war « A-du emaon ».
+# ^UnLicenseTextCB
+Bezit aketus en ur lenn an aotre arverañ a-raok distaliañ $(^NameDA) mar plij. Mar degemerit pep term eus an aotre, klikit war al log a-zindan. $_CLICK
+# ^UnLicenseTextRB
+Bezit aketus en ur lenn an aotre arverañ a-raok distaliañ $(^NameDA) mar plij. Mar degemerit pep term eus an aotre, diuzit an dibab kentañ a-zindan. $_CLICK
+# ^Custom
+Diouzh ho kiz
+# ^ComponentsText
+Dibabit an elfennoù a fell deoc'h staliañ pe diziuzit an elfennoù a fell deoc'h leuskel a-gostez. $_CLICK
+# ^ComponentsSubText1
+Dibabit pe seurt staliañ a vo :
+# ^ComponentsSubText2_NoInstTypes
+Dibabit an elfennoù da staliañ :
+# ^ComponentsSubText2
+Pe dibabit an elfennoù diret a fell deoc'h staliañ :
+# ^UnComponentsText
+Dibabit an elfennoù a fell deoc'h distaliañ pe diziuzit an elfennoù a fell deoc'h mirout. $_CLICK
+# ^UnComponentsSubText1
+Dibabit peseurt distaliañ a vo :
+# ^UnComponentsSubText2_NoInstTypes
+Dibabit an elfennoù da zistaliañ :
+# ^UnComponentsSubText2
+Pe dibabit an elfennoù diret a fell deoc'h distaliañ :
+# ^DirText
+Staliet e vo $(^NameDA) gant ar goulev-mañ er c'havlec'h da-heul. Mar fell deoc'h dibab ur c'havlec'h all, klikit war « Furchal » ha dibabit ur c'havlec'h all. $_CLICK
+# ^DirSubText
+Kavlec'h bukenn
+# ^DirBrowseText
+Dibabit ar c'havlec'h e vo diazezet $(^NameDA) ennañ :
+# ^UnDirText
+Distaliet e vo $(^NameDA) gant ar goulev-mañ adalek ar c'havlec'h da heul. Ma fell deoc'h distaliañ adalek ur c'havlec'h all, klikit war « Furchal » ha diuzit ur c'havlec'h all. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Diuzit ar c'havlec'h evit distaliañ $(^NameDA) adalek :
+# ^SpaceAvailable
+"Egor kantenn vak : "
+# ^SpaceRequired
+"Egor kantenn rekis : "
+# ^UninstallingText
+Distaliet e vo $(^NameDA) adalek ar c'havelec'h da-heul. $_CLICK
+# ^UninstallingSubText
+Distaliañ adalek :
+# ^FileError
+Fazi en ur zigeriñ ur restr evit skrivañ : \r\n\r\n$0\r\n\r\nKlikit war « Paouez » evit paouez gant ar staliañ,\r\n« Adober » evit eseañ en-dro, pe\r\n« Tremen » evit leuskel a-gostez ar restr-mañ.
+# ^FileError_NoIgnore
+Fazi en ur zigeriñ ur restr a-benn skrivañ : \r\n\r\n$0\r\n\r\nKlikit war « Adober » evit esaeañ en-dro, pe\r\nwar « Nullañ » evit paouez gant ar staliañ.
+# ^CantWrite
+"N'haller ket skrivañ : "
+# ^CopyFailed
+Kopiañ faziet
+# ^CopyTo
+"Kopiañ da "
+# ^Registering
+"Oc'h enskrivañ : "
+# ^Unregistering
+"O tienskrivañ : "
+# ^SymbolNotFound
+"N'haller ket kavout ur simbolenn : "
+# ^CouldNotLoad
+"N'haller ket kargañ : "
+# ^CreateFolder
+"Krouiñ kavlec'h : "
+# ^CreateShortcut
+"Krouiñ berradenn : "
+# ^CreatedUninstaller
+"Skoazeller distaliañ krouet : "
+# ^Delete
+"Dilemel restr : "
+# ^DeleteOnReboot
+"Dilemel en ur adloc'hañ : "
+# ^ErrorCreatingShortcut
+"Fazi en ur grouiñ berradenn : "
+# ^ErrorCreating
+"Fazi en ur grouiñ : "
+# ^ErrorDecompressing
+Fazi en ur ziwaskañ stlenn ! Skoazeller staliañ gwastet ?
+# ^ErrorRegistering
+Fazi en ur enskrivañ an DLL
+# ^ExecShell
+"ExecShell : "
+# ^Exec
+"Lañsañ : "
+# ^Extract
+"Eztennañ : "
+# ^ErrorWriting
+"Eztennañ : fazi en ur skrivañ restr "
+# ^InvalidOpcode
+Skoazeller staliañ gwastet : opcode direizh
+# ^NoOLE
+"OLE ebet evit : "
+# ^OutputFolder
+"Kavlec'h ec'hank : "
+# ^RemoveFolder
+"Dilemel ar c'havlec'h : "
+# ^RenameOnReboot
+"Adenvel pa vez adloc'het : "
+# ^Rename
+"Adenvel : "
+# ^Skipped
+"Laosket a-gostez: "
+# ^CopyDetails
+Kopiañ ar munudoù er golver
+# ^LogInstall
+Tresañ an argerzh staliañ
+# ^Byte
+E
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Uzbek.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Uzbek.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Uzbek.nsh	(revision 2961)
@@ -0,0 +1,121 @@
+;Language: Uzbek (1091)
+;Translation updated by Emil Garipov [emil.garipov@gmail.com] 
+
+!insertmacro LANGFILE "Uzbek" "Uzbek"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Sizni o'rnatish dastur tabriklaydi $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Bu dastur sizning komputeringizga $(^NameDA) dasturni o'rnatadi.$\r$\n$\r$\nO'rnatishdan oldin ishlayotgan barcha ilovalarni yopish tavsiya etiladi. Bu o'rnatuvchi dasturga kompyuterni qayta yuklamasdan sistemali fayllarni yangilash imkonini beradi.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Sizni $(^NameDA)ni o'chirish dasturi tabriklaydi"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Bu dastur $(^NameDA)ni sizning kompyuteringizdan o'chiradi.$\r$\n$\r$\nO'chirishdan oldin $(^NameDA) dasturni ishlamayotganligini aniqlang.$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "Lisenzion kelishuv"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "$(^NameDA) dasturini o'rnatishdan oldin lisenzion kelishuv bilan tanishib chiking."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Agar kelishuv shartlariga rozi bo'lsangiz $\"Qabul kilaman$\" tugmasini bosing.Dasturni o'rnatish uchun,kelishuv shartlarini qabul qilish kerak."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Agar siz kelishuv shartlarini qabul kilsangiz,bayroqchani joylashtiring. Dasturni o'rnatish uchun kelisuv shartlarini qabul qilish kerak. $_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Kelishuv shartlarini qabul qilsangiz quida taklif etilganlardan birinchi variantni tanlang. Dasturni o'rnatish uchun kelisuv shartlarini qabul qilish kerak. $_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Lisenzion kelishuv"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "$(^NameDA)ni o'chirishdan oldin lesinzion kelishuv bilan tanishing."
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Agar siz kelishuv shartlariniqabul qilsangiz $\"Qabul qilaman$\" tugmasini bosing. O'chirish uchun kelishuv shartlarini qabul qilishingiz kerak. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Agar shartlarni qabul qilsangiz, bayroqchani o'rnating.O'chirish uchun kelishuv shartlarini qabul qilishingiz kerak. $_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Kelishuv shartlarini qabul qilsangiz, taklif etilganlardan birinchi variantni tanlang.O'chirish uchun kelishuv shartlarini qabul qilishingiz kerak. $_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Matn bo'icha silgish uchun $\"PageUp$\" va $\"PageDown$\" tugmasidan foydalaning."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "O'rnatilayotgan dastur komponentlari"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "$(^NameDA) dasturning o'zingizga kerak bo'lgan komponentasini tanlang."
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Dastur komponentlari"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "$(^NameDA)ning o'chirish kerak bo'lgan komponentlarini tanlang."
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Tasvir"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Sichqonchaning kursorini komponent tasvirini o'qish uchun ustiga quying."
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Sichqonchaning kursorini komponent tasvirini o'qish uchun ustiga quying."
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "O'rnatish papkasini tanlash"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "$(^NameDA)ni o'rnatish uchun papka tanlang."
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "O'chiriladigan papkani tanlash"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "$(^NameDA) o'chiriladigan papkasini ko'rsating."
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Fayllarni ko'chirish"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Biror kuting, $(^NameDA) fayllari ko'chirilmoqda..."
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "O'rnatish jarayoni tugadi"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "O'rnatish jarayoni muvaffaqiyat bilan tugadi."
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "O'rnatish jarayoni uzildi"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "O'rnatish jarayoni tugamadi."
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "O'chirish"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Biror kutib turing, $(^NameDA) fayllarini o'chirish bajarilmoqda..."
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "O'chirish tuganlandi"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Dasturni o'chirish muvaffaqiyatli yakunlandi."
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "O'chirish jarayoni uzildi"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "O'chirish to'la bajarilmadi."
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "$(^NameDA)ni o'rnatuvci dasturi o'z ishini tugatmoqda"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA)ni o'rnatish bajarildi.$\r$\n$\r$\nO'rnatuvchi dasturdan chiqish uchun $\"Tayor$\" tugmasini bosing."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "$(^NameDA) dasturini o'rnatish jarayonini tugatish uchun Kompyuterni qayta yuklash kerak.Shu ishni bajarishni xoziroq istaysizmi?"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "$(^NameDA)ni o'chirish dasturi o'z ishini tugatdi."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) dasturi kompyuteringizdan o'chirildi.$\r$\n$\r$\nO'chirish dasturidan chiqish uchun $\"Tayor$\"tugmasini bosing."
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "$(^NameDA) dasturini o'chirishni tugatish uchun kompyuterni qayta yuklash kerak.shu ishni xozir bajarasizmi?"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Ha, kompyuter hozir qayta yuklansin"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Yo'q, bu ishni keyinroq bajaraman"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "$(^NameDA) &Ishga tushirilsin"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Readme fayli ko'rsatilsin"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "&Tayor"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Papka $\"Ïóñê$\" menyusida"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Dastur belgilarini joylashtirish uchun $\"Ïóñê$\" menyusidan papka tanlang."
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "$\"Ïóñê$\" menyusidan dastur belgilari joylashadigan papka tanlang. Siz papkaning boshqa ismini kiritishingiz mumkin"
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Belgilar yaratilmasin"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "$(^NameDA)ni o'chirish"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "$(^NameDA)ni kompyuterdan o'chirish."
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "Haqiqatdan ham siz $(^Name)ni o'rnatishni bekor qilmoqchimisiz?"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "$(^Name)ni o'chirish jarayonini bekor qilmoqchisizmi?"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Czech.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Czech.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Czech.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1029
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1250
+# RTL - anything else than RTL means LTR
+-
+# Translation by SELiCE (ls@selice.cz - http://ls.selice.cz)
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+Instalovat $(^Name)
+# ^UninstallCaption
+Odinstalovat $(^Name)
+# ^LicenseSubCaption
+: Licenèní ujednání
+# ^ComponentsSubCaption
+: Možnosti instalace
+# ^DirSubCaption
+: Umístìní instalace
+# ^InstallingSubCaption
+: Instaluje se
+# ^CompletedSubCaption
+: Dokonèeno
+# ^UnComponentsSubCaption
+: Možnosti odinstalace
+# ^UnDirSubCaption
+: Odinstalovat adresáø
+# ^ConfirmSubCaption
+: Potvrzení
+# ^UninstallingSubCaption
+: Odinstalování
+# ^UnCompletedSubCaption
+: Dokonèeno
+# ^BackBtn
+< &Zpìt
+# ^NextBtn
+&Další >
+# ^AgreeBtn
+Souhl&asím
+# ^AcceptBtn
+Souhl&asím s podmínkami Licenèního ujednání
+# ^DontAcceptBtn
+&Nesouhlasím s podmínkami Licenèního ujednání
+# ^InstallBtn
+&Instalovat
+# ^UninstallBtn
+&Odinstalovat
+# ^CancelBtn
+Storno
+# ^CloseBtn
+&Zavøít
+# ^BrowseBtn
+P&rocházet...
+# ^ShowDetailsBtn
+Zobrazit &detaily
+# ^ClickNext
+Pro pokraèování kliknìte na 'Další'.
+# ^ClickInstall
+Kliknìte na 'Instalovat' pro zahájení instalace.
+# ^ClickUninstall
+Kliknìte na 'Odinstalovat' pro zahájení odinstalace.
+# ^Name
+Název
+# ^Completed
+Dokonèeno
+# ^LicenseText
+Pøed instalací $(^NameDA) si prosím pøeètìte licenèní ujednání. Jestliže souhlasíte se všema podmínkama ujednání, kliknìte 'Souhlasím'.
+# ^LicenseTextCB
+Pøed instalací $(^NameDA) si prosím pøeètìte licenèní ujednání. Jestliže souhlasíte se všema podmínkama ujednání, zaškrtnìte políèko dole. $_CLICK
+# ^LicenseTextRB
+Pøed instalací $(^NameDA) si prosím pøeètìte licenèní ujednání. Jestliže souhlasíte se všema podmínkama ujednání, zaškrtnìte níže první možnost. $_CLICK
+# ^UnLicenseText
+Pøed odinstalování $(^NameDA) si prosím pøeètìte licenèní ujednání. Jestliže souhlasíte se všema podmínkama ujednání, kliknìte 'Souhlasím'.
+# ^UnLicenseTextCB
+Pøed odinstalování $(^NameDA) si prosím pøeètìte licenèní ujednání. Jestliže souhlasíte se všema podmínkama ujednání, zaškrtnìte políèko dole. $_CLICK
+# ^UnLicenseTextRB
+Pøed odinstalování $(^NameDA) si prosím pøeètìte licenèní ujednání. Jestliže souhlasíte se všema podmínkama ujednání, zaškrtnìte níže první možnost. $_CLICK
+# ^Custom
+Vlastní
+# ^ComponentsText
+Zvolte souèásti, které chcete nainstalovat a nezatrhnìte souèásti, které instalovat nechcete. $_CLICK
+# ^ComponentsSubText1
+Zvolte zpùsob instalace:
+# ^ComponentsSubText2_NoInstTypes
+Zvolte souèásti k instalaci:
+# ^ComponentsSubText2
+Nebo zvolte volitelné souèásti, které chcete nainstalovat:
+# ^UnComponentsText
+Zatrhnìte souèásti, které chcete odinstalovat a nezatrhnìte souèásti, které odinstalovat nechcete. $_CLICK
+# ^UnComponentsSubText1
+Zvolte zpùsob odinstalace:
+# ^UnComponentsSubText2_NoInstTypes
+Zvolte souèásti pro odinstalaci:
+# ^UnComponentsSubText2
+Nebo zvolte jednotlivé souèásti, které chcete odinstalovat:
+# ^DirText
+Setup nyní nainstaluje program $(^NameDA) do následující složky. Pro instalaci do jiné složky zvolte 'Procházet' a vyberte jinou složku. $_CLICK
+# ^DirSubText
+Cílová složka
+# ^DirBrowseText
+Zvolte složku kam instalovat program $(^NameDA):
+# ^UnDirText
+Setup nyní odinstaluje program $(^NameDA) z následující složky. Pro odinstalaci z jiné složky zvolte 'Procházet' a vyberte jinou složku. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Zvolte adresáø pro odinstalaci $(^NameDA) z:
+# ^SpaceAvailable
+"Volné místo: "
+# ^SpaceRequired
+"Potøebné místo: "
+# ^UninstallingText
+Tento prùvodce z Vašeho poèítaèe odinstaluje $(^NameDA). $_CLICK
+# ^UninstallingSubText
+Odinstalovat z:
+# ^FileError
+Nelze otevøít soubor pro zápis: \r\n\t"$0"\r\nStisknìte 'Pøerušit' pro ukonèení instalace\r\nnebo 'Znovu' pro další pokus nebo\r\n'Ignorovat' pro pøeskoèení souboru
+# ^FileError_NoIgnore
+Nelze otevøít soubor pro zápis: \r\n\t"$0"\r\nStisknìte 'Znovu' pro další pokus nebo\r\n*Storno* pro ukonèení instalace
+# ^CantWrite
+"Nelze zapsat: "
+# ^CopyFailed
+Kopírování selhalo
+# ^CopyTo
+"Zkopírovat do "
+# ^Registering
+"Registrování: "
+# ^Unregistering
+"Odregistrování: "
+# ^SymbolNotFound
+"Nelze najít znak: "
+# ^CouldNotLoad
+"Nelze naèíst: "
+# ^CreateFolder
+"Vytvoøen adresáø: "
+# ^CreateShortcut
+"Vytvoøen zástupce: "
+# ^CreatedUninstaller
+"Vytvoøen odinstalátor: "
+# ^Delete
+"Smazat soubor: "
+# ^DeleteOnReboot
+"Smazat po restartu: "
+# ^ErrorCreatingShortcut
+"Chyba pøi vytváøení zástupce: "
+# ^ErrorCreating
+"Chyba pøi vytváøení: "
+# ^ErrorDecompressing
+Chyba pøi rozbalování dat! Poškozený instalátor?
+# ^ErrorRegistering
+Chyba pøi registrování DLL
+# ^ExecShell
+"Spustit shell: "
+# ^Exec
+"Spustit: "
+# ^Extract
+"Rozbalit: "
+# ^ErrorWriting
+"Rozbalit: chyba pøi zápisu do souboru "
+# ^InvalidOpcode
+Instalátor je poškozen: nesprávný kontrolní kód
+# ^NoOLE
+"Nedostupné OLE pro: "
+# ^OutputFolder
+"Výstupní složka: "
+# ^RemoveFolder
+"Odstranit složku: "
+# ^RenameOnReboot
+"Pøejmenovat pøi restartu: "
+# ^Rename
+"Pøejmenováno: "
+# ^Skipped
+"Pøeskoèeno: "
+# ^CopyDetails
+Zkopírovat podrobnosti do schránky
+# ^LogInstall
+Zaznamenat prùbìh instalace
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Luxembourgish.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Luxembourgish.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Luxembourgish.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+4103
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by Jo Hoeser
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+$(^Name) Installatioun
+# ^UninstallCaption
+$(^Name) Desinstallatioun
+# ^LicenseSubCaption
+: Lizenzofkommes
+# ^ComponentsSubCaption
+: Installatiouns-Optiounen
+# ^DirSubCaption
+: Zielverzeechnis
+# ^InstallingSubCaption
+: Installéieren
+# ^CompletedSubCaption
+: Färdeg
+# ^UnComponentsSubCaption
+: Desinstallatiuons-Optiounen
+# ^UnDirSubCaption
+: Quellverzeechnes
+# ^ConfirmSubCaption
+: Bestätegung
+# ^UninstallingSubCaption
+: Läschen
+# ^UnCompletedSubCaption
+: Färdeg
+# ^BackBtn
+< &Zréck
+# ^NextBtn
+&Weider >
+# ^AgreeBtn
+&Unhuelen
+# ^AcceptBtn
+Ech &huelen d'Lizenzofkommes un.
+# ^DontAcceptBtn
+Ech &lehnen d'Lizenzofkommes of.
+# ^InstallBtn
+&Installéieren
+# ^UninstallBtn
+&Desinstalléieren
+# ^CancelBtn
+Ofbriechen
+# ^CloseBtn
+&Zou maan
+# ^BrowseBtn
+&Duerchsichen...
+# ^ShowDetailsBtn
+&Details uweisen
+# ^ClickNext
+Klick op weider fir weiderzefueren
+# ^ClickInstall
+Klick op Installéieren, fir d'Installatioun unzefänken.
+# ^ClickUninstall
+Klick op Desinstalléieren, fir d'Desinstallatioun unzefänken.
+# ^Name
+Numm
+# ^Completed
+Färdeg
+# ^LicenseText
+W.e.g. d'Lizenzofkommes liesen, ierts de $(^NameDA) installéiers. Wanns de all Bedengungen vum Ofkommes akzeptéiers, klick op Unhuelen.
+# ^LicenseTextCB
+W.e.g. d'Lizenzofkommes liesen, ierts de $(^NameDA) installéiers. Wanns de all Bedengungen vum Ofkommes akzeptéiers, aktivéier d'Kontrollkeschtchen. $_CLICK
+# ^LicenseTextRB
+W.e.g. d'Lizenzofkommes liesen, ierts de $(^NameDA) installéiers. Wanns de all Bedengungen vum Ofkommes akzeptéiers, wiel d'entsprichend Optioun. $_CLICK
+# ^UnLicenseText
+W.e.g. d'Lizenzofkommes liesen, ierts de $(^NameDA) desinstalléiers. Wanns de all Bedengungen vum Ofkommes akzeptéiers, klick op Unhuelen.
+# ^UnLicenseTextCB
+W.e.g. d'Lizenzofkommes liesen, ierts de $(^NameDA) desinstalléiers. Wanns de all Bedengungen vum Ofkommes akzeptéiers, aktivéier d'Kontrollkeschtchen. $_CLICK
+# ^UnLicenseTextRB
+W.e.g. d'Lizenzoofkommes liesen, ierts de $(^NameDA) desinstalléiers. Wanns de all Bedengungen vum Oofkommes akzeptéiers, wiel d'entspriechend Optioun. $_CLICK
+# ^Custom
+Benutzerdefiniert
+# ^ComponentsText
+Wiel d'Komponenten aus, déis de wëlls installéieren an wiel déijéineg of, déis de net installéieren wëlls. $_CLICK
+# ^ComponentsSubText1
+Installatiouns-Typ bestëmmen:
+# ^ComponentsSubText2_NoInstTypes
+Wiel d'Komponenten aus, déis de installéieren wëlls:
+# ^ComponentsSubText2
+oder wiel zousätzlech Komponenten aus déis de installéieren wëlls:
+# ^UnComponentsText
+Wiel d'Komponenten aus déis de desinstalléieren wëlls an wiel déijéineg of, déis de net desinstalléieren wëlls. $_CLICK
+# ^UnComponentsSubText1
+Deinstallatiouns-Typ bestëmmen:
+# ^UnComponentsSubText2_NoInstTypes
+Wiel d'Komponenten aus, déis de desinstalléieren wëlls:
+# ^UnComponentsSubText2
+oder wiel zusätzlech Komponenten aus, déis de desinstalléieren wëlls:
+# ^DirText
+$(^NameDA) gëtt an den Dossier installéiert deen fierginn gouf. Wanns de et an een aneren Dossier installéieren wëlls, klick op Duechsichen an wiel een aneren Dossier aus. $_CLICK
+# ^DirSubText
+Zielverzeechnes
+# ^DirBrowseText
+Wiel en Dossier aus wuers de $(^NameDA) installéieren wëlls:
+# ^UnDirText
+$(^NameDA) gëtt an deem Dossier desinstalléiert, deen uginn gouf. Wann $(^NameDA) an engem aneren Dossier ass, klick op Duechsichen an wiel een aneren Dossier aus. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Wiel den Dossier aus wou $(^NameDA) dran installéiert ass:
+# ^SpaceAvailable
+"Verfügbaren Späicher: "
+# ^SpaceRequired
+"Gebrauchten Späicher: "
+# ^UninstallingText
+$(^NameDA) gëtt aus dem ausgewielten Dossier desinstalléiert. $_CLICK
+# ^UninstallingSubText
+Desinstalléieren aus:
+# ^FileError
+Fehler beim Iwwerschreiwen vun der Datei: \r\n\t"$0"\r\nKlick op ofbriechen fir den Setup ze verloossen,\r\nop Widderhuelen fir den Setup nach eng Kéier duechzeféieren\r\n oder op Ignoréieren fir des Datei ze iwwersprengen an weiderzefueren.
+# ^FileError_NoIgnore
+Fehler beim Iwwerschreiwen vun der Datei: \r\n\t"$0"\r\nKlick op Widderhuelen fir den Setup nach eng Kéier duechzeféieren,\r\noder op ofbriechen fir den Setup ze verloossen.
+# ^CantWrite
+"Fehler beim Schreiwen: "
+# ^CopyFailed
+Kopéieren fehlgeschloen
+# ^CopyTo
+"Kopéiere an "
+# ^Registering
+"Registréieren: "
+# ^Unregistering
+"Deregistréieren: "
+# ^SymbolNotFound
+"Symbol ass net do: "
+# ^CouldNotLoad
+"Fehler beim Lueden vun: "
+# ^CreateFolder
+"Maan Dossier: "
+# ^CreateShortcut
+"Maan Oofkierzung: "
+# ^CreatedUninstaller
+"Man Desinstallatiouns-Programm: "
+# ^Delete
+"Läschen Datei: "
+# ^DeleteOnReboot
+"Läschen Datei no engem Neistart: "
+# ^ErrorCreatingShortcut
+"Fehler beim man vun enger Oofkierzung: "
+# ^ErrorCreating
+"Fehler beim maan: "
+# ^ErrorDecompressing
+Fehler beim Dekompriméieren. Installations-Programm beschiedegt?
+# ^ErrorRegistering
+Fehler beim Registréieren vun der DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Starten: "
+# ^Extract
+"Dekompriméieren: "
+# ^ErrorWriting
+"Dekompriméierung: Fehler beim Schreiwen vun der Datei "
+# ^InvalidOpcode
+Installations-Programm Beschiedegt: net zoulässegen Befehlscode
+# ^NoOLE
+"Keen OLE fier: "
+# ^OutputFolder
+"Zieldossier: "
+# ^RemoveFolder
+"Läschen Dossier: "
+# ^RenameOnReboot
+"Gett no Neistart embenannt: "
+# ^Rename
+"Embenennen: "
+# ^Skipped
+"Iwwersprongen: "
+# ^CopyDetails
+Detailler an d'Zwëschenooflag kopéieren
+# ^LogInstall
+Installatioun protokolléieren
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SpanishInternational.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SpanishInternational.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/SpanishInternational.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit ;Español (Alfabetización Internacional)
+NLF v6
+# Language ID
+3082
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by Darwin Rodrigo Toledo Cáceres - www.winamp-es.com - nwrad777@gmail.com
+# Base traslation by MoNKi & Joel
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+Instalación de $(^Name)
+# ^UninstallCaption
+Desinstalación de $(^Name)
+# ^LicenseSubCaption
+: Acuerdo de Licencia
+# ^ComponentsSubCaption
+: Opciones de Instalación
+# ^DirSubCaption
+: Carpeta de Instalación
+# ^InstallingSubCaption
+: Instalando
+# ^CompletedSubCaption
+: Finalizado
+# ^UnComponentsSubCaption
+: Opciones de Desinstalación
+# ^UnDirSubCaption
+: Carpeta de Desinstalación
+# ^ConfirmSubCaption
+: Confirmación
+# ^UninstallingSubCaption
+: Desinstalando
+# ^UnCompletedSubCaption
+: Finalizado
+# ^BackBtn
+< &Atrás
+# ^NextBtn
+&Siguiente >
+# ^AgreeBtn
+&Acepto
+# ^AcceptBtn
+&Acepto las condiciones del Acuerdo de Licencia
+# ^DontAcceptBtn
+No &acepto las condiciones del Acuerdo de Licencia
+# ^InstallBtn
+&Instalar
+# ^UninstallBtn
+&Desinstalar
+# ^CancelBtn
+Cancelar
+# ^CloseBtn
+&Cerrar
+# ^BrowseBtn
+&Examinar...
+# ^ShowDetailsBtn
+Mostrar &detalles
+# ^ClickNext
+Presione Siguiente para continuar.
+# ^ClickInstall
+Presione Instalar para iniciar la instalación.
+# ^ClickUninstall
+Presione Desinstalar para iniciar la desinstalación.
+# ^Name
+Nombre
+# ^Completed
+Finalizado
+# ^LicenseText
+Por favor, revise el acuerdo de licencia antes de instalar $(^NameDA). Si usted acepta todas las condiciones del acuerdo, presione Acepto.
+# ^LicenseTextCB
+Por favor, revise el acuerdo de licencia antes de instalar $(^NameDA). Si usted acepta todas las condiciones del acuerdo, marque abajo la casilla. $_CLICK
+# ^LicenseTextRB
+Por favor, revise el acuerdo de licencia antes de instalar $(^NameDA). Si usted acepta todas las condiciones del acuerdo, seleccione abajo la primera opción. $_CLICK
+# ^UnLicenseText
+Por favor, revise el acuerdo de licencia antes de desinstalar $(^NameDA). Si usted acepta todas las condiciones del acuerdo, presione Acepto.
+# ^UnLicenseTextCB
+Por favor, revise el acuerdo de licencia antes de desinstalar $(^NameDA). Si usted acepta todas las condiciones del acuerdo, marque abajo la casilla. $_CLICK
+# ^UnLicenseTextRB
+Por favor, revise el acuerdo de licencia antes de desinstalar $(^NameDA). Si usted acepta todas las condiciones del acuerdo, seleccione abajo la primera opción. $_CLICK
+# ^Custom
+Personalizada
+# ^ComponentsText
+Marque los componentes que desee instalar y desmarque los componentes que no desee instalar. $_CLICK
+# ^ComponentsSubText1
+Seleccione el tipo de instalación:
+# ^ComponentsSubText2_NoInstTypes
+Seleccione los componentes a instalar:
+# ^ComponentsSubText2
+O seleccione los componentes opcionales que desee instalar:
+# ^UnComponentsText
+Marque los componentes que desee desinstalar y desmarque los componentes que no desee desinstalar. $_CLICK
+# ^UnComponentsSubText1
+Seleccione el tipo de desinstalación:
+# ^UnComponentsSubText2_NoInstTypes
+Seleccione los componentes a desinstalar:
+# ^UnComponentsSubText2
+O seleccione los componentes opcionales que desee desinstalar:
+# ^DirText
+El programa de instalación instalará $(^NameDA) en la siguiente carpeta. Para instalar en una carpeta diferente, presione Examinar y seleccione otra carpeta. $_CLICK
+# ^DirSubText
+Carpeta de Destino
+# ^DirBrowseText
+Seleccione la carpeta en la que instalará $(^NameDA):
+# ^UnDirText
+El programa de instalación desinstalará $(^NameDA) de la siguiente carpeta. Para desinstalar de una carpeta diferente, presione Examinar y seleccione otra carpeta. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Seleccione la carpeta desde la que desinstalará $(^NameDA):
+# ^SpaceAvailable
+Espacio disponible:
+# ^SpaceRequired
+Espacio requerido:
+# ^UninstallingText
+$(^NameDA) será desinstalado de la siguiente carpeta. $_CLICK
+# ^UninstallingSubText
+Desinstalando desde:
+# ^FileError
+Error abriendo archivo para escribir: \r\n\r\n$0\r\n\r\nPresione Abortar para detener la instalación,\r\nReintentar para probar otra vez, o\r\nOmitir para ignorar este archivo.
+# ^FileError_NoIgnore
+Error abriendo archivo para escribir: \r\n\r\n$0\r\n\r\nPresione Reintentar para probar otra vez, o\r\nCancelar para detener la instalación.
+# ^CantWrite
+"No pudo escribirse: "
+# ^CopyFailed
+Copia fallida
+# ^CopyTo
+"Copiar a "
+# ^Registering
+"Registrando: "
+# ^Unregistering
+"Eliminando registro: "
+# ^SymbolNotFound
+"No se encontró simbolo: "
+# ^CouldNotLoad
+"No pudo cargarse: "
+# ^CreateFolder
+"Crear carpeta: "
+# ^CreateShortcut
+"Crear acceso directo: "
+# ^CreatedUninstaller
+"Crear desinstalador: "
+# ^Delete
+"Borrar archivo: "
+# ^DeleteOnReboot
+"Borrar al reinicio: "
+# ^ErrorCreatingShortcut
+"Error creando acceso directo: "
+# ^ErrorCreating
+"Error creando: "
+# ^ErrorDecompressing
+¡Error descomprimiendo datos! ¿Instalador corrupto?
+# ^ErrorRegistering
+Error registrando DLL
+# ^ExecShell
+"Ejecutar comando: "
+# ^Exec
+"Ejecutar: "
+# ^Extract
+"Extraer: "
+# ^ErrorWriting
+"Extraer: error escribiendo al archivo "
+# ^InvalidOpcode
+Instalador corrupto: código de operación no válido
+# ^NoOLE
+"Sin OLE para: "
+# ^OutputFolder
+"Carpeta de salida: "
+# ^RemoveFolder
+"Eliminar carpeta: "
+# ^RenameOnReboot
+"Renombrar al reinicio: "
+# ^Rename
+"Renombrar: "
+# ^Skipped
+"Omitido: "
+# ^CopyDetails
+Copiar Detalles al Portapapeles
+# ^LogInstall
+Registrar proceso de instalación
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Latvian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Latvian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Latvian.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1062
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1257
+# RTL - anything else than RTL means LTR
+-
+# Translation by Valdis Griíis (valmiera-9@inbox.lv)
+# Corrections by Kristaps Meòìelis / x-f (x-f 'AT' inbox.lv)
+# ^Branding
+Nullsoft Install System %s
+# ^SetupCaption
+'$(^Name)' Uzstâdîðana
+# ^UninstallCaption
+'$(^Name)' Atinstalçðana
+# ^LicenseSubCaption
+: Licences lîgums
+# ^ComponentsSubCaption
+: Uzstâdîðanas opcijas
+# ^DirSubCaption
+: Uzstâdîðanas mape
+# ^InstallingSubCaption
+: Notiek uzstâdîðana
+# ^CompletedSubCaption
+: Uzstâdîðana pabeigta.
+# ^UnComponentsSubCaption
+: Atinstalçðanas opcijas
+# ^UnDirSubCaption
+: Atinstalçðanas mape
+# ^ConfirmSubCaption
+: Apstiprinâðana
+# ^UninstallingSubCaption
+: Notiek atinstalçðana
+# ^UnCompletedSubCaption
+: Atinstalçðana pabeigta
+# ^BackBtn
+< &Atpakaï
+# ^NextBtn
+&Tâlâk >
+# ^AgreeBtn
+Es &piekrîtu
+# ^AcceptBtn
+Es &piekrîtu licences lîguma noteikumiem
+# ^DontAcceptBtn
+Es &nepiekrîtu licences lîguma noteikumiem
+# ^InstallBtn
+&Uzstâdît
+# ^UninstallBtn
+&Atinstalçt
+# ^CancelBtn
+Atcelt
+# ^CloseBtn
+Ai&zvçrt
+# ^BrowseBtn
+Pâ&rlûkot...
+# ^ShowDetailsBtn
+Parâdît &detaïas
+# ^ClickNext
+Spiediet 'Tâlâk', lai turpinâtu.
+# ^ClickInstall
+Spiediet 'Uzstâdît', lai sâktu uzstâdîðanas procesu.
+# ^ClickUninstall
+Spiediet 'Atinstalçt', lai sâktu atinstalçðanas procesu.
+# ^Name
+Vârds
+# ^Completed
+Uzstâdîðana pabeigta
+# ^LicenseText
+Lûdzu izlasiet licences lîgumu pirms '$(^NameDA)' uzstâdîðanas. Ja piekrîtat licences lîguma noteikumiem, tad spiediet 'Es piekrîtu'.
+# ^LicenseTextCB
+Lûdzu izlasiet licences lîgumu pirms '$(^NameDA)' uzstâdîðanas. Ja piekrîtat licences lîguma noteikumiem, tad atzîmçjiet izvçles rûtiòu. $_CLICK
+# ^LicenseTextRB
+Lûdzu izlasiet licences lîgumu pirms '$(^NameDA)' uzstâdîðanas. Ja piekrîtat licences lîguma noteikumiem, tad izvçlieties pirmo zemâkesoðo opciju. $_CLICK
+# ^UnLicenseText
+Lûdzu izlasiet licences lîgumu pirms '$(^NameDA)' atinstalçðanas. Ja piekrîtat licences lîguma noteikumiem, tad spiediet 'Es piekrîtu'.
+# ^UnLicenseTextCB
+Lûdzu izlasiet licences lîgumu pirms '$(^NameDA)' atinstalçðanas. Ja piekrîtat licences lîguma noteikumiem, tad atzîmçjiet izvçles rûtiòu. $_CLICK
+# ^UnLicenseTextRB
+Lûdzu izlasiet licences lîgumu pirms '$(^NameDA)' atinstalçðanas. Ja piekrîtat licences lîguma noteikumiem, tad izvçlieties zemâkesoðo opciju. $_CLICK
+# ^Custom
+Pielâgots
+# ^ComponentsText
+Izvçlieties, kurus komponentus vçlaties uzstâdît un neiezîmçjiet tos, kurus nevçlaties uzstâdît. $_CLICK
+# ^ComponentsSubText1
+Izvçlieties uzstâdîðanas veidu:
+# ^ComponentsSubText2_NoInstTypes
+Izvçlieties uzstâdâmos komponentus:
+# ^ComponentsSubText2
+Vai arî – izvçlieties tikai nepiecieðamos komponentus, kurus vçlaties uzstâdît:
+# ^UnComponentsText
+Izvçlieties, kurus komponentus atinstalçt un neiezîmçjiet tos, kurus nevçlaties atinstalçt. $_CLICK
+# ^UnComponentsSubText1
+Izvçlieties atinstalçðanas veidu:
+# ^UnComponentsSubText2_NoInstTypes
+Izvçlieties atinstalçjamos komponentus:
+# ^UnComponentsSubText2
+Vai arî – izvçlieties tikai nepiecieðamos komponentus, kurus vçlaties atinstalçt:
+# ^DirText
+'$(^NameDA)' tiks uzstâdîta ðajâ mapç. Lai to uzstâdîtu citâ mapç, nospiediet 'Pârlûkot' un izvçlieties citu mapi. $_CLICK
+# ^DirSubText
+Uzstâdîðanas mape
+# ^DirBrowseText
+Izvçlieties mapi, kurâ uzstâdît '$(^NameDA)':
+# ^UnDirText
+'$(^NameDA)' tiks atinstalçta no ðîs mapes. Lai to atinstalçtu no citas mapes, nospiediet 'Pârlûkot' un izvçlieties citu mapi. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Izvçlieties mapi, no kuras atinstalçt '$(^NameDA)':
+# ^SpaceAvailable
+"Pieejamais diska apjoms: "
+# ^SpaceRequired
+"Nepiecieðamais diska apjoms: "
+# ^UninstallingText
+'$(^NameDA)' tiks atinstalçta no ðîs mapes. $_CLICK
+# ^UninstallingSubText
+Atinstalçðana no:
+# ^FileError
+Kïûda atverot failu rakstîðanai: \r\n\t"$0"\r\nNospiediet 'Atcelt', lai atceltu uzstâdîðanas procesu,\r\n'Mçìinât vçlreiz', lai atkârtoti mçìinâtu rakstît failâ vai\r\n'Ignorçt', lai izlaistu ðî faila uzstâdîðanu
+# ^FileError_NoIgnore
+Kïûda atverot failu rakstîðanai: \r\n\t"$0"\r\nNospiediet 'Atcelt', lai pârtrauktu uzstâdîðanas procesu
+# ^CantWrite
+"Nevar ierakstît: "
+# ^CopyFailed
+Kopçðana neizdevâs
+# ^CopyTo
+"Kopç uz "
+# ^Registering
+"Reìistrç: "
+# ^Unregistering
+"Atreìistrç: "
+# ^SymbolNotFound
+"Simbols nav atrasts: "
+# ^CouldNotLoad
+"Nav iespçjams ielâdçt: "
+# ^CreateFolder
+"Izveido mapi: "
+# ^CreateShortcut
+"Izveido saîsni: "
+# ^CreatedUninstaller
+"Izveidots atinstalçtâjs: "
+# ^Delete
+"Dzçð failu: "
+# ^DeleteOnReboot
+"Dzçst pçc pârstartçðanas: "
+# ^ErrorCreatingShortcut
+"Kïûda veidojot saîsni: "
+# ^ErrorCreating
+"Kïûda veidojot: "
+# ^ErrorDecompressing
+Kïûda atkompresçjot datus! Bojâta instalâcija?
+# ^ErrorRegistering
+Kïûda reìistrçjot DLL failu
+# ^ExecShell
+"Izpilda èaulâ: "
+# ^Exec
+"Izpilda: "
+# ^Extract
+"Atspieþ: "
+# ^ErrorWriting
+"Atspieðana: kïûda rakstot failâ "
+# ^InvalidOpcode
+Instalâcija bojâta: nederîgs CRC kods
+# ^NoOLE
+"Nav OLE priekð: "
+# ^OutputFolder
+"Izvades mape: "
+# ^RemoveFolder
+"Dzçð mapi: "
+# ^RenameOnReboot
+"Pârsaukt pçc pârstartçðanas: "
+# ^Rename
+"Pârsaukt: "
+# ^Skipped
+"Izlaists: "
+# ^CopyDetails
+Iekopçt detaïas starpliktuvç
+# ^LogInstall
+Ierakstît þurnâla failâ uzstâdîðanas procesu
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Slovenian.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Slovenian.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Slovenian.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1060
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1250
+# RTL - anything else than RTL means LTR
+-
+# Translation by Janez Dolinar, edited by Martin Srebotnjak - Lugos.si
+# ^Branding
+Namestitveni sistem Nullsoft %s
+# ^SetupCaption
+Namestitev $(^Name)
+# ^UninstallCaption
+Odstranitev $(^Name)
+# ^LicenseSubCaption
+: Licenèna pogodba
+# ^ComponentsSubCaption
+: Možnosti namestitve
+# ^DirSubCaption
+: Mapa namestitve
+# ^InstallingSubCaption
+: Namešèanje poteka
+# ^CompletedSubCaption
+: Dokonèano
+# ^UnComponentsSubCaption
+: Možnosti odstranitve
+# ^UnDirSubCaption
+: Mapa odstranitve
+# ^ConfirmSubCaption
+: Potrditev
+# ^UninstallingSubCaption
+: Odstranjevanje poteka
+# ^UnCompletedSubCaption
+: Dokonèano
+# ^BackBtn
+< &Nazaj
+# ^NextBtn
+N&aprej >
+# ^AgreeBtn
+Se &strinjam
+# ^AcceptBtn
+&Sprejmem pogoje licenène pogodbe
+# ^DontAcceptBtn
+&Ne sprejmem pogojev licenène pogodbe
+# ^InstallBtn
+&Namesti
+# ^UninstallBtn
+&Odstrani
+# ^CancelBtn
+Preklièi
+# ^CloseBtn
+&Zapri
+# ^BrowseBtn
+Prebrsk&aj ...
+# ^ShowDetailsBtn
+&Podrobnosti
+# ^ClickNext
+Kliknite Naprej za nadaljevanje.
+# ^ClickInstall	
+Kliknite Namesti za zaèetek namestitve.
+# ^ClickUninstall	
+Kliknite Odstrani za odstranitev.
+# ^NameIme
+Ime
+# ^Completed
+Dokonèano
+# ^LicenseText
+Prosimo, da pred namestitvijo $(^NameDA) pregledate licenèno pogodbo. Èe se z njo strinjate, pritisnite Se strinjam.
+# ^LicenseTextCB
+Prosimo, da pred namestitvijo $(^NameDA) pregledate licenèno pogodbo. Èe sprejmete vse naštete pogoje, potrdite spodnje polje. $_CLICK
+# ^LicenseTextRB
+Prosimo, da pred namestitvijo $(^NameDA) pregledate licenèno pogodbo. Èe sprejmete vse naštete pogoje, izberite prvo spodaj podano možnost. $_CLICK
+# ^UnLicenseText
+Prosimo, da pred odstranitvijo $(^NameDA) pregledate licenèno pogodbo. Èe se z njo strinjate, pritisnite Se strinjam.
+# ^UnLicenseTextCB
+Prosimo, da pred odstranitvijo $(^NameDA) pregledate licenèno pogodbo. Èe sprejmete vse naštete pogoje, potrdite spodnje polje. $_CLICK
+# ^UnLicenseTextRB
+Prosimo, da pred odstranitvijo $(^NameDA) pregledate licenèno pogodbo. Èe sprejmete vse naštete pogoje, izberite prvo spodaj podano možnost. $_CLICK
+# ^Custom
+Po meri ...
+# ^ComponentsText
+Oznaèite komponente, ki jih želite namestiti, in pustite neoznaèene tiste, katerih ne želite namestiti. $_CLICK
+# ^ComponentsSubText1
+Izberite vrsto namestitve:
+# ^ComponentsSubText2_NoInstTypes
+Izberite komponente namestitve:
+# ^ComponentsSubText2
+Ali pa izberite komponente, ki jih želite namestiti:
+# ^UnComponentsText
+Oznaèite komponente, ki jih želite odstraniti, in pustite neoznaèene tiste, ki jih ne želite odstraniti. $_CLICK
+# ^UnComponentsSubText1
+Izberite vrsto odstranitve:
+# ^UnComponentsSubText2_NoInstTypes
+Izberite komponente za odstranitev:
+# ^UnComponentsSubText2
+Ali pa izberite komponente namestitve, ki jih želite odstraniti:
+# ^DirText
+$(^NameDA) boste namestili v sledeèo mapo. Za izbiro druge mape kliknite tipko Prebrskaj in izberite drugo mapo. $_CLICK
+# ^DirSubText
+Ciljna mapa
+# ^DirBrowseText
+Izberite mapo, kamor želite namestiti $(^NameDA):
+# ^UnDirText
+Odstranili boste $(^NameDA) iz sledeèe mape. Za izbiro druge mape kliknite tipko Prebrskaj in izberite drugo mapo. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Izberite mapo, od koder želite odstraniti $(^NameDA):
+# ^SpaceAvailable
+"Prostor na disku: "
+# ^SpaceRequired
+"Potreben prostor: "
+# ^UninstallingText
+$(^NameDA) bo odstranjen iz naslednje mape. $_CLICK
+# ^UninstallingSubText
+Odstranjevanje iz:
+# ^FileError
+Napaka pri odpiranju datoteke za pisanje: \r\n\r\n$0\r\n\r\nPritisnite Prekini za prekinitev namestitve,\r\nPonovi za ponoven poskus ali\r\nPrezri za izpust te datoteke.
+# ^FileError_NoIgnore
+Napaka pri odpiranju datoteke za pisanje: \r\n\r\n$0\r\n\r\nPritisnite Ponovi za ponoven poskus pisanja ali\r\Preklièi za prekinitev namestitve.
+# ^CantWrite
+"Ni mogoèe pisati: "
+# ^CopyFailed
+Kopiranje neuspešno
+# ^CopyTo
+"Kopiranje v "
+# ^Registering
+"Registracija: "
+# ^Unregistering
+"Preklic registracije: "
+# ^SymbolNotFound
+"Ni mogoèe najti simbola: "
+# ^CouldNotLoad
+"Ni mogoèe naložiti: "
+# ^CreateFolder
+"Ustvarjanje mape: "
+# ^CreateShortcut
+"Ustvarjanje bližnjice: "
+# ^CreatedUninstaller
+"Ustvarjena odstranitev: "
+# ^Delete
+"Brisanje datoteke: "
+# ^DeleteOnReboot
+"Brisanje ob ponovnem zagonu: "
+# ^ErrorCreatingShortcut
+"Napaka ustvarjanja bližnjice: "
+# ^ErrorCreating
+"Napaka ustvarjanja: "
+# ^ErrorDecompressing
+Napaka pri razširjanju podatkov! Je namestitvena datoteka okvarjena?
+# ^ErrorRegistering
+Napaka registracije DLL
+# ^ExecShell
+"Izvajanje v lupini: "
+# ^Exec
+"Izvajanje: "
+# ^Extract
+"Razširjanje: "
+# ^ErrorWriting
+"Razširjanje: napaka pri pisanju v datoteko "
+# ^InvalidOpcode
+Namestitev neveljavna: napaèen ukaz
+# ^NoOLE
+"Neobstojeèi OLE za: "
+# ^OutputFolder
+"Ciljna mapa: "
+# ^RemoveFolder
+"Odstranjevanje mape: "
+# ^RenameOnReboot
+"Preimenovanje ob zagonu: "
+# ^Rename
+"Preimenovanje: "
+# ^Skipped
+"Izpušèeno: "
+# ^CopyDetails
+Kopiraj podrobnosti v odložišèe
+# ^LogInstall
+Shrani potek namestitve
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Afrikaans.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Afrikaans.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Afrikaans.nlf	(revision 2961)
@@ -0,0 +1,190 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1078
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by Friedel Wolff
+# ^Branding
+Nullsoft Installeerstelsel %s
+# ^SetupCaption
+$(^Name) Installasie
+# ^UninstallCaption
+$(^Name) Verwydering
+# ^LicenseSubCaption
+: Lisensie-ooreenkoms
+# ^ComponentsSubCaption
+: Installasiekeuses
+# ^DirSubCaption
+: Installasiegids
+# ^InstallingSubCaption
+: Installeer tans
+# ^CompletedSubCaption
+: Voltooid
+# ^UnComponentsSubCaption
+: Verwyderingkeuses
+# ^UnDirSubCaption
+: Verwyderinggids
+# ^ConfirmSubCaption
+: Bevestiging
+# ^UninstallingSubCaption
+: Verwyder tans
+# ^UnCompletedSubCaption
+: Voltooid
+# ^BackBtn
+< V&orige
+# ^NextBtn
+&Volgende >
+# ^AgreeBtn
+&Regso
+# ^AcceptBtn
+Ek &aanvaar die ooreenkoms
+# ^DontAcceptBtn
+Ek aan vaar &nie die ooreenkoms nie
+# ^InstallBtn
+&Installeer
+# ^UninstallBtn
+&Verwyder
+# ^CancelBtn
+Kanselleer
+# ^CloseBtn
+&Sluit af
+# ^BrowseBtn
+&Blaai...
+# ^ShowDetailsBtn
+&Wys detail
+# ^ClickNext
+Klik op Volgende om verder te gaan.
+# ^ClickInstall
+Klik op Installeer om die installasie te begin.
+# ^ClickUninstall
+Klik op Verwyder om die verwydering te begin.
+# ^Name
+Naam
+# ^Completed
+Voltooid
+# ^LicenseText
+Lees die lisensieooreenkoms voordat u $(^NameDA) installeer. Klik op Regso as u die ooreenkoms aanvaar.
+# ^LicenseTextCB
+Lees die lisensieooreenkoms voordat u $(^NameDA) installeer. Merk die blokkie hieronder as u die ooreenkoms aanvaar. $_CLICK
+# ^LicenseTextRB
+Lees die lisensieooreenkoms voordat u $(^NameDA) installeer. Kies die eerste keuse hieronder as u die ooreenkoms aanvaar. $_CLICK
+# ^UnLicenseText
+Lees die lisensieooreenkoms voordat u $(^NameDA) verwyder. Klik op Regso als u die ooreenkoms aanvaar.
+# ^UnLicenseTextCB
+Lees die lisensieooreenkoms voordat u $(^NameDA) verwyder. Merk die blokkie hieronder as u die ooreenkoms aanvaar. $_CLICK
+# ^UnLicenseTextRB
+Lees die lisensieooreenkoms voordat u $(^NameDA) verwyder. KIes die eerste keuse hieronder as u die ooreenkoms aanvaar. $_CLICK
+# ^Custom
+Aangepast
+# ^ComponentsText
+Kies die komponente wat u wil installeer en deselekteer dié wat u nie wil installeer nie. $_CLICK
+# ^ComponentsSubText1
+Kies die installasietipe:
+# ^ComponentsSubText2_NoInstTypes
+Kies die komponente wat geïnstalleer moet word:
+# ^ComponentsSubText2
+Of kies die komponente wat geïnstalleer moet word:
+# ^UnComponentsText
+Kies die komponente wat u wil verwyder en deselekteer dié wat u nie wil verwyder nie. $_CLICK
+# ^UnComponentsSubText1
+Kies die verwyderingstipe:
+# ^UnComponentsSubText2_NoInstTypes
+Kies die komponente wat verwyder moet word:
+# ^UnComponentsSubText2
+Of kies die komponente wat verwyder moet word:
+# ^DirText
+$(^NameDA) sal in die volgende gids geïnstalleer word. Om elders te installeer, klik op Blaai en kies 'n ander een. $_CLICK
+# ^DirSubText
+Installasiegids
+# ^DirBrowseText
+Kies die gids om $(^NameDA) in te installeer:
+# ^UnDirText
+$(^NameDA) gaan uit die volgende gids verwyder word. Om van elders af te verwyder, klik op Blaai en kies 'n ander gids. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Kies die gids om $(^NameDA) uit te verwyder:
+# ^SpaceAvailable
+"Beskikbare spasie: "
+# ^SpaceRequired
+"Vereiste spasie: "
+# ^UninstallingText
+$(^NameDA) sal uit die volgende gids verwyder word. $_CLICK
+# ^UninstallingSubText
+Verwydering uit:
+# ^FileError
+Fout met skryf na lêer: \r\n\r\n$0\r\n\r\nKlik Staak om de installasie te stop,\r\nProbeer weer om weer te probeer of\r\nIgnoreer om dié lêer oor te slaan.
+# ^FileError_NoIgnore
+Fout met skryf na lêer: \r\n\r\n$0\r\n\r\nKlik Probeer weer om op nuut te probeer, of \r\nKanselleer om die installasie te stop.
+# ^CantWrite
+"Kon nie skyf nie: "
+# ^CopyFailed
+Kopiëring het misluk
+# ^CopyTo
+"Kopieer na "
+# ^Registering
+"Registreer tans: "
+# ^Unregistering
+"Deregistreer tans: "
+# ^SymbolNotFound
+"Kon nie simbool vind nie: "
+# ^CouldNotLoad
+"Kon nie laai nie: "
+# ^CreateFolder
+"Skep gids: "
+# ^CreateShortcut
+"Maak kortpad: "
+# ^CreatedUninstaller
+"Verwyderingsprogram gemaak: "
+# ^Delete
+"Verwyder lêer: "
+# ^DeleteOnReboot
+"Verwyder na herbegin van rekenaar: "
+# ^ErrorCreatingShortcut
+"Fout met maak van kortpad: "
+# ^ErrorCreating
+"Fout met skep: "
+# ^ErrorDecompressing
+Fout met uitpak van data! Korrupte installasielêer?
+# ^ErrorRegistering
+Fout met registrasie van DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Voer uit: "
+# ^Extract
+"Pak uit: "
+# ^ErrorWriting
+"Uitpak: fout met skryf na lêer "
+# ^InvalidOpcode
+Installasieprogram korrup: ongeldige opcode
+# ^NoOLE
+"Geen OLE vir: "
+# ^OutputFolder
+"Afvoergids: "
+# ^RemoveFolder
+"Verwyder gids: "
+# ^RenameOnReboot
+"Hernoem na herbegin van rekenaar: "
+# ^Rename
+"Hernoem: "
+# ^Skipped
+"Oorgeslaan: "
+# ^CopyDetails
+Kopieer detail na knipbord
+# ^LogInstall
+Boekstaaf die installasieproses
+# ^Byte
+G
+# ^Kilo
+K
+# ^Mega
+M
+#  ^Giga
+G
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Esperanto.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Esperanto.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Esperanto.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Start editing here
+# Language ID (none exists for Kurdish at the moment)
+9998
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+-
+# RTL - anything else than RTL means LTR
+-
+# Translation v4.0.3 by Felipe Castro <fefcas@gmail.com>
+# ^Branding
+Instalada Sistemo de Nullsoft %s
+# ^SetupCaption
+Instalado de $(^Name)
+# ^UninstallCaption
+Malinstalado de $(^Name)
+# ^LicenseSubCaption
+: Permes-Kontrakto
+# ^ComponentsSubCaption
+: Instaladaj Opcioj
+# ^DirSubCaption
+: Instalada Dosierujo
+# ^InstallingSubCaption
+: Oni Instalas Dosierojn
+# ^CompletedSubCaption
+: Kompletite
+# ^UnComponentsSubCaption
+: Malinstaladaj Opcioj
+# ^UnDirSubCaption
+: Malinstalada Dosierujo
+# ^ConfirmSubCaption
+: Konfirmo
+# ^UninstallingSubCaption
+: Oni malinstalas
+# ^UnCompletedSubCaption
+: Kompletite
+# ^BackBtn
+< &Antauxe
+# ^NextBtn
+&Sekve >
+# ^AgreeBtn
+&Akceptite
+# ^AcceptBtn
+Mi &akceptas la kondicxojn de la Permes-Kontrakto
+# ^DontAcceptBtn
+Mi &ne akceptas la kondicxojn de la Permes-Kontrakto
+# ^InstallBtn
+&Instali
+# ^UninstallBtn
+&Malinstali
+# ^CancelBtn
+Nuligi
+# ^CloseBtn
+&Fermi
+# ^BrowseBtn
+&Sercxi...
+# ^ShowDetailsBtn
+Vidi &Detalojn
+# ^ClickNext
+Musklaku en 'Sekve' por dauxrigi.
+# ^ClickInstall
+Musklaku en 'Instali' por ekigi la instaladon.
+# ^ClickUninstall
+Musklaku en 'Malinstali' por ekigi la malinstaladon.
+# ^Name
+Nomo
+# ^Completed
+Kompletite
+# ^LicenseText
+Bonvole revidu la permes-akordon antaux ol instali $(^NameDA). Se vi konsentas kun cxiuj kondicxoj de la permeso, musklaku en 'Akceptite'.
+# ^LicenseTextCB
+Bonvole revidu la permes-akordon antaux ol instali $(^NameDA). Se vi konsentas kun cxiuj kondicxoj de la permeso, musklaku en la suba elekt-skatolo. $_CLICK
+# ^LicenseTextRB
+Bonvole revidu la permes-akordon antaux ol instali $(^NameDA). Se vi konsentas kun cxiuj kondicxoj de la permeso, elektu la unuan opcion sube. $_CLICK
+# ^UnLicenseText
+Bonvole revidu la permes-akordon antaux ol malinstali $(^NameDA). Se vi konsentas kun cxiuj kondicxoj de la permeso, musklaku en 'Akceptite'.
+# ^UnLicenseTextCB
+Bonvole revidu la permes-akordon antaux ol malinstali $(^NameDA). Se vi konsentas kun cxiuj kondicxoj de la permeso, musklaku en la suba elekt-skatolo. $_CLICK
+# ^UnLicenseTextRB
+Bonvole revidu la permes-akordon antaux ol malinstali $(^NameDA). Se vi konsentas kun cxiuj kondicxoj de la permeso, elektu la unuan opcion sube. $_CLICK
+# ^Custom
+Personigite
+# ^ComponentsText
+Marku la konsisterojn, kiujn vi deziras instali kaj malmarku tiujn, kiujn vi ne deziras instali. $_CLICK
+# ^ComponentsSubText1
+Elektu la tipon de instalado:
+# ^ComponentsSubText2_NoInstTypes
+Elektu la konsisterojn por instali:
+# ^ComponentsSubText2
+Aux, elektu la nedevigajn konsisterojn, kiujn vi deziras instali:
+# ^UnComponentsText
+Marku la konsisterojn, kiujn vi volas malinstali aux male. $_CLICK 
+# ^UnComponentsSubText1
+Elektu la tipon de malinstalado:
+# ^UnComponentsSubText2_NoInstTypes
+Elektu la konsisterojn por malinstali:
+# ^UnComponentsSubText2
+Aux, elektu la nedevigajn konsisterojn, kiujn vi deziras malinstali:
+# ^DirText
+$(^NameDA) estos instalita en la jena dosierujo. Por instali en alia dosierujo, musklaku en 'Sercxi...' kaj elektu gxin. $_CLICK
+# ^DirSubText
+Celota Dosierujo
+# ^DirBrowseText
+Elektu dosierujon por instali $(^NameDA):
+# ^UnDirText
+$(^NameDA) estos malinstalita el la jena dosierujo. Por malinstali en alia dosierujo, musklaku en 'Sercxi...' kaj elektu gxin. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Elektu dosierujon el kie $(^NameDA) estos malinstalita:
+# ^SpaceAvailable
+"Disponebla spaco: "
+# ^SpaceRequired
+"Postulata spaco: "
+# ^UninstallingText
+$(^NameDA) estos malinstalita el la jena dosierujo. $_CLICK
+# ^UninstallingSubText
+Malinstalado el:
+# ^FileError
+Eraro dum malfermo de dosiero por skribi: \r\n\t"$0"\r\nMusklaku en Cxesigi por finigi la instaladon,\r\Ripeti por provi refoje skribi sur la dosiero, aux\r\nPreteratenti por preteratenti tiun cxi dosieron.
+# ^FileError_NoIgnore
+Eraro dum malfermo de dosierujo por skribi: \r\n\t"$0"\r\nMusklaku en Ripeti por provi refoje skribi sur la dosiero, aux\r\nNuligi por cxesigi la instaladon.
+# ^CantWrite
+"Ne eblis skribi: "
+# ^CopyFailed
+Malsukceso dum kopio
+# ^CopyTo
+"Kopii al "
+# ^Registering
+"Oni registras: "
+# ^Unregistering
+"Oni malregistras: "
+# ^SymbolNotFound
+"Ne trovita simbolo: "
+# ^CouldNotLoad
+"Ne eblis sxargi: "
+# ^CreateFolder
+"Oni kreas subdosierujon: "
+# ^CreateShortcut
+"Oni kreas lancxilon: "
+# ^CreatedUninstaller
+"Oni kreas malinstalilon: "
+# ^Delete
+"Oni forigas dosieron: "
+# ^DeleteOnReboot
+"Forigi je restarto: "
+# ^ErrorCreatingShortcut
+"Eraro dum kreo de lancxilo: "
+# ^ErrorCreating
+"Eraro dum kreo: "
+# ^ErrorDecompressing
+Eraro dum malkompaktigo de datumaro! Cxu misrompita instalilo?
+# ^ErrorRegistering
+Eraru dum registro de DLL
+# ^ExecShell
+"ExecShell: "
+# ^Exec
+"Lancxi: "
+# ^Extract
+"Eltiri: "
+# ^ErrorWriting
+"Eltirado: eraro dum skribo de dosiero "
+# ^InvalidOpcode
+Misrompita instalilo: malvalida operaci-kodo
+# ^NoOLE
+"Sen OLE por: "
+# ^OutputFolder
+"Celota dosierujo: "
+# ^RemoveFolder
+"Oni forigas la dosierujon: "
+# ^RenameOnReboot
+"Renomigi je restarto: "
+# ^Rename
+"Oni renomigas: "
+# ^Skipped
+"Preterpasita: "
+# ^CopyDetails
+Kopii detalojn al la tondejo
+# ^LogInstall
+Registri instalad-procezo
+# ^Byte
+B
+# ^Kilo
+k
+# ^Mega
+M
+# ^Giga
+G
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/TradChinese.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/TradChinese.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/TradChinese.nsh	(revision 2961)
@@ -0,0 +1,122 @@
+;Language: 'Chinese (Traditional)' (1028)
+;Translator: Kii Ali <kiiali@cpatch.org>
+;Revision date: 2004-12-15
+
+!insertmacro LANGFILE "TradChinese" "Chinese (Traditional)"
+
+!ifdef MUI_WELCOMEPAGE
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Åwªï¨Ï¥Î $(^NameDA) ¦w¸ËºëÆF"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "³o­ÓºëÆF±N«ü¤Þ§A§¹¦¨ $(^NameDA) ªº¦w¸Ë¶iµ{¡C$\r$\n$\r$\n¦b¶}©l¦w¸Ë¤§«e¡A«ØÄ³¥ýÃö³¬¨ä¥L©Ò¦³À³¥Îµ{¦¡¡C³o±N¤¹³\\¡u¦w¸Ëµ{¦¡¡v§ó·s«ü©wªº¨t²ÎÀÉ®×¡A¦Ó¤£»Ý­n­«·s±Ò°Ê§Aªº¹q¸£¡C$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_UNWELCOMEPAGE
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Åwªï¨Ï¥Î $(^NameDA) ¸Ñ°£¦w¸ËºëÆF"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "³o­ÓºëÆF±N¥þµ{«ü¤Þ§A $(^NameDA) ªº¸Ñ°£¦w¸Ë¶iµ{¡C$\r$\n$\r$\n¦b¶}©l¸Ñ°£¦w¸Ë¤§«e¡A½T»{ $(^NameDA) ¨Ã¥¼°õ¦æ·í¤¤¡C$\r$\n$\r$\n$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE
+  ${LangFileString} MUI_TEXT_LICENSE_TITLE "±ÂÅv¨óÄ³"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "¦b¦w¸Ë $(^NameDA) ¤§«e¡A½ÐÀË¾\±ÂÅv±ø´Ú¡C"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "¦pªG§A±µ¨ü¨óÄ³¤¤ªº±ø´Ú¡A«ö¤@¤U [§Ú¦P·N(I)] Ä~Äò¦w¸Ë¡C¦pªG§A¿ï¨ú [¨ú®ø(C)] ¡A¦w¸Ëµ{¦¡±N·|Ãö³¬¡C¥²¶·­n±µ¨ü¨óÄ³¤~¯à¦w¸Ë $(^NameDA) ¡C"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "¦pªG§A±µ¨ü¨óÄ³¤¤ªº±ø´Ú¡A«ö¤@¤U¤U¤èªº¤Ä¿ï®Ø¡C¥²¶·­n±µ¨ü¨óÄ³¤~¯à¦w¸Ë $(^NameDA)¡C$_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "¦pªG§A±µ¨ü¨óÄ³¤¤ªº±ø´Ú¡A¿ï¾Ü¤U¤è²Ä¤@­Ó¿ï¶µ¡C¥²¶·­n±µ¨ü¨óÄ³¤~¯à¦w¸Ë $(^NameDA)¡C$_CLICK"
+!endif
+
+!ifdef MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "±ÂÅv¨óÄ³"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "¦b¸Ñ°£¦w¸Ë $(^NameDA) ¤§«e¡A½ÐÀË¾\±ÂÅv±ø´Ú¡C"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "¦pªG§A±µ¨ü¨óÄ³¤¤ªº±ø´Ú¡A«ö¤@¤U [§Ú¦P·N(I)] Ä~Äò¸Ñ°£¦w¸Ë¡C¦pªG§A¿ï¨ú [¨ú®ø(C)] ¡A¦w¸Ëµ{¦¡±N·|Ãö³¬¡C¥²¶·­n±µ¨ü¨óÄ³¤~¯à¸Ñ°£¦w¸Ë $(^NameDA) ¡C"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "¦pªG§A±µ¨ü¨óÄ³¤¤ªº±ø´Ú¡A«ö¤@¤U¤U¤èªº¤Ä¿ï®Ø¡C¥²¶·­n±µ¨ü¨óÄ³¤~¯à¸Ñ°£¦w¸Ë $(^NameDA)¡C$_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "¦pªG§A±µ¨ü¨óÄ³¤¤ªº±ø´Ú¡A¿ï¾Ü¤U¤è²Ä¤@­Ó¿ï¶µ¡C¥²¶·­n±µ¨ü¨óÄ³¤~¯à¸Ñ°£¦w¸Ë $(^NameDA)¡C$_CLICK"
+!endif
+
+!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "ÀË¾\¨óÄ³ªº¨ä¾l³¡¤À¡A½Ð«ö [PgDn] ©¹¤U±²°Ê­¶­±¡C"
+!endif
+
+!ifdef MUI_COMPONENTSPAGE
+  ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "¿ï¾Ü¤¸¥ó"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "¿ï¾Ü§A·Q­n¦w¸Ë $(^NameDA) ªº¨º¨Ç¥\¯à¡C"
+!endif
+
+!ifdef MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "¿ï¨ú¤¸¥ó"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "¿ï¨ú $(^NameDA) ·í¤¤§A·Q­n¸Ñ°£¦w¸Ëªº¥\¯à¡C"
+!endif
+
+!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "´y­z"
+  !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "²¾°Ê§Aªº·Æ¹««ü¼Ð¨ì¤¸¥ó¤§¤W¡A«K¥i¨£¨ì¥¦ªº´y­z¡C"
+  !else
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "²¾°Ê§Aªº·Æ¹««ü¼Ð¨ì¤¸¥ó¤§¤W¡A«K¥i¨£¨ì¥¦ªº´y­z¡C"
+  !endif
+!endif
+
+!ifdef MUI_DIRECTORYPAGE
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "¿ï¨ú¦w¸Ë¦ì¸m"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "¿ï¨ú $(^NameDA) ­n¦w¸Ëªº¸ê®Æ§¨¡C"
+!endif
+
+!ifdef MUI_UNDIRECTORYPAGE
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "¿ï¨ú¸Ñ°£¦w¸Ë¦ì¸m"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "¿ï¨ú $(^NameDA) ­n¸Ñ°£¦w¸Ëªº¸ê®Æ§¨¡C"
+!endif
+
+!ifdef MUI_INSTFILESPAGE
+  ${LangFileString} MUI_TEXT_INSTALLING_TITLE "¥¿¦b¦w¸Ë"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "$(^NameDA) ¥¿¦b¦w¸Ë¡A½Ðµ¥­Ô¡C"
+  ${LangFileString} MUI_TEXT_FINISH_TITLE "¦w¸Ë§¹¦¨"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "¦w¸Ëµ{¦¡¤w¦¨¥\¦a°õ¦æ§¹¦¨¡C"
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "¦w¸Ë¤v¤¤¤î"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "¦w¸Ëµ{¦¡¨Ã¥¼¦¨¥\¦a°õ¦æ§¹¦¨¡C"
+!endif
+
+!ifdef MUI_UNINSTFILESPAGE
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "¥¿¦b¸Ñ°£¦w¸Ë"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "$(^NameDA) ¥¿¦b¸Ñ°£¦w¸Ë¡A½Ðµ¥­Ô¡C"
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "¸Ñ°£¦w¸Ë¤w§¹¦¨"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "¸Ñ°£¦w¸Ëµ{¦¡¤w¦¨¥\¦a°õ¦æ§¹¦¨¡C"
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "¸Ñ°£¦w¸Ë¤w¤¤¤î"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "¸Ñ°£¦w¸Ëµ{¦¡¨Ã¥¼¦¨¥\¦a°õ¦æ§¹¦¨¡C"
+!endif
+
+!ifdef MUI_FINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "¥¿¦b§¹¦¨ $(^NameDA) ¦w¸ËºëÆF"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) ¤w¦w¸Ë¦b§Aªº¨t²Î¡C$\r$\n«ö¤@¤U [§¹¦¨(F)] Ãö³¬¦¹ºëÆF¡C"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "§Aªº¨t²Î»Ý­n­«·s±Ò°Ê¡A¥H«K§¹¦¨ $(^NameDA) ªº¦w¸Ë¡C²{¦b­n­«·s±Ò°Ê¶Ü¡H"
+!endif
+
+!ifdef MUI_UNFINISHPAGE
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "¥¿¦b§¹¦¨ $(^NameDA) ¸Ñ°£¦w¸ËºëÆF"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) ¤w±q§Aªº¹q¸£¸Ñ°£¦w¸Ë¡C$\r$\n$\r$\n«ö¤@¤U [§¹¦¨] Ãö³¬³o­ÓºëÆF¡C"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "¹q¸£»Ý­n­«·s±Ò°Ê¡A¥H«K§¹¦¨ $(^NameDA) ªº¸Ñ°£¦w¸Ë¡C²{¦b·Q­n­«·s±Ò°Ê¶Ü¡H"
+!endif
+
+!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "¬O¡A²{¦b­«·s±Ò°Ê(&Y)"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "§_¡A§Úµy«á¦A¦Û¦æ­«·s±Ò°Ê(&N)"
+  ${LangFileString} MUI_TEXT_FINISH_RUN "°õ¦æ $(^NameDA)(&R)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "Åã¥Ü¡uÅª§ÚÀÉ®×¡v(&M)"
+  ${LangFileString} MUI_BUTTONTEXT_FINISH "§¹¦¨(&F)"  
+!endif
+
+!ifdef MUI_STARTMENUPAGE
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "¿ï¾Ü¡u¶}©l¥\¯àªí¡v¸ê®Æ§¨"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "¿ï¾Ü¡u¶}©l¥\¯àªí¡v¸ê®Æ§¨¡A¥Î©óµ{¦¡ªº±¶®|¡C"
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "¿ï¾Ü¡u¶}©l¥\¯àªí¡v¸ê®Æ§¨¡A¥H«K«Ø¥ßµ{¦¡ªº±¶®|¡C§A¤]¥i¥H¿é¤J¦WºÙ¡A«Ø¥ß·s¸ê®Æ§¨¡C"
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "¤£­n«Ø¥ß±¶®|(&N)"
+!endif
+
+!ifdef MUI_UNCONFIRMPAGE
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "¸Ñ°£¦w¸Ë $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "±q§Aªº¹q¸£¸Ñ°£¦w¸Ë $(^NameDA) ¡C"
+!endif
+
+!ifdef MUI_ABORTWARNING
+  ${LangFileString} MUI_TEXT_ABORTWARNING "§A½T©w­nÂ÷¶} $(^Name) ¦w¸Ëµ{¦¡¡H"
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "§A½T©w­nÂ÷¶} $(^Name) ¸Ñ°£¦w¸Ë¶Ü¡H"
+!endif
Index: tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Catalan.nlf
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Catalan.nlf	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/Language files/Catalan.nlf	(revision 2961)
@@ -0,0 +1,191 @@
+# Header, don't edit
+NLF v6
+# Language ID
+1027
+# Font and size - dash (-) means default
+-
+-
+# Codepage - dash (-) means ANSI code page
+1252
+# RTL - anything else than RTL means LTR
+-
+# Translation by falanko
+# Corrections by Toni Hermoso Pulido
+# ^Branding
+Sistema d'instal·lació de Nullsoft %s
+# ^SetupCaption
+Instal·lació de l'aplicació $(^Name)
+# ^UninstallCaption
+Desinstal·lació de l'aplicació $(^Name)
+# ^LicenseSubCaption
+: Acord de llicència
+# ^ComponentsSubCaption
+: Opcions d'instal·lació
+# ^DirSubCaption
+: Carpeta d'instal·lació
+# ^InstallingSubCaption
+: S'està instal·lant
+# ^CompletedSubCaption
+: S'ha acabat
+# ^UnComponentsSubCaption
+: Opcions de desinstal·lació
+# ^UnDirSubCaption
+: Carpeta de desinstal·lació
+# ^ConfirmSubCaption
+: Confirmació
+# ^UninstallingSubCaption
+: S'està desinstal·lant
+# ^UnCompletedSubCaption
+: No s'ha acabat
+# ^BackBtn
+< En&rere
+# ^NextBtn
+En&davant >
+# ^AgreeBtn
+Hi estic d'a&cord
+# ^AcceptBtn
+&Accepto els termes de l'acord de llicència
+# ^DontAcceptBtn
+&No accepto els termes de l'acord de llicència
+# ^InstallBtn
+&Instal·la
+# ^UninstallBtn
+&Desinstal·la
+# ^CancelBtn
+&Cancel·la
+# ^CloseBtn
+&Tanca
+# ^BrowseBtn
+&Navega...
+# ^ShowDetailsBtn
+&Mostra els detalls
+# ^ClickNext
+Feu clic a Endavant per a continuar.
+# ^ClickInstall
+Feu clic a Instal·la per a iniciar la instal·lació.
+# ^ClickUninstall
+Feu clic a Desinstal·la per a iniciar la desinstal·lació.
+# ^Name
+Nom
+# ^Completed
+S'ha acabat
+# ^LicenseText
+Reviseu l'acord de llicència abans d'instal·lar l'aplicació $(^NameDA). Si accepteu tots els termes de l'acord, feu clic a Hi estic d'acord.
+# ^LicenseTextCB
+Reviseu l'acord de llicència abans d'instal·lar l'aplicació $(^NameDA). Si accepteu tots els termes de l'acord, activeu la casella de sota. $_CLICK
+# ^LicesnseTextRB
+Reviseu l'acord de llicència abans d'instal·lar l'aplicació $(^NameDA). Si accepteu tots els termes de l'acord, seleccioneu la primera opció de sota. $_CLICK
+# ^UnLicenseText
+Reviseu l'acord de llicència abans de desinstal·lar l'aplicació $(^NameDA). Si accepteu tots els termes de l'acord, feu clic a Hi estic d'acord.
+# ^UnLicenseTextCB
+Reviseu l'acord de llicència abans de desinstal·lar l'aplicació $(^NameDA). Si accepteu tots els termes de l'acord, activeu la la casella de sota. $_CLICK
+# ^UnLicesnseTextRB
+Reviseu l'acord de llicència abans de desinstal·lar l'aplicació $(^NameDA). Si accepteu tots els termes de l'acord, seleccioneu la primera opció de sota. $_CLICK
+# ^Custom
+Personalitzada
+# ^ComponentsText
+Activeu els components que voleu instal·lar i desactiveu els que no. $_CLICK
+# ^ComponentsSubText1
+Seleccioneu el tipus d'instal·lació:
+# ^ComponentsSubText2_NoInstTypes
+Seleccioneu els components per instal·lar:
+# ^ComponentsSubText2
+O bé, seleccioneu els components opcionals que desitgéssiu instal·lar:
+# ^UnComponentsText
+Activeu els components que voleu desinstal·lar i desactiveu els que no. $_CLICK
+# ^UnComponentsSubText1
+Seleccioneu el tipus de desinstal·lació:
+# ^UnComponentsSubText2_NoInstTypes
+Seleccioneu els components per desinstal·lar:
+# ^UnComponentsSubText2
+O bé, seleccioneu els components opcionals per desinstal·lar:
+# ^DirText
+El programa d'instal·lació instal·larà l'aplicació $(^NameDA) en la següent carpeta. Per a instal·lar-lo en una carpeta diferent, feu clic a Navega i seleccioneu-ne una altra. $_CLICK
+# ^DirSubText
+Carpeta de destinació
+# ^DirBrowseText
+Seleccioneu la carpeta on s'instal·larà l'aplicació $(^NameDA):
+# ^UnDirText
+El programa d'instal·lació desinstal·larà l'aplicació $(^NameDA) de la següent carpeta. Per a desinstal·lar-lo d'una carpeta diferent, feu clic a Navega i seleccioneu-ne una altra. $_CLICK
+# ^UnDirSubText
+""
+# ^UnDirBrowseText
+Seleccioneu la carpeta des d'on es desinstal·larà l'aplicació $(^NameDA):
+# ^SpaceAvailable
+"Espai lliure: "
+# ^SpaceRequired
+"Espai necessari: "
+# ^UninstallingText
+Es desinstal·larà l'aplicació $(^NameDA) de la següent carpeta. $_CLICK
+# ^UninstallingSubTex
+S'està desinstal·lant de:
+# ^FileError
+S'ha produït un error en obrir el fitxer en mode d'escriptura: \r\n\t"$0"\r\nFeu clic a Abandona per a aturar la instal·lació,\r\nReintenta per a tornar-ho a provar, o\r\Ignora per a ometre aquest fitxer.
+# ^FileError_NoIgnore
+S'ha produït un error en obrir el fitxer en mode d'escriptura: \r\n\t"$0"\r\nFeu clic a Reintenta per a tornar-ho a provar, o\r\Cancel·la per a aturar la instal·lació.
+# ^CantWrite
+"No s'ha pogut escriure: "
+# ^CopyFailed
+Ha fallat la còpia
+# ^CopyTo
+"Copia a "
+# ^Registering
+"S'esta registrant:"
+# ^Unregistering
+"S'està suprimint el registre: "
+# ^SymbolNotFound
+"No s'ha trobat el símbol: "
+# ^CouldNotLoad
+"No s'ha pogut carregar: "
+# ^CreateFolder
+"Crea la carpeta: "
+# ^CreateShortcut
+"Crea la drecera: "
+# ^CreatedUninstaller
+"S'ha creat el desinstal·lador: "
+# ^Delete
+"S'ha suprimit el fitxer: "
+# ^DeleteOnReboot
+"Suprimeix en reiniciar: "
+# ^ErrorCreatingShortcut
+"S'ha produït un error en crear la drecera: "
+# ^ErrorCreating
+S'ha produït un error en crear:
+# ^ErrorDecompressing
+S'ha produït un error en descomprimir les dades! L'instal·lador està corrupte?
+# ^ErrorRegistering
+S'ha produït un error en registrar una DLL
+# ^ExecShell
+"Executa l'ordre: "
+# ^Exec
+"Executa:"
+# ^Extract
+"Extreu: "
+# ^ErrorWriting
+"Extreu: s'ha produït un error en escriure el fitxer "
+# ^InvalidOpcode
+L'instal·lador està corrupte: el codi d'operació no és vàlid
+# ^NoOLE
+"No hi ha OLE per a: "
+# ^OutputFolder
+"Carpeta de sortida: "
+# ^RemoveFolder
+"Suprimeix la carpeta: "
+# ^RenameOnReboot
+"Reanomena en reiniciar: "
+# ^Rename
+"Reanomena: "
+# ^Skipped
+"S'ha omès: "
+# ^CopyDetails
+Copia els detalls al porta-retalls
+# ^LogInstall
+Registra el procés d'instal·lació
+# ^Byte
+B
+# ^Kilo
+K
+# ^Mega
+M
+# ^Giga
+G
Index: tmp/org.txm.setups/nsis-2.5/Contrib/zip2exe/Base.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/zip2exe/Base.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/zip2exe/Base.nsh	(revision 2961)
@@ -0,0 +1,87 @@
+;Change this file to customize zip2exe generated installers
+
+Name "${ZIP2EXE_NAME}"
+OutFile "${ZIP2EXE_OUTFILE}"
+
+AllowRootDirInstall true
+
+
+!ifdef ZIP2EXE_COMPRESSOR_SOLID
+  !define SETCOMPRESSOR_SWITCH /SOLID
+!else
+  !define SETCOMPRESSOR_SWITCH
+!endif
+
+!ifdef ZIP2EXE_COMPRESSOR_ZLIB
+  SetCompressor ${SETCOMPRESSOR_SWITCH} zlib
+!else ifdef ZIP2EXE_COMPRESSOR_BZIP2
+  SetCompressor ${SETCOMPRESSOR_SWITCH} bzip2
+!else ifdef ZIP2EXE_COMPRESSOR_LZMA
+  SetCompressor ${SETCOMPRESSOR_SWITCH} lzma
+!endif
+
+!ifdef ZIP2EXE_INSTALLDIR
+
+  InstallDir "${ZIP2EXE_INSTALLDIR}"
+
+  Function zip2exe.SetOutPath
+    SetOutPath "$INSTDIR"
+  FunctionEnd
+
+!else ifdef ZIP2EXE_INSTALLDIR_WINAMP
+
+  InstallDir "$PROGRAMFILES\Winamp"
+  InstallDirRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Winamp" "UninstallString"
+
+  Function .onVerifyInstDir
+    IfFileExists $INSTDIR\winamp.exe WinampInstalled
+      Abort
+    WinampInstalled:
+  FunctionEnd
+
+  !ifdef ZIP2EXE_INSTALLDIR_WINAMPMODE
+ 
+    Var ZIP2EXE_TEMP1
+    Var ZIP2EXE_TEMP2
+
+    Function zip2exe.SetOutPath
+       !ifdef ZIP2EXE_INSTALLDIR_SKINS
+         StrCpy $ZIP2EXE_TEMP1 "$INSTDIR\Skins"
+       !else
+         StrCpy $ZIP2EXE_TEMP1 "$INSTDIR\Plugins"
+       !endif
+       ReadINIStr $ZIP2EXE_TEMP2 "$INSTDIR\winamp.ini" "Winamp" "${ZIP2EXE_INSTALLDIR_WINAMPMODE}"
+         StrCmp $ZIP2EXE_TEMP2 "" End
+         IfFileExists $ZIP2EXE_TEMP2 0 End
+         StrCpy $ZIP2EXE_TEMP1 $ZIP2EXE_TEMP2
+       End:
+         SetOutPath $ZIP2EXE_TEMP1
+    FunctionEnd
+
+  !else
+
+    Function zip2exe.SetOutPath
+      !ifdef ZIP2EXE_INSTALLDIR_PLUGINS
+        SetOutPath "$INSTDIR\Plugins"
+      !else
+        SetOutPath "$INSTDIR"
+      !endif
+    FunctionEnd
+
+  !endif
+
+!endif
+
+!macro SECTION_BEGIN
+
+  Section ""
+  
+    Call zip2exe.SetOutPath
+  
+!macroend
+
+!macro SECTION_END
+
+  SectionEnd
+  
+!macroend
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/zip2exe/Classic.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/zip2exe/Classic.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/zip2exe/Classic.nsh	(revision 2961)
@@ -0,0 +1,4 @@
+;Change this file to customize zip2exe generated installers with a classic interface
+
+Page directory
+Page instfiles
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Contrib/zip2exe/Modern.nsh
===================================================================
--- tmp/org.txm.setups/nsis-2.5/Contrib/zip2exe/Modern.nsh	(revision 0)
+++ tmp/org.txm.setups/nsis-2.5/Contrib/zip2exe/Modern.nsh	(revision 2961)
@@ -0,0 +1,8 @@
+;Change this file to customize zip2exe generated installers with a modern interface
+
+!include "MUI.nsh"
+
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_INSTFILES
+
+!insertmacro MUI_LANGUAGE "English"
\ No newline at end of file
Index: tmp/org.txm.setups/nsis-2.5/Stubs/lzma_solid
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Stubs/lzma_solid
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Stubs/bzip2_solid
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Stubs/bzip2_solid
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Stubs/uninst
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Stubs/uninst
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Stubs/zlib
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Stubs/zlib
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Stubs/lzma
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Stubs/lzma
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Stubs/bzip2
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Stubs/bzip2
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Stubs/zlib_solid
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Stubs/zlib_solid
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/Dialer.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/Dialer.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/AccessControl.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/AccessControl.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/Banner.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/Banner.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/TypeLib.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/TypeLib.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/LangDLL.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/LangDLL.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/InstallOptions.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/InstallOptions.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/StartMenu.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/StartMenu.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/nsDialogs.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/nsDialogs.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/System.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/System.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/nsExec.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/nsExec.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/AdvSplash.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/AdvSplash.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/VPatch.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/VPatch.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/Math.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/Math.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/Splash.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/Splash.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/UserInfo.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/UserInfo.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/BgImage.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/BgImage.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/Plugins/NSISdl.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/Plugins/NSISdl.dll
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.setups/nsis-2.5/makensisw.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.setups/nsis-2.5/makensisw.exe
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

