diff --git a/core/commands/utility/timezone.js b/core/commands/utility/timezone.js new file mode 100644 index 00000000..4c637e38 --- /dev/null +++ b/core/commands/utility/timezone.js @@ -0,0 +1,263 @@ +const tzData = require("../../../resources/tzData.json"); + +function captTz(zone) { + let nextCapt = true; + let final = ""; + + for (let char of zone.toLowerCase()) { + if (nextCapt) { + char = char.toUpperCase(); + nextCapt = false; + } + + if ([ " ", "/", "_" ].includes(char)) { + nextCapt = true; + } + + final += char; + } + + return final; +} + +function defaultFormat(timeZone, locale) { + return new Date().toLocaleString(locale, { + timeZone, + hour: "numeric", + minute: "numeric", + }); +} + +const TIME_REGEX = /([0-2]?[0-9])(?:(?::|(?: ?h(?:ours? )? ?))(?:and )?([0-5]?[0-9]|60)? ?(?:m(?:in(?:utes?)?)?)?)? ?(pm|am)?$/i; + +function lookupTzBy(keys, tz, array = false) { + for (const key of keys) { + const result = tzData.find((item) => { + const value = item[key]; + return array ? value?.includes(tz) : value === tz; + }); + + if (result) { + return result.timezone; + } + } + return null; +} + +function findTz(zoneName) { + zoneName = zoneName.toLowerCase(); + + const searchKeys = [ "timezone", "country", "iso2" ]; + + const result = lookupTzBy(searchKeys, zoneName); + + if (result) { + return result; + } + + const searchKeysArray = [ "provinces", "cities" ]; + + const resultArray = lookupTzBy(searchKeysArray, zoneName, true); + if (resultArray) { + return resultArray; + } + + return null; +} + +/** + * Gets the timezone offest in milliseconds. + */ +function getTimezoneOffset(timeZone) { + const date = new Date(); + const toTzDate = new Date(date.toLocaleString("en-US", { + timeZone, + })); + return date.getTime() - toTzDate.getTime(); +} + +function convertToTz(time, timeZone, offset = 0) { + return new Date(new Date(time.getTime() + offset).toLocaleString("en-US", { + timeZone, + })); +} + +function parseTime(match, locale, userTz, anotherTz) { + const [ , hour, minute, period ] = match; + + let hourInt = parseInt(hour); + const minuteInt = parseInt(minute); + + let parsedPeriod = period; + if (minute != null && minuteInt == null) { + parsedPeriod = minute; + } + + if (parsedPeriod && parsedPeriod.toLowerCase() === "pm") { + if (hourInt >= 12) { + hourInt -= 12; + } + if (hourInt !== 12) { + hourInt += 12; + } + } + + const format = parsedPeriod ? "numeric" : "2-digit"; + + const userTime = new Date(); + userTime.setHours(hourInt); + userTime.setMinutes(minuteInt); + + const offset = getTimezoneOffset(userTz); + + const anotherTime = convertToTz(userTime, anotherTz, offset); + + const opts = { + hour: format, + minute: format, + hour12: Boolean(parsedPeriod), + }; + + const userTimeText = userTime.toLocaleString(locale, opts); + + const anotherTimeText = anotherTime.toLocaleString(locale, opts); + + return [ userTimeText, anotherTimeText ]; +} + +const init = async (msg, args) => { + const locale = msg.lang[0] || "en-US"; + + const sendMe = (targetData) => { + if (targetData.timezone == null) { + msg.channel.send("You haven't set your timezone. You can set it using `+timezone set [country/city/timezone code]`."); + return; + } + + msg.channel.send(`Your timezone is ${captTz(targetData.timezone)}.`); + }; + + switch (args[0]) { + case "me": { + const targetData = await DB.userDB.get(msg.author.id); + sendMe(targetData); + break; + } + + case "set": { + const zoneName = args.splice(1).join(" "); + + if (!zoneName) { + msg.channel.send("You need to specify the zone name, country or city."); + return; + } + + const tz = findTz(zoneName); + + if (!tz) { + msg.channel.send("Couldn't find that place. You can specify a city, a country or a timezone code."); + return; + } + + await DB.userDB.set(msg.author.id, { $set: { timezone: tz } }); + msg.channel.send(`I've set your timezone to **${captTz(zoneName)}**.`); + break; + } + + default: { + const target = await PLX.getTarget(args[0]); + if (target) { + const match = args.slice(1).join(" ") + .match(TIME_REGEX); + + const targetData = await DB.userDB.get(target.id); + + if (!targetData.timezone) { + msg.channel.send(`**${targetData.tag}** hasn't set their timezone.`); + return; + } + + if (args.length < 2) { + msg.channel.send(`**${targetData.tag}**'s timezone is **${captTz(targetData.timezone)}**.`); + return; + } if (!match) { + if (targetData.id === msg.author.id) { + sendMe(targetData); + return; + } + + msg.channel.send("Couldn't understand that time. Use: `+timezone @someone [00:00/sometime]`."); + return; + } + + const userData = await DB.userDB.get(msg.author.id); + + const [ userTime, anotherTime ] = parseTime( + match, + locale, + userData.timezone, + targetData.timezone, + ); + + msg.channel.send(`It's **${anotherTime}** where **${targetData.tag}** lives when it's **${userTime}** in your timezone.`); + + return; + } + + const zoneName = args.join(" "); + + if (!zoneName) { + msg.channel.send("You need to specify a city, a country or a timezone code."); + return; + } + + const match = TIME_REGEX.exec(zoneName); + + if (!match) { + const tz = findTz(zoneName); + + if (!tz) { + msg.channel.send("Couldn't find that place. You can specify a city, a country or a timezone code."); + return; + } + + msg.channel.send(`It's **${defaultFormat(tz, locale)}** in **${captTz(zoneName)}**.`); + return; + } + + const userData = await DB.userDB.get(msg.author.id); + + if (userData.timezone == null) { + msg.channel.send("You haven't set your timezone. You can set it using `+timezone set [country/city/timezone code]`."); + return; + } + + const timezoneText = zoneName.substring(0, match.index).trim(); + const timezone = findTz(timezoneText); + + if (!timezone) { + msg.channel.send("Couldn't find that place. You can specify a city, a country or a timezone code."); + return; + } + + const [ userTime, anotherTime ] = parseTime( + match, + locale, + userData.timezone, + timezone, + ); + + msg.channel.send(`It's **${anotherTime}** in **${captTz(timezoneText)}** when it's **${userTime}** in your timezone.`); + } + } +}; + +module.exports = { + pub: true, + argsRequired: true, + cmd: "timezone", + perms: 3, + init, + cat: "utility", + aliases: ["tz"], +}; diff --git a/package-lock.json b/package-lock.json index 2ec78569..138a4aac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -61,24 +61,24 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", - "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", + "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.14.5" + "@babel/highlight": "^7.16.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz", + "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==", "dev": true, "dependencies": { - "@babel/types": "^7.15.6", + "@babel/types": "^7.16.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -87,50 +87,50 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", + "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/helper-get-function-arity": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/types": "^7.16.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", + "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", "dev": true, "dependencies": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", + "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", "dev": true, "dependencies": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", + "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", "dev": true, "dependencies": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.0" }, "engines": { "node": ">=6.9.0" @@ -146,12 +146,12 @@ } }, "node_modules/@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", + "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.15.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -160,9 +160,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", + "version": "7.16.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.2.tgz", + "integrity": "sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -172,9 +172,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", - "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.0.tgz", + "integrity": "sha512-Nht8L0O8YCktmsDV6FqFue7vQLRx3Hb0B37lS5y0jDRqRxlBG4wIJHnf9/bgSE2UyipKFA01YtS+npRdTWBUyw==", "dependencies": { "regenerator-runtime": "^0.13.4" }, @@ -183,32 +183,32 @@ } }, "node_modules/@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", + "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.0.tgz", + "integrity": "sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -217,12 +217,12 @@ } }, "node_modules/@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", + "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-validator-identifier": "^7.15.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -230,9 +230,9 @@ } }, "node_modules/@datadog/native-metrics": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@datadog/native-metrics/-/native-metrics-1.0.0.tgz", - "integrity": "sha512-Stf6l0NmR0jwxbMyFfdKaRAdGTbqaXa92uLDN3/EKAi/Fu6O7sVpLQlgwi2YXR9ELvQGH/3f8oOixD6340Xepw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@datadog/native-metrics/-/native-metrics-1.0.1.tgz", + "integrity": "sha512-VyaALmSV+5vHamBJEVoQSaU67E1lwYZHrWk8EsinUMvk/P0AWdWv9m3vYPRuhH+bfSyic4UQZkyBbYQFnXP5eg==", "hasInstallScript": true, "dependencies": { "nan": "^2.14.2", @@ -243,9 +243,9 @@ } }, "node_modules/@datadog/pprof": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@datadog/pprof/-/pprof-0.1.3.tgz", - "integrity": "sha512-fwEa4EA3nWcTat5waT6P9WqxAqGvjdM6mrP/3dRTxXGfPsISpTVz8aHvaOgk7k2hLE1ocbCXk00575LZdOotDA==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@datadog/pprof/-/pprof-0.3.0.tgz", + "integrity": "sha512-RskYpLD2mWdvUk2OU9p3gynx8QxHtfPdRPWs3vqlM+PMf+wstibcYMW7auNY4s3gVA1mT7HiBjW7j0m37rOHOQ==", "hasInstallScript": true, "dependencies": { "delay": "^5.0.0", @@ -261,7 +261,7 @@ "split": "^1.0.1" }, "engines": { - "node": ">=10.4.1" + "node": ">=12.0.0" } }, "node_modules/@datadog/pprof/node_modules/source-map": { @@ -301,9 +301,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -346,10 +346,11 @@ } }, "node_modules/@grpc/grpc-js": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.8.tgz", - "integrity": "sha512-4qJqqn+CU/nBydz9ePJP+oa8dz0U42Ut/GejlbyaQ1xTkynCc+ndNHHnISlNeHawDsv4MOAyP3mV/EnDNUw2zA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.4.3.tgz", + "integrity": "sha512-SVt7zp7OjNp/t5p0dGjP+O6FdWnbkq80sVTvW4dYRQaXV261wzTvjEt8wrW0KQ+X0vC/kvzQJWvHcIU9wej3uQ==", "dependencies": { + "@grpc/proto-loader": "^0.6.4", "@types/node": ">=12.12.47" }, "engines": { @@ -357,9 +358,9 @@ } }, "node_modules/@grpc/proto-loader": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.5.tgz", - "integrity": "sha512-GZdzyVQI1Bln/kCzIYgTKu+rQJ5dno0gVrfmLe4jqQu7T2e7svSwJzpCBqVU5hhBSJP3peuPjOMWsj5GR61YmQ==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.6.tgz", + "integrity": "sha512-cdMaPZ8AiFz6ua6PUbP+LKbhwJbFXnrQ/mlnKGUyzDUZ3wp7vPLksnmLCBX6SHgSmjX7CbNVNLFYD5GmmjO4GQ==", "dependencies": { "@types/long": "^4.0.1", "lodash.camelcase": "^4.3.0", @@ -389,25 +390,25 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz", - "integrity": "sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.6.tgz", + "integrity": "sha512-qK1ECws8UxuPqOA8F5LFD90vyVU33W7N3hGfgsOVfrJaRVc8McC3JClTDHpeSbL9CBrOHly/4GsNPAvIgNZE+g==", "dependencies": { "detect-libc": "^1.0.3", "https-proxy-agent": "^5.0.0", "make-dir": "^3.1.0", - "node-fetch": "^2.6.1", + "node-fetch": "^2.6.5", "nopt": "^5.0.0", - "npmlog": "^4.1.2", + "npmlog": "^5.0.1", "rimraf": "^3.0.2", - "semver": "^7.3.4", - "tar": "^6.1.0" + "semver": "^7.3.5", + "tar": "^6.1.11" }, "bin": { "node-pre-gyp": "bin/node-pre-gyp" @@ -771,9 +772,9 @@ } }, "node_modules/@types/node": { - "version": "14.17.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.26.tgz", - "integrity": "sha512-eSTNkK/nfmnC7IKpOJZixDgG0W2/eHz1qyFN7o/rwwwIHsVRp+G9nbh4BrQ77kbQ2zPu286AQRxkuRLPcR3gXw==" + "version": "14.17.32", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.32.tgz", + "integrity": "sha512-JcII3D5/OapPGx+eJ+Ik1SQGyt6WvuqdRfh9jUwL6/iHGjmyOriBDciBUu7lEIBTL2ijxwrR70WUnw5AEDmFvQ==" }, "node_modules/@types/responselike": { "version": "1.0.0", @@ -839,24 +840,6 @@ "eslint": "*" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, "node_modules/@typescript-eslint/parser": { "version": "4.33.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", @@ -1132,49 +1115,41 @@ "integrity": "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY=" }, "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" }, "node_modules/are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", "dependencies": { "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/are-we-there-yet/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/are-we-there-yet/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, "node_modules/are-we-there-yet/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "node_modules/argparse": { @@ -1564,9 +1539,9 @@ } }, "node_modules/chardet": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-1.3.0.tgz", - "integrity": "sha512-cyTQGGptIjIT+CMGT5J/0l9c6Fb+565GCFjjeUTKxUO7w3oR+FcNCMEKTn5xtVKaLFmladN7QF68IiQsv5Fbdw==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-1.4.0.tgz", + "integrity": "sha512-NpwMDdSIprbYx1CLnfbxEIarI0Z+s9MssEgggMNheGM+WD68yOhV7IEA/3r6tr0yTRgQD0HuZJDw32s99i6L+A==" }, "node_modules/cheerio": { "version": "1.0.0-rc.10", @@ -1664,14 +1639,6 @@ "mimic-response": "^1.0.0" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -1687,6 +1654,14 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } + }, "node_modules/colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", @@ -1887,18 +1862,18 @@ "integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==" }, "node_modules/dd-trace": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/dd-trace/-/dd-trace-1.5.0.tgz", - "integrity": "sha512-mVWYp6hkMlO0uKB75GGpwuIO8Jv/BYWW1aJqy3LPkJ5VyBshcqWf5yUUhHmNDH55c2NrCK4oy/Q0tfxUXMVmCw==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dd-trace/-/dd-trace-1.5.1.tgz", + "integrity": "sha512-ot43V0Uwto4VLnB7mx3wi2r84eXnqrN2CmAsiJf3rzLmJxbK/d/E5jumaBVvcHujdbUl5rqts4olFZK0Vks2sw==", "hasInstallScript": true, "dependencies": { - "@datadog/native-metrics": "^1.0.0", - "@datadog/pprof": "^0.1.3", + "@datadog/native-metrics": "^1.0.1", + "@datadog/pprof": "^0.3.0", "@datadog/sketches-js": "^1.0.4", "@types/node": "^10.12.18", "crypto-randomuuid": "^1.0.0", "form-data": "^3.0.0", - "import-in-the-middle": "^1.1.1", + "import-in-the-middle": "^1.1.2", "koalas": "^1.0.2", "limiter": "^1.1.4", "lodash.kebabcase": "^4.1.1", @@ -2525,27 +2500,21 @@ } }, "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "eslint-visitor-keys": "^2.0.0" }, "engines": { - "node": ">=6" + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" }, "funding": { "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" + }, + "peerDependencies": { + "eslint": ">=5" } }, "node_modules/eslint-visitor-keys": { @@ -2627,10 +2596,34 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/eslint/node_modules/globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2721,9 +2714,9 @@ } }, "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { "node": ">=4.0" @@ -2742,9 +2735,9 @@ } }, "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { "node": ">=4.0" @@ -2904,9 +2897,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.14.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz", - "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==", + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz", + "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==", "funding": [ { "type": "individual", @@ -2985,37 +2978,41 @@ "dev": true }, "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.1.tgz", + "integrity": "sha512-6STz6KdQgxO4S/ko+AbjlFGGdGcknluoqU+79GOFCDqqyYj5OanQf9AjxwN0jCidtT+ziPMmPSt9E4hfQ0CwIQ==", "dependencies": { - "aproba": "^1.0.3", + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "string-width": "^1.0.1 || ^2.0.0", + "strip-ansi": "^3.0.1 || ^4.0.0", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" } }, "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dependencies": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/gaxios": { @@ -3166,9 +3163,9 @@ } }, "node_modules/google-auth-library": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.10.0.tgz", - "integrity": "sha512-ICsqaU+lxMHVlDUzMrfVIEqnARw2AwBiZ/2KnNM6BcTf9Nott+Af87DTIzmlnW865p3REUP2MVL0xkPC3a61aQ==", + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.10.2.tgz", + "integrity": "sha512-M37o9Kxa/TLvOLgF71SXvLeVEP5sbSTmKl1zlIgl72SFy5PtsU3pOdu8G8MIHHpQ3/NZabDI8rQkA9DvQVKkPA==", "dependencies": { "arrify": "^2.0.0", "base64-js": "^1.3.0", @@ -3185,11 +3182,11 @@ } }, "node_modules/google-gax": { - "version": "2.27.1", - "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-2.27.1.tgz", - "integrity": "sha512-8j8hfY42mGZt52C1L23srr2WTxOsOGUsC3s07Aw/f1UrbofsHdRaGf72Jax4jWEFXe/2x1MVBkwMvZxHMbO1Ag==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-2.28.0.tgz", + "integrity": "sha512-kuqc8a4+CTCMBcF3tlOL7Sa74JWkTzcZxatAQTCVK35WToXkHnJ0qncFOJuegUv3EbV9IQY4j/+NZdFLv+lbTA==", "dependencies": { - "@grpc/grpc-js": "~1.3.0", + "@grpc/grpc-js": "~1.4.0", "@grpc/proto-loader": "^0.6.1", "@types/long": "^4.0.0", "abort-controller": "^3.0.0", @@ -3423,9 +3420,9 @@ } }, "node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", + "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", "dev": true, "engines": { "node": ">= 4" @@ -3448,9 +3445,9 @@ } }, "node_modules/import-in-the-middle": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.1.1.tgz", - "integrity": "sha512-Qs77TopqLK2qNVfslMpvVBDgWamttEG/Ss6C3r23d3sA+mU5aU94YT2qlF9jtvXO5wBzcy5z1LFjGVp5jecBgw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.1.2.tgz", + "integrity": "sha512-/NV7gWylN3MAjwBSAkH+RAwDrkRw2gWv4wHecT9bfz59LByNJANMPOGkXp2ywwCuUMtfX0+I5q8WsDoDe2tlIw==", "dependencies": { "module-details-from-path": "^1.0.3" } @@ -3540,9 +3537,9 @@ } }, "node_modules/is-core-module": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.7.0.tgz", - "integrity": "sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -3576,14 +3573,11 @@ } }, "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dependencies": { - "number-is-nan": "^1.0.0" - }, + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/is-glob": { @@ -3912,12 +3906,6 @@ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, "node_modules/lodash.kebabcase": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", @@ -4167,9 +4155,9 @@ } }, "node_modules/mongodb": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.7.2.tgz", - "integrity": "sha512-/Qi0LmOjzIoV66Y2JQkqmIIfFOy7ZKsXnQNlUXPFXChOw3FCdNqVD5zvci9ybm6pkMe/Nw+Rz9I0Zsk2a+05iQ==", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.7.3.tgz", + "integrity": "sha512-Psm+g3/wHXhjBEktkxXsFMZvd3nemI0r3IPsE0bU+4//PnvNWKkzhZcEsbPcYiWqe8XqXJJEg4Tgtr7Raw67Yw==", "dependencies": { "bl": "^2.2.1", "bson": "^1.1.4", @@ -4216,15 +4204,15 @@ } }, "node_modules/mongoose": { - "version": "5.13.11", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.11.tgz", - "integrity": "sha512-hVHm864eBpaCr0W6CF7qTmC62dmepnT+A6ZnqKPU9asw7jjYHBcBxPgCnrGBMUACbZtzidO6HmB4J3F1YU2rdg==", + "version": "5.13.13", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.13.tgz", + "integrity": "sha512-M55tpCr/p5i6vdJ54nm4MG6/7SKV4JqlWnqbx6yCRuAuW05CZ7u+gNuHVPQVF9dZ59ALXjOtPEUl+OXklAa7ng==", "dependencies": { "@types/bson": "1.x || 4.0.x", "@types/mongodb": "^3.5.27", "bson": "^1.1.4", "kareem": "2.3.2", - "mongodb": "3.7.2", + "mongodb": "3.7.3", "mongoose-legacy-pluralize": "1.0.2", "mpath": "0.8.4", "mquery": "3.2.5", @@ -4243,7 +4231,7 @@ "url": "https://opencollective.com/mongoose" } }, - "node_modules/mongoose/node_modules/mongoose-legacy-pluralize": { + "node_modules/mongoose-legacy-pluralize": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz", "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==", @@ -4341,9 +4329,9 @@ } }, "node_modules/node-fetch": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", - "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz", + "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -4392,14 +4380,14 @@ } }, "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" } }, "node_modules/nth-check": { @@ -4413,14 +4401,6 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -4524,11 +4504,11 @@ } }, "node_modules/open-graph-scraper": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/open-graph-scraper/-/open-graph-scraper-4.9.2.tgz", - "integrity": "sha512-OfqtHRd4UFU3PgHMlNBNkovDrtfuSCExTG0+OdFgvF8TfabnFJ3gyUMliVNeD3cobOZcIUhV8jRfKMg6eCDBmA==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/open-graph-scraper/-/open-graph-scraper-4.10.0.tgz", + "integrity": "sha512-9i1LuJc3G/vce85+3NOkta+Vp5V0aNGhZHHIu5l4cd9ml0ZPGu+gZcnEHbDxpDUXdvGofLqE6sCbP9fbUI6Rkg==", "dependencies": { - "chardet": "^1.3.0", + "chardet": "^1.4.0", "cheerio": "^1.0.0-rc.10", "got": "^11.8.2", "iconv-lite": "^0.6.3", @@ -4643,9 +4623,9 @@ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, "node_modules/open-graph-scraper/node_modules/keyv": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz", - "integrity": "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", + "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", "dependencies": { "json-buffer": "3.0.1" } @@ -4943,9 +4923,9 @@ } }, "node_modules/proto3-json-serializer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-0.1.4.tgz", - "integrity": "sha512-bFzdsKU/zaTobWrRxRniMZIzzcgKYlmBWL1gAcTXZ2M7TQTGPI0JoYYs6bN7tpWj59ZCfwg7Ii/A2e8BbQGYnQ==" + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-0.1.5.tgz", + "integrity": "sha512-G395jcZkgNXNeS+6FGqd09TsXeoCs9wmBWByDiwFy7Yd7HD8pyfyvf6q+rGh7PhT4AshRpG4NowzoKYUtkNjKg==" }, "node_modules/protobufjs": { "version": "6.11.2", @@ -5419,13 +5399,13 @@ } }, "node_modules/skia-canvas": { - "version": "0.9.25", - "resolved": "https://registry.npmjs.org/skia-canvas/-/skia-canvas-0.9.25.tgz", - "integrity": "sha512-Txgo8F1MW5BiqLr2QO4r4SP5bJ2agF0ehx5B53DaMqtq9pVh/OhP94uGZhKn9ps1A5xCEb+ocQ0TWmkzOSWCAA==", + "version": "0.9.27", + "resolved": "https://registry.npmjs.org/skia-canvas/-/skia-canvas-0.9.27.tgz", + "integrity": "sha512-a3n/ZFNpf9bKBPhbg+lXBbZFLMlFnnW7h5JEn3BdhcCaOcEiP5WKNfRxgepUL9imuTE+HqbCiWpfYA22bkr0jQ==", "hasInstallScript": true, "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.5", - "glob": "^7.1.7", + "@mapbox/node-pre-gyp": "^1.0.6", + "glob": "^7.2.0", "path-browserify": "^1.0.1", "simple-get": "^4.0.0", "string-split-by": "^1.0.0" @@ -5640,35 +5620,34 @@ } }, "node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/string-width/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/string-width/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dependencies": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/string.prototype.trimend": { @@ -5742,13 +5721,12 @@ } }, "node_modules/table": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", - "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.3.tgz", + "integrity": "sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw==", "dev": true, "dependencies": { "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.3", @@ -6103,9 +6081,9 @@ "dev": true }, "node_modules/validator": { - "version": "13.6.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.6.0.tgz", - "integrity": "sha512-gVgKbdbHgtxpRyR8K0O6oFZPhhB5tT1jeEHZR0Znr9Svg03U0+r9DXWMrnRAB+HtCStDQKlaIZm42tVsVjqtjg==", + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", + "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", "engines": { "node": ">= 0.10" } @@ -6156,11 +6134,11 @@ } }, "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "dependencies": { - "string-width": "^1.0.2 || 2" + "string-width": "^1.0.2 || 2 || 3 || 4" } }, "node_modules/word-wrap": { @@ -6397,61 +6375,61 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", - "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", + "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", "dev": true, "requires": { - "@babel/highlight": "^7.14.5" + "@babel/highlight": "^7.16.0" } }, "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz", + "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==", "dev": true, "requires": { - "@babel/types": "^7.15.6", + "@babel/types": "^7.16.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", + "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/helper-get-function-arity": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/types": "^7.16.0" } }, "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", + "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", "dev": true, "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.0" } }, "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", + "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", "dev": true, "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.0" } }, "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", + "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", "dev": true, "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.0" } }, "@babel/helper-validator-identifier": { @@ -6461,81 +6439,81 @@ "dev": true }, "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", + "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.15.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", + "version": "7.16.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.2.tgz", + "integrity": "sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==", "dev": true }, "@babel/runtime": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", - "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.0.tgz", + "integrity": "sha512-Nht8L0O8YCktmsDV6FqFue7vQLRx3Hb0B37lS5y0jDRqRxlBG4wIJHnf9/bgSE2UyipKFA01YtS+npRdTWBUyw==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", + "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", "dev": true, "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" } }, "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.0.tgz", + "integrity": "sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", + "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-validator-identifier": "^7.15.7", "to-fast-properties": "^2.0.0" } }, "@datadog/native-metrics": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@datadog/native-metrics/-/native-metrics-1.0.0.tgz", - "integrity": "sha512-Stf6l0NmR0jwxbMyFfdKaRAdGTbqaXa92uLDN3/EKAi/Fu6O7sVpLQlgwi2YXR9ELvQGH/3f8oOixD6340Xepw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@datadog/native-metrics/-/native-metrics-1.0.1.tgz", + "integrity": "sha512-VyaALmSV+5vHamBJEVoQSaU67E1lwYZHrWk8EsinUMvk/P0AWdWv9m3vYPRuhH+bfSyic4UQZkyBbYQFnXP5eg==", "requires": { "nan": "^2.14.2", "node-gyp-build": "^3.9.0" } }, "@datadog/pprof": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@datadog/pprof/-/pprof-0.1.3.tgz", - "integrity": "sha512-fwEa4EA3nWcTat5waT6P9WqxAqGvjdM6mrP/3dRTxXGfPsISpTVz8aHvaOgk7k2hLE1ocbCXk00575LZdOotDA==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@datadog/pprof/-/pprof-0.3.0.tgz", + "integrity": "sha512-RskYpLD2mWdvUk2OU9p3gynx8QxHtfPdRPWs3vqlM+PMf+wstibcYMW7auNY4s3gVA1mT7HiBjW7j0m37rOHOQ==", "requires": { "delay": "^5.0.0", "findit2": "^2.2.3", @@ -6583,9 +6561,9 @@ }, "dependencies": { "globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -6615,17 +6593,18 @@ } }, "@grpc/grpc-js": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.8.tgz", - "integrity": "sha512-4qJqqn+CU/nBydz9ePJP+oa8dz0U42Ut/GejlbyaQ1xTkynCc+ndNHHnISlNeHawDsv4MOAyP3mV/EnDNUw2zA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.4.3.tgz", + "integrity": "sha512-SVt7zp7OjNp/t5p0dGjP+O6FdWnbkq80sVTvW4dYRQaXV261wzTvjEt8wrW0KQ+X0vC/kvzQJWvHcIU9wej3uQ==", "requires": { + "@grpc/proto-loader": "^0.6.4", "@types/node": ">=12.12.47" } }, "@grpc/proto-loader": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.5.tgz", - "integrity": "sha512-GZdzyVQI1Bln/kCzIYgTKu+rQJ5dno0gVrfmLe4jqQu7T2e7svSwJzpCBqVU5hhBSJP3peuPjOMWsj5GR61YmQ==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.6.tgz", + "integrity": "sha512-cdMaPZ8AiFz6ua6PUbP+LKbhwJbFXnrQ/mlnKGUyzDUZ3wp7vPLksnmLCBX6SHgSmjX7CbNVNLFYD5GmmjO4GQ==", "requires": { "@types/long": "^4.0.1", "lodash.camelcase": "^4.3.0", @@ -6646,25 +6625,25 @@ } }, "@humanwhocodes/object-schema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, "@mapbox/node-pre-gyp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz", - "integrity": "sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.6.tgz", + "integrity": "sha512-qK1ECws8UxuPqOA8F5LFD90vyVU33W7N3hGfgsOVfrJaRVc8McC3JClTDHpeSbL9CBrOHly/4GsNPAvIgNZE+g==", "requires": { "detect-libc": "^1.0.3", "https-proxy-agent": "^5.0.0", "make-dir": "^3.1.0", - "node-fetch": "^2.6.1", + "node-fetch": "^2.6.5", "nopt": "^5.0.0", - "npmlog": "^4.1.2", + "npmlog": "^5.0.1", "rimraf": "^3.0.2", - "semver": "^7.3.4", - "tar": "^6.1.0" + "semver": "^7.3.5", + "tar": "^6.1.11" } }, "@nodelib/fs.scandir": { @@ -6976,9 +6955,9 @@ } }, "@types/node": { - "version": "14.17.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.26.tgz", - "integrity": "sha512-eSTNkK/nfmnC7IKpOJZixDgG0W2/eHz1qyFN7o/rwwwIHsVRp+G9nbh4BrQ77kbQ2zPu286AQRxkuRLPcR3gXw==" + "version": "14.17.32", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.32.tgz", + "integrity": "sha512-JcII3D5/OapPGx+eJ+Ik1SQGyt6WvuqdRfh9jUwL6/iHGjmyOriBDciBUu7lEIBTL2ijxwrR70WUnw5AEDmFvQ==" }, "@types/responselike": { "version": "1.0.0", @@ -7016,17 +6995,6 @@ "@typescript-eslint/typescript-estree": "4.33.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" - }, - "dependencies": { - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - } - } } }, "@typescript-eslint/parser": { @@ -7216,49 +7184,35 @@ "integrity": "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY=" }, "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" }, "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", "requires": { "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "readable-stream": "^3.6.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } } } @@ -7559,9 +7513,9 @@ } }, "chardet": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-1.3.0.tgz", - "integrity": "sha512-cyTQGGptIjIT+CMGT5J/0l9c6Fb+565GCFjjeUTKxUO7w3oR+FcNCMEKTn5xtVKaLFmladN7QF68IiQsv5Fbdw==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-1.4.0.tgz", + "integrity": "sha512-NpwMDdSIprbYx1CLnfbxEIarI0Z+s9MssEgggMNheGM+WD68yOhV7IEA/3r6tr0yTRgQD0HuZJDw32s99i6L+A==" }, "cheerio": { "version": "1.0.0-rc.10", @@ -7644,11 +7598,6 @@ "mimic-response": "^1.0.0" } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -7664,6 +7613,11 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + }, "colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", @@ -7826,17 +7780,17 @@ "integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==" }, "dd-trace": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/dd-trace/-/dd-trace-1.5.0.tgz", - "integrity": "sha512-mVWYp6hkMlO0uKB75GGpwuIO8Jv/BYWW1aJqy3LPkJ5VyBshcqWf5yUUhHmNDH55c2NrCK4oy/Q0tfxUXMVmCw==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dd-trace/-/dd-trace-1.5.1.tgz", + "integrity": "sha512-ot43V0Uwto4VLnB7mx3wi2r84eXnqrN2CmAsiJf3rzLmJxbK/d/E5jumaBVvcHujdbUl5rqts4olFZK0Vks2sw==", "requires": { - "@datadog/native-metrics": "^1.0.0", - "@datadog/pprof": "^0.1.3", + "@datadog/native-metrics": "^1.0.1", + "@datadog/pprof": "^0.3.0", "@datadog/sketches-js": "^1.0.4", "@types/node": "^10.12.18", "crypto-randomuuid": "^1.0.0", "form-data": "^3.0.0", - "import-in-the-middle": "^1.1.1", + "import-in-the-middle": "^1.1.2", "koalas": "^1.0.2", "limiter": "^1.1.4", "lodash.kebabcase": "^4.1.1", @@ -8262,10 +8216,27 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, "globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -8406,20 +8377,12 @@ } }, "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } + "eslint-visitor-keys": "^2.0.0" } }, "eslint-visitor-keys": { @@ -8463,9 +8426,9 @@ }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } @@ -8480,9 +8443,9 @@ }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } @@ -8614,9 +8577,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz", - "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==" + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz", + "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==" }, "form-data": { "version": "3.0.1", @@ -8674,31 +8637,32 @@ "dev": true }, "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.1.tgz", + "integrity": "sha512-6STz6KdQgxO4S/ko+AbjlFGGdGcknluoqU+79GOFCDqqyYj5OanQf9AjxwN0jCidtT+ziPMmPSt9E4hfQ0CwIQ==", "requires": { - "aproba": "^1.0.3", + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "string-width": "^1.0.1 || ^2.0.0", + "strip-ansi": "^3.0.1 || ^4.0.0", + "wide-align": "^1.1.2" }, "dependencies": { "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^3.0.0" } } } @@ -8809,9 +8773,9 @@ } }, "google-auth-library": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.10.0.tgz", - "integrity": "sha512-ICsqaU+lxMHVlDUzMrfVIEqnARw2AwBiZ/2KnNM6BcTf9Nott+Af87DTIzmlnW865p3REUP2MVL0xkPC3a61aQ==", + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.10.2.tgz", + "integrity": "sha512-M37o9Kxa/TLvOLgF71SXvLeVEP5sbSTmKl1zlIgl72SFy5PtsU3pOdu8G8MIHHpQ3/NZabDI8rQkA9DvQVKkPA==", "requires": { "arrify": "^2.0.0", "base64-js": "^1.3.0", @@ -8825,11 +8789,11 @@ } }, "google-gax": { - "version": "2.27.1", - "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-2.27.1.tgz", - "integrity": "sha512-8j8hfY42mGZt52C1L23srr2WTxOsOGUsC3s07Aw/f1UrbofsHdRaGf72Jax4jWEFXe/2x1MVBkwMvZxHMbO1Ag==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-2.28.0.tgz", + "integrity": "sha512-kuqc8a4+CTCMBcF3tlOL7Sa74JWkTzcZxatAQTCVK35WToXkHnJ0qncFOJuegUv3EbV9IQY4j/+NZdFLv+lbTA==", "requires": { - "@grpc/grpc-js": "~1.3.0", + "@grpc/grpc-js": "~1.4.0", "@grpc/proto-loader": "^0.6.1", "@types/long": "^4.0.0", "abort-controller": "^3.0.0", @@ -9002,9 +8966,9 @@ } }, "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", + "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", "dev": true }, "import-fresh": { @@ -9018,9 +8982,9 @@ } }, "import-in-the-middle": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.1.1.tgz", - "integrity": "sha512-Qs77TopqLK2qNVfslMpvVBDgWamttEG/Ss6C3r23d3sA+mU5aU94YT2qlF9jtvXO5wBzcy5z1LFjGVp5jecBgw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.1.2.tgz", + "integrity": "sha512-/NV7gWylN3MAjwBSAkH+RAwDrkRw2gWv4wHecT9bfz59LByNJANMPOGkXp2ywwCuUMtfX0+I5q8WsDoDe2tlIw==", "requires": { "module-details-from-path": "^1.0.3" } @@ -9086,9 +9050,9 @@ "dev": true }, "is-core-module": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.7.0.tgz", - "integrity": "sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", "dev": true, "requires": { "has": "^1.0.3" @@ -9110,12 +9074,9 @@ "dev": true }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, "is-glob": { "version": "4.0.3", @@ -9363,12 +9324,6 @@ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, "lodash.kebabcase": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", @@ -9560,9 +9515,9 @@ } }, "mongodb": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.7.2.tgz", - "integrity": "sha512-/Qi0LmOjzIoV66Y2JQkqmIIfFOy7ZKsXnQNlUXPFXChOw3FCdNqVD5zvci9ybm6pkMe/Nw+Rz9I0Zsk2a+05iQ==", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.7.3.tgz", + "integrity": "sha512-Psm+g3/wHXhjBEktkxXsFMZvd3nemI0r3IPsE0bU+4//PnvNWKkzhZcEsbPcYiWqe8XqXJJEg4Tgtr7Raw67Yw==", "requires": { "bl": "^2.2.1", "bson": "^1.1.4", @@ -9583,15 +9538,15 @@ } }, "mongoose": { - "version": "5.13.11", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.11.tgz", - "integrity": "sha512-hVHm864eBpaCr0W6CF7qTmC62dmepnT+A6ZnqKPU9asw7jjYHBcBxPgCnrGBMUACbZtzidO6HmB4J3F1YU2rdg==", + "version": "5.13.13", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.13.tgz", + "integrity": "sha512-M55tpCr/p5i6vdJ54nm4MG6/7SKV4JqlWnqbx6yCRuAuW05CZ7u+gNuHVPQVF9dZ59ALXjOtPEUl+OXklAa7ng==", "requires": { "@types/bson": "1.x || 4.0.x", "@types/mongodb": "^3.5.27", "bson": "^1.1.4", "kareem": "2.3.2", - "mongodb": "3.7.2", + "mongodb": "3.7.3", "mongoose-legacy-pluralize": "1.0.2", "mpath": "0.8.4", "mquery": "3.2.5", @@ -9601,16 +9556,14 @@ "safe-buffer": "5.2.1", "sift": "13.5.2", "sliced": "1.0.1" - }, - "dependencies": { - "mongoose-legacy-pluralize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz", - "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==", - "requires": {} - } } }, + "mongoose-legacy-pluralize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz", + "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==", + "requires": {} + }, "mpath": { "version": "0.8.4", "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.4.tgz", @@ -9694,9 +9647,9 @@ } }, "node-fetch": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", - "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz", + "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==", "requires": { "whatwg-url": "^5.0.0" } @@ -9725,14 +9678,14 @@ "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" }, "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" } }, "nth-check": { @@ -9743,11 +9696,6 @@ "boolbase": "^1.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -9821,11 +9769,11 @@ } }, "open-graph-scraper": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/open-graph-scraper/-/open-graph-scraper-4.9.2.tgz", - "integrity": "sha512-OfqtHRd4UFU3PgHMlNBNkovDrtfuSCExTG0+OdFgvF8TfabnFJ3gyUMliVNeD3cobOZcIUhV8jRfKMg6eCDBmA==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/open-graph-scraper/-/open-graph-scraper-4.10.0.tgz", + "integrity": "sha512-9i1LuJc3G/vce85+3NOkta+Vp5V0aNGhZHHIu5l4cd9ml0ZPGu+gZcnEHbDxpDUXdvGofLqE6sCbP9fbUI6Rkg==", "requires": { - "chardet": "^1.3.0", + "chardet": "^1.4.0", "cheerio": "^1.0.0-rc.10", "got": "^11.8.2", "iconv-lite": "^0.6.3", @@ -9904,9 +9852,9 @@ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, "keyv": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz", - "integrity": "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", + "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", "requires": { "json-buffer": "3.0.1" } @@ -10124,9 +10072,9 @@ "dev": true }, "proto3-json-serializer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-0.1.4.tgz", - "integrity": "sha512-bFzdsKU/zaTobWrRxRniMZIzzcgKYlmBWL1gAcTXZ2M7TQTGPI0JoYYs6bN7tpWj59ZCfwg7Ii/A2e8BbQGYnQ==" + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-0.1.5.tgz", + "integrity": "sha512-G395jcZkgNXNeS+6FGqd09TsXeoCs9wmBWByDiwFy7Yd7HD8pyfyvf6q+rGh7PhT4AshRpG4NowzoKYUtkNjKg==" }, "protobufjs": { "version": "6.11.2", @@ -10451,12 +10399,12 @@ } }, "skia-canvas": { - "version": "0.9.25", - "resolved": "https://registry.npmjs.org/skia-canvas/-/skia-canvas-0.9.25.tgz", - "integrity": "sha512-Txgo8F1MW5BiqLr2QO4r4SP5bJ2agF0ehx5B53DaMqtq9pVh/OhP94uGZhKn9ps1A5xCEb+ocQ0TWmkzOSWCAA==", + "version": "0.9.27", + "resolved": "https://registry.npmjs.org/skia-canvas/-/skia-canvas-0.9.27.tgz", + "integrity": "sha512-a3n/ZFNpf9bKBPhbg+lXBbZFLMlFnnW7h5JEn3BdhcCaOcEiP5WKNfRxgepUL9imuTE+HqbCiWpfYA22bkr0jQ==", "requires": { - "@mapbox/node-pre-gyp": "^1.0.5", - "glob": "^7.1.7", + "@mapbox/node-pre-gyp": "^1.0.6", + "glob": "^7.2.0", "path-browserify": "^1.0.1", "simple-get": "^4.0.0", "string-split-by": "^1.0.0" @@ -10613,26 +10561,25 @@ } }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^3.0.0" } } } @@ -10687,13 +10634,12 @@ } }, "table": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", - "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.3.tgz", + "integrity": "sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw==", "dev": true, "requires": { "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.3", @@ -10968,9 +10914,9 @@ "dev": true }, "validator": { - "version": "13.6.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.6.0.tgz", - "integrity": "sha512-gVgKbdbHgtxpRyR8K0O6oFZPhhB5tT1jeEHZR0Znr9Svg03U0+r9DXWMrnRAB+HtCStDQKlaIZm42tVsVjqtjg==" + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", + "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==" }, "webidl-conversions": { "version": "3.0.1", @@ -11009,11 +10955,11 @@ } }, "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "requires": { - "string-width": "^1.0.2 || 2" + "string-width": "^1.0.2 || 2 || 3 || 4" } }, "word-wrap": { diff --git a/resources/tzData.json b/resources/tzData.json new file mode 100644 index 00000000..6396f02e --- /dev/null +++ b/resources/tzData.json @@ -0,0 +1,13076 @@ +[ + { + "timezone": "asia/kabul", + "country": "afghanistan", + "iso2": "af", + "cities": [ + "qal eh-ye", + "chaghcharan", + "lashkar gah", + "zaranj", + "tarin kowt", + "zareh sharan", + "asadabad", + "taloqan", + "mahmud-e eraqi", + "mehtar lam", + "baraki barak", + "aybak", + "mayda shahr", + "karokh", + "sheberghan", + "pol-e khomri", + "balkh", + "meymaneh", + "andkhvoy", + "qalat", + "ghazni", + "feyzabad", + "kondoz", + "jalalabad", + "charikar", + "gardiz", + "bamian", + "baghlan", + "farah", + "herat", + "mazar-e sharif", + "kandahar", + "kabul" + ], + "provinces": [ + "badghis", + "ghor", + "hilmand", + "nimroz", + "uruzgan", + "paktika", + "kunar", + "takhar", + "kapisa", + "laghman", + "logar", + "samangan", + "wardak", + "hirat", + "jawzjan", + "baghlan", + "balkh", + "faryab", + "zabul", + "ghazni", + "badakhshan", + "kunduz", + "nangarhar", + "parwan", + "paktya", + "bamyan", + "farah", + "kandahar", + "kabul" + ] + }, + { + "timezone": "europe/mariehamn", + "country": "aland", + "iso2": "ax", + "cities": [ + "mariehamn" + ], + "provinces": [ + "finström" + ] + }, + { + "timezone": "europe/tirane", + "country": "albania", + "iso2": "al", + "cities": [ + "kruje", + "fier", + "lushnje", + "puke", + "bajram curri", + "kukes", + "sarande", + "erseke", + "pogradec", + "korce", + "berat", + "corovode", + "gramsh", + "librazhd", + "tepelene", + "permet", + "gjirokaster", + "peshkopi", + "burrel", + "lezhe", + "rreshen", + "vlore", + "elbasan", + "durres", + "shkoder", + "tirana" + ], + "provinces": [ + "durrës", + "fier", + "shkodër", + "kukës", + "vlorë", + "korçë", + "berat", + "elbasan", + "gjirokastër", + "dibër", + "lezhë" + ] + }, + { + "timezone": "africa/algiers", + "country": "algeria", + "iso2": "dz", + "cities": [ + "jijel", + "tizi-ouzou", + "bordj bou arreridj", + "m'sila", + "guelma", + "oum el bouaghi", + "timimoun", + "sidi bel abbes", + "tlimcen", + "beni ounif", + "abadla", + "sefra", + "skikda", + "djanet", + "i-n-amenas", + "in amguel", + "el bayadh", + "el oued", + "hassi messaoud", + "chlef", + "mascara", + "mostaganem", + "saida", + "tiarat", + "bejaia", + "blida", + "bouira", + "medea", + "souk ahras", + "tebessa", + "adrar", + "reggane", + "bechar", + "tindouf", + "illizi", + "arak", + "i-n-salah", + "el golea", + "laghouat", + "touggourt", + "ouargla", + "biskra", + "djelfa", + "setif", + "batna", + "annaba", + "constantine", + "oran", + "tamanrasset", + "ghardaia", + "algiers" + ], + "provinces": [ + "jijel", + "tizi ouzou", + "bordj bou arréridj", + "m'sila", + "guelma", + "oum el bouaghi", + "adrar", + "sidi bel abbès", + "tlemcen", + "béchar", + "naâma", + "skikda", + "illizi", + "tamanghasset", + "el bayadh", + "biskra", + "ouargla", + "chlef", + "mascara", + "mostaganem", + "saïda", + "tiaret", + "béjaïa", + "blida", + "bouira", + "médéa", + "souk ahras", + "tébessa", + "tindouf", + "ghardaïa", + "laghouat", + "djelfa", + "sétif", + "batna", + "annaba", + "constantine", + "oran", + "alger" + ] + }, + { + "timezone": "pacific/pago_pago", + "country": "american samoa", + "iso2": "as", + "cities": [ + "pago pago" + ], + "provinces": [] + }, + { + "timezone": "europe/andorra", + "country": "andorra", + "iso2": "ad", + "cities": [ + "andorra" + ], + "provinces": [] + }, + { + "timezone": "africa/luanda", + "country": "angola", + "iso2": "ao", + "cities": [ + "mucusso", + "lucapa", + "capenda-camulemba", + "saurimo", + "muconda", + "cacolo", + "caxito", + "camabatela", + "ndalatando", + "quibala", + "calulo", + "waku kungo", + "songo", + "mbanza-congo", + "nzeto", + "soyo", + "cabinda", + "calucinga", + "camacupa", + "cubal", + "mavinga", + "cuito caunavale", + "luiana", + "ondjiva", + "chitado", + "chibemba", + "chibia", + "quipungo", + "luau", + "cangamba", + "lumbala nguimbo", + "cazombo", + "dundo", + "ambriz", + "dondo", + "sumbe", + "uige", + "kuito", + "lobito", + "xangongo", + "luena", + "tombua", + "malanje", + "benguela", + "lubango", + "namibe", + "menongue", + "huambo", + "luanda", + "cuangar" + ], + "provinces": [ + "cuando cubango", + "lunda norte", + "lunda sul", + "bengo", + "cuanza norte", + "cuanza sul", + "uíge", + "zaire", + "cabinda", + "bié", + "benguela", + "cunene", + "huíla", + "moxico", + "namibe", + "malanje", + "huambo", + "luanda", + "kavango" + ] + }, + { + "timezone": "america/antigua", + "country": "antigua and barbuda", + "iso2": "ag", + "cities": [ + "saint john's" + ], + "provinces": [] + }, + { + "timezone": "america/santiago", + "country": "argentina", + "iso2": "ar", + "cities": [ + "28 de noviembre", + "rio verde", + "cuya", + "chuquicamata", + "maria elena", + "tierra amarilla", + "combarbala", + "san bernardo", + "san felipe", + "vina del mar", + "la ligua", + "quillota", + "nueva imperial", + "loncoche", + "villarica", + "tolten", + "lonquimay", + "angol", + "collipulli", + "la union", + "rio bueno", + "coronel", + "talcahuano", + "quirihue", + "curanilahue", + "santa barbara", + "pichilemu", + "san fernando", + "puerto varas", + "calbuco", + "castro", + "chonchi", + "linares", + "cauquenes", + "cochrane", + "lagunas", + "pozo almonte", + "toconao", + "huasco", + "diego de almagro", + "caldera", + "coquimbo", + "vicuna", + "illapel", + "salamanca", + "los andes", + "san antonio", + "victoria", + "carahue", + "los lagos", + "lota", + "lebu", + "quellon", + "constitucion", + "villa o'higgins", + "puerto aisen", + "puerto natales", + "puerto williams", + "temuco", + "tocopilla", + "calama", + "mejillones", + "taltal", + "vallenar", + "chanaral", + "ovalle", + "chillan", + "rancagua", + "osorno", + "ancud", + "talca", + "curico", + "coihaique", + "arica", + "copiapo", + "la serena", + "los angeles", + "punta arenas", + "iquique", + "antofagasta", + "valparaiso", + "valdivia", + "concepcion", + "puerto montt", + "santiago" + ], + "provinces": [ + "santa cruz", + "magallanes y antártica chilena", + "tarapacá", + "antofagasta", + "atacama", + "coquimbo", + "región metropolitana de santiago", + "valparaíso", + "la araucanía", + "los ríos", + "bío-bío", + "libertador general bernardo o'higgins", + "los lagos", + "maule", + "aisén del general carlos ibáñez del campo", + "arica y parinacota" + ] + }, + { + "timezone": "america/argentina/rio_gallegos", + "country": "argentina", + "iso2": "ar", + "cities": [ + "gobernador gregores", + "comondante luis piedrabuena", + "puerto san julian", + "perito moreno", + "el calafate", + "puerto deseado", + "rio gallegos" + ], + "provinces": [ + "santa cruz" + ] + }, + { + "timezone": "america/argentina/catamarca", + "country": "argentina", + "iso2": "ar", + "cities": [ + "paso rio mayo", + "alto rio sanguer", + "el maiten", + "puerto madryn", + "trelew", + "chumbicha", + "tinogasta", + "las plumas", + "gastre", + "telsen", + "belen", + "frias", + "esquel", + "sarmiento", + "catamarca", + "rawson" + ], + "provinces": [ + "chubut", + "catamarca", + "santiago del estero" + ] + }, + { + "timezone": "america/argentina/mendoza", + "country": "argentina", + "iso2": "ar", + "cities": [ + "las heras", + "san martin", + "uspallata", + "malargue", + "tunuyan", + "la paz", + "san rafael", + "mendoza" + ], + "provinces": [ + "mendoza" + ] + }, + { + "timezone": "america/argentina/salta", + "country": "argentina", + "iso2": "ar", + "cities": [ + "cutral co", + "25 de mayo", + "general roca", + "comallo", + "ingeniero jacobacci", + "general conesa", + "choele choel", + "yacuiba", + "tartagal", + "joaquin v. gonzalez", + "general guemes", + "chos malal", + "las lajas", + "victorica", + "general pico", + "san antonio oeste", + "sierra colorado", + "los blancos", + "cafayate", + "cerrillos", + "san antonio de los cobres", + "zapala", + "viedma", + "san ramon de la nueva oran", + "rio colorado", + "neuquen", + "santa rosa", + "san carlos de bariloche", + "salta" + ], + "provinces": [ + "neuquén", + "río negro", + "salta", + "la pampa", + "ciudad de buenos aires" + ] + }, + { + "timezone": "america/argentina/buenos_aires", + "country": "argentina", + "iso2": "ar", + "cities": [ + "punta alta", + "san nicolas", + "campana", + "chacabuco", + "mercedes", + "lincoln", + "chivilcoy", + "veinticinco de mayo", + "nueve de julio", + "dolores", + "pedro luro", + "tres arroyos", + "coronel suarez", + "balcarce", + "zarate", + "carhue", + "darregueira", + "juarez", + "mar de ajo", + "lobos", + "chascomus", + "junin", + "la plata", + "pergamino", + "lujan", + "azul", + "villalonga", + "olavarria", + "tandil", + "necochea", + "bahia blanca", + "mar del plata", + "buenos aires" + ], + "provinces": [ + "ciudad de buenos aires" + ] + }, + { + "timezone": "america/argentina/cordoba", + "country": "argentina", + "iso2": "ar", + "cities": [ + "san francisco", + "alta gracia", + "villa maria", + "bell ville", + "villa rumipal", + "villa carlos paz", + "presidencia roque saenz pena", + "pampa del infierno", + "villa angela", + "ingeniero guillermo n. juarez", + "comandante fontana", + "san lorenzo", + "corrientes", + "concepcion del uruguay", + "victoria", + "gualeguay", + "parana", + "villa constitucion", + "rafaela", + "eldorado", + "rio tercero", + "anatuya", + "monte quemado", + "juan jose castelli", + "charata", + "las lomitas", + "mercedes", + "concordia", + "sunchales", + "san justo", + "vera", + "reconquista", + "venado tuerto", + "rio cuarto", + "goya", + "santiago del estero", + "resistencia", + "gualeguaychu", + "formosa", + "santa fe", + "rosario", + "cordoba", + "posadas" + ], + "provinces": [ + "córdoba", + "chaco", + "formosa", + "corrientes", + "entre ríos", + "santa fe", + "misiones", + "santiago del estero" + ] + }, + { + "timezone": "america/argentina/jujuy", + "country": "argentina", + "iso2": "ar", + "cities": [ + "abra pampa", + "humahuaca", + "susques", + "rinconada", + "san pedro", + "libertador general san martin", + "san salvador de jujuy" + ], + "provinces": [ + "jujuy" + ] + }, + { + "timezone": "america/argentina/la_rioja", + "country": "argentina", + "iso2": "ar", + "cities": [ + "chepes", + "chamical", + "la rioja" + ], + "provinces": [ + "la rioja" + ] + }, + { + "timezone": "america/argentina/tucuman", + "country": "argentina", + "iso2": "ar", + "cities": [ + "trancas", + "san miguel de tucuman" + ], + "provinces": [ + "tucumán" + ] + }, + { + "timezone": "america/asuncion", + "country": "argentina", + "iso2": "ar", + "cities": [ + "doctor pedro p. pena", + "mariscal jose f. estigarribia", + "caacupe", + "general eugenio alejandrino garay", + "arroyos y esteros", + "villa hayes", + "fortin falcon", + "puerto pinasco", + "pozo colorado", + "san pedro", + "san lorenzo", + "ypacarai", + "san juan bautista", + "paraguari", + "nacunday", + "coronel oviedo", + "caazapa", + "ype jhu", + "encarnacion", + "coronel bogado", + "fuerte olimpo", + "capitan pablo lagerenza", + "la victoria", + "horqueta", + "belen", + "rosario", + "ita", + "pilar", + "pedro juan caballero", + "bella vista", + "abai", + "ygatimi", + "hohenau", + "concepcion", + "villarrica", + "filadelfia", + "ciudad del este", + "asuncion" + ], + "provinces": [ + "formosa", + "boquerón", + "cordillera", + "presidente hayes", + "san pedro", + "asunción", + "misiones", + "paraguarí", + "alto paraná", + "caaguazú", + "caazapá", + "canindeyú", + "itapúa", + "alto paraguay", + "concepción", + "ñeembucú", + "amambay", + "guairá" + ] + }, + { + "timezone": "america/argentina/san_juan", + "country": "argentina", + "iso2": "ar", + "cities": [ + "rodeo", + "san juan" + ], + "provinces": [ + "san juan" + ] + }, + { + "timezone": "america/argentina/san_luis", + "country": "argentina", + "iso2": "ar", + "cities": [ + "mercedes", + "san luis" + ], + "provinces": [ + "san luis" + ] + }, + { + "timezone": "america/argentina/ushuaia", + "country": "argentina", + "iso2": "ar", + "cities": [ + "rio grande", + "ushuaia" + ], + "provinces": [ + "tierra del fuego" + ] + }, + { + "timezone": "asia/yerevan", + "country": "armenia", + "iso2": "am", + "cities": [ + "ashtarak", + "ijevan", + "artashat", + "gavarr", + "yeghegnadzor", + "gyumri", + "vanadzor", + "yerevan", + "kapan" + ], + "provinces": [ + "aragatsotn", + "tavush", + "ararat", + "gegharkunik", + "vayots dzor", + "shirak", + "lori", + "erevan", + "z?ngilan" + ] + }, + { + "timezone": "america/aruba", + "country": "aruba", + "iso2": "aw", + "cities": [ + "oranjestad" + ], + "provinces": [] + }, + { + "timezone": "australia/sydney", + "country": "australia", + "iso2": "au", + "cities": [ + "central coast", + "bourke", + "queanbeyan", + "tweed heads", + "ivanhoe", + "wilcannia", + "merimbula", + "deniliquin", + "nowra", + "ulladulla", + "batemans bay", + "cooma", + "tumut", + "leeton", + "young", + "cowra", + "forbes", + "goulburn", + "kiama", + "katoomba", + "richmond", + "lithgow", + "parkes", + "bathurst", + "maitland", + "singleton", + "mudgee", + "muswellbrook", + "taree", + "kempsey", + "gunnedah", + "coffs harbour", + "narrabri", + "inverell", + "yamba", + "ballina", + "wagga wagga", + "scone", + "byron bay", + "albury", + "forster-tuncurry", + "port macquarie", + "tamworth", + "grafton", + "moree", + "lismore", + "wollongong", + "griffith", + "orange", + "dubbo", + "armidale", + "canberra", + "newcastle", + "sydney" + ], + "provinces": [ + "new south wales", + "australian capital territory" + ] + }, + { + "timezone": "australia/brisbane", + "country": "australia", + "iso2": "au", + "cities": [ + "sunshine coast", + "proserpine", + "theodore", + "eidsvold", + "barcaldine", + "winton", + "longreach", + "caboolture", + "warwick", + "kingaroy", + "dalby", + "bongaree", + "gympie", + "ingham", + "birdsville", + "bedourie", + "boulia", + "richmond", + "burketown", + "hervey bay", + "biloela", + "yeppoon", + "emerald", + "moranbah", + "charters towers", + "ayr", + "atherton", + "port douglas", + "goondiwindi", + "camooweal", + "quilpie", + "charleville", + "hughenden", + "caloundra", + "roma", + "toowoomba", + "georgetown", + "thargomindah", + "weipa", + "karumba", + "cloncurry", + "maryborough", + "bundaberg", + "gladstone", + "bowen", + "innisfail", + "mackay", + "windorah", + "mount isa", + "rockhampton", + "cairns", + "gold coast", + "townsville", + "brisbane" + ], + "provinces": [ + "queensland", + "new south wales" + ] + }, + { + "timezone": "australia/darwin", + "country": "australia", + "iso2": "au", + "cities": [ + "pine creek", + "adelaide river", + "mcminns lagoon", + "newcastle waters", + "tennant creek", + "yulara", + "erldunda", + "katherine", + "darwin", + "alice springs" + ], + "provinces": [ + "northern territory" + ] + }, + { + "timezone": "australia/perth", + "country": "australia", + "iso2": "au", + "cities": [ + "ravensthorpe", + "wagin", + "roebourne", + "pannawonica", + "tom price", + "kalbarri", + "mount magnet", + "morawa", + "port denison", + "merredin", + "mount barker", + "katanning", + "narrogin", + "gingin", + "bunbury", + "kwinana", + "southern cross", + "kaltukatjara", + "norseman", + "halls creek", + "kununurra", + "derby", + "onslow", + "exmouth", + "carnarvon", + "newman", + "meekatharra", + "three springs", + "manjimup", + "northam", + "esperance", + "leonara", + "laverton", + "wyndham", + "busselton", + "mandurah", + "broome", + "kalgoorlie", + "albany", + "port hedland", + "karratha", + "geraldton", + "perth" + ], + "provinces": [ + "western australia", + "northern territory" + ] + }, + { + "timezone": "australia/melbourne", + "country": "australia", + "iso2": "au", + "cities": [ + "echuca", + "hamilton", + "ouyen", + "colac", + "stawell", + "horsham", + "ararat", + "maryborough", + "bairnsdale", + "sale", + "traralgon", + "wonthaggi", + "cranbourne", + "ballarat", + "melton", + "seymour", + "shepparton", + "cobram", + "swan hill", + "sunbury", + "warrnambool", + "mildura", + "geelong", + "portland", + "bendigo", + "wangaratta", + "melbourne" + ], + "provinces": [ + "new south wales", + "victoria" + ] + }, + { + "timezone": "australia/adelaide", + "country": "australia", + "iso2": "au", + "cities": [ + "berri", + "peterborough", + "wallaroo", + "clare", + "meningie", + "kingston south east", + "bordertown", + "penola", + "kingoonya", + "kimba", + "streaky bay", + "cowell", + "tumby bay", + "andamooka", + "woomera", + "port pirie", + "gawler", + "murray bridge", + "victor harbor", + "ceduna", + "mount gambier", + "port augusta", + "port lincoln", + "whyalla", + "adelaide" + ], + "provinces": [ + "south australia" + ] + }, + { + "timezone": "australia/hobart", + "country": "australia", + "iso2": "au", + "cities": [ + "smithton", + "scottsdale", + "bicheno", + "oatlands", + "queenstown", + "kingston", + "burnie", + "launceston", + "devonport", + "hobart" + ], + "provinces": [ + "tasmania" + ] + }, + { + "timezone": "australia/broken_hill", + "country": "australia", + "iso2": "au", + "cities": [ + "broken hill" + ], + "provinces": [ + "new south wales" + ] + }, + { + "timezone": "europe/vienna", + "country": "austria", + "iso2": "at", + "cities": [ + "bregenz", + "eisenstadt", + "wiener neustadt", + "graz", + "klagenfurt", + "linz", + "salzburg", + "innsbruck", + "vienna" + ], + "provinces": [ + "vorarlberg", + "burgenland", + "niederösterreich", + "steiermark", + "kärnten", + "oberösterreich", + "salzburg", + "tirol", + "wien" + ] + }, + { + "timezone": "europe/berlin", + "country": "austria", + "iso2": "at", + "cities": [ + "passau", + "mainz", + "schwerin", + "bielefeld", + "dortmund", + "duisburg", + "wuppertal", + "essen", + "karlsruhe", + "heidelberg", + "kassel", + "oldenburg", + "emden", + "braunschweig", + "erfurt", + "coburg", + "augsburg", + "furth", + "chemnitz", + "bonn", + "munster", + "dusseldorf", + "ulm", + "mannheim", + "freiburg", + "giessen", + "wiesbaden", + "bremerhaven", + "osnabruck", + "hannover", + "gottingen", + "gera", + "jena", + "flensburg", + "lubeck", + "kiel", + "koblenz", + "saarbrucken", + "regensburg", + "rosenheim", + "hof", + "wurzburg", + "ingolstadt", + "cottbus", + "potsdam", + "magdeburg", + "leipzig", + "stralsund", + "rostock", + "stuttgart", + "bremen", + "nurnberg", + "cologne", + "dresden", + "frankfurt", + "hamburg", + "munich", + "berlin" + ], + "provinces": [ + "oberösterreich", + "rheinland-pfalz", + "mecklenburg-vorpommern", + "nordrhein-westfalen", + "baden-württemberg", + "hessen", + "niedersachsen", + "thüringen", + "bayern", + "sachsen", + "bremen", + "schleswig-holstein", + "saarland", + "brandenburg", + "sachsen-anhalt", + "hamburg", + "berlin" + ] + }, + { + "timezone": "asia/baku", + "country": "azerbaijan", + "iso2": "az", + "cities": [ + "gadabay", + "goranboy", + "tovuz", + "agdam", + "qabala", + "oguz", + "ganca", + "yevlax", + "sumqayt", + "ali bayramli", + "goycay", + "lankaran", + "saki", + "stepanakert", + "naxcivan", + "baku" + ], + "provinces": [ + "gadabay", + "goranboy", + "tovuz", + "qabala", + "oguz", + "ganca", + "yevlax", + "sumqayit", + "?li bayramli", + "göyçay", + "astara", + "s?ki", + "xocali", + "naxçivan", + "baki" + ] + }, + { + "timezone": "asia/bahrain", + "country": "bahrain", + "iso2": "bh", + "cities": [ + "manama" + ], + "provinces": [] + }, + { + "timezone": "asia/dhaka", + "country": "bangladesh", + "iso2": "bd", + "cities": [ + "tangail", + "sylhet", + "mymensingh", + "jamalpur", + "narayanganj", + "jessore", + "barisal", + "comilla", + "pabna", + "nawabganj", + "saidpur", + "rangpur", + "khulna", + "rajshahi", + "dhaka", + "chittagong" + ], + "provinces": [ + "dhaka", + "sylhet", + "khulna", + "barisal", + "chittagong", + "rajshahi" + ] + }, + { + "timezone": "america/barbados", + "country": "barbados", + "iso2": "bb", + "cities": [ + "bridgetown" + ], + "provinces": [ + "saint michael" + ] + }, + { + "timezone": "europe/minsk", + "country": "belarus", + "iso2": "by", + "cities": [ + "baranavichy", + "polatsk", + "maladzyechna", + "pinsk", + "mazyr", + "mahilyow", + "babruysk", + "orsha", + "lida", + "hrodna", + "barysaw", + "homyel", + "vitsyebsk", + "brest", + "minsk" + ], + "provinces": [ + "brest", + "vitsyebsk", + "minsk", + "homyel'", + "mahilyow", + "hrodna" + ] + }, + { + "timezone": "europe/brussels", + "country": "belgium", + "iso2": "be", + "cities": [ + "mons", + "hasselt", + "arlon", + "gent", + "liege", + "brugge", + "namur", + "charleroi", + "antwerpen", + "brussels" + ], + "provinces": [ + "hainaut", + "limburg", + "arlon", + "east flanders", + "liege", + "brugge", + "namur", + "charleroi", + "antwerp", + "brussels" + ] + }, + { + "timezone": "america/belize", + "country": "belize", + "iso2": "bz", + "cities": [ + "el cayo", + "corozal", + "dangriga", + "belize city", + "orange walk", + "punta gorda", + "belmopan" + ], + "provinces": [ + "cayo", + "corozal", + "stann creek", + "belize", + "orange walk", + "toledo" + ] + }, + { + "timezone": "africa/porto-novo", + "country": "benin", + "iso2": "bj", + "cities": [ + "lokossa", + "kandi", + "ouidah", + "abomey", + "natitingou", + "djougou", + "parakou", + "porto-novo", + "cotonou" + ], + "provinces": [ + "mono", + "alibori", + "atlantique", + "zou", + "atakora", + "donga", + "borgou", + "ouémé" + ] + }, + { + "timezone": "atlantic/bermuda", + "country": "bermuda", + "iso2": "bm", + "cities": [ + "hamilton" + ], + "provinces": [] + }, + { + "timezone": "asia/thimphu", + "country": "bhutan", + "iso2": "bt", + "cities": [ + "paro", + "punakha", + "wangdue prodrang", + "thimphu" + ], + "provinces": [ + "thimphu", + "punakha", + "wangdi phodrang" + ] + }, + { + "timezone": "america/la_paz", + "country": "bolivia", + "iso2": "bo", + "cities": [ + "punata", + "cliza", + "quillacollo", + "puerto villarroel", + "tarabuco", + "guayaramerin", + "santa ana", + "baures", + "sica sica", + "rurrenabaque", + "sorata", + "achacachi", + "viacha", + "quime", + "llallagua", + "uncia", + "uyuni", + "villa martin", + "betanzos", + "portachuelo", + "samaipata", + "cuevo", + "san carlos", + "san lorenzo", + "entre rios", + "aiquile", + "padilla", + "camargo", + "reyes", + "san borja", + "magdalena", + "san ramon", + "charana", + "puerto acosta", + "apolo", + "coroico", + "coro coro", + "sabaya", + "challapata", + "llica", + "potosi", + "villazon", + "tupiza", + "montero", + "piso firme", + "robore", + "puerto quijarro", + "san ignacio", + "ascension", + "san javier", + "san rafael", + "vallegrande", + "puerto suarez", + "charagua", + "villamontes", + "bermejo", + "cochabamba", + "oruro", + "camiri", + "san matias", + "san jose", + "trinidad", + "tarija", + "sucre", + "riberalta", + "la paz", + "santa cruz", + "guajara-miram" + ], + "provinces": [ + "cochabamba", + "chuquisaca", + "el beni", + "la paz", + "potosí", + "santa cruz", + "tarija", + "oruro", + "rondônia" + ] + }, + { + "timezone": "america/lima", + "country": "bolivia", + "iso2": "bo", + "cities": [ + "puerto heath", + "ferrenafe", + "motupe", + "mollendo", + "urubamba", + "santo tomas", + "putina", + "casma", + "tournavista", + "huamachuco", + "otuzco", + "lamas", + "nauta", + "puquio", + "chosica", + "satipo", + "tarma", + "la oroya", + "huaura", + "huacho", + "pimentel", + "olmos", + "sechura", + "chulucanas", + "sullana", + "abancay", + "camana", + "sicuani", + "puno", + "ayaviri", + "ilave", + "desaguadero", + "huarmey", + "cajabamba", + "jaen", + "chota", + "tingo maria", + "moyobamba", + "juanjui", + "tocache", + "chachapoyas", + "caballococha", + "puca urco", + "andoas", + "soldado bartra", + "requena", + "huanta", + "coracora", + "chincha alta", + "santiago", + "san ramon", + "junin", + "jauja", + "pativilca", + "chancay", + "chilca", + "chiclayo", + "juliaca", + "cerro de pasco", + "tarapoto", + "ayacucho", + "callao", + "paita", + "talara", + "tumbes", + "puerto maldonado", + "ilo", + "moquegua", + "huaraz", + "cajamarca", + "huanuco", + "pacasmayo", + "salaverry", + "gueppi", + "contamana", + "huancavelica", + "pisco", + "nasca", + "piura", + "arequipa", + "chimbote", + "pucallpa", + "iquitos", + "huancayo", + "cusco", + "tacna", + "trujillo", + "ica", + "lima" + ], + "provinces": [ + "la paz", + "lambayeque", + "arequipa", + "cusco", + "callao", + "ancash", + "huánuco", + "la libertad", + "san martín", + "loreto", + "ayacucho", + "lima", + "junín", + "piura", + "apurímac", + "cajamarca", + "amazonas", + "ica", + "pasco", + "tumbes", + "madre de dios", + "moquegua", + "huancavelica", + "ucayali", + "tacna" + ] + }, + { + "timezone": "america/rio_branco", + "country": "bolivia", + "iso2": "bo", + "cities": [ + "cobija", + "sena madureira", + "rio branco", + "cruzeiro do sul" + ], + "provinces": [ + "pando", + "acre" + ] + }, + { + "timezone": "europe/sarajevo", + "country": "bosnia and herzegovina", + "iso2": "ba", + "cities": [ + "zenica", + "mostar", + "tuzla", + "prijedor", + "banja luka", + "sarajevo" + ], + "provinces": [ + "zenica-doboj", + "herzegovina-neretva", + "tuzla", + "serbian republic", + "sarajevo" + ] + }, + { + "timezone": "africa/gaborone", + "country": "botswana", + "iso2": "bw", + "cities": [ + "mochudi", + "ghanzi", + "lokhwabe", + "lehututu", + "tshabong", + "tsau", + "nokaneng", + "mohembo", + "maun", + "kasane", + "nata", + "mopipi", + "palapye", + "lobatse", + "kanye", + "molepolole", + "francistown", + "mahalapye", + "serowe", + "gaborone" + ], + "provinces": [ + "kgatleng", + "ghanzi", + "kgalagadi", + "north-west", + "central", + "south-east", + "southern", + "kweneng" + ] + }, + { + "timezone": "america/fortaleza", + "country": "brazil", + "iso2": "br", + "cities": [ + "grajau", + "presidente dutra", + "itapecuru mirim", + "sao jose de ribamar", + "santa ines", + "rosario", + "timon", + "camocim", + "russas", + "sobral", + "iguatu", + "quixada", + "caninde", + "campo maior", + "barras", + "apodi", + "santa cruz", + "pedreiras", + "codo", + "coroata", + "chapadinha", + "pinheiro", + "barra do corda", + "viana", + "colinas", + "granja", + "crato", + "itapipoca", + "paracuru", + "acarau", + "taua", + "crateus", + "baturite", + "ipu", + "floriano", + "piripiri", + "patos", + "nova cruz", + "caico", + "acu", + "bacabal", + "juazeiro do norte", + "joao pessoa", + "campina grande", + "imperatriz", + "balsas", + "aracati", + "ico", + "parnaiba", + "picos", + "mossoro", + "sao luis", + "teresina", + "natal", + "caxias", + "fortaleza" + ], + "provinces": [ + "maranhão", + "ceará", + "piauí", + "rio grande do norte", + "paraíba" + ] + }, + { + "timezone": "america/belem", + "country": "brazil", + "iso2": "br", + "cities": [ + "capanema", + "portel", + "itupiranga", + "viseu", + "capitao poco", + "castanhal", + "salinopolis", + "xinguara", + "jacunda", + "paragominas", + "cameta", + "porto santana", + "braganca", + "breves", + "tucurui", + "conceicao do araguaia", + "abaetetuba", + "amapa", + "vila velha", + "maraba", + "macapa", + "belem" + ], + "provinces": [ + "pará", + "amapá" + ] + }, + { + "timezone": "america/porto_velho", + "country": "brazil", + "iso2": "br", + "cities": [ + "pimenta bueno", + "rolim de moura", + "ariquemes", + "abuna", + "principe da beira", + "porto velho", + "vilhena", + "ji-parana" + ], + "provinces": [ + "rondônia" + ] + }, + { + "timezone": "america/campo_grande", + "country": "brazil", + "iso2": "br", + "cities": [ + "ponta pora", + "maracaju", + "jardim", + "tres lagoas", + "aquidauana", + "paranaiba", + "dourados", + "corumba", + "campo grande" + ], + "provinces": [ + "mato grosso do sul" + ] + }, + { + "timezone": "america/sao_paulo", + "country": "brazil", + "iso2": "br", + "cities": [ + "guanhaes", + "leopoldina", + "nova lima", + "pouso alegre", + "itauna", + "caratinga", + "diamantina", + "nanuque", + "barbacena", + "pocos de caldas", + "guaxupe", + "sao joao del rei", + "muriae", + "passos", + "conselheiro lafaiete", + "formiga", + "frutal", + "iturama", + "ituiutaba", + "araguari", + "almenara", + "santana do livramento", + "canoas", + "quarai", + "santa vitoria do palmar", + "sao lourenco do sul", + "canela", + "sao gabriel", + "rosario do sul", + "cachoeira do sul", + "osorio", + "santa cruz do sul", + "sao luiz gonzaga", + "santo angelo", + "carazinho", + "erechim", + "guaira", + "palmas", + "arapongas", + "paranagua", + "sao jose dos pinhais", + "guarapuava", + "rio negro", + "apucarana", + "lapa", + "irati", + "castro", + "telemaco borba", + "jacarezinho", + "concordia", + "blumenau", + "brusque", + "ararangua", + "jaragua do sul", + "tubarao", + "laguna", + "joacaba", + "cacador", + "canoinhas", + "cachoeiro de itapemirim", + "barra mansa", + "nova iguacu", + "duque de caxias", + "niteroi", + "cabo frio", + "macae", + "miracema", + "morrinhos", + "ceres", + "catalao", + "cristalina", + "trindade", + "ipora", + "inhumas", + "itaberai", + "santo andre", + "pindamonhangaba", + "rio claro", + "ourinhos", + "itanhaem", + "jaboticabal", + "braganca paulista", + "jundiai", + "sao jose dos campos", + "guaratingueta", + "pirassununga", + "americana", + "piracicaba", + "sao joao da boa vista", + "sao carlos", + "tupa", + "penapolis", + "presidente prudente", + "registro", + "tatui", + "avare", + "garca", + "catanduva", + "batatais", + "barretos", + "marilia", + "itu", + "itapetininga", + "sete lagoas", + "divinopolis", + "ipatinga", + "araxa", + "lavras", + "uba", + "campo belo", + "ponte nova", + "curvelo", + "paracatu", + "bocaiuva", + "aracuai", + "janauba", + "uruguaiana", + "sao borja", + "novo hamburgo", + "rio grande", + "camaqua", + "bento goncalves", + "vacaria", + "ijui", + "santa rosa", + "maringa", + "cascavel", + "campo murao", + "foz do iguacu", + "sao francisco do sul", + "porto uniao", + "itajai", + "imbituba", + "lajes", + "sao mateus", + "volta redonda", + "petropolis", + "rio verde", + "pires do rio", + "anapolis", + "goianesia", + "niquelandia", + "itumbiara", + "jatai", + "mineiros", + "formosa", + "sao jose do rio preto", + "limeira", + "taubate", + "jau", + "assis", + "itapeva", + "botucatu", + "novo horizonte", + "andradina", + "fernandopolis", + "governador valadares", + "pirapora", + "juiz de fora", + "santa maria", + "passo fundo", + "xapeco", + "joinville", + "vitoria", + "nova friburgo", + "aracatuba", + "teofilo otoni", + "uberaba", + "januaria", + "jaguarao", + "bage", + "londrina", + "criciuma", + "linhares", + "campos", + "santos", + "bauru", + "iguape", + "franca", + "belo horizonte", + "montes claros", + "uberlandia", + "pelotas", + "caxias do sul", + "ponta grossa", + "vila velha", + "campinas", + "sorocaba", + "ribeirao preto", + "florianopolis", + "brasilia", + "porto alegre", + "curitiba", + "goiania", + "rio de janeiro", + "sao paulo" + ], + "provinces": [ + "minas gerais", + "rio grande do sul", + "paraná", + "santa catarina", + "espírito santo", + "rio de janeiro", + "goiás", + "são paulo", + "distrito federal" + ] + }, + { + "timezone": "america/cuiaba", + "country": "brazil", + "iso2": "br", + "cities": [ + "varzea grande", + "caceres", + "juina", + "barra do garcas", + "pontes e lacerda", + "barra do bugres", + "rondonopolis", + "mato grosso", + "aripuana", + "sinop", + "colider", + "alta floresta", + "cuiaba" + ], + "provinces": [ + "mato grosso" + ] + }, + { + "timezone": "america/maceio", + "country": "brazil", + "iso2": "br", + "cities": [ + "rio largo", + "palmeira dos indios", + "penedo", + "estancia", + "arapiraca", + "aracaju", + "maceio" + ], + "provinces": [ + "alagoas", + "sergipe" + ] + }, + { + "timezone": "america/bahia", + "country": "brazil", + "iso2": "br", + "cities": [ + "santa cruz cabralia", + "paulo afonso", + "brumado", + "jaguaquara", + "itapetinga", + "ubaitaba", + "itabuna", + "itamaraju", + "guanambi", + "porto seguro", + "valenca", + "serrinha", + "tucano", + "senhor do bonfim", + "remanso", + "itambe", + "bom jesus da lapa", + "itaberaba", + "nova vicosa", + "alagoinhas", + "juazeiro", + "jequie", + "ilheus", + "canavieiras", + "santa maria da vitoria", + "irece", + "xique-xique", + "vitoria da conquista", + "barreiras", + "feira de santana", + "salvador" + ], + "provinces": [ + "bahia" + ] + }, + { + "timezone": "america/recife", + "country": "brazil", + "iso2": "br", + "cities": [ + "jaboatao", + "olinda", + "cabo de santo agostinho", + "carpina", + "arcoverde", + "barreiros", + "salgueiro", + "goiana", + "timbauba", + "garanhuns", + "caruaru", + "petrolina", + "recife" + ], + "provinces": [ + "pernambuco" + ] + }, + { + "timezone": "america/manaus", + "country": "brazil", + "iso2": "br", + "cities": [ + "manacapuru", + "maues", + "fonte boa", + "manicore", + "barcelos", + "tonantins", + "tefe", + "coari", + "sao cabriel da cachoeira", + "novo airao", + "itacoatiara", + "parintins", + "natal", + "crato", + "manaus" + ], + "provinces": [ + "amazonas" + ] + }, + { + "timezone": "america/santarem", + "country": "brazil", + "iso2": "br", + "cities": [ + "alenquer", + "oriximina", + "uruara", + "altamira", + "obidos", + "jacareacanga", + "itaituba", + "laranjal do jari", + "santarem" + ], + "provinces": [ + "pará", + "amapá" + ] + }, + { + "timezone": "america/araguaina", + "country": "brazil", + "iso2": "br", + "cities": [ + "tocantinopolis", + "gurupi", + "porto nacional", + "araguaina", + "palmas", + "alvorada" + ], + "provinces": [ + "tocantins" + ] + }, + { + "timezone": "america/boa_vista", + "country": "brazil", + "iso2": "br", + "cities": [ + "caracarai", + "boa vista" + ], + "provinces": [ + "roraima" + ] + }, + { + "timezone": "america/eirunepe", + "country": "brazil", + "iso2": "br", + "cities": [ + "eirunepe" + ], + "provinces": [ + "amazonas" + ] + }, + { + "timezone": "asia/brunei", + "country": "brunei", + "iso2": "bn", + "cities": [ + "bandar seri begawan" + ], + "provinces": [ + "brunei and muara" + ] + }, + { + "timezone": "europe/sofia", + "country": "bulgaria", + "iso2": "bg", + "cities": [ + "lovec", + "montana", + "razgrad", + "sliven", + "plovdiv", + "pernik", + "vratsa", + "shumen", + "khaskovo", + "stara zagora", + "pleven", + "turnovo", + "kyustendil", + "dobrich", + "varna", + "ruse", + "burgas", + "sofia" + ], + "provinces": [ + "lovech", + "montana", + "razgrad", + "sliven", + "plovdiv", + "pernik", + "vratsa", + "shumen", + "haskovo", + "stara zagora", + "pleven", + "veliko tarnovo", + "kyustendil", + "dobrich", + "varna", + "ruse", + "burgas", + "grad sofiya" + ] + }, + { + "timezone": "africa/ouagadougou", + "country": "burkina faso", + "iso2": "bf", + "cities": [ + "fada ngourma", + "orodara", + "solenzo", + "nouna", + "dedougou", + "gorom gorom", + "djibo", + "tougan", + "kombissiri", + "ziniare", + "yako", + "reo", + "leo", + "sapouy", + "boulsa", + "zorgo", + "koupela", + "po", + "manga", + "diebougou", + "gaoua", + "bogande", + "dori", + "sebba", + "diapaga", + "koudougou", + "ouahigouya", + "kaya", + "tenkodogo", + "banfora", + "bobo dioulasso", + "ouagadougou" + ], + "provinces": [ + "gourma", + "kénédougou", + "banwa", + "kossi", + "mou houn", + "oudalan", + "soum", + "sourou", + "bazéga", + "oubritenga", + "passoré", + "sanguié", + "sissili", + "ziro", + "namentenga", + "ganzourgou", + "kouritenga", + "nahouri", + "zoundwéogo", + "bougouriba", + "poni", + "gnagna", + "séno", + "yagha", + "tapoa", + "boulkiemdé", + "yatenga", + "sanmatenga", + "boulgou", + "komoé", + "houet", + "kadiogo" + ] + }, + { + "timezone": "africa/bujumbura", + "country": "burundi", + "iso2": "bi", + "cities": [ + "cankuzo", + "karusi", + "rutana", + "ruyigi", + "bubanza", + "kayanza", + "makamba", + "ngozi", + "kirundo", + "muramvya", + "bururi", + "muyinga", + "gitega", + "bujumbura" + ], + "provinces": [ + "cankuzo", + "karuzi", + "rutana", + "ruyigi", + "bubanza", + "kayanza", + "makamba", + "ngozi", + "kirundo", + "muramvya", + "bururi", + "muyinga", + "bujumbura mairie" + ] + }, + { + "timezone": "asia/phnom_penh", + "country": "cambodia", + "iso2": "kh", + "cities": [ + "kampong spoe", + "kampong thum", + "prey veng", + "phnum tbeng meanchey", + "stoeng treng", + "kracheh", + "senmonorom", + "lumphat", + "svay rieng", + "sisophon", + "krong koh kong", + "pursat", + "kampong cham", + "kompong chhnang", + "kampot", + "takeo", + "battambang", + "siem reap", + "phnom penh" + ], + "provinces": [ + "kâmpóng spœ", + "kâmpóng thum", + "prey vêng", + "preah vihéar", + "stœng trêng", + "krâchéh", + "môndól kiri", + "rôtânôkiri", + "svay rieng", + "bântéay méanchey", + "kaôh kong", + "pouthisat", + "kâmpóng cham", + "kâmpóng chhnang", + "kâmpôt", + "takêv", + "batdâmbâng", + "siemréab", + "phnom penh" + ] + }, + { + "timezone": "africa/douala", + "country": "cameroon", + "iso2": "cm", + "cities": [ + "buea", + "bafang", + "foumban", + "bafoussam", + "kumba", + "eyumojok", + "limbe", + "kribi", + "nkongsamba", + "edea", + "wum", + "kumbo", + "bafia", + "mbalmayo", + "eseka", + "bertoua", + "abong mbang", + "batouri", + "belabo", + "meiganga", + "ngaoundere", + "tibati", + "kontcha", + "guider", + "mbe", + "douala", + "ebolowa", + "bamenda", + "garoua", + "maroua", + "yaounde" + ], + "provinces": [ + "sud-ouest", + "ouest", + "sud", + "littoral", + "nord-ouest", + "centre", + "est", + "adamaoua", + "nord", + "extrême-nord" + ] + }, + { + "timezone": "america/winnipeg", + "country": "canada", + "iso2": "ca", + "cities": [ + "selkirk", + "berens river", + "pukatawagan", + "gimli", + "island lake", + "big beaver house", + "steinbach", + "nelson house", + "shamattawa", + "oxford house", + "sioux lookout", + "red lake", + "deer lake", + "cat lake", + "brochet", + "lynn lake", + "gillam", + "dryden", + "norway house", + "flin flon", + "dauphin", + "the pas", + "kenora", + "thompson", + "brandon", + "winnipeg", + "churchill" + ], + "provinces": [ + "manitoba", + "ontario" + ] + }, + { + "timezone": "america/regina", + "country": "canada", + "iso2": "ca", + "cities": [ + "melville", + "weyburn", + "la ronge", + "stony rapids", + "yorkton", + "swift current", + "biggar", + "kindersley", + "meadow lake", + "hudson bay", + "north battleford", + "prince albert", + "uranium city", + "moose jaw", + "regina", + "saskatoon" + ], + "provinces": [ + "saskatchewan" + ] + }, + { + "timezone": "america/edmonton", + "country": "canada", + "iso2": "ca", + "cities": [ + "camrose", + "hinton", + "vegreville", + "stettler", + "lac la biche", + "wetaskiwin", + "meander river", + "cranbrook", + "lethbridge", + "brooks", + "lake louise", + "athabasca", + "fort chipewyan", + "jasper", + "medicine hat", + "red deer", + "banff", + "grand prairie", + "fort mcmurray", + "peace river", + "calgary", + "edmonton" + ], + "provinces": [ + "alberta", + "british columbia" + ] + }, + { + "timezone": "america/creston", + "country": "canada", + "iso2": "ca", + "cities": [ + "creston" + ], + "provinces": [ + "british columbia" + ] + }, + { + "timezone": "america/vancouver", + "country": "canada", + "iso2": "ca", + "cities": [ + "terrace", + "chilliwack", + "tofino", + "bella bella", + "sandspit", + "campbell river", + "port hardy", + "nanaimo", + "quesnel", + "abbotsford", + "penticton", + "nelson", + "lillooet", + "powell river", + "revelstoke", + "burns lake", + "dease lake", + "courtenay", + "kelowna", + "smithers", + "kamloops", + "williams lake", + "prince george", + "prince rupert", + "victoria", + "vancouver" + ], + "provinces": [ + "british columbia" + ] + }, + { + "timezone": "america/iqaluit", + "country": "canada", + "iso2": "ca", + "cities": [ + "hall beach", + "pond inlet", + "cape dorset", + "kimmirut", + "grise fiord", + "iqaluit", + "igloolik" + ], + "provinces": [ + "nunavut" + ] + }, + { + "timezone": "america/yellowknife", + "country": "canada", + "iso2": "ca", + "cities": [ + "lutselke", + "hay river", + "deline", + "paulatuk", + "tsiigehtchic", + "norman wells", + "fort mcpherson", + "holman", + "fort resolution", + "fort simpson", + "tuktoyaktuk", + "fort smith", + "yellowknife", + "fort good hope" + ], + "provinces": [ + "northwest territories", + "alberta" + ] + }, + { + "timezone": "america/toronto", + "country": "canada", + "iso2": "ca", + "cities": [ + "owen sound", + "orillia", + "kapuskasing", + "thessalon", + "geraldton", + "belleville", + "sarnia", + "peterborough", + "oshawa", + "london", + "kitchener", + "new liskeard", + "brockville", + "orangeville", + "little current", + "chapleau", + "wawa", + "hearst", + "marathon", + "cornwall", + "kingston", + "barrie", + "parry sound", + "wiarton", + "cobalt", + "cochrane", + "attawapiskat", + "hamilton", + "lansdowne house", + "moosonee", + "sudbury", + "timmins", + "north bay", + "ottawa", + "fort severn", + "toronto" + ], + "provinces": [ + "ontario" + ] + }, + { + "timezone": "america/montreal", + "country": "canada", + "iso2": "ca", + "cities": [ + "port-menier", + "riviere-du-loup", + "drummondville", + "sherbrooke", + "cap-chat", + "baie-comeau", + "natashquan", + "eastmain", + "schefferville", + "salluit", + "amos", + "joliette", + "st.-jerome", + "rouyn-noranda", + "la sarre", + "rimouski", + "saint-georges", + "victoriaville", + "mistassini", + "kangirsuk", + "shawinigan", + "matagami", + "mont-laurier", + "pembroke", + "radisson", + "trois rivieres", + "sept-iles", + "gaspe", + "mingan", + "dolbeau", + "val d'or", + "ivugivik", + "inukjuak", + "chicoutimi", + "kuujjuarapik", + "kuujjuaq", + "quebec", + "montréal" + ], + "provinces": [ + "québec" + ] + }, + { + "timezone": "america/blanc-sablon", + "country": "canada", + "iso2": "ca", + "cities": [ + "st-augustin", + "chevery" + ], + "provinces": [ + "québec" + ] + }, + { + "timezone": "america/halifax", + "country": "canada", + "iso2": "ca", + "cities": [ + "new glasgow", + "liverpool", + "amherst", + "baddeck", + "shelburne", + "antigonish", + "windsor", + "digby", + "yarmouth", + "halifax", + "charlottetown" + ], + "provinces": [ + "nova scotia", + "prince edward island" + ] + }, + { + "timezone": "america/st_johns", + "country": "canada", + "iso2": "ca", + "cities": [ + "deer lake", + "la scie", + "port hope simpson", + "stephenville", + "argentia", + "st. anthony", + "channel-port aux basques", + "buchans", + "trout river", + "forteau", + "trepassey", + "corner brook", + "gander", + "st. john's" + ], + "provinces": [ + "newfoundland and labrador" + ] + }, + { + "timezone": "america/goose_bay", + "country": "canada", + "iso2": "ca", + "cities": [ + "hopedale", + "happy valley - goose bay", + "churchill falls", + "cartwright", + "rigolet", + "port burwell", + "labrador city", + "nain" + ], + "provinces": [ + "newfoundland and labrador" + ] + }, + { + "timezone": "america/dawson_creek", + "country": "canada", + "iso2": "ca", + "cities": [ + "dawson creek" + ], + "provinces": [ + "british columbia" + ] + }, + { + "timezone": "america/coral_harbour", + "country": "canada", + "iso2": "ca", + "cities": [ + "coral harbour" + ], + "provinces": [ + "nunavut" + ] + }, + { + "timezone": "america/rankin_inlet", + "country": "canada", + "iso2": "ca", + "cities": [ + "baker lake", + "ennadai", + "rankin inlet", + "chesterfield inlet", + "arviat", + "arctic bay", + "repulse bay" + ], + "provinces": [ + "nunavut" + ] + }, + { + "timezone": "america/whitehorse", + "country": "canada", + "iso2": "ca", + "cities": [ + "burwash landing", + "watson lake", + "whitehorse" + ], + "provinces": [ + "yukon" + ] + }, + { + "timezone": "america/nipigon", + "country": "canada", + "iso2": "ca", + "cities": [ + "nipigon" + ], + "provinces": [ + "ontario" + ] + }, + { + "timezone": "america/atikokan", + "country": "canada", + "iso2": "ca", + "cities": [ + "atikokan" + ], + "provinces": [ + "ontario" + ] + }, + { + "timezone": "america/moncton", + "country": "canada", + "iso2": "ca", + "cities": [ + "saint john", + "edmundston", + "moncton", + "fredericton", + "bathurst" + ], + "provinces": [ + "new brunswick" + ] + }, + { + "timezone": "america/pangnirtung", + "country": "canada", + "iso2": "ca", + "cities": [ + "pangnirtung", + "alert" + ], + "provinces": [ + "nunavut" + ] + }, + { + "timezone": "america/detroit", + "country": "canada", + "iso2": "ca", + "cities": [ + "windsor", + "benton harbor", + "battle creek", + "bay city", + "alpena", + "ann arbor", + "kalamazoo", + "muskegon", + "flint", + "grand rapids", + "pontiac", + "cadillac", + "traverse city", + "petoskey", + "escanaba", + "marquette", + "hancock", + "lansing", + "saginaw", + "sault ste. marie", + "detroit" + ], + "provinces": [ + "ontario", + "michigan" + ] + }, + { + "timezone": "america/fort_nelson", + "country": "canada", + "iso2": "ca", + "cities": [ + "fort nelson" + ], + "provinces": [ + "british columbia" + ] + }, + { + "timezone": "america/cambridge_bay", + "country": "canada", + "iso2": "ca", + "cities": [ + "gjoa haven", + "cambridge bay", + "kugluktuk", + "taloyoak" + ], + "provinces": [ + "nunavut" + ] + }, + { + "timezone": "america/inuvik", + "country": "canada", + "iso2": "ca", + "cities": [ + "inuvik" + ], + "provinces": [ + "northwest territories" + ] + }, + { + "timezone": "america/dawson", + "country": "canada", + "iso2": "ca", + "cities": [ + "dawson" + ], + "provinces": [ + "yukon" + ] + }, + { + "timezone": "america/glace_bay", + "country": "canada", + "iso2": "ca", + "cities": [ + "sydney" + ], + "provinces": [ + "nova scotia" + ] + }, + { + "timezone": "america/resolute", + "country": "canada", + "iso2": "ca", + "cities": [ + "resolute" + ], + "provinces": [ + "nunavut" + ] + }, + { + "timezone": "america/thunder_bay", + "country": "canada", + "iso2": "ca", + "cities": [ + "thunder bay" + ], + "provinces": [ + "ontario" + ] + }, + { + "timezone": "atlantic/cape_verde", + "country": "cape verde", + "iso2": "cv", + "cities": [ + "mindelo", + "praia" + ], + "provinces": [] + }, + { + "timezone": "america/cayman", + "country": "cayman islands", + "iso2": "ky", + "cities": [ + "george town" + ], + "provinces": [] + }, + { + "timezone": "africa/bangui", + "country": "central african republic", + "iso2": "cf", + "cities": [ + "mobaye", + "mbaiki", + "carnot", + "bozoum", + "kaga bandoro", + "zemio", + "yakossi", + "nola", + "sibut", + "bossangoa", + "birao", + "ouadda", + "bangassou", + "bossembele", + "berberati", + "bria", + "bouar", + "bambari", + "ndele", + "obo", + "bangui" + ], + "provinces": [ + "basse-kotto", + "lobaye", + "mambéré-kadéï", + "ouham-pendé", + "nana-grébizi", + "haut-mbomou", + "mbomou", + "sangha-mbaéré", + "kémo", + "ouham", + "vakaga", + "haute-kotto", + "bangui", + "nana-mambéré", + "ouaka", + "bamingui-bangoran" + ] + }, + { + "timezone": "africa/ndjamena", + "country": "chad", + "iso2": "td", + "cities": [ + "lai", + "zouar", + "bol", + "ati", + "oum hadjer", + "mongo", + "doba", + "pala", + "bongor", + "kelo", + "fada", + "faya largeau", + "mao", + "biltine", + "sarh", + "am timan", + "moundou", + "ndjamena", + "abeche" + ], + "provinces": [ + "tandjilé", + "bet", + "lac", + "batha", + "guéra", + "logone oriental", + "mayo-kebbi est", + "kanem", + "wadi fira", + "mandoul", + "salamat", + "hadjer-lamis", + "ouaddaï" + ] + }, + { + "timezone": "asia/urumqi", + "country": "china", + "iso2": "cn", + "cities": [ + "yumen", + "gyangze", + "anxi", + "maoming", + "turpan", + "quiemo", + "koktokay", + "jyekundo", + "nagchu", + "nyingchi", + "chamdo", + "korla", + "kuqa", + "tacheng", + "shihezi", + "karamay", + "dunhuang", + "dulan", + "golmud", + "zhanjiang", + "xigaze", + "altay", + "lhasa", + "hami", + "urumqi" + ], + "provinces": [ + "gansu", + "xizang", + "guangdong", + "xinjiang uygur" + ] + }, + { + "timezone": "asia/chongqing", + "country": "china", + "iso2": "cn", + "cities": [ + "linxia", + "dali", + "deyang", + "tengchong", + "mengzi", + "chuxiong", + "shangdu", + "wuchuan", + "hanggin houqi", + "longxi", + "pingliang", + "minxian", + "jinchang", + "guide", + "qinzhou", + "pingxiang", + "yishan", + "beihai", + "hechi", + "tongren", + "fengjie", + "yangjiang", + "hancheng", + "weinan", + "zigong", + "yaan", + "langzhong", + "rongzhag", + "simao", + "wenshan", + "zhanyi", + "huize", + "alxa zuoqi", + "wuyuan", + "bayan obo", + "fengzhen", + "liuzhou", + "xingyi", + "anshun", + "zunyi", + "wanxian", + "sanya", + "haikou", + "hanzhong", + "baoji", + "tongchuan", + "leshan", + "panzhihua", + "fulin", + "guangyuan", + "luzhou", + "yibin", + "zhaotang", + "lijiang", + "yuxi", + "wuhai", + "jining", + "xianyang", + "suining", + "nanchong", + "neijiang", + "zhangye", + "wuwei", + "tianshui", + "yulin", + "bose", + "wuzhou", + "lupanshui", + "shizuishan", + "ankang", + "mianyang", + "xichang", + "baoshan", + "gejiu", + "hohhot", + "jiayuguan", + "xining", + "guilin", + "yinchuan", + "lanzhou", + "nanning", + "guiyang", + "chongqing", + "xian", + "kunming", + "baotou", + "chengdu" + ], + "provinces": [ + "gansu", + "shaanxi", + "sichuan", + "yunnan", + "nei mongol", + "guangxi", + "guizhou", + "chongqing", + "guangdong", + "hainan", + "ningxia hui" + ] + }, + { + "timezone": "asia/shanghai", + "country": "china", + "iso2": "cn", + "cities": [ + "zuozhou", + "sanming", + "huizhou", + "chaozhou", + "yangquan", + "shiyan", + "danjiangkou", + "shashi", + "anlu", + "zixing", + "hengshui", + "xuanhua", + "luohe", + "beipiao", + "wafangdian", + "zhucheng", + "hangu", + "xinyi", + "yangzhou", + "linhai", + "huangyan", + "ergun zuoqi", + "orongen zizhiqi", + "zalantun", + "changping", + "shaowu", + "longyan", + "zhangzhou", + "putian", + "fuan", + "changting", + "nanping", + "ninde", + "jieshou", + "tongling", + "maanshan", + "fuyang", + "meizhou", + "heyuan", + "qingyuan", + "zhaoqing", + "lianxian", + "jiangmen", + "shuozhou", + "xinzhou", + "jincheng", + "jiexiu", + "changzhi", + "guangshui", + "jingmen", + "zicheng", + "shishou", + "xiaogan", + "puqi", + "yunxian", + "jinshi", + "chenzhou", + "zhijiang", + "xiangtan", + "chengde", + "cangzhou", + "baoding", + "hunanghua", + "dingzhou", + "nangong", + "linqing", + "xiangtai", + "puyang", + "hebi", + "xuchang", + "zhoukou", + "dengzhou", + "tieling", + "chaoyang", + "huanren", + "zhuanghe", + "yishui", + "shanxian", + "pingyi", + "pingdu", + "laiwu", + "buizhou", + "liaocheng", + "rizhao", + "dezhou", + "linchuan", + "fengcheng", + "jian", + "shangrao", + "jingdezhen", + "taizhou", + "shuyang", + "lianyungang", + "lishui", + "jiaojing", + "quzhou", + "linxi", + "kailu", + "bairin zuoqi", + "yitulihe", + "yakeshi", + "bugt", + "huaibei", + "wuhu", + "luan", + "bengbu", + "anqing", + "foshan", + "linfen", + "yuci", + "datong", + "jianmen", + "yichang", + "xiantao", + "macheng", + "huangshi", + "zhuzhou", + "yongzhou", + "yiyang", + "changde", + "shaoyang", + "qinhuangdao", + "langfang", + "zhangjiakou", + "tangshan", + "anyang", + "jiaozuo", + "kaifeng", + "shangqiu", + "pingdingshan", + "xinyang", + "xinxiang", + "luoyang", + "liaoyang", + "dandong", + "yingkow", + "jinzhou", + "fuxin", + "benxi", + "fushun", + "jining", + "weifang", + "taian", + "heze", + "laiyang", + "xinyu", + "ganzhou", + "jiujiang", + "changzhou", + "zhenjiang", + "nantong", + "jiaxing", + "huzhou", + "shaoxing", + "jinhua", + "erenhot", + "arxan", + "manzhouli", + "xilinhot", + "xuanzhou", + "zhuhai", + "xiangfan", + "lingyuan", + "weihai", + "yichun", + "yancheng", + "xiamen", + "nanyang", + "jinxi", + "yantai", + "zaozhuang", + "suzhou", + "xuzhou", + "wuxi", + "quanzhou", + "hefei", + "shaoguan", + "houma", + "yueyang", + "hengyang", + "shijianzhuang", + "handan", + "anshan", + "dalian", + "qingdao", + "linyi", + "huaiyin", + "wenzhou", + "ningbo", + "tongliao", + "chifeng", + "ulanhot", + "hailar", + "huainan", + "shantou", + "pingxiang", + "shenzhen", + "zibo", + "fuzhou", + "guangzhou", + "dongguan", + "taiyuan", + "wuhan", + "changsha", + "zhengzhou", + "shenyeng", + "jinan", + "tianjin", + "nanchang", + "nanjing", + "hangzhou", + "beijing", + "shanghai" + ], + "provinces": [ + "beijing", + "fujian", + "guangdong", + "shanxi", + "hubei", + "hunan", + "hebei", + "henan", + "liaoning", + "shandong", + "tianjin", + "jiangsu", + "zhejiang", + "nei mongol", + "anhui", + "jiangxi", + "shanghai" + ] + }, + { + "timezone": "asia/harbin", + "country": "china", + "iso2": "cn", + "cities": [ + "daan", + "changling", + "tonghua", + "baishan", + "yanji", + "anda", + "qinggang", + "angangxi", + "hulan ergi", + "qingan", + "baiquan", + "suileng", + "linkou", + "fuyu", + "dunhua", + "nongan", + "taonan", + "liuhe", + "huinan", + "panshi", + "jiaohe", + "linjiang", + "wangqing", + "helong", + "shulan", + "jiutai", + "suihua", + "shuangyashan", + "shangzhi", + "fujin", + "yian", + "tailai", + "longjiang", + "gannan", + "hailun", + "mishan", + "tieli", + "shuangcheng", + "zhaodong", + "lanxi", + "keshan", + "nancha", + "xinqing", + "hulin", + "boli", + "ningan", + "liaoyuan", + "tumen", + "siping", + "baicheng", + "heihe", + "qitaihe", + "yichun", + "hegang", + "nenjiang", + "nehe", + "mudangiang", + "jilin", + "jiamusi", + "beian", + "daqing", + "jixi", + "qiqihar", + "changchun", + "harbin" + ], + "provinces": [ + "jilin", + "heilongjiang" + ] + }, + { + "timezone": "asia/kashgar", + "country": "china", + "iso2": "cn", + "cities": [ + "gar", + "aksu", + "shache", + "yining", + "hotan", + "kashi" + ], + "provinces": [ + "xizang", + "xinjiang uygur" + ] + }, + { + "timezone": "america/bogota", + "country": "colombia", + "iso2": "co", + "cities": [ + "yopal", + "san andres", + "sonson", + "sogamoso", + "barrancabermeja", + "girardot", + "campoalegre", + "tuquerres", + "mocoa", + "cartago", + "soledad", + "sabanalarga", + "arjona", + "magangue", + "valledupar", + "san jose del guaviare", + "puerto lopez", + "yarumal", + "puerto berrio", + "turbo", + "tunja", + "chiquinquira", + "duitama", + "ayapel", + "lorica", + "socorro", + "riohacha", + "armenia", + "pereira", + "honda", + "san vicente del caguan", + "florencia", + "guapi", + "neiva", + "garzon", + "ipiales", + "buenaventura", + "tulua", + "el carmen de bolivar", + "jurado", + "nuqui", + "quibdo", + "el banco", + "cienaga", + "sincelejo", + "tolu", + "arauca", + "tame", + "pamplona", + "ocana", + "orocue", + "obando", + "san martin", + "puerto carreno", + "bello", + "monteria", + "bucaramanga", + "ibague", + "popayan", + "santa marta", + "cucuta", + "villavicencio", + "tumaco", + "manizales", + "pasto", + "barranquilla", + "cartagena", + "mitu", + "leticia", + "medellin", + "cali", + "bogota" + ], + "provinces": [ + "casanare", + "antioquia", + "boyacá", + "santander", + "cundinamarca", + "huila", + "nariño", + "putumayo", + "valle del cauca", + "atlántico", + "bolívar", + "cesar", + "meta", + "córdoba", + "la guajira", + "quindío", + "risaralda", + "tolima", + "caquetá", + "cauca", + "chocó", + "magdalena", + "sucre", + "arauca", + "norte de santander", + "guainía", + "vichada", + "caldas", + "vaupés", + "amazonas", + "bogota" + ] + }, + { + "timezone": "indian/comoro", + "country": "comoros", + "iso2": "km", + "cities": [ + "moroni" + ], + "provinces": [] + }, + { + "timezone": "africa/brazzaville", + "country": "congo (brazzaville)", + "iso2": "cg", + "cities": [ + "madingou", + "kinkala", + "ewo", + "impfondo", + "sembe", + "moloundou", + "owando", + "makoua", + "sibiti", + "mossendjo", + "loubomo", + "gamboma", + "djambala", + "ouesso", + "kayes", + "pointe-noire", + "brazzaville" + ], + "provinces": [ + "bouenza", + "pool", + "cuvette-ouest", + "likouala", + "sangha", + "cuvette", + "lékoumou", + "niari", + "plateaux", + "kouilou" + ] + }, + { + "timezone": "africa/lubumbashi", + "country": "congo (kinshasa)", + "iso2": "cd", + "cities": [ + "buluko", + "yangambi", + "aketi", + "mongbwalu", + "bafwasende", + "bunia", + "wamba", + "basoko", + "dibaya", + "mweka", + "luebo", + "demba", + "ilebo", + "mwenga", + "kampene", + "kalima", + "lubutu", + "kabinda", + "lubao", + "lusambo", + "gandajika", + "lodja", + "dilolo", + "nyunzu", + "kasaji", + "luanza", + "moba", + "bukama", + "kaniama", + "kipushi", + "kambove", + "kongolo", + "kabalo", + "beni", + "buta", + "watsa", + "isiro", + "bondo", + "tshikapa", + "bukavu", + "uvira", + "kindu", + "mwene-ditu", + "likasi", + "manono", + "kamina", + "kisangani", + "kananga", + "kasongo", + "mbuji-mayi", + "kalemie", + "butembo", + "goma", + "kolwezi", + "lubumbashi" + ], + "provinces": [ + "nord-kivu", + "orientale", + "kasaï-occidental", + "sud-kivu", + "maniema", + "kasaï-oriental", + "katanga" + ] + }, + { + "timezone": "africa/kinshasa", + "country": "congo (kinshasa)", + "iso2": "cd", + "cities": [ + "zongo", + "libenge", + "bongandanga", + "ikela", + "binga", + "basankusu", + "boende", + "gbadolite", + "businga", + "bosobolo", + "kenge", + "bolobo", + "kahemba", + "bulungu", + "lusanga", + "mangai", + "kasongo-lunda", + "mushie", + "moanda", + "kimpese", + "kasangulu", + "mbanza-ngungu", + "tshela", + "lisala", + "gemena", + "inongo", + "boma", + "mbandaka", + "bandundu", + "bumba", + "kikwit", + "matadi", + "kinshasa" + ], + "provinces": [ + "équateur", + "bandundu", + "bas-congo", + "kinshasa city" + ] + }, + { + "timezone": "pacific/rarotonga", + "country": "cook islands", + "iso2": "ck", + "cities": [ + "rarotonga" + ], + "provinces": [] + }, + { + "timezone": "america/costa_rica", + "country": "costa rica", + "iso2": "cr", + "cities": [ + "heredia", + "cartago", + "golfito", + "alajuela", + "canas", + "sixaola", + "puntarenas", + "ciudad cortes", + "quesada", + "liberia", + "la cruz", + "puerto limon", + "san jose" + ], + "provinces": [ + "heredia", + "cartago", + "puntarenas", + "alajuela", + "guanacaste", + "limón", + "san josé" + ] + }, + { + "timezone": "europe/zagreb", + "country": "croatia", + "iso2": "hr", + "cities": [ + "sibenik", + "karlovac", + "rijeka", + "slavonski brod", + "dubrovnik", + "split", + "zadar", + "pula", + "osijek", + "zagreb" + ], + "provinces": [ + "šibensko-kninska", + "karlovacka", + "primorsko-goranska", + "brodsko-posavska", + "dubrovacko-neretvanska", + "splitsko-dalmatinska", + "zadarska", + "istarska", + "osjecko-baranjska", + "grad zagreb" + ] + }, + { + "timezone": "america/havana", + "country": "cuba", + "iso2": "cu", + "cities": [ + "ciego de avila", + "palma soriano", + "san antonio de los banos", + "guines", + "caibarien", + "placetas", + "cienfuegos", + "nueva gerona", + "sancti spiritus", + "moron", + "nuevitas", + "manzanillo", + "bayamo", + "banes", + "las tunas", + "artemisa", + "matanzas", + "colon", + "sagua la grande", + "pinar del rio", + "camaguey", + "guantanamo", + "holguin", + "santa clara", + "santiago de cuba", + "havana" + ], + "provinces": [ + "ciego de ávila", + "santiago de cuba", + "la habana", + "villa clara", + "cienfuegos", + "isla de la juventud", + "sancti spíritus", + "camagüey", + "granma", + "holguín", + "las tunas", + "matanzas", + "pinar del río", + "guantánamo", + "ciudad de la habana" + ] + }, + { + "timezone": "america/curacao", + "country": "curacao", + "iso2": "cw", + "cities": [ + "willemstad" + ], + "provinces": [] + }, + { + "timezone": "asia/nicosia", + "country": "cyprus", + "iso2": "cy", + "cities": [ + "larnaka", + "paphos", + "lemosos", + "nicosia" + ], + "provinces": [ + "larnaca", + "paphos", + "limassol" + ] + }, + { + "timezone": "europe/prague", + "country": "czech republic", + "iso2": "cz", + "cities": [ + "usti nad labem", + "hradec kralove", + "ceske budejovice", + "liberec", + "olomouc", + "pizen", + "jihlava", + "zlin", + "brno", + "pardubice", + "ostrava", + "prague" + ], + "provinces": [ + "liberecký", + "královéhradecký", + "jihoceský", + "moravskoslezský", + "karlovarský", + "kraj vysocina", + "prague" + ] + }, + { + "timezone": "europe/copenhagen", + "country": "denmark", + "iso2": "dk", + "cities": [ + "vejle", + "hillerod", + "soro", + "viborg", + "roskilde", + "svendborg", + "odense", + "esbjerg", + "frederikshavn", + "aalborg", + "aarhus", + "kobenhavn", + "copenhagen" + ], + "provinces": [ + "syddanmark", + "hovedstaden", + "sjaælland", + "midtjylland", + "nordjylland" + ] + }, + { + "timezone": "africa/djibouti", + "country": "djibouti", + "iso2": "dj", + "cities": [ + "dikhil", + "tadjoura", + "ali sabih", + "obock", + "djibouti" + ], + "provinces": [ + "dikhil", + "tadjourah", + "ali sabieh", + "obock", + "djibouti" + ] + }, + { + "timezone": "america/dominica", + "country": "dominica", + "iso2": "dm", + "cities": [ + "roseau" + ], + "provinces": [ + "saint george" + ] + }, + { + "timezone": "america/santo_domingo", + "country": "dominican republic", + "iso2": "do", + "cities": [ + "sabaneta", + "mao", + "cotui", + "puerto plata", + "dajabon", + "moca", + "salcedo", + "jimani", + "elias pina", + "pedernales", + "azua", + "bonao", + "bani", + "hato mayor", + "monte plata", + "nagua", + "samana", + "san cristobal", + "el seibo", + "higuey", + "neiba", + "la vega", + "san francisco de macoris", + "san pedro de macoris", + "monte cristi", + "barahona", + "bavaro", + "la romana", + "san juan", + "santiago", + "santo domingo" + ], + "provinces": [ + "santiago rodríguez", + "valverde", + "sánchez ramírez", + "puerto plata", + "dajabón", + "espaillat", + "hermanas", + "independencia", + "elias pina", + "pedernales", + "azua", + "monseñor nouel", + "peravia", + "hato mayor", + "monte plata", + "maría trinidad sánchez", + "samaná", + "san cristóbal", + "el seybo", + "la altagracia", + "bahoruco", + "la vega", + "duarte", + "san pedro de macorís", + "monte cristi", + "barahona", + "la romana", + "san juan", + "santiago", + "distrito nacional" + ] + }, + { + "timezone": "asia/dili", + "country": "east timor", + "iso2": "tl", + "cities": [ + "dili" + ], + "provinces": [ + "dili" + ] + }, + { + "timezone": "america/guayaquil", + "country": "ecuador", + "iso2": "ec", + "cities": [ + "puyo", + "tulcan", + "pinas", + "guaranda", + "azogues", + "salinas", + "alausi", + "sangolqui", + "muisne", + "san gabriel", + "macara", + "zamora", + "latacunga", + "milagro", + "babahoyo", + "chone", + "jipijapa", + "yaupi", + "macas", + "cayambe", + "ambato", + "tena", + "valdez", + "san lorenzo", + "esmeraldas", + "ibarra", + "portoviejo", + "machala", + "loja", + "manta", + "riobamba", + "cuenca", + "quito", + "guayaquil", + "nuevo rocafuerte" + ], + "provinces": [ + "pastaza", + "carchi", + "el oro", + "bolivar", + "cañar", + "guayas", + "chimborazo", + "pichincha", + "esmeraldas", + "loja", + "zamora chinchipe", + "cotopaxi", + "los rios", + "manabi", + "morona santiago", + "napo", + "tungurahua", + "imbabura", + "azuay", + "loreto" + ] + }, + { + "timezone": "pacific/galapagos", + "country": "ecuador", + "iso2": "ec", + "cities": [ + "puerto villamil", + "puerto baquerizo moreno", + "santa cruz" + ], + "provinces": [ + "galápagos" + ] + }, + { + "timezone": "africa/cairo", + "country": "egypt", + "iso2": "eg", + "cities": [ + "shibin el kom", + "benha", + "zagazig", + "kafr el sheikh", + "tanta", + "ismailia", + "el mansura", + "dumyat", + "matruh", + "el alamein", + "el daba", + "salum", + "damanhur", + "samalut", + "mallawi", + "beni mazar", + "beni suef", + "rashid", + "qasr farafra", + "el qasr", + "isna", + "qena", + "girga", + "sohag", + "berenice", + "bur safaga", + "el tur", + "el arish", + "el giza", + "siwa", + "el minya", + "kom ombo", + "el kharga", + "hurghada", + "suez", + "bur said", + "el faiyum", + "aswan", + "asyut", + "luxor", + "alexandria", + "cairo" + ], + "provinces": [ + "al minufiyah", + "al qalyubiyah", + "ash sharqiyah", + "kafr ash shaykh", + "al gharbiyah", + "al isma`iliyah", + "ad daqahliyah", + "dumyat", + "matruh", + "al buhayrah", + "al minya", + "bani suwayf", + "al wadi at jadid", + "qina", + "suhaj", + "al bahr al ahmar", + "janub sina'", + "shamal sina'", + "al jizah", + "aswan", + "as suways", + "bur sa`id", + "al fayyum", + "asyut", + "al iskandariyah", + "al qahirah" + ] + }, + { + "timezone": "america/el_salvador", + "country": "el salvador", + "iso2": "sv", + "cities": [ + "ahuachapan", + "cojutepeque", + "nueva san salvador", + "zacatecoluca", + "la union", + "san francisco gotera", + "san vicente", + "usulutan", + "chalatenango", + "sensuntepeque", + "sonsonate", + "san miguel", + "santa ana", + "san salvador" + ], + "provinces": [ + "ahuachapán", + "cuscatlán", + "la libertad", + "la paz", + "la unión", + "morazán", + "san vicente", + "usulután", + "chalatenango", + "cabañas", + "sonsonate", + "san miguel", + "santa ana", + "san salvador" + ] + }, + { + "timezone": "africa/malabo", + "country": "equatorial guinea", + "iso2": "gq", + "cities": [ + "evinayong", + "luba", + "calatrava", + "mongomo", + "bata", + "malabo", + "ebebiyin" + ], + "provinces": [ + "centro sur", + "bioko sur", + "litoral", + "wele-nzás", + "bioko norte", + "wouleu-ntem" + ] + }, + { + "timezone": "africa/asmara", + "country": "eritrea", + "iso2": "er", + "cities": [ + "tessenei", + "agordat", + "massawa", + "keren", + "adi ugri", + "assab", + "asmara" + ], + "provinces": [ + "gash barka", + "debub", + "semenawi keyih bahri", + "maekel", + "debubawi keyih bahri", + "anseba" + ] + }, + { + "timezone": "europe/tallinn", + "country": "estonia", + "iso2": "ee", + "cities": [ + "haapsalu", + "viljandi", + "kohtla-jarve", + "narva", + "tartu", + "parnu", + "tallinn" + ], + "provinces": [ + "lääne", + "viljandi", + "ida-viru", + "tartu", + "pärnu", + "harju" + ] + }, + { + "timezone": "africa/addis_ababa", + "country": "ethiopia", + "iso2": "et", + "cities": [ + "awasa", + "gore", + "debre birhan", + "bati", + "adigrat", + "aksum", + "yirga alem", + "hosaina", + "dila", + "giyon", + "hagere hiywet", + "nekemte", + "asela", + "shashemene", + "dembi dolo", + "gimbi", + "asosa", + "jijiga", + "debre markos", + "dese", + "sodo", + "arba minch", + "harar", + "goba", + "jima", + "nazret", + "nagele", + "gode", + "dolo bay", + "bahir dar", + "mekele", + "dire dawa", + "gonder", + "addis ababa" + ], + "provinces": [ + "southern nations, nationalities and peoples", + "addis ababa", + "amhara", + "tigray", + "benshangul-gumaz", + "somali", + "harari", + "dire dawa" + ] + }, + { + "timezone": "atlantic/stanley", + "country": "falkland islands", + "iso2": "fk", + "cities": [ + "fox bay", + "stanley" + ], + "provinces": [] + }, + { + "timezone": "atlantic/faroe", + "country": "faroe islands", + "iso2": "fo", + "cities": [ + "klaksvik", + "torshavn" + ], + "provinces": [ + "eysturoyar" + ] + }, + { + "timezone": "pacific/pohnpei", + "country": "federated states of micronesia", + "iso2": "fm", + "cities": [ + "palikir" + ], + "provinces": [] + }, + { + "timezone": "pacific/fiji", + "country": "fiji", + "iso2": "fj", + "cities": [ + "nandi", + "lautoka", + "labasa", + "suva" + ], + "provinces": [ + "western", + "central" + ] + }, + { + "timezone": "europe/helsinki", + "country": "finland", + "iso2": "fi", + "cities": [ + "hameenlinna", + "kouvola", + "mikkeli", + "savonlinna", + "pori", + "sodankyla", + "jyvaskyla", + "kuopio", + "lappeenranta", + "porvoo", + "kemijarvi", + "kokkola", + "lahti", + "joensuu", + "turku", + "kemi", + "oulu", + "rovaniemi", + "vaasa", + "tampere", + "helsinki" + ], + "provinces": [ + "tavastia proper", + "southern finland", + "southern savonia", + "satakunta", + "lapland", + "central finland", + "eastern finland", + "south karelia", + "eastern uusimaa", + "western finland", + "päijänne tavastia", + "north karelia", + "finland proper", + "northern ostrobothnia", + "pirkanmaa" + ] + }, + { + "timezone": "europe/paris", + "country": "france", + "iso2": "fr", + "cities": [ + "annecy", + "roanne", + "st.-brieuc", + "poitier", + "angers", + "biarritz", + "aix-en-provence", + "perpignan", + "tarbes", + "clermont-ferrand", + "melun", + "arras", + "besancon", + "saint-etienne", + "grenoble", + "cherbourg", + "caen", + "lorient", + "brest", + "le mans", + "nantes", + "agen", + "ajaccio", + "bastia", + "toulon", + "beziers", + "montpellier", + "nimes", + "vichy", + "nevers", + "auxerre", + "dijon", + "bourges", + "tours", + "orleans", + "dieppe", + "rouen", + "versailles", + "brive", + "troyes", + "reims", + "calais", + "amiens", + "mulhouse", + "nancy", + "metz", + "rennes", + "nice", + "toulouse", + "limoges", + "lille", + "strasbourg", + "la rochelle", + "bordeaux", + "marseille", + "le havre", + "lyon", + "paris", + "monaco" + ], + "provinces": [ + "rhône-alpes", + "bretagne", + "poitou-charentes", + "pays de la loire", + "aquitaine", + "provence-alpes-côte-d'azur", + "languedoc-roussillon", + "midi-pyrénées", + "auvergne", + "île-de-france", + "nord-pas-de-calais", + "franche-comté", + "basse-normandie", + "corse", + "bourgogne", + "centre", + "haute-normandie", + "limousin", + "champagne-ardenne", + "picardie", + "alsace", + "lorraine" + ] + }, + { + "timezone": "america/cayenne", + "country": "france", + "iso2": "gf", + "cities": [ + "roura", + "sinnamary", + "saint-georges", + "saint-laurent-du-maroni", + "iracoubo", + "kourou", + "cayenne" + ], + "provinces": [ + "guinaa", + "amapá" + ] + }, + { + "timezone": "america/martinique", + "country": "france", + "iso2": "mq", + "cities": [ + "fort-de-france" + ], + "provinces": [ + "martinique" + ] + }, + { + "timezone": "america/guadeloupe", + "country": "france", + "iso2": "gp", + "cities": [ + "pointe-a-pitre", + "basse-terre" + ], + "provinces": [ + "guadeloupe" + ] + }, + { + "timezone": "indian/reunion", + "country": "france", + "iso2": "re", + "cities": [ + "st.-benoit", + "st.-denis" + ], + "provinces": [ + "la réunion" + ] + }, + { + "timezone": "indian/mayotte", + "country": "france", + "iso2": "yt", + "cities": [ + "dzaoudzi" + ], + "provinces": [ + "moyotte" + ] + }, + { + "timezone": "pacific/tahiti", + "country": "french polynesia", + "iso2": "pf", + "cities": [ + "papeete" + ], + "provinces": [] + }, + { + "timezone": "africa/libreville", + "country": "gabon", + "iso2": "ga", + "cities": [ + "tchibanga", + "mekambo", + "makokou", + "mitzik", + "bitam", + "lambarene", + "bifoum", + "ndende", + "mouila", + "omboue", + "moanda", + "okandja", + "koulamoutou", + "oyem", + "mayumba", + "gamba", + "franceville", + "libreville", + "port-gentil" + ], + "provinces": [ + "nyanga", + "ogooué-ivindo", + "wouleu-ntem", + "moyen-ogooué", + "ngounié", + "ogooué-maritime", + "haut-ogooué", + "ogooué-lolo", + "estuaire" + ] + }, + { + "timezone": "asia/tbilisi", + "country": "georgia", + "iso2": "ge", + "cities": [ + "kutaisi", + "tskhinvali", + "poti", + "rustavi", + "batumi", + "sukhumi", + "tbilisi" + ], + "provinces": [ + "imereti", + "shida kartli", + "samegrelo-zemo svaneti", + "kvemo kartli", + "ajaria", + "abkhazia", + "tbilisi" + ] + }, + { + "timezone": "africa/accra", + "country": "ghana", + "iso2": "gh", + "cities": [ + "sunyani", + "tamale", + "yendi", + "bolgatanga", + "bawku", + "wa", + "obuasi", + "berekum", + "winneba", + "cape coast", + "nkawkaw", + "koforidua", + "tema", + "ho", + "kumasi", + "sekondi", + "accra" + ], + "provinces": [ + "brong ahafo", + "northern", + "upper east", + "upper west", + "ashanti", + "central", + "eastern", + "greater accra", + "volta", + "western" + ] + }, + { + "timezone": "europe/gibraltar", + "country": "gibraltar", + "iso2": "gi", + "cities": [ + "gibraltar" + ], + "provinces": [ + "gibraltar" + ] + }, + { + "timezone": "europe/athens", + "country": "greece", + "iso2": "gr", + "cities": [ + "lamia", + "polygyros", + "komatini", + "piraievs", + "volos", + "hania", + "kavala", + "alexandroupoli", + "kerkira", + "tripoli", + "sparti", + "agrinio", + "pirgos", + "larissa", + "ioanina", + "mitilini", + "hios", + "chalkida", + "sitia", + "katerini", + "seres", + "xanthi", + "ermoupoli", + "kos", + "rodos", + "patra", + "kalamata", + "iraklio", + "thessaloniki", + "athens" + ], + "provinces": [ + "stereá elláda", + "kentriki makedonia", + "anatoliki makedonia kai thraki", + "attiki", + "thessalia", + "kriti", + "ionioi nisoi", + "peloponnisos", + "dytiki ellada", + "ipeiros", + "voreio aigaio", + "notio aigaio" + ] + }, + { + "timezone": "america/godthab", + "country": "greenland", + "iso2": "gl", + "cities": [ + "qasigiannguit", + "kullorsuaq", + "tasiusaq", + "kulusuk", + "paamiut", + "timmiarmiut", + "qaqortoq", + "kangerlussuaq", + "nord", + "qeqertasuaq", + "nuussuaq", + "ilulissat", + "tasiilaq", + "kangersuatsiaq", + "uummannaq", + "narsarsuaq", + "sisimiut", + "upernavik", + "nuuk" + ], + "provinces": [ + "qaasuitsup kommunia", + "kommuneqarfik sermersooq", + "kommune kujalleq", + "qeqqata kommunia", + "nationalparken" + ] + }, + { + "timezone": "america/danmarkshavn", + "country": "greenland", + "iso2": "gl", + "cities": [ + "ittoqqortoormiit" + ], + "provinces": [ + "kommuneqarfik sermersooq" + ] + }, + { + "timezone": "america/thule", + "country": "greenland", + "iso2": "gl", + "cities": [ + "savissivik", + "qaanaaq" + ], + "provinces": [ + "qaasuitsup kommunia" + ] + }, + { + "timezone": "america/grenada", + "country": "grenada", + "iso2": "gd", + "cities": [ + "saint george's" + ], + "provinces": [] + }, + { + "timezone": "pacific/guam", + "country": "guam", + "iso2": "gu", + "cities": [ + "agana" + ], + "provinces": [] + }, + { + "timezone": "america/guatemala", + "country": "guatemala", + "iso2": "gt", + "cities": [ + "salama", + "retalhuleu", + "san marcos", + "chimaltenango", + "antigua guatemala", + "solola", + "totonicapan", + "el progreso", + "cuilapa", + "chiquimula", + "jalapa", + "zacapa", + "santa cruz del quiche", + "san luis", + "coban", + "livingston", + "jutiapa", + "huehuetenango", + "flores", + "la libertad", + "san jose", + "escuintla", + "mazatenango", + "puerto barrios", + "quetzaltenango", + "guatemala" + ], + "provinces": [ + "baja verapaz", + "retalhuleu", + "san marcos", + "chimaltenango", + "sacatepéquez", + "sololá", + "totonicapán", + "el progreso", + "santa rosa", + "chiquimula", + "jalapa", + "zacapa", + "quiché", + "petén", + "alta verapaz", + "izabal", + "jutiapa", + "huehuetenango", + "escuintla", + "suchitepéquez", + "quezaltenango", + "guatemala" + ] + }, + { + "timezone": "africa/conakry", + "country": "guinea", + "iso2": "gn", + "cities": [ + "mali", + "tongue", + "kouroussa", + "pita", + "dalaba", + "boffa", + "koundara", + "gaoual", + "telimele", + "forecariah", + "beyla", + "gueckedou", + "dinguiraye", + "dabola", + "kerouane", + "siguiri", + "mamou", + "kamsar", + "fria", + "macenta", + "yomou", + "faranah", + "kissidougou", + "labe", + "boke", + "kindia", + "kankan", + "nzerekore", + "conakry" + ], + "provinces": [ + "labe", + "kankan", + "mamou", + "boke", + "kindia", + "nzerekore", + "faranah", + "conakry" + ] + }, + { + "timezone": "africa/bissau", + "country": "guinea bissau", + "iso2": "gw", + "cities": [ + "cacheu", + "farim", + "fulacunda", + "gabu", + "catio", + "bolama", + "bafata", + "bissau" + ], + "provinces": [ + "cacheu", + "oio", + "quinara", + "gabú", + "tombali", + "bolama", + "bafatá", + "bissau" + ] + }, + { + "timezone": "america/guyana", + "country": "guyana", + "iso2": "gy", + "cities": [ + "corriverton", + "ituni", + "lethem", + "kumaka", + "bartica", + "anna regina", + "linden", + "mabaruma", + "new amsterdam", + "georgetown" + ], + "provinces": [ + "mahaica-berbice", + "upper takutu-upper essequibo", + "upper demerara-berbice", + "pomeroon-supenaam", + "cuyuni-mazaruni", + "barima-waini", + "essequibo islands-west demerara", + "east berbice-corentyne" + ] + }, + { + "timezone": "america/port-au-prince", + "country": "haiti", + "iso2": "ht", + "cities": [ + "jeremie", + "port-de-paix", + "hinche", + "fort-liberte", + "jacmel", + "les cayes", + "gonaives", + "cap-haitien", + "port-au-prince" + ], + "provinces": [ + "grand'anse", + "nord-ouest", + "centre", + "nord-est", + "sud-est", + "sud", + "l'artibonite", + "nord", + "ouest" + ] + }, + { + "timezone": "america/tegucigalpa", + "country": "honduras", + "iso2": "hn", + "cities": [ + "yoro", + "la esperanza", + "la paz", + "santa barbara", + "gracias", + "nueva ocotepeque", + "yuscaran", + "roatan", + "nacaome", + "santa rosa de copan", + "trujillo", + "brus laguna", + "puerto lempira", + "juticalpa", + "comayagua", + "choluteca", + "la ceiba", + "san pedro sula", + "tegucigalpa" + ], + "provinces": [ + "yoro", + "intibucá", + "la paz", + "santa bárbara", + "lempira", + "ocotepeque", + "el paraíso", + "islas de la bahía", + "valle", + "copán", + "colón", + "gracias a dios", + "olancho", + "comayagua", + "choluteca", + "atlántida", + "cortés", + "francisco morazán" + ] + }, + { + "timezone": "asia/hong_kong", + "country": "hong kong s.a.r.", + "iso2": "hk", + "cities": [ + "hong kong" + ], + "provinces": [] + }, + { + "timezone": "europe/budapest", + "country": "hungary", + "iso2": "hu", + "cities": [ + "veszprem", + "zalaegerszeg", + "tatabanya", + "szekszard", + "salgotarjan", + "bekescsaba", + "eger", + "szombathely", + "kecskemet", + "szekesfehervar", + "nyiregyhaza", + "pecs", + "gyor", + "kaposvar", + "vac", + "miskolc", + "szeged", + "debrecen", + "szolnok", + "budapest" + ], + "provinces": [ + "veszprém", + "zala", + "komárom-esztergom", + "tolna", + "nógrád", + "békés", + "heves", + "vas", + "bács-kiskun", + "fejér", + "szabolcs-szatmár-bereg", + "baranya", + "gyor-moson-sopron", + "somogy", + "pest", + "borsod-abaúj-zemplén", + "csongrád", + "hajdú-bihar", + "jász-nagykun-szolnok", + "budapest" + ] + }, + { + "timezone": "atlantic/reykjavik", + "country": "iceland", + "iso2": "is", + "cities": [ + "borgarnes", + "egilsstadir", + "saudarkrokur", + "selfoss", + "hofn", + "isafjordur", + "akureyi", + "keflavik", + "reykjavik" + ], + "provinces": [ + "vesturland", + "austur-hérað", + "akrahreppur", + "biskupstungnahreppur", + "sveitarfélagið hornafjörður", + "vestfirðir", + "akureyri", + "suðurnes" + ] + }, + { + "timezone": "asia/kolkata", + "country": "india", + "iso2": "in", + "cities": [ + "panaji", + "simla", + "gurgaon", + "sonipat", + "rohtak", + "hisar", + "bhiwani", + "ambala", + "sopur", + "silvassa", + "kalyan", + "bhusawal", + "jorhat", + "hoshiarpur", + "ajmer", + "hathras", + "sitapur", + "pilibhit", + "budaun", + "firozabad", + "mathura", + "bulandshahr", + "hapur", + "muzaffarnagar", + "gangtok", + "diu", + "pathankot", + "sirsa", + "panipat", + "karnal", + "baramula", + "proddatur", + "nandyal", + "hindupur", + "tirupati", + "ongole", + "vizianagaram", + "rajahmundry", + "machilipatnam", + "khammam", + "chirala", + "karimnagar", + "nizamabad", + "kollam", + "alappuzha", + "puri", + "sambalpur", + "raurkela", + "kavaratti", + "mandya", + "kolar", + "shimoga", + "raichur", + "hospet", + "bidar", + "sangli", + "parbhani", + "malegaon", + "port blair", + "tezpur", + "silchar", + "kohima", + "shillong", + "abohar", + "patiala", + "bhilwara", + "pali", + "tonk", + "sikar", + "bikaner", + "bharatpur", + "alwar", + "fatehpur", + "faizabad", + "bahraich", + "mirzapur", + "jhansi", + "shahjahanpur", + "rampur", + "bareilly", + "etawah", + "dehra dun", + "haora", + "alipur duar", + "haldia", + "bhatpara", + "medinipur", + "siliguri", + "purnia", + "muzaffarpur", + "aurangabad", + "bilaspur", + "burhanpur", + "ujjain", + "ratlam", + "sagar", + "vellore", + "tiruvannamalai", + "rajapalaiyam", + "cuddalore", + "karur", + "kanchipuram", + "tirunelveli", + "nagercoil", + "thanjavur", + "kumbakonam", + "valparai", + "tiruppur", + "daman", + "navsari", + "bhuj", + "bhavnagar", + "gandhinagar", + "itanagar", + "aizawl", + "agartala", + "kakinada", + "warangal", + "brahmapur", + "bijapur", + "bhiwandi", + "latur", + "ahmednagar", + "chandrapur", + "amravati", + "dhule", + "dibrugarh", + "imphal", + "udaipur", + "gorakhpur", + "barddhaman", + "krishnanagar", + "gaya", + "porbandar", + "nellore", + "kurnool", + "guntur", + "tumkur", + "davangere", + "bellary", + "belgaum", + "tuticorin", + "dindigul", + "chandigarh", + "jammu", + "sholapur", + "nasik", + "dispur", + "jullundur", + "allahabad", + "moradabad", + "ghaziabad", + "agra", + "aligarh", + "meerut", + "dhanbad", + "gwalior", + "vadodara", + "rajkot", + "faridabad", + "srinagar", + "vijayawada", + "thiruvananthapuram", + "kochi", + "cuttack", + "hubli", + "mangalore", + "mysore", + "gulbarga", + "kolhapur", + "nanded", + "akola", + "guwahati", + "ludhiana", + "kota", + "jodhpur", + "lucknow", + "saharanpur", + "ranchi", + "bhagalpur", + "raipur", + "jabalpur", + "indore", + "pondicherry", + "salem", + "tiruchirappalli", + "kozhikode", + "bhubaneshwar", + "jamshedpur", + "vishakhapatnam", + "amritsar", + "varanasi", + "asansol", + "bhilai", + "bhopal", + "madurai", + "coimbatore", + "delhi", + "hyderabad", + "pune", + "nagpur", + "jaipur", + "kanpur", + "patna", + "chennai", + "ahmedabad", + "surat", + "new delhi", + "bangalore", + "mumbai", + "kolkata" + ], + "provinces": [ + "goa", + "himachal pradesh", + "haryana", + "jammu and kashmir", + "dadra and nagar haveli", + "maharashtra", + "assam", + "punjab", + "rajasthan", + "uttar pradesh", + "sikkim", + "andhra pradesh", + "kerala", + "orissa", + "lakshadweep", + "karnataka", + "andaman and nicobar", + "nagaland", + "meghalaya", + "uttaranchal", + "west bengal", + "bihar", + "chhattisgarh", + "madhya pradesh", + "tamil nadu", + "arunachal pradesh", + "mizoram", + "tripura", + "manipur", + "chandigarh", + "jharkhand", + "puducherry", + "delhi" + ] + }, + { + "timezone": "asia/jakarta", + "country": "indonesia", + "iso2": "id", + "cities": [ + "binjai", + "padangsidempuan", + "tarutung", + "tebingtinggi", + "bukittinggi", + "sawahlunto", + "padangpanjang", + "langsa", + "indramayu", + "sukabumi", + "cilacap", + "pati", + "pakalongan", + "tegal", + "salatiga", + "magelang", + "serang", + "bekasi", + "tanjungkarang-telubketung", + "perabumulih", + "sumenep", + "banyuwangi", + "tuban", + "probolinggo", + "pasuruan", + "mojokerto", + "madiun", + "kediri", + "blitar", + "tanjungpinang", + "telukbutun", + "sungaipenuh", + "sibolga", + "pematangsiantar", + "pekanbaru", + "yogyakarta", + "lhokseumawe", + "cirebon", + "tasikmalaya", + "bogor", + "bengkulu", + "kotabumi", + "lahat", + "pangkalpinang", + "jember", + "jambi", + "banda aceh", + "surakarta", + "bandar lampung", + "tanjungpandan", + "malang", + "padang", + "semarang", + "palembang", + "medan", + "bandung", + "surabaya", + "jakarta" + ], + "provinces": [ + "sumatera utara", + "sumatera barat", + "aceh", + "jawa barat", + "jawa tengah", + "banten", + "jakarta raya", + "lampung", + "sumatera selatan", + "jawa timur", + "kepulauan riau", + "jambi", + "riau", + "yogyakarta", + "bengkulu", + "bangka-belitung" + ] + }, + { + "timezone": "asia/jayapura", + "country": "indonesia", + "iso2": "id", + "cities": [ + "tidore", + "amahai", + "biak", + "timika", + "sorong", + "nabire", + "merauke", + "manokwari", + "ternate", + "ambon", + "jayapura" + ], + "provinces": [ + "maluku utara", + "maluku", + "papua", + "irian jaya barat" + ] + }, + { + "timezone": "asia/makassar", + "country": "indonesia", + "iso2": "id", + "cities": [ + "mataram", + "praya", + "baubau", + "luwuk", + "poso", + "kuta", + "singaraja", + "waingapu", + "maumere", + "ende", + "makale", + "palopo", + "watampone", + "pinrang", + "majene", + "bontang", + "denpasar", + "manado", + "kendari", + "palu", + "samarinda", + "martapura", + "ruteng", + "raba", + "balikpapan", + "kupang", + "parepare", + "gorontalo", + "tarakan", + "bandjarmasin", + "ujungpandang" + ], + "provinces": [ + "nusa tenggara barat", + "sulawesi tenggara", + "sulawesi tengah", + "bali", + "nusa tenggara timur", + "sulawesi selatan", + "sulawesi barat", + "kalimantan timur", + "sulawesi utara", + "kalimantan selatan", + "gorontalo" + ] + }, + { + "timezone": "asia/pontianak", + "country": "indonesia", + "iso2": "id", + "cities": [ + "singkawang", + "sampit", + "kualakapuas", + "palangkaraya", + "pontianak" + ], + "provinces": [ + "kalimantan barat", + "kalimantan tengah" + ] + }, + { + "timezone": "asia/tehran", + "country": "iran", + "iso2": "ir", + "cities": [ + "yasuj", + "shar e kord", + "marv dasht", + "shahrud", + "varamin", + "masjed soleyman", + "borujerd", + "malayer", + "zanjan", + "ahar", + "sanandaj", + "neyshabur", + "bojnurd", + "sirjan", + "qomsheh", + "kashan", + "khomeini shahr", + "fasa", + "gonbad-e kavus", + "gorgan", + "amol", + "sari", + "semnan", + "karaj", + "behbehan", + "dezful", + "khorramabad", + "ilam", + "saveh", + "arak", + "mahabad", + "khvoy", + "maragheh", + "qasr-e shirin", + "bijar", + "yazdan", + "torbat-e jam", + "quchan", + "chabahar", + "kashmar", + "bam", + "kerman", + "bandar-e bushehr", + "abadan", + "ardabil", + "qom", + "qazvin", + "kermanshah", + "rasht", + "birjand", + "sabzewar", + "zabol", + "zahedan", + "yazd", + "ahvaz", + "bandar-e-abbas", + "hamadan", + "tabriz", + "isfahan", + "shiraz", + "mashhad", + "tehran" + ], + "provinces": [ + "kohgiluyeh and buyer ahmad", + "chahar mahall and bakhtiari", + "fars", + "semnan", + "tehran", + "khuzestan", + "lorestan", + "hamadan", + "zanjan", + "east azarbaijan", + "kordestan", + "razavi khorasan", + "north khorasan", + "kerman", + "esfahan", + "golestan", + "mazandaran", + "ilam", + "markazi", + "west azarbaijan", + "kermanshah", + "south khorasan", + "sistan and baluchestan", + "bushehr", + "ardebil", + "qom", + "qazvin", + "gilan", + "yazd", + "hormozgan" + ] + }, + { + "timezone": "asia/baghdad", + "country": "iraq", + "iso2": "iq", + "cities": [ + "dahuk", + "samarra", + "az aubayr", + "ad diwaniyah", + "ash shatrah", + "mandali", + "ar ramadi", + "al musayyib", + "zakho", + "tall afar", + "tikrit", + "karbala", + "as samawah", + "an nasiriyah", + "al amarah", + "al kut", + "as sulaymaniyah", + "baqubah", + "ar rutbah", + "al fallujah", + "al hillah", + "irbil", + "kirkuk", + "mosul", + "an najaf", + "basra", + "baghdad" + ], + "provinces": [ + "dihok", + "sala ad-din", + "al-basrah", + "al-qadisiyah", + "dhi-qar", + "diyala", + "al-anbar", + "babil", + "ninawa", + "karbala'", + "al-muthannia", + "maysan", + "wasit", + "as-sulaymaniyah", + "arbil", + "at-ta'mim", + "an-najaf", + "baghdad" + ] + }, + { + "timezone": "europe/dublin", + "country": "ireland", + "iso2": "ie", + "cities": [ + "ros comain", + "muineachan", + "shannon", + "waterford", + "tralee", + "donegal", + "drogheda", + "dundalk", + "galway", + "kilkenny", + "killarney", + "sligo", + "cork", + "limerick", + "dublin" + ], + "provinces": [ + "roscommon", + "monaghan", + "clare", + "kilkenny", + "kerry", + "donegal", + "louth", + "galway", + "sligo", + "cork", + "limerick", + "dublin" + ] + }, + { + "timezone": "europe/isle_of_man", + "country": "isle of man", + "iso2": "im", + "cities": [ + "douglas" + ], + "provinces": [] + }, + { + "timezone": "asia/jerusalem", + "country": "israel", + "iso2": "il", + "cities": [ + "ramla", + "beer sheva", + "haifa", + "nazareth", + "jerusalem", + "tel aviv-yafo" + ], + "provinces": [ + "hamerkaz", + "hadarom", + "haifa", + "hazafon", + "jerusalem", + "tel aviv" + ] + }, + { + "timezone": "europe/rome", + "country": "italy", + "iso2": "it", + "cities": [ + "potenza", + "campobasso", + "aosta", + "modena", + "crotone", + "vibo valentia", + "reggio di calabria", + "caserta", + "barletta", + "ragusa", + "asti", + "novara", + "como", + "udine", + "treviso", + "parma", + "ravenna", + "ferrara", + "bologna", + "olbia", + "cagliari", + "pisa", + "livorno", + "siena", + "arezzo", + "catanzaro", + "salerno", + "benevento", + "bari", + "foggia", + "lecce", + "brindisi", + "taranto", + "messina", + "marsala", + "siracusa", + "pescara", + "l'aquila", + "civitavecchia", + "ancona", + "perugia", + "bergamo", + "trieste", + "bolzano", + "trento", + "verona", + "sassari", + "turin", + "genoa", + "florence", + "catania", + "venice", + "palermo", + "naples", + "milan", + "rome", + "vatican city" + ], + "provinces": [ + "basilicata", + "molise", + "valle d'aosta", + "emilia-romagna", + "calabria", + "campania", + "apulia", + "sicily", + "piemonte", + "lombardia", + "friuli-venezia giulia", + "veneto", + "sardegna", + "toscana", + "abruzzo", + "lazio", + "marche", + "umbria", + "trentino-alto adige", + "liguria" + ] + }, + { + "timezone": "africa/abidjan", + "country": "ivory coast", + "iso2": "ci", + "cities": [ + "touba", + "bouafle", + "divo", + "toumodi", + "aboisso", + "ferkessedougou", + "odienne", + "man", + "seguela", + "gagnoa", + "soubre", + "san-pedro", + "sassandra", + "bondoukou", + "agboville", + "dimbokro", + "grand bassam", + "dabou", + "guiglo", + "abengourou", + "korhogo", + "daloa", + "bouake", + "yamoussoukro", + "abidjan" + ], + "provinces": [ + "bafing", + "marahoué", + "sud-bandama", + "lacs", + "sud-comoé", + "savanes", + "denguélé", + "dix-huit montagnes", + "worodougou", + "fromager", + "bas-sassandra", + "zanzan", + "agnéby", + "n'zi-comoé", + "lagunes", + "moyen-cavally", + "moyen-comoe", + "haut-sassandra", + "vallée du bandama" + ] + }, + { + "timezone": "america/jamaica", + "country": "jamaica", + "iso2": "jm", + "cities": [ + "lucea", + "mandeville", + "black river", + "falmouth", + "savanna la mar", + "port antonio", + "st. anns bay", + "port maria", + "halfway tree", + "port morant", + "may pen", + "spanish town", + "montego bay", + "kingston" + ], + "provinces": [ + "hanover", + "manchester", + "saint elizabeth", + "trelawny", + "westmoreland", + "portland", + "saint ann", + "saint mary", + "saint andrew", + "saint thomas", + "clarendon", + "saint catherine", + "saint james", + "kingston" + ] + }, + { + "timezone": "asia/tokyo", + "country": "japan", + "iso2": "jp", + "cities": [ + "okayama", + "shimonoseki", + "kanoya", + "takamatsu", + "tokushima", + "toyama", + "takaoka", + "otsu", + "maebashi", + "kawasaki", + "kawagoe", + "utsunomiya", + "hachioji", + "koriyama", + "kure", + "matsue", + "tottori", + "sasebo", + "kitakyushu", + "kumamoto", + "oita", + "gifu", + "tsu", + "matsumoto", + "shizuoka", + "hamamatsu", + "obihiro", + "tomakomai", + "kitami", + "otaru", + "fukui", + "maizuru", + "wakayama", + "mito", + "kofu", + "iwaki", + "nagaoka", + "yamagata", + "tsuruoka", + "kagoshima", + "matsuyama", + "kanazawa", + "muroran", + "asahikawa", + "kobe", + "yokohama", + "akita", + "aomori", + "hirosaki", + "hachinohe", + "fukushima", + "morioka", + "niigata", + "fukuoka", + "miyazaki", + "naha", + "kochi", + "nagoya", + "nagano", + "kushiro", + "hakodate", + "kyoto", + "sendai", + "sakata", + "nagasaki", + "hiroshima", + "sapporo", + "osaka", + "tokyo" + ], + "provinces": [ + "okayama", + "yamaguchi", + "kagoshima", + "kagawa", + "tokushima", + "toyama", + "shiga", + "gunma", + "kanagawa", + "saitama", + "tochigi", + "tokyo", + "fukushima", + "hiroshima", + "shimane", + "tottori", + "nagasaki", + "fukuoka", + "kumamoto", + "oita", + "gifu", + "mie", + "nagano", + "shizuoka", + "hokkaido", + "fukui", + "kyoto", + "wakayama", + "ibaraki", + "yamanashi", + "niigata", + "yamagata", + "ehime", + "ishikawa", + "hyogo", + "akita", + "aomori", + "iwate", + "miyazaki", + "okinawa", + "kochi", + "aichi", + "miyagi", + "osaka" + ] + }, + { + "timezone": "asia/amman", + "country": "jordan", + "iso2": "jo", + "cities": [ + "al mafraq", + "at tafilah", + "ma'an", + "irbid", + "as salt", + "az zarqa", + "al aqabah", + "al karak", + "amman" + ], + "provinces": [ + "mafraq", + "tafilah", + "ma`an", + "irbid", + "balqa", + "zarqa", + "aqaba", + "karak", + "amman" + ] + }, + { + "timezone": "asia/qyzylorda", + "country": "kazakhstan", + "iso2": "kz", + "cities": [ + "turgay", + "zhosaly", + "zhetiqara", + "komsomolets", + "tobol", + "qusmuryn", + "shieli", + "arqalyq", + "oostanay", + "baykonur", + "qazaly", + "aral", + "rudny", + "qyzylorda" + ], + "provinces": [ + "qostanay", + "qyzylorda" + ] + }, + { + "timezone": "asia/aqtau", + "country": "kazakhstan", + "iso2": "kz", + "cities": [ + "mangyshlak", + "fort shevchenko", + "zhangaozen", + "beyneu", + "aktau" + ], + "provinces": [ + "mangghystau" + ] + }, + { + "timezone": "asia/atyrau", + "country": "kazakhstan", + "iso2": "kz", + "cities": [ + "maqat", + "makhambet", + "balyqshy", + "qulsary", + "atyrau" + ], + "provinces": [ + "atyrau" + ] + }, + { + "timezone": "asia/almaty", + "country": "kazakhstan", + "iso2": "kz", + "cities": [ + "bestobe", + "osakarovka", + "aqadyr", + "sharbaqty", + "shemonaikha", + "serebryansk", + "boralday", + "zharkent", + "esik", + "lenger", + "kentau", + "esil", + "derzhavinsk", + "zhaltyr", + "makinsk", + "aqsu", + "zholymbet", + "erymentau", + "saryshaghan", + "qarazhal", + "atasu", + "kishkenekol", + "tayynsha", + "bulaevo", + "ertis", + "kachiry", + "zaysan", + "zyryanovsk", + "ridder", + "shar", + "urzhar", + "sarqan", + "ushtobe", + "shonzhy", + "qapshaghay", + "otar", + "arys", + "burylbaytal", + "shu", + "qulan", + "oytal", + "qaratau", + "atbasar", + "kokshetau", + "temirtau", + "zhezqazghan", + "qarqaraly", + "balqash", + "petropavlovsk", + "ayakoz", + "taldyqorghan", + "turkistan", + "ekibastuz", + "pavlodar", + "semey", + "oskemen", + "shymkent", + "taraz", + "astana", + "qaraghandy", + "almaty" + ], + "provinces": [ + "aqmola", + "qaraghandy", + "pavlodar", + "east kazakhstan", + "almaty", + "south kazakhstan", + "north kazakhstan", + "zhambyl" + ] + }, + { + "timezone": "asia/aqtobe", + "country": "kazakhstan", + "iso2": "kz", + "cities": [ + "oktyabrsk", + "algha", + "bayghanin", + "embi", + "khromtau", + "shalqar", + "aktobe" + ], + "provinces": [ + "aqtöbe" + ] + }, + { + "timezone": "asia/oral", + "country": "kazakhstan", + "iso2": "kz", + "cities": [ + "chapaev", + "zhanibek", + "aqsay", + "oral" + ], + "provinces": [ + "west kazakhstan" + ] + }, + { + "timezone": "africa/nairobi", + "country": "kenya", + "iso2": "ke", + "cities": [ + "nyeri", + "mwingi", + "embu", + "machakos", + "nanyuki", + "maralal", + "konza", + "lodwar", + "eldama ravine", + "sotik", + "namanga", + "naivasha", + "kericho", + "kitale", + "bungoma", + "kakamega", + "wajir", + "garissa", + "witu", + "tsavo", + "voi", + "kilifi", + "thika", + "kendu bay", + "karungu", + "kisii", + "marsabit", + "moyale", + "nakuru", + "lamu", + "malindi", + "kisumu", + "meru", + "eldoret", + "mombasa", + "nairobi", + "mandera" + ], + "provinces": [ + "central", + "eastern", + "rift valley", + "western", + "north-eastern", + "coast", + "nyanza", + "nairobi", + "gedo" + ] + }, + { + "timezone": "pacific/tarawa", + "country": "kiribati", + "iso2": "ki", + "cities": [ + "tarawa" + ], + "provinces": [] + }, + { + "timezone": "europe/belgrade", + "country": "kosovo", + "iso2": null, + "cities": [ + "prizren", + "pec", + "pristina", + "subotica", + "kragujevac", + "zrenjanin", + "nis", + "novi sad", + "belgrade" + ], + "provinces": [ + "prizren", + "ðakovica", + "pristina", + "severno-backi", + "šumadijski", + "srednje-banatski", + "moravicki", + "nišavski", + "južno-backi", + "grad beograd" + ] + }, + { + "timezone": "asia/kuwait", + "country": "kuwait", + "iso2": "kw", + "cities": [ + "hawalli", + "al ahmadi", + "al jahra", + "kuwait" + ], + "provinces": [ + "hawalli", + "al ahmadi", + "al jahrah", + "al kuwayt" + ] + }, + { + "timezone": "asia/bishkek", + "country": "kyrgyzstan", + "iso2": "kg", + "cities": [ + "tokmak", + "kara balta", + "cholpon ata", + "naryn", + "kok yangak", + "balykchy", + "at bashy", + "jalal abad", + "toktogul", + "tash komur", + "talas", + "osh", + "karakol", + "bishkek" + ], + "provinces": [ + "bishkek", + "ysyk-köl", + "naryn", + "jalal-abad", + "talas", + "osh" + ] + }, + { + "timezone": "asia/vientiane", + "country": "laos", + "iso2": "la", + "cities": [ + "ban houayxay", + "louang namtha", + "champasak", + "saravan", + "xam nua", + "phongsali", + "attapu", + "xaignabouri", + "pakxe", + "xiangkhoang", + "louangphrabang", + "thakhek", + "savannakhet", + "vientiane" + ], + "provinces": [ + "bokeo", + "louang namtha", + "champasak", + "saravan", + "houaphan", + "phôngsali", + "attapu", + "xaignabouri", + "xiangkhoang", + "louangphrabang", + "khammouan", + "savannakhét", + "vientiane [prefecture]" + ] + }, + { + "timezone": "europe/riga", + "country": "latvia", + "iso2": "lv", + "cities": [ + "rezekne", + "ventspils", + "jelgava", + "liepaga", + "daugavpils", + "riga" + ], + "provinces": [ + "latgale", + "ventspils", + "jelgava", + "liepaja", + "daugavpils", + "riga" + ] + }, + { + "timezone": "asia/beirut", + "country": "lebanon", + "iso2": "lb", + "cities": [ + "b'abda", + "nabatiye et tahta", + "saida", + "zahle", + "trablous", + "beirut" + ], + "provinces": [ + "mount lebanon", + "an nabatiyah", + "south lebanon", + "north lebanon", + "beirut" + ] + }, + { + "timezone": "africa/maseru", + "country": "lesotho", + "iso2": "ls", + "cities": [ + "teyateyaneng", + "mohales hoek", + "moyeni", + "hlotse", + "butha-buthe", + "mokhotlong", + "mafetang", + "maseru", + "qacha's nek" + ], + "provinces": [ + "berea", + "mohale's hoek", + "quthing", + "leribe", + "mokhotlong", + "mafeteng", + "maseru", + "eastern cape" + ] + }, + { + "timezone": "africa/monrovia", + "country": "liberia", + "iso2": "lr", + "cities": [ + "barclayville", + "voinjama", + "bentol", + "kakata", + "sanniquellie", + "rivercess", + "harper", + "gbarnga", + "zwedru", + "greenville", + "buchanan", + "robertsport", + "monrovia" + ], + "provinces": [ + "grandkru", + "lofa", + "montserrado", + "margibi", + "nimba", + "river cess", + "maryland", + "bong", + "grandgedeh", + "sinoe", + "grand bassa", + "grand cape mount" + ] + }, + { + "timezone": "africa/tripoli", + "country": "libya", + "iso2": "ly", + "cities": [ + "dirj", + "nalut", + "zillah", + "al khums", + "tajarhi", + "umm al abid", + "az zawiyah", + "gharyan", + "mizdah", + "bani walid", + "al marj", + "al bayda", + "shahhat", + "el agheila", + "maradah", + "qaminis", + "as sidr", + "al jaghbub", + "ghadamis", + "hun", + "birak", + "ghat", + "marzuq", + "ajdabiya", + "awjilah", + "surt", + "darnah", + "tubruq", + "al jawf", + "tmassah", + "misratah", + "zuwarah", + "sabha", + "banghazi", + "tripoli" + ], + "provinces": [ + "ghadamis", + "al jufrah", + "al marqab", + "murzuq", + "sabha", + "az zawiyah", + "mizdah", + "bani walid", + "al hizam al akhdar", + "al jabal al akhdar", + "ajdabiya", + "benghazi", + "surt", + "al butnan", + "ash shati'", + "ghat", + "al qubbah", + "al kufrah", + "misratah", + "an nuqat al khams", + "tajura' wa an nawahi al arba" + ] + }, + { + "timezone": "europe/vaduz", + "country": "liechtenstein", + "iso2": "li", + "cities": [ + "vaduz" + ], + "provinces": [] + }, + { + "timezone": "europe/vilnius", + "country": "lithuania", + "iso2": "lt", + "cities": [ + "panevezys", + "siauliai", + "klaipeda", + "kaunas", + "vilnius" + ], + "provinces": [ + "panevezio", + "šiauliai", + "klaipedos", + "kauno", + "vilniaus" + ] + }, + { + "timezone": "europe/luxembourg", + "country": "luxembourg", + "iso2": "lu", + "cities": [ + "diekirch", + "grevenmacher", + "luxembourg" + ], + "provinces": [ + "diekirch", + "grevenmacher", + "luxembourg" + ] + }, + { + "timezone": "asia/macau", + "country": "macau s.a.r", + "iso2": "mo", + "cities": [ + "macau" + ], + "provinces": [] + }, + { + "timezone": "europe/skopje", + "country": "macedonia", + "iso2": "mk", + "cities": [ + "tetovo", + "bitola", + "skopje" + ], + "provinces": [ + "tetovo", + "bitola", + "centar" + ] + }, + { + "timezone": "indian/antananarivo", + "country": "madagascar", + "iso2": "mg", + "cities": [ + "sambava", + "ambanja", + "ihosy", + "mandritsara", + "besalampy", + "marovoay", + "antsohihy", + "ambatondrazaka", + "bekiy", + "manja", + "miandrivazo", + "antsirabe", + "antalaha", + "andoany", + "farafangana", + "mananjary", + "maintirano", + "toamasina", + "maroantsetra", + "tolanaro", + "morombe", + "androka", + "morondava", + "antsiranana", + "fianarantsoa", + "mahajanga", + "toliara", + "antananarivo" + ], + "provinces": [ + "antsiranana", + "fianarantsoa", + "mahajanga", + "toamasina", + "toliary", + "antananarivo" + ] + }, + { + "timezone": "africa/blantyre", + "country": "malawi", + "iso2": "mw", + "cities": [ + "mzimba", + "machinga", + "dedza", + "mchinji", + "ntcheu", + "chiradzulu", + "nsanje", + "mwanza", + "mulanje", + "karonga", + "chitipa", + "nkhata bay", + "nkhotakota", + "mangochi", + "salima", + "chiromo", + "zomba", + "mzuzu", + "blantyre", + "lilongwe", + "mbamba bay" + ], + "provinces": [ + "mzimba", + "machinga", + "dedza", + "mchinji", + "ntcheu", + "chiradzulu", + "nsanje", + "mwanza", + "mulanje", + "chitipa", + "nkhata bay", + "nkhotakota", + "mangochi", + "salima", + "zomba", + "blantyre", + "lilongwe", + "ruvuma" + ] + }, + { + "timezone": "asia/kuala_lumpur", + "country": "malaysia", + "iso2": "my", + "cities": [ + "kangar", + "kuala lipis", + "shah alam", + "teluk intan", + "butterworth", + "sungai petani", + "alor setar", + "muar", + "batu pahat", + "keluang", + "seremban", + "raub", + "chukai", + "kuala terengganu", + "johor bahru", + "kelang", + "taiping", + "ipoh", + "kota baharu", + "malacca", + "kuantan", + "george town", + "putrajaya", + "kuala lumpur" + ], + "provinces": [ + "perlis", + "pahang", + "selangor", + "perak", + "pulau pinang", + "kedah", + "johor", + "negeri sembilan", + "trengganu", + "kelantan", + "melaka" + ] + }, + { + "timezone": "asia/kuching", + "country": "malaysia", + "iso2": "my", + "cities": [ + "lahad datu", + "bintulu", + "miri", + "tawau", + "sandakan", + "kota kinabalu", + "sibu", + "kuching" + ], + "provinces": [ + "sabah", + "sarawak" + ] + }, + { + "timezone": "indian/maldives", + "country": "maldives", + "iso2": "mv", + "cities": [ + "male" + ], + "provinces": [] + }, + { + "timezone": "africa/bamako", + "country": "mali", + "iso2": "ml", + "cities": [ + "goundam", + "aguelhok", + "bourem", + "kati", + "banamba", + "kangaba", + "nioro du sahel", + "bafoulabe", + "satadougou", + "yelimane", + "kita", + "koutiala", + "sikasso", + "bougouni", + "markala", + "sokolo", + "san", + "taoudenni", + "araouane", + "tessalit", + "menaka", + "nara", + "koulikoro", + "mopti", + "gao", + "kayes", + "segou", + "timbuktu", + "bamako", + "djenne" + ], + "provinces": [ + "timbuktu", + "kidal", + "gao", + "bamako", + "kayes", + "sikasso", + "ségou", + "mopti" + ] + }, + { + "timezone": "europe/malta", + "country": "malta", + "iso2": "mt", + "cities": [ + "valletta" + ], + "provinces": [] + }, + { + "timezone": "pacific/majuro", + "country": "marshall islands", + "iso2": "mh", + "cities": [ + "majuro" + ], + "provinces": [] + }, + { + "timezone": "africa/nouakchott", + "country": "mauritania", + "iso2": "mr", + "cities": [ + "fderik", + "aleg", + "akjoujt", + "zouirat", + "chegga", + "magta lajar", + "bogue", + "boutilimit", + "selibaby", + "timbedra", + "nema", + "tidjikdja", + "bir mogrein", + "rosso", + "kiffa", + "nouadhibou", + "ayoun el atrous", + "nouakchott", + "atar", + "kaedi" + ], + "provinces": [ + "tiris zemmour", + "brakna", + "inchiri", + "trarza", + "guidimaka", + "hodh ech chargui", + "tagant", + "assaba", + "dakhlet nouadhibou", + "hodh el gharbi", + "nouakchott", + "adrar", + "matam" + ] + }, + { + "timezone": "africa/dakar", + "country": "mauritania", + "iso2": "mr", + "cities": [ + "saint-louis", + "fatick", + "diourbel", + "louga", + "thies", + "kolda", + "tambacounda", + "kedougou", + "ziguinchor", + "kaolack", + "dakar" + ], + "provinces": [ + "trarza", + "fatick", + "diourbel", + "louga", + "thiès", + "kolda", + "tambacounda", + "ziguinchor", + "kaolack", + "dakar" + ] + }, + { + "timezone": "indian/mauritius", + "country": "mauritius", + "iso2": "mu", + "cities": [ + "curepipe", + "port louis" + ], + "provinces": [] + }, + { + "timezone": "america/tijuana", + "country": "mexico", + "iso2": "mx", + "cities": [ + "vicente guerrero", + "san quintin", + "punta prieta", + "san felipe", + "ensenada", + "mexicali", + "tijuana" + ], + "provinces": [ + "baja california" + ] + }, + { + "timezone": "america/mazatlan", + "country": "mexico", + "iso2": "mx", + "cities": [ + "loreto", + "ciudad constitucion", + "villa union", + "altata", + "santiago ixcuintla", + "santa rosalia", + "guerrero negro", + "escuinapa", + "guamuchil", + "guasave", + "el fuerte", + "eldorado", + "la cruz", + "tuxpan", + "tepic", + "compostela", + "tecuala", + "los mochis", + "cabo san lucas", + "la paz", + "culiacan", + "mazatlan" + ], + "provinces": [ + "baja california sur", + "sinaloa", + "nayarit" + ] + }, + { + "timezone": "america/monterrey", + "country": "mexico", + "iso2": "mx", + "cities": [ + "allende", + "nueva rosita", + "gomez palacio", + "canatlan", + "montemorelos", + "sabinas hidalgo", + "ciudad mante", + "ciudad madero", + "san pedro de las colonias", + "parras", + "cuencame", + "papasquiaro", + "linares", + "tula", + "aldama", + "san fernando", + "saltillo", + "durango", + "ciudad victoria", + "monclova", + "torreon", + "tampico", + "monterrey" + ], + "provinces": [ + "coahuila", + "durango", + "nuevo león", + "tamaulipas" + ] + }, + { + "timezone": "america/chihuahua", + "country": "mexico", + "iso2": "mx", + "cities": [ + "hidalgo del parral", + "cuauhtemoc", + "nuevo casas grandes", + "villa ahumada", + "santa barbara", + "ciudad camargo", + "delicias", + "chihuahua" + ], + "provinces": [ + "chihuahua" + ] + }, + { + "timezone": "america/ojinaga", + "country": "mexico", + "iso2": "mx", + "cities": [ + "ascension", + "ojinaga", + "ciudad juarez" + ], + "provinces": [ + "chihuahua" + ] + }, + { + "timezone": "america/hermosillo", + "country": "mexico", + "iso2": "mx", + "cities": [ + "esperanza", + "magdalena", + "nacozari viejo", + "agua prieta", + "ciudad obregon", + "navajoa", + "caborca", + "mazatlan", + "cananea", + "huatabampo", + "nogales", + "hermosillo", + "guaymas" + ], + "provinces": [ + "sonora" + ] + }, + { + "timezone": "america/mexico_city", + "country": "mexico", + "iso2": "mx", + "cities": [ + "villanueva", + "cardenas", + "ciudad valles", + "rio verde", + "autlan", + "ciudad hidalgo", + "apatzingan", + "juchitan", + "miahuatlan", + "atlixco", + "acatlan", + "paraiso", + "balancan", + "tlaxcala", + "irapuato", + "celaya", + "chilpancingo", + "iguala", + "tecpan", + "atoyac", + "nezahualcoyotl", + "san juan del rio", + "jaltipan", + "orizaba", + "xalapa", + "nautla", + "san cristobal de las casas", + "escuintla", + "zacatecas", + "juan aldama", + "valparaiso", + "fresnillo", + "matehuala", + "tamuin", + "tamazunchale", + "tecoman", + "puerto vallarta", + "la barca", + "ciudad guzman", + "lagos de moreno", + "morelia", + "lazaro cardenas", + "zamora", + "coalcoman", + "uruapan", + "salina cruz", + "puerto escondido", + "pochutla", + "mitla", + "tlaxiaco", + "huajuapan de leon", + "tehuacan", + "teziutlan", + "frontera", + "tenosique", + "salamanca", + "guanajuato", + "taxco", + "ayutla", + "ciudad altamirano", + "petatlan", + "pachuca", + "toluca", + "zumpango", + "minatitlan", + "coatzacoalcos", + "poza rica de hidalgo", + "cordoba", + "santiago tuxtla", + "tuxpam", + "panuco", + "pijijiapan", + "aguascalientes", + "manzanillo", + "tehuantepec", + "villahermosa", + "cuernavaca", + "queretaro", + "tapachula", + "ometepec", + "san luis potosi", + "colima", + "oaxaca", + "leon", + "acapulco", + "veracruz", + "tuxtla gutierrez", + "guadalajara", + "puebla", + "mexico city" + ], + "provinces": [ + "zacatecas", + "san luis potosí", + "jalisco", + "michoacán", + "oaxaca", + "puebla", + "tabasco", + "tlaxcala", + "guanajuato", + "guerrero", + "méxico", + "querétaro", + "veracruz", + "chiapas", + "colima", + "hidalgo", + "aguascalientes", + "morelos", + "distrito federal" + ] + }, + { + "timezone": "america/matamoros", + "country": "mexico", + "iso2": "mx", + "cities": [ + "reynosa", + "piedras negras", + "sierra mojada", + "matamoros", + "nuevo laredo" + ], + "provinces": [ + "tamaulipas", + "coahuila" + ] + }, + { + "timezone": "america/merida", + "country": "mexico", + "iso2": "mx", + "cities": [ + "motul", + "tekax", + "peto", + "halacho", + "ciudad del carmen", + "champoton", + "tizimin", + "valladolid", + "izamal", + "ticul", + "progreso", + "campeche", + "merida" + ], + "provinces": [ + "yucatán", + "campeche" + ] + }, + { + "timezone": "america/cancun", + "country": "mexico", + "iso2": "mx", + "cities": [ + "isla mujeres", + "felipe carrillo puerto", + "chetumal", + "cozumel", + "cancun" + ], + "provinces": [ + "quintana roo" + ] + }, + { + "timezone": "europe/chisinau", + "country": "moldova", + "iso2": "md", + "cities": [ + "dubasari", + "balti", + "cahul", + "tiraspol", + "chisinau" + ], + "provinces": [ + "transnistria", + "balti", + "cahul", + "bender", + "chisinau" + ] + }, + { + "timezone": "asia/ulaanbaatar", + "country": "mongolia", + "iso2": "mn", + "cities": [ + "suchboatar", + "dzuunmod", + "tsetserleg", + "ulaan-uul", + "buyant-uhaa", + "ondorhaan", + "bayankhongor", + "moron", + "bulgan", + "mandalgovi", + "darhan", + "dzuunharaa", + "arvayheer", + "dalandzadgad", + "erdenet", + "ulaanbaatar" + ], + "provinces": [ + "selenge", + "töv", + "arhangay", + "dornogovi", + "hentiy", + "bayanhongor", + "hövsgöl", + "bulgan", + "dundgovi", + "övörhangay", + "ömnögovi", + "orhon", + "ulaanbaatar" + ] + }, + { + "timezone": "asia/hovd", + "country": "mongolia", + "iso2": "mn", + "cities": [ + "olgiy", + "hodrogo", + "uliastay", + "altay", + "ulaangom", + "dund-us" + ], + "provinces": [ + "bayan-ölgiy", + "dzavhan", + "govi-altay", + "uvs", + "hovd" + ] + }, + { + "timezone": "asia/choibalsan", + "country": "mongolia", + "iso2": "mn", + "cities": [ + "baruun urt", + "choybalsan" + ], + "provinces": [ + "sühbaatar", + "dornod" + ] + }, + { + "timezone": "europe/podgorica", + "country": "montenegro", + "iso2": "me", + "cities": [ + "podgorica" + ], + "provinces": [ + "podgorica" + ] + }, + { + "timezone": "africa/casablanca", + "country": "morocco", + "iso2": "ma", + "cities": [ + "ksar el kebir", + "larache", + "taza", + "ouezzane", + "kenitra", + "settat", + "er rachidia", + "meknes", + "tiznit", + "el jadida", + "tan tan", + "tangier", + "agadir", + "goulimine", + "oujda", + "safi", + "fez", + "rabat", + "marrakesh", + "casablanca" + ], + "provinces": [ + "tanger - tétouan", + "taza - al hoceima - taounate", + "gharb - chrarda - béni hssen", + "chaouia - ouardigha", + "meknès - tafilalet", + "souss - massa - draâ", + "doukkala - abda", + "guelmim - es-semara", + "oriental", + "fès - boulemane", + "rabat - salé - zemmour - zaer", + "marrakech - tensift - al haouz", + "grand casablanca" + ] + }, + { + "timezone": "africa/el_aaiun", + "country": "morocco", + "iso2": "ma", + "cities": [ + "dawra", + "lemsid", + "bir anzarane", + "smara", + "ad dakhla", + "laayoune", + "bir lehlou" + ], + "provinces": [ + "laâyoune - boujdour - sakia el hamra", + "oued el dahab", + "guelmim - es-semara" + ] + }, + { + "timezone": "africa/maputo", + "country": "mozambique", + "iso2": "mz", + "cities": [ + "moatize", + "manica", + "espungabera", + "montepuez", + "mocimboa", + "marrupa", + "cuamba", + "ligonha", + "macia", + "massangena", + "mapai", + "dondo", + "chiramba", + "mocuba", + "nicuadala", + "maxixe", + "panda", + "quissico", + "vilanculos", + "matola", + "chimoio", + "lichinga", + "angoche", + "mocambique", + "inhambane", + "tete", + "pemba", + "nampula", + "xai-xai", + "quelimane", + "nacala", + "beira", + "maputo" + ], + "provinces": [ + "tete", + "manica", + "cabo delgado", + "nassa", + "nampula", + "gaza", + "sofala", + "zambezia", + "inhambane", + "maputo" + ] + }, + { + "timezone": "africa/lusaka", + "country": "mozambique", + "iso2": "mz", + "cities": [ + "luangwa", + "kawambwa", + "nchelenge", + "chinsali", + "kasama", + "kapiri mposhi", + "mumbwa", + "chingola", + "chililabombwe", + "nyimba", + "lundazi", + "chipata", + "mwinilunga", + "kasempa", + "solwezi", + "choma", + "mongu", + "kaoma", + "sesheke", + "lukulu", + "kalabo", + "senanga", + "mansa", + "mpika", + "mbala", + "luanshya", + "ndola", + "zambezi", + "kafue", + "mazabuka", + "kabwe", + "mufulira", + "kitwe", + "livingstone", + "lusaka" + ], + "provinces": [ + "tete", + "luapula", + "northern", + "central", + "copperbelt", + "eastern", + "north-western", + "southern", + "western", + "lusaka" + ] + }, + { + "timezone": "asia/rangoon", + "country": "myanmar", + "iso2": "mm", + "cities": [ + "loikaw", + "pa-an", + "haka", + "taunggyi", + "sagaing", + "myingyan", + "letpadan", + "taungoo", + "thongwa", + "mudon", + "ye", + "mawlamyine", + "kyaukphyu", + "wakema", + "labutta", + "phyarpon", + "yandoon", + "hinthada", + "pathein", + "allanmyo", + "yaynangyoung", + "chauk", + "pakokku", + "namtu", + "dawei", + "shwebo", + "bago", + "pyu", + "pyay", + "magway", + "myitkyina", + "monywa", + "myeik", + "mandalay", + "sittwe", + "naypyidaw", + "rangoon" + ], + "provinces": [ + "kayah", + "kayin", + "chin", + "shan", + "sagaing", + "mandalay", + "bago", + "yangon", + "mon", + "rakhine", + "ayeyarwady", + "magway", + "tanintharyi", + "kachin" + ] + }, + { + "timezone": "africa/windhoek", + "country": "namibia", + "iso2": "na", + "cities": [ + "omaruru", + "karibib", + "otavi", + "gobabis", + "karasburg", + "bethanie", + "oranjemund", + "mariental", + "rehoboth", + "outjo", + "opuwo", + "usakos", + "okahandja", + "otjiwarongo", + "oshikango", + "katima mulilo", + "keetmanshoop", + "maltahohe", + "swakopmund", + "ongwediva", + "rundu", + "tsumeb", + "luderitz", + "walvis bay", + "windhoek", + "grootfontein" + ], + "provinces": [ + "erongo", + "otjozondjupa", + "omaheke", + "karas", + "hardap", + "kunene", + "ohangwena", + "caprivi", + "oshana", + "kavango", + "oshikoto", + "khomas" + ] + }, + { + "timezone": "asia/kathmandu", + "country": "nepal", + "iso2": "np", + "cities": [ + "sallyan", + "baglung", + "jumla", + "bhairawa", + "dandeldhura", + "dhangarhi", + "ramechhap", + "bhimphedi", + "rajbiraj", + "ilam", + "lalitpur", + "hetauda", + "nepalganj", + "birganj", + "biratnagar", + "pokhara", + "kathmandu" + ], + "provinces": [ + "rapti", + "dhawalagiri", + "karnali", + "lumbini", + "mahakali", + "achham", + "janakpur", + "narayani", + "sagarmatha", + "mechi", + "bhaktapur", + "banke", + "bhojpur", + "gorkha" + ] + }, + { + "timezone": "europe/amsterdam", + "country": "netherlands", + "iso2": "nl", + "cities": [ + "assen", + "arnhem", + "maastricht", + "zwolle", + "middelburg", + "'s-hertogenbosch", + "eindhoven", + "leeuwarden", + "groningen", + "utrecht", + "haarlem", + "rotterdam", + "the hague", + "amsterdam" + ], + "provinces": [ + "drenthe", + "gelderland", + "limburg", + "overijssel", + "zeeland", + "noord-brabant", + "friesland", + "groningen", + "utrecht", + "noord-holland", + "zuid-holland" + ] + }, + { + "timezone": "pacific/noumea", + "country": "new caledonia", + "iso2": "nc", + "cities": [ + "noumea" + ], + "provinces": [ + "sud" + ] + }, + { + "timezone": "pacific/auckland", + "country": "new zealand", + "iso2": "nz", + "cities": [ + "greymouth", + "upper hutt", + "masterton", + "levin", + "waitakere", + "takapuna", + "whakatane", + "ashburton", + "kaiapoi", + "new plymouth", + "westport", + "hokitika", + "oamaru", + "palmerston north", + "wanganui", + "hastings", + "gisborne", + "rotorua", + "taupo", + "tauranga", + "timaru", + "nelson", + "whangarei", + "queenstown", + "invercargill", + "napier", + "manukau", + "hamilton", + "blenheim", + "dunedin", + "wellington", + "christchurch", + "auckland" + ], + "provinces": [ + "west coast", + "manawatu-wanganui", + "auckland", + "bay of plenty", + "canterbury", + "taranaki", + "otago", + "gisborne", + "nelson", + "northland", + "southland", + "marlborough" + ] + }, + { + "timezone": "america/managua", + "country": "nicaragua", + "iso2": "ni", + "cities": [ + "somoto", + "ocotal", + "san carlos", + "jinotepe", + "jinotega", + "masaya", + "esteli", + "boaco", + "juigalpa", + "rivas", + "san juan de nicaragua", + "granada", + "chinandega", + "matagalpa", + "puerto cabezas", + "leon", + "bluefields", + "managua" + ], + "provinces": [ + "madriz", + "nueva segovia", + "nicaragua", + "carazo", + "jinotega", + "masaya", + "estelí", + "boaco", + "chontales", + "granada", + "chinandega", + "matagalpa", + "atlántico norte", + "león", + "atlántico sur", + "managua" + ] + }, + { + "timezone": "africa/niamey", + "country": "niger", + "iso2": "ne", + "cities": [ + "goure", + "gaya", + "tillaberi", + "ayorou", + "birni nkonni", + "madaoua", + "diffa", + "nguigmi", + "dosso", + "arlit", + "djado", + "maradi", + "tahoua", + "zinder", + "niamey", + "agadez" + ], + "provinces": [ + "zinder", + "dosso", + "niamey", + "tahoua", + "diffa", + "agadez", + "maradi" + ] + }, + { + "timezone": "africa/lagos", + "country": "nigeria", + "iso2": "ng", + "cities": [ + "umuahia", + "uyo", + "owerri", + "dutse", + "damaturu", + "iwo", + "iseyin", + "biu", + "bama", + "aba", + "opobo", + "orlu", + "oturkpo", + "calabar", + "wukari", + "jalingo", + "kontagora", + "bida", + "abeokuta", + "ijebu ode", + "akure", + "ikare", + "owo", + "ondo", + "ado ekiti", + "ife", + "oshogbo", + "oyo", + "awka", + "onitsha", + "azare", + "bauchi", + "gombe", + "kumo", + "sapele", + "nsukka", + "lokoja", + "idah", + "lafia", + "keffi", + "funtua", + "katsina", + "gusau", + "nguru", + "gashua", + "potiskum", + "birnin kebbi", + "koko", + "mubi", + "numan", + "ilorin", + "minna", + "zaria", + "jos", + "yola", + "benin city", + "maiduguri", + "port harcourt", + "makurdi", + "ibadan", + "ogbomosho", + "warri", + "kaduna", + "enugu", + "sokoto", + "abuja", + "kano", + "lagos" + ], + "provinces": [ + "abia", + "akwa ibom", + "imo", + "jigawa", + "yobe", + "osun", + "oyo", + "borno", + "benue", + "cross river", + "taraba", + "niger", + "ogun", + "ondo", + "ekiti", + "anambra", + "bauchi", + "gombe", + "delta", + "enugu", + "kogi", + "nassarawa", + "katsina", + "zamfara", + "kebbi", + "adamawa", + "kwara", + "kaduna", + "plateau", + "edo", + "rivers", + "sokoto", + "federal capital territory", + "kano", + "lagos" + ] + }, + { + "timezone": "asia/pyongyang", + "country": "north korea", + "iso2": "kp", + "cities": [ + "sariwon", + "sin-ni", + "changyon", + "anbyon", + "munchon", + "kaesong", + "chosan", + "manpo", + "sunchon", + "kimhyonggwon", + "pyongsan", + "ongjin", + "haeju", + "kilchu", + "musan", + "sonbong", + "kanggye", + "hungnam", + "taedong", + "chongju", + "hyeson", + "nampo", + "chongjin", + "kimchaek", + "hamhung", + "wonsan", + "sinuiju", + "pyongyang" + ], + "provinces": [ + "hwanghae-bukto", + "p'yongan-namdo", + "hwanghae-namdo", + "kangwon-do", + "kaesong", + "chagang-do", + "ryanggang", + "hamgyong-bukto", + "hamgyong-namdo", + "p'yongan-bukto", + "namp'o-si", + "p'yongyang" + ] + }, + { + "timezone": "asia/famagusta", + "country": "northern cyprus", + "iso2": null, + "cities": [ + "kyrenia", + "ammochostos" + ], + "provinces": [] + }, + { + "timezone": "pacific/saipan", + "country": "northern mariana islands", + "iso2": "mp", + "cities": [ + "capitol hill" + ], + "provinces": [] + }, + { + "timezone": "europe/oslo", + "country": "norway", + "iso2": "no", + "cities": [ + "arendal", + "vossavangen", + "hermansverk", + "baerum", + "hamar", + "tonsberg", + "finnsnes", + "gjovik", + "rorvik", + "harstad", + "alesund", + "sandnes", + "drammen", + "moss", + "steinkjer", + "svolvaer", + "mo i rana", + "narvik", + "bodo", + "haugesund", + "stavanger", + "skien", + "namsos", + "alta", + "vadso", + "molde", + "lillehammer", + "kirkenes", + "kristiansand", + "hammerfest", + "tromso", + "trondheim", + "bergen", + "oslo" + ], + "provinces": [ + "aust-agder", + "hordaland", + "sogn og fjordane", + "akershus", + "hedmark", + "vestfold", + "troms", + "oppland", + "nord-trøndelag", + "møre og romsdal", + "rogaland", + "buskerud", + "ãstfold", + "nordland", + "telemark", + "finnmark", + "vest-agder", + "sør-trøndelag", + "oslo" + ] + }, + { + "timezone": "asia/muscat", + "country": "oman", + "iso2": "om", + "cities": [ + "alayat samail", + "dawwah", + "mirbat", + "ibri", + "salalah", + "suhar", + "as sib", + "nizwa", + "sur", + "muscat" + ], + "provinces": [ + "ad dakhliyah", + "ash sharqiyah", + "dhofar", + "al dhahira", + "al batnah", + "muscat" + ] + }, + { + "timezone": "asia/karachi", + "country": "pakistan", + "iso2": "pk", + "cities": [ + "parachinar", + "sialkote", + "sheikhu pura", + "gujrat", + "sahiwal", + "chiniot", + "rahimyar khan", + "mansehra", + "kohat", + "abbottabad", + "mardan", + "gwadar", + "zhob", + "gilgit", + "kasur", + "kundian", + "okara", + "jhang", + "sargodha", + "dera ghazi khan", + "sadiqabad", + "nawabshah", + "bannu", + "dera ismail khan", + "chaman", + "turbat", + "faisalabad", + "rawalpindi", + "bahawalpur", + "mirput khas", + "sukkur", + "saidu", + "gujranwala", + "quetta", + "larkana", + "islamabad", + "multan", + "hyderabad", + "peshawar", + "lahore", + "karachi" + ], + "provinces": [ + "f.a.t.a.", + "punjab", + "khyber-pakhtunkhwa", + "n.w.f.p.", + "baluchistan", + "northern areas", + "sind", + "f.c.t." + ] + }, + { + "timezone": "pacific/palau", + "country": "palau", + "iso2": "pw", + "cities": [ + "koror", + "melekeok" + ], + "provinces": [] + }, + { + "timezone": "asia/hebron", + "country": "palestine", + "iso2": "ps", + "cities": [ + "ramallah", + "al khalil", + "nablus" + ], + "provinces": [] + }, + { + "timezone": "asia/gaza", + "country": "palestine", + "iso2": "ps", + "cities": [ + "gaza" + ], + "provinces": [] + }, + { + "timezone": "america/panama", + "country": "panama", + "iso2": "pa", + "cities": [ + "el porvenir", + "penonome", + "chitre", + "jaque", + "bocas del toro", + "almirante", + "las tablas", + "santiago", + "la palma", + "colon", + "balboa", + "puerto armuelles", + "david", + "panama city" + ], + "provinces": [ + "kuna yala", + "coclé", + "herrera", + "darién", + "bocas del toro", + "los santos", + "veraguas", + "colón", + "panama", + "chiriquí" + ] + }, + { + "timezone": "pacific/port_moresby", + "country": "papua new guinea", + "iso2": "pg", + "cities": [ + "wabag", + "vanimo", + "kundiawa", + "kerema", + "lorengau", + "kimbe", + "daru", + "mendi", + "abau", + "alotau", + "popondetta", + "hoskins", + "wewak", + "madang", + "kavieng", + "goroka", + "mt. hagen", + "rabaul", + "lae", + "port moresby" + ], + "provinces": [ + "enga", + "sandaun", + "chimbu", + "gulf", + "manus", + "west new britain", + "southern highlands", + "central", + "milne bay", + "northern", + "east sepik", + "madang", + "new ireland", + "eastern highlands", + "western highlands", + "east new britain", + "morobe" + ] + }, + { + "timezone": "pacific/bougainville", + "country": "papua new guinea", + "iso2": "pg", + "cities": [ + "arawa", + "sohano", + "kieta" + ], + "provinces": [ + "north solomons" + ] + }, + { + "timezone": "asia/manila", + "country": "philippines", + "iso2": "ph", + "cities": [ + "san carlos", + "cadiz", + "pagadian", + "ozamis", + "tarlac", + "cabanatuan", + "olongapo", + "dagupan", + "san pablo", + "quezon city", + "pasay city", + "iligan", + "ormac", + "tacloban", + "butuan", + "tagum", + "surigao", + "gingoog", + "legazpi", + "tuguegarao", + "vigan", + "bacolod", + "roxas", + "puerto princesa", + "naga", + "angeles", + "batangas", + "cotabato", + "calbayog", + "cagayan de oro", + "zamboanga", + "laoag", + "baguio city", + "general santos", + "cebu", + "iloilo", + "davao", + "manila" + ], + "provinces": [ + "negros occidental", + "zamboanga del sur", + "misamis occidental", + "tarlac", + "nueva ecija", + "zambales", + "pangasinan", + "laguna", + "metropolitan manila", + "lanao del norte", + "leyte", + "agusan del norte", + "davao del norte", + "dinagat islands", + "misamis oriental", + "albay", + "cagayan", + "ilocos sur", + "capiz", + "palawan", + "camarines sur", + "pampanga", + "batangas", + "shariff kabunsuan", + "samar", + "ilocos norte", + "benguet", + "south cotabato", + "cebu", + "iloilo", + "davao del sur" + ] + }, + { + "timezone": "europe/warsaw", + "country": "poland", + "iso2": "pl", + "cities": [ + "olsztyn", + "elblag", + "inowroclaw", + "bytom", + "opole", + "koszalin", + "elk", + "gdynia", + "wroclaw", + "szczecin", + "zielona gora", + "poznan", + "grudziadz", + "bydgoszcz", + "katowice", + "gliwice", + "kielce", + "bialystok", + "lublin", + "rzeszow", + "lodz", + "gdansk", + "krakow", + "warsaw" + ], + "provinces": [ + "warmian-masurian", + "kuyavian-pomeranian", + "silesian", + "opole", + "west pomeranian", + "pomeranian", + "lower silesian", + "lubusz", + "greater poland", + "swietokrzyskie", + "podlachian", + "lublin", + "subcarpathian", + "lódz", + "lesser poland", + "masovian" + ] + }, + { + "timezone": "europe/lisbon", + "country": "portugal", + "iso2": "pt", + "cities": [ + "aveiro", + "leiria", + "viana do castelo", + "beja", + "evora", + "portalegre", + "santarem", + "braganca", + "castelo branco", + "guarda", + "viseu", + "vila real", + "braga", + "covilha", + "portimao", + "faro", + "coimbra", + "setubal", + "porto", + "lisbon" + ], + "provinces": [ + "aveiro", + "leiria", + "viana do castelo", + "beja", + "évora", + "portalegre", + "santarém", + "bragança", + "castelo branco", + "guarda", + "viseu", + "vila real", + "braga", + "faro", + "coimbra", + "lisboa", + "porto" + ] + }, + { + "timezone": "atlantic/azores", + "country": "portugal", + "iso2": "pt", + "cities": [ + "horta", + "angra do heroismo", + "ponta delgada" + ], + "provinces": [ + "azores" + ] + }, + { + "timezone": "atlantic/madeira", + "country": "portugal", + "iso2": "pt", + "cities": [ + "funchal" + ], + "provinces": [ + "madeira" + ] + }, + { + "timezone": "america/puerto_rico", + "country": "puerto rico", + "iso2": "pr", + "cities": [ + "ponce", + "mayaguez", + "arecibo", + "san juan" + ], + "provinces": [] + }, + { + "timezone": "asia/qatar", + "country": "qatar", + "iso2": "qa", + "cities": [ + "doha" + ], + "provinces": [ + "ad dawhah" + ] + }, + { + "timezone": "europe/bucharest", + "country": "romania", + "iso2": "ro", + "cities": [ + "targu jiu", + "slatina", + "alexandria", + "targoviste", + "giurgiu", + "slobozia", + "alba lulia", + "bistrita", + "deva", + "zalau", + "satu mare", + "rimnicu vilcea", + "sfintu-gheorghe", + "miercurea-cuic", + "piatra-neamt", + "braila", + "vaslui", + "drobeta-turnu severin", + "tulcea", + "arad", + "oradea", + "sibiu", + "suceava", + "buzau", + "galati", + "focsani", + "craiova", + "calarasi", + "resita", + "timisoara", + "botosani", + "baia mare", + "tirgu mures", + "pitesti", + "brasov", + "ploiesti", + "bacau", + "cluj-napoca", + "constanta", + "iasi", + "bucharest" + ], + "provinces": [ + "gorj", + "olt", + "teleorman", + "dâmbovita", + "giurgiu", + "ialomita", + "alba", + "bistrita-nasaud", + "hunedoara", + "salaj", + "satu mare", + "vâlcea", + "covasna", + "harghita", + "neamt", + "braila", + "vaslui", + "mehedinti", + "constanta", + "arad", + "bihor", + "sibiu", + "suceava", + "buzau", + "galati", + "vrancea", + "dolj", + "calarasi", + "caras-severin", + "timis", + "botosani", + "maramures", + "mures", + "arges", + "brasov", + "prahova", + "bacau", + "cluj", + "iasi", + "bucharest" + ] + }, + { + "timezone": "europe/moscow", + "country": "russia", + "iso2": "ru", + "cities": [ + "nazran", + "maykop", + "mozdok", + "georgievsk", + "pyatigorsk", + "kislovodsk", + "nevinnomyssk", + "severomorsk", + "apatity", + "polyarnyy", + "slantsy", + "kolpino", + "novozybkov", + "dyatkovo", + "shuya", + "kineshma", + "balakhna", + "arzamas", + "rzhev", + "vyshnniy volochek", + "uglich", + "yelets", + "orekhovo-zuevo", + "klin", + "sergiyev posad", + "kolomna", + "bataysk", + "taganrog", + "novocherkassk", + "kamensk shakhtinskiy", + "novoshakhtinsk", + "aleksin", + "novomoskovsk", + "shchekino", + "shebekino", + "gubkin", + "apsheronsk", + "kropotkin", + "ruzayevka", + "kirsanov", + "michurinsk", + "borisoglebsk", + "severnyy", + "naberezhnyye chelny", + "zelenodolsk", + "leninogorsk", + "bugulma", + "cherkessk", + "vladikavkaz", + "blagodarnyy", + "zelenokumsk", + "nikel", + "monchegorsk", + "kirovsk", + "borovichi", + "staraya russa", + "volkhov", + "tikhvin", + "svetogorsk", + "gatchina", + "luga", + "klintsy", + "roslavl", + "safonovo", + "vyazma", + "segezha", + "vichuga", + "sharya", + "buy", + "dzerzhinsk", + "vyska", + "kimry", + "bezhetsk", + "nelidovo", + "bologoye", + "torzhok", + "sokol", + "cherepovets", + "rybinsk", + "rostov", + "kaluga", + "kirov", + "obninsk", + "lgov", + "zheleznogorsk", + "gryazi", + "yegoryevsk", + "podolsk", + "solnechnogorsk", + "noginsk", + "serpukhov", + "livny", + "mtsensk", + "salsk", + "belaya kalitva", + "shakhty", + "millerovo", + "yefremov", + "bogoroditsk", + "starsy oskol", + "alekseyevka", + "valuyki", + "tuapse", + "gelendzhik", + "labinsk", + "armavir", + "timashevsk", + "tikhoretsk", + "yeysk", + "saransk", + "kamenka", + "kuznetsk", + "serdobsk", + "kasimov", + "sasovo", + "kotovsk", + "morshansk", + "kovrov", + "murom", + "varnek", + "bugrino", + "sosnogorsk", + "yoshkar ola", + "kanash", + "shumerlya", + "alatyr", + "almetyevsk", + "chistopol", + "nizhnekamsk", + "kaspiysk", + "derbent", + "buynaksk", + "umba", + "kovda", + "velikiy novgorod", + "velikiye luki", + "belomorsk", + "kem", + "krasino", + "matochkin shar", + "severodvinsk", + "kursk", + "tula", + "tambov", + "indiga", + "shoyna", + "syktyvkar", + "ukhta", + "cheboksary", + "makhachkala", + "kandalaksha", + "vyborg", + "kondopoga", + "rusanovo", + "mezen", + "velsk", + "kotlas", + "onega", + "ivanovo", + "kostroma", + "velikiy ustyug", + "lipetsk", + "orel", + "volgodonsk", + "belgorod", + "novorossiysk", + "vladimir", + "amderma", + "naryan mar", + "inta", + "usinsk", + "pechora", + "elista", + "naltchik", + "stavropol", + "pskov", + "bryansk", + "smolensk", + "petrozavodsk", + "tver", + "vologda", + "yaroslavl", + "sochi", + "krasnodar", + "ryazan", + "voronezh", + "vorkuta", + "groznyy", + "murmansk", + "archangel", + "nizhny novgorod", + "kazan", + "st. petersburg", + "moscow" + ], + "provinces": [ + "ingush", + "adygey", + "north ossetia", + "stavropol'", + "murmansk", + "leningrad", + "city of st. petersburg", + "bryansk", + "ivanovo", + "nizhegorod", + "tver'", + "yaroslavl'", + "lipetsk", + "moskovsskaya", + "rostov", + "tula", + "belgorod", + "krasnodar", + "mordovia", + "tambov", + "voronezh", + "komi", + "tatarstan", + "karachay-cherkess", + "novgorod", + "smolensk", + "karelia", + "kostroma", + "vologda", + "kaluga", + "kursk", + "orel", + "penza", + "ryazan'", + "vladimir", + "nenets", + "mariy-el", + "chuvash", + "dagestan", + "pskov", + "arkhangel'sk", + "kalmyk", + "kabardin-balkar", + "chechnya", + "moskva" + ] + }, + { + "timezone": "asia/irkutsk", + "country": "russia", + "iso2": "ru", + "cities": [ + "ust' ordynskiy", + "ulkan", + "kirensk", + "zheleznogorsk ilimskiy", + "vikhorevka", + "biryusinsk", + "taksimo", + "gusinoozyorsk", + "yerema", + "tayshet", + "usolye sibirskoye", + "slyudyanka", + "cheremkhovo", + "zima", + "tulun", + "nizhneudinsk", + "ust kut", + "bodaybo", + "novyy uoyin", + "bagdarin", + "severobaykalsk", + "kyakhta", + "ust-ulimsk", + "angarsk", + "ulan ude", + "bratsk", + "irkutsk" + ], + "provinces": [ + "ust-orda buryat", + "irkutsk", + "buryat" + ] + }, + { + "timezone": "asia/anadyr", + "country": "russia", + "iso2": "ru", + "cities": [ + "enurmino", + "lavrentiya", + "zvezdnyy", + "mukhomornoye", + "beringovskiy", + "bilibino", + "mys shmidta", + "egvekinot", + "omolon", + "pevek", + "provideniya", + "uelen", + "ugolnyye kopi", + "anadyr" + ], + "provinces": [ + "chukchi autonomous okrug" + ] + }, + { + "timezone": "asia/srednekolymsk", + "country": "russia", + "iso2": "ru", + "cities": [ + "mikhalkino", + "logashkino", + "severo kurilsk", + "cherskiy", + "srednekolymsk", + "zyryanka", + "ambarchik", + "chokurdakh" + ], + "provinces": [ + "koryak", + "sakha (yakutia)", + "sakhalin" + ] + }, + { + "timezone": "europe/kaliningrad", + "country": "russia", + "iso2": "ru", + "cities": [ + "chernyakhovsk", + "sovetsk", + "kaliningrad" + ], + "provinces": [ + "kaliningrad" + ] + }, + { + "timezone": "europe/volgograd", + "country": "russia", + "iso2": "ru", + "cities": [ + "nikolayevsk", + "kamyshin", + "pallasovka", + "frolovo", + "volzhskiy", + "mikhaylovka", + "uryupinsk", + "volgograd" + ], + "provinces": [ + "volgograd" + ] + }, + { + "timezone": "asia/yekaterinburg", + "country": "russia", + "iso2": "ru", + "cities": [ + "oktyabrskiy", + "plast", + "bakal", + "verkhniy ufaley", + "krasnoturinsk", + "asbest", + "alapayevsk", + "krasnouralsk", + "severouralsk", + "novotroitsk", + "buguruslan", + "nefteyugansk", + "solikamsk", + "kizel", + "rayevskiy", + "sibay", + "kumertau", + "salavat", + "belebey", + "tuymazy", + "neftekamsk", + "troitsk", + "yemanzhelinsk", + "kartaly", + "asha", + "miass", + "kyshtym", + "kurtamysh", + "shadrinsk", + "yamburg", + "nakhodka", + "kamensk uralskiy", + "polevskoy", + "tavda", + "artemovskiy", + "nevyansk", + "verkhnyaya salda", + "nizhnyaya tura", + "karpinsk", + "ivdel", + "krasnoufimsk", + "sol-lletsk", + "dombarovskiy", + "mednogorsk", + "gay", + "buzuluk", + "peregrebnoye", + "saranpaul", + "uray", + "laryak", + "kogalym", + "megion", + "ishim", + "golyshmanovo", + "yalutorovsk", + "kudymkar", + "kungur", + "krasnokamsk", + "chusovoy", + "gubakha", + "sterlitamak", + "kurgan", + "novyy port", + "salekhard", + "gyda", + "tazovskiy", + "novy urengoy", + "nadym", + "noyabrsk", + "serov", + "orsk", + "igrim", + "nyagan", + "khanty mansiysk", + "nizhenvartovsk", + "numto", + "tobolsk", + "birsk", + "zlatoust", + "pervouralsk", + "berezniki", + "magnitogorsk", + "chelyabinsk", + "nizhny tagil", + "orenburg", + "tyumen", + "ufa", + "yekaterinburg", + "surgut" + ], + "provinces": [ + "bashkortostan", + "chelyabinsk", + "sverdlovsk", + "orenburg", + "khanty-mansiy", + "perm'", + "kurgan", + "yamal-nenets", + "tyumen'", + "komi-permyak" + ] + }, + { + "timezone": "europe/kirov", + "country": "russia", + "iso2": "ru", + "cities": [ + "kirovo-chepetsk", + "sovetsk", + "slobodskoy", + "kirs", + "omutninsk", + "kotelnich", + "kirov" + ], + "provinces": [ + "kirov" + ] + }, + { + "timezone": "europe/samara", + "country": "russia", + "iso2": "ru", + "cities": [ + "chapayevsk", + "syzran", + "novokuybishevsk", + "sarapul", + "mozhga", + "votkinsk", + "glazov", + "otradnyy", + "tolyatti", + "izhevsk", + "samara" + ], + "provinces": [ + "samara", + "udmurt" + ] + }, + { + "timezone": "asia/novokuznetsk", + "country": "russia", + "iso2": "ru", + "cities": [ + "leninsk kuznetsky", + "anzhero sudzhensk", + "kiselevsk", + "mundybash", + "tashtagol", + "guryevsk", + "yurga", + "topki", + "mariinsk", + "prokopyevsk", + "novokuznetsk", + "kemerovo" + ], + "provinces": [ + "kemerovo" + ] + }, + { + "timezone": "asia/krasnoyarsk", + "country": "russia", + "iso2": "ru", + "cities": [ + "chernogorsk", + "abaza", + "zaozernyy", + "bogotol", + "shira", + "yessey", + "kodinskiy", + "artemovsk", + "uyar", + "uzhur", + "sayanogorsk", + "podkamennaya", + "igarka", + "agapa", + "boyarka", + "nordvik", + "chelyuskin", + "tura", + "noginsk", + "komsa", + "kansk", + "achinsk", + "yeniseysk", + "lesosibirsk", + "turukhansk", + "vorontsovo", + "starorybnoye", + "mikhaylova", + "dudinka", + "teli", + "abakan", + "norilsk", + "khatanga", + "kyzyl", + "krasnoyarsk", + "dickson" + ], + "provinces": [ + "khakass", + "krasnoyarsk", + "evenk", + "taymyr", + "tuva" + ] + }, + { + "timezone": "asia/novosibirsk", + "country": "russia", + "iso2": "ru", + "cities": [ + "iskitim", + "toguchin", + "kupina", + "cherepanovo", + "kargat", + "ob", + "karasuk", + "barabinsk", + "tatarsk", + "novosibirsk" + ], + "provinces": [ + "novosibirsk" + ] + }, + { + "timezone": "asia/chita", + "country": "russia", + "iso2": "ru", + "cities": [ + "shilka", + "sherlovaya gora", + "petrovsk zabaykalskiy", + "aginskoye", + "nerchinsk", + "olovyannaya", + "mogocha", + "krasnokamensk", + "borzya", + "khilok", + "bukachacha", + "chita" + ], + "provinces": [ + "chita", + "aga buryat" + ] + }, + { + "timezone": "asia/vladivostok", + "country": "russia", + "iso2": "ru", + "cities": [ + "arsenyev", + "partizansk", + "dalnerechensk", + "zemlya bunge", + "obluchye", + "vanino", + "kavalerovo", + "spassk dalniy", + "shalaurova", + "ust kuyga", + "tukchi", + "amursk", + "bikin", + "vyazemskiy", + "chegdomyn", + "nakhodka", + "ussuriysk", + "lesozavodsk", + "kavache", + "verkhoyansk", + "birobidzhan", + "khakhar", + "de kastri", + "chumikan", + "komsomolsk na amure", + "ayan", + "nikolayevsk na amure", + "savetskaya gavan", + "dalnegorsk", + "batagay", + "okhotsk", + "khabarovsk", + "vladivostok", + "nizhneyansk" + ], + "provinces": [ + "primor'ye", + "sakha (yakutia)", + "yevrey", + "khabarovsk" + ] + }, + { + "timezone": "asia/yakutsk", + "country": "russia", + "iso2": "ru", + "cities": [ + "khorgo", + "put lenina", + "progress", + "belogorsk", + "nyukzha", + "pokrovsk", + "verkhnevilyuysk", + "vitim", + "olyokminsk", + "tunguskhaya", + "natara", + "zhilinda", + "trofimovsk", + "svobodnyy", + "zeya", + "magdagachi", + "shimanovsk", + "skovorodino", + "tynda", + "neryungri", + "chernyshevskiy", + "terbyas", + "vilyuysk", + "sangar", + "menkere", + "saskylakh", + "govorovo", + "sagastyr", + "ust olensk", + "suntar", + "olenek", + "udachnyy", + "blagoveshchensk", + "lensk", + "aldan", + "mirnyy", + "zhigansk", + "yakutsk", + "tiksi" + ], + "provinces": [ + "sakha (yakutia)", + "amur" + ] + }, + { + "timezone": "asia/magadan", + "country": "russia", + "iso2": "ru", + "cities": [ + "omchak", + "siglan", + "karamken", + "strelka", + "evensk", + "palatka", + "omsukchan", + "susuman", + "magadan" + ], + "provinces": [ + "maga buryatdan" + ] + }, + { + "timezone": "asia/sakhalin", + "country": "russia", + "iso2": "ru", + "cities": [ + "uglegorsk", + "kholmsk", + "krasnogorsk", + "poronaysk", + "makarov", + "dolinsk", + "nevelsk", + "nogliki", + "aleksandrovsk sakhalinskiy", + "korsakov", + "okha", + "yuzhno sakhalinsk" + ], + "provinces": [ + "sakhalin" + ] + }, + { + "timezone": "asia/kamchatka", + "country": "russia", + "iso2": "ru", + "cities": [ + "pakhachi", + "utkholok", + "bol'sheretsk", + "il'pyrskiy", + "korf", + "manily", + "oktyabrskiy", + "klyuchi", + "ust kamchatsk", + "palana", + "petropavlovsk kamchatskiy" + ], + "provinces": [ + "kamchatka" + ] + }, + { + "timezone": "asia/tomsk", + "country": "russia", + "iso2": "ru", + "cities": [ + "timiryazevskiy", + "asino", + "strezhevoy", + "kolpashevo", + "tomsk" + ], + "provinces": [ + "tomsk" + ] + }, + { + "timezone": "europe/saratov", + "country": "russia", + "iso2": "ru", + "cities": [ + "engels", + "pugachev", + "volsk", + "atkarsk", + "balashov", + "balakovo", + "krasnoarmeysk", + "saratov" + ], + "provinces": [ + "saratov" + ] + }, + { + "timezone": "europe/ulyanovsk", + "country": "russia", + "iso2": "ru", + "cities": [ + "dimitrovgrad", + "ulyanovsk" + ], + "provinces": [ + "ul'yanovsk" + ] + }, + { + "timezone": "asia/omsk", + "country": "russia", + "iso2": "ru", + "cities": [ + "cherlak", + "kalachinsk", + "nazyvayevsk", + "isikul", + "tara", + "omsk" + ], + "provinces": [ + "omsk" + ] + }, + { + "timezone": "asia/barnaul", + "country": "russia", + "iso2": "ru", + "cities": [ + "biysk", + "zmeinogorsk", + "aleysk", + "novoaltaysk", + "kamenna obi", + "gornyak", + "kulunda", + "slavgorod", + "rubtsovsk", + "gorno altaysk", + "barnaul" + ], + "provinces": [ + "altay", + "gorno-altay" + ] + }, + { + "timezone": "asia/khandyga", + "country": "russia", + "iso2": "ru", + "cities": [ + "eldikan", + "chagda", + "khandyga", + "ust maya" + ], + "provinces": [ + "sakha (yakutia)" + ] + }, + { + "timezone": "europe/astrakhan", + "country": "russia", + "iso2": "ru", + "cities": [ + "akhtubinsk", + "astrakhan" + ], + "provinces": [ + "astrakhan'" + ] + }, + { + "timezone": "asia/ust-nera", + "country": "russia", + "iso2": "ru", + "cities": [ + "ust nera" + ], + "provinces": [ + "sakha (yakutia)" + ] + }, + { + "timezone": "africa/kigali", + "country": "rwanda", + "iso2": "rw", + "cities": [ + "gikongoro", + "kibuye", + "kibungo", + "nyanza", + "gitarama", + "butare", + "gisenyi", + "cyangugu", + "byumba", + "ruhengeri", + "kigali" + ], + "provinces": [ + "southern", + "western", + "eastern", + "northern", + "kigali city" + ] + }, + { + "timezone": "america/st_kitts", + "country": "saint kitts and nevis", + "iso2": "kn", + "cities": [ + "basseterre" + ], + "provinces": [] + }, + { + "timezone": "america/st_lucia", + "country": "saint lucia", + "iso2": "lc", + "cities": [ + "castries" + ], + "provinces": [] + }, + { + "timezone": "america/st_vincent", + "country": "saint vincent and the grenadines", + "iso2": "vc", + "cities": [ + "kingstown" + ], + "provinces": [] + }, + { + "timezone": "pacific/apia", + "country": "samoa", + "iso2": "ws", + "cities": [ + "apia" + ], + "provinces": [] + }, + { + "timezone": "europe/san_marino", + "country": "san marino", + "iso2": "sm", + "cities": [ + "san marino" + ], + "provinces": [] + }, + { + "timezone": "africa/sao_tome", + "country": "sao tome and principe", + "iso2": "st", + "cities": [ + "santo antonio", + "sao tome" + ], + "provinces": [] + }, + { + "timezone": "asia/riyadh", + "country": "saudi arabia", + "iso2": "sa", + "cities": [ + "an nabk", + "sakakah", + "yanbu al bahr", + "dawmat al jandal", + "qal at bishah", + "at taif", + "najran", + "al quwayiyah", + "al hillah", + "al mubarraz", + "al-qatif", + "az zahran", + "buraydah", + "hail", + "arar", + "rafha", + "al kharj", + "ad damman", + "hafar al batin", + "al jubayl", + "al qunfudhah", + "al hufuf", + "al wajh", + "abha", + "jizan", + "as sulayyil", + "medina", + "tabuk", + "jeddah", + "makkah", + "riyadh" + ], + "provinces": [ + "al jawf", + "al madinah", + "`asir", + "makkah", + "najran", + "ar riyad", + "ash sharqiyah", + "al quassim", + "ha'il", + "al hudud ash shamaliyah", + "tabuk", + "jizan" + ] + }, + { + "timezone": "indian/mahe", + "country": "seychelles", + "iso2": "sc", + "cities": [ + "victoria" + ], + "provinces": [] + }, + { + "timezone": "africa/freetown", + "country": "sierra leone", + "iso2": "sl", + "cities": [ + "makeni", + "koidu", + "kenema", + "bo", + "freetown" + ], + "provinces": [ + "northern", + "eastern", + "southern", + "western" + ] + }, + { + "timezone": "asia/singapore", + "country": "singapore", + "iso2": "sg", + "cities": [ + "singapore" + ], + "provinces": [] + }, + { + "timezone": "europe/bratislava", + "country": "slovakia", + "iso2": "sk", + "cities": [ + "banska bystrica", + "trnava", + "zvolen", + "zilina", + "kosice", + "presov", + "bratislava" + ], + "provinces": [ + "banskobystrický", + "trnavský", + "žilinský", + "košický", + "prešov", + "bratislavský" + ] + }, + { + "timezone": "europe/ljubljana", + "country": "slovenia", + "iso2": "si", + "cities": [ + "maribor", + "ljubljana" + ], + "provinces": [ + "maribor", + "osrednjeslovenska" + ] + }, + { + "timezone": "pacific/guadalcanal", + "country": "solomon islands", + "iso2": "sb", + "cities": [ + "gizo", + "lata", + "honiara" + ], + "provinces": [ + "choiseul", + "temotu", + "guadalcanal" + ] + }, + { + "timezone": "africa/mogadishu", + "country": "somalia", + "iso2": "so", + "cities": [ + "xuddur", + "garbahaarey", + "bu'aale", + "dhuusa mareeb", + "buurhakaba", + "luuq", + "ferfer", + "jawhar", + "hurdiyo", + "qardho", + "caluula", + "buur gaabo", + "baydhabo", + "marka", + "mereeg", + "beledweyne", + "boosaaso", + "bandarbeyla", + "gaalkacyo", + "eyl", + "garoowe", + "jamaame", + "kismaayo", + "mogadishu", + "laascaanood", + "ceerigaabo", + "boorama", + "burco", + "maydh", + "berbera", + "hargeysa" + ], + "provinces": [ + "bakool", + "gedo", + "jubbada dhexe", + "galguduud", + "bay", + "hiiraan", + "shabeellaha dhexe", + "bari", + "jubbada hoose", + "shabeellaha hoose", + "mudug", + "nugaal", + "banaadir" + ] + }, + { + "timezone": "africa/johannesburg", + "country": "south africa", + "iso2": "za", + "cities": [ + "colesberg", + "poffader", + "carnarvon", + "prieska", + "kuruman", + "knysna", + "swellendam", + "hermanus", + "paarl", + "bredasdorp", + "beaufort west", + "brits", + "bloemhof", + "potchefstroom", + "brandfort", + "bethlehem", + "springs", + "volksrust", + "nelspruit", + "komatipoort", + "middelburg", + "bethal", + "standerton", + "lebowakgomo", + "tzaneen", + "ulundi", + "ladysmith", + "port shepstone", + "ubomba", + "cradock", + "uitenhage", + "port alfred", + "grahamstown", + "port st. johns", + "aliwal north", + "queenstown", + "benoni", + "vereeniging", + "de aar", + "alexander bay", + "kimberley", + "oudtshoorn", + "vanhynsdorp", + "saldanha", + "mossel bay", + "vryburg", + "rustenburg", + "mmabatho", + "klerksdorp", + "kroonstad", + "polokwane", + "thohoyandou", + "musina", + "vryheid", + "pietermaritzburg", + "umtata", + "graaff reinet", + "bhisho", + "springbok", + "upington", + "worcester", + "george", + "welkom", + "east london", + "bloemfontein", + "pretoria", + "port elizabeth", + "durban", + "johannesburg", + "cape town" + ], + "provinces": [ + "northern cape", + "western cape", + "north west", + "orange free state", + "gauteng", + "mpumalanga", + "limpopo", + "kwazulu-natal", + "eastern cape" + ] + }, + { + "timezone": "atlantic/south_georgia", + "country": "south georgia and the islands", + "iso2": "gs", + "cities": [ + "grytviken" + ], + "provinces": [] + }, + { + "timezone": "asia/seoul", + "country": "south korea", + "iso2": "kr", + "cities": [ + "eumseong", + "cheongju", + "wonju", + "chuncheon", + "ansan", + "iksan", + "gyeongju", + "masan", + "yeosu", + "andong", + "jeju", + "gangneung", + "sokcho", + "jeonju", + "gunsan", + "mokpo", + "puch'on", + "songnam", + "goyang", + "suwon", + "pohang", + "ulsan", + "daegu", + "incheon", + "daejeon", + "gwangju", + "busan", + "seoul" + ], + "provinces": [ + "chungcheongbuk-do", + "gangwon-do", + "gyeonggi-do", + "jeollabuk-do", + "daegu", + "gyeongsangnam-do", + "gwangju", + "jeju", + "ulsan", + "taegu-gwangyoksi", + "inch'on-gwangyoksi", + "daejeon", + "kwangju-gwangyoksi", + "busan", + "seoul" + ] + }, + { + "timezone": "africa/juba", + "country": "south sudan", + "iso2": "ss", + "cities": [ + "bentiu", + "maridi", + "yei", + "melut", + "nasir", + "gogrial", + "kapoeta", + "aweil", + "rumbek", + "yambio", + "bor", + "nimule", + "juba", + "malakal", + "wau" + ], + "provinces": [ + "unity", + "west equatoria", + "central equatoria", + "upper nile", + "warap", + "east equatoria", + "north bahr-al-ghazal", + "lakes", + "jungoli", + "west bahr-al-ghazal" + ] + }, + { + "timezone": "europe/madrid", + "country": "spain", + "iso2": "es", + "cities": [ + "merida", + "marbella", + "linares", + "algeciras", + "leon", + "mataro", + "gijon", + "vitoria", + "almeria", + "malaga", + "jaen", + "huelva", + "albacete", + "toledo", + "guadalajara", + "santander", + "salamanca", + "burgos", + "tarragona", + "lorca", + "cartagena", + "oviedo", + "santiago de compostela", + "badajoz", + "logrono", + "san sebastian", + "alicante", + "castello", + "cadiz", + "granada", + "murcia", + "la coruna", + "ourense", + "pamplona", + "valladolid", + "palma", + "zaragoza", + "cordoba", + "vigo", + "bilbao", + "seville", + "valencia", + "barcelona", + "madrid" + ], + "provinces": [ + "extremadura", + "andalucía", + "castilla y león", + "cataluña", + "principado de asturias", + "país vasco", + "castilla-la mancha", + "cantabria", + "región de murcia", + "galicia", + "la rioja", + "comunidad valenciana", + "comunidad foral de navarra", + "islas baleares", + "aragón", + "comunidad de madrid" + ] + }, + { + "timezone": "atlantic/canary", + "country": "spain", + "iso2": "es", + "cities": [ + "arrecife", + "santa cruz de tenerife", + "las palmas" + ], + "provinces": [] + }, + { + "timezone": "africa/ceuta", + "country": "spain", + "iso2": "es", + "cities": [ + "ceuta", + "melilla" + ], + "provinces": [ + "ceuta", + "melilla" + ] + }, + { + "timezone": "asia/colombo", + "country": "sri lanka", + "iso2": "lk", + "cities": [ + "trincomalee", + "puttalan", + "ratnapura", + "batticaloa", + "kilinochchi", + "matara", + "badulla", + "moratuwa", + "galle", + "anuradhapura", + "jaffna", + "kandy", + "sri jawewardenepura kotte", + "colombo" + ], + "provinces": [ + "trincomalee", + "puttalam", + "ratnapura", + "batticaloa", + "kilinochchi", + "matara", + "badulla", + "colombo", + "galle", + "anuradhapura", + "jaffna", + "kandy" + ] + }, + { + "timezone": "africa/khartoum", + "country": "sudan", + "iso2": "sd", + "cities": [ + "ed damazin", + "haiya", + "el manaqil", + "shendi", + "berber", + "kerma", + "ed dueim", + "umm ruwaba", + "en nuhud", + "muglad", + "tokar", + "medani", + "gedaref", + "eddamer", + "atbara", + "wadi halfa", + "merowe", + "kosti", + "sennar", + "el fasher", + "kadugli", + "babanusa", + "geneina", + "omdurman", + "el obeid", + "port sudan", + "niyala", + "dongola", + "kassala", + "khartoum" + ], + "provinces": [ + "blue nile", + "red sea", + "gezira", + "river nile", + "northern", + "white nile", + "north kurdufan", + "south kordofan", + "gedarif", + "sennar", + "northern darfur", + "south kordufan", + "west darfur", + "khartoum", + "south darfur", + "kassala" + ] + }, + { + "timezone": "america/paramaribo", + "country": "suriname", + "iso2": "sr", + "cities": [ + "onverwacht", + "groningen", + "brownsweg", + "moengo", + "nieuw amsterdam", + "nieuw nickerie", + "brokopondo", + "totness", + "cottica", + "paramaribo" + ], + "provinces": [ + "para", + "saramacca", + "brokopondo", + "marowijne", + "commewijne", + "nickerie", + "coronie", + "sipaliwini", + "paramaribo" + ] + }, + { + "timezone": "arctic/longyearbyen", + "country": "svalbard and jan mayen islands", + "iso2": "sj", + "cities": [ + "longyearbyen" + ], + "provinces": [ + "svalbard" + ] + }, + { + "timezone": "africa/mbabane", + "country": "swaziland", + "iso2": "sz", + "cities": [ + "piggs peak", + "siteki", + "manzini", + "hlatikulu", + "golela", + "lobamba", + "mbabane" + ], + "provinces": [ + "hhohho", + "lubombo", + "manzini", + "shiselweni" + ] + }, + { + "timezone": "europe/stockholm", + "country": "sweden", + "iso2": "se", + "cities": [ + "falun", + "nykoping", + "harnosand", + "karlskrona", + "mariestad", + "vannersborg", + "borlange", + "vasteraas", + "bollnas", + "gavle", + "kalmar", + "vaxjo", + "orebro", + "norrkoping", + "halmstad", + "karlstad", + "skelleftea", + "visby", + "trollhattan", + "boras", + "kristianstad", + "helsingborg", + "jonkoping", + "ornskoldsvik", + "linkoping", + "ostersund", + "kiruna", + "umea", + "uppsala", + "goteborg", + "lulea", + "sundsvall", + "malmo", + "stockholm" + ], + "provinces": [ + "dalarna", + "södermanland", + "västernorrland", + "blekinge", + "västra götaland", + "västmanland", + "gävleborg", + "kalmar", + "kronoberg", + "orebro", + "östergötland", + "halland", + "värmland", + "västerbotten", + "gotland", + "skåne", + "jönköping", + "jämtland", + "norrbotten", + "uppsala", + "stockholm" + ] + }, + { + "timezone": "europe/zurich", + "country": "switzerland", + "iso2": "ch", + "cities": [ + "delemont", + "neuchatel", + "aarau", + "stans", + "sion", + "herisau", + "saint gallen", + "bellinzona", + "glarus", + "schaffhausen", + "schwyz", + "frauenfeld", + "altdorf", + "zug", + "fribourg", + "liestal", + "solothurn", + "sarnen", + "appenzell", + "chur", + "biel", + "luzern", + "lugano", + "lausanne", + "basel", + "bern", + "zurich", + "geneva" + ], + "provinces": [ + "jura", + "neuchâtel", + "aargau", + "nidwalden", + "valais", + "appenzell ausserrhoden", + "sankt gallen", + "ticino", + "glarus", + "schaffhausen", + "schwyz", + "thurgau", + "uri", + "zug", + "fribourg", + "basel-landschaft", + "solothurn", + "obwalden", + "appenzell innerrhoden", + "graubünden", + "bern", + "lucerne", + "vaud", + "basel-stadt", + "zürich", + "genève" + ] + }, + { + "timezone": "asia/damascus", + "country": "syria", + "iso2": "sy", + "cities": [ + "dar'a", + "al ladhiqiyah", + "madinat ath thawrah", + "izaz", + "manbij", + "idlib", + "al qamishli", + "al hasakah", + "duma", + "tartus", + "ar raqqah", + "hamah", + "tadmur", + "abu kamal", + "dayr az zawr", + "as suwayda", + "ad nabk", + "al qunaytirah", + "hims", + "aleppo", + "damascus" + ], + "provinces": [ + "dar`a", + "lattakia (al ladhiqiyah)", + "ar raqqah", + "aleppo (halab)", + "idlib", + "hasaka (al haksa)", + "damascus", + "tartus", + "hamah", + "homs (hims)", + "dayr az zawr", + "as suwayda'", + "golan" + ] + }, + { + "timezone": "asia/taipei", + "country": "taiwan", + "iso2": "tw", + "cities": [ + "bade", + "pingzhen", + "taibao", + "taoyuan", + "yangmei", + "yilan", + "zhubei", + "douliou", + "zhongli", + "keelung", + "nantou", + "puzi", + "changhua", + "chiayi", + "hsinchu", + "miaoli", + "pingtung", + "hualien", + "new taipei", + "tainan", + "taitung", + "magong", + "taichung", + "kaohsiung", + "taipei" + ], + "provinces": [ + "taoyuan", + "chiayi", + "yilan", + "hsinchu", + "yunlin", + "keelung city", + "nantou", + "changhua", + "chiayi city", + "hsinchu city", + "miaoli", + "pingtung", + "hualien", + "new taipei city", + "tainan city", + "taitung", + "penghu", + "taichung city", + "kaohsiung city", + "taipei city" + ] + }, + { + "timezone": "asia/dushanbe", + "country": "tajikistan", + "iso2": "tj", + "cities": [ + "leninobod", + "qurghonteppa", + "konibodom", + "kuybyshevskiy", + "kulob", + "uroteppa", + "khorugh", + "khujand", + "dushanbe" + ], + "provinces": [ + "leninabad", + "khatlon", + "gorno-badakhshan", + "tadzhikistan territories" + ] + }, + { + "timezone": "africa/dar_es_salaam", + "country": "tanzania", + "iso2": "tz", + "cities": [ + "wete", + "kibaha", + "mkokotoni", + "tunduma", + "tukuyu", + "sumbawanga", + "mpanda", + "kipili", + "karema", + "geita", + "nyahanga", + "kahama", + "shinyanga", + "nzega", + "sikonge", + "biharamulo", + "bukoba", + "ngara", + "kakonko", + "kasulu", + "kanyato", + "uvinza", + "kigoma", + "mikumi", + "ifakara", + "kilosa", + "chake chake", + "kibiti", + "bagamoyo", + "kilindoni", + "mpwapwa", + "njombe", + "iringa", + "masasi", + "mtwara", + "tunduru", + "manyoni", + "itigi", + "singida", + "ngorongoro", + "oldeani", + "mbulu", + "babati", + "same", + "moshi", + "musoma", + "korogwe", + "tabora", + "lindi", + "songea", + "tanga", + "mwanza", + "morogoro", + "dodoma", + "arusha", + "mbeya", + "zanzibar", + "dar es salaam" + ], + "provinces": [ + "kaskazini-pemba", + "pwani", + "kaskazini-unguja", + "mbeya", + "rukwa", + "mwanza", + "shinyanga", + "tabora", + "kagera", + "kigoma", + "morogoro", + "kusini-pemba", + "dodoma", + "iringa", + "mtwara", + "ruvuma", + "singida", + "arusha", + "kilimanjaro", + "mara", + "tanga", + "lindi", + "zanzibar west", + "dar-es-salaam" + ] + }, + { + "timezone": "asia/bangkok", + "country": "thailand", + "iso2": "th", + "cities": [ + "mae hong son", + "phangnga", + "ranong", + "krabi", + "phatthalung", + "satun", + "lamphun", + "kamphaeng phet", + "phichit", + "phetchabun", + "supham buri", + "ang thong", + "chainat", + "nakhon nayok", + "sing buri", + "nakhon pathom", + "prachuap khiri khan", + "samut sakhon", + "samut songkhram", + "yasothon", + "chachoengsao", + "trat", + "kalasin", + "maha sarakham", + "roi et", + "pattani", + "chumphon", + "thung song", + "trang", + "yala", + "chiang rai", + "lampang", + "nan", + "phayao", + "phrae", + "phitsanulok", + "sukhothai", + "uttaradit", + "kanchanaburi", + "mae sot", + "tak", + "uthai thani", + "lop buri", + "prachin buri", + "ayutthaya", + "pathum thani", + "saraburi", + "nonthaburi", + "phetchaburi", + "hua hin", + "ratchaburi", + "samut prakan", + "sisaket", + "si racha", + "chon buri", + "chanthaburi", + "aranyaprathet", + "rayong", + "buriram", + "chaiyaphum", + "bua yai", + "surin", + "loei", + "nong khai", + "sakhon nakhon", + "udon thani", + "nakhon phanom", + "narathiwat", + "khon kaen", + "phuket", + "nakhon si thammarat", + "songkhla", + "hat yai", + "nakhon sawan", + "ubon ratchathani", + "surat thani", + "chiang mai", + "nakhon ratchasima", + "bangkok" + ], + "provinces": [ + "mae hong son", + "phangnga", + "ranong", + "krabi", + "phatthalung", + "satun", + "lamphun", + "kamphaeng phet", + "phichit", + "phetchabun", + "suphan buri", + "ang thong", + "chai nat", + "nakhon nayok", + "sing buri", + "nakhon pathom", + "prachuap khiri khan", + "samut sakhon", + "samut songkhram", + "yasothon", + "chachoengsao", + "trat", + "kalasin", + "maha sarakham", + "roi et", + "pattani", + "chumphon", + "nakhon si thammarat", + "trang", + "yala", + "chiang rai", + "lampang", + "nan", + "phayao", + "phrae", + "phitsanulok", + "sukhothai", + "uttaradit", + "kanchanaburi", + "tak", + "uthai thani", + "lop buri", + "prachin buri", + "phra nakhon si ayutthaya", + "pathum thani", + "saraburi", + "nonthaburi", + "phetchaburi", + "ratchaburi", + "samut prakan", + "si sa ket", + "chon buri", + "chanthaburi", + "sa kaeo", + "rayong", + "buri ram", + "chaiyaphum", + "nakhon ratchasima", + "surin", + "loei", + "nong khai", + "sakon nakhon", + "udon thani", + "nakhon phanom", + "narathiwat", + "khon kaen", + "phuket", + "songkhla (songkhla lake)", + "songkhla", + "nakhon sawan", + "ubon ratchathani", + "surat thani", + "chiang mai", + "bangkok metropolis" + ] + }, + { + "timezone": "america/nassau", + "country": "the bahamas", + "iso2": "bs", + "cities": [ + "freeport", + "nassau" + ], + "provinces": [] + }, + { + "timezone": "africa/banjul", + "country": "the gambia", + "iso2": "gm", + "cities": [ + "georgetown", + "basse santa su", + "kerewan", + "mansa konko", + "bansang", + "brikama", + "banjul" + ], + "provinces": [ + "maccarthy island", + "upper river", + "lower river", + "banjul" + ] + }, + { + "timezone": "africa/lome", + "country": "togo", + "iso2": "tg", + "cities": [ + "bassar", + "sotouboua", + "kpalime", + "sokode", + "mango", + "atakpame", + "lome" + ], + "provinces": [ + "kara", + "centre", + "plateaux", + "savanes", + "maritime" + ] + }, + { + "timezone": "pacific/tongatapu", + "country": "tonga", + "iso2": "to", + "cities": [ + "neiafu", + "nukualofa" + ], + "provinces": [] + }, + { + "timezone": "america/port_of_spain", + "country": "trinidad and tobago", + "iso2": "tt", + "cities": [ + "san fernando", + "port-of-spain" + ], + "provinces": [ + "san fernando", + "port of spain" + ] + }, + { + "timezone": "africa/tunis", + "country": "tunisia", + "iso2": "tn", + "cities": [ + "medemine", + "kebili", + "tataouine", + "l'ariana", + "jendouba", + "kasserine", + "sdid bouzid", + "siliana", + "mahdia", + "monasir", + "zaghouan", + "ben gardane", + "zarzis", + "dehibat", + "tozeur", + "beja", + "bizerte", + "nabeul", + "el kef", + "qasserine", + "gabes", + "gafsa", + "qairouan", + "sfax", + "sousse", + "tunis" + ], + "provinces": [ + "médenine", + "kebili", + "tataouine", + "manubah", + "jendouba", + "kassérine", + "sidi bou zid", + "siliana", + "mahdia", + "monastir", + "zaghouan", + "tozeur", + "béja", + "bizerte", + "nabeul", + "le kef", + "gabès", + "gafsa", + "kairouan", + "sfax", + "sousse", + "tunis" + ] + }, + { + "timezone": "europe/istanbul", + "country": "turkey", + "iso2": "tr", + "cities": [ + "kirklareli", + "bilecik", + "sakarya", + "kastamonu", + "burdur", + "kirsehir", + "nevsehir", + "antioch", + "giresun", + "sinop", + "tokat", + "coruh", + "bingol", + "bitlis", + "cankiri", + "nigde", + "yozgat", + "gumushane", + "siirt", + "tunceli", + "aydin", + "luleburgaz", + "isparta", + "kutahya", + "mugla", + "elazig", + "kahramanmaras", + "icel", + "corum", + "rize", + "tatvan", + "polatli", + "karabuk", + "nusaybin", + "hakkari", + "soke", + "balikesir", + "canakkale", + "edirne", + "tekirdag", + "kocaeli", + "bolu", + "afyon", + "denizli", + "manisa", + "adiyaman", + "malatya", + "tarsus", + "samandagi", + "hatay", + "iskenderun", + "amasya", + "ordu", + "sivas", + "bafra", + "erzurum", + "erzincan", + "agri", + "diyarbakir", + "mus", + "zonguldak", + "eregli", + "karaman", + "usak", + "kilis", + "kirikkale", + "kars", + "mardin", + "batman", + "van", + "adapazari", + "trabzon", + "sanliurfa", + "eskisehir", + "antalya", + "kayseri", + "gaziantep", + "izmir", + "bursa", + "samsun", + "konya", + "adana", + "ankara", + "istanbul" + ], + "provinces": [ + "kirklareli", + "bilecik", + "sakarya", + "kastamonu", + "burdur", + "kirsehir", + "nevsehir", + "hatay", + "giresun", + "sinop", + "tokat", + "artvin", + "bingöl", + "bitlis", + "çankiri", + "nigde", + "yozgat", + "gümüshane", + "siirt", + "tunceli", + "aydin", + "isparta", + "kütahya", + "mugla", + "elazig", + "k. maras", + "mersin", + "çorum", + "rize", + "ankara", + "zinguldak", + "mardin", + "hakkari", + "balikesir", + "çanakkale", + "edirne", + "tekirdag", + "kocaeli", + "bolu", + "afyon", + "denizli", + "manisa", + "adiyaman", + "malatya", + "amasya", + "ordu", + "sivas", + "samsun", + "erzurum", + "erzincan", + "agri", + "diyarbakir", + "mus", + "konya", + "karaman", + "usak", + "gaziantep", + "kinkkale", + "kars", + "batman", + "van", + "trabzon", + "sanliurfa", + "eskisehir", + "antalya", + "kayseri", + "izmir", + "bursa", + "adana", + "istanbul" + ] + }, + { + "timezone": "asia/ashgabat", + "country": "turkmenistan", + "iso2": "tm", + "cities": [ + "gyzlarbat", + "celeken", + "tejen", + "buzmeyin", + "koneurgench", + "balkanabat", + "kaka", + "atamyrat", + "dasoguz", + "turkmenbasy", + "turkmenabat", + "mary", + "ashgabat" + ], + "provinces": [ + "balkan", + "ahal", + "tashauz", + "chardzhou", + "mary" + ] + }, + { + "timezone": "america/grand_turk", + "country": "turks and caicos islands", + "iso2": "tc", + "cities": [ + "grand turk" + ], + "provinces": [] + }, + { + "timezone": "pacific/funafuti", + "country": "tuvalu", + "iso2": "tv", + "cities": [ + "funafuti" + ], + "provinces": [] + }, + { + "timezone": "africa/kampala", + "country": "uganda", + "iso2": "ug", + "cities": [ + "kalangala", + "kumi", + "kaberamaido", + "kayunga", + "iganga", + "kamuli", + "pallisa", + "mpigi", + "adjumani", + "nebbi", + "kiboga", + "nakasongola", + "bombo", + "masindi", + "fort portal", + "kibale", + "sironko", + "busia", + "katakwi", + "ntungamo", + "kisoro", + "jinja", + "soroti", + "arua", + "pakwach", + "moyo", + "entebbe", + "mubende", + "mityana", + "kitgum", + "lira", + "masindi-port", + "mbale", + "tororo", + "kaabong", + "moroto", + "masaka", + "katwe", + "mbarara", + "kabale", + "kasese", + "gulu", + "kampala" + ], + "provinces": [ + "kalangala", + "kumi", + "kaberamaido", + "kayunga", + "iganga", + "kamuli", + "pallisa", + "mpigi", + "adjumani", + "nebbi", + "kiboga", + "nakasongola", + "bamunanika", + "masindi", + "kabarole", + "kibale", + "budadiri", + "busia", + "usuk", + "ntungamo", + "kisoro", + "jinja", + "soroti", + "arua municipality", + "moyo", + "wakiso", + "mubende", + "busujju", + "kitgum", + "lira", + "bungokho", + "tororo", + "kaabong", + "moroto", + "masaka", + "kasese", + "kashari", + "kabale", + "aswa", + "kampala" + ] + }, + { + "timezone": "europe/kiev", + "country": "ukraine", + "iso2": "ua", + "cities": [ + "mykolayiv", + "chernihiv", + "khmelnytskyy", + "kamyanets-podilskyy", + "drohobych", + "uman", + "brovary", + "bila tserkva", + "illichivsk", + "konotop", + "kryvyy rih", + "makiyivka", + "horlivka", + "kramatorsk", + "kherson", + "voznesensk", + "nizhyn", + "rivne", + "chernivtsi", + "ivano-frankivsk", + "ternopil", + "lutsk", + "kovel", + "cherkasy", + "kirovohrad", + "izmayil", + "vinnytsya", + "korosten", + "shostka", + "nikopol", + "kupyansk", + "lysychansk", + "luhansk", + "poltava", + "kremenchuk", + "chernobyl", + "sumy", + "mariupol", + "lvov", + "odessa", + "zhytomyr", + "dnipropetrovsk", + "donetsk", + "kharkiv", + "kiev" + ], + "provinces": [ + "mykolayiv", + "chernihiv", + "khmel'nyts'kyy", + "l'viv", + "cherkasy", + "kiev", + "odessa", + "sumy", + "dnipropetrovs'k", + "donets'k", + "crimea", + "rivne", + "chernivtsi", + "ivano-frankivs'k", + "ternopil'", + "volyn", + "kirovohrad", + "vinnytsya", + "zhytomyr", + "kharkiv", + "luhans'k", + "poltava" + ] + }, + { + "timezone": "europe/uzhgorod", + "country": "ukraine", + "iso2": "ua", + "cities": [ + "uzhgorod" + ], + "provinces": [ + "transcarpathia" + ] + }, + { + "timezone": "europe/zaporozhye", + "country": "ukraine", + "iso2": "ua", + "cities": [ + "berdyansk", + "melitopol", + "zaporizhzhya" + ], + "provinces": [ + "zaporizhzhya" + ] + }, + { + "timezone": "europe/simferopol", + "country": "ukraine", + "iso2": "ua", + "cities": [ + "dzhankoy", + "yevpatoriya", + "kerch", + "simferopol", + "yalta", + "sevastapol" + ], + "provinces": [ + "crimea" + ] + }, + { + "timezone": "asia/dubai", + "country": "united arab emirates", + "iso2": "ae", + "cities": [ + "umm al qaywayn", + "sharjah", + "jabal ali", + "ras al khaymah", + "al fujayrah", + "al ayn", + "abu dhabi", + "dubai" + ], + "provinces": [ + "umm al qaywayn", + "sharjah", + "dubay", + "ras al khaymah", + "fujayrah", + "abu dhabi" + ] + }, + { + "timezone": "europe/london", + "country": "united kingdom", + "iso2": "gb", + "cities": [ + "greenock", + "sunderland", + "southampton", + "bristol", + "bournemouth", + "omagh", + "chester", + "swansea", + "carlisle", + "southend", + "reading", + "leicester", + "bradford", + "sheffield", + "fort william", + "ayr", + "aberdeen", + "perth", + "dundee", + "middlesbrough", + "coventry", + "bath", + "exeter", + "cambridge", + "kingston upon hull", + "londonderry", + "lisburn", + "penzance", + "york", + "blackpool", + "dumfries", + "scarborough", + "plymouth", + "ipswich", + "norwich", + "brighton", + "kirkwall", + "inverness", + "oxford", + "luton", + "portsmouth", + "peterborough", + "nottingham", + "stoke", + "dover", + "edinburgh", + "newcastle", + "liverpool", + "cardiff", + "wick", + "leeds", + "lerwick", + "manchester", + "birmingham", + "belfast", + "glasgow", + "london" + ], + "provinces": [ + "inverclyde", + "tyne and wear", + "southampton", + "bristol", + "bournemouth", + "omagh", + "cheshire", + "swansea", + "cumbria", + "southend-on-sea", + "oxfordshire", + "leicester", + "west yorkshire", + "south yorkshire", + "highland", + "south ayrshire", + "aberdeen", + "perthshire and kinross", + "dundee", + "stockton-on-tees", + "west midlands", + "bath and north east somerset", + "devon", + "cambridgeshire", + "kingston upon hull", + "derry", + "dungannon", + "cornwall", + "york", + "lancashire", + "dumfries and galloway", + "north yorkshire", + "plymouth", + "suffolk", + "norfolk", + "brighton and hove", + "moray", + "luton", + "portsmouth", + "peterborough", + "nottingham", + "stoke-on-trent", + "kent", + "edinburgh", + "merseyside", + "cardiff", + "manchester", + "belfast", + "glasgow", + "westminster" + ] + }, + { + "timezone": "america/chicago", + "country": "united states of america", + "iso2": "us", + "cities": [ + "faribault", + "mankato", + "albert lea", + "willmar", + "brainerd", + "crookston", + "devils lake", + "paragould", + "iowa city", + "ottumwa", + "spencer", + "ft. dodge", + "hutchinson", + "kansas city", + "lawrence", + "garden city", + "manhattan", + "hays", + "independence", + "kirksville", + "kearney", + "grand island", + "bartlesville", + "enid", + "ardmore", + "mcalester", + "stillwater", + "slidell", + "lake charles", + "metairie", + "new iberia", + "bryan", + "san marcos", + "longview", + "mcallen", + "harlingen", + "alice", + "new braunfels", + "cleburne", + "brownwood", + "alpine", + "van horn", + "big spring", + "vernon", + "childress", + "hereford", + "dalhart", + "texas city", + "pasadena", + "baytown", + "grand prairie", + "auburn", + "florence", + "crestview", + "panama city", + "southaven", + "meridian", + "laurel", + "galesburg", + "joliet", + "cape girardeau", + "rockford", + "evanston", + "rock island", + "elgin", + "hopkinsville", + "madisonville", + "columbia", + "barlett", + "sheboygan", + "waukesha", + "la crosse", + "eau claire", + "tomah", + "janesville", + "appleton", + "virginia", + "winona", + "rochester", + "lakeville", + "ely", + "moorhead", + "st. cloud", + "jamestown", + "williston", + "jonesboro", + "texarkana", + "pine bluff", + "hot springs", + "fort smith", + "fayetteville", + "conway", + "el dorado", + "davenport", + "burlington", + "dubuque", + "waterloo", + "sioux city", + "council bluffs", + "ames", + "mason city", + "emporia", + "salina", + "dodge city", + "coffeyville", + "st. charles", + "poplar bluff", + "joplin", + "st. joseph", + "mccook", + "norfolk", + "north platte", + "lawton", + "norman", + "muskogee", + "ponca city", + "shawnee", + "woodward", + "guymon", + "yankton", + "brookings", + "mitchell", + "aberdeen", + "mobridge", + "houma", + "monroe", + "conroe", + "nacogdoches", + "eagle pass", + "edinburg", + "kingsville", + "port arthur", + "huntsville", + "killeen", + "lufkin", + "del rio", + "san angelo", + "sherman", + "beaumont", + "bay city", + "port lavaca", + "falfurrias", + "beeville", + "fort stockton", + "pecos", + "dumas", + "denton", + "midland", + "temple", + "dothan", + "tuscaloosa", + "gadsden", + "enterprise", + "selma", + "gulfport", + "hattiesburg", + "tupelo", + "greenville", + "natchez", + "decatur", + "alton", + "quincy", + "urbana", + "bloomington", + "kankakee", + "waukegan", + "aurora", + "carbondale", + "belleville", + "gary", + "bowling green", + "paducah", + "owensboro", + "murfreesboro", + "clarksville", + "jackson", + "superior", + "west bend", + "fond du lac", + "oshkosh", + "rhinelander", + "racine", + "marinette", + "grand forks", + "little rock", + "wichita", + "jefferson city", + "lafayette", + "galveston", + "freeport", + "victoria", + "odessa", + "wichita falls", + "waco", + "lubbock", + "birmingham", + "mobile", + "pensacola", + "biloxi", + "springfield", + "madison", + "green bay", + "duluth", + "bemidji", + "cedar rapids", + "lincoln", + "alexandria", + "abilene", + "brownsville", + "tyler", + "vicksburg", + "peoria", + "evansville", + "wausau", + "international falls", + "st. paul", + "minot", + "fargo", + "topeka", + "tulsa", + "sioux falls", + "shreveport", + "baton rouge", + "ft. worth", + "corpus christi", + "austin", + "amarillo", + "laredo", + "montgomery", + "bismarck", + "des moines", + "omaha", + "oklahoma city", + "pierre", + "san antonio", + "nashville", + "memphis", + "milwaukee", + "minneapolis", + "st. louis", + "new orleans", + "dallas", + "houston", + "chicago" + ], + "provinces": [ + "minnesota", + "north dakota", + "arkansas", + "iowa", + "kansas", + "missouri", + "nebraska", + "oklahoma", + "louisiana", + "texas", + "alabama", + "florida", + "mississippi", + "illinois", + "kentucky", + "tennessee", + "wisconsin", + "south dakota", + "indiana" + ] + }, + { + "timezone": "america/denver", + "country": "united states of america", + "iso2": "us", + "cities": [ + "hardin", + "glendive", + "dillon", + "polson", + "glenwood springs", + "aurora", + "greeley", + "deming", + "truth or consequences", + "las vegas", + "farmington", + "richfield", + "nephi", + "lander", + "powell", + "goodland", + "alliance", + "lead", + "miles city", + "bozeman", + "glasgow", + "dickinson", + "winslow", + "fort collins", + "pueblo", + "lamar", + "trinidad", + "gunnison", + "durango", + "montrose", + "craig", + "boulder", + "roswell", + "clovis", + "las cruces", + "hobbs", + "socorro", + "gallup", + "raton", + "tucumcari", + "logan", + "parowan", + "kanab", + "monticello", + "moab", + "price", + "cedar city", + "vernal", + "ogden", + "green river", + "rawlins", + "douglas", + "riverton", + "thermopolis", + "gillette", + "sidney", + "scottsbluff", + "chadron", + "butte", + "grand junction", + "carlsbad", + "alamogordo", + "st. george", + "provo", + "laramie", + "rapid city", + "havre", + "kalispell", + "los alamos", + "cody", + "billings", + "great falls", + "missoula", + "colorado springs", + "albuquerque", + "casper", + "el paso", + "helena", + "santa fe", + "salt lake city", + "cheyenne", + "denver" + ], + "provinces": [ + "montana", + "colorado", + "new mexico", + "utah", + "wyoming", + "kansas", + "nebraska", + "south dakota", + "north dakota", + "arizona", + "texas" + ] + }, + { + "timezone": "america/boise", + "country": "united states of america", + "iso2": "us", + "cities": [ + "burley", + "ontario", + "montpelier", + "twin falls", + "caldwell", + "salmon", + "pocatello", + "idaho falls", + "boise" + ], + "provinces": [ + "idaho", + "oregon" + ] + }, + { + "timezone": "america/los_angeles", + "country": "united states of america", + "iso2": "us", + "cities": [ + "wallace", + "kennewick", + "centralia", + "berkeley", + "national city", + "mendocino", + "paso robles", + "riverside", + "delano", + "san mateo", + "vallejo", + "tonopah", + "springfield", + "tillamook", + "la grande", + "coeur d'alene", + "richland", + "bellingham", + "longview", + "walla walla", + "aberdeen", + "bremerton", + "everett", + "arcata", + "stockton", + "barstow", + "victoriaville", + "pasadena", + "visalia", + "el centro", + "san luis obispo", + "merced", + "yuba city", + "redding", + "santa rosa", + "oceanside", + "modesto", + "irvine", + "ukiah", + "needles", + "bishop", + "palm springs", + "santa maria", + "tulare", + "mt. shasta", + "crescent city", + "boulder city", + "winnemucca", + "roseburg", + "pendleton", + "john day", + "grants pass", + "corvallis", + "albany", + "astoria", + "tacoma", + "long beach", + "ely", + "carson city", + "medford", + "klamath falls", + "lewiston", + "yakima", + "wenatchee", + "bakersfield", + "oakland", + "lancaster", + "chico", + "monterey", + "salinas", + "eugene", + "coos bay", + "bend", + "santa cruz", + "san bernardino", + "olympia", + "spokane", + "vancouver", + "santa barbara", + "fresno", + "eureka", + "reno", + "elko", + "salem", + "san jose", + "sacramento", + "las vegas", + "portland", + "seattle", + "san diego", + "san francisco", + "los angeles" + ], + "provinces": [ + "idaho", + "washington", + "california", + "nevada", + "oregon" + ] + }, + { + "timezone": "america/phoenix", + "country": "united states of america", + "iso2": "us", + "cities": [ + "glendale", + "safford", + "casa grande", + "mesa", + "lake havasu city", + "bullhead city", + "gila bend", + "tombstone", + "willcox", + "scottsdale", + "kingman", + "grand canyon", + "yuma", + "prescott", + "douglas", + "flagstaff", + "tucson", + "phoenix" + ], + "provinces": [ + "arizona" + ] + }, + { + "timezone": "america/new_york", + "country": "united states of america", + "iso2": "us", + "cities": [ + "new london", + "stamford", + "waterbury", + "new bedford", + "springfield", + "salem", + "pittsfield", + "montpelier", + "winter haven", + "melbourne", + "homestead", + "sanford", + "miami beach", + "coral springs", + "port charlotte", + "spring hill", + "palm coast", + "palatka", + "leesburg", + "lake city", + "dalton", + "marietta", + "waycross", + "la grange", + "spartanburg", + "orangeburg", + "london", + "rocky mount", + "salisbury", + "durham", + "lumberton", + "zanesville", + "mansfield", + "bowling green", + "lancaster", + "johnson city", + "kingsport", + "blacksburg", + "harrisonburg", + "petersburg", + "hampton", + "parkersburg", + "white sulphur springs", + "clarksburg", + "dover", + "st. charles", + "annapolis", + "hagerstown", + "paterson", + "saratoga springs", + "poughkeepsie", + "plattsburg", + "beaver falls", + "altoona", + "williamsport", + "allentown", + "waterville", + "calais", + "houlton", + "new haven", + "lowell", + "worcester", + "manchester", + "newport", + "coral gables", + "cape coral", + "naples", + "fort pierce", + "kissimmee", + "titusville", + "st. augustine", + "ocala", + "fort lauderdale", + "apalachicola", + "vero beach", + "valdosta", + "albany", + "athens", + "macon", + "columbus", + "douglas", + "dublin", + "florence", + "greenville", + "sumter", + "anderson", + "aiken", + "beaufort", + "rock hill", + "covington", + "jacksonville", + "goldsboro", + "fayetteville", + "hickory", + "asheville", + "winston-salem", + "kitty hawk", + "akron", + "lima", + "oak ridge", + "alexandria", + "fredericksburg", + "roanoke", + "danville", + "winchester", + "bristol", + "wheeling", + "morgantown", + "huntington", + "beckley", + "wilmington", + "cumberland", + "atlantic city", + "newark", + "schenectady", + "binghamton", + "utica", + "watertown", + "niagara falls", + "jamestown", + "elmira", + "york", + "johnstown", + "scranton", + "state college", + "erie", + "wilkes barre", + "bar harbor", + "lewiston", + "presque isle", + "hartford", + "providence", + "st. petersburg", + "frankfort", + "greensboro", + "dayton", + "virginia beach", + "trenton", + "concord", + "key west", + "west palm beach", + "sarasota", + "daytona beach", + "gainesville", + "ft. myers", + "brunswick", + "augusta", + "myrtle beach", + "charleston", + "lexington", + "charlotte", + "youngstown", + "canton", + "toledo", + "chattanooga", + "charlottesville", + "lynchburg", + "ithaca", + "harrisburg", + "bangor", + "portland", + "bridgeport", + "rochester", + "burlington", + "tallahassee", + "orlando", + "savannah", + "columbia", + "knoxville", + "richmond", + "baltimore", + "syracuse", + "raleigh", + "cleveland", + "cincinnati", + "norfolk", + "buffalo", + "pittsburgh", + "boston", + "tampa", + "philadelphia", + "miami", + "atlanta", + "washington, d.c.", + "new york" + ], + "provinces": [ + "connecticut", + "massachusetts", + "vermont", + "florida", + "georgia", + "south carolina", + "kentucky", + "north carolina", + "ohio", + "tennessee", + "virginia", + "west virginia", + "delaware", + "maryland", + "new jersey", + "new york", + "pennsylvania", + "maine", + "new hampshire", + "rhode island", + "district of columbia" + ] + }, + { + "timezone": "america/indiana/indianapolis", + "country": "united states of america", + "iso2": "us", + "cities": [ + "richmond", + "terre haute", + "lafayette", + "marion", + "south bend", + "elkhart", + "bloomington", + "muncie", + "kokomo", + "fort wayne", + "indianapolis" + ], + "provinces": [ + "indiana" + ] + }, + { + "timezone": "america/kentucky/louisville", + "country": "united states of america", + "iso2": "us", + "cities": [ + "new albany", + "louisville" + ], + "provinces": [ + "indiana", + "kentucky" + ] + }, + { + "timezone": "america/menominee", + "country": "united states of america", + "iso2": "us", + "cities": [ + "iron mountain", + "ironwood" + ], + "provinces": [ + "michigan" + ] + }, + { + "timezone": "america/anchorage", + "country": "united states of america", + "iso2": "us", + "cities": [ + "sand point", + "atqasuk", + "port heiden", + "perryville", + "dillingham", + "goodnews bay", + "nyac", + "kaltag", + "koyukuk", + "kobuk", + "selawik", + "talkeetna", + "whittier", + "montana", + "lake minchumina", + "cantwell", + "gulkana", + "eagle", + "nenana", + "big delta", + "allakaket", + "tanana", + "karluk", + "newhalen", + "pilot point", + "chignik", + "king salmon", + "quinhagak", + "aniak", + "unalakleet", + "koyuk", + "mcgrath", + "hughes", + "ambler", + "wasilla", + "circle", + "denali park", + "homer", + "tanacross", + "wiseman", + "palmer", + "seward", + "togiak", + "red devil", + "wainwright", + "galena", + "kaktovik", + "cordova", + "kenai", + "fort yukon", + "kodiak", + "bethel", + "barrow", + "valdez", + "fairbanks", + "prudhoe bay", + "anchorage" + ], + "provinces": [ + "alaska" + ] + }, + { + "timezone": "america/sitka", + "country": "united states of america", + "iso2": "us", + "cities": [ + "hydaburg", + "wrangell", + "ketchikan", + "sitka" + ], + "provinces": [ + "alaska" + ] + }, + { + "timezone": "america/nome", + "country": "united states of america", + "iso2": "us", + "cities": [ + "mekoryuk", + "tununak", + "mountain village", + "emmonak", + "teller", + "shishmaref", + "nikolski", + "false pass", + "kivalina", + "kotlit", + "wales", + "kotzebue", + "gambell", + "unalaska", + "hooper bay", + "cold bay", + "point hope", + "nome" + ], + "provinces": [ + "alaska" + ] + }, + { + "timezone": "pacific/honolulu", + "country": "united states of america", + "iso2": "us", + "cities": [ + "lihue", + "wahiawa", + "wailuku", + "kailua-kona", + "hilo", + "honolulu" + ], + "provinces": [ + "hawaii" + ] + }, + { + "timezone": "america/juneau", + "country": "united states of america", + "iso2": "us", + "cities": [ + "hoonah", + "skagway", + "juneau" + ], + "provinces": [ + "alaska" + ] + }, + { + "timezone": "america/adak", + "country": "united states of america", + "iso2": "us", + "cities": [ + "atka" + ], + "provinces": [ + "alaska" + ] + }, + { + "timezone": "america/yakutat", + "country": "united states of america", + "iso2": "us", + "cities": [ + "yakutat" + ], + "provinces": [ + "alaska" + ] + }, + { + "timezone": "america/st_thomas", + "country": "united states virgin islands", + "iso2": "vi", + "cities": [ + "christiansted" + ], + "provinces": [ + "virgin islands" + ] + }, + { + "timezone": "america/montevideo", + "country": "uruguay", + "iso2": "uy", + "cities": [ + "colonia del sacramento", + "trinidad", + "fray bentos", + "canelones", + "florida", + "artigas", + "baltasar brum", + "tranqueras", + "tacuarembo", + "paso de los toros", + "vergara", + "treinta y tres", + "santa lucia", + "jose batlle y ordonez", + "minas", + "maldonado", + "punta del este", + "aigua", + "la paloma", + "carmelo", + "bella union", + "mercedes", + "melo", + "rivera", + "lascano", + "castillos", + "san jose de mayo", + "rocha", + "paysandu", + "salto", + "durazno", + "montevideo" + ], + "provinces": [ + "colonia", + "flores", + "río negro", + "canelones", + "florida", + "artigas", + "rivera", + "tacuarembó", + "treinta y tres", + "lavalleja", + "maldonado", + "rocha", + "soriano", + "cerro largo", + "san josé", + "paysandú", + "salto", + "durazno", + "montevideo" + ] + }, + { + "timezone": "asia/samarkand", + "country": "uzbekistan", + "iso2": "uz", + "cities": [ + "khujayli", + "urgut", + "kattaqorgon", + "denow", + "kogon", + "khiwa", + "chimboy", + "qunghirot", + "zarafshon", + "navoi", + "shahrisabz", + "qarshi", + "muynoq", + "termiz", + "urgentch", + "bukhara", + "nukus", + "samarqand" + ], + "provinces": [ + "karakalpakstan", + "samarkand", + "surkhandarya", + "bukhoro", + "khorezm", + "navoi", + "kashkadarya" + ] + }, + { + "timezone": "asia/tashkent", + "country": "uzbekistan", + "iso2": "uz", + "cities": [ + "guliston", + "iskandar", + "chirchiq", + "qoqon", + "jizzax", + "angren", + "olmaliq", + "fargona", + "namangan", + "andijon", + "tashkent" + ], + "provinces": [ + "sirdaryo", + "tashkent", + "ferghana", + "jizzakh", + "namangan", + "andijon" + ] + }, + { + "timezone": "pacific/efate", + "country": "vanuatu", + "iso2": "vu", + "cities": [ + "luganville", + "port-vila" + ], + "provinces": [ + "sanma", + "shefa" + ] + }, + { + "timezone": "america/caracas", + "country": "venezuela", + "iso2": "ve", + "cities": [ + "san carlos", + "san felipe", + "san juan de los morros", + "la asuncion", + "guasdualito", + "barinas", + "valera", + "cabimas", + "carora", + "guanare", + "puerto la cruz", + "anaco", + "los teques", + "valle de la pascua", + "ocumare del tuy", + "carupano", + "trujillo", + "santa rita", + "machiques", + "san carlos del zulia", + "puerto cabello", + "acarigua", + "upata", + "el manteco", + "chaguaramas", + "barcelona", + "el tigre", + "maiquetia", + "calabozo", + "zaraza", + "altagracia de orituco", + "tucupita", + "porlamar", + "san fernando de apure", + "barquisimeto", + "maturin", + "cumana", + "coro", + "punto fijo", + "la esmeralda", + "ciudad bolivar", + "el dorado", + "maracay", + "merida", + "puerto ayacucho", + "san cristobal", + "valencia", + "ciudad guayana", + "maracaibo", + "caracas" + ], + "provinces": [ + "cojedes", + "yaracuy", + "guárico", + "nueva esparta", + "apure", + "barinas", + "trujillo", + "lara", + "portuguesa", + "anzoátegui", + "distrito capital", + "miranda", + "sucre", + "zulia", + "carabobo", + "bolívar", + "vargas", + "monagas", + "falcón", + "amazonas", + "aragua", + "mérida", + "táchira" + ] + }, + { + "timezone": "asia/ho_chi_minh", + "country": "vietnam", + "iso2": "vn", + "cities": [ + "tay ninh", + "luan chau", + "bac kan", + "lang son", + "son la", + "tuyen quang", + "yen bai", + "hai duong", + "thai binh", + "tuy hoa", + "thu dau mot", + "dong ha", + "cao lanh", + "truc giang", + "tra vinh", + "vinh long", + "cao bang", + "hong gai", + "cam pha", + "lao chi", + "hoa binh", + "son tay", + "ninh binh", + "viet tri", + "bac giang", + "ha tinh", + "buon me thuot", + "da lat", + "phan rang", + "hon quan", + "kon tum", + "quang ngai", + "quang tri", + "vung tau", + "phan thiet", + "long xuyen", + "chau doc", + "rach gia", + "tan an", + "my tho", + "bac lieu", + "ca mau", + "soc trang", + "ha giang", + "thai nguyen", + "thanh hoa", + "nam dinh", + "vinh", + "dong hoi", + "play ku", + "nha trang", + "cam ranh", + "qui nhon", + "hue", + "bien hoa", + "can tho", + "haiphong", + "da nang", + "hanoi", + "ho chi minh city" + ], + "provinces": [ + "tây ninh", + "điện biên", + "bac kan", + "lạng sơn", + "son la", + "tuyên quang", + "yên bái", + "hải dương", + "thái bình", + "phú yên", + "bình duong", + "quảng trị", + "đồng tháp", + "bến tre", + "trà vinh", + "vinh long", + "cao bằng", + "quảng ninh", + "lào cai", + "hòa bình", + "hà tây", + "ninh bình", + "phú thọ", + "bắc giang", + "ha tinh", + "dak lak", + "lâm đồng", + "ninh thuận", + "bình phước", + "kon tum", + "quảng ngãi", + "bà rịa–vũng tàu", + "bình thuận", + "an giang", + "kiên giang", + "long an", + "tiền giang", + "bạc liêu", + "cà mau", + "sóc trang", + "hà giang", + "thái nguyên", + "thanh hóa", + "nam định", + "nghệ an", + "quảng bình", + "gia lai", + "khánh hòa", + "bình định", + "thừa thiên–huế", + "đồng nai", + "can tho", + "da nang", + "ho chi minh city" + ] + }, + { + "timezone": "asia/aden", + "country": "yemen", + "iso2": "ye", + "cities": [ + "al bayda", + "'ataq", + "marib", + "dhamar", + "ibb", + "ash shihr", + "zabid", + "hajjah", + "lahij", + "al ghaydah", + "rida", + "hadiboh", + "saywun", + "sadah", + "al hudaydah", + "sayhut", + "al mukalla", + "taizz", + "aden", + "sanaa" + ], + "provinces": [ + "al bayda'", + "shabwah", + "ma'rib", + "dhamar", + "ibb", + "hadramawt", + "al hudaydah", + "hajjah", + "lahij", + "al mahrah", + "sa`dah", + "ta`izz", + "`adan", + "amanat al asimah" + ] + }, + { + "timezone": "africa/harare", + "country": "zimbabwe", + "iso2": "zw", + "cities": [ + "mazowe", + "shamva", + "victoria falls", + "zvishavane", + "kwekwe", + "plumtree", + "beitbridge", + "gwanda", + "chiredzi", + "masvingo", + "karoi", + "chinhoyi", + "kariba", + "hwange", + "gweru", + "mutare", + "kadoma", + "chitungwiza", + "harare", + "bulawayo" + ], + "provinces": [ + "mashonaland central", + "matabeleland north", + "midlands", + "matabeleland south", + "masvingo", + "mashonaland west", + "manicaland", + "harare", + "bulawayo" + ] + } +] \ No newline at end of file