// ==UserScript==
// @name WME Live Cameras (IL)
// @description Shows Israel live cameras in Waze Map Editor.
// @namespace https://greasyfork.org/users/gad_m/wme_live_cameras_il
// @version 1.0.17
// @author gad_m
// @license MIT
// @include /^https:\/\/(www|beta)\.waze\.com\/(?!user\/)(.{2,6}\/)?editor.*$/
// @exclude https://www.waze.com/user/*editor/*
// @exclude https://www.waze.com/*/user/*editor/*
// @grant GM_addStyle
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_xmlhttpRequest
// @connect raw.githubusercontent.com
// @require https://code.jquery.com/jquery-1.12.4.js
// @require https://code.jquery.com/ui/1.12.1/jquery-ui.js
// @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAABMtJREFUWEfNmGnIblMUx3/XPE+ZM0tXyJx8oExliFLXfLuXL6KIEj4QMoZS5kyZQynTB0lEQpE5Q2SeyTzP9Hta+2m/+56zzznPi/vuenve5zl77/Pba6/9X2vtWczwNutf4FsJ2AbYAlgZ+BF4DXgO+Az4ezrvmBTwQOBSYE3ge+AF4EXgK2A5YDNgO2A14AfgPOBC4M+hsEMBLwJOAJ4G5gOv93ihkC7mEOAhYG/gjx7jRl36Au4IPAncCxwwiSUC6HTgTOD4gO7k7AN4PTAXWC98qnPSjg6LAW+Gr27eNVkX4FPAsnEAuuYa+vwq4DBgxdpBqgE+BiwC7DT0zQP6nwacGJCNw9oA9ZPDgQ2yUUsGcNf7f+7qUDy/EdgS2LZpXBPg2sCHwKJh+q2BZwKuSyacz3G3hd/2Zf0UOAm4pRzQBKhu7RZSovCqbVsBL/V8m27xDvD4AMilAC3v2CnCXgLuBVwNrB8wSVouqMA56epF1PA3re38BwF3A793LPAKwKikYoxbCfgTsAnwUfQwbPn945bJDwbuiNUvDewKPBp9FePlQ1L2iUhTY5Tlr9KKOeCqwPvAMtksAm8MfNIys9uhG3wTOvleJv5abIUM0EV/B/xWoXRx6u7NqU8OeB3wdsTN9LwGqMWMwwpvagL73e0tAc8FHgQuB1SEptOuMXSrNZoAhTH4u8o+gPZxS3YHHgHcbk/hEjG4DdBFXAz8Gv3eAFSKfJFjw+UWdGCTT9a2eF3gLWBx4BdAifq6A1AZ0idNNrSUFsvdSgMZVnWbMZAm94GfeevywZrTt1lQQK2+L7BWLDAHVJ5OAYxkY0C39vkYsLABrwReBvwcA24IPAxsNAMsaJj1kJ2VA+pLT8TeL2wLmnl/ERn42IIKqmLsZw1wHeCyOO1+GnPbWs0Hza610CoRuXIfvCd08K7cgp5ezWqIagM8A/Dv7CiKDH/mcoanptYGqDSpiZ5+mzH+iGyCD4CdgXdzQP93oHKRZyzpFCvI/qlxeUxV/4wyJp5lqwEa8z3FTU0Oxd7PKbrnKbYg8qWpJcB5sar9ihmt4L6NFKsL8JVY/DFAG6BZjYbQUKOWC7OBXr+yvi0BjwJmA4cWFE7oIkrXsFtpQctS27EVQPVv0xDxBQD9wWiikI7MGy83kvjdQ+SzvF0b2c4upfkyQA+WRVLK82qAJhKWqe5KI6BZhCHmuHiep1ueKrfGutasR2v7v37ZlGmndKtMCtoALW3vi9xyvN4y9qZEUx/wBcZJB50fIwS6JtKoO4EjWyqyNE+DYUc/udg5xUNjuTcSZlStgD44OXwg3bX8Hym/VyN7ADuUK2qr6rz0UUhNwycpmm5vkZ4mi5qxe4WSirQpfdoA7ewpVDANgbb/ouw04/ZAWN6ajS/QaoW7UcIDY4WXa2ObXw393RLjc0AFGKVWQwHtb2w2ATWsnTqUoNJ/T+ABYHvg2dq8XXczjrWPUcDSUrH+chqghjCVwdNqDmoNXm19ANMErvp+4NXQP28f+jYvoG4F9o+d8NT2akMA04TeD94QdYRV2iVxC2HJkDIiKz5lyhBpeNRyJqLnDL0SngQwgRpBtMjRcUdt4pDCpKKrdHgxdFNRKfayXOo0HcBBL5q084wH/AcWqjg4wG29HQAAAABJRU5ErkJggg==
// ==/UserScript==
/* global W */
/* global jQuery */
/* global OpenLayers */
(function() {
console.info('wme-live-camera-il: running...');
const checkbox_id = 'layer-switcher-item_live_cameras_il_cb';
const watchLink_id = 'live_cameras_il_watchLink';
const watchLinkDialog_id = 'live_cameras_il_watchLinkDialog';
const layerUniqueName = 'live_cameras_il_layer';
const iconSize = 26;
const live_cameras_il_backgroundImageCSS = 'position: absolute; width: ' + iconSize + 'px; height: ' + iconSize + 'px; border-radius: 50%; background-color: white; background-repeat: no-repeat;background-size: 25px 25px; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAABMtJREFUWEfNmGnIblMUx3/XPE+ZM0tXyJx8oExliFLXfLuXL6KIEj4QMoZS5kyZQynTB0lEQpE5Q2SeyTzP9Hta+2m/+56zzznPi/vuenve5zl77/Pba6/9X2vtWczwNutf4FsJ2AbYAlgZ+BF4DXgO+Az4ezrvmBTwQOBSYE3ge+AF4EXgK2A5YDNgO2A14AfgPOBC4M+hsEMBLwJOAJ4G5gOv93ihkC7mEOAhYG/gjx7jRl36Au4IPAncCxwwiSUC6HTgTOD4gO7k7AN4PTAXWC98qnPSjg6LAW+Gr27eNVkX4FPAsnEAuuYa+vwq4DBgxdpBqgE+BiwC7DT0zQP6nwacGJCNw9oA9ZPDgQ2yUUsGcNf7f+7qUDy/EdgS2LZpXBPg2sCHwKJh+q2BZwKuSyacz3G3hd/2Zf0UOAm4pRzQBKhu7RZSovCqbVsBL/V8m27xDvD4AMilAC3v2CnCXgLuBVwNrB8wSVouqMA56epF1PA3re38BwF3A793LPAKwKikYoxbCfgTsAnwUfQwbPn945bJDwbuiNUvDewKPBp9FePlQ1L2iUhTY5Tlr9KKOeCqwPvAMtksAm8MfNIys9uhG3wTOvleJv5abIUM0EV/B/xWoXRx6u7NqU8OeB3wdsTN9LwGqMWMwwpvagL73e0tAc8FHgQuB1SEptOuMXSrNZoAhTH4u8o+gPZxS3YHHgHcbk/hEjG4DdBFXAz8Gv3eAFSKfJFjw+UWdGCTT9a2eF3gLWBx4BdAifq6A1AZ0idNNrSUFsvdSgMZVnWbMZAm94GfeevywZrTt1lQQK2+L7BWLDAHVJ5OAYxkY0C39vkYsLABrwReBvwcA24IPAxsNAMsaJj1kJ2VA+pLT8TeL2wLmnl/ERn42IIKqmLsZw1wHeCyOO1+GnPbWs0Hza610CoRuXIfvCd08K7cgp5ezWqIagM8A/Dv7CiKDH/mcoanptYGqDSpiZ5+mzH+iGyCD4CdgXdzQP93oHKRZyzpFCvI/qlxeUxV/4wyJp5lqwEa8z3FTU0Oxd7PKbrnKbYg8qWpJcB5sar9ihmt4L6NFKsL8JVY/DFAG6BZjYbQUKOWC7OBXr+yvi0BjwJmA4cWFE7oIkrXsFtpQctS27EVQPVv0xDxBQD9wWiikI7MGy83kvjdQ+SzvF0b2c4upfkyQA+WRVLK82qAJhKWqe5KI6BZhCHmuHiep1ueKrfGutasR2v7v37ZlGmndKtMCtoALW3vi9xyvN4y9qZEUx/wBcZJB50fIwS6JtKoO4EjWyqyNE+DYUc/udg5xUNjuTcSZlStgD44OXwg3bX8Hym/VyN7ADuUK2qr6rz0UUhNwycpmm5vkZ4mi5qxe4WSirQpfdoA7ewpVDANgbb/ouw04/ZAWN6ajS/QaoW7UcIDY4WXa2ObXw393RLjc0AFGKVWQwHtb2w2ATWsnTqUoNJ/T+ABYHvg2dq8XXczjrWPUcDSUrH+chqghjCVwdNqDmoNXm19ANMErvp+4NXQP28f+jYvoG4F9o+d8NT2akMA04TeD94QdYRV2iVxC2HJkDIiKz5lyhBpeNRyJqLnDL0SngQwgRpBtMjRcUdt4pDCpKKrdHgxdFNRKfayXOo0HcBBL5q084wH/AcWqjg4wG29HQAAAABJRU5ErkJggg==)';
const live_cameras_il_style_class = '.liveCameraIl { ' + live_cameras_il_backgroundImageCSS + ' }';
const live_cameras_il_missing_backgroundImageCSS = 'background-image: url("data:image/x-icon;base64,AAABAAQAQEAAAAEAIAAoQAAARgAAACAgAAABACAAKBAAAG5AAAAYGAAAAQAgACgJAACWUAAAEBAAAAEAIAAoBAAAvlkAACgAAABAAAAAgAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAAD0AAABhAAAAgwAAAJkAAACmAAAAqgAAAKQAAACTAAAAewAAAFcAAAAyAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAD0AAACKAAAA0gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAPgAAAD8AAAA/wAAAP8AAAD/AAAA/wAAAPcAAAC9AAAAcwAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAegAAAN0AAAD/AAAA/wAAAN8AAACgAAAAaAAAAEIAAAAnAAAAGAAAAA4AAAAMAAAAEQAAABwAAAAsAAAATAAAAHgAAACyAAAA8QAAAP8AAAD/AAAAxAAAAFsAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACLAAAA/AAAAP8AAADcAAAAfQAAAC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAABCAAAAmAAAAPMAAAD/AAAA4QAAAGcAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGsAAADzAAAA/wAAAMAAAABMAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAaQAAAOAAAAD/AAAA0QAAAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9BAAAAJAAAAL4AAAD/AAAA1QAAAEsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAcAAAAPYAAAD/AAAAkgAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+EAAD//wAAgfoAAAD/AAAAfwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAqwAAAP8AAADMAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9iAAD//wAA//8AAP//AACxggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrAAAA/wAAAO8AAJhvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAwP8AAP//AAD//wAA//oAAP84AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAJH5AAD//wAAyKIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAP8AABK8AAD+2wAA//8AAP//AAD/7gAA/yQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+IAAD//wAA//8AAP//AACmeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAP8AAADAAAAACAAA/x8AAP/rAAD//wAA//8AAP7gAACzGwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAACAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9cAAD//wAA//8AAP//AABi/AAAADYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+EAAD//wAAjv8AAADPAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxaMAAP//AAB++wAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0UAAABnAAAA/wAAAOwAAABGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAD/AABH7gAAADUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEYAAADtAAAA/wAAAIkAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAALUAAAD/AAAAxAAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAALUAAAD/AAAA3QAAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAegAAAP0AAAD/AAAAiAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYgAAAOsAAAD/AAAAygAAAFUAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAABzAAAA6AAAAP8AAADIAAAAPQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAgQAAAPUAAAD/AAAA5QAAAIgAAAA3AAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAASwAAAKIAAAD7AAAA/wAAANgAAABdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAcAAAANMAAAD/AAAA/wAAAOgAAACqAAAAcwAAAEsAAAAwAAAAHwAAABQAAAARAAAAFgAAACMAAAA1AAAAVwAAAIMAAAC9AAAA+AAAAP8AAAD/AAAAuQAAAFEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAH8AAADIAAAA/AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA7wAAALQAAABpAAAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAA1AAAAWAAAAHgAAACOAAAAmwAAAJ4AAACYAAAAiAAAAHEAAABOAAAAKQAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAABAAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAD8AAABcAAAAZwAAAGEAAABLAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAaQAAAK4AAAC7AAAAqQAAAJUAAACKAAAAkAAAAKIAAAC3AAAAuAAAAIkAAAArAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcQAAAMYAAACXAAAAQQAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAeAAAAMEAAACfAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAAL4AAACpAAAAIwAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIAAADBAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI4AAAC9AAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2AAAAzgAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAADPAAAAOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAowAAAL4AAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEoAAADJAAAAmQAAACsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAbwAAAMsAAACFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAB0AAAAvAAAAK0AAAB3AAAASAAAACsAAAAeAAAAJAAAADsAAABlAAAAmwAAAMAAAACYAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAQwAAAIEAAAClAAAAswAAALUAAAC0AAAArAAAAJAAAABcAAAAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAGAAAADAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")';
const live_cameras_il_missing_style_class = '.liveCameraIlMissing { ' + live_cameras_il_missing_backgroundImageCSS + ' }';
let WME_liveCamerasIL_divTooltipID = 'WME_liveCamerasIL_divTooltip';
let allLiveCameras;
if (typeof W !== 'undefined' && W['userscripts'] && W['userscripts']['state'] && W['userscripts']['state']['isReady']) {
console.debug('wme-live-camera-il: WME is ready.');
initLiveCameraIl();
} else {
console.debug('wme-live-camera-il: WME is not ready. adding event listener.');
document.addEventListener("wme-ready", initLiveCameraIl, {
once: true,
});
}
function getLayerSwitcher_DisplayGroup() {
let result = jQuery('#layer-switcher-group_display');
if (!result || result.length !== 1) {
console.debug('wme-live-camera-il: getLayerSwitcher_DisplayGroup() unexpected size of layer-switcher-group_display: ' + (result?result.length:0));
}
return result;
}
function initLiveCameraIl() {
console.info('wme-live-camera-il: initLiveCameraIl()');
getAllLiveCameras(function () {
addStyle();
addScript();
addCssFiles();
addToLayersPanelUI();
addLayer();
liveCameraIlRefresh();
addTooltip();
registerEvents();
console.info('wme-live-camera-il: initLiveCameraIl() done');
});
}
function addStyle() {
GM_addStyle(live_cameras_il_style_class);
GM_addStyle(live_cameras_il_missing_style_class);
// center dialog title
GM_addStyle(`.ui-dialog-title {
float:none !important;
display: block;
text-align: center;
}`);
}
function addScript() {
let script1 = document.createElement('script');
script1.src = 'https://vjs.zencdn.net/7.2.3/video.js';
document.getElementsByTagName('head')[0].appendChild(script1);
}
function addCssFiles() {
jQuery("head").append('<link href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css">');
jQuery("head").append('<link href="https://vjs.zencdn.net/7.2.3/video-js.css" rel="stylesheet" type="text/css">');
}
function addToLayersPanelUI() {
console.debug('wme-live-camera-il: addToLayersPanelUI()');
let buttonContainer = getLayerSwitcher_DisplayGroup().parent().parent();
jQuery('<li><wz-checkbox class="hydrated" id="' + checkbox_id + '" type="checkbox">\u05de\u05e6\u05dc\u05de\u05d5\u05ea \u05d1\u05e9\u05d9\u05d3\u05d5\u05e8 \u05d7\u05d9</wz-checkbox></li>').insertAfter(buttonContainer.find('.collapsible-GROUP_DISPLAY li:first'));
let layerCheckBox = getLayerCheckBox();
layerCheckBox[0].checked = getState();
console.debug('wme-live-camera-il: addToLayersPanelUI() done');
}
function addLayer() {
console.debug('wme-live-camera-il: addLayer()');
let camerasMapLayer = new OpenLayers.Layer.Vector(layerUniqueName);
camerasMapLayer.name = layerUniqueName;
W.map.addLayer(camerasMapLayer);
setLayerZIndex();
}
function setLayerZIndex() {
let zIndexVal = parseInt(jQuery('#'+W.map.getLayerByName("update_requests").id)[0].style.zIndex) + 10;
let id = W.map.getLayerByUniqueName(layerUniqueName).id;
console.debug('wme-live-camera-il: setLayerZIndex() setting zIndex of element ' + id + ' to: ' + zIndexVal);
jQuery('#' + id).css('z-index', zIndexVal);
}
function removeSvg() {
// remove svg which blocks other layers
let id = W.map.getLayerByUniqueName(layerUniqueName).id;
jQuery('#' + id + '_svgRoot').remove();
}
function addTooltip() {
console.debug('wme-live-camera-il: addTooltip()');
let tooltipDiv = document.createElement('div');
tooltipDiv.id = WME_liveCamerasIL_divTooltipID;
tooltipDiv.dir = "rtl";
tooltipDiv.style = "position: absolute; visibility: hidden; top: 107px; left: 1040px; z-index: 10000; background-color: aliceblue; border-width: 3px; border-style: solid; border-radius: 10px; box-shadow: silver 5px 5px 10px; padding: 4px; height: auto; width: auto; white-space: nowrap; overflow: auto; text-align: right";
document.body.appendChild(tooltipDiv);
tooltipDiv.addEventListener("mouseover", liveCamerasIlEnterPopup, false);
tooltipDiv.addEventListener("mouseout", liveCamerasIlExitPopup, false);
let layerId = W.map.getLayerByUniqueName(layerUniqueName).id;
let layer = jQuery('#' + layerId);
layer.append(tooltipDiv);
console.debug('wme-live-camera-il: addTooltip() done');
}
function liveCamerasIlEnterPopup() {
this.style.visibility = 'visible';
}
function liveCamerasIlExitPopup() {
this.style.visibility = 'hidden';
}
function registerEvents() {
console.debug('wme-live-camera-il: addEvents()');
let layerCheckBox = getLayerCheckBox();
layerCheckBox.click(function () {
let checkedValue = layerCheckBox[0].checked;
console.debug('wme-live-camera-il: layerCheckBox.click() value is: ' + checkedValue);
W.map.getLayerByUniqueName(layerUniqueName).visibility = checkedValue;
setState(checkedValue);
liveCameraIlRefresh();
});
let layerSwitcher_DisplayGroup = getLayerSwitcher_DisplayGroup();
layerSwitcher_DisplayGroup.click(function () {
let switcherValue = layerSwitcher_DisplayGroup[0].checked;
console.debug('wme-live-camera-il: layerSwitcher_DisplayGroup.click() value is: ' + switcherValue);
layerCheckBox[0].disabled = !switcherValue;
liveCameraIlRefresh();
});
W.map.events.register("moveend", null, liveCameraIlRefresh);
W.model.actionManager.events.register("afterundoaction", null, setLayerZIndex);
W.model.actionManager.events.register("afterclearactions", null, setLayerZIndex);
W.model.actionManager.events.register("afteraction", null, setLayerZIndex);
console.debug('wme-live-camera-il: addEvents() done');
}
function liveCameraIlRefresh() {
console.debug('wme-live-camera-il: liveCameraIlRegresh()');
setLayerZIndex();
jQuery('.liveCameraIl').remove();
if (showIcons()) {
console.info('wme-live-camera-il: liveCameraIlRegresh() adding icons...');
addLiveCameras();
} else {
console.info('wme-live-camera-il: liveCameraIlRegresh() will not add icons (toggle/zoom)');
}
removeSvg();
console.debug('wme-live-camera-il: liveCameraIlRegresh() done');
}
function showIcons() {
console.debug('wme-live-camera-il: showIcons()');
let groupTurnedOn = getLayerSwitcher_DisplayGroup()[0].checked;
let layerCheckBoxChecked = getLayerCheckBox()[0].checked;
let zoomLargeEnough = W.map.getZoom() > 14;
let result = groupTurnedOn && layerCheckBoxChecked && zoomLargeEnough;
console.debug('wme-live-camera-il: showIcons() groupTurnedOn: ' + groupTurnedOn + ' layerCheckBoxChecked: ' + layerCheckBoxChecked + ' zoomLargeEnough: ' + zoomLargeEnough);
console.debug('wme-live-camera-il: showIcons() returning: ' + result);
return result;
}
function getLayerCheckBox() {
let result = jQuery('#' + checkbox_id);
if (!result || result.length !== 1) {
console.error('wme-live-camera-il: getLayerCheckBox() unexpected size of layer-switcher-item_live_cameras_il_cb: ' + result?result.length:0);
}
return result;
}
function addLiveCameras() {
console.debug('wme-live-camera-il: addLiveCameras()');
let layerId = W.map.getLayerByUniqueName(layerUniqueName).id;
let layer = jQuery('#' + layerId);
let extent = W.map.getExtent();
Object.entries(allLiveCameras).forEach(([key, liveCamera]) => {
let lonLat = to900913(liveCamera.lon, liveCamera.lat);
if (extent.containsLonLat(lonLat)) {
let pixel = OpenLayers.Layer.SphericalMercator.forwardMercator(parseFloat(liveCamera.lon), parseFloat(liveCamera.lat));
let screenPixel = W.map.getPixelFromLonLat(pixel);
console.info("wme-live-camera-il: addLiveCameras() adding icon with: screenPixel: " + screenPixel + " lat: " + liveCamera.lat + " lon: " + liveCamera.lon);
let x = (screenPixel.x - iconSize/2) + 'px';
let y = (screenPixel.y - iconSize/2) + 'px';
let divClass = "liveCameraIl";
if (liveCamera.type === 'missing_camera') {
divClass += " liveCameraIlMissing";
}
layer.append('<div data_key="' + key + '" class="' + divClass + '" style="top:' + y + '; left:' + x + ';"></div>');
}
});
let allCamerasDiv = jQuery('.liveCameraIl');
allCamerasDiv.hover(liveCamerasIlMouseOver, liveCamerasIlMouseOut);
console.debug('wme-live-camera-il: addLiveCameras() done');
}
function liveCamerasIlMouseOver() {
console.debug('wme-live-camera-il: liveCamerasIlMouseOver()');
let dataKey = this.getAttribute('data_key');
let liveCamera = allLiveCameras[dataKey];
let toolTipDiv = jQuery('#' + WME_liveCamerasIL_divTooltipID);
toolTipDiv.css('visibility', 'visible');
toolTipDiv.css('top', parseInt(this.style.top.substring(0, this.style.top.length-'px'.length)));
toolTipDiv.css('left', 25+ parseInt(this.style.left.substring(0, this.style.left.length-'px'.length)));
if (liveCamera) {
toolTipDiv.html(getTooltipText(liveCamera));
let title = liveCamera.cameraName;
if (liveCamera.location) {
title += ', ' + liveCamera.location;
}
title = title.replace('%20', '"').replace('%27', "'");
jQuery('#' + watchLink_id).click(function () {
openLiveCameraInNewWindow(liveCamera, title);
});
jQuery('#' + watchLinkDialog_id).click(function () {
openLiveCameraInDialog(liveCamera, title);
});
} else {
toolTipDiv.html(getTooltipTextNotFound(dataKey));
console.error('wme-live-camera-il: liveCamerasIlMouseOver() camera not found: ' + dataKey);
}
}
function liveCamerasIlMouseOut() {
console.debug('wme-live-camera-il: liveCamerasIlMouseOut()');
jQuery('#' + WME_liveCamerasIL_divTooltipID).css('visibility', 'hidden');
}
function escapeTooltipText(str) {
return (str||'').replace('%20', '"').replace('%27', "'").replace('%28', "(").replace('%29', ")");
}
function getTooltipText(liveCamera) {
console.debug('wme-live-camera-il: getTooltipText() live camera: ' + JSON.stringify(liveCamera));
// title
let result = '<p style="text-align: center"><b>\u05de\u05e6\u05dc\u05de\u05d4 \u05d1\u05e9\u05d9\u05d3\u05d5\u05e8 \u05d7\u05d9</b></p>';
// name
result += 'שם: ';
result += escapeTooltipText(liveCamera.cameraName);
result += '<br/>';
// watch link(s)
if (liveCamera.type === 'iroads' || liveCamera.type === 'ayalonhw') {
result += 'צפייה: ';
result += '<a id="' + watchLinkDialog_id + '" href="#">\u05d7\u05dc\u05d5\u05df \u05de\u05e2\u05dc</a> ' + generateWatchLink(liveCamera);
result += '<br/>';
} else if (liveCamera.type === 'missing_camera' ) {
result += 'המצלמה הוסרה';
result += '<br/>';
} else {
result += 'צפייה: ';
result += generateWatchLink(liveCamera);
result += '<br/>';
}
result += '<br/>';
//less important
// direction
if (liveCamera.direction) {
result += '\u05db\u05d9\u05d5\u05d5\u05df \u0028\u05d1\u05e8\u05d9\u05e8\u05ea \u05de\u05d7\u05d3\u05dc\u0029\u003a ';
result += escapeTooltipText(liveCamera.direction);
result += '<br/>';
}
// data source
let source;
if (liveCamera.type === 'iroads') {
source = '<a href="https://www.iroads.co.il/%D7%AA%D7%99%D7%A7%D7%99%D7%99%D7%AA-%D7%9E%D7%A6%D7%9C%D7%9E%D7%95%D7%AA/" target="_blank">iroads.co.il</a>';
} else if (liveCamera.type === 'ayalonhw') {
source = '<a href="https://www.ayalonhw.co.il/%d7%9e%d7%a6%d7%9c%d7%9e%d7%95%d7%aa-%d7%91%d7%a9%d7%99%d7%93%d7%95%d7%a8-%d7%97%d7%99/" target="_blank">ayalonhw.co.il</a>';
}
if (source) {
result += '\u05de\u05e7\u05d5\u05e8\u003a ';
result += source;
result += '<br/>';
}
// WME comment link
if (liveCamera.commentID) {
result += '\u05d4\u05e2\u05e8\u05ea \u05de\u05e4\u05d4 \u003a ';
result += '<a target="_blank" href="https://www.waze.com/editor?zoomLevel=19&lat=' + liveCamera.lat + '&lon=' + liveCamera.lon + '&mapComments=' + liveCamera.commentID + '">\u05d7\u05dc\u05d5\u05df \u05d7\u05d3\u05e9</a>';
result += '<br/>';
}
/*if (liveCamera.area) {
result += 'אזור: ';
result += liveCamera.area;
result += '<br/>';
}
if (liveCamera.location) {
result += 'מיקום: ';
result += liveCamera.location;
result += '<br/>';
}*/
//result += '<img style="width: 150px;height: 100px" src="' + liveCamera.image + '"/>';
//result += '<br/>';
return result;
}
function getTooltipTextNotFound(dataKey) {
let result = '<b><center>מצלמת מהירות</center></b>';
result += 'Not found for key: ';
result += dataKey;
result += '<br/>';
return result;
}
function generateWatchLink(liveCamera) {
let result = '';
//console.info(htmlContent);
if (liveCamera.type === 'iroads' || liveCamera.type === 'ayalonhw') {
result += '<a id="' + watchLink_id + '" href="#">חלון חדש</a>';
} else if (liveCamera.type === 'url') {
result += '<a href="' + liveCamera.cameraUrl + '" target="_blank">חלון חדש</a>';
} else {
console.error('wme-live-camera-il: generateWatchLink() unknown live camera type: ' + JSON.stringify(liveCamera, null, 4));
}
return result;
}
function openLiveCameraInDialog(camera, title) {
console.debug('wme-live-camera-il: openLiveCameraInDialog() cameraFile: ' + camera.cameraFile + ' title: ' + title);
const divDialog_id = 'live_cameras_il_divDialog';
jQuery("body").append(`<div id="` + divDialog_id + `">
<video id="live-camera-il-video" class="video-js vjs-default-skin" controls>
<source type="application/x-mpegURL" src="` + camera.cameraFile + `">
</video>
<script src="https://vjs.zencdn.net/7.2.3/video.js"></script>
<script id="videoscriptid">
let liveCameraIlPlayer = videojs("live-camera-il-video");
liveCameraIlPlayer.play();
</script>
</div>`);
let maxHeight = 720;
let maxWidth = 1280;
let height = camera.height && camera.height <= maxHeight? camera.height: maxHeight;
let width = height === maxHeight?maxWidth:camera.width;
console.debug('wme-live-camera-il: openLiveCameraInDialog() height: ' + height + ' width: ' + width);
jQuery( "#" + divDialog_id).dialog({
title: title.replace('"', '"'),
height: height,
width: width,
maxHeight: maxHeight,
maxWidth: maxWidth,
close: function () {
console.debug('wme-live-camera-il: openLiveCameraInDialog() dialog close. destroy and remove');
$(this).dialog('destroy').remove();
}
});
}
function openLiveCameraInNewWindow(liveCamera, title) {
console.debug('wme-live-camera-il: openLiveCameraInNewWindow() cameraFile: ' + liveCamera.cameraFile + ' title: ' + title);
let liveCamWindow=window.open();
liveCamWindow.document.writeln(`<html>
<head>
<link href="https://vjs.zencdn.net/7.2.3/video-js.css" rel="stylesheet">
</head>
<body style="width: ` + liveCamera.width + `px">
<h3 style="text-align: center;">` + title + `</h3>
<video id="live-camera-il-video" class="video-js vjs-default-skin" controls>
<source type="application/x-mpegURL" src="` + liveCamera.cameraFile + `">
</video>
<script src="https://vjs.zencdn.net/7.2.3/video.js"></script>
<script type="text/javascript">
let liveCameraIlPlayer = videojs("live-camera-il-video");
//liveCamWindow.document.writeln('liveCameraIlPlayer.play(); violates Security Policy directive
</script>
</br>
</body>
</html>`);
liveCamWindow.document.title = '\u05de\u05e6\u05dc\u05de\u05d4 \u05d1\u05e9\u05d9\u05d3\u05d5\u05e8 \u05d7\u05d9';
}
const dataTimestampKey = 'liveCamerasDataTimestampKey';
const dataKey = 'liveCamerasDataKey';
const millisecondsToUseStore = 1000 * 60 * 60 * 3; // TODO 1000ms * 60 seconds * 60 minutes * 24 hours = refresh once a day.
function getAllLiveCameras(cb) {
console.debug('wme-live-camera-il: getAllLiveCameras()');
let storedTimestamp = GM_getValue(dataTimestampKey, 0);
let storedData = GM_getValue(dataKey);
let now = Date.now();
let storeAge = now - storedTimestamp;
if (storeAge < millisecondsToUseStore && storedData) {
allLiveCameras = storedData;
console.debug('wme-live-camera-il: getAllLiveCameras() using stored data. #of milliseconds to use store: ' + millisecondsToUseStore + 'ms. store age: ' + storeAge + 'ms');
console.info('wme-live-camera-il: getAllLiveCameras() using stored data. #of cameras: ' + Object.keys(allLiveCameras).length);
cb();
} else {
console.info('wme-live-camera-il: getAllLiveCameras() not using stored data. #of milliseconds to use store: ' + millisecondsToUseStore + 'ms. store age: ' + storeAge + 'ms');
getAllLiveCamerasFromUrl(cb);
}
}
function getAllLiveCamerasFromUrl(cb) {
console.debug('wme-live-camera-il: getAllLiveCamerasFromUrl()');
const url = "https://raw.githubusercontent.com/melameg/public-resources/master/wme-live-camera-il/liveCameras.json";
GM_xmlhttpRequest ( {
method: "GET",
url: url,
responseType: "json",
onload: function (responseObj) {
if (responseObj && responseObj.status === 200) {
console.debug('wme-live-camera-il: getAllLiveCamerasFromUrl() got response');
allLiveCameras = responseObj.response;
console.info('wme-live-camera-il: getAllLiveCamerasFromUrl() loaded from URL. #of cameras: ' + Object.keys(allLiveCameras).length);
GM_setValue(dataTimestampKey, Date.now());
GM_setValue(dataKey, allLiveCameras);
cb();
} else {
console.error('wme-live-camera-il: getAllLiveCamerasFromUrl() got response with status: ' + responseObj.status);
}
}
});
}
function to900913(lon, lat) {
let proj900913 = new OpenLayers.Projection("EPSG:900913");
let proj4326 = new OpenLayers.Projection("EPSG:4326");
return (new OpenLayers.LonLat(lon, lat)).transform(proj4326, proj900913);
}
const live_camera_state_key = 'live_camera_state';
function getState() {
let result = ('true' === localStorage.getItem(live_camera_state_key));
console.debug('wme-live-camera-il: getState() returning: ' + result);
return result;
}
function setState(value) {
console.debug('wme-live-camera-il: setState() to: ' + value.toString());
localStorage.setItem(live_camera_state_key, value.toString());
}
})();