diff --git a/.classpath b/.classpath index d19be42..aa91ddd 100644 --- a/.classpath +++ b/.classpath @@ -1,31 +1,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.project b/.project index 67f5682..14b6dca 100644 --- a/.project +++ b/.project @@ -16,17 +16,17 @@ - org.eclipse.m2e.core.maven2Builder + org.springframework.ide.eclipse.core.springbuilder - org.springframework.ide.eclipse.core.springbuilder + org.springframework.ide.eclipse.boot.validation.springbootbuilder - org.springframework.ide.eclipse.boot.validation.springbootbuilder + org.eclipse.m2e.core.maven2Builder diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index 365bbd6..0a1c889 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,5 +1,6 @@ -eclipse.preferences.version=1 -encoding//src/main/java=UTF-8 -encoding//src/main/resources=UTF-8 -encoding//src/test/java=UTF-8 -encoding/=UTF-8 +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/main/resources/templates/login.html=UTF-8 +encoding//src/test/java=UTF-8 +encoding/=UTF-8 diff --git a/Firefox46.win/App/AppInfo/appicon.ico b/Firefox46.win/App/AppInfo/appicon.ico new file mode 100644 index 0000000..f2694b1 Binary files /dev/null and b/Firefox46.win/App/AppInfo/appicon.ico differ diff --git a/Firefox46.win/App/AppInfo/appicon_128.png b/Firefox46.win/App/AppInfo/appicon_128.png new file mode 100644 index 0000000..ee81bc1 Binary files /dev/null and b/Firefox46.win/App/AppInfo/appicon_128.png differ diff --git a/Firefox46.win/App/AppInfo/appicon_16.png b/Firefox46.win/App/AppInfo/appicon_16.png new file mode 100644 index 0000000..067af7c Binary files /dev/null and b/Firefox46.win/App/AppInfo/appicon_16.png differ diff --git a/Firefox46.win/App/AppInfo/appicon_32.png b/Firefox46.win/App/AppInfo/appicon_32.png new file mode 100644 index 0000000..51ec87a Binary files /dev/null and b/Firefox46.win/App/AppInfo/appicon_32.png differ diff --git a/Firefox46.win/App/AppInfo/appicon_75.png b/Firefox46.win/App/AppInfo/appicon_75.png new file mode 100644 index 0000000..66065cc Binary files /dev/null and b/Firefox46.win/App/AppInfo/appicon_75.png differ diff --git a/Firefox46.win/App/AppInfo/appinfo.ini b/Firefox46.win/App/AppInfo/appinfo.ini new file mode 100644 index 0000000..a960b0f --- /dev/null +++ b/Firefox46.win/App/AppInfo/appinfo.ini @@ -0,0 +1,35 @@ +[Format] +Type=PortableApps.comFormat +Version=3.0 + +[Details] +Name=Mozilla Firefox, Portable Edition +AppID=FirefoxPortable +Publisher=Mozilla & PortableApps.com +Homepage=PortableApps.com/go/FirefoxPortable +Category=Internet +Description=Web browser +Language=SpanishInternational + +[License] +Shareable=true +OpenSource=true +Freeware=true +CommercialUse=true + +[Version] +PackageVersion=46.0.0.0 +DisplayVersion=46.0 + +[SpecialPaths] +Plugins=App\Firefox\plugins + +[Control] +Icons=1 +Start=FirefoxPortable.exe + +[Associations] +FileTypes=html,htm,xhtml,xht,shtml,webm +FileTypeCommandLine=-requestPending -osint -url "%1" +Protocols=http,https,ftp +ProtocolCommandLine=-requestPending -osint -url "%1" diff --git a/Firefox46.win/App/AppInfo/installer.ini b/Firefox46.win/App/AppInfo/installer.ini new file mode 100644 index 0000000..06ab359 --- /dev/null +++ b/Firefox46.win/App/AppInfo/installer.ini @@ -0,0 +1,3 @@ +[DirectoriesToPreserve] +PreserveDirectory1=App\Firefox\plugins +PreserveDirectory2=App\Firefox\searchplugins diff --git a/Firefox46.win/App/Bin/sqlite3.exe b/Firefox46.win/App/Bin/sqlite3.exe new file mode 100644 index 0000000..67aeb59 Binary files /dev/null and b/Firefox46.win/App/Bin/sqlite3.exe differ diff --git a/Firefox46.win/App/DefaultData/plugins/plugins_readme.txt b/Firefox46.win/App/DefaultData/plugins/plugins_readme.txt new file mode 100644 index 0000000..7192340 --- /dev/null +++ b/Firefox46.win/App/DefaultData/plugins/plugins_readme.txt @@ -0,0 +1 @@ +Place Firefox plugins in this directory (Flash, Shockwave, etc) \ No newline at end of file diff --git a/Firefox46.win/App/DefaultData/profile/bookmarks.html b/Firefox46.win/App/DefaultData/profile/bookmarks.html new file mode 100644 index 0000000..040a09a --- /dev/null +++ b/Firefox46.win/App/DefaultData/profile/bookmarks.html @@ -0,0 +1,24 @@ + + + +Marcadores +

Marcadores

+ +

+

Carpeta de barra de marcadores

+
Agregue marcadores a esta carpeta para verlos en la barra de marcadores +

+

Primeros pasos +
Últimas noticias +

+

Mozilla Firefox

+

+

Ayuda y tutoriales +
Personalizar Firefox +
Involúcrese +
Acerca de nosotros +

+

PortableApps.com +

diff --git a/Firefox46.win/App/DefaultData/profile/prefs.js b/Firefox46.win/App/DefaultData/profile/prefs.js new file mode 100644 index 0000000..502e8e1 --- /dev/null +++ b/Firefox46.win/App/DefaultData/profile/prefs.js @@ -0,0 +1,16 @@ +# Mozilla User Preferences + +/* Do not edit this file. + * + * If you make changes to this file while the browser is running, + * the changes will be overwritten when the browser exits. + * + * To make a manual change to preferences, you can visit the URL about:config + * For more information, see http://www.mozilla.org/unix/customizing.html#prefs + */ + +user_pref("app.update.auto", false); +user_pref("browser.cache.disk.capacity", 0); +user_pref("browser.download.useDownloadDir", false); +user_pref("browser.shell.checkDefaultBrowser", false); +user_pref("network.cookie.prefsMigrated", true); diff --git a/Firefox46.win/App/DefaultData/settings/FirefoxPortableSettings.ini b/Firefox46.win/App/DefaultData/settings/FirefoxPortableSettings.ini new file mode 100644 index 0000000..2074bde --- /dev/null +++ b/Firefox46.win/App/DefaultData/settings/FirefoxPortableSettings.ini @@ -0,0 +1,3 @@ +[FirefoxPortableSettings] +LastProfileDirectory=NONE +SubmitCrashReport=0 diff --git a/Firefox46.win/App/Firefox/AccessibleMarshal.dll b/Firefox46.win/App/Firefox/AccessibleMarshal.dll new file mode 100644 index 0000000..e82cf5c Binary files /dev/null and b/Firefox46.win/App/Firefox/AccessibleMarshal.dll differ diff --git a/Firefox46.win/App/Firefox/D3DCompiler_43.dll b/Firefox46.win/App/Firefox/D3DCompiler_43.dll new file mode 100644 index 0000000..ab96161 Binary files /dev/null and b/Firefox46.win/App/Firefox/D3DCompiler_43.dll differ diff --git a/Firefox46.win/App/Firefox/application.ini b/Firefox46.win/App/Firefox/application.ini new file mode 100644 index 0000000..97fa187 --- /dev/null +++ b/Firefox46.win/App/Firefox/application.ini @@ -0,0 +1,23 @@ +; This file is not used. If you modify it and want the application to use +; your modifications, move it under the browser/ subdirectory and start with +; the "-app /path/to/browser/application.ini" argument. +[App] +Vendor=Mozilla +Name=Firefox +RemotingName=firefox +Version=46.0 +BuildID=20160421124000 +SourceRepository=https://hg.mozilla.org/releases/mozilla-release +SourceStamp=078baf501b55eaa47f3b189fda4dd28dae1fa257 +ID={ec8030f7-c20a-464f-9b0e-13a3a9e97384} + +[Gecko] +MinVersion=46.0 +MaxVersion=46.0 + +[XRE] +EnableProfileMigrator=1 + +[Crash Reporter] +Enabled=1 +ServerURL=https://crash-reports.mozilla.com/submit?id={ec8030f7-c20a-464f-9b0e-13a3a9e97384}&version=46.0&buildid=20160421124000 diff --git a/Firefox46.win/App/Firefox/breakpadinjector.dll b/Firefox46.win/App/Firefox/breakpadinjector.dll new file mode 100644 index 0000000..6eeca36 Binary files /dev/null and b/Firefox46.win/App/Firefox/breakpadinjector.dll differ diff --git a/Firefox46.win/App/Firefox/browser/blocklist.xml b/Firefox46.win/App/Firefox/browser/blocklist.xml new file mode 100644 index 0000000..0d26191 --- /dev/null +++ b/Firefox46.win/App/Firefox/browser/blocklist.xml @@ -0,0 +1,3812 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + browser.startup.homepage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + app.update.auto + app.update.enabled + app.update.interval + app.update.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://java.com/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://java.com/ + + + + https://real.com/ + + + + https://get.adobe.com/shockwave/ + + + + https://get.adobe.com/shockwave/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://www.microsoft.com/getsilverlight + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + + WINNT 6.1 0x10de + 0x0a6c + + DIRECT2D BLOCKED_DRIVER_VERSION 8.17.12.5896 LESS_THAN_OR_EQUAL + WINNT 6.1 0x10de + 0x0a6c + + DIRECT3D_9_LAYERS BLOCKED_DRIVER_VERSION 8.17.12.5896 LESS_THAN_OR_EQUAL + WINNT 5.1 0x10de DIRECT3D_9_LAYERS BLOCKED_DRIVER_VERSION 7.0.0.0 GREATER_THAN_OR_EQUAL + All 0x1002 DIRECT2D BLOCKED_DRIVER_VERSION 8.982.0.0 EQUAL + All 0x1022 DIRECT2D BLOCKED_DRIVER_VERSION 8.982.0.0 EQUAL + All 0x1022 DIRECT3D_9_LAYERS BLOCKED_DRIVER_VERSION 8.982.0.0 EQUAL + All 0x1002 DIRECT3D_9_LAYERS BLOCKED_DRIVER_VERSION 8.982.0.0 EQUAL + WINNT 6.2 0x1002 DIRECT2D BLOCKED_DRIVER_VERSION 9.10.8.0 LESS_THAN_OR_EQUAL + WINNT 6.2 0x1022 DIRECT2D BLOCKED_DRIVER_VERSION 9.10.8.0 LESS_THAN_OR_EQUAL + Darwin 10 0x10de WEBGL_MSAA BLOCKED_DEVICE + Darwin 11 0x10de WEBGL_MSAA BLOCKED_DEVICE + Darwin 12 0x10de WEBGL_MSAA BLOCKED_DEVICE + Darwin 10 0x8086 WEBGL_MSAA BLOCKED_DEVICE + Darwin 11 0x8086 WEBGL_MSAA BLOCKED_DEVICE + Darwin 12 0x8086 WEBGL_MSAA BLOCKED_DEVICE + Darwin 10 0x1002 WEBGL_MSAA BLOCKED_DEVICE + Darwin 11 0x1002 WEBGL_MSAA BLOCKED_DEVICE + Darwin 12 0x1002 WEBGL_MSAA BLOCKED_DEVICE + WINNT 6.1 0x1002 + 0x9802 + 0x9803 + 0x9803 + 0x9804 + 0x9805 + 0x9806 + 0x9807 + + DIRECT2D BLOCKED_DEVICE + WINNT 6.1 0x1002 + 0x9802 + 0x9803 + 0x9803 + 0x9804 + 0x9805 + 0x9806 + 0x9807 + + DIRECT3D_9_LAYERS BLOCKED_DEVICE + WINNT 5.1 0x8086 DIRECT3D_9_LAYERS BLOCKED_DRIVER_VERSION 6.14.10.5218 LESS_THAN + WINNT 10.0 0x1002 + 0x6920 + 0x6921 + 0x6928 + 0x6929 + 0x692b + 0x692f + 0x6930 + 0x6938 + 0x6939 + 0x6900 + 0x6901 + 0x6902 + 0x6903 + 0x6907 + 0x7300 + 0x9870 + 0x9874 + 0x9875 + 0x9876 + 0x9877 + + DIRECT2D BLOCKED_DRIVER_VERSION 15.201.1151.0 LESS_THAN + All 0x8086 DIRECT2D BLOCKED_DRIVER_VERSION 8.15.10.2413 LESS_THAN_OR_EQUAL + WINNT 8.1 0x1002 + 0x6920 + 0x6921 + 0x6928 + 0x6929 + 0x692b + 0x692f + 0x6930 + 0x6938 + 0x6939 + 0x6900 + 0x6901 + 0x6902 + 0x6903 + 0x6907 + 0x7300 + 0x9870 + 0x9874 + 0x9875 + 0x9876 + 0x9877 + + DIRECT2D BLOCKED_DRIVER_VERSION 15.201.1151.0 LESS_THAN + WINNT 5.1 0x8086 WEBGL_ANGLE BLOCKED_DRIVER_VERSION 6.14.10.5218 LESS_THAN + All 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1851 EQUAL + All 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1855 EQUAL + All 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1872 EQUAL + All 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1883 EQUAL + All 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1892 EQUAL + All 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1994 EQUAL + All 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.2086 EQUAL + + + + + D9UltDPl4XVfSSqQOvdiwQ== + + + STMAjg== + + + UoRGnb96CUDTxIqVry6LBg== + + + ARQ= + + + YR3YYQAAAAAABA== + + + ATE0vw== + + + ATFpsA== + + + ATFEdg== + + + AN9bfYOvlR1t + + + CrTHPEE6AZSfI3jysin2bA== + + + BAAAAAABCfhiO+s= + + + BAAAAAABHhw1vwc= + + + BAAAAAABCFiEp9s= + + + BAAAAAABF2Tb8Bc= + + + BAAAAAABAPpuVh0= + + + BAAAAAABGMGjftY= + + + BAAAAAABHkSHlSo= + + + BAAAAAABJ/ufRdg= + + + BAAAAAABMrS7t2g= + + + BAAAAAABBHYoIFs= + + + BAAAAAABLM/7qjk= + + + BAAAAAAA+X/GIyk= + + + BAAAAAABKB/OGqI= + + + BAAAAAABKUXDqxw= + + + BAAAAAABHkSHjz8= + + + BAAAAAABJQdAjik= + + + BAAAAAABMxvC9bk= + + + BAAAAAABGMG0Gmw= + + + BAAAAAABJZbEU4I= + + + BAAAAAABJ/ufQg8= + + + BAAAAAABCUVQ9No= + + + BAAAAAABA/A35EU= + + + BAAAAAABHJRKMpA= + + + BAAAAAABHJRKNmk= + + + BAAAAAABAJmPjfQ= + + + sPNcCSE9Nkg3jy5IN1xe2Q== + + + UU3AP1SMxmyhBFq7MRFZmf0= + + + F7PAjw2k0dTX5escPnyVOBo= + + + OYBKgxEHpW/8XGAGAlvJyMA= + + + UV9aaDeNRNtQuXjRYk4Skhg= + + + YRJNfMoc12IpmW+Enpv3Pdo= + + + e/fIfg2Dj2tkYIWVu2r82Cc= + + + bAOrKSMsmA0MLJyAJ5BRsUM= + + + DAk9hy8DhHSo+aQetvPB/fY= + + + O2S99lVUxErLSk56GvWRv+E= + + + F7PAjw2k0dTX5escPnyVOBo= + + + Mq0P6o03FDk0B2bnJ+mYPGo= + + + BAAAAAABHkSl7L4= + + + BAAAAAABI54PryQ= + + + fwAAAQAAAUrz/HmrAAAAAg== + + + By7fBTreouRwX/qrpgSUsg== + + + Gd/pPu+qLnXUdvP9sW73CQ== + + + LdbnCbsA9sOgI4mkUpWXPw== + + + NMpMcEnex3eXx4ohk9glcQ== + + + JV/LVzSKI/wsDgg3UuZHlA== + + + COwoDFvz7GD8R2K7Lo0rYQ== + + + VOcIuNbTqkpOMUyI108FOg== + + + TA6EVg== + + + + + \ No newline at end of file diff --git a/Firefox46.win/App/Firefox/browser/chrome.manifest b/Firefox46.win/App/Firefox/browser/chrome.manifest new file mode 100644 index 0000000..d629a70 --- /dev/null +++ b/Firefox46.win/App/Firefox/browser/chrome.manifest @@ -0,0 +1 @@ +manifest components/components.manifest diff --git a/Firefox46.win/App/Firefox/browser/components/browsercomps.dll b/Firefox46.win/App/Firefox/browser/components/browsercomps.dll new file mode 100644 index 0000000..d7c884a Binary files /dev/null and b/Firefox46.win/App/Firefox/browser/components/browsercomps.dll differ diff --git a/Firefox46.win/App/Firefox/browser/components/components.manifest b/Firefox46.win/App/Firefox/browser/components/components.manifest new file mode 100644 index 0000000..ac848ba --- /dev/null +++ b/Firefox46.win/App/Firefox/browser/components/components.manifest @@ -0,0 +1 @@ +binary-component browsercomps.dll diff --git a/Firefox46.win/App/Firefox/browser/crashreporter-override.ini b/Firefox46.win/App/Firefox/browser/crashreporter-override.ini new file mode 100644 index 0000000..21cea79 --- /dev/null +++ b/Firefox46.win/App/Firefox/browser/crashreporter-override.ini @@ -0,0 +1,10 @@ +; This Source Code Form is subject to the terms of the Mozilla Public +; License, v. 2.0. If a copy of the MPL was not distributed with this +; file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# This file is in the UTF-8 encoding +[Strings] +# LOCALIZATION NOTE (CrashReporterProductErrorText): The %s is replaced with a string containing detailed information. +CrashReporterProductErrorText2=Firefox ha tenido un problema y se cerrará. Trataremos de restaurar sus pestañas y ventanas al reiniciarlo.\n\nDesafortunadamente crash reporter no puede enviar un unforme sobre la falla.\n\nDetalles: %s +CrashReporterDescriptionText2=Firefox ha tenido un problema y se cerrará. Trataremos de restaurar sus pestañas y ventanas al reiniciarlo.\n\nPara ayudarnos a diagnosticar y corregir el problema, puede enviarnos un informe sobre la falla. + diff --git a/Firefox46.win/App/Firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi b/Firefox46.win/App/Firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi new file mode 100644 index 0000000..801aec2 Binary files /dev/null and b/Firefox46.win/App/Firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi differ diff --git a/Firefox46.win/App/Firefox/browser/features/e10srollout@mozilla.org.xpi b/Firefox46.win/App/Firefox/browser/features/e10srollout@mozilla.org.xpi new file mode 100644 index 0000000..0d6b94b Binary files /dev/null and b/Firefox46.win/App/Firefox/browser/features/e10srollout@mozilla.org.xpi differ diff --git a/Firefox46.win/App/Firefox/browser/features/firefox@getpocket.com.xpi b/Firefox46.win/App/Firefox/browser/features/firefox@getpocket.com.xpi new file mode 100644 index 0000000..7105deb Binary files /dev/null and b/Firefox46.win/App/Firefox/browser/features/firefox@getpocket.com.xpi differ diff --git a/Firefox46.win/App/Firefox/browser/features/loop@mozilla.org.xpi b/Firefox46.win/App/Firefox/browser/features/loop@mozilla.org.xpi new file mode 100644 index 0000000..9274cbf Binary files /dev/null and b/Firefox46.win/App/Firefox/browser/features/loop@mozilla.org.xpi differ diff --git a/Firefox46.win/App/Firefox/browser/omni.ja b/Firefox46.win/App/Firefox/browser/omni.ja new file mode 100644 index 0000000..b6d122c Binary files /dev/null and b/Firefox46.win/App/Firefox/browser/omni.ja differ diff --git a/Firefox46.win/App/Firefox/crashreporter.exe b/Firefox46.win/App/Firefox/crashreporter.exe new file mode 100644 index 0000000..3e03739 Binary files /dev/null and b/Firefox46.win/App/Firefox/crashreporter.exe differ diff --git a/Firefox46.win/App/Firefox/crashreporter.ini b/Firefox46.win/App/Firefox/crashreporter.ini new file mode 100644 index 0000000..3e0fef4 --- /dev/null +++ b/Firefox46.win/App/Firefox/crashreporter.ini @@ -0,0 +1,60 @@ +; This Source Code Form is subject to the terms of the Mozilla Public +; License, v. 2.0. If a copy of the MPL was not distributed with this +; file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# This file is in the UTF-8 encoding +[Strings] +# LOCALIZATION NOTE (isRTL): +# Leave this entry empty unless your language requires right-to-left layout, +# for example like Arabic, Hebrew, Persian. If your language needs RTL, please +# use the untranslated English word "yes" as value +isRTL= +CrashReporterTitle=Informe de problemas +# LOCALIZATION NOTE (CrashReporterVendorTitle): %s is replaced with the vendor name. (i.e. "Mozilla") +CrashReporterVendorTitle=Informe de problemas de %s +# LOCALIZATION NOTE (CrashReporterErrorText): %s is replaced with another string containing detailed information. +CrashReporterErrorText=La aplicación ha tenido un problema y se cerrará.\n\nDesafortunadamente, esta herramienta no es capaz de enviar un informe sobre este problema.\n\nDetalles: %s +# LOCALIZATION NOTE (CrashReporterProductErrorText2): The first %s is replaced with the product name (i.e. "Firefox"), the second is replaced with another string containing detailed information. These two substitutions can not be reordered! +CrashReporterProductErrorText2=%s ha tenido un problema y se cerrará.\n\nDesafortunadamente, esta herramienta no es capaz de enviar un informe sobre este problema.\n\nDetalles: %s +CrashReporterSorry=Lo sentimos +# LOCALIZATION NOTE (CrashReporterDescriptionText2): The %s is replaced with the product name. +CrashReporterDescriptionText2=%s encontró un problema y se cerrará.\n\nPara ayudarnos a diagnosticar y reparar este problema, puede enviarnos un informe sobre la falla. +CrashReporterDefault=Esta aplicación se ejecuta después de un error para informar el problema al fabricante de la aplicación. No debería ejecutarse directamente. +Details=Detalles… +ViewReportTitle=Contenido del informe +CommentGrayText=Agregar un comentario. Nota: Los comentarios son visible públicamente +ExtraReportInfo=Este informe también contiene información acerca del estado de la aplicación cuando falló. +# LOCALIZATION NOTE (CheckSendReport): The %s is replaced with the vendor name. +CheckSendReport=Decirle a %s acerca de esta falla para que puedan arreglarla +CheckIncludeURL=Incluír la dirección de la página que estaba visitando +CheckAllowEmail=Permitir que %s me contacte sobre este informe +EmailGrayText=Ingrese su dirección de correo electrónico aquí +ReportPreSubmit2=Su informe de fallo será enviado antes de salir o reiniciar. +ReportDuringSubmit2=Enviando su informe… +ReportSubmitSuccess=¡Informe enviado exitosamente! +ReportSubmitFailed=Hubo un problema enviando su informe. +ReportResubmit=Reenviando informes que habían fallado el envío previamente… +# LOCALIZATION NOTE (Quit2): The %s is replaced with the product name. +Quit2=Salir de %s +# LOCALIZATION NOTE (Restart): The %s is replaced with the product name. +Restart=Reiniciar %s +Ok=Aceptar +Close=Cerrar + +# LOCALIZATION NOTE (CrashID): The %s is replaced with the Crash ID from the server, which is a string like abc12345-6789-0abc-def1-23456abcdef1 +CrashID=Crash ID: %s +# LOCALIZATION NOTE (CrashDetailsURL): The %s is replaced with a URL that the user can visit to view the crash details. +CrashDetailsURL=Puede ver detalles de este problema en %s +ErrorBadArguments=La aplicación pasó un argumento inválido. +ErrorExtraFileExists=La aplicación no dejó un archivo de datos. +ErrorExtraFileRead=No se puede leer el archivo de datos de la aplicación. +ErrorExtraFileMove=No se puede mover el archivo de datos de la aplicación. +ErrorDumpFileExists=La aplicación no dejó un archivo de volcado del problema. +ErrorDumpFileMove=No se puede mover el volcado del problema. +ErrorNoProductName=La aplicación no se identificó a sí misma. +ErrorNoServerURL=La aplicación no especificó un servidor para informar el problema. +ErrorNoSettingsPath=No se pueden encontrar las opciones del informe de problemas. +ErrorCreateDumpDir=No se puede crear el directorio de volcados pendientes. +# LOCALIZATION NOTE (ErrorEndOfLife): The %s is replaced with the product name. +ErrorEndOfLife=La versión de %s que está usando no es más soportada. Los informes de fallo no son aceptados para esta versión. Considere actualizarse a una versión soportada. + diff --git a/Firefox46.win/App/Firefox/d3dcompiler_47.dll b/Firefox46.win/App/Firefox/d3dcompiler_47.dll new file mode 100644 index 0000000..e5bf5cf Binary files /dev/null and b/Firefox46.win/App/Firefox/d3dcompiler_47.dll differ diff --git a/Firefox46.win/App/Firefox/defaults/pref/channel-prefs.js b/Firefox46.win/App/Firefox/defaults/pref/channel-prefs.js new file mode 100644 index 0000000..fdd9b35 --- /dev/null +++ b/Firefox46.win/App/Firefox/defaults/pref/channel-prefs.js @@ -0,0 +1,5 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +pref("app.update.channel", "release"); diff --git a/Firefox46.win/App/Firefox/dependentlibs.list b/Firefox46.win/App/Firefox/dependentlibs.list new file mode 100644 index 0000000..d0c1511 --- /dev/null +++ b/Firefox46.win/App/Firefox/dependentlibs.list @@ -0,0 +1,7 @@ +MSVCR120.dll +MSVCP120.dll +mozglue.dll +nss3.dll +sandboxbroker.dll +lgpllibs.dll +xul.dll diff --git a/Firefox46.win/App/Firefox/firefox.exe b/Firefox46.win/App/Firefox/firefox.exe new file mode 100644 index 0000000..3841804 Binary files /dev/null and b/Firefox46.win/App/Firefox/firefox.exe differ diff --git a/Firefox46.win/App/Firefox/freebl3.chk b/Firefox46.win/App/Firefox/freebl3.chk new file mode 100644 index 0000000..508e8e1 Binary files /dev/null and b/Firefox46.win/App/Firefox/freebl3.chk differ diff --git a/Firefox46.win/App/Firefox/freebl3.dll b/Firefox46.win/App/Firefox/freebl3.dll new file mode 100644 index 0000000..2767b4c Binary files /dev/null and b/Firefox46.win/App/Firefox/freebl3.dll differ diff --git a/Firefox46.win/App/Firefox/gmp-clearkey/0.1/clearkey.dll b/Firefox46.win/App/Firefox/gmp-clearkey/0.1/clearkey.dll new file mode 100644 index 0000000..15097fa Binary files /dev/null and b/Firefox46.win/App/Firefox/gmp-clearkey/0.1/clearkey.dll differ diff --git a/Firefox46.win/App/Firefox/gmp-clearkey/0.1/clearkey.info b/Firefox46.win/App/Firefox/gmp-clearkey/0.1/clearkey.info new file mode 100644 index 0000000..b58477c --- /dev/null +++ b/Firefox46.win/App/Firefox/gmp-clearkey/0.1/clearkey.info @@ -0,0 +1,5 @@ +Name: clearkey +Description: ClearKey Gecko Media Plugin +Version: 1 +APIs: eme-decrypt-v8[org.w3.clearkey], decode-audio[aac:org.w3.clearkey], decode-video[h264:org.w3.clearkey] +Libraries: dxva2.dll, d3d9.dll, msmpeg2vdec.dll, msmpeg2adec.dll, MSAudDecMFT.dll, evr.dll, mfheaacdec.dll, mfh264dec.dll, mfplat.dll diff --git a/Firefox46.win/App/Firefox/icudt56.dll b/Firefox46.win/App/Firefox/icudt56.dll new file mode 100644 index 0000000..f488c75 Binary files /dev/null and b/Firefox46.win/App/Firefox/icudt56.dll differ diff --git a/Firefox46.win/App/Firefox/icuin56.dll b/Firefox46.win/App/Firefox/icuin56.dll new file mode 100644 index 0000000..f454884 Binary files /dev/null and b/Firefox46.win/App/Firefox/icuin56.dll differ diff --git a/Firefox46.win/App/Firefox/icuuc56.dll b/Firefox46.win/App/Firefox/icuuc56.dll new file mode 100644 index 0000000..2af6221 Binary files /dev/null and b/Firefox46.win/App/Firefox/icuuc56.dll differ diff --git a/Firefox46.win/App/Firefox/lgpllibs.dll b/Firefox46.win/App/Firefox/lgpllibs.dll new file mode 100644 index 0000000..d5d08a9 Binary files /dev/null and b/Firefox46.win/App/Firefox/lgpllibs.dll differ diff --git a/Firefox46.win/App/Firefox/libEGL.dll b/Firefox46.win/App/Firefox/libEGL.dll new file mode 100644 index 0000000..30ec78e Binary files /dev/null and b/Firefox46.win/App/Firefox/libEGL.dll differ diff --git a/Firefox46.win/App/Firefox/libGLESv2.dll b/Firefox46.win/App/Firefox/libGLESv2.dll new file mode 100644 index 0000000..6a9134d Binary files /dev/null and b/Firefox46.win/App/Firefox/libGLESv2.dll differ diff --git a/Firefox46.win/App/Firefox/maintenanceservice.exe b/Firefox46.win/App/Firefox/maintenanceservice.exe new file mode 100644 index 0000000..a4c7f69 Binary files /dev/null and b/Firefox46.win/App/Firefox/maintenanceservice.exe differ diff --git a/Firefox46.win/App/Firefox/maintenanceservice_installer.exe b/Firefox46.win/App/Firefox/maintenanceservice_installer.exe new file mode 100644 index 0000000..dc91e22 Binary files /dev/null and b/Firefox46.win/App/Firefox/maintenanceservice_installer.exe differ diff --git a/Firefox46.win/App/Firefox/mozavcodec.dll b/Firefox46.win/App/Firefox/mozavcodec.dll new file mode 100644 index 0000000..c5ed9e6 Binary files /dev/null and b/Firefox46.win/App/Firefox/mozavcodec.dll differ diff --git a/Firefox46.win/App/Firefox/mozavutil.dll b/Firefox46.win/App/Firefox/mozavutil.dll new file mode 100644 index 0000000..dacdcb3 Binary files /dev/null and b/Firefox46.win/App/Firefox/mozavutil.dll differ diff --git a/Firefox46.win/App/Firefox/mozglue.dll b/Firefox46.win/App/Firefox/mozglue.dll new file mode 100644 index 0000000..ea4aaf7 Binary files /dev/null and b/Firefox46.win/App/Firefox/mozglue.dll differ diff --git a/Firefox46.win/App/Firefox/msvcp120.dll b/Firefox46.win/App/Firefox/msvcp120.dll new file mode 100644 index 0000000..a237d2d Binary files /dev/null and b/Firefox46.win/App/Firefox/msvcp120.dll differ diff --git a/Firefox46.win/App/Firefox/msvcr120.dll b/Firefox46.win/App/Firefox/msvcr120.dll new file mode 100644 index 0000000..8c36149 Binary files /dev/null and b/Firefox46.win/App/Firefox/msvcr120.dll differ diff --git a/Firefox46.win/App/Firefox/nss3.dll b/Firefox46.win/App/Firefox/nss3.dll new file mode 100644 index 0000000..35550e8 Binary files /dev/null and b/Firefox46.win/App/Firefox/nss3.dll differ diff --git a/Firefox46.win/App/Firefox/nssckbi.dll b/Firefox46.win/App/Firefox/nssckbi.dll new file mode 100644 index 0000000..158d781 Binary files /dev/null and b/Firefox46.win/App/Firefox/nssckbi.dll differ diff --git a/Firefox46.win/App/Firefox/nssdbm3.chk b/Firefox46.win/App/Firefox/nssdbm3.chk new file mode 100644 index 0000000..984f472 Binary files /dev/null and b/Firefox46.win/App/Firefox/nssdbm3.chk differ diff --git a/Firefox46.win/App/Firefox/nssdbm3.dll b/Firefox46.win/App/Firefox/nssdbm3.dll new file mode 100644 index 0000000..d11526e Binary files /dev/null and b/Firefox46.win/App/Firefox/nssdbm3.dll differ diff --git a/Firefox46.win/App/Firefox/omni.ja b/Firefox46.win/App/Firefox/omni.ja new file mode 100644 index 0000000..0c97291 Binary files /dev/null and b/Firefox46.win/App/Firefox/omni.ja differ diff --git a/Firefox46.win/App/Firefox/platform.ini b/Firefox46.win/App/Firefox/platform.ini new file mode 100644 index 0000000..6a80b96 --- /dev/null +++ b/Firefox46.win/App/Firefox/platform.ini @@ -0,0 +1,5 @@ +[Build] +BuildID=20160421124000 +Milestone=46.0 +SourceStamp=078baf501b55eaa47f3b189fda4dd28dae1fa257 +SourceRepository=https://hg.mozilla.org/releases/mozilla-release diff --git a/Firefox46.win/App/Firefox/plugin-container.exe b/Firefox46.win/App/Firefox/plugin-container.exe new file mode 100644 index 0000000..ba01377 Binary files /dev/null and b/Firefox46.win/App/Firefox/plugin-container.exe differ diff --git a/Firefox46.win/App/Firefox/plugin-hang-ui.exe b/Firefox46.win/App/Firefox/plugin-hang-ui.exe new file mode 100644 index 0000000..d2d821e Binary files /dev/null and b/Firefox46.win/App/Firefox/plugin-hang-ui.exe differ diff --git a/Firefox46.win/App/Firefox/precomplete b/Firefox46.win/App/Firefox/precomplete new file mode 100644 index 0000000..aceb2a7 --- /dev/null +++ b/Firefox46.win/App/Firefox/precomplete @@ -0,0 +1,69 @@ +remove "xul.dll" +remove "wow_helper.exe" +remove "webapprt/webapprt.ini" +remove "webapprt/omni.ja" +remove "webapprt-stub.exe" +remove "webapp-uninstaller.exe" +remove "voucher.bin" +remove "updater.ini" +remove "updater.exe" +remove "uninstall/helper.exe" +remove "softokn3.dll" +remove "softokn3.chk" +remove "sandboxbroker.dll" +remove "removed-files" +remove "precomplete" +remove "plugin-hang-ui.exe" +remove "plugin-container.exe" +remove "platform.ini" +remove "omni.ja" +remove "nssdbm3.dll" +remove "nssdbm3.chk" +remove "nssckbi.dll" +remove "nss3.dll" +remove "msvcr120.dll" +remove "msvcp120.dll" +remove "mozglue.dll" +remove "mozavutil.dll" +remove "mozavcodec.dll" +remove "maintenanceservice_installer.exe" +remove "maintenanceservice.exe" +remove "libGLESv2.dll" +remove "libEGL.dll" +remove "lgpllibs.dll" +remove "icuuc56.dll" +remove "icuin56.dll" +remove "icudt56.dll" +remove "gmp-clearkey/0.1/clearkey.info" +remove "gmp-clearkey/0.1/clearkey.dll" +remove "freebl3.dll" +remove "freebl3.chk" +remove "firefox.exe" +remove "dependentlibs.list" +remove "d3dcompiler_47.dll" +remove "crashreporter.ini" +remove "crashreporter.exe" +remove "browser/omni.ja" +remove "browser/features/loop@mozilla.org.xpi" +remove "browser/features/firefox@getpocket.com.xpi" +remove "browser/features/e10srollout@mozilla.org.xpi" +remove "browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi" +remove "browser/crashreporter-override.ini" +remove "browser/components/components.manifest" +remove "browser/components/browsercomps.dll" +remove "browser/chrome.manifest" +remove "browser/blocklist.xml" +remove "breakpadinjector.dll" +remove "application.ini" +remove "D3DCompiler_43.dll" +remove "AccessibleMarshal.dll" +rmdir "webapprt/" +rmdir "uninstall/" +rmdir "gmp-clearkey/0.1/" +rmdir "gmp-clearkey/" +rmdir "defaults/pref/" +rmdir "defaults/" +rmdir "browser/features/" +rmdir "browser/extensions/" +rmdir "browser/components/" +rmdir "browser/" diff --git a/Firefox46.win/App/Firefox/removed-files b/Firefox46.win/App/Firefox/removed-files new file mode 100644 index 0000000..df4bc98 --- /dev/null +++ b/Firefox46.win/App/Firefox/removed-files @@ -0,0 +1,28 @@ +distribution/extensions/testpilot@labs.mozilla.com.xpi +chrome.manifest +#ifdef XP_MACOSX +chrome.manifest +#endif +chrome/ +chrome/overlayinfo/ +components/ +defaults/autoconfig/ +defaults/profile/ +defaults/profile/chrome/ +defaults/profile/US/* +defaults/profile/extensions/ +defaults/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/* +distribution/ +distribution/extensions/ +extensions/ +extensions/inspector@mozilla.org/* +extensions/reporter@mozilla.org/* +extensions/talkback@mozilla.org/* +extensions/testpilot@labs.mozilla.com/* +extensions/{641d8d09-7dda-4850-8228-ac0ab65e2ac9}/* +extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/* +greprefs/ +jssubloader/ +modules/ +searchplugins/* +webapprt/components/ diff --git a/Firefox46.win/App/Firefox/sandboxbroker.dll b/Firefox46.win/App/Firefox/sandboxbroker.dll new file mode 100644 index 0000000..6c7e6f9 Binary files /dev/null and b/Firefox46.win/App/Firefox/sandboxbroker.dll differ diff --git a/Firefox46.win/App/Firefox/softokn3.chk b/Firefox46.win/App/Firefox/softokn3.chk new file mode 100644 index 0000000..fa74621 Binary files /dev/null and b/Firefox46.win/App/Firefox/softokn3.chk differ diff --git a/Firefox46.win/App/Firefox/softokn3.dll b/Firefox46.win/App/Firefox/softokn3.dll new file mode 100644 index 0000000..e2b8c5c Binary files /dev/null and b/Firefox46.win/App/Firefox/softokn3.dll differ diff --git a/Firefox46.win/App/Firefox/uninstall/helper.exe b/Firefox46.win/App/Firefox/uninstall/helper.exe new file mode 100644 index 0000000..6cb79d6 Binary files /dev/null and b/Firefox46.win/App/Firefox/uninstall/helper.exe differ diff --git a/Firefox46.win/App/Firefox/update-settings.ini b/Firefox46.win/App/Firefox/update-settings.ini new file mode 100644 index 0000000..a83179b --- /dev/null +++ b/Firefox46.win/App/Firefox/update-settings.ini @@ -0,0 +1,5 @@ +; If you modify this file updates may fail. +; Do not modify this file. + +[Settings] +ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-release diff --git a/Firefox46.win/App/Firefox/updater.exe b/Firefox46.win/App/Firefox/updater.exe new file mode 100644 index 0000000..a8b9c77 Binary files /dev/null and b/Firefox46.win/App/Firefox/updater.exe differ diff --git a/Firefox46.win/App/Firefox/updater.ini b/Firefox46.win/App/Firefox/updater.ini new file mode 100644 index 0000000..cef35c2 --- /dev/null +++ b/Firefox46.win/App/Firefox/updater.ini @@ -0,0 +1,21 @@ +; This Source Code Form is subject to the terms of the Mozilla Public +; License, v. 2.0. If a copy of the MPL was not distributed with this +; file, You can obtain one at http://mozilla.org/MPL/2.0/. + +; This file is in the UTF-8 encoding +[Strings] +Title=Actualización de Firefox +Info=Firefox está instalando sus actualizaciones y se iniciará en unos instantes… +MozillaMaintenanceDescription=El servicio de matenimiento de Mozilla asegura que tiene la última y más segura versión de Mozilla Firefox en su computadora. Mantener Firefox actualizado es muy importante para su seguridad en línea y Mozilla recomienda encarecidamente que mantenga este servicio habilitado. + +; IMPORTANT: This file should always start with a newline in case a locale +; provided updater.ini does not end with a newline. +; Application to launch after an update has been successfully applied. This +; must be in the same directory or a sub-directory of the directory of the +; application executable that initiated the software update. +[PostUpdateWin] +; ExeRelPath is the path to the PostUpdateWin executable relative to the +; application executable. +ExeRelPath=uninstall\helper.exe +; ExeArg is the argument to pass to the PostUpdateWin exe +ExeArg=/PostUpdate diff --git a/Firefox46.win/App/Firefox/voucher.bin b/Firefox46.win/App/Firefox/voucher.bin new file mode 100644 index 0000000..b1a89e7 Binary files /dev/null and b/Firefox46.win/App/Firefox/voucher.bin differ diff --git a/Firefox46.win/App/Firefox/webapp-uninstaller.exe b/Firefox46.win/App/Firefox/webapp-uninstaller.exe new file mode 100644 index 0000000..d99a339 Binary files /dev/null and b/Firefox46.win/App/Firefox/webapp-uninstaller.exe differ diff --git a/Firefox46.win/App/Firefox/webapprt-stub.exe b/Firefox46.win/App/Firefox/webapprt-stub.exe new file mode 100644 index 0000000..4c7a8cc Binary files /dev/null and b/Firefox46.win/App/Firefox/webapprt-stub.exe differ diff --git a/Firefox46.win/App/Firefox/webapprt/omni.ja b/Firefox46.win/App/Firefox/webapprt/omni.ja new file mode 100644 index 0000000..255b0b5 Binary files /dev/null and b/Firefox46.win/App/Firefox/webapprt/omni.ja differ diff --git a/Firefox46.win/App/Firefox/webapprt/webapprt.ini b/Firefox46.win/App/Firefox/webapprt/webapprt.ini new file mode 100644 index 0000000..31efd07 --- /dev/null +++ b/Firefox46.win/App/Firefox/webapprt/webapprt.ini @@ -0,0 +1,20 @@ + + +[App] +ID=webapprt@mozilla.org +Vendor=Mozilla +; Note: the Windows stub executable sets nsXREAppData::name to the webapp +; origin, overriding the value below, to make the app runner treat webapps +; as distinct products, per bug 747409. +Name=Webapp Runtime +Version=46.0 +BuildID=20160421124000 +UAName=Firefox + +[Gecko] +MinVersion=46.0 +MaxVersion=46.0 + +[Crash Reporter] +Enabled=1 +ServerURL=https://crash-reports.mozilla.com/submit?id=webapprt@mozilla.org&version=46.0&buildid=20160421124000 diff --git a/Firefox46.win/App/Firefox/wow_helper.exe b/Firefox46.win/App/Firefox/wow_helper.exe new file mode 100644 index 0000000..edad697 Binary files /dev/null and b/Firefox46.win/App/Firefox/wow_helper.exe differ diff --git a/Firefox46.win/App/Firefox/xul.dll b/Firefox46.win/App/Firefox/xul.dll new file mode 100644 index 0000000..4ac8eb8 Binary files /dev/null and b/Firefox46.win/App/Firefox/xul.dll differ diff --git a/Firefox46.win/App/Firefox64/AccessibleMarshal.dll b/Firefox46.win/App/Firefox64/AccessibleMarshal.dll new file mode 100644 index 0000000..67b6997 Binary files /dev/null and b/Firefox46.win/App/Firefox64/AccessibleMarshal.dll differ diff --git a/Firefox46.win/App/Firefox64/application.ini b/Firefox46.win/App/Firefox64/application.ini new file mode 100644 index 0000000..97fa187 --- /dev/null +++ b/Firefox46.win/App/Firefox64/application.ini @@ -0,0 +1,23 @@ +; This file is not used. If you modify it and want the application to use +; your modifications, move it under the browser/ subdirectory and start with +; the "-app /path/to/browser/application.ini" argument. +[App] +Vendor=Mozilla +Name=Firefox +RemotingName=firefox +Version=46.0 +BuildID=20160421124000 +SourceRepository=https://hg.mozilla.org/releases/mozilla-release +SourceStamp=078baf501b55eaa47f3b189fda4dd28dae1fa257 +ID={ec8030f7-c20a-464f-9b0e-13a3a9e97384} + +[Gecko] +MinVersion=46.0 +MaxVersion=46.0 + +[XRE] +EnableProfileMigrator=1 + +[Crash Reporter] +Enabled=1 +ServerURL=https://crash-reports.mozilla.com/submit?id={ec8030f7-c20a-464f-9b0e-13a3a9e97384}&version=46.0&buildid=20160421124000 diff --git a/Firefox46.win/App/Firefox64/browser/blocklist.xml b/Firefox46.win/App/Firefox64/browser/blocklist.xml new file mode 100644 index 0000000..0d26191 --- /dev/null +++ b/Firefox46.win/App/Firefox64/browser/blocklist.xml @@ -0,0 +1,3812 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + browser.startup.homepage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + app.update.auto + app.update.enabled + app.update.interval + app.update.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://java.com/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://java.com/ + + + + https://real.com/ + + + + https://get.adobe.com/shockwave/ + + + + https://get.adobe.com/shockwave/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://www.microsoft.com/getsilverlight + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://java.com/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + https://get.adobe.com/flashplayer/ + + + + + WINNT 6.1 0x10de + 0x0a6c + + DIRECT2D BLOCKED_DRIVER_VERSION 8.17.12.5896 LESS_THAN_OR_EQUAL + WINNT 6.1 0x10de + 0x0a6c + + DIRECT3D_9_LAYERS BLOCKED_DRIVER_VERSION 8.17.12.5896 LESS_THAN_OR_EQUAL + WINNT 5.1 0x10de DIRECT3D_9_LAYERS BLOCKED_DRIVER_VERSION 7.0.0.0 GREATER_THAN_OR_EQUAL + All 0x1002 DIRECT2D BLOCKED_DRIVER_VERSION 8.982.0.0 EQUAL + All 0x1022 DIRECT2D BLOCKED_DRIVER_VERSION 8.982.0.0 EQUAL + All 0x1022 DIRECT3D_9_LAYERS BLOCKED_DRIVER_VERSION 8.982.0.0 EQUAL + All 0x1002 DIRECT3D_9_LAYERS BLOCKED_DRIVER_VERSION 8.982.0.0 EQUAL + WINNT 6.2 0x1002 DIRECT2D BLOCKED_DRIVER_VERSION 9.10.8.0 LESS_THAN_OR_EQUAL + WINNT 6.2 0x1022 DIRECT2D BLOCKED_DRIVER_VERSION 9.10.8.0 LESS_THAN_OR_EQUAL + Darwin 10 0x10de WEBGL_MSAA BLOCKED_DEVICE + Darwin 11 0x10de WEBGL_MSAA BLOCKED_DEVICE + Darwin 12 0x10de WEBGL_MSAA BLOCKED_DEVICE + Darwin 10 0x8086 WEBGL_MSAA BLOCKED_DEVICE + Darwin 11 0x8086 WEBGL_MSAA BLOCKED_DEVICE + Darwin 12 0x8086 WEBGL_MSAA BLOCKED_DEVICE + Darwin 10 0x1002 WEBGL_MSAA BLOCKED_DEVICE + Darwin 11 0x1002 WEBGL_MSAA BLOCKED_DEVICE + Darwin 12 0x1002 WEBGL_MSAA BLOCKED_DEVICE + WINNT 6.1 0x1002 + 0x9802 + 0x9803 + 0x9803 + 0x9804 + 0x9805 + 0x9806 + 0x9807 + + DIRECT2D BLOCKED_DEVICE + WINNT 6.1 0x1002 + 0x9802 + 0x9803 + 0x9803 + 0x9804 + 0x9805 + 0x9806 + 0x9807 + + DIRECT3D_9_LAYERS BLOCKED_DEVICE + WINNT 5.1 0x8086 DIRECT3D_9_LAYERS BLOCKED_DRIVER_VERSION 6.14.10.5218 LESS_THAN + WINNT 10.0 0x1002 + 0x6920 + 0x6921 + 0x6928 + 0x6929 + 0x692b + 0x692f + 0x6930 + 0x6938 + 0x6939 + 0x6900 + 0x6901 + 0x6902 + 0x6903 + 0x6907 + 0x7300 + 0x9870 + 0x9874 + 0x9875 + 0x9876 + 0x9877 + + DIRECT2D BLOCKED_DRIVER_VERSION 15.201.1151.0 LESS_THAN + All 0x8086 DIRECT2D BLOCKED_DRIVER_VERSION 8.15.10.2413 LESS_THAN_OR_EQUAL + WINNT 8.1 0x1002 + 0x6920 + 0x6921 + 0x6928 + 0x6929 + 0x692b + 0x692f + 0x6930 + 0x6938 + 0x6939 + 0x6900 + 0x6901 + 0x6902 + 0x6903 + 0x6907 + 0x7300 + 0x9870 + 0x9874 + 0x9875 + 0x9876 + 0x9877 + + DIRECT2D BLOCKED_DRIVER_VERSION 15.201.1151.0 LESS_THAN + WINNT 5.1 0x8086 WEBGL_ANGLE BLOCKED_DRIVER_VERSION 6.14.10.5218 LESS_THAN + All 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1851 EQUAL + All 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1855 EQUAL + All 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1872 EQUAL + All 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1883 EQUAL + All 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1892 EQUAL + All 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.1994 EQUAL + All 0x8086 + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + BLOCKED_DRIVER_VERSION 8.15.10.2086 EQUAL + + + + + D9UltDPl4XVfSSqQOvdiwQ== + + + STMAjg== + + + UoRGnb96CUDTxIqVry6LBg== + + + ARQ= + + + YR3YYQAAAAAABA== + + + ATE0vw== + + + ATFpsA== + + + ATFEdg== + + + AN9bfYOvlR1t + + + CrTHPEE6AZSfI3jysin2bA== + + + BAAAAAABCfhiO+s= + + + BAAAAAABHhw1vwc= + + + BAAAAAABCFiEp9s= + + + BAAAAAABF2Tb8Bc= + + + BAAAAAABAPpuVh0= + + + BAAAAAABGMGjftY= + + + BAAAAAABHkSHlSo= + + + BAAAAAABJ/ufRdg= + + + BAAAAAABMrS7t2g= + + + BAAAAAABBHYoIFs= + + + BAAAAAABLM/7qjk= + + + BAAAAAAA+X/GIyk= + + + BAAAAAABKB/OGqI= + + + BAAAAAABKUXDqxw= + + + BAAAAAABHkSHjz8= + + + BAAAAAABJQdAjik= + + + BAAAAAABMxvC9bk= + + + BAAAAAABGMG0Gmw= + + + BAAAAAABJZbEU4I= + + + BAAAAAABJ/ufQg8= + + + BAAAAAABCUVQ9No= + + + BAAAAAABA/A35EU= + + + BAAAAAABHJRKMpA= + + + BAAAAAABHJRKNmk= + + + BAAAAAABAJmPjfQ= + + + sPNcCSE9Nkg3jy5IN1xe2Q== + + + UU3AP1SMxmyhBFq7MRFZmf0= + + + F7PAjw2k0dTX5escPnyVOBo= + + + OYBKgxEHpW/8XGAGAlvJyMA= + + + UV9aaDeNRNtQuXjRYk4Skhg= + + + YRJNfMoc12IpmW+Enpv3Pdo= + + + e/fIfg2Dj2tkYIWVu2r82Cc= + + + bAOrKSMsmA0MLJyAJ5BRsUM= + + + DAk9hy8DhHSo+aQetvPB/fY= + + + O2S99lVUxErLSk56GvWRv+E= + + + F7PAjw2k0dTX5escPnyVOBo= + + + Mq0P6o03FDk0B2bnJ+mYPGo= + + + BAAAAAABHkSl7L4= + + + BAAAAAABI54PryQ= + + + fwAAAQAAAUrz/HmrAAAAAg== + + + By7fBTreouRwX/qrpgSUsg== + + + Gd/pPu+qLnXUdvP9sW73CQ== + + + LdbnCbsA9sOgI4mkUpWXPw== + + + NMpMcEnex3eXx4ohk9glcQ== + + + JV/LVzSKI/wsDgg3UuZHlA== + + + COwoDFvz7GD8R2K7Lo0rYQ== + + + VOcIuNbTqkpOMUyI108FOg== + + + TA6EVg== + + + + + \ No newline at end of file diff --git a/Firefox46.win/App/Firefox64/browser/chrome.manifest b/Firefox46.win/App/Firefox64/browser/chrome.manifest new file mode 100644 index 0000000..d629a70 --- /dev/null +++ b/Firefox46.win/App/Firefox64/browser/chrome.manifest @@ -0,0 +1 @@ +manifest components/components.manifest diff --git a/Firefox46.win/App/Firefox64/browser/components/browsercomps.dll b/Firefox46.win/App/Firefox64/browser/components/browsercomps.dll new file mode 100644 index 0000000..0fe22e5 Binary files /dev/null and b/Firefox46.win/App/Firefox64/browser/components/browsercomps.dll differ diff --git a/Firefox46.win/App/Firefox64/browser/components/components.manifest b/Firefox46.win/App/Firefox64/browser/components/components.manifest new file mode 100644 index 0000000..ac848ba --- /dev/null +++ b/Firefox46.win/App/Firefox64/browser/components/components.manifest @@ -0,0 +1 @@ +binary-component browsercomps.dll diff --git a/Firefox46.win/App/Firefox64/browser/crashreporter-override.ini b/Firefox46.win/App/Firefox64/browser/crashreporter-override.ini new file mode 100644 index 0000000..21cea79 --- /dev/null +++ b/Firefox46.win/App/Firefox64/browser/crashreporter-override.ini @@ -0,0 +1,10 @@ +; This Source Code Form is subject to the terms of the Mozilla Public +; License, v. 2.0. If a copy of the MPL was not distributed with this +; file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# This file is in the UTF-8 encoding +[Strings] +# LOCALIZATION NOTE (CrashReporterProductErrorText): The %s is replaced with a string containing detailed information. +CrashReporterProductErrorText2=Firefox ha tenido un problema y se cerrará. Trataremos de restaurar sus pestañas y ventanas al reiniciarlo.\n\nDesafortunadamente crash reporter no puede enviar un unforme sobre la falla.\n\nDetalles: %s +CrashReporterDescriptionText2=Firefox ha tenido un problema y se cerrará. Trataremos de restaurar sus pestañas y ventanas al reiniciarlo.\n\nPara ayudarnos a diagnosticar y corregir el problema, puede enviarnos un informe sobre la falla. + diff --git a/Firefox46.win/App/Firefox64/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi b/Firefox46.win/App/Firefox64/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi new file mode 100644 index 0000000..801aec2 Binary files /dev/null and b/Firefox46.win/App/Firefox64/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi differ diff --git a/Firefox46.win/App/Firefox64/browser/features/e10srollout@mozilla.org.xpi b/Firefox46.win/App/Firefox64/browser/features/e10srollout@mozilla.org.xpi new file mode 100644 index 0000000..0d6b94b Binary files /dev/null and b/Firefox46.win/App/Firefox64/browser/features/e10srollout@mozilla.org.xpi differ diff --git a/Firefox46.win/App/Firefox64/browser/features/firefox@getpocket.com.xpi b/Firefox46.win/App/Firefox64/browser/features/firefox@getpocket.com.xpi new file mode 100644 index 0000000..7105deb Binary files /dev/null and b/Firefox46.win/App/Firefox64/browser/features/firefox@getpocket.com.xpi differ diff --git a/Firefox46.win/App/Firefox64/browser/features/loop@mozilla.org.xpi b/Firefox46.win/App/Firefox64/browser/features/loop@mozilla.org.xpi new file mode 100644 index 0000000..ccdf92f Binary files /dev/null and b/Firefox46.win/App/Firefox64/browser/features/loop@mozilla.org.xpi differ diff --git a/Firefox46.win/App/Firefox64/browser/omni.ja b/Firefox46.win/App/Firefox64/browser/omni.ja new file mode 100644 index 0000000..18753de Binary files /dev/null and b/Firefox46.win/App/Firefox64/browser/omni.ja differ diff --git a/Firefox46.win/App/Firefox64/crashreporter.exe b/Firefox46.win/App/Firefox64/crashreporter.exe new file mode 100644 index 0000000..8077438 Binary files /dev/null and b/Firefox46.win/App/Firefox64/crashreporter.exe differ diff --git a/Firefox46.win/App/Firefox64/crashreporter.ini b/Firefox46.win/App/Firefox64/crashreporter.ini new file mode 100644 index 0000000..3e0fef4 --- /dev/null +++ b/Firefox46.win/App/Firefox64/crashreporter.ini @@ -0,0 +1,60 @@ +; This Source Code Form is subject to the terms of the Mozilla Public +; License, v. 2.0. If a copy of the MPL was not distributed with this +; file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# This file is in the UTF-8 encoding +[Strings] +# LOCALIZATION NOTE (isRTL): +# Leave this entry empty unless your language requires right-to-left layout, +# for example like Arabic, Hebrew, Persian. If your language needs RTL, please +# use the untranslated English word "yes" as value +isRTL= +CrashReporterTitle=Informe de problemas +# LOCALIZATION NOTE (CrashReporterVendorTitle): %s is replaced with the vendor name. (i.e. "Mozilla") +CrashReporterVendorTitle=Informe de problemas de %s +# LOCALIZATION NOTE (CrashReporterErrorText): %s is replaced with another string containing detailed information. +CrashReporterErrorText=La aplicación ha tenido un problema y se cerrará.\n\nDesafortunadamente, esta herramienta no es capaz de enviar un informe sobre este problema.\n\nDetalles: %s +# LOCALIZATION NOTE (CrashReporterProductErrorText2): The first %s is replaced with the product name (i.e. "Firefox"), the second is replaced with another string containing detailed information. These two substitutions can not be reordered! +CrashReporterProductErrorText2=%s ha tenido un problema y se cerrará.\n\nDesafortunadamente, esta herramienta no es capaz de enviar un informe sobre este problema.\n\nDetalles: %s +CrashReporterSorry=Lo sentimos +# LOCALIZATION NOTE (CrashReporterDescriptionText2): The %s is replaced with the product name. +CrashReporterDescriptionText2=%s encontró un problema y se cerrará.\n\nPara ayudarnos a diagnosticar y reparar este problema, puede enviarnos un informe sobre la falla. +CrashReporterDefault=Esta aplicación se ejecuta después de un error para informar el problema al fabricante de la aplicación. No debería ejecutarse directamente. +Details=Detalles… +ViewReportTitle=Contenido del informe +CommentGrayText=Agregar un comentario. Nota: Los comentarios son visible públicamente +ExtraReportInfo=Este informe también contiene información acerca del estado de la aplicación cuando falló. +# LOCALIZATION NOTE (CheckSendReport): The %s is replaced with the vendor name. +CheckSendReport=Decirle a %s acerca de esta falla para que puedan arreglarla +CheckIncludeURL=Incluír la dirección de la página que estaba visitando +CheckAllowEmail=Permitir que %s me contacte sobre este informe +EmailGrayText=Ingrese su dirección de correo electrónico aquí +ReportPreSubmit2=Su informe de fallo será enviado antes de salir o reiniciar. +ReportDuringSubmit2=Enviando su informe… +ReportSubmitSuccess=¡Informe enviado exitosamente! +ReportSubmitFailed=Hubo un problema enviando su informe. +ReportResubmit=Reenviando informes que habían fallado el envío previamente… +# LOCALIZATION NOTE (Quit2): The %s is replaced with the product name. +Quit2=Salir de %s +# LOCALIZATION NOTE (Restart): The %s is replaced with the product name. +Restart=Reiniciar %s +Ok=Aceptar +Close=Cerrar + +# LOCALIZATION NOTE (CrashID): The %s is replaced with the Crash ID from the server, which is a string like abc12345-6789-0abc-def1-23456abcdef1 +CrashID=Crash ID: %s +# LOCALIZATION NOTE (CrashDetailsURL): The %s is replaced with a URL that the user can visit to view the crash details. +CrashDetailsURL=Puede ver detalles de este problema en %s +ErrorBadArguments=La aplicación pasó un argumento inválido. +ErrorExtraFileExists=La aplicación no dejó un archivo de datos. +ErrorExtraFileRead=No se puede leer el archivo de datos de la aplicación. +ErrorExtraFileMove=No se puede mover el archivo de datos de la aplicación. +ErrorDumpFileExists=La aplicación no dejó un archivo de volcado del problema. +ErrorDumpFileMove=No se puede mover el volcado del problema. +ErrorNoProductName=La aplicación no se identificó a sí misma. +ErrorNoServerURL=La aplicación no especificó un servidor para informar el problema. +ErrorNoSettingsPath=No se pueden encontrar las opciones del informe de problemas. +ErrorCreateDumpDir=No se puede crear el directorio de volcados pendientes. +# LOCALIZATION NOTE (ErrorEndOfLife): The %s is replaced with the product name. +ErrorEndOfLife=La versión de %s que está usando no es más soportada. Los informes de fallo no son aceptados para esta versión. Considere actualizarse a una versión soportada. + diff --git a/Firefox46.win/App/Firefox64/d3dcompiler_47.dll b/Firefox46.win/App/Firefox64/d3dcompiler_47.dll new file mode 100644 index 0000000..56512f5 Binary files /dev/null and b/Firefox46.win/App/Firefox64/d3dcompiler_47.dll differ diff --git a/Firefox46.win/App/Firefox64/defaults/pref/channel-prefs.js b/Firefox46.win/App/Firefox64/defaults/pref/channel-prefs.js new file mode 100644 index 0000000..fdd9b35 --- /dev/null +++ b/Firefox46.win/App/Firefox64/defaults/pref/channel-prefs.js @@ -0,0 +1,5 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +pref("app.update.channel", "release"); diff --git a/Firefox46.win/App/Firefox64/dependentlibs.list b/Firefox46.win/App/Firefox64/dependentlibs.list new file mode 100644 index 0000000..d0c1511 --- /dev/null +++ b/Firefox46.win/App/Firefox64/dependentlibs.list @@ -0,0 +1,7 @@ +MSVCR120.dll +MSVCP120.dll +mozglue.dll +nss3.dll +sandboxbroker.dll +lgpllibs.dll +xul.dll diff --git a/Firefox46.win/App/Firefox64/firefox.exe b/Firefox46.win/App/Firefox64/firefox.exe new file mode 100644 index 0000000..4d67769 Binary files /dev/null and b/Firefox46.win/App/Firefox64/firefox.exe differ diff --git a/Firefox46.win/App/Firefox64/freebl3.chk b/Firefox46.win/App/Firefox64/freebl3.chk new file mode 100644 index 0000000..0321dd0 Binary files /dev/null and b/Firefox46.win/App/Firefox64/freebl3.chk differ diff --git a/Firefox46.win/App/Firefox64/freebl3.dll b/Firefox46.win/App/Firefox64/freebl3.dll new file mode 100644 index 0000000..77d848e Binary files /dev/null and b/Firefox46.win/App/Firefox64/freebl3.dll differ diff --git a/Firefox46.win/App/Firefox64/gmp-clearkey/0.1/clearkey.dll b/Firefox46.win/App/Firefox64/gmp-clearkey/0.1/clearkey.dll new file mode 100644 index 0000000..b7df9eb Binary files /dev/null and b/Firefox46.win/App/Firefox64/gmp-clearkey/0.1/clearkey.dll differ diff --git a/Firefox46.win/App/Firefox64/gmp-clearkey/0.1/clearkey.info b/Firefox46.win/App/Firefox64/gmp-clearkey/0.1/clearkey.info new file mode 100644 index 0000000..b58477c --- /dev/null +++ b/Firefox46.win/App/Firefox64/gmp-clearkey/0.1/clearkey.info @@ -0,0 +1,5 @@ +Name: clearkey +Description: ClearKey Gecko Media Plugin +Version: 1 +APIs: eme-decrypt-v8[org.w3.clearkey], decode-audio[aac:org.w3.clearkey], decode-video[h264:org.w3.clearkey] +Libraries: dxva2.dll, d3d9.dll, msmpeg2vdec.dll, msmpeg2adec.dll, MSAudDecMFT.dll, evr.dll, mfheaacdec.dll, mfh264dec.dll, mfplat.dll diff --git a/Firefox46.win/App/Firefox64/icudt56.dll b/Firefox46.win/App/Firefox64/icudt56.dll new file mode 100644 index 0000000..a877457 Binary files /dev/null and b/Firefox46.win/App/Firefox64/icudt56.dll differ diff --git a/Firefox46.win/App/Firefox64/icuin56.dll b/Firefox46.win/App/Firefox64/icuin56.dll new file mode 100644 index 0000000..0d1ebe8 Binary files /dev/null and b/Firefox46.win/App/Firefox64/icuin56.dll differ diff --git a/Firefox46.win/App/Firefox64/icuuc56.dll b/Firefox46.win/App/Firefox64/icuuc56.dll new file mode 100644 index 0000000..b41d9e6 Binary files /dev/null and b/Firefox46.win/App/Firefox64/icuuc56.dll differ diff --git a/Firefox46.win/App/Firefox64/lgpllibs.dll b/Firefox46.win/App/Firefox64/lgpllibs.dll new file mode 100644 index 0000000..711f105 Binary files /dev/null and b/Firefox46.win/App/Firefox64/lgpllibs.dll differ diff --git a/Firefox46.win/App/Firefox64/libEGL.dll b/Firefox46.win/App/Firefox64/libEGL.dll new file mode 100644 index 0000000..88b4c13 Binary files /dev/null and b/Firefox46.win/App/Firefox64/libEGL.dll differ diff --git a/Firefox46.win/App/Firefox64/libGLESv2.dll b/Firefox46.win/App/Firefox64/libGLESv2.dll new file mode 100644 index 0000000..724b979 Binary files /dev/null and b/Firefox46.win/App/Firefox64/libGLESv2.dll differ diff --git a/Firefox46.win/App/Firefox64/maintenanceservice.exe b/Firefox46.win/App/Firefox64/maintenanceservice.exe new file mode 100644 index 0000000..414668b Binary files /dev/null and b/Firefox46.win/App/Firefox64/maintenanceservice.exe differ diff --git a/Firefox46.win/App/Firefox64/maintenanceservice_installer.exe b/Firefox46.win/App/Firefox64/maintenanceservice_installer.exe new file mode 100644 index 0000000..7bc83b2 Binary files /dev/null and b/Firefox46.win/App/Firefox64/maintenanceservice_installer.exe differ diff --git a/Firefox46.win/App/Firefox64/mozavcodec.dll b/Firefox46.win/App/Firefox64/mozavcodec.dll new file mode 100644 index 0000000..1f41e76 Binary files /dev/null and b/Firefox46.win/App/Firefox64/mozavcodec.dll differ diff --git a/Firefox46.win/App/Firefox64/mozavutil.dll b/Firefox46.win/App/Firefox64/mozavutil.dll new file mode 100644 index 0000000..ed2fcdf Binary files /dev/null and b/Firefox46.win/App/Firefox64/mozavutil.dll differ diff --git a/Firefox46.win/App/Firefox64/mozglue.dll b/Firefox46.win/App/Firefox64/mozglue.dll new file mode 100644 index 0000000..7ef462e Binary files /dev/null and b/Firefox46.win/App/Firefox64/mozglue.dll differ diff --git a/Firefox46.win/App/Firefox64/msvcp120.dll b/Firefox46.win/App/Firefox64/msvcp120.dll new file mode 100644 index 0000000..4ea1efa Binary files /dev/null and b/Firefox46.win/App/Firefox64/msvcp120.dll differ diff --git a/Firefox46.win/App/Firefox64/msvcr120.dll b/Firefox46.win/App/Firefox64/msvcr120.dll new file mode 100644 index 0000000..d711c92 Binary files /dev/null and b/Firefox46.win/App/Firefox64/msvcr120.dll differ diff --git a/Firefox46.win/App/Firefox64/nss3.dll b/Firefox46.win/App/Firefox64/nss3.dll new file mode 100644 index 0000000..0cdc68d Binary files /dev/null and b/Firefox46.win/App/Firefox64/nss3.dll differ diff --git a/Firefox46.win/App/Firefox64/nssckbi.dll b/Firefox46.win/App/Firefox64/nssckbi.dll new file mode 100644 index 0000000..0e0c35a Binary files /dev/null and b/Firefox46.win/App/Firefox64/nssckbi.dll differ diff --git a/Firefox46.win/App/Firefox64/nssdbm3.chk b/Firefox46.win/App/Firefox64/nssdbm3.chk new file mode 100644 index 0000000..93dfd61 Binary files /dev/null and b/Firefox46.win/App/Firefox64/nssdbm3.chk differ diff --git a/Firefox46.win/App/Firefox64/nssdbm3.dll b/Firefox46.win/App/Firefox64/nssdbm3.dll new file mode 100644 index 0000000..d4a88c1 Binary files /dev/null and b/Firefox46.win/App/Firefox64/nssdbm3.dll differ diff --git a/Firefox46.win/App/Firefox64/omni.ja b/Firefox46.win/App/Firefox64/omni.ja new file mode 100644 index 0000000..2b9ef80 Binary files /dev/null and b/Firefox46.win/App/Firefox64/omni.ja differ diff --git a/Firefox46.win/App/Firefox64/platform.ini b/Firefox46.win/App/Firefox64/platform.ini new file mode 100644 index 0000000..6a80b96 --- /dev/null +++ b/Firefox46.win/App/Firefox64/platform.ini @@ -0,0 +1,5 @@ +[Build] +BuildID=20160421124000 +Milestone=46.0 +SourceStamp=078baf501b55eaa47f3b189fda4dd28dae1fa257 +SourceRepository=https://hg.mozilla.org/releases/mozilla-release diff --git a/Firefox46.win/App/Firefox64/plugin-container.exe b/Firefox46.win/App/Firefox64/plugin-container.exe new file mode 100644 index 0000000..96ae695 Binary files /dev/null and b/Firefox46.win/App/Firefox64/plugin-container.exe differ diff --git a/Firefox46.win/App/Firefox64/plugin-hang-ui.exe b/Firefox46.win/App/Firefox64/plugin-hang-ui.exe new file mode 100644 index 0000000..2ed9513 Binary files /dev/null and b/Firefox46.win/App/Firefox64/plugin-hang-ui.exe differ diff --git a/Firefox46.win/App/Firefox64/precomplete b/Firefox46.win/App/Firefox64/precomplete new file mode 100644 index 0000000..7d4ebe4 --- /dev/null +++ b/Firefox46.win/App/Firefox64/precomplete @@ -0,0 +1,66 @@ +remove "xul.dll" +remove "webapprt/webapprt.ini" +remove "webapprt/omni.ja" +remove "webapprt-stub.exe" +remove "webapp-uninstaller.exe" +remove "voucher.bin" +remove "updater.ini" +remove "updater.exe" +remove "uninstall/helper.exe" +remove "softokn3.dll" +remove "softokn3.chk" +remove "sandboxbroker.dll" +remove "removed-files" +remove "precomplete" +remove "plugin-hang-ui.exe" +remove "plugin-container.exe" +remove "platform.ini" +remove "omni.ja" +remove "nssdbm3.dll" +remove "nssdbm3.chk" +remove "nssckbi.dll" +remove "nss3.dll" +remove "msvcr120.dll" +remove "msvcp120.dll" +remove "mozglue.dll" +remove "mozavutil.dll" +remove "mozavcodec.dll" +remove "maintenanceservice_installer.exe" +remove "maintenanceservice.exe" +remove "libGLESv2.dll" +remove "libEGL.dll" +remove "lgpllibs.dll" +remove "icuuc56.dll" +remove "icuin56.dll" +remove "icudt56.dll" +remove "gmp-clearkey/0.1/clearkey.info" +remove "gmp-clearkey/0.1/clearkey.dll" +remove "freebl3.dll" +remove "freebl3.chk" +remove "firefox.exe" +remove "dependentlibs.list" +remove "d3dcompiler_47.dll" +remove "crashreporter.ini" +remove "crashreporter.exe" +remove "browser/omni.ja" +remove "browser/features/loop@mozilla.org.xpi" +remove "browser/features/firefox@getpocket.com.xpi" +remove "browser/features/e10srollout@mozilla.org.xpi" +remove "browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi" +remove "browser/crashreporter-override.ini" +remove "browser/components/components.manifest" +remove "browser/components/browsercomps.dll" +remove "browser/chrome.manifest" +remove "browser/blocklist.xml" +remove "application.ini" +remove "AccessibleMarshal.dll" +rmdir "webapprt/" +rmdir "uninstall/" +rmdir "gmp-clearkey/0.1/" +rmdir "gmp-clearkey/" +rmdir "defaults/pref/" +rmdir "defaults/" +rmdir "browser/features/" +rmdir "browser/extensions/" +rmdir "browser/components/" +rmdir "browser/" diff --git a/Firefox46.win/App/Firefox64/removed-files b/Firefox46.win/App/Firefox64/removed-files new file mode 100644 index 0000000..df4bc98 --- /dev/null +++ b/Firefox46.win/App/Firefox64/removed-files @@ -0,0 +1,28 @@ +distribution/extensions/testpilot@labs.mozilla.com.xpi +chrome.manifest +#ifdef XP_MACOSX +chrome.manifest +#endif +chrome/ +chrome/overlayinfo/ +components/ +defaults/autoconfig/ +defaults/profile/ +defaults/profile/chrome/ +defaults/profile/US/* +defaults/profile/extensions/ +defaults/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/* +distribution/ +distribution/extensions/ +extensions/ +extensions/inspector@mozilla.org/* +extensions/reporter@mozilla.org/* +extensions/talkback@mozilla.org/* +extensions/testpilot@labs.mozilla.com/* +extensions/{641d8d09-7dda-4850-8228-ac0ab65e2ac9}/* +extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/* +greprefs/ +jssubloader/ +modules/ +searchplugins/* +webapprt/components/ diff --git a/Firefox46.win/App/Firefox64/sandboxbroker.dll b/Firefox46.win/App/Firefox64/sandboxbroker.dll new file mode 100644 index 0000000..9354843 Binary files /dev/null and b/Firefox46.win/App/Firefox64/sandboxbroker.dll differ diff --git a/Firefox46.win/App/Firefox64/softokn3.chk b/Firefox46.win/App/Firefox64/softokn3.chk new file mode 100644 index 0000000..2d5d6e2 Binary files /dev/null and b/Firefox46.win/App/Firefox64/softokn3.chk differ diff --git a/Firefox46.win/App/Firefox64/softokn3.dll b/Firefox46.win/App/Firefox64/softokn3.dll new file mode 100644 index 0000000..1e7a18d Binary files /dev/null and b/Firefox46.win/App/Firefox64/softokn3.dll differ diff --git a/Firefox46.win/App/Firefox64/uninstall/helper.exe b/Firefox46.win/App/Firefox64/uninstall/helper.exe new file mode 100644 index 0000000..fbe8b58 Binary files /dev/null and b/Firefox46.win/App/Firefox64/uninstall/helper.exe differ diff --git a/Firefox46.win/App/Firefox64/update-settings.ini b/Firefox46.win/App/Firefox64/update-settings.ini new file mode 100644 index 0000000..a83179b --- /dev/null +++ b/Firefox46.win/App/Firefox64/update-settings.ini @@ -0,0 +1,5 @@ +; If you modify this file updates may fail. +; Do not modify this file. + +[Settings] +ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-release diff --git a/Firefox46.win/App/Firefox64/updater.exe b/Firefox46.win/App/Firefox64/updater.exe new file mode 100644 index 0000000..9150475 Binary files /dev/null and b/Firefox46.win/App/Firefox64/updater.exe differ diff --git a/Firefox46.win/App/Firefox64/updater.ini b/Firefox46.win/App/Firefox64/updater.ini new file mode 100644 index 0000000..cef35c2 --- /dev/null +++ b/Firefox46.win/App/Firefox64/updater.ini @@ -0,0 +1,21 @@ +; This Source Code Form is subject to the terms of the Mozilla Public +; License, v. 2.0. If a copy of the MPL was not distributed with this +; file, You can obtain one at http://mozilla.org/MPL/2.0/. + +; This file is in the UTF-8 encoding +[Strings] +Title=Actualización de Firefox +Info=Firefox está instalando sus actualizaciones y se iniciará en unos instantes… +MozillaMaintenanceDescription=El servicio de matenimiento de Mozilla asegura que tiene la última y más segura versión de Mozilla Firefox en su computadora. Mantener Firefox actualizado es muy importante para su seguridad en línea y Mozilla recomienda encarecidamente que mantenga este servicio habilitado. + +; IMPORTANT: This file should always start with a newline in case a locale +; provided updater.ini does not end with a newline. +; Application to launch after an update has been successfully applied. This +; must be in the same directory or a sub-directory of the directory of the +; application executable that initiated the software update. +[PostUpdateWin] +; ExeRelPath is the path to the PostUpdateWin executable relative to the +; application executable. +ExeRelPath=uninstall\helper.exe +; ExeArg is the argument to pass to the PostUpdateWin exe +ExeArg=/PostUpdate diff --git a/Firefox46.win/App/Firefox64/voucher.bin b/Firefox46.win/App/Firefox64/voucher.bin new file mode 100644 index 0000000..b04999b Binary files /dev/null and b/Firefox46.win/App/Firefox64/voucher.bin differ diff --git a/Firefox46.win/App/Firefox64/webapp-uninstaller.exe b/Firefox46.win/App/Firefox64/webapp-uninstaller.exe new file mode 100644 index 0000000..d49759e Binary files /dev/null and b/Firefox46.win/App/Firefox64/webapp-uninstaller.exe differ diff --git a/Firefox46.win/App/Firefox64/webapprt-stub.exe b/Firefox46.win/App/Firefox64/webapprt-stub.exe new file mode 100644 index 0000000..0aa18e5 Binary files /dev/null and b/Firefox46.win/App/Firefox64/webapprt-stub.exe differ diff --git a/Firefox46.win/App/Firefox64/webapprt/omni.ja b/Firefox46.win/App/Firefox64/webapprt/omni.ja new file mode 100644 index 0000000..bcb4e7f Binary files /dev/null and b/Firefox46.win/App/Firefox64/webapprt/omni.ja differ diff --git a/Firefox46.win/App/Firefox64/webapprt/webapprt.ini b/Firefox46.win/App/Firefox64/webapprt/webapprt.ini new file mode 100644 index 0000000..31efd07 --- /dev/null +++ b/Firefox46.win/App/Firefox64/webapprt/webapprt.ini @@ -0,0 +1,20 @@ + + +[App] +ID=webapprt@mozilla.org +Vendor=Mozilla +; Note: the Windows stub executable sets nsXREAppData::name to the webapp +; origin, overriding the value below, to make the app runner treat webapps +; as distinct products, per bug 747409. +Name=Webapp Runtime +Version=46.0 +BuildID=20160421124000 +UAName=Firefox + +[Gecko] +MinVersion=46.0 +MaxVersion=46.0 + +[Crash Reporter] +Enabled=1 +ServerURL=https://crash-reports.mozilla.com/submit?id=webapprt@mozilla.org&version=46.0&buildid=20160421124000 diff --git a/Firefox46.win/App/Firefox64/xul.dll b/Firefox46.win/App/Firefox64/xul.dll new file mode 100644 index 0000000..1e9c873 Binary files /dev/null and b/Firefox46.win/App/Firefox64/xul.dll differ diff --git a/Firefox46.win/App/readme.txt b/Firefox46.win/App/readme.txt new file mode 100644 index 0000000..14d4ece --- /dev/null +++ b/Firefox46.win/App/readme.txt @@ -0,0 +1 @@ +The files in this directory are necessary for Firefox Portable to function. There is normally no need to directly access or alter any of the files within these directories. \ No newline at end of file diff --git a/Firefox46.win/Data/plugins/plugins_readme.txt b/Firefox46.win/Data/plugins/plugins_readme.txt new file mode 100644 index 0000000..7192340 --- /dev/null +++ b/Firefox46.win/Data/plugins/plugins_readme.txt @@ -0,0 +1 @@ +Place Firefox plugins in this directory (Flash, Shockwave, etc) \ No newline at end of file diff --git a/Firefox46.win/Data/profile/OfflineCache/index.sqlite b/Firefox46.win/Data/profile/OfflineCache/index.sqlite new file mode 100644 index 0000000..48d39e3 Binary files /dev/null and b/Firefox46.win/Data/profile/OfflineCache/index.sqlite differ diff --git a/Firefox46.win/Data/profile/SiteSecurityServiceState.txt b/Firefox46.win/Data/profile/SiteSecurityServiceState.txt new file mode 100644 index 0000000..f366f96 --- /dev/null +++ b/Firefox46.win/Data/profile/SiteSecurityServiceState.txt @@ -0,0 +1,13 @@ +self-repair.mozilla.org:HPKP 5 17590 1519906543479,1,0,WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=r/mIkG3eEpVdm+u/ko/cwxzOMo1bk4TyHIlByibiA5E=YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg=sRHdihwgkaib1P1gxX8HFszlD+7/gTfNvuAybgLPNis= +services.addons.mozilla.org:HSTS 2 17586 1551030402475,1,0 +normandy-cloudfront.cdn.mozilla.net:HPKP 3 17249 1490441294365,1,0,WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=r/mIkG3eEpVdm+u/ko/cwxzOMo1bk4TyHIlByibiA5E=YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg=sRHdihwgkaib1P1gxX8HFszlD+7/gTfNvuAybgLPNis= +services.addons.mozilla.org:HPKP 2 17586 1524678402475,1,1,WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=r/mIkG3eEpVdm+u/ko/cwxzOMo1bk4TyHIlByibiA5E= +versioncheck-bg.addons.mozilla.org:HSTS 0 17248 1490262191048,1,0 +shavar.services.mozilla.com:HSTS 2 17590 1551356140827,1,1 +self-repair.mozilla.org:HSTS 5 17590 1551356143463,1,1 +www.google.es:HSTS 1 17590 1519823738222,1,0 +www.mozilla.org:HSTS 0 17224 1519749792609,1,0 +versioncheck-bg.addons.mozilla.org:HPKP 0 17248 1495445891048,1,1,WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=r/mIkG3eEpVdm+u/ko/cwxzOMo1bk4TyHIlByibiA5E= +aus5.mozilla.org:HSTS 2 17249 1521890945967,1,0 +normandy-cloudfront.cdn.mozilla.net:HSTS 1 17249 1521890894364,1,1 +snippets.cdn.mozilla.net:HSTS 1 17248 1521798132291,1,0 diff --git a/Firefox46.win/Data/profile/addons.json b/Firefox46.win/Data/profile/addons.json new file mode 100644 index 0000000..a06d029 --- /dev/null +++ b/Firefox46.win/Data/profile/addons.json @@ -0,0 +1 @@ +{"schema":5,"addons":[]} \ No newline at end of file diff --git a/Firefox46.win/Data/profile/blocklist.xml b/Firefox46.win/Data/profile/blocklist.xml new file mode 100644 index 0000000..0663765 --- /dev/null +++ b/Firefox46.win/Data/profile/blocklist.xml @@ -0,0 +1,4643 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + app.update.auto + app.update.enabled + app.update.interval + app.update.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + browser.startup.homepage + + + + + + security.csp.enable + security.fileuri.strict_origin_policy + security.mixed_content.block_active_content + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.search.defaultenginename + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + browser.startup.homepage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + browser.startup.homepage + browser.search.defaultenginename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + https://java.com/ + + + + + + + + + + + + + https://java.com/ + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + https://java.com/ + + + + + https://real.com/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + https://java.com/ + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + https://get.adobe.com/reader/ + + + + + https://get.adobe.com/reader/ + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + + + https://java.com/ + + + + + + + + + + + + + https://get.adobe.com/reader + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/reader/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/shockwave/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + https://java.com/ + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + https://java.com/ + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + https://java.com/ + + + + + https://java.com/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + https://java.com/ + + + + + + https://java.com/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + https://java.com/ + + + + + + + + + + + + + https://java.com/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + https://java.com/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + https://java.com/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + https://java.com/ + + + + + + https://java.com/ + + + + + + + + + https://get.adobe.com/reader + + + + + https://support.apple.com/en-us/HT205771 + + + + + + + + + + + https://java.com/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + https://java.com/ + + + + + + https://java.com/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + https://java.com/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://java.com/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + https://java.com/ + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/shockwave/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + https://get.adobe.com/reader + + + + + https://get.adobe.com/flashplayer/ + + + + + + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + https://java.com/ + + + + + https://www.microsoft.com/getsilverlight + + + + + + + + + https://get.adobe.com/flashplayer/ + + + + + + https://java.com/ + + + + + + https://java.com/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + https://get.adobe.com/flashplayer/ + + + + + + WINNT 6.1 + 0x10de + DIRECT2D + BLOCKED_DRIVER_VERSION + 8.17.12.5896 + LESS_THAN_OR_EQUAL + + 0x0a6c + + + + WINNT 6.2 + 0x1022 + DIRECT2D + BLOCKED_DRIVER_VERSION + 9.10.8.0 + LESS_THAN_OR_EQUAL + + + All + 0x8086 + BLOCKED_DRIVER_VERSION + 8.15.10.1872 + EQUAL + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + + + All + 0x8086 + BLOCKED_DRIVER_VERSION + 8.15.10.1994 + EQUAL + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + + + WINNT 5.2 + 0x8086 + HARDWARE_VIDEO_DECODING + BLOCKED_DRIVER_VERSION + 10.18.10.3947 + EQUAL + + + WINNT 6.3 + 0x8086 + HARDWARE_VIDEO_DECODING + BLOCKED_DRIVER_VERSION + 10.18.10.3947 + EQUAL + + + Darwin 12 + 0x1002 + WEBGL_MSAA + BLOCKED_DEVICE + + + Darwin 10 + 0x8086 + WEBGL_MSAA + BLOCKED_DEVICE + + + All + 0x1002 + DIRECT2D + BLOCKED_DRIVER_VERSION + 8.982.0.0 + EQUAL + + + WINNT 5.1 + 0x8086 + DIRECT3D_9_LAYERS + BLOCKED_DRIVER_VERSION + 6.14.10.5218 + LESS_THAN + + + Darwin 10 + 0x1002 + WEBGL_MSAA + BLOCKED_DEVICE + + + WINNT 5.1 + 0x8086 + HARDWARE_VIDEO_DECODING + BLOCKED_DRIVER_VERSION + 10.18.10.3947 + EQUAL + + + WINNT 6.2 + 0x1002 + DIRECT2D + BLOCKED_DRIVER_VERSION + 9.10.8.0 + LESS_THAN_OR_EQUAL + + + WINNT 10.0 + 0x8086 + HARDWARE_VIDEO_DECODING + BLOCKED_DRIVER_VERSION + 10.18.10.3947 + EQUAL + + + All + 0x1002 + DIRECT3D_9_LAYERS + BLOCKED_DRIVER_VERSION + 8.982.0.0 + EQUAL + + + WINNT 6.1 + 0x10de + DIRECT3D_9_LAYERS + BLOCKED_DRIVER_VERSION + 8.17.12.5896 + LESS_THAN_OR_EQUAL + + 0x0a6c + + + + WINNT 6.2 + 0x8086 + HARDWARE_VIDEO_DECODING + BLOCKED_DRIVER_VERSION + 10.18.10.3947 + EQUAL + + + WINNT 8.1 + 0x1002 + DIRECT2D + BLOCKED_DRIVER_VERSION + 15.201.1151.0 + LESS_THAN + + 0x6920 + 0x6921 + 0x6928 + 0x6929 + 0x692b + 0x692f + 0x6930 + 0x6938 + 0x6939 + 0x6900 + 0x6901 + 0x6902 + 0x6903 + 0x6907 + 0x7300 + 0x9870 + 0x9874 + 0x9875 + 0x9876 + 0x9877 + + + + WINNT 6.1 + 0x8086 + HARDWARE_VIDEO_DECODING + BLOCKED_DRIVER_VERSION + 10.18.10.3947 + EQUAL + + + All + 0x8086 + BLOCKED_DRIVER_VERSION + 8.15.10.2086 + EQUAL + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + + + All + 0x1022 + DIRECT3D_9_LAYERS + BLOCKED_DRIVER_VERSION + 8.982.0.0 + EQUAL + + + Darwin 11 + 0x1002 + WEBGL_MSAA + BLOCKED_DEVICE + + + Darwin 11 + 0x8086 + WEBGL_MSAA + BLOCKED_DEVICE + + + All + 0x8086 + BLOCKED_DRIVER_VERSION + 8.15.10.1855 + EQUAL + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + + + WINNT 6.1 + 0x1002 + DIRECT3D_9_LAYERS + BLOCKED_DEVICE + + 0x9802 + 0x9803 + 0x9803 + 0x9804 + 0x9805 + 0x9806 + 0x9807 + + + + WINNT 6.0 + 0x8086 + HARDWARE_VIDEO_DECODING + BLOCKED_DRIVER_VERSION + 10.18.10.3947 + EQUAL + + + Darwin 12 + 0x10de + WEBGL_MSAA + BLOCKED_DEVICE + + + Darwin 12 + 0x8086 + WEBGL_MSAA + BLOCKED_DEVICE + + + Darwin 11 + 0x10de + WEBGL_MSAA + BLOCKED_DEVICE + + + All + 0x8086 + BLOCKED_DRIVER_VERSION + 8.15.10.1851 + EQUAL + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + + + WINNT 6.1 + 0x1002 + DIRECT2D + BLOCKED_DEVICE + + 0x9802 + 0x9803 + 0x9803 + 0x9804 + 0x9805 + 0x9806 + 0x9807 + + + + Darwin 10 + 0x10de + WEBGL_MSAA + BLOCKED_DEVICE + + + All + 0x8086 + BLOCKED_DRIVER_VERSION + 8.15.10.1883 + EQUAL + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + + + All + 0x8086 + BLOCKED_DRIVER_VERSION + 8.15.10.1892 + EQUAL + + 0x2a42 + 0x2e22 + 0x2e12 + 0x2e32 + 0x0046 + + + + All + 0x1022 + DIRECT2D + BLOCKED_DRIVER_VERSION + 8.982.0.0 + EQUAL + + + WINNT 5.1 + 0x8086 + WEBGL_ANGLE + BLOCKED_DRIVER_VERSION + 6.14.10.5218 + LESS_THAN + + + + WINNT 10.0 + 0x1002 + DIRECT2D + BLOCKED_DRIVER_VERSION + 15.201.1151.0 + LESS_THAN + + 0x6920 + 0x6921 + 0x6928 + 0x6929 + 0x692b + 0x692f + 0x6930 + 0x6938 + 0x6939 + 0x6900 + 0x6901 + 0x6902 + 0x6903 + 0x6907 + 0x7300 + 0x9870 + 0x9874 + 0x9875 + 0x9876 + 0x9877 + + + + All + 0x8086 + DIRECT2D + BLOCKED_DRIVER_VERSION + 8.15.10.2413 + LESS_THAN_OR_EQUAL + + + WINNT 5.1 + 0x10de + DIRECT3D_9_LAYERS + BLOCKED_DRIVER_VERSION + 7.0.0.0 + GREATER_THAN_OR_EQUAL + + + + + RH7WhshwXRK6f0VfOfjXgQ== + + + BAAAAAABElatX7I= + + + d8AtKymQwkOPDBj+hjPzFg== + + + ByfNeA== + + + SurdtfsuPcXXDpY2LkBpYO6BT7o= + + + BAAAAAABHkSHlSo= + + + VLm3Xe60+1YgPpXCGtXLng== + + + ESBrHE7sFC7CQ8EM681xA3CY + + + ESBqoILo90ntDW7OTK43MS2F + + + BAAAAAABIBnBjWg= + + + e0bEFhI16xx9U1yvlI56rA== + + + cDggUYfwJ3A1YcdoeT6s4A== + + + AUa47POQ1dN5 + + + RnQ3dg5KdDZs0nyFZk4= + + + BAAAAAABK84ykc0= + + + BAAAAAABL07hTcY= + + + BAAAAAABKUXDqxw= + + + D9UltDPl4XVfSSqQOvdiwQ== + + + BAAAAAABMYnGRuw= + + + DHmmaw== + + + RFlmmjulj6Ve7PfBi44nnw== + + + Aw== + + + Bydp0g== + + + Ermwxw== + + + BAAAAAABL07hUBg= + + + Pgyeh2mqlVzqI9hFntRbUQ== + + + CrTHPEE6AZSfI3jysin2bA== + + + Gg== + + + AJiWmg== + + + TA5iEg== + + + AN9bfYOvlR1t + + + BAAAAAABJZbEU4I= + + + CqL7CA== + + + BAAAAAABHhw1vwc= + + + ESJJweWBPhoXAaB9c8SHwI4O + + + GN2Hrh9Ltm4= + + + e9JTGBe45yw= + + + P6G7IYSL2RZxtzTh8I6qPA== + + + Bydrxg== + + + BAAAAAABJQcQRNU= + + + RurwlgVMxeP6Zepun0LGZA== + + + AQAAAAU= + + + BAAAAAABAJmPjfQ= + + + UUFV3S2cUidOOv7ESN65Ng== + + + Byc85g== + + + AQAAAAQ= + + + CcHC1w== + + + Ajp/ + + + O2S99lVUxErLSk56GvWRv+E= + + + ARQ= + + + CjM= + + + F5BhE0zbgQ== + + + K1ftto7Xcb0YKwQ6uMvOIA== + + + UW3oKZKTDsrPy/rfwmGNaQ== + + + TA6BjA== + + + H08= + + + ESISuBo/wdW2tBztKmHdFCFz + + + BAAAAAABFqoAZoI= + + + ESCEUbthDurBjJw0/h/FfuNY + + + U3t2Vk8pfxTcaUPpIq0seQ== + + + Gd/pPu+qLnXUdvP9sW73CQ== + + + Byc68g== + + + BAAAAAABGMG0Gmw= + + + By7fBTreouRwX/qrpgSUsg== + + + ATFpsA== + + + QZCrvA== + + + a12RvBNhznU= + + + GN2Hrh9LtnI= + + + OhrtngFwotLcm4i+z00SjA== + + + Eg== + + + fwAAAQAAAUrz/HmrAAAAAg== + + + Bydxog== + + + GdXz4L1b6FKNCMG9Jz2tjA== + + + EA== + + + CqZgEvHAsnzkT//QV9KjXw== + + + ESCyHU+xOECnh9Rf2IvgR8zS + + + CqnbFQ== + + + Jq6jgeApiT9O4W2Tx/NTRQ== + + + YRJNfMoc12IpmW+Enpv3Pdo= + + + YNOos6YJoPC77qwSGCpb7w== + + + F7PAjw2k0dTX5escPnyVOBo= + + + BAAAAAABHkSl6mw= + + + CcL+EA== + + + Cd/dug== + + + Sx51x7V8pYe8rp7PMP/3qg== + + + MABJSw== + + + BAAAAAABMrS7t2g= + + + Ajp+ + + + YR0zGQAAAAAAAw== + + + F5Bg/C8eXg== + + + AKrMYlJmUUin8FOM/0TJrmk= + + + VOcIuNbTqkpOMUyI108FOg== + + + fMTRbGCp280pnyE/u53zbA== + + + HZyLf+K70FKc+jomm8DiDw== + + + DA== + + + GN2Hrh9Ltms= + + + ZECgRdZEsns= + + + HxT1XSjIpzjMprp9Qu1gYQ== + + + CdYL9vSQCEKzBwjO10ud2w== + + + CMNfzETd7XxesS9FOUj9Mg== + + + CLc= + + + ATFEdg== + + + BAAAAAABIg08D3U= + + + QDi5sQ== + + + Aa8e+91erglSMgsk/mtVaA== + + + A9GPKQ8jv9oIxfwiOy7qxQ== + + + AjqL + + + LnfcUaXG/pxV2CpXM5+YSg== + + + AImQERVYPoeb + + + BGU= + + + Hwexgn/ZCJicZPcsIyI8zxQ= + + + Fw== + + + UU3AP1SMxmyhBFq7MRFZmf0= + + + BHk= + + + ESByNJZ5TPjg9iZyL6a/h5Zx + + + XLhHIg7vP+tWfRqvuKeAxw== + + + BAAAAAABJpQ0AbA= + + + BAAAAAAA+X/GIyk= + + + Iw== + + + NTgf4iwIfeyJPIomw2dwSXEwtxQ= + + + Xbevr3ut3Z9m1GuXC9SonA== + + + Mq0P6o03FDk0B2bnJ+mYPGo= + + + Hnms0W0OxHSYE2F0XE97sw== + + + JLiDzgpL7oFNgJN+jIjt7w== + + + F5Bg6C237Q== + + + cJ+vg4742XhNgJW2ot9eIg== + + + DYifRdP6aQQ8MLbXZY2f5g== + + + e7wSpVxmgAS5/ioLi2iBIA== + + + Cfk9lw== + + + DA== + + + EqthLKdUgwI= + + + BAAAAAABCFiEp9s= + + + BAAAAAABJ/ufRdg= + + + M64Z5ufZzDRVTHkJR1uXzw== + + + BAAAAAABGMGjftY= + + + AJiU+bpWh2Uc4xFRf8GM9yA= + + + TqfXw+FkhxfVgE9GVMgjWQ== + + + ESC8DawWRiAyEMd38UXbfgPR + + + EAdmaA== + + + BAAAAAABJ/ufQg8= + + + BAAAAAABLM/7qjk= + + + BAAAAAABHkSl7L4= + + + F5Bg+EziQQ== + + + Aw== + + + IIxFSyNM6mWtCgTG0IL3Og== + + + DjIvBkX+ECVbB/C3i6w2Gg== + + + Cbssdw== + + + HA== + + + ESAyW/JX3+hZIp44EAMlXU2b + + + BAAAAAABKB/OGqI= + + + bzTw0uq05TUYEGS98bh0Ww== + + + BydKkg== + + + BAAAAAABIg08FMU= + + + QZCrvQ== + + + Qh/QbQ== + + + BAAAAAABHkSl6Co= + + + Iqpyf/YoGgvHc8HiDAxAI8o= + + + MABJTA== + + + F5BhENPfVw== + + + U3SgRR3J+D6575WuCxuXeQ== + + + Qh/SnQ== + + + ZgwfEqZnBsUNvNuZ77FbQA== + + + ByfHkw== + + + Qh/O5w== + + + Cw== + + + ESCVop+Q4/OBgtf4WJkr01Gh + + + BA== + + + CSU= + + + OqQ2rV0ISTc308Z/oQgzFw== + + + U+1Y1QpJc0FOR5JdCJ01gQ== + + + APdCebq8ZyZr/T0luxlicNw= + + + FJl6tXgNpSk= + + + TA6EVg== + + + BQ== + + + 45KI4WIxyXfNrdtdj7C6 + + + BAAAAAABHkSl5ao= + + + L79XLVO2ZmtAu7FAG8Wmzw== + + + bAOrKSMsmA0MLJyAJ5BRsUM= + + + QDi5rw== + + + BAAAAAABF2Tb8Bc= + + + VBSf+IncsTB3RZS4KFCJPQ== + + + BAAAAAABK84yjs8= + + + TurPPI6eivtNeGYdM0ZWXQ== + + + BAAAAAABHJRKNmk= + + + Rvm2CEw2IC2Mu/ax0A46QQ== + + + ATE3ew== + + + ESByYNtAIfizf2L3NMzCH8zZ + + + frj5jTuqBnQ4fljPvVU3KA== + + + Er0moq4zwH8ke2pYafIKdg== + + + J2La+q+JOURNWkX60OP2lQ== + + + LTRcDHabRHU= + + + B+U= + + + Ig== + + + BAAAAAABHkSHjz8= + + + RUT1Gehd1KKYPfqOlgspoQ== + + + ESCC9oPNcRdPOox+SjWm9dTX + + + FQ== + + + QDi5sA== + + + TrKEMhb2PKktH8lHg0AV5A== + + + WD1AyQAAAAAAJQ== + + + BAAAAAABFUtaxac= + + + NMpMcEnex3eXx4ohk9glcQ== + + + UoRGnb96CUDTxIqVry6LBg== + + + VfTSum25nb65YPlpuhJAvg== + + + STMAFQ== + + + BydiAg== + + + KuzHPJLdK5hNgJRo3R47Ag== + + + BAAAAAABMxvC9bk= + + + JpUvYJyWjdGmeoH7YcYunw== + + + OnvXX72mvUI2Id/NMzegmg== + + + Bw== + + + acI1CFIgmwSFBoU5+ahDgg== + + + GtXUVojhwOTkaQ4bTKblEQ== + + + buROL/l2GuXISv+/JVLkdA== + + + BAAAAAABA/A35EU= + + + ORFgmCj072NjcJnrxOMfQA== + + + BYyEX2b5+K+myAIR7eXaRQ== + + + VUtahOwvvmJFwlvmGDZP5w== + + + Ermwtg== + + + Cfk9qg== + + + e/fIfg2Dj2tkYIWVu2r82Cc= + + + BAAAAAABJ/v3ZwA= + + + SdegFrLaFTCsoMAW5ED+zA== + + + XhcFm2g619rt8Sro+a4rHA== + + + AuhvPsYZfVP6UDsuyjeZ4Q== + + + ANX8SnNRxCmsE/GCl5hw+8A= + + + bx/XHJqcwxDOptxJ2lh5vw== + + + Ew== + + + WX89jn8yGZVvoKTD9jDfRQ== + + + BAAAAAABCUVQ9No= + + + AQAAAAA= + + + fWK0j/Vi8vNWg3VAGjc02w== + + + BXA= + + + STMAeg== + + + EEpERSryZFMagbsNw/WoWQ== + + + OUvvVscW0/NltofkmV9qmg== + + + ESCLRVuhcUZaluIgIVlRJx+O + + + BAAAAAABJQdAjik= + + + F6QlB/yX+A== + + + Bydr0Q== + + + cXXMzbWDHMIdCotb3h64yw== + + + ESCis569omrbb20yySF39+aE + + + dItWlz2V62Philqj9m6Pbg== + + + cpqpXVWPk5AXzGw+zNIcBw== + + + BAAAAAABRE7wRk4= + + + Qh/SqA== + + + YR3YYQAAAAAABA== + + + BYOGvG32ukb1Yxj2oKoFyw== + + + NvEJoRYL2yvAZrAjbDIipQ== + + + fbsHfUkagQtznc3rtY1uDg== + + + GN2Hrh9LtnA= + + + DAk9hy8DhHSo+aQetvPB/fY= + + + CSY= + + + QZBvapTZFvmYktEPsBYLQQ== + + + PAdKZPiaac2CvPxbOrsHOw== + + + BydeGg== + + + AjpW + + + Bg== + + + OfJBIhFwAdQ= + + + Byeaqw== + + + BA== + + + BAAAAAABM6d3Z0s= + + + JV/LVzSKI/wsDgg3UuZHlA== + + + FNISyWWTGi5Yco6fGh58/A== + + + FJl6tXgNpSg= + + + ByeQ9g== + + + QAAnEQ== + + + VN2yeFexyXjPf34fHGmbhg== + + + BAAAAAABLF5/Gog= + + + GpO48aJ8GngtwECqZhm/xA== + + + EM8bDLBnnoYe4LnWpLIhS4esr3I= + + + IyIVazG4RE9AERkb+ekH8w== + + + E77H6yvyFQjO0PcN3x0H+Q== + + + AQAAAAI= + + + Ew1ee9Jq7Q/Dig3ACF4V6Q== + + + a9/VeyVWrzFD7rM2PEHwQA== + + + Xrr31RF0DoIzMKXS6XtD+g== + + + UV9aaDeNRNtQuXjRYk4Skhg= + + + ESDItX4ruWiLnrlz0rk4/bmz + + + AJBQSPqrEvDE2Hz8xH39Low= + + + eLumDUO40KwnecZLJxFM2A== + + + BwImeaRkSZQLYwFREwKo3R1Jn+8= + + + Aw1SPC56593ZCZ9vCNHKwQ== + + + UVKsEezpGWOVQ4W9esstng== + + + Cj0= + + + UMUwXwT1Z4juyQ/CNTf4mw== + + + XJ8pGvGNM9RIcLUG9YQjLQ== + + + STMAjg== + + + UKKK5ol/rKBZchAAOnZjaA== + + + BAAAAAABLF5/HXY= + + + LizeWXFWP5pZPI/dLc+PVQ== + + + CcHC/g== + + + COwoDFvz7GD8R2K7Lo0rYQ== + + + Nbc68Q8EHza72P/hSWcddw== + + + ByfFnw== + + + L1fHogsVxmfMBka5q4uzaQ== + + + J8mznxvTvOR5p4Br3a3sm5j5iM0= + + + TAA2G+UIK6mqznQKBT77NA== + + + ANygrItIJ2rcKlyS3Lue07U= + + + CgFBQgAAAUFcf/EVAAAAAg== + + + ESD9YhzIEOwiOT7Nwip+E1KI + + + CeagHQ== + + + ALxyZmb/WL/wAuUiPK5oK/g= + + + OYBKgxEHpW/8XGAGAlvJyMA= + + + AjqK + + + RnQ3dYovwvB0D5q2YGY= + + + D/wZ7+m1Mv8SONSEFcs73w== + + + IA== + + + LdbnCbsA9sOgI4mkUpWXPw== + + + GN2Hrh9LtnM= + + + Os2rnHWYhryvdOXfgan06A== + + + ESDu2nhlLPzfx+LYgjlYFP/k + + + EQ== + + + BAAAAAABHkSl5AQ= + + + BAAAAAABHkSHki0= + + + BAAAAAABCfhiO+s= + + + BydInw== + + + Bye2Cg== + + + AygWP2Fgd2T+iLbmAlKT6g== + + + L7tgs/W85vnhV7I7qJ6N/g== + + + BAAAAAABI54PryQ= + + + BAAAAAABKUXDqA8= + + + AQAAAAM= + + + R4af5A== + + + BAAAAAABJQcQQN0= + + + EDQMI0tR4kSntv1O37N10g== + + + Cfk9oA== + + + Ikdj3zYXXGsC/Afm9Tvx+g== + + + CeFU2w== + + + CskruA== + + + BUrYjru5px1ym4QUN33TOQ== + + + TXxtAQ== + + + ESDDtMgFFiaUfKo7HD9qImM7 + + + BydSYg== + + + Aw== + + + Cyr1PA== + + + U4P1tUoxl/XkztlVHdtdgw== + + + sPNcCSE9Nkg3jy5IN1xe2Q== + + + E5I2y6sIonl4a+TmlXc7fw== + + + LU4d0t7PAsZNgJGZcb+o/w== + + + Byd5cg== + + + CdWFNw== + + + AIChpbGNqu4XKp9J70syKEs= + + + M0VSOewW3WI= + + + KjoVfZ3by6+pL8fssyfM6A== + + + BAAAAAABBHYoIFs= + + + JD1wxDd8IgmiqX7MyPPg1g== + + + BAAAAAABHJRKMpA= + + + eR1nUEz8k+nDSBD+bb5uIQ== + + + Ai7cBJYqBE0I9NdyoZfRrw== + + + ESDYXNBhF+dePFjojs7u2vj1 + + + AQw= + + + WJ2qHzWUqTk= + + + ezdAeCxKH7BFs7vn3byYaw== + + + ATE0vw== + + + ByembA== + + + BAAAAAABAPpuVh0= + + + a9rf7/BmG9JkKvRuy7J5QA== + + + OE4/d+p3YRzzcSl+kmZ8Mw== + + + HNo1DR4XCe4mS1iUMsY6Wg== + + + BAAAAAABEAuMoRs= + + + CWhp + + + Ermw0Q== + + + diff --git a/Firefox46.win/Data/profile/bookmarks.html b/Firefox46.win/Data/profile/bookmarks.html new file mode 100644 index 0000000..040a09a --- /dev/null +++ b/Firefox46.win/Data/profile/bookmarks.html @@ -0,0 +1,24 @@ + + + +Marcadores +

Marcadores

+ +

+

Carpeta de barra de marcadores

+
Agregue marcadores a esta carpeta para verlos en la barra de marcadores +

+

Primeros pasos +
Últimas noticias +

+

Mozilla Firefox

+

+

Ayuda y tutoriales +
Personalizar Firefox +
Involúcrese +
Acerca de nosotros +

+

PortableApps.com +

diff --git a/Firefox46.win/Data/profile/cache2/entries/039C1E554833F827F62126AFD44BDA3C3F80AF09 b/Firefox46.win/Data/profile/cache2/entries/039C1E554833F827F62126AFD44BDA3C3F80AF09 new file mode 100644 index 0000000..cbd6648 Binary files /dev/null and b/Firefox46.win/Data/profile/cache2/entries/039C1E554833F827F62126AFD44BDA3C3F80AF09 differ diff --git a/Firefox46.win/Data/profile/cache2/entries/61A5591E7451FA3BB8BD353B5ED5DCFA00790F13 b/Firefox46.win/Data/profile/cache2/entries/61A5591E7451FA3BB8BD353B5ED5DCFA00790F13 new file mode 100644 index 0000000..2f7eb34 Binary files /dev/null and b/Firefox46.win/Data/profile/cache2/entries/61A5591E7451FA3BB8BD353B5ED5DCFA00790F13 differ diff --git a/Firefox46.win/Data/profile/cache2/entries/831315DAE633135825CBA13DA29959D2095C6A72 b/Firefox46.win/Data/profile/cache2/entries/831315DAE633135825CBA13DA29959D2095C6A72 new file mode 100644 index 0000000..fc0cefd Binary files /dev/null and b/Firefox46.win/Data/profile/cache2/entries/831315DAE633135825CBA13DA29959D2095C6A72 differ diff --git a/Firefox46.win/Data/profile/cert8.db b/Firefox46.win/Data/profile/cert8.db new file mode 100644 index 0000000..ecae959 Binary files /dev/null and b/Firefox46.win/Data/profile/cert8.db differ diff --git a/Firefox46.win/Data/profile/compatibility.ini b/Firefox46.win/Data/profile/compatibility.ini new file mode 100644 index 0000000..a4df739 --- /dev/null +++ b/Firefox46.win/Data/profile/compatibility.ini @@ -0,0 +1,7 @@ +[Compatibility] +LastVersion=46.0_20160421124000/20160421124000 +LastOSABI=WINNT_x86_64-msvc +LastPlatformDir=\\psf\Home\Downloads\MAC\Firefox46.win\App\firefox64 +LastAppDir=\\psf\Home\Downloads\MAC\Firefox46.win\App\firefox64\browser + +InvalidateCaches=1 diff --git a/Firefox46.win/Data/profile/content-prefs.sqlite b/Firefox46.win/Data/profile/content-prefs.sqlite new file mode 100644 index 0000000..d532c3a Binary files /dev/null and b/Firefox46.win/Data/profile/content-prefs.sqlite differ diff --git a/Firefox46.win/Data/profile/cookies.sqlite b/Firefox46.win/Data/profile/cookies.sqlite new file mode 100644 index 0000000..718c9d9 Binary files /dev/null and b/Firefox46.win/Data/profile/cookies.sqlite differ diff --git a/Firefox46.win/Data/profile/crashes/store.json.mozlz4 b/Firefox46.win/Data/profile/crashes/store.json.mozlz4 new file mode 100644 index 0000000..5e3546c Binary files /dev/null and b/Firefox46.win/Data/profile/crashes/store.json.mozlz4 differ diff --git a/Firefox46.win/Data/profile/datareporting/archived/2018-02/1519494422562.c5ada131-c759-42b1-83c8-5d4fd3f8dd60.main.jsonlz4 b/Firefox46.win/Data/profile/datareporting/archived/2018-02/1519494422562.c5ada131-c759-42b1-83c8-5d4fd3f8dd60.main.jsonlz4 new file mode 100644 index 0000000..9940c71 Binary files /dev/null and b/Firefox46.win/Data/profile/datareporting/archived/2018-02/1519494422562.c5ada131-c759-42b1-83c8-5d4fd3f8dd60.main.jsonlz4 differ diff --git a/Firefox46.win/Data/profile/datareporting/archived/2018-02/1519820152569.bbc6b704-7aad-41b8-b05f-d93f2ae195ed.main.jsonlz4 b/Firefox46.win/Data/profile/datareporting/archived/2018-02/1519820152569.bbc6b704-7aad-41b8-b05f-d93f2ae195ed.main.jsonlz4 new file mode 100644 index 0000000..e9d3328 Binary files /dev/null and b/Firefox46.win/Data/profile/datareporting/archived/2018-02/1519820152569.bbc6b704-7aad-41b8-b05f-d93f2ae195ed.main.jsonlz4 differ diff --git a/Firefox46.win/Data/profile/datareporting/session-state.json b/Firefox46.win/Data/profile/datareporting/session-state.json new file mode 100644 index 0000000..168295a --- /dev/null +++ b/Firefox46.win/Data/profile/datareporting/session-state.json @@ -0,0 +1 @@ +{"sessionId":"285db9a9-d374-43e8-90b4-8d7abfc77c34","subsessionId":"64ee7ac8-9d33-457a-af28-954a2390499d","profileSubsessionCounter":10} \ No newline at end of file diff --git a/Firefox46.win/Data/profile/datareporting/state.json b/Firefox46.win/Data/profile/datareporting/state.json new file mode 100644 index 0000000..27af569 --- /dev/null +++ b/Firefox46.win/Data/profile/datareporting/state.json @@ -0,0 +1 @@ +{"clientID":"2e10fb38-6b14-4c44-bc94-834d0f4989cb"} \ No newline at end of file diff --git a/Firefox46.win/Data/profile/directoryLinks.json b/Firefox46.win/Data/profile/directoryLinks.json new file mode 100644 index 0000000..89e68ed --- /dev/null +++ b/Firefox46.win/Data/profile/directoryLinks.json @@ -0,0 +1 @@ +{"directory": [{"bgColor": "", "directoryId": 8169, "enhancedImageURI": "https://tiles-cloudfront.cdn.mozilla.net/images/f47b083bb42ca1a8107e62e448b02e0f5e0b5c7b.95761.png", "imageURI": "https://tiles-cloudfront.cdn.mozilla.net/images/f47b083bb42ca1a8107e62e448b02e0f5e0b5c7b.95761.png", "title": "Comunidad Mozilla", "type": "affiliate", "url": "http://contribute.mozilla.org/"}, {"bgColor": "", "directoryId": 8155, "enhancedImageURI": "https://tiles-cloudfront.cdn.mozilla.net/images/12abda9be001265d0721947e520149fb781562b8.10301.png", "imageURI": "https://tiles-cloudfront.cdn.mozilla.net/images/12abda9be001265d0721947e520149fb781562b8.10301.png", "title": "Mozilla Developer Network", "type": "affiliate", "url": "https://developer.mozilla.org/es/?utm_source=mozilla&utm_medium=firefox-tile&utm_campaign=default"}, {"bgColor": "", "directoryId": 8147, "enhancedImageURI": "https://tiles-cloudfront.cdn.mozilla.net/images/46a5563620a3f54594d4e044fe0b0442401d5035.27276.png", "imageURI": "https://tiles-cloudfront.cdn.mozilla.net/images/46a5563620a3f54594d4e044fe0b0442401d5035.27276.png", "title": "Mozilla Webmaker", "type": "affiliate", "url": "https://webmaker.org/?utm_source=directory-tiles&utm_medium=firefox-browser"}, {"bgColor": "", "directoryId": 8135, "enhancedImageURI": "https://tiles-cloudfront.cdn.mozilla.net/images/af34c0541c6cdff392ec4414cb5949fa7012271d.17141.png", "imageURI": "https://tiles-cloudfront.cdn.mozilla.net/images/af34c0541c6cdff392ec4414cb5949fa7012271d.17141.png", "title": "Firefox Sync", "type": "affiliate", "url": "http://mozilla-europe.org/firefox/sync"}, {"bgColor": "", "directoryId": 2426, "enhancedImageURI": "https://tiles-cloudfront.cdn.mozilla.net/images/5ebc70708698ee514c5413e0500bb9d1c0e23885.12193.png", "imageURI": "https://tiles-cloudfront.cdn.mozilla.net/images/151586a3f4da336a02429d6378e2d1be26f44896.6725.png", "title": "Privacidad", "type": "affiliate", "url": "https://www.mozilla.org/privacy/tips/?utm_source=directory-tiles&utm_medium=tiles&utm_content=PrivacyV1&utm_campaign=desktop"}], "suggested": []} \ No newline at end of file diff --git a/Firefox46.win/Data/profile/extensions.ini b/Firefox46.win/Data/profile/extensions.ini new file mode 100644 index 0000000..9892362 --- /dev/null +++ b/Firefox46.win/Data/profile/extensions.ini @@ -0,0 +1,6 @@ +[ExtensionDirs] + +[ThemeDirs] +Extension0=D:\GitHub\InciManager_e1b\Firefox46.win\App\firefox64\browser\extensions\{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi + +[MultiprocessIncompatibleExtensions] diff --git a/Firefox46.win/Data/profile/extensions.json b/Firefox46.win/Data/profile/extensions.json new file mode 100644 index 0000000..1f86707 --- /dev/null +++ b/Firefox46.win/Data/profile/extensions.json @@ -0,0 +1 @@ +{"schemaVersion":17,"addons":[{"id":"e10srollout@mozilla.org","syncGUID":"2HDpBFg5PAgP","location":"app-system-defaults","version":"1.0","type":"extension","internalName":null,"updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null,"icons":{},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Multi-process staged rollout","description":"Staged rollout of Firefox multi-process feature.","creator":null,"homepageURL":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"\\\\psf\\Home\\Downloads\\MAC\\Firefox46.win\\App\\firefox64\\browser\\features\\e10srollout@mozilla.org.xpi","installDate":1461287154000,"updateDate":1461287154000,"applyBackgroundUpdates":1,"bootstrap":true,"skinnable":false,"size":4778,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":false,"locales":[],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"46.0","maxVersion":"46.0"}],"targetPlatforms":[],"multiprocessCompatible":false,"seen":true},{"id":"firefox@getpocket.com","syncGUID":"ZkokwaBkQ5uu","location":"app-system-defaults","version":"1.0","type":"extension","internalName":null,"updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null,"icons":{},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Pocket","description":"When you find something you want to view later, put it in Pocket.","creator":null,"homepageURL":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"\\\\psf\\Home\\Downloads\\MAC\\Firefox46.win\\App\\firefox64\\browser\\features\\firefox@getpocket.com.xpi","installDate":1461287154000,"updateDate":1461287154000,"applyBackgroundUpdates":1,"bootstrap":true,"skinnable":false,"size":893389,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":false,"locales":[],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"46.0","maxVersion":"46.0"}],"targetPlatforms":[],"multiprocessCompatible":false,"seen":true},{"id":"loop@mozilla.org","syncGUID":"Q4sPIN6VK8jm","location":"app-system-defaults","version":"1.2.6","type":"extension","internalName":null,"updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null,"icons":{},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Firefox Hello","description":"Web sharing for Firefox","creator":"Mozilla","homepageURL":null},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"\\\\psf\\Home\\Downloads\\MAC\\Firefox46.win\\App\\firefox64\\browser\\features\\loop@mozilla.org.xpi","installDate":1461287154000,"updateDate":1461287154000,"applyBackgroundUpdates":1,"bootstrap":true,"skinnable":false,"size":4185303,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":false,"locales":[],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"46.0a1","maxVersion":"46.*"},{"id":"xpcshell@tests.mozilla.org","minVersion":"0","maxVersion":"10"}],"targetPlatforms":[],"multiprocessCompatible":false,"seen":true},{"id":"{972ce4c6-7e08-4474-a285-3208198ce6fd}","syncGUID":"YaXbUCdTM0Yh","location":"app-global","version":"46.0","type":"theme","internalName":"classic/1.0","updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null,"icons":{"32":"icon.png","48":"icon.png"},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Default","description":"The default theme.","creator":"Mozilla","homepageURL":null,"contributors":["Mozilla Contributors"]},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"\\\\psf\\Home\\Downloads\\MAC\\Firefox46.win\\App\\firefox64\\browser\\extensions\\{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi","installDate":1461287154000,"updateDate":1461287154000,"applyBackgroundUpdates":1,"skinnable":true,"size":22006,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"46.0","maxVersion":"46.0"}],"targetPlatforms":[],"seen":true}]} \ No newline at end of file diff --git a/Firefox46.win/Data/profile/formhistory.sqlite b/Firefox46.win/Data/profile/formhistory.sqlite new file mode 100644 index 0000000..139fd2b Binary files /dev/null and b/Firefox46.win/Data/profile/formhistory.sqlite differ diff --git a/Firefox46.win/Data/profile/frequencyCap.json b/Firefox46.win/Data/profile/frequencyCap.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/Firefox46.win/Data/profile/frequencyCap.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/Firefox46.win/Data/profile/gmp-eme-adobe/17/eme-adobe.dll b/Firefox46.win/Data/profile/gmp-eme-adobe/17/eme-adobe.dll new file mode 100644 index 0000000..fc8153a Binary files /dev/null and b/Firefox46.win/Data/profile/gmp-eme-adobe/17/eme-adobe.dll differ diff --git a/Firefox46.win/Data/profile/gmp-eme-adobe/17/eme-adobe.info b/Firefox46.win/Data/profile/gmp-eme-adobe/17/eme-adobe.info new file mode 100644 index 0000000..feb0d42 --- /dev/null +++ b/Firefox46.win/Data/profile/gmp-eme-adobe/17/eme-adobe.info @@ -0,0 +1,5 @@ +Name: Primetime Content Decryption Module provided by Adobe Systems, Incorporated +Description: Provides support for playing back protected web video +Version: 17 +APIs: decode-video[com.adobe.primetime:h264], decode-audio[com.adobe.primetime:aac], eme-decrypt-v7[com.adobe.primetime] +Libraries: dxva2.dll diff --git a/Firefox46.win/Data/profile/gmp-eme-adobe/17/eme-adobe.voucher b/Firefox46.win/Data/profile/gmp-eme-adobe/17/eme-adobe.voucher new file mode 100644 index 0000000..50ac9dc Binary files /dev/null and b/Firefox46.win/Data/profile/gmp-eme-adobe/17/eme-adobe.voucher differ diff --git a/Firefox46.win/Data/profile/gmp-gmpopenh264/1.6/gmpopenh264.dll b/Firefox46.win/Data/profile/gmp-gmpopenh264/1.6/gmpopenh264.dll new file mode 100644 index 0000000..826c3c8 Binary files /dev/null and b/Firefox46.win/Data/profile/gmp-gmpopenh264/1.6/gmpopenh264.dll differ diff --git a/Firefox46.win/Data/profile/gmp-gmpopenh264/1.6/gmpopenh264.info b/Firefox46.win/Data/profile/gmp-gmpopenh264/1.6/gmpopenh264.info new file mode 100644 index 0000000..962e968 --- /dev/null +++ b/Firefox46.win/Data/profile/gmp-gmpopenh264/1.6/gmpopenh264.info @@ -0,0 +1,4 @@ +Name: gmpopenh264 +Description: GMP Plugin for OpenH264. +Version: 1.6.0 +APIs: encode-video[h264], decode-video[h264] diff --git a/Firefox46.win/Data/profile/jumpListCache/+BH8sJ_fqTR66G0DfmfSEQ==.ico b/Firefox46.win/Data/profile/jumpListCache/+BH8sJ_fqTR66G0DfmfSEQ==.ico new file mode 100644 index 0000000..19fd698 Binary files /dev/null and b/Firefox46.win/Data/profile/jumpListCache/+BH8sJ_fqTR66G0DfmfSEQ==.ico differ diff --git a/Firefox46.win/Data/profile/jumpListCache/8nO7CRPUERgx5SlbZoDCtg==.ico b/Firefox46.win/Data/profile/jumpListCache/8nO7CRPUERgx5SlbZoDCtg==.ico new file mode 100644 index 0000000..6398729 Binary files /dev/null and b/Firefox46.win/Data/profile/jumpListCache/8nO7CRPUERgx5SlbZoDCtg==.ico differ diff --git a/Firefox46.win/Data/profile/jumpListCache/McXMFZ2RQyVmdzM+rh9iGA==.ico b/Firefox46.win/Data/profile/jumpListCache/McXMFZ2RQyVmdzM+rh9iGA==.ico new file mode 100644 index 0000000..cf73661 Binary files /dev/null and b/Firefox46.win/Data/profile/jumpListCache/McXMFZ2RQyVmdzM+rh9iGA==.ico differ diff --git a/Firefox46.win/Data/profile/jumpListCache/RanwdIPJnFGr54OaaJ4zYA==.ico b/Firefox46.win/Data/profile/jumpListCache/RanwdIPJnFGr54OaaJ4zYA==.ico new file mode 100644 index 0000000..cc067a5 Binary files /dev/null and b/Firefox46.win/Data/profile/jumpListCache/RanwdIPJnFGr54OaaJ4zYA==.ico differ diff --git a/Firefox46.win/Data/profile/jumpListCache/sdFdjyiHUs19Gq+nATcpBw==.ico b/Firefox46.win/Data/profile/jumpListCache/sdFdjyiHUs19Gq+nATcpBw==.ico new file mode 100644 index 0000000..cc067a5 Binary files /dev/null and b/Firefox46.win/Data/profile/jumpListCache/sdFdjyiHUs19Gq+nATcpBw==.ico differ diff --git a/Firefox46.win/Data/profile/key3.db b/Firefox46.win/Data/profile/key3.db new file mode 100644 index 0000000..705dc29 Binary files /dev/null and b/Firefox46.win/Data/profile/key3.db differ diff --git a/Firefox46.win/Data/profile/localstore.rdf b/Firefox46.win/Data/profile/localstore.rdf new file mode 100644 index 0000000..c5743c0 --- /dev/null +++ b/Firefox46.win/Data/profile/localstore.rdf @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Firefox46.win/Data/profile/mimeTypes.rdf b/Firefox46.win/Data/profile/mimeTypes.rdf new file mode 100644 index 0000000..29a6694 --- /dev/null +++ b/Firefox46.win/Data/profile/mimeTypes.rdf @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Firefox46.win/Data/profile/parent.lock b/Firefox46.win/Data/profile/parent.lock new file mode 100644 index 0000000..e69de29 diff --git a/Firefox46.win/Data/profile/permissions.sqlite b/Firefox46.win/Data/profile/permissions.sqlite new file mode 100644 index 0000000..c8fce21 Binary files /dev/null and b/Firefox46.win/Data/profile/permissions.sqlite differ diff --git a/Firefox46.win/Data/profile/places.sqlite b/Firefox46.win/Data/profile/places.sqlite new file mode 100644 index 0000000..94160d6 Binary files /dev/null and b/Firefox46.win/Data/profile/places.sqlite differ diff --git a/Firefox46.win/Data/profile/pluginreg.dat b/Firefox46.win/Data/profile/pluginreg.dat new file mode 100644 index 0000000..e41d8a5 --- /dev/null +++ b/Firefox46.win/Data/profile/pluginreg.dat @@ -0,0 +1,29 @@ +Generated File. Do not edit. + +[HEADER] +Version|0.17|$ +Arch|x86_64-msvc|$ + +[PLUGINS] +npctrl.dll|$ +c:\Program Files\Microsoft Silverlight\5.1.40728.0\npctrl.dll|$ +5.1.40728.0|$ +1438046084000|0|0|0|$ +5.1.40728.0|$ +Silverlight Plug-In|$ +2 +0|application/x-silverlight|npctrl|scr|$ +1|application/x-silverlight-2|||$ +NPSWF64_19_0_0_226.dll|$ +C:\Windows\system32\Macromed\Flash\NPSWF64_19_0_0_226.dll|$ +19.0.0.226|$ +1445936184800|0|0|0|$ +Shockwave Flash 19.0 r0|$ +Shockwave Flash|$ +2 +0|application/x-shockwave-flash|Adobe Flash movie|swf|$ +1|application/futuresplash|FutureSplash movie|spl|$ + +[INVALID] +c:\Program Files\Microsoft Silverlight\5.1.40728.0\npctrlui.dll|$ +1438046084000|$ diff --git a/Firefox46.win/Data/profile/prefs.js b/Firefox46.win/Data/profile/prefs.js new file mode 100644 index 0000000..45827e1 --- /dev/null +++ b/Firefox46.win/Data/profile/prefs.js @@ -0,0 +1,198 @@ +# Mozilla User Preferences + +/* Do not edit this file. + * + * If you make changes to this file while the application is running, + * the changes will be overwritten when the application exits. + * + * To make a manual change to preferences, you can visit the URL about:config + */ + +user_pref("app.update.auto", false); +user_pref("app.update.enabled", false); +user_pref("app.update.lastUpdateTime.addon-background-update-timer", 1510669419); +user_pref("app.update.lastUpdateTime.background-update-timer", 1510669299); +user_pref("app.update.lastUpdateTime.blocklist-background-update-timer", 1510669539); +user_pref("app.update.lastUpdateTime.browser-cleanup-thumbnails", 1510684744); +user_pref("app.update.lastUpdateTime.experiments-update-timer", 1510676262); +user_pref("app.update.lastUpdateTime.search-engine-update-timer", 1510668765); +user_pref("app.update.lastUpdateTime.xpi-signature-verification", 0); +user_pref("browser.cache.disk.capacity", 0); +user_pref("browser.cache.disk.smart_size.enabled", false); +user_pref("browser.cache.disk.smart_size.first_run", false); +user_pref("browser.cache.frecency_experiment", 4); +user_pref("browser.download.importedFromSqlite", true); +user_pref("browser.download.lastDir", "D:\\Portable Python 3.2.5.1\\clase"); +user_pref("browser.download.panel.shown", true); +user_pref("browser.download.useDownloadDir", false); +user_pref("browser.migration.version", 36); +user_pref("browser.newtabpage.enhanced", true); +user_pref("browser.newtabpage.storageVersion", 1); +user_pref("browser.pagethumbnails.storage_version", 3); +user_pref("browser.places.importBookmarksHTML", false); +user_pref("browser.places.smartBookmarksVersion", 7); +user_pref("browser.preferences.advanced.selectedTabIndex", 3); +user_pref("browser.rights.3.shown", true); +user_pref("browser.safebrowsing.provider.mozilla.lastupdatetime", "1519820141022"); +user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", "1519823741022"); +user_pref("browser.search.countryCode", "ES"); +user_pref("browser.search.region", "ES"); +user_pref("browser.sessionstore.upgradeBackup.latestBuildID", "20160421124000"); +user_pref("browser.shell.checkDefaultBrowser", false); +user_pref("browser.slowStartup.averageTime", 844); +user_pref("browser.slowStartup.samples", 4); +user_pref("browser.startup.homepage", "https://www.google.es/?gws_rd=ssl"); +user_pref("browser.startup.homepage_override.buildID", "20160421124000"); +user_pref("browser.startup.homepage_override.mstone", "46.0"); +user_pref("browser.syncPromoViewsLeftMap", "{\"passwords\":3}"); +user_pref("browser.uiCustomization.state", "{\"placements\":{\"PanelUI-contents\":[\"edit-controls\",\"zoom-controls\",\"new-window-button\",\"privatebrowsing-button\",\"save-page-button\",\"print-button\",\"history-panelmenu\",\"fullscreen-button\",\"find-button\",\"preferences-button\",\"add-ons-button\",\"developer-button\",\"sync-button\"],\"addon-bar\":[\"addonbar-closebutton\",\"status-bar\"],\"PersonalToolbar\":[\"personal-bookmarks\"],\"nav-bar\":[\"urlbar-container\",\"search-container\",\"bookmarks-menu-button\",\"downloads-button\",\"home-button\",\"loop-button\",\"pocket-button\"]},\"seen\":[\"loop-button\",\"pocket-button\"],\"dirtyAreaCache\":[\"PersonalToolbar\",\"nav-bar\",\"PanelUI-contents\"],\"currentVersion\":6,\"newElementCount\":0}"); +user_pref("browser.uitour.whitelist.add.260", ""); +user_pref("browser.uitour.whitelist.add.340", ""); +user_pref("datareporting.healthreport.lastDataSubmissionFailureTime", "1510429710779"); +user_pref("datareporting.healthreport.lastDataSubmissionRequestedTime", "1510658809628"); +user_pref("datareporting.healthreport.lastDataSubmissionSuccessfulTime", "1510658826995"); +user_pref("datareporting.healthreport.nextDataSubmissionTime", "1510745226995"); +user_pref("datareporting.healthreport.service.firstRun", true); +user_pref("datareporting.policy.dataSubmissionPolicyAcceptedVersion", 2); +user_pref("datareporting.policy.dataSubmissionPolicyNotifiedTime", "1510150623406"); +user_pref("datareporting.policy.firstRunTime", "1409742437555"); +user_pref("datareporting.sessions.current.activeTicks", 3); +user_pref("datareporting.sessions.current.clean", true); +user_pref("datareporting.sessions.current.firstPaint", 1372); +user_pref("datareporting.sessions.current.main", 170); +user_pref("datareporting.sessions.current.sessionRestored", 1482); +user_pref("datareporting.sessions.current.startTime", "1519820136189"); +user_pref("datareporting.sessions.current.totalTime", 16); +user_pref("datareporting.sessions.currentIndex", 24); +user_pref("datareporting.sessions.previous.14", "{\"s\":1510150560202,\"a\":8011,\"t\":516248,\"c\":true,\"m\":56,\"fp\":579,\"sr\":715}"); +user_pref("datareporting.sessions.previous.15", "{\"s\":1510667283930,\"a\":6,\"t\":27,\"c\":true,\"m\":56,\"fp\":621,\"sr\":762}"); +user_pref("datareporting.sessions.previous.16", "{\"s\":1510667325693,\"a\":7,\"t\":56,\"c\":true,\"m\":35,\"fp\":559,\"sr\":671}"); +user_pref("datareporting.sessions.previous.17", "{\"s\":1510667617211,\"a\":5,\"t\":24,\"c\":true,\"m\":56,\"fp\":569,\"sr\":688}"); +user_pref("datareporting.sessions.previous.18", "{\"s\":1510667649752,\"a\":15,\"t\":86,\"c\":true,\"m\":35,\"fp\":536,\"sr\":656}"); +user_pref("datareporting.sessions.previous.19", "{\"s\":1510667747746,\"a\":6,\"t\":26,\"c\":true,\"m\":55,\"fp\":564,\"sr\":683}"); +user_pref("datareporting.sessions.previous.20", "{\"s\":1510668131431,\"a\":14,\"t\":70,\"c\":true,\"m\":50,\"fp\":550,\"sr\":675}"); +user_pref("datareporting.sessions.previous.21", "{\"s\":1510668644577,\"a\":64,\"t\":329,\"c\":true,\"m\":56,\"fp\":569,\"sr\":706}"); +user_pref("datareporting.sessions.previous.22", "{\"s\":1510669179046,\"a\":100,\"t\":16529,\"c\":true,\"m\":65,\"fp\":575,\"sr\":723}"); +user_pref("datareporting.sessions.previous.23", "{\"s\":1519494400349,\"a\":4,\"t\":22,\"c\":true,\"m\":136,\"fp\":743,\"sr\":3110}"); +user_pref("datareporting.sessions.prunedIndex", 13); +user_pref("dom.apps.reset-permissions", true); +user_pref("dom.mozApps.used", true); +user_pref("e10s.rollout.cohort", "unsupportedChannel"); +user_pref("experiments.activeExperiment", false); +user_pref("extensions.blocklist.pingCountTotal", 8); +user_pref("extensions.blocklist.pingCountVersion", -1); +user_pref("extensions.bootstrappedAddons", "{\"e10srollout@mozilla.org\":{\"version\":\"1.0\",\"type\":\"extension\",\"descriptor\":\"\\\\\\\\psf\\\\Home\\\\Downloads\\\\MAC\\\\Firefox46.win\\\\App\\\\firefox64\\\\browser\\\\features\\\\e10srollout@mozilla.org.xpi\",\"multiprocessCompatible\":false,\"runInSafeMode\":true},\"firefox@getpocket.com\":{\"version\":\"1.0\",\"type\":\"extension\",\"descriptor\":\"\\\\\\\\psf\\\\Home\\\\Downloads\\\\MAC\\\\Firefox46.win\\\\App\\\\firefox64\\\\browser\\\\features\\\\firefox@getpocket.com.xpi\",\"multiprocessCompatible\":false,\"runInSafeMode\":true},\"loop@mozilla.org\":{\"version\":\"1.2.6\",\"type\":\"extension\",\"descriptor\":\"\\\\\\\\psf\\\\Home\\\\Downloads\\\\MAC\\\\Firefox46.win\\\\App\\\\firefox64\\\\browser\\\\features\\\\loop@mozilla.org.xpi\",\"multiprocessCompatible\":false,\"runInSafeMode\":true}}"); +user_pref("extensions.databaseSchema", 17); +user_pref("extensions.e10sBlockedByAddons", false); +user_pref("extensions.enabledAddons", "%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D:46.0"); +user_pref("extensions.getAddons.cache.lastUpdate", 1519494403); +user_pref("extensions.getAddons.databaseSchema", 5); +user_pref("extensions.lastAppVersion", "46.0"); +user_pref("extensions.lastPlatformVersion", "46.0"); +user_pref("extensions.pendingOperations", false); +user_pref("extensions.shownSelectionUI", true); +user_pref("extensions.systemAddonSet", "{\"schema\":1,\"addons\":{}}"); +user_pref("extensions.xpiState", "{\"app-system-defaults\":{\"e10srollout@mozilla.org\":{\"d\":\"\\\\\\\\psf\\\\Home\\\\Downloads\\\\MAC\\\\Firefox46.win\\\\App\\\\firefox64\\\\browser\\\\features\\\\e10srollout@mozilla.org.xpi\",\"e\":true,\"v\":\"1.0\",\"st\":1461287154000},\"firefox@getpocket.com\":{\"d\":\"\\\\\\\\psf\\\\Home\\\\Downloads\\\\MAC\\\\Firefox46.win\\\\App\\\\firefox64\\\\browser\\\\features\\\\firefox@getpocket.com.xpi\",\"e\":true,\"v\":\"1.0\",\"st\":1461287154000},\"loop@mozilla.org\":{\"d\":\"\\\\\\\\psf\\\\Home\\\\Downloads\\\\MAC\\\\Firefox46.win\\\\App\\\\firefox64\\\\browser\\\\features\\\\loop@mozilla.org.xpi\",\"e\":true,\"v\":\"1.2.6\",\"st\":1461287154000}},\"app-global\":{\"{972ce4c6-7e08-4474-a285-3208198ce6fd}\":{\"d\":\"\\\\\\\\psf\\\\Home\\\\Downloads\\\\MAC\\\\Firefox46.win\\\\App\\\\firefox64\\\\browser\\\\extensions\\\\{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi\",\"e\":true,\"v\":\"46.0\",\"st\":1461287154000}}}"); +user_pref("gecko.buildID", "20160421124000"); +user_pref("gecko.mstone", "46.0"); +user_pref("gfx.crash-guard.d3d11layers.appVersion", "46.0"); +user_pref("gfx.crash-guard.d3d11layers.deviceID", "0x4005"); +user_pref("gfx.crash-guard.d3d11layers.driverVersion", "10.2.29006.0"); +user_pref("gfx.crash-guard.d3d11layers.feature-d2d", false); +user_pref("gfx.crash-guard.d3d11layers.feature-d3d11", false); +user_pref("gfx.crash-guard.status.d3d11layers", 2); +user_pref("idle.lastDailyNotification", 1510669653); +user_pref("media.hardware-video-decoding.failed", false); +user_pref("network.cookie.prefsMigrated", true); +user_pref("pdfjs.migrationVersion", 2); +user_pref("pdfjs.previousHandler.alwaysAskBeforeHandling", true); +user_pref("pdfjs.previousHandler.preferredAction", 4); +user_pref("places.database.lastMaintenance", 1510658809); +user_pref("places.history.expiration.transient_current_max_pages", 104858); +user_pref("plugin.disable_full_page_plugin_for_types", "application/pdf"); +user_pref("plugin.importedState", true); +user_pref("pref.browser.homepage.disable_button.current_page", false); +user_pref("privacy.sanitize.migrateClearSavedPwdsOnExit", true); +user_pref("privacy.sanitize.migrateFx3Prefs", true); +user_pref("sanity-test.device-id", "0x4005"); +user_pref("sanity-test.driver-version", "10.2.29006.0"); +user_pref("sanity-test.running", false); +user_pref("sanity-test.version", "46.0"); +user_pref("signon.importedFromSqlite", true); +user_pref("storage.vacuum.last.index", 1); +user_pref("storage.vacuum.last.places.sqlite", 1509101380); +user_pref("toolkit.startup.last_success", 1519820136); +user_pref("toolkit.telemetry.previousBuildID", "20160421124000"); +user_pref("toolkit.telemetry.reportingpolicy.firstRun", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); + +user_pref("browser.shell.checkDefaultBrowser", false); diff --git a/Firefox46.win/Data/profile/revocations.txt b/Firefox46.win/Data/profile/revocations.txt new file mode 100644 index 0000000..74f75da --- /dev/null +++ b/Firefox46.win/Data/profile/revocations.txt @@ -0,0 +1,458 @@ +# Auto generated contents. Do not edit. +MFgxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRlcmxhbmRlbiBFViBSb290IENB + AJiWmg== +MIGKMQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEmMCQGA1UECxMdQ29weXJpZ2h0IChjKSAyMDA1IFdJU2VLZXkgU0ExFjAUBgNVBAsTDUludGVybmF0aW9uYWwxKTAnBgNVBAMTIFdJU2VLZXkgQ2VydGlmeUlEIEFkdmFuY2VkIEcxIENB + WD1AyQAAAAAAJQ== +MGoxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xOzA5BgNVBAMMMlN0YWF0IGRlciBOZWRlcmxhbmRlbiBPcmdhbmlzYXRpZSBTZXJ2aWNlcyBDQSAtIEcz + e9JTGBe45yw= +MGExCzAJBgNVBAYTAlVTMRIwEAYDVQQKEwlJZGVuVHJ1c3QxIDAeBgNVBAsTF0lkZW5UcnVzdCBQdWJsaWMgU2VjdG9yMRwwGgYDVQQDExNJZGVuVHJ1c3QgQUNFUyBDQSAx + fwAAAQAAAUrz/HmrAAAAAg== +MD8xJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjEXMBUGA1UEAxMORFNUIFJvb3QgQ0EgWDM= + AJiU+bpWh2Uc4xFRf8GM9yA= + CgFBQgAAAUFcf/EVAAAAAg== + AJBQSPqrEvDE2Hz8xH39Low= +MIG8MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhIChjKTEwMTYwNAYDVQQDEy1WZXJpU2lnbiBDbGFzcyAzIEludGVybmF0aW9uYWwgU2VydmVyIENBIC0gRzM= + bzTw0uq05TUYEGS98bh0Ww== + A9GPKQ8jv9oIxfwiOy7qxQ== + fWK0j/Vi8vNWg3VAGjc02w== + VOcIuNbTqkpOMUyI108FOg== + UUFV3S2cUidOOv7ESN65Ng== + BYyEX2b5+K+myAIR7eXaRQ== + JV/LVzSKI/wsDgg3UuZHlA== + LdbnCbsA9sOgI4mkUpWXPw== + Gd/pPu+qLnXUdvP9sW73CQ== + COwoDFvz7GD8R2K7Lo0rYQ== + GtXUVojhwOTkaQ4bTKblEQ== + VN2yeFexyXjPf34fHGmbhg== + NMpMcEnex3eXx4ohk9glcQ== + By7fBTreouRwX/qrpgSUsg== + J2La+q+JOURNWkX60OP2lQ== + OnvXX72mvUI2Id/NMzegmg== +MF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 + L7tgs/W85vnhV7I7qJ6N/g== +MEwxIDAeBgNVBAsTF0dsb2JhbFNpZ24gUm9vdCBDQSAtIFIyMRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu + BAAAAAABRE7wRk4= + BAAAAAABIg08FMU= + BAAAAAABIg08D3U= + BAAAAAABEAuMoRs= + BAAAAAABElatX7I= + BAAAAAABJ/v3ZwA= +MHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRyZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWU= + M64Z5ufZzDRVTHkJR1uXzw== + JLiDzgpL7oFNgJN+jIjt7w== + KuzHPJLdK5hNgJRo3R47Ag== + cJ+vg4742XhNgJW2ot9eIg== + LU4d0t7PAsZNgJGZcb+o/w== +ME0xCzAJBgNVBAYTAk5MMRkwFwYDVQQKDBBEaWdpZGVudGl0eSBCLlYuMSMwIQYDVQQDDBpEaWdpZGVudGl0eSBCdXJnZXIgQ0EgLSBHMg== + DA== +MFkxCzAJBgNVBAYTAk5MMR4wHAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKjAoBgNVBAMTIVN0YWF0IGRlciBOZWRlcmxhbmRlbiBPdmVyaGVpZCBDQQ== + ATFEdg== + ATFpsA== +MFAxCzAJBgNVBAYTAkpQMRgwFgYDVQQKEw9TRUNPTSBUcnVzdC5uZXQxJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmljYXRpb24gUm9vdENBMQ== + Ermw0Q== + Ermwxw== + Ermwtg== +MFAxJDAiBgNVBAsTG0dsb2JhbFNpZ24gRUNDIFJvb3QgQ0EgLSBSNDETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbg== + RnQ3dg5KdDZs0nyFZk4= + Hwexgn/ZCJicZPcsIyI8zxQ= + RnQ3dYovwvB0D5q2YGY= +MGYxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMR0wGwYDVQQLExREb21haW4gVmFsaWRhdGVkIFNTTDEgMB4GA1UEAxMXR2VvVHJ1c3QgRFYgU1NMIENBIC0gRzQ= + H08= +MEExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwx0aGF3dGUsIEluYy4xGzAZBgNVBAMTEnRoYXd0ZSBTU0wgQ0EgLSBHMg== + FNISyWWTGi5Yco6fGh58/A== + JpUvYJyWjdGmeoH7YcYunw== +MFoxCzAJBgNVBAYTAkZSMRMwEQYDVQQKEwpDZXJ0aW5vbWlzMRcwFQYDVQQLEw4wMDAyIDQzMzk5ODkwMzEdMBsGA1UEAxMUQ2VydGlub21pcyAtIFJvb3QgQ0E= + J8mznxvTvOR5p4Br3a3sm5j5iM0= +MIG1MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhIChjKTEwMS8wLQYDVQQDEyZWZXJpU2lnbiBDbGFzcyAzIFNlY3VyZSBTZXJ2ZXIgQ0EgLSBHMw== + QZBvapTZFvmYktEPsBYLQQ== + OqQ2rV0ISTc308Z/oQgzFw== + NvEJoRYL2yvAZrAjbDIipQ== +MEYxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMR8wHQYDVQQDExZHZW9UcnVzdCBTSEEyNTYgU1NMIENB + OUvvVscW0/NltofkmV9qmg== +MIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJzdC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWls + D/wZ7+m1Mv8SONSEFcs73w== +MIGVMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTEdMBsGA1UEAxMUVVROLVVTRVJGaXJzdC1PYmplY3Q= + CMNfzETd7XxesS9FOUj9Mg== + a9rf7/BmG9JkKvRuy7J5QA== + Jq6jgeApiT9O4W2Tx/NTRQ== +MFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RDQTEx + Aw== +MEwxIDAeBgNVBAsTF0dsb2JhbFNpZ24gUm9vdCBDQSAtIFIzMRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu + BAAAAAABJQcQRNU= + BAAAAAABMYnGRuw= + BAAAAAABJQcQQN0= +MFwxCzAJBgNVBAYTAkJFMRUwEwYDVQQLEwxUcnVzdGVkIFJvb3QxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExGzAZBgNVBAMTElRydXN0ZWQgUm9vdCBDQSBHMg== + F7PAjw2k0dTX5escPnyVOBo= + Mq0P6o03FDk0B2bnJ+mYPGo= + e/fIfg2Dj2tkYIWVu2r82Cc= + sPNcCSE9Nkg3jy5IN1xe2Q== + bAOrKSMsmA0MLJyAJ5BRsUM= + UV9aaDeNRNtQuXjRYk4Skhg= + Iqpyf/YoGgvHc8HiDAxAI8o= + DAk9hy8DhHSo+aQetvPB/fY= + O2S99lVUxErLSk56GvWRv+E= + OYBKgxEHpW/8XGAGAlvJyMA= + UU3AP1SMxmyhBFq7MRFZmf0= + YRJNfMoc12IpmW+Enpv3Pdo= +MD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQQ== + ALxyZmb/WL/wAuUiPK5oK/g= + e7wSpVxmgAS5/ioLi2iBIA== +MEoxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdTZWN1cmVUcnVzdCBDb3Jwb3JhdGlvbjEZMBcGA1UEAxMQU2VjdXJlIEdsb2JhbCBDQQ== + QAAnEQ== + TXxtAQ== +MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dD + Ew1ee9Jq7Q/Dig3ACF4V6Q== +MHcxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEoMCYGA1UEAxMfU3ltYW50ZWMgQ2xhc3MgMyBFViBTU0wgQ0EgLSBHMw== + acI1CFIgmwSFBoU5+ahDgg== +MIGQMQswCQYDVQQGEwJHUjFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxOzA5BgNVBAMTMkFyaXN0b3RsZSBVbml2ZXJzaXR5IG9mIFRoZXNzYWxvbmlraSBDZW50cmFsIENBIFI0 + EqthLKdUgwI= +MIHKMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMw== + TrKEMhb2PKktH8lHg0AV5A== + Pgyeh2mqlVzqI9hFntRbUQ== + TAA2G+UIK6mqznQKBT77NA== + Er0moq4zwH8ke2pYafIKdg== + U4P1tUoxl/XkztlVHdtdgw== +MHMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEkMCIGA1UEAxMbU3ltYW50ZWMgQ2xhc3MgMyBEU0EgU1NMIENB + AuhvPsYZfVP6UDsuyjeZ4Q== +MIGFMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDErMCkGA1UEAxMiQ09NT0RPIFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ== + AKrMYlJmUUin8FOM/0TJrmk= +MH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 + Qh/SqA== + Qh/O5w== + Qh/SnQ== + Qh/QbQ== +MEExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxUaGF3dGUsIEluYy4xGzAZBgNVBAMTElRoYXd0ZSBTR0MgQ0EgLSBHMg== + cDggUYfwJ3A1YcdoeT6s4A== + e0bEFhI16xx9U1yvlI56rA== +MEQxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMR0wGwYDVQQDExRHZW9UcnVzdCBTU0wgQ0EgLSBHMw== + bx/XHJqcwxDOptxJ2lh5vw== + cpqpXVWPk5AXzGw+zNIcBw== + RUT1Gehd1KKYPfqOlgspoQ== +MIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp + TA5iEg== + TA6EVg== + TA6BjA== +MFoxCzAJBgNVBAYTAklFMRIwEAYDVQQKEwlCYWx0aW1vcmUxEzARBgNVBAsTCkN5YmVyVHJ1c3QxIjAgBgNVBAMTGUJhbHRpbW9yZSBDeWJlclRydXN0IFJvb3Q= + ByfFnw== + Byeaqw== + Bydr0Q== + ByfHkw== + BydKkg== + Bye2Cg== + ByfNeA== + Bydp0g== + BydiAg== + ByembA== + Byc85g== + BydeGg== + Bydxog== + BydSYg== + Byc68g== + BydInw== + Bydrxg== + ByeQ9g== + Byd5cg== +MFwxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xLTArBgNVBAMMJFN0YWF0IGRlciBOZWRlcmxhbmRlbiBCdXJnZXIgQ0EgLSBHMg== + ATE3ew== +MIGVMQswCQYDVQQGEwJHUjFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIwMTE= + GN2Hrh9LtnI= + AQAAAAI= + GN2Hrh9Ltms= + GN2Hrh9Ltm4= + GN2Hrh9LtnM= + AQAAAAA= + FJl6tXgNpSk= + AQAAAAU= + GN2Hrh9LtnA= + FJl6tXgNpSg= + AQAAAAM= + AQAAAAQ= +MEQxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwx0aGF3dGUsIEluYy4xHjAcBgNVBAMTFXRoYXd0ZSBFViBTU0wgQ0EgLSBHMw== + CrTHPEE6AZSfI3jysin2bA== +MIHKMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA2IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHNQ== + buROL/l2GuXISv+/JVLkdA== +MIHKMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA3IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHNA== + cXXMzbWDHMIdCotb3h64yw== +MDQxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25h + Ig== + FQ== + Iw== + HA== + Gg== + IA== + Ew== + Aw== + Fw== + Bw== + BA== +MGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAy + GpO48aJ8GngtwECqZhm/xA== + ANX8SnNRxCmsE/GCl5hw+8A= + AIChpbGNqu4XKp9J70syKEs= +MEcxCzAJBgNVBAYTAkhLMRYwFAYDVQQKEw1Ib25na29uZyBQb3N0MSAwHgYDVQQDExdIb25na29uZyBQb3N0IFJvb3QgQ0EgMQ== + BHk= + BGU= +MGExCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xMjAwBgNVBAMMKVN0YWF0IGRlciBOZWRlcmxhbmRlbiBPcmdhbmlzYXRpZSBDQSAtIEcy + ATE0vw== + ZECgRdZEsns= + LTRcDHabRHU= +MGExCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMR0wGwYDVQQLExREb21haW4gVmFsaWRhdGVkIFNTTDEbMBkGA1UEAxMSR2VvVHJ1c3QgRFYgU1NMIENB + CWhp +MGsxCzAJBgNVBAYTAklUMQ4wDAYDVQQHDAVNaWxhbjEjMCEGA1UECgwaQWN0YWxpcyBTLnAuQS4vMDMzNTg1MjA5NjcxJzAlBgNVBAMMHkFjdGFsaXMgQXV0aGVudGljYXRpb24gUm9vdCBDQQ== + OfJBIhFwAdQ= + WJ2qHzWUqTk= +MG0xCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRswGQYDVQQLExJQcmltYXJ5IENsYXNzIDEgQ0ExJjAkBgNVBAMTHUdsb2JhbFNpZ24gUHJpbWFyeSBDbGFzcyAxIENB + BAAAAAABHkSl5ao= +MFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 + IyIVazG4RE9AERkb+ekH8w== +MEQxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMR0wGwYDVQQDExRHZW9UcnVzdCBTU0wgQ0EgLSBHMg== + SdegFrLaFTCsoMAW5ED+zA== + VfTSum25nb65YPlpuhJAvg== + WX89jn8yGZVvoKTD9jDfRQ== +MIGQMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDE2MDQGA1UEAxMtQ09NT0RPIFJTQSBEb21haW4gVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENB + UoRGnb96CUDTxIqVry6LBg== + D9UltDPl4XVfSSqQOvdiwQ== +MGcxCzAJBgNVBAYTAkRFMRMwEQYDVQQKEwpGcmF1bmhvZmVyMSEwHwYDVQQLExhGcmF1bmhvZmVyIENvcnBvcmF0ZSBQS0kxIDAeBgNVBAMTF0ZyYXVuaG9mZXIgUm9vdCBDQSAyMDA3 + YR3YYQAAAAAABA== + YR0zGQAAAAAAAw== +MDcxJDAiBgNVBAMTG1JDUyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEPMA0GA1UEChMGSFQgc3Js + AN9bfYOvlR1t +MGMxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwx0aGF3dGUsIEluYy4xHTAbBgNVBAsTFERvbWFpbiBWYWxpZGF0ZWQgU1NMMR4wHAYDVQQDExV0aGF3dGUgRFYgU1NMIENBIC0gRzI= + DYifRdP6aQQ8MLbXZY2f5g== + BUrYjru5px1ym4QUN33TOQ== + CqZgEvHAsnzkT//QV9KjXw== + Rvm2CEw2IC2Mu/ax0A46QQ== + IIxFSyNM6mWtCgTG0IL3Og== + E5I2y6sIonl4a+TmlXc7fw== + GdXz4L1b6FKNCMG9Jz2tjA== + TqfXw+FkhxfVgE9GVMgjWQ== +MHsxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEsMCoGA1UEAxMjU3ltYW50ZWMgQ2xhc3MgMyBFQ0MgMjU2IGJpdCBTU0wgQ0E= + U3SgRR3J+D6575WuCxuXeQ== +MFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxTaWduIFJvb3QgQ0E= + BAAAAAABLF5/Gog= + BAAAAAABFUtaxac= + BAAAAAABIBnBjWg= + BAAAAAABKUXDqA8= + BAAAAAABHkSl5AQ= +MIGXMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTEfMB0GA1UEAxMWVVROLVVTRVJGaXJzdC1IYXJkd2FyZQ== + Xrr31RF0DoIzMKXS6XtD+g== + EEpERSryZFMagbsNw/WoWQ== +MFoxCzAJBgNVBAYTAkRFMRMwEQYDVQQKEwpERk4tVmVyZWluMRAwDgYDVQQLEwdERk4tUEtJMSQwIgYDVQQDExtERk4tVmVyZWluIFBDQSBHbG9iYWwgLSBHMDE= + Cfk9lw== + CeFU2w== + Cbssdw== + F5BhENPfVw== + F5Bg/C8eXg== + F5Bg+EziQQ== + DHmmaw== + CcHC/g== + Cyr1PA== + F6QlB/yX+A== + Cd/dug== + CcL+EA== + CqL7CA== + CdWFNw== + Cfk9qg== + CqnbFQ== + EAdmaA== + CcHC1w== + CeagHQ== + F5BhE0zbgQ== + F5Bg6C237Q== + Cfk9oA== + CskruA== +MHcxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEoMCYGA1UEAxMfU3ltYW50ZWMgQ2xhc3MgMyBFViBTU0wgQ0EgLSBHMg== + UVKsEezpGWOVQ4W9esstng== +MD8xCzAJBgNVBAYTAlRXMTAwLgYDVQQKDCdHb3Zlcm5tZW50IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHk= + K1ftto7Xcb0YKwQ6uMvOIA== + APdCebq8ZyZr/T0luxlicNw= +MGYxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMR0wGwYDVQQLExREb21haW4gVmFsaWRhdGVkIFNTTDEgMB4GA1UEAxMXR2VvVHJ1c3QgRFYgU1NMIENBIC0gRzI= + XhcFm2g619rt8Sro+a4rHA== + EDQMI0tR4kSntv1O37N10g== + P6G7IYSL2RZxtzTh8I6qPA== +MEMxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwx0aGF3dGUsIEluYy4xHTAbBgNVBAMTFHRoYXd0ZSBTSEEyNTYgU1NMIENB + UKKK5ol/rKBZchAAOnZjaA== +ME0xCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxJzAlBgNVBAMTHkRpZ2lDZXJ0IFNIQTIgU2VjdXJlIFNlcnZlciBDQQ== + Aa8e+91erglSMgsk/mtVaA== +MIGpMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYDVQQLEy8oYykgMjAwNiB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UEAxMWdGhhd3RlIFByaW1hcnkgUm9vdCBDQQ== + Ikdj3zYXXGsC/Afm9Tvx+g== +MIGBMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTElMCMGA1UECxMcUHJpbWFyeSBPYmplY3QgUHVibGlzaGluZyBDQTEwMC4GA1UEAxMnR2xvYmFsU2lnbiBQcmltYXJ5IE9iamVjdCBQdWJsaXNoaW5nIENB + BAAAAAABHkSl7L4= + BAAAAAABI54PryQ= +MG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3Q= + Os2rnHWYhryvdOXfgan06A== + U3t2Vk8pfxTcaUPpIq0seQ== + RurwlgVMxeP6Zepun0LGZA== +MEAxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEcx + ESDDtMgFFiaUfKo7HD9qImM7 + ESBrHE7sFC7CQ8EM681xA3CY +MEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0E= + AjqK + Ajp/ + AjpW + Ajp+ + AjqL +MEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDI= + BXA= + EM8bDLBnnoYe4LnWpLIhS4esr3I= +MIGCMQswCQYDVQQGEwJVUzEeMBwGA1UECxMVd3d3LnhyYW1wc2VjdXJpdHkuY29tMSQwIgYDVQQKExtYUmFtcCBTZWN1cml0eSBTZXJ2aWNlcyBJbmMxLTArBgNVBAMTJFhSYW1wIEdsb2JhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ== + QZCrvA== + QZCrvQ== + QDi5sQ== + QDi5rw== + QDi5sA== +MDwxGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBDQTEQMA4GA1UEChMHQ29tU2lnbjELMAkGA1UEBhMCSUw= + XJ8pGvGNM9RIcLUG9YQjLQ== + CdYL9vSQCEKzBwjO10ud2w== + Hnms0W0OxHSYE2F0XE97sw== + fbsHfUkagQtznc3rtY1uDg== +MHExKDAmBgNVBAMTH0dsb2JhbFNpZ24gUm9vdFNpZ24gUGFydG5lcnMgQ0ExHTAbBgNVBAsTFFJvb3RTaWduIFBhcnRuZXJzIENBMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMQswCQYDVQQGEwJCRQ== + BAAAAAABJZbEU4I= + BAAAAAABMrS7t2g= + BAAAAAABFqoAZoI= + BAAAAAABKB/OGqI= + BAAAAAABAJmPjfQ= + BAAAAAABMxvC9bk= + BAAAAAAA+X/GIyk= + BAAAAAABJQdAjik= + BAAAAAABHkSHlSo= + BAAAAAABM6d3Z0s= + BAAAAAABBHYoIFs= + BAAAAAABCUVQ9No= + BAAAAAABA/A35EU= + BAAAAAABHJRKNmk= + BAAAAAABJ/ufRdg= + BAAAAAABLM/7qjk= + BAAAAAABHkSHki0= + BAAAAAABJ/ufQg8= + BAAAAAABKUXDqxw= + BAAAAAABGMGjftY= + BAAAAAABGMG0Gmw= + BAAAAAABHJRKMpA= + BAAAAAABLF5/HXY= + BAAAAAABHkSHjz8= + BAAAAAABAPpuVh0= +MH8xCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEwMC4GA1UEAxMnU3ltYW50ZWMgQ2xhc3MgMyBFQ0MgMjU2IGJpdCBFViBDQSAtIEcy + OhrtngFwotLcm4i+z00SjA== +MGYxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMR0wGwYDVQQLExREb21haW4gVmFsaWRhdGVkIFNTTDEgMB4GA1UEAxMXR2VvVHJ1c3QgRFYgU1NMIENBIC0gRzM= + KjoVfZ3by6+pL8fssyfM6A== + YNOos6YJoPC77qwSGCpb7w== + HNo1DR4XCe4mS1iUMsY6Wg== + UW3oKZKTDsrPy/rfwmGNaQ== + dItWlz2V62Philqj9m6Pbg== + ORFgmCj072NjcJnrxOMfQA== + XLhHIg7vP+tWfRqvuKeAxw== + L79XLVO2ZmtAu7FAG8Wmzw== +MHExCzAJBgNVBAYTAkRFMRwwGgYDVQQKExNEZXV0c2NoZSBUZWxla29tIEFHMR8wHQYDVQQLExZULVRlbGVTZWMgVHJ1c3QgQ2VudGVyMSMwIQYDVQQDExpEZXV0c2NoZSBUZWxla29tIFJvb3QgQ0EgMg== + AQw= + AImQERVYPoeb + ARQ= +MIGFMQswCQYDVQQGEwJVUzEgMB4GA1UECgwXV2VsbHMgRmFyZ28gV2VsbHNTZWN1cmUxHDAaBgNVBAsME1dlbGxzIEZhcmdvIEJhbmsgTkExNjA0BgNVBAMMLVdlbGxzU2VjdXJlIFB1YmxpYyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eQ== + Aw== +MG0xCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRswGQYDVQQLExJQcmltYXJ5IENsYXNzIDIgQ0ExJjAkBgNVBAMTHUdsb2JhbFNpZ24gUHJpbWFyeSBDbGFzcyAyIENB + BAAAAAABHkSl6Co= +MFIxCzAJBgNVBAYTAk5MMRkwFwYDVQQKDBBEaWdpZGVudGl0eSBCLlYuMSgwJgYDVQQDDB9EaWdpZGVudGl0eSBPcmdhbmlzYXRpZSBDQSAtIEcy + Cw== + DA== +MIG9MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 + BYOGvG32ukb1Yxj2oKoFyw== + Ai7cBJYqBE0I9NdyoZfRrw== + VLm3Xe60+1YgPpXCGtXLng== + Aw1SPC56593ZCZ9vCNHKwQ== + fMTRbGCp280pnyE/u53zbA== + eR1nUEz8k+nDSBD+bb5uIQ== + Xbevr3ut3Z9m1GuXC9SonA== +MEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDM= + CLc= + BwImeaRkSZQLYwFREwKo3R1Jn+8= + CjM= + CSU= + NTgf4iwIfeyJPIomw2dwSXEwtxQ= + Cj0= + SurdtfsuPcXXDpY2LkBpYO6BT7o= + CSY= + B+U= +MDIxCzAJBgNVBAYTAkNOMQ4wDAYDVQQKEwVDTk5JQzETMBEGA1UEAxMKQ05OSUMgUk9PVA== + STMAjg== + STMAeg== + STMAFQ== +MGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAx + HxT1XSjIpzjMprp9Qu1gYQ== + JD1wxDd8IgmiqX7MyPPg1g== + U+1Y1QpJc0FOR5JdCJ01gQ== +MDsxGDAWBgNVBAoTD0N5YmVydHJ1c3QsIEluYzEfMB0GA1UEAxMWQ3liZXJ0cnVzdCBHbG9iYWwgUm9vdA== + BAAAAAABJpQ0AbA= +MEgxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdTZWN1cmVUcnVzdCBDb3Jwb3JhdGlvbjEXMBUGA1UEAxMOU2VjdXJlVHJ1c3QgQ0E= + ANygrItIJ2rcKlyS3Lue07U= + R4af5A== + MABJTA== + MABJSw== +MD0xCzAJBgNVBAYTAkZSMREwDwYDVQQKEwhDZXJ0cGx1czEbMBkGA1UEAxMSQ2xhc3MgMiBQcmltYXJ5IENB + ESBqoILo90ntDW7OTK43MS2F + ESAyW/JX3+hZIp44EAMlXU2b + ESDu2nhlLPzfx+LYgjlYFP/k + DjIvBkX+ECVbB/C3i6w2Gg== + ESISuBo/wdW2tBztKmHdFCFz + ESCC9oPNcRdPOox+SjWm9dTX + ESD9YhzIEOwiOT7Nwip+E1KI + ESC8DawWRiAyEMd38UXbfgPR + ESDItX4ruWiLnrlz0rk4/bmz + ESCis569omrbb20yySF39+aE + ESCEUbthDurBjJw0/h/FfuNY + ESByYNtAIfizf2L3NMzCH8zZ + ESByNJZ5TPjg9iZyL6a/h5Zx + ESJJweWBPhoXAaB9c8SHwI4O + ESCyHU+xOECnh9Rf2IvgR8zS + ESCVop+Q4/OBgtf4WJkr01Gh + ESDYXNBhF+dePFjojs7u2vj1 + ESCLRVuhcUZaluIgIVlRJx+O +MF8xCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRQwEgYDVQQLEwtQYXJ0bmVycyBDQTEfMB0GA1UEAxMWR2xvYmFsU2lnbiBQYXJ0bmVycyBDQQ== + BAAAAAABHhw1vwc= + BAAAAAABCFiEp9s= + BAAAAAABCfhiO+s= + BAAAAAABF2Tb8Bc= +MG0xCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRswGQYDVQQLExJQcmltYXJ5IENsYXNzIDMgQ0ExJjAkBgNVBAMTHUdsb2JhbFNpZ24gUHJpbWFyeSBDbGFzcyAzIENB + BAAAAAABHkSl6mw= +MDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTQ== + EQ== + Eg== + BQ== + EA== + BA== + Bg== +MH4xCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEvMC0GA1UEAxMmU3ltYW50ZWMgQ2xhc3MgMyBTZWN1cmUgU2VydmVyIENBIC0gRzQ= + AygWP2Fgd2T+iLbmAlKT6g== + LnfcUaXG/pxV2CpXM5+YSg== + TurPPI6eivtNeGYdM0ZWXQ== + HZyLf+K70FKc+jomm8DiDw== + d8AtKymQwkOPDBj+hjPzFg== + E77H6yvyFQjO0PcN3x0H+Q== + UMUwXwT1Z4juyQ/CNTf4mw== + Sx51x7V8pYe8rp7PMP/3qg== + a9/VeyVWrzFD7rM2PEHwQA== + 45KI4WIxyXfNrdtdj7C6 + ezdAeCxKH7BFs7vn3byYaw== + PAdKZPiaac2CvPxbOrsHOw== +MCgxCzAJBgNVBAYTAkJFMRkwFwYDVQQDExBCZWxnaXVtIFJvb3QgQ0Ey + RFlmmjulj6Ve7PfBi44nnw== + Nbc68Q8EHza72P/hSWcddw== + VBSf+IncsTB3RZS4KFCJPQ== + LizeWXFWP5pZPI/dLc+PVQ== + RH7WhshwXRK6f0VfOfjXgQ== + VUtahOwvvmJFwlvmGDZP5w== + eLumDUO40KwnecZLJxFM2A== + L1fHogsVxmfMBka5q4uzaQ== + frj5jTuqBnQ4fljPvVU3KA== +MDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMCREU= + a12RvBNhznU= + M0VSOewW3WI= +MGgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMR0wGwYDVQQLExREb21haW4gVmFsaWRhdGVkIFNTTDEiMCAGA1UEAxMZR2VvVHJ1c3QgRFYgU1NMIFNIQTI1NiBDQQ== + OE4/d+p3YRzzcSl+kmZ8Mw== + ZgwfEqZnBsUNvNuZ77FbQA== +MFExCzAJBgNVBAYTAkpQMRMwEQYDVQQKEwpGdWppIFhlcm94MS0wKwYDVQQDEyRGdWppIFhlcm94IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IDI= + AUa47POQ1dN5 +MFYxCzAJBgNVBAYTAkpQMQ8wDQYDVQQKEwZKSVBERUMxGjAYBgNVBAsTEUpDQU4gU3ViIFJvb3QgQ0EwMRowGAYDVQQDExFKQ0FOIFN1YiBSb290IENBMA== + BAAAAAABL07hUBg= + BAAAAAABK84ykc0= + BAAAAAABL07hTcY= + BAAAAAABK84yjs8= diff --git a/Firefox46.win/Data/profile/safebrowsing/goog-badbinurl-shavar.cache b/Firefox46.win/Data/profile/safebrowsing/goog-badbinurl-shavar.cache new file mode 100644 index 0000000..de28486 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/goog-badbinurl-shavar.cache differ diff --git a/Firefox46.win/Data/profile/safebrowsing/goog-badbinurl-shavar.pset b/Firefox46.win/Data/profile/safebrowsing/goog-badbinurl-shavar.pset new file mode 100644 index 0000000..525f96c Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/goog-badbinurl-shavar.pset differ diff --git a/Firefox46.win/Data/profile/safebrowsing/goog-badbinurl-shavar.sbstore b/Firefox46.win/Data/profile/safebrowsing/goog-badbinurl-shavar.sbstore new file mode 100644 index 0000000..d9ea6bc Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/goog-badbinurl-shavar.sbstore differ diff --git a/Firefox46.win/Data/profile/safebrowsing/goog-downloadwhite-digest256.cache b/Firefox46.win/Data/profile/safebrowsing/goog-downloadwhite-digest256.cache new file mode 100644 index 0000000..3c58192 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/goog-downloadwhite-digest256.cache differ diff --git a/Firefox46.win/Data/profile/safebrowsing/goog-downloadwhite-digest256.pset b/Firefox46.win/Data/profile/safebrowsing/goog-downloadwhite-digest256.pset new file mode 100644 index 0000000..49689ea Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/goog-downloadwhite-digest256.pset differ diff --git a/Firefox46.win/Data/profile/safebrowsing/goog-downloadwhite-digest256.sbstore b/Firefox46.win/Data/profile/safebrowsing/goog-downloadwhite-digest256.sbstore new file mode 100644 index 0000000..9b8b5ac Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/goog-downloadwhite-digest256.sbstore differ diff --git a/Firefox46.win/Data/profile/safebrowsing/goog-malware-shavar.cache b/Firefox46.win/Data/profile/safebrowsing/goog-malware-shavar.cache new file mode 100644 index 0000000..e15cff5 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/goog-malware-shavar.cache differ diff --git a/Firefox46.win/Data/profile/safebrowsing/goog-malware-shavar.pset b/Firefox46.win/Data/profile/safebrowsing/goog-malware-shavar.pset new file mode 100644 index 0000000..99b4f8e Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/goog-malware-shavar.pset differ diff --git a/Firefox46.win/Data/profile/safebrowsing/goog-malware-shavar.sbstore b/Firefox46.win/Data/profile/safebrowsing/goog-malware-shavar.sbstore new file mode 100644 index 0000000..f2e23e1 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/goog-malware-shavar.sbstore differ diff --git a/Firefox46.win/Data/profile/safebrowsing/goog-phish-shavar.cache b/Firefox46.win/Data/profile/safebrowsing/goog-phish-shavar.cache new file mode 100644 index 0000000..de28486 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/goog-phish-shavar.cache differ diff --git a/Firefox46.win/Data/profile/safebrowsing/goog-phish-shavar.pset b/Firefox46.win/Data/profile/safebrowsing/goog-phish-shavar.pset new file mode 100644 index 0000000..9f63e88 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/goog-phish-shavar.pset differ diff --git a/Firefox46.win/Data/profile/safebrowsing/goog-phish-shavar.sbstore b/Firefox46.win/Data/profile/safebrowsing/goog-phish-shavar.sbstore new file mode 100644 index 0000000..014528e Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/goog-phish-shavar.sbstore differ diff --git a/Firefox46.win/Data/profile/safebrowsing/goog-unwanted-shavar.cache b/Firefox46.win/Data/profile/safebrowsing/goog-unwanted-shavar.cache new file mode 100644 index 0000000..de28486 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/goog-unwanted-shavar.cache differ diff --git a/Firefox46.win/Data/profile/safebrowsing/goog-unwanted-shavar.pset b/Firefox46.win/Data/profile/safebrowsing/goog-unwanted-shavar.pset new file mode 100644 index 0000000..b250a3b Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/goog-unwanted-shavar.pset differ diff --git a/Firefox46.win/Data/profile/safebrowsing/goog-unwanted-shavar.sbstore b/Firefox46.win/Data/profile/safebrowsing/goog-unwanted-shavar.sbstore new file mode 100644 index 0000000..17a53fb Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/goog-unwanted-shavar.sbstore differ diff --git a/Firefox46.win/Data/profile/safebrowsing/mozstd-track-digest256.cache b/Firefox46.win/Data/profile/safebrowsing/mozstd-track-digest256.cache new file mode 100644 index 0000000..485eac2 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/mozstd-track-digest256.cache differ diff --git a/Firefox46.win/Data/profile/safebrowsing/mozstd-track-digest256.pset b/Firefox46.win/Data/profile/safebrowsing/mozstd-track-digest256.pset new file mode 100644 index 0000000..49689ea Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/mozstd-track-digest256.pset differ diff --git a/Firefox46.win/Data/profile/safebrowsing/mozstd-track-digest256.sbstore b/Firefox46.win/Data/profile/safebrowsing/mozstd-track-digest256.sbstore new file mode 100644 index 0000000..ea0f00b Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/mozstd-track-digest256.sbstore differ diff --git a/Firefox46.win/Data/profile/safebrowsing/mozstd-trackwhite-digest256.cache b/Firefox46.win/Data/profile/safebrowsing/mozstd-trackwhite-digest256.cache new file mode 100644 index 0000000..bc84e03 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/mozstd-trackwhite-digest256.cache differ diff --git a/Firefox46.win/Data/profile/safebrowsing/mozstd-trackwhite-digest256.pset b/Firefox46.win/Data/profile/safebrowsing/mozstd-trackwhite-digest256.pset new file mode 100644 index 0000000..49689ea Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/mozstd-trackwhite-digest256.pset differ diff --git a/Firefox46.win/Data/profile/safebrowsing/mozstd-trackwhite-digest256.sbstore b/Firefox46.win/Data/profile/safebrowsing/mozstd-trackwhite-digest256.sbstore new file mode 100644 index 0000000..1fd2169 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/mozstd-trackwhite-digest256.sbstore differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-forbid-simple.cache b/Firefox46.win/Data/profile/safebrowsing/test-forbid-simple.cache new file mode 100644 index 0000000..8758b0d Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-forbid-simple.cache differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-forbid-simple.pset b/Firefox46.win/Data/profile/safebrowsing/test-forbid-simple.pset new file mode 100644 index 0000000..49689ea Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-forbid-simple.pset differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-forbid-simple.sbstore b/Firefox46.win/Data/profile/safebrowsing/test-forbid-simple.sbstore new file mode 100644 index 0000000..2cf04a6 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-forbid-simple.sbstore differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-malware-simple.cache b/Firefox46.win/Data/profile/safebrowsing/test-malware-simple.cache new file mode 100644 index 0000000..b07e6b4 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-malware-simple.cache differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-malware-simple.pset b/Firefox46.win/Data/profile/safebrowsing/test-malware-simple.pset new file mode 100644 index 0000000..49689ea Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-malware-simple.pset differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-malware-simple.sbstore b/Firefox46.win/Data/profile/safebrowsing/test-malware-simple.sbstore new file mode 100644 index 0000000..ebc96bd Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-malware-simple.sbstore differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-phish-simple.cache b/Firefox46.win/Data/profile/safebrowsing/test-phish-simple.cache new file mode 100644 index 0000000..f294137 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-phish-simple.cache differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-phish-simple.pset b/Firefox46.win/Data/profile/safebrowsing/test-phish-simple.pset new file mode 100644 index 0000000..49689ea Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-phish-simple.pset differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-phish-simple.sbstore b/Firefox46.win/Data/profile/safebrowsing/test-phish-simple.sbstore new file mode 100644 index 0000000..899e7b2 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-phish-simple.sbstore differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-track-simple.cache b/Firefox46.win/Data/profile/safebrowsing/test-track-simple.cache new file mode 100644 index 0000000..cb1310c Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-track-simple.cache differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-track-simple.pset b/Firefox46.win/Data/profile/safebrowsing/test-track-simple.pset new file mode 100644 index 0000000..49689ea Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-track-simple.pset differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-track-simple.sbstore b/Firefox46.win/Data/profile/safebrowsing/test-track-simple.sbstore new file mode 100644 index 0000000..78c894b Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-track-simple.sbstore differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-trackwhite-simple.cache b/Firefox46.win/Data/profile/safebrowsing/test-trackwhite-simple.cache new file mode 100644 index 0000000..6f280eb Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-trackwhite-simple.cache differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-trackwhite-simple.pset b/Firefox46.win/Data/profile/safebrowsing/test-trackwhite-simple.pset new file mode 100644 index 0000000..49689ea Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-trackwhite-simple.pset differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-trackwhite-simple.sbstore b/Firefox46.win/Data/profile/safebrowsing/test-trackwhite-simple.sbstore new file mode 100644 index 0000000..94e66d9 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-trackwhite-simple.sbstore differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-unwanted-simple.cache b/Firefox46.win/Data/profile/safebrowsing/test-unwanted-simple.cache new file mode 100644 index 0000000..b9c3c5e Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-unwanted-simple.cache differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-unwanted-simple.pset b/Firefox46.win/Data/profile/safebrowsing/test-unwanted-simple.pset new file mode 100644 index 0000000..49689ea Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-unwanted-simple.pset differ diff --git a/Firefox46.win/Data/profile/safebrowsing/test-unwanted-simple.sbstore b/Firefox46.win/Data/profile/safebrowsing/test-unwanted-simple.sbstore new file mode 100644 index 0000000..526f5f0 Binary files /dev/null and b/Firefox46.win/Data/profile/safebrowsing/test-unwanted-simple.sbstore differ diff --git a/Firefox46.win/Data/profile/saved-telemetry-pings/1cd06e84-73aa-421a-85ef-f286f861b381 b/Firefox46.win/Data/profile/saved-telemetry-pings/1cd06e84-73aa-421a-85ef-f286f861b381 new file mode 100644 index 0000000..65c9a40 --- /dev/null +++ b/Firefox46.win/Data/profile/saved-telemetry-pings/1cd06e84-73aa-421a-85ef-f286f861b381 @@ -0,0 +1 @@ +{"type":"main","id":"1cd06e84-73aa-421a-85ef-f286f861b381","creationDate":"2017-03-24T11:31:44.847Z","version":4,"application":{"architecture":"x86-64","buildId":"20160421124000","name":"Firefox","version":"46.0","displayVersion":"46.0","vendor":"Mozilla","platformVersion":"46.0","xpcomAbi":"x86_64-msvc","channel":"release"},"payload":{"ver":4,"simpleMeasurements":{"totalTime":221,"uptime":4,"start":13,"main":140,"selectProfile":163,"startupCrashDetectionBegin":274,"startupCrashDetectionEnd":31462,"firstPaint":1374,"sessionRestoreInit":487,"sessionRestored":1494,"createTopLevelWindow":559,"firstLoadURI":1382,"quitApplication":220725,"profileBeforeChange":220913,"AMI_startup_begin":281,"XPI_startup_begin":308,"XPI_bootstrap_addons_begin":336,"XPI_bootstrap_addons_end":375,"XPI_startup_end":375,"AMI_startup_end":386,"XPI_finalUIStartup":489,"sessionRestoreInitialized":539,"delayedStartupStarted":1381,"delayedStartupFinished":1479,"startupInterrupted":0,"js":{"setProto":30,"customIter":5},"maximalNumberOfConcurrentThreads":31,"debuggerAttached":0,"startupWindowVisibleReadBytes":64839216,"startupWindowVisibleWriteBytes":25700,"startupSessionRestoreReadBytes":65596814,"startupSessionRestoreWriteBytes":25700,"savedPings":0,"activeTicks":18,"pingsOverdue":0},"histograms":{"SSL_OBSERVED_END_ENTITY_CERTIFICATE_LIFETIME":{"range":[1,125],"bucket_count":126,"histogram_type":1,"values":{"10":0,"11":2,"61":1,"105":8,"106":0},"sum":923,"sum_squares_lo":92163,"sum_squares_hi":0},"TELEMETRY_TEST_RELEASE_OPTOUT":{"range":[1,2],"bucket_count":3,"histogram_type":3,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"VIDEO_CAN_CREATE_AAC_DECODER":{"range":[1,2],"bucket_count":3,"histogram_type":2,"values":{"0":0,"1":1,"2":0},"sum":1,"sum_squares_lo":1,"sum_squares_hi":0},"VIDEO_CAN_CREATE_H264_DECODER":{"range":[1,2],"bucket_count":3,"histogram_type":2,"values":{"0":0,"1":1,"2":0},"sum":1,"sum_squares_lo":1,"sum_squares_hi":0},"BROWSER_IS_USER_DEFAULT":{"range":[1,2],"bucket_count":3,"histogram_type":2,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"BROWSER_IS_USER_DEFAULT_ERROR":{"range":[1,2],"bucket_count":3,"histogram_type":2,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"BROWSER_SET_DEFAULT_ALWAYS_CHECK":{"range":[1,2],"bucket_count":3,"histogram_type":2,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"COOKIE_SCHEME_SECURITY":{"range":[1,10],"bucket_count":11,"histogram_type":1,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"WEAVE_CONFIGURED":{"range":[1,2],"bucket_count":3,"histogram_type":2,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"E10S_STATUS":{"range":[1,12],"bucket_count":13,"histogram_type":1,"values":{"1":0,"2":1,"3":0},"sum":2,"sum_squares_lo":4,"sum_squares_hi":0},"E10S_ADDONS_BLOCKER_RAN":{"range":[1,2],"bucket_count":3,"histogram_type":3,"values":{"0":0,"1":1,"2":0},"sum":1,"sum_squares_lo":1,"sum_squares_hi":0},"VIDEO_ADOBE_GMP_DISAPPEARED":{"range":[1,2],"bucket_count":3,"histogram_type":3,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"VIDEO_ADOBE_GMP_MISSING_FILES":{"range":[1,8],"bucket_count":9,"histogram_type":1,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"VIDEO_OPENH264_GMP_DISAPPEARED":{"range":[1,2],"bucket_count":3,"histogram_type":3,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"VIDEO_OPENH264_GMP_MISSING_FILES":{"range":[1,4],"bucket_count":5,"histogram_type":1,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"GRAPHICS_DRIVER_STARTUP_TEST":{"range":[1,20],"bucket_count":21,"histogram_type":1,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"FXA_CONFIGURED":{"range":[1,2],"bucket_count":3,"histogram_type":3,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0}},"keyedHistograms":{"KEYGEN_GENERATED_KEY_TYPE":{},"UPDATE_CHECK_EXTENDED_ERROR_EXTERNAL":{},"UPDATE_CHECK_EXTENDED_ERROR_NOTIFY":{},"FX_MIGRATION_ERRORS":{},"FX_MIGRATION_USAGE":{},"FX_MIGRATION_HOMEPAGE_IMPORTED":{},"TELEMETRY_TEST_KEYED_RELEASE_OPTOUT":{},"SEARCH_COUNTS":{},"POPUP_NOTIFICATION_STATS":{},"PROCESS_CRASH_SUBMIT_ATTEMPT":{},"PROCESS_CRASH_SUBMIT_SUCCESS":{},"FXA_HAWK_ERRORS":{},"WEAVE_ENGINE_APPLY_NEW_FAILURES":{},"WEAVE_ENGINE_APPLY_FAILURES":{},"WEAVE_ENGINE_SYNC_ERRORS":{},"PLUGIN_ACTIVATION_COUNT":{}},"info":{"reason":"shutdown","revision":"https://hg.mozilla.org/releases/mozilla-release/rev/078baf501b55eaa47f3b189fda4dd28dae1fa257","asyncPluginInit":false,"timezoneOffset":60,"previousBuildId":null,"sessionId":"a7f68909-0796-41c1-abe6-f0662f93da45","subsessionId":"4a3b4afa-5ee0-4e8e-ad8a-fb121a1c7d49","previousSessionId":"737382a6-212b-4f43-84ce-0fc7bf574b28","previousSubsessionId":"3d596895-e98b-410f-b38c-81b788ad9fef","subsessionCounter":1,"profileSubsessionCounter":8,"sessionStartDate":"2017-03-24T00:00:00.0+01:00","subsessionStartDate":"2017-03-24T00:00:00.0+01:00","sessionLength":220,"subsessionLength":220,"addons":"%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D:46.0,e10srollout%40mozilla.org:1.0,firefox%40getpocket.com:1.0,loop%40mozilla.org:1.2.6","flashVersion":"19.0.0.226"}},"clientId":"2e10fb38-6b14-4c44-bc94-834d0f4989cb","environment":{"build":{"applicationId":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","applicationName":"Firefox","architecture":"x86-64","buildId":"20160421124000","version":"46.0","vendor":"Mozilla","platformVersion":"46.0","xpcomAbi":"x86_64-msvc","hotfixVersion":null},"partner":{"distributionId":null,"distributionVersion":null,"partnerId":null,"distributor":null,"distributorChannel":null,"partnerNames":[]},"system":{"memoryMB":4096,"virtualMaxMB":8388608,"cpu":{"count":3,"cores":3,"vendor":"GenuineIntel","family":6,"model":70,"stepping":1,"l2cacheKB":256,"l3cacheKB":6144,"speedMHz":2494,"extensions":["hasMMX","hasSSE","hasSSE2","hasSSE3","hasSSSE3","hasSSE4_1","hasSSE4_2"]},"os":{"name":"Windows_NT","version":"6.1","locale":"es-ES","servicePackMajor":1,"servicePackMinor":0,"installYear":2015},"hdd":{"profile":{"model":null,"revision":null},"binary":{"model":null,"revision":null},"system":{"model":"Windows 7-0 SSD","revision":"F.VRYB4R"}},"gfx":{"D2DEnabled":false,"DWriteEnabled":false,"adapters":[{"description":"Parallels Display Adapter (WDDM)","vendorID":"0x1ab8","deviceID":"0x4005","subsysID":"04001ab8","RAM":null,"driver":"prl_umdd prl_umdd10","driverVersion":"10.2.29006.0","driverDate":"5-20-2015","GPUActive":true}],"monitors":[{"screenWidth":1440,"screenHeight":900,"refreshRate":60,"pseudoDisplay":false}],"features":{"compositor":"basic","d3d11":{"status":"blacklisted"},"d2d":{"status":"unavailable","version":"1.0"}}},"isWow64":false},"settings":{"blocklistEnabled":true,"e10sEnabled":false,"e10sCohort":"unsupportedChannel","telemetryEnabled":false,"isInOptoutSample":false,"locale":"es-AR","update":{"channel":"release","enabled":false,"autoDownload":false},"userPrefs":{"app.update.auto":false,"app.update.enabled":false,"browser.cache.disk.capacity":0,"browser.newtabpage.enhanced":true,"browser.shell.checkDefaultBrowser":false},"addonCompatibilityCheckEnabled":true,"isDefaultBrowser":false,"defaultSearchEngine":"google","defaultSearchEngineData":{"name":"Google","loadPath":"jar:[app]/omni.ja!browser/google.xml","submissionURL":"https://www.google.com/search?q=&ie=utf-8&oe=utf-8&client=firefox-b"}},"profile":{"creationDate":17224},"addons":{"activeAddons":{"e10srollout@mozilla.org":{"blocklisted":false,"description":"Staged rollout of Firefox multi-process feature.","name":"Multi-process staged rollout","userDisabled":false,"appDisabled":false,"version":"1.0","scope":1,"type":"extension","foreignInstall":false,"hasBinaryComponents":false,"installDay":16913,"updateDay":16913},"firefox@getpocket.com":{"blocklisted":false,"description":"When you find something you want to view later, put it in Pocket.","name":"Pocket","userDisabled":false,"appDisabled":false,"version":"1.0","scope":1,"type":"extension","foreignInstall":false,"hasBinaryComponents":false,"installDay":16913,"updateDay":16913},"loop@mozilla.org":{"blocklisted":false,"description":"Web sharing for Firefox","name":"Firefox Hello","userDisabled":false,"appDisabled":false,"version":"1.2.6","scope":1,"type":"extension","foreignInstall":false,"hasBinaryComponents":false,"installDay":16913,"updateDay":16913}},"theme":{"id":"{972ce4c6-7e08-4474-a285-3208198ce6fd}","blocklisted":false,"description":"El tema predeterminado.","name":"Predeterminado","userDisabled":false,"appDisabled":false,"version":"46.0","scope":4,"foreignInstall":false,"hasBinaryComponents":false,"installDay":16913,"updateDay":16913},"activePlugins":[{"name":"Silverlight Plug-In","version":"5.1.40728.0","description":"5.1.40728.0","blocklisted":false,"disabled":false,"clicktoplay":true,"mimeTypes":["application/x-silverlight","application/x-silverlight-2"],"updateDay":16644},{"name":"Shockwave Flash","version":"19.0.0.226","description":"Shockwave Flash 19.0 r0","blocklisted":false,"disabled":false,"clicktoplay":false,"mimeTypes":["application/x-shockwave-flash","application/futuresplash"],"updateDay":16735}],"activeGMPlugins":{"gmp-gmpopenh264":{"version":"1.6","userDisabled":false,"applyBackgroundUpdates":1},"gmp-eme-adobe":{"version":"17","userDisabled":false,"applyBackgroundUpdates":1}},"activeExperiment":{},"persona":null}}} \ No newline at end of file diff --git a/Firefox46.win/Data/profile/saved-telemetry-pings/bbc6b704-7aad-41b8-b05f-d93f2ae195ed b/Firefox46.win/Data/profile/saved-telemetry-pings/bbc6b704-7aad-41b8-b05f-d93f2ae195ed new file mode 100644 index 0000000..54a4033 --- /dev/null +++ b/Firefox46.win/Data/profile/saved-telemetry-pings/bbc6b704-7aad-41b8-b05f-d93f2ae195ed @@ -0,0 +1 @@ +{"type":"main","id":"bbc6b704-7aad-41b8-b05f-d93f2ae195ed","creationDate":"2018-02-28T12:15:52.569Z","version":4,"application":{"architecture":"x86-64","buildId":"20160421124000","name":"Firefox","version":"46.0","displayVersion":"46.0","vendor":"Mozilla","platformVersion":"46.0","xpcomAbi":"x86_64-msvc","channel":"release"},"payload":{"ver":4,"simpleMeasurements":{"totalTime":16,"uptime":0,"start":22,"main":170,"selectProfile":195,"startupCrashDetectionBegin":364,"startupCrashDetectionEnd":16102,"firstPaint":1372,"sessionRestoreInit":613,"sessionRestored":1482,"createTopLevelWindow":684,"firstLoadURI":1378,"quitApplication":16127,"profileBeforeChange":16280,"AMI_startup_begin":374,"XPI_startup_begin":414,"XPI_bootstrap_addons_begin":454,"XPI_bootstrap_addons_end":508,"XPI_startup_end":508,"AMI_startup_end":518,"XPI_finalUIStartup":614,"sessionRestoreInitialized":664,"delayedStartupStarted":1378,"delayedStartupFinished":1462,"startupInterrupted":0,"js":{"setProto":0,"customIter":4},"maximalNumberOfConcurrentThreads":35,"debuggerAttached":0,"startupWindowVisibleReadBytes":65302628,"startupWindowVisibleWriteBytes":25926,"startupSessionRestoreReadBytes":66125919,"startupSessionRestoreWriteBytes":190374,"savedPings":2,"activeTicks":3,"pingsOverdue":1},"histograms":{"SSL_OBSERVED_END_ENTITY_CERTIFICATE_LIFETIME":{"range":[1,125],"bucket_count":126,"histogram_type":1,"values":{"10":0,"11":6,"12":1,"105":5,"106":0},"sum":603,"sum_squares_lo":55995,"sum_squares_hi":0},"TELEMETRY_TEST_RELEASE_OPTOUT":{"range":[1,2],"bucket_count":3,"histogram_type":3,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"BROWSER_IS_USER_DEFAULT":{"range":[1,2],"bucket_count":3,"histogram_type":2,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"BROWSER_IS_USER_DEFAULT_ERROR":{"range":[1,2],"bucket_count":3,"histogram_type":2,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"BROWSER_SET_DEFAULT_ALWAYS_CHECK":{"range":[1,2],"bucket_count":3,"histogram_type":2,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"COOKIE_SCHEME_SECURITY":{"range":[1,10],"bucket_count":11,"histogram_type":1,"values":{"0":0,"1":4,"2":0},"sum":4,"sum_squares_lo":4,"sum_squares_hi":0},"WEAVE_CONFIGURED":{"range":[1,2],"bucket_count":3,"histogram_type":2,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"E10S_STATUS":{"range":[1,12],"bucket_count":13,"histogram_type":1,"values":{"1":0,"2":1,"3":0},"sum":2,"sum_squares_lo":4,"sum_squares_hi":0},"E10S_ADDONS_BLOCKER_RAN":{"range":[1,2],"bucket_count":3,"histogram_type":3,"values":{"0":0,"1":1,"2":0},"sum":1,"sum_squares_lo":1,"sum_squares_hi":0},"VIDEO_ADOBE_GMP_DISAPPEARED":{"range":[1,2],"bucket_count":3,"histogram_type":3,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"VIDEO_OPENH264_GMP_DISAPPEARED":{"range":[1,2],"bucket_count":3,"histogram_type":3,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"GRAPHICS_DRIVER_STARTUP_TEST":{"range":[1,20],"bucket_count":21,"histogram_type":1,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"FXA_CONFIGURED":{"range":[1,2],"bucket_count":3,"histogram_type":3,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0}},"keyedHistograms":{"KEYGEN_GENERATED_KEY_TYPE":{},"UPDATE_CHECK_EXTENDED_ERROR_EXTERNAL":{},"UPDATE_CHECK_EXTENDED_ERROR_NOTIFY":{},"FX_MIGRATION_ERRORS":{},"FX_MIGRATION_USAGE":{},"FX_MIGRATION_HOMEPAGE_IMPORTED":{},"TELEMETRY_TEST_KEYED_RELEASE_OPTOUT":{},"SEARCH_COUNTS":{},"POPUP_NOTIFICATION_STATS":{},"PROCESS_CRASH_SUBMIT_ATTEMPT":{},"PROCESS_CRASH_SUBMIT_SUCCESS":{},"FXA_HAWK_ERRORS":{},"WEAVE_ENGINE_APPLY_NEW_FAILURES":{},"WEAVE_ENGINE_APPLY_FAILURES":{},"WEAVE_ENGINE_SYNC_ERRORS":{},"PLUGIN_ACTIVATION_COUNT":{}},"info":{"reason":"shutdown","revision":"https://hg.mozilla.org/releases/mozilla-release/rev/078baf501b55eaa47f3b189fda4dd28dae1fa257","asyncPluginInit":false,"timezoneOffset":60,"previousBuildId":null,"sessionId":"285db9a9-d374-43e8-90b4-8d7abfc77c34","subsessionId":"64ee7ac8-9d33-457a-af28-954a2390499d","previousSessionId":"206e7053-102a-4b20-87f5-c5258d3592e2","previousSubsessionId":"c81c4598-0c13-4711-a6a8-8261e63c42cc","subsessionCounter":1,"profileSubsessionCounter":10,"sessionStartDate":"2018-02-28T00:00:00.0+01:00","subsessionStartDate":"2018-02-28T00:00:00.0+01:00","sessionLength":16,"subsessionLength":15,"addons":"%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D:46.0,e10srollout%40mozilla.org:1.0,firefox%40getpocket.com:1.0,loop%40mozilla.org:1.2.6","flashVersion":"19.0.0.226"}},"clientId":"2e10fb38-6b14-4c44-bc94-834d0f4989cb","environment":{"build":{"applicationId":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","applicationName":"Firefox","architecture":"x86-64","buildId":"20160421124000","version":"46.0","vendor":"Mozilla","platformVersion":"46.0","xpcomAbi":"x86_64-msvc","hotfixVersion":null},"partner":{"distributionId":null,"distributionVersion":null,"partnerId":null,"distributor":null,"distributorChannel":null,"partnerNames":[]},"system":{"memoryMB":4096,"virtualMaxMB":8388608,"cpu":{"count":3,"cores":3,"vendor":"GenuineIntel","family":6,"model":70,"stepping":1,"l2cacheKB":256,"l3cacheKB":6144,"speedMHz":2494,"extensions":["hasMMX","hasSSE","hasSSE2","hasSSE3","hasSSSE3","hasSSE4_1","hasSSE4_2"]},"os":{"name":"Windows_NT","version":"6.1","locale":"es-ES","servicePackMajor":1,"servicePackMinor":0,"installYear":2015},"hdd":{"profile":{"model":null,"revision":null},"binary":{"model":null,"revision":null},"system":{"model":"Windows 7-0 SSD","revision":"F.VRYB4R"}},"gfx":{"D2DEnabled":false,"DWriteEnabled":false,"adapters":[{"description":"Parallels Display Adapter (WDDM)","vendorID":"0x1ab8","deviceID":"0x4005","subsysID":"04001ab8","RAM":null,"driver":"prl_umdd prl_umdd10","driverVersion":"10.2.29006.0","driverDate":"5-20-2015","GPUActive":true}],"monitors":[{"screenWidth":1440,"screenHeight":900,"refreshRate":60,"pseudoDisplay":false}],"features":{"compositor":"basic","d3d11":{"status":"blacklisted"},"d2d":{"status":"unavailable","version":"1.0"}}},"isWow64":false},"settings":{"blocklistEnabled":true,"e10sEnabled":false,"e10sCohort":"unsupportedChannel","telemetryEnabled":false,"isInOptoutSample":false,"locale":"es-AR","update":{"channel":"release","enabled":false,"autoDownload":false},"userPrefs":{"app.update.auto":false,"app.update.enabled":false,"browser.cache.disk.capacity":0,"browser.newtabpage.enhanced":true,"browser.shell.checkDefaultBrowser":false,"browser.startup.homepage":""},"addonCompatibilityCheckEnabled":true,"isDefaultBrowser":false,"defaultSearchEngine":"google","defaultSearchEngineData":{"name":"Google","loadPath":"jar:[app]/omni.ja!browser/google.xml","submissionURL":"https://www.google.com/search?q=&ie=utf-8&oe=utf-8&client=firefox-b"}},"profile":{"creationDate":17224},"addons":{"activeAddons":{"e10srollout@mozilla.org":{"blocklisted":false,"description":"Staged rollout of Firefox multi-process feature.","name":"Multi-process staged rollout","userDisabled":false,"appDisabled":false,"version":"1.0","scope":1,"type":"extension","foreignInstall":false,"hasBinaryComponents":false,"installDay":16913,"updateDay":16913},"firefox@getpocket.com":{"blocklisted":false,"description":"When you find something you want to view later, put it in Pocket.","name":"Pocket","userDisabled":false,"appDisabled":false,"version":"1.0","scope":1,"type":"extension","foreignInstall":false,"hasBinaryComponents":false,"installDay":16913,"updateDay":16913},"loop@mozilla.org":{"blocklisted":false,"description":"Web sharing for Firefox","name":"Firefox Hello","userDisabled":false,"appDisabled":false,"version":"1.2.6","scope":1,"type":"extension","foreignInstall":false,"hasBinaryComponents":false,"installDay":16913,"updateDay":16913}},"theme":{"id":"{972ce4c6-7e08-4474-a285-3208198ce6fd}","blocklisted":false,"description":"El tema predeterminado.","name":"Predeterminado","userDisabled":false,"appDisabled":false,"version":"46.0","scope":4,"foreignInstall":false,"hasBinaryComponents":false,"installDay":16913,"updateDay":16913},"activePlugins":[{"name":"Silverlight Plug-In","version":"5.1.40728.0","description":"5.1.40728.0","blocklisted":false,"disabled":false,"clicktoplay":true,"mimeTypes":["application/x-silverlight","application/x-silverlight-2"],"updateDay":16644},{"name":"Shockwave Flash","version":"19.0.0.226","description":"Shockwave Flash 19.0 r0","blocklisted":false,"disabled":false,"clicktoplay":false,"mimeTypes":["application/x-shockwave-flash","application/futuresplash"],"updateDay":16735}],"activeGMPlugins":{"gmp-gmpopenh264":{"version":null,"userDisabled":false,"applyBackgroundUpdates":1},"gmp-eme-adobe":{"version":null,"userDisabled":false,"applyBackgroundUpdates":1}},"activeExperiment":{},"persona":null}}} \ No newline at end of file diff --git a/Firefox46.win/Data/profile/saved-telemetry-pings/c5ada131-c759-42b1-83c8-5d4fd3f8dd60 b/Firefox46.win/Data/profile/saved-telemetry-pings/c5ada131-c759-42b1-83c8-5d4fd3f8dd60 new file mode 100644 index 0000000..7df59c2 --- /dev/null +++ b/Firefox46.win/Data/profile/saved-telemetry-pings/c5ada131-c759-42b1-83c8-5d4fd3f8dd60 @@ -0,0 +1 @@ +{"type":"main","id":"c5ada131-c759-42b1-83c8-5d4fd3f8dd60","creationDate":"2018-02-24T17:47:02.562Z","version":4,"application":{"architecture":"x86-64","buildId":"20160421124000","name":"Firefox","version":"46.0","displayVersion":"46.0","vendor":"Mozilla","platformVersion":"46.0","xpcomAbi":"x86_64-msvc","channel":"release"},"payload":{"ver":4,"simpleMeasurements":{"totalTime":22,"uptime":0,"start":25,"main":136,"selectProfile":257,"startupCrashDetectionBegin":368,"startupCrashDetectionEnd":21943,"firstPaint":743,"sessionRestoreInit":2287,"sessionRestored":3110,"createTopLevelWindow":570,"firstLoadURI":2488,"quitApplication":21964,"profileBeforeChange":22120,"AMI_startup_begin":385,"XPI_startup_begin":428,"XPI_bootstrap_addons_begin":2228,"XPI_bootstrap_addons_end":2245,"XPI_startup_end":2245,"AMI_startup_end":2251,"XPI_finalUIStartup":2295,"sessionRestoreInitialized":2333,"delayedStartupStarted":3013,"delayedStartupFinished":3094,"startupInterrupted":1,"js":{"setProto":0,"customIter":6},"maximalNumberOfConcurrentThreads":43,"debuggerAttached":0,"startupWindowVisibleReadBytes":66760446,"startupWindowVisibleWriteBytes":219661,"startupSessionRestoreReadBytes":66788963,"startupSessionRestoreWriteBytes":261727,"savedPings":1,"activeTicks":4,"pingsOverdue":1},"histograms":{"SSL_OBSERVED_END_ENTITY_CERTIFICATE_LIFETIME":{"range":[1,125],"bucket_count":126,"histogram_type":1,"values":{"10":0,"11":2,"12":5,"48":1,"105":6,"106":0},"sum":760,"sum_squares_lo":69416,"sum_squares_hi":0},"TELEMETRY_TEST_RELEASE_OPTOUT":{"range":[1,2],"bucket_count":3,"histogram_type":3,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"BROWSER_IS_USER_DEFAULT":{"range":[1,2],"bucket_count":3,"histogram_type":2,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"BROWSER_IS_USER_DEFAULT_ERROR":{"range":[1,2],"bucket_count":3,"histogram_type":2,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"BROWSER_SET_DEFAULT_ALWAYS_CHECK":{"range":[1,2],"bucket_count":3,"histogram_type":2,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"COOKIE_SCHEME_SECURITY":{"range":[1,10],"bucket_count":11,"histogram_type":1,"values":{"0":0,"1":5,"2":0},"sum":5,"sum_squares_lo":5,"sum_squares_hi":0},"WEAVE_CONFIGURED":{"range":[1,2],"bucket_count":3,"histogram_type":2,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"E10S_STATUS":{"range":[1,12],"bucket_count":13,"histogram_type":1,"values":{"1":0,"2":1,"3":0},"sum":2,"sum_squares_lo":4,"sum_squares_hi":0},"E10S_ADDONS_BLOCKER_RAN":{"range":[1,2],"bucket_count":3,"histogram_type":3,"values":{"0":0,"1":1,"2":0},"sum":1,"sum_squares_lo":1,"sum_squares_hi":0},"VIDEO_ADOBE_GMP_DISAPPEARED":{"range":[1,2],"bucket_count":3,"histogram_type":3,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"VIDEO_OPENH264_GMP_DISAPPEARED":{"range":[1,2],"bucket_count":3,"histogram_type":3,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"GRAPHICS_SANITY_TEST":{"range":[1,20],"bucket_count":21,"histogram_type":1,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0},"GRAPHICS_DRIVER_STARTUP_TEST":{"range":[1,20],"bucket_count":21,"histogram_type":1,"values":{"0":0,"1":1,"2":0},"sum":1,"sum_squares_lo":1,"sum_squares_hi":0},"FXA_CONFIGURED":{"range":[1,2],"bucket_count":3,"histogram_type":3,"values":{"0":1,"1":0},"sum":0,"sum_squares_lo":0,"sum_squares_hi":0}},"keyedHistograms":{"KEYGEN_GENERATED_KEY_TYPE":{},"UPDATE_CHECK_EXTENDED_ERROR_EXTERNAL":{},"UPDATE_CHECK_EXTENDED_ERROR_NOTIFY":{},"FX_MIGRATION_ERRORS":{},"FX_MIGRATION_USAGE":{},"FX_MIGRATION_HOMEPAGE_IMPORTED":{},"TELEMETRY_TEST_KEYED_RELEASE_OPTOUT":{},"SEARCH_COUNTS":{},"POPUP_NOTIFICATION_STATS":{},"PROCESS_CRASH_SUBMIT_ATTEMPT":{},"PROCESS_CRASH_SUBMIT_SUCCESS":{},"FXA_HAWK_ERRORS":{},"WEAVE_ENGINE_APPLY_NEW_FAILURES":{},"WEAVE_ENGINE_APPLY_FAILURES":{},"WEAVE_ENGINE_SYNC_ERRORS":{},"PLUGIN_ACTIVATION_COUNT":{}},"info":{"reason":"shutdown","revision":"https://hg.mozilla.org/releases/mozilla-release/rev/078baf501b55eaa47f3b189fda4dd28dae1fa257","asyncPluginInit":false,"timezoneOffset":60,"previousBuildId":"20140825202822","sessionId":"206e7053-102a-4b20-87f5-c5258d3592e2","subsessionId":"c81c4598-0c13-4711-a6a8-8261e63c42cc","previousSessionId":"a7f68909-0796-41c1-abe6-f0662f93da45","previousSubsessionId":"4a3b4afa-5ee0-4e8e-ad8a-fb121a1c7d49","subsessionCounter":1,"profileSubsessionCounter":9,"sessionStartDate":"2018-02-24T00:00:00.0+01:00","subsessionStartDate":"2018-02-24T00:00:00.0+01:00","sessionLength":22,"subsessionLength":19,"addons":"%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D:46.0,e10srollout%40mozilla.org:1.0,firefox%40getpocket.com:1.0,loop%40mozilla.org:1.2.6","flashVersion":"19.0.0.226"}},"clientId":"2e10fb38-6b14-4c44-bc94-834d0f4989cb","environment":{"build":{"applicationId":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","applicationName":"Firefox","architecture":"x86-64","buildId":"20160421124000","version":"46.0","vendor":"Mozilla","platformVersion":"46.0","xpcomAbi":"x86_64-msvc","hotfixVersion":null},"partner":{"distributionId":null,"distributionVersion":null,"partnerId":null,"distributor":null,"distributorChannel":null,"partnerNames":[]},"system":{"memoryMB":4096,"virtualMaxMB":8388608,"cpu":{"count":3,"cores":3,"vendor":"GenuineIntel","family":6,"model":70,"stepping":1,"l2cacheKB":256,"l3cacheKB":6144,"speedMHz":2494,"extensions":["hasMMX","hasSSE","hasSSE2","hasSSE3","hasSSSE3","hasSSE4_1","hasSSE4_2"]},"os":{"name":"Windows_NT","version":"6.1","locale":"es-ES","servicePackMajor":1,"servicePackMinor":0,"installYear":2015},"hdd":{"profile":{"model":null,"revision":null},"binary":{"model":null,"revision":null},"system":{"model":"Windows 7-0 SSD","revision":"F.VRYB4R"}},"gfx":{"D2DEnabled":false,"DWriteEnabled":false,"adapters":[{"description":"Parallels Display Adapter (WDDM)","vendorID":"0x1ab8","deviceID":"0x4005","subsysID":"04001ab8","RAM":null,"driver":"prl_umdd prl_umdd10","driverVersion":"10.2.29006.0","driverDate":"5-20-2015","GPUActive":true}],"monitors":[{"screenWidth":1440,"screenHeight":900,"refreshRate":60,"pseudoDisplay":false}],"features":{"compositor":"basic","d3d11":{"status":"blacklisted"},"d2d":{"status":"unavailable","version":"1.0"}}},"isWow64":false},"settings":{"blocklistEnabled":true,"e10sEnabled":false,"e10sCohort":"unsupportedChannel","telemetryEnabled":false,"isInOptoutSample":false,"locale":"es-AR","update":{"channel":"release","enabled":false,"autoDownload":false},"userPrefs":{"app.update.auto":false,"app.update.enabled":false,"browser.cache.disk.capacity":0,"browser.shell.checkDefaultBrowser":false,"browser.startup.homepage":""},"addonCompatibilityCheckEnabled":true,"isDefaultBrowser":false,"defaultSearchEngine":"google","defaultSearchEngineData":{"name":"Google","loadPath":"jar:[app]/omni.ja!browser/google.xml","submissionURL":"https://www.google.com/search?q=&ie=utf-8&oe=utf-8&client=firefox-b"}},"profile":{"creationDate":17224},"addons":{"activeAddons":{"e10srollout@mozilla.org":{"blocklisted":false,"description":"Staged rollout of Firefox multi-process feature.","name":"Multi-process staged rollout","userDisabled":false,"appDisabled":false,"version":"1.0","scope":1,"type":"extension","foreignInstall":false,"hasBinaryComponents":false,"installDay":16913,"updateDay":16913},"firefox@getpocket.com":{"blocklisted":false,"description":"When you find something you want to view later, put it in Pocket.","name":"Pocket","userDisabled":false,"appDisabled":false,"version":"1.0","scope":1,"type":"extension","foreignInstall":false,"hasBinaryComponents":false,"installDay":16913,"updateDay":16913},"loop@mozilla.org":{"blocklisted":false,"description":"Web sharing for Firefox","name":"Firefox Hello","userDisabled":false,"appDisabled":false,"version":"1.2.6","scope":1,"type":"extension","foreignInstall":false,"hasBinaryComponents":false,"installDay":16913,"updateDay":16913}},"theme":{"id":"{972ce4c6-7e08-4474-a285-3208198ce6fd}","blocklisted":false,"description":"El tema predeterminado.","name":"Predeterminado","userDisabled":false,"appDisabled":false,"version":"46.0","scope":4,"foreignInstall":false,"hasBinaryComponents":false,"installDay":16913,"updateDay":16913},"activePlugins":[{"name":"Silverlight Plug-In","version":"5.1.40728.0","description":"5.1.40728.0","blocklisted":false,"disabled":false,"clicktoplay":true,"mimeTypes":["application/x-silverlight","application/x-silverlight-2"],"updateDay":16644},{"name":"Shockwave Flash","version":"19.0.0.226","description":"Shockwave Flash 19.0 r0","blocklisted":false,"disabled":false,"clicktoplay":false,"mimeTypes":["application/x-shockwave-flash","application/futuresplash"],"updateDay":16735}],"activeGMPlugins":{"gmp-gmpopenh264":{"version":null,"userDisabled":false,"applyBackgroundUpdates":1},"gmp-eme-adobe":{"version":null,"userDisabled":false,"applyBackgroundUpdates":1}},"activeExperiment":{},"persona":null}}} \ No newline at end of file diff --git a/Firefox46.win/Data/profile/search.json.mozlz4 b/Firefox46.win/Data/profile/search.json.mozlz4 new file mode 100644 index 0000000..5809f60 Binary files /dev/null and b/Firefox46.win/Data/profile/search.json.mozlz4 differ diff --git a/Firefox46.win/Data/profile/secmod.db b/Firefox46.win/Data/profile/secmod.db new file mode 100644 index 0000000..888276e Binary files /dev/null and b/Firefox46.win/Data/profile/secmod.db differ diff --git a/Firefox46.win/Data/profile/sessionCheckpoints.json b/Firefox46.win/Data/profile/sessionCheckpoints.json new file mode 100644 index 0000000..928de6a --- /dev/null +++ b/Firefox46.win/Data/profile/sessionCheckpoints.json @@ -0,0 +1 @@ +{"profile-after-change":true,"final-ui-startup":true,"sessionstore-windows-restored":true,"quit-application-granted":true,"quit-application":true,"sessionstore-final-state-write-complete":true,"profile-change-net-teardown":true,"profile-change-teardown":true,"profile-before-change":true} \ No newline at end of file diff --git a/Firefox46.win/Data/profile/sessionstore-backups/previous.js b/Firefox46.win/Data/profile/sessionstore-backups/previous.js new file mode 100644 index 0000000..6477be8 --- /dev/null +++ b/Firefox46.win/Data/profile/sessionstore-backups/previous.js @@ -0,0 +1 @@ +{"version":["sessionrestore",1],"windows":[{"tabs":[{"entries":[{"url":"https://www.google.es/?gws_rd=ssl","title":"Google","charset":"UTF-8","ID":3,"docshellID":8,"originalURI":"https://www.google.es/?gws_rd=ssl","docIdentifier":3,"persist":true}],"lastAccessed":1519494422236,"hidden":false,"attributes":{},"userContextId":0,"index":1,"image":"https://www.google.es/images/branding/product/ico/googleg_lodp.ico"}],"selected":1,"_closedTabs":[],"width":1280,"height":774,"screenX":4,"screenY":4,"sizemode":"normal","title":"Google","_shouldRestore":true,"closedAt":1519494422237}],"selectedWindow":0,"_closedWindows":[],"session":{"lastUpdate":1519494422318,"startTime":1519494402681,"recentCrashes":0},"global":{}} \ No newline at end of file diff --git a/Firefox46.win/Data/profile/sessionstore-backups/upgrade.js-20160421124000 b/Firefox46.win/Data/profile/sessionstore-backups/upgrade.js-20160421124000 new file mode 100644 index 0000000..68f6577 --- /dev/null +++ b/Firefox46.win/Data/profile/sessionstore-backups/upgrade.js-20160421124000 @@ -0,0 +1 @@ +{"windows":[{"tabs":[{"entries":[{"url":"http://localhost:8180/gestioneitorv4_0_SOLUCION/","title":"Piloto de TEW","ID":2,"docshellID":5,"docIdentifier":2},{"url":"http://localhost:8180/gestioneitorv4_0_SOLUCION/rs/","ID":4,"docshellID":5,"docIdentifier":4},{"url":"http://localhost:8180/gestioneitorv4_0_SOLUCION/rs/rest-jsapi","ID":5,"docshellID":5,"docIdentifier":5},{"url":"http://localhost:8180/gestioneitorv4_0_SOLUCION/rest-jsapi","ID":6,"docshellID":5,"docIdentifier":6}],"lastAccessed":1510675771139,"hidden":false,"attributes":{},"image":"http://localhost:8180/favicon.ico","index":4,"pageStyle":{"pageStyle":"Wrap Long Lines"}},{"entries":[{"url":"https://www.google.es/search?q=build.properties+does+not+exist&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a&channel=fflb&gfe_rd=cr&dcr=0&ei=TRULWpKlAfKJ8QeovaZ4#aq=t&cns=0&gfe_rd=cr","title":"build.properties does not exist - Buscar con Google","subframe":true,"ID":8,"docshellID":7,"docIdentifier":8,"structuredCloneState":"AAAAAAgA//8FAAAABAD//3MAdABhAHQAZQAAAAAAAAAAAAAACAD//wMAAAAEAP//aABzAHMAAAAAAAAACAD//wAAAAAAAP//AAAAAAAA//8DAAAABAD//3UAcgBsAAAAugAAAAQA//8vAHMAZQBhAHIAYwBoAD8AcQA9AGIAdQBpAGwAZAAuAHAAcgBvAHAAZQByAHQAaQBlAHMAKwBkAG8AZQBzACsAbgBvAHQAKwBlAHgAaQBzAHQAJgBpAGUAPQB1AHQAZgAtADgAJgBvAGUAPQB1AHQAZgAtADgAJgBhAHEAPQB0ACYAcgBsAHMAPQBvAHIAZwAuAG0AbwB6AGkAbABsAGEAOgBlAG4ALQBVAFMAOgBvAGYAZgBpAGMAaQBhAGwAJgBjAGwAaQBlAG4AdAA9AGYAaQByAGUAZgBvAHgALQBhACYAYwBoAGEAbgBuAGUAbAA9AGYAZgBsAGIAJgBnAGYAZQBfAHIAZAA9AGMAcgAmAGQAYwByAD0AMAAmAGUAaQA9AFQAUgBVAEwAVwBwAEsAbABBAGYASwBKADgAUQBlAG8AdgBhAFoANAAjAGEAcQA9AHQAJgBjAG4AcwA9ADAAJgBnAGYAZQBfAHIAZAA9AGMAcgAAAAAACAAAAAQA//9tAGUAdABhAGQAYQB0AGEAAAAAAAgA//8DAAAABAD//1QASgBhAAAAAPD6srT7dUICAAAABAD//0gATQAAAAAAAAD7srT7dUIDAAAABAD//2kAYgBhAAAAABD7srT7dUICAAAABAD//1EAMQAAAAAAAAAAAAAAAAAAAAAAAAD//wIAAAAEAP//RAA5AAAAAAAAAAAACAD//wIAAAAEAP//aABzAAAAAAAAAAAABwD//wAAAAADAP//AAD7srT7dUIAAAAAAAD//wAAAAAAAP//AAAAAAAA//8=","structuredCloneVersion":2},{"url":"https://www.google.es/search?q=build.properties+does+not+exist&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a&channel=fflb&gfe_rd=cr&dcr=0&ei=TRULWpKlAfKJ8QeovaZ4#aq=t&cns=1&gfe_rd=cr","title":"build.properties does not exist - Buscar con Google","subframe":true,"ID":11,"docshellID":7,"docIdentifier":8,"structuredCloneState":"AAAAAAgA//8FAAAABAD//3MAdABhAHQAZQAAAAAAAAAAAAAACAD//wMAAAAEAP//aABzAHMAAAAAAAAACAD//wAAAAAAAP//AAAAAAAA//8DAAAABAD//3UAcgBsAAAAugAAAAQA//8vAHMAZQBhAHIAYwBoAD8AcQA9AGIAdQBpAGwAZAAuAHAAcgBvAHAAZQByAHQAaQBlAHMAKwBkAG8AZQBzACsAbgBvAHQAKwBlAHgAaQBzAHQAJgBpAGUAPQB1AHQAZgAtADgAJgBvAGUAPQB1AHQAZgAtADgAJgBhAHEAPQB0ACYAcgBsAHMAPQBvAHIAZwAuAG0AbwB6AGkAbABsAGEAOgBlAG4ALQBVAFMAOgBvAGYAZgBpAGMAaQBhAGwAJgBjAGwAaQBlAG4AdAA9AGYAaQByAGUAZgBvAHgALQBhACYAYwBoAGEAbgBuAGUAbAA9AGYAZgBsAGIAJgBnAGYAZQBfAHIAZAA9AGMAcgAmAGQAYwByAD0AMAAmAGUAaQA9AFQAUgBVAEwAVwBwAEsAbABBAGYASwBKADgAUQBlAG8AdgBhAFoANAAjAGEAcQA9AHQAJgBjAG4AcwA9ADEAJgBnAGYAZQBfAHIAZAA9AGMAcgAAAAAACAAAAAQA//9tAGUAdABhAGQAYQB0AGEAAAAAAAgA//8DAAAABAD//1QASgBhAAAAACD7srT7dUICAAAABAD//0gATQAAAAAAADD7srT7dUIDAAAABAD//2kAYgBhAAAAABD7srT7dUICAAAABAD//1EAMQAAAAAAAAAAAAAA8D8AAAAAAAD//wIAAAAEAP//RAA5AAAAAAAAAAAACAD//wIAAAAEAP//aABzAAAAAAAAAAAABwD//wAAAAADAP//AAD7srT7dUIBAAAAAwD//wAw+7K0+3VCAAAAAAAA//8AAAAAAAD//wAAAAAAAP//","structuredCloneVersion":2},{"url":"https://www.google.es/search?q=build.properties+does+not+exist&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a&channel=fflb&gfe_rd=cr&dcr=0&ei=TRULWpKlAfKJ8QeovaZ4#aq=t&cns=0&gfe_rd=cr","title":"build.properties does not exist - Buscar con Google","subframe":true,"ID":11,"docshellID":7,"docIdentifier":8,"structuredCloneState":"AAAAAAgA//8FAAAABAD//3MAdABhAHQAZQAAAAAAAAAAAAAACAD//wMAAAAEAP//aABzAHMAAAAAAAAACAD//wAAAAAAAP//AAAAAAAA//8DAAAABAD//3UAcgBsAAAAugAAAAQA//8vAHMAZQBhAHIAYwBoAD8AcQA9AGIAdQBpAGwAZAAuAHAAcgBvAHAAZQByAHQAaQBlAHMAKwBkAG8AZQBzACsAbgBvAHQAKwBlAHgAaQBzAHQAJgBpAGUAPQB1AHQAZgAtADgAJgBvAGUAPQB1AHQAZgAtADgAJgBhAHEAPQB0ACYAcgBsAHMAPQBvAHIAZwAuAG0AbwB6AGkAbABsAGEAOgBlAG4ALQBVAFMAOgBvAGYAZgBpAGMAaQBhAGwAJgBjAGwAaQBlAG4AdAA9AGYAaQByAGUAZgBvAHgALQBhACYAYwBoAGEAbgBuAGUAbAA9AGYAZgBsAGIAJgBnAGYAZQBfAHIAZAA9AGMAcgAmAGQAYwByAD0AMAAmAGUAaQA9AFQAUgBVAEwAVwBwAEsAbABBAGYASwBKADgAUQBlAG8AdgBhAFoANAAjAGEAcQA9AHQAJgBjAG4AcwA9ADAAJgBnAGYAZQBfAHIAZAA9AGMAcgAAAAAACAAAAAQA//9tAGUAdABhAGQAYQB0AGEAAAAAAAgA//8DAAAABAD//1QASgBhAAAAAED7srT7dUICAAAABAD//0gATQAAAAAAADD7srT7dUIDAAAABAD//2kAYgBhAAAAABD7srT7dUICAAAABAD//1EAMQAAAAAAAAAAAAAA8D8AAAAAAAD//wIAAAAEAP//RAA5AAAAAAAAAAAACAD//wIAAAAEAP//aABzAAAAAAAAAAAABwD//wAAAAADAP//AAD7srT7dUIBAAAAAwD//wAw+7K0+3VCAAAAAAAA//8AAAAAAAD//wAAAAAAAP//","structuredCloneVersion":2},{"url":"https://bugs.eclipse.org/bugs/show_bug.cgi?id=383925","title":"Bug 383925 – build.properties does not exist","ID":24,"docshellID":7,"referrer":"https://www.google.es/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0ahUKEwjfr_vmwb7XAhWoDMAKHcYDBb0QFgg9MAI&url=https%3A%2F%2Fbugs.eclipse.org%2Fbugs%2Fshow_bug.cgi%3Fid%3D383925&usg=AOvVaw1F5gEOtI7sFsGeY8w3Cifs","docIdentifier":30}],"lastAccessed":1510678076806,"hidden":false,"attributes":{},"image":"https://bugs.eclipse.org/bugs/images/favicon.ico","index":4},{"entries":[{"url":"http://localhost:2000/gestioneitorclv2_0_SOLUCIONmvc/","title":"Tecnologias Web","subframe":true,"ID":25,"docshellID":21,"docIdentifier":31,"children":[{"url":"http://localhost:2000/gestioneitorclv2_0_SOLUCIONmvc/login.html","title":"Tecnologias Web. Login","ID":26,"docshellID":22,"referrer":"http://localhost:2000/gestioneitorclv2_0_SOLUCIONmvc/","docIdentifier":32}]},{"url":"http://localhost:2000/gestioneitorclv2_0_SOLUCIONmvc/","title":"Tecnologias Web","subframe":true,"ID":25,"docshellID":21,"docIdentifier":31,"children":[{"url":"http://localhost:2000/gestioneitorclv2_0_SOLUCIONmvc/crudAlumno.html","title":"Tecnologias Web. Alta alumno","subframe":true,"ID":27,"docshellID":22,"referrer":"http://localhost:2000/gestioneitorclv2_0_SOLUCIONmvc/","docIdentifier":33}]}],"lastAccessed":1510678150838,"hidden":false,"attributes":{},"image":"http://localhost:2000/favicon.ico","index":2,"scroll":{"scroll":"0,503","children":[{"scroll":"0,47"}]}},{"entries":[{"url":"http://localhost:2000/gestioneitorclv2_0_SOLUCIONmvc/","title":"Tecnologias Web","subframe":true,"ID":28,"docshellID":23,"docIdentifier":34,"children":[{"url":"http://localhost:2000/gestioneitorclv2_0_SOLUCIONmvc/login.html","title":"Tecnologias Web. Login","ID":29,"docshellID":24,"referrer":"http://localhost:2000/gestioneitorclv2_0_SOLUCIONmvc/","docIdentifier":35}]},{"url":"http://localhost:2000/gestioneitorclv2_0_SOLUCIONmvc/","title":"Tecnologias Web","subframe":true,"ID":28,"docshellID":23,"docIdentifier":34,"children":[{"url":"http://localhost:2000/gestioneitorclv2_0_SOLUCIONmvc/crudAlumno.html","title":"Tecnologias Web. Alta alumno","subframe":true,"ID":30,"docshellID":24,"referrer":"http://localhost:2000/gestioneitorclv2_0_SOLUCIONmvc/","docIdentifier":36}]}],"lastAccessed":1510684177210,"hidden":false,"attributes":{},"image":null,"index":2},{"entries":[{"url":"http://localhost:8180/gestioneitorv4_0_SOLUCION/","title":"Piloto de TEW","ID":31,"docshellID":25,"docIdentifier":37},{"url":"http://localhost:8180/gestioneitorv4_0_SOLUCION/rs/AlumnosServicesRs","ID":32,"docshellID":25,"docIdentifier":38}],"lastAccessed":1510685708497,"hidden":false,"attributes":{},"image":"http://localhost:8180/favicon.ico","index":2}],"selected":5,"_closedTabs":[],"width":1427,"height":676,"screenX":17,"screenY":265,"sizemode":"normal","cookies":[{"host":"localhost","value":"Hetpo2jm2SJSxwHR_4G1yVE0.enriquedelac049","path":"/gestioneitorv4_0_SOLUCION","name":"JSESSIONID"},{"host":"bugs.eclipse.org","value":"DwWogLyyBA","path":"/bugs","name":"Bugzilla_login_request_cookie","httponly":true}],"title":"http://localhost:8180/gestioneitorv4_0_SOLUCION/rs/AlumnosServicesRs","_shouldRestore":true,"closedAt":1510685708498}],"selectedWindow":0,"_closedWindows":[],"session":{"lastUpdate":1510685708583,"startTime":1510669179328,"recentCrashes":0},"global":{}} \ No newline at end of file diff --git a/Firefox46.win/Data/profile/sessionstore.js b/Firefox46.win/Data/profile/sessionstore.js new file mode 100644 index 0000000..ad28ef3 --- /dev/null +++ b/Firefox46.win/Data/profile/sessionstore.js @@ -0,0 +1 @@ +{"version":["sessionrestore",1],"windows":[{"tabs":[{"entries":[{"url":"https://www.google.es/?gws_rd=ssl","title":"Google","charset":"UTF-8","ID":2,"docshellID":5,"originalURI":"https://www.google.es/?gws_rd=ssl","docIdentifier":2,"persist":true}],"lastAccessed":1519820143990,"hidden":false,"attributes":{},"userContextId":0,"index":1,"image":"https://www.google.es/images/branding/product/ico/googleg_lodp.ico"},{"entries":[{"url":"about:preferences","title":"Opciones","charset":"","ID":5,"docshellID":11,"originalURI":"about:preferences","owner_b64":"SmIS26zLEdO3ZQBgsLbOywAAAAAAAAAAwAAAAAAAAEY=","docIdentifier":5,"structuredCloneState":"CwAAAAQA//9wAGEAbgBlAEcAZQBuAGUAcgBhAGwAAAA=","structuredCloneVersion":6,"persist":true},{"url":"about:preferences#advanced","title":"Opciones","charset":"","ID":8,"docshellID":11,"originalURI":"about:preferences#advanced","owner_b64":"SmIS26zLEdO3ZQBgsLbOywAAAAAAAAAAwAAAAAAAAEY=","docIdentifier":5,"structuredCloneState":"DAAAAAQA//9wAGEAbgBlAEEAZAB2AGEAbgBjAGUAZAA=","structuredCloneVersion":6,"persist":true}],"lastAccessed":1519820152216,"hidden":false,"attributes":{},"userContextId":0,"index":2,"image":"chrome://browser/skin/preferences/in-content/favicon.ico"}],"selected":2,"_closedTabs":[],"width":1280,"height":774,"screenX":4,"screenY":4,"sizemode":"normal","title":"Opciones","_shouldRestore":true,"closedAt":1519820152218}],"selectedWindow":0,"_closedWindows":[],"session":{"lastUpdate":1519820152316,"startTime":1519820136852,"recentCrashes":0},"global":{}} \ No newline at end of file diff --git a/Firefox46.win/Data/profile/startupCache/startupCache.8.little b/Firefox46.win/Data/profile/startupCache/startupCache.8.little new file mode 100644 index 0000000..f735946 Binary files /dev/null and b/Firefox46.win/Data/profile/startupCache/startupCache.8.little differ diff --git a/Firefox46.win/Data/profile/storage/permanent/chrome/.metadata b/Firefox46.win/Data/profile/storage/permanent/chrome/.metadata new file mode 100644 index 0000000..15f8881 Binary files /dev/null and b/Firefox46.win/Data/profile/storage/permanent/chrome/.metadata differ diff --git a/Firefox46.win/Data/profile/storage/permanent/chrome/idb/2918063365piupsah.sqlite b/Firefox46.win/Data/profile/storage/permanent/chrome/idb/2918063365piupsah.sqlite new file mode 100644 index 0000000..c40bd5f Binary files /dev/null and b/Firefox46.win/Data/profile/storage/permanent/chrome/idb/2918063365piupsah.sqlite differ diff --git a/Firefox46.win/Data/profile/storage/permanent/moz-safe-about+home/.metadata b/Firefox46.win/Data/profile/storage/permanent/moz-safe-about+home/.metadata new file mode 100644 index 0000000..e1b8425 Binary files /dev/null and b/Firefox46.win/Data/profile/storage/permanent/moz-safe-about+home/.metadata differ diff --git a/Firefox46.win/Data/profile/storage/permanent/moz-safe-about+home/idb/818200132aebmoouht.sqlite b/Firefox46.win/Data/profile/storage/permanent/moz-safe-about+home/idb/818200132aebmoouht.sqlite new file mode 100644 index 0000000..6433bfb Binary files /dev/null and b/Firefox46.win/Data/profile/storage/permanent/moz-safe-about+home/idb/818200132aebmoouht.sqlite differ diff --git a/Firefox46.win/Data/profile/thumbnails/f811fcb09fdfa9347ae86d037e67d211.png b/Firefox46.win/Data/profile/thumbnails/f811fcb09fdfa9347ae86d037e67d211.png new file mode 100644 index 0000000..c4897b1 Binary files /dev/null and b/Firefox46.win/Data/profile/thumbnails/f811fcb09fdfa9347ae86d037e67d211.png differ diff --git a/Firefox46.win/Data/profile/times.json b/Firefox46.win/Data/profile/times.json new file mode 100644 index 0000000..c788d97 --- /dev/null +++ b/Firefox46.win/Data/profile/times.json @@ -0,0 +1 @@ +{"created":1488213665087} \ No newline at end of file diff --git a/Firefox46.win/Data/profile/webapps/webapps.json b/Firefox46.win/Data/profile/webapps/webapps.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/Firefox46.win/Data/profile/webapps/webapps.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/Firefox46.win/Data/profile/webappsstore.sqlite b/Firefox46.win/Data/profile/webappsstore.sqlite new file mode 100644 index 0000000..d87f1e9 Binary files /dev/null and b/Firefox46.win/Data/profile/webappsstore.sqlite differ diff --git a/Firefox46.win/Data/profile/xulstore.json b/Firefox46.win/Data/profile/xulstore.json new file mode 100644 index 0000000..f754ab8 --- /dev/null +++ b/Firefox46.win/Data/profile/xulstore.json @@ -0,0 +1 @@ +{"chrome://browser/content/browser.xul":{"navigator-toolbox":{"iconsize":"small"},"titlebar-placeholder-on-menubar-for-caption-buttons":{"width":"102"},"titlebar-placeholder-on-TabsToolbar-for-captions-buttons":{"width":"102"},"main-window":{"screenX":"4","screenY":"4","width":"1280","height":"774","sizemode":"normal"},"sidebar-title":{"value":""}}} \ No newline at end of file diff --git a/Firefox46.win/Data/settings/FirefoxPortableSettings.ini b/Firefox46.win/Data/settings/FirefoxPortableSettings.ini new file mode 100644 index 0000000..dfa4541 --- /dev/null +++ b/Firefox46.win/Data/settings/FirefoxPortableSettings.ini @@ -0,0 +1,3 @@ +[FirefoxPortableSettings] +LastProfileDirectory=D:\GitHub\InciManager_e1b\Firefox46.win\Data\profile +SubmitCrashReport=0 diff --git a/Firefox46.win/FirefoxPortable.exe b/Firefox46.win/FirefoxPortable.exe new file mode 100644 index 0000000..219af23 Binary files /dev/null and b/Firefox46.win/FirefoxPortable.exe differ diff --git a/Firefox46.win/Other/Help/images/donation_button.png b/Firefox46.win/Other/Help/images/donation_button.png new file mode 100644 index 0000000..f19dea7 Binary files /dev/null and b/Firefox46.win/Other/Help/images/donation_button.png differ diff --git a/Firefox46.win/Other/Help/images/favicon.ico b/Firefox46.win/Other/Help/images/favicon.ico new file mode 100644 index 0000000..ed849b2 Binary files /dev/null and b/Firefox46.win/Other/Help/images/favicon.ico differ diff --git a/Firefox46.win/Other/Help/images/help_background_footer.png b/Firefox46.win/Other/Help/images/help_background_footer.png new file mode 100644 index 0000000..5ebdc02 Binary files /dev/null and b/Firefox46.win/Other/Help/images/help_background_footer.png differ diff --git a/Firefox46.win/Other/Help/images/help_background_header.png b/Firefox46.win/Other/Help/images/help_background_header.png new file mode 100644 index 0000000..cf1ebf7 Binary files /dev/null and b/Firefox46.win/Other/Help/images/help_background_header.png differ diff --git a/Firefox46.win/Other/Help/images/help_logo_top.png b/Firefox46.win/Other/Help/images/help_logo_top.png new file mode 100644 index 0000000..1a70505 Binary files /dev/null and b/Firefox46.win/Other/Help/images/help_logo_top.png differ diff --git a/Firefox46.win/Other/Source/AppSource.txt b/Firefox46.win/Other/Source/AppSource.txt new file mode 100644 index 0000000..632c27a --- /dev/null +++ b/Firefox46.win/Other/Source/AppSource.txt @@ -0,0 +1,2 @@ +Firefox source code is available from the Firefox Portable page: +http://portableapps.com/apps/internet/firefox_portable \ No newline at end of file diff --git a/Firefox46.win/Other/Source/CheckForPlatformSplashDisable.nsh b/Firefox46.win/Other/Source/CheckForPlatformSplashDisable.nsh new file mode 100644 index 0000000..6c58f5f --- /dev/null +++ b/Firefox46.win/Other/Source/CheckForPlatformSplashDisable.nsh @@ -0,0 +1,55 @@ +; CheckForPlatformSplashDisable 1.0 (2010-06-16) +; +; Checks if the platform wants the splash screen disabled +; Copyright 2008-2010 John T. Haller of PortableApps.com +; Released under the GPL +; +; Usage: ${CheckForPlatformSplashDisable} _v +; +; Example: ${CheckForPlatformSplashDisable} $DISABLESPLASHSCREEN +; If the platform wants it disabled, $DISABLESPLASHSCREEN will be true. +; Otherwise it will be whatever its previous value was + +!macro CheckForPlatformSplashDisable _v + StrCmp ${_v} true _CFPSDEnd + ;Get the parameter and sort out the stack + Push $0 + Push $1 + Push $R0 + + StrCpy $0 ${_v} + + ;Read from the INI + ReadEnvStr $1 PortableApps.comDisableSplash + StrCmp $1 "true" "" _CFPSDStackEnd + + ${GetParent} $EXEDIR $1 + IfFileExists $1\PortableApps.com\PortableAppsPlatform.exe "" _CFPSDStackEnd + + MoreInfo::GetProductName `$1\PortableApps.com\PortableAppsPlatform.exe` + Pop $R0 + StrCmp $R0 "PortableApps.com Platform" "" _CFPSDStackEnd + + MoreInfo::GetCompanyName `$1\PortableApps.com\PortableAppsPlatform.exe` + Pop $R0 + StrCmp $R0 PortableApps.com "" _CFPSDStackEnd + + !ifdef NSIS_UNICODE + FindProc $R0 PortableAppsPlatform.exe + !else + FindProcDLL::FindProc PortableAppsPlatform.exe ; Onto $R0 + !endif + IntCmp $R0 1 "" _CFPSDStackEnd _CFPSDStackEnd + + StrCpy $0 true + + _CFPSDStackEnd: + ; Restore the stack and sort everything out + Pop $R0 + Pop $1 + Exch $0 + Pop ${_v} + + _CFPSDEnd: +!macroend +!define CheckForPlatformSplashDisable '!insertmacro CheckForPlatformSplashDisable' diff --git a/Firefox46.win/Other/Source/FirefoxPortable.ini b/Firefox46.win/Other/Source/FirefoxPortable.ini new file mode 100644 index 0000000..10658c0 --- /dev/null +++ b/Firefox46.win/Other/Source/FirefoxPortable.ini @@ -0,0 +1,16 @@ +[FirefoxPortable] +FirefoxDirectory=App\firefox +ProfileDirectory=Data\profile +SettingsDirectory=Data\settings +PluginsDirectory=Data\plugins +FirefoxExecutable=firefox.exe +AdditionalParameters= +LocalHomepage= +DisableSplashScreen=false +AllowMultipleInstances=false +DisableIntelligentStart=false +SkipCompregFix=false +RunLocally=false + +# The above options are explained in the included readme.txt +# This INI file is an example only and is not used unless it is placed as described in the included readme.txt \ No newline at end of file diff --git a/Firefox46.win/Other/Source/FirefoxPortable.jpg b/Firefox46.win/Other/Source/FirefoxPortable.jpg new file mode 100644 index 0000000..616b824 Binary files /dev/null and b/Firefox46.win/Other/Source/FirefoxPortable.jpg differ diff --git a/Firefox46.win/Other/Source/FirefoxPortableU.nsi b/Firefox46.win/Other/Source/FirefoxPortableU.nsi new file mode 100644 index 0000000..6053873 --- /dev/null +++ b/Firefox46.win/Other/Source/FirefoxPortableU.nsi @@ -0,0 +1,629 @@ +;Copyright 2004-2016 John T. Haller of PortableApps.com + +;Website: http://PortableApps.com/FirefoxPortable + +;This software is OSI Certified Open Source Software. +;OSI Certified is a certification mark of the Open Source Initiative. + +;This program is free software; you can redistribute it and/or +;modify it under the terms of the GNU General Public License +;as published by the Free Software Foundation; either version 2 +;of the License, or (at your option) any later version. + +;This program is distributed in the hope that it will be useful, +;but WITHOUT ANY WARRANTY; without even the implied warranty of +;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;GNU General Public License for more details. + +;You should have received a copy of the GNU General Public License +;along with this program; if not, write to the Free Software +;Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +!define PORTABLEAPPNAME "Mozilla Firefox, Portable Edition" +!define APPNAME "Firefox" +!define NAME "FirefoxPortable" +!define VER "2.0.2.0" +!define WEBSITE "PortableApps.com/FirefoxPortable" +!define DEFAULTEXE "firefox.exe" +!define DEFAULTAPPDIR "firefox" +!define LAUNCHERLANGUAGE "SpanishInternational" + +;=== Program Details +Name "${PORTABLEAPPNAME}" +OutFile "..\..\${NAME}.exe" +Caption "${PORTABLEAPPNAME} | PortableApps.com" +VIProductVersion "${VER}" +VIAddVersionKey ProductName "${PORTABLEAPPNAME}" +VIAddVersionKey Comments "Allows ${APPNAME} to be run from a removable drive. For additional details, visit ${WEBSITE}" +VIAddVersionKey CompanyName "PortableApps.com" +VIAddVersionKey LegalCopyright "John T. Haller" +VIAddVersionKey FileDescription "${PORTABLEAPPNAME}" +VIAddVersionKey FileVersion "${VER}" +VIAddVersionKey ProductVersion "${VER}" +VIAddVersionKey InternalName "${PORTABLEAPPNAME}" +VIAddVersionKey LegalTrademarks "Firefox is a Registered Trademark of The Mozilla Foundation. PortableApps.com is a Registered Trademark of Rare Ideas, LLC." +VIAddVersionKey OriginalFilename "${NAME}.exe" +;VIAddVersionKey PrivateBuild "" +;VIAddVersionKey SpecialBuild "" + +;=== Runtime Switches +CRCCheck On +WindowIcon Off +SilentInstall Silent +AutoCloseWindow True +RequestExecutionLevel user +XPStyle on + +; Best Compression +SetCompress Auto +SetCompressor /SOLID lzma +SetCompressorDictSize 32 +SetDatablockOptimize On + +;=== Include +;(Standard NSIS) +!include FileFunc.nsh +!insertmacro GetParameters ;Requires NSIS 2.40 or better +!include LogicLib.nsh +!include Registry.nsh +!include TextFunc.nsh +!insertmacro GetParent +!include WinVer.nsh +!include WordFunc.nsh +!insertmacro VersionCompare + +;(NSIS Plugins) +!include TextReplace.nsh + +;(Custom) +!include CheckForPlatformSplashDisable.nsh +!include ReplaceInFileWithTextReplace.nsh +!include ReadINIStrWithDefault.nsh +!include SetFileAttributesDirectoryNormal.nsh + +;=== Program Icon +Icon "..\..\App\AppInfo\appicon.ico" + +;=== Icon & Stye === +BrandingText "PortableApps.com®" + +;=== Languages +LoadLanguageFile "${NSISDIR}\Contrib\Language files\${LAUNCHERLANGUAGE}.nlf" +!include PortableApps.comLauncherLANG_${LAUNCHERLANGUAGE}.nsh + +;=== Variables +Var PROGRAMDIRECTORY +Var PROGRAMDIRECTORY64 +Var PROFILEDIRECTORY +Var ORIGINALPROFILEDIRECTORY +Var SETTINGSDIRECTORY +Var PLUGINSDIRECTORY +Var ADDITIONALPARAMETERS +Var ALLOWMULTIPLEINSTANCES +Var SKIPCOMPREGFIX +Var EXECSTRING +Var PROGRAMEXECUTABLE +Var INIPATH +Var DISABLESPLASHSCREEN +Var DISABLEINTELLIGENTSTART +Var LOCALHOMEPAGE +Var ISDEFAULTDIRECTORY +Var RUNLOCALLY +Var WAITFORPROGRAM +Var LASTPROFILEDIRECTORY +Var APPDATAPATH +Var SECONDARYLAUNCH +Var MOZILLAORGKEYEXISTS +Var HKLMMOZILLAORGKEYEXISTS +Var MISSINGFILEORPATH +Var CRASHREPORTSDIREXISTS +Var EXTENSIONSDIREXISTS +Var bolHKCUSoftwareMozillaFirefoxCrashReporterExists +Var bolHKCUSoftwareMozillaFirefoxExists +Var bolHKCUSoftwareMozillaExists +Var SubmitCrashReportBackup +Var bolLauncherIsAlreadyRunning +Var strPassedParameters +Var bolAlwaysUse32Bit +Var bolUsing64Bit + +Section "Main" + ;=== Create a mutex so we can determine if this specific launcher is already running + ${WordReplace} $EXEDIR "\" "-" "+" $0 + System::Call 'kernel32::CreateMutex(i 0, i 0, t "FirefoxPortable$0") ?e' + Pop $R0 + ${If} $R0 != 0 + StrCpy $bolLauncherIsAlreadyRunning true + ${Else} + StrCpy $bolLauncherIsAlreadyRunning false + ${EndIf} + + ;=== Setup variables + ReadEnvStr $APPDATAPATH "APPDATA" + + ;=== Find the INI file, if there is one + IfFileExists "$EXEDIR\${NAME}.ini" "" NoINI + StrCpy "$INIPATH" "$EXEDIR" + + ;=== Read the parameters from the INI file + ${ReadINIStrWithDefault} $0 "$INIPATH\${NAME}.ini" "${NAME}" "${APPNAME}Directory" "App\${DEFAULTAPPDIR}" + StrCpy $PROGRAMDIRECTORY "$EXEDIR\$0" + StrCpy $PROGRAMDIRECTORY64 "$EXEDIR\$064" + ${ReadINIStrWithDefault} $0 "$INIPATH\${NAME}.ini" "${NAME}" "ProfileDirectory" "Data\profile" + StrCpy $PROFILEDIRECTORY "$EXEDIR\$0" + ${ReadINIStrWithDefault} $0 "$INIPATH\${NAME}.ini" "${NAME}" "SettingsDirectory" "Data\settings" + StrCpy $SETTINGSDIRECTORY "$EXEDIR\$0" + ${ReadINIStrWithDefault} $0 "$INIPATH\${NAME}.ini" "${NAME}" "PluginsDirectory" "Data\plugins" + StrCpy $PLUGINSDIRECTORY "$EXEDIR\$0" + ${ReadINIStrWithDefault} $ADDITIONALPARAMETERS "$INIPATH\${NAME}.ini" "${NAME}" "AdditionalParameters" "" + ${ReadINIStrWithDefault} $ALLOWMULTIPLEINSTANCES "$INIPATH\${NAME}.ini" "${NAME}" "AllowMultipleInstances" "false" + ${ReadINIStrWithDefault} $SKIPCOMPREGFIX "$INIPATH\${NAME}.ini" "${NAME}" "SkipCompregFix" "false" + ${ReadINIStrWithDefault} $PROGRAMEXECUTABLE "$INIPATH\${NAME}.ini" "${NAME}" "${APPNAME}Executable" "${DEFAULTEXE}" + ${ReadINIStrWithDefault} $WAITFORPROGRAM "$INIPATH\${NAME}.ini" "${NAME}" "WaitFor${APPNAME}" "false" + ${ReadINIStrWithDefault} $DISABLESPLASHSCREEN "$INIPATH\${NAME}.ini" "${NAME}" "DisableSplashScreen" "false" + ${ReadINIStrWithDefault} $DISABLEINTELLIGENTSTART "$INIPATH\${NAME}.ini" "${NAME}" "DisableIntelligentStart" "false" + ${ReadINIStrWithDefault} $LOCALHOMEPAGE "$INIPATH\${NAME}.ini" "${NAME}" "LocalHomepage" "" + ${ReadINIStrWithDefault} $RUNLOCALLY "$INIPATH\${NAME}.ini" "${NAME}" "RunLocally" "false" + ${If} $RUNLOCALLY == "true" + StrCpy $WAITFORPROGRAM "true" + ${EndIf} + + ${ReadINIStrWithDefault} $bolAlwaysUse32Bit "$INIPATH\${NAME}.ini" "${NAME}" "AlwaysUse32Bit" "false" + ${If} $bolAlwaysUse32Bit == "true" + StrCpy $bolAlwaysUse32Bit true + ${Else} + StrCpy $bolAlwaysUse32Bit false + ${EndIf} + + ;CheckIfDefaultDirectories: + ;=== Check if default directories + StrCmp $PROGRAMDIRECTORY "$EXEDIR\App\${DEFAULTAPPDIR}" "" EndINI + StrCmp $PROFILEDIRECTORY "$EXEDIR\Data\profile" "" EndINI + StrCmp $PLUGINSDIRECTORY "$EXEDIR\Data\plugins" "" EndINI + StrCmp $SETTINGSDIRECTORY "$EXEDIR\Data\settings" "" EndINI + StrCpy $ISDEFAULTDIRECTORY "true" + + EndINI: + IfFileExists "$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE" FoundProgramEXE NoProgramEXE + + NoINI: + ;=== No INI file, so we'll use the defaults + StrCpy $ADDITIONALPARAMETERS "" + StrCpy $ALLOWMULTIPLEINSTANCES "false" + StrCpy $SKIPCOMPREGFIX "false" + StrCpy $WAITFORPROGRAM "false" + StrCpy $PROGRAMEXECUTABLE "${DEFAULTEXE}" + StrCpy $DISABLESPLASHSCREEN "false" + StrCpy $DISABLEINTELLIGENTSTART "false" + StrCpy $bolAlwaysUse32Bit false + + IfFileExists "$EXEDIR\App\${DEFAULTAPPDIR}\${DEFAULTEXE}" "" CheckPortableProgramDIR + StrCpy $PROGRAMDIRECTORY "$EXEDIR\App\${DEFAULTAPPDIR}" + StrCpy $PROGRAMDIRECTORY64 "$EXEDIR\App\${DEFAULTAPPDIR}64" + StrCpy $PROFILEDIRECTORY "$EXEDIR\Data\profile" + StrCpy $PLUGINSDIRECTORY "$EXEDIR\Data\plugins" + StrCpy $SETTINGSDIRECTORY "$EXEDIR\Data\settings" + StrCpy $ISDEFAULTDIRECTORY "true" + Goto FoundProgramEXE + + CheckPortableProgramDIR: + IfFileExists "$EXEDIR\${NAME}\App\${DEFAULTAPPDIR}\${DEFAULTEXE}" "" NoProgramEXE + StrCpy $PROGRAMDIRECTORY "$EXEDIR\${NAME}\App\${DEFAULTAPPDIR}" + StrCpy $PROGRAMDIRECTORY64 "$EXEDIR\${NAME}\App\${DEFAULTAPPDIR}64" + StrCpy $PROFILEDIRECTORY "$EXEDIR\${NAME}\Data\profile" + StrCpy $PLUGINSDIRECTORY "$EXEDIR\${NAME}\Data\plugins" + StrCpy $SETTINGSDIRECTORY "$EXEDIR\${NAME}\Data\settings" + Goto FoundProgramEXE + + NoProgramEXE: + ;=== Program executable not where expected + StrCpy $MISSINGFILEORPATH $PROGRAMEXECUTABLE + MessageBox MB_OK|MB_ICONEXCLAMATION `$(LauncherFileNotFound)` + Abort + + FoundProgramEXE: + StrCpy $ORIGINALPROFILEDIRECTORY $PROFILEDIRECTORY + + IfFileExists "$APPDATA\Mozilla\Firefox\*.*" CheckUserRegistryKey + StrCpy $WAITFORPROGRAM "true" + CheckUserRegistryKey: + ${registry::KeyExists} "HKCU\Software\mozilla.org" $R0 + StrCmp $R0 "-1" CheckMachineRegistryKey ;=== If it doesn't exist, skip the next line + StrCpy $MOZILLAORGKEYEXISTS "true" + CheckMachineRegistryKey: + ${registry::KeyExists} "HKLM\Software\mozilla.org" $R0 + StrCmp $R0 "-1" CheckOtherKeys ;=== If it doesn't exist, skip the next line + StrCpy $HKLMMOZILLAORGKEYEXISTS "true" + CheckOtherKeys: + ${registry::KeyExists} "HKCU\Software\Mozilla" $R0 + ${If} $R0 != "-1" + StrCpy $bolHKCUSoftwareMozillaExists true + ${registry::KeyExists} "HKCU\Software\Mozilla\Firefox" $R0 + ${If} $R0 != "-1" + StrCpy $bolHKCUSoftwareMozillaFirefoxExists true + ${registry::KeyExists} "HKCU\Software\Mozilla\Firefox\Crash Reporter" $R0 + ${If} $R0 != "-1" + StrCpy $bolHKCUSoftwareMozillaFirefoxCrashReporterExists true + ${registry::Read} "HKCU\Software\Mozilla\Firefox\Crash Reporter" "SubmitCrashReport" $SubmitCrashReportBackup $R2 + ${EndIf} + ${EndIf} + ${EndIf} + + ;CheckIfRunning: + ;=== Check if running + StrCmp $ALLOWMULTIPLEINSTANCES "true" ProfileWork + FindProcDLL::FindProc "firefox.exe" + StrCmp $R0 "1" "" CheckForCrashReports + ;=== Is launcher already running? + StrCmp $bolLauncherIsAlreadyRunning false WarnAnotherInstance + StrCpy $SECONDARYLAUNCH "true" + Goto RunProgram + + WarnAnotherInstance: + MessageBox MB_OK|MB_ICONINFORMATION `$(LauncherAlreadyRunning)` + Abort + + CheckForCrashReports: + IfFileExists "$APPDATA\Mozilla\Firefox\Crash Reports\*.*" "" CheckForExtensionsDirectory + Rename "$APPDATA\Mozilla\Firefox\Crash Reports" "$APPDATA\Mozilla\Firefox\Crash Reports-BackupByFirefoxPortable" + StrCpy $CRASHREPORTSDIREXISTS "true" + StrCpy $WAITFORPROGRAM "true" + + CheckForExtensionsDirectory: + IfFileExists "$APPDATA\Mozilla\Extensions\*.*" "" ProfileWork + Rename "$APPDATA\Mozilla\Extensions" "$APPDATA\Mozilla\Extensions-BackupByFirefoxPortable" + StrCpy $EXTENSIONSDIREXISTS "true" + StrCpy $WAITFORPROGRAM "true" + + ProfileWork: + ;=== Check for an existing profile + IfFileExists "$PROFILEDIRECTORY\prefs.js" ProfileFound + ;=== No profile was found + StrCmp $ISDEFAULTDIRECTORY "true" CopyDefaultProfile CreateProfile + + CopyDefaultProfile: + CreateDirectory "$EXEDIR\Data" + CreateDirectory "$EXEDIR\Data\plugins" + CreateDirectory "$EXEDIR\Data\profile" + CreateDirectory "$EXEDIR\Data\settings" + CopyFiles /SILENT $EXEDIR\App\DefaultData\plugins\*.* $EXEDIR\Data\plugins + CopyFiles /SILENT $EXEDIR\App\DefaultData\profile\*.* $EXEDIR\Data\profile + CopyFiles /SILENT $EXEDIR\App\DefaultData\settings\*.* $EXEDIR\Data\settings + GoTo ProfileFound + + CreateProfile: + IfFileExists "$PROFILEDIRECTORY\*.*" ProfileFound + CreateDirectory "$PROFILEDIRECTORY" + + ProfileFound: + IfFileExists "$SETTINGSDIRECTORY\FirefoxPortableSettings.ini" SettingsFound + CreateDirectory "$SETTINGSDIRECTORY" + FileOpen $R0 "$SETTINGSDIRECTORY\FirefoxPortableSettings.ini" w + FileClose $R0 + WriteINIStr "$SETTINGSDIRECTORY\FirefoxPortableSettings.ini" "FirefoxPortableSettings" "LastProfileDirectory" "NONE" + + SettingsFound: + ${ReadINIStrWithDefault} $R0 "$SETTINGSDIRECTORY\${NAME}Settings.ini" "${NAME}Settings" "SubmitCrashReport" "" + ${If} $R0 != "" + ${registry::Write} "HKCU\Software\Mozilla\Firefox\Crash Reporter" "SubmitCrashReport" "$R0" "REG_DWORD" $R1 + ${EndIf} + + ${ReadINIStrWithDefault} $R0 "$EXEDIR\App\AppInfo\appinfo.ini" "Installer" "Run" "true" + + ${If} $R0 == "false" + ${OrIf} ${FileExists} "$EXEDIR\LupoApp.ini" + ;Upgrade or install sans the PortableApps.com Installer which can cause compatibility issues + ${ReadINIStrWithDefault} $0 "$EXEDIR\App\AppInfo\appinfo.ini" "Version" "PackageVersion" "0.0.0.0" + ${ReadINIStrWithDefault} $1 "$SETTINGSDIRECTORY\FirefoxPortableSettings.ini" "FirefoxPortableSettings" "InvalidPackageWarningShown" "0.0.0.0" + ${VersionCompare} $0 $1 $2 + ${If} $2 == 1 + ${OrIf} $R0 == "false" + MessageBox MB_OK|MB_ICONEXCLAMATION `Warning: ${PORTABLEAPPNAME} was installed or upgraded without using its installer. This may be a violation of the application's license and could cause functionality, portability, or data integrity issues. Please visit PortableApps.com to obtain the official release of this application to install or upgrade. If you wish to use this application in its current unsupported state, please click OK and then start it again.` + WriteINIStr "$SETTINGSDIRECTORY\FirefoxPortableSettings.ini" "FirefoxPortableSettings" "InvalidPackageWarningShown" $0 + DeleteINISec "$EXEDIR\App\AppInfo\appinfo.ini" "Installer" + Goto TheEnd + ${EndIf} + ${EndIf} + + + ;=== Check for read/write + StrCmp $RUNLOCALLY "true" DisplaySplash + ClearErrors + FileOpen $R0 "$PROFILEDIRECTORY\writetest.temp" w + IfErrors "" WriteSuccessful + ;== Write failed, so we're read-only + MessageBox MB_YESNO|MB_ICONQUESTION `$(LauncherAskCopyLocal)` IDYES SwitchToRunLocally + MessageBox MB_OK|MB_ICONINFORMATION `$(LauncherNoReadOnly)` + Abort + + SwitchToRunLocally: + StrCpy $RUNLOCALLY "true" + StrCpy $WAITFORPROGRAM "true" + Goto DisplaySplash + + WriteSuccessful: + FileClose $R0 + Delete "$PROFILEDIRECTORY\writetest.temp" + + DisplaySplash: + ${CheckForPlatformSplashDisable} $DISABLESPLASHSCREEN + StrCmp $DISABLESPLASHSCREEN "true" SkipSplashScreen + ;=== Show the splash screen before processing the files + InitPluginsDir + File /oname=$PLUGINSDIR\splash.jpg "${NAME}.jpg" + newadvsplash::show /NOUNLOAD 2000 0 0 -1 /L $PLUGINSDIR\splash.jpg + + SkipSplashScreen: + ;=== Run locally if needed (aka Portable Firefox Live) + StrCmp $RUNLOCALLY "true" "" CompareProfilePath + RMDir /r "$TEMP\${NAME}\" + CreateDirectory $TEMP\${NAME}\profile + CreateDirectory $TEMP\${NAME}\plugins + CreateDirectory $TEMP\${NAME}\program + CopyFiles /SILENT $PROFILEDIRECTORY\*.* $TEMP\${NAME}\profile + StrCpy $PROFILEDIRECTORY $TEMP\${NAME}\profile + CopyFiles /SILENT $PLUGINSDIRECTORY\*.* $TEMP\${NAME}\plugins + StrCpy $PLUGINSDIRECTORY $TEMP\${NAME}\plugins + CopyFiles /SILENT $PROGRAMDIRECTORY\*.* $TEMP\${NAME}\program + StrCpy $PROGRAMDIRECTORY $TEMP\${NAME}\program + ${SetFileAttributesDirectoryNormal} "$TEMP\${NAME}" + + CompareProfilePath: + ReadINIStr $LASTPROFILEDIRECTORY "$SETTINGSDIRECTORY\${NAME}Settings.ini" "${NAME}Settings" "LastProfileDirectory" + StrCmp $PROFILEDIRECTORY $LASTPROFILEDIRECTORY "" RememberProfilePath + StrCmp $DISABLEINTELLIGENTSTART "true" RememberProfilePath + StrCpy $SKIPCOMPREGFIX "true" + + RememberProfilePath: + WriteINIStr "$SETTINGSDIRECTORY\${NAME}Settings.ini" "${NAME}Settings" "LastProfileDirectory" "$PROFILEDIRECTORY" + + ;FixPrefsJs: + IfFileExists "$PROFILEDIRECTORY\prefs.js" "" FixOtherFiles + StrCmp $LASTPROFILEDIRECTORY "NONE" FixPrefsJsPart2 + StrCpy $2 $LASTPROFILEDIRECTORY 1 ;Last drive letter + StrCpy $3 $PROFILEDIRECTORY 1 ;Current drive letter + StrCmp $2 $3 FixPrefsJsPart2 ;If no change, move on + + ;=== Replace drive letters without impacting other instances of the letter in prefs.js + ${ReplaceInFileCS} "$PROFILEDIRECTORY\prefs.js" `file:///$2` `file:///$3` + ${ReplaceInFileCS} "$PROFILEDIRECTORY\prefs.js" `", "$2:\\` `", "$3:\\` + + FixPrefsJsPart2: + ;=== Be sure the default browser check is disabled + FileOpen $0 "$PROFILEDIRECTORY\prefs.js" a + FileSeek $0 0 END + FileWriteByte $0 "13" + FileWriteByte $0 "10" + FileWrite $0 `user_pref("browser.shell.checkDefaultBrowser", false);` + FileWriteByte $0 "13" + FileWriteByte $0 "10" + StrCmp "$LOCALHOMEPAGE" "" FixPrefsJsClose + FileWrite $0 `user_pref("browser.startup.homepage", "file:///$EXEDIR/$LOCALHOMEPAGE");` + FileWriteByte $0 "13" + FileWriteByte $0 "10" + + FixPrefsJsClose: + FileClose $0 + + FixOtherFiles: + StrCmp $LASTPROFILEDIRECTORY "NONE" RunProgram + ${GetParent} $LASTPROFILEDIRECTORY $0 + ${GetParent} $0 $0 + StrCpy $0 '$0\' ;last FirefoxPortable directory + ${GetParent} $ORIGINALPROFILEDIRECTORY $1 + ${GetParent} $1 $1 + StrCpy $1 '$1\' ;current FirefoxPortable directory + StrCmp $0 $1 RunProgram + ${If} ${FileExists} "$PROFILEDIRECTORY\pluginreg.dat" + ${ReplaceInFile} "$PROFILEDIRECTORY\pluginreg.dat" $0 $1 + ${EndIf} + ${If} ${FileExists} "$PROFILEDIRECTORY\extensions.ini" + ${ReplaceInFile} "$PROFILEDIRECTORY\extensions.ini" $0 $1 + ;Update extensions SQL + ${EndIf} + ${If} ${FileExists} "$PROFILEDIRECTORY\extensions.sqlite" + nsExec::Exec `"$EXEDIR\App\Bin\sqlite3.exe" "$PROFILEDIRECTORY\extensions.sqlite" "UPDATE addon SET descriptor = '$1' || SUBSTR(descriptor,(LENGTH('$0')+1)) WHERE descriptor LIKE '$0%';"` + ${EndIf} + ${If} ${FileExists} "$PROFILEDIRECTORY\mimeTypes.rdf" + ${ReplaceInFile} "$PROFILEDIRECTORY\mimeTypes.rdf" $0 $1 + ${EndIf} + ${If} ${FileExists} "$PROFILEDIRECTORY\prefs.js" + ${ReplaceInFile} "$PROFILEDIRECTORY\prefs.js" $0 $1 + ${WordReplace} $0 "\" "/" "+" $2 + ${WordReplace} $1 "\" "/" "+" $3 + ${ReplaceInFile} "$PROFILEDIRECTORY\prefs.js" "file:///$2" "file:///$3" + ${EndIf} + ${GetParent} $LASTPROFILEDIRECTORY $0 + ${GetParent} $0 $0 + ${GetParent} $0 $0 + StrCpy $0 '$0\' ;last PortableApps directory + ${GetParent} $ORIGINALPROFILEDIRECTORY $1 + ${GetParent} $1 $1 + ${GetParent} $1 $1 + StrCpy $1 '$1\' ;current PortableApps directory + StrCmp $0 $1 RunProgram + ${If} ${FileExists} "$PROFILEDIRECTORY\mimeTypes.rdf" + ${ReplaceInFile} "$PROFILEDIRECTORY\mimeTypes.rdf" $0 $1 + ${EndIf} + + RunProgram: + StrCmp $SKIPCOMPREGFIX "true" GetPassedParameters + + ;=== Delete component registry to ensure compatibility with all extensions + Delete $PROFILEDIRECTORY\compreg.dat + + GetPassedParameters: + ;=== Get any passed parameters + ${GetParameters} $strPassedParameters + + ;=== Setup exec string + System::Call kernel32::GetCurrentProcess()i.s + System::Call kernel32::IsWow64Process(is,*i.r0) + ${If} $0 != 0 + ${AndIf} ${FileExists} "$PROGRAMDIRECTORY64\$PROGRAMEXECUTABLE" + ${AndIf} ${AtLeastWin7} + ${AndIf} $bolAlwaysUse32Bit == false + StrCpy $EXECSTRING `"$PROGRAMDIRECTORY64\$PROGRAMEXECUTABLE" -profile "$PROFILEDIRECTORY"` + StrCpy $bolUsing64Bit true + ${Else} + StrCpy $EXECSTRING `"$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE" -profile "$PROFILEDIRECTORY"` + StrCpy $bolUsing64Bit false + ${EndIf} + + ${If} $strPassedParameters != '' + StrCpy $EXECSTRING `$EXECSTRING $strPassedParameters` + ${EndIf} + + ;CheckMultipleInstances: + StrCmp $ALLOWMULTIPLEINSTANCES "true" "" AdditionalParameters + StrCpy $EXECSTRING `$EXECSTRING -no-remote` + + AdditionalParameters: + StrCmp $ADDITIONALPARAMETERS "" PluginsEnvironment + + ;=== Additional Parameters + StrCpy $EXECSTRING `$EXECSTRING $ADDITIONALPARAMETERS` + + PluginsEnvironment: + ;=== Set the plugins directory if we have a path + ${IfNot} ${FileExists} "$PLUGINSDIRECTORY\*.*" + StrCpy $PLUGINSDIRECTORY "" + ${EndIf} + ${GetParent} $EXEDIR $0 + ${If} $bolUsing64Bit == true + ${If} ${FileExists} "$0\CommonFiles\Java64\bin\plugin2\*.*" + ${If} $PLUGINSDIRECTORY != "" + StrCpy $PLUGINSDIRECTORY "$PLUGINSDIRECTORY;$0\CommonFiles\Java64\bin\plugin2" + ${Else} + StrCpy $PLUGINSDIRECTORY "$0\CommonFiles\Java64\bin\plugin2" + ${EndIf} + ${ElseIf} ${FileExists} "$0\CommonFiles\Java64\bin\new_plugin\*.*" + ${If} $PLUGINSDIRECTORY != "" + StrCpy $PLUGINSDIRECTORY "$PLUGINSDIRECTORY;$0\CommonFiles\Java64\bin\new_plugin" + ${Else} + StrCpy $PLUGINSDIRECTORY "$0\CommonFiles\Java64\bin\new_plugin" + ${EndIf} + ${EndIf} + ${Else} + ${If} ${FileExists} "$0\CommonFiles\Java\bin\plugin2\*.*" + ${If} $PLUGINSDIRECTORY != "" + StrCpy $PLUGINSDIRECTORY "$PLUGINSDIRECTORY;$0\CommonFiles\Java\bin\plugin2" + ${Else} + StrCpy $PLUGINSDIRECTORY "$0\CommonFiles\Java\bin\plugin2" + ${EndIf} + ${ElseIf} ${FileExists} "$0\CommonFiles\Java\bin\new_plugin\*.*" + ${If} $PLUGINSDIRECTORY != "" + StrCpy $PLUGINSDIRECTORY "$PLUGINSDIRECTORY;$0\CommonFiles\Java\bin\new_plugin" + ${Else} + StrCpy $PLUGINSDIRECTORY "$0\CommonFiles\Java\bin\new_plugin" + ${EndIf} + ${EndIf} + ${EndIf} + ${If} ${FileExists} "$0\CommonFiles\Silverlight\files\*.*" + ${If} $PLUGINSDIRECTORY != "" + StrCpy $PLUGINSDIRECTORY "$PLUGINSDIRECTORY;$0\CommonFiles\Silverlight\files" + ${Else} + StrCpy $PLUGINSDIRECTORY "$0\CommonFiles\Silverlight\files" + ${EndIf} + ${EndIf} + ${If} ${FileExists} "$0\CommonFiles\Flash\files\*.*" + ${If} $PLUGINSDIRECTORY != "" + StrCpy $PLUGINSDIRECTORY "$PLUGINSDIRECTORY;$0\CommonFiles\Flash\files" + ${Else} + StrCpy $PLUGINSDIRECTORY "$0\CommonFiles\Flash\files" + ${EndIf} + ${EndIf} + ${If} ${FileExists} "$0\CommonFiles\BrowserPlugins\*.*" + ${If} $PLUGINSDIRECTORY != "" + StrCpy $PLUGINSDIRECTORY "$PLUGINSDIRECTORY;$0\CommonFiles\BrowserPlugins" + ${Else} + StrCpy $PLUGINSDIRECTORY "$0\CommonFiles\BrowserPlugins" + ${EndIf} + ${EndIf} + + StrCmp $PLUGINSDIRECTORY "" LaunchNow + System::Call 'Kernel32::SetEnvironmentVariable(t, t) i("MOZ_PLUGIN_PATH", "$PLUGINSDIRECTORY").r0' + + LaunchNow: + System::Call 'Kernel32::SetEnvironmentVariable(t, t) i("MOZ_CRASHREPORTER_DATA_DIRECTORY", "$PROFILEDIRECTORY\CrashReports").r0' + + StrCmp $SECONDARYLAUNCH "true" StartProgramAndExit + StrCmp $WAITFORPROGRAM "true" "" StartProgramAndExit + SetOutPath $PROGRAMDIRECTORY + ExecWait $EXECSTRING + + CheckRunning: + Sleep 2000 + StrCmp $ALLOWMULTIPLEINSTANCES "true" CheckIfRemoveLocalFiles + FindProcDLL::FindProc "firefox.exe" + StrCmp $R0 "1" CheckRunning CleanupRunLocally + + StartProgramAndExit: + SetOutPath $PROGRAMDIRECTORY + Exec $EXECSTRING + Goto TheEnd + + CleanupRunLocally: + StrCmp $RUNLOCALLY "true" "" CheckIfRemoveLocalFiles + RMDir /r "$TEMP\${NAME}\" + + CheckIfRemoveLocalFiles: + FindProcDLL::FindProc "firefox.exe" + Pop $R0 + StrCmp $R0 "1" TheEnd RemoveLocalFiles + + RemoveLocalFiles: + StrCmp $ALLOWMULTIPLEINSTANCES "true" RemoveLocalFiles2 + RMDir /r "$APPDATA\Mozilla\Firefox\Crash Reports\" + Rename "$APPDATA\Mozilla\Firefox\Crash Reports-BackupByFirefoxPortable" "$APPDATA\Mozilla\Firefox\Crash Reports" + + RemoveLocalFiles2: + StrCmp $ALLOWMULTIPLEINSTANCES "true" RemoveLocalFiles3 + RMDir /r "$APPDATA\Mozilla\Extensions\" + Rename "$APPDATA\Mozilla\Extensions-BackupByFirefoxPortable" "$APPDATA\Mozilla\Extensions" + + RemoveLocalFiles3: + Delete "$APPDATA\Mozilla\Firefox\pluginreg.dat" + RMDir "$APPDATA\Mozilla\Firefox\Profiles\" ;=== Will only delete if empty (no /r switch) + RMDir "$APPDATA\Mozilla\Firefox\Profile\" ;=== Will only delete if empty (no /r switch) + RMDir "$APPDATA\Mozilla\Firefox\" ;=== Will only delete if empty (no /r switch) + RMDir "$APPDATA\Mozilla\" ;=== Will only delete if empty (no /r switch) + RMDir "$LOCALAPPDATA\Mozilla\Firefox\firefox\updates\0" ;=== Will only delete if empty (no /r switch) + RMDir "$LOCALAPPDATA\Mozilla\Firefox\firefox\updates" ;=== Will only delete if empty (no /r switch) + RMDir "$LOCALAPPDATA\Mozilla\Firefox\firefox" ;=== Will only delete if empty (no /r switch) + RMDir "$LOCALAPPDATA\Mozilla\Firefox\" ;=== Will only delete if empty (no /r switch) + RMDir "$LOCALAPPDATA\Mozilla\" ;=== Will only delete if empty (no /r switch) + StrCmp $MOZILLAORGKEYEXISTS "true" RemoveMachineRegistryKey + ${registry::DeleteKey} "HKEY_CURRENT_USER\Software\mozilla.org" $R0 + RemoveMachineRegistryKey: + StrCmp $HKLMMOZILLAORGKEYEXISTS "true" RemoveOtherKeys + ${registry::KeyExists} "HKLM\Software\mozilla.org" $R0 + StrCmp $R0 "-1" RemoveOtherKeys ;=== If it doesn't exist, skip the next line + UserInfo::GetAccountType + Pop $0 + StrCmp $0 "Guest" RemoveOtherKeys + StrCmp $0 "User" RemoveOtherKeys + ${registry::DeleteKey} "HKLM\Software\mozilla.org" $R0 + RemoveOtherKeys: + ;Store the crash report setting + ${registry::Read} "HKCU\Software\Mozilla\Firefox\Crash Reporter" "SubmitCrashReport" $R1 $R2 + WriteINIStr "$SETTINGSDIRECTORY\${NAME}Settings.ini" "${NAME}Settings" "SubmitCrashReport" "$R1" + + ${If} $bolHKCUSoftwareMozillaExists == true + ${If} $bolHKCUSoftwareMozillaFirefoxExists == true + ${If} $bolHKCUSoftwareMozillaFirefoxCrashReporterExists == true + ${registry::Write} "HKCU\Software\Mozilla\Firefox\Crash Reporter" "SubmitCrashReport" "$SubmitCrashReportBackup" "REG_DWORD" $R1 + ${Else} + ${registry::DeleteKey} "HKCU\Software\Mozilla\Firefox\Crash Reporter" $R0 + ${EndIf} + ${Else} + ${registry::DeleteKey} "HKCU\Software\Mozilla\Firefox" $R0 + ${EndIf} + ${Else} + ${registry::DeleteKey} "HKCU\Software\Mozilla" $R0 + ${EndIf} + + TheEnd: + ${registry::Unload} + newadvsplash::stop /WAIT +SectionEnd \ No newline at end of file diff --git a/Firefox46.win/Other/Source/License.txt b/Firefox46.win/Other/Source/License.txt new file mode 100644 index 0000000..7616dad --- /dev/null +++ b/Firefox46.win/Other/Source/License.txt @@ -0,0 +1,344 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT +PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED +IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, +EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY +AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL +NECESSARY SERVICING, REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR +AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY +OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM +AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING +ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM +(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY +OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS +BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. \ No newline at end of file diff --git a/Firefox46.win/Other/Source/PortableApps.comInstallerCustom.nsh b/Firefox46.win/Other/Source/PortableApps.comInstallerCustom.nsh new file mode 100644 index 0000000..f426896 --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comInstallerCustom.nsh @@ -0,0 +1,19 @@ +!macro CustomCodePreInstall + ${If} ${FileExists} "$INSTDIR\Data\profile\*.*" + ReadINIStr $0 "$INSTDIR\App\AppInfo\appinfo.ini" "Version" "PackageVersion" + ${VersionCompare} $0 "20.0.0.0" $R0 + ${If} $R0 == 2 + WriteINIStr "$INSTDIR\Data\settings\FirefoxPortableSettings.ini" "FirefoxPortableSettings" "SubmitCrashReport" "0" + ${EndIf} + ${EndIf} +!macroend + +!macro CustomCodePostInstall + ;Ensure warning isn't shown if invalid package is properly upgraded + ${If} ${FileExists} "$INSTDIR\LupoApp.ini" + ReadINIStr $0 "$INSTDIR\App\AppInfo\appinfo.ini" "Version" "PackageVersion" + CreateDirectory "$INSTDIR\Data" + CreateDirectory "$INSTDIR\Data\settings" + WriteINIStr "$INSTDIR\Data\settings\FirefoxPortableSettings.ini" "FirefoxPortableSettings" "InvalidPackageWarningShown" $0 + ${EndIf} +!macroend \ No newline at end of file diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_ARABIC.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_ARABIC.nsh new file mode 100644 index 0000000..c99fd47 --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_ARABIC.nsh @@ -0,0 +1,9 @@ +;=== LauncherStrings-Arabic.nsh (2007-03-01) + +LangString LauncherFileNotFound ${LANG_ARABIC} "لم يتم تشغيل البرنامج ${PORTABLEAPPNAME}. لحل المشكلة حاول تنصيبه مرة أخرى . (خطأ: لم يتم أيجاد الملف $MISSINGFILEORPATH )" +LangString LauncherAlreadyRunning ${LANG_ARABIC} "نسخة أخرى من البرنامج ${APPNAME} تعمل حالياً. من فضلك أغلق النسخة الفعالة من ${APPNAME} قبل تشغيل نسخة جديدة من ${PORTABLEAPPNAME}." +LangString LauncherAppDescription ${LANG_ARABIC} "برنامج ${PORTABLEAPPNAME} هو تعديل برنامج ${APPNAME} للعمل كنسخة متنقلة، مما يتيح لك تشغيله من ذاكرة USB Flash Drive، أو iPod أو أى وسيلة تخزين متنقلة." +LangString LauncherAskCopyLocal ${LANG_ARABIC} "يبدو أن برنامج ${PORTABLEAPPNAME} يعمل من مجلد له تصاريح القراءة فقط. أتريد نقله مؤقتاً إلى قرصك الصلب وتشغيله من هناك ؟ $\n$\nملحوظة صغيرة : إذا وافقت سوف يتم نقل معلوماتك الشخصية التى ربما توجد مع البرنامج إلى القرص الصلب، رغم أن تلك المعلومات سوف يتم إزالتها أوتوماتيكياً بمجرد إغلاق البرنامج، ولكن هذا لا يمنع المخربين من عرض تلك المعلومات بعد ذلك." +LangString LauncherNoReadOnly ${LANG_ARABIC} "برنامج ${PORTABLEAPPNAME} لا يمكنه العمل في مجلد بتصريحات القراءة فقط. سوف يتم الآن إغلاق البرنامج." +LangString LauncherPathTooLong ${LANG_ARABIC} "الطريق إلى ${PORTABLEAPPNAME} طويل جدا. يرجى تقصير المسار من خلال القضاء على بعض الدلائل الأصل أو تقصير أسماء الدليل." +LangString LauncherNextButton ${LANG_ARABIC} "التالي >" \ No newline at end of file diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_CZECH.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_CZECH.nsh new file mode 100644 index 0000000..2ae1e54 --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_CZECH.nsh @@ -0,0 +1,25 @@ +LangString LauncherFileNotFound ${LANG_CZECH} "${PORTABLEAPPNAME} nelze spustit. Pro opravu tohoto problému zkuste aplikace přeinstalovat. (CHYBA: $MISSINGFILEORPATH nelze nelézt)" +LangString LauncherAlreadyRunning ${LANG_CZECH} "Aplikace ${APPNAME} je již spuštěna. Pro spuštění ${PORTABLEAPPNAME} prosím nejprve ukončete běžící aplikaci ${APPNAME}." +LangString LauncherAskCopyLocal ${LANG_CZECH} "Aplikace ${PORTABLEAPPNAME} je zřejmě spouštěna z umístění, které je pouze pro čtení. Chcete ji dočasně zkopírovat na místní disk a spustit odtud?$\n$\nPoznámka k ochraně soukromí: Pokud zkopírování odsouhlasíte, vaše osobní data v aplikaci ${PORTABLEAPPNAME} budou rovněž dočasně zkopírována na místní disk. Přestože bude kopie těchto dat smazána po zavření ${PORTABLEAPPNAME}, může se stát, že k nim může někdo později získat přístup." +LangString LauncherNoReadOnly ${LANG_CZECH} "${PORTABLEAPPNAME} nelze spustit přímo z umístění, které je pouze pro čtení." +LangString LauncherPathTooLong ${LANG_CZECH} "Cesta k ${PORTABLEAPPNAME} je příliš dlouhá. Zkraťte ji prosím přesunutím do některého z nadřazených adresářů nebo zkrácením jejich názvů." +LangString LauncherNoUNCSupport ${LANG_CZECH} "${PORTABLEAPPNAME} nelze spustit z UNC umístění. Připojte prosím adresář jako disk (s písmenným označením) a zkuste to znovu." +LangString LauncherUNCWarn ${LANG_CZECH} "Aplikace ${PORTABLEAPPNAME} je nyní spuštěna z UNC umístění. Toto může a nemusí fungovat a mohlo by dojít i k poškození dat. Pro lepší fungování můžete adresář připojit jako disk (s písmenným označením) a zkusit to znovu.$\r$\n$\r$\nOpravdu chcete pokračovat?" +LangString LauncherNoSpaces ${LANG_CZECH} "${PORTABLEAPPNAME} nelze spustit z umístění, které obsahuje mezeru. Upravte prosím současnou cestu ($EXEDIR), smažte z ní všechny mezery a spusťte přenosnou aplikaci znovu. Více informací naleznete v souboru help.html." +LangString LauncherRequiresAdmin ${LANG_CZECH} "${PORTABLEAPPNAME} vyžaduje pro spuštění jako administrátor." +LangString LauncherNotAdminTryAgain ${LANG_CZECH} "Klepněte na Znovu pro opětovné ověření nebo Zrušit pro ukončení." +LangString LauncherNotAdminLimitedFunctionality ${LANG_CZECH} "Některé funkce ${PORTABLEAPPNAME} nemusí fungovat pokud aplikaci nespustíte jako administrátor." +LangString LauncherNotAdminLimitedFunctionalityTryAgain ${LANG_CZECH} "Klepněte na Zrušit pro ukončení, Znovu pro opětovné ověření nebo Ignorovat pro pokračování." +LangString LauncherAdminError ${LANG_CZECH} "Nelze spustit jako administrátor, chyba $0." +LangString LauncherAdminLogonServiceNotRunning ${LANG_CZECH} "${PORTABLEAPPNAME} vyžaduje administrátorská práva, ale služba Windows Logon není spuštěna. ${PORTABLEAPPNAME} nelze spustit." +LangString LauncherIncompatibleMinOS ${LANG_CZECH} "${APPNAME} vyžaduje Windows $0 nebo novější. Na tamto PC je nainstalován systém Windows $1, a ${APPNAME} tak nelze spustit." +LangString LauncherIncompatibleMaxOS ${LANG_CZECH} "${APPNAME} vyžaduje Windows $0 nebo starší. Na tamto PC je nainstalován systém Windows $1, a ${APPNAME} tak nelze spustit." +LangString LauncherDirectoryMoveNotAllowed ${LANG_CZECH} "${PORTABLEAPPNAME} nelze spustit, jelikož se od posledního spuštění změnilo umístění z $LastDirectory do $CurrentDirectory." +LangString LauncherDirectoryMoveWarn ${LANG_CZECH} "Umístění ${PORTABLEAPPNAME} se od posledního spuštění změnilo z $LastDirectory do $CurrentDirectory. Přesouvání přenosných aplikací tímto způsobem není doporučeno a některé funkce tak nemusí fungovat. Opravdu chcete pokračovat?" +LangString LauncherAlreadyStarting ${LANG_CZECH} "Jiná instance ${PORTABLEAPPNAME} je již spouštěna. Vyčkejte prosím na její spuštění." +LangString LauncherAlreadyStopping ${LANG_CZECH} "Jiná instance ${PORTABLEAPPNAME} je nyní ukončována. Před jejím opětovným spuštěním prosím vyčkejte na dokončení." +LangString LauncherCrashCleanup ${LANG_CZECH} "Aplikace ${PORTABLEAPPNAME} nebyla po poslední spuštění správně ukončena a bude nyní vyčištěna. Spusťte prosím ${PORTABLEAPPNAME} znovu ručně." +LangString LauncherNoJava ${LANG_CZECH} "${APPNAME} vyžaduje instalaci Java Runtime Environment. Nainstalujte prosím jPortable z http://portableapps.com/jportable z zkuste to poté znovu." +LangString LauncherNoJavaDownload ${LANG_CZECH} "${APPNAME} vyžaduje Java Runtime Environment. Chcete nyní automaticky stáhnout a nainstalovat jPortable na vaše zařízení?" +LangString LauncherNoJavaCancelled ${LANG_CZECH} "Aplikaci ${PORTABLEAPPNAME} nelze spustit bez Java Runtime Environment a bude nyní ukončena." +LangString LauncherProgramFiles ${LANG_CZECH} "${PORTABLEAPPNAME} nelze spustit z $0. Toto umístění je pouze pro standardní místní software. Spusťte tedy prosím tuto aplikaci z jiného umístění." diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_DUTCH.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_DUTCH.nsh new file mode 100644 index 0000000..269732a --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_DUTCH.nsh @@ -0,0 +1,7 @@ +;Martijn van Berkel +LangString LauncherFileNotFound ${LANG_DUTCH} "${PORTABLEAPPNAME} kan niet worden gestart. Probeer de applicatie opnieuw te installeren om dit probleem te verhelpen. (Fout: $MISSINGFILEORPATH kon niet worden gevonden.)" +LangString LauncherAlreadyRunning ${LANG_DUTCH} "${APPNAME} is al opgestart. Sluit a.u.b. andere instanties van ${APPNAME} af voordat u ${PORTABLEAPPNAME} start." +LangString LauncherAskCopyLocal ${LANG_DUTCH} "${PORTABLEAPPNAME} blijkt opgestart te zijn vanaf een locatie die alleen-lezen is. Wilt u een tijdelijke kopie naar uw hardeschijf kopiren en het programma daarvandaan opstarten?$\n$\nPrivacywaarschuwing: Als u Ja kiest, zullen uw persoonlijke gegevens van ${PORTABLEAPPNAME} tijdelijk gekopieerd worden naar een lokale schijf. Hoewel deze gegevens na het afsluiten van ${PORTABLEAPPNAME} worden verwijderd, kan het mogelijk zijn dat iemand deze gegevens later kan benaderen." +LangString LauncherNoReadOnly ${LANG_DUTCH} "${PORTABLEAPPNAME} kan niet vanaf een alleen-lezen locatie worden opgestart en zal nu worden afgesloten." +LangString LauncherPathTooLong ${LANG_DUTCH} "Het pad naar ${PORTABLEAPPNAME} is te lang. Gelieve het pad te verkleinen door het programma in een hogere map te plaatsen of door mapnamen te verkleinen." + diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_ENGLISH.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_ENGLISH.nsh new file mode 100644 index 0000000..f96e842 --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_ENGLISH.nsh @@ -0,0 +1,6 @@ +LangString LauncherFileNotFound ${LANG_ENGLISH} "${PORTABLEAPPNAME} cannot be started. You may wish to re-install to fix this issue. (ERROR: $MISSINGFILEORPATH could not be found)" +LangString LauncherAlreadyRunning ${LANG_ENGLISH} "Another instance of ${APPNAME} is already running. Please close other instances of ${APPNAME} before launching ${PORTABLEAPPNAME}." +LangString LauncherAskCopyLocal ${LANG_ENGLISH} "${PORTABLEAPPNAME} appears to be running from a location that is read-only. Would you like to temporarily copy it to the local hard drive and run it from there?$\n$\nPrivacy Note: If you say Yes, your personal data within ${PORTABLEAPPNAME} will be temporarily copied to a local drive. Although this copy of your data will be deleted when you close ${PORTABLEAPPNAME}, it may be possible for someone else to access your data later." +LangString LauncherNoReadOnly ${LANG_ENGLISH} "${PORTABLEAPPNAME} can not run directly from a read-only location and will now close." +LangString LauncherPathTooLong ${LANG_ENGLISH} "The path to ${PORTABLEAPPNAME} is too long. Please shorten the path by eliminating some parent directories or shortening directory names." +LangString LauncherNextButton ${LANG_ENGLISH} "&Next >" diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_ENGLISHGB.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_ENGLISHGB.nsh new file mode 100644 index 0000000..8f88f5c --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_ENGLISHGB.nsh @@ -0,0 +1,6 @@ +LangString LauncherFileNotFound ${LANG_ENGLISHGB} "${PORTABLEAPPNAME} cannot be started. You may wish to re-install to fix this issue. (ERROR: $MISSINGFILEORPATH could not be found)" +LangString LauncherAlreadyRunning ${LANG_ENGLISHGB} "Another instance of ${APPNAME} is already running. Please close other instances of ${APPNAME} before launching ${PORTABLEAPPNAME}." +LangString LauncherAskCopyLocal ${LANG_ENGLISHGB} "${PORTABLEAPPNAME} appears to be running from a location that is read-only. Would you like to temporarily copy it to the local hard drive and run it from there?$\n$\nPrivacy Note: If you say Yes, your personal data within ${PORTABLEAPPNAME} will be temporarily copied to a local drive. Although this copy of your data will be deleted when you close ${PORTABLEAPPNAME}, it may be possible for someone else to access your data later." +LangString LauncherNoReadOnly ${LANG_ENGLISHGB} "${PORTABLEAPPNAME} can not run directly from a read-only location and will now close." +LangString LauncherPathTooLong ${LANG_ENGLISHGB} "The path to ${PORTABLEAPPNAME} is too long. Please shorten the path by eliminating some parent directories or shortening directory names." +LangString LauncherNextButton ${LANG_ENGLISHGB} "&Next >" diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_FRENCH.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_FRENCH.nsh new file mode 100644 index 0000000..1ceb4d9 --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_FRENCH.nsh @@ -0,0 +1,7 @@ +;Courtesy of Dirinfo +LangString LauncherFileNotFound ${LANG_FRENCH} "${PORTABLEAPPNAME} n'a pas pu démarrer. Vous pourriez tenter de le réinstaller pour corriger ce problème. (ERREUR: $MISSINGFILEORPATH non trouvé)" +LangString LauncherAlreadyRunning ${LANG_FRENCH} "Une autre instance de ${APPNAME} est déjà en cours d'exécution. Veuillez fermer les autres instances de ${APPNAME} avant de lancer ${PORTABLEAPPNAME}." +LangString LauncherAskCopyLocal ${LANG_FRENCH} "${PORTABLEAPPNAME} semble s'exécuter depuis un emplacement en lecture-seule. Voudriez-vous le copier dans un dossier temporaire du disque dur et le lancer depuis là ?$\n$\nPrivacy Note: Si vous acceptez, vos données personnelles appartenant à ${PORTABLEAPPNAME} seront temporairement copiées sur un disque local. Bien que cette copie de vos données sera effacée quand vous fermerez ${PORTABLEAPPNAME}, une personne mal intentionnée pourraît éventuellement y avoir accès ultérieurement." +LangString LauncherNoReadOnly ${LANG_FRENCH} "${PORTABLEAPPNAME} ne peut s'éxécuter depuis un emplacement en lecture-seule, et va maintenant se fermer." +LangString LauncherPathTooLong ${LANG_FRENCH} "Le chemin au ${PORTABLEAPPNAME} est trop long. Raccourcis-vous s'il te plaît le chemin à travers le troncation sur les listes étantes de cette utilisation ou à travers les brièvetés des noms de liste de rassembleur." +LangString LauncherNextButton ${LANG_FRENCH} "&Suivant >" \ No newline at end of file diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_GERMAN.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_GERMAN.nsh new file mode 100644 index 0000000..7690648 --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_GERMAN.nsh @@ -0,0 +1,6 @@ +LangString LauncherFileNotFound ${LANG_GERMAN} "${PORTABLEAPPNAME} kann nicht gestartet werden. Bitte installieren Sie die Anwendung ggf. neu. (FEHLER: $MISSINGFILEORPATH wurde nicht gefunden.)" +LangString LauncherAlreadyRunning ${LANG_GERMAN} "Es läuft bereits eine andere Instanz von ${APPNAME}. Bitte schließen Sie erst alle anderen Instanzen von ${APPNAME}, bevor Sie ${PORTABLEAPPNAME} starten." +LangString LauncherAskCopyLocal ${LANG_GERMAN} "${PORTABLEAPPNAME} scheint an einem Ort ohne Schreib-Zugriff zu laufen. Möchten Sie eine temporäre Kopie auf Ihrer lokalen Festplatte erstellen und das Programm von dort aus starten?$\n$\nHinweis zum Datenschutz: Wenn Sie Ja sagen, werden Ihre persönlichen Daten aus ${PORTABLEAPPNAME} temporär auf Ihre lokale Festplatte kopiert. Diese Daten werden zwar wieder gelöscht, sobald Sie ${PORTABLEAPPNAME} schliessen, können aber unter Umständen trotzdem von Dritten gelesen werden." +LangString LauncherNoReadOnly ${LANG_GERMAN} "${PORTABLEAPPNAME} kann nicht direkt von einem Ort ohne Schreib-Zugriff gestartet werden und wird jetzt geschlossen." +LangString LauncherPathTooLong ${LANG_GERMAN} "Der Pfad zu ${PORTABLEAPPNAME} ist zu lang. Bitte verkürze Sie den Pfad durch die Auslassen einiger über dieser Anwendung liegenden Verzeichnissse oder durch Kürzen der verzeichnisnamen." +LangString LauncherNextButton ${LANG_GERMAN} "&Weiter >" \ No newline at end of file diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_HUNGARIAN.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_HUNGARIAN.nsh new file mode 100644 index 0000000..205d11d --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_HUNGARIAN.nsh @@ -0,0 +1,6 @@ +LangString LauncherFileNotFound ${LANG_HUNGARIAN} "A(z) ${PORTABLEAPPNAME} nem indítható el. A hiba javításához újra kell telepíteni az alkalmazást. (HIBA: $MISSINGFILEORPATH nem található.)" +LangString LauncherAlreadyRunning ${LANG_HUNGARIAN} "A(z) ${APPNAME} alkalmazás egy másik példánya már fut. Kérem zárja be a(z) ${APPNAME} további példányait mielott elindítja a(z) ${PORTABLEAPPNAME} alkalmazást." +LangString LauncherAskCopyLocal ${LANG_HUNGARIAN} "A(z) ${PORTABLEAPPNAME} alkalmazás csak olvasható helyrol fut. Át szeretné másolni átmenetileg az alkalmazást a helyi merevlemezre és onnan futtatni az alkalmazást?$\n$\nBiztonsági megjegyzés: Amennyiben Igennel válaszol, a(z) ${PORTABLEAPPNAME} által kezelt személyes adatok át lesznek másolva a helyi merevlemezre. A(z) ${PORTABLEAPPNAME} alkalmazás bezárása után ez a helyi gépen tárolt másolat törlése kerül. Ennek ellenére esetleg más személy is hozzáférhet ezekhez az adatokhoz." +LangString LauncherNoReadOnly ${LANG_HUNGARIAN} "A(z) ${PORTABLEAPPNAME} alkalmazás nem futtatható közvetlenül csak olvasható helyrol, így az alkalmazás most bezáródik." +LangString LauncherPathTooLong ${LANG_HUNGARIAN} "A(z) ${PORTABLEAPPNAME} alkalmazás elérési útvonala túl hosszú. Adjon meg rövidebb elérési utat." +LangString notfound ${LANG_HUNGARIAN} "nem található" diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_ITALIAN.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_ITALIAN.nsh new file mode 100644 index 0000000..5dab768 --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_ITALIAN.nsh @@ -0,0 +1,7 @@ +;Courtesy of sblandin +LangString LauncherFileNotFound ${LANG_ITALIAN} "Impossibile avviare ${PORTABLEAPPNAME}. Potrebbe essere necessario re-installare per risolvere questo problema. (ERRORE: Impossibile trovare $MISSINGFILEORPATH)." +LangString LauncherAlreadyRunning ${LANG_ITALIAN} "È già in esecuzione un'istanza di ${APPNAME}. Per favore, terminate le altre istanze di ${APPNAME} prima di avviare ${PORTABLEAPPNAME}." +LangString LauncherAskCopyLocal ${LANG_ITALIAN} "Sembra che ${PORTABLEAPPNAME} venga eseguito da un supporto di sola lettura. Vorresti che venisse copiato temporaneamente sul disco locale ed eseguito da lì?$\n$\nNota sulla privacy: Se risponderai di sì, i tuoi dati personali utilizzati da ${PORTABLEAPPNAME} verranno temporaneamente copiati sul disco locale. Benchè la copia dei tuoi dati verrà cancellata alla chiusura di ${PORTABLEAPPNAME}, potrebbe essere possibile che qualcun altro sia in grado di accedere ai tuoi dati più tardi." +LangString LauncherNoReadOnly ${LANG_ITALIAN} "L'applicazione ${PORTABLEAPPNAME} non può essere eseguita direttamente da un supporto di sola lettura e verrà chiusa." +LangString LauncherPathTooLong ${LANG_ITALIAN} "Il percorso ${PORTABLEAPPNAME} è troppo lungo. Si prega di abbreviarlo eliminando alcune directory superiori o accorciandone i nomi." +LangString LauncherNextButton ${LANG_ITALIAN} "&Avanti >" \ No newline at end of file diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_JAPANESE.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_JAPANESE.nsh new file mode 100644 index 0000000..f11fd80 --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_JAPANESE.nsh @@ -0,0 +1,5 @@ +LangString LauncherFileNotFound ${LANG_JAPANESE} "${PORTABLEAPPNAME}が起動できません。問題を解決するためには、再インストールした方が良いかもわかりません。(エラー:$MISSINGFILEORPATHが見つかりません。)" +LangString LauncherAlreadyRunning ${LANG_JAPANESE} "同じ${APPNAME}がもう一つ、既に起動しています。${PORTABLEAPPNAME}を起動する前に、別の${APPNAME}を終了してください。" +LangString LauncherAskCopyLocal ${LANG_JAPANESE} "${PORTABLEAPPNAME}は、書込みできない「読取専用」エリアから起動しているようです。${PORTABLEAPPNAME}を一時的にPC本体のハードディスクにコピーして、そこから起動させますか?$\n$\n個人情報に関する注意:あなたがYesと答えた場合、${PORTABLEAPPNAME}の中に有るあなたの個人データが一時的にPC本体のハードドライブにコピーされます。${PORTABLEAPPNAME}を閉じた時にこのデータのコピーは削除されますが、後で他の誰かがあなたのこのデータにアクセスすることができるかもしれません。" +LangString LauncherNoReadOnly ${LANG_JAPANESE} "${PORTABLEAPPNAME}は「読取専用エリア」からは直接起動ができないので、終了します。" +LangString LauncherNextButton ${LANG_JAPANESE} "次へ(&N) >" \ No newline at end of file diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_KOREAN.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_KOREAN.nsh new file mode 100644 index 0000000..8ab3d34 --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_KOREAN.nsh @@ -0,0 +1,6 @@ +LangString LauncherFileNotFound ${LANG_KOREAN} "${PORTABLEAPPNAME}(을)를 실행할 수 없습니다. 프로그램을 다시 설치해 주십시오. (에러: $MISSINGFILEORPATH(을)를 찾을 수 없습니다)" +LangString LauncherAlreadyRunning ${LANG_KOREAN} "${APPNAME}의 다른 인스턴스가 이미 실행 중입니다. 먼저 ${APPNAME}의 다른 인스턴스를 닫은 후 ${PORTABLEAPPNAME}(을)를 실행하십시오." +LangString LauncherAskCopyLocal ${LANG_KOREAN} "${PORTABLEAPPNAME} appears to be running from a location that is read-only. Would you like to temporarily copy it to the local hard drive and run it from there?$\n$\nPrivacy Note: If you say Yes, your personal data within ${PORTABLEAPPNAME} will be temporarily copied to a local drive. Although this copy of your data will be deleted when you close ${PORTABLEAPPNAME}, it may be possible for someone else to access your data later." +LangString LauncherNoReadOnly ${LANG_KOREAN} "${PORTABLEAPPNAME} can not run directly from a read-only location and will now close." +LangString LauncherPathTooLong ${LANG_KOREAN} "The path to ${PORTABLEAPPNAME} is too long. Please shorten the path by eliminating some parent directories or shortening directory names." +LangString LauncherNextButton ${LANG_KOREAN} "&Next >" diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_POLISH.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_POLISH.nsh new file mode 100644 index 0000000..520679d --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_POLISH.nsh @@ -0,0 +1,5 @@ +LangString LauncherFileNotFound ${LANG_POLISH} "Nie moz.na uruchomic' ${PORTABLEAPPNAME}. Moz.esz spróbowac' ponownie zainstalowac' program, aby rozwia;zac' ten problem. (B?A;D: nie moz.na znalez'c' $MISSINGFILEORPATH)" +LangString LauncherAlreadyRunning ${LANG_POLISH} "Inna instancja ${APPNAME} zosta?a juz. uruchomiona. Zamknij inne instancje ${APPNAME} przed uruchomieniem ${PORTABLEAPPNAME}." +LangString LauncherAskCopyLocal ${LANG_POLISH} "Program ${PORTABLEAPPNAME} wydaje sie; byc' uruchomiony z lokalizacji, która jest tylko do odczytu. Czy chcesz, aby tymczasowo skopiowac' program na lokalny dysk twardy i uruchomic' go stamta;d?$\n$\nUwaga prywatnos'ci: Jez.eli odpowiesz tak, dane osobowe w ${PORTABLEAPPNAME} be;da; tymczasowo skopiowane na dysk lokalny. Chociaz. kopia danych zostanie usunie;ta po zamknie;ciu ${PORTABLEAPPNAME}, moz.e byc' moz.liwe, z.e kogos' inny uzyska póz'niej doste;p do tych danych." +LangString LauncherNoReadOnly ${LANG_POLISH} "Program ${PORTABLEAPPNAME} nie moz.e byc' uruchomiony bezpos'rednio z lokalizacji tylko do odczytu i zostanie teraz zamknie;ty." +LangString LauncherPathTooLong ${LANG_POLISH} "S'ciez.ka do ${PORTABLEAPPNAME} jest zbyt d?uga. Skróc' s'ciez.ke; poprzez usunie;cie niektórych katalogów nadrze;dnych lub skrócenie nazwy katalogów" diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_PORTUGUESE.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_PORTUGUESE.nsh new file mode 100644 index 0000000..5ecac14 --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_PORTUGUESE.nsh @@ -0,0 +1,5 @@ +LangString LauncherFileNotFound ${LANG_PORTUGUESE} "O ${PORTABLEAPPNAME} não pode ser iniciado. Deve reinstalar para resolver o problema. (ERROR: $MISSINGFILEORPATH não foi encontrado)" +LangString LauncherAlreadyRunning ${LANG_PORTUGUESE} "Outra instância de ${APPNAME} já está a ser executada. Por favor feche a outra instância de ${APPNAME} antes de executar ${PORTABLEAPPNAME}." +LangString LauncherAskCopyLocal ${LANG_PORTUGUESE} "${PORTABLEAPPNAME} parece estar a ser executada de uma localização que é só de leitura. Gostaria de a copiar temporariamente para o disco rígido local e executá-la daí? $\n$\nNota de Privacidade: Se escolher Sim, a sua informação pessoal dentro de ${PORTABLEAPPNAME} será copiada temporariamente para o disco local. Apesar desta cópia da sua informação ser apagada quando encerrar ${PORTABLEAPPNAME}, pode ser possível para alguém aceder à sua informação mais tarde." +LangString LauncherNoReadOnly ${LANG_PORTUGUESE} "${PORTABLEAPPNAME} não pode ser executada directamente de uma localização só de leitura e vai encerrar agora." +LangString LauncherPathTooLong ${LANG_PORTUGUESE} "O caminho para ${PORTABLEAPPNAME} é muito comprido. Por favor remova algumas pastas ou reduza os seus nomes para tornar o caminho mais curto." \ No newline at end of file diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_PORTUGUESEBR.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_PORTUGUESEBR.nsh new file mode 100644 index 0000000..530dd1e --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_PORTUGUESEBR.nsh @@ -0,0 +1,5 @@ +LangString LauncherFileNotFound ${LANG_PORTUGUESE} "O ${PORTABLEAPPNAME} não pode ser iniciado. Deve reinstalar para resolver o problema. (ERROR: $MISSINGFILEORPATH não foi encontrado)" +LangString LauncherAlreadyRunning ${LANG_PORTUGUESE} "Outra instância de ${APPNAME} já está a ser executada. Por favor feche a outra instância de ${APPNAME} antes de executar ${PORTABLEAPPNAME} ." +LangString LauncherAskCopyLocal ${LANG_PORTUGUESE} "${PORTABLEAPPNAME} parece estar a ser executada de uma localização que é só de leitura. Gostaria de a copiar temporariamente para o disco rígido local e executá-la daí? $\n$\nNota de Privacidade: Se escolher Sim, a sua informação pessoal dentro de ${PORTABLEAPPNAME} será copiada temporariamente para o disco local. Apesar desta cópia da sua informação ser apagada quando encerrar ${PORTABLEAPPNAME} , pode ser possível para alguém aceder à sua informação mais tarde." +LangString LauncherNoReadOnly ${LANG_PORTUGUESE} "${PORTABLEAPPNAME} não pode ser executada directamente de uma localização só de leitura e vai encerrar agora." +LangString LauncherPathTooLong ${LANG_PORTUGUESE} "O caminho para ${PORTABLEAPPNAME} é muito comprido. Por favor remova algumas pastas ou reduza os seus nomes para tornar o caminho mais curto." \ No newline at end of file diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_RUSSIAN.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_RUSSIAN.nsh new file mode 100644 index 0000000..a31cbc5 --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_RUSSIAN.nsh @@ -0,0 +1,5 @@ +LangString LauncherFileNotFound ${LANG_RUSSIAN} "Не удается запустить ${PORTABLEAPPNAME}. Возможно, данную неисправность устранит переустановка приложения. (ОШИБКА: компонент $MISSINGFILEORPATH не найден)" +LangString LauncherAlreadyRunning ${LANG_RUSSIAN} "Обнаружена активность другой копии приложения ${APPNAME}. Пожалуйста, закройте все копии ${APPNAME} перед запуском ${PORTABLEAPPNAME}." +LangString LauncherAskCopyLocal ${LANG_RUSSIAN} "Вероятно, приложение ${PORTABLEAPPNAME} запущено из области, доступной только для чтения. Хотели бы временно скопировать приложение на локальный жесткий диск компьютера и запустить его оттуда?$\n$\nУведомление о конфиденциальности! Если Вы ответите 'Да', то Ваши персональные данные, хранящиеся внутри ${PORTABLEAPPNAME} , будут временно скопированы на диск компьютера. Несмотря на то, что копия Ваших данных после закрытия ${PORTABLEAPPNAME} будет автоматически удалена, возможность постороннего доступа к ней впоследствии сохранится." +LangString LauncherNoReadOnly ${LANG_RUSSIAN} "${PORTABLEAPPNAME} не может работать непосредственно из области, доступной только для чтения, и сейчас закроется." +LangString LauncherPathTooLong ${LANG_RUSSIAN} "Недопустимо большая длина пути к приложению ${PORTABLEAPPNAME}. Пожалуйста, сократите количество корневых каталогов или их имена для устранения данной проблемы." \ No newline at end of file diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_SIMPCHINESE.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_SIMPCHINESE.nsh new file mode 100644 index 0000000..feafa0b --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_SIMPCHINESE.nsh @@ -0,0 +1,5 @@ +LangString LauncherFileNotFound ${LANG_SIMPCHINESE} "无法启动${PORTABLEAPPNAME}。重新安装也许可以修正该错误(错误:没有找到$MISSINGFILEORPATH)。" +LangString LauncherAlreadyRunning ${LANG_SIMPCHINESE} "另一个${APPNAME}正在运行,请在启动${PORTABLEAPPNAME}前关闭${APPNAME}。" +LangString LauncherAskCopyLocal ${LANG_SIMPCHINESE} "${PORTABLEAPPNAME} appears to be running from a location that is read-only. Would you like to temporarily copy it to the local hard drive and run it from there?$\n$\nPrivacy Note: If you say Yes, your personal data within ${PORTABLEAPPNAME} will be temporarily copied to a local drive. Although this copy of your data will be deleted when you close ${PORTABLEAPPNAME}, it may be possible for someone else to access your data later." +LangString LauncherNoReadOnly ${LANG_SIMPCHINESE} "${PORTABLEAPPNAME} can not run directly from a read-only location and will now close." +LangString LauncherNextButton ${LANG_SIMPCHINESE} "下一步(&N) >" \ No newline at end of file diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_SPANISH.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_SPANISH.nsh new file mode 100644 index 0000000..3817e76 --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_SPANISH.nsh @@ -0,0 +1,5 @@ +LangString LauncherFileNotFound ${LANG_SPANISH} "${PORTABLEAPPNAME} no ha podido ser iniciado. Puede probar a reinstalar para solucionar este problema. (ERROR: $MISSINGFILEORPATH no encontrado)" +LangString LauncherAlreadyRunning ${LANG_SPANISH} "Otra instancia de ${APPNAME} está ya ejecutándose. Por favor cierre otras instancias de ${APPNAME} antes de lanzar ${PORTABLEAPPNAME}." +LangString LauncherAskCopyLocal ${LANG_SPANISH} "${PORTABLEAPPNAME} parece estar ejecutándose desde un emplazamiento de sólo-lectura. ¿Desea copiarlo temporalmente al disco duro local y ejecutarlo desde ahí?$\n$\nNota sobre privacidad: Si acepta, sus datos personales correspondientes a ${PORTABLEAPPNAME} serán copiados de forma temporal a un disco local. Si bien esta copia de sus datos será borrada cuando cierre ${PORTABLEAPPNAME}, una persona mal intencionada podría eventualmente acceder a ellos más tarde." +LangString LauncherNoReadOnly ${LANG_SPANISH} "${PORTABLEAPPNAME} no puede ser ejecutado directamente desde un emplazamiento de sólo-lectura y va a proceder a cerrarse." +LangString LauncherPathTooLong ${LANG_SPANISH} "La ruta a ${PORTABLEAPPNAME} es demasiado larga. Por favor acorte la ruta asignando nombres de directorios más cortos o seleccionando un nuevo emplazamiento para la aplicación" \ No newline at end of file diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_SPANISHINTERNATIONAL.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_SPANISHINTERNATIONAL.nsh new file mode 100644 index 0000000..3817e76 --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_SPANISHINTERNATIONAL.nsh @@ -0,0 +1,5 @@ +LangString LauncherFileNotFound ${LANG_SPANISH} "${PORTABLEAPPNAME} no ha podido ser iniciado. Puede probar a reinstalar para solucionar este problema. (ERROR: $MISSINGFILEORPATH no encontrado)" +LangString LauncherAlreadyRunning ${LANG_SPANISH} "Otra instancia de ${APPNAME} está ya ejecutándose. Por favor cierre otras instancias de ${APPNAME} antes de lanzar ${PORTABLEAPPNAME}." +LangString LauncherAskCopyLocal ${LANG_SPANISH} "${PORTABLEAPPNAME} parece estar ejecutándose desde un emplazamiento de sólo-lectura. ¿Desea copiarlo temporalmente al disco duro local y ejecutarlo desde ahí?$\n$\nNota sobre privacidad: Si acepta, sus datos personales correspondientes a ${PORTABLEAPPNAME} serán copiados de forma temporal a un disco local. Si bien esta copia de sus datos será borrada cuando cierre ${PORTABLEAPPNAME}, una persona mal intencionada podría eventualmente acceder a ellos más tarde." +LangString LauncherNoReadOnly ${LANG_SPANISH} "${PORTABLEAPPNAME} no puede ser ejecutado directamente desde un emplazamiento de sólo-lectura y va a proceder a cerrarse." +LangString LauncherPathTooLong ${LANG_SPANISH} "La ruta a ${PORTABLEAPPNAME} es demasiado larga. Por favor acorte la ruta asignando nombres de directorios más cortos o seleccionando un nuevo emplazamiento para la aplicación" \ No newline at end of file diff --git a/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_TRADCHINESE.nsh b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_TRADCHINESE.nsh new file mode 100644 index 0000000..5797fb5 --- /dev/null +++ b/Firefox46.win/Other/Source/PortableApps.comLauncherLANG_TRADCHINESE.nsh @@ -0,0 +1,6 @@ +LangString LauncherFileNotFound ${LANG_TRADCHINESE} "${PORTABLEAPPNAME} 無法正常執行。重新安裝也許可以解決此問題。$\n$\n(錯誤: 無法找到 $MISSINGFILEORPATH)" +LangString LauncherAlreadyRunning ${LANG_TRADCHINESE} "已經有一份 ${APPNAME} 正在運行。請先關閉運行中的 ${APPNAME},再執行 ${PORTABLEAPPNAME}。" +LangString LauncherAskCopyLocal ${LANG_TRADCHINESE} "${PORTABLEAPPNAME} 似乎被存放在一個唯讀裝置。您是否要暫時複製一份 ${PORTABLEAPPNAME} 到本機硬碟,並在本機硬碟執行 ${PORTABLEAPPNAME}?$\n$\n隱私權備註: 如果您選擇「是(Y)」,您存放在 ${PORTABLEAPPNAME} 的個人資料將被暫時地複製到本機硬碟。雖然此一複本在您關閉 ${PORTABLEAPPNAME} 之後會自動刪除,但是有心人士還是可以用特殊方式竊取您的資料。" +LangString LauncherNoReadOnly ${LANG_TRADCHINESE} "${PORTABLEAPPNAME} 無法在唯讀的裝置上執行,程式即將結束。" +LangString LauncherPathTooLong ${LANG_TRADCHINESE} "${PORTABLEAPPNAME} 的檔案路徑過長,請透過減少目錄層數或縮短目錄名稱等方式縮短檔案路徑的長度。" +LangString LauncherNextButton ${LANG_TRADCHINESE} "下一步(&N) >" diff --git a/Firefox46.win/Other/Source/ReadINIStrWithDefault.nsh b/Firefox46.win/Other/Source/ReadINIStrWithDefault.nsh new file mode 100644 index 0000000..6ff034d --- /dev/null +++ b/Firefox46.win/Other/Source/ReadINIStrWithDefault.nsh @@ -0,0 +1,55 @@ +; ReadINIStrWithDefault 1.1 (2009-05-12) +; +; Substitutes a default value if the INI is undefined +; Copyright 2008-2009 John T. Haller of PortableApps.com +; Released under the BSD +; +; Usage: ${ReadINIStrWithDefault} OUTPUT_VALUE INI_FILENAME SECTION_NAME ENTRY_NAME DEFAULT_VALUE +; +; History: +; 1.1 (2009-05-12): Fixed error with $0 and $2 being swapped + +Function ReadINIStrWithDefault + ;Start with a clean slate + ClearErrors + + ;Get our parameters + Exch $0 ;DEFAULT_VALUE + Exch + Exch $1 ;ENTRY_NAME + Exch 2 + Exch $2 ;SECTION_NAME + Exch 3 + Exch $3 ;INI_FILENAME + Push $4 ;OUTPUT_VALUE + + ;Read from the INI + ReadINIStr $4 $3 $2 $1 + IfErrors 0 +3 + StrCpy $4 $0 + ClearErrors + + ;Keep the variable for last + StrCpy $0 $4 + + ;Clear the stack + Pop $4 + Pop $3 + Exch 2 + Pop $2 + Pop $1 + + ;Reset the last variable and leave our result on the stack + Exch $0 +FunctionEnd + +!macro ReadINIStrWithDefault OUTPUT_VALUE INI_FILENAME SECTION_NAME ENTRY_NAME DEFAULT_VALUE + Push `${INI_FILENAME}` + Push `${SECTION_NAME}` + Push `${ENTRY_NAME}` + Push `${DEFAULT_VALUE}` + Call ReadINIStrWithDefault + Pop `${OUTPUT_VALUE}` +!macroend + +!define ReadINIStrWithDefault '!insertmacro "ReadINIStrWithDefault"' \ No newline at end of file diff --git a/Firefox46.win/Other/Source/Readme.txt b/Firefox46.win/Other/Source/Readme.txt new file mode 100644 index 0000000..d6ac3cb --- /dev/null +++ b/Firefox46.win/Other/Source/Readme.txt @@ -0,0 +1,175 @@ +Firefox Portable Launcher +========================= +Copyright 2004-2015 John T. Haller of PortableApps.com + +Website: http://PortableApps.com/FirefoxPortable + +This software is OSI Certified Open Source Software. +OSI Certified is a certification mark of the Open Source Initiative. + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +ABOUT FIREFOX PORTABLE +====================== +The Firefox Portable Launcher allows you to run Firefox from a removable drive +whose letter changes as you move it to another computer. The browser and the +profile can be entirely self-contained on the drive and then used on any Windows +computer. Specific configuration changes are made to the chrome.rdf so that +your extensions will still work as the drive letter changes. + + +LICENSE +======= +This code is released under the GPL. Within the FirefoxPortableSource directory +you will find the code (FirefoxPortable.nsi) as well as the full GPL license +(License.txt). If you use the launcher or code in your own product, please give +proper and prominent attribution. + + +INSTALLATION / DIRECTORY STRUCTURE +================================== +By default, the program expects the following directory structure: + +-\ <--- Directory with FirefoxPortable.exe + +\App\ + +\firefox\ + +\Data\ + +\profile\ + +\settings\ + +\plugins\ (optional) + +The above files may also be placed in a FirefoxPortable directory with the +FirefoxPortable.exe launcher a directory above that. + +It can be used in other directory configurations by including the FirefoxPortable.ini +file in the same directory as FirefoxPortable.exe and configuring it as detailed in +the INI file section below. + + +FIREFOXPORTABLE.INI CONFIGURATION +================================= +The Firefox Portable Launcher will look for an ini file called FirefoxPortable.ini +within its directory. If you are happy with the default options, it is not necessary, +though. There is an example INI included with this package to get you started within +the Other\Source directory. Note that it will not work from this location as it must +be placed in the same directory as FirefoxPortable.exe. The INI file is formatted as +follows: + +[FirefoxPortable] +FirefoxDirectory=App\firefox +ProfileDirectory=Data\profile +SettingsDirectory=Data\settings +PluginsDirectory=Data\plugins +FirefoxExecutable=firefox.exe +AdditionalParameters= +LocalHomepage= +WaitForFirefox=false +DisableSplashScreen=false +AllowMultipleInstances=false +DisableIntelligentStart=false +SkipCompregFix=false +RunLocally=false +AlwaysUse32Bit=false + +The FirefoxDirectory, ProfileDrectory, SettingsDirectory and PluginsDirectory entries +should be set to the *relative* path to the directories containing firefox.exe, your +profile, your plugins, etc. from the current directory. All must be a subdirectory +(or multiple subdirectories) of the directory containing FirefoxPortable.exe. The +default entries for these are described in the installation section above. The +FirefoxDirectory as well as the path provided with a 64 appended will be checked for +the 32-bit and 64-bit versions of Firefox respectively. + +The FirefoxExecutable entry allows you to set the Firefox Portable Launcher to use +an alternate EXE call to launch firefox. This is helpful if you are using a machine +that is set to deny firefox.exe from running. You'll need to rename the firefox.exe +file and then enter the name you gave it on the firefoxexecutable= line of the INI. + +The AdditionalParameters entry allows you to pass additional commandline parameter +entries to firefox.exe. Whatever you enter here will be appended to the call to +firefox.exe. + +The LocalHomepage entry allows you to set Firefox Portable to use a local file on your +read-only disc (CD/DVD/etc) as your homepage when running in Live mode. It's not necessary +for use on regular drives (the launcher handles portablizing your homepage path). The +file must be a path relative to the launcher. If you were to set it to a file in the +same directory as FirefoxPortable.exe, you would use LocalHomepage=homepage.html If it +was in a subdirectory called homepage, you would enter LocalHomepage=homepage/homepage.html. + +The WaitForFirefox entry allows you to set the launcher to remain active until Firefox has +closed. This is useful if you wish to have another process wait until Firefox Portable +has closed. The launcher will automatically wait for Firefox to close in cases where it +needs to clean up after firefox.exe (for instance, to clean up %APPDATA%\Mozilla\Firefox +when there is no locally-installed Firefox). + +The DisableSplashScreen entry allows you to run the Firefox Portable Launcher without the +splash screen showing up. The default is false. + +The AllowMultipleInstances entry will allow Firefox Portable to run alongside your +regular local copy of Firefox if you set it to true (lowercase). The default is false. + +The DisableIntelligentStart entry allows you to to have Firefox Portable run its chrome +and component registry fixes on every start. Normally, it tracks when you've moved to a +new path (switching PCs for instance) and only processes the chrome and component +registry when you do. By skipping it when the path is the same, Firefox Portable starts +up faster. But, if you copy a profile into Firefox Portable between sessions (it handles +a copy in on first run automatically), it won't know to process these. This usually +happens if you copy a profile into Firefox Portable from your local PC on a regular basis +with a sync utility that doesn't work with Firefox Portable (like Portable Apps Sync +does). Setting this to true causes Firefox Portable to process each on every start. + +The SkipCompregFix entry allows you to set Firefox Portable not to adjust the component +registry (compreg.dat) for certain extension compatibility on launch. It is useful if +you are only using Firefox Portable on computers you control and are able to have the +drive letter set the same each time or if you are not using extensions which make use of +the component registry (like Forecast Fox or the Mozilla Calendar) as Firefox Portable +will launch more quickly. Set it to true (lowercase) to skip chrome.rdf processing. The +default is false. + +The RunLocally entry allows you to set Firefox Portable to copy your profile, plugins and +Firefox binaries to the local machine's temp directory. This can be useful for instances +where you'd like to run Firefox Portable from a CD (aka Firefox Portable Live) or when +you're working on a machine that may have spyware or viruses and you'd like to keep your +device set to read-only mode. The only caveat is, of course, that any changes you make +that session (cookies, bookmarks, etc) aren't saved back to your device. When done +running, the local temp directories used by Firefox Portable are removed. RunLocally does +not currently work with AllowMultipleInstances as it cannot track which version of +Firefox is running. RunLocally will only use the 32-bit version of Firefox. Note that this +option is not well maintained and may or may not work with each new release. + +The AlwaysUse32Bit entry allows you to set Firefox Portable to use the 32-bit version of +Firefox even when run on a 64-bit machine. This can be useful when used with a legacy +plugin which is only available as a 32-bit plugin as well as when testing extensions and +web apps. + + +PROGRAM HISTORY / ABOUT THE AUTHORS +=================================== +This launcher contains suggestions from multiple sources. It began as a batch file launcher +written by myself (John T. Haller) and posted to the mozillaZine.org thread about running +Firefox from a USB key. tracon later released a launcher called fflaunch which I +enhanced and re-released as Firefox Portable. mai9 later improved on fflaunch's +techniques and released it as Free The Fox. Multiple suggestions back and forth from mai9, +myself and others lead to the launcher we have today. This most recent version adds my +methods for allowing the code to be run from anywhere on first launch (as opposed to a +specific directory), pass in commandline options, run without an ini file, allow the use +of profiles from local installations, intelligent startup (the launcher determines whether +paths have changed) and more. + + +CURRENT LIMITATIONS +=================== +INCOMPATIBLE EXTENSIONS - Certain extensions use additional local files or prefs.js in a +non-standard way to store information, neither of which are handled by the Firefox Portable +launcher when moving between machines. \ No newline at end of file diff --git a/Firefox46.win/Other/Source/ReplaceInFileWithTextReplace.nsh b/Firefox46.win/Other/Source/ReplaceInFileWithTextReplace.nsh new file mode 100644 index 0000000..d099e5b --- /dev/null +++ b/Firefox46.win/Other/Source/ReplaceInFileWithTextReplace.nsh @@ -0,0 +1,64 @@ +; ReplaceInFile wrapper for testreplace function +; John T. Haller of PortableApps.com +; BSD License +; Requires TextReplace plugin installed in NSIS and !include "TextReplace.nsh" in main nsi +; +; Usage: ${ReplaceInFile} SOURCE_FILE SEARCH_TEXT REPLACEMENT +; or use ReplaceInFileCS for case-sensitive (use when possible, it's faster) +; No return variable. Error will be set if unable to do the replacement (invalid file, locked file, etc) + +Function ReplaceInFile + Exch $0 ;REPLACEMENT + Exch + Exch $1 ;SEARCH_TEXT + Exch 2 + Exch $2 ;SOURCE_FILE + Exch 3 + Exch $3 ;CASE_INSENSITIVE + Push $4 ;NEW_FILE + Push $5 ;RETURN_VALUE + + StrCpy $4 `$2.OldReplaceInFile` + + ${textreplace::ReplaceInFile} "$2" "$4" "$1" "$0" "$3 /C=0" $5 + + IntCmp $5 0 StackCleanup ReturnError RenameToOriginal + + ReturnError: + SetErrors + Goto StackCleanup + + RenameToOriginal: + Delete $2 + Rename $4 $2 + + StackCleanup: + Pop $5 + Pop $4 + Pop $3 + Pop $0 + Pop $1 + Pop $2 + + ${textreplace::Unload} +FunctionEnd + +!macro ReplaceInFileCS SOURCE_FILE SEARCH_TEXT REPLACEMENT + Push `/S=1` + Push `${SOURCE_FILE}` + Push `${SEARCH_TEXT}` + Push `${REPLACEMENT}` + Call ReplaceInFile +!macroend + +!macro ReplaceInFile SOURCE_FILE SEARCH_TEXT REPLACEMENT + Push `/S=0` + Push `${SOURCE_FILE}` + Push `${SEARCH_TEXT}` + Push `${REPLACEMENT}` + Call ReplaceInFile +!macroend + +!define ReplaceInFileCS '!insertmacro "ReplaceInFileCS"' + +!define ReplaceInFile '!insertmacro "ReplaceInFile"' \ No newline at end of file diff --git a/Firefox46.win/Other/Source/SetFileAttributesDirectoryNormal.nsh b/Firefox46.win/Other/Source/SetFileAttributesDirectoryNormal.nsh new file mode 100644 index 0000000..486dce9 --- /dev/null +++ b/Firefox46.win/Other/Source/SetFileAttributesDirectoryNormal.nsh @@ -0,0 +1,49 @@ +; SetFileAttributesDirectoryNormal v 1.1 +; Sets all the files in a given directory (and sub directories) to NORMAL attributes +; +; Usage: ${SetFileAttributesDirectoryNormal} DIRECTORY_TO_SET_NORMAL +; +; Macro and Define added by John T. Haller of PortableApps.com +; +; Uses function Attrib v1.1 +; http://nsis.sourceforge.net/Attrib +; By: Hendri Adriaens (HendriAdriaens@hotmail.com) +; Additions by hobbyscripter to enable recursion of sub-directories +; BSD License + +Function SetFileAttributesDirectoryNormal + Exch $1 ; Dir + Push $2 + Push $3 + FindFirst $2 $3 "$1\*.*" + StrCmp $3 "" exitloop + + loop: + StrCmp $3 "" exitloop + StrCmp $3 "." next + StrCmp $3 ".." next + IfFileExists "$1\$3\*.*" 0 +4 + Push "$1\$3" + Call SetFileAttributesDirectoryNormal + Goto next + ; SetFileAttributes does not accept variables as attribute, + ; so manually set this to the necessary value. + SetFileAttributes "$1\$3" NORMAL + + next: + FindNext $2 $3 + Goto loop + + exitloop: + FindClose $2 + Pop $3 + Pop $2 + Pop $1 +FunctionEnd + +!macro SetFileAttributesDirectoryNormal DIRECTORY_TO_SET_NORMAL + Push `${DIRECTORY_TO_SET_NORMAL}` + Call SetFileAttributesDirectoryNormal +!macroend + +!define SetFileAttributesDirectoryNormal '!insertmacro "SetFileAttributesDirectoryNormal"' \ No newline at end of file diff --git a/Firefox46.win/help.html b/Firefox46.win/help.html new file mode 100644 index 0000000..14ce1ee --- /dev/null +++ b/Firefox46.win/help.html @@ -0,0 +1,219 @@ + +Mozilla Firefox, Portable Edition Help + + + + + +

+
+

Mozilla Firefox, Portable Edition Help

+

your browser, your way... in your pocket™

+

Mozilla Firefox®, Portable Edition is the popular Mozilla Firefox® web browser packaged with a PortableApps.com Launcher as a portable app, so you can take your bookmarks, extensions and saved passwords with you. It has all the same great features as Mozilla Firefox including popup-blocking, tabbed-browsing, integrated search, improved privacy features, automatic updating and more. Plus, it leaves no personal information behind on the machine you run it on, so you can take your favorite browser along with all your favorite bookmarks and extensions with you wherever you go. Learn more about Mozilla Firefox...

+ +Make a Donation - Support PortableApps.com's Hosting and Development + +

Go to the Mozilla Firefox, Portable Edition Homepage >>

+ +

Get more portable apps at PortableApps.com

+ +

This software is OSI Certified Open Source Software. OSI Certified is a certification mark of the Open Source Initiative.

+ +

Firefox Portable-Specific Issues

+ +

You can read about advanced configuration options for the Firefox Portable Launcher in its Readme.txt.

+ +

General Mozilla Firefox Issues

+ + + +

Acknowledgements

+

Many thanks to Gerard Balagu (mai9) for the original code handling extension path rewriting in his FreeTheFox launcher and tracon for some of the original ideas with his fflaunch launcher. Thanks as well to FlashBanG and all the folks participating in the mozillaZine forum thread for their ideas, suggestions and support.

+

Mozilla®, Firefox® and the Firefox logo are registered trademarks of the Mozilla Foundation and are used under license.

+
+ + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 3394b25..e22dacf 100644 --- a/pom.xml +++ b/pom.xml @@ -100,6 +100,13 @@ spring-kafka 2.1.4.RELEASE + + + org.seleniumhq.selenium + selenium-server-standalone + 2.53.0 + + diff --git a/simulations/RestService/IncidenceRESTServiceSimulation.scala b/simulations/RestService/IncidenceRESTServiceSimulation.scala new file mode 100644 index 0000000..2c94e60 --- /dev/null +++ b/simulations/RestService/IncidenceRESTServiceSimulation.scala @@ -0,0 +1,29 @@ +import scala.concurrent.duration._ + +import io.gatling.core.Predef._ +import io.gatling.http.Predef._ +import io.gatling.jdbc.Predef._ + + +/** + Tutorial probando REST API: https://www.blazemeter.com/blog/api-load-testing-with-gatling + Se crean 1000 incidencias a lo largo de 35 segundos, en menos segundos empieza a haber problemas, 10k a lo largo de 350s +*/ + +class IncidenceRESTServiceSimulation extends Simulation { + + val httpProtocol = http + .baseURL("http://localhost:8090") + .inferHtmlResources() + .acceptHeader("*/*") + .contentTypeHeader("application/json") + .userAgentHeader("curl/7.54.0") + + val scn = scenario("IncidenceRESTServiceSimulation") + .exec(http("request_0") + .post("/incidence-creator") + .body(StringBody(""" {"ident":"entidad2","password":"123456","kind":2,"name":"inc_GHKB","description":"Nueva lectura de humedad","location":"2919,178","tags":["Nieve","Fuego","Niebla","Terremoto"],"additionalInformation":"http://puntoverdeleon.com.mx/wp-content/uploads/2016/09/imagen-de-prueba-320x240.jpg","properties":{"p0":"v0","p1":"v1","p2":"v2","p3":"v3"},"state":"Abierta","notification":"si","expireAt":"2018-10-25 10:02:29.769579","assignedTo":"oper_rUxl"} """)).asJSON + ) + + setUp(scn.inject(rampUsers(1000) over(35 seconds))).protocols(httpProtocol) +} diff --git a/simulations/RestService/IncidenceRESTServiceSimulationAtOnce.scala b/simulations/RestService/IncidenceRESTServiceSimulationAtOnce.scala new file mode 100644 index 0000000..2aee551 --- /dev/null +++ b/simulations/RestService/IncidenceRESTServiceSimulationAtOnce.scala @@ -0,0 +1,28 @@ +import scala.concurrent.duration._ + +import io.gatling.core.Predef._ +import io.gatling.http.Predef._ +import io.gatling.jdbc.Predef._ + + +/** + Se crean 742 incidencias al mismo tiempo, a más cantidad empieza a dar problemas +*/ + +class IncidenceRESTServiceSimulationAtOnce extends Simulation { + + val httpProtocol = http + .baseURL("http://localhost:8090") + .inferHtmlResources() + .acceptHeader("*/*") + .contentTypeHeader("application/json") + .userAgentHeader("curl/7.54.0") + + val scn = scenario("IncidenceRESTServiceSimulationAtOnce") + .exec(http("request_0") + .post("/incidence-creator") + .body(StringBody(""" {"ident":"entidad2","password":"123456","kind":2,"name":"inc_GHKB","description":"Nueva lectura de humedad","location":"2919,178","tags":["Nieve","Fuego","Niebla","Terremoto"],"additionalInformation":"http://puntoverdeleon.com.mx/wp-content/uploads/2016/09/imagen-de-prueba-320x240.jpg","properties":{"p0":"v0","p1":"v1","p2":"v2","p3":"v3"},"state":"Abierta","notification":"si","expireAt":"2018-10-25 10:02:29.769579","assignedTo":"oper_rUxl"} """)).asJSON + ) + + setUp(scn.inject(atOnceUsers(742))).protocols(httpProtocol) +} diff --git a/simulations/RestService/IncidenceRESTServiceSimulationRandomized.scala b/simulations/RestService/IncidenceRESTServiceSimulationRandomized.scala new file mode 100644 index 0000000..6852e57 --- /dev/null +++ b/simulations/RestService/IncidenceRESTServiceSimulationRandomized.scala @@ -0,0 +1,30 @@ +import scala.concurrent.duration._ + +import io.gatling.core.Predef._ +import io.gatling.http.Predef._ +import io.gatling.jdbc.Predef._ + + +/** + Tutorial probando REST API: https://www.blazemeter.com/blog/api-load-testing-with-gatling + Se crean 1000 incidencias a lo largo de 35 segundos, en menos segundos empieza a haber problemas, 10k a lo largo de 350s + Las incidencias seran creadas en intervalos random de tiempo +*/ + +class IncidenceRESTServiceSimulation extends Simulation { + + val httpProtocol = http + .baseURL("http://localhost:8090") + .inferHtmlResources() + .acceptHeader("*/*") + .contentTypeHeader("application/json") + .userAgentHeader("curl/7.54.0") + + val scn = scenario("IncidenceRESTServiceSimulation") + .exec(http("request_0") + .post("/incidence-creator") + .body(StringBody(""" {"ident":"entidad2","password":"123456","kind":2,"name":"inc_GHKB","description":"Nueva lectura de humedad","location":"2919,178","tags":["Nieve","Fuego","Niebla","Terremoto"],"additionalInformation":"http://puntoverdeleon.com.mx/wp-content/uploads/2016/09/imagen-de-prueba-320x240.jpg","properties":{"p0":"v0","p1":"v1","p2":"v2","p3":"v3"},"state":"Abierta","notification":"si","expireAt":"2018-10-25 10:02:29.769579","assignedTo":"oper_rUxl"} """)).asJSON + ) + + setUp(scn.inject(rampUsers(1000) over(35 seconds) randomized)).protocols(httpProtocol) +} diff --git a/simulations/RestService/IncidenceRESTServiceSimulationRanged.scala b/simulations/RestService/IncidenceRESTServiceSimulationRanged.scala new file mode 100644 index 0000000..1eb4bd7 --- /dev/null +++ b/simulations/RestService/IncidenceRESTServiceSimulationRanged.scala @@ -0,0 +1,29 @@ +import scala.concurrent.duration._ + +import io.gatling.core.Predef._ +import io.gatling.http.Predef._ +import io.gatling.jdbc.Predef._ + + +/** + Tutorial probando REST API: https://www.blazemeter.com/blog/api-load-testing-with-gatling + Se intentaran crear entre 500 y 1000 incidencias a lo largo de 20 segundos +*/ + +class IncidenceRESTServiceSimulationRanged extends Simulation { + + val httpProtocol = http + .baseURL("http://localhost:8090") + .inferHtmlResources() + .acceptHeader("*/*") + .contentTypeHeader("application/json") + .userAgentHeader("curl/7.54.0") + + val scn = scenario("IncidenceRESTServiceSimulationRanged") + .exec(http("request_0") + .post("/incidence-creator") + .body(StringBody(""" {"ident":"entidad2","password":"123456","kind":2,"name":"inc_GHKB","description":"Nueva lectura de humedad","location":"2919,178","tags":["Nieve","Fuego","Niebla","Terremoto"],"additionalInformation":"http://puntoverdeleon.com.mx/wp-content/uploads/2016/09/imagen-de-prueba-320x240.jpg","properties":{"p0":"v0","p1":"v1","p2":"v2","p3":"v3"},"state":"Abierta","notification":"si","expireAt":"2018-10-25 10:02:29.769579","assignedTo":"oper_rUxl"} """)).asJSON + ) + + setUp(scn.inject(rampUsersPerSec(500) to (1000) during(20 seconds))).protocols(httpProtocol) +} diff --git a/simulations/RecordedSimulation.scala b/simulations/WebService/WebServiceSimulation.scala similarity index 87% rename from simulations/RecordedSimulation.scala rename to simulations/WebService/WebServiceSimulation.scala index 6c98dd7..cedb369 100644 --- a/simulations/RecordedSimulation.scala +++ b/simulations/WebService/WebServiceSimulation.scala @@ -5,7 +5,13 @@ import io.gatling.core.Predef._ import io.gatling.http.Predef._ import io.gatling.jdbc.Predef._ -class RecordedSimulation extends Simulation { + +/** + Simula un login y la creación de una incidencia usando el recorder de gatling. + Crea 10000 incidencias a lo largo de 5 minutos +*/ + +class WebServiceSimulation extends Simulation { val httpProtocol = http .baseURL("http://localhost:8090") @@ -23,7 +29,7 @@ class RecordedSimulation extends Simulation { - val scn = scenario("RecordedSimulation") + val scn = scenario("WebServiceSimulation") .exec(http("request_0") .get("/") .headers(headers_0) @@ -78,9 +84,5 @@ class RecordedSimulation extends Simulation { .headers(headers_2))) - setUp(scn.inject(atOnceUsers(1000))).protocols(httpProtocol) - -/** -https://gatling.io/docs/2.3/general/simulation_setup/ -*/ + setUp(scn.inject(rampUsers(10000) over(500 seconds))).protocols(httpProtocol) } diff --git a/src/main/java/asw/Application.java b/src/main/java/asw/Application.java index a0e265d..ad0d870 100644 --- a/src/main/java/asw/Application.java +++ b/src/main/java/asw/Application.java @@ -6,6 +6,6 @@ @SpringBootApplication public class Application { public static void main(String[] args) { - SpringApplication.run(Application.class, args); + SpringApplication.run(Application.class, args); } } \ No newline at end of file diff --git a/src/main/java/asw/dbManagement/Database.java b/src/main/java/asw/dbManagement/Database.java index 468968a..38b958d 100644 --- a/src/main/java/asw/dbManagement/Database.java +++ b/src/main/java/asw/dbManagement/Database.java @@ -1,12 +1,12 @@ -package asw.dbManagement; - -import asw.entities.Incidence; - -public interface Database { - - /** - * Add a new incidence. - * @param incidence - */ - void sendInci(Incidence incidence); -} +package asw.dbManagement; + +import asw.entities.Incidence; + +public interface Database { + + /** + * Add a new incidence. + * @param incidence + */ + void sendInci(Incidence incidence); +} diff --git a/src/main/java/asw/dbManagement/IncidenceRepository.java b/src/main/java/asw/dbManagement/IncidenceRepository.java index 997d504..1040da6 100644 --- a/src/main/java/asw/dbManagement/IncidenceRepository.java +++ b/src/main/java/asw/dbManagement/IncidenceRepository.java @@ -1,11 +1,11 @@ -package asw.dbManagement; - -import org.bson.types.ObjectId; -import org.springframework.data.mongodb.repository.MongoRepository; - -import asw.entities.Incidence; - -public interface IncidenceRepository extends MongoRepository { - - -} +package asw.dbManagement; + +import org.bson.types.ObjectId; +import org.springframework.data.mongodb.repository.MongoRepository; + +import asw.entities.Incidence; + +public interface IncidenceRepository extends MongoRepository { + + +} diff --git a/src/main/java/asw/dbManagement/MongoDatabase.java b/src/main/java/asw/dbManagement/MongoDatabase.java index b8f14c4..0fcb634 100644 --- a/src/main/java/asw/dbManagement/MongoDatabase.java +++ b/src/main/java/asw/dbManagement/MongoDatabase.java @@ -1,19 +1,19 @@ -package asw.dbManagement; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import asw.entities.Incidence; - -@Service -public class MongoDatabase implements Database{ - - @Autowired - private IncidenceRepository incidences; - - @Override - public void sendInci(Incidence incidence) { - incidences.save(incidence); - } - -} +package asw.dbManagement; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import asw.entities.Incidence; + +@Service +public class MongoDatabase implements Database{ + + @Autowired + private IncidenceRepository incidences; + + @Override + public void sendInci(Incidence incidence) { + incidences.save(incidence); + } + +} diff --git a/src/main/java/asw/entities/Incidence.java b/src/main/java/asw/entities/Incidence.java index 20a807b..f441cbb 100644 --- a/src/main/java/asw/entities/Incidence.java +++ b/src/main/java/asw/entities/Incidence.java @@ -1,155 +1,155 @@ -package asw.entities; - -import java.util.List; -import java.util.Map; - -import org.bson.types.ObjectId; -import org.springframework.data.annotation.Id; - -public class Incidence { - - @Id - private ObjectId _id; - - private String username; - private String password; - - private String name; - private String description; - private String location; - private List tags; - private String additionalInformation; - private Map properties; - private String state="OPEN"; - private String notification; - private String expireAt; - private String assignedTo; - - public Incidence() {} - - - public Incidence(String username, String password, String name, String description, String location, - List tags, String additionalInformation, Map properties, String state, - String notification, String expireAt, String assignedTo) { - super(); - this.username = username; - this.password = password; - this.name = name; - this.description = description; - this.location = location; - this.tags = tags; - this.additionalInformation = additionalInformation; - this.properties = properties; - this.state = state; - this.notification = notification; - this.expireAt = expireAt; - this.assignedTo = assignedTo; - } - - - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getLocation() { - return location; - } - - public void setLocation(String location) { - this.location = location; - } - - - public String getAdditionalInformation() { - return additionalInformation; - } - - public void setAdditionalInformation(String additionalInformation) { - this.additionalInformation = additionalInformation; - } - - - public String getState() { - return state; - } - - public void setState(String state) { - this.state = state; - } - - public String getExpiration() { - return expireAt; - } - - public void setExpiration(String expiration) { - this.expireAt = expiration; - } - - public String getAssignedTo() { - return assignedTo; - } - - public void setAssignedTo(String assignedTo) { - this.assignedTo = assignedTo; - } - - public List getTags() { - return tags; - } - - public void setTags(List tags) { - this.tags = tags; - } - - public Map getProperties() { - return properties; - } - - public void setProperties(Map properties) { - this.properties = properties; - } - - - public String getNotification() { - return notification; - } - - public void setNotification(String notification) { - this.notification = notification; - } - - - - - -} - +package asw.entities; + +import java.util.List; +import java.util.Map; + +import org.bson.types.ObjectId; +import org.springframework.data.annotation.Id; + +public class Incidence { + + @Id + private ObjectId _id; + + private String username; + private String password; + + private String name; + private String description; + private String location; + private List tags; + private String additionalInformation; + private Map properties; + private String state="OPEN"; + private String notification; + private String expireAt; + private String assignedTo; + + public Incidence() {} + + + public Incidence(String username, String password, String name, String description, String location, + List tags, String additionalInformation, Map properties, String state, + String notification, String expireAt, String assignedTo) { + super(); + this.username = username; + this.password = password; + this.name = name; + this.description = description; + this.location = location; + this.tags = tags; + this.additionalInformation = additionalInformation; + this.properties = properties; + this.state = state; + this.notification = notification; + this.expireAt = expireAt; + this.assignedTo = assignedTo; + } + + + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + + public String getAdditionalInformation() { + return additionalInformation; + } + + public void setAdditionalInformation(String additionalInformation) { + this.additionalInformation = additionalInformation; + } + + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public String getExpiration() { + return expireAt; + } + + public void setExpiration(String expiration) { + this.expireAt = expiration; + } + + public String getAssignedTo() { + return assignedTo; + } + + public void setAssignedTo(String assignedTo) { + this.assignedTo = assignedTo; + } + + public List getTags() { + return tags; + } + + public void setTags(List tags) { + this.tags = tags; + } + + public Map getProperties() { + return properties; + } + + public void setProperties(Map properties) { + this.properties = properties; + } + + + public String getNotification() { + return notification; + } + + public void setNotification(String notification) { + this.notification = notification; + } + + + + + +} + diff --git a/src/main/java/asw/factory/ErrorFactory.java b/src/main/java/asw/factory/ErrorFactory.java index 1c6323c..faf949e 100644 --- a/src/main/java/asw/factory/ErrorFactory.java +++ b/src/main/java/asw/factory/ErrorFactory.java @@ -1,56 +1,56 @@ -package asw.factory; - -import asw.webService.errors.ErrorResponse; -import asw.webService.errors.RequiredAssignedToErrorResponse; -import asw.webService.errors.RequiredDescriptionErrorResponse; -import asw.webService.errors.RequiredExpirationErrorResponse; -import asw.webService.errors.RequiredInformationErrorResponse; -import asw.webService.errors.RequiredNameErrorResponse; -import asw.webService.errors.RequiredNotificationErrorResponse; -import asw.webService.errors.RequiredPropertiesErrorResponse; -import asw.webService.errors.RequiredStateErrorResponse; -import asw.webService.errors.RequiredTagsErrorResponse; -import asw.webService.errors.UnknownErrorResponse; -import asw.webService.errors.WrongPropertiesStyleErrorResponse; -import asw.webService.errors.WrongTagsStyleErrorResponse; - -public class ErrorFactory { - - public static enum Errors { - REQUIRED_INCIDENT_NAME, REQUIRED_INCIDENT_ASSIGNEDTO, REQUIRED_INCIDENT_DESCRIPTION, REQUIRED_INCIDENT_EXPIRATION, REQUIRED_INCIDENT_INFORMATION, REQUIRED_INCIDENT_NOTIFICATION, - REQUIRED_INCIDENT_PROPERTIES, REQUIRED_INCIDENT_STATE, REQUIRED_INCIDENT_TAGS, WRONG_INCIDENT_TAGS, WRONG_INCIDENT_PROPERTIES - } - - private ErrorFactory() { - } - - public static ErrorResponse getError(Errors error) { - switch (error) { - case REQUIRED_INCIDENT_NAME: - return new RequiredNameErrorResponse(); - case REQUIRED_INCIDENT_ASSIGNEDTO: - return new RequiredAssignedToErrorResponse(); - case REQUIRED_INCIDENT_DESCRIPTION: - return new RequiredDescriptionErrorResponse(); - case REQUIRED_INCIDENT_EXPIRATION: - return new RequiredExpirationErrorResponse(); - case REQUIRED_INCIDENT_INFORMATION: - return new RequiredInformationErrorResponse(); - case REQUIRED_INCIDENT_NOTIFICATION: - return new RequiredNotificationErrorResponse(); - case REQUIRED_INCIDENT_PROPERTIES: - return new RequiredPropertiesErrorResponse(); - case REQUIRED_INCIDENT_STATE: - return new RequiredStateErrorResponse(); - case REQUIRED_INCIDENT_TAGS: - return new RequiredTagsErrorResponse(); - case WRONG_INCIDENT_TAGS: - return new WrongTagsStyleErrorResponse(); - case WRONG_INCIDENT_PROPERTIES: - return new WrongPropertiesStyleErrorResponse(); - default: - return new UnknownErrorResponse(); - } - } - -} +package asw.factory; + +import asw.webService.errors.ErrorResponse; +import asw.webService.errors.RequiredAssignedToErrorResponse; +import asw.webService.errors.RequiredDescriptionErrorResponse; +import asw.webService.errors.RequiredExpirationErrorResponse; +import asw.webService.errors.RequiredInformationErrorResponse; +import asw.webService.errors.RequiredNameErrorResponse; +import asw.webService.errors.RequiredNotificationErrorResponse; +import asw.webService.errors.RequiredPropertiesErrorResponse; +import asw.webService.errors.RequiredStateErrorResponse; +import asw.webService.errors.RequiredTagsErrorResponse; +import asw.webService.errors.UnknownErrorResponse; +import asw.webService.errors.WrongPropertiesStyleErrorResponse; +import asw.webService.errors.WrongTagsStyleErrorResponse; + +public class ErrorFactory { + + public static enum Errors { + REQUIRED_INCIDENT_NAME, REQUIRED_INCIDENT_ASSIGNEDTO, REQUIRED_INCIDENT_DESCRIPTION, REQUIRED_INCIDENT_EXPIRATION, REQUIRED_INCIDENT_INFORMATION, REQUIRED_INCIDENT_NOTIFICATION, + REQUIRED_INCIDENT_PROPERTIES, REQUIRED_INCIDENT_STATE, REQUIRED_INCIDENT_TAGS, WRONG_INCIDENT_TAGS, WRONG_INCIDENT_PROPERTIES + } + + private ErrorFactory() { + } + + public static ErrorResponse getError(Errors error) { + switch (error) { + case REQUIRED_INCIDENT_NAME: + return new RequiredNameErrorResponse(); + case REQUIRED_INCIDENT_ASSIGNEDTO: + return new RequiredAssignedToErrorResponse(); + case REQUIRED_INCIDENT_DESCRIPTION: + return new RequiredDescriptionErrorResponse(); + case REQUIRED_INCIDENT_EXPIRATION: + return new RequiredExpirationErrorResponse(); + case REQUIRED_INCIDENT_INFORMATION: + return new RequiredInformationErrorResponse(); + case REQUIRED_INCIDENT_NOTIFICATION: + return new RequiredNotificationErrorResponse(); + case REQUIRED_INCIDENT_PROPERTIES: + return new RequiredPropertiesErrorResponse(); + case REQUIRED_INCIDENT_STATE: + return new RequiredStateErrorResponse(); + case REQUIRED_INCIDENT_TAGS: + return new RequiredTagsErrorResponse(); + case WRONG_INCIDENT_TAGS: + return new WrongTagsStyleErrorResponse(); + case WRONG_INCIDENT_PROPERTIES: + return new WrongPropertiesStyleErrorResponse(); + default: + return new UnknownErrorResponse(); + } + } + +} diff --git a/src/main/java/asw/kafkaManager/KafkaService.java b/src/main/java/asw/kafkaManager/KafkaService.java index 4b26612..a356e16 100644 --- a/src/main/java/asw/kafkaManager/KafkaService.java +++ b/src/main/java/asw/kafkaManager/KafkaService.java @@ -1,13 +1,13 @@ -package asw.kafkaManager; - -import org.springframework.context.annotation.Configuration; -import org.springframework.kafka.annotation.EnableKafka; - -import asw.entities.Incidence; - -@Configuration -@EnableKafka -public interface KafkaService { - - public void sendInci(Incidence incidence); -} +package asw.kafkaManager; + +import org.springframework.context.annotation.Configuration; +import org.springframework.kafka.annotation.EnableKafka; + +import asw.entities.Incidence; + +@Configuration +@EnableKafka +public interface KafkaService { + + public void sendInci(Incidence incidence); +} diff --git a/src/main/java/asw/kafkaManager/KafkaServiceImpl.java b/src/main/java/asw/kafkaManager/KafkaServiceImpl.java index ee6e09f..39a6100 100644 --- a/src/main/java/asw/kafkaManager/KafkaServiceImpl.java +++ b/src/main/java/asw/kafkaManager/KafkaServiceImpl.java @@ -1,57 +1,57 @@ -package asw.kafkaManager; - - -import javax.annotation.ManagedBean; - -import org.apache.kafka.clients.producer.KafkaProducer; -import org.jboss.logging.Logger; -import org.json.JSONObject; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.kafka.core.KafkaTemplate; -import org.springframework.kafka.support.SendResult; -import org.springframework.util.concurrent.ListenableFuture; -import org.springframework.util.concurrent.ListenableFutureCallback; - -import asw.dbManagement.MongoDatabase; -import asw.entities.Incidence; - -@ManagedBean -public class KafkaServiceImpl implements KafkaService { - - @Value("${kafka.topic}") - private String TOPIC; - - @Autowired - private KafkaTemplate kafkaTemplate; - - @Autowired - private MongoDatabase mongoDatabase; - - private static final Logger logger = Logger.getLogger(KafkaProducer.class); - - - @Override - public void sendInci(Incidence incidence) { - - send(TOPIC, incidence); - - } - - private void send(String topic, Incidence data) { - ListenableFuture> future = kafkaTemplate.send(topic, new JSONObject(data).toString()); - future.addCallback(new ListenableFutureCallback>() { - @Override - public void onSuccess(SendResult result) { - logger.info("SUCCESS on sending message \"" + data + "\" to topic " + topic); - mongoDatabase.sendInci(data); - } - - @Override - public void onFailure(Throwable ex) { - logger.error("ERROR on sending message \"" + data + "\", stacktrace " + ex.getMessage()); - } - }); - } - -} +package asw.kafkaManager; + + +import javax.annotation.ManagedBean; + +import org.apache.kafka.clients.producer.KafkaProducer; +import org.jboss.logging.Logger; +import org.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.kafka.support.SendResult; +import org.springframework.util.concurrent.ListenableFuture; +import org.springframework.util.concurrent.ListenableFutureCallback; + +import asw.dbManagement.MongoDatabase; +import asw.entities.Incidence; + +@ManagedBean +public class KafkaServiceImpl implements KafkaService { + + @Value("${kafka.topic}") + private String TOPIC; + + @Autowired + private KafkaTemplate kafkaTemplate; + + @Autowired + private MongoDatabase mongoDatabase; + + private static final Logger logger = Logger.getLogger(KafkaProducer.class); + + + @Override + public void sendInci(Incidence incidence) { + + send(TOPIC, incidence); + + } + + private void send(String topic, Incidence data) { + ListenableFuture> future = kafkaTemplate.send(topic, new JSONObject(data).toString()); + future.addCallback(new ListenableFutureCallback>() { + @Override + public void onSuccess(SendResult result) { + logger.info("SUCCESS on sending message \"" + data + "\" to topic " + topic); + mongoDatabase.sendInci(data); + } + + @Override + public void onFailure(Throwable ex) { + logger.error("ERROR on sending message \"" + data + "\", stacktrace " + ex.getMessage()); + } + }); + } + +} diff --git a/src/main/java/asw/restService/RESTController.java b/src/main/java/asw/restService/RESTController.java index 5a647ed..1c7cc54 100644 --- a/src/main/java/asw/restService/RESTController.java +++ b/src/main/java/asw/restService/RESTController.java @@ -1,74 +1,74 @@ -package asw.restService; - -import java.io.IOException; - - -import java.util.List; -import java.util.Map; - -import org.apache.http.HttpResponse; -import org.apache.http.client.ClientProtocolException; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -import asw.entities.Incidence; -import asw.kafkaManager.KafkaServiceImpl; - -@RestController -public class RESTController { - - @Autowired - AgentsConnector agentsConnector; - - @Autowired - KafkaServiceImpl kafkaManager; - - - @SuppressWarnings("unchecked") - @RequestMapping(value = "/incidence-creator", method = RequestMethod.POST, headers = { "Accept=application/json", - "Accept=application/xml" }, produces = { "application/json", "text/xml" }) - public ResponseEntity processIncidence(@RequestBody Map params) { - - HttpResponse auth; - try { - auth = agentsConnector.launchRequest( new AgentLoginFormatter(params).getLoginAsJSON() ); - if(auth.getStatusLine().getStatusCode() != HttpStatus.OK.value()) { - return new ResponseEntity("{\"response\":\"Login incorrecto\"}", HttpStatus.UNAUTHORIZED ); - } - } catch (ClientProtocolException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - - - Incidence incidence = new Incidence(); - - incidence.setUsername((String) params.get("ident")); - incidence.setPassword((String) params.get("password")); - incidence.setName((String) params.get("name")); - incidence.setDescription((String) params.get("description")); - incidence.setLocation((String) params.get("location")); - - incidence.setTags((List) params.get("tags")); - incidence.setAdditionalInformation((String) params.get("additionalInformation")); - incidence.setProperties((Map) params.get("properties")); - - incidence.setState((String) params.get("state")); - incidence.setNotification((String) params.get("notification")); - incidence.setExpiration((String) params.get("expireAt")); - incidence.setAssignedTo((String) params.get("assignedTo")); - - kafkaManager.sendInci(incidence); - - //Enviar el objeto con la informacion de la incidencia a kafka y al mongo - return new ResponseEntity("{\"response\":\"Incidencia procesada\"}", HttpStatus.OK ); - - - } -} +package asw.restService; + +import java.io.IOException; + + +import java.util.List; +import java.util.Map; + +import org.apache.http.HttpResponse; +import org.apache.http.client.ClientProtocolException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import asw.entities.Incidence; +import asw.kafkaManager.KafkaServiceImpl; + +@RestController +public class RESTController { + + @Autowired + AgentsConnector agentsConnector; + + @Autowired + KafkaServiceImpl kafkaManager; + + + @SuppressWarnings("unchecked") + @RequestMapping(value = "/incidence-creator", method = RequestMethod.POST, headers = { "Accept=application/json", + "Accept=application/xml" }, produces = { "application/json", "text/xml" }) + public ResponseEntity processIncidence(@RequestBody Map params) { + + HttpResponse auth; + try { + auth = agentsConnector.launchRequest( new AgentLoginFormatter(params).getLoginAsJSON() ); + if(auth.getStatusLine().getStatusCode() != HttpStatus.OK.value()) { + return new ResponseEntity("{\"response\":\"Login incorrecto\"}", HttpStatus.UNAUTHORIZED ); + } + } catch (ClientProtocolException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + + + Incidence incidence = new Incidence(); + + incidence.setUsername((String) params.get("ident")); + incidence.setPassword((String) params.get("password")); + incidence.setName((String) params.get("name")); + incidence.setDescription((String) params.get("description")); + incidence.setLocation((String) params.get("location")); + + incidence.setTags((List) params.get("tags")); + incidence.setAdditionalInformation((String) params.get("additionalInformation")); + incidence.setProperties((Map) params.get("properties")); + + incidence.setState((String) params.get("state")); + incidence.setNotification((String) params.get("notification")); + incidence.setExpiration((String) params.get("expireAt")); + incidence.setAssignedTo((String) params.get("assignedTo")); + + kafkaManager.sendInci(incidence); + + //Enviar el objeto con la informacion de la incidencia a kafka y al mongo + return new ResponseEntity("{\"response\":\"Incidencia procesada\"}", HttpStatus.OK ); + + + } +} diff --git a/src/main/java/asw/restService/SendIncidentRESTController.java b/src/main/java/asw/restService/SendIncidentRESTController.java index ea46591..5451c2e 100644 --- a/src/main/java/asw/restService/SendIncidentRESTController.java +++ b/src/main/java/asw/restService/SendIncidentRESTController.java @@ -1,111 +1,111 @@ - -package asw.restService; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.ResponseStatus; -import org.springframework.web.bind.annotation.RestController; - -import asw.entities.Incidence; -import asw.kafkaManager.KafkaServiceImpl; -import asw.util.Assert; -import asw.webService.IncidenceData; -import asw.webService.errors.ErrorResponse; - -@RestController -public class SendIncidentRESTController { - - @Autowired - AgentsConnector agentsConnector; - - @Autowired - KafkaServiceImpl kafkaManager; - - @RequestMapping(value = "/postIncident", method = RequestMethod.POST, headers = { "Accept=application/json", - "Accept=application/xml" }, produces = { "application/json", "text/xml" }) - public ResponseEntity getPOSTIncident(@RequestBody(required = true) IncidenceData incidenceData) { - - Assert.isIncidentNameEmpty(incidenceData.getName()); - Assert.isIncidentDescriptionEmpty(incidenceData.getDescription()); - Assert.isIncidentTagsEmpty(incidenceData.getTags()); - Assert.isIncidentInfomationEmpty(incidenceData.getAdditionalInformation()); - Assert.isIncidentPropertiesEmpty(incidenceData.getProperties()); - Assert.isIncidentStateEmpty(incidenceData.getState()); - Assert.isIncidentNotificationEmpty(incidenceData.getNotification()); - Assert.isIncidentExpirationEmpty(incidenceData.getExpiration()); - Assert.isIncidentAssignedToEmpty(incidenceData.getAssignedTo()); - - Assert.areTagsValid(incidenceData.getTags()); - Assert.arePropertiesValid(incidenceData.getProperties()); - - Incidence incidence = new Incidence(); - - String username = agentsConnector.getUsername(); - String password = agentsConnector.getPassword(); - String name = incidenceData.getName(); - String description = incidenceData.getDescription(); - String location; - String tagsS = incidenceData.getTags(); - String aI = incidenceData.getAdditionalInformation(); - String propertiesS = incidenceData.getProperties(); - String state = incidenceData.getState(); - String noti = incidenceData.getNotification(); - String exp = incidenceData.getExpiration(); - String assig = incidenceData.getAssignedTo(); - - incidence.setUsername(username); - incidence.setPassword(password); - incidence.setName(name); - incidence.setDescription(description); - - if (incidenceData.getLocation() == "") { - incidence.setLocation(agentsConnector.getLocation()); - location = agentsConnector.getLocation(); - } else { - incidence.setLocation(incidenceData.getLocation()); - location = incidenceData.getLocation(); - } - - List tags = new ArrayList(); - for (String tag : ((String) tagsS).split(",")) { - tags.add(tag.trim()); - } - incidence.setTags(tags); - - incidence.setAdditionalInformation(aI); - - Map properties = new HashMap(); - for (String property : ((String) propertiesS).split(",")) { - if (property.split(":").length == 2) - properties.put(property.split(":")[0].trim(), property.split(":")[1].trim()); - } - incidence.setProperties(properties); - - incidence.setState(state); - incidence.setNotification(noti); - incidence.setExpiration(exp); - incidence.setAssignedTo(assig); - - kafkaManager.sendInci(incidence); - - return new ResponseEntity(new IncidenceData(username, password, name, description, location, - tagsS, aI, propertiesS, state, noti, exp, assig), HttpStatus.OK); - } - - @ExceptionHandler(ErrorResponse.class) - @ResponseStatus(value = HttpStatus.NOT_FOUND) - public String handleErrorResponses(ErrorResponse error) { - return error.getMessageJSONFormat(); - } - -} + +package asw.restService; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestController; + +import asw.entities.Incidence; +import asw.kafkaManager.KafkaServiceImpl; +import asw.util.Assert; +import asw.webService.IncidenceData; +import asw.webService.errors.ErrorResponse; + +@RestController +public class SendIncidentRESTController { + + @Autowired + AgentsConnector agentsConnector; + + @Autowired + KafkaServiceImpl kafkaManager; + + @RequestMapping(value = "/postIncident", method = RequestMethod.POST, headers = { "Accept=application/json", + "Accept=application/xml" }, produces = { "application/json", "text/xml" }) + public ResponseEntity getPOSTIncident(@RequestBody(required = true) IncidenceData incidenceData) { + + Assert.isIncidentNameEmpty(incidenceData.getName()); + Assert.isIncidentDescriptionEmpty(incidenceData.getDescription()); + Assert.isIncidentTagsEmpty(incidenceData.getTags()); + Assert.isIncidentInfomationEmpty(incidenceData.getAdditionalInformation()); + Assert.isIncidentPropertiesEmpty(incidenceData.getProperties()); + Assert.isIncidentStateEmpty(incidenceData.getState()); + Assert.isIncidentNotificationEmpty(incidenceData.getNotification()); + Assert.isIncidentExpirationEmpty(incidenceData.getExpiration()); + Assert.isIncidentAssignedToEmpty(incidenceData.getAssignedTo()); + + Assert.areTagsValid(incidenceData.getTags()); + Assert.arePropertiesValid(incidenceData.getProperties()); + + Incidence incidence = new Incidence(); + + String username = agentsConnector.getUsername(); + String password = agentsConnector.getPassword(); + String name = incidenceData.getName(); + String description = incidenceData.getDescription(); + String location; + String tagsS = incidenceData.getTags(); + String aI = incidenceData.getAdditionalInformation(); + String propertiesS = incidenceData.getProperties(); + String state = incidenceData.getState(); + String noti = incidenceData.getNotification(); + String exp = incidenceData.getExpiration(); + String assig = incidenceData.getAssignedTo(); + + incidence.setUsername(username); + incidence.setPassword(password); + incidence.setName(name); + incidence.setDescription(description); + + if (incidenceData.getLocation() == "") { + incidence.setLocation(agentsConnector.getLocation()); + location = agentsConnector.getLocation(); + } else { + incidence.setLocation(incidenceData.getLocation()); + location = incidenceData.getLocation(); + } + + List tags = new ArrayList(); + for (String tag : ((String) tagsS).split(",")) { + tags.add(tag.trim()); + } + incidence.setTags(tags); + + incidence.setAdditionalInformation(aI); + + Map properties = new HashMap(); + for (String property : ((String) propertiesS).split(",")) { + if (property.split(":").length == 2) + properties.put(property.split(":")[0].trim(), property.split(":")[1].trim()); + } + incidence.setProperties(properties); + + incidence.setState(state); + incidence.setNotification(noti); + incidence.setExpiration(exp); + incidence.setAssignedTo(assig); + + kafkaManager.sendInci(incidence); + + return new ResponseEntity(new IncidenceData(username, password, name, description, location, + tagsS, aI, propertiesS, state, noti, exp, assig), HttpStatus.OK); + } + + @ExceptionHandler(ErrorResponse.class) + @ResponseStatus(value = HttpStatus.NOT_FOUND) + public String handleErrorResponses(ErrorResponse error) { + return error.getMessageJSONFormat(); + } + +} diff --git a/src/main/java/asw/util/Assert.java b/src/main/java/asw/util/Assert.java index 98bb47f..b618e8f 100644 --- a/src/main/java/asw/util/Assert.java +++ b/src/main/java/asw/util/Assert.java @@ -1,85 +1,85 @@ -package asw.util; - -import asw.factory.ErrorFactory; -import asw.factory.ErrorFactory.Errors; - -public class Assert { - - public static boolean isIncidentNameEmpty(String incidentName) { - if (incidentName.trim().isEmpty()) - throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_NAME); - else - return true; - } - - public static boolean isIncidentAssignedToEmpty(String assignedTo) { - if (assignedTo.trim().isEmpty()) - throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_ASSIGNEDTO); - else - return true; - } - - public static boolean isIncidentDescriptionEmpty(String description) { - if (description.trim().isEmpty()) - throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_DESCRIPTION); - else - return true; - } - - public static boolean isIncidentExpirationEmpty(String expiration) { - if (expiration.trim().isEmpty()) - throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_EXPIRATION); - else - return true; - } - - public static boolean isIncidentInfomationEmpty(String information) { - if (information.trim().isEmpty()) - throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_INFORMATION); - else - return true; - } - - public static boolean isIncidentNotificationEmpty(String notification) { - if (notification.trim().isEmpty()) - throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_NOTIFICATION); - else - return true; - } - - public static boolean isIncidentPropertiesEmpty(String properties) { - if (properties.trim().isEmpty()) - throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_PROPERTIES); - else - return true; - } - - public static boolean isIncidentStateEmpty(String state) { - if (state.trim().isEmpty()) - throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_STATE); - else - return true; - } - - public static boolean isIncidentTagsEmpty(String tags) { - if (tags.trim().isEmpty()) - throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_TAGS); - else - return true; - } - - public static boolean areTagsValid(String ident) { - if (!ident.matches("[a-zA-Z0-9]*(,|[a-zA-Z0-9])+")) { - throw ErrorFactory.getError(Errors.WRONG_INCIDENT_TAGS); - } - return true; - } - - public static boolean arePropertiesValid(String ident) { - if (!ident.matches("([a-zA-Z0-9]*:[a-zA-Z0-9]*)(,|[a-zA-Z0-9]*:[a-zA-Z0-9]*)*")) { - throw ErrorFactory.getError(Errors.WRONG_INCIDENT_PROPERTIES); - } - return true; - } - -} +package asw.util; + +import asw.factory.ErrorFactory; +import asw.factory.ErrorFactory.Errors; + +public class Assert { + + public static boolean isIncidentNameEmpty(String incidentName) { + if (incidentName.trim().isEmpty()) + throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_NAME); + else + return true; + } + + public static boolean isIncidentAssignedToEmpty(String assignedTo) { + if (assignedTo.trim().isEmpty()) + throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_ASSIGNEDTO); + else + return true; + } + + public static boolean isIncidentDescriptionEmpty(String description) { + if (description.trim().isEmpty()) + throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_DESCRIPTION); + else + return true; + } + + public static boolean isIncidentExpirationEmpty(String expiration) { + if (expiration.trim().isEmpty()) + throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_EXPIRATION); + else + return true; + } + + public static boolean isIncidentInfomationEmpty(String information) { + if (information.trim().isEmpty()) + throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_INFORMATION); + else + return true; + } + + public static boolean isIncidentNotificationEmpty(String notification) { + if (notification.trim().isEmpty()) + throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_NOTIFICATION); + else + return true; + } + + public static boolean isIncidentPropertiesEmpty(String properties) { + if (properties.trim().isEmpty()) + throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_PROPERTIES); + else + return true; + } + + public static boolean isIncidentStateEmpty(String state) { + if (state.trim().isEmpty()) + throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_STATE); + else + return true; + } + + public static boolean isIncidentTagsEmpty(String tags) { + if (tags.trim().isEmpty()) + throw ErrorFactory.getError(Errors.REQUIRED_INCIDENT_TAGS); + else + return true; + } + + public static boolean areTagsValid(String ident) { + if (!ident.matches("[a-zA-Z0-9]*(,|[a-zA-Z0-9])+")) { + throw ErrorFactory.getError(Errors.WRONG_INCIDENT_TAGS); + } + return true; + } + + public static boolean arePropertiesValid(String ident) { + if (!ident.matches("([a-zA-Z0-9]*:[a-zA-Z0-9]*)(,|[a-zA-Z0-9]*:[a-zA-Z0-9]*)*")) { + throw ErrorFactory.getError(Errors.WRONG_INCIDENT_PROPERTIES); + } + return true; + } + +} diff --git a/src/main/java/asw/webService/IncidenceData.java b/src/main/java/asw/webService/IncidenceData.java index 4ce5918..aae2c7f 100644 --- a/src/main/java/asw/webService/IncidenceData.java +++ b/src/main/java/asw/webService/IncidenceData.java @@ -1,136 +1,136 @@ -package asw.webService; - -public class IncidenceData { - - private String username; - private String password; - private String name; - private String description; - private String location; - private String tags; - private String additionalInformation; - private String properties; - private String state; - private String notification; - private String expiration; - private String assignedTo; - - public IncidenceData() { - // TODO Auto-generated constructor stub - } - - public IncidenceData(String username, String password, String name, String description, String location, - String tags, String additionalInformation, String properties, String state, String notification, - String expiration, String assignedTo) { - super(); - this.username = username; - this.password = password; - this.name = name; - this.description = description; - this.location = location; - this.tags = tags; - this.additionalInformation = additionalInformation; - this.properties = properties; - this.state = state; - this.notification = notification; - this.expiration = expiration; - this.assignedTo = assignedTo; - } - - public String getUsername() { - return username; - } - - public String getPassword() { - return password; - } - - public String getName() { - return name; - } - - public String getDescription() { - return description; - } - - public String getLocation() { - return location; - } - - public String getTags() { - return tags; - } - - public String getAdditionalInformation() { - return additionalInformation; - } - - public String getProperties() { - return properties; - } - - public String getState() { - return state; - } - - public String getExpiration() { - return expiration; - } - - public String getAssignedTo() { - return assignedTo; - } - - public String getNotification() { - return notification; - } - - public void setNotification(String notification) { - this.notification = notification; - } - - public void setUsername(String username) { - this.username = username; - } - - public void setPassword(String password) { - this.password = password; - } - - public void setName(String name) { - this.name = name; - } - - public void setDescription(String description) { - this.description = description; - } - - public void setLocation(String location) { - this.location = location; - } - - public void setTags(String tags) { - this.tags = tags; - } - - public void setAdditionalInformation(String additionalInformation) { - this.additionalInformation = additionalInformation; - } - - public void setProperties(String properties) { - this.properties = properties; - } - - public void setState(String state) { - this.state = state; - } - - public void setExpiration(String expiration) { - this.expiration = expiration; - } - - public void setAssignedTo(String assignedTo) { - this.assignedTo = assignedTo; - } - -} +package asw.webService; + +public class IncidenceData { + + private String username; + private String password; + private String name; + private String description; + private String location; + private String tags; + private String additionalInformation; + private String properties; + private String state; + private String notification; + private String expiration; + private String assignedTo; + + public IncidenceData() { + // TODO Auto-generated constructor stub + } + + public IncidenceData(String username, String password, String name, String description, String location, + String tags, String additionalInformation, String properties, String state, String notification, + String expiration, String assignedTo) { + super(); + this.username = username; + this.password = password; + this.name = name; + this.description = description; + this.location = location; + this.tags = tags; + this.additionalInformation = additionalInformation; + this.properties = properties; + this.state = state; + this.notification = notification; + this.expiration = expiration; + this.assignedTo = assignedTo; + } + + public String getUsername() { + return username; + } + + public String getPassword() { + return password; + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + + public String getLocation() { + return location; + } + + public String getTags() { + return tags; + } + + public String getAdditionalInformation() { + return additionalInformation; + } + + public String getProperties() { + return properties; + } + + public String getState() { + return state; + } + + public String getExpiration() { + return expiration; + } + + public String getAssignedTo() { + return assignedTo; + } + + public String getNotification() { + return notification; + } + + public void setNotification(String notification) { + this.notification = notification; + } + + public void setUsername(String username) { + this.username = username; + } + + public void setPassword(String password) { + this.password = password; + } + + public void setName(String name) { + this.name = name; + } + + public void setDescription(String description) { + this.description = description; + } + + public void setLocation(String location) { + this.location = location; + } + + public void setTags(String tags) { + this.tags = tags; + } + + public void setAdditionalInformation(String additionalInformation) { + this.additionalInformation = additionalInformation; + } + + public void setProperties(String properties) { + this.properties = properties; + } + + public void setState(String state) { + this.state = state; + } + + public void setExpiration(String expiration) { + this.expiration = expiration; + } + + public void setAssignedTo(String assignedTo) { + this.assignedTo = assignedTo; + } + +} diff --git a/src/main/java/asw/webService/WebController.java b/src/main/java/asw/webService/WebController.java index e7c526c..5eb97fa 100644 --- a/src/main/java/asw/webService/WebController.java +++ b/src/main/java/asw/webService/WebController.java @@ -149,7 +149,7 @@ public String handleErrorResponseNotFound(ErrorResponse excep, Model model) { @RequestMapping(value = "/logout", method = RequestMethod.GET) public String logout(Model model) { - return "index"; + return "login"; } } \ No newline at end of file diff --git a/src/main/java/asw/webService/errors/RequiredAssignedToErrorResponse.java b/src/main/java/asw/webService/errors/RequiredAssignedToErrorResponse.java index d2119f7..cc6d827 100644 --- a/src/main/java/asw/webService/errors/RequiredAssignedToErrorResponse.java +++ b/src/main/java/asw/webService/errors/RequiredAssignedToErrorResponse.java @@ -1,21 +1,21 @@ -package asw.webService.errors; - -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence assigned to is required") -public class RequiredAssignedToErrorResponse extends ErrorResponse { - - private static final long serialVersionUID = 1L; - - @Override - public String getMessageJSONFormat() { - return "{\"reason\": \"Incidence assigned to is required\"}"; - } - - @Override - public String getMessageStringFormat() { - return "Incidence assigned to is required"; - } - +package asw.webService.errors; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence assigned to is required") +public class RequiredAssignedToErrorResponse extends ErrorResponse { + + private static final long serialVersionUID = 1L; + + @Override + public String getMessageJSONFormat() { + return "{\"reason\": \"Incidence assigned to is required\"}"; + } + + @Override + public String getMessageStringFormat() { + return "Incidence assigned to is required"; + } + } \ No newline at end of file diff --git a/src/main/java/asw/webService/errors/RequiredDescriptionErrorResponse.java b/src/main/java/asw/webService/errors/RequiredDescriptionErrorResponse.java index 8a4779c..d962ce3 100644 --- a/src/main/java/asw/webService/errors/RequiredDescriptionErrorResponse.java +++ b/src/main/java/asw/webService/errors/RequiredDescriptionErrorResponse.java @@ -1,21 +1,21 @@ -package asw.webService.errors; - -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence description is required") -public class RequiredDescriptionErrorResponse extends ErrorResponse { - - private static final long serialVersionUID = 1L; - - @Override - public String getMessageJSONFormat() { - return "{\"reason\": \"Incidence description is required\"}"; - } - - @Override - public String getMessageStringFormat() { - return "Incidence description is required"; - } - +package asw.webService.errors; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence description is required") +public class RequiredDescriptionErrorResponse extends ErrorResponse { + + private static final long serialVersionUID = 1L; + + @Override + public String getMessageJSONFormat() { + return "{\"reason\": \"Incidence description is required\"}"; + } + + @Override + public String getMessageStringFormat() { + return "Incidence description is required"; + } + } \ No newline at end of file diff --git a/src/main/java/asw/webService/errors/RequiredExpirationErrorResponse.java b/src/main/java/asw/webService/errors/RequiredExpirationErrorResponse.java index 69e018d..0f9a0ed 100644 --- a/src/main/java/asw/webService/errors/RequiredExpirationErrorResponse.java +++ b/src/main/java/asw/webService/errors/RequiredExpirationErrorResponse.java @@ -1,21 +1,21 @@ -package asw.webService.errors; - -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence expiration is required") -public class RequiredExpirationErrorResponse extends ErrorResponse { - - private static final long serialVersionUID = 1L; - - @Override - public String getMessageJSONFormat() { - return "{\"reason\": \"Incidence expiration is required\"}"; - } - - @Override - public String getMessageStringFormat() { - return "Incidence expiration is required"; - } - +package asw.webService.errors; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence expiration is required") +public class RequiredExpirationErrorResponse extends ErrorResponse { + + private static final long serialVersionUID = 1L; + + @Override + public String getMessageJSONFormat() { + return "{\"reason\": \"Incidence expiration is required\"}"; + } + + @Override + public String getMessageStringFormat() { + return "Incidence expiration is required"; + } + } \ No newline at end of file diff --git a/src/main/java/asw/webService/errors/RequiredInformationErrorResponse.java b/src/main/java/asw/webService/errors/RequiredInformationErrorResponse.java index 1b9f036..fd9cdb5 100644 --- a/src/main/java/asw/webService/errors/RequiredInformationErrorResponse.java +++ b/src/main/java/asw/webService/errors/RequiredInformationErrorResponse.java @@ -1,21 +1,21 @@ -package asw.webService.errors; - -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence additional information is required") -public class RequiredInformationErrorResponse extends ErrorResponse { - - private static final long serialVersionUID = 1L; - - @Override - public String getMessageJSONFormat() { - return "{\"reason\": \"Incidence additional information is required\"}"; - } - - @Override - public String getMessageStringFormat() { - return "Incidence additional information is required"; - } - +package asw.webService.errors; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence additional information is required") +public class RequiredInformationErrorResponse extends ErrorResponse { + + private static final long serialVersionUID = 1L; + + @Override + public String getMessageJSONFormat() { + return "{\"reason\": \"Incidence additional information is required\"}"; + } + + @Override + public String getMessageStringFormat() { + return "Incidence additional information is required"; + } + } \ No newline at end of file diff --git a/src/main/java/asw/webService/errors/RequiredNameErrorResponse.java b/src/main/java/asw/webService/errors/RequiredNameErrorResponse.java index ee843bd..1e6b259 100644 --- a/src/main/java/asw/webService/errors/RequiredNameErrorResponse.java +++ b/src/main/java/asw/webService/errors/RequiredNameErrorResponse.java @@ -1,21 +1,21 @@ -package asw.webService.errors; - -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence name is required") -public class RequiredNameErrorResponse extends ErrorResponse { - - private static final long serialVersionUID = 1L; - - @Override - public String getMessageJSONFormat() { - return "{\"reason\": \"Incidence name is required\"}"; - } - - @Override - public String getMessageStringFormat() { - return "Incidence name is required"; - } - -} +package asw.webService.errors; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence name is required") +public class RequiredNameErrorResponse extends ErrorResponse { + + private static final long serialVersionUID = 1L; + + @Override + public String getMessageJSONFormat() { + return "{\"reason\": \"Incidence name is required\"}"; + } + + @Override + public String getMessageStringFormat() { + return "Incidence name is required"; + } + +} diff --git a/src/main/java/asw/webService/errors/RequiredNotificationErrorResponse.java b/src/main/java/asw/webService/errors/RequiredNotificationErrorResponse.java index 61d8faf..5251bae 100644 --- a/src/main/java/asw/webService/errors/RequiredNotificationErrorResponse.java +++ b/src/main/java/asw/webService/errors/RequiredNotificationErrorResponse.java @@ -1,21 +1,21 @@ -package asw.webService.errors; - -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence notification is required") -public class RequiredNotificationErrorResponse extends ErrorResponse { - - private static final long serialVersionUID = 1L; - - @Override - public String getMessageJSONFormat() { - return "{\"reason\": \"Incidence notification is required\"}"; - } - - @Override - public String getMessageStringFormat() { - return "Incidence notification is required"; - } - -} +package asw.webService.errors; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence notification is required") +public class RequiredNotificationErrorResponse extends ErrorResponse { + + private static final long serialVersionUID = 1L; + + @Override + public String getMessageJSONFormat() { + return "{\"reason\": \"Incidence notification is required\"}"; + } + + @Override + public String getMessageStringFormat() { + return "Incidence notification is required"; + } + +} diff --git a/src/main/java/asw/webService/errors/RequiredPropertiesErrorResponse.java b/src/main/java/asw/webService/errors/RequiredPropertiesErrorResponse.java index 5052a9c..508e7b0 100644 --- a/src/main/java/asw/webService/errors/RequiredPropertiesErrorResponse.java +++ b/src/main/java/asw/webService/errors/RequiredPropertiesErrorResponse.java @@ -1,21 +1,21 @@ -package asw.webService.errors; - -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence properties is required") -public class RequiredPropertiesErrorResponse extends ErrorResponse { - - private static final long serialVersionUID = 1L; - - @Override - public String getMessageJSONFormat() { - return "{\"reason\": \"Incidence properties is required\"}"; - } - - @Override - public String getMessageStringFormat() { - return "Incidence properties is required"; - } - +package asw.webService.errors; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence properties is required") +public class RequiredPropertiesErrorResponse extends ErrorResponse { + + private static final long serialVersionUID = 1L; + + @Override + public String getMessageJSONFormat() { + return "{\"reason\": \"Incidence properties is required\"}"; + } + + @Override + public String getMessageStringFormat() { + return "Incidence properties is required"; + } + } \ No newline at end of file diff --git a/src/main/java/asw/webService/errors/RequiredStateErrorResponse.java b/src/main/java/asw/webService/errors/RequiredStateErrorResponse.java index 447fbd4..91a5428 100644 --- a/src/main/java/asw/webService/errors/RequiredStateErrorResponse.java +++ b/src/main/java/asw/webService/errors/RequiredStateErrorResponse.java @@ -1,21 +1,21 @@ -package asw.webService.errors; - -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence state is required") -public class RequiredStateErrorResponse extends ErrorResponse { - - private static final long serialVersionUID = 1L; - - @Override - public String getMessageJSONFormat() { - return "{\"reason\": \"Incidence state is required\"}"; - } - - @Override - public String getMessageStringFormat() { - return "Incidence state is required"; - } - -} +package asw.webService.errors; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence state is required") +public class RequiredStateErrorResponse extends ErrorResponse { + + private static final long serialVersionUID = 1L; + + @Override + public String getMessageJSONFormat() { + return "{\"reason\": \"Incidence state is required\"}"; + } + + @Override + public String getMessageStringFormat() { + return "Incidence state is required"; + } + +} diff --git a/src/main/java/asw/webService/errors/RequiredTagsErrorResponse.java b/src/main/java/asw/webService/errors/RequiredTagsErrorResponse.java index 6f15afa..df6df94 100644 --- a/src/main/java/asw/webService/errors/RequiredTagsErrorResponse.java +++ b/src/main/java/asw/webService/errors/RequiredTagsErrorResponse.java @@ -1,21 +1,21 @@ -package asw.webService.errors; - -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence tags is required") -public class RequiredTagsErrorResponse extends ErrorResponse { - - private static final long serialVersionUID = 1L; - - @Override - public String getMessageJSONFormat() { - return "{\"reason\": \"Incidence tags is required\"}"; - } - - @Override - public String getMessageStringFormat() { - return "Incidence tags is required"; - } - +package asw.webService.errors; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Incidence tags is required") +public class RequiredTagsErrorResponse extends ErrorResponse { + + private static final long serialVersionUID = 1L; + + @Override + public String getMessageJSONFormat() { + return "{\"reason\": \"Incidence tags is required\"}"; + } + + @Override + public String getMessageStringFormat() { + return "Incidence tags is required"; + } + } \ No newline at end of file diff --git a/src/main/java/asw/webService/errors/UnknownErrorResponse.java b/src/main/java/asw/webService/errors/UnknownErrorResponse.java index 68c147e..79745a8 100644 --- a/src/main/java/asw/webService/errors/UnknownErrorResponse.java +++ b/src/main/java/asw/webService/errors/UnknownErrorResponse.java @@ -1,21 +1,21 @@ -package asw.webService.errors; - -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseStatus(value=HttpStatus.NOT_FOUND, reason="Unknown error") -public class UnknownErrorResponse extends ErrorResponse { - - private static final long serialVersionUID = 1L; - - @Override - public String getMessageJSONFormat() { - return "{\"reason\": \"Unknown error\"}"; - } - - @Override - public String getMessageStringFormat() { - return "Unknown error"; - } - -} +package asw.webService.errors; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value=HttpStatus.NOT_FOUND, reason="Unknown error") +public class UnknownErrorResponse extends ErrorResponse { + + private static final long serialVersionUID = 1L; + + @Override + public String getMessageJSONFormat() { + return "{\"reason\": \"Unknown error\"}"; + } + + @Override + public String getMessageStringFormat() { + return "Unknown error"; + } + +} diff --git a/src/main/java/asw/webService/errors/WrongTagsStyleErrorResponse.java b/src/main/java/asw/webService/errors/WrongTagsStyleErrorResponse.java index 590b78e..d1b1a53 100644 --- a/src/main/java/asw/webService/errors/WrongTagsStyleErrorResponse.java +++ b/src/main/java/asw/webService/errors/WrongTagsStyleErrorResponse.java @@ -1,21 +1,21 @@ -package asw.webService.errors; - -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Wrong tags style") -public class WrongTagsStyleErrorResponse extends ErrorResponse { - - private static final long serialVersionUID = 1L; - - @Override - public String getMessageJSONFormat() { - return "{\"reason\": \"Wrong tags style\"}"; - } - - @Override - public String getMessageStringFormat() { - return "Wrong tags style"; - } - -} +package asw.webService.errors; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Wrong tags style") +public class WrongTagsStyleErrorResponse extends ErrorResponse { + + private static final long serialVersionUID = 1L; + + @Override + public String getMessageJSONFormat() { + return "{\"reason\": \"Wrong tags style\"}"; + } + + @Override + public String getMessageStringFormat() { + return "Wrong tags style"; + } + +} diff --git a/src/main/resources/templates/incidentForm.html b/src/main/resources/templates/incidentForm.html index 1a19240..e885b36 100644 --- a/src/main/resources/templates/incidentForm.html +++ b/src/main/resources/templates/incidentForm.html @@ -104,7 +104,7 @@

Datos de la incidencia

- +
diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index f66f5b8..d4811e4 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -24,7 +24,7 @@
-

Bienvenidos a la pagina principal

+

Bienvenidos a la pagina principal

Gestion y carga de incidencias.

diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html index d3502ed..34932df 100644 --- a/src/main/resources/templates/login.html +++ b/src/main/resources/templates/login.html @@ -14,9 +14,6 @@ @@ -26,7 +23,7 @@

Identificate

- +
diff --git a/src/test/java/com/uniovi/SeleniumTest.java b/src/test/java/com/uniovi/SeleniumTest.java new file mode 100644 index 0000000..ccecc1e --- /dev/null +++ b/src/test/java/com/uniovi/SeleniumTest.java @@ -0,0 +1,114 @@ +package com.uniovi; + + + +import org.junit.runners.MethodSorters; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.firefox.FirefoxDriver; + +import com.uniovi.pageObjects.PO_HomeView; +import com.uniovi.pageObjects.PO_LoginView; +import com.uniovi.pageObjects.PO_RegisterView; +import com.uniovi.pageObjects.PO_View; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.FixMethodOrder; +import org.junit.Test; + +//Ordenamos las pruebas por el nombre del m�todo +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class SeleniumTest { + + static String PathFirefox = "Firefox46.win\\FirefoxPortable.exe"; + + static WebDriver driver = getDriver(PathFirefox); + static String URL_INCI = "http://localhost:8090"; + static String URL_AGENTS = "http://localhost:8091"; + + public static WebDriver getDriver(String PathFirefox) { + System.setProperty("webdriver.firefox.bin", PathFirefox); + WebDriver driver = new FirefoxDriver(); + return driver; + } + + @Before + public void setUp() throws Exception { + driver.navigate().to(URL_INCI); + } + + @BeforeClass + static public void begin() { + } + + @AfterClass + static public void end() { + driver.quit(); + } + + @After + public void tearDown() throws Exception { + driver.manage().deleteAllCookies(); + } + + + //Probamos a entrar con un usuario incorrecto + @Test + public void A_TEST() { + PO_HomeView.clickOption(driver, "login", "class", "btn btn-primary"); + PO_LoginView.fillForm(driver, "123", "123456"); + PO_View.checkElement(driver, "text", "Entrar" ); + } + + //Probamos a entrar con una contraseña incorrecta + @Test + public void B_TEST() { + PO_HomeView.clickOption(driver, "login", "class", "btn btn-primary"); + PO_LoginView.fillForm(driver, "12345678P", "13456asaqwe"); + PO_View.checkElement(driver, "text", "Entrar" ); + } + + //Probamos entrar correctamente + @Test + public void C_TEST() { + PO_HomeView.clickOption(driver, "login", "class", "btn btn-primary"); + PO_LoginView.fillForm(driver, "12345678P", "123456"); + PO_View.checkElement(driver, "text", "Enviar" ); + } + + //Probamos a registrar una incidencia + @Test + public void D_TEST() { + PO_HomeView.clickOption(driver, "login", "class", "btn btn-primary"); + PO_LoginView.fillForm(driver, "12345678P", "123456"); + PO_View.checkElement(driver, "text", "Enviar" ); + + PO_RegisterView.fillForm(driver, "INCI1", "humedades", "40,-40", + "humedad1,humedad2", "www.humedad.com", "P0:r1", "OPEN", "Si", "2018-10-25", "1"); + + PO_View.checkElement(driver, "text", "INCI1" ); + PO_HomeView.clickOption(driver, "logout", "class", ""); + PO_View.checkElement(driver, "text", "Identificate" ); + + + } + + //Probamos a registrar una incidencia + @Test + public void E_TEST() { + PO_HomeView.clickOption(driver, "login", "class", "btn btn-primary"); + PO_LoginView.fillForm(driver, "12345678P", "123456"); + PO_View.checkElement(driver, "text", "Enviar" ); + + PO_RegisterView.fillForm(driver, "INCI1", "humedades", "40,-40", + "humedad1,humedad2", "www.humedad.com", "P0r1", "OPEN", "Si", "2018-10-25", "1"); + + PO_View.checkElement(driver, "text", "Ha ocurrido el siguiente error" ); + + } + + + +} diff --git a/src/test/java/com/uniovi/pageObjects/PO_HomeView.java b/src/test/java/com/uniovi/pageObjects/PO_HomeView.java new file mode 100644 index 0000000..001c6a9 --- /dev/null +++ b/src/test/java/com/uniovi/pageObjects/PO_HomeView.java @@ -0,0 +1,8 @@ +package com.uniovi.pageObjects; + +public class PO_HomeView extends PO_NavView { + + + + +} diff --git a/src/test/java/com/uniovi/pageObjects/PO_LoginView.java b/src/test/java/com/uniovi/pageObjects/PO_LoginView.java new file mode 100644 index 0000000..0cda43b --- /dev/null +++ b/src/test/java/com/uniovi/pageObjects/PO_LoginView.java @@ -0,0 +1,22 @@ +package com.uniovi.pageObjects; + +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; + +public class PO_LoginView { + + static public void fillForm(WebDriver driver, String username, String passwordp) { + WebElement dni = driver.findElement(By.name("ident")); + dni.click(); + dni.clear(); + dni.sendKeys(username); + WebElement password = driver.findElement(By.name("password")); + password.click(); + password.clear(); + password.sendKeys(passwordp); + // Pulsar el boton de Alta. + By boton = By.className("btn"); + driver.findElement(boton).click(); + } +} diff --git a/src/test/java/com/uniovi/pageObjects/PO_NavView.java b/src/test/java/com/uniovi/pageObjects/PO_NavView.java new file mode 100644 index 0000000..771f35c --- /dev/null +++ b/src/test/java/com/uniovi/pageObjects/PO_NavView.java @@ -0,0 +1,58 @@ +package com.uniovi.pageObjects; + +import static org.junit.Assert.assertTrue; + +import java.util.List; +import org.openqa.selenium.*; +import com.uniovi.utils.SeleniumUtils; + +public class PO_NavView extends PO_View { + /** + * CLicka una de las opciones principales (a href) y comprueba que se vaya a la + * vista con el elemento de tipo type con el texto Destino + * + * @param driver: + * apuntando al navegador abierto actualmente. + * @param textOption: + * Texto de la opción principal. + * @param criterio: + * "id" or "class" or "text" or "@attribute" or "free". Si el valor + * de criterio es free es una expresion xpath completa. + * @param textoDestino: + * texto correspondiente a la búsqueda de la página destino. + */ + public static void clickOption(WebDriver driver, String textOption, String criterio, String textoDestino) { + // CLickamos en la opción de registro y esperamos a que se cargue el enlace de + // Registro + List elementos = SeleniumUtils.EsperaCargaPagina(driver, "@href", textOption, getTimeout()); + // Tiene que haber un sólo elemento. + assertTrue(elementos.size() == 1); + // Ahora lo clickamos + elementos.get(0).click(); + // Esperamos a que sea visible un elemento concreto + elementos = SeleniumUtils.EsperaCargaPagina(driver, criterio, textoDestino, getTimeout()); + // Tiene que haber un sólo elemento. + //assertTrue(elementos.size() == 1); + } + + /** + * Selecciona el enlace de idioma correspondiente al texto textLanguage + * + * @param driver: + * apuntando al navegador abierto actualmente. + * @param textLanguage: + * el texto que aparece en el enlace de idioma ("English" o + * "Spanish") + */ + public static void changeIdiom(WebDriver driver, String textLanguage) { + // clickamos la opción Idioma. + List elementos = SeleniumUtils.EsperaCargaPagina(driver, "id", "btnLanguage", getTimeout()); + elementos.get(0).click(); + // Esperamos a que aparezca el menú de opciones. + elementos = SeleniumUtils.EsperaCargaPagina(driver, "id", "languageDropdownMenuButton", getTimeout()); + // SeleniumUtils.esperarSegundos(driver, 2); + // CLickamos la opción Inglés partiendo de la opción Español + elementos = SeleniumUtils.EsperaCargaPagina(driver, "id", textLanguage, getTimeout()); + elementos.get(0).click(); + } +} diff --git a/src/test/java/com/uniovi/pageObjects/PO_RegisterView.java b/src/test/java/com/uniovi/pageObjects/PO_RegisterView.java new file mode 100644 index 0000000..c3f199b --- /dev/null +++ b/src/test/java/com/uniovi/pageObjects/PO_RegisterView.java @@ -0,0 +1,57 @@ +package com.uniovi.pageObjects; + +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; + +public class PO_RegisterView extends PO_NavView { + + static public void fillForm(WebDriver driver, String namep, String descriptionp, String locationp, String tagsp, + String additionalInformationp, String propertiesp, String statep, String notificationp, String expirationp, + String assignedTop) { + WebElement name = driver.findElement(By.name("name")); + name.click(); + name.clear(); + name.sendKeys(namep); + WebElement description = driver.findElement(By.name("description")); + description.click(); + description.clear(); + description.sendKeys(descriptionp); + WebElement location = driver.findElement(By.name("location")); + location.click(); + location.clear(); + location.sendKeys(locationp); + WebElement tags = driver.findElement(By.name("tags")); + tags.click(); + tags.clear(); + tags.sendKeys(tagsp); + WebElement additionalInformation = driver.findElement(By.name("additionalInformation")); + additionalInformation.click(); + additionalInformation.clear(); + additionalInformation.sendKeys(additionalInformationp); + WebElement properties = driver.findElement(By.name("properties")); + properties.click(); + properties.clear(); + properties.sendKeys(propertiesp); + WebElement state = driver.findElement(By.name("state")); + state.click(); + state.clear(); + state.sendKeys(statep); + WebElement notification = driver.findElement(By.name("notification")); + notification.click(); + notification.clear(); + notification.sendKeys(notificationp); + WebElement expiration = driver.findElement(By.name("expiration")); + expiration.click(); + expiration.clear(); + expiration.sendKeys(expirationp); + WebElement assignedTo = driver.findElement(By.name("assignedTo")); + assignedTo.click(); + assignedTo.clear(); + assignedTo.sendKeys(assignedTop); + + // Pulsar el boton de Alta. + By boton = By.name("btn"); + driver.findElement(boton).click(); + } +} diff --git a/src/test/java/com/uniovi/pageObjects/PO_View.java b/src/test/java/com/uniovi/pageObjects/PO_View.java new file mode 100644 index 0000000..8db76fd --- /dev/null +++ b/src/test/java/com/uniovi/pageObjects/PO_View.java @@ -0,0 +1,35 @@ +package com.uniovi.pageObjects; + +import java.util.List; + +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; + +import com.uniovi.utils.SeleniumUtils; + +public class PO_View { + + + protected static int timeout = 2; + + public static int getTimeout() { + return timeout; + } + + public static void setTimeout(int timeout) { + PO_View.timeout = timeout; + } + + /** + * Espera por la visibilidad de un elemento/s en la vista actualmente cargandose en driver.. + * + * @param driver: apuntando al navegador abierto actualmente. + * @param type: + * @param text: + * @return Se retornará la lista de elementos resultantes de la búsqueda. + */ + static public List checkElement(WebDriver driver, String type, String text) { + List elementos = SeleniumUtils.EsperaCargaPagina(driver, type, text, getTimeout()); + return elementos; + } +} diff --git a/src/test/java/com/uniovi/utils/SeleniumUtils.java b/src/test/java/com/uniovi/utils/SeleniumUtils.java new file mode 100644 index 0000000..ee7b9d5 --- /dev/null +++ b/src/test/java/com/uniovi/utils/SeleniumUtils.java @@ -0,0 +1,137 @@ +package com.uniovi.utils; + + +import java.util.List; + +import static org.junit.Assert.*; + +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.WebDriverWait; + +public class SeleniumUtils { + + /** + * Aborta si el "texto" no está presente en la página actual + * + * @param driver: + * apuntando al navegador abierto actualmente. + * @param texto: + * texto a buscar + */ + static public void textoPresentePagina(WebDriver driver, String texto) { + List list = driver.findElements(By.xpath("//*[contains(text(),'" + texto + "')]")); + assertTrue("Texto " + texto + " no localizado!", list.size() > 0); + } + + /** + * Aborta si el "texto" está presente en la página actual + * + * @param driver: + * apuntando al navegador abierto actualmente. + * @param texto: + * texto a buscar + */ + static public void textoNoPresentePagina(WebDriver driver, String texto) { + List list = driver.findElements(By.xpath("//*[contains(text(),'" + texto + "')]")); + assertTrue("Texto " + texto + " aun presente !", list.size() == 0); + } + + /** + * Aborta si el "texto" está presente en la página actual tras timeout + * segundos. + * + * @param driver: + * apuntando al navegador abierto actualmente. + * @param texto: + * texto a buscar + * @param timeout: + * el tiempo máximo que se esperará por la aparición del texto a + * buscar + */ + static public void EsperaCargaPaginaNoTexto(WebDriver driver, String texto, int timeout) { + Boolean resultado = (new WebDriverWait(driver, timeout)).until( + ExpectedConditions.invisibilityOfElementLocated(By.xpath("//*[contains(text(),'" + texto + "')]"))); + + assertTrue(resultado); + } + + /** + * Espera por la visibilidad de un elemento/s en la vista actualmente + * cargandose en driver. Para ello se empleará una consulta xpath. + * + * @param driver: + * apuntando al navegador abierto actualmente. + * @param xpath: + * consulta xpath. + * @param timeout: + * el tiempo máximo que se esperará por la aparición del elemento + * a buscar con xpath + * @return Se retornará la lista de elementos resultantes de la búsqueda con + * xpath. + */ + static public List EsperaCargaPaginaxpath(WebDriver driver, String xpath, int timeout) { + WebElement resultado = (new WebDriverWait(driver, timeout)) + .until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpath))); + assertTrue(resultado != null); + List elementos = driver.findElements(By.xpath(xpath)); + + return elementos; + } + + /** + * Espera por la visibilidad de un elemento/s en la vista actualmente + * cargandose en driver. Para ello se empleará una consulta xpath según + * varios criterios.. + * + * @param driver: + * apuntando al navegador abierto actualmente. + * @param criterio: + * "id" or "class" or "text" or "@attribute" or "free". Si el + * valor de criterio es free es una expresion xpath completa. + * @param text: + * texto correspondiente al criterio. + * @param timeout: + * el tiempo máximo que se esperará por la apareción del elemento + * a buscar con criterio/text. + * @return Se retornará la lista de elementos resultantes de la búsqueda. + */ + static public List EsperaCargaPagina(WebDriver driver, String criterio, String text, int timeout) { + String busqueda; + if (criterio.equals("id")) + busqueda = "//*[contains(@id,'" + text + "')]"; + else if (criterio.equals("class")) + busqueda = "//*[contains(@class,'" + text + "')]"; + else if (criterio.equals("text")) + busqueda = "//*[contains(text(),'" + text + "')]"; + else if (criterio.equals("free")) + busqueda = text; + else + busqueda = "//*[contains(" + criterio + ",'" + text + "')]"; + + return EsperaCargaPaginaxpath(driver, busqueda, timeout); + } + + /** + * PROHIBIDO USARLO PARA VERSIÓN FINAL. Esperar "segundos" durante la + * ejecucion del navegador + * + * @param driver: + * apuntando al navegador abierto actualmente. + * @param segundos: + * Segundos de bloqueo de la ejecución en el navegador. + */ + static public void esperarSegundos(WebDriver driver, int segundos) { + + synchronized (driver) { + try { + driver.wait(segundos * 1000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } +} diff --git a/src/test/java/test/MainTest.java b/src/test/java/test/MainTest.java index 957ddaf..96a6bb5 100644 --- a/src/test/java/test/MainTest.java +++ b/src/test/java/test/MainTest.java @@ -1,276 +1,276 @@ -package test; - -import static org.hamcrest.Matchers.equalTo; -import static org.junit.Assert.assertThat; - -import java.net.URL; - -import org.junit.Before; -import org.junit.FixMethodOrder; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.MethodSorters; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.test.IntegrationTest; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.boot.test.TestRestTemplate; -import org.springframework.http.ResponseEntity; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; -import org.springframework.web.client.RestTemplate; - -import asw.Application; -import asw.webService.IncidenceData; - -@SuppressWarnings("deprecation") -@RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = Application.class) -@WebAppConfiguration -@IntegrationTest({ "server.port=0" }) -@FixMethodOrder(MethodSorters.NAME_ASCENDING) -public class MainTest { - - @Value("${local.server.port}") - private int port; - - private URL base; - private RestTemplate template; - - private IncidenceData incidenceData1; - private IncidenceData incidenceData2; - - @Before - public void setUp() throws Exception { - this.base = new URL("http://localhost:" + port + "/"); - template = new TestRestTemplate(); - - String username = "maria@gmail.com"; - String password = "123123"; - - String name = "FUGA GAS"; - String description = "Fuga de gas cocina"; - String location = "gijon"; - String tags = "bombona,gas"; - String additionalInformation = "Butano"; - String properties = "bombona:butano"; - String state = "OPEN"; - String notification = "yes"; - String expireAt = "tomorrowland"; - String assignedTo = "x"; - - incidenceData1 = new IncidenceData(username, password, name, description, location, tags, additionalInformation, - properties, state, notification, expireAt, assignedTo); - - username = "paco@gmail.com"; - password = "123123"; - - name = "Incendio"; - description = "Incendio muy grande"; - location = "Salinas"; - tags = "asd,edf"; - state = "OPEN"; - notification = "yes"; - expireAt = "today"; - assignedTo = "x"; - - incidenceData2 = new IncidenceData(username, password, name, description, location, tags, additionalInformation, - properties, state, notification, expireAt, assignedTo); - - } - - @Test - public void T1emptyIncidentName() { - ResponseEntity response = template.getForEntity(base.toString(), String.class); - String incidenceURI = base.toString() + "/postIncident"; - String emptyName = "{\"reason\": \"Incidence name is required\"}"; - - incidenceData1.setName(""); - incidenceData2.setName(""); - - response = template.postForEntity(incidenceURI, incidenceData1, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - response = template.postForEntity(incidenceURI, incidenceData2, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - } - - @Test - public void T2emptyIncidentDescription() { - ResponseEntity response = template.getForEntity(base.toString(), String.class); - String incidenceURI = base.toString() + "/postIncident"; - String emptyName = "{\"reason\": \"Incidence description is required\"}"; - - incidenceData1.setDescription(""); - incidenceData2.setDescription(""); - - response = template.postForEntity(incidenceURI, incidenceData1, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - response = template.postForEntity(incidenceURI, incidenceData2, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - } - - @Test - public void T3emptyIncidentTags() { - ResponseEntity response = template.getForEntity(base.toString(), String.class); - String incidenceURI = base.toString() + "/postIncident"; - String emptyName = "{\"reason\": \"Incidence tags is required\"}"; - - incidenceData1.setTags(""); - incidenceData2.setTags(""); - - response = template.postForEntity(incidenceURI, incidenceData1, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - response = template.postForEntity(incidenceURI, incidenceData2, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - } - - @Test - public void T4emptyIncidentInformation() { - ResponseEntity response = template.getForEntity(base.toString(), String.class); - String incidenceURI = base.toString() + "/postIncident"; - String emptyName = "{\"reason\": \"Incidence additional information is required\"}"; - - incidenceData1.setAdditionalInformation(""); - incidenceData2.setAdditionalInformation(""); - - response = template.postForEntity(incidenceURI, incidenceData1, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - response = template.postForEntity(incidenceURI, incidenceData2, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - } - - @Test - public void T5emptyIncidentProperties() { - ResponseEntity response = template.getForEntity(base.toString(), String.class); - String incidenceURI = base.toString() + "/postIncident"; - String emptyName = "{\"reason\": \"Incidence properties is required\"}"; - - incidenceData1.setProperties(""); - incidenceData2.setProperties(""); - - response = template.postForEntity(incidenceURI, incidenceData1, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - response = template.postForEntity(incidenceURI, incidenceData2, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - } - - @Test - public void T6emptyIncidentState() { - ResponseEntity response = template.getForEntity(base.toString(), String.class); - String incidenceURI = base.toString() + "/postIncident"; - String emptyName = "{\"reason\": \"Incidence state is required\"}"; - - incidenceData1.setState(""); - incidenceData2.setState(""); - - response = template.postForEntity(incidenceURI, incidenceData1, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - response = template.postForEntity(incidenceURI, incidenceData2, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - } - - @Test - public void T7emptyIncidentNotification() { - ResponseEntity response = template.getForEntity(base.toString(), String.class); - String incidenceURI = base.toString() + "/postIncident"; - String emptyName = "{\"reason\": \"Incidence notification is required\"}"; - - incidenceData1.setNotification(""); - incidenceData2.setNotification(""); - - response = template.postForEntity(incidenceURI, incidenceData1, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - response = template.postForEntity(incidenceURI, incidenceData2, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - } - - @Test - public void T8emptyIncidentExpiration() { - ResponseEntity response = template.getForEntity(base.toString(), String.class); - String incidenceURI = base.toString() + "/postIncident"; - String emptyName = "{\"reason\": \"Incidence expiration is required\"}"; - - incidenceData1.setExpiration(""); - incidenceData2.setExpiration(""); - - response = template.postForEntity(incidenceURI, incidenceData1, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - response = template.postForEntity(incidenceURI, incidenceData2, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - } - - @Test - public void T9emptyIncidentAssignedTo() { - ResponseEntity response = template.getForEntity(base.toString(), String.class); - String incidenceURI = base.toString() + "/postIncident"; - String emptyName = "{\"reason\": \"Incidence assigned to is required\"}"; - - incidenceData1.setAssignedTo(""); - incidenceData2.setAssignedTo(""); - - response = template.postForEntity(incidenceURI, incidenceData1, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - response = template.postForEntity(incidenceURI, incidenceData2, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - } - - @Test - public void T10worngTagsStyle() { - ResponseEntity response = template.getForEntity(base.toString(), String.class); - String incidenceURI = base.toString() + "/postIncident"; - String emptyName = "{\"reason\": \"Wrong tags style\"}"; - - incidenceData1.setTags("xsd , dxxs, xs"); - incidenceData2.setTags("xsd dxxs, xs"); - - response = template.postForEntity(incidenceURI, incidenceData1, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - response = template.postForEntity(incidenceURI, incidenceData2, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - } - - @Test - public void T11worngPropertiesStyle() { - ResponseEntity response = template.getForEntity(base.toString(), String.class); - String incidenceURI = base.toString() + "/postIncident"; - String emptyName = "{\"reason\": \"Wrong properties style\"}"; - - incidenceData1.setProperties("cdsc,vale:xsa"); - incidenceData2.setProperties("xas,xsx ,val:sxa"); - - response = template.postForEntity(incidenceURI, incidenceData1, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - - response = template.postForEntity(incidenceURI, incidenceData2, String.class); - assertThat(response.getBody(), equalTo(emptyName)); - } - - @Test - public void T12AcceptIncident() { - ResponseEntity response = template.getForEntity(base.toString(), String.class); - String incidenceURI = base.toString() + "/postIncident"; - String request1 = "{\"username\":null,\"password\":null,\"name\":\"FUGA GAS\",\"description\":\"Fuga de gas cocina\",\"location\":\"gijon\",\"tags\":\"bombona,gas\",\"additionalInformation\":\"Butano\",\"properties\":\"bombona:butano\",\"state\":\"OPEN\",\"notification\":\"yes\",\"expiration\":\"tomorrowland\",\"assignedTo\":\"x\"}"; - String request2 = "{\"username\":null,\"password\":null,\"name\":\"Incendio\",\"description\":\"Incendio muy grande\",\"location\":\"Salinas\",\"tags\":\"asd,edf\",\"additionalInformation\":\"Butano\",\"properties\":\"bombona:butano\",\"state\":\"OPEN\",\"notification\":\"yes\",\"expiration\":\"today\",\"assignedTo\":\"x\"}"; - - response = template.postForEntity(incidenceURI, incidenceData1, String.class); - assertThat(response.getBody(), equalTo(request1)); - - response = template.postForEntity(incidenceURI, incidenceData2, String.class); - assertThat(response.getBody(), equalTo(request2)); - } - -} +package test; + +import static org.hamcrest.Matchers.equalTo; +import static org.junit.Assert.assertThat; + +import java.net.URL; + +import org.junit.Before; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.MethodSorters; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.test.IntegrationTest; +import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.boot.test.TestRestTemplate; +import org.springframework.http.ResponseEntity; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.web.WebAppConfiguration; +import org.springframework.web.client.RestTemplate; + +import asw.Application; +import asw.webService.IncidenceData; + +@SuppressWarnings("deprecation") +@RunWith(SpringJUnit4ClassRunner.class) +@SpringApplicationConfiguration(classes = Application.class) +@WebAppConfiguration +@IntegrationTest({ "server.port=0" }) +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class MainTest { + + @Value("${local.server.port}") + private int port; + + private URL base; + private RestTemplate template; + + private IncidenceData incidenceData1; + private IncidenceData incidenceData2; + + @Before + public void setUp() throws Exception { + this.base = new URL("http://localhost:" + port + "/"); + template = new TestRestTemplate(); + + String username = "maria@gmail.com"; + String password = "123123"; + + String name = "FUGA GAS"; + String description = "Fuga de gas cocina"; + String location = "gijon"; + String tags = "bombona,gas"; + String additionalInformation = "Butano"; + String properties = "bombona:butano"; + String state = "OPEN"; + String notification = "yes"; + String expireAt = "tomorrowland"; + String assignedTo = "x"; + + incidenceData1 = new IncidenceData(username, password, name, description, location, tags, additionalInformation, + properties, state, notification, expireAt, assignedTo); + + username = "paco@gmail.com"; + password = "123123"; + + name = "Incendio"; + description = "Incendio muy grande"; + location = "Salinas"; + tags = "asd,edf"; + state = "OPEN"; + notification = "yes"; + expireAt = "today"; + assignedTo = "x"; + + incidenceData2 = new IncidenceData(username, password, name, description, location, tags, additionalInformation, + properties, state, notification, expireAt, assignedTo); + + } + + @Test + public void T1emptyIncidentName() { + ResponseEntity response = template.getForEntity(base.toString(), String.class); + String incidenceURI = base.toString() + "/postIncident"; + String emptyName = "{\"reason\": \"Incidence name is required\"}"; + + incidenceData1.setName(""); + incidenceData2.setName(""); + + response = template.postForEntity(incidenceURI, incidenceData1, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + response = template.postForEntity(incidenceURI, incidenceData2, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + } + + @Test + public void T2emptyIncidentDescription() { + ResponseEntity response = template.getForEntity(base.toString(), String.class); + String incidenceURI = base.toString() + "/postIncident"; + String emptyName = "{\"reason\": \"Incidence description is required\"}"; + + incidenceData1.setDescription(""); + incidenceData2.setDescription(""); + + response = template.postForEntity(incidenceURI, incidenceData1, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + response = template.postForEntity(incidenceURI, incidenceData2, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + } + + @Test + public void T3emptyIncidentTags() { + ResponseEntity response = template.getForEntity(base.toString(), String.class); + String incidenceURI = base.toString() + "/postIncident"; + String emptyName = "{\"reason\": \"Incidence tags is required\"}"; + + incidenceData1.setTags(""); + incidenceData2.setTags(""); + + response = template.postForEntity(incidenceURI, incidenceData1, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + response = template.postForEntity(incidenceURI, incidenceData2, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + } + + @Test + public void T4emptyIncidentInformation() { + ResponseEntity response = template.getForEntity(base.toString(), String.class); + String incidenceURI = base.toString() + "/postIncident"; + String emptyName = "{\"reason\": \"Incidence additional information is required\"}"; + + incidenceData1.setAdditionalInformation(""); + incidenceData2.setAdditionalInformation(""); + + response = template.postForEntity(incidenceURI, incidenceData1, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + response = template.postForEntity(incidenceURI, incidenceData2, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + } + + @Test + public void T5emptyIncidentProperties() { + ResponseEntity response = template.getForEntity(base.toString(), String.class); + String incidenceURI = base.toString() + "/postIncident"; + String emptyName = "{\"reason\": \"Incidence properties is required\"}"; + + incidenceData1.setProperties(""); + incidenceData2.setProperties(""); + + response = template.postForEntity(incidenceURI, incidenceData1, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + response = template.postForEntity(incidenceURI, incidenceData2, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + } + + @Test + public void T6emptyIncidentState() { + ResponseEntity response = template.getForEntity(base.toString(), String.class); + String incidenceURI = base.toString() + "/postIncident"; + String emptyName = "{\"reason\": \"Incidence state is required\"}"; + + incidenceData1.setState(""); + incidenceData2.setState(""); + + response = template.postForEntity(incidenceURI, incidenceData1, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + response = template.postForEntity(incidenceURI, incidenceData2, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + } + + @Test + public void T7emptyIncidentNotification() { + ResponseEntity response = template.getForEntity(base.toString(), String.class); + String incidenceURI = base.toString() + "/postIncident"; + String emptyName = "{\"reason\": \"Incidence notification is required\"}"; + + incidenceData1.setNotification(""); + incidenceData2.setNotification(""); + + response = template.postForEntity(incidenceURI, incidenceData1, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + response = template.postForEntity(incidenceURI, incidenceData2, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + } + + @Test + public void T8emptyIncidentExpiration() { + ResponseEntity response = template.getForEntity(base.toString(), String.class); + String incidenceURI = base.toString() + "/postIncident"; + String emptyName = "{\"reason\": \"Incidence expiration is required\"}"; + + incidenceData1.setExpiration(""); + incidenceData2.setExpiration(""); + + response = template.postForEntity(incidenceURI, incidenceData1, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + response = template.postForEntity(incidenceURI, incidenceData2, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + } + + @Test + public void T9emptyIncidentAssignedTo() { + ResponseEntity response = template.getForEntity(base.toString(), String.class); + String incidenceURI = base.toString() + "/postIncident"; + String emptyName = "{\"reason\": \"Incidence assigned to is required\"}"; + + incidenceData1.setAssignedTo(""); + incidenceData2.setAssignedTo(""); + + response = template.postForEntity(incidenceURI, incidenceData1, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + response = template.postForEntity(incidenceURI, incidenceData2, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + } + + @Test + public void T10worngTagsStyle() { + ResponseEntity response = template.getForEntity(base.toString(), String.class); + String incidenceURI = base.toString() + "/postIncident"; + String emptyName = "{\"reason\": \"Wrong tags style\"}"; + + incidenceData1.setTags("xsd , dxxs, xs"); + incidenceData2.setTags("xsd dxxs, xs"); + + response = template.postForEntity(incidenceURI, incidenceData1, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + response = template.postForEntity(incidenceURI, incidenceData2, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + } + + @Test + public void T11worngPropertiesStyle() { + ResponseEntity response = template.getForEntity(base.toString(), String.class); + String incidenceURI = base.toString() + "/postIncident"; + String emptyName = "{\"reason\": \"Wrong properties style\"}"; + + incidenceData1.setProperties("cdsc,vale:xsa"); + incidenceData2.setProperties("xas,xsx ,val:sxa"); + + response = template.postForEntity(incidenceURI, incidenceData1, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + + response = template.postForEntity(incidenceURI, incidenceData2, String.class); + assertThat(response.getBody(), equalTo(emptyName)); + } + + @Test + public void T12AcceptIncident() { + ResponseEntity response = template.getForEntity(base.toString(), String.class); + String incidenceURI = base.toString() + "/postIncident"; + String request1 = "{\"username\":null,\"password\":null,\"name\":\"FUGA GAS\",\"description\":\"Fuga de gas cocina\",\"location\":\"gijon\",\"tags\":\"bombona,gas\",\"additionalInformation\":\"Butano\",\"properties\":\"bombona:butano\",\"state\":\"OPEN\",\"notification\":\"yes\",\"expiration\":\"tomorrowland\",\"assignedTo\":\"x\"}"; + String request2 = "{\"username\":null,\"password\":null,\"name\":\"Incendio\",\"description\":\"Incendio muy grande\",\"location\":\"Salinas\",\"tags\":\"asd,edf\",\"additionalInformation\":\"Butano\",\"properties\":\"bombona:butano\",\"state\":\"OPEN\",\"notification\":\"yes\",\"expiration\":\"today\",\"assignedTo\":\"x\"}"; + + response = template.postForEntity(incidenceURI, incidenceData1, String.class); + assertThat(response.getBody(), equalTo(request1)); + + response = template.postForEntity(incidenceURI, incidenceData2, String.class); + assertThat(response.getBody(), equalTo(request2)); + } + +}