diff --git a/dashboard-ui/scripts/editorsidebar.js b/dashboard-ui/scripts/editorsidebar.js index 52cb373d8a..b11e5557b2 100644 --- a/dashboard-ui/scripts/editorsidebar.js +++ b/dashboard-ui/scripts/editorsidebar.js @@ -488,10 +488,10 @@ var deferred = DeferredBuilder.Deferred(); require([ - 'thirdparty/jstree3.0.8/jstree.min' + 'bower_components/jstree/dist/jstree.min' ], function () { - Dashboard.importCss('thirdparty/jstree3.0.8/themes/default/style.min.css'); + Dashboard.importCss('thirdparty/jstree/themes/default/style.min.css'); deferred.resolve(); }); return deferred.promise(); diff --git a/dashboard-ui/strings/html/ar.json b/dashboard-ui/strings/html/ar.json index 2e416e69e3..ef0d2f8495 100644 --- a/dashboard-ui/strings/html/ar.json +++ b/dashboard-ui/strings/html/ar.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/bg-BG.json b/dashboard-ui/strings/html/bg-BG.json index 34a03b2a50..8e53e4dee1 100644 --- a/dashboard-ui/strings/html/bg-BG.json +++ b/dashboard-ui/strings/html/bg-BG.json @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/ca.json b/dashboard-ui/strings/html/ca.json index 353f412f28..a271f125ea 100644 --- a/dashboard-ui/strings/html/ca.json +++ b/dashboard-ui/strings/html/ca.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/cs.json b/dashboard-ui/strings/html/cs.json index fe9cd0bd03..48145ea1d7 100644 --- a/dashboard-ui/strings/html/cs.json +++ b/dashboard-ui/strings/html/cs.json @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/da.json b/dashboard-ui/strings/html/da.json index 64a5701bb7..a4ef69021f 100644 --- a/dashboard-ui/strings/html/da.json +++ b/dashboard-ui/strings/html/da.json @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/de.json b/dashboard-ui/strings/html/de.json index 361a48558f..c482d79afa 100644 --- a/dashboard-ui/strings/html/de.json +++ b/dashboard-ui/strings/html/de.json @@ -1443,7 +1443,7 @@ "ButtonUnlockGuide": "Guide freischalten", "LabelEnableFullScreen": "Aktiviere Vollbild", "LabelEnableChromecastAc3Passthrough": "Aktiviere direkte Chromcast AC3 Weiterleitung", - "OptionSyncToSDCard": "Synced to external SD card", + "OptionSyncToSDCard": "Synchronisiert auf externe SD Karte", "LabelEmail": "Email:", "LabelUsername": "Benutzername:", "HeaderSignUp": "Anmelden", @@ -1464,25 +1464,35 @@ "ButtonAddDevice": "Ger\u00e4t hinzuf\u00fcgen", "HeaderAddDevice": "Ger\u00e4t hinzuf\u00fcgen", "HeaderExternalServices": "Externe Dienste", - "LabelTunerIpAddress": "Tuner IP Address:", + "LabelTunerIpAddress": "Tuner IP Adresse:", "TabExternalServices": "Externe Dienste", "TabTuners": "Tuner", "HeaderGuideProviders": "Fernsehprogramm Quellen", "AddGuideProviderHelp": "Fernsehprogramm Quelle hinzuf\u00fcgen", "LabelZipCode": "PLZ:", - "GuideProviderSelectListings": "Select Listings", - "GuideProviderLogin": "Login", + "GuideProviderSelectListings": "W\u00e4hle Listen", + "GuideProviderLogin": "Anmelden", "LabelLineup": "Fernsehprogramm", "MessageTunerDeviceNotListed": "Wird Ihr Tuner hier nicht angezeigt? Installieren Sie ein externe externe Live TV Erweiterung f\u00fcr mehr Funktionen.", - "LabelImportOnlyFavoriteChannels": "Restrict to channels marked as favorite", - "ImportFavoriteChannelsHelp": "If enabled, only channels that are marked as favorite on the tuner device will be imported.", - "ButtonRepeat": "Repeat", - "LabelEnableThisTuner": "Enable this tuner", - "LabelEnableThisTunerHelp": "Uncheck to prevent importing channels from this tuner.", - "HeaderLocked": "Locked", - "HeaderUnidentified": "Unidentified", - "HeaderImagePrimary": "Primary", - "HeaderImageBackdrop": "Backdrop", + "LabelImportOnlyFavoriteChannels": "Beschr\u00e4nke auf favorisierte Kan\u00e4le", + "ImportFavoriteChannelsHelp": "Wenn aktiviert, werden nur auf dem Tuner favorisierte Kan\u00e4le importiert.", + "ButtonRepeat": "Wiederholen", + "LabelEnableThisTuner": "Aktiviere diesen Tuner", + "LabelEnableThisTunerHelp": "Abw\u00e4hlen um das importieren von Kan\u00e4len dieses Tuners zu verhindern", + "HeaderLocked": "Blockiert", + "HeaderUnidentified": "Nicht identifiziert", + "HeaderImagePrimary": "Bevorzugt", + "HeaderImageBackdrop": "Hintergrund", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "Benutzerbild", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/el.json b/dashboard-ui/strings/html/el.json index e7d06e7f98..6be69a51e9 100644 --- a/dashboard-ui/strings/html/el.json +++ b/dashboard-ui/strings/html/el.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "\u0391\u03c5\u03c4\u03cc\u03bc\u03b1\u03c4\u03b5\u03c2 \u0395\u03bd\u03b7\u03bc\u03b5\u03c1\u03ce\u03c3\u03b5\u03b9\u03c2", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/en-GB.json b/dashboard-ui/strings/html/en-GB.json index 75a67150b7..f4645f65d5 100644 --- a/dashboard-ui/strings/html/en-GB.json +++ b/dashboard-ui/strings/html/en-GB.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/en-US.json b/dashboard-ui/strings/html/en-US.json index ebfcabff6b..c62da99e7e 100644 --- a/dashboard-ui/strings/html/en-US.json +++ b/dashboard-ui/strings/html/en-US.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/es-AR.json b/dashboard-ui/strings/html/es-AR.json index 131c7986a4..56fa88342b 100644 --- a/dashboard-ui/strings/html/es-AR.json +++ b/dashboard-ui/strings/html/es-AR.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/es-MX.json b/dashboard-ui/strings/html/es-MX.json index 920e499a93..b2f1df590d 100644 --- a/dashboard-ui/strings/html/es-MX.json +++ b/dashboard-ui/strings/html/es-MX.json @@ -883,7 +883,7 @@ "LabelEnableThemeSongs": "Habilitar canciones de tema", "LabelEnableBackdrops": "Habilitar im\u00e1genes de fondo", "LabelEnableThemeSongsHelp": "Al activarse, las canciones de tema ser\u00e1n reproducidas en segundo plano mientras se navega en la biblioteca.", - "LabelEnableBackdropsHelp": "Al activarse, las im\u00e1genes de fondo ser\u00e1n mostradas en el fondo de algunas paginas mientras se navega en la biblioteca.", + "LabelEnableBackdropsHelp": "Si est\u00e1 activado, las im\u00e1genes de fondo ser\u00e1n mostradas en el fondo de algunas paginas mientras se navega en la biblioteca.", "HeaderHomePage": "P\u00e1gina de Inicio", "HeaderSettingsForThisDevice": "Configuraci\u00f3n de Este Dispositivo", "OptionAuto": "Autom\u00e1tico", @@ -1458,7 +1458,7 @@ "HeaderOverview": "Resumen", "HeaderShortOverview": "Sinopsis corta:", "HeaderType": "Tipo", - "HeaderSeverity": "Intensidad", + "HeaderSeverity": "Severidad", "OptionReportActivities": "Bit\u00e1cora de Actividades", "HeaderTunerDevices": "Sintonizadores", "ButtonAddDevice": "Agregar Dispositivo", @@ -1477,12 +1477,22 @@ "LabelImportOnlyFavoriteChannels": "Restringir a canales marcados como favoritos", "ImportFavoriteChannelsHelp": "Si se habilita, solo los canales marcados como favoritos en el dispositivo sintonizador ser\u00e1n importados.", "ButtonRepeat": "Repetir", - "LabelEnableThisTuner": "Enable this tuner", - "LabelEnableThisTunerHelp": "Uncheck to prevent importing channels from this tuner.", - "HeaderLocked": "Locked", - "HeaderUnidentified": "Unidentified", - "HeaderImagePrimary": "Primary", - "HeaderImageBackdrop": "Backdrop", + "LabelEnableThisTuner": "Habilitar este sintonizador", + "LabelEnableThisTunerHelp": "Quitar selecci\u00f3n para evitar importar canales de este dispositivo.", + "HeaderLocked": "Bloqueado", + "HeaderUnidentified": "No Identificado", + "HeaderImagePrimary": "Principal", + "HeaderImageBackdrop": "Imagen de Fondo", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "Imagen de Usuario", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/es.json b/dashboard-ui/strings/html/es.json index 8855cb0c63..52273e47db 100644 --- a/dashboard-ui/strings/html/es.json +++ b/dashboard-ui/strings/html/es.json @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/fi.json b/dashboard-ui/strings/html/fi.json index 28240e7ea7..ad8e81d2d4 100644 --- a/dashboard-ui/strings/html/fi.json +++ b/dashboard-ui/strings/html/fi.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/fr.json b/dashboard-ui/strings/html/fr.json index 3c33f12bb6..2cca99a56b 100644 --- a/dashboard-ui/strings/html/fr.json +++ b/dashboard-ui/strings/html/fr.json @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primaire", "HeaderImageBackdrop": "Contexte", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "Avatar de l'utilisateur" + "HeaderUserPrimaryImage": "Avatar de l'utilisateur", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/gsw.json b/dashboard-ui/strings/html/gsw.json index 3e00e4eb90..ec5378136e 100644 --- a/dashboard-ui/strings/html/gsw.json +++ b/dashboard-ui/strings/html/gsw.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/he.json b/dashboard-ui/strings/html/he.json index 2e59de1ec4..5911c9fda3 100644 --- a/dashboard-ui/strings/html/he.json +++ b/dashboard-ui/strings/html/he.json @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/hr.json b/dashboard-ui/strings/html/hr.json index 284f30ab06..eae8d7f754 100644 --- a/dashboard-ui/strings/html/hr.json +++ b/dashboard-ui/strings/html/hr.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/it.json b/dashboard-ui/strings/html/it.json index 852369d2d9..9f13fc8baf 100644 --- a/dashboard-ui/strings/html/it.json +++ b/dashboard-ui/strings/html/it.json @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/kk.json b/dashboard-ui/strings/html/kk.json index 0e08b1ad0f..f68bd556a8 100644 --- a/dashboard-ui/strings/html/kk.json +++ b/dashboard-ui/strings/html/kk.json @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/ko.json b/dashboard-ui/strings/html/ko.json index 9582ca8918..3e48aa5242 100644 --- a/dashboard-ui/strings/html/ko.json +++ b/dashboard-ui/strings/html/ko.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/ms.json b/dashboard-ui/strings/html/ms.json index 48439c574b..ea20997d1f 100644 --- a/dashboard-ui/strings/html/ms.json +++ b/dashboard-ui/strings/html/ms.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/nb.json b/dashboard-ui/strings/html/nb.json index e7e4288c4a..50374668be 100644 --- a/dashboard-ui/strings/html/nb.json +++ b/dashboard-ui/strings/html/nb.json @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/nl.json b/dashboard-ui/strings/html/nl.json index 0fc5335ae0..101dd6daaf 100644 --- a/dashboard-ui/strings/html/nl.json +++ b/dashboard-ui/strings/html/nl.json @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/pl.json b/dashboard-ui/strings/html/pl.json index c40710f00f..e1c557c98a 100644 --- a/dashboard-ui/strings/html/pl.json +++ b/dashboard-ui/strings/html/pl.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/pt-BR.json b/dashboard-ui/strings/html/pt-BR.json index 3fe9591152..e1c0f9e9f8 100644 --- a/dashboard-ui/strings/html/pt-BR.json +++ b/dashboard-ui/strings/html/pt-BR.json @@ -1477,12 +1477,22 @@ "LabelImportOnlyFavoriteChannels": "Restringir a canais marcados como favoritos", "ImportFavoriteChannelsHelp": "Se ativado, apenas canais que est\u00e3o marcados como favoritos no sintonizador ser\u00e3o importados.", "ButtonRepeat": "Repetir", - "LabelEnableThisTuner": "Enable this tuner", - "LabelEnableThisTunerHelp": "Uncheck to prevent importing channels from this tuner.", - "HeaderLocked": "Locked", - "HeaderUnidentified": "Unidentified", - "HeaderImagePrimary": "Primary", - "HeaderImageBackdrop": "Backdrop", + "LabelEnableThisTuner": "Ativar este sintonizador", + "LabelEnableThisTunerHelp": "Desmarque para impedir a importa\u00e7\u00e3o de canais deste sintonizador.", + "HeaderLocked": "Travado", + "HeaderUnidentified": "N\u00e3o-identificado", + "HeaderImagePrimary": "Principal", + "HeaderImageBackdrop": "Imagem de Fundo", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "Imagem do Usu\u00e1rio", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/pt-PT.json b/dashboard-ui/strings/html/pt-PT.json index 2669d5c4e0..e8592947de 100644 --- a/dashboard-ui/strings/html/pt-PT.json +++ b/dashboard-ui/strings/html/pt-PT.json @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/ro.json b/dashboard-ui/strings/html/ro.json index 575eb59872..3f1b311ef5 100644 --- a/dashboard-ui/strings/html/ro.json +++ b/dashboard-ui/strings/html/ro.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/ru.json b/dashboard-ui/strings/html/ru.json index d4b8d4d154..1dd01d9fba 100644 --- a/dashboard-ui/strings/html/ru.json +++ b/dashboard-ui/strings/html/ru.json @@ -1477,12 +1477,22 @@ "LabelImportOnlyFavoriteChannels": "\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u043a\u0430\u043d\u0430\u043b\u0430\u043c\u0438 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u043a\u0430\u043a \u0438\u0437\u0431\u0440\u0430\u043d\u043d\u043e\u0435", "ImportFavoriteChannelsHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0431\u0443\u0434\u0443\u0442 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u043d\u0430\u043b\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u043a\u0430\u043a \u0438\u0437\u0431\u0440\u0430\u043d\u043d\u043e\u0435 \u043d\u0430 \u0442\u044e\u043d\u0435\u0440\u043d\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435.", "ButtonRepeat": "\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c", - "LabelEnableThisTuner": "Enable this tuner", - "LabelEnableThisTunerHelp": "Uncheck to prevent importing channels from this tuner.", - "HeaderLocked": "Locked", - "HeaderUnidentified": "Unidentified", - "HeaderImagePrimary": "Primary", - "HeaderImageBackdrop": "Backdrop", - "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "LabelEnableThisTuner": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0442\u044e\u043d\u0435\u0440", + "LabelEnableThisTunerHelp": "\u0421\u043d\u0438\u043c\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0438\u043c\u043f\u043e\u0440\u0442 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0438\u0437 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u044e\u043d\u0435\u0440\u0430.", + "HeaderLocked": "\u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043e", + "HeaderUnidentified": "\u041d\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043e", + "HeaderImagePrimary": "\u041f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0439", + "HeaderImageBackdrop": "\u0417\u0430\u0434\u043d\u0438\u043a", + "HeaderImageLogo": "\u041b\u043e\u0433\u043e\u0442\u0438\u043f", + "HeaderUserPrimaryImage": "\u0420\u0438\u0441\u0443\u043d\u043e\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/sl-SI.json b/dashboard-ui/strings/html/sl-SI.json index 525f9e9789..ef8e0473d0 100644 --- a/dashboard-ui/strings/html/sl-SI.json +++ b/dashboard-ui/strings/html/sl-SI.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/sv.json b/dashboard-ui/strings/html/sv.json index edc79607d0..3ef8ca96f5 100644 --- a/dashboard-ui/strings/html/sv.json +++ b/dashboard-ui/strings/html/sv.json @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/tr.json b/dashboard-ui/strings/html/tr.json index 693a16c0c9..525d09ff83 100644 --- a/dashboard-ui/strings/html/tr.json +++ b/dashboard-ui/strings/html/tr.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/uk.json b/dashboard-ui/strings/html/uk.json index daf923a11a..69eaa2da49 100644 --- a/dashboard-ui/strings/html/uk.json +++ b/dashboard-ui/strings/html/uk.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/vi.json b/dashboard-ui/strings/html/vi.json index 477fb2da2f..09d183d14a 100644 --- a/dashboard-ui/strings/html/vi.json +++ b/dashboard-ui/strings/html/vi.json @@ -369,9 +369,9 @@ "LabelAutomaticUpdates": "Enable automatic updates", "LabelAutomaticUpdatesTmdb": "Enable automatic updates from TheMovieDB.org", "LabelAutomaticUpdatesTvdb": "Enable automatic updates from TheTVDB.com", - "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.", - "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.", - "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.", + "LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", + "LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced. This will cause library scans to take longer and will result in more disk activity.", "LabelFanartApiKey": "Personal api key:", "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.", "ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/zh-CN.json b/dashboard-ui/strings/html/zh-CN.json index 75d307decf..6c0e0a3b6a 100644 --- a/dashboard-ui/strings/html/zh-CN.json +++ b/dashboard-ui/strings/html/zh-CN.json @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/html/zh-TW.json b/dashboard-ui/strings/html/zh-TW.json index e521055e94..a16965a8e9 100644 --- a/dashboard-ui/strings/html/zh-TW.json +++ b/dashboard-ui/strings/html/zh-TW.json @@ -1484,5 +1484,15 @@ "HeaderImagePrimary": "Primary", "HeaderImageBackdrop": "Backdrop", "HeaderImageLogo": "Logo", - "HeaderUserPrimaryImage": "User Image" + "HeaderUserPrimaryImage": "User Image", + "ButtonDisplaySettings": "Display settings", + "ButtonHomeScreenSettings": "Home screen settings", + "ButtonPlaybackSettings": "Playback settings", + "ButtonProfile": "Profile", + "ButtonDisplaySettingsHelp": "Your Emby display settings", + "ButtonHomeScreenSettingsHelp": "Configure the display of your home screen", + "ButtonPlaybackSettingsHelp": "Specify your audio and subtitle preferences, streaming quality, and more.", + "ButtonProfileHelp": "Set your profile image and password.", + "HeaderHomeScreenSettings": "Home Screen Settings", + "HeaderProfile": "Profile" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/ar.json b/dashboard-ui/strings/javascript/ar.json index bf7b70e993..5be35be0cf 100644 --- a/dashboard-ui/strings/javascript/ar.json +++ b/dashboard-ui/strings/javascript/ar.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/be-BY.json b/dashboard-ui/strings/javascript/be-BY.json index 698da065fa..af0265be8b 100644 --- a/dashboard-ui/strings/javascript/be-BY.json +++ b/dashboard-ui/strings/javascript/be-BY.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/bg-BG.json b/dashboard-ui/strings/javascript/bg-BG.json index 846b3bc0ba..0e8e9e2404 100644 --- a/dashboard-ui/strings/javascript/bg-BG.json +++ b/dashboard-ui/strings/javascript/bg-BG.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/ca.json b/dashboard-ui/strings/javascript/ca.json index 1a3a321860..f151219ef7 100644 --- a/dashboard-ui/strings/javascript/ca.json +++ b/dashboard-ui/strings/javascript/ca.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/cs.json b/dashboard-ui/strings/javascript/cs.json index 6f4453f5a6..80ff9ab01d 100644 --- a/dashboard-ui/strings/javascript/cs.json +++ b/dashboard-ui/strings/javascript/cs.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/da.json b/dashboard-ui/strings/javascript/da.json index 124228dc20..28619983b9 100644 --- a/dashboard-ui/strings/javascript/da.json +++ b/dashboard-ui/strings/javascript/da.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/de.json b/dashboard-ui/strings/javascript/de.json index ed5a7e67fa..d5cd050d9c 100644 --- a/dashboard-ui/strings/javascript/de.json +++ b/dashboard-ui/strings/javascript/de.json @@ -287,7 +287,7 @@ "HeaderSelectPath": "Verzeichnis W\u00e4hlen", "ButtonNetwork": "Netzwerk", "MessageDirectoryPickerInstruction": "Falls der Netzwerk Button deine Endger\u00e4te nicht automatisch findet, kannst du deren Netzwerkpfade auch manuell eintragen. Zum Beispiel {0} oder {1}.", - "MessageDirectoryPickerBSDInstruction": "For BSD, you may need to configure storage within your FreeNAS Jail in order to allow Emby to access it.", + "MessageDirectoryPickerBSDInstruction": "F\u00fcr BSD m\u00fcssen Sie ggf. Speicherplatz auf Ihrem FreeNAS Jail f\u00fcr Empby freigeben.", "HeaderMenu": "Men\u00fc", "ButtonOpen": "\u00d6ffnen", "ButtonOpenInNewTab": "\u00d6ffne in neuem Tab", @@ -815,11 +815,12 @@ "ErrorAddingTunerDevice": "Es trat ein Fehler beim hinzuf\u00fcgen eines Tuners auf. Bitte stellen Sie sicher das dieser erreichbar ist und versuchen Sie es erneut.", "ErrorSavingTvProvider": "Ein Fehler beim speichern des TV Verzeichnisses trat auf. Bitte stellen Sie sicher das dieser erreichbar ist und versuchen Sie es erneut.", "ErrorGettingTvLineups": "Ein Fehler beim herunterladen des TV Programms trat auf. Bitte stellen Sie sicher das Benutzername und Passwort korrekt sind und versuchen Sie es erneut.", - "MessageCreateAccountAt": "Create an account at {0}", - "ErrorPleaseSelectLineup": "Please select a lineup and try again. If no lineups are available, then please check that your username, password, and postal code is correct.", - "HeaderTryCinemaMode": "Try Cinema Mode", - "ButtonBecomeSupporter": "Become an Emby Supporter", - "ButtonClosePlayVideo": "Close and play my media", - "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageCreateAccountAt": "Erstellen Sie ein Konto bei {0}", + "ErrorPleaseSelectLineup": "Bitte w\u00e4hlen Sie ein TV Programm und versuchen Sie es erneut. Wenn keine Programme verf\u00fcgbar sind pr\u00fcfen Sie bitte Benutzername, Passwort und Ihre Postleitzahl.", + "HeaderTryCinemaMode": "Versuche Kino Modus", + "ButtonBecomeSupporter": "Werde ein Emby Unterst\u00fctzer", + "ButtonClosePlayVideo": "Schlie\u00dfe und starte meine Medien", + "MessageDidYouKnowCinemaMode": "Wussten Sie es schon? Wenn Sie ein Emby Unterst\u00fctzer sind k\u00f6nnen Sie den Komfort von Emby mit Funktionen wie dem Kino Modus erweitern.", + "MessageDidYouKnowCinemaMode2": "Der Kino-Modus bringt ihnen das richtige Kino-Erlebnis nach Hause, mit Trailern und eigenen Intros vor Ihrem Hauptfilm.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/el.json b/dashboard-ui/strings/javascript/el.json index 6dcad749b9..a89d91989d 100644 --- a/dashboard-ui/strings/javascript/el.json +++ b/dashboard-ui/strings/javascript/el.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/en-GB.json b/dashboard-ui/strings/javascript/en-GB.json index 08aaf4f790..33ff552af0 100644 --- a/dashboard-ui/strings/javascript/en-GB.json +++ b/dashboard-ui/strings/javascript/en-GB.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/en-US.json b/dashboard-ui/strings/javascript/en-US.json index 698da065fa..af0265be8b 100644 --- a/dashboard-ui/strings/javascript/en-US.json +++ b/dashboard-ui/strings/javascript/en-US.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/es-AR.json b/dashboard-ui/strings/javascript/es-AR.json index fb51a6f3d2..0359234622 100644 --- a/dashboard-ui/strings/javascript/es-AR.json +++ b/dashboard-ui/strings/javascript/es-AR.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/es-MX.json b/dashboard-ui/strings/javascript/es-MX.json index 833379771f..edbceb311b 100644 --- a/dashboard-ui/strings/javascript/es-MX.json +++ b/dashboard-ui/strings/javascript/es-MX.json @@ -70,10 +70,10 @@ "LabelMovie": "Pel\u00edcula", "LabelMusicVideo": "Video Musical", "LabelEpisode": "Episodio", - "LabelSeries": "Series", + "LabelSeries": "Series:", "LabelStopping": "Deteniendo", "LabelCancelled": "(cancelado)", - "LabelFailed": "(Fallido)", + "LabelFailed": "Fallido", "ButtonHelp": "Ayuda", "ButtonSave": "Guardar", "ButtonDownload": "Descargar", @@ -142,13 +142,13 @@ "ButtonMute": "Mudo", "ButtonUnmute": "Quitar mudo", "ButtonStop": "Detener", - "ButtonNextTrack": "Pista Siguiente", + "ButtonNextTrack": "Pista siguiente", "ButtonPause": "Pausar", "ButtonPlay": "Reproducir", "ButtonEdit": "Editar", "ButtonQueue": "A cola", "ButtonPlaylist": "Lista de Reprod.", - "ButtonPreviousTrack": "Pista Anterior", + "ButtonPreviousTrack": "Pista anterior", "LabelEnabled": "Habilitado", "LabelDisabled": "Desactivado", "ButtonMoreInformation": "Mas Informaci\u00f3n", @@ -211,7 +211,7 @@ "HeaderMyViews": "Mis Vistas", "HeaderLibraryFolders": "Carpetas de Medios", "HeaderLatestMedia": "Agregadas Recientemente", - "ButtonMoreItems": "M\u00e1s...", + "ButtonMoreItems": "M\u00e1s", "ButtonMore": "M\u00e1s", "HeaderFavoriteMovies": "Pel\u00edculas Preferidas", "HeaderFavoriteShows": "Programas Preferidos", @@ -287,7 +287,7 @@ "HeaderSelectPath": "Seleccionar Trayectoria", "ButtonNetwork": "Red", "MessageDirectoryPickerInstruction": "Las rutas de red pueden ser introducidas manualmente en caso de que el bot\u00f3n de Red no pueda localizar sus dispositivos. Por ejemplo, {0} or {1}.", - "MessageDirectoryPickerBSDInstruction": "For BSD, you may need to configure storage within your FreeNAS Jail in order to allow Emby to access it.", + "MessageDirectoryPickerBSDInstruction": "Para BSD, quiz\u00e1s necesite configurar el almacenamiento dentro de su \"FreeNAS Jail\" de manera que permita a Emby accesarlo.", "HeaderMenu": "Men\u00fa", "ButtonOpen": "Abrir", "ButtonOpenInNewTab": "Abrir en una pesta\u00f1a nueva", @@ -410,8 +410,8 @@ "TabAdvanced": "Avanzado", "TabHelp": "Ayuda", "TabScheduledTasks": "Tareas Programadas", - "ButtonFullscreen": "Pantalla completa", - "ButtonAudioTracks": "Pistas de Audio", + "ButtonFullscreen": "Alternar pantalla completa", + "ButtonAudioTracks": "Pistas de audio", "ButtonSubtitles": "Subt\u00edtulos", "ButtonScenes": "Escenas", "ButtonQuality": "Calidad", @@ -625,7 +625,7 @@ "HeaderAlbums": "\u00c1lbumes", "HeaderGames": "Juegos", "HeaderBooks": "Libros", - "HeaderEpisodes": "Episodios", + "HeaderEpisodes": "Episodios:", "HeaderSeasons": "Temporadas", "HeaderTracks": "Pistas", "HeaderItems": "\u00cdtems", @@ -819,7 +819,8 @@ "ErrorPleaseSelectLineup": "Por favor seleccione una programaci\u00f3n e intente de nuevo. Si no hay disponible ninguna, entonces por favor verifique que su nombre de usuario, contrase\u00f1a, y c\u00f3digo postal sean correctos.", "HeaderTryCinemaMode": "Intente el Modo Cine", "ButtonBecomeSupporter": "Convi\u00e9rtase en un Fan\u00e1tico Emby", - "ButtonClosePlayVideo": "Cerrar y reproducir mi video", + "ButtonClosePlayVideo": "Cerrar y reproducir mi medio", "MessageDidYouKnowCinemaMode": "\u00bfSabia que volvi\u00e9ndose un Fan\u00e1tico Emby, puede mejorar su experiencia con caracter\u00edsticas como el Modo Cine?", - "MessageDidYouKnowCinemaMode2": "El Modo Cine le da una verdadera experiencia de cine con trailers e intros personalizados antes de la presentaci\u00f3n estelar." + "MessageDidYouKnowCinemaMode2": "El Modo Cine le da una verdadera experiencia de cine con trailers e intros personalizados antes de la presentaci\u00f3n estelar.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/es-VE.json b/dashboard-ui/strings/javascript/es-VE.json index 698da065fa..af0265be8b 100644 --- a/dashboard-ui/strings/javascript/es-VE.json +++ b/dashboard-ui/strings/javascript/es-VE.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/es.json b/dashboard-ui/strings/javascript/es.json index 81d1d9baa7..98afc174cb 100644 --- a/dashboard-ui/strings/javascript/es.json +++ b/dashboard-ui/strings/javascript/es.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/fi.json b/dashboard-ui/strings/javascript/fi.json index 894a24c25f..aad4900d04 100644 --- a/dashboard-ui/strings/javascript/fi.json +++ b/dashboard-ui/strings/javascript/fi.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/fr.json b/dashboard-ui/strings/javascript/fr.json index 268f5bb757..51ce0fec85 100644 --- a/dashboard-ui/strings/javascript/fr.json +++ b/dashboard-ui/strings/javascript/fr.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Devenez supporteur Emby", "ButtonClosePlayVideo": "Fermer et lire mon m\u00e9dia", "MessageDidYouKnowCinemaMode": "Saviez-vous qu'en devenant membre supporteur Emby, vous pouvez am\u00e9liorer votre exp\u00e9rience utilisateur avec des fonctionnalit\u00e9s comme le mode Cin\u00e9ma ?", - "MessageDidYouKnowCinemaMode2": "Le mode Cin\u00e9ma vous apporte une vraie exp\u00e9rience utilisateur de cin\u00e9ma, avec les bandes-annonces et les intros personnalis\u00e9es avant le film principal." + "MessageDidYouKnowCinemaMode2": "Le mode Cin\u00e9ma vous apporte une vraie exp\u00e9rience utilisateur de cin\u00e9ma, avec les bandes-annonces et les intros personnalis\u00e9es avant le film principal.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/gsw.json b/dashboard-ui/strings/javascript/gsw.json index ad270345e2..8d9f09c3ef 100644 --- a/dashboard-ui/strings/javascript/gsw.json +++ b/dashboard-ui/strings/javascript/gsw.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/he.json b/dashboard-ui/strings/javascript/he.json index aff1752997..dc8304e974 100644 --- a/dashboard-ui/strings/javascript/he.json +++ b/dashboard-ui/strings/javascript/he.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/hr.json b/dashboard-ui/strings/javascript/hr.json index fbda8ab53b..6578790e80 100644 --- a/dashboard-ui/strings/javascript/hr.json +++ b/dashboard-ui/strings/javascript/hr.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/hu.json b/dashboard-ui/strings/javascript/hu.json index 2f212d4c76..aab9a88260 100644 --- a/dashboard-ui/strings/javascript/hu.json +++ b/dashboard-ui/strings/javascript/hu.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/it.json b/dashboard-ui/strings/javascript/it.json index 0de41f1b9c..3a2f12d470 100644 --- a/dashboard-ui/strings/javascript/it.json +++ b/dashboard-ui/strings/javascript/it.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/kk.json b/dashboard-ui/strings/javascript/kk.json index 366984a125..ce56fa4416 100644 --- a/dashboard-ui/strings/javascript/kk.json +++ b/dashboard-ui/strings/javascript/kk.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/ms.json b/dashboard-ui/strings/javascript/ms.json index db0d0b8d04..d8ce452789 100644 --- a/dashboard-ui/strings/javascript/ms.json +++ b/dashboard-ui/strings/javascript/ms.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/nb.json b/dashboard-ui/strings/javascript/nb.json index 6cfb9a18e9..3795c7ec87 100644 --- a/dashboard-ui/strings/javascript/nb.json +++ b/dashboard-ui/strings/javascript/nb.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/nl.json b/dashboard-ui/strings/javascript/nl.json index 2c3da34fda..3c381c7576 100644 --- a/dashboard-ui/strings/javascript/nl.json +++ b/dashboard-ui/strings/javascript/nl.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/pl.json b/dashboard-ui/strings/javascript/pl.json index 9b64835489..bdbd154442 100644 --- a/dashboard-ui/strings/javascript/pl.json +++ b/dashboard-ui/strings/javascript/pl.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/pt-BR.json b/dashboard-ui/strings/javascript/pt-BR.json index 8f2f6f18d9..f49a2e40e2 100644 --- a/dashboard-ui/strings/javascript/pt-BR.json +++ b/dashboard-ui/strings/javascript/pt-BR.json @@ -70,10 +70,10 @@ "LabelMovie": "Filme", "LabelMusicVideo": "V\u00eddeo Musical", "LabelEpisode": "Epis\u00f3dio", - "LabelSeries": "S\u00e9rie", + "LabelSeries": "S\u00e9rie:", "LabelStopping": "Parando", "LabelCancelled": "(cancelado)", - "LabelFailed": "(falhou)", + "LabelFailed": "Falhou", "ButtonHelp": "Ajuda", "ButtonSave": "Salvar", "ButtonDownload": "Download", @@ -142,13 +142,13 @@ "ButtonMute": "Mudo", "ButtonUnmute": "Remover Mudo", "ButtonStop": "Parar", - "ButtonNextTrack": "Faixa Seguinte", + "ButtonNextTrack": "Faixa seguinte", "ButtonPause": "Pausar", "ButtonPlay": "Reproduzir", "ButtonEdit": "Editar", "ButtonQueue": "Adicionar \u00e0 fila", "ButtonPlaylist": "Lista de reprodu\u00e7\u00e3o", - "ButtonPreviousTrack": "Faixa Anterior", + "ButtonPreviousTrack": "Faixa anterior", "LabelEnabled": "Ativada", "LabelDisabled": "Desativada", "ButtonMoreInformation": "Mais informa\u00e7\u00f5es", @@ -211,7 +211,7 @@ "HeaderMyViews": "Minhas Visualiza\u00e7\u00f5es", "HeaderLibraryFolders": "Pastas de M\u00eddias", "HeaderLatestMedia": "M\u00eddias Recentes", - "ButtonMoreItems": "Mais...", + "ButtonMoreItems": "Mais", "ButtonMore": "Mais", "HeaderFavoriteMovies": "Filmes Favoritos", "HeaderFavoriteShows": "S\u00e9ries Favoritas", @@ -287,7 +287,7 @@ "HeaderSelectPath": "Selecione o Caminho", "ButtonNetwork": "Rede", "MessageDirectoryPickerInstruction": "Os caminhos da rede podem ser digitados manualmente caso o bot\u00e3o de Rede n\u00e3o consiga localizar seus dispositivos. Por exemplo, {0} ou {1}.", - "MessageDirectoryPickerBSDInstruction": "For BSD, you may need to configure storage within your FreeNAS Jail in order to allow Emby to access it.", + "MessageDirectoryPickerBSDInstruction": "Para BSD, voc\u00ea precisar\u00e1 configurar o storage dentro de seu Jail do FreeNAS para permitir que o Emby tenha acesso a ele.", "HeaderMenu": "Menu", "ButtonOpen": "Abrir", "ButtonOpenInNewTab": "Abrir em uma nova aba", @@ -410,8 +410,8 @@ "TabAdvanced": "Avan\u00e7ado", "TabHelp": "Ajuda", "TabScheduledTasks": "Tarefas Agendadas", - "ButtonFullscreen": "Tela cheia", - "ButtonAudioTracks": "Faixas de \u00c1udio", + "ButtonFullscreen": "Alternar para o modo tela cheia", + "ButtonAudioTracks": "Faixas de \u00e1udio", "ButtonSubtitles": "Legendas", "ButtonScenes": "Cenas", "ButtonQuality": "Qualidade", @@ -625,7 +625,7 @@ "HeaderAlbums": "\u00c1lbuns", "HeaderGames": "Jogos", "HeaderBooks": "Livros", - "HeaderEpisodes": "Epis\u00f3dios", + "HeaderEpisodes": "Epis\u00f3dios:", "HeaderSeasons": "Temporadas", "HeaderTracks": "Faixas", "HeaderItems": "Itens", @@ -819,7 +819,8 @@ "ErrorPleaseSelectLineup": "Por favor selecione a programa\u00e7\u00e3o e tente novamente. Se n\u00e3o houver programa\u00e7\u00f5es dispon\u00edveis, verifique se o seu nome de usu\u00e1rio, senha e c\u00f3digo postal est\u00e3o corretos.", "HeaderTryCinemaMode": "Experimente o Cinema Mode", "ButtonBecomeSupporter": "Torne-se um Colaborador do Emby", - "ButtonClosePlayVideo": "Fechar e reproduzir meu v\u00eddeo", + "ButtonClosePlayVideo": "Fechar e reproduzir minha m\u00eddia", "MessageDidYouKnowCinemaMode": "Voc\u00ea sabia que ao se tornar um Colaborador do Emby, voc\u00ea pode melhorar sua experi\u00eancia com funcionalidades como o Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "O Cinema Mode possibilita que voc\u00ea tenha uma experi\u00eancia de cinema com trailers, intros personalizadas, antes do filme principal." + "MessageDidYouKnowCinemaMode2": "O Cinema Mode possibilita que voc\u00ea tenha uma experi\u00eancia de cinema com trailers, intros personalizadas, antes do filme principal.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/pt-PT.json b/dashboard-ui/strings/javascript/pt-PT.json index 6a409c4868..45317d448a 100644 --- a/dashboard-ui/strings/javascript/pt-PT.json +++ b/dashboard-ui/strings/javascript/pt-PT.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/ro.json b/dashboard-ui/strings/javascript/ro.json index b94ffc7d91..08b8aa49cb 100644 --- a/dashboard-ui/strings/javascript/ro.json +++ b/dashboard-ui/strings/javascript/ro.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/ru.json b/dashboard-ui/strings/javascript/ru.json index f05c94127e..f3e6b51623 100644 --- a/dashboard-ui/strings/javascript/ru.json +++ b/dashboard-ui/strings/javascript/ru.json @@ -70,10 +70,10 @@ "LabelMovie": "\u0424\u0438\u043b\u044c\u043c", "LabelMusicVideo": "\u041c\u0443\u0437\u044b\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0438\u0434\u0435\u043e", "LabelEpisode": "\u042d\u043f\u0438\u0437\u043e\u0434", - "LabelSeries": "\u0421\u0435\u0440\u0438\u0430\u043b", + "LabelSeries": "\u0421\u0435\u0440\u0438\u0430\u043b:", "LabelStopping": "\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430", "LabelCancelled": "(\u043e\u0442\u043c\u0435\u043d\u0435\u043d\u043e)", - "LabelFailed": "(\u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e)", + "LabelFailed": "\u041d\u0435\u0443\u0434\u0430\u0447\u043d\u043e", "ButtonHelp": "\u0421\u043f\u0440\u0430\u0432\u043a\u0430...", "ButtonSave": "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c", "ButtonDownload": "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c", @@ -287,7 +287,7 @@ "HeaderSelectPath": "\u0412\u044b\u0431\u043e\u0440 \u043f\u0443\u0442\u0438", "ButtonNetwork": "\u0421\u0435\u0442\u044c...", "MessageDirectoryPickerInstruction": "\u0421\u0435\u0442\u0435\u0432\u044b\u0435 \u043f\u0443\u0442\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u043f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043a\u043d\u043e\u043f\u043a\u0438 \u00ab\u0421\u0435\u0442\u044c\u00bb \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u0431\u043e\u0439 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: {0} \u0438\u043b\u0438 {1}.", - "MessageDirectoryPickerBSDInstruction": "For BSD, you may need to configure storage within your FreeNAS Jail in order to allow Emby to access it.", + "MessageDirectoryPickerBSDInstruction": "\u041a\u0430\u0441\u0430\u0435\u043c\u043e BSD, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0432 \u0432\u0430\u0448\u0435\u043c FreeNAS Jail, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c Emby \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a \u043d\u0435\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f.", "HeaderMenu": "\u041c\u0435\u043d\u044e", "ButtonOpen": "\u041e\u0442\u043a\u0440\u044b\u0442\u044c", "ButtonOpenInNewTab": "\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0432 \u043d\u043e\u0432\u043e\u0439 \u0432\u043a\u043b\u0430\u0434\u043a\u0435", @@ -625,7 +625,7 @@ "HeaderAlbums": "\u0410\u043b\u044c\u0431\u043e\u043c\u044b", "HeaderGames": "\u0418\u0433\u0440\u044b", "HeaderBooks": "\u041a\u043d\u0438\u0433\u0438", - "HeaderEpisodes": "\u042d\u043f\u0438\u0437\u043e\u0434\u044b", + "HeaderEpisodes": "\u042d\u043f\u0438\u0437\u043e\u0434\u044b:", "HeaderSeasons": "\u0421\u0435\u0437\u043e\u043d\u044b", "HeaderTracks": "\u0414\u043e\u0440-\u043a\u0438", "HeaderItems": "\u042d\u043b\u0435\u043c\u0435\u043d\u0442\u044b", @@ -819,7 +819,8 @@ "ErrorPleaseSelectLineup": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u0441\u043d\u043e\u0432\u0430. \u0415\u0441\u043b\u0438 \u0441\u043f\u0438\u0441\u043a\u0438 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b, \u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0447\u0442\u043e \u0432\u0430\u0448\u0435 \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043f\u0430\u0440\u043e\u043b\u044c \u0438 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u0435\u0440\u043d\u044b\u043c\u0438.", "HeaderTryCinemaMode": "\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0440\u0435\u0436\u0438\u043c \u043a\u0438\u043d\u043e\u0442\u0435\u0430\u0442\u0440\u0430", "ButtonBecomeSupporter": "\u0421\u0442\u0430\u043d\u044c\u0442\u0435 \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u043e\u043c Emby", - "ButtonClosePlayVideo": "\u0417\u0430\u043a\u0440\u044b\u0442\u044c \u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043c\u043e\u0451 \u0432\u0438\u0434\u0435\u043e", + "ButtonClosePlayVideo": "\u0417\u0430\u043a\u0440\u044b\u0442\u044c \u0438 \u0432\u043e\u0441\u043f\u0440. \u043c\u043e\u0438 \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0435", "MessageDidYouKnowCinemaMode": "\u0417\u043d\u0430\u0435\u0442\u0435 \u043b\u0438 \u0432\u044b, \u0447\u0442\u043e \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0441\u044c \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u043e\u043c Emby, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0438\u043b\u0438\u0442\u044c \u0441\u0432\u043e\u0438 \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u0440\u0435\u0436\u0438\u043c\u0443 \u043a\u0438\u043d\u043e\u0442\u0435\u0430\u0442\u0440\u0430.", - "MessageDidYouKnowCinemaMode2": "\u0420\u0435\u0436\u0438\u043c \u043a\u0438\u043d\u043e\u0442\u0435\u0430\u0442\u0440\u0430 \u0434\u0430\u0441\u0442 \u0432\u0430\u043c \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u043a\u0438\u043d\u043e\u0442\u0435\u0430\u0442\u0440\u0430 \u0441 \u0442\u0440\u0435\u0439\u043b\u0435\u0440\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u0437\u0430\u0441\u0442\u0430\u0432\u043a\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0434 \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u043c." + "MessageDidYouKnowCinemaMode2": "\u0420\u0435\u0436\u0438\u043c \u043a\u0438\u043d\u043e\u0442\u0435\u0430\u0442\u0440\u0430 \u0434\u0430\u0441\u0442 \u0432\u0430\u043c \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u043a\u0438\u043d\u043e\u0442\u0435\u0430\u0442\u0440\u0430 \u0441 \u0442\u0440\u0435\u0439\u043b\u0435\u0440\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u0437\u0430\u0441\u0442\u0430\u0432\u043a\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0434 \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u043c.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/sl-SI.json b/dashboard-ui/strings/javascript/sl-SI.json index 01fed96b30..8c90a684c3 100644 --- a/dashboard-ui/strings/javascript/sl-SI.json +++ b/dashboard-ui/strings/javascript/sl-SI.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/sv.json b/dashboard-ui/strings/javascript/sv.json index 692b778f19..6c856e55b6 100644 --- a/dashboard-ui/strings/javascript/sv.json +++ b/dashboard-ui/strings/javascript/sv.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/tr.json b/dashboard-ui/strings/javascript/tr.json index f5f5b16446..286c2b22f0 100644 --- a/dashboard-ui/strings/javascript/tr.json +++ b/dashboard-ui/strings/javascript/tr.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/uk.json b/dashboard-ui/strings/javascript/uk.json index 995f7f8e1a..9a975396a5 100644 --- a/dashboard-ui/strings/javascript/uk.json +++ b/dashboard-ui/strings/javascript/uk.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/vi.json b/dashboard-ui/strings/javascript/vi.json index b7463a7534..994990f79e 100644 --- a/dashboard-ui/strings/javascript/vi.json +++ b/dashboard-ui/strings/javascript/vi.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/zh-CN.json b/dashboard-ui/strings/javascript/zh-CN.json index ec800c92ab..5bd0427407 100644 --- a/dashboard-ui/strings/javascript/zh-CN.json +++ b/dashboard-ui/strings/javascript/zh-CN.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/strings/javascript/zh-TW.json b/dashboard-ui/strings/javascript/zh-TW.json index 1d80be00d5..519029df10 100644 --- a/dashboard-ui/strings/javascript/zh-TW.json +++ b/dashboard-ui/strings/javascript/zh-TW.json @@ -821,5 +821,6 @@ "ButtonBecomeSupporter": "Become an Emby Supporter", "ButtonClosePlayVideo": "Close and play my media", "MessageDidYouKnowCinemaMode": "Did you know that by becoming an Emby Supporter, you can enhance your experience with features like Cinema Mode?", - "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature." + "MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", + "OptionEnableDisplayMirroring": "Enable display mirroring" } \ No newline at end of file diff --git a/dashboard-ui/thirdparty/jstree3.0.8/themes/default/32px.png b/dashboard-ui/thirdparty/jstree/themes/default/32px.png similarity index 100% rename from dashboard-ui/thirdparty/jstree3.0.8/themes/default/32px.png rename to dashboard-ui/thirdparty/jstree/themes/default/32px.png diff --git a/dashboard-ui/thirdparty/jstree3.0.8/themes/default/40px.png b/dashboard-ui/thirdparty/jstree/themes/default/40px.png similarity index 100% rename from dashboard-ui/thirdparty/jstree3.0.8/themes/default/40px.png rename to dashboard-ui/thirdparty/jstree/themes/default/40px.png diff --git a/dashboard-ui/thirdparty/jstree3.0.8/themes/default/style.css b/dashboard-ui/thirdparty/jstree/themes/default/style.css similarity index 100% rename from dashboard-ui/thirdparty/jstree3.0.8/themes/default/style.css rename to dashboard-ui/thirdparty/jstree/themes/default/style.css diff --git a/dashboard-ui/thirdparty/jstree3.0.8/themes/default/style.min.css b/dashboard-ui/thirdparty/jstree/themes/default/style.min.css similarity index 100% rename from dashboard-ui/thirdparty/jstree3.0.8/themes/default/style.min.css rename to dashboard-ui/thirdparty/jstree/themes/default/style.min.css diff --git a/dashboard-ui/thirdparty/jstree3.0.8/themes/default/throbber.gif b/dashboard-ui/thirdparty/jstree/themes/default/throbber.gif similarity index 100% rename from dashboard-ui/thirdparty/jstree3.0.8/themes/default/throbber.gif rename to dashboard-ui/thirdparty/jstree/themes/default/throbber.gif diff --git a/dashboard-ui/thirdparty/jstree3.0.8/jstree.min.js b/dashboard-ui/thirdparty/jstree3.0.8/jstree.min.js deleted file mode 100644 index 1c455cdf7d..0000000000 --- a/dashboard-ui/thirdparty/jstree3.0.8/jstree.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! jsTree - v3.0.8 - 2014-10-23 - (MIT) */ -(function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?e(require("jquery")):e(jQuery)})(function(e,t){"use strict";if(!e.jstree){var i=0,r=!1,s=!1,n=!1,a=[],d=e("script:last").attr("src"),o=document,c=o.createElement("LI"),l,h;c.setAttribute("role","treeitem"),l=o.createElement("I"),l.className="jstree-icon jstree-ocl",l.setAttribute("role","presentation"),c.appendChild(l),l=o.createElement("A"),l.className="jstree-anchor",l.setAttribute("href","#"),l.setAttribute("tabindex","-1"),h=o.createElement("I"),h.className="jstree-icon jstree-themeicon",h.setAttribute("role","presentation"),l.appendChild(h),c.appendChild(l),l=h=null,e.jstree={version:"3.0.8",defaults:{plugins:[]},plugins:{},path:d&&-1!==d.indexOf("/")?d.replace(/\/[^\/]+$/,""):"",idregex:/[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%]/g},e.jstree.create=function(t,r){var s=new e.jstree.core(++i),n=r;return r=e.extend(!0,{},e.jstree.defaults,r),n&&n.plugins&&(r.plugins=n.plugins),e.each(r.plugins,function(e,t){"core"!==e&&(s=s.plugin(t,r[t]))}),s.init(t,r),s},e.jstree.destroy=function(){e(".jstree:jstree").jstree("destroy"),e(document).off(".jstree")},e.jstree.core=function(e){this._id=e,this._cnt=0,this._wrk=null,this._data={core:{themes:{name:!1,dots:!1,icons:!1},selected:[],last_error:{},working:!1,worker_queue:[],focused:null}}},e.jstree.reference=function(i){var r=null,s=null;if(i&&i.id&&(i=i.id),!s||!s.length)try{s=e(i)}catch(n){}if(!s||!s.length)try{s=e("#"+i.replace(e.jstree.idregex,"\\$&"))}catch(n){}return s&&s.length&&(s=s.closest(".jstree")).length&&(s=s.data("jstree"))?r=s:e(".jstree").each(function(){var s=e(this).data("jstree");return s&&s._model.data[i]?(r=s,!1):t}),r},e.fn.jstree=function(i){var r="string"==typeof i,s=Array.prototype.slice.call(arguments,1),n=null;return i!==!0||this.length?(this.each(function(){var a=e.jstree.reference(this),d=r&&a?a[i]:null;return n=r&&d?d.apply(a,s):null,a||r||i!==t&&!e.isPlainObject(i)||e(this).data("jstree",new e.jstree.create(this,i)),(a&&!r||i===!0)&&(n=a||!1),null!==n&&n!==t?!1:t}),null!==n&&n!==t?n:this):!1},e.expr[":"].jstree=e.expr.createPseudo(function(i){return function(i){return e(i).hasClass("jstree")&&e(i).data("jstree")!==t}}),e.jstree.defaults.core={data:!1,strings:!1,check_callback:!1,error:e.noop,animation:200,multiple:!0,themes:{name:!1,url:!1,dir:!1,dots:!0,icons:!0,stripes:!1,variant:!1,responsive:!1},expand_selected_onload:!0,worker:!0,force_text:!1},e.jstree.core.prototype={plugin:function(t,i){var r=e.jstree.plugins[t];return r?(this._data[t]={},r.prototype=this,new r(i,this)):this},init:function(t,i){this._model={data:{"#":{id:"#",parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}}},changed:[],force_full_redraw:!1,redraw_timeout:!1,default_state:{loaded:!0,opened:!1,selected:!1,disabled:!1}},this.element=e(t).addClass("jstree jstree-"+this._id),this.settings=i,this.element.bind("destroyed",e.proxy(this.teardown,this)),this._data.core.ready=!1,this._data.core.loaded=!1,this._data.core.rtl="rtl"===this.element.css("direction"),this.element[this._data.core.rtl?"addClass":"removeClass"]("jstree-rtl"),this.element.attr("role","tree"),this.settings.core.multiple&&this.element.attr("aria-multiselectable",!0),this.element.attr("tabindex")||this.element.attr("tabindex","0"),this.bind(),this.trigger("init"),this._data.core.original_container_html=this.element.find(" > ul > li").clone(!0),this._data.core.original_container_html.find("li").addBack().contents().filter(function(){return 3===this.nodeType&&(!this.nodeValue||/^\s+$/.test(this.nodeValue))}).remove(),this.element.html(""),this.element.attr("aria-activedescendant","j"+this._id+"_loading"),this._data.core.li_height=this.get_container_ul().children("li").first().height()||24,this.trigger("loading"),this.load_node("#")},destroy:function(e){if(this._wrk)try{window.URL.revokeObjectURL(this._wrk),this._wrk=null}catch(t){}e||this.element.empty(),this.element.unbind("destroyed",this.teardown),this.teardown()},teardown:function(){this.unbind(),this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),this.element=null},bind:function(){var i="",r=null;this.element.on("dblclick.jstree",function(){if(document.selection&&document.selection.empty)document.selection.empty();else if(window.getSelection){var e=window.getSelection();try{e.removeAllRanges(),e.collapse()}catch(t){}}}).on("click.jstree",".jstree-ocl",e.proxy(function(e){this.toggle_node(e.target)},this)).on("click.jstree",".jstree-anchor",e.proxy(function(t){t.preventDefault(),t.currentTarget!==document.activeElement&&e(t.currentTarget).focus(),this.activate_node(t.currentTarget,t)},this)).on("keydown.jstree",".jstree-anchor",e.proxy(function(t){if("INPUT"===t.target.tagName)return!0;var i=null;switch(this._data.core.rtl&&(37===t.which?t.which=39:39===t.which&&(t.which=37)),t.which){case 32:t.ctrlKey&&(t.type="click",e(t.currentTarget).trigger(t));break;case 13:t.type="click",e(t.currentTarget).trigger(t);break;case 37:t.preventDefault(),this.is_open(t.currentTarget)?this.close_node(t.currentTarget):(i=this.get_parent(t.currentTarget),i&&"#"!==i.id&&this.get_node(i,!0).children(".jstree-anchor").focus());break;case 38:t.preventDefault(),i=this.get_prev_dom(t.currentTarget),i&&i.length&&i.children(".jstree-anchor").focus();break;case 39:t.preventDefault(),this.is_closed(t.currentTarget)?this.open_node(t.currentTarget,function(e){this.get_node(e,!0).children(".jstree-anchor").focus()}):this.is_open(t.currentTarget)&&(i=this.get_node(t.currentTarget,!0).children(".jstree-children")[0],i&&e(this._firstChild(i)).children(".jstree-anchor").focus());break;case 40:t.preventDefault(),i=this.get_next_dom(t.currentTarget),i&&i.length&&i.children(".jstree-anchor").focus();break;case 106:this.open_all();break;case 36:t.preventDefault(),i=this._firstChild(this.get_container_ul()[0]),i&&e(i).children(".jstree-anchor").filter(":visible").focus();break;case 35:t.preventDefault(),this.element.find(".jstree-anchor").filter(":visible").last().focus()}},this)).on("load_node.jstree",e.proxy(function(t,i){if(i.status&&("#"!==i.node.id||this._data.core.loaded||(this._data.core.loaded=!0,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.trigger("loaded")),!this._data.core.ready&&!this.get_container_ul().find(".jstree-loading").length)){if(this._data.core.ready=!0,this._data.core.selected.length){if(this.settings.core.expand_selected_onload){var r=[],s,n;for(s=0,n=this._data.core.selected.length;n>s;s++)r=r.concat(this._model.data[this._data.core.selected[s]].parents);for(r=e.vakata.array_unique(r),s=0,n=r.length;n>s;s++)this.open_node(r[s],!1,0)}this.trigger("changed",{action:"ready",selected:this._data.core.selected})}setTimeout(e.proxy(function(){this.trigger("ready")},this),0)}},this)).on("keypress.jstree",e.proxy(function(s){if("INPUT"===s.target.tagName)return!0;r&&clearTimeout(r),r=setTimeout(function(){i=""},500);var n=String.fromCharCode(s.which).toLowerCase(),a=this.element.find(".jstree-anchor").filter(":visible"),d=a.index(document.activeElement)||0,o=!1;if(i+=n,i.length>1){if(a.slice(d).each(e.proxy(function(r,s){return 0===e(s).text().toLowerCase().indexOf(i)?(e(s).focus(),o=!0,!1):t},this)),o)return;if(a.slice(0,d).each(e.proxy(function(r,s){return 0===e(s).text().toLowerCase().indexOf(i)?(e(s).focus(),o=!0,!1):t},this)),o)return}if(RegExp("^"+n+"+$").test(i)){if(a.slice(d+1).each(e.proxy(function(i,r){return e(r).text().toLowerCase().charAt(0)===n?(e(r).focus(),o=!0,!1):t},this)),o)return;if(a.slice(0,d+1).each(e.proxy(function(i,r){return e(r).text().toLowerCase().charAt(0)===n?(e(r).focus(),o=!0,!1):t},this)),o)return}},this)).on("init.jstree",e.proxy(function(){var e=this.settings.core.themes;this._data.core.themes.dots=e.dots,this._data.core.themes.stripes=e.stripes,this._data.core.themes.icons=e.icons,this.set_theme(e.name||"default",e.url),this.set_theme_variant(e.variant)},this)).on("loading.jstree",e.proxy(function(){this[this._data.core.themes.dots?"show_dots":"hide_dots"](),this[this._data.core.themes.icons?"show_icons":"hide_icons"](),this[this._data.core.themes.stripes?"show_stripes":"hide_stripes"]()},this)).on("blur.jstree",".jstree-anchor",e.proxy(function(t){this._data.core.focused=null,e(t.currentTarget).filter(".jstree-hovered").mouseleave()},this)).on("focus.jstree",".jstree-anchor",e.proxy(function(t){var i=this.get_node(t.currentTarget);i&&i.id&&(this._data.core.focused=i.id),this.element.find(".jstree-hovered").not(t.currentTarget).mouseleave(),e(t.currentTarget).mouseenter()},this)).on("focus.jstree",e.proxy(function(){this._data.core.focused||this.get_node(this.element.attr("aria-activedescendant"),!0).find("> .jstree-anchor").focus()},this)).on("mouseenter.jstree",".jstree-anchor",e.proxy(function(e){this.hover_node(e.currentTarget)},this)).on("mouseleave.jstree",".jstree-anchor",e.proxy(function(e){this.dehover_node(e.currentTarget)},this))},unbind:function(){this.element.off(".jstree"),e(document).off(".jstree-"+this._id)},trigger:function(e,t){t||(t={}),t.instance=this,this.element.triggerHandler(e.replace(".jstree","")+".jstree",t)},get_container:function(){return this.element},get_container_ul:function(){return this.element.children(".jstree-children").first()},get_string:function(t){var i=this.settings.core.strings;return e.isFunction(i)?i.call(this,t):i&&i[t]?i[t]:t},_firstChild:function(e){e=e?e.firstChild:null;while(null!==e&&1!==e.nodeType)e=e.nextSibling;return e},_nextSibling:function(e){e=e?e.nextSibling:null;while(null!==e&&1!==e.nodeType)e=e.nextSibling;return e},_previousSibling:function(e){e=e?e.previousSibling:null;while(null!==e&&1!==e.nodeType)e=e.previousSibling;return e},get_node:function(t,i){t&&t.id&&(t=t.id);var r;try{if(this._model.data[t])t=this._model.data[t];else if("string"==typeof t&&this._model.data[t.replace(/^#/,"")])t=this._model.data[t.replace(/^#/,"")];else if("string"==typeof t&&(r=e("#"+t.replace(e.jstree.idregex,"\\$&"),this.element)).length&&this._model.data[r.closest(".jstree-node").attr("id")])t=this._model.data[r.closest(".jstree-node").attr("id")];else if((r=e(t,this.element)).length&&this._model.data[r.closest(".jstree-node").attr("id")])t=this._model.data[r.closest(".jstree-node").attr("id")];else{if(!(r=e(t,this.element)).length||!r.hasClass("jstree"))return!1;t=this._model.data["#"]}return i&&(t="#"===t.id?this.element:e("#"+t.id.replace(e.jstree.idregex,"\\$&"),this.element)),t}catch(s){return!1}},get_path:function(e,t,i){if(e=e.parents?e:this.get_node(e),!e||"#"===e.id||!e.parents)return!1;var r,s,n=[];for(n.push(i?e.id:e.text),r=0,s=e.parents.length;s>r;r++)n.push(i?e.parents[r]:this.get_text(e.parents[r]));return n=n.reverse().slice(1),t?n.join(t):n},get_next_dom:function(t,i){var r;if(t=this.get_node(t,!0),t[0]===this.element[0]){r=this._firstChild(this.get_container_ul()[0]);while(r&&0===r.offsetHeight)r=this._nextSibling(r);return r?e(r):!1}if(!t||!t.length)return!1;if(i){r=t[0];do r=this._nextSibling(r);while(r&&0===r.offsetHeight);return r?e(r):!1}if(t.hasClass("jstree-open")){r=this._firstChild(t.children(".jstree-children")[0]);while(r&&0===r.offsetHeight)r=this._nextSibling(r);if(null!==r)return e(r)}r=t[0];do r=this._nextSibling(r);while(r&&0===r.offsetHeight);return null!==r?e(r):t.parentsUntil(".jstree",".jstree-node").next(".jstree-node:visible").first()},get_prev_dom:function(t,i){var r;if(t=this.get_node(t,!0),t[0]===this.element[0]){r=this.get_container_ul()[0].lastChild;while(r&&0===r.offsetHeight)r=this._previousSibling(r);return r?e(r):!1}if(!t||!t.length)return!1;if(i){r=t[0];do r=this._previousSibling(r);while(r&&0===r.offsetHeight);return r?e(r):!1}r=t[0];do r=this._previousSibling(r);while(r&&0===r.offsetHeight);if(null!==r){t=e(r);while(t.hasClass("jstree-open"))t=t.children(".jstree-children").first().children(".jstree-node:visible:last");return t}return r=t[0].parentNode.parentNode,r&&r.className&&-1!==r.className.indexOf("jstree-node")?e(r):!1},get_parent:function(e){return e=this.get_node(e),e&&"#"!==e.id?e.parent:!1},get_children_dom:function(e){return e=this.get_node(e,!0),e[0]===this.element[0]?this.get_container_ul().children(".jstree-node"):e&&e.length?e.children(".jstree-children").children(".jstree-node"):!1},is_parent:function(e){return e=this.get_node(e),e&&(e.state.loaded===!1||e.children.length>0)},is_loaded:function(e){return e=this.get_node(e),e&&e.state.loaded},is_loading:function(e){return e=this.get_node(e),e&&e.state&&e.state.loading},is_open:function(e){return e=this.get_node(e),e&&e.state.opened},is_closed:function(e){return e=this.get_node(e),e&&this.is_parent(e)&&!e.state.opened},is_leaf:function(e){return!this.is_parent(e)},load_node:function(t,i){var r,s,n,a,d;if(e.isArray(t))return this._load_nodes(t.slice(),i),!0;if(t=this.get_node(t),!t)return i&&i.call(this,t,!1),!1;if(t.state.loaded){for(t.state.loaded=!1,r=0,s=t.children_d.length;s>r;r++){for(n=0,a=t.parents.length;a>n;n++)this._model.data[t.parents[n]].children_d=e.vakata.array_remove_item(this._model.data[t.parents[n]].children_d,t.children_d[r]);this._model.data[t.children_d[r]].state.selected&&(d=!0,this._data.core.selected=e.vakata.array_remove_item(this._data.core.selected,t.children_d[r])),delete this._model.data[t.children_d[r]]}t.children=[],t.children_d=[],d&&this.trigger("changed",{action:"load_node",node:t,selected:this._data.core.selected})}return t.state.loading=!0,this.get_node(t,!0).addClass("jstree-loading").attr("aria-busy",!0),this._load_node(t,e.proxy(function(e){t=this._model.data[t.id],t.state.loading=!1,t.state.loaded=e;var r=this.get_node(t,!0);t.state.loaded&&!t.children.length&&r&&r.length&&!r.hasClass("jstree-leaf")&&r.removeClass("jstree-closed jstree-open").addClass("jstree-leaf"),r.removeClass("jstree-loading").attr("aria-busy",!1),this.trigger("load_node",{node:t,status:e}),i&&i.call(this,t,e)},this)),!0},_load_nodes:function(e,t,i){var r=!0,s=function(){this._load_nodes(e,t,!0)},n=this._model.data,a,d;for(a=0,d=e.length;d>a;a++)!n[e[a]]||n[e[a]].state.loaded&&i||(this.is_loading(e[a])||this.load_node(e[a],s),r=!1);r&&t&&!t.done&&(t.call(this,e),t.done=!0)},load_all:function(e,t){if(e||(e="#"),e=this.get_node(e),!e)return!1;var i=[],r=this._model.data,s=r[e.id].children_d,n,a;for(e.state&&!e.state.loaded&&i.push(e.id),n=0,a=s.length;a>n;n++)r[s[n]]&&r[s[n]].state&&!r[s[n]].state.loaded&&i.push(s[n]);i.length?this._load_nodes(i,function(){this.load_all(e,t)}):(t&&t.call(this,e),this.trigger("load_all",{node:e}))},_load_node:function(t,i){var r=this.settings.core.data,s;return r?e.isFunction(r)?r.call(this,t,e.proxy(function(r){r===!1&&i.call(this,!1),this["string"==typeof r?"_append_html_data":"_append_json_data"](t,"string"==typeof r?e(r):r,function(e){i.call(this,e)})},this)):"object"==typeof r?r.url?(r=e.extend(!0,{},r),e.isFunction(r.url)&&(r.url=r.url.call(this,t)),e.isFunction(r.data)&&(r.data=r.data.call(this,t)),e.ajax(r).done(e.proxy(function(r,s,n){var a=n.getResponseHeader("Content-Type");return-1!==a.indexOf("json")||"object"==typeof r?this._append_json_data(t,r,function(e){i.call(this,e)}):-1!==a.indexOf("html")||"string"==typeof r?this._append_html_data(t,e(r),function(e){i.call(this,e)}):(this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:t.id,xhr:n})},this.settings.core.error.call(this,this._data.core.last_error),i.call(this,!1))},this)).fail(e.proxy(function(e){i.call(this,!1),this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:t.id,xhr:e})},this.settings.core.error.call(this,this._data.core.last_error)},this))):(s=e.isArray(r)||e.isPlainObject(r)?JSON.parse(JSON.stringify(r)):r,"#"===t.id?this._append_json_data(t,s,function(e){i.call(this,e)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_05",reason:"Could not load node",data:JSON.stringify({id:t.id})},this.settings.core.error.call(this,this._data.core.last_error),i.call(this,!1))):"string"==typeof r?"#"===t.id?this._append_html_data(t,e(r),function(e){i.call(this,e)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_06",reason:"Could not load node",data:JSON.stringify({id:t.id})},this.settings.core.error.call(this,this._data.core.last_error),i.call(this,!1)):i.call(this,!1):"#"===t.id?this._append_html_data(t,this._data.core.original_container_html.clone(!0),function(e){i.call(this,e)}):i.call(this,!1)},_node_changed:function(e){e=this.get_node(e),e&&this._model.changed.push(e.id)},_append_html_data:function(t,i,r){t=this.get_node(t),t.children=[],t.children_d=[];var s=i.is("ul")?i.children():i,n=t.id,a=[],d=[],o=this._model.data,c=o[n],l=this._data.core.selected.length,h,_,u;for(s.each(e.proxy(function(t,i){h=this._parse_model_from_html(e(i),n,c.parents.concat()),h&&(a.push(h),d.push(h),o[h].children_d.length&&(d=d.concat(o[h].children_d)))},this)),c.children=a,c.children_d=d,_=0,u=c.parents.length;u>_;_++)o[c.parents[_]].children_d=o[c.parents[_]].children_d.concat(d);this.trigger("model",{nodes:d,parent:n}),"#"!==n?(this._node_changed(n),this.redraw()):(this.get_container_ul().children(".jstree-initial-node").remove(),this.redraw(!0)),this._data.core.selected.length!==l&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),r.call(this,!0)},_append_json_data:function(t,i,r,s){t=this.get_node(t),t.children=[],t.children_d=[],i.d&&(i=i.d,"string"==typeof i&&(i=JSON.parse(i))),e.isArray(i)||(i=[i]);var n=null,a={df:this._model.default_state,dat:i,par:t.id,m:this._model.data,t_id:this._id,t_cnt:this._cnt,sel:this._data.core.selected},d=function(e,t){e.data&&(e=e.data);var i=e.dat,r=e.par,s=[],n=[],a=[],d=e.df,o=e.t_id,c=e.t_cnt,l=e.m,h=l[r],_=e.sel,u,g,f,p,m=function(e,i,r){r=r?r.concat():[],i&&r.unshift(i);var s=""+e.id,n,o,c,h,_={id:s,text:e.text||"",icon:e.icon!==t?e.icon:!0,parent:i,parents:r,children:e.children||[],children_d:e.children_d||[],data:e.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(n in d)d.hasOwnProperty(n)&&(_.state[n]=d[n]);if(e&&e.data&&e.data.jstree&&e.data.jstree.icon&&(_.icon=e.data.jstree.icon),e&&e.data&&(_.data=e.data,e.data.jstree))for(n in e.data.jstree)e.data.jstree.hasOwnProperty(n)&&(_.state[n]=e.data.jstree[n]);if(e&&"object"==typeof e.state)for(n in e.state)e.state.hasOwnProperty(n)&&(_.state[n]=e.state[n]);if(e&&"object"==typeof e.li_attr)for(n in e.li_attr)e.li_attr.hasOwnProperty(n)&&(_.li_attr[n]=e.li_attr[n]);if(_.li_attr.id||(_.li_attr.id=s),e&&"object"==typeof e.a_attr)for(n in e.a_attr)e.a_attr.hasOwnProperty(n)&&(_.a_attr[n]=e.a_attr[n]);for(e&&e.children&&e.children===!0&&(_.state.loaded=!1,_.children=[],_.children_d=[]),l[_.id]=_,n=0,o=_.children.length;o>n;n++)c=m(l[_.children[n]],_.id,r),h=l[c],_.children_d.push(c),h.children_d.length&&(_.children_d=_.children_d.concat(h.children_d));return delete e.data,delete e.children,l[_.id].original=e,_.state.selected&&a.push(_.id),_.id},v=function(e,i,r){r=r?r.concat():[],i&&r.unshift(i);var s=!1,n,h,_,u,g;do s="j"+o+"_"+ ++c;while(l[s]);g={id:!1,text:"string"==typeof e?e:"",icon:"object"==typeof e&&e.icon!==t?e.icon:!0,parent:i,parents:r,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(n in d)d.hasOwnProperty(n)&&(g.state[n]=d[n]);if(e&&e.id&&(g.id=""+e.id),e&&e.text&&(g.text=e.text),e&&e.data&&e.data.jstree&&e.data.jstree.icon&&(g.icon=e.data.jstree.icon),e&&e.data&&(g.data=e.data,e.data.jstree))for(n in e.data.jstree)e.data.jstree.hasOwnProperty(n)&&(g.state[n]=e.data.jstree[n]);if(e&&"object"==typeof e.state)for(n in e.state)e.state.hasOwnProperty(n)&&(g.state[n]=e.state[n]);if(e&&"object"==typeof e.li_attr)for(n in e.li_attr)e.li_attr.hasOwnProperty(n)&&(g.li_attr[n]=e.li_attr[n]);if(g.li_attr.id&&!g.id&&(g.id=""+g.li_attr.id),g.id||(g.id=s),g.li_attr.id||(g.li_attr.id=g.id),e&&"object"==typeof e.a_attr)for(n in e.a_attr)e.a_attr.hasOwnProperty(n)&&(g.a_attr[n]=e.a_attr[n]);if(e&&e.children&&e.children.length){for(n=0,h=e.children.length;h>n;n++)_=v(e.children[n],g.id,r),u=l[_],g.children.push(_),u.children_d.length&&(g.children_d=g.children_d.concat(u.children_d));g.children_d=g.children_d.concat(g.children)}return e&&e.children&&e.children===!0&&(g.state.loaded=!1,g.children=[],g.children_d=[]),delete e.data,delete e.children,g.original=e,l[g.id]=g,g.state.selected&&a.push(g.id),g.id};if(i.length&&i[0].id!==t&&i[0].parent!==t){for(g=0,f=i.length;f>g;g++)i[g].children||(i[g].children=[]),l[""+i[g].id]=i[g];for(g=0,f=i.length;f>g;g++)l[""+i[g].parent].children.push(""+i[g].id),h.children_d.push(""+i[g].id);for(g=0,f=h.children.length;f>g;g++)u=m(l[h.children[g]],r,h.parents.concat()),n.push(u),l[u].children_d.length&&(n=n.concat(l[u].children_d));for(g=0,f=h.parents.length;f>g;g++)l[h.parents[g]].children_d=l[h.parents[g]].children_d.concat(n);p={cnt:c,mod:l,sel:_,par:r,dpc:n,add:a}}else{for(g=0,f=i.length;f>g;g++)u=v(i[g],r,h.parents.concat()),u&&(s.push(u),n.push(u),l[u].children_d.length&&(n=n.concat(l[u].children_d)));for(h.children=s,h.children_d=n,g=0,f=h.parents.length;f>g;g++)l[h.parents[g]].children_d=l[h.parents[g]].children_d.concat(n);p={cnt:c,mod:l,sel:_,par:r,dpc:n,add:a}}return"undefined"!=typeof window&&window.document!==t?p:(postMessage(p),t)},o=function(t,i){if(this._cnt=t.cnt,this._model.data=t.mod,i){var s,n,a=t.add,d=t.sel,o=this._data.core.selected.slice(),c=this._model.data;if(d.length!==o.length||e.vakata.array_unique(d.concat(o)).length!==d.length){for(s=0,n=d.length;n>s;s++)-1===e.inArray(d[s],a)&&-1===e.inArray(d[s],o)&&(c[d[s]].state.selected=!1);for(s=0,n=o.length;n>s;s++)-1===e.inArray(o[s],d)&&(c[o[s]].state.selected=!0)}}t.add.length&&(this._data.core.selected=this._data.core.selected.concat(t.add)),this.trigger("model",{nodes:t.dpc,parent:t.par}),"#"!==t.par?(this._node_changed(t.par),this.redraw()):this.redraw(!0),t.add.length&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),r.call(this,!0)};if(this.settings.core.worker&&window.Blob&&window.URL&&window.Worker)try{null===this._wrk&&(this._wrk=window.URL.createObjectURL(new window.Blob(["self.onmessage = "+(""+d)],{type:"text/javascript"}))),!this._data.core.working||s?(this._data.core.working=!0,n=new window.Worker(this._wrk),n.onmessage=e.proxy(function(e){o.call(this,e.data,!0);try{n.terminate(),n=null}catch(t){}this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1},this),a.par?n.postMessage(a):this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1):this._data.core.worker_queue.push([t,i,r,!0])}catch(c){o.call(this,d(a),!1),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}else o.call(this,d(a),!1)},_parse_model_from_html:function(i,r,s){s=s?[].concat(s):[],r&&s.unshift(r);var n,a,d=this._model.data,o={id:!1,text:!1,icon:!0,parent:r,parents:s,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1},c,l,h;for(c in this._model.default_state)this._model.default_state.hasOwnProperty(c)&&(o.state[c]=this._model.default_state[c]);if(l=e.vakata.attributes(i,!0),e.each(l,function(i,r){return r=e.trim(r),r.length?(o.li_attr[i]=r,"id"===i&&(o.id=""+r),t):!0}),l=i.children("a").first(),l.length&&(l=e.vakata.attributes(l,!0),e.each(l,function(t,i){i=e.trim(i),i.length&&(o.a_attr[t]=i)})),l=i.children("a").first().length?i.children("a").first().clone():i.clone(),l.children("ins, i, ul").remove(),l=l.html(),l=e("
").html(l),o.text=this.settings.core.force_text?l.text():l.html(),l=i.data(),o.data=l?e.extend(!0,{},l):null,o.state.opened=i.hasClass("jstree-open"),o.state.selected=i.children("a").hasClass("jstree-clicked"),o.state.disabled=i.children("a").hasClass("jstree-disabled"),o.data&&o.data.jstree)for(c in o.data.jstree)o.data.jstree.hasOwnProperty(c)&&(o.state[c]=o.data.jstree[c]);l=i.children("a").children(".jstree-themeicon"),l.length&&(o.icon=l.hasClass("jstree-themeicon-hidden")?!1:l.attr("rel")),o.state.icon&&(o.icon=o.state.icon),l=i.children("ul").children("li");do h="j"+this._id+"_"+ ++this._cnt;while(d[h]);return o.id=o.li_attr.id?""+o.li_attr.id:h,l.length?(l.each(e.proxy(function(t,i){n=this._parse_model_from_html(e(i),o.id,s),a=this._model.data[n],o.children.push(n),a.children_d.length&&(o.children_d=o.children_d.concat(a.children_d))},this)),o.children_d=o.children_d.concat(o.children)):i.hasClass("jstree-closed")&&(o.state.loaded=!1),o.li_attr["class"]&&(o.li_attr["class"]=o.li_attr["class"].replace("jstree-closed","").replace("jstree-open","")),o.a_attr["class"]&&(o.a_attr["class"]=o.a_attr["class"].replace("jstree-clicked","").replace("jstree-disabled","")),d[o.id]=o,o.state.selected&&this._data.core.selected.push(o.id),o.id},_parse_model_from_flat_json:function(e,i,r){r=r?r.concat():[],i&&r.unshift(i);var s=""+e.id,n=this._model.data,a=this._model.default_state,d,o,c,l,h={id:s,text:e.text||"",icon:e.icon!==t?e.icon:!0,parent:i,parents:r,children:e.children||[],children_d:e.children_d||[],data:e.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(d in a)a.hasOwnProperty(d)&&(h.state[d]=a[d]);if(e&&e.data&&e.data.jstree&&e.data.jstree.icon&&(h.icon=e.data.jstree.icon),e&&e.data&&(h.data=e.data,e.data.jstree))for(d in e.data.jstree)e.data.jstree.hasOwnProperty(d)&&(h.state[d]=e.data.jstree[d]);if(e&&"object"==typeof e.state)for(d in e.state)e.state.hasOwnProperty(d)&&(h.state[d]=e.state[d]);if(e&&"object"==typeof e.li_attr)for(d in e.li_attr)e.li_attr.hasOwnProperty(d)&&(h.li_attr[d]=e.li_attr[d]);if(h.li_attr.id||(h.li_attr.id=s),e&&"object"==typeof e.a_attr)for(d in e.a_attr)e.a_attr.hasOwnProperty(d)&&(h.a_attr[d]=e.a_attr[d]);for(e&&e.children&&e.children===!0&&(h.state.loaded=!1,h.children=[],h.children_d=[]),n[h.id]=h,d=0,o=h.children.length;o>d;d++)c=this._parse_model_from_flat_json(n[h.children[d]],h.id,r),l=n[c],h.children_d.push(c),l.children_d.length&&(h.children_d=h.children_d.concat(l.children_d));return delete e.data,delete e.children,n[h.id].original=e,h.state.selected&&this._data.core.selected.push(h.id),h.id},_parse_model_from_json:function(e,i,r){r=r?r.concat():[],i&&r.unshift(i);var s=!1,n,a,d,o,c=this._model.data,l=this._model.default_state,h;do s="j"+this._id+"_"+ ++this._cnt;while(c[s]);h={id:!1,text:"string"==typeof e?e:"",icon:"object"==typeof e&&e.icon!==t?e.icon:!0,parent:i,parents:r,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(n in l)l.hasOwnProperty(n)&&(h.state[n]=l[n]);if(e&&e.id&&(h.id=""+e.id),e&&e.text&&(h.text=e.text),e&&e.data&&e.data.jstree&&e.data.jstree.icon&&(h.icon=e.data.jstree.icon),e&&e.data&&(h.data=e.data,e.data.jstree))for(n in e.data.jstree)e.data.jstree.hasOwnProperty(n)&&(h.state[n]=e.data.jstree[n]);if(e&&"object"==typeof e.state)for(n in e.state)e.state.hasOwnProperty(n)&&(h.state[n]=e.state[n]);if(e&&"object"==typeof e.li_attr)for(n in e.li_attr)e.li_attr.hasOwnProperty(n)&&(h.li_attr[n]=e.li_attr[n]);if(h.li_attr.id&&!h.id&&(h.id=""+h.li_attr.id),h.id||(h.id=s),h.li_attr.id||(h.li_attr.id=h.id),e&&"object"==typeof e.a_attr)for(n in e.a_attr)e.a_attr.hasOwnProperty(n)&&(h.a_attr[n]=e.a_attr[n]);if(e&&e.children&&e.children.length){for(n=0,a=e.children.length;a>n;n++)d=this._parse_model_from_json(e.children[n],h.id,r),o=c[d],h.children.push(d),o.children_d.length&&(h.children_d=h.children_d.concat(o.children_d));h.children_d=h.children_d.concat(h.children)}return e&&e.children&&e.children===!0&&(h.state.loaded=!1,h.children=[],h.children_d=[]),delete e.data,delete e.children,h.original=e,c[h.id]=h,h.state.selected&&this._data.core.selected.push(h.id),h.id},_redraw:function(){var e=this._model.force_full_redraw?this._model.data["#"].children.concat([]):this._model.changed.concat([]),t=document.createElement("UL"),i,r,s,n=this._data.core.focused;for(r=0,s=e.length;s>r;r++)i=this.redraw_node(e[r],!0,this._model.force_full_redraw),i&&this._model.force_full_redraw&&t.appendChild(i);this._model.force_full_redraw&&(t.className=this.get_container_ul()[0].className,t.setAttribute("role","group"),this.element.empty().append(t)),null!==n&&(i=this.get_node(n,!0),i&&i.length&&i.children(".jstree-anchor")[0]!==document.activeElement?i.children(".jstree-anchor").focus():this._data.core.focused=null),this._model.force_full_redraw=!1,this._model.changed=[],this.trigger("redraw",{nodes:e})},redraw:function(e){e&&(this._model.force_full_redraw=!0),this._redraw()},redraw_node:function(t,i,r,s){var n=this.get_node(t),a=!1,d=!1,o=!1,l=!1,h=!1,_=!1,u="",g=document,f=this._model.data,p=!1,m=!1,v=null;if(!n)return!1;if("#"===n.id)return this.redraw(!0);if(i=i||0===n.children.length,t=document.querySelector?this.element[0].querySelector("#"+(-1!=="0123456789".indexOf(n.id[0])?"\\3"+n.id[0]+" "+n.id.substr(1).replace(e.jstree.idregex,"\\$&"):n.id.replace(e.jstree.idregex,"\\$&"))):document.getElementById(n.id))t=e(t),r||(a=t.parent().parent()[0],a===this.element[0]&&(a=null),d=t.index()),i||!n.children.length||t.children(".jstree-children").length||(i=!0),i||(o=t.children(".jstree-children")[0]),p=t.children(".jstree-anchor")[0]===document.activeElement,t.remove();else if(i=!0,!r){if(a="#"!==n.parent?e("#"+n.parent.replace(e.jstree.idregex,"\\$&"),this.element)[0]:null,!(null===a||a&&f[n.parent].state.opened))return!1;d=e.inArray(n.id,null===a?f["#"].children:f[n.parent].children)}t=c.cloneNode(!0),u="jstree-node ";for(l in n.li_attr)if(n.li_attr.hasOwnProperty(l)){if("id"===l)continue;"class"!==l?t.setAttribute(l,n.li_attr[l]):u+=n.li_attr[l]}n.a_attr.id||(n.a_attr.id=n.id+"_anchor"),t.setAttribute("aria-selected",!!n.state.selected),t.setAttribute("aria-level",n.parents.length),t.setAttribute("aria-labelledby",n.a_attr.id),n.state.disabled&&t.setAttribute("aria-disabled",!0),n.state.loaded&&!n.children.length?u+=" jstree-leaf":(u+=n.state.opened&&n.state.loaded?" jstree-open":" jstree-closed",t.setAttribute("aria-expanded",n.state.opened&&n.state.loaded)),null!==n.parent&&f[n.parent].children[f[n.parent].children.length-1]===n.id&&(u+=" jstree-last"),t.id=n.id,t.className=u,u=(n.state.selected?" jstree-clicked":"")+(n.state.disabled?" jstree-disabled":"");for(h in n.a_attr)if(n.a_attr.hasOwnProperty(h)){if("href"===h&&"#"===n.a_attr[h])continue;"class"!==h?t.childNodes[1].setAttribute(h,n.a_attr[h]):u+=" "+n.a_attr[h]}if(u.length&&(t.childNodes[1].className="jstree-anchor "+u),(n.icon&&n.icon!==!0||n.icon===!1)&&(n.icon===!1?t.childNodes[1].childNodes[0].className+=" jstree-themeicon-hidden":-1===n.icon.indexOf("/")&&-1===n.icon.indexOf(".")?t.childNodes[1].childNodes[0].className+=" "+n.icon+" jstree-themeicon-custom":(t.childNodes[1].childNodes[0].style.backgroundImage="url("+n.icon+")",t.childNodes[1].childNodes[0].style.backgroundPosition="center center",t.childNodes[1].childNodes[0].style.backgroundSize="auto",t.childNodes[1].childNodes[0].className+=" jstree-themeicon-custom")),this.settings.core.force_text?t.childNodes[1].appendChild(g.createTextNode(n.text)):t.childNodes[1].innerHTML+=n.text,i&&n.children.length&&(n.state.opened||s)&&n.state.loaded){for(_=g.createElement("UL"),_.setAttribute("role","group"),_.className="jstree-children",l=0,h=n.children.length;h>l;l++)_.appendChild(this.redraw_node(n.children[l],i,!0));t.appendChild(_) -}if(o&&t.appendChild(o),!r){for(a||(a=this.element[0]),l=0,h=a.childNodes.length;h>l;l++)if(a.childNodes[l]&&a.childNodes[l].className&&-1!==a.childNodes[l].className.indexOf("jstree-children")){v=a.childNodes[l];break}v||(v=g.createElement("UL"),v.setAttribute("role","group"),v.className="jstree-children",a.appendChild(v)),a=v,a.childNodes.length>d?a.insertBefore(t,a.childNodes[d]):a.appendChild(t),p&&t.childNodes[1].focus()}return n.state.opened&&!n.state.loaded&&(n.state.opened=!1,setTimeout(e.proxy(function(){this.open_node(n.id,!1,0)},this),0)),t},open_node:function(i,r,s){var n,a,d,o;if(e.isArray(i)){for(i=i.slice(),n=0,a=i.length;a>n;n++)this.open_node(i[n],r,s);return!0}if(i=this.get_node(i),!i||"#"===i.id)return!1;if(s=s===t?this.settings.core.animation:s,!this.is_closed(i))return r&&r.call(this,i,!1),!1;if(this.is_loaded(i))d=this.get_node(i,!0),o=this,d.length&&(i.children.length&&!this._firstChild(d.children(".jstree-children")[0])&&(this.redraw_node(i,!0,!1,!0),d=this.get_node(i,!0)),s?(this.trigger("before_open",{node:i}),d.children(".jstree-children").css("display","none").end().removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded",!0).children(".jstree-children").stop(!0,!0).slideDown(s,function(){this.style.display="",o.trigger("after_open",{node:i})})):(this.trigger("before_open",{node:i}),d[0].className=d[0].className.replace("jstree-closed","jstree-open"),d[0].setAttribute("aria-expanded",!0))),i.state.opened=!0,r&&r.call(this,i,!0),d.length||this.trigger("before_open",{node:i}),this.trigger("open_node",{node:i}),s&&d.length||this.trigger("after_open",{node:i});else{if(this.is_loading(i))return setTimeout(e.proxy(function(){this.open_node(i,r,s)},this),500);this.load_node(i,function(e,t){return t?this.open_node(e,r,s):r?r.call(this,e,!1):!1})}},_open_to:function(t){if(t=this.get_node(t),!t||"#"===t.id)return!1;var i,r,s=t.parents;for(i=0,r=s.length;r>i;i+=1)"#"!==i&&this.open_node(s[i],!1,0);return e("#"+t.id.replace(e.jstree.idregex,"\\$&"),this.element)},close_node:function(i,r){var s,n,a,d;if(e.isArray(i)){for(i=i.slice(),s=0,n=i.length;n>s;s++)this.close_node(i[s],r);return!0}return i=this.get_node(i),i&&"#"!==i.id?this.is_closed(i)?!1:(r=r===t?this.settings.core.animation:r,a=this,d=this.get_node(i,!0),d.length&&(r?d.children(".jstree-children").attr("style","display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded",!1).children(".jstree-children").stop(!0,!0).slideUp(r,function(){this.style.display="",d.children(".jstree-children").remove(),a.trigger("after_close",{node:i})}):(d[0].className=d[0].className.replace("jstree-open","jstree-closed"),d.attr("aria-expanded",!1).children(".jstree-children").remove())),i.state.opened=!1,this.trigger("close_node",{node:i}),r&&d.length||this.trigger("after_close",{node:i}),t):!1},toggle_node:function(i){var r,s;if(e.isArray(i)){for(i=i.slice(),r=0,s=i.length;s>r;r++)this.toggle_node(i[r]);return!0}return this.is_closed(i)?this.open_node(i):this.is_open(i)?this.close_node(i):t},open_all:function(e,t,i){if(e||(e="#"),e=this.get_node(e),!e)return!1;var r="#"===e.id?this.get_container_ul():this.get_node(e,!0),s,n,a;if(!r.length){for(s=0,n=e.children_d.length;n>s;s++)this.is_closed(this._model.data[e.children_d[s]])&&(this._model.data[e.children_d[s]].state.opened=!0);return this.trigger("open_all",{node:e})}i=i||r,a=this,r=this.is_closed(e)?r.find(".jstree-closed").addBack():r.find(".jstree-closed"),r.each(function(){a.open_node(this,function(e,r){r&&this.is_parent(e)&&this.open_all(e,t,i)},t||0)}),0===i.find(".jstree-closed").length&&this.trigger("open_all",{node:this.get_node(i)})},close_all:function(t,i){if(t||(t="#"),t=this.get_node(t),!t)return!1;var r="#"===t.id?this.get_container_ul():this.get_node(t,!0),s=this,n,a;if(!r.length){for(n=0,a=t.children_d.length;a>n;n++)this._model.data[t.children_d[n]].state.opened=!1;return this.trigger("close_all",{node:t})}r=this.is_open(t)?r.find(".jstree-open").addBack():r.find(".jstree-open"),e(r.get().reverse()).each(function(){s.close_node(this,i||0)}),this.trigger("close_all",{node:t})},is_disabled:function(e){return e=this.get_node(e),e&&e.state&&e.state.disabled},enable_node:function(i){var r,s;if(e.isArray(i)){for(i=i.slice(),r=0,s=i.length;s>r;r++)this.enable_node(i[r]);return!0}return i=this.get_node(i),i&&"#"!==i.id?(i.state.disabled=!1,this.get_node(i,!0).children(".jstree-anchor").removeClass("jstree-disabled").attr("aria-disabled",!1),this.trigger("enable_node",{node:i}),t):!1},disable_node:function(i){var r,s;if(e.isArray(i)){for(i=i.slice(),r=0,s=i.length;s>r;r++)this.disable_node(i[r]);return!0}return i=this.get_node(i),i&&"#"!==i.id?(i.state.disabled=!0,this.get_node(i,!0).children(".jstree-anchor").addClass("jstree-disabled").attr("aria-disabled",!0),this.trigger("disable_node",{node:i}),t):!1},activate_node:function(e,i){if(this.is_disabled(e))return!1;if(this._data.core.last_clicked=this._data.core.last_clicked&&this._data.core.last_clicked.id!==t?this.get_node(this._data.core.last_clicked.id):null,this._data.core.last_clicked&&!this._data.core.last_clicked.state.selected&&(this._data.core.last_clicked=null),!this._data.core.last_clicked&&this._data.core.selected.length&&(this._data.core.last_clicked=this.get_node(this._data.core.selected[this._data.core.selected.length-1])),this.settings.core.multiple&&(i.metaKey||i.ctrlKey||i.shiftKey)&&(!i.shiftKey||this._data.core.last_clicked&&this.get_parent(e)&&this.get_parent(e)===this._data.core.last_clicked.parent))if(i.shiftKey){var r=this.get_node(e).id,s=this._data.core.last_clicked.id,n=this.get_node(this._data.core.last_clicked.parent).children,a=!1,d,o;for(d=0,o=n.length;o>d;d+=1)n[d]===r&&(a=!a),n[d]===s&&(a=!a),a||n[d]===r||n[d]===s?this.select_node(n[d],!0,!1,i):this.deselect_node(n[d],!0,i);this.trigger("changed",{action:"select_node",node:this.get_node(e),selected:this._data.core.selected,event:i})}else this.is_selected(e)?this.deselect_node(e,!1,i):this.select_node(e,!1,!1,i);else!this.settings.core.multiple&&(i.metaKey||i.ctrlKey||i.shiftKey)&&this.is_selected(e)?this.deselect_node(e,!1,i):(this.deselect_all(!0),this.select_node(e,!1,!1,i),this._data.core.last_clicked=this.get_node(e));this.trigger("activate_node",{node:this.get_node(e)})},hover_node:function(e){if(e=this.get_node(e,!0),!e||!e.length||e.children(".jstree-hovered").length)return!1;var t=this.element.find(".jstree-hovered"),i=this.element;t&&t.length&&this.dehover_node(t),e.children(".jstree-anchor").addClass("jstree-hovered"),this.trigger("hover_node",{node:this.get_node(e)}),setTimeout(function(){i.attr("aria-activedescendant",e[0].id)},0)},dehover_node:function(e){return e=this.get_node(e,!0),e&&e.length&&e.children(".jstree-hovered").length?(e.children(".jstree-anchor").removeClass("jstree-hovered"),this.trigger("dehover_node",{node:this.get_node(e)}),t):!1},select_node:function(i,r,s,n){var a,d,o,c;if(e.isArray(i)){for(i=i.slice(),d=0,o=i.length;o>d;d++)this.select_node(i[d],r,s,n);return!0}return i=this.get_node(i),i&&"#"!==i.id?(a=this.get_node(i,!0),i.state.selected||(i.state.selected=!0,this._data.core.selected.push(i.id),s||(a=this._open_to(i)),a&&a.length&&a.attr("aria-selected",!0).children(".jstree-anchor").addClass("jstree-clicked"),this.trigger("select_node",{node:i,selected:this._data.core.selected,event:n}),r||this.trigger("changed",{action:"select_node",node:i,selected:this._data.core.selected,event:n})),t):!1},deselect_node:function(i,r,s){var n,a,d;if(e.isArray(i)){for(i=i.slice(),n=0,a=i.length;a>n;n++)this.deselect_node(i[n],r,s);return!0}return i=this.get_node(i),i&&"#"!==i.id?(d=this.get_node(i,!0),i.state.selected&&(i.state.selected=!1,this._data.core.selected=e.vakata.array_remove_item(this._data.core.selected,i.id),d.length&&d.attr("aria-selected",!1).children(".jstree-anchor").removeClass("jstree-clicked"),this.trigger("deselect_node",{node:i,selected:this._data.core.selected,event:s}),r||this.trigger("changed",{action:"deselect_node",node:i,selected:this._data.core.selected,event:s})),t):!1},select_all:function(e){var t=this._data.core.selected.concat([]),i,r;for(this._data.core.selected=this._model.data["#"].children_d.concat(),i=0,r=this._data.core.selected.length;r>i;i++)this._model.data[this._data.core.selected[i]]&&(this._model.data[this._data.core.selected[i]].state.selected=!0);this.redraw(!0),this.trigger("select_all",{selected:this._data.core.selected}),e||this.trigger("changed",{action:"select_all",selected:this._data.core.selected,old_selection:t})},deselect_all:function(e){var t=this._data.core.selected.concat([]),i,r;for(i=0,r=this._data.core.selected.length;r>i;i++)this._model.data[this._data.core.selected[i]]&&(this._model.data[this._data.core.selected[i]].state.selected=!1);this._data.core.selected=[],this.element.find(".jstree-clicked").removeClass("jstree-clicked").parent().attr("aria-selected",!1),this.trigger("deselect_all",{selected:this._data.core.selected,node:t}),e||this.trigger("changed",{action:"deselect_all",selected:this._data.core.selected,old_selection:t})},is_selected:function(e){return e=this.get_node(e),e&&"#"!==e.id?e.state.selected:!1},get_selected:function(t){return t?e.map(this._data.core.selected,e.proxy(function(e){return this.get_node(e)},this)):this._data.core.selected.slice()},get_top_selected:function(t){var i=this.get_selected(!0),r={},s,n,a,d;for(s=0,n=i.length;n>s;s++)r[i[s].id]=i[s];for(s=0,n=i.length;n>s;s++)for(a=0,d=i[s].children_d.length;d>a;a++)r[i[s].children_d[a]]&&delete r[i[s].children_d[a]];i=[];for(s in r)r.hasOwnProperty(s)&&i.push(s);return t?e.map(i,e.proxy(function(e){return this.get_node(e)},this)):i},get_bottom_selected:function(t){var i=this.get_selected(!0),r=[],s,n;for(s=0,n=i.length;n>s;s++)i[s].children.length||r.push(i[s].id);return t?e.map(r,e.proxy(function(e){return this.get_node(e)},this)):r},get_state:function(){var e={core:{open:[],scroll:{left:this.element.scrollLeft(),top:this.element.scrollTop()},selected:[]}},t;for(t in this._model.data)this._model.data.hasOwnProperty(t)&&"#"!==t&&(this._model.data[t].state.opened&&e.core.open.push(t),this._model.data[t].state.selected&&e.core.selected.push(t));return e},set_state:function(i,r){if(i){if(i.core){var s,n,a,d;if(i.core.open)return e.isArray(i.core.open)?(s=!0,n=!1,a=this,e.each(i.core.open.concat([]),function(t,d){n=a.get_node(d),n&&(a.is_loaded(d)?(a.is_closed(d)&&a.open_node(d,!1,0),i&&i.core&&i.core.open&&e.vakata.array_remove_item(i.core.open,d)):(a.is_loading(d)||a.open_node(d,e.proxy(function(t,s){!s&&i&&i.core&&i.core.open&&e.vakata.array_remove_item(i.core.open,t.id),this.set_state(i,r)},a),0),s=!1))}),s&&(delete i.core.open,this.set_state(i,r)),!1):(delete i.core.open,this.set_state(i,r),!1);if(i.core.scroll)return i.core.scroll&&i.core.scroll.left!==t&&this.element.scrollLeft(i.core.scroll.left),i.core.scroll&&i.core.scroll.top!==t&&this.element.scrollTop(i.core.scroll.top),delete i.core.scroll,this.set_state(i,r),!1;if(i.core.selected)return d=this,this.deselect_all(),e.each(i.core.selected,function(e,t){d.select_node(t)}),delete i.core.selected,this.set_state(i,r),!1;if(e.isEmptyObject(i.core))return delete i.core,this.set_state(i,r),!1}return e.isEmptyObject(i)?(i=null,r&&r.call(this),this.trigger("set_state"),!1):!0}return!1},refresh:function(t,i){this._data.core.state=i===!0?{}:this.get_state(),i&&e.isFunction(i)&&(this._data.core.state=i.call(this,this._data.core.state)),this._cnt=0,this._model.data={"#":{id:"#",parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}}};var r=this.get_container_ul()[0].className;t||(this.element.html(""),this.element.attr("aria-activedescendant","j"+this._id+"_loading")),this.load_node("#",function(t,i){i&&(this.get_container_ul()[0].className=r,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.set_state(e.extend(!0,{},this._data.core.state),function(){this.trigger("refresh")})),this._data.core.state=null})},refresh_node:function(t){if(t=this.get_node(t),!t||"#"===t.id)return!1;var i=[],r=[],s=this._data.core.selected.concat([]);r.push(t.id),t.state.opened===!0&&i.push(t.id),this.get_node(t,!0).find(".jstree-open").each(function(){i.push(this.id)}),this._load_nodes(r,e.proxy(function(e){this.open_node(i,!1,0),this.select_node(this._data.core.selected),this.trigger("refresh_node",{node:t,nodes:e})},this))},set_id:function(t,i){if(t=this.get_node(t),!t||"#"===t.id)return!1;var r,s,n=this._model.data;for(i=""+i,n[t.parent].children[e.inArray(t.id,n[t.parent].children)]=i,r=0,s=t.parents.length;s>r;r++)n[t.parents[r]].children_d[e.inArray(t.id,n[t.parents[r]].children_d)]=i;for(r=0,s=t.children.length;s>r;r++)n[t.children[r]].parent=i;for(r=0,s=t.children_d.length;s>r;r++)n[t.children_d[r]].parents[e.inArray(t.id,n[t.children_d[r]].parents)]=i;return r=e.inArray(t.id,this._data.core.selected),-1!==r&&(this._data.core.selected[r]=i),r=this.get_node(t.id,!0),r&&r.attr("id",i),delete n[t.id],t.id=i,n[i]=t,!0},get_text:function(e){return e=this.get_node(e),e&&"#"!==e.id?e.text:!1},set_text:function(t,i){var r,s;if(e.isArray(t)){for(t=t.slice(),r=0,s=t.length;s>r;r++)this.set_text(t[r],i);return!0}return t=this.get_node(t),t&&"#"!==t.id?(t.text=i,this.get_node(t,!0).length&&this.redraw_node(t.id),this.trigger("set_text",{obj:t,text:i}),!0):!1},get_json:function(t,i,r){if(t=this.get_node(t||"#"),!t)return!1;i&&i.flat&&!r&&(r=[]);var s={id:t.id,text:t.text,icon:this.get_icon(t),li_attr:e.extend(!0,{},t.li_attr),a_attr:e.extend(!0,{},t.a_attr),state:{},data:i&&i.no_data?!1:e.extend(!0,{},t.data)},n,a;if(i&&i.flat?s.parent=t.parent:s.children=[],!i||!i.no_state)for(n in t.state)t.state.hasOwnProperty(n)&&(s.state[n]=t.state[n]);if(i&&i.no_id&&(delete s.id,s.li_attr&&s.li_attr.id&&delete s.li_attr.id,s.a_attr&&s.a_attr.id&&delete s.a_attr.id),i&&i.flat&&"#"!==t.id&&r.push(s),!i||!i.no_children)for(n=0,a=t.children.length;a>n;n++)i&&i.flat?this.get_json(t.children[n],i,r):s.children.push(this.get_json(t.children[n],i));return i&&i.flat?r:"#"===t.id?s.children:s},create_node:function(i,r,s,n,a){if(null===i&&(i="#"),i=this.get_node(i),!i)return!1;if(s=s===t?"last":s,!(""+s).match(/^(before|after)$/)&&!a&&!this.is_loaded(i))return this.load_node(i,function(){this.create_node(i,r,s,n,!0)});r||(r={text:this.get_string("New node")}),r.text===t&&(r.text=this.get_string("New node"));var d,o,c,l;switch("#"===i.id&&("before"===s&&(s="first"),"after"===s&&(s="last")),s){case"before":d=this.get_node(i.parent),s=e.inArray(i.id,d.children),i=d;break;case"after":d=this.get_node(i.parent),s=e.inArray(i.id,d.children)+1,i=d;break;case"inside":case"first":s=0;break;case"last":s=i.children.length;break;default:s||(s=0)}if(s>i.children.length&&(s=i.children.length),r.id||(r.id=!0),!this.check("create_node",r,i,s))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(r.id===!0&&delete r.id,r=this._parse_model_from_json(r,i.id,i.parents.concat()),!r)return!1;for(d=this.get_node(r),o=[],o.push(r),o=o.concat(d.children_d),this.trigger("model",{nodes:o,parent:i.id}),i.children_d=i.children_d.concat(o),c=0,l=i.parents.length;l>c;c++)this._model.data[i.parents[c]].children_d=this._model.data[i.parents[c]].children_d.concat(o);for(r=d,d=[],c=0,l=i.children.length;l>c;c++)d[c>=s?c+1:c]=i.children[c];return d[s]=r.id,i.children=d,this.redraw_node(i,!0),n&&n.call(this,this.get_node(r)),this.trigger("create_node",{node:this.get_node(r),parent:i.id,position:s}),r.id},rename_node:function(t,i){var r,s,n;if(e.isArray(t)){for(t=t.slice(),r=0,s=t.length;s>r;r++)this.rename_node(t[r],i);return!0}return t=this.get_node(t),t&&"#"!==t.id?(n=t.text,this.check("rename_node",t,this.get_parent(t),i)?(this.set_text(t,i),this.trigger("rename_node",{node:t,text:i,old:n}),!0):(this.settings.core.error.call(this,this._data.core.last_error),!1)):!1},delete_node:function(t){var i,r,s,n,a,d,o,c,l,h;if(e.isArray(t)){for(t=t.slice(),i=0,r=t.length;r>i;i++)this.delete_node(t[i]);return!0}if(t=this.get_node(t),!t||"#"===t.id)return!1;if(s=this.get_node(t.parent),n=e.inArray(t.id,s.children),h=!1,!this.check("delete_node",t,s,n))return this.settings.core.error.call(this,this._data.core.last_error),!1;for(-1!==n&&(s.children=e.vakata.array_remove(s.children,n)),a=t.children_d.concat([]),a.push(t.id),c=0,l=a.length;l>c;c++){for(d=0,o=t.parents.length;o>d;d++)n=e.inArray(a[c],this._model.data[t.parents[d]].children_d),-1!==n&&(this._model.data[t.parents[d]].children_d=e.vakata.array_remove(this._model.data[t.parents[d]].children_d,n));this._model.data[a[c]].state.selected&&(h=!0,n=e.inArray(a[c],this._data.core.selected),-1!==n&&(this._data.core.selected=e.vakata.array_remove(this._data.core.selected,n)))}for(this.trigger("delete_node",{node:t,parent:s.id}),h&&this.trigger("changed",{action:"delete_node",node:t,selected:this._data.core.selected,parent:s.id}),c=0,l=a.length;l>c;c++)delete this._model.data[a[c]];return this.redraw_node(s,!0),!0},check:function(t,i,r,s,n){i=i&&i.id?i:this.get_node(i),r=r&&r.id?r:this.get_node(r);var a=t.match(/^move_node|copy_node|create_node$/i)?r:i,d=this.settings.core.check_callback;return"move_node"!==t&&"copy_node"!==t||n&&n.is_multi||i.id!==r.id&&e.inArray(i.id,r.children)!==s&&-1===e.inArray(r.id,i.children_d)?(a&&a.data&&(a=a.data),a&&a.functions&&(a.functions[t]===!1||a.functions[t]===!0)?(a.functions[t]===!1&&(this._data.core.last_error={error:"check",plugin:"core",id:"core_02",reason:"Node data prevents function: "+t,data:JSON.stringify({chk:t,pos:s,obj:i&&i.id?i.id:!1,par:r&&r.id?r.id:!1})}),a.functions[t]):d===!1||e.isFunction(d)&&d.call(this,t,i,r,s,n)===!1||d&&d[t]===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_03",reason:"User config for core.check_callback prevents function: "+t,data:JSON.stringify({chk:t,pos:s,obj:i&&i.id?i.id:!1,par:r&&r.id?r.id:!1})},!1):!0):(this._data.core.last_error={error:"check",plugin:"core",id:"core_01",reason:"Moving parent inside child",data:JSON.stringify({chk:t,pos:s,obj:i&&i.id?i.id:!1,par:r&&r.id?r.id:!1})},!1)},last_error:function(){return this._data.core.last_error},move_node:function(i,r,s,n,a,d){var o,c,l,h,_,u,g,f,p,m,v,j,y,k;if(r=this.get_node(r),s=s===t?0:s,!r)return!1;if(!(""+s).match(/^(before|after)$/)&&!a&&!this.is_loaded(r))return this.load_node(r,function(){this.move_node(i,r,s,n,!0)});if(e.isArray(i)){for(i=i.slice(),o=0,c=i.length;c>o;o++)this.move_node(i[o],r,s,n,a,!0)&&(r=i[o],s="after");return this.redraw(),!0}if(i=i&&i.id?i:this.get_node(i),!i||"#"===i.id)return!1;if(l=""+(i.parent||"#"),_=(""+s).match(/^(before|after)$/)&&"#"!==r.id?this.get_node(r.parent):r,u=i.instance?i.instance:this._model.data[i.id]?this:e.jstree.reference(i.id),g=!u||!u._id||this._id!==u._id,h=u&&u._id&&l&&u._model.data[l]&&u._model.data[l].children?e.inArray(i.id,u._model.data[l].children):-1,g)return this.copy_node(i,r,s,n,a)?(u&&u.delete_node(i),!0):!1;switch("#"===r.id&&("before"===s&&(s="first"),"after"===s&&(s="last")),s){case"before":s=e.inArray(r.id,_.children);break;case"after":s=e.inArray(r.id,_.children)+1;break;case"inside":case"first":s=0;break;case"last":s=_.children.length;break;default:s||(s=0)}if(s>_.children.length&&(s=_.children.length),!this.check("move_node",i,_,s,{core:!0,is_multi:u&&u._id&&u._id!==this._id,is_foreign:!u||!u._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(i.parent===_.id){for(f=_.children.concat(),p=e.inArray(i.id,f),-1!==p&&(f=e.vakata.array_remove(f,p),s>p&&s--),p=[],m=0,v=f.length;v>m;m++)p[m>=s?m+1:m]=f[m];p[s]=i.id,_.children=p,this._node_changed(_.id),this.redraw("#"===_.id)}else{for(p=i.children_d.concat(),p.push(i.id),m=0,v=i.parents.length;v>m;m++){for(f=[],k=u._model.data[i.parents[m]].children_d,j=0,y=k.length;y>j;j++)-1===e.inArray(k[j],p)&&f.push(k[j]);u._model.data[i.parents[m]].children_d=f}for(u._model.data[l].children=e.vakata.array_remove_item(u._model.data[l].children,i.id),m=0,v=_.parents.length;v>m;m++)this._model.data[_.parents[m]].children_d=this._model.data[_.parents[m]].children_d.concat(p);for(f=[],m=0,v=_.children.length;v>m;m++)f[m>=s?m+1:m]=_.children[m];for(f[s]=i.id,_.children=f,_.children_d.push(i.id),_.children_d=_.children_d.concat(i.children_d),i.parent=_.id,p=_.parents.concat(),p.unshift(_.id),k=i.parents.length,i.parents=p,p=p.concat(),m=0,v=i.children_d.length;v>m;m++)this._model.data[i.children_d[m]].parents=this._model.data[i.children_d[m]].parents.slice(0,-1*k),Array.prototype.push.apply(this._model.data[i.children_d[m]].parents,p);("#"===l||"#"===_.id)&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||(this._node_changed(l),this._node_changed(_.id)),d||this.redraw()}return n&&n.call(this,i,_,s),this.trigger("move_node",{node:i,parent:_.id,position:s,old_parent:l,old_position:h,is_multi:u&&u._id&&u._id!==this._id,is_foreign:!u||!u._id,old_instance:u,new_instance:this}),!0},copy_node:function(i,r,s,n,a,d){var o,c,l,h,_,u,g,f,p,m,v;if(r=this.get_node(r),s=s===t?0:s,!r)return!1;if(!(""+s).match(/^(before|after)$/)&&!a&&!this.is_loaded(r))return this.load_node(r,function(){this.copy_node(i,r,s,n,!0)});if(e.isArray(i)){for(i=i.slice(),o=0,c=i.length;c>o;o++)h=this.copy_node(i[o],r,s,n,a,!0),h&&(r=h,s="after");return this.redraw(),!0}if(i=i&&i.id?i:this.get_node(i),!i||"#"===i.id)return!1;switch(f=""+(i.parent||"#"),p=(""+s).match(/^(before|after)$/)&&"#"!==r.id?this.get_node(r.parent):r,m=i.instance?i.instance:this._model.data[i.id]?this:e.jstree.reference(i.id),v=!m||!m._id||this._id!==m._id,"#"===r.id&&("before"===s&&(s="first"),"after"===s&&(s="last")),s){case"before":s=e.inArray(r.id,p.children);break;case"after":s=e.inArray(r.id,p.children)+1;break;case"inside":case"first":s=0;break;case"last":s=p.children.length;break;default:s||(s=0)}if(s>p.children.length&&(s=p.children.length),!this.check("copy_node",i,p,s,{core:!0,is_multi:m&&m._id&&m._id!==this._id,is_foreign:!m||!m._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(g=m?m.get_json(i,{no_id:!0,no_data:!0,no_state:!0}):i,!g)return!1;if(g.id===!0&&delete g.id,g=this._parse_model_from_json(g,p.id,p.parents.concat()),!g)return!1;for(h=this.get_node(g),i&&i.state&&i.state.loaded===!1&&(h.state.loaded=!1),l=[],l.push(g),l=l.concat(h.children_d),this.trigger("model",{nodes:l,parent:p.id}),_=0,u=p.parents.length;u>_;_++)this._model.data[p.parents[_]].children_d=this._model.data[p.parents[_]].children_d.concat(l);for(l=[],_=0,u=p.children.length;u>_;_++)l[_>=s?_+1:_]=p.children[_];return l[s]=h.id,p.children=l,p.children_d.push(h.id),p.children_d=p.children_d.concat(h.children_d),"#"===p.id&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||this._node_changed(p.id),d||this.redraw("#"===p.id),n&&n.call(this,h,p,s),this.trigger("copy_node",{node:h,original:i,parent:p.id,position:s,old_parent:f,old_position:m&&m._id&&f&&m._model.data[f]&&m._model.data[f].children?e.inArray(i.id,m._model.data[f].children):-1,is_multi:m&&m._id&&m._id!==this._id,is_foreign:!m||!m._id,old_instance:m,new_instance:this}),h.id},cut:function(i){if(i||(i=this._data.core.selected.concat()),e.isArray(i)||(i=[i]),!i.length)return!1;var a=[],d,o,c;for(o=0,c=i.length;c>o;o++)d=this.get_node(i[o]),d&&d.id&&"#"!==d.id&&a.push(d);return a.length?(r=a,n=this,s="move_node",this.trigger("cut",{node:i}),t):!1},copy:function(i){if(i||(i=this._data.core.selected.concat()),e.isArray(i)||(i=[i]),!i.length)return!1;var a=[],d,o,c;for(o=0,c=i.length;c>o;o++)d=this.get_node(i[o]),d&&d.id&&"#"!==d.id&&a.push(d);return a.length?(r=a,n=this,s="copy_node",this.trigger("copy",{node:i}),t):!1},get_buffer:function(){return{mode:s,node:r,inst:n}},can_paste:function(){return s!==!1&&r!==!1},paste:function(e,i){return e=this.get_node(e),e&&s&&s.match(/^(copy_node|move_node)$/)&&r?(this[s](r,e,i)&&this.trigger("paste",{parent:e.id,node:r,mode:s}),r=!1,s=!1,n=!1,t):!1},clear_buffer:function(){r=!1,s=!1,n=!1,this.trigger("clear_buffer")},edit:function(i,r){if(i=this.get_node(i),!i)return!1;if(this.settings.core.check_callback===!1)return this._data.core.last_error={error:"check",plugin:"core",id:"core_07",reason:"Could not edit node because of check_callback"},this.settings.core.error.call(this,this._data.core.last_error),!1;r="string"==typeof r?r:i.text,this.set_text(i,""),i=this._open_to(i);var s=this._data.core.rtl,n=this.element.width(),a=i.children(".jstree-anchor"),d=e(""),o=r,c=e("
",{css:{position:"absolute",top:"-200px",left:s?"0px":"-1000px",visibility:"hidden"}}).appendTo("body"),l=e("",{value:o,"class":"jstree-rename-input",css:{padding:"0",border:"1px solid silver","box-sizing":"border-box",display:"inline-block",height:this._data.core.li_height+"px",lineHeight:this._data.core.li_height+"px",width:"150px"},blur:e.proxy(function(){var t=d.children(".jstree-rename-input"),r=t.val();""===r&&(r=o),c.remove(),d.replaceWith(a),d.remove(),this.set_text(i,o),this.rename_node(i,e("
").text(r)[this.settings.core.force_text?"text":"html"]())===!1&&this.set_text(i,o)},this),keydown:function(e){var t=e.which;27===t&&(this.value=o),(27===t||13===t||37===t||38===t||39===t||40===t||32===t)&&e.stopImmediatePropagation(),(27===t||13===t)&&(e.preventDefault(),this.blur())},click:function(e){e.stopImmediatePropagation()},mousedown:function(e){e.stopImmediatePropagation()},keyup:function(e){l.width(Math.min(c.text("pW"+this.value).width(),n))},keypress:function(e){return 13===e.which?!1:t}}),h={fontFamily:a.css("fontFamily")||"",fontSize:a.css("fontSize")||"",fontWeight:a.css("fontWeight")||"",fontStyle:a.css("fontStyle")||"",fontStretch:a.css("fontStretch")||"",fontVariant:a.css("fontVariant")||"",letterSpacing:a.css("letterSpacing")||"",wordSpacing:a.css("wordSpacing")||""};d.attr("class",a.attr("class")).append(a.contents().clone()).append(l),a.replaceWith(d),c.css(h),l.css(h).width(Math.min(c.text("pW"+l[0].value).width(),n))[0].select()},set_theme:function(t,i){if(!t)return!1;if(i===!0){var r=this.settings.core.themes.dir;r||(r=e.jstree.path+"/themes"),i=r+"/"+t+"/style.css"}i&&-1===e.inArray(i,a)&&(e("head").append(''),a.push(i)),this._data.core.themes.name&&this.element.removeClass("jstree-"+this._data.core.themes.name),this._data.core.themes.name=t,this.element.addClass("jstree-"+t),this.element[this.settings.core.themes.responsive?"addClass":"removeClass"]("jstree-"+t+"-responsive"),this.trigger("set_theme",{theme:t})},get_theme:function(){return this._data.core.themes.name},set_theme_variant:function(e){this._data.core.themes.variant&&this.element.removeClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant),this._data.core.themes.variant=e,e&&this.element.addClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant)},get_theme_variant:function(){return this._data.core.themes.variant},show_stripes:function(){this._data.core.themes.stripes=!0,this.get_container_ul().addClass("jstree-striped")},hide_stripes:function(){this._data.core.themes.stripes=!1,this.get_container_ul().removeClass("jstree-striped")},toggle_stripes:function(){this._data.core.themes.stripes?this.hide_stripes():this.show_stripes()},show_dots:function(){this._data.core.themes.dots=!0,this.get_container_ul().removeClass("jstree-no-dots")},hide_dots:function(){this._data.core.themes.dots=!1,this.get_container_ul().addClass("jstree-no-dots")},toggle_dots:function(){this._data.core.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this._data.core.themes.icons=!0,this.get_container_ul().removeClass("jstree-no-icons")},hide_icons:function(){this._data.core.themes.icons=!1,this.get_container_ul().addClass("jstree-no-icons")},toggle_icons:function(){this._data.core.themes.icons?this.hide_icons():this.show_icons()},set_icon:function(t,i){var r,s,n,a;if(e.isArray(t)){for(t=t.slice(),r=0,s=t.length;s>r;r++)this.set_icon(t[r],i);return!0}return t=this.get_node(t),t&&"#"!==t.id?(a=t.icon,t.icon=i,n=this.get_node(t,!0).children(".jstree-anchor").children(".jstree-themeicon"),i===!1?this.hide_icon(t):i===!0?(n.removeClass("jstree-themeicon-custom "+a).css("background","").removeAttr("rel"),a===!1&&this.show_icon(t)):-1===i.indexOf("/")&&-1===i.indexOf(".")?(n.removeClass(a).css("background",""),n.addClass(i+" jstree-themeicon-custom").attr("rel",i),a===!1&&this.show_icon(t)):(n.removeClass(a).css("background",""),n.addClass("jstree-themeicon-custom").css("background","url('"+i+"') center center no-repeat").attr("rel",i),a===!1&&this.show_icon(t)),!0):!1},get_icon:function(e){return e=this.get_node(e),e&&"#"!==e.id?e.icon:!1},hide_icon:function(t){var i,r;if(e.isArray(t)){for(t=t.slice(),i=0,r=t.length;r>i;i++)this.hide_icon(t[i]);return!0}return t=this.get_node(t),t&&"#"!==t?(t.icon=!1,this.get_node(t,!0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"),!0):!1},show_icon:function(t){var i,r,s;if(e.isArray(t)){for(t=t.slice(),i=0,r=t.length;r>i;i++)this.show_icon(t[i]);return!0}return t=this.get_node(t),t&&"#"!==t?(s=this.get_node(t,!0),t.icon=s.length?s.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"):!0,t.icon||(t.icon=!0),s.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"),!0):!1}},e.vakata={},e.vakata.attributes=function(t,i){t=e(t)[0];var r=i?{}:[];return t&&t.attributes&&e.each(t.attributes,function(t,s){-1===e.inArray(s.name.toLowerCase(),["style","contenteditable","hasfocus","tabindex"])&&null!==s.value&&""!==e.trim(s.value)&&(i?r[s.name]=s.value:r.push(s.name))}),r},e.vakata.array_unique=function(e){var t=[],i,r,s;for(i=0,s=e.length;s>i;i++){for(r=0;i>=r;r++)if(e[i]===e[r])break;r===i&&t.push(e[i])}return t},e.vakata.array_remove=function(e,t,i){var r=e.slice((i||t)+1||e.length);return e.length=0>t?e.length+t:t,e.push.apply(e,r),e},e.vakata.array_remove_item=function(t,i){var r=e.inArray(i,t);return-1!==r?e.vakata.array_remove(t,r):t};var _=document.createElement("I");_.className="jstree-icon jstree-checkbox",_.setAttribute("role","presentation"),e.jstree.defaults.checkbox={visible:!0,three_state:!0,whole_node:!0,keep_selected_style:!0,cascade:"",tie_selection:!0},e.jstree.plugins.checkbox=function(i,r){this.bind=function(){r.bind.call(this),this._data.checkbox.uto=!1,this._data.checkbox.selected=[],this.settings.checkbox.three_state&&(this.settings.checkbox.cascade="up+down+undetermined"),this.element.on("init.jstree",e.proxy(function(){this._data.checkbox.visible=this.settings.checkbox.visible,this.settings.checkbox.keep_selected_style||this.element.addClass("jstree-checkbox-no-clicked"),this.settings.checkbox.tie_selection&&this.element.addClass("jstree-checkbox-selection")},this)).on("loading.jstree",e.proxy(function(){this[this._data.checkbox.visible?"show_checkboxes":"hide_checkboxes"]()},this)),-1!==this.settings.checkbox.cascade.indexOf("undetermined")&&this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree",e.proxy(function(){this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(e.proxy(this._undetermined,this),50)},this)),this.settings.checkbox.tie_selection||this.element.on("model.jstree",e.proxy(function(e,t){var i=this._model.data,r=i[t.parent],s=t.nodes,n,a;for(n=0,a=s.length;a>n;n++)i[s[n]].state.checked=i[s[n]].original&&i[s[n]].original.state&&i[s[n]].original.state.checked,i[s[n]].state.checked&&this._data.checkbox.selected.push(s[n])},this)),(-1!==this.settings.checkbox.cascade.indexOf("up")||-1!==this.settings.checkbox.cascade.indexOf("down"))&&this.element.on("model.jstree",e.proxy(function(t,i){var r=this._model.data,s=r[i.parent],n=i.nodes,a=[],d,o,c,l,h,_,u=this.settings.checkbox.cascade,g=this.settings.checkbox.tie_selection; -if(-1!==u.indexOf("down"))if(s.state[g?"selected":"checked"]){for(o=0,c=n.length;c>o;o++)r[n[o]].state[g?"selected":"checked"]=!0;this._data[g?"core":"checkbox"].selected=this._data[g?"core":"checkbox"].selected.concat(n)}else for(o=0,c=n.length;c>o;o++)if(r[n[o]].state[g?"selected":"checked"]){for(l=0,h=r[n[o]].children_d.length;h>l;l++)r[r[n[o]].children_d[l]].state[g?"selected":"checked"]=!0;this._data[g?"core":"checkbox"].selected=this._data[g?"core":"checkbox"].selected.concat(r[n[o]].children_d)}if(-1!==u.indexOf("up")){for(o=0,c=s.children_d.length;c>o;o++)r[s.children_d[o]].children.length||a.push(r[s.children_d[o]].parent);for(a=e.vakata.array_unique(a),l=0,h=a.length;h>l;l++){s=r[a[l]];while(s&&"#"!==s.id){for(d=0,o=0,c=s.children.length;c>o;o++)d+=r[s.children[o]].state[g?"selected":"checked"];if(d!==c)break;s.state[g?"selected":"checked"]=!0,this._data[g?"core":"checkbox"].selected.push(s.id),_=this.get_node(s,!0),_&&_.length&&_.attr("aria-selected",!0).children(".jstree-anchor").addClass(g?"jstree-clicked":"jstree-checked"),s=this.get_node(s.parent)}}}this._data[g?"core":"checkbox"].selected=e.vakata.array_unique(this._data[g?"core":"checkbox"].selected)},this)).on(this.settings.checkbox.tie_selection?"select_node.jstree":"check_node.jstree",e.proxy(function(t,i){var r=i.node,s=this._model.data,n=this.get_node(r.parent),a=this.get_node(r,!0),d,o,c,l,h=this.settings.checkbox.cascade,_=this.settings.checkbox.tie_selection;if(-1!==h.indexOf("down"))for(this._data[_?"core":"checkbox"].selected=e.vakata.array_unique(this._data[_?"core":"checkbox"].selected.concat(r.children_d)),d=0,o=r.children_d.length;o>d;d++)l=s[r.children_d[d]],l.state[_?"selected":"checked"]=!0,l&&l.original&&l.original.state&&l.original.state.undetermined&&(l.original.state.undetermined=!1);if(-1!==h.indexOf("up"))while(n&&"#"!==n.id){for(c=0,d=0,o=n.children.length;o>d;d++)c+=s[n.children[d]].state[_?"selected":"checked"];if(c!==o)break;n.state[_?"selected":"checked"]=!0,this._data[_?"core":"checkbox"].selected.push(n.id),l=this.get_node(n,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(_?"jstree-clicked":"jstree-checked"),n=this.get_node(n.parent)}-1!==h.indexOf("down")&&a.length&&a.find(".jstree-anchor").addClass(_?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!0)},this)).on(this.settings.checkbox.tie_selection?"deselect_all.jstree":"uncheck_all.jstree",e.proxy(function(e,t){var i=this.get_node("#"),r=this._model.data,s,n,a;for(s=0,n=i.children_d.length;n>s;s++)a=r[i.children_d[s]],a&&a.original&&a.original.state&&a.original.state.undetermined&&(a.original.state.undetermined=!1)},this)).on(this.settings.checkbox.tie_selection?"deselect_node.jstree":"uncheck_node.jstree",e.proxy(function(t,i){var r=i.node,s=this.get_node(r,!0),n,a,d,o=this.settings.checkbox.cascade,c=this.settings.checkbox.tie_selection;if(r&&r.original&&r.original.state&&r.original.state.undetermined&&(r.original.state.undetermined=!1),-1!==o.indexOf("down"))for(n=0,a=r.children_d.length;a>n;n++)d=this._model.data[r.children_d[n]],d.state[c?"selected":"checked"]=!1,d&&d.original&&d.original.state&&d.original.state.undetermined&&(d.original.state.undetermined=!1);if(-1!==o.indexOf("up"))for(n=0,a=r.parents.length;a>n;n++)d=this._model.data[r.parents[n]],d.state[c?"selected":"checked"]=!1,d&&d.original&&d.original.state&&d.original.state.undetermined&&(d.original.state.undetermined=!1),d=this.get_node(r.parents[n],!0),d&&d.length&&d.attr("aria-selected",!1).children(".jstree-anchor").removeClass(c?"jstree-clicked":"jstree-checked");for(d=[],n=0,a=this._data[c?"core":"checkbox"].selected.length;a>n;n++)-1!==o.indexOf("down")&&-1!==e.inArray(this._data[c?"core":"checkbox"].selected[n],r.children_d)||-1!==o.indexOf("up")&&-1!==e.inArray(this._data[c?"core":"checkbox"].selected[n],r.parents)||d.push(this._data[c?"core":"checkbox"].selected[n]);this._data[c?"core":"checkbox"].selected=e.vakata.array_unique(d),-1!==o.indexOf("down")&&s.length&&s.find(".jstree-anchor").removeClass(c?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!1)},this)),-1!==this.settings.checkbox.cascade.indexOf("up")&&this.element.on("delete_node.jstree",e.proxy(function(e,t){var i=this.get_node(t.parent),r=this._model.data,s,n,a,d,o=this.settings.checkbox.tie_selection;while(i&&"#"!==i.id){for(a=0,s=0,n=i.children.length;n>s;s++)a+=r[i.children[s]].state[o?"selected":"checked"];if(a!==n)break;i.state[o?"selected":"checked"]=!0,this._data[o?"core":"checkbox"].selected.push(i.id),d=this.get_node(i,!0),d&&d.length&&d.attr("aria-selected",!0).children(".jstree-anchor").addClass(o?"jstree-clicked":"jstree-checked"),i=this.get_node(i.parent)}},this)).on("move_node.jstree",e.proxy(function(t,i){var r=i.is_multi,s=i.old_parent,n=this.get_node(i.parent),a=this._model.data,d,o,c,l,h,_=this.settings.checkbox.tie_selection;if(!r){d=this.get_node(s);while(d&&"#"!==d.id){for(o=0,c=0,l=d.children.length;l>c;c++)o+=a[d.children[c]].state[_?"selected":"checked"];if(o!==l)break;d.state[_?"selected":"checked"]=!0,this._data[_?"core":"checkbox"].selected.push(d.id),h=this.get_node(d,!0),h&&h.length&&h.attr("aria-selected",!0).children(".jstree-anchor").addClass(_?"jstree-clicked":"jstree-checked"),d=this.get_node(d.parent)}}d=n;while(d&&"#"!==d.id){for(o=0,c=0,l=d.children.length;l>c;c++)o+=a[d.children[c]].state[_?"selected":"checked"];if(o===l)d.state[_?"selected":"checked"]||(d.state[_?"selected":"checked"]=!0,this._data[_?"core":"checkbox"].selected.push(d.id),h=this.get_node(d,!0),h&&h.length&&h.attr("aria-selected",!0).children(".jstree-anchor").addClass(_?"jstree-clicked":"jstree-checked"));else{if(!d.state[_?"selected":"checked"])break;d.state[_?"selected":"checked"]=!1,this._data[_?"core":"checkbox"].selected=e.vakata.array_remove_item(this._data[_?"core":"checkbox"].selected,d.id),h=this.get_node(d,!0),h&&h.length&&h.attr("aria-selected",!1).children(".jstree-anchor").removeClass(_?"jstree-clicked":"jstree-checked")}d=this.get_node(d.parent)}},this))},this._undetermined=function(){var t,i,r=this._model.data,s=this.settings.checkbox.tie_selection,n=this._data[s?"core":"checkbox"].selected,a=[],d=this;for(t=0,i=n.length;i>t;t++)r[n[t]]&&r[n[t]].parents&&(a=a.concat(r[n[t]].parents));for(this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function(){var e=d.get_node(this),s;if(e.state.loaded)for(t=0,i=e.children_d.length;i>t;t++)s=r[e.children_d[t]],!s.state.loaded&&s.original&&s.original.state&&s.original.state.undetermined&&s.original.state.undetermined===!0&&(a.push(s.id),a=a.concat(s.parents));else e.original&&e.original.state&&e.original.state.undetermined&&e.original.state.undetermined===!0&&(a.push(e.id),a=a.concat(e.parents))}),a=e.vakata.array_unique(a),a=e.vakata.array_remove_item(a,"#"),this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"),t=0,i=a.length;i>t;t++)r[a[t]].state[s?"selected":"checked"]||(n=this.get_node(a[t],!0),n&&n.length&&n.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined"))},this.redraw_node=function(t,i,s,n){if(t=r.redraw_node.apply(this,arguments)){var a,d,o=null;for(a=0,d=t.childNodes.length;d>a;a++)if(t.childNodes[a]&&t.childNodes[a].className&&-1!==t.childNodes[a].className.indexOf("jstree-anchor")){o=t.childNodes[a];break}o&&(!this.settings.checkbox.tie_selection&&this._model.data[t.id].state.checked&&(o.className+=" jstree-checked"),o.insertBefore(_.cloneNode(!1),o.childNodes[0]))}return s||-1===this.settings.checkbox.cascade.indexOf("undetermined")||(this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(e.proxy(this._undetermined,this),50)),t},this.show_checkboxes=function(){this._data.core.themes.checkboxes=!0,this.get_container_ul().removeClass("jstree-no-checkboxes")},this.hide_checkboxes=function(){this._data.core.themes.checkboxes=!1,this.get_container_ul().addClass("jstree-no-checkboxes")},this.toggle_checkboxes=function(){this._data.core.themes.checkboxes?this.hide_checkboxes():this.show_checkboxes()},this.is_undetermined=function(t){t=this.get_node(t);var i=this.settings.checkbox.cascade,r,s,n=this.settings.checkbox.tie_selection,a=this._data[n?"core":"checkbox"].selected,d=this._model.data;if(!t||t.state[n?"selected":"checked"]===!0||-1===i.indexOf("undetermined")||-1===i.indexOf("down")&&-1===i.indexOf("up"))return!1;if(!t.state.loaded&&t.original.state.undetermined===!0)return!0;for(r=0,s=t.children_d.length;s>r;r++)if(-1!==e.inArray(t.children_d[r],a)||!d[t.children_d[r]].state.loaded&&d[t.children_d[r]].original.state.undetermined)return!0;return!1},this.activate_node=function(i,s){return this.settings.checkbox.tie_selection&&(this.settings.checkbox.whole_node||e(s.target).hasClass("jstree-checkbox"))&&(s.ctrlKey=!0),this.settings.checkbox.tie_selection||!this.settings.checkbox.whole_node&&!e(s.target).hasClass("jstree-checkbox")?r.activate_node.call(this,i,s):(this.is_checked(i)?this.uncheck_node(i,s):this.check_node(i,s),this.trigger("activate_node",{node:this.get_node(i)}),t)},this.check_node=function(i,r){if(this.settings.checkbox.tie_selection)return this.select_node(i,!1,!0,r);var s,n,a,d;if(e.isArray(i)){for(i=i.slice(),n=0,a=i.length;a>n;n++)this.check_node(i[n],r);return!0}return i=this.get_node(i),i&&"#"!==i.id?(s=this.get_node(i,!0),i.state.checked||(i.state.checked=!0,this._data.checkbox.selected.push(i.id),s&&s.length&&s.children(".jstree-anchor").addClass("jstree-checked"),this.trigger("check_node",{node:i,selected:this._data.checkbox.selected,event:r})),t):!1},this.uncheck_node=function(i,r){if(this.settings.checkbox.tie_selection)return this.deselect_node(i,!1,r);var s,n,a;if(e.isArray(i)){for(i=i.slice(),s=0,n=i.length;n>s;s++)this.uncheck_node(i[s],r);return!0}return i=this.get_node(i),i&&"#"!==i.id?(a=this.get_node(i,!0),i.state.checked&&(i.state.checked=!1,this._data.checkbox.selected=e.vakata.array_remove_item(this._data.checkbox.selected,i.id),a.length&&a.children(".jstree-anchor").removeClass("jstree-checked"),this.trigger("uncheck_node",{node:i,selected:this._data.checkbox.selected,event:r})),t):!1},this.check_all=function(){if(this.settings.checkbox.tie_selection)return this.select_all();var e=this._data.checkbox.selected.concat([]),t,i;for(this._data.checkbox.selected=this._model.data["#"].children_d.concat(),t=0,i=this._data.checkbox.selected.length;i>t;t++)this._model.data[this._data.checkbox.selected[t]]&&(this._model.data[this._data.checkbox.selected[t]].state.checked=!0);this.redraw(!0),this.trigger("check_all",{selected:this._data.checkbox.selected})},this.uncheck_all=function(){if(this.settings.checkbox.tie_selection)return this.deselect_all();var e=this._data.checkbox.selected.concat([]),t,i;for(t=0,i=this._data.checkbox.selected.length;i>t;t++)this._model.data[this._data.checkbox.selected[t]]&&(this._model.data[this._data.checkbox.selected[t]].state.checked=!1);this._data.checkbox.selected=[],this.element.find(".jstree-checked").removeClass("jstree-checked"),this.trigger("uncheck_all",{selected:this._data.checkbox.selected,node:e})},this.is_checked=function(e){return this.settings.checkbox.tie_selection?this.is_selected(e):(e=this.get_node(e),e&&"#"!==e.id?e.state.checked:!1)},this.get_checked=function(t){return this.settings.checkbox.tie_selection?this.get_selected(t):t?e.map(this._data.checkbox.selected,e.proxy(function(e){return this.get_node(e)},this)):this._data.checkbox.selected},this.get_top_checked=function(t){if(this.settings.checkbox.tie_selection)return this.get_top_selected(t);var i=this.get_checked(!0),r={},s,n,a,d;for(s=0,n=i.length;n>s;s++)r[i[s].id]=i[s];for(s=0,n=i.length;n>s;s++)for(a=0,d=i[s].children_d.length;d>a;a++)r[i[s].children_d[a]]&&delete r[i[s].children_d[a]];i=[];for(s in r)r.hasOwnProperty(s)&&i.push(s);return t?e.map(i,e.proxy(function(e){return this.get_node(e)},this)):i},this.get_bottom_checked=function(t){if(this.settings.checkbox.tie_selection)return this.get_bottom_selected(t);var i=this.get_checked(!0),r=[],s,n;for(s=0,n=i.length;n>s;s++)i[s].children.length||r.push(i[s].id);return t?e.map(r,e.proxy(function(e){return this.get_node(e)},this)):r}},e.jstree.defaults.contextmenu={select_node:!0,show_at_node:!0,items:function(t,i){return{create:{separator_before:!1,separator_after:!0,_disabled:!1,label:"Create",action:function(t){var i=e.jstree.reference(t.reference),r=i.get_node(t.reference);i.create_node(r,{},"last",function(e){setTimeout(function(){i.edit(e)},0)})}},rename:{separator_before:!1,separator_after:!1,_disabled:!1,label:"Rename",action:function(t){var i=e.jstree.reference(t.reference),r=i.get_node(t.reference);i.edit(r)}},remove:{separator_before:!1,icon:!1,separator_after:!1,_disabled:!1,label:"Delete",action:function(t){var i=e.jstree.reference(t.reference),r=i.get_node(t.reference);i.is_selected(r)?i.delete_node(i.get_selected()):i.delete_node(r)}},ccp:{separator_before:!0,icon:!1,separator_after:!1,label:"Edit",action:!1,submenu:{cut:{separator_before:!1,separator_after:!1,label:"Cut",action:function(t){var i=e.jstree.reference(t.reference),r=i.get_node(t.reference);i.is_selected(r)?i.cut(i.get_selected()):i.cut(r)}},copy:{separator_before:!1,icon:!1,separator_after:!1,label:"Copy",action:function(t){var i=e.jstree.reference(t.reference),r=i.get_node(t.reference);i.is_selected(r)?i.copy(i.get_selected()):i.copy(r)}},paste:{separator_before:!1,icon:!1,_disabled:function(t){return!e.jstree.reference(t.reference).can_paste()},separator_after:!1,label:"Paste",action:function(t){var i=e.jstree.reference(t.reference),r=i.get_node(t.reference);i.paste(r)}}}}}}},e.jstree.plugins.contextmenu=function(i,r){this.bind=function(){r.bind.call(this);var t=0;this.element.on("contextmenu.jstree",".jstree-anchor",e.proxy(function(e){e.preventDefault(),t=e.ctrlKey?e.timeStamp:0,this.is_loading(e.currentTarget)||this.show_contextmenu(e.currentTarget,e.pageX,e.pageY,e)},this)).on("click.jstree",".jstree-anchor",e.proxy(function(i){this._data.contextmenu.visible&&(!t||i.timeStamp-t>250)&&e.vakata.context.hide()},this)),e(document).on("context_hide.vakata.jstree",e.proxy(function(){this._data.contextmenu.visible=!1},this))},this.teardown=function(){this._data.contextmenu.visible&&e.vakata.context.hide(),r.teardown.call(this)},this.show_contextmenu=function(i,r,s,n){if(i=this.get_node(i),!i||"#"===i.id)return!1;var a=this.settings.contextmenu,d=this.get_node(i,!0),o=d.children(".jstree-anchor"),c=!1,l=!1;(a.show_at_node||r===t||s===t)&&(c=o.offset(),r=c.left,s=c.top+this._data.core.li_height),this.settings.contextmenu.select_node&&!this.is_selected(i)&&this.activate_node(i,n),l=a.items,e.isFunction(l)&&(l=l.call(this,i,e.proxy(function(e){this._show_contextmenu(i,r,s,e)},this))),e.isPlainObject(l)&&this._show_contextmenu(i,r,s,l)},this._show_contextmenu=function(t,i,r,s){var n=this.get_node(t,!0),a=n.children(".jstree-anchor");e(document).one("context_show.vakata.jstree",e.proxy(function(t,i){var r="jstree-contextmenu jstree-"+this.get_theme()+"-contextmenu";e(i.element).addClass(r)},this)),this._data.contextmenu.visible=!0,e.vakata.context.show(a,{x:i,y:r},s),this.trigger("show_contextmenu",{node:t,x:i,y:r})}},function(e){var i=!1,r={element:!1,reference:!1,position_x:0,position_y:0,items:[],html:"",is_visible:!1};e.vakata.context={settings:{hide_onmouseleave:0,icons:!0},_trigger:function(t){e(document).triggerHandler("context_"+t+".vakata",{reference:r.reference,element:r.element,position:{x:r.position_x,y:r.position_y}})},_execute:function(t){return t=r.items[t],t&&(!t._disabled||e.isFunction(t._disabled)&&!t._disabled({item:t,reference:r.reference,element:r.element}))&&t.action?t.action.call(null,{item:t,reference:r.reference,element:r.element,position:{x:r.position_x,y:r.position_y}}):!1},_parse:function(i,s){if(!i)return!1;s||(r.html="",r.items=[]);var n="",a=!1,d;return s&&(n+=""),s||(r.html=n,e.vakata.context._trigger("parse")),n.length>10?n:!1},_show_submenu:function(t){if(t=e(t),t.length&&t.children("ul").length){var r=t.children("ul"),s=t.offset().left+t.outerWidth(),n=t.offset().top,a=r.width(),d=r.height(),o=e(window).width()+e(window).scrollLeft(),c=e(window).height()+e(window).scrollTop();i?t[0>s-(a+10+t.outerWidth())?"addClass":"removeClass"]("vakata-context-left"):t[s+a+10>o?"addClass":"removeClass"]("vakata-context-right"),n+d+10>c&&r.css("bottom","-1px"),r.show()}},show:function(t,s,n){var a,d,o,c,l,h,_,u,g=!0;switch(r.element&&r.element.length&&r.element.width(""),g){case!s&&!t:return!1;case!!s&&!!t:r.reference=t,r.position_x=s.x,r.position_y=s.y;break;case!s&&!!t:r.reference=t,a=t.offset(),r.position_x=a.left+t.outerHeight(),r.position_y=a.top;break;case!!s&&!t:r.position_x=s.x,r.position_y=s.y}t&&!n&&e(t).data("vakata_contextmenu")&&(n=e(t).data("vakata_contextmenu")),e.vakata.context._parse(n)&&r.element.html(r.html),r.items.length&&(r.element.appendTo("body"),d=r.element,o=r.position_x,c=r.position_y,l=d.width(),h=d.height(),_=e(window).width()+e(window).scrollLeft(),u=e(window).height()+e(window).scrollTop(),i&&(o-=d.outerWidth(),e(window).scrollLeft()+20>o&&(o=e(window).scrollLeft()+20)),o+l+20>_&&(o=_-(l+20)),c+h+20>u&&(c=u-(h+20)),r.element.css({left:o,top:c}).show().find("a").first().focus().parent().addClass("vakata-context-hover"),r.is_visible=!0,e.vakata.context._trigger("show"))},hide:function(){r.is_visible&&(r.element.hide().find("ul").hide().end().find(":focus").blur().end().detach(),r.is_visible=!1,e.vakata.context._trigger("hide"))}},e(function(){i="rtl"===e("body").css("direction");var t=!1;r.element=e("
    "),r.element.on("mouseenter","li",function(i){i.stopImmediatePropagation(),e.contains(this,i.relatedTarget)||(t&&clearTimeout(t),r.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(),e(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context","li").addBack().addClass("vakata-context-hover"),e.vakata.context._show_submenu(this))}).on("mouseleave","li",function(t){e.contains(this,t.relatedTarget)||e(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")}).on("mouseleave",function(i){e(this).find(".vakata-context-hover").removeClass("vakata-context-hover"),e.vakata.context.settings.hide_onmouseleave&&(t=setTimeout(function(t){return function(){e.vakata.context.hide()}}(this),e.vakata.context.settings.hide_onmouseleave))}).on("click","a",function(t){t.preventDefault(),e(this).blur().parent().hasClass("vakata-context-disabled")||e.vakata.context._execute(e(this).attr("rel"))===!1||e.vakata.context.hide()}).on("keydown","a",function(t){var i=null;switch(t.which){case 13:case 32:t.type="mouseup",t.preventDefault(),e(t.currentTarget).trigger(t);break;case 37:r.is_visible&&(r.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").focus(),t.stopImmediatePropagation(),t.preventDefault());break;case 38:r.is_visible&&(i=r.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(),i.length||(i=r.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()),i.addClass("vakata-context-hover").children("a").focus(),t.stopImmediatePropagation(),t.preventDefault());break;case 39:r.is_visible&&(r.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").focus(),t.stopImmediatePropagation(),t.preventDefault());break;case 40:r.is_visible&&(i=r.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(),i.length||(i=r.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()),i.addClass("vakata-context-hover").children("a").focus(),t.stopImmediatePropagation(),t.preventDefault());break;case 27:e.vakata.context.hide(),t.preventDefault();break;default:}}).on("keydown",function(e){e.preventDefault();var t=r.element.find(".vakata-contextmenu-shortcut-"+e.which).parent();t.parent().not(".vakata-context-disabled")&&t.click()}),e(document).on("mousedown.vakata.jstree",function(t){r.is_visible&&!e.contains(r.element[0],t.target)&&e.vakata.context.hide()}).on("context_show.vakata.jstree",function(e,t){r.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"),i&&r.element.addClass("vakata-context-rtl").css("direction","rtl"),r.element.find("ul").hide().end()})})}(e),e.jstree.defaults.dnd={copy:!0,open_timeout:500,is_draggable:!0,check_while_dragging:!0,always_copy:!1,inside_pos:0},e.jstree.plugins.dnd=function(i,r){this.bind=function(){r.bind.call(this),this.element.on("mousedown.jstree touchstart.jstree",".jstree-anchor",e.proxy(function(i){var r=this.get_node(i.target),s=this.is_selected(r)?this.get_selected().length:1;return r&&r.id&&"#"!==r.id&&(1===i.which||"touchstart"===i.type)&&(this.settings.dnd.is_draggable===!0||e.isFunction(this.settings.dnd.is_draggable)&&this.settings.dnd.is_draggable.call(this,s>1?this.get_selected(!0):[r]))?(this.element.trigger("mousedown.jstree"),e.vakata.dnd.start(i,{jstree:!0,origin:this,obj:this.get_node(r,!0),nodes:s>1?this.get_selected():[r.id]},'
    '+(s>1?s+" "+this.get_string("nodes"):this.get_text(i.currentTarget,!0))+'
    ')):t},this))}},e(function(){var i=!1,r=!1,s=!1,n=e('
     
    ').hide();e(document).on("dnd_start.vakata.jstree",function(e,t){i=!1,t&&t.data&&t.data.jstree&&n.appendTo("body")}).on("dnd_move.vakata.jstree",function(a,d){if(s&&clearTimeout(s),d&&d.data&&d.data.jstree&&(!d.event.target.id||"jstree-marker"!==d.event.target.id)){var o=e.jstree.reference(d.event.target),c=!1,l=!1,h=!1,_,u,g,f,p,m,v,j,y,k,x,b,w,C;if(o&&o._data&&o._data.dnd)if(n.attr("class","jstree-"+o.get_theme()+(o.settings.core.themes.responsive?" jstree-dnd-responsive":"")),d.helper.children().attr("class","jstree-"+o.get_theme()+" jstree-"+o.get_theme()+"-"+o.get_theme_variant()+" "+(o.settings.core.themes.responsive?" jstree-dnd-responsive":"")).find(".jstree-copy").first()[d.data.origin&&(d.data.origin.settings.dnd.always_copy||d.data.origin.settings.dnd.copy&&(d.event.metaKey||d.event.ctrlKey))?"show":"hide"](),d.event.target!==o.element[0]&&d.event.target!==o.get_container_ul()[0]||0!==o.get_container_ul().children().length){if(c=e(d.event.target).closest(".jstree-anchor"),c&&c.length&&c.parent().is(".jstree-closed, .jstree-open, .jstree-leaf")&&(l=c.offset(),h=d.event.pageY-l.top,g=c.height(),m=g/3>h?["b","i","a"]:h>g-g/3?["a","i","b"]:h>g/2?["i","a","b"]:["i","b","a"],e.each(m,function(a,h){switch(h){case"b":_=l.left-6,u=l.top,f=o.get_parent(c),p=c.parent().index();break;case"i":w=o.settings.dnd.inside_pos,C=o.get_node(c.parent()),_=l.left-2,u=l.top+g/2+1,f=C.id,p="first"===w?0:"last"===w?C.children.length:Math.min(w,C.children.length);break;case"a":_=l.left-6,u=l.top+g,f=o.get_parent(c),p=c.parent().index()+1}for(v=!0,j=0,y=d.data.nodes.length;y>j;j++)if(k=d.data.origin&&(d.data.origin.settings.dnd.always_copy||d.data.origin.settings.dnd.copy&&(d.event.metaKey||d.event.ctrlKey))?"copy_node":"move_node",x=p,"move_node"===k&&"a"===h&&d.data.origin&&d.data.origin===o&&f===o.get_parent(d.data.nodes[j])&&(b=o.get_node(f),x>e.inArray(d.data.nodes[j],b.children)&&(x-=1)),v=v&&(o&&o.settings&&o.settings.dnd&&o.settings.dnd.check_while_dragging===!1||o.check(k,d.data.origin&&d.data.origin!==o?d.data.origin.get_node(d.data.nodes[j]):d.data.nodes[j],f,x,{dnd:!0,ref:o.get_node(c.parent()),pos:h,is_multi:d.data.origin&&d.data.origin!==o,is_foreign:!d.data.origin})),!v){o&&o.last_error&&(r=o.last_error());break}return"i"===h&&c.parent().is(".jstree-closed")&&o.settings.dnd.open_timeout&&(s=setTimeout(function(e,t){return function(){e.open_node(t)}}(o,c),o.settings.dnd.open_timeout)),v?(i={ins:o,par:f,pos:"i"!==h||"last"!==w||0!==p||o.is_loaded(C)?p:"last"},n.css({left:_+"px",top:u+"px"}).show(),d.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),r={},m=!0,!1):t}),m===!0))return}else{for(v=!0,j=0,y=d.data.nodes.length;y>j;j++)if(v=v&&o.check(d.data.origin&&(d.data.origin.settings.dnd.always_copy||d.data.origin.settings.dnd.copy&&(d.event.metaKey||d.event.ctrlKey))?"copy_node":"move_node",d.data.origin&&d.data.origin!==o?d.data.origin.get_node(d.data.nodes[j]):d.data.nodes[j],"#","last",{dnd:!0,ref:o.get_node("#"),pos:"i",is_multi:d.data.origin&&d.data.origin!==o,is_foreign:!d.data.origin}),!v)break;if(v)return i={ins:o,par:"#",pos:"last"},n.hide(),d.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),t}i=!1,d.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),n.hide()}}).on("dnd_scroll.vakata.jstree",function(e,t){t&&t.data&&t.data.jstree&&(n.hide(),i=!1,t.helper.find(".jstree-icon").first().removeClass("jstree-ok").addClass("jstree-er"))}).on("dnd_stop.vakata.jstree",function(t,a){if(s&&clearTimeout(s),a&&a.data&&a.data.jstree){n.hide().detach();var d,o,c=[];if(i){for(d=0,o=a.data.nodes.length;o>d;d++)c[d]=a.data.origin?a.data.origin.get_node(a.data.nodes[d]):a.data.nodes[d],a.data.origin&&(c[d].instance=a.data.origin);for(i.ins[a.data.origin&&(a.data.origin.settings.dnd.always_copy||a.data.origin.settings.dnd.copy&&(a.event.metaKey||a.event.ctrlKey))?"copy_node":"move_node"](c,i.par,i.pos),d=0,o=c.length;o>d;d++)c[d].instance&&(c[d].instance=null)}else d=e(a.event.target).closest(".jstree"),d.length&&r&&r.error&&"check"===r.error&&(d=d.jstree(!0),d&&d.settings.core.error.call(this,r))}}).on("keyup.jstree keydown.jstree",function(t,i){i=e.vakata.dnd._get(),i&&i.data&&i.data.jstree&&i.helper.find(".jstree-copy").first()[i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(t.metaKey||t.ctrlKey))?"show":"hide"]()})}),function(e){var i={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1};e.vakata.dnd={settings:{scroll_speed:10,scroll_proximity:20,helper_left:5,helper_top:10,threshold:5,threshold_touch:50},_trigger:function(t,i){var r=e.vakata.dnd._get();r.event=i,e(document).triggerHandler("dnd_"+t+".vakata",r)},_get:function(){return{data:i.data,element:i.element,helper:i.helper}},_clean:function(){i.helper&&i.helper.remove(),i.scroll_i&&(clearInterval(i.scroll_i),i.scroll_i=!1),i={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1},e(document).off("mousemove.vakata.jstree touchmove.vakata.jstree",e.vakata.dnd.drag),e(document).off("mouseup.vakata.jstree touchend.vakata.jstree",e.vakata.dnd.stop)},_scroll:function(t){if(!i.scroll_e||!i.scroll_l&&!i.scroll_t)return i.scroll_i&&(clearInterval(i.scroll_i),i.scroll_i=!1),!1;if(!i.scroll_i)return i.scroll_i=setInterval(e.vakata.dnd._scroll,100),!1;if(t===!0)return!1;var r=i.scroll_e.scrollTop(),s=i.scroll_e.scrollLeft();i.scroll_e.scrollTop(r+i.scroll_t*e.vakata.dnd.settings.scroll_speed),i.scroll_e.scrollLeft(s+i.scroll_l*e.vakata.dnd.settings.scroll_speed),(r!==i.scroll_e.scrollTop()||s!==i.scroll_e.scrollLeft())&&e.vakata.dnd._trigger("scroll",i.scroll_e)},start:function(t,r,s){"touchstart"===t.type&&t.originalEvent&&t.originalEvent.changedTouches&&t.originalEvent.changedTouches[0]&&(t.pageX=t.originalEvent.changedTouches[0].pageX,t.pageY=t.originalEvent.changedTouches[0].pageY,t.target=document.elementFromPoint(t.originalEvent.changedTouches[0].pageX-window.pageXOffset,t.originalEvent.changedTouches[0].pageY-window.pageYOffset)),i.is_drag&&e.vakata.dnd.stop({});try{t.currentTarget.unselectable="on",t.currentTarget.onselectstart=function(){return!1},t.currentTarget.style&&(t.currentTarget.style.MozUserSelect="none")}catch(n){}return i.init_x=t.pageX,i.init_y=t.pageY,i.data=r,i.is_down=!0,i.element=t.currentTarget,i.target=t.target,i.is_touch="touchstart"===t.type,s!==!1&&(i.helper=e("
    ").html(s).css({display:"block",margin:"0",padding:"0",position:"absolute",top:"-2000px",lineHeight:"16px",zIndex:"10000"})),e(document).on("mousemove.vakata.jstree touchmove.vakata.jstree",e.vakata.dnd.drag),e(document).on("mouseup.vakata.jstree touchend.vakata.jstree",e.vakata.dnd.stop),!1},drag:function(r){if("touchmove"===r.type&&r.originalEvent&&r.originalEvent.changedTouches&&r.originalEvent.changedTouches[0]&&(r.pageX=r.originalEvent.changedTouches[0].pageX,r.pageY=r.originalEvent.changedTouches[0].pageY,r.target=document.elementFromPoint(r.originalEvent.changedTouches[0].pageX-window.pageXOffset,r.originalEvent.changedTouches[0].pageY-window.pageYOffset)),i.is_down){if(!i.is_drag){if(!(Math.abs(r.pageX-i.init_x)>(i.is_touch?e.vakata.dnd.settings.threshold_touch:e.vakata.dnd.settings.threshold)||Math.abs(r.pageY-i.init_y)>(i.is_touch?e.vakata.dnd.settings.threshold_touch:e.vakata.dnd.settings.threshold)))return;i.helper&&(i.helper.appendTo("body"),i.helper_w=i.helper.outerWidth()),i.is_drag=!0,e.vakata.dnd._trigger("start",r)}var s=!1,n=!1,a=!1,d=!1,o=!1,c=!1,l=!1,h=!1,_=!1,u=!1;return i.scroll_t=0,i.scroll_l=0,i.scroll_e=!1,e(e(r.target).parentsUntil("body").addBack().get().reverse()).filter(function(){return/^auto|scroll$/.test(e(this).css("overflow"))&&(this.scrollHeight>this.offsetHeight||this.scrollWidth>this.offsetWidth)}).each(function(){var s=e(this),n=s.offset();return this.scrollHeight>this.offsetHeight&&(n.top+s.height()-r.pageYthis.offsetWidth&&(n.left+s.width()-r.pageXd&&r.pageY-ld&&d-(r.pageY-l)c&&r.pageX-hc&&c-(r.pageX-h)a&&(_=a-50),o&&u+i.helper_w>o&&(u=o-(i.helper_w+2)),i.helper.css({left:u+"px",top:_+"px"})),e.vakata.dnd._trigger("move",r),!1 -}},stop:function(t){if("touchend"===t.type&&t.originalEvent&&t.originalEvent.changedTouches&&t.originalEvent.changedTouches[0]&&(t.pageX=t.originalEvent.changedTouches[0].pageX,t.pageY=t.originalEvent.changedTouches[0].pageY,t.target=document.elementFromPoint(t.originalEvent.changedTouches[0].pageX-window.pageXOffset,t.originalEvent.changedTouches[0].pageY-window.pageYOffset)),i.is_drag)e.vakata.dnd._trigger("stop",t);else if("touchend"===t.type&&t.target===i.target){var r=setTimeout(function(){e(t.target).click()},100);e(t.target).one("click",function(){r&&clearTimeout(r)})}return e.vakata.dnd._clean(),!1}}}(e),e.jstree.defaults.search={ajax:!1,fuzzy:!1,case_sensitive:!1,show_only_matches:!1,close_opened_onclear:!0,search_leaves_only:!1,search_callback:!1},e.jstree.plugins.search=function(i,r){this.bind=function(){r.bind.call(this),this._data.search.str="",this._data.search.dom=e(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=!1,this.element.on("before_open.jstree",e.proxy(function(t,i){var r,s,n,a=this._data.search.res,d=[],o=e();if(a&&a.length&&(this._data.search.dom=e(this.element[0].querySelectorAll("#"+e.map(a,function(t){return-1!=="0123456789".indexOf(t[0])?"\\3"+t[0]+" "+t.substr(1).replace(e.jstree.idregex,"\\$&"):t.replace(e.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.dom.children(".jstree-anchor").addClass("jstree-search"),this._data.search.som&&this._data.search.res.length)){for(r=0,s=a.length;s>r;r++)d=d.concat(this.get_node(a[r]).parents);d=e.vakata.array_remove_item(e.vakata.array_unique(d),"#"),o=d.length?e(this.element[0].querySelectorAll("#"+e.map(d,function(t){return-1!=="0123456789".indexOf(t[0])?"\\3"+t[0]+" "+t.substr(1).replace(e.jstree.idregex,"\\$&"):t.replace(e.jstree.idregex,"\\$&")}).join(", #"))):e(),this.element.find(".jstree-node").hide().filter(".jstree-last").filter(function(){return this.nextSibling}).removeClass("jstree-last"),o=o.add(this._data.search.dom),o.parentsUntil(".jstree").addBack().show().filter(".jstree-children").each(function(){e(this).children(".jstree-node:visible").eq(-1).addClass("jstree-last")})}},this)).on("search.jstree",e.proxy(function(t,i){this._data.search.som&&i.nodes.length&&(this.element.find(".jstree-node").hide().filter(".jstree-last").filter(function(){return this.nextSibling}).removeClass("jstree-last"),i.nodes.parentsUntil(".jstree").addBack().show().filter(".jstree-children").each(function(){e(this).children(".jstree-node:visible").eq(-1).addClass("jstree-last")}))},this)).on("clear_search.jstree",e.proxy(function(e,t){this._data.search.som&&t.nodes.length&&this.element.find(".jstree-node").css("display","").filter(".jstree-last").filter(function(){return this.nextSibling}).removeClass("jstree-last")},this))},this.search=function(i,r,s){if(i===!1||""===e.trim(""+i))return this.clear_search();i=""+i;var n=this.settings.search,a=n.ajax?n.ajax:!1,d=null,o=[],c=[],l,h;return this._data.search.res.length&&this.clear_search(),s===t&&(s=n.show_only_matches),r||a===!1?(this._data.search.str=i,this._data.search.dom=e(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=s,d=new e.vakata.search(i,!0,{caseSensitive:n.case_sensitive,fuzzy:n.fuzzy}),e.each(this._model.data,function(e,t){t.text&&(n.search_callback&&n.search_callback.call(this,i,t)||!n.search_callback&&d.search(t.text).isMatch)&&(!n.search_leaves_only||t.state.loaded&&0===t.children.length)&&(o.push(e),c=c.concat(t.parents))}),o.length&&(c=e.vakata.array_unique(c),this._search_open(c),this._data.search.dom=e(this.element[0].querySelectorAll("#"+e.map(o,function(t){return-1!=="0123456789".indexOf(t[0])?"\\3"+t[0]+" "+t.substr(1).replace(e.jstree.idregex,"\\$&"):t.replace(e.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.res=o,this._data.search.dom.children(".jstree-anchor").addClass("jstree-search")),this.trigger("search",{nodes:this._data.search.dom,str:i,res:this._data.search.res,show_only_matches:s}),t):e.isFunction(a)?a.call(this,i,e.proxy(function(t){t&&t.d&&(t=t.d),this._load_nodes(e.isArray(t)?e.vakata.array_unique(t):[],function(){this.search(i,!0,s)},!0)},this)):(a=e.extend({},a),a.data||(a.data={}),a.data.str=i,e.ajax(a).fail(e.proxy(function(){this._data.core.last_error={error:"ajax",plugin:"search",id:"search_01",reason:"Could not load search parents",data:JSON.stringify(a)},this.settings.core.error.call(this,this._data.core.last_error)},this)).done(e.proxy(function(t){t&&t.d&&(t=t.d),this._load_nodes(e.isArray(t)?e.vakata.array_unique(t):[],function(){this.search(i,!0,s)},!0)},this)))},this.clear_search=function(){this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search"),this.settings.search.close_opened_onclear&&this.close_node(this._data.search.opn,0),this.trigger("clear_search",{nodes:this._data.search.dom,str:this._data.search.str,res:this._data.search.res}),this._data.search.str="",this._data.search.res=[],this._data.search.opn=[],this._data.search.dom=e()},this._search_open=function(t){var i=this;e.each(t.concat([]),function(r,s){if("#"===s)return!0;try{s=e("#"+s.replace(e.jstree.idregex,"\\$&"),i.element)}catch(n){}s&&s.length&&i.is_closed(s)&&(i._data.search.opn.push(s[0].id),i.open_node(s,function(){i._search_open(t)},0))})}},function(e){e.vakata.search=function(e,t,i){i=i||{},i.fuzzy!==!1&&(i.fuzzy=!0),e=i.caseSensitive?e:e.toLowerCase();var r=i.location||0,s=i.distance||100,n=i.threshold||.6,a=e.length,d,o,c,l;return a>32&&(i.fuzzy=!1),i.fuzzy&&(d=1<i;i++)t[e.charAt(i)]=0;for(i=0;a>i;i++)t[e.charAt(i)]|=1<s;s++){g=0,f=p;while(f>g)_>=c(s,r+f)?g=f:p=f,f=Math.floor((p-g)/2+g);for(p=f,v=Math.max(1,r-f+1),j=Math.min(r+f,h)+a,y=Array(j+2),y[j+1]=(1<=v;l--)if(k=o[t.charAt(l-1)],y[l]=0===s?(1|y[l+1]<<1)&k:(1|y[l+1]<<1)&k|(1|(m[l+1]|m[l])<<1)|m[l+1],y[l]&d&&(x=c(s,l-1),_>=x)){if(_=x,u=l-1,b.push(u),!(u>r))break;v=Math.max(1,2*r-u)}if(c(s+1,r)>_)break;m=y}return{isMatch:u>=0,score:x}},t===!0?{search:l}:l(t)}}(e),e.jstree.defaults.sort=function(e,t){return this.get_text(e)>this.get_text(t)?1:-1},e.jstree.plugins.sort=function(t,i){this.bind=function(){i.bind.call(this),this.element.on("model.jstree",e.proxy(function(e,t){this.sort(t.parent,!0)},this)).on("rename_node.jstree create_node.jstree",e.proxy(function(e,t){this.sort(t.parent||t.node.parent,!1),this.redraw_node(t.parent||t.node.parent,!0)},this)).on("move_node.jstree copy_node.jstree",e.proxy(function(e,t){this.sort(t.parent,!1),this.redraw_node(t.parent,!0)},this))},this.sort=function(t,i){var r,s;if(t=this.get_node(t),t&&t.children&&t.children.length&&(t.children.sort(e.proxy(this.settings.sort,this)),i))for(r=0,s=t.children_d.length;s>r;r++)this.sort(t.children_d[r],!1)}};var u=!1;e.jstree.defaults.state={key:"jstree",events:"changed.jstree open_node.jstree close_node.jstree",ttl:!1,filter:!1},e.jstree.plugins.state=function(t,i){this.bind=function(){i.bind.call(this);var t=e.proxy(function(){this.element.on(this.settings.state.events,e.proxy(function(){u&&clearTimeout(u),u=setTimeout(e.proxy(function(){this.save_state()},this),100)},this))},this);this.element.on("ready.jstree",e.proxy(function(e,i){this.element.one("restore_state.jstree",t),this.restore_state()||t()},this))},this.save_state=function(){var t={state:this.get_state(),ttl:this.settings.state.ttl,sec:+new Date};e.vakata.storage.set(this.settings.state.key,JSON.stringify(t))},this.restore_state=function(){var t=e.vakata.storage.get(this.settings.state.key);if(t)try{t=JSON.parse(t)}catch(i){return!1}return t&&t.ttl&&t.sec&&+new Date-t.sec>t.ttl?!1:(t&&t.state&&(t=t.state),t&&e.isFunction(this.settings.state.filter)&&(t=this.settings.state.filter.call(this,t)),t?(this.element.one("set_state.jstree",function(i,r){r.instance.trigger("restore_state",{state:e.extend(!0,{},t)})}),this.set_state(t),!0):!1)},this.clear_state=function(){return e.vakata.storage.del(this.settings.state.key)}},function(e,t){e.vakata.storage={set:function(e,t){return window.localStorage.setItem(e,t)},get:function(e){return window.localStorage.getItem(e)},del:function(e){return window.localStorage.removeItem(e)}}}(e),e.jstree.defaults.types={"#":{},"default":{}},e.jstree.plugins.types=function(i,r){this.init=function(e,i){var s,n;if(i&&i.types&&i.types["default"])for(s in i.types)if("default"!==s&&"#"!==s&&i.types.hasOwnProperty(s))for(n in i.types["default"])i.types["default"].hasOwnProperty(n)&&i.types[s][n]===t&&(i.types[s][n]=i.types["default"][n]);r.init.call(this,e,i),this._model.data["#"].type="#"},this.refresh=function(e,t){r.refresh.call(this,e,t),this._model.data["#"].type="#"},this.bind=function(){this.element.on("model.jstree",e.proxy(function(e,i){var r=this._model.data,s=i.nodes,n=this.settings.types,a,d,o="default";for(a=0,d=s.length;d>a;a++)o="default",r[s[a]].original&&r[s[a]].original.type&&n[r[s[a]].original.type]&&(o=r[s[a]].original.type),r[s[a]].data&&r[s[a]].data.jstree&&r[s[a]].data.jstree.type&&n[r[s[a]].data.jstree.type]&&(o=r[s[a]].data.jstree.type),r[s[a]].type=o,r[s[a]].icon===!0&&n[o].icon!==t&&(r[s[a]].icon=n[o].icon);r["#"].type="#"},this)),r.bind.call(this)},this.get_json=function(t,i,s){var n,a,d=this._model.data,o=i?e.extend(!0,{},i,{no_id:!1}):{},c=r.get_json.call(this,t,o,s);if(c===!1)return!1;if(e.isArray(c))for(n=0,a=c.length;a>n;n++)c[n].type=c[n].id&&d[c[n].id]&&d[c[n].id].type?d[c[n].id].type:"default",i&&i.no_id&&(delete c[n].id,c[n].li_attr&&c[n].li_attr.id&&delete c[n].li_attr.id,c[n].a_attr&&c[n].a_attr.id&&delete c[n].a_attr.id);else c.type=c.id&&d[c.id]&&d[c.id].type?d[c.id].type:"default",i&&i.no_id&&(c=this._delete_ids(c));return c},this._delete_ids=function(t){if(e.isArray(t)){for(var i=0,r=t.length;r>i;i++)t[i]=this._delete_ids(t[i]);return t}return delete t.id,t.li_attr&&t.li_attr.id&&delete t.li_attr.id,t.a_attr&&t.a_attr.id&&delete t.a_attr.id,t.children&&e.isArray(t.children)&&(t.children=this._delete_ids(t.children)),t},this.check=function(i,s,n,a,d){if(r.check.call(this,i,s,n,a,d)===!1)return!1;s=s&&s.id?s:this.get_node(s),n=n&&n.id?n:this.get_node(n);var o=s&&s.id?e.jstree.reference(s.id):null,c,l,h,_;switch(o=o&&o._model&&o._model.data?o._model.data:null,i){case"create_node":case"move_node":case"copy_node":if("move_node"!==i||-1===e.inArray(s.id,n.children)){if(c=this.get_rules(n),c.max_children!==t&&-1!==c.max_children&&c.max_children===n.children.length)return this._data.core.last_error={error:"check",plugin:"types",id:"types_01",reason:"max_children prevents function: "+i,data:JSON.stringify({chk:i,pos:a,obj:s&&s.id?s.id:!1,par:n&&n.id?n.id:!1})},!1;if(c.valid_children!==t&&-1!==c.valid_children&&-1===e.inArray(s.type||"default",c.valid_children))return this._data.core.last_error={error:"check",plugin:"types",id:"types_02",reason:"valid_children prevents function: "+i,data:JSON.stringify({chk:i,pos:a,obj:s&&s.id?s.id:!1,par:n&&n.id?n.id:!1})},!1;if(o&&s.children_d&&s.parents){for(l=0,h=0,_=s.children_d.length;_>h;h++)l=Math.max(l,o[s.children_d[h]].parents.length);l=l-s.parents.length+1}(0>=l||l===t)&&(l=1);do{if(c.max_depth!==t&&-1!==c.max_depth&&l>c.max_depth)return this._data.core.last_error={error:"check",plugin:"types",id:"types_03",reason:"max_depth prevents function: "+i,data:JSON.stringify({chk:i,pos:a,obj:s&&s.id?s.id:!1,par:n&&n.id?n.id:!1})},!1;n=this.get_node(n.parent),c=this.get_rules(n),l++}while(n)}}return!0},this.get_rules=function(e){if(e=this.get_node(e),!e)return!1;var i=this.get_type(e,!0);return i.max_depth===t&&(i.max_depth=-1),i.max_children===t&&(i.max_children=-1),i.valid_children===t&&(i.valid_children=-1),i},this.get_type=function(t,i){return t=this.get_node(t),t?i?e.extend({type:t.type},this.settings.types[t.type]):t.type:!1},this.set_type=function(i,r){var s,n,a,d,o;if(e.isArray(i)){for(i=i.slice(),n=0,a=i.length;a>n;n++)this.set_type(i[n],r);return!0}return s=this.settings.types,i=this.get_node(i),s[r]&&i?(d=i.type,o=this.get_icon(i),i.type=r,(o===!0||s[d]&&s[d].icon!==t&&o===s[d].icon)&&this.set_icon(i,s[r].icon!==t?s[r].icon:!0),!0):!1}},e.jstree.defaults.unique={case_sensitive:!1,duplicate:function(e,t){return e+" ("+t+")"}},e.jstree.plugins.unique=function(i,r){this.check=function(t,i,s,n,a){if(r.check.call(this,t,i,s,n,a)===!1)return!1;if(i=i&&i.id?i:this.get_node(i),s=s&&s.id?s:this.get_node(s),!s||!s.children)return!0;var d="rename_node"===t?n:i.text,o=[],c=this.settings.unique.case_sensitive,l=this._model.data,h,_;for(h=0,_=s.children.length;_>h;h++)o.push(c?l[s.children[h]].text:l[s.children[h]].text.toLowerCase());switch(c||(d=d.toLowerCase()),t){case"delete_node":return!0;case"rename_node":return h=-1===e.inArray(d,o)||i.text&&i.text[c?"toString":"toLowerCase"]()===d,h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_01",reason:"Child with name "+d+" already exists. Preventing: "+t,data:JSON.stringify({chk:t,pos:n,obj:i&&i.id?i.id:!1,par:s&&s.id?s.id:!1})}),h;case"create_node":return h=-1===e.inArray(d,o),h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_04",reason:"Child with name "+d+" already exists. Preventing: "+t,data:JSON.stringify({chk:t,pos:n,obj:i&&i.id?i.id:!1,par:s&&s.id?s.id:!1})}),h;case"copy_node":return h=-1===e.inArray(d,o),h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_02",reason:"Child with name "+d+" already exists. Preventing: "+t,data:JSON.stringify({chk:t,pos:n,obj:i&&i.id?i.id:!1,par:s&&s.id?s.id:!1})}),h;case"move_node":return h=i.parent===s.id||-1===e.inArray(d,o),h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_03",reason:"Child with name "+d+" already exists. Preventing: "+t,data:JSON.stringify({chk:t,pos:n,obj:i&&i.id?i.id:!1,par:s&&s.id?s.id:!1})}),h}return!0},this.create_node=function(i,s,n,a,d){if(!s||s.text===t){if(null===i&&(i="#"),i=this.get_node(i),!i)return r.create_node.call(this,i,s,n,a,d);if(n=n===t?"last":n,!(""+n).match(/^(before|after)$/)&&!d&&!this.is_loaded(i))return r.create_node.call(this,i,s,n,a,d);s||(s={});var o,c,l,h,_,u=this._model.data,g=this.settings.unique.case_sensitive,f=this.settings.unique.duplicate;for(c=o=this.get_string("New node"),l=[],h=0,_=i.children.length;_>h;h++)l.push(g?u[i.children[h]].text:u[i.children[h]].text.toLowerCase());h=1;while(-1!==e.inArray(g?c:c.toLowerCase(),l))c=""+f.call(this,o,++h);s.text=c}return r.create_node.call(this,i,s,n,a,d)}};var g=document.createElement("DIV");g.setAttribute("unselectable","on"),g.setAttribute("role","presentation"),g.className="jstree-wholerow",g.innerHTML=" ",e.jstree.plugins.wholerow=function(t,i){this.bind=function(){i.bind.call(this),this.element.on("ready.jstree set_state.jstree",e.proxy(function(){this.hide_dots()},this)).on("init.jstree loading.jstree ready.jstree",e.proxy(function(){this.get_container_ul().addClass("jstree-wholerow-ul")},this)).on("deselect_all.jstree",e.proxy(function(e,t){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")},this)).on("changed.jstree",e.proxy(function(e,t){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked");var i=!1,r,s;for(r=0,s=t.selected.length;s>r;r++)i=this.get_node(t.selected[r],!0),i&&i.length&&i.children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("open_node.jstree",e.proxy(function(e,t){this.get_node(t.node,!0).find(".jstree-clicked").parent().children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("hover_node.jstree dehover_node.jstree",e.proxy(function(e,t){"hover_node"===e.type&&this.is_disabled(t.node)||this.get_node(t.node,!0).children(".jstree-wholerow")["hover_node"===e.type?"addClass":"removeClass"]("jstree-wholerow-hovered")},this)).on("contextmenu.jstree",".jstree-wholerow",e.proxy(function(t){t.preventDefault();var i=e.Event("contextmenu",{metaKey:t.metaKey,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey,pageX:t.pageX,pageY:t.pageY});e(t.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(i)},this)).on("click.jstree",".jstree-wholerow",function(t){t.stopImmediatePropagation();var i=e.Event("click",{metaKey:t.metaKey,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey});e(t.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(i).focus()}).on("click.jstree",".jstree-leaf > .jstree-ocl",e.proxy(function(t){t.stopImmediatePropagation();var i=e.Event("click",{metaKey:t.metaKey,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey});e(t.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(i).focus()},this)).on("mouseover.jstree",".jstree-wholerow, .jstree-icon",e.proxy(function(e){return e.stopImmediatePropagation(),this.is_disabled(e.currentTarget)||this.hover_node(e.currentTarget),!1},this)).on("mouseleave.jstree",".jstree-node",e.proxy(function(e){this.dehover_node(e.currentTarget)},this))},this.teardown=function(){this.settings.wholerow&&this.element.find(".jstree-wholerow").remove(),i.teardown.call(this)},this.redraw_node=function(t,r,s,n){if(t=i.redraw_node.apply(this,arguments)){var a=g.cloneNode(!0);-1!==e.inArray(t.id,this._data.core.selected)&&(a.className+=" jstree-wholerow-clicked"),this._data.core.focused&&this._data.core.focused===t.id&&(a.className+=" jstree-wholerow-hovered"),t.insertBefore(a,t.childNodes[0])}return t}},function(e){if(document.registerElement&&Object&&Object.create){var t=Object.create(HTMLElement.prototype);t.createdCallback=function(){var t={core:{},plugins:[]},i;for(i in e.jstree.plugins)e.jstree.plugins.hasOwnProperty(i)&&this.attributes[i]&&(t.plugins.push(i),this.getAttribute(i)&&JSON.parse(this.getAttribute(i))&&(t[i]=JSON.parse(this.getAttribute(i))));for(i in e.jstree.defaults.core)e.jstree.defaults.core.hasOwnProperty(i)&&this.attributes[i]&&(t.core[i]=JSON.parse(this.getAttribute(i))||this.getAttribute(i));jQuery(this).jstree(t)};try{document.registerElement("vakata-jstree",{prototype:t})}catch(i){}}}(jQuery)}}); \ No newline at end of file