diff --git a/LuaForWindows.iss b/LuaForWindows.iss new file mode 100644 index 0000000..8dfdcff --- /dev/null +++ b/LuaForWindows.iss @@ -0,0 +1,578 @@ +;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +; File: LuaForWindows.iss +; Author: Ryan Pusztai +; Date: 05/13/2008 +; License: +; Copyright (C) 2008-2012 Ryan Pusztai. +; +; Permission is hereby granted, free of charge, to any person obtaining a copy +; of this software and associated documentation files (the "Software"), to deal +; in the Software without restriction, including without limitation the rights +; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +; copies of the Software, and to permit persons to whom the Software is +; furnished to do so, subject to the following conditions: +; +; The above copyright notice and this permission notice shall be included in +; all copies or substantial portions of the Software. +; +; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +; THE SOFTWARE. +;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +; -- General Installer configuration +#define MyAppVer "5.1.4.46" +#define MyAppDisplayVer "5.1.4-46" +#define MyAppName "Lua" +#define MyAppDisplayName "Lua for Windows" +#define MyAppPublisher "The Lua for Windows Project and Lua and Tecgraf, PUC-Rio" +#define MyAppURL "http://luaforwindows.googlecode.com" +#define MyAppExeName "lua.exe" +#define AppMinVer "5.1.3.21" + +; -- Dependancy handling configuration +; Comment out the #define DOWNLOAD_FILES if you want to build the +; dependencies into the installer. +#define DOWNLOAD_FILES +#define vcRedistURL "http://luaforwindows.googlecode.com/files/vcredist_x86.4053.exe" + +; -- Pre-Build Step. +;#expr Exec( "create_install_files_pkg.bat", NULL, ".", 1, SW_SHOWMINIMIZED ) + +[Setup] +AppName={#MyAppName} +AppVerName={#MyAppDisplayName} {#MyAppDisplayVer} +AppPublisher={#MyAppPublisher} +AppPublisherURL={#MyAppURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} +DefaultDirName={pf}\{#MyAppName}\5.1 +DisableDirPage=false +DefaultGroupName={#MyAppName} +DisableProgramGroupPage=false +AllowNoIcons=true +OutputBaseFilename=LuaForWindows_v{#MyAppDisplayVer} +Compression=lzma/ultra +SolidCompression=true +InternalCompressLevel=ultra +OutputDir=. +ShowLanguageDialog=yes +AppVersion={#MyAppVer} +WizardImageFile=compiler:WizModernImage-IS.bmp +WizardSmallImageFile=compiler:WizModernSmallImage-IS.bmp +VersionInfoVersion={#MyAppVer} +VersionInfoDescription={#MyAppName} +ChangesAssociations=true +ChangesEnvironment=true +LicenseFile=files/LICENSE.txt +MinVersion=0,5.0.2195 +PrivilegesRequired=none +UninstallFilesDir={app}\uninstall +UninstallDisplayIcon={app}\lua.exe + +[Messages] +BeveledLabel={#MyAppDisplayName} v{#MyAppDisplayVer} + +[Tasks] +Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked +Name: blackscheme; Description: Use a black background syntax highlight theme for script editor; GroupDescription: Additional schemes:; Flags: unchecked + +[Files] +; -- Main Lua files. +Source: files\bin2c5.1.exe; DestDir: {app}; DestName: bin2c.exe; Flags: ignoreversion +Source: files\LICENSE.txt; DestDir: {app}; Flags: ignoreversion +Source: files\lua5.1.dll; DestDir: {app}; Flags: ignoreversion +Source: files\lua5.1.exe; DestDir: {app}; DestName: lua.exe; Flags: ignoreversion +Source: files\lua51.dll; DestDir: {app}; Flags: ignoreversion +Source: files\luac5.1.exe; DestDir: {app}; DestName: luac.exe; Flags: ignoreversion +Source: files\wlua5.1.exe; DestDir: {app}; DestName: wlua.exe; Flags: ignoreversion +Source: files\metalua.bat; DestDir: {app}; Flags: ignoreversion +Source: files\luadoc_start.bat; DestDir: {app}; Flags: ignoreversion +Source: files\lExecutor.wlua; DestDir: {app}; Flags: ignoreversion +Source: files\ilua.cmd; DestDir: {app}; Flags: ignoreversion +; -- LuaRocks files +Source: files\luarocks.bat; DestDir: {app}; Flags: ignoreversion; Components: luarocks +Source: files\luarocks-admin.bat; DestDir: {app}; Flags: ignoreversion; Components: luarocks +Source: files\7z.dll; DestDir: {app}; Flags: ignoreversion; Components: luarocks +Source: files\7z.exe; DestDir: {app}; Flags: ignoreversion; Components: luarocks +Source: files\luarocks.lua; DestDir: {app}; Flags: ignoreversion; Components: luarocks +Source: files\luarocks_config.lua; DestDir: {app}; Flags: ignoreversion; Components: luarocks +Source: files\luarocks-admin.lua; DestDir: {app}; Flags: ignoreversion; Components: luarocks +Source: files\rclauncher.o; DestDir: {app}; Flags: ignoreversion; Components: luarocks +Source: files\rclauncher.obj; DestDir: {app}; Flags: ignoreversion; Components: luarocks +Source: files\rocks\*; DestDir: {app}\rocks; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: .svn\; Components: luarocks +Source: files\lua\luarocks\*; DestDir: {app}\lua\luarocks; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: .svn\; Components: luarocks +; -- Other files and modules. +Source: files\clibs\*; DestDir: {app}\clibs; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: .svn\; Components: modules +Source: files\docs\*; DestDir: {app}\docs; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: .svn\; Components: docs +Source: files\examples\*; DestDir: {app}\examples; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: .svn\; Components: examples +Source: files\include\*; DestDir: {app}\include; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: .svn\; Components: moduledevel +Source: files\lib\*; DestDir: {app}\lib; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: .svn\; Components: moduledevel +Source: files\lua\*; DestDir: {app}\lua; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: .svn\, luarocks\*; Components: modules +Source: files\utils\*; DestDir: {app}\utils; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: .svn\; Components: modules +Source: support\Microsoft.VC80.CRT.SP1\*; DestDir: {app}\Microsoft.VC80.CRT; Flags: ignoreversion; Excludes: .svn\; Check: IsNonAdminLoggedOn +Source: support\Microsoft.VC80.CRT.SP1\*; DestDir: {app}\clibs\Microsoft.VC80.CRT; Flags: ignoreversion; Excludes: .svn\; Components: modules; Check: IsNonAdminLoggedOn +Source: support\Microsoft.VC80.CRT\*; DestDir: {app}\clibs\alien\Microsoft.VC80.CRT; Flags: ignoreversion; Excludes: .svn\; Components: modules; Check: IsNonAdminLoggedOn +Source: support\Microsoft.VC80.CRT.SP1\*; DestDir: {app}\clibs\md5\Microsoft.VC80.CRT; Flags: ignoreversion; Excludes: .svn\; Components: modules; Check: IsNonAdminLoggedOn +Source: support\Microsoft.VC80.CRT.SP1\*; DestDir: {app}\clibs\mime\Microsoft.VC80.CRT; Flags: ignoreversion; Excludes: .svn\; Components: modules; Check: IsNonAdminLoggedOn +Source: support\Microsoft.VC80.CRT.SP1\*; DestDir: {app}\clibs\socket\Microsoft.VC80.CRT; Flags: ignoreversion; Excludes: .svn\; Components: modules; Check: IsNonAdminLoggedOn +Source: support\*; DestDir: {app}\install\support; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: .svn\ +#ifdef DOWNLOAD_FILES +Source: support\isxdl.dll; DestDir: {tmp}; Flags: dontcopy +Source: {src}\vcredist_x86.exe; DestDir: {app}\install\support; Flags: ignoreversion external; Check: ShouldCopyVc8Runtime +#else +Source: vcredist_x86.exe; DestDir: {app}\install\support; Flags: ignoreversion; Excludes: .svn\ +#endif +Source: LuaForWindows.iss; DestDir: {app}\install; Flags: ignoreversion; Excludes: .svn\ +Source: changes.txt; DestDir: {app}; Flags: ignoreversion; Excludes: .svn\ +Source: todo.txt; DestDir: {app}; Flags: ignoreversion; Excludes: .svn\ + +; -- SciTE files +Source: SciTE\*; DestDir: {app}\SciTE; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: .svn\; Components: editors/scite +Source: support\SciTEGlobal.black.properties; DestDir: {app}\SciTE; DestName: SciTEGlobal.properties; Tasks: blackscheme; Components: editors/scite; Flags: ignoreversion + +[InstallDelete] +Name: {app}\lua\pl; Type: filesandordirs +Name: {app}\docs\bitlib; Type: filesandordirs +Name: {app}\docs\penlight; Type: filesandordirs +Name: {app}\examples\bitlib; Type: filesandordirs +Name: {app}\examples\penlight; Type: filesandordirs +Name: {app}\examples\iup\tree_set_attrs.lua; Type: filesandordirs +; Cleanup the old file. +Name: {app}\install\Lua.iss; Type: files + +[Icons] +Name: {group}\Lua (Command Line); WorkingDir: {app}; Filename: {app}\lua.exe; Components: main +Name: {group}\iLua (Friendly Lua Command Line); WorkingDir: {app}; Filename: {app}\ilua.cmd; Components: main +Name: {group}\lExecutor; WorkingDir: {app}; Filename: {app}\lExecutor.wlua; Components: main +Name: {group}\LuaForWindows Documentation; Filename: {app}\docs\luaforwindows.html; Components: main +Name: {group}\QuickLuaTour; Filename: {app}\Examples\quickluatour.lua; Components: examples +Name: {group}\{#MyAppName} Examples; Filename: {app}\Examples; Components: examples +Name: {group}\Documentation\{#MyAppName} Module Documentation; Filename: {app}\docs; Components: docs +Name: {group}\Documentation\Lua Quick Reference; Filename: {app}\docs\luarefv51.html; Components: docs +Name: {group}\Documentation\Lua 5.1 Reference Manual; Filename: {app}\docs\lua5_1_4_Docs.chm; Components: docs +Name: {group}\Documentation\lExecutor Documentation; Filename: {app}\docs\lexecutor\lExecutor.html; Components: docs +Name: {group}\{cm:UninstallProgram,{#MyAppName}}; Filename: {uninstallexe} +Name: {commondesktop}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; Tasks: desktopicon +; -- SciTE icons. +Name: {group}\SciTE; Filename: {app}\SciTE\scite.exe; Components: editors/scite +Name: {commondesktop}\SciTE; Filename: {app}\SciTE\scite.exe; Tasks: desktopicon; Components: editors/scite + +[Run] +Filename: {app}\Examples\quickluatour.lua; Description: Run a simple introduction to Lua.; WorkingDir: {app}; Flags: nowait postinstall skipifsilent unchecked shellexec; Components: examples +Filename: {app}/install/support/vcredist_x86.exe; Parameters: "/q:a /c:""VCREDI~3.EXE /q:a /c:""""msiexec /i vcredist.msi /qn"""" """; StatusMsg: Installing Microsoft Visual C++ 2005 SP1 Redistributable...; Check: ShouldInstallVc8Runtime + +[INI] +Filename: {group}\Documentation\{#MyAppName} On The Web.url; Section: InternetShortcut; Key: URL; String: http://lua.org/ +Filename: {group}\Documentation\Lua PiL Book.url; Section: InternetShortcut; Key: URL; String: http://www.lua.org/pil/; Components: docs +Filename: {app}\docs\Lua PiL Book.url; Section: InternetShortcut; Key: URL; String: http://www.lua.org/pil/; Components: docs + +[UninstallDelete] +Type: files; Name: {app}\{#MyAppName}.url +Type: files; Name: {app}\docs\Lua PiL Book.url +Type: files; Name: {app}\docs\lua5_1_3_Docs.chm +Type: filesandordirs; Name: {group} + +[Components] +Name: main; Description: Lua (required); Flags: fixed dontinheritcheck checkablealone; Types: full compact custom +Name: editors; Description: Script Editors; Flags: dontinheritcheck disablenouninstallwarning; Types: full custom +Name: editors/scite; Description: SciTE (IDE with debugging); Flags: disablenouninstallwarning exclusive; Types: full custom +Name: modules; Description: Lua Modules; Flags: dontinheritcheck checkablealone disablenouninstallwarning; Types: full custom +Name: luarocks; Description: LuaRocks Module Installer (Experimental); Flags: dontinheritcheck checkablealone disablenouninstallwarning; Types: full custom +Name: moduledevel; Description: Lua Module Development files (libs and headers); Flags: dontinheritcheck checkablealone disablenouninstallwarning; Types: full custom +Name: docs; Description: Documentation; Flags: dontinheritcheck checkablealone disablenouninstallwarning; Types: full custom +Name: examples; Description: Examples; Flags: dontinheritcheck checkablealone disablenouninstallwarning; Types: full custom + +[Registry] +; -- Add the Lua file associations. +Root: HKCR; SubKey: .lua; ValueType: string; ValueData: {#MyAppName}.Script; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: .lua\Content Type; ValueType: string; ValueData: text/plain; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: .lua\PerceivedType; ValueType: string; ValueData: text; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: {#MyAppName}.Script\DefaultIcon; ValueType: string; ValueData: {app}\install\support\luafile.ico; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: {#MyAppName}.Script; ValueType: string; ValueData: {#MyAppName} Script File; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: {#MyAppName}.Script\Shell\Open\Command; ValueType: string; ValueData: """{app}\{#MyAppExeName}"" ""%1"" %*"; Flags: uninsdeletevalue; Check: IsAdminLoggedOn +Root: HKCR; SubKey: {#MyAppName}.Script\Shell\Edit; ValueType: string; ValueData: Edit Script; Flags: uninsdeletevalue; Components: editors/scite; Check: IsAdminLoggedOn +Root: HKCR; SubKey: {#MyAppName}.Script\Shell\Edit\Command; ValueType: expandsz; ValueData: """{app}\SciTE\scite.exe"" ""%1"""; Flags: uninsdeletevalue; Components: editors/scite; Check: IsAdminLoggedOn +Root: HKCR; SubKey: .wlua; ValueType: string; ValueData: w{#MyAppName}.Script; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: .wlua\Content Type; ValueType: string; ValueData: text/plain; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: .wlua\PerceivedType; ValueType: string; ValueData: text; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: w{#MyAppName}.Script\DefaultIcon; ValueType: string; ValueData: {app}\install\support\luafile.ico; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: w{#MyAppName}.Script; ValueType: string; ValueData: w{#MyAppName} Script File; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: w{#MyAppName}.Script\Shell\Open\Command; ValueType: string; ValueData: """{app}\w{#MyAppExeName}"" ""%1"" %*"; Flags: uninsdeletevalue; Check: IsAdminLoggedOn +Root: HKCR; SubKey: w{#MyAppName}.Script\Shell\Edit; ValueType: string; ValueData: Edit Script; Flags: uninsdeletevalue; Components: editors/scite; Check: IsAdminLoggedOn +Root: HKCR; SubKey: w{#MyAppName}.Script\Shell\Edit\Command; ValueType: expandsz; ValueData: """{app}\SciTE\scite.exe"" ""%1"""; Flags: uninsdeletevalue; Components: editors/scite; Check: IsAdminLoggedOn +Root: HKCR; SubKey: .lexe; ValueType: string; ValueData: lExecutor.Script; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: .lexe\Content Type; ValueType: string; ValueData: text/plain; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: .lexe\PerceivedType; ValueType: string; ValueData: text; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: lExecutor.Script\DefaultIcon; ValueType: string; ValueData: {app}\install\support\lexe.ico; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: lExecutor.Script; ValueType: string; ValueData: lExecutor Script File; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: lExecutor.Script\Shell\Open\Command; ValueType: string; ValueData: """{app}\w{#MyAppExeName}"" ""{app}\lExecutor.wlua"" ""%1"" %*"; Flags: uninsdeletevalue; Check: IsAdminLoggedOn +Root: HKCR; SubKey: lExecutor.Script\Shell\Edit; ValueType: string; ValueData: Edit Script; Flags: uninsdeletevalue; Components: editors/scite; Check: IsAdminLoggedOn +Root: HKCR; SubKey: lExecutor.Script\Shell\Edit\Command; ValueType: expandsz; ValueData: """{app}\SciTE\scite.exe"" ""%1"""; Flags: uninsdeletevalue; Components: editors/scite; Check: IsAdminLoggedOn +; +Root: HKCR; SubKey: .luac; ValueType: string; ValueData: {#MyAppName}.Compiled; Flags: uninsdeletekey; Check: IsAdminLoggedOn +;Root: HKCR; SubKey: .luac\Content Type; ValueType: string; ValueData: text/plain; Flags: uninsdeletekey; Check: IsAdminLoggedOn +;Root: HKCR; SubKey: .luac\PerceivedType; ValueType: string; ValueData: text; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: {#MyAppName}.Compiled\DefaultIcon; ValueType: string; ValueData: {app}\install\support\luafile3.ico; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: {#MyAppName}.Compiled; ValueType: string; ValueData: {#MyAppName} Compiled File; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: {#MyAppName}.Compiled\Shell\Open\Command; ValueType: string; ValueData: """{app}\{#MyAppExeName}"" ""%1"" %*"; Flags: uninsdeletevalue; Check: IsAdminLoggedOn +Root: HKCR; SubKey: .mlua; ValueType: string; ValueData: Meta{#MyAppName}.Script; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: .mlua\Content Type; ValueType: string; ValueData: text/plain; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: .mlua\PerceivedType; ValueType: string; ValueData: text; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: Meta{#MyAppName}.Script\DefaultIcon; ValueType: string; ValueData: {app}\install\support\luafile2.ico; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: Meta{#MyAppName}.Script; ValueType: string; ValueData: Meta{#MyAppName} Script File; Flags: uninsdeletekey; Check: IsAdminLoggedOn +Root: HKCR; SubKey: Meta{#MyAppName}.Script\Shell\Open\Command; ValueType: string; ValueData: """{app}\metalua.bat"" ""%1"" %*"; Flags: uninsdeletevalue; Check: IsAdminLoggedOn +Root: HKCR; SubKey: Meta{#MyAppName}.Script\Shell\Edit; ValueType: string; ValueData: Edit Script; Flags: uninsdeletevalue; Components: editors/scite; Check: IsAdminLoggedOn +Root: HKCR; SubKey: Meta{#MyAppName}.Script\Shell\Edit\Command; ValueType: expandsz; ValueData: """{app}\SciTE\scite.exe"" ""%1"""; Flags: uninsdeletevalue; Components: editors/scite; Check: IsAdminLoggedOn + +; -- Limited user Lua file associations. +Root: HKCU; SubKey: SOFTWARE\Classes\.lua; ValueType: string; ValueData: {#MyAppName}.Script; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\.lua\Content Type; ValueType: string; ValueData: text/plain; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\.lua\PerceivedType; ValueType: string; ValueData: text; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\{#MyAppName}.Script\DefaultIcon; ValueType: string; ValueData: {app}\install\support\luafile.ico; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\{#MyAppName}.Script; ValueType: string; ValueData: {#MyAppName} Script File; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\{#MyAppName}.Script\Shell\Open\Command; ValueType: string; ValueData: """{app}\{#MyAppExeName}"" ""%1"" %*"; Flags: uninsdeletevalue; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\{#MyAppName}.Script\Shell\Edit; ValueType: string; ValueData: Edit Script; Flags: uninsdeletevalue; Components: editors/scite; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\{#MyAppName}.Script\Shell\Edit\Command; ValueType: expandsz; ValueData: """{app}\SciTE\scite.exe"" ""%1"""; Flags: uninsdeletevalue; Components: editors/scite; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\.wlua; ValueType: string; ValueData: w{#MyAppName}.Script; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\.wlua\Content Type; ValueType: string; ValueData: text/plain; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\.wlua\PerceivedType; ValueType: string; ValueData: text; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\w{#MyAppName}.Script\DefaultIcon; ValueType: string; ValueData: {app}\install\support\luafile.ico; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\w{#MyAppName}.Script; ValueType: string; ValueData: w{#MyAppName} Script File; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\w{#MyAppName}.Script\Shell\Open\Command; ValueType: string; ValueData: """{app}\w{#MyAppExeName}"" ""%1"" %*"; Flags: uninsdeletevalue; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\w{#MyAppName}.Script\Shell\Edit; ValueType: string; ValueData: Edit Script; Flags: uninsdeletevalue; Components: editors/scite; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\w{#MyAppName}.Script\Shell\Edit\Command; ValueType: expandsz; ValueData: """{app}\SciTE\scite.exe"" ""%1"""; Flags: uninsdeletevalue; Components: editors/scite; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\.lexe; ValueType: string; ValueData: lExecutor.Script; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\.lexe\Content Type; ValueType: string; ValueData: text/plain; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\.lexe\PerceivedType; ValueType: string; ValueData: text; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\lExecutor.Script\DefaultIcon; ValueType: string; ValueData: {app}\install\support\lexe.ico; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\lExecutor.Script; ValueType: string; ValueData: lExecutor Script File; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\lExecutor.Script\Shell\Open\Command; ValueType: string; ValueData: """{app}\w{#MyAppExeName}"" ""{app}\lExecutor.wlua"" ""%1"" %*"; Flags: uninsdeletevalue; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\lExecutor.Script\Shell\Edit; ValueType: string; ValueData: Edit Script; Flags: uninsdeletevalue; Components: editors/scite; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\lExecutor.Script\Shell\Edit\Command; ValueType: expandsz; ValueData: """{app}\SciTE\scite.exe"" ""%1"""; Flags: uninsdeletevalue; Components: editors/scite; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\.luac; ValueType: string; ValueData: {#MyAppName}.Compiled; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +;Root: HKCU; SubKey: SOFTWARE\Classes\.luac\Content Type; ValueType: string; ValueData: text/plain; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +;Root: HKCU; SubKey: SOFTWARE\Classes\.luac\PerceivedType; ValueType: string; ValueData: text; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\{#MyAppName}.Compiled\DefaultIcon; ValueType: string; ValueData: {app}\install\support\luafile3.ico; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\{#MyAppName}.Compiled; ValueType: string; ValueData: {#MyAppName} Compiled File; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\{#MyAppName}.Compiled\Shell\Open\Command; ValueType: string; ValueData: """{app}\{#MyAppExeName}"" ""%1"" %*"; Flags: uninsdeletevalue; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\.mlua; ValueType: string; ValueData: Meta{#MyAppName}.Script; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\.mlua\Content Type; ValueType: string; ValueData: text/plain; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\.mlua\PerceivedType; ValueType: string; ValueData: text; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\Meta{#MyAppName}.Script\DefaultIcon; ValueType: string; ValueData: {app}\install\support\luafile2.ico; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\Meta{#MyAppName}.Script; ValueType: string; ValueData: Meta{#MyAppName} Script File; Flags: uninsdeletekey; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\Meta{#MyAppName}.Script\Shell\Open\Command; ValueType: string; ValueData: """{app}\metalua.bat"" ""%1"" %*"; Flags: uninsdeletevalue; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\Meta{#MyAppName}.Script\Shell\Edit; ValueType: string; ValueData: Edit Script; Flags: uninsdeletevalue; Components: editors/scite; Check: IsNonAdminLoggedOn +Root: HKCU; SubKey: SOFTWARE\Classes\Meta{#MyAppName}.Script\Shell\Edit\Command; ValueType: expandsz; ValueData: """{app}\SciTE\scite.exe"" ""%1"""; Flags: uninsdeletevalue; Components: editors/scite; Check: IsNonAdminLoggedOn + +[Code] +// -- Misc Functions + +// -- Checks to see if a non-administrator is logged on. +function IsNonAdminLoggedOn(): boolean; +begin + if IsAdminLoggedOn() then begin + Result := false; + end else begin + Result := true; + end; +end; + +// -- Checks to see if the VC 8.0 run-time is installed. +function IsVc8RuntimeInstalled(): boolean; +begin + Result := RegValueExists( HKLM, 'Software\Microsoft\DevDiv\VC\Servicing\8.0\RED\1033', 'Install' ); +end; + +// -- Checks to see if the VC 8.0 run-time is already installed and determines if it should be installed. +function ShouldInstallVc8Runtime(): boolean; +begin + if IsVc8RuntimeInstalled() then begin + // Already installed so no need to re-install. + Result := false; + end else begin + if IsAdminLoggedOn() then begin + Result := true; + end else begin + SuppressibleMsgBox( 'The Microsoft Visual C++ 2005 Redistributable doesn''t appear to be installed and requires administrator privileges.' #13 #13 'Please run "vcredist_x86.exe", as an Administrator, from' #13 ' ' + ExpandConstant( '{app}\install\support\vcredist_x86.exe' ) + #13 'after the install finishes.' #13 #13 'NOTE: Lua will have limited or no functionality, so please do this as soon as possible.' , mbInformation, MB_OK, IDOK ); + Result := false; + end; + end; +end; + +// -- Checks to see if the VC 8.0 run-time needs to be copied +function ShouldCopyVc8Runtime(): boolean; +begin + Result := not IsVc8RuntimeInstalled(); +end; + +// -- Updates specified environment variable. +procedure UpdateEnvironmentVariable( const environmentVariable: String; const stringToAdd: String ); +var + value: String; + newVal: String; + idx: Integer; + +begin + // Get the old value so the new value can be appended. + // Also check if you have administrative rights so that we can read + // from the right location. This is because reads are ok on a non-admin system. + if IsAdminLoggedOn() then begin + RegQueryStringValue( HKLM, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', environmentVariable, value ) + end else begin + // Check if the local environment already exists and grab that as a starting place. + if RegValueExists( HKCU, 'Environment', environmentVariable ) then begin + RegQueryStringValue( HKCU, 'Environment', environmentVariable, value ) + end else begin + if CompareText( environmentVariable, 'PATH' ) = 0 then begin + RegQueryStringValue( HKCU, 'Environment', environmentVariable, value ) + end else begin + RegQueryStringValue( HKLM, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', environmentVariable, value ) + end; + end; + end; + + // Only add the ';' if there is a string already. + if Length( value ) > 0 then begin + newVal := ';' + stringToAdd; + end else begin + newVal := stringToAdd + end; + + // Search for the string + idx := Pos( stringToAdd, value ); + if idx = 0 then begin + value := value + newVal; + if not RegWriteStringValue( HKLM, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', environmentVariable, value ) then + RegWriteStringValue( HKCU, 'Environment', environmentVariable, value ); + end; +end; + +// -- Updates specified environment variable. +procedure RemoveEnvironmentVariable( const environmentVariable: String; const stringToRemove: String ); +var + value: String; + firstVal: String; + secondVal: String; + lastChar: String; + idx: Integer; + +begin + // Get the old value so the new value can be appended. + // Also check if you have administrative rights so that we can read + // from the right location. This is because reads are ok on a non-admin system. + if IsAdminLoggedOn() then begin + RegQueryStringValue( HKLM, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', environmentVariable, value ) + end else begin + // Check if the local environment already exists and grab that as a starting place. + if RegValueExists( HKCU, 'Environment', environmentVariable ) then begin + RegQueryStringValue( HKCU, 'Environment', environmentVariable, value ) + end else begin + if CompareText( environmentVariable, 'PATH' ) = 0 then begin + RegQueryStringValue( HKCU, 'Environment', environmentVariable, value ) + end else begin + RegQueryStringValue( HKLM, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', environmentVariable, value ) + end; + end; + end; + + // Search for the string + idx := Pos( stringToRemove, value ); + if idx > 0 then begin + // get the parts of the string. + firstVal := Copy( value, 0, idx - 1 ); + secondVal := Copy( value, idx + Length( stringToRemove ), Length( value ) ); + + // Combine the first and second values to make the new value. + value := firstVal + secondVal; + + // See if the value is now empty and delete it. Else write the balance back. + if Length( value ) = 0 then begin + if not RegDeleteValue( HKLM, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', environmentVariable ) then + RegDeleteValue( HKCU, 'Environment', environmentVariable ); + end else begin + // Clean up the string a bit by removing duplicate ;. + StringChangeEx( value, ';;', ';', True ); + // Check the last character for a ; and remove it. + lastChar := Copy( value, Length( value ), Length( value ) ); + if lastChar = ';' then + value := Copy( value, 0, Length( value ) - 1 ); + + // Write the new value back. + if not RegWriteStringValue( HKLM, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', environmentVariable, value ) then + RegWriteStringValue( HKCU, 'Environment', environmentVariable, value ); + end; + end; +end; + +// -- Previous version and uninstalling functions +function GetPathInstalled( AppID: String ): String; +var + sPrevPath: String; +begin + sPrevPath := ''; + if not RegQueryStringValue( HKLM, + 'Software\Microsoft\Windows\CurrentVersion\Uninstall\'+AppID+'_is1', + 'Inno Setup: App Path', sPrevpath) then + RegQueryStringValue( HKCU, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\'+AppID+'_is1' , + 'Inno Setup: App Path', sPrevpath); + + Result := sPrevPath; +end; + +function GetPathUninstallString( AppID: String ): String; +var + sPrevPath: String; +begin + sPrevPath := ''; + if not RegQueryStringValue( HKLM, + 'Software\Microsoft\Windows\CurrentVersion\Uninstall\'+AppID+'_is1', + 'UninstallString', sPrevpath) then + RegQueryStringValue( HKCU, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\'+AppID+'_is1' , + 'UninstallString', sPrevpath); + + Result := sPrevPath; +end; + +function GetInstalledVersion( AppID: String ): String; +var + sPrevPath: String; + +begin + sPrevPath := ''; + if not RegQueryStringValue( HKLM, + 'Software\Microsoft\Windows\CurrentVersion\Uninstall\'+AppID+'_is1', + 'DisplayVersion', sPrevpath) then + RegQueryStringValue( HKCU, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\'+AppID+'_is1' , + 'DisplayVersion', sPrevpath); + + Result := sPrevPath; +end; + +function InitializeSetup(): boolean; +var + ResultCode: Integer; + sVersion: String; + sUninstallEXE: String; + +begin + sVersion:= GetInstalledVersion('{#MyAppName}'); + sUninstallEXE:= RemoveQuotes(GetPathUninstallString('{#MyAppName}')); + + // Check to make sure there is an exceptable version of LfW installed. + if Length(sVersion) = 0 then begin + result:= true; + end else begin + //MsgBox( 'Version ' + sVersion + ' found. Minversion = ' + '{#AppMinVer}', mbInformation, MB_OK ); + if CompareText( sVersion, '{#AppMinVer}' ) <= 0 then begin + if FileExists( sUninstallEXE ) then begin + if WizardSilent() then begin + // Just uninstall without asking because we are in silent mode. + Exec( sUninstallEXE, '/SILENT', GetPathInstalled('{#MyAppName}'), + SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode); + + // Make sure that Setup is visible and the foreground window + BringToFrontAndRestore; + result := true; + end else begin + // Ask if they really want to uninstall because we are in the default installer. + if SuppressibleMsgBox( 'Version ' + sVersion + ' of {#MyAppName} was detected.' #13 'It is recommended that you uninstall the old version first before continuing.' + #13 + #13 + 'Would you like to uninstall it now?', mbInformation, MB_YESNO, IDYES ) = IDYES then begin + Exec( sUninstallEXE, '/SILENT', GetPathInstalled('{#MyAppName}'), + SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode); + + // Make sure that Setup is visible and the foreground window + BringToFrontAndRestore; + result := true; + end else begin + result := true; + end; + end; + end; + end else begin + result := true; + end; + end; +end; + +procedure CurStepChanged( CurStep: TSetupStep ); +begin + if CurStep = ssPostInstall then begin + // Add the app path to the PATH environment variable. + UpdateEnvironmentVariable( 'PATH', ExpandConstant( '{app}' ) ); + UpdateEnvironmentVariable( 'PATH', ExpandConstant( '{app}' ) + '\clibs' ); + // Add the file extentions to the PATHEXT environment variable. + //UpdateEnvironmentVariable( 'PATHEXT', '.lua' ); + UpdateEnvironmentVariable( 'PATHEXT', '.wlua' ); + UpdateEnvironmentVariable( 'PATHEXT', '.lexe' ); + // Add the LUA_PATH and LUA_CPATH. + UpdateEnvironmentVariable( 'LUA_PATH', ';;' + ExpandConstant( '{app}' ) + '\lua\?.luac' ) + //UpdateEnvironmentVariable( 'LUA_CPATH', ';;?.dll;' + ExpandConstant( '{app}' ) + '\clibs\?.dll;' + ExpandConstant( '{app}' ) + '\clibs\loadall.dll;' + ExpandConstant( '{app}' ) + '\clibs\?51.dll' ) + // Add LUA_DEV to help C module writers. + UpdateEnvironmentVariable( 'LUA_DEV', ExpandConstant( '{app}' ) ) + end; +end; + +procedure CurUninstallStepChanged( CurUninstallStep: TUninstallStep ); +begin + if CurUninstallStep = usPostUninstall then begin + // Remove the app path to the PATH environment variable. + RemoveEnvironmentVariable( 'PATH', ExpandConstant( '{app}' ) ); + RemoveEnvironmentVariable( 'PATH', ExpandConstant( '{app}' ) + '\clibs' ); + // Remove the file extentions to the PATHEXT environment variable. + //RemoveEnvironmentVariable( 'PATHEXT', '.lua' ); + RemoveEnvironmentVariable( 'PATHEXT', '.wlua' ); + RemoveEnvironmentVariable( 'PATHEXT', '.lexe' ); + // Remove the LUA_PATH and LUA_CPATH. + RemoveEnvironmentVariable( 'LUA_PATH', ';;' + ExpandConstant( '{app}' ) + '\lua\?.luac' ) + //RemoveEnvironmentVariable( 'LUA_CPATH', ';;?.dll;' + ExpandConstant( '{app}' ) + '\clibs\?.dll;' + ExpandConstant( '{app}' ) + '\clibs\loadall.dll;' + ExpandConstant( '{app}' ) + '\clibs\?51.dll' ) + // Remove the LUA_DEV variable. + RemoveEnvironmentVariable( 'LUA_DEV', ExpandConstant( '{app}' ) ) + end; +end; + +#ifdef DOWNLOAD_FILES +procedure isxdl_AddFile(URL, Filename: String); +external 'isxdl_AddFile@files:isxdl.dll stdcall'; +function isxdl_DownloadFiles(hWnd: Integer): Integer; +external 'isxdl_DownloadFiles@files:isxdl.dll stdcall'; +function isxdl_SetOption(Option, Value: String): Integer; +external 'isxdl_SetOption@files:isxdl.dll stdcall'; + + +function NextButtonClick( CurPage: Integer ): Boolean; +var + hWnd: Integer; + downloadNeeded: Boolean; + vcRedistPath: String; + +begin + downloadNeeded := false; + Result := true; + + if CurPage = wpReady then begin + hWnd := StrToInt( ExpandConstant( '{wizardhwnd}' ) ); + + if not IsVc8RuntimeInstalled() then begin + vcRedistPath := ExpandConstant( '{src}\vcredist_x86.exe' ); + if not FileExists( vcRedistPath ) then begin + isxdl_AddFile( '{#vcRedistURL}', vcRedistPath ); + downloadNeeded := true; + end; + + isxdl_SetOption( 'label', 'Downloading extra files' ); + isxdl_SetOption( 'description', 'Please wait while Setup is downloading the Microsoft Visual C++ 2005 SP1 Redistributable to your computer.' ); + if downloadNeeded then begin + if isxdl_DownloadFiles( hWnd ) = 0 then begin + Result := false; + end; + end; + end; + end; +end; +#endif + + diff --git a/changes.txt b/changes.txt new file mode 100644 index 0000000..e333c12 --- /dev/null +++ b/changes.txt @@ -0,0 +1,329 @@ +=================== Lua For Windows =================== +-=-=-=- Version 5.1.4-47 +^ Updated stdlib to release 28. + +08/07/2012 Version 5.1.4-46 +* Fixes #43 - require('lpeg') -- system error 14001 +^ Updated stdlib to release 25. +^ Updated the Visual C++ 8.0 run-time to SP1-4053. +^ Updated lpeg.dll manifest to allow running on older vcredist_x86. +^ Updated alien/core.dll manifest to allow running on older vcredist_x86. +^ Updated alien/struct.dll manifest to allow running on older vcredist_x86. +^ Updated examples/alien/tests/alientest.dll manifest to allow running on older vcredist_x86. +^ Updated LuaXML_lib.dll manifest to allow running on older vcredist_x86. +^ Updated w32.dll manifest to allow running on older vcredist_x86. +^ Updated Penlight to version 1.0.3. +^ Updated LuaUnit to version 2.0. ++ Added SubLua version 1.7.4 - Subversion binding + +06/14/2011 Version 5.1.4-45 +* Fixes #42 - Please update Tecgraf libs (CD, IM, IUP) +^ Updated IUP to version 3.5.0. +^ Updated CD to version 5.4.1. +^ Updated IM to version 3.6.3. + +06/08/2011 Version 5.1.4-44 +* Fixed pl.dir so you can use strict module + +06/06/2011 Version 5.1.4-43 +* Fixes #1 - LuaSocket example not upto date - cddb.lua. +* Fixes #24 - Commented-out visible whitespace acquires coment colour. ++ Closed #19 - Added LuaJSON v1.2.2 library. +^ Closed #41 - Updated Alien to version 0.5.0. +^ Updated LPeg to version 0.10-1. +^ Updated stdlib to release 21. + +06/01/2011 Version 5.1.4-42 +^ Updated LuaLogging to version 1.2.0. +^ Updated stdlib to release 20. +^ Updated Penlight to version 0.9.4. + +01/11/2011 Version 5.1.4-41 +* Fixes #34 - LuaXML clib delivered with LuaForWindows causes memory + leaks. + +07/26/2010 Version 5.1.4-40 +* Fixes #14 - Just a simple mistake in the link to LuaEx. +* Fixes #18 - Lua tutorial typo. +* Reverted to wxLua version 2.8.7 because there are issues with the new + versions stability. It will get updated later. +* Fixed pplot examples that ship with IUP. +^ Closed #20 - Updated IUP to version 3.2.0. +^ Updated Lanes to version 2.0.4. ++ Added Oil version 0.4-beta. + +06/17/2010 Version 5.1.4-39 ++ Added LuaRocks version 2.0.2. +* Fixes #13 - Updated wxLua to version 2.8.10. +^ Updated stdlib to release 15. +^ Updated stdlib to release 14. +^ Updated stdlib to release 13. + +05/18/2010 Version 5.1.4-38 +* Fixed #10 - LuaDoc incomplete. Added luadoc_start.bat. +* Fixed #09 - luanet kill lua.exe +^ Updated the SciTE .api file. Now includes lfs, bit and pack. + +05/04/2010 Version 5.1.4-37 +^ Updated Penlight to version 0.8.4 + +04/09/2010 Version 5.1.4-36 +^ Updated Penlight to version 0.8.3 + +04/07/2010 Version 5.1.4-35 +^ Updated lExecutor to version 1.01 +^ Updated Penlight to version 0.8.2 + +03/18/2010 Version 5.1.4-34 +^ Updated Penlight to version 0.8.1 + +03/15/2010 Version 5.1.4-33 ++ Added LeMock v0.6 + +03/12/2010 Version 5.1.4-32 ++ Added LuaRS232 v1.0.0 ++ Added iLua.cmd to easily launch iLua. Also added it to the start menu. +* Fixed SciTE to properly run interactive Lua session. +^ Updated the clidebugger to take the same paramaters to allow for debug level. +^ Updated Penlight to version 0.8.0. +^ Updated IUP to version 3.0.0. +^ Updated CD to version 5.3.0. +^ Updated IM to version 3.6.0. + +12/07/2009 Version 5.1.4-31 ++ Added markdown v0.32 Lua module. +* Fixed Issue 4: C Run-Time Error R6034. +* Fixed LuaInterface manifest loading issue. +^ Updated luanet.dll to CoInitialize and search in the LUA_CPATH. + +09/15/2009 Version 5.1.4-30 ++ Added lbase64 version for 5.1 module. ++ Added gzio version 0.9.0 module. +^ Updated Stdlib to version 12. +^ Updated the LfW documentation to describe how to add your own modules + to the system. + +09/02/2009 Version 5.1.4-29 ++ Added Penlight v0.7.2 Lua module. +^ Updated LuaCOM to version 1.4. +^ Updated LuaGL to version 1.3. +^ Updated VStruct to version 1.0.2. + +06/29/2009 Version 5.1.4-28 +* Fixed SciTE debugger to allow it to debug modules in the same directory + as the file using the module. +^ Updated Stdlib to version 11. + +04/27/2009 Version 5.1.4-27 rc4 +* Fixed SciTE debugger looking for the temp file in the %TMP% location. +* Fixed debugging files with spaces in the filename. +^ Updated the IM, CD, and IUP examples. +^ Made SciTE use the lua5.1.dll. +^ Changed the version number to use a '-' as a build number of the LfW + package. +^ Changed the installer display name to 'Lua For Windows'. + +04/23/2009 Version 5.1.4.26 rc3 ++ Added an option to start the quickluatour.lua after installation + completes. ++ Added a link to the lExecutor documentation in the start menu. ++ Now you can launch quickluatour.lua at the end of the installer +^ Updated luaforwindows.html to be the right version in the example. +^ Updated the LuaQuickTour thanks to Dirk Feytons. +* Fixed SciTE saving a debugger file to the current running scripts + directory. Now it saves it to your local temp directory. +* Fixed SciTE toolbar icons being incorrect. + +04/15/2009 Version 5.1.4.25 rc2 +^ Updated lua51.dll manifest to allow running on Windows 64. + +04/14/2009 Version 5.1.4.24 rc1 +^ Updated LPeg to version 0.9. +^ Updated Copas to version 1.1.5. +^ Updated the Lua executables so they run on Windows 64. + +02/06/2009 Version 5.1.4.23 ++ Added MetaLua v0.5-rc1. ++ Added the 'strict.lua' file shipped in the Lua in the 'etc' directory. ++ Added Lanes v2.0.3 library. +^ Updated LuaFileSystem to version 1.4.2. + +01/12/2009 Version 5.1.4.22 ++ Added LuaBitOp v1.0.1 library. +* Fixed a bug in lExecutor to properly pass file loading error to the user. +* Fixed LuaDoc templates a bit for 'tables' and 'functions'. +* Fixed LuaXML so it actually works. Opps. +^ Updated Copas to version 1.1.4. +- Removed BitLib. Use LuaBitOp instead. + +12/05/2008 Version 5.1.4.21 +* Fixed a SciTE bug when opening the Lua manual. ++ Added lExecutor. This is a wxLua application that allows users to run console + Lua scripts in a simple GUI. Look at the documentation + (\docs\lexecutor) for more information. ++ Added *.lexe files to run using lExecutor. ++ Associated *.lexe files to a custom icon. + +11/26/2008 Version 5.1.4.20 ++ Added lpack (29 Jun 2007 19:27:20) module. ++ Added VStruct v 1.0 beta2 Lua module. ++ Added BitLib release 25 module. ++ Added LuaXML v1.3 module. +^ Updated IUP to version 2.7. +^ Updated CD to version 5.1. +^ Updated IM to version 3.4. + +10/08/2008 Version 5.1.4.19 +^ Updated vcredistx86.exe download link in the installer. + +09/11/2008 Version 5.1.4.18 +^ Updated Stdlib to version 8. +^ Updated the quickluatour.lua. +^ Updated the luaforwindows document. +* Fixed LuaInterface module. + +09/02/2008 Version 5.1.4.17 +* Fixed the readyiss.bat file to work with the new 'lua' directory. + +08/29/2008 Version 5.1.4.16 - RC1 ++ Added wxLua support. +^ Updated to Lua v5.1.4. +^ Changed the 'lualibs' to 'lua' to support the default locations. +^ Updated SciTE property file to make the help show up correctly. +- Removed setting the LUA_PATH and LUA_CPATH environment variables. + +08/07/2008 Version 5.1.3.15 +* Fixed SciTE install. + +08/07/2008 Version 5.1.3.14 ++ Added an environment variable called "LUA_DEV" to help C module developers + configure their build files. This allows for the paths to be common and + easily added to the project settings. + (e.g. $(LUA_DEV)/include; $(LUA_DEV)/lib) ++ Added the ability to download the 'vcredist_x86.exe'. +* Fixed Visual C++ 8.0 run-time problems. There now has to ba a run-time + for every dll loaded. +- Removed 'msvcr80.dll' from the root application directory. +^ Updated the Visual C++ 8.0 run-time to SP1. +^ Updated StdLib to version 6. + + +07/16/2008 Version 5.1.3.13 ++ Added LOOP Module. NOTE: It does not have any examples. ++ Added IUP simple documentation. ++ Added LuaTask module. ++ Added LuaInterface module. ++ Added Lua's headers and libraries so that you can develope Lua modules. +- Removed the 'alien/gtk.lua' example. It was Unix only. +^ Updated LuaCURL with a better supported version. +^ Updated the LuaCURL example. + +07/08/2008 Version 5.1.3.12 ++ Added Rings module. ++ Added copas module. ++ Added coxpcall module. +* Fixed a couple of typos in quickluatour.lua. +^ Updated to the latest version of luaforwindows.html. +^ Updated io_ext.lua to handle backslashes as well as forward slashes. + +06/27/2008 Version 5.1.3.11 - RC1 ++ Added the ability to "self-host" the creation of this installer. + That means if INNO Setup is installed on the installers machine they + can create the LfW installer. This gives anybody the ability to add or + remove items and modules from the installer. + See \installer\support\readyiss.bat for more information. ++ Added a basic guide to using IUP. ++ Added the ability to completely uninstall the environment variables. +* Fixed a few typos in quickluatour.lua. +^ Updated all no-extension files to have a .txt extension. +^ Updated all the *.lua and *.wlua files to use Windows line endings. + +06/24/2008 Version 5.1.3.10 - Alpha 7 ++ Added classlib for creating classes in Lua. ++ Added quickluatour.lua. ++ Added SciTE as the default script editor. +^ Updated to the latest version of luaforwindows.html. + +05/27/2008 Version 5.1.3.9 - Alpha 6 ++ Added lrexlib ++ Added stdlib ++ Added Lua-Ex ++ Added LuaGL +^ Updated the luaforwindows.html file with more formatting. +- Removed "wlua.exe.manifest" because it is now built into 'wlua.exe'. + +05/23/2008 Version 5.1.3.8 - Alpha 5 ++ Added Lua-GD ++ Added the PN help file. ++ Added Lua file associations for limited users. +^ Updated the installer to check if PN is running and display a + message if it is. +^ Changed the way it makes web links in the start menu. The icons should + now be the machines default icon for the shortcuts. +^ Switched to html for the LuaForWindows documentation. +^ Moved the 'Lua On The Web' shortcut to the documentation directory under + the start menu. +- Removed the .lua extention from the PATHEXT environment variable. + This was leading to possible application named the same thing not + getting called when it has the same name as your lua script. + This only changes the need for the .lua on the end of you script + name. (e.g. MyScript.lua param1 param2 instead of MyScript param1 param2) + +05/21/2008 Version 5.1.3.7 - Alpha 4 ++ Added LuaLogging examples and documentation. ++ Added LuaForWindows documentation initial draft. +* Fixed the Lua file icon not showing up. +* Fixed the the default color scheme to have a black color + for Identifiers. + +05/20/2008 Version 5.1.3.6 - Alpha 3 ++ Added the ability to install when not an administrator. +^ Updated the default color scheme to have a slightly different color + for Identifiers. + +05/17/2008 Version 5.1.3.5 - Alpha 3 +* Internal release only. ++ Added more keywords to the Lua lexer in PN. + +05/16/2008 Version 5.1.3.4 - Alpha 2 ++ LuaCOM + +05/16/2008 Version 5.1.3.3 - Alpha 2 ++ LuaUnit ++ LuaZip ++ LuaExpat ++ LuaDate ++ LuaProfiler ++ MD5 ++ LuaSQL - Only the SQLite3 driver is tested. ++ LuaCURL ++ Alien ++ LPeg ++ LuaCOM ++ Added a 'utils' directory to hold helpful Lua tools like the + LuaProfiler summary tool ++ Added a Start Menu shortcut to the documentation ++ Added the LuaDoc examples +* Fixed the missing documentation for LuaDoc +* Fix PN so that it has a profile for wlua. + + +05/14/2008 Version 5.1.3.2 - Alpha 1 +^ First public alpha ++ Programmer Notepad for a simple IDE ++ Registers .lua and .wlua files so they can just be double-clicked on ++ Registers .lua and .wlua files act just like executables + (e.g. script param1 param2 NOT script.lua param1 param2) ++ Added the needed paths to the PATH environment variable ++ LuaBiniaries ++ LuaFileSystem ++ LuaSocket ++ LuaLogging ++ LuaDoc ++ IUP ++ w32 - Wrappers for Win32 API functions & constants + +_______________________________________________________________ +Legend: + +'+' = Addition, '*' = Bug Fix, '-' = Removed, '~' = Move, '^' = Updated diff --git a/files/LICENSE.txt b/files/LICENSE.txt new file mode 100755 index 0000000..3c6d06f --- /dev/null +++ b/files/LICENSE.txt @@ -0,0 +1,21 @@ +Copyright (C) 1994-2008 Lua.org, PUC-Rio. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/files/ilua.cmd b/files/ilua.cmd new file mode 100644 index 0000000..4509f7b --- /dev/null +++ b/files/ilua.cmd @@ -0,0 +1 @@ +lua.exe -lilua diff --git a/files/lExecutor.wlua b/files/lExecutor.wlua new file mode 100755 index 0000000..caf66cb --- /dev/null +++ b/files/lExecutor.wlua @@ -0,0 +1,802 @@ +#!/usr/bin/env lua +-- ---------------------------------------------------------------------------- +-- Name: lExecutor.wlua +-- Purpose: This program assists in running Lua scripts in a GUI. +-- Author: R. Pusztai +-- Modified by: +-- Created: 11/25/2008 +-- License: Copyright (C) 2008 RJP Computing. All rights reserved. +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in +-- all copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +-- THE SOFTWARE. +-- ---------------------------------------------------------------------------- +require( "wx" ) + +-- ---------------------------------------------------------------------------- +-- CONSTANTS +-- ---------------------------------------------------------------------------- +local APP_VERSION = "1.01" +local ID_IDCOUNTER = nil + +-- ---------------------------------------------------------------------------- +-- GLOBAL VARIABLES +-- ---------------------------------------------------------------------------- +lExecutor = {} -- Place to store the exported lExecutor functions. +_LEXECUTOR = true -- Used so that scripts can be written to know if + -- lExecutor is running the script. + -- Ex. if not _LEXECUTOR then main() end +APP_NAME = "lExecutor" -- Use this in the calling app to overwrite the + -- windows title that is displayed. + +-- ---------------------------------------------------------------------------- +-- HELPER FUNCTIONS +-- ---------------------------------------------------------------------------- + +-- Equivalent to C's "cond ? a : b", all terms will be evaluated +local function iff( cond, a, b ) + if cond then + return a + else + return b + end +end + +-- Generate a unique new wxWindowID +local function NewID() + ID_IDCOUNTER = ( ID_IDCOUNTER or wx.wxID_HIGHEST ) + 1 + return ID_IDCOUNTER +end + +-- Setup the args table so that it is right for the script being loaded. +local function ReorganizeArgTable( filename ) + -- Set the filename element to the loaded scripts filename. + arg[0] = filename + + for i = 2, #arg do + arg[i - 1] = arg[i] + end + + -- Clear the last entry. + -- It is not needed in the loaded script. + arg[#arg] = nil +end + +-- ---------------------------------------------------------------------------- +-- Class Declaration +-- ---------------------------------------------------------------------------- +local lExecutorGUI = +{ + -- GUI control variables + -- + frame = nil, -- The wxFrame of the program + panel = nil, -- The main wxPanel child of the wxFrame + logTextCtrl = nil, + passFailStaticText = nil, + executeButton = nil, + repeatCheck = nil, + + -- Initialize the wxConfig for loading/saving the preferences + -- + config = nil, + + -- CONTROL ID'S + -- + -- File menu. + ID_FILE_OPEN = wx.wxID_OPEN, + ID_FILE_SAVE_LOG = NewID(), + ID_FILE_EXIT = wx.wxID_EXIT, + -- Help menu + ID_HELP_ABOUT = wx.wxID_ABOUT, + -- Controls + ID_EXECUTE_BUTTON = NewID(), + ID_LOG_TEXTCTRL = NewID(), + ID_PASS_FAIL_STATIC_TEXT = NewID(), + ID_REPEAT_CHECKBOX = NewID(), +} + +local AppData = +{ + script = nil, -- The actual loaded script. + scriptEnvironment = {}, -- The environment used by the loaded script. + startupFilename = arg[1] or nil, -- The Lua file to load and run. + filename = nil, -- The Lua file to load and run. + isScriptLoaded = false, -- Flag to use to see if a script has already been load. + lastSavePath = nil, + lastOpenPath = nil, +} + +-- ---------------------------------------------------------------------------- +-- EXPORTED/AVAILABLE FUNCTIONS +-- ---------------------------------------------------------------------------- +function print( ... ) + -- Build the text to log + local msg = "" + for _, value in ipairs( { ... } ) do + msg = msg..tostring( value ).."\t" + end + msg = msg.."\n" + lExecutorGUI.logTextCtrl:AppendText( msg ) +end + +local originalRequire = require +function require( moduleName ) + -- Call the original require(). + local mod = originalRequire( moduleName ) + + -- If the module is the 'Utils' replace the Prompt() function. + if "Utils" == moduleName then + mod.Prompt = lExecutor.Prompt + end + + return mod +end + +function lExecutor.Prompt( message ) + if type( message ) ~= "string" then + error( "bad argument #1 to Prompt' (Expected string but recieved "..type( message )..")" ) + end + + local msgDialog = wx.wxTextEntryDialog( lExecutorGUI.frame, message ) + msgDialog:ShowModal() + return msgDialog:GetValue() +end + +--- Sets the pass/fail status indicator to the specified state. Use this to +-- display a pass or fail status to the user running the script. +-- This function will show the pass/fail status indicator the first time +-- it is called. +-- @param isPassed {bool} [DEF] If true then the indicator will display "PASS" +-- and the background will be green. If false, then it will display "FAIL" +-- and the background will be red. +-- @param show {bool} [DEF] If true then the indicator will display, else if false +-- it will not show. This defaults to true. +function lExecutor.SetPassFailStatus( isPassed, show ) + isPassed = isPassed or false + if nil == show then + show = true + end + lExecutorGUI.panel:Freeze() + + if isPassed then + lExecutorGUI.passFailStaticText:SetLabel( "PASS" ) + lExecutorGUI.passFailStaticText:SetBackgroundColour( wx.wxColour( 0, 255, 0 ) ) + else + lExecutorGUI.passFailStaticText:SetLabel( "FAIL" ) + lExecutorGUI.passFailStaticText:SetBackgroundColour( wx.wxColour( 255, 0, 0 ) ) + end + + if show then + lExecutorGUI.passFailStaticText:Show() + else + lExecutorGUI.passFailStaticText:Hide() + end + + lExecutorGUI.panel:Layout() + lExecutorGUI.panel:Thaw() +end + +--- Clears the log +function lExecutor.ClearLog() + lExecutorGUI.logTextCtrl:Clear() +end + +-- ---------------------------------------------------------------------------- +-- GUI RELATED FUNCTIONS +-- ---------------------------------------------------------------------------- + +-- wxConfig load/save preferences functions +function lExecutorGUI.ConfigRestoreFramePosition( window, windowName ) + local path = lExecutorGUI.config:GetPath() + lExecutorGUI.config:SetPath( "/"..windowName ) + + local _, s = lExecutorGUI.config:Read( "s", -1 ) + local _, x = lExecutorGUI.config:Read( "x", 0 ) + local _, y = lExecutorGUI.config:Read( "y", 0 ) + local _, w = lExecutorGUI.config:Read( "w", 0 ) + local _, h = lExecutorGUI.config:Read( "h", 0 ) + + -- Always restore the position. + local clientX, clientY, clientWidth, clientHeight + clientX, clientY, clientWidth, clientHeight = wx.wxClientDisplayRect() + + if x < clientX then x = clientX end + if y < clientY then y = clientY end + + if w > clientWidth then w = clientWidth end + if h > clientHeight then h = clientHeight end + + window:SetSize( x, y, w, h ) + + -- Now check to see if it should be minimized or maximized. + if 1 == s then + window:Maximize( true ) + elseif 2 == s then + window:Iconize( true ) + end + + lExecutorGUI.config:SetPath( path ) +end + +function lExecutorGUI.ConfigSaveFramePosition( window, windowName ) + local path = lExecutorGUI.config:GetPath() + lExecutorGUI.config:SetPath( "/"..windowName ) + + local s = 0 + local w, h = window:GetSizeWH() + local x, y = window:GetPositionXY() + + if window:IsMaximized() then + s = 1 + elseif window:IsIconized() then + s = 2 + end + + lExecutorGUI.config:Write( "s", s ) + + if s == 0 then + lExecutorGUI.config:Write( "x", x ) + lExecutorGUI.config:Write( "y", y ) + lExecutorGUI.config:Write( "w", w ) + lExecutorGUI.config:Write( "h", h ) + end + + lExecutorGUI.config:SetPath( path ) +end + +function lExecutorGUI.ConfigRestorePaths() + local path = lExecutorGUI.config:GetPath() + lExecutorGUI.config:SetPath( "/Paths" ) + + local _, save = lExecutorGUI.config:Read( "Save", "" ) + local _, open = lExecutorGUI.config:Read( "Open", "" ) + + -- Set these to AppData. + AppData.lastSavePath = save + AppData.lastOpenPath = open + + lExecutorGUI.config:SetPath( path ) +end + +function lExecutorGUI.ConfigSavePaths() + local path = lExecutorGUI.config:GetPath() + lExecutorGUI.config:SetPath( "/Paths" ) + + lExecutorGUI.config:Write( "Save", AppData.lastSavePath ) + lExecutorGUI.config:Write( "Open", AppData.lastOpenPath ) + + lExecutorGUI.config:SetPath( path ) +end + +-- Creates the needed wxIcon of the application xmp. +local function GetAppIcon() + local appIconXpmData = + { + "32 32 209 2", + " c None", + "! c black", + "# c #46739A", + "$ c #747575", + "% c #858585", + "& c #7F8080", + "' c #7C7D7D", + "( c #7C7C7D", + ") c #797A7A", + "* c #79797A", + "+ c #7F7F80", + ", c #7A7F84", + "- c #777D81", + ". c #72787C", + "0 c #747A7E", + "1 c #6A7075", + "2 c #6D7378", + "3 c #737A7F", + "4 c #7C8186", + "5 c #7A7C7F", + "6 c #466885", + "7 c #60666B", + "8 c #8A8A8A", + "9 c #ADADAD", + ": c #A3A3A3", + "; c #A6A6A6", + "< c #A1A1A1", + "= c #A8A8A8", + "> c #9C9C9C", + "? c #9E9E9E", + "@ c #999999", + "A c #969696", + "B c #8C8C8C", + "C c #8F8F8F", + "D c #757575", + "E c #000508", + "F c #595959", + "G c #666666", + "H c #6B6B6B", + "I c #6E6E6E", + "J c #696969", + "K c #B5B5B5", + "L c #ABABAB", + "M c #5E5E5E", + "N c #FD6A2E", + "O c #87727E", + "P c #1F1F1F", + "Q c #4C4C4C", + "R c #424242", + "S c #3D3D3D", + "T c #383838", + "U c #3B3B3B", + "V c #454545", + "W c #404040", + "X c #2E2E2E", + "Y c #545454", + "Z c #161616", + "[ c #7D7D7D", + "] c #CEDFDC", + "^ c #BDD5DA", + "_ c #B9D2D9", + "` c #B9D3DA", + "a c #B9D2DA", + "b c #B9D3D9", + "c c #B8D3D9", + "d c #B6CFD8", + "e c #B3CDD6", + "f c #B7D1D9", + "g c #B5CFD8", + "h c #B4CFD8", + "i c #B4D1DD", + "j c #AAD2E3", + "k c #C3DCDE", + "l c #080809", + "m c white", + "n c #FBFBFB", + "o c #F1F1F1", + "p c #EBEBEB", + "q c #EDEDED", + "r c #F9F9F9", + "s c #EFEFEF", + "t c #FAFAFA", + "u c #B7B7DC", + "v c #4949A5", + "w c #7979BD", + "x c #F1F1F9", + "y c #B0B0B0", + "z c #000104", + "{ c #828282", + "| c #FFFFFA", + "} c #FBFBF6", + "~ c #F1F1ED", + " ! c #FAFAF5", + "!! c #F2F2ED", + "#! c #F4F4F5", + "$! c #0E0E87", + "%! c #000080", + "&! c #8686C1", + "'! c #FFFFFD", + "(! c #FFFFF9", + ")! c #F1F1EC", + "*! c #F2F2EE", + "+! c #FEFEFA", + ",! c #AFAFD4", + "-! c #7474B8", + ".! c #41419F", + "0! c #7474BA", + "1! c #AFAFD6", + "2! c #FEFEF9", + "3! c #E3E3ED", + "4! c #020281", + "5! c #6767B2", + "6! c #FFFFFB", + "7! c #808080", + "8! c #F7F7F3", + "9! c #DFDFEB", + ":! c #4242A0", + ";! c #7373B8", + "! c #D7D7EA", + "?! c #FFFFFE", + "@! c #7A7A7A", + "A! c #F3F3EE", + "B! c #0F0F88", + "C! c #4848A4", + "D! c #B6B6DB", + "E! c #8686C3", + "F! c #1D1D8E", + "G! c #F1F1F4", + "H! c #FCFCF7", + "I! c #000103", + "J! c #FFFFFC", + "K! c #F0F0ED", + "L! c #0B0B85", + "M! c #F1F1F8", + "N! c #7979BC", + "O! c #F4F4EF", + "P! c #FDFDF8", + "Q! c #EAEAE8", + "R! c #AFAFD5", + "S! c #1C1C8E", + "T! c #FDFDFE", + "U! c #9898CC", + "V! c #ECECE8", + "W! c #EDEDE8", + "X! c #040482", + "Y! c #8C8CC6", + "Z! c #F8F8FC", + "[! c #D6D6EB", + "]! c #282894", + "^! c #F9F9F4", + "_! c #4141A0", + "`! c #4444A2", + "a! c #2C2C96", + "b! c #313198", + "c! c #3E3E9F", + "d! c #6767B3", + "e! c #7E7EBF", + "f! c #000206", + "g! c #5757AB", + "h! c #38389C", + "i! c #3F3F9F", + "j! c #5050A8", + "k! c #4646A3", + "l! c #6868B4", + "m! c #B0B0D8", + "n! c #EDEDE9", + "o! c #9999CC", + "p! c #080884", + "q! c #5151A8", + "r! c #4949A4", + "s! c #6060B0", + "t! c #A6A6D3", + "u! c #101088", + "v! c #AFAFD7", + "w! c #737373", + "x! c #F6F6F2", + "y! c #6565B2", + "z! c #8080C0", + "{! c #0D0D86", + "|! c #7676BB", + "}! c #4F4FA7", + "~! c #6C6CB6", + " # c #707070", + "!# c #F3F3EF", + "## c #F9F9F5", + "$# c #F5F5F0", + "%# c #000205", + "&# c #F7F7F2", + "'# c #F2F2F1", + "(# c #F3F3F2", + ")# c #F4F4F3", + "*# c #FAFAF9", + "+# c #FFFFF7", + ",# c #ECECEC", + "-# c #F6F6F6", + ".# c #010307", + "0# c #4F4F4F", + "1# c #525252", + "2# c #575757", + "3# c #010306", + "4# c #39455C", + "5# c #35383E", + "6# c #2E3035", + "7# c #292B30", + "8# c #292B2F", + "9# c #191C21", + ":# c #000102", + " ", + " ", + " ", + "# $ % & ' ( ) ) ) ) * ( ' ' + , - . 0 . . 1 1 . 1 2 3 4 5 6 ", + "7 8 9 : : ; ; < = > > : : ? : : ? > ? @ A ? < A : ; > B C D E ", + "F G H H H H H H I I I I H H J J H H H J J ? K J L 9 M N O J P ", + "Q R S T T T T T T T T T T U T T T T T T T S V T W W U X U Y Z ", + "[ ] ^ _ _ ` ` a ` ` ` ` _ b _ _ a a a _ c d e f g h i j k 8 l ", + "B m m m m m m m m m m n o p q r s p t m u v w x m m m m m y z ", + "{ m m | | | | | | } ~ !| | | | | | !!#!$!%!%!&!| | '!m m L z ", + "[ m m | m m (!| )!*!| +!,!-!.!.!0!1!2!3!4!%!%!5!(!6!(!6!m = z ", + "7!m m (!(!(!| !8!| 9!:!%!%!%!%!%!%!:!9!;!!6!?!(!m m ; z ", + "@!m ?!(!(!(!| A!| 9!B!%!%!%!%!%!C!D!E!F!9!G!H!| | (!(!m m = I! ", + "[ m m (!J!J!+!K!+!:!%!%!%!%!%!L!M!m m N!:!+!O!P!| | (!m m ; I! ", + "@!m m | (!6!Q!J!R!%!%!%!%!%!%!S!T!m m U!%!,!| V!| | | J!m ; I! ", + "@!m m (!| | W!(!-!%!X!%!%!%!%!%!Y!Z![!]!%!-!| V!| | | | m : I! ", + "D m m (!| | ^!| _!%!U!%!%!%!%!%!%!$!%!%!%!_!| ^!| | | 6!m : I! ", + "D m m (!| | *!| _!%!U!%!%!`!a!b!c!d!e!0!%!_!| *!| | | 6!m : f! ", + "D m m (!| | V!| -!%!U!%!%!g!h!i!j!k!l!m!%!-!| V!| | | 6!m < f! ", + "D m m (!| | n!| ,!%!o!p!p!q!r!s!j!t!u!v!%!,!| n!| | | 6!m < f! ", + "w!m ?!(!(!(!| x!+!:!y!z!z!{!|!C!]!}!~!g!:!+!x!| | | | 6!m < f! ", + " #m ?!6!J!J!6!!#| 9!B!%!%!%!%!%!%!%!%!B!9!| !#| | | | 6!m ? f! ", + "I m '!| (!6!6!##$#| 9!:!%!%!%!%!%!%!:!9!| $# !| | | | 6!m ? %# ", + "I m J!J!6!| | | n!8!| +!,!-!_!_!-!,!+!| &#n!| | | | | J!m > %# ", + "w!m m ?!?!?!?!m m r '#(#?!?!?!?!?!?!)#(#*#?!?!?!?!?!?!m m < f! ", + "D m m m m m m | +#6!m m ,#q -#-#q ,#m m m m m m m m m '!m ? .# ", + "0#F Y 1#1#1#1#1#1#1#Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 1#1#1#2#Y 3# ", + "4#5#6#7#7#7#7#7#7#7#7#7#7#7#7#7#8#8#8#8#8#8#8#8#8#8#8#8#8#9#:# ", + " ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", + " ", + " ", + " " + } + local appBitmap = wx.wxBitmap( appIconXpmData ) + local appIcon = wx.wxIcon() + appIcon:CopyFromBitmap( appBitmap ) + + return appIcon +end + +-- ---------------------------------------------------------------------------- +-- EVENT HANDLERS +-- ---------------------------------------------------------------------------- +-- Open menu item event handler +function lExecutorGUI.OnOpen( event ) + local filename = "" + if AppData.startupFilename then + filename = AppData.startupFilename + -- Clear the startupFileName so it isn't used again. + AppData.startupFilename = nil + else + filename = wx.wxFileSelector( "Choose a Lua to open", AppData.lastOpenPath, + "", ".lua", "Lua files (*.lua;*.lexe)|*.lua;*.lexe|All files (*.*)|*.*", + wx.wxFD_FILE_MUST_EXIST ) + end + + if filename:len() > 0 then + -- Cleanup script and GUI. + -- + -- Clear the old script. + AppData.script = nil + -- Clear the old script environment. + AppData.scriptEnvironment = {} + -- Now collect the garbage. + collectgarbage() + -- Remove the pass/fail status so the GUI starts out fresh. + lExecutorGUI.passFailStaticText:Hide() + lExecutorGUI.panel:Layout() + + -- work with the file + AppData.filename = filename + + -- Set the current directory to the running script. + AppData.lastOpenPath = wx.wxPathOnly( AppData.filename ) + wx.wxSetWorkingDirectory( AppData.lastOpenPath ) + + -- Clear the log. + lExecutorGUI.logTextCtrl:Clear() + -- Setup the arg table to be right when calling the loaded script. + ReorganizeArgTable( AppData.filename ) + + -- Compile and load the file. + local errorMsg + AppData.script, errorMsg = loadfile( filename ) + if errorMsg then + lExecutorGUI.frame:SetStatusText( "File Loaded: " ) + wx.wxMessageBox( "Error during script loading.\n\n"..errorMsg, "Script Error Occured", wx.wxICON_ERROR ) + return + end + + -- Setup the execution environment. + setmetatable( AppData.scriptEnvironment, { __index = _G } ) + setfenv( AppData.script, AppData.scriptEnvironment ) + + --Execute the script to initialize the script. + local ret, err = pcall( AppData.script ) + if ret then + -- Update GUI to reflect the script loaded. + APP_NAME = AppData.scriptEnvironment.APP_NAME or APP_NAME + lExecutorGUI.frame:SetTitle( APP_NAME ) + lExecutorGUI.frame:SetStatusText( "File Loaded: "..AppData.filename or "" ) + else + lExecutorGUI.frame:SetStatusText( "File Loaded: " ) + wx.wxMessageBox( "Error during script inititalization.\n\n"..err, "Script Error Occured", wx.wxICON_ERROR ) + end + end +end + +-- Open menu item event handler +function lExecutorGUI.OnSaveLog( event ) + local filename = wx.wxFileSelector( "Choose a file to save", AppData.lastSavePath, + "", ".txt", "Log files (*.log;*.txt)|*.log;*.txt|All files (*.*)|*.*", + wx.wxFD_SAVE + wx.wxFD_OVERWRITE_PROMPT ) + + if filename:len() > 0 then + -- Work with the file. + lExecutorGUI.logTextCtrl:SaveFile( filename ) + + -- Clear the log. + lExecutorGUI.logTextCtrl:Clear() + + -- Save path to AppData. + AppData.lastSavePath = wx.wxPathOnly( filename ) + end +end + +-- Build buttons event handler +function lExecutorGUI.OnExecuteClicked(event) + local shouldRepeat = true + + print( "["..os.date().." - Execution started]" ) + + while shouldRepeat do + lExecutor.SetPassFailStatus( false, false ) -- hide the fail status + + -- Check if there is a main() function and call that now. + if AppData.scriptEnvironment.main then + AppData.scriptEnvironment.main() + else + if AppData.script then + --Execute the script. + local ret, err = pcall( AppData.script ) + if false == ret then + wx.wxMessageBox( "Error during execution of the loaded script.\n\n"..err, "Script Error Occured", wx.wxICON_ERROR ) + end + else + wx.wxMessageBox( "Execution failed due to no script loaded.\n\nPlease use 'File->Open' (Ctrl+O) to open/load a script to execute.", "Script Error Occured", wx.wxICON_ERROR ) + end + end + + -- Update the GUI. + wx.wxYield() + shouldRepeat = lExecutorGUI.repeatCheckBox:GetValue() + end +end + +-- Frame close event +function lExecutorGUI.OnClose( event ) + lExecutorGUI.ConfigSavePaths() + + lExecutorGUI.ConfigSaveFramePosition( lExecutorGUI.frame, "MainFrame" ) + lExecutorGUI.config:delete() -- always delete the config + event:Skip() +end + +-- Frame close event +function lExecutorGUI.OnExit( event ) + lExecutorGUI.frame:Close( true ) +end + +-- About dialog event handler +function lExecutorGUI.OnAbout( event ) + local info = wx.wxAboutDialogInfo() + info:SetName( APP_NAME ) + info:SetVersion( APP_VERSION ) + info:SetIcon( GetAppIcon() ) + info:SetWebSite( "http://rjpcomputing.com" ) + info:SetDescription( "This program assists in running Lua scripts in a GUI." ) + info:SetCopyright( "Copyright © RJP Computing 2008" ) + + wx.wxAboutBox(info) +end + +-- ---------------------------------------------------------------------------- +-- APPLICATION ENTRY POINT +-- +-- Create a function to encapulate the code, not necessary, but it makes it +-- easier to debug in some cases. +-- ---------------------------------------------------------------------------- +local function __main() + lExecutorGUI.config = wx.wxFileConfig( "lExecutor", "APP") + if lExecutorGUI.config then + lExecutorGUI.config:SetRecordDefaults() + end + + -- create the wxFrame window + lExecutorGUI.frame = wx.wxFrame( wx.NULL, -- no parent for toplevel windows + wx.wxID_ANY, -- don't need a wxWindow ID + APP_NAME, -- caption on the frame + wx.wxDefaultPosition, -- let system place the frame + wx.wxDefaultSize, -- set the size of the frame + wx.wxDEFAULT_FRAME_STYLE ) -- use default frame styles + + -- Set the applications icon + lExecutorGUI.frame:SetIcon( GetAppIcon() ) + + -- create a single child window, wxWidgets will set the size to fill frame + lExecutorGUI.panel = wx.wxPanel( lExecutorGUI.frame, wx.wxID_ANY ) + + -- create a file menu + local fileMenu = wx.wxMenu() + fileMenu:Append( lExecutorGUI.ID_FILE_OPEN, "&Open\tCtrl+O", "Open makefile for viewing only" ) + fileMenu:AppendSeparator() + fileMenu:Append( lExecutorGUI.ID_FILE_SAVE_LOG, "&Save Output\tCtrl+S", "Save output log to a text file" ) + fileMenu:AppendSeparator() + fileMenu:Append( lExecutorGUI.ID_FILE_EXIT, "E&xit\tAlt+F4", "Quit the program" ) + + -- create a help menu + local helpMenu = wx.wxMenu() + helpMenu:Append( lExecutorGUI.ID_HELP_ABOUT, "&About\tF1", "About the "..APP_NAME.." Application") + + -- create a menu bar and append the file and help menus + local menuBar = wx.wxMenuBar() + menuBar:Append( fileMenu, "&File" ) + menuBar:Append( helpMenu, "&Help" ) + + -- attach the menu bar into the frame + lExecutorGUI.frame:SetMenuBar( menuBar ) + + -- create a simple status bar + lExecutorGUI.frame:CreateStatusBar( 1, wx.wxST_SIZEGRIP ) + lExecutorGUI.frame:SetStatusText( "Welcome to "..APP_NAME.."." ) + + -- Layout all the buttons using wxSizers + local mainSizer = wx.wxBoxSizer( wx.wxVERTICAL ) + lExecutorGUI.logTextCtrl = wx.wxTextCtrl( lExecutorGUI.panel, lExecutorGUI.ID_LOG_TEXTCTRL, "", + wx.wxDefaultPosition, wx.wxSize( 600,300 ), wx.wxTE_MULTILINE + wx.wxTE_DONTWRAP + wx.wxTE_READONLY ) + lExecutorGUI.executeButton = wx.wxButton( lExecutorGUI.panel, lExecutorGUI.ID_EXECUTE_BUTTON, "Execute" ) + lExecutorGUI.repeatCheckBox = wx.wxCheckBox( lExecutorGUI.panel, lExecutorGUI.ID_REPEAT_CHECKBOX, "Continuous" ) + mainSizer:Add( lExecutorGUI.logTextCtrl, 1, wx.wxALL + wx.wxEXPAND, 5 ) + lExecutorGUI.passFailStaticText = wx.wxStaticText( lExecutorGUI.panel, lExecutorGUI.ID_PASS_FAIL_STATIC_TEXT, + "FAIL", wx.wxDefaultPosition, wx.wxDefaultSize, wx.wxALIGN_CENTRE + wx.wxDOUBLE_BORDER ) + lExecutorGUI.passFailStaticText:Wrap( -1 ) + lExecutorGUI.passFailStaticText:SetFont( wx.wxFont( 28, 70, 90, 90, false ) ) + lExecutorGUI.passFailStaticText:SetBackgroundColour( wx.wxColour( 255, 0, 0 ) ) + lExecutorGUI.passFailStaticText:Hide() + mainSizer:Add( lExecutorGUI.passFailStaticText, 0, wx.wxALL + wx.wxEXPAND, 5 ); + + local sizer2 = wx.wxBoxSizer( wx.wxHORIZONTAL ) + sizer2:Add( lExecutorGUI.executeButton, 1, wx.wxALL + wx.wxEXPAND, 5 ) + sizer2:Add( lExecutorGUI.repeatCheckBox, 0, wx.wxALL + wx.wxEXPAND, 5 ) + mainSizer:Add( sizer2, 0, wx.wxEXPAND, 5 ) + lExecutorGUI.panel:SetSizer( mainSizer ) + mainSizer:SetSizeHints( lExecutorGUI.frame ) + + -- Connect to the window event here. + -- + lExecutorGUI.frame:Connect( wx.wxEVT_CLOSE_WINDOW, lExecutorGUI.OnClose ) + + -- Connect menu handlers here. + -- + -- connect the selection event of the open menu item + lExecutorGUI.frame:Connect( lExecutorGUI.ID_FILE_OPEN, wx.wxEVT_COMMAND_MENU_SELECTED, + lExecutorGUI.OnOpen ) + + -- connect the selection event of the open menu item + lExecutorGUI.frame:Connect( lExecutorGUI.ID_FILE_SAVE_LOG, wx.wxEVT_COMMAND_MENU_SELECTED, + lExecutorGUI.OnSaveLog ) + + -- connect the selection event of the exit menu item + lExecutorGUI.frame:Connect( wx.wxID_EXIT, wx.wxEVT_COMMAND_MENU_SELECTED, + lExecutorGUI.OnExit ) + + -- connect the selection event of the about menu item + lExecutorGUI.frame:Connect( wx.wxID_ABOUT, wx.wxEVT_COMMAND_MENU_SELECTED, + lExecutorGUI.OnAbout ) + + -- Connect control event handlers here. + -- + -- connect the build now buttons event + lExecutorGUI.frame:Connect( lExecutorGUI.ID_EXECUTE_BUTTON, wx.wxEVT_COMMAND_BUTTON_CLICKED, + lExecutorGUI.OnExecuteClicked ) + + -- Setup default behavior. + -- + lExecutorGUI.executeButton:SetFocus() + lExecutorGUI.executeButton:SetDefault() + + -- Restore the saved settings + lExecutorGUI.ConfigRestorePaths() + lExecutorGUI.ConfigRestoreFramePosition( lExecutorGUI.frame, "MainFrame" ) + + -- show the frame window + lExecutorGUI.frame:Show( true ) + + -- Ask user to specify the script to load. + lExecutorGUI.OnOpen() + + -- Call wx.wxGetApp():MainLoop() last to start the wxWidgets event loop, + -- otherwise the wxLua program will exit immediately. + wx.wxGetApp():MainLoop() +end + +__main() diff --git a/support/SciTEGlobal.black.properties b/support/SciTEGlobal.black.properties new file mode 100755 index 0000000..7403913 --- /dev/null +++ b/support/SciTEGlobal.black.properties @@ -0,0 +1,618 @@ +# Global initialisation file for SciTE +# Go to Help|Help on SciTE for a full list of available properties + +# switch the comments if you want the dark blue or black theme +#import default +#import darkblue +import black + +# switch the comments if you want a monospaced font. +font.base=font:Lucida Console,size:10 +#font.base=font:Verdana,size:10 + +# set this to 0 if you prefer not to have the full path in SciTE's caption bar +title.full.path=1 +# set this to 0 if you prefer not to have line numbers automatically (can always set with View|Line Numbers) +line.margin.visible=1 +# set this to 0 if you prefer to explicitly complete words with Ctrl+Enter +autocompleteword.automatic=1 +# set this to 0 if you prefer not to have the session (the files that were open when SciTE was closed) +# restored the next time you open SciTE +save.session=1 +# make this 1 if you would like double-click to select strings or comments. +scite.double.click.select.string=0 +# if you prefer that a debugged program immediately runs to a breakpoint, make this 1 +debug.run.automatically=0 + +# switch the comments of the first two lines if you want a standard Lua 5.1 prompt (that is, not ilua) +lua.prompt=lua -i "$(SciteDefaultHome)\scite-debug\ilua.lua" -i +#lua.prompt=lua +#lua.prompt=lua "$(SciteDefaultHome)\scite-debug\ilua.lua" + +# assuming SciTE is in a similar location to Lua (e.g. \Program Files\SciTE).... +lua.directory=$(SciteDefaultHome)\.. +command.help.*.lua=Lua 5.1 Reference Manual!$(lua.directory)\docs\lua5_1_4_Docs.chm +command.help.subsystem.*.lua=4 +command.help.*.wlua=Lua 5.1 Reference Manual!$(lua.directory)\docs\lua5_1_4_Docs.chm +command.help.subsystem.*.wlua=4 +command.help.*.lexe=Lua 5.1 Reference Manual!$(lua.directory)\docs\lua5_1_4_Docs.chm +command.help.subsystem.*.lexe=4 + + +command.overview.help="file://$(SciteDefaultHome)\docs\scite-intro.html" +command.overview.help.subsystem=2 + +# Globals +ext.lua.startup.script=$(SciteDefaultHome)\scite-debug\extman.lua + +# User-configurable toolbar. Note that ||| means a separator! You can use the STD_* standard +# Windows bitmaps, # or you can supply a bitmap 'name', which will be found as 'name.bmp' +# in this directory. Bitmaps with transperancy are apparently not supported. +user.toolbar=\ +|||\ +STD_FILENEW|IDM_NEW|New|\ +STD_FILEOPEN|IDM_OPEN|Open|\ +STD_FILESAVE|IDM_SAVE|Save|\ +|||\ +STD_PRINT|IDM_PRINT|Print|\ +|||\ +STD_CUT|IDM_CUT|Cut|\ +STD_COPY|IDM_COPY|Copy|\ +STD_PASTE|IDM_PASTE|Paste|\ +|||\ +STD_FIND|IDM_FIND|Find|\ +STD_REPLACE|IDM_REPLACE|Replace|\ +|||\ +run|IDM_GO|Run Program|\ +stop|IDM_STOPEXECUTE|Kill Program|\ +terminal|lua;no;start_lua_prompt|Launch Interactive Lua|\ +load|lua;yes;load_current_lua_file|Load Lua File into Interactive Session|\ +|||\ +debug|lua;yes;do_run|Debug Program/Continue|\ +breakpoint|lua;no;do_breakpoint|Set Breakpoint|\ +step|lua;no;do_step|Step|\ +step_over|lua;no;do_next|Step Over|\ +step_out|lua;no;do_finish|Step Out|\ +watch|lua;no;do_watch|Watch Variable|\ +inspect|lua;no;do_inspect|Inspect Variable|\ +stack|lua;no;do_backtrace|Stack Trace|\ +stopd|lua;no;do_kill|Stop Debugging| + +user.context.menu=\ +||\ +Select Block|lua;no;block_select|\ +Smart Paste|lua;no;smart_paste| + +# Window sizes and visibility +if PLAT_WIN + position.left=75 + position.top=75 +if PLAT_GTK + position.left=5 + position.top=22 +position.width=750 +position.height=740 +#position.tile=1 +#full.screen.hides.menu=1 +#minimize.to.tray=1 +split.vertical=0 +#output.horizontal.size=200 +#output.vertical.size=60 +#output.initial.hide=1 +#horizontal.scrollbar=0 +#horizontal.scroll.width=10000 +#output.horizontal.scrollbar=0 +#output.horizontal.scroll.width=10000 +#output.scroll=0 +#error.select.line=1 +#end.at.last.line=0 +tabbar.visible=1 +tabbar.hide.one=1 +#tabbar.multiline=1 +toolbar.visible=1 +#toolbar.detachable=1 +#toolbar.usestockicons=1 +#menubar.detachable=1 +#undo.redo.lazy=1 +statusbar.visible=1 +#fileselector.width=800 +#fileselector.height=600 +#magnification=-1 +#output.magnification=-1 + +# Sizes and visibility in edit pane +line.margin.width=4 +margin.width=16 +#fold.margin.width=16 +#fold.margin.colour=#FF0000 +#fold.margin.highlight.colour=#0000FF +#blank.margin.left=4 +#blank.margin.right=4 +buffered.draw=1 +#two.phase.draw=0 +use.palette=0 + +# Element styles +#view.eol=1 +#control.char.symbol=. +caret.period=500 +view.whitespace=0 +view.indentation.whitespace=1 +view.indentation.guides=1 +highlight.indentation.guides=1 +#caret.fore=#FF0000 +#caret.width=2 +#caret.line.back=#FFFED8 +#caret.line.back.alpha=63 +edge.column=200 +edge.mode=0 +edge.colour=#C0DCC0 +braces.check=1 +braces.sloppy=1 +#selection.fore=#006000 +# DADADA used as background because it yields standard silver C0C0C0 +# on low colour displays and a reasonable light grey on higher bit depths +#selection.alpha=30 +#selection.back=#000000 +whitespace.fore=$(stdstyle.bg),fore:#202020 +#whitespace.back=#FFF0F0 +#error.marker.fore=#0000A0 +#error.marker.back=#DADAFF +#bookmark.fore=#808000 +#bookmark.back=#FFFFA0 +#bookmark.alpha= +#find.mark=#0000FF + +# Checking +are.you.sure=1 +#are.you.sure.for.build=1 +#save.all.for.build=1 +#quit.on.close.last=1 +#load.on.activate=1 +#save.on.deactivate=1 +are.you.sure.on.reload=1 +reload.preserves.undo=1 +check.if.already.open=1 +default.file.ext=.lua +#source.default.extensions=.h|.cxx|.bat + +#title.show.buffers=1 +save.recent=1 +session.bookmarks=1 +session.folds=1 +open.dialog.in.file.directory=1 +strip.trailing.spaces=1 +ensure.final.line.end=1 +ensure.consistent.line.ends=1 +#save.deletes.first=1 +buffers=30 +buffers.zorder.switching=1 +#api.*.cxx=d:\api\w.api +#win95.death.delay=1000 +#translation.missing=*** +#read.only=1 +#max.file.size=1 + +# Indentation +tabsize=4 +indent.size=4 +use.tabs=1 +#indent.auto=1 +indent.automatic=1 +indent.opening=0 +indent.closing=0 +#tab.indents=0 +#backspace.unindents=0 + +# Wrapping of long lines +#wrap=1 +#wrap.style=2 +#cache.layout=3 +#output.wrap=1 +#output.cache.layout=3 +#wrap.visual.flags=3 +#wrap.visual.flags.location=3 +#wrap.visual.startindent=4 + +# Folding +# enable folding, and show lines below when collapsed. +fold=1 +fold.compact=1 +fold.flags=16 +fold.symbols=1 +#fold.on.open=1 +fold.comment=1 +fold.preprocessor=1 + +# Find and Replace +# Internal search always available with recursive capability so use in preference to external tool +find.command= +# findstr is available on recent versions of Windows including 2000 +#if PLAT_WIN +# find.command=findstr /n /s $(find.what) $(find.files) +#find.input=$(find.what) +#if PLAT_GTK +# find.command=grep --line-number "$(find.what)" $(find.files) +find.files=*.lua;*.wlua;*.lexe +#find.in.files.close.on.find=0 +#find.in.dot=1 +#find.in.binary=1 +#find.replace.matchcase=1 +#find.replace.escapes=1 +#find.replace.regexp=1 +#find.replace.regexp.posix=1 +#find.replace.wrap=0 +#find.replacewith.focus=0 +#find.replace.advanced=1 + +# Behaviour +#eol.mode=LF +eol.auto=1 +clear.before.execute=0 +#vc.home.key=1 +#wrap.aware.home.end.keys=1 +#autocomplete.choose.single=1 +autocomplete.*.ignorecase=1 +caret.policy.xslop=1 +caret.policy.width=20 +caret.policy.xstrict=0 +caret.policy.xeven=0 +caret.policy.xjumps=0 +caret.policy.yslop=1 +caret.policy.lines=1 +caret.policy.ystrict=1 +caret.policy.yeven=1 +caret.policy.yjumps=0 +#visible.policy.strict=1 +#visible.policy.slop=1 +#visible.policy.lines=4 +#time.commands=1 +#caret.sticky=1 +#properties.directory.enable=1 + +# Status Bar +statusbar.number=1 +statusbar.text.1=\ +Ln: $(LineNumber) Col: $(ColumnNumber) Sel: $(SelLength) | Saved: $(FileDate) $(FileTime) | [$(OverType)] [$(EOLMode)] | $(status.msg) +#li=$(LineNumber) co=$(ColumnNumber) $(OverType) ($(EOLMode)) $(FileAttr) $(status.msg) +statusbar.text.2=\ +$(BufferLength) chars in $(NbOfLines) lines. Sel: $(SelLength) chars. +statusbar.text.3=\ +Now is: Date=$(CurrentDate) Time=$(CurrentTime) +statusbar.text.4=\ +$(FileNameExt) : $(FileDate) - $(FileTime) | $(FileAttr) + +if PLAT_WIN + command.scite.help="file://$(SciteDefaultHome)\docs\SciTEDoc.html" + command.scite.help.subsystem=2 +if PLAT_GTK + command.print.*=a2ps "$(FileNameExt)" + command.scite.help=netscape "file://$(SciteDefaultHome)/SciTEDoc.html" + +# Internationalisation +# Japanese input code page 932 and ShiftJIS character set 128 +#code.page=932 +#character.set=128 +# Unicode +#code.page=65001 +code.page=0 +#character.set=204 +# Required for Unicode to work on GTK+: +#LC_CTYPE=en_US.UTF-8 +#output.code.page=65001 + +# Export +#export.keep.ext=1 +export.html.wysiwyg=1 +#export.html.tabs=1 +#export.html.folding=1 +export.html.styleused=1 +#export.html.title.fullpath=1 +#export.rtf.tabs=1 +#export.rtf.font.face=Arial +#export.rtf.font.size=9 +#export.rtf.tabsize=8 +# Magnification (added to default screen font size) +export.pdf.magnification=0 +# Font: Courier, Helvetica or Times (Courier line-wraps) +export.pdf.font=Helvetica +# Page size (in points): width, height +# E.g. Letter 612,792; A4 595,842; maximum 14400,14400 +export.pdf.pagesize=595,842 +# Margins (in points): left, right, top, bottom +export.pdf.margins=72,72,72,72 +export.xml.collapse.spaces=1 +export.xml.collapse.lines=1 + +# Define values for use in the imported properties files +chars.alpha=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ +chars.numeric=0123456789 +chars.accented=ŠšŒœŸÿÀàÁáÂâÃãÄäÅåÆæÇçÈèÉéÊêËëÌìÍíÎîÏïÐðÑñÒòÓóÔôÕõÖØøÙùÚúÛûÜüÝýÞþßö +# This is a better set for Russian: +#chars.accented=ÀàÁáÂâÃãÄäÅ娸ÆæÇçÈèÉéÊêËëÌìÍíÎîÏïÐðÑñÒòÓóÔôÕõÖö×÷ØøÙùÚúÛûÜüÝýÞþßÿ + +# The open.filter setting is only used on Windows where the file selector has a menu of filters to apply +# to the types of files seen when opening. +# There is a limit (possibly 256 characters) to the length of a filter, +# so not all source extensions can be in this setting. +#~ source.files=*.c;*.cc;*.cpp;*.cxx;*.cs;*.h;*.hxx;*.hpp;\ +#~ *.idl;*.rc;*.def;\ +#~ *.java;*.js;*.py;*.lua;\ +#~ make*;*.mak;\ +#~ *.properties;*.html;*.xml;*.iface;*.bat;*.tex + +source.files=*.c;*.cc;*.cpp;*.cxx;*.cs;*.h;*.hxx;*.hpp;\ +*.idl;*.rc;*.def;\ +*.java;*.lua;*.wlua;*.lexe;\ +make*;*.mak;\ +*.properties;*.html;*.xml;*.bat + +if PLAT_WIN + all.files=All Files (*.*)|*.*| +if PLAT_GTK + all.files=All Files (*)|*|Hidden Files (.*)|.*| +open.filter=\ +All Source|$(source.files)|\ +$(all.files)\ +$(filter.cpp)\ +#$(filter.ch)\ +#$(filter.css)\ +#$(filter.d)\ +#$(filter.fortran)\ +#$(filter.idl)\ +#$(filter.java)\ +$(filter.js)\ +$(filter.lua)\ +#$(filter.matlab)\ +#$(filter.pascal)\ +#$(filter.perl)\ +$(filter.properties)\ +#$(filter.python)\ +#$(filter.tex)\ +$(filter.text) + +# Give symbolic names to the set of fonts used in the standard styles. +if PLAT_WIN + font.monospace=font:Courier New,size:10 + #font.small=font:Verdana,size:8 + #font.comment=font:Comic Sans MS,size:9 + + font.comment=$(font.base) + font.code.comment.box=$(font.comment) + font.code.comment.line=$(font.comment) + font.code.comment.doc=$(font.comment) + font.code.comment.nested=$(font.comment) + #font.text=font:Times New Roman,size:11 + font.text=$(font.base) + font.text.comment=$(font.comment) + font.embedded.base=$(font.comment) + font.embedded.comment=$(font.comment) + font.vbs=$(font.monospace) +if PLAT_GTK + font.base=font:!Bitstream Vera Sans,size:9 + font.small=font:!Bitstream Vera Sans,size:8 + font.comment=font:!Bitstream Vera Serif,size:9 + font.code.comment.box=$(font.comment) + font.code.comment.line=$(font.comment) + font.code.comment.doc=$(font.comment) + font.code.comment.nested=$(font.comment) + font.text=font:!Bitstream Charter,size:10 + font.text.comment=font:!Serif,size:9 + font.embedded.base=font:!Serif,size:9 + font.embedded.comment=font:!Serif,size:9 + font.monospace=font:!Bitstream Vera Sans Mono,size:9 + font.vbs=font:!Bitstream Vera Sans Mono,size:9 +font.js=$(font.comment) + +# Old GTK+ font settings are faster but not antialiased + #~ font.base=font:lucidatypewriter,size:12 + #~ font.small=font:lucidatypewriter,size:10 + #~ font.comment=font:new century schoolbook,size:12 + #~ font.code.comment.box=$(font.comment) + #~ font.code.comment.line=$(font.comment) + #~ font.code.comment.doc=$(font.comment) + #~ font.text=font:times,size:14 + #~ font.text.comment=font:lucidatypewriter,size:10 + #~ font.embedded.base=font:lucidatypewriter,size:12 + #~ font.embedded.comment=font:lucidatypewriter,size:12 + #~ font.monospace=font:courier,size:12 + #~ font.vbs=font:new century schoolbook,size:12 + +# Give symbolic names to the set of colours used in the standard styles. +colour.code.comment.box=fore:#007F00 +colour.code.comment.line=fore:#007F00 +colour.code.comment.doc=fore:#3F703F +colour.code.comment.nested=fore:#A0C0A0 +colour.text.comment=fore:#0000FF,back:#D0F0D0 +colour.other.comment=fore:#007F00 +colour.embedded.comment=back:#E0EEFF +colour.embedded.js=back:#F0F0FF +colour.notused=back:#FF0000 + +colour.number=fore:#007F7F +colour.keyword=fore:#00007F +colour.string=fore:#7F007F +colour.char=fore:#7F007F +colour.operator=fore:#000000 +colour.preproc=fore:#7F7F00 +colour.error=fore:#FFFF00,back:#FF0000 + +# Global default styles for all languages +# Default +style.*.32=$(font.base) +# Line number +style.*.33=$(stdstyle.linenumbers) +# Brace highlight +style.*.34=$(stdstyle.bracematch) +# Brace incomplete highlight +style.*.35=$(stdstyle.bracemismatch) +# Control characters +style.*.36=$(stdstyle.controlchars) +# Indentation guides +style.*.37=$(stdstyle.indentguides) + +# Printing - only works on Windows +if PLAT_WIN + #print.colour.mode=1 + print.magnification=-1 + # Setup: left, right, top, bottom margins, in local units: + # hundredths of millimeters or thousandths of inches + print.margins=1500,1000,1000,1500 + # Header/footer: + # && = &; &p = current page + # &f = file name; &F = full path + # &d = file date; &D = current date + # &t = file time; &T = full time + print.header.format=$(FileNameExt) — Printed on $(CurrentDate), $(CurrentTime) — Page $(CurrentPage) + print.footer.format=$(FilePath) — File date: $(FileDate) — File time: $(FileTime) + # Header/footer style + print.header.style=font:Arial,size:12,bold + print.footer.style=font:Arial Narrow,size:10,italics + +# Warnings - only works on Windows and needs to be pointed at files on machine +#if PLAT_WIN +# warning.findwrapped=100,E:\Windows\Media\SFX\Boing.wav +# warning.notfound=0,Effect.wav +# warning.wrongfile=0,Glass.wav +# warning.executeok=0,Fanfare.wav +# warning.executeko=100,GlassBreak.wav +# warning.nootherbookmark=100,Boing2.wav + +# Define the Lexer menu, +# Each item contains three parts: menu string | file extension | key +# The only keys allowed currently are based on F-keys and alphabetic keys and look like +# [Ctrl+][Shift+][Fn|a] such as F12 or Ctrl+Shift+D. +# A '&' may be placed before a letter to be used as an accelerator. This does not work on GTK+. +menu.language=\ +Text|txt||\ +&Batch|bat||\ +&C / C++|c||\ +#CMake|cmake||\ +#C&#|cs||\ +#Csound|orc||\ +#CSS|css||\ +#D|d||\ +#&Difference|diff||\ +#&Eiffel|e||\ +#Erlang|erl||\ +#&Errorlist|err||\ +#FlagShip|prg||\ +#&Fortran|f90||\ +#Gap|g||\ +#H&ypertext|html||\ +#&InnoSetup|iss||\ +#&Java|java||\ +#Java&Script|js||\ +#&Kix|kix||\ +#TeX|tex||\ +#Lisp|lisp||\ +#Lot|lot||\ +#Lout|lt||\ +Lu&a|lua||\ +#Matlab|m.matlab||\ +#&Makefile|mak|Ctrl+Shift+F11|\ +#MetaPost|mp||\ +#MMIXAL|mms||\ +#&nnCron crontab|tab||\ +#NSIS|nsis||\ +#Objective Caml|ml||\ +#Octave|m.octave||\ +#Opal|impl||\ +#Pascal|pas||\ +#Pe&rl|pl||\ +#P&HP|php||\ +#P&LSQL|spec||\ +&Properties|properties||\ +#P&ostScript|ps||\ +#P&OV-Ray SDL|pov||\ +#Pytho&n|py||\ +#Reso&urce|rc||\ +#Ruby|rb||\ +#Shell|sh||\ +#S&QL|sql||\ +#Specman|e||\ +#&TCL|tcl||\ +#&VB|vb||\ +#VBScr&ipt|vbs||\ +#Verilog|v||\ +#VHDL|vhd||\ +#&XML|xml|Shift+F12| + +# User defined key commands +#~ user.shortcuts=\ +#~ Ctrl+Shift+V|IDM_PASTEANDDOWN|\ +#~ Ctrl+PageUp|IDM_PREVFILE|\ +#~ Ctrl+PageDown|IDM_NEXTFILE| + +#KeypadPlus|IDM_EXPAND|\ +#KeypadMinus|IDM_BLOCK_COMMENT| + +#user.context.menu=\ +#||\ +#Next File|IDM_NEXTFILE|\ +#Prev File|IDM_PREVFILE| + +# Import all the language specific properties files +#import ada +#import asm +#import asn1 +#import au3 +#import ave +#import baan +#import freebasic +#import blitzbasic +#import bullant +#import caml +#import conf +import cpp +#import cmake +#import d +#import csound +#import css +#import eiffel +#import erlang +#import escript +#import flagship +#import forth +#import fortran +#import gap +import html +#import inno +#import kix +#import lisp +#import lot +#import lout +import lua +#import matlab +#import metapost +#import mmixal +#import nncrontab +#import nsis +#import opal +import others +#import pascal +#import perl +#import pov +#import ps +#import purebasic +#import python +#import rebol +#import ruby +#import scriptol +#import smalltalk +#import spice +#import sql +#import specman +#import tcl +#import tex +#import vb +#import yaml +#import verilog +#import vhdl + +abbreviations.*.lua=$(SciteDefaultHome)\abbrev.properties +abbreviations.*.wlua=$(SciteDefaultHome)\abbrev.properties +abbreviations.*.lexe=$(SciteDefaultHome)\abbrev.properties + + + diff --git a/support/excludes b/support/excludes new file mode 100755 index 0000000..abdf33c --- /dev/null +++ b/support/excludes @@ -0,0 +1,5 @@ +\install\ +\Microsoft.VC80.CRT\ +unins +.url +Thumbs.db diff --git a/support/isxdl.dll b/support/isxdl.dll new file mode 100755 index 0000000..855c76a Binary files /dev/null and b/support/isxdl.dll differ diff --git a/support/lexe.ico b/support/lexe.ico new file mode 100755 index 0000000..a97f5c5 Binary files /dev/null and b/support/lexe.ico differ diff --git a/support/lua.ico b/support/lua.ico new file mode 100755 index 0000000..ccbabc4 Binary files /dev/null and b/support/lua.ico differ diff --git a/support/luafile - Creative Commons License.rtf b/support/luafile - Creative Commons License.rtf new file mode 100755 index 0000000..a806eee --- /dev/null +++ b/support/luafile - Creative Commons License.rtf @@ -0,0 +1,1141 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;} +{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;} +{\f37\fnil\fcharset0\fprq2{\*\panose 622000000001bfffaa20}Lucida Grande{\*\falt Courier New};}{\f38\fswiss\fcharset77\fprq0{\*\panose 00000000000000000000}ArialMT{\*\falt Arial};}{\f261\froman\fcharset238\fprq2 Times New Roman CE;} +{\f262\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f264\froman\fcharset161\fprq2 Times New Roman Greek;}{\f265\froman\fcharset162\fprq2 Times New Roman Tur;}{\f266\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\f267\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f268\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f269\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f271\fswiss\fcharset238\fprq2 Arial CE;} +{\f272\fswiss\fcharset204\fprq2 Arial Cyr;}{\f274\fswiss\fcharset161\fprq2 Arial Greek;}{\f275\fswiss\fcharset162\fprq2 Arial Tur;}{\f276\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f277\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);} +{\f278\fswiss\fcharset186\fprq2 Arial Baltic;}{\f279\fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f281\fmodern\fcharset238\fprq1 Courier New CE;}{\f282\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f284\fmodern\fcharset161\fprq1 Courier New Greek;} +{\f285\fmodern\fcharset162\fprq1 Courier New Tur;}{\f286\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f287\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f288\fmodern\fcharset186\fprq1 Courier New Baltic;} +{\f289\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255; +\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red15\green52\blue104;\red102\green102\blue102;\red153\green153\blue153; +}{\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive \ssemihidden +Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}} +{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\listtable{\list\listtemplateid2118418302\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid66569 +\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid197641 +\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid328713 +\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid66569 +\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid197641 +\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid328713 +\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid66569 +\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid197641 +\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid328713 +\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid179052080}{\list\listtemplateid813854702\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0 +\levelspace0\levelindent0{\leveltext\leveltemplateid-306285712\'01\u-3913 ?;}{\levelnumbers;}\loch\af3\hich\af3\dbch\af0\charscalex0\fbias0\hres0\chhres0 \fi-360\li680\jclisttab\tx680\lin680 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0 +\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid197641\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1400\jclisttab\tx1400\lin1400 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid328713\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2120\jclisttab\tx2120\lin2120 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid66569\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2840\jclisttab\tx2840\lin2840 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid197641\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3560\jclisttab\tx3560\lin3560 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1 +\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid328713\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4280\jclisttab\tx4280\lin4280 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1 +\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid66569\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5000\jclisttab\tx5000\lin5000 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1 +\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid197641\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5720\jclisttab\tx5720\lin5720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative +\levelspace0\levelindent0{\leveltext\leveltemplateid328713\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6440\jclisttab\tx6440\lin6440 }{\listname ;}\listid1028599223}{\list\listtemplateid-72419406\listhybrid{\listlevel\levelnfc23 +\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid66569\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0 +\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid197641\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0 +\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid328713\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0 +\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid66569\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0 +\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid197641\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid328713\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid66569\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid197641\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid328713\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid2038849932}}{\*\listoverridetable +{\listoverride\listid2038849932\listoverridecount0\ls1}{\listoverride\listid179052080\listoverridecount0\ls2}{\listoverride\listid1028599223\listoverridecount0\ls3}}{\*\rsidtbl \rsid3545201}{\*\generator Microsoft Word 11.0.0000;}{\info{\title } +{\author Michael M.}{\operator rpusztai}{\creatim\yr2008\mo5\dy14\hr8\min26}{\revtim\yr2008\mo5\dy14\hr8\min26}{\version2}{\edmins1}{\nofpages1}{\nofwords158}{\nofchars903}{\*\company Gentex Corporation}{\nofcharsws1059} +{\vern24613}{\*\saveprevpict}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw11900\paperh16840\margl1800\margr1555\margt720\margb1170\gutter0\ltrsect +\ftnbj\aenddoc\donotembedsysfont0\donotembedlingdata1\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dghspace180\dgvspace180 +\dghorigin1701\dgvorigin1984\dghshow0\dgvshow0\jexpand\viewkind1\viewscale90\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct +\asianbrkrule\nojkernpunct\rsidroot10758974 \fet0{\*\wgrffmtfilter 0000}\ilfomacatclnup0{\*\background +{\shp{\*\shpinst\shpleft0\shptop0\shpright0\shpbottom0\shpfhdr0\shpbxmargin\shpbxignore\shpbymargin\shpbyignore\shpwr0\shpwrk0\shpfblwtxt1\shpz0\shplid1025{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}} +{\sp{\sn fillColor}{\sv 13303807}}{\sp{\sn fFilled}{\sv 1}}{\sp{\sn lineWidth}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn bWMode}{\sv 9}}{\sp{\sn fBackground}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}}}\ltrpar \sectd \ltrsect +\linex0\endnhere\sectdefaultcl\sectrsid5574182\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4 +\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (} +{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 +\b\f1\fs28\cf1\insrsid5574182\charrsid5574182 {\*\shppict{\pict{\*\picprop\shplid1025{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn pibFlags}{\sv 2}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}} +\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0\picw5327\pich2646\picwgoal3020\pichgoal1500\pngblip\bliptag875976311{\*\blipuid 3436567724ebadbb50de28410e2599c5} +89504e470d0a1a0a0000000d49484452000000970000004b08030000004abde51f00000060504c5445666b668d938d333533b3bbb30d0d0dc0c8c09aa09a8085 +807378735a5d5a1a1b1a2628264d504d404340a6ada6888888999999111111eeeeeedddddd333333cccccc777777444444bbbbbb555555666666aaaaaa222222 +ffffff000000c0c8c0f59b46d10000002074524e53ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005c5c1bed00000001624b47 +441f050d10bd0000000c636d50504a436d703037313200000003480073bc0000031a494441546843ed5a6973a33a109400731f3e72398ee1ffffcbed9e91c461 +3b0e5b6f5fe503aa4a0031925a3d3da321bb66f89dcdfc4e58c3866b9d6336be36bed631b0ce7ad3d7c6d73a06d6596ffadaf85ac7c03aeb4d5f1b5feb185867 +bde96be36b1d03ebac377d6d7cad63609df5a6af8daf750cacb3def4b5f1f533060cdacf2ca7567f31e4878b145114a5b0edd17e386462f6ef7045c0637f31ae +ffcc8f6d668aa831864e9835bc30369e74f13eb6c664a1130fdec4f375d787f172aaa5d58d1f73cea7ad34ed14442d9d49110f16d728abe82693482f3ad1dc43 +dfc4431ef14515e5a2af587ed182b643eca6fa46448b576915500988f175ab00b8584c5c6c76d005d8e916f54f04c06654f70d7e6530e1a6d3382c523f0c8839 +ae9c939cf7afd7ebf578793b0808379473254d51e252045c5cbd3486ab6122be33434c0cd61a3ed5c62a2e4e5c6810943b6ea6326240ac77db0c5701cbf71340 +b9d60159a932cb080bb7719518e52ba94d8ca9cb78b7db014a120f480c2480a6f0f02c1ee94850ca81458b5f11067134697e8a8b9bea4654b83bbd78c6b8476e +78684120a72f714d491056d8118adb7a6a69bac4258e8c455e2997c9388a344c153c0538e18babed67b0e04d008b683f8b2ed13d3ac5edbe61a6583cca76834b +c0709652c085c60c77af8db848eb129602cb3190aa0f73785cb3158a21d3d0a06e6e70d19105e555c816a7bb79820b8b7c2ed8e2e3ab48e73e5fc415316fb2e5 +2d176bf296a86f70d19115dfa4e2d2da8f7ace57d21f8e77705d3f85304ea6dc42119e2fcaaaa0527659ab72a1da88f616974424dd287ecc65543e4dd273da82 +1fb1c61b611df75d2721f9da75175e4fa225c9089a196b6184faa27312c62302a06ee91fc0db3929f2c258208bce56dc28f1ca78dce5c88f8f90055cd80bd3d6 +2b93161182a6beff6217140608d40e5295c4a5c72569b5caade47989c3c65a324b40a4af349aefc985f4c38dc3c0541865960694c8f7fa8afa03d93af487eead +ef2ff839772ffd3bfa3a718bcfa53edf4b948e991bbe1e2dc4e51aac51c0459ae846a497707430233ec1858caa183eaed7cbe97ae0e351e273af919832ce4889 +9e87538b000002f7494441543b1f65bed80557428f697826044037c86933e2929056f7f8a9aa87b0c67f47565cf09e681f511832ec879f2e33752147796cadf5 +53a6a64041a19b6e4d6da065ff36c72bd088a66870e3dd86a9ee142c13ea82be14d7d9e102965b5c8f38ff17fd0b5cf02382f1e3e30a79d185cc1c17975145d1 +49ad446939d490a814e762914a566a07316ad27967466374925239f9cb82b473608e72c9bfcb795bd6c26ec015f55f9a145ef638aef770e8dbe5dcbf04dd8f25 +0db2999755505ba9524e5cdd93482a71f21e3bb11d2ff904b3d0c6953c4c411ab0d4247610706146a62d881ced53ce9fbe3f304fbc4b9c33aa5dcb54d2da9a59 +1cfa5e330dced03933b5b3a74c33644436595b055c086b51d4a9eb3a842410e2866e3c4a35d2727264419bf465c61450317770f7b94028522b608d9553527199 +45a7546875acf56aa9b84caa03f8ae42b26d1b29f9022e24cefbe710240723d225d5650e071081a88029a191aac73db09e92f3487cb4ec944c2ff294c380368d +1fc03c97581e035a928760028f72102ddae910ceed505c3a20182a93b9d5a657c14508b34eba4a17943bbee3a3764b7a4c2254b8735c3c696eeb1c9e421ceb8a +1719c37250b7adccadc2a5cb0aa4392e390f041bebaa495d8817a2f359435c4aadfb00971c8c7f814bce8439ae4105cac6eface04715c69c31466522a5aeaf0e +c43cf8510a8a75b81efa11f3e25b54d222843cfbee60989c27df1d7b1417ee6825666a14c9d08eba67608aee6fa4f46da7a37fce576c5831b16492ba6ac2973b +79cf7b81f6f1f60593ca7d18b4dc07f20483ba201c9cd4b16449fb735c9a27daa1650ad53c11748fd22461b5c8b9d1b9f8aeb5ae68f09e1e5f8f79150c4e4af4 +7a16729eb7fbf12811e35b3ac7a5c54825e701b858e0427e1a9125d8dad83c30f98a0c6706a4b0822fcdc46c892be9c63ce1ff88a0df3937b8a020fcd924c21f +4e969f04b6664a7695af6df84d2b67ac9cdb8b6b7eb793d2166547328b9cdbb8e67ad557951ce9dbffe39bc5d7f3873b7e7c3ee87fb0d870ad23f9b7f2f50751c8df0fdd1e3d4a0000000049454e44ae426082}}{\nonshppict{\pict\picscalex133\picscaley134\piccropl0\piccropr0\piccropt0\piccropb0 +\picw3995\pich1984\picwgoal2265\pichgoal1125\wmetafile8\bliptag875976311{\*\blipuid 3436567724ebadbb50de28410e2599c5}010009000003ad1b000000006518000000000400000003010800050000000b0200000000050000000c024c009800030000001e00040000000701040008000000 +26060f000600544e5050060113030000410b8600ee004b009700000000004b0097000000000028000000970000004b0000000100010000000000000000000000 +000000000000000000000000000000000000ffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000003fe0003fc1fe3e3e3ff1f1f1ff1f1f3fe0000000fffc007fe7ff3e3e3ff1f1f3ff9f1f7ff0000003fffe00fff7ffbe3e +3ff1f1f7ffdf1ffff8000007ffff81fdffdffe3e3ff1f1f7efdf1ffff800000fffffc1f0ef87fe3e3ff1f1ff83ff1f7ff800001fffffe1f00f07fe3e3ff1f1ff +83ff1f0ff800003fffffe1f01f03fe3e3ff1f1ff83ff1f3ff800007ffffff1f01f03fe3e3ff1f1ff83ff1f7ff000007ffffff9f00f03fe3e3ff1f1ff83ff1f7f +c00000fffffff9f0cf87fe3e3ff1f1ff83ff1f7fe00000fffffff9fdffcffffffffffff7efdfff7ff00000fffffff8fff7ffbffffffffff7ffdfff7ff80000ff +fffffc7fe7ffbffffffffff3ff9fff3ff80000fffffffc3fc1fe3ffdfdffefe1ff1ffe1fe00000fffffffc00000000000000000000000000000000fffffffc1f +8f80fc0fde1f783e03f00000000000fffffffc7fef83ff1ffe3f783e0ffc0000000000fffffffcffff87ffbffe7f787e1ffe0000000000fffffff9ffff87ffff +fe7f787f1fff0000000000fffffff9f8ff8ffffffe7c78ff3fff00000000007ffffff9f04f8ffffffe7c78ff3ffc00000000007ffffff9f00f8ffffffe7c78ff +bfff00000000007ffffff1f00f8fffdffe7c79f7bfff00000000003fffffe1f00f8fffcffe7c79f7bfff00000000001fffffe1f0cfcfffc0fe7c79f7ffff0000 +0000000fffffc1f9ffffffde3e7c7be7fffe000000000007ffff80ffffffff9f7fff7be3fffe000000000003fffe00fffffbff1ffdff7be3fffc000000000000 +fffc007feff9ff0ffdff7fe3eff80000000000003fe0001f8008fc03f07c000003f00000000000000000000000000000007c7800000000000000000000000000 +00000000007c780000000000000000000000000000000000007c7800000000000000000000000000000000000000780000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000ff00000000000000000000000000000000000000ff00000000000000000000000000000000000000ff0000 +0000000000000000000000000000000000ff00000000000000000000000000000000000000ff00000000000000000000000000000000000000ff000000000000 +00000000000000000000000000ff00000000000000000000000000000000000000ff00000000000000000000000000000000000000ff00000000000000000000 +000000000000000000ff00000000000000000000000000000000000000ff00000000000000000000000000000000000000ff65180000410bc60088004b009700 +000000004b0097000000000028000000970000004b0000000100080000000000000000000000000000000000000000000000000000000000ffffff00666b6600 +5a5d5a00333533009aa09a008d938d00a6ada6008085800040434000b3bbb300737873001a1b1a004d504d000d0d0d00262826005555550099999900cccccc00 +eeeeee00aaaaaa007777770011111100c0c8c00044444400dddddd0088888800333333006666660022222200bbbbbb0000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010001010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010001010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101000101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101000101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010100010101010101010101010101010101010101050203040404090206010101010101010101010101010101060d0c00000f020a010101010106090c0000 +0c0d0601010105040404030101010504040403010101050404040b05040404030101010504040403010101050404040b0101010a020400000004020a01010105 +0404040b0101010b0404040b01010a02040000000f03070101010100010101010101010101010101010101010b0c0000000000000000000e0d07010101010101 +010101010103000000000000000e0501010a0900000000000000000d010106000000040101010600000004010101060000000206000000040101010600000004 +01010106000000020101060e000000000000000e0601010600000002010101020000000201020e00000000000000000b01010100010101010101010101010101 +0101060c000000000000000000000000000002010101010101010101030000000000000000000e050104000000000000000000000d0106000000040101010600 +00000401010106000000020600000004010101060000000401010106000000020105000000000000000000000005010600000002010101020000000202000000 +00000f0e0000000007010100010101010101010101010101010200000000101119010101011e151d0000000f070101010101010700000000020a01080e000003 +0b0000000e08010a0b0e00000006060000000401010106000000040101010600000002060000000401010106000000040101010600000002010c0000000d0701 +07090000000c01060000000201010102000000020a0f000e0b1717170b000000020101000101010101010101010101010d000000101901010101010101010101 +111600000e050101010101030000000901010101050406010f00000006010101010b000000090600000004010101060000000401010106000000020600000004 +01010106000000040101010600000002060000000401010101010c0000000606000000020101010200000002010a020a17171717050000000401010001010101 +01010101010101030000001101010101010101010101010101131b00000e0701010101040000000801010101010101010000000c01010101010a0000000e0600 +00000401010106000000040101010600000002060000000401010106000000040101010600000002020000000201010101010200000002060000000201010102 +00000002010101010a060204000000000d010100010101010101010101010800001612010101010101010101010101010101011c00000f010101010c00000006 +0101010101010105000000040101010101010e000000060000000401010106000000040101010600000002060000000401010106000000040101010600000002 +020000000601010101010800000002060000000201010102000000020101060f0000000000000000060101000101010101010101010a0e000011010101010101 +0101010101010101010101011b0000020101010c000000060101010101010105000000040101010101010f000000060000000401010106000000040101010600 +00000206000000040101010600000004010101060000000202000000060101010101060000000206000000020101010200000002010800000000000000000e0b +0101010001010101010101010102000015010101010101010101010101010101010101011916000e0a0101040000000801010101010101010000000c01010101 +01010000000e06000000040101010600000004010101060000000206000000040101010600000004010101060000000202000000020101010101020000000206 +000000020101010200000002010c000000000e04020601010101010001010101010101010a0e00161301010101010101010101010101010101010101011a0000 +020101030000000d010101010b0b01010f00000006010101010800000009060000000c010101080000000f0101010300000002060000000f010101080000000f +010101030000000208000000040101010101040000000806000000090101010300000002010000000e06171717170a010101010001010101010101010b00001a +01010101191a1a1a1e01010101111a1a1a130101011300000f01010700000000020a01060e000c080b0000000f060101060e0000000b06000000000305060f00 +0000000206080e0000000206000000000205060f000000000206080e00000002010c0000000d0a010a0d0000000c0106000000000205080e00000002010c0000 +0f17171707090f0a0101010001010101010101010d0000190101011100000000001c01131b000000001612010101180000010101030000000000000000000008 +010f0000000000000000000009010600000000000000000000000000000000000000020600000000000000000000000000000000000000020106000000000000 +000000000006010600000000000000000000000801020000000c040c0000000f0a010100010101010101010104001d0101011900001b111a1600111c00001514 +10001b0101011a0000060101010d00000000000000000b01010a040000000000000000090a01060000000c0e00000000000e0d0000000000000e07060000000e +0000000000000e0d0000000000000e0701010b0e000000000000000e0b0101060000000f0000000000000c0a0101090000000000000000040501010001010101 +010101010000180101011a00001901011e1e010000100101011113010101140000060101010106090000000e0d0501010101010b040000000009080101010504 +04040305090000000d07010609000000090501050404040305090000000d0701080400000009050101010107030c0000000c0307010101050404040b080f0000 +000905010101010b0f0000000c0d060101010100010101010101010100001801010110000001010101011e00001a01010101010101011e000002010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +010101010101010101010101010101010101010101010101010101010101010101010101010101010101010001010101010101010000180101011c0000010101 +01011200001a01010101010101011e000002010101010108020d0302070101010a060606050101010101010105020302020801010101010107020d020b0a0106 +060605010101010b0203020b01060606060101010101050606060a0101010101010108020d020205010101010101010101010101010101010101010101010101 +0101010001010101010101010000180101011a00001e0101141901160018010113110101010111000006010101050c000000000000090a010600000004010101 +01010a040000000000000e080101010200000000000e08000000020101010f0000000004010000000001010101010e000000020101010101050c000000000000 +0f0501010101010101010101010101010101010101010101010101000101010101010101040016010101131600161a15000014150000101a1b00180101011a00 +00060101060000000000000000000f0a0600000004010101010a0f0000000000000000000b010600000000000000000000000201010b00000000000401000000 +000101010108000000000c01010101050e00000000000000000e0501010101010101010101010101010101010101010101010100010101010101010103000012 +0101011216000000001501011c000000001d120101011b000001010a0e0000000c02020d000000030600000004010101010d0000000f0b06020e000000060d00 +00000906060900000000080101030000000c020b010000000001010101090000000000050101010f000000040806030000000e0a010101010101010101010101 +0101010101010101010101000101010101010101080000150101010113111a1a1901010101121a1a1401010101190000040101020000000c0a01010102000d07 +06000000040101010a0000000e0a1717170500000d070400000007171717040000000601010400000008010101000000000101010a0000000000000301010800 +000004171717170b000e020a0101010101010101010101010101010101010101010101000101010101010101010e001613010101010101010101010101010101 +01010101011c00000b01010900000002010101010107010106000000040101010800000003171717171708071717030000000217171702000000060101040000 +0006010101000000000101010b0000000300000c0101020000000b17171717170b0a010101010101010101010101010101010101010101010101010001010101 +01010101010200001c010101010101010101010101010101010101011200000e0a01010400000006010101010101010106000000040101010200000004020202 +02020202020b0700000000090b07060000000601010400000006010101000000000101010900000f060000000501090000000d02020202020202020601010101 +01010101010101010101010101010101010101000101010101010101010a0c0000110101010101010101010101010101010101131b00000b0101010e00000006 +01010101010101010600000004010101020000000000000000000000000301080e00000000000c00000006010104000000060101010000000001010a00000003 +01000000030104000000000000000000000000020101010101010101010101010101010101010101010101000101010101010101010106000000110101010101 +01010101010101010101131b000004010101010400000006010101010101010106000000040101010b0000000000000000000000000201010a02040000000000 +000006010104000000060101010000000001010b00000008010400000c0102000000000000000000000000060101010101010101010101010101010101010101 +0101010001010101010101010101010b0000001a01010101010101010101010101191b00000f0a010101010d0000000301010101070a0101060000000c0a0101 +050000000217171717080000000801010101010105060d0000000601010400000006010101000000000101090000000a0102000000050b000000081717171703 +00000007010101010101010101010101010101010101010101010100010101010101010101010101030000001819010101010101010101011a1600000c050101 +010101080000000e0501010a0f0e020a06000000000e0d020a0c00000c0a1717170900000e0a010404040d010101080000000601010400000006010101000000 +00010a0000000f0101060000000307000000041717170a0c00000f01010101010101010101010101010101010101010101010100010101010101010101010101 +010b00000000101112010101131415160000000f0a010101010101010f0000000e09030c00000003060000000000000006020000000c0202040000000201010c +00000002010a090000000606020c0000000d02060100000000010b000000030101010000000c170d0000000f02020c0000000801010101010101010101010101 +0101010101010101010101000101010101010101010101010101050f000000000000000000000000000e02010101010101010101070e00000000000000000f0a +060000000000000006010d00000000000000000f010101020000000000000000000f01020000000000000002010000000001090000000801010104000000050a +0f00000000000000000d0101010101010101010101010101010101010101010101010100010101010101010101010101010101010b040000000000000000000c +020701010101010101010101010a0d00000000000e030a010600000004080f00060101020e0000000000030a01010101020e000000000000090a010b040e0000 +000f040b01000000000a000000000a0101010200000003010a0d00000000000e0201010101010101010101010101010101010101010101010101010001010101 +01010101010101010101010101010708020304090202050101010101010101010101010101010107080202060a01010101010101010101010a0101010a060202 +080a010101010101010106020202060a010101010104000000060101010101010101010101010101010101010101010101010a080202060a0101010101010101 +01010101010101010101010101010101010101000101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104000000060101010202020201010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101000101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010400000006010101000000000101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010100010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010304040405010101000000000101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010100010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101020202 +02010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010001010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010001010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101000101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101000101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010100010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010100010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010001010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010001010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101000101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101000101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010100010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010100010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010001010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010001010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101000101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101000101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010100010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010100010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010001010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010001010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101000101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101000101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010100010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010100010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010001010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 +0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101000800000026060f000600544e50500701040000002701ffff030000000000}} +\par +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\f1\fs34\cf1\insrsid5574182\charrsid5574182 Creative Commons Deed +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\f1\fs46\cf1\insrsid5574182\charrsid5574182 Attribution-ShareAlike 2.5 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \f1\fs26\cf1\insrsid5574182\charrsid5574182 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\f1\fs26\cf1\insrsid5574182\charrsid5574182 You are free: +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \f1\fs26\cf1\insrsid5574182\charrsid5574182 +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\fs26\cf1\charscalex0\insrsid5574182\charrsid5574182 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li680\ri0\widctlpar +\jclisttab\tx680\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin680\itap0\pararsid5574182 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f1\fs26\cf1\insrsid5574182\charrsid5574182 to copy, distribute, display, and perform the work +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\fs26\cf1\charscalex0\insrsid5574182\charrsid5574182 \loch\af3\dbch\af0\hich\f3 \'b7\tab}to make derivative works +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\fs26\cf1\charscalex0\insrsid5574182\charrsid5574182 \loch\af3\dbch\af0\hich\f3 \'b7\tab}to make commercial use of the work +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f1\fs26\cf1\insrsid5574182\charrsid5574182 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\f1\fs26\cf1\insrsid5574182\charrsid5574182 Under the following conditions: +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \f1\fs26\cf1\insrsid5574182\charrsid5574182 +\par }{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \lang1024\langfe1024\langnp1024\langfenp1024\insrsid5574182 +{\shp{\*\shpinst\shpleft0\shptop-5\shpright1285\shpbottom1280\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr2\shpwrk0\shpfblwtxt0\shpz0\shplid1026{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn pib}{\sv +{\pict\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0\picw2258\pich2258\picwgoal1280\pichgoal1280\wmetafile8\bliptag1564769310\blipupi72{\*\blipuid 5d447c1efde1945f8b9f94fe913becd6} +0100090000035d1800000000221800000000050000000b0200000000050000000c02400040000500000004010d000000050000002e0118000000050000000201 +0100000005000000090200000000050000000102ffffff00030000001e000500000007010300000022180000430f2000cc000000400040000000000040004000 +00000000280000004000000040000000010018000000000000000000c30e0000c30e00000000000000000000ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1dddd88aaaa6d8888364444 +3644440e11110000000000000000000000000000002933333644445266666d888896bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc5f77771b2222000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000003644446d8888b1ddddffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee6d88881b2222000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044555588aaaaffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee6d88880e1111000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b22227a9999ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa1b2222000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000364444a3 +ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffbeeeee445555000000000000000000000000000000000000000000000000000000000000000000000000000000 +0000001b222236444436444436444436444436444400000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00006d8888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffa3cccc1b22220000000000000000000000000000000000000000000000000000000000001b22225266667a9999a3cccc +ffffffffffffffffffffffffffffffffffffffffffffffffbeeeee96bbbb6d888836444400000000000000000000000000000000000000000000000000000000 +0000000000364444beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff7a99990e11110000000000000000000000000000000000000000000000000e1111526666a3ccccffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee7a999929333300000000000000000000000000000000000000 +00000000000000001b2222a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff7a99990000000000000000000000000000000000000000000000000e11116d8888beeeeeffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96bbbb36444400000000000000000000000000 +00000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff7a9999000000000000000000000000000000000000000000000000445555b1ddddffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa0e111100000000000000 +00000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff7a99990000000000000000000000000000000000000000000e111188aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee44555500000000 +00000000000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff88aaaa000000000000000000000000000000000000000000293333b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a999900 +00000000000000000000000000000000000000000e1111beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cc +cc0e1111000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96 +bbbb0e1111000000000000000000000000000000000000293333ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee2933 +33000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffa3cccc0e11110000000000000000000000000000000000005f7777ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5f77770000 +00000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffa3cccc0e111100000000000000000000000000000000000096bbbbffffffffffffffffffffffffffffffffffffffffffffffff96bbbb0000000000 +00000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff96bbbb0000000000000000000000000000000000001b2222ffffffffffffffffffffffffffffffffffffffffffffffff2933330000000000 +000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff6d88880000000000000000000000000000000000006d8888ffffffffffffffffffffffffffffffffffff7a99990000000000000000 +000000000000000000006d8888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff3644440000000000000000000000000000000e1111beeeeeffffffffffffffffffffffffffffff1b22220000000000000000 +00000000000000364444ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffb1dddd0e11110000000000000000000000000000006d8888ffffffffffffffffffffffff88aaaa0000000000000000000000 +00000000000000b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000001b2222ffffffffffffffffffffffff4455550000000000000000000000 +00000000526666ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffbeeeee0e111100000000000000000000000000000088aaaaffffffffffffbeeeee0000000000000000000000000000 +00000000b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff5f7777000000000000000000000000000000526666ffffffffffff7a99990000000000000000000000000000 +00445555ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffb1dddd0000000000000000000000000000000e1111ffffffffffff4455550000000000000000000000000000 +007a9999ffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000000000000000000e11113644446d8888 +beeeeeffffffffffffffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffff293333000000000000000000000000000000a3ccccffffff0e11110000000000000000000000000000 +00beeeeeffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000000000000000000000000000 +0e111188aaaaffffffffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000006d8888b1dddd0000000000000000000000000000003644 +44ffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000000000000000000000000000 +0000000e1111b1ddddffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffff96bbbb00000000000000000000000000000044555588aaaa0000000000000000000000000000006d88 +88ffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000001b22226d88886d88886d88886d88885f77771b2222000000000000 +0000000000005f7777ffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000002933336d88880000000000000000000000000000007a99 +99ffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000364444ffffffffffffffffffffffffffffffffffff364444000000 +000000000000364444ffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffff96bbbb96bbbb96bbbb96bbbbff +ffffffffffffffffffffffffffffffffffffffffffffffffffff2933330000000000000000000000000000006d888800000000000000000000000000000096bb +bbffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000364444ffffffffffffffffffffffffffffffffffff6d8888000000 +000000000000364444ffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff364444000000000000000000000000000000364444000000000000000000000000000000beee +eeffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000364444ffffffffffffffffffffffffffffffffffff526666000000 +0000000000005f7777ffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff5f7777000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffff6d888800000000000000000029333396bbbb96bbbb96bbbb96bbbb96bbbb6d8888000000000000 +0000000e1111b1ddddffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000000000000000000000000000000e1111 +526666b1ddddffffffffffffffffffffffffffffffbeeeee1b22220000000000000000001b2222beeeeeffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000000000000000000000001b22226d8888 +beeeeeffffffffffffffffffffffffffffffffffff5f77770000000000000000000000000000005f7777ffffffffffffffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000000000000000000000000000 +1b2222beeeeeffffffffffffffffffffffff88aaaa00000000000000000000000000000000000000000096bbbbffffffffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000beee +eeffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000364444ffffffffffffffffffffffffb1dddd364444000000000000 +000000526666ffffffffffffffffffbeeeee0e11110000000000000000000000000000000000000000000e1111beeeeeffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff5f77770000000000000000000000000000006d888800000000000000000000000000000096bb +bbffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000364444ffffffffffffffffffffffffffffff96bbbb000000000000 +000000000000ffffffffffffffffff4455550000000000000000000e1111b1dddd0e1111000000000000000000445555ffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff3644440000000000000000000000000000006d88880000000000000000000000000000007a99 +99ffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000364444ffffffffffffffffffffffffffffff6d8888000000000000 +000000000000ffffffffffff6d88880000000000000000000000007a9999ffffff6d88880000000000000000000000006d888896bbbb96bbbb96bbbb96bbbbff +ffffffffffffffffffffffffffffffffffffffffffffffffffff29333300000000000000000000000000000088aaaa0000000000000000000000000000005f77 +77ffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000001b22226d88886d88886d88886d8888526666000000000000000000 +0000001b2222ffffffb1dddd0e1111000000000000000000364444ffffffffffffffffff3644440000000000000000000e1111b1ddddffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000293333a3cccc0000000000000000000000000000002933 +33ffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000000000000000000000000000 +0000006d8888ffffff293333000000000000000000000000b1ddddffffffffffffffffffa3cccc000000000000000000000000293333ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff96bbbb000000000000000000000000000000445555ffffff0e11110000000000000000000000000000 +00beeeeeffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000000000000000000000000000 +526666ffffff6d88880000000000000000000000006d8888ffffffffffffffffffffffffffffff6d88880000000000000000000000006d8888ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000006d8888ffffff4455550000000000000000000000000000 +007a9999ffffffffffffffffffffffffffffffffffffffffff7a99993644443644443644443644443644443644443644443644443644444455556d8888a3cccc +ffffffb1dddd364444364444364444364444445555ffffffffffffffffffffffffffffffffffffbeeeee445555364444364444364444364444beeeeeffffffff +ffffffffffffffffffffffffffffffffffffffffffffff29333300000000000000000000000000000096bbbbffffff6d88880000000000000000000000000000 +00364444ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffb1dddd0000000000000000000000000000000e1111ffffffffffffb1dddd0000000000000000000000000000 +00000000b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff5f7777000000000000000000000000000000526666ffffffffffffffffff3644440000000000000000000000 +00000000526666ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffbeeeee0e111100000000000000000000000000000088aaaaffffffffffffffffff7a99990000000000000000000000 +00000000000000b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000001b2222ffffffffffffffffffffffffffffff1b22220000000000000000 +00000000000000364444ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffb1dddd0000000000000000000000000000000000006d8888ffffffffffffffffffffffffffffff7a99990000000000000000 +000000000000000000007a9999ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff3644440000000000000000000000000000000e1111beeeeeffffffffffffffffffffffffffffffffffff1b22220000000000 +000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff6d88880000000000000000000000000000000000006d8888ffffffffffffffffffffffffffffffffffffffffff88aaaa0000000000 +00000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff96bbbb0000000000000000000000000000000000001b2222beeeeeffffffffffffffffffffffffffffffffffffffffffffffff4455550000 +00000000000000000000000000000000364444ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffa3cccc0e111100000000000000000000000000000000000088aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee0e11 +11000000000000000000000000000000000000526666ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffa3cccc0e1111000000000000000000000000000000000000526666ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96bb +bb000000000000000000000000000000000000000000445555beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3 +cccc0e1111000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff7a9999000000000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa0e +11110000000000000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff5266660000000000000000000000000000000000000000000e111196bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d888800000000 +00000000000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff526666000000000000000000000000000000000000000000000000526666beeeeeffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96bbbb29333300000000000000 +00000000000000000000000000000000007a9999ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff5266660000000000000000000000000000000000000000000000000e11116d8888beeeeeffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1dddd52666600000000000000000000000000 +00000000000000000000000e11117a9999ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000000000000000000e11115f7777a3ccccffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa44555500000000000000000000000000000000000000 +00000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff88aaaa0e11110000000000000000000000000000000000000000000000000000000000001b22225f777788aaaaa3cccc +ffffffffffffffffffffffffffffffffffffffffffffffffffffff96bbbb6d88884455550e111100000000000000000000000000000000000000000000000000 +0000000000293333b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffb1dddd364444000000000000000000000000000000000000000000000000000000000000000000000000000000 +0000001b222236444436444436444436444436444400000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00005f7777ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff6d88880e1111000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029333396 +bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee5f7777000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b22227a9999ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee6d88881b2222000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003644447a9999ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa5266661b2222000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000003644446d8888b1ddddffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1dddd7a99996d8888364444 +3644440e11110000000000000000000000000000002933333644445266666d888896bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff040000002701ffff030000000000} +}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt\par\pard\ql \li0\ri0\widctlpar\pvpara\posnegy-6\dxfrtext180\dfrmtxtx180\dfrmtxty0\wraparound\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 +{\pict\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0\picw2258\pich2258\picwgoal1280\pichgoal1280\wmetafile8\bliptag1564769310\blipupi72{\*\blipuid 5d447c1efde1945f8b9f94fe913becd6} +0100090000035d1800000000221800000000050000000b0200000000050000000c02400040000500000004010d000000050000002e0118000000050000000201 +0100000005000000090200000000050000000102ffffff00030000001e000500000007010300000022180000430f2000cc000000400040000000000040004000 +00000000280000004000000040000000010018000000000000000000c30e0000c30e00000000000000000000ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1dddd88aaaa6d8888364444 +3644440e11110000000000000000000000000000002933333644445266666d888896bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc5f77771b2222000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000003644446d8888b1ddddffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee6d88881b2222000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044555588aaaaffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee6d88880e1111000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b22227a9999ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa1b2222000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000364444a3 +ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffbeeeee445555000000000000000000000000000000000000000000000000000000000000000000000000000000 +0000001b222236444436444436444436444436444400000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00006d8888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffa3cccc1b22220000000000000000000000000000000000000000000000000000000000001b22225266667a9999a3cccc +ffffffffffffffffffffffffffffffffffffffffffffffffbeeeee96bbbb6d888836444400000000000000000000000000000000000000000000000000000000 +0000000000364444beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff7a99990e11110000000000000000000000000000000000000000000000000e1111526666a3ccccffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee7a999929333300000000000000000000000000000000000000 +00000000000000001b2222a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff7a99990000000000000000000000000000000000000000000000000e11116d8888beeeeeffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96bbbb36444400000000000000000000000000 +00000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff7a9999000000000000000000000000000000000000000000000000445555b1ddddffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa0e111100000000000000 +00000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff7a99990000000000000000000000000000000000000000000e111188aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee44555500000000 +00000000000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff88aaaa000000000000000000000000000000000000000000293333b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a999900 +00000000000000000000000000000000000000000e1111beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cc +cc0e1111000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96 +bbbb0e1111000000000000000000000000000000000000293333ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee2933 +33000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffa3cccc0e11110000000000000000000000000000000000005f7777ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5f77770000 +00000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffa3cccc0e111100000000000000000000000000000000000096bbbbffffffffffffffffffffffffffffffffffffffffffffffff96bbbb0000000000 +00000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff96bbbb0000000000000000000000000000000000001b2222ffffffffffffffffffffffffffffffffffffffffffffffff2933330000000000 +000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff6d88880000000000000000000000000000000000006d8888ffffffffffffffffffffffffffffffffffff7a99990000000000000000 +000000000000000000006d8888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff3644440000000000000000000000000000000e1111beeeeeffffffffffffffffffffffffffffff1b22220000000000000000 +00000000000000364444ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffb1dddd0e11110000000000000000000000000000006d8888ffffffffffffffffffffffff88aaaa0000000000000000000000 +00000000000000b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000001b2222ffffffffffffffffffffffff4455550000000000000000000000 +00000000526666ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffbeeeee0e111100000000000000000000000000000088aaaaffffffffffffbeeeee0000000000000000000000000000 +00000000b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff5f7777000000000000000000000000000000526666ffffffffffff7a99990000000000000000000000000000 +00445555ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffb1dddd0000000000000000000000000000000e1111ffffffffffff4455550000000000000000000000000000 +007a9999ffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000000000000000000e11113644446d8888 +beeeeeffffffffffffffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffff293333000000000000000000000000000000a3ccccffffff0e11110000000000000000000000000000 +00beeeeeffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000000000000000000000000000 +0e111188aaaaffffffffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000006d8888b1dddd0000000000000000000000000000003644 +44ffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000000000000000000000000000 +0000000e1111b1ddddffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffff96bbbb00000000000000000000000000000044555588aaaa0000000000000000000000000000006d88 +88ffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000001b22226d88886d88886d88886d88885f77771b2222000000000000 +0000000000005f7777ffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000002933336d88880000000000000000000000000000007a99 +99ffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000364444ffffffffffffffffffffffffffffffffffff364444000000 +000000000000364444ffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffff96bbbb96bbbb96bbbb96bbbbff +ffffffffffffffffffffffffffffffffffffffffffffffffffff2933330000000000000000000000000000006d888800000000000000000000000000000096bb +bbffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000364444ffffffffffffffffffffffffffffffffffff6d8888000000 +000000000000364444ffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff364444000000000000000000000000000000364444000000000000000000000000000000beee +eeffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000364444ffffffffffffffffffffffffffffffffffff526666000000 +0000000000005f7777ffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff5f7777000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffff6d888800000000000000000029333396bbbb96bbbb96bbbb96bbbb96bbbb6d8888000000000000 +0000000e1111b1ddddffffffffffffffffffffffffffffff364444000000000000000000364444ffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000000000000000000000000000000e1111 +526666b1ddddffffffffffffffffffffffffffffffbeeeee1b22220000000000000000001b2222beeeeeffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000000000000000000000001b22226d8888 +beeeeeffffffffffffffffffffffffffffffffffff5f77770000000000000000000000000000005f7777ffffffffffffffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000000000000000000000000000 +1b2222beeeeeffffffffffffffffffffffff88aaaa00000000000000000000000000000000000000000096bbbbffffffffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000beee +eeffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000364444ffffffffffffffffffffffffb1dddd364444000000000000 +000000526666ffffffffffffffffffbeeeee0e11110000000000000000000000000000000000000000000e1111beeeeeffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff5f77770000000000000000000000000000006d888800000000000000000000000000000096bb +bbffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000364444ffffffffffffffffffffffffffffff96bbbb000000000000 +000000000000ffffffffffffffffff4455550000000000000000000e1111b1dddd0e1111000000000000000000445555ffffff000000000000000000000000ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff3644440000000000000000000000000000006d88880000000000000000000000000000007a99 +99ffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000364444ffffffffffffffffffffffffffffff6d8888000000000000 +000000000000ffffffffffff6d88880000000000000000000000007a9999ffffff6d88880000000000000000000000006d888896bbbb96bbbb96bbbb96bbbbff +ffffffffffffffffffffffffffffffffffffffffffffffffffff29333300000000000000000000000000000088aaaa0000000000000000000000000000005f77 +77ffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000001b22226d88886d88886d88886d8888526666000000000000000000 +0000001b2222ffffffb1dddd0e1111000000000000000000364444ffffffffffffffffff3644440000000000000000000e1111b1ddddffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000293333a3cccc0000000000000000000000000000002933 +33ffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000000000000000000000000000 +0000006d8888ffffff293333000000000000000000000000b1ddddffffffffffffffffffa3cccc000000000000000000000000293333ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff96bbbb000000000000000000000000000000445555ffffff0e11110000000000000000000000000000 +00beeeeeffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000000000000000000000000000 +526666ffffff6d88880000000000000000000000006d8888ffffffffffffffffffffffffffffff6d88880000000000000000000000006d8888ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000006d8888ffffff4455550000000000000000000000000000 +007a9999ffffffffffffffffffffffffffffffffffffffffff7a99993644443644443644443644443644443644443644443644443644444455556d8888a3cccc +ffffffb1dddd364444364444364444364444445555ffffffffffffffffffffffffffffffffffffbeeeee445555364444364444364444364444beeeeeffffffff +ffffffffffffffffffffffffffffffffffffffffffffff29333300000000000000000000000000000096bbbbffffff6d88880000000000000000000000000000 +00364444ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffb1dddd0000000000000000000000000000000e1111ffffffffffffb1dddd0000000000000000000000000000 +00000000b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff5f7777000000000000000000000000000000526666ffffffffffffffffff3644440000000000000000000000 +00000000526666ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffbeeeee0e111100000000000000000000000000000088aaaaffffffffffffffffff7a99990000000000000000000000 +00000000000000b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000001b2222ffffffffffffffffffffffffffffff1b22220000000000000000 +00000000000000364444ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffb1dddd0000000000000000000000000000000000006d8888ffffffffffffffffffffffffffffff7a99990000000000000000 +000000000000000000007a9999ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff3644440000000000000000000000000000000e1111beeeeeffffffffffffffffffffffffffffffffffff1b22220000000000 +000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff6d88880000000000000000000000000000000000006d8888ffffffffffffffffffffffffffffffffffffffffff88aaaa0000000000 +00000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff96bbbb0000000000000000000000000000000000001b2222beeeeeffffffffffffffffffffffffffffffffffffffffffffffff4455550000 +00000000000000000000000000000000364444ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffa3cccc0e111100000000000000000000000000000000000088aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee0e11 +11000000000000000000000000000000000000526666ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffa3cccc0e1111000000000000000000000000000000000000526666ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96bb +bb000000000000000000000000000000000000000000445555beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3 +cccc0e1111000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff7a9999000000000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa0e +11110000000000000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff5266660000000000000000000000000000000000000000000e111196bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d888800000000 +00000000000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff526666000000000000000000000000000000000000000000000000526666beeeeeffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96bbbb29333300000000000000 +00000000000000000000000000000000007a9999ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff5266660000000000000000000000000000000000000000000000000e11116d8888beeeeeffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1dddd52666600000000000000000000000000 +00000000000000000000000e11117a9999ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000000000000000000e11115f7777a3ccccffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa44555500000000000000000000000000000000000000 +00000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff88aaaa0e11110000000000000000000000000000000000000000000000000000000000001b22225f777788aaaaa3cccc +ffffffffffffffffffffffffffffffffffffffffffffffffffffff96bbbb6d88884455550e111100000000000000000000000000000000000000000000000000 +0000000000293333b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffb1dddd364444000000000000000000000000000000000000000000000000000000000000000000000000000000 +0000001b222236444436444436444436444436444400000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00005f7777ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff6d88880e1111000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029333396 +bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee5f7777000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b22227a9999ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee6d88881b2222000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003644447a9999ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa5266661b2222000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000003644446d8888b1ddddffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1dddd7a99996d8888364444 +3644440e11110000000000000000000000000000002933333644445266666d888896bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff040000002701ffff030000000000}\par}}}{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \f1\fs26\cf1\insrsid5574182\charrsid5574182 Attribution. You must attribute the work in the manner specified by the author or licensor. +\par +\par +\par +\par }{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \lang1024\langfe1024\langnp1024\langfenp1024\insrsid5574182 +{\shp{\*\shpinst\shpleft0\shptop-16\shpright1285\shpbottom1269\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr2\shpwrk0\shpfblwtxt0\shpz1\shplid1027{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn pib}{\sv +{\pict\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0\picw2258\pich2258\picwgoal1280\pichgoal1280\wmetafile8\bliptag-1345483713\blipupi72{\*\blipuid afcd8c3f5442abbef028c762b1459273} +0100090000035d1800000000221800000000050000000b0200000000050000000c02400040000500000004010d000000050000002e0118000000050000000201 +0100000005000000090200000000050000000102ffffff00030000001e000500000007010300000022180000430f2000cc000000400040000000000040004000 +00000000280000004000000040000000010018000000000000000000c30e0000c30e00000000000000000000ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1dddd88aaaa6d8888364444 +3644440e11110000000000000000000000000000002933333644445266666d888896bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc5f77771b2222000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000003644446d8888b1ddddffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee6d88881b2222000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044555588aaaaffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee6d88880e1111000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b22227a9999ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa1b2222000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000364444a3 +ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffbeeeee445555000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00006d8888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffa3cccc1b22220000000000000000000000000000000000000000000000000000000000000000002933335266666d8888 +96bbbbb1ddddffffffffffffffffffffffffffffff96bbbb88aaaa6d888836444400000000000000000000000000000000000000000000000000000000000000 +0000000000364444beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff7a99990e11110000000000000000000000000000000000000000000000000000001b22226d8888b1ddddffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa52666600000000000000000000000000000000000000000000 +00000000000000001b2222a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff7a999900000000000000000000000000000000000000000000000000000036444496bbbbffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee6d88880e111100000000000000000000000000 +00000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff7a99990000000000000000000000000000000000000000000000001b222296bbbbffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee5f777700000000000000000000 +00000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff7a99990000000000000000000000000000000000000000000000005f7777beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc29333300000000 +00000000000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff88aaaa0000000000000000000000000000000000000000000e111188aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee52666600 +00000000000000000000000000000000000000000e1111beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cc +cc0e11110000000000000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d +8888000000000000000000000000000000000000000000293333ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee2933 +33000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff7a99990000000000000000000000000000000000000000005f7777ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5f77770000 +000000000000000000000000000000001b2222beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +b1dddd88aaaa6d88886d88886d88886d888888aaaaa3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff7a999900000000000000000000000000000000000000000096bbbbffffffffffffffffffffffffffffffffffffffffffffffff96bbbb0000000000 +000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1dddd5f77771b2222 +0000000000000000000000000000000000000000000000000e111144555588aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff7a99990000000000000000000000000000000000001b2222ffffffffffffffffffffffffffffffffffffffffffffffff2933330000000000 +0000000000000000000000000096bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee5f7777000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000001b222288aaaaffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff5266660000000000000000000000000000000000006d8888ffffffffffffffffffffffffffffffffffff7a99990000000000000000 +000000000000000000006d8888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc1b2222000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000445555beeeeeffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffbeeeee2933330000000000000000000000000000000e1111beeeeeffffffffffffffffffffffffffffff1b22220000000000000000 +00000000000000293333ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc0e1111000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffa3cccc0000000000000000000000000000000000006d8888ffffffffffffffffffffffff88aaaa0000000000000000000000 +0000000000000096bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc0e1111000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff5266660000000000000000000000000000001b2222ffffffffffffffffffffffff4455550000000000000000000000 +00000000364444ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff293333000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000293333ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffb1dddd00000000000000000000000000000000000088aaaaffffffffffffbeeeee0000000000000000000000000000 +0000000096bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000 +0000004455556d888896bbbb96bbbb96bbbb6d88883644440000000000000000000000000000000000000000000000000000005f7777ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff526666000000000000000000000000000000526666ffffffffffff7a99990000000000000000000000000000 +00293333ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee0e1111000000000000000000000000000000000000000000293333 +a3ccccffffffffffffffffffffffffffffffffffffffffff88aaaa0e1111000000000000000000000000000000000000000000000000a3ccccffffffffffffff +ffffffffffffffffffffffffffffffffffffffffa3cccc0000000000000000000000000000000e1111ffffffffffff4455550000000000000000000000000000 +007a9999ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a99990000000000000000000000000000000000000000001b2222beeeee +ffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc0e1111000000000000000000000000000000000000000000364444ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff1b2222000000000000000000000000000000a3ccccffffff0e11110000000000000000000000000000 +00beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff44555500000000000000000000000000000000000000000088aaaaffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000b1ddddffffffff +ffffffffffffffffffffffffffffffffffffffffffffff5f77770000000000000000000000000000006d8888b1dddd0000000000000000000000000000002933 +33ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2933330000000000000000000000000000000000000000005f7777ffffffff +ffffffffffffffffffffffffffffffffffffffffffffff96bbbb00000000000000000000000000000044555588aaaa0000000000000000000000000000005f77 +77ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc000000000000000000000000000000000000000000364444ffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a9999000000000000000000000000000000000000000000293333ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000002933336d88880000000000000000000000000000007a99 +99ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee000000000000000000000000000000000000000000000000beeeeeff +ffffffffffffffffffffffffffffffffffffffffffffffffffff1b22220000000000000000000000000000006d888800000000000000000000000000000096bb +bbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff29333300000000000000000000000000000000000000000096bbbbff +ffffffffffffffffffffffffffffffffffffffffffffffffffff364444000000000000000000000000000000364444000000000000000000000000000000b1dd +ddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4455550000000000000000000000000000000000000000006d8888ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff5f7777000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a9999a3ccccffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000006d8888ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a99990000000e1111a3ccccffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000006d8888ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a99990000000000000000000e1111a3ccccffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000006d8888ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a99990000000000000000000000000000000e1111a3ccccffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000006d8888ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000beee +eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a99990000000000000000000000000000000000000000000e1111b1ddddffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff52666600000000000000000000000000000000000000000088aaaaff +ffffffffffffffffffffffffffffffffffffffffffffffffffff5f77770000000000000000000000000000006d888800000000000000000000000000000096bb +bbffffffffffffffffffffffffffffffffffffffffffffffffffffff7a9999000000000000000000000000000000000000000000000000000000293333beeeee +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff364444000000000000000000000000000000000000000000a3ccccff +ffffffffffffffffffffffffffffffffffffffffffffffffffff3644440000000000000000000000000000006d888800000000000000000000000000000088aa +aaffffffffffffffffffffffffffffffffffffffffffffffffbeeeee4455553644440000000000000000000000000000000000000000000e11113644445f7777 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff29333300000000000000000000000000000088aaaa0000000000000000000000000000006d88 +88ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2933330000000000000000000000000000000000001b2222ffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa000000000000000000000000000000000000000000364444ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000293333a3cccc0000000000000000000000000000003644 +44ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff526666000000000000000000000000000000000000000000a3ccccffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5266660000000000000000000000000000000000000000007a9999ffffffff +ffffffffffffffffffffffffffffffffffffffffffffff96bbbb000000000000000000000000000000445555ffffff0e11110000000000000000000000000000 +00beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa000000000000000000000000000000000000000000364444ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96bbbb0000000000000000000000000000000000000000000e1111beeeeeffffffff +ffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000006d8888ffffff4455550000000000000000000000000000 +007a9999ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0e1111000000000000000000000000000000000000000000526666 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc0e11110000000000000000000000000000000000000000005f7777ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff29333300000000000000000000000000000096bbbbffffff6d88880000000000000000000000000000 +00445555ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000 +36444488aaaaffffffffffffffffffffffffffffffb1dddd6d88880e11110000000000000000000000000000000000000000000e1111beeeeeffffffffffffff +ffffffffffffffffffffffffffffffffffffffffb1dddd0000000000000000000000000000000e1111ffffffffffffb1dddd0000000000000000000000000000 +00000000b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee0e1111000000000000000000000000000000000000000000 +0000000000000000002933333644443644441b222200000000000000000000000000000000000000000000000000000000000088aaaaffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff5f7777000000000000000000000000000000526666ffffffffffffffffff3644440000000000000000000000 +00000000526666ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000526666ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffbeeeee0e111100000000000000000000000000000088aaaaffffffffffffffffff7a99990000000000000000000000 +00000000000000b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000526666ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000001b2222ffffffffffffffffffffffffffffff1b22220000000000000000 +00000000000000445555ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000526666ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffb1dddd0e11110000000000000000000000000000006d8888ffffffffffffffffffffffffffffff7a99990000000000000000 +0000000000000000000088aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa0e1111000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000e111188aaaaffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff3644440000000000000000000000000000000e1111beeeeeffffffffffffffffffffffffffffffffffff1b22220000000000 +000000000000000000000e1111b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee5266660e1111000000 +0000000000000000000000000000000000000000000000000000000000001b22226d8888beeeeeffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff6d88880000000000000000000000000000000000006d8888ffffffffffffffffffffffffffffffffffffffffff88aaaa0000000000 +00000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee7a9999 +5266663644440000000000000000000000001b22223644446d888896bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffa3cccc0000000000000000000000000000000000001b2222beeeeeffffffffffffffffffffffffffffffffffffffffffffffff4455550000 +00000000000000000000000000000000445555ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffa3cccc0e111100000000000000000000000000000000000088aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee0e11 +11000000000000000000000000000000000000526666ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffb1dddd0e1111000000000000000000000000000000000000526666ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96bb +bb000000000000000000000000000000000000000000526666beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3 +cccc0e1111000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff7a9999000000000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96bbbb0e +11110000000000000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff5266660000000000000000000000000000000000000000000e111196bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d888800000000 +00000000000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff526666000000000000000000000000000000000000000000000000526666beeeeeffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96bbbb29333300000000000000 +00000000000000000000000000000000007a9999ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff5266660000000000000000000000000000000000000000000000000e11116d8888beeeeeffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1dddd52666600000000000000000000000000 +00000000000000000000000e11117a9999ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000000000000000000e11115f7777a3ccccffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa44555500000000000000000000000000000000000000 +00000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff88aaaa0e11110000000000000000000000000000000000000000000000000000000000001b22225f777788aaaaa3cccc +ffffffffffffffffffffffffffffffffffffffffffffffffffffff96bbbb6d88884455550e111100000000000000000000000000000000000000000000000000 +0000000000293333b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffb1dddd364444000000000000000000000000000000000000000000000000000000000000000000000000000000 +0000001b222236444436444436444436444436444400000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00005f7777ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff6d88880e1111000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029333396 +bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee5f7777000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b22227a9999ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee6d88881b2222000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003644447a9999ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa5266661b2222000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000003644446d8888b1ddddffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1dddd7a99996d8888364444 +3644440e11110000000000000000000000000000002933333644445266666d888896bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff040000002701ffff030000000000} +}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt\par\pard\ql \li0\ri0\widctlpar\pvpara\posyin\dxfrtext180\dfrmtxtx180\dfrmtxty0\wraparound\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 +{\pict\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0\picw2258\pich2258\picwgoal1280\pichgoal1280\wmetafile8\bliptag-1345483713\blipupi72{\*\blipuid afcd8c3f5442abbef028c762b1459273} +0100090000035d1800000000221800000000050000000b0200000000050000000c02400040000500000004010d000000050000002e0118000000050000000201 +0100000005000000090200000000050000000102ffffff00030000001e000500000007010300000022180000430f2000cc000000400040000000000040004000 +00000000280000004000000040000000010018000000000000000000c30e0000c30e00000000000000000000ffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1dddd88aaaa6d8888364444 +3644440e11110000000000000000000000000000002933333644445266666d888896bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc5f77771b2222000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000003644446d8888b1ddddffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee6d88881b2222000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044555588aaaaffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee6d88880e1111000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b22227a9999ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa1b2222000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000364444a3 +ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffbeeeee445555000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00006d8888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffa3cccc1b22220000000000000000000000000000000000000000000000000000000000000000002933335266666d8888 +96bbbbb1ddddffffffffffffffffffffffffffffff96bbbb88aaaa6d888836444400000000000000000000000000000000000000000000000000000000000000 +0000000000364444beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff7a99990e11110000000000000000000000000000000000000000000000000000001b22226d8888b1ddddffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa52666600000000000000000000000000000000000000000000 +00000000000000001b2222a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff7a999900000000000000000000000000000000000000000000000000000036444496bbbbffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee6d88880e111100000000000000000000000000 +00000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff7a99990000000000000000000000000000000000000000000000001b222296bbbbffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee5f777700000000000000000000 +00000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff7a99990000000000000000000000000000000000000000000000005f7777beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc29333300000000 +00000000000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff88aaaa0000000000000000000000000000000000000000000e111188aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee52666600 +00000000000000000000000000000000000000000e1111beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cc +cc0e11110000000000000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d +8888000000000000000000000000000000000000000000293333ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee2933 +33000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffff7a99990000000000000000000000000000000000000000005f7777ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5f77770000 +000000000000000000000000000000001b2222beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +b1dddd88aaaa6d88886d88886d88886d888888aaaaa3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffff7a999900000000000000000000000000000000000000000096bbbbffffffffffffffffffffffffffffffffffffffffffffffff96bbbb0000000000 +000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1dddd5f77771b2222 +0000000000000000000000000000000000000000000000000e111144555588aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffff7a99990000000000000000000000000000000000001b2222ffffffffffffffffffffffffffffffffffffffffffffffff2933330000000000 +0000000000000000000000000096bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee5f7777000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000001b222288aaaaffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff5266660000000000000000000000000000000000006d8888ffffffffffffffffffffffffffffffffffff7a99990000000000000000 +000000000000000000006d8888ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc1b2222000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000445555beeeeeffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffbeeeee2933330000000000000000000000000000000e1111beeeeeffffffffffffffffffffffffffffff1b22220000000000000000 +00000000000000293333ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc0e1111000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffa3cccc0000000000000000000000000000000000006d8888ffffffffffffffffffffffff88aaaa0000000000000000000000 +0000000000000096bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc0e1111000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff5266660000000000000000000000000000001b2222ffffffffffffffffffffffff4455550000000000000000000000 +00000000364444ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff293333000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000293333ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffb1dddd00000000000000000000000000000000000088aaaaffffffffffffbeeeee0000000000000000000000000000 +0000000096bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000 +0000004455556d888896bbbb96bbbb96bbbb6d88883644440000000000000000000000000000000000000000000000000000005f7777ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff526666000000000000000000000000000000526666ffffffffffff7a99990000000000000000000000000000 +00293333ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee0e1111000000000000000000000000000000000000000000293333 +a3ccccffffffffffffffffffffffffffffffffffffffffff88aaaa0e1111000000000000000000000000000000000000000000000000a3ccccffffffffffffff +ffffffffffffffffffffffffffffffffffffffffa3cccc0000000000000000000000000000000e1111ffffffffffff4455550000000000000000000000000000 +007a9999ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a99990000000000000000000000000000000000000000001b2222beeeee +ffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc0e1111000000000000000000000000000000000000000000364444ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff1b2222000000000000000000000000000000a3ccccffffff0e11110000000000000000000000000000 +00beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff44555500000000000000000000000000000000000000000088aaaaffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000b1ddddffffffff +ffffffffffffffffffffffffffffffffffffffffffffff5f77770000000000000000000000000000006d8888b1dddd0000000000000000000000000000002933 +33ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2933330000000000000000000000000000000000000000005f7777ffffffff +ffffffffffffffffffffffffffffffffffffffffffffff96bbbb00000000000000000000000000000044555588aaaa0000000000000000000000000000005f77 +77ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc000000000000000000000000000000000000000000364444ffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a9999000000000000000000000000000000000000000000293333ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000002933336d88880000000000000000000000000000007a99 +99ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee000000000000000000000000000000000000000000000000beeeeeff +ffffffffffffffffffffffffffffffffffffffffffffffffffff1b22220000000000000000000000000000006d888800000000000000000000000000000096bb +bbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff29333300000000000000000000000000000000000000000096bbbbff +ffffffffffffffffffffffffffffffffffffffffffffffffffff364444000000000000000000000000000000364444000000000000000000000000000000b1dd +ddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4455550000000000000000000000000000000000000000006d8888ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff5f7777000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a9999a3ccccffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000006d8888ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a99990000000e1111a3ccccffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000006d8888ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a99990000000000000000000e1111a3ccccffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000006d8888ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000ffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a99990000000000000000000000000000000e1111a3ccccffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000006d8888ff +ffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000364444000000000000000000000000000000beee +eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a99990000000000000000000000000000000000000000000e1111b1ddddffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff52666600000000000000000000000000000000000000000088aaaaff +ffffffffffffffffffffffffffffffffffffffffffffffffffff5f77770000000000000000000000000000006d888800000000000000000000000000000096bb +bbffffffffffffffffffffffffffffffffffffffffffffffffffffff7a9999000000000000000000000000000000000000000000000000000000293333beeeee +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff364444000000000000000000000000000000000000000000a3ccccff +ffffffffffffffffffffffffffffffffffffffffffffffffffff3644440000000000000000000000000000006d888800000000000000000000000000000088aa +aaffffffffffffffffffffffffffffffffffffffffffffffffbeeeee4455553644440000000000000000000000000000000000000000000e11113644445f7777 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff29333300000000000000000000000000000088aaaa0000000000000000000000000000006d88 +88ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2933330000000000000000000000000000000000001b2222ffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa000000000000000000000000000000000000000000364444ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000293333a3cccc0000000000000000000000000000003644 +44ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff526666000000000000000000000000000000000000000000a3ccccffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5266660000000000000000000000000000000000000000007a9999ffffffff +ffffffffffffffffffffffffffffffffffffffffffffff96bbbb000000000000000000000000000000445555ffffff0e11110000000000000000000000000000 +00beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa000000000000000000000000000000000000000000364444ffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96bbbb0000000000000000000000000000000000000000000e1111beeeeeffffffff +ffffffffffffffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000006d8888ffffff4455550000000000000000000000000000 +007a9999ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0e1111000000000000000000000000000000000000000000526666 +ffffffffffffffffffffffffffffffffffffffffffffffffffffffa3cccc0e11110000000000000000000000000000000000000000005f7777ffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffff29333300000000000000000000000000000096bbbbffffff6d88880000000000000000000000000000 +00445555ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000000000000000 +36444488aaaaffffffffffffffffffffffffffffffb1dddd6d88880e11110000000000000000000000000000000000000000000e1111beeeeeffffffffffffff +ffffffffffffffffffffffffffffffffffffffffb1dddd0000000000000000000000000000000e1111ffffffffffffb1dddd0000000000000000000000000000 +00000000b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee0e1111000000000000000000000000000000000000000000 +0000000000000000002933333644443644441b222200000000000000000000000000000000000000000000000000000000000088aaaaffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffff5f7777000000000000000000000000000000526666ffffffffffffffffff3644440000000000000000000000 +00000000526666ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000526666ffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffbeeeee0e111100000000000000000000000000000088aaaaffffffffffffffffff7a99990000000000000000000000 +00000000000000b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000526666ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffff6d88880000000000000000000000000000001b2222ffffffffffffffffffffffffffffff1b22220000000000000000 +00000000000000445555ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d8888000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000526666ffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffb1dddd0e11110000000000000000000000000000006d8888ffffffffffffffffffffffffffffff7a99990000000000000000 +0000000000000000000088aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa0e1111000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000e111188aaaaffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffff3644440000000000000000000000000000000e1111beeeeeffffffffffffffffffffffffffffffffffff1b22220000000000 +000000000000000000000e1111b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee5266660e1111000000 +0000000000000000000000000000000000000000000000000000000000001b22226d8888beeeeeffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffff6d88880000000000000000000000000000000000006d8888ffffffffffffffffffffffffffffffffffffffffff88aaaa0000000000 +00000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee7a9999 +5266663644440000000000000000000000001b22223644446d888896bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffa3cccc0000000000000000000000000000000000001b2222beeeeeffffffffffffffffffffffffffffffffffffffffffffffff4455550000 +00000000000000000000000000000000445555ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffa3cccc0e111100000000000000000000000000000000000088aaaaffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee0e11 +11000000000000000000000000000000000000526666ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffb1dddd0e1111000000000000000000000000000000000000526666ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96bb +bb000000000000000000000000000000000000000000526666beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3 +cccc0e1111000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ff7a9999000000000000000000000000000000000000000000293333beeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96bbbb0e +11110000000000000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffff5266660000000000000000000000000000000000000000000e111196bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d888800000000 +00000000000000000000000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffff526666000000000000000000000000000000000000000000000000526666beeeeeffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96bbbb29333300000000000000 +00000000000000000000000000000000007a9999ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffff5266660000000000000000000000000000000000000000000000000e11116d8888beeeeeffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1dddd52666600000000000000000000000000 +00000000000000000000000e11117a9999ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffff6d88880000000000000000000000000000000000000000000000000000000e11115f7777a3ccccffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa44555500000000000000000000000000000000000000 +00000000000000000e1111a3ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff88aaaa0e11110000000000000000000000000000000000000000000000000000000000001b22225f777788aaaaa3cccc +ffffffffffffffffffffffffffffffffffffffffffffffffffffff96bbbb6d88884455550e111100000000000000000000000000000000000000000000000000 +0000000000293333b1ddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffb1dddd364444000000000000000000000000000000000000000000000000000000000000000000000000000000 +0000001b222236444436444436444436444436444400000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00005f7777ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffff6d88880e1111000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029333396 +bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee5f7777000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b22227a9999ffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbeeeee6d88881b2222000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003644447a9999ffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88aaaa5266661b2222000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000000000000000003644446d8888b1ddddffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1dddd7a99996d8888364444 +3644440e11110000000000000000000000000000002933333644445266666d888896bbbbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff040000002701ffff030000000000}\par}}}{ +\rtlch\fcs1 \af0 \ltrch\fcs0 \f1\fs26\cf1\insrsid5574182\charrsid5574182 \tab +\par Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. +\par +\par +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\fs26\cf1\insrsid5574182\charrsid5574182 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar +\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f1\fs26\cf1\insrsid5574182\charrsid5574182 For any reuse or distribution, you must make clear to others the license terms of this work. + +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \f3\fs26\cf1\insrsid5574182\charrsid5574182 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Any of these conditions can be waived if you get permission from the copyright holder. +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5574182 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f1\fs26\cf1\insrsid5574182\charrsid5574182 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\f1\fs26\cf1\insrsid5574182\charrsid5574182 Full License: +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \f37\fs26\cf1\insrsid5574182\charrsid1670276 http://creativecommons.org/licenses/by-sa/2.5/legalcode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \f1\fs26\cf1\insrsid5574182\charrsid5574182 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid5574182\charrsid5574182 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \f1\fs26\insrsid5574182\charrsid5574182 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\f1\fs26\insrsid5574182\charrsid5574182 Author: +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid5574182 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f38\insrsid5574182\charrsid5574182 +\par }\pard \ltrpar\ql \li0\ri0\sl260\slmult0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid5574182 {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\f1\fs28\cf17\insrsid5574182\charrsid5574182 Michael M\'fcller C.}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 +\f1\cf18\insrsid5574182\charrsid5574182 +\par Web Designer and Developer +\par +\par E-mail: }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f1\cf18\insrsid5574182\charrsid5574182 HYPERLINK "mailto:mmuller@mmcdesign.com"}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f38\cf18\insrsid5574182\charrsid5574182 {\*\datafield +00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3a0000006d00610069006c0074006f003a006d006d0075006c006c006500720040006d006d006300640065007300690067006e002e0063006f006d000000}}}{\fldrslt {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 +\f1\ul\cf19\ulc19\insrsid5574182\charrsid5574182 mmuller@mmcdesign.com}}}\sectd \linex0\endnhere\sectdefaultcl\sectrsid5574182\sftnbj {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f1\cf18\insrsid5574182\charrsid5574182 +\par E-mail: }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f1\cf18\insrsid5574182\charrsid5574182 HYPERLINK "mailto:mullercardenas@gmail.com"}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f38\cf18\insrsid5574182\charrsid5574182 {\*\datafield +00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b400000006d00610069006c0074006f003a006d0075006c006c0065007200630061007200640065006e0061007300400067006d00610069006c002e0063006f006d000000}}}{\fldrslt {\rtlch\fcs1 \af0\afs20 +\ltrch\fcs0 \f1\ul\cf19\ulc19\insrsid5574182\charrsid5574182 mullercardenas@gmail.com}}}\sectd \linex0\endnhere\sectdefaultcl\sectrsid5574182\sftnbj {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \b\f1\cf18\insrsid5574182\charrsid5574182 +\par }{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f1\cf18\insrsid5574182\charrsid5574182 Website: }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f1\cf18\insrsid5574182\charrsid5574182 HYPERLINK "http://www.mmcdesign.com/"}{\rtlch\fcs1 \af0\afs20 +\ltrch\fcs0 \f38\cf18\insrsid5574182\charrsid5574182 {\*\datafield +00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3400000068007400740070003a002f002f007700770077002e006d006d006300640065007300690067006e002e0063006f006d002f000000}}}{\fldrslt {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 +\f1\ul\cf19\ulc19\insrsid5574182\charrsid5574182 www.mmcdesign.com}}}\sectd \linex0\endnhere\sectdefaultcl\sectrsid5574182\sftnbj {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f1\cf18\insrsid5574182\charrsid5574182 +\par Blog: }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f1\cf18\insrsid5574182\charrsid5574182 HYPERLINK "http://blog.mmcdesign.com/"}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f38\cf18\insrsid5574182\charrsid5574182 {\*\datafield +00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3600000068007400740070003a002f002f0062006c006f0067002e006d006d006300640065007300690067006e002e0063006f006d002f000000}}}{\fldrslt {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 +\f1\ul\cf19\ulc19\insrsid5574182\charrsid5574182 blog.mmcdesign.com}}}\sectd \linex0\endnhere\sectdefaultcl\sectrsid5574182\sftnbj {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f1\cf18\insrsid5574182\charrsid5574182 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5574182 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5574182\charrsid5574182 +\par }} \ No newline at end of file diff --git a/support/luafile.ico b/support/luafile.ico new file mode 100755 index 0000000..a931b2c Binary files /dev/null and b/support/luafile.ico differ diff --git a/support/luafile2.ico b/support/luafile2.ico new file mode 100755 index 0000000..dee2a00 Binary files /dev/null and b/support/luafile2.ico differ diff --git a/support/luafile3.ico b/support/luafile3.ico new file mode 100755 index 0000000..e8a55e4 Binary files /dev/null and b/support/luafile3.ico differ diff --git a/support/readyiss.bat b/support/readyiss.bat new file mode 100755 index 0000000..2a53197 --- /dev/null +++ b/support/readyiss.bat @@ -0,0 +1,106 @@ +@echo off +::************************************************************************** +:: File: readyiss.bat +:: Version: 1.05 +:: Name: Andrew Wilson and Ryan Pusztai +:: Date: 04/27/2009 +:: Description: Helps to ready the installed files to be used with lua.iss +:: +:: Copyright (C) 2009 Andrew Wilson and Ryan Pusztai +:: +:: Permission is hereby granted, free of charge, to any person obtaining a copy +:: of this software and associated documentation files (the "Software"), to deal +:: in the Software without restriction, including without limitation the rights +:: to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +:: copies of the Software, and to permit persons to whom the Software is +:: furnished to do so, subject to the following conditions: +:: +:: The above copyright notice and this permission notice shall be included in +:: all copies or substantial portions of the Software. +:: +:: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +:: IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +:: FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +:: AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +:: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +:: OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +:: THE SOFTWARE. +:: +:: Version: 1.00 - Initial release. +:: 1.01 - Changed where to copy files from to match new layout. +:: 1.02 - Updated for new module development. +:: 1.03 - Updated for the new vcredist_x86.exe placement. +:: 1.04 - Updated for the new name for lualibs to lua. +:: 1.05 - Updated for the installer name to LuaForWindows. +:: +:: Notes: +:: - Must run from the 'install/support' directory. +:: - Download and install inno script compiler isetup-5.2.3.exe, +:: ispack-5.2.3.exe from http://www.jrsoftware.org/isdl.php to +:: compile lua.iss . +:: - Once batch file is done inno compiler with lua.iss file to +:: regenerate single executable install file. +::************************************************************************** + +set APP_VERSION=1.05 +set APP_TITLE=Ready Lua for Windows Install Files Package + +echo ---------------------------------------- +echo %APP_TITLE% v%APP_VERSION% +echo By +echo Andrew Wilson and Ryan Pusztai +echo. +echo Creates the install files package. +echo. +echo Copyright (c) 2008 +echo ---------------------------------------- +echo. + +:: Cleanup old sources. +if exist ..\files rmdir /S /Q ..\files +if exist ..\SciTE rmdir /S /Q ..\SciTE + +:: Check to see if 'source' directory exists. +if exist ..\files goto BEGIN_COPY + +mkdir ..\files + +:BEGIN_COPY + +echo. +echo Coping directories/files to 'files'... +xcopy ..\.. ..\files /I /H /Y /EXCLUDE:excludes +xcopy ..\..\clibs ..\files\clibs /E /I /H /Y /EXCLUDE:excludes +xcopy ..\..\docs ..\files\docs /E /I /H /Y /EXCLUDE:excludes +xcopy ..\..\examples ..\files\examples /E /I /H /Y /EXCLUDE:excludes +xcopy ..\..\include ..\files\include /E /I /H /Y /EXCLUDE:excludes +xcopy ..\..\lib ..\files\lib /E /I /H /Y /EXCLUDE:excludes +xcopy ..\..\lua ..\files\lua /E /I /H /Y /EXCLUDE:excludes +xcopy ..\..\utils ..\files\utils /E /I /H /Y /EXCLUDE:excludes +xcopy ..\..\SciTE ..\SciTE /E /I /H /Y + +echo. +echo Renaming files... +ren ..\files\bin2c.exe bin2c5.1.exe +ren ..\files\wlua.exe wlua5.1.exe +ren ..\files\lua.exe lua5.1.exe +ren ..\files\luac.exe luac5.1.exe + +echo. +echo A little bit of reorganization... +move ..\files\changes.txt .. +move ..\files\todo.txt .. +if exist vcredist_x86.exe move vcredist_x86.exe .. + +goto END + +:END +echo. +echo LuaForWindows.iss is ready for use with INNO Setup compiler... +echo Example: +echo cd .. +echo "C:\Program Files\INNO Setup 5\iscc.exe" LuaForWindows.iss + +:: Cleanup environment. +set APP_VERSION= +set APP_TITLE= diff --git a/support/wlua.exe.manifest b/support/wlua.exe.manifest new file mode 100755 index 0000000..3039811 --- /dev/null +++ b/support/wlua.exe.manifest @@ -0,0 +1,26 @@ + + + +Lua WIndows + + + + + + + + + + + diff --git a/todo.txt b/todo.txt new file mode 100755 index 0000000..4187cc9 --- /dev/null +++ b/todo.txt @@ -0,0 +1,3 @@ +* ConcurrentLua support. +* LuaSys Support. +* LuaJit support. - This just won't work unless we have a new file extesion.