UNPKG

eufy-security-client-fork

Version:

Client to comunicate with Eufy-Security devices

1,790 lines 91.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.decodeSmartSafeData = exports.encodeSmartSafeData = exports.generateHash = exports.getCurrentTimeInSeconds = exports.SmartSafeByteWriter = exports.getAdvancedLockTimezone = exports.getEufyTimezone = exports.timeZoneData = exports.getDistances = exports.getBlocklist = exports.encryptPassword = exports.calculateWifiSignalLevel = exports.switchNotificationMode = exports.isNotificationSwitchMode = exports.getAbsoluteFilePath = exports.getTimezoneGMTString = exports.pad = exports.isGreaterEqualMinVersion = void 0; const crypto_1 = require("crypto"); const utils_1 = require("../p2p/utils"); const device_1 = require("./device"); const types_1 = require("./types"); const isGreaterEqualMinVersion = function (minimal_version, current_version) { if (minimal_version === undefined) minimal_version = ""; if (current_version === undefined) current_version = ""; minimal_version = minimal_version.replace(/\D+/g, ""); current_version = current_version.replace(/\D+/g, ""); if (minimal_version === "") return false; if (current_version === "") return false; let min_version = 0; let curr_version = 0; try { min_version = Number.parseInt(minimal_version); } catch (error) { } try { curr_version = Number.parseInt(current_version); } catch (error) { } if (curr_version === 0 || min_version === 0 || curr_version < min_version) { return false; } return true; }; exports.isGreaterEqualMinVersion = isGreaterEqualMinVersion; const pad = function (num) { const norm = Math.floor(Math.abs(num)); return (norm < 10 ? "0" : "") + norm; }; exports.pad = pad; const getTimezoneGMTString = function () { const tzo = -new Date().getTimezoneOffset(); const dif = tzo >= 0 ? "+" : "-"; return `GMT${dif}${(0, exports.pad)(tzo / 60)}:${(0, exports.pad)(tzo % 60)}`; }; exports.getTimezoneGMTString = getTimezoneGMTString; const getAbsoluteFilePath = function (device_type, channel, filename) { if (device_type === types_1.DeviceType.FLOODLIGHT) { return `/mnt/data/Camera${String(channel).padStart(2, "0")}/${filename}.dat`; } return `/media/mmcblk0p1/Camera${String(channel).padStart(2, "0")}/${filename}.dat`; }; exports.getAbsoluteFilePath = getAbsoluteFilePath; const isNotificationSwitchMode = function (value, mode) { if (value === 1) value = 240; return (value & mode) !== 0; }; exports.isNotificationSwitchMode = isNotificationSwitchMode; const switchNotificationMode = function (currentValue, mode, enable) { let result = 0; if (!enable && currentValue === 1 /* ALL */) { currentValue = 240; } if (enable) { result = mode | currentValue; } else { result = ~mode & currentValue; } if ((0, exports.isNotificationSwitchMode)(result, types_1.NotificationSwitchMode.SCHEDULE) && (0, exports.isNotificationSwitchMode)(result, types_1.NotificationSwitchMode.APP) && (0, exports.isNotificationSwitchMode)(result, types_1.NotificationSwitchMode.GEOFENCE) && (0, exports.isNotificationSwitchMode)(result, types_1.NotificationSwitchMode.KEYPAD)) { result = 1; /* ALL */ } return result; }; exports.switchNotificationMode = switchNotificationMode; const calculateWifiSignalLevel = function (device, rssi) { if (device.isWiredDoorbell()) { if (rssi >= -65) { return types_1.WifiSignalLevel.FULL; } if (rssi >= -75) { return types_1.WifiSignalLevel.STRONG; } return rssi >= -80 ? types_1.WifiSignalLevel.NORMAL : types_1.WifiSignalLevel.WEAK; } else if (device.isCamera2Product()) { if (rssi >= 0) { return types_1.WifiSignalLevel.NO_SIGNAL; } if (rssi >= -65) { return types_1.WifiSignalLevel.FULL; } if (rssi >= -75) { return types_1.WifiSignalLevel.STRONG; } return rssi >= -85 ? types_1.WifiSignalLevel.NORMAL : types_1.WifiSignalLevel.WEAK; } else if (device.isFloodLight()) { if (rssi >= 0) { return types_1.WifiSignalLevel.NO_SIGNAL; } if (rssi >= -60) { return types_1.WifiSignalLevel.FULL; } if (rssi >= -70) { return types_1.WifiSignalLevel.STRONG; } return rssi >= -80 ? types_1.WifiSignalLevel.NORMAL : types_1.WifiSignalLevel.WEAK; } else if (device.isBatteryDoorbell()) { if (rssi >= -65) { return types_1.WifiSignalLevel.FULL; } if (rssi >= -75) { return types_1.WifiSignalLevel.STRONG; } return rssi >= -85 ? types_1.WifiSignalLevel.NORMAL : types_1.WifiSignalLevel.WEAK; } else { if (rssi >= 0) { return types_1.WifiSignalLevel.NO_SIGNAL; } if (rssi >= -65) { return types_1.WifiSignalLevel.FULL; } if (rssi >= -75) { return types_1.WifiSignalLevel.STRONG; } return rssi >= -85 ? types_1.WifiSignalLevel.NORMAL : types_1.WifiSignalLevel.WEAK; } }; exports.calculateWifiSignalLevel = calculateWifiSignalLevel; const encryptPassword = (password, key) => { const cipher = (0, crypto_1.createCipheriv)("aes-256-cbc", key, key.slice(0, 16)); return (cipher.update(password, "utf8", "base64") + cipher.final("base64")); }; exports.encryptPassword = encryptPassword; const getBlocklist = function (directions) { const result = []; for (let distance = 1; distance <= 5; distance++) { let i = 0; let j = 0; let k = 1; for (const directionDistance of directions) { if (directionDistance >= distance) { j += k; } k <<= 1; } if (j == 0) { i = 65535; } else if (!(j == 255 || j == 65535)) { i = (j ^ 255) + 65280; } result.push(65535 & i); } return result; }; exports.getBlocklist = getBlocklist; const getDistances = function (blocklist) { const result = [3, 3, 3, 3, 3, 3, 3, 3]; let calcDistance = 0; for (const blockElement of blocklist) { let valueOf = blockElement ^ 65535; calcDistance++; if (valueOf !== 0) { for (let i = 0; i < result.length; i++) { const intValue = valueOf & 1; if (intValue > 0) { result[i] = calcDistance; } valueOf = valueOf >> 1; } } } return result; }; exports.getDistances = getDistances; exports.timeZoneData = [ { "timeZoneName": "Abidjan", "timeId": "Africa/Abidjan", "timeSn": "1000", "timeZoneGMT": "GMT0" }, { "timeZoneName": "Accra", "timeId": "Africa/Accra", "timeSn": "1001", "timeZoneGMT": "GMT0" }, { "timeZoneName": "Addis Ababa", "timeId": "Africa/Addis_Ababa", "timeSn": "1002", "timeZoneGMT": "EAT-3" }, { "timeZoneName": "Algiers", "timeId": "Africa/Algiers", "timeSn": "1003", "timeZoneGMT": "CET-1" }, { "timeZoneName": "Asmara", "timeId": "Africa/Asmara", "timeSn": "1004", "timeZoneGMT": "EAT-3" }, { "timeZoneName": "Bamako", "timeId": "Africa/Bamako", "timeSn": "1005", "timeZoneGMT": "GMT0" }, { "timeZoneName": "Bangui", "timeId": "Africa/Bangui", "timeSn": "1006", "timeZoneGMT": "WAT-1" }, { "timeZoneName": "Banjul", "timeId": "Africa/Banjul", "timeSn": "1007", "timeZoneGMT": "GMT0" }, { "timeZoneName": "Bissau", "timeId": "Africa/Bissau", "timeSn": "1008", "timeZoneGMT": "GMT0" }, { "timeZoneName": "Blantyre", "timeId": "Africa/Blantyre", "timeSn": "1009", "timeZoneGMT": "CAT-2" }, { "timeZoneName": "Brazzaville", "timeId": "Africa/Brazzaville", "timeSn": "1010", "timeZoneGMT": "WAT-1" }, { "timeZoneName": "Bujumbura", "timeId": "Africa/Bujumbura", "timeSn": "1011", "timeZoneGMT": "CAT-2" }, { "timeZoneName": "Cairo", "timeId": "Africa/Cairo", "timeSn": "1012", "timeZoneGMT": "EET-2" }, { "timeZoneName": "Casablanca", "timeId": "Africa/Casablanca", "timeSn": "1013", "timeZoneGMT": "\u003c+01\u003e-1" }, { "timeZoneName": "Ceuta", "timeId": "Africa/Ceuta", "timeSn": "1014", "timeZoneGMT": "CET-1CEST,M3.5.0,M10.5.0/3" }, { "timeZoneName": "Conakry", "timeId": "Africa/Conakry", "timeSn": "1015", "timeZoneGMT": "GMT0" }, { "timeZoneName": "Dakar", "timeId": "Africa/Dakar", "timeSn": "1016", "timeZoneGMT": "GMT0" }, { "timeZoneName": "Dar es Salaam", "timeId": "Africa/Dar_es_Salaam", "timeSn": "1017", "timeZoneGMT": "EAT-3" }, { "timeZoneName": "Djibouti", "timeId": "Africa/Djibouti", "timeSn": "1018", "timeZoneGMT": "EAT-3" }, { "timeZoneName": "Douala", "timeId": "Africa/Douala", "timeSn": "1019", "timeZoneGMT": "WAT-1" }, { "timeZoneName": "El Aaiun", "timeId": "Africa/El_Aaiun", "timeSn": "1020", "timeZoneGMT": "\u003c+01\u003e-1" }, { "timeZoneName": "Freetown", "timeId": "Africa/Freetown", "timeSn": "1021", "timeZoneGMT": "GMT0" }, { "timeZoneName": "Gaborone", "timeId": "Africa/Gaborone", "timeSn": "1022", "timeZoneGMT": "CAT-2" }, { "timeZoneName": "Harare", "timeId": "Africa/Harare", "timeSn": "1023", "timeZoneGMT": "CAT-2" }, { "timeZoneName": "Johannesburg", "timeId": "Africa/Johannesburg", "timeSn": "1024", "timeZoneGMT": "SAST-2" }, { "timeZoneName": "Juba", "timeId": "Africa/Juba", "timeSn": "1025", "timeZoneGMT": "EAT-3" }, { "timeZoneName": "Kampala", "timeId": "Africa/Kampala", "timeSn": "1026", "timeZoneGMT": "EAT-3" }, { "timeZoneName": "Khartoum", "timeId": "Africa/Khartoum", "timeSn": "1027", "timeZoneGMT": "CAT-2" }, { "timeZoneName": "Kigali", "timeId": "Africa/Kigali", "timeSn": "1028", "timeZoneGMT": "CAT-2" }, { "timeZoneName": "Kinshasa", "timeId": "Africa/Kinshasa", "timeSn": "1029", "timeZoneGMT": "WAT-1" }, { "timeZoneName": "Lagos", "timeId": "Africa/Lagos", "timeSn": "1030", "timeZoneGMT": "WAT-1" }, { "timeZoneName": "Libreville", "timeId": "Africa/Libreville", "timeSn": "1031", "timeZoneGMT": "WAT-1" }, { "timeZoneName": "Lome", "timeId": "Africa/Lome", "timeSn": "1032", "timeZoneGMT": "GMT0" }, { "timeZoneName": "Luanda", "timeId": "Africa/Luanda", "timeSn": "1033", "timeZoneGMT": "WAT-1" }, { "timeZoneName": "Lubumbashi", "timeId": "Africa/Lubumbashi", "timeSn": "1034", "timeZoneGMT": "CAT-2" }, { "timeZoneName": "Lusaka", "timeId": "Africa/Lusaka", "timeSn": "1035", "timeZoneGMT": "CAT-2" }, { "timeZoneName": "Malabo", "timeId": "Africa/Malabo", "timeSn": "1036", "timeZoneGMT": "WAT-1" }, { "timeZoneName": "Maputo", "timeId": "Africa/Maputo", "timeSn": "1037", "timeZoneGMT": "CAT-2" }, { "timeZoneName": "Maseru", "timeId": "Africa/Maseru", "timeSn": "1038", "timeZoneGMT": "SAST-2" }, { "timeZoneName": "Mbabane", "timeId": "Africa/Mbabane", "timeSn": "1039", "timeZoneGMT": "SAST-2" }, { "timeZoneName": "Mogadishu", "timeId": "Africa/Mogadishu", "timeSn": "1040", "timeZoneGMT": "EAT-3" }, { "timeZoneName": "Monrovia", "timeId": "Africa/Monrovia", "timeSn": "1041", "timeZoneGMT": "GMT0" }, { "timeZoneName": "Nairobi", "timeId": "Africa/Nairobi", "timeSn": "1042", "timeZoneGMT": "EAT-3" }, { "timeZoneName": "Ndjamena", "timeId": "Africa/Ndjamena", "timeSn": "1043", "timeZoneGMT": "WAT-1" }, { "timeZoneName": "Niamey", "timeId": "Africa/Niamey", "timeSn": "1044", "timeZoneGMT": "WAT-1" }, { "timeZoneName": "Nouakchott", "timeId": "Africa/Nouakchott", "timeSn": "1045", "timeZoneGMT": "GMT0" }, { "timeZoneName": "Ouagadougou", "timeId": "Africa/Ouagadougou", "timeSn": "1046", "timeZoneGMT": "GMT0" }, { "timeZoneName": "Porto-Novo", "timeId": "Africa/Porto-Novo", "timeSn": "1047", "timeZoneGMT": "WAT-1" }, { "timeZoneName": "Saint Thomas", "timeId": "Africa/Sao_Tome", "timeSn": "1048", "timeZoneGMT": "WAT-1" }, { "timeZoneName": "Timbuktu", "timeId": "Africa/Timbuktu", "timeSn": "1049", "timeZoneGMT": "GMT0" }, { "timeZoneName": "Tripoli", "timeId": "Africa/Tripoli", "timeSn": "1050", "timeZoneGMT": "EET-2" }, { "timeZoneName": "Tunis", "timeId": "Africa/Tunis", "timeSn": "1051", "timeZoneGMT": "CET-1" }, { "timeZoneName": "Windhoek", "timeId": "Africa/Windhoek", "timeSn": "1052", "timeZoneGMT": "CAT-2" }, { "timeZoneName": "Adak", "timeId": "America/Adak", "timeSn": "1053", "timeZoneGMT": "HST10HDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Anchorage", "timeId": "America/Anchorage", "timeSn": "1054", "timeZoneGMT": "AKST9AKDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Anguilla", "timeId": "America/Anguilla", "timeSn": "1055", "timeZoneGMT": "AST4" }, { "timeZoneName": "Antigua", "timeId": "America/Antigua", "timeSn": "1056", "timeZoneGMT": "AST4" }, { "timeZoneName": "Araguaina", "timeId": "America/Araguaina", "timeSn": "1057", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Buenos Aires", "timeId": "America/Argentina/Buenos_Aires", "timeSn": "1058", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Catamarca", "timeId": "America/Argentina/Catamarca", "timeSn": "1059", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "ComodRivadavia", "timeId": "America/Argentina/ComodRivadavia", "timeSn": "1060", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Cordoba", "timeId": "America/Argentina/Cordoba", "timeSn": "1061", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Jujuy", "timeId": "America/Argentina/Jujuy", "timeSn": "1062", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "La Rioja", "timeId": "America/Argentina/La_Rioja", "timeSn": "1063", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Mendoza", "timeId": "America/Argentina/Mendoza", "timeSn": "1064", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Rio Gallegos", "timeId": "America/Argentina/Rio_Gallegos", "timeSn": "1065", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Salta", "timeId": "America/Argentina/Salta", "timeSn": "1066", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "San Juan", "timeId": "America/Argentina/San_Juan", "timeSn": "1067", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "San Luis", "timeId": "America/Argentina/San_Luis", "timeSn": "1068", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Tucuman", "timeId": "America/Argentina/Tucuman", "timeSn": "1069", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Ushuaia", "timeId": "America/Argentina/Ushuaia", "timeSn": "1070", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Aruba", "timeId": "America/Aruba", "timeSn": "1071", "timeZoneGMT": "AST4" }, { "timeZoneName": "Asuncion", "timeId": "America/Asuncion", "timeSn": "1072", "timeZoneGMT": "\u003c-04\u003e4\u003c-03\u003e,M10.1.0/0,M3.4.0/0" }, { "timeZoneName": "Atikokan", "timeId": "America/Atikokan", "timeSn": "1073", "timeZoneGMT": "EST5" }, { "timeZoneName": "Atka", "timeId": "America/Atka", "timeSn": "1074", "timeZoneGMT": "HST10HDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Bahia", "timeId": "America/Bahia", "timeSn": "1075", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Bahia Banderas", "timeId": "America/Bahia_Banderas", "timeSn": "1076", "timeZoneGMT": "CST6CDT,M4.1.0,M10.5.0" }, { "timeZoneName": "Barbados", "timeId": "America/Barbados", "timeSn": "1077", "timeZoneGMT": "AST4" }, { "timeZoneName": "Belem", "timeId": "America/Belem", "timeSn": "1078", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Belize", "timeId": "America/Belize", "timeSn": "1079", "timeZoneGMT": "CST6" }, { "timeZoneName": "Blanc-Sablon", "timeId": "America/Blanc-Sablon", "timeSn": "1080", "timeZoneGMT": "AST4" }, { "timeZoneName": "Boa Vista", "timeId": "America/Boa_Vista", "timeSn": "1081", "timeZoneGMT": "\u003c-04\u003e4" }, { "timeZoneName": "Bogota", "timeId": "America/Bogota", "timeSn": "1082", "timeZoneGMT": "\u003c-05\u003e5" }, { "timeZoneName": "Boise", "timeId": "America/Boise", "timeSn": "1083", "timeZoneGMT": "MST7MDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Cambridge Bay", "timeId": "America/Cambridge_Bay", "timeSn": "1084", "timeZoneGMT": "MST7MDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Campo Grande", "timeId": "America/Campo_Grande", "timeSn": "1085", "timeZoneGMT": "\u003c-04\u003e4\u003c-03\u003e,M11.1.0/0,M2.3.0/0" }, { "timeZoneName": "Cancun", "timeId": "America/Cancun", "timeSn": "1086", "timeZoneGMT": "EST5" }, { "timeZoneName": "Caracas", "timeId": "America/Caracas", "timeSn": "1087", "timeZoneGMT": "\u003c-04\u003e4" }, { "timeZoneName": "Cayenne", "timeId": "America/Cayenne", "timeSn": "1088", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Cayman", "timeId": "America/Cayman", "timeSn": "1089", "timeZoneGMT": "EST5" }, { "timeZoneName": "Chicago", "timeId": "America/Chicago", "timeSn": "1090", "timeZoneGMT": "CST6CDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Chihuahua", "timeId": "America/Chihuahua", "timeSn": "1091", "timeZoneGMT": "MST7MDT,M4.1.0,M10.5.0" }, { "timeZoneName": "Costa Rica", "timeId": "America/Costa_Rica", "timeSn": "1092", "timeZoneGMT": "CST6" }, { "timeZoneName": "Creston", "timeId": "America/Creston", "timeSn": "1093", "timeZoneGMT": "MST7" }, { "timeZoneName": "Cuiaba", "timeId": "America/Cuiaba", "timeSn": "1094", "timeZoneGMT": "\u003c-04\u003e4\u003c-03\u003e,M11.1.0/0,M2.3.0/0" }, { "timeZoneName": "Curacao", "timeId": "America/Curacao", "timeSn": "1095", "timeZoneGMT": "AST4" }, { "timeZoneName": "Danmarkshavn", "timeId": "America/Danmarkshavn", "timeSn": "1096", "timeZoneGMT": "GMT0" }, { "timeZoneName": "Dawson", "timeId": "America/Dawson", "timeSn": "1097", "timeZoneGMT": "PST8PDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Dawson Creek", "timeId": "America/Dawson_Creek", "timeSn": "1098", "timeZoneGMT": "MST7" }, { "timeZoneName": "Denver", "timeId": "America/Denver", "timeSn": "1099", "timeZoneGMT": "MST7MDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Detroit", "timeId": "America/Detroit", "timeSn": "1100", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Dominica", "timeId": "America/Dominica", "timeSn": "1101", "timeZoneGMT": "AST4" }, { "timeZoneName": "Edmonton", "timeId": "America/Edmonton", "timeSn": "1102", "timeZoneGMT": "MST7MDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Eirunepe", "timeId": "America/Eirunepe", "timeSn": "1103", "timeZoneGMT": "\u003c-05\u003e5" }, { "timeZoneName": "El Salvador", "timeId": "America/El_Salvador", "timeSn": "1104", "timeZoneGMT": "CST6" }, { "timeZoneName": "Ensenada", "timeId": "America/Ensenada", "timeSn": "1105", "timeZoneGMT": "PST8PDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Fort Nelson", "timeId": "America/Fort_Nelson", "timeSn": "1106", "timeZoneGMT": "MST7" }, { "timeZoneName": "Fort Wayne", "timeId": "America/Fort_Wayne", "timeSn": "1107", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Fortaleza", "timeId": "America/Fortaleza", "timeSn": "1108", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Glace Bay", "timeId": "America/Glace_Bay", "timeSn": "1109", "timeZoneGMT": "AST4ADT,M3.2.0,M11.1.0" }, { "timeZoneName": "Nuuk", "timeId": "America/Godthab", "timeSn": "1110", "timeZoneGMT": "\u003c-03\u003e3\u003c-02\u003e,M3.5.0,M10.5.0" }, { "timeZoneName": "Goose Bay", "timeId": "America/Goose_Bay", "timeSn": "1111", "timeZoneGMT": "AST4ADT,M3.2.0,M11.1.0" }, { "timeZoneName": "Grand Turk", "timeId": "America/Grand_Turk", "timeSn": "1112", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Grenada", "timeId": "America/Grenada", "timeSn": "1113", "timeZoneGMT": "AST4" }, { "timeZoneName": "Guadeloupe", "timeId": "America/Guadeloupe", "timeSn": "1114", "timeZoneGMT": "AST4" }, { "timeZoneName": "Guatemala", "timeId": "America/Guatemala", "timeSn": "1115", "timeZoneGMT": "CST6" }, { "timeZoneName": "Guayaquil", "timeId": "America/Guayaquil", "timeSn": "1116", "timeZoneGMT": "\u003c-05\u003e5" }, { "timeZoneName": "Guyana", "timeId": "America/Guyana", "timeSn": "1117", "timeZoneGMT": "\u003c-04\u003e4" }, { "timeZoneName": "Halifax", "timeId": "America/Halifax", "timeSn": "1118", "timeZoneGMT": "AST4ADT,M3.2.0,M11.1.0" }, { "timeZoneName": "Havana", "timeId": "America/Havana", "timeSn": "1119", "timeZoneGMT": "CST5CDT,M3.2.0/0,M11.1.0/1" }, { "timeZoneName": "Hermosillo", "timeId": "America/Hermosillo", "timeSn": "1120", "timeZoneGMT": "MST7" }, { "timeZoneName": "Indianapolis", "timeId": "America/Indiana/Indianapolis", "timeSn": "1121", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Knox, Indiana", "timeId": "America/Indiana/Knox", "timeSn": "1122", "timeZoneGMT": "CST6CDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Marengo, Indiana", "timeId": "America/Indiana/Marengo", "timeSn": "1123", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Petersburg, Indiana", "timeId": "America/Indiana/Petersburg", "timeSn": "1124", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Tell City, Indiana", "timeId": "America/Indiana/Tell_City", "timeSn": "1125", "timeZoneGMT": "CST6CDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Vevay, Indiana", "timeId": "America/Indiana/Vevay", "timeSn": "1126", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Vincennes, Indiana", "timeId": "America/Indiana/Vincennes", "timeSn": "1127", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Winamac, Indiana", "timeId": "America/Indiana/Winamac", "timeSn": "1128", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Inuvik", "timeId": "America/Inuvik", "timeSn": "1129", "timeZoneGMT": "MST7MDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Iqaluit", "timeId": "America/Iqaluit", "timeSn": "1130", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Jamaica", "timeId": "America/Jamaica", "timeSn": "1131", "timeZoneGMT": "EST5" }, { "timeZoneName": "Juneau", "timeId": "America/Juneau", "timeSn": "1132", "timeZoneGMT": "AKST9AKDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Louisville", "timeId": "America/Kentucky/Louisville", "timeSn": "1133", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Monticello, Kentucky", "timeId": "America/Kentucky/Monticello", "timeSn": "1134", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Knox IN", "timeId": "America/Knox_IN", "timeSn": "1135", "timeZoneGMT": "CST6CDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Kralendijk", "timeId": "America/Kralendijk", "timeSn": "1136", "timeZoneGMT": "AST4" }, { "timeZoneName": "La Paz", "timeId": "America/La_Paz", "timeSn": "1137", "timeZoneGMT": "\u003c-04\u003e4" }, { "timeZoneName": "Lima", "timeId": "America/Lima", "timeSn": "1138", "timeZoneGMT": "\u003c-05\u003e5" }, { "timeZoneName": "Los Angeles", "timeId": "America/Los_Angeles", "timeSn": "1139", "timeZoneGMT": "PST8PDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Lower Prince’s Quarter", "timeId": "America/Lower_Princes", "timeSn": "1140", "timeZoneGMT": "AST4" }, { "timeZoneName": "Maceio", "timeId": "America/Maceio", "timeSn": "1141", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Managua", "timeId": "America/Managua", "timeSn": "1142", "timeZoneGMT": "CST6" }, { "timeZoneName": "Manaus", "timeId": "America/Manaus", "timeSn": "1143", "timeZoneGMT": "\u003c-04\u003e4" }, { "timeZoneName": "Marigot", "timeId": "America/Marigot", "timeSn": "1144", "timeZoneGMT": "AST4" }, { "timeZoneName": "Martinique", "timeId": "America/Martinique", "timeSn": "1145", "timeZoneGMT": "AST4" }, { "timeZoneName": "Matamoros", "timeId": "America/Matamoros", "timeSn": "1146", "timeZoneGMT": "CST6CDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Mazatlan", "timeId": "America/Mazatlan", "timeSn": "1147", "timeZoneGMT": "MST7MDT,M4.1.0,M10.5.0" }, { "timeZoneName": "Menominee", "timeId": "America/Menominee", "timeSn": "1148", "timeZoneGMT": "CST6CDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Merida", "timeId": "America/Merida", "timeSn": "1149", "timeZoneGMT": "CST6CDT,M4.1.0,M10.5.0" }, { "timeZoneName": "Metlakatla", "timeId": "America/Metlakatla", "timeSn": "1150", "timeZoneGMT": "AKST9AKDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Mexico City", "timeId": "America/Mexico_City", "timeSn": "1151", "timeZoneGMT": "CST6CDT,M4.1.0,M10.5.0" }, { "timeZoneName": "Miquelon", "timeId": "America/Miquelon", "timeSn": "1152", "timeZoneGMT": "\u003c-03\u003e3\u003c-02\u003e,M3.2.0,M11.1.0" }, { "timeZoneName": "Moncton", "timeId": "America/Moncton", "timeSn": "1153", "timeZoneGMT": "AST4ADT,M3.2.0,M11.1.0" }, { "timeZoneName": "Monterrey", "timeId": "America/Monterrey", "timeSn": "1154", "timeZoneGMT": "CST6CDT,M4.1.0,M10.5.0" }, { "timeZoneName": "Montevideo", "timeId": "America/Montevideo", "timeSn": "1155", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Montreal", "timeId": "America/Montreal", "timeSn": "1156", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Montserrat", "timeId": "America/Montserrat", "timeSn": "1157", "timeZoneGMT": "AST4" }, { "timeZoneName": "Nassau", "timeId": "America/Nassau", "timeSn": "1158", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "New York", "timeId": "America/New_York", "timeSn": "1159", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Nipigon", "timeId": "America/Nipigon", "timeSn": "1160", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Nome", "timeId": "America/Nome", "timeSn": "1161", "timeZoneGMT": "AKST9AKDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Noronha", "timeId": "America/Noronha", "timeSn": "1162", "timeZoneGMT": "\u003c-02\u003e2" }, { "timeZoneName": "Beulah, North Dakota", "timeId": "America/North_Dakota/Beulah", "timeSn": "1163", "timeZoneGMT": "CST6CDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Center, North Dakota", "timeId": "America/North_Dakota/Center", "timeSn": "1164", "timeZoneGMT": "CST6CDT,M3.2.0,M11.1.0" }, { "timeZoneName": "New Salem, North Dakota", "timeId": "America/North_Dakota/New_Salem", "timeSn": "1165", "timeZoneGMT": "CST6CDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Ojinaga", "timeId": "America/Ojinaga", "timeSn": "1166", "timeZoneGMT": "MST7MDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Panama", "timeId": "America/Panama", "timeSn": "1167", "timeZoneGMT": "EST5" }, { "timeZoneName": "Pangnirtung", "timeId": "America/Pangnirtung", "timeSn": "1168", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Paramaribo", "timeId": "America/Paramaribo", "timeSn": "1169", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Phoenix", "timeId": "America/Phoenix", "timeSn": "1170", "timeZoneGMT": "MST7" }, { "timeZoneName": "Port-au-Prince", "timeId": "America/Port-au-Prince", "timeSn": "1171", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Port of Spain", "timeId": "America/Port_of_Spain", "timeSn": "1172", "timeZoneGMT": "AST4" }, { "timeZoneName": "Porto Acre", "timeId": "America/Porto_Acre", "timeSn": "1173", "timeZoneGMT": "\u003c-05\u003e5" }, { "timeZoneName": "Porto Velho", "timeId": "America/Porto_Velho", "timeSn": "1174", "timeZoneGMT": "\u003c-04\u003e4" }, { "timeZoneName": "Puerto Rico", "timeId": "America/Puerto_Rico", "timeSn": "1175", "timeZoneGMT": "AST4" }, { "timeZoneName": "Punta Arenas", "timeId": "America/Punta_Arenas", "timeSn": "1176", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Rainy River", "timeId": "America/Rainy_River", "timeSn": "1177", "timeZoneGMT": "CST6CDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Rankin Inlet", "timeId": "America/Rankin_Inlet", "timeSn": "1178", "timeZoneGMT": "CST6CDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Recife", "timeId": "America/Recife", "timeSn": "1179", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Regina", "timeId": "America/Regina", "timeSn": "1180", "timeZoneGMT": "CST6" }, { "timeZoneName": "Resolute", "timeId": "America/Resolute", "timeSn": "1181", "timeZoneGMT": "CST6CDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Rio Branco", "timeId": "America/Rio_Branco", "timeSn": "1182", "timeZoneGMT": "\u003c-05\u003e5" }, { "timeZoneName": "Rosario", "timeId": "America/Rosario", "timeSn": "1183", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Santa Isabel", "timeId": "America/Santa_Isabel", "timeSn": "1184", "timeZoneGMT": "PST8PDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Santarem", "timeId": "America/Santarem", "timeSn": "1185", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Santiago", "timeId": "America/Santiago", "timeSn": "1186", "timeZoneGMT": "\u003c-04\u003e4\u003c-03\u003e,M9.1.6/24,M4.1.6/24" }, { "timeZoneName": "Santo Domingo", "timeId": "America/Santo_Domingo", "timeSn": "1187", "timeZoneGMT": "AST4" }, { "timeZoneName": "Sao Paulo", "timeId": "America/Sao_Paulo", "timeSn": "1188", "timeZoneGMT": "\u003c-03\u003e3\u003c-02\u003e,M11.1.0/0,M2.3.0/0" }, { "timeZoneName": "Ittoqqortoormiit", "timeId": "America/Scoresbysund", "timeSn": "1189", "timeZoneGMT": "\u003c-01\u003e1\u003c+00\u003e,M3.5.0/0,M10.5.0/1" }, { "timeZoneName": "Shiprock", "timeId": "America/Shiprock", "timeSn": "1190", "timeZoneGMT": "MST7MDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Sitka", "timeId": "America/Sitka", "timeSn": "1191", "timeZoneGMT": "AKST9AKDT,M3.2.0,M11.1.0" }, { "timeZoneName": "St. Barthelemy", "timeId": "America/St_Barthelemy", "timeSn": "1192", "timeZoneGMT": "AST4" }, { "timeZoneName": "St. John’s", "timeId": "America/St_Johns", "timeSn": "1193", "timeZoneGMT": "NST3:30NDT,M3.2.0,M11.1.0" }, { "timeZoneName": "St. Kitts", "timeId": "America/St_Kitts", "timeSn": "1194", "timeZoneGMT": "AST4" }, { "timeZoneName": "St. Lucia", "timeId": "America/St_Lucia", "timeSn": "1195", "timeZoneGMT": "AST4" }, { "timeZoneName": "St. Thomas", "timeId": "America/St_Thomas", "timeSn": "1196", "timeZoneGMT": "AST4" }, { "timeZoneName": "St. Vincent", "timeId": "America/St_Vincent", "timeSn": "1197", "timeZoneGMT": "AST4" }, { "timeZoneName": "Swift Current", "timeId": "America/Swift_Current", "timeSn": "1198", "timeZoneGMT": "CST6" }, { "timeZoneName": "Tegucigalpa", "timeId": "America/Tegucigalpa", "timeSn": "1199", "timeZoneGMT": "CST6" }, { "timeZoneName": "Thule", "timeId": "America/Thule", "timeSn": "1200", "timeZoneGMT": "AST4ADT,M3.2.0,M11.1.0" }, { "timeZoneName": "Thunder Bay", "timeId": "America/Thunder_Bay", "timeSn": "1201", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Tijuana", "timeId": "America/Tijuana", "timeSn": "1202", "timeZoneGMT": "PST8PDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Toronto", "timeId": "America/Toronto", "timeSn": "1203", "timeZoneGMT": "EST5EDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Tortola", "timeId": "America/Tortola", "timeSn": "1204", "timeZoneGMT": "AST4" }, { "timeZoneName": "Vancouver", "timeId": "America/Vancouver", "timeSn": "1205", "timeZoneGMT": "PST8PDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Virgin", "timeId": "America/Virgin", "timeSn": "1206", "timeZoneGMT": "AST4" }, { "timeZoneName": "Whitehorse", "timeId": "America/Whitehorse", "timeSn": "1207", "timeZoneGMT": "PST8PDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Winnipeg", "timeId": "America/Winnipeg", "timeSn": "1208", "timeZoneGMT": "CST6CDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Yakutat", "timeId": "America/Yakutat", "timeSn": "1209", "timeZoneGMT": "AKST9AKDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Yellowknife", "timeId": "America/Yellowknife", "timeSn": "1210", "timeZoneGMT": "MST7MDT,M3.2.0,M11.1.0" }, { "timeZoneName": "Casey", "timeId": "Antarctica/Casey", "timeSn": "1211", "timeZoneGMT": "\u003c+08\u003e-8" }, { "timeZoneName": "Davis", "timeId": "Antarctica/Davis", "timeSn": "1212", "timeZoneGMT": "\u003c+07\u003e-7" }, { "timeZoneName": "Dumont d’Urville", "timeId": "Antarctica/DumontDUrville", "timeSn": "1213", "timeZoneGMT": "\u003c+10\u003e-10" }, { "timeZoneName": "Macquarie", "timeId": "Antarctica/Macquarie", "timeSn": "1214", "timeZoneGMT": "\u003c+11\u003e-11" }, { "timeZoneName": "Mawson", "timeId": "Antarctica/Mawson", "timeSn": "1215", "timeZoneGMT": "\u003c+05\u003e-5" }, { "timeZoneName": "McMurdo", "timeId": "Antarctica/McMurdo", "timeSn": "1216", "timeZoneGMT": "NZST-12NZDT,M9.5.0,M4.1.0/3" }, { "timeZoneName": "Palmer", "timeId": "Antarctica/Palmer", "timeSn": "1217", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "Rothera", "timeId": "Antarctica/Rothera", "timeSn": "1218", "timeZoneGMT": "\u003c-03\u003e3" }, { "timeZoneName": "South Pole", "timeId": "Antarctica/South_Pole", "timeSn": "1219", "timeZoneGMT": "NZST-12NZDT,M9.5.0,M4.1.0/3" }, { "timeZoneName": "Syowa", "timeId": "Antarctica/Syowa", "timeSn": "1220", "timeZoneGMT": "\u003c+03\u003e-3" }, { "timeZoneName": "Troll", "timeId": "Antarctica/Troll", "timeSn": "1221", "timeZoneGMT": "\u003c+00\u003e0\u003c+02\u003e-2,M3.5.0/1,M10.5.0/3" }, { "timeZoneName": "Vostok", "timeId": "Antarctica/Vostok", "timeSn": "1222", "timeZoneGMT": "\u003c+06\u003e-6" }, { "timeZoneName": "Longyearbyen", "timeId": "Arctic/Longyearbyen", "timeSn": "1223", "timeZoneGMT": "CET-1CEST,M3.5.0,M10.5.0/3" }, { "timeZoneName": "Aden", "timeId": "Asia/Aden", "timeSn": "1224", "timeZoneGMT": "\u003c+03\u003e-3" }, { "timeZoneName": "Almaty", "timeId": "Asia/Almaty", "timeSn": "1225", "timeZoneGMT": "\u003c+06\u003e-6" }, { "timeZoneName": "Amman", "timeId": "Asia/Amman", "timeSn": "1226", "timeZoneGMT": "EET-2EEST,M3.5.4/24,M10.5.5/1" }, { "timeZoneName": "Anadyr", "timeId": "Asia/Anadyr", "timeSn": "1227", "timeZoneGMT": "\u003c+12\u003e-12" }, { "timeZoneName": "Aqtau", "timeId": "Asia/Aqtau", "timeSn": "1228", "timeZoneGMT": "\u003c+05\u003e-5" }, { "timeZoneName": "Aqtobe", "timeId": "Asia/Aqtobe", "timeSn": "1229", "timeZoneGMT": "\u003c+05\u003e-5" }, { "timeZoneName": "Ashgabat", "timeId": "Asia/Ashgabat", "timeSn": "1230", "timeZoneGMT": "\u003c+05\u003e-5" }, { "timeZoneName": "Ashkhabad", "timeId": "Asia/Ashkhabad", "timeSn": "1231", "timeZoneGMT": "\u003c+05\u003e-5" }, { "timeZoneName": "Atyrau", "timeId": "Asia/Atyrau", "timeSn": "1232", "timeZoneGMT": "\u003c+05\u003e-5" }, { "timeZoneName": "Baghdad", "timeId": "Asia/Baghdad", "timeSn": "1233", "timeZoneGMT": "\u003c+03\u003e-3" }, { "timeZoneName": "Bahrain", "timeId": "Asia/Bahrain", "timeSn": "1234", "timeZoneGMT": "\u003c+03\u003e-3" }, { "timeZoneName": "Baku", "timeId": "Asia/Baku", "timeSn": "1235", "timeZoneGMT": "\u003c+04\u003e-4" }, { "timeZoneName": "Bangkok", "timeId": "Asia/Bangkok", "timeSn": "1236", "timeZoneGMT": "\u003c+07\u003e-7" }, { "timeZoneName": "Barnaul", "timeId": "Asia/Barnaul", "timeSn": "1237", "timeZoneGMT": "\u003c+07\u003e-7" }, { "timeZoneName": "Beirut", "timeId": "Asia/Beirut", "timeSn": "1238", "timeZoneGMT": "EET-2EEST,M3.5.0/0,M10.5.0/0" }, { "timeZoneName": "Bishkek", "timeId": "Asia/Bishkek", "timeSn": "1239", "timeZoneGMT": "\u003c+06\u003e-6" }, { "timeZoneName": "Brunei", "timeId": "Asia/Brunei", "timeSn": "1240", "timeZoneGMT": "\u003c+08\u003e-8" }, { "timeZoneName": "Kolkata", "timeId": "Asia/Calcutta", "timeSn": "1241", "timeZoneGMT": "IST-5:30" }, { "timeZoneName": "Chita", "timeId": "Asia/Chita", "timeSn": "1242", "timeZoneGMT": "\u003c+09\u003e-9" }, { "timeZoneName": "Choibalsan", "timeId": "Asia/Choibalsan", "timeSn": "1243", "timeZoneGMT": "\u003c+08\u003e-8" }, { "timeZoneName": "Chongqing", "timeId": "Asia/Chongqing", "timeSn": "1244", "timeZoneGMT": "CST-8" }, { "timeZoneName": "Chungking", "timeId": "Asia/Chungking", "timeSn": "1245", "timeZoneGMT": "CST-8" }, { "timeZoneName": "Colombo", "timeId": "Asia/Colombo", "timeSn": "1246", "timeZoneGMT": "\u003c+0530\u003e-5:30" }, { "timeZoneName": "Dacca", "timeId": "Asia/Dacca", "timeSn": "1247", "timeZoneGMT": "\u003c+06\u003e-6" }, { "timeZoneName": "Damascus", "timeId": "Asia/Damascus", "timeSn": "1248", "timeZoneGMT": "EET-2EEST,M3.5.5/0,M10.5.5/0" }, { "timeZoneName": "Dhaka", "timeId": "Asia/Dhaka", "timeSn": "1249", "timeZoneGMT": "\u003c+06\u003e-6" }, { "timeZoneName": "Dili", "timeId": "Asia/Dili", "timeSn": "1250", "timeZoneGMT": "\u003c+09\u003e-9" }, { "timeZoneName": "Dubai", "timeId": "Asia/Dubai", "timeSn": "1251", "timeZoneGMT": "\u003c+04\u003e-4" }, { "timeZoneName": "Dushanbe", "timeId": "Asia/Dushanbe", "timeSn": "1252", "timeZoneGMT": "\u003c+05\u003e-5" }, { "timeZoneName": "Famagusta", "timeId": "Asia/Famagusta", "timeSn": "1253", "timeZoneGMT": "EET-2EEST,M3.5.0/3,M10.5.0/4" }, { "timeZoneName": "Gaza", "timeId": "Asia/Gaza", "timeSn": "1254", "timeZoneGMT": "EET-2EEST,M3.4.6/1,M10.5.6/1" }, { "timeZoneName": "Harbin", "timeId": "Asia/Harbin", "timeSn": "1255", "timeZoneGMT": "CST-8" }, { "timeZoneName": "Hebron", "timeId": "Asia/Hebron", "timeSn": "1256", "timeZoneGMT": "EET-2EEST,M3.4.6/1,M10.5.6/1" }, { "timeZoneName": "Ho Chi Minh", "timeId": "Asia/Ho_Chi_Minh", "timeSn": "1257", "timeZoneGMT": "\u003c+07\u003e-7" }, { "timeZoneName": "Hong Kong", "timeId": "Asia/Hong_Kong", "timeSn": "1258", "timeZoneGMT": "HKT-8" }, { "timeZoneName": "Hovd", "timeId": "Asia/Hovd", "timeSn": "1259", "timeZoneGMT": "\u003c+07\u003e-7" }, { "timeZoneName": "Irkutsk", "timeId": "Asia/Irkutsk", "timeSn": "1260", "timeZoneGMT": "\u003c+08\u003e-8" }, { "timeZoneName": "Istanbul", "timeId": "Asia/Istanbul", "timeSn": "1261", "timeZoneGMT": "\u003c+03\u003e-3" }, { "timeZoneName": "Jakarta", "timeId": "Asia/Jakarta", "timeSn": "1262", "timeZoneGMT": "WIB-7" }, { "timeZoneName": "Jayapura", "timeId": "Asia/Jayapura", "timeSn": "1263", "timeZoneGMT": "WIT-9" }, { "timeZoneName": "Jerusalem", "timeId": "Asia/Jerusalem", "timeSn": "1264", "timeZoneGMT": "IST-2IDT,M3.5.0,M10.5.0" }, { "timeZoneName": "Kabul", "timeId": "Asia/Kabul", "timeSn": "1265", "timeZoneGMT": "\u003c+0430\u003e-4:30" }, { "timeZoneName": "Kamchatka", "timeId": "Asia/Kamchatka", "timeSn": "1266", "timeZoneGMT": "\u003c+12\u003e-12" }, { "timeZoneName": "Karachi", "timeId": "Asia/Karachi", "timeSn": "1267", "timeZoneGMT": "PKT-