58 lines
89 KiB
JSON
58 lines
89 KiB
JSON
{
|
|
"sourceFile": "adhan-webapp/templates/quran.html",
|
|
"activeCommit": 0,
|
|
"commits": [
|
|
{
|
|
"activePatchIndex": 10,
|
|
"patches": [
|
|
{
|
|
"date": 1748207584518,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n"
|
|
},
|
|
{
|
|
"date": 1748208528037,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -54,8 +54,11 @@\n </button>\n <button id=\"nextBtn\" class=\"control-btn\" title=\"Volgende\">\n <span class=\"material-icons\">skip_next</span>\n </button>\n+ <button id=\"directPlayBtn\" class=\"control-btn\" title=\"Direct afspelen in nieuw tabblad\" style=\"display: none;\">\n+ <span class=\"material-icons\">open_in_new</span>\n+ </button>\n </div>\n <div class=\"progress-section\">\n <span id=\"currentTime\">0:00</span>\n <input type=\"range\" id=\"progressBar\" min=\"0\" max=\"100\" value=\"0\" class=\"progress-bar\">\n"
|
|
},
|
|
{
|
|
"date": 1748208751542,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -8,82 +8,134 @@\n <link href=\"https://fonts.googleapis.com/css2?family=Cairo:wght@400;700&family=Lato:wght@400;700&display=swap\" rel=\"stylesheet\">\n <link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\n </head>\n <body>\n- <div class=\"quran-app\">\n- <!-- Header -->\n- <div class=\"quran-header\">\n- <a href=\"/\" class=\"back-btn\" title=\"Terug naar hoofdpagina\">\n- <span class=\"material-icons\">arrow_back</span>\n- </a>\n- <h1>القرآن الكريم - Quran Speler</h1>\n- <button id=\"themeToggle\" title=\"Schakel modus\">\n- <span id=\"themeIcon\" class=\"material-icons\">brightness_6</span>\n- </button>\n- </div>\n+ <div class=\"app\">\n+ <!-- Dark/Light toggle -->\n+ <button id=\"themeToggle\" title=\"Schakel modus\"><span id=\"themeIcon\" class=\"material-icons\">brightness_6</span></button>\n \n- <!-- Main Content -->\n- <div class=\"quran-content\">\n- <!-- Controls Section -->\n- <div class=\"controls-section\">\n- <div class=\"reciter-selection\">\n- <label for=\"reciterSelect\">Reciteur / القارئ:</label>\n- <select id=\"reciterSelect\" class=\"custom-select\">\n- <option value=\"\">Selecteer een reciteur...</option>\n- </select>\n+ <div class=\"left\">\n+ <div class=\"overlay\">\n+ <div class=\"tijdstip\">\n+ <div id=\"current-time\">--:--</div>\n+ <div class=\"datum-sectie\">\n+ <div class=\"gregorian-datum\">{{ date_info.gregorian_full }}</div>\n+ <div class=\"hijri-datum-arabic\">{{ date_info.hijri_arabic }}</div>\n+ <div class=\"hijri-datum-dutch\">{{ date_info.hijri_dutch }}</div>\n+ </div>\n </div>\n-\n- <div class=\"search-section\">\n- <label for=\"suraSearch\">Zoek Sura / البحث عن السورة:</label>\n- <input type=\"text\" id=\"suraSearch\" placeholder=\"Zoek naar sura naam...\" class=\"search-input\">\n+ <div class=\"huidig-gebed\">\n+ <div class=\"naam\">Quran Speler</div>\n+ <div class=\"quran-title\">القرآن الكريم</div>\n </div>\n </div>\n+ </div>\n \n- <!-- Player Section -->\n- <div class=\"player-section\">\n- <div class=\"current-playing\">\n- <div class=\"sura-info\">\n- <h2 id=\"currentSuraName\">Selecteer een sura om af te spelen</h2>\n- <p id=\"currentReciter\">Geen reciteur geselecteerd</p>\n+ <div class=\"right new-layout\">\n+ <div class=\"hadith-tijden-row\">\n+ <!-- Quran Player Content -->\n+ <div class=\"quran-content-main\">\n+ <!-- Controls Section -->\n+ <div class=\"controls-section\">\n+ <div class=\"reciter-selection\">\n+ <label for=\"reciterSelect\">Reciteur / القارئ:</label>\n+ <select id=\"reciterSelect\" class=\"custom-select\">\n+ <option value=\"\">Selecteer een reciteur...</option>\n+ </select>\n+ </div>\n+\n+ <div class=\"search-section\">\n+ <label for=\"suraSearch\">Zoek Sura:</label>\n+ <input type=\"text\" id=\"suraSearch\" placeholder=\"Zoek naar sura naam...\" class=\"search-input\">\n+ </div>\n </div>\n- <div class=\"player-controls\">\n- <button id=\"prevBtn\" class=\"control-btn\" title=\"Vorige\">\n- <span class=\"material-icons\">skip_previous</span>\n- </button>\n- <button id=\"playBtn\" class=\"control-btn play-btn\" title=\"Afspelen/Pauzeren\">\n- <span class=\"material-icons\">play_arrow</span>\n- </button>\n- <button id=\"nextBtn\" class=\"control-btn\" title=\"Volgende\">\n- <span class=\"material-icons\">skip_next</span>\n- </button>\n- <button id=\"directPlayBtn\" class=\"control-btn\" title=\"Direct afspelen in nieuw tabblad\" style=\"display: none;\">\n- <span class=\"material-icons\">open_in_new</span>\n- </button>\n+\n+ <!-- Player Section -->\n+ <div class=\"player-section\">\n+ <div class=\"current-playing\">\n+ <div class=\"sura-info\">\n+ <h3 id=\"currentSuraName\">Selecteer een sura om af te spelen</h3>\n+ <p id=\"currentReciter\">Geen reciteur geselecteerd</p>\n+ </div>\n+ <div class=\"player-controls\">\n+ <button id=\"prevBtn\" class=\"control-btn\" title=\"Vorige\">\n+ <span class=\"material-icons\">skip_previous</span>\n+ </button>\n+ <button id=\"playBtn\" class=\"control-btn play-btn\" title=\"Afspelen/Pauzeren\">\n+ <span class=\"material-icons\">play_arrow</span>\n+ </button>\n+ <button id=\"nextBtn\" class=\"control-btn\" title=\"Volgende\">\n+ <span class=\"material-icons\">skip_next</span>\n+ </button>\n+ <button id=\"directPlayBtn\" class=\"control-btn\" title=\"Direct afspelen in nieuw tabblad\" style=\"display: none;\">\n+ <span class=\"material-icons\">open_in_new</span>\n+ </button>\n+ </div>\n+ <div class=\"progress-section\">\n+ <span id=\"currentTime\">0:00</span>\n+ <input type=\"range\" id=\"progressBar\" min=\"0\" max=\"100\" value=\"0\" class=\"progress-bar\">\n+ <span id=\"totalTime\">0:00</span>\n+ </div>\n+ </div>\n </div>\n- <div class=\"progress-section\">\n- <span id=\"currentTime\">0:00</span>\n- <input type=\"range\" id=\"progressBar\" min=\"0\" max=\"100\" value=\"0\" class=\"progress-bar\">\n- <span id=\"totalTime\">0:00</span>\n+\n+ <!-- Sura List -->\n+ <div class=\"sura-list-section\">\n+ <div class=\"sura-grid\" id=\"suraGrid\">\n+ <!-- Sura's worden hier dynamisch geladen -->\n+ </div>\n </div>\n </div>\n- </div>\n \n- <!-- Sura List -->\n- <div class=\"sura-list-section\">\n- <h3>Sura's / السور</h3>\n- <div class=\"sura-grid\" id=\"suraGrid\">\n- <!-- Sura's worden hier dynamisch geladen -->\n+ <!-- Zijmenu zoals op hoofdpagina -->\n+ <div class=\"vertical-tijden\">\n+ <ul class=\"tijden-en-icoontjes\">\n+ {% for naam, tijd in gebedstijden.items() %}\n+ <li class=\"tijden-rij\">\n+ <span class=\"naam\">{{ naam }}</span>\n+ <span class=\"tijd\">{{ tijd[:5] }}</span>\n+ </li>\n+ {% endfor %}\n+ <li><a href=\"/instellingen\" title=\"Instellingen\" class=\"icoon-link\"><span class=\"material-icons\">settings</span></a></li>\n+ <li><a href=\"#\" id=\"muteBtn\" title=\"Mute\" class=\"icoon-link\"><span id=\"muteIcon\" class=\"material-icons\">volume_off</span></a></li>\n+ <li><a href=\"/debug\" title=\"Debug Mode\" class=\"icoon-link\"><span class=\"material-icons\">bug_report</span></a></li>\n+ <li><a href=\"/\" title=\"Terug naar hoofdpagina\" class=\"icoon-link\"><span class=\"material-icons\">home</span></a></li>\n+ </ul>\n </div>\n </div>\n </div>\n-\n- <!-- Audio Element -->\n- <audio id=\"quranAudio\" preload=\"none\"></audio>\n </div>\n \n+ <!-- Audio Element -->\n+ <audio id=\"quranAudio\" preload=\"none\"></audio>\n+\n+ <script>\n+ // Prayer times data from server\n+ window.prayerTimes = [\n+ {% for naam, tijd in gebedstijden.items() %}\n+ \"{{ tijd[:5] }}\"{% if not loop.last %},{% endif %}\n+ {% endfor %}\n+ ];\n+ window.prayerNames = [\n+ {% for naam, tijd in gebedstijden.items() %}\n+ \"{{ naam }}\"{% if not loop.last %},{% endif %}\n+ {% endfor %}\n+ ];\n+ </script>\n+ <script src=\"/static/countdown.js\"></script>\n <script src=\"/static/quran.js\"></script>\n <script>\n- // Theme toggle functionaliteit\n+ window.onload = function () {\n+ updateCurrentTime();\n+ setInterval(updateCurrentTime, 60000);\n+ setupThemeToggle();\n+ \n+ // Update datum info elke minuut\n+ updateDateInfo();\n+ setInterval(updateDateInfo, 60000);\n+ };\n+\n+ // Theme toggle icon dynamisch aanpassen\n function updateThemeIcon() {\n const html = document.documentElement;\n const icon = document.getElementById('themeIcon');\n if (html.className === 'light') {\n@@ -91,21 +143,42 @@\n } else {\n icon.textContent = 'light_mode';\n }\n }\n- \n- document.getElementById('themeToggle').addEventListener('click', function() {\n- const html = document.documentElement;\n- html.className = html.className === 'light' ? '' : 'light';\n- localStorage.setItem('theme', html.className);\n- updateThemeIcon();\n- });\n+ updateThemeIcon();\n+ document.getElementById('themeToggle').addEventListener('click', updateThemeIcon);\n \n- // Laad opgeslagen theme\n- const savedTheme = localStorage.getItem('theme');\n- if (savedTheme) {\n- document.documentElement.className = savedTheme;\n+ // Mute functionaliteit\n+ let muteStatus = false;\n+ function setMuteIcon() {\n+ const icon = document.getElementById('muteIcon');\n+ icon.textContent = muteStatus ? 'volume_off' : 'volume_up';\n }\n- updateThemeIcon();\n+ function toggleMute(e) {\n+ e.preventDefault();\n+ muteStatus = !muteStatus;\n+ setMuteIcon();\n+ fetch('/api/mute', {\n+ method: 'POST',\n+ headers: { 'Content-Type': 'application/json' },\n+ body: JSON.stringify({ mute: muteStatus })\n+ });\n+ }\n+ document.getElementById('muteBtn').addEventListener('click', toggleMute);\n+ setMuteIcon();\n+\n+ // Functie om datum info bij te werken\n+ function updateDateInfo() {\n+ fetch('/api/date-info')\n+ .then(response => response.json())\n+ .then(data => {\n+ document.querySelector('.gregorian-datum').textContent = data.gregorian_full;\n+ document.querySelector('.hijri-datum-arabic').textContent = data.hijri_arabic;\n+ document.querySelector('.hijri-datum-dutch').textContent = data.hijri_dutch;\n+ })\n+ .catch(error => {\n+ console.log('Fout bij bijwerken datum info:', error);\n+ });\n+ }\n </script>\n </body>\n </html> \n\\ No newline at end of file\n"
|
|
},
|
|
{
|
|
"date": 1748209023880,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -8,134 +8,82 @@\n <link href=\"https://fonts.googleapis.com/css2?family=Cairo:wght@400;700&family=Lato:wght@400;700&display=swap\" rel=\"stylesheet\">\n <link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\n </head>\n <body>\n- <div class=\"app\">\n- <!-- Dark/Light toggle -->\n- <button id=\"themeToggle\" title=\"Schakel modus\"><span id=\"themeIcon\" class=\"material-icons\">brightness_6</span></button>\n+ <div class=\"quran-app\">\n+ <!-- Header -->\n+ <div class=\"quran-header\">\n+ <a href=\"/\" class=\"back-btn\" title=\"Terug naar hoofdpagina\">\n+ <span class=\"material-icons\">arrow_back</span>\n+ </a>\n+ <h1>القرآن الكريم - Quran Speler</h1>\n+ <button id=\"themeToggle\" title=\"Schakel modus\">\n+ <span id=\"themeIcon\" class=\"material-icons\">brightness_6</span>\n+ </button>\n+ </div>\n \n- <div class=\"left\">\n- <div class=\"overlay\">\n- <div class=\"tijdstip\">\n- <div id=\"current-time\">--:--</div>\n- <div class=\"datum-sectie\">\n- <div class=\"gregorian-datum\">{{ date_info.gregorian_full }}</div>\n- <div class=\"hijri-datum-arabic\">{{ date_info.hijri_arabic }}</div>\n- <div class=\"hijri-datum-dutch\">{{ date_info.hijri_dutch }}</div>\n- </div>\n+ <!-- Main Content -->\n+ <div class=\"quran-content\">\n+ <!-- Controls Section -->\n+ <div class=\"controls-section\">\n+ <div class=\"reciter-selection\">\n+ <label for=\"reciterSelect\">Reciteur / القارئ:</label>\n+ <select id=\"reciterSelect\" class=\"custom-select\">\n+ <option value=\"\">Selecteer een reciteur...</option>\n+ </select>\n </div>\n- <div class=\"huidig-gebed\">\n- <div class=\"naam\">Quran Speler</div>\n- <div class=\"quran-title\">القرآن الكريم</div>\n+\n+ <div class=\"search-section\">\n+ <label for=\"suraSearch\">Zoek Sura / البحث عن السورة:</label>\n+ <input type=\"text\" id=\"suraSearch\" placeholder=\"Zoek naar sura naam...\" class=\"search-input\">\n </div>\n </div>\n- </div>\n \n- <div class=\"right new-layout\">\n- <div class=\"hadith-tijden-row\">\n- <!-- Quran Player Content -->\n- <div class=\"quran-content-main\">\n- <!-- Controls Section -->\n- <div class=\"controls-section\">\n- <div class=\"reciter-selection\">\n- <label for=\"reciterSelect\">Reciteur / القارئ:</label>\n- <select id=\"reciterSelect\" class=\"custom-select\">\n- <option value=\"\">Selecteer een reciteur...</option>\n- </select>\n- </div>\n-\n- <div class=\"search-section\">\n- <label for=\"suraSearch\">Zoek Sura:</label>\n- <input type=\"text\" id=\"suraSearch\" placeholder=\"Zoek naar sura naam...\" class=\"search-input\">\n- </div>\n+ <!-- Player Section -->\n+ <div class=\"player-section\">\n+ <div class=\"current-playing\">\n+ <div class=\"sura-info\">\n+ <h2 id=\"currentSuraName\">Selecteer een sura om af te spelen</h2>\n+ <p id=\"currentReciter\">Geen reciteur geselecteerd</p>\n </div>\n-\n- <!-- Player Section -->\n- <div class=\"player-section\">\n- <div class=\"current-playing\">\n- <div class=\"sura-info\">\n- <h3 id=\"currentSuraName\">Selecteer een sura om af te spelen</h3>\n- <p id=\"currentReciter\">Geen reciteur geselecteerd</p>\n- </div>\n- <div class=\"player-controls\">\n- <button id=\"prevBtn\" class=\"control-btn\" title=\"Vorige\">\n- <span class=\"material-icons\">skip_previous</span>\n- </button>\n- <button id=\"playBtn\" class=\"control-btn play-btn\" title=\"Afspelen/Pauzeren\">\n- <span class=\"material-icons\">play_arrow</span>\n- </button>\n- <button id=\"nextBtn\" class=\"control-btn\" title=\"Volgende\">\n- <span class=\"material-icons\">skip_next</span>\n- </button>\n- <button id=\"directPlayBtn\" class=\"control-btn\" title=\"Direct afspelen in nieuw tabblad\" style=\"display: none;\">\n- <span class=\"material-icons\">open_in_new</span>\n- </button>\n- </div>\n- <div class=\"progress-section\">\n- <span id=\"currentTime\">0:00</span>\n- <input type=\"range\" id=\"progressBar\" min=\"0\" max=\"100\" value=\"0\" class=\"progress-bar\">\n- <span id=\"totalTime\">0:00</span>\n- </div>\n- </div>\n+ <div class=\"player-controls\">\n+ <button id=\"prevBtn\" class=\"control-btn\" title=\"Vorige\">\n+ <span class=\"material-icons\">skip_previous</span>\n+ </button>\n+ <button id=\"playBtn\" class=\"control-btn play-btn\" title=\"Afspelen/Pauzeren\">\n+ <span class=\"material-icons\">play_arrow</span>\n+ </button>\n+ <button id=\"nextBtn\" class=\"control-btn\" title=\"Volgende\">\n+ <span class=\"material-icons\">skip_next</span>\n+ </button>\n+ <button id=\"directPlayBtn\" class=\"control-btn\" title=\"Direct afspelen in nieuw tabblad\" style=\"display: none;\">\n+ <span class=\"material-icons\">open_in_new</span>\n+ </button>\n </div>\n-\n- <!-- Sura List -->\n- <div class=\"sura-list-section\">\n- <div class=\"sura-grid\" id=\"suraGrid\">\n- <!-- Sura's worden hier dynamisch geladen -->\n- </div>\n+ <div class=\"progress-section\">\n+ <span id=\"currentTime\">0:00</span>\n+ <input type=\"range\" id=\"progressBar\" min=\"0\" max=\"100\" value=\"0\" class=\"progress-bar\">\n+ <span id=\"totalTime\">0:00</span>\n </div>\n </div>\n+ </div>\n \n- <!-- Zijmenu zoals op hoofdpagina -->\n- <div class=\"vertical-tijden\">\n- <ul class=\"tijden-en-icoontjes\">\n- {% for naam, tijd in gebedstijden.items() %}\n- <li class=\"tijden-rij\">\n- <span class=\"naam\">{{ naam }}</span>\n- <span class=\"tijd\">{{ tijd[:5] }}</span>\n- </li>\n- {% endfor %}\n- <li><a href=\"/instellingen\" title=\"Instellingen\" class=\"icoon-link\"><span class=\"material-icons\">settings</span></a></li>\n- <li><a href=\"#\" id=\"muteBtn\" title=\"Mute\" class=\"icoon-link\"><span id=\"muteIcon\" class=\"material-icons\">volume_off</span></a></li>\n- <li><a href=\"/debug\" title=\"Debug Mode\" class=\"icoon-link\"><span class=\"material-icons\">bug_report</span></a></li>\n- <li><a href=\"/\" title=\"Terug naar hoofdpagina\" class=\"icoon-link\"><span class=\"material-icons\">home</span></a></li>\n- </ul>\n+ <!-- Sura List -->\n+ <div class=\"sura-list-section\">\n+ <h3>Sura's / السور</h3>\n+ <div class=\"sura-grid\" id=\"suraGrid\">\n+ <!-- Sura's worden hier dynamisch geladen -->\n </div>\n </div>\n </div>\n+\n+ <!-- Audio Element -->\n+ <audio id=\"quranAudio\" preload=\"none\"></audio>\n </div>\n \n- <!-- Audio Element -->\n- <audio id=\"quranAudio\" preload=\"none\"></audio>\n-\n- <script>\n- // Prayer times data from server\n- window.prayerTimes = [\n- {% for naam, tijd in gebedstijden.items() %}\n- \"{{ tijd[:5] }}\"{% if not loop.last %},{% endif %}\n- {% endfor %}\n- ];\n- window.prayerNames = [\n- {% for naam, tijd in gebedstijden.items() %}\n- \"{{ naam }}\"{% if not loop.last %},{% endif %}\n- {% endfor %}\n- ];\n- </script>\n- <script src=\"/static/countdown.js\"></script>\n <script src=\"/static/quran.js\"></script>\n <script>\n- window.onload = function () {\n- updateCurrentTime();\n- setInterval(updateCurrentTime, 60000);\n- setupThemeToggle();\n- \n- // Update datum info elke minuut\n- updateDateInfo();\n- setInterval(updateDateInfo, 60000);\n- };\n-\n- // Theme toggle icon dynamisch aanpassen\n+ // Theme toggle functionaliteit\n function updateThemeIcon() {\n const html = document.documentElement;\n const icon = document.getElementById('themeIcon');\n if (html.className === 'light') {\n@@ -143,42 +91,21 @@\n } else {\n icon.textContent = 'light_mode';\n }\n }\n- updateThemeIcon();\n- document.getElementById('themeToggle').addEventListener('click', updateThemeIcon);\n+ \n+ document.getElementById('themeToggle').addEventListener('click', function() {\n+ const html = document.documentElement;\n+ html.className = html.className === 'light' ? '' : 'light';\n+ localStorage.setItem('theme', html.className);\n+ updateThemeIcon();\n+ });\n \n- // Mute functionaliteit\n- let muteStatus = false;\n- function setMuteIcon() {\n- const icon = document.getElementById('muteIcon');\n- icon.textContent = muteStatus ? 'volume_off' : 'volume_up';\n+ // Laad opgeslagen theme\n+ const savedTheme = localStorage.getItem('theme');\n+ if (savedTheme) {\n+ document.documentElement.className = savedTheme;\n }\n- function toggleMute(e) {\n- e.preventDefault();\n- muteStatus = !muteStatus;\n- setMuteIcon();\n- fetch('/api/mute', {\n- method: 'POST',\n- headers: { 'Content-Type': 'application/json' },\n- body: JSON.stringify({ mute: muteStatus })\n- });\n- }\n- document.getElementById('muteBtn').addEventListener('click', toggleMute);\n- setMuteIcon();\n-\n- // Functie om datum info bij te werken\n- function updateDateInfo() {\n- fetch('/api/date-info')\n- .then(response => response.json())\n- .then(data => {\n- document.querySelector('.gregorian-datum').textContent = data.gregorian_full;\n- document.querySelector('.hijri-datum-arabic').textContent = data.hijri_arabic;\n- document.querySelector('.hijri-datum-dutch').textContent = data.hijri_dutch;\n- })\n- .catch(error => {\n- console.log('Fout bij bijwerken datum info:', error);\n- });\n- }\n+ updateThemeIcon();\n </script>\n </body>\n </html> \n\\ No newline at end of file\n"
|
|
},
|
|
{
|
|
"date": 1748209120607,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -8,22 +8,35 @@\n <link href=\"https://fonts.googleapis.com/css2?family=Cairo:wght@400;700&family=Lato:wght@400;700&display=swap\" rel=\"stylesheet\">\n <link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\n </head>\n <body>\n- <div class=\"quran-app\">\n- <!-- Header -->\n- <div class=\"quran-header\">\n- <a href=\"/\" class=\"back-btn\" title=\"Terug naar hoofdpagina\">\n- <span class=\"material-icons\">arrow_back</span>\n- </a>\n- <h1>القرآن الكريم - Quran Speler</h1>\n- <button id=\"themeToggle\" title=\"Schakel modus\">\n- <span id=\"themeIcon\" class=\"material-icons\">brightness_6</span>\n- </button>\n+ <div class=\"quran-page\">\n+ <!-- Dark/Light toggle -->\n+ <button id=\"themeToggle\" title=\"Schakel modus\"><span id=\"themeIcon\" class=\"material-icons\">brightness_6</span></button>\n+\n+ <!-- Zijmenu (exact hetzelfde als hoofdpagina) -->\n+ <div class=\"quran-sidebar\">\n+ <ul class=\"tijden-en-icoontjes\">\n+ {% for naam, tijd in gebedstijden.items() %}\n+ <li class=\"tijden-rij\">\n+ <span class=\"naam\">{{ naam }}</span>\n+ <span class=\"tijd\">{{ tijd[:5] }}</span>\n+ </li>\n+ {% endfor %}\n+ <li><a href=\"/instellingen\" title=\"Instellingen\" class=\"icoon-link\"><span class=\"material-icons\">settings</span></a></li>\n+ <li><a href=\"#\" id=\"muteBtn\" title=\"Mute\" class=\"icoon-link\"><span id=\"muteIcon\" class=\"material-icons\">volume_off</span></a></li>\n+ <li><a href=\"/debug\" title=\"Debug Mode\" class=\"icoon-link\"><span class=\"material-icons\">bug_report</span></a></li>\n+ <li><a href=\"/\" title=\"Terug naar hoofdpagina\" class=\"icoon-link\"><span class=\"material-icons\">home</span></a></li>\n+ </ul>\n </div>\n \n- <!-- Main Content -->\n- <div class=\"quran-content\">\n+ <!-- Main Quran Content -->\n+ <div class=\"quran-main\">\n+ <!-- Header -->\n+ <div class=\"quran-header\">\n+ <h1>القرآن الكريم - Quran Speler</h1>\n+ </div>\n+\n <!-- Controls Section -->\n <div class=\"controls-section\">\n <div class=\"reciter-selection\">\n <label for=\"reciterSelect\">Reciteur / القارئ:</label>\n@@ -81,9 +94,9 @@\n </div>\n \n <script src=\"/static/quran.js\"></script>\n <script>\n- // Theme toggle functionaliteit\n+ // Theme toggle icon dynamisch aanpassen\n function updateThemeIcon() {\n const html = document.documentElement;\n const icon = document.getElementById('themeIcon');\n if (html.className === 'light') {\n@@ -105,7 +118,26 @@\n if (savedTheme) {\n document.documentElement.className = savedTheme;\n }\n updateThemeIcon();\n+\n+ // Mute functionaliteit\n+ let muteStatus = false;\n+ function setMuteIcon() {\n+ const icon = document.getElementById('muteIcon');\n+ icon.textContent = muteStatus ? 'volume_off' : 'volume_up';\n+ }\n+ function toggleMute(e) {\n+ e.preventDefault();\n+ muteStatus = !muteStatus;\n+ setMuteIcon();\n+ fetch('/api/mute', {\n+ method: 'POST',\n+ headers: { 'Content-Type': 'application/json' },\n+ body: JSON.stringify({ mute: muteStatus })\n+ });\n+ }\n+ document.getElementById('muteBtn').addEventListener('click', toggleMute);\n+ setMuteIcon();\n </script>\n </body>\n </html> \n\\ No newline at end of file\n"
|
|
},
|
|
{
|
|
"date": 1748209314977,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -8,30 +8,14 @@\n <link href=\"https://fonts.googleapis.com/css2?family=Cairo:wght@400;700&family=Lato:wght@400;700&display=swap\" rel=\"stylesheet\">\n <link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\n </head>\n <body>\n- <div class=\"quran-page\">\n+ <div class=\"app\">\n <!-- Dark/Light toggle -->\n <button id=\"themeToggle\" title=\"Schakel modus\"><span id=\"themeIcon\" class=\"material-icons\">brightness_6</span></button>\n \n- <!-- Zijmenu (exact hetzelfde als hoofdpagina) -->\n- <div class=\"quran-sidebar\">\n- <ul class=\"tijden-en-icoontjes\">\n- {% for naam, tijd in gebedstijden.items() %}\n- <li class=\"tijden-rij\">\n- <span class=\"naam\">{{ naam }}</span>\n- <span class=\"tijd\">{{ tijd[:5] }}</span>\n- </li>\n- {% endfor %}\n- <li><a href=\"/instellingen\" title=\"Instellingen\" class=\"icoon-link\"><span class=\"material-icons\">settings</span></a></li>\n- <li><a href=\"#\" id=\"muteBtn\" title=\"Mute\" class=\"icoon-link\"><span id=\"muteIcon\" class=\"material-icons\">volume_off</span></a></li>\n- <li><a href=\"/debug\" title=\"Debug Mode\" class=\"icoon-link\"><span class=\"material-icons\">bug_report</span></a></li>\n- <li><a href=\"/\" title=\"Terug naar hoofdpagina\" class=\"icoon-link\"><span class=\"material-icons\">home</span></a></li>\n- </ul>\n- </div>\n-\n- <!-- Main Quran Content -->\n- <div class=\"quran-main\">\n+ <!-- Main Quran Content (volledige breedte) -->\n+ <div class=\"quran-full-content\">\n <!-- Header -->\n <div class=\"quran-header\">\n <h1>القرآن الكريم - Quran Speler</h1>\n </div>\n@@ -88,8 +72,28 @@\n </div>\n </div>\n </div>\n \n+ <!-- Zijmenu (exact hetzelfde als hoofdpagina) -->\n+ <div class=\"right new-layout\">\n+ <div class=\"hadith-tijden-row\">\n+ <div class=\"vertical-tijden\">\n+ <ul class=\"tijden-en-icoontjes\">\n+ {% for naam, tijd in gebedstijden.items() %}\n+ <li class=\"tijden-rij\">\n+ <span class=\"naam\">{{ naam }}</span>\n+ <span class=\"tijd\">{{ tijd[:5] }}</span>\n+ </li>\n+ {% endfor %}\n+ <li><a href=\"/instellingen\" title=\"Instellingen\" class=\"icoon-link\"><span class=\"material-icons\">settings</span></a></li>\n+ <li><a href=\"#\" id=\"muteBtn\" title=\"Mute\" class=\"icoon-link\"><span id=\"muteIcon\" class=\"material-icons\">volume_off</span></a></li>\n+ <li><a href=\"/debug\" title=\"Debug Mode\" class=\"icoon-link\"><span class=\"material-icons\">bug_report</span></a></li>\n+ <li><a href=\"/\" title=\"Terug naar hoofdpagina\" class=\"icoon-link\"><span class=\"material-icons\">home</span></a></li>\n+ </ul>\n+ </div>\n+ </div>\n+ </div>\n+\n <!-- Audio Element -->\n <audio id=\"quranAudio\" preload=\"none\"></audio>\n </div>\n \n"
|
|
},
|
|
{
|
|
"date": 1748210256448,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -12,66 +12,71 @@\n <div class=\"app\">\n <!-- Dark/Light toggle -->\n <button id=\"themeToggle\" title=\"Schakel modus\"><span id=\"themeIcon\" class=\"material-icons\">brightness_6</span></button>\n \n- <!-- Main Quran Content (volledige breedte) -->\n+ <!-- Main Quran Content (twee kolommen) -->\n <div class=\"quran-full-content\">\n- <!-- Header -->\n- <div class=\"quran-header\">\n- <h1>القرآن الكريم - Quran Speler</h1>\n- </div>\n+ <!-- Linker kolom - Player -->\n+ <div class=\"quran-left-column\">\n+ <!-- Header -->\n+ <div class=\"quran-header\">\n+ <h1>القرآن الكريم - Quran Speler</h1>\n+ </div>\n \n- <!-- Controls Section -->\n- <div class=\"controls-section\">\n+ <!-- Reciter Selection -->\n <div class=\"reciter-selection\">\n <label for=\"reciterSelect\">Reciteur / القارئ:</label>\n <select id=\"reciterSelect\" class=\"custom-select\">\n <option value=\"\">Selecteer een reciteur...</option>\n </select>\n </div>\n \n+ <!-- Player Section -->\n+ <div class=\"player-section\">\n+ <div class=\"current-playing\">\n+ <div class=\"sura-info\">\n+ <h2 id=\"currentSuraName\">Selecteer een sura om af te spelen</h2>\n+ <p id=\"currentReciter\">Geen reciteur geselecteerd</p>\n+ </div>\n+ <div class=\"player-controls\">\n+ <button id=\"prevBtn\" class=\"control-btn\" title=\"Vorige\">\n+ <span class=\"material-icons\">skip_previous</span>\n+ </button>\n+ <button id=\"playBtn\" class=\"control-btn play-btn\" title=\"Afspelen/Pauzeren\">\n+ <span class=\"material-icons\">play_arrow</span>\n+ </button>\n+ <button id=\"nextBtn\" class=\"control-btn\" title=\"Volgende\">\n+ <span class=\"material-icons\">skip_next</span>\n+ </button>\n+ <button id=\"directPlayBtn\" class=\"control-btn\" title=\"Direct afspelen in nieuw tabblad\" style=\"display: none;\">\n+ <span class=\"material-icons\">open_in_new</span>\n+ </button>\n+ </div>\n+ <div class=\"progress-section\">\n+ <span id=\"currentTime\">0:00</span>\n+ <input type=\"range\" id=\"progressBar\" min=\"0\" max=\"100\" value=\"0\" class=\"progress-bar\">\n+ <span id=\"totalTime\">0:00</span>\n+ </div>\n+ </div>\n+ </div>\n+ </div>\n+\n+ <!-- Rechter kolom - Zoeken en Sura lijst -->\n+ <div class=\"quran-right-column\">\n+ <!-- Search Section -->\n <div class=\"search-section\">\n <label for=\"suraSearch\">Zoek Sura / البحث عن السورة:</label>\n <input type=\"text\" id=\"suraSearch\" placeholder=\"Zoek naar sura naam...\" class=\"search-input\">\n </div>\n- </div>\n \n- <!-- Player Section -->\n- <div class=\"player-section\">\n- <div class=\"current-playing\">\n- <div class=\"sura-info\">\n- <h2 id=\"currentSuraName\">Selecteer een sura om af te spelen</h2>\n- <p id=\"currentReciter\">Geen reciteur geselecteerd</p>\n+ <!-- Sura List -->\n+ <div class=\"sura-list-section\">\n+ <h3>Sura's / السور</h3>\n+ <div class=\"sura-grid\" id=\"suraGrid\">\n+ <!-- Sura's worden hier dynamisch geladen -->\n </div>\n- <div class=\"player-controls\">\n- <button id=\"prevBtn\" class=\"control-btn\" title=\"Vorige\">\n- <span class=\"material-icons\">skip_previous</span>\n- </button>\n- <button id=\"playBtn\" class=\"control-btn play-btn\" title=\"Afspelen/Pauzeren\">\n- <span class=\"material-icons\">play_arrow</span>\n- </button>\n- <button id=\"nextBtn\" class=\"control-btn\" title=\"Volgende\">\n- <span class=\"material-icons\">skip_next</span>\n- </button>\n- <button id=\"directPlayBtn\" class=\"control-btn\" title=\"Direct afspelen in nieuw tabblad\" style=\"display: none;\">\n- <span class=\"material-icons\">open_in_new</span>\n- </button>\n- </div>\n- <div class=\"progress-section\">\n- <span id=\"currentTime\">0:00</span>\n- <input type=\"range\" id=\"progressBar\" min=\"0\" max=\"100\" value=\"0\" class=\"progress-bar\">\n- <span id=\"totalTime\">0:00</span>\n- </div>\n </div>\n </div>\n-\n- <!-- Sura List -->\n- <div class=\"sura-list-section\">\n- <h3>Sura's / السور</h3>\n- <div class=\"sura-grid\" id=\"suraGrid\">\n- <!-- Sura's worden hier dynamisch geladen -->\n- </div>\n- </div>\n </div>\n \n <!-- Zijmenu (exact hetzelfde als hoofdpagina) -->\n <div class=\"right new-layout\">\n"
|
|
},
|
|
{
|
|
"date": 1748210467423,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -12,9 +12,9 @@\n <div class=\"app\">\n <!-- Dark/Light toggle -->\n <button id=\"themeToggle\" title=\"Schakel modus\"><span id=\"themeIcon\" class=\"material-icons\">brightness_6</span></button>\n \n- <!-- Main Quran Content (twee kolommen) -->\n+ <!-- Main Quran Content -->\n <div class=\"quran-full-content\">\n <!-- Linker kolom - Player -->\n <div class=\"quran-left-column\">\n <!-- Header -->\n@@ -33,10 +33,10 @@\n <!-- Player Section -->\n <div class=\"player-section\">\n <div class=\"current-playing\">\n <div class=\"sura-info\">\n- <h2 id=\"currentSuraName\">Selecteer een sura om af te spelen</h2>\n- <p id=\"currentReciter\">Geen reciteur geselecteerd</p>\n+ <h2 id=\"currentSuraName\">Al-Baqarah - البقرة</h2>\n+ <p id=\"currentReciter\">Abdur-Rahman as-Sudais</p>\n </div>\n <div class=\"player-controls\">\n <button id=\"prevBtn\" class=\"control-btn\" title=\"Vorige\">\n <span class=\"material-icons\">skip_previous</span>\n@@ -46,16 +46,13 @@\n </button>\n <button id=\"nextBtn\" class=\"control-btn\" title=\"Volgende\">\n <span class=\"material-icons\">skip_next</span>\n </button>\n- <button id=\"directPlayBtn\" class=\"control-btn\" title=\"Direct afspelen in nieuw tabblad\" style=\"display: none;\">\n- <span class=\"material-icons\">open_in_new</span>\n- </button>\n </div>\n <div class=\"progress-section\">\n- <span id=\"currentTime\">0:00</span>\n+ <span id=\"currentTime\">0:11</span>\n <input type=\"range\" id=\"progressBar\" min=\"0\" max=\"100\" value=\"0\" class=\"progress-bar\">\n- <span id=\"totalTime\">0:00</span>\n+ <span id=\"totalTime\">90:49</span>\n </div>\n </div>\n </div>\n </div>\n@@ -71,15 +68,30 @@\n <!-- Sura List -->\n <div class=\"sura-list-section\">\n <h3>Sura's / السور</h3>\n <div class=\"sura-grid\" id=\"suraGrid\">\n- <!-- Sura's worden hier dynamisch geladen -->\n+ <!-- Voorbeeld sura items -->\n+ <div class=\"sura-item\">\n+ <div class=\"sura-number\">Sura 1</div>\n+ <div class=\"sura-name-arabic\">الفاتحة</div>\n+ <div class=\"sura-name-dutch\">Al-Faatihah</div>\n+ </div>\n+ <div class=\"sura-item active\">\n+ <div class=\"sura-number\">Sura 2</div>\n+ <div class=\"sura-name-arabic\">البقرة</div>\n+ <div class=\"sura-name-dutch\">Al-Baqarah</div>\n+ </div>\n+ <div class=\"sura-item\">\n+ <div class=\"sura-number\">Sura 3</div>\n+ <div class=\"sura-name-arabic\">آل عمران</div>\n+ <div class=\"sura-name-dutch\">Aali-Imraan</div>\n+ </div>\n </div>\n </div>\n </div>\n </div>\n \n- <!-- Zijmenu (exact hetzelfde als hoofdpagina) -->\n+ <!-- Zijmenu (gebedstijden) -->\n <div class=\"right new-layout\">\n <div class=\"hadith-tijden-row\">\n <div class=\"vertical-tijden\">\n <ul class=\"tijden-en-icoontjes\">\n"
|
|
},
|
|
{
|
|
"date": 1748210497533,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -12,9 +12,9 @@\n <div class=\"app\">\n <!-- Dark/Light toggle -->\n <button id=\"themeToggle\" title=\"Schakel modus\"><span id=\"themeIcon\" class=\"material-icons\">brightness_6</span></button>\n \n- <!-- Main Quran Content -->\n+ <!-- Main Quran Content (twee kolommen) -->\n <div class=\"quran-full-content\">\n <!-- Linker kolom - Player -->\n <div class=\"quran-left-column\">\n <!-- Header -->\n@@ -33,10 +33,10 @@\n <!-- Player Section -->\n <div class=\"player-section\">\n <div class=\"current-playing\">\n <div class=\"sura-info\">\n- <h2 id=\"currentSuraName\">Al-Baqarah - البقرة</h2>\n- <p id=\"currentReciter\">Abdur-Rahman as-Sudais</p>\n+ <h2 id=\"currentSuraName\">Selecteer een sura om af te spelen</h2>\n+ <p id=\"currentReciter\">Geen reciteur geselecteerd</p>\n </div>\n <div class=\"player-controls\">\n <button id=\"prevBtn\" class=\"control-btn\" title=\"Vorige\">\n <span class=\"material-icons\">skip_previous</span>\n@@ -46,13 +46,16 @@\n </button>\n <button id=\"nextBtn\" class=\"control-btn\" title=\"Volgende\">\n <span class=\"material-icons\">skip_next</span>\n </button>\n+ <button id=\"directPlayBtn\" class=\"control-btn\" title=\"Direct afspelen in nieuw tabblad\" style=\"display: none;\">\n+ <span class=\"material-icons\">open_in_new</span>\n+ </button>\n </div>\n <div class=\"progress-section\">\n- <span id=\"currentTime\">0:11</span>\n+ <span id=\"currentTime\">0:00</span>\n <input type=\"range\" id=\"progressBar\" min=\"0\" max=\"100\" value=\"0\" class=\"progress-bar\">\n- <span id=\"totalTime\">90:49</span>\n+ <span id=\"totalTime\">0:00</span>\n </div>\n </div>\n </div>\n </div>\n@@ -68,30 +71,15 @@\n <!-- Sura List -->\n <div class=\"sura-list-section\">\n <h3>Sura's / السور</h3>\n <div class=\"sura-grid\" id=\"suraGrid\">\n- <!-- Voorbeeld sura items -->\n- <div class=\"sura-item\">\n- <div class=\"sura-number\">Sura 1</div>\n- <div class=\"sura-name-arabic\">الفاتحة</div>\n- <div class=\"sura-name-dutch\">Al-Faatihah</div>\n- </div>\n- <div class=\"sura-item active\">\n- <div class=\"sura-number\">Sura 2</div>\n- <div class=\"sura-name-arabic\">البقرة</div>\n- <div class=\"sura-name-dutch\">Al-Baqarah</div>\n- </div>\n- <div class=\"sura-item\">\n- <div class=\"sura-number\">Sura 3</div>\n- <div class=\"sura-name-arabic\">آل عمران</div>\n- <div class=\"sura-name-dutch\">Aali-Imraan</div>\n- </div>\n+ <!-- Sura's worden hier dynamisch geladen -->\n </div>\n </div>\n </div>\n </div>\n \n- <!-- Zijmenu (gebedstijden) -->\n+ <!-- Zijmenu (exact hetzelfde als hoofdpagina) -->\n <div class=\"right new-layout\">\n <div class=\"hadith-tijden-row\">\n <div class=\"vertical-tijden\">\n <ul class=\"tijden-en-icoontjes\">\n"
|
|
},
|
|
{
|
|
"date": 1748212655660,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -57,8 +57,16 @@\n <span id=\"totalTime\">0:00</span>\n </div>\n </div>\n </div>\n+\n+ <!-- Text Section -->\n+ <div class=\"quran-text-section\">\n+ <div class=\"text-container\">\n+ <div class=\"arabic-text\" id=\"currentArabicText\"></div>\n+ <div class=\"translation-text\" id=\"currentTranslationText\"></div>\n+ </div>\n+ </div>\n </div>\n \n <!-- Rechter kolom - Zoeken en Sura lijst -->\n <div class=\"quran-right-column\">\n"
|
|
},
|
|
{
|
|
"date": 1748212702356,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,1 +1,152 @@\n-\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\\ No newline at end of file\n+<!DOCTYPE html>\n+<html lang=\"nl\">\n+<head>\n+ <meta charset=\"UTF-8\">\n+ <title>Quran Speler - Gebedstijden Display</title>\n+ <link rel=\"stylesheet\" href=\"/static/style.css\">\n+ <link rel=\"stylesheet\" href=\"/static/quran.css\">\n+ <link href=\"https://fonts.googleapis.com/css2?family=Cairo:wght@400;700&family=Lato:wght@400;700&display=swap\" rel=\"stylesheet\">\n+ <link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\n+</head>\n+<body>\n+ <div class=\"app\">\n+ <!-- Dark/Light toggle -->\n+ <button id=\"themeToggle\" title=\"Schakel modus\"><span id=\"themeIcon\" class=\"material-icons\">brightness_6</span></button>\n+\n+ <!-- Main Quran Content (twee kolommen) -->\n+ <div class=\"quran-full-content\">\n+ <!-- Linker kolom - Player -->\n+ <div class=\"quran-left-column\">\n+ <!-- Header -->\n+ <div class=\"quran-header\">\n+ <h1>القرآن الكريم - Quran Speler</h1>\n+ </div>\n+\n+ <!-- Reciter Selection -->\n+ <div class=\"reciter-selection\">\n+ <label for=\"reciterSelect\">Reciteur / القارئ:</label>\n+ <select id=\"reciterSelect\" class=\"custom-select\">\n+ <option value=\"\">Selecteer een reciteur...</option>\n+ </select>\n+ </div>\n+\n+ <!-- Player Section -->\n+ <div class=\"player-section\">\n+ <div class=\"current-playing\">\n+ <div class=\"sura-info\">\n+ <h2 id=\"currentSuraName\">Selecteer een sura om af te spelen</h2>\n+ <p id=\"currentReciter\">Geen reciteur geselecteerd</p>\n+ </div>\n+ <div class=\"player-controls\">\n+ <button id=\"prevBtn\" class=\"control-btn\" title=\"Vorige\">\n+ <span class=\"material-icons\">skip_previous</span>\n+ </button>\n+ <button id=\"playBtn\" class=\"control-btn play-btn\" title=\"Afspelen/Pauzeren\">\n+ <span class=\"material-icons\">play_arrow</span>\n+ </button>\n+ <button id=\"nextBtn\" class=\"control-btn\" title=\"Volgende\">\n+ <span class=\"material-icons\">skip_next</span>\n+ </button>\n+ <button id=\"directPlayBtn\" class=\"control-btn\" title=\"Direct afspelen in nieuw tabblad\" style=\"display: none;\">\n+ <span class=\"material-icons\">open_in_new</span>\n+ </button>\n+ </div>\n+ <div class=\"progress-section\">\n+ <span id=\"currentTime\">0:00</span>\n+ <input type=\"range\" id=\"progressBar\" min=\"0\" max=\"100\" value=\"0\" class=\"progress-bar\">\n+ <span id=\"totalTime\">0:00</span>\n+ </div>\n+ </div>\n+ </div>\n+ </div>\n+\n+ <!-- Rechter kolom - Zoeken en Sura lijst -->\n+ <div class=\"quran-right-column\">\n+ <!-- Search Section -->\n+ <div class=\"search-section\">\n+ <label for=\"suraSearch\">Zoek Sura / البحث عن السورة:</label>\n+ <input type=\"text\" id=\"suraSearch\" placeholder=\"Zoek naar sura naam...\" class=\"search-input\">\n+ </div>\n+\n+ <!-- Sura List -->\n+ <div class=\"sura-list-section\">\n+ <h3>Sura's / السور</h3>\n+ <div class=\"sura-grid\" id=\"suraGrid\">\n+ <!-- Sura's worden hier dynamisch geladen -->\n+ </div>\n+ </div>\n+ </div>\n+ </div>\n+\n+ <!-- Zijmenu (exact hetzelfde als hoofdpagina) -->\n+ <div class=\"right new-layout\">\n+ <div class=\"hadith-tijden-row\">\n+ <div class=\"vertical-tijden\">\n+ <ul class=\"tijden-en-icoontjes\">\n+ {% for naam, tijd in gebedstijden.items() %}\n+ <li class=\"tijden-rij\">\n+ <span class=\"naam\">{{ naam }}</span>\n+ <span class=\"tijd\">{{ tijd[:5] }}</span>\n+ </li>\n+ {% endfor %}\n+ <li><a href=\"/instellingen\" title=\"Instellingen\" class=\"icoon-link\"><span class=\"material-icons\">settings</span></a></li>\n+ <li><a href=\"#\" id=\"muteBtn\" title=\"Mute\" class=\"icoon-link\"><span id=\"muteIcon\" class=\"material-icons\">volume_off</span></a></li>\n+ <li><a href=\"/debug\" title=\"Debug Mode\" class=\"icoon-link\"><span class=\"material-icons\">bug_report</span></a></li>\n+ <li><a href=\"/\" title=\"Terug naar hoofdpagina\" class=\"icoon-link\"><span class=\"material-icons\">home</span></a></li>\n+ </ul>\n+ </div>\n+ </div>\n+ </div>\n+\n+ <!-- Audio Element -->\n+ <audio id=\"quranAudio\" preload=\"none\"></audio>\n+ </div>\n+\n+ <script src=\"/static/quran.js\"></script>\n+ <script>\n+ // Theme toggle icon dynamisch aanpassen\n+ function updateThemeIcon() {\n+ const html = document.documentElement;\n+ const icon = document.getElementById('themeIcon');\n+ if (html.className === 'light') {\n+ icon.textContent = 'dark_mode';\n+ } else {\n+ icon.textContent = 'light_mode';\n+ }\n+ }\n+ \n+ document.getElementById('themeToggle').addEventListener('click', function() {\n+ const html = document.documentElement;\n+ html.className = html.className === 'light' ? '' : 'light';\n+ localStorage.setItem('theme', html.className);\n+ updateThemeIcon();\n+ });\n+\n+ // Laad opgeslagen theme\n+ const savedTheme = localStorage.getItem('theme');\n+ if (savedTheme) {\n+ document.documentElement.className = savedTheme;\n+ }\n+ updateThemeIcon();\n+\n+ // Mute functionaliteit\n+ let muteStatus = false;\n+ function setMuteIcon() {\n+ const icon = document.getElementById('muteIcon');\n+ icon.textContent = muteStatus ? 'volume_off' : 'volume_up';\n+ }\n+ function toggleMute(e) {\n+ e.preventDefault();\n+ muteStatus = !muteStatus;\n+ setMuteIcon();\n+ fetch('/api/mute', {\n+ method: 'POST',\n+ headers: { 'Content-Type': 'application/json' },\n+ body: JSON.stringify({ mute: muteStatus })\n+ });\n+ }\n+ document.getElementById('muteBtn').addEventListener('click', toggleMute);\n+ setMuteIcon();\n+ </script>\n+</body>\n+</html> \n\\ No newline at end of file\n"
|
|
}
|
|
],
|
|
"date": 1748207584518,
|
|
"name": "Commit-0",
|
|
"content": "<!DOCTYPE html>\n<html lang=\"nl\">\n<head>\n <meta charset=\"UTF-8\">\n <title>Quran Speler - Gebedstijden Display</title>\n <link rel=\"stylesheet\" href=\"/static/style.css\">\n <link rel=\"stylesheet\" href=\"/static/quran.css\">\n <link href=\"https://fonts.googleapis.com/css2?family=Cairo:wght@400;700&family=Lato:wght@400;700&display=swap\" rel=\"stylesheet\">\n <link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\n</head>\n<body>\n <div class=\"quran-app\">\n <!-- Header -->\n <div class=\"quran-header\">\n <a href=\"/\" class=\"back-btn\" title=\"Terug naar hoofdpagina\">\n <span class=\"material-icons\">arrow_back</span>\n </a>\n <h1>القرآن الكريم - Quran Speler</h1>\n <button id=\"themeToggle\" title=\"Schakel modus\">\n <span id=\"themeIcon\" class=\"material-icons\">brightness_6</span>\n </button>\n </div>\n\n <!-- Main Content -->\n <div class=\"quran-content\">\n <!-- Controls Section -->\n <div class=\"controls-section\">\n <div class=\"reciter-selection\">\n <label for=\"reciterSelect\">Reciteur / القارئ:</label>\n <select id=\"reciterSelect\" class=\"custom-select\">\n <option value=\"\">Selecteer een reciteur...</option>\n </select>\n </div>\n\n <div class=\"search-section\">\n <label for=\"suraSearch\">Zoek Sura / البحث عن السورة:</label>\n <input type=\"text\" id=\"suraSearch\" placeholder=\"Zoek naar sura naam...\" class=\"search-input\">\n </div>\n </div>\n\n <!-- Player Section -->\n <div class=\"player-section\">\n <div class=\"current-playing\">\n <div class=\"sura-info\">\n <h2 id=\"currentSuraName\">Selecteer een sura om af te spelen</h2>\n <p id=\"currentReciter\">Geen reciteur geselecteerd</p>\n </div>\n <div class=\"player-controls\">\n <button id=\"prevBtn\" class=\"control-btn\" title=\"Vorige\">\n <span class=\"material-icons\">skip_previous</span>\n </button>\n <button id=\"playBtn\" class=\"control-btn play-btn\" title=\"Afspelen/Pauzeren\">\n <span class=\"material-icons\">play_arrow</span>\n </button>\n <button id=\"nextBtn\" class=\"control-btn\" title=\"Volgende\">\n <span class=\"material-icons\">skip_next</span>\n </button>\n </div>\n <div class=\"progress-section\">\n <span id=\"currentTime\">0:00</span>\n <input type=\"range\" id=\"progressBar\" min=\"0\" max=\"100\" value=\"0\" class=\"progress-bar\">\n <span id=\"totalTime\">0:00</span>\n </div>\n </div>\n </div>\n\n <!-- Sura List -->\n <div class=\"sura-list-section\">\n <h3>Sura's / السور</h3>\n <div class=\"sura-grid\" id=\"suraGrid\">\n <!-- Sura's worden hier dynamisch geladen -->\n </div>\n </div>\n </div>\n\n <!-- Audio Element -->\n <audio id=\"quranAudio\" preload=\"none\"></audio>\n </div>\n\n <script src=\"/static/quran.js\"></script>\n <script>\n // Theme toggle functionaliteit\n function updateThemeIcon() {\n const html = document.documentElement;\n const icon = document.getElementById('themeIcon');\n if (html.className === 'light') {\n icon.textContent = 'dark_mode';\n } else {\n icon.textContent = 'light_mode';\n }\n }\n \n document.getElementById('themeToggle').addEventListener('click', function() {\n const html = document.documentElement;\n html.className = html.className === 'light' ? '' : 'light';\n localStorage.setItem('theme', html.className);\n updateThemeIcon();\n });\n\n // Laad opgeslagen theme\n const savedTheme = localStorage.getItem('theme');\n if (savedTheme) {\n document.documentElement.className = savedTheme;\n }\n updateThemeIcon();\n </script>\n</body>\n</html> "
|
|
}
|
|
]
|
|
} |