You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by rz...@apache.org on 2017/02/17 22:57:09 UTC

[31/51] [abbrv] ambari git commit: AMBARI-19878 Log Search Portal time zone selection bug (mgergely)

http://git-wip-us.apache.org/repos/asf/ambari/blob/e3b9ef3c/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/libs/custom/timezone/WorldMapGenerator.js
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/libs/custom/timezone/WorldMapGenerator.js b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/libs/custom/timezone/WorldMapGenerator.js
new file mode 100644
index 0000000..cfc44c7
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/libs/custom/timezone/WorldMapGenerator.js
@@ -0,0 +1,3474 @@
+/**
+ * @version: 1.0.1
+ * @author: Keval Bhatt 
+ * @copyright: Copyright (c) 2015 Keval Bhatt. All rights reserved.
+ * @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php
+ * @website: http://kevalbhatt.github.io/WorldMapGenerator/
+ */
+'use strict';
+(function(root, factory) {
+
+    if (typeof define === 'function' && define.amd) {
+        define(['moment', 'jquery'], function(momentjs, $) {
+            root.worldMapTime = {};
+            factory(momentjs, $, root.worldMapTime);
+        });
+
+    } else {
+        if ((typeof root.moment == "undefined")) {
+            var moment = false;
+            console.log('Day light feature requires moment.js')
+        } else {
+            if (!(root.moment.tz)) {
+                throw new Error('moment-timezone dependency not found');
+            }
+        }
+        if ((root.jQuery != "undefined" || root.Zepto != "undefined" || root.ender != "undefined" || root.$ != "undefined")) {
+            var c = root.worldMapTime = {};
+            factory(root.moment || moment, (root.jQuery || root.Zepto || root.ender || root.$), c);
+        } else {
+            throw new Error('jQuery dependnecy not found');
+        }
+
+    }
+
+}(this, function(moment, $, getTimeZoneObjct) {
+    var findValue = function(key, value) {
+        var referObj = [];
+        var obj = WorldMapGenerator.timeZoneValue.filter(function(object) {
+            if (object[key] === value) {
+                referObj.push($.extend(true, {},object));
+                return object;
+            }
+        });
+        for(var i=0;i<referObj.length;i++){
+           delete referObj[i].points;
+           delete referObj[i].pin;
+        }
+        return referObj;
+    }
+    getTimeZoneObjct['getSystemTimezone'] = function() {
+        /* var d = new Date()
+         var n = d.getTimezoneOffset();
+         var offset = (-(n))/60*/
+        var zoneAbr = new Date().toString().split('(')[1].slice(0, -1)
+        return findValue('zoneName', zoneAbr)
+    }
+    getTimeZoneObjct['getZoneName'] = function(zoneAbr) {
+        return findValue('zoneName', zoneAbr).zoneName
+    }
+    getTimeZoneObjct['getTimeZoneString'] = function(zoneAbr) {
+        return findValue('zoneName', zoneAbr).timezone
+    }
+    getTimeZoneObjct['getTimeZoneObject'] = function(zoneAbr) {
+        return findValue('zoneName', zoneAbr)
+    }
+
+
+    var WorldMapGenerator = function(element, options) {
+        this.$el = element;
+        this.generateMap(options);
+    }
+
+    WorldMapGenerator.VERSION = '1.0.1';
+
+    WorldMapGenerator.DEFAULTS = {
+        width: 500,
+        height: 250,
+        hoverColor: '#5A5A5A',
+        selectedColor: '#496A84',
+        mapColor: '#BBB',
+        defaultCss: true,
+        localStore: true,
+        quickLink: [{
+            "IST": "IST",
+            "EAT": "EAT"
+        }],
+        selectBox: true,
+        showHoverText: true,
+        dayLightSaving: ((typeof moment == "function") ? (true) : (false))
+    };
+
+    WorldMapGenerator.prototype = {
+
+        constructor: WorldMapGenerator,
+
+        /**
+         * [setValue set value in map]
+         * @param {[type]} value        [attribute value]
+         * @param {[type]} attribute         [attribute name]
+         */
+        setValue: function(value, attribute) {
+
+            this.$el.find('svg polygon').attr('data-selected', 'false');
+            var elements = this.$el.find('svg polygon[data-' + ((attribute) ? (attribute) : ("timezone")) + '="' + value + '"]');
+
+            if (elements && elements.length) {
+                elements.attr('data-selected', 'true');
+                this.$el.find('select option[value="' + ((attribute) ? (elements.attr('data-timeZone')) : (value)) + '"]').prop('selected', true);
+                this.$el.find('.quickLink span').removeClass('active');
+                var findQuickLink = this.$el.find('.quickLink span[data-select="' + value + '"]');
+                this.$el.find('.quickLink span[data-select="' + value + '"]').addClass('active');
+                this.$el.find('.quickLink span[data-select="' + elements.attr('data-zonename') + '"]').addClass('active');
+
+            }
+        },
+        /**
+         * [getValue get selected value array]
+         * @return {[type]} [description]
+         */
+        getValue: function() {
+            var value = [];
+            this.$el.find('svg polygon[data-selected="true"]').map(function(index, el) {
+                value.push($(el).data());
+            });
+            return value;
+        },
+        /**
+         * [generateMap create element dynamically]
+         * @param  {[type]} options [depanding on option it will create e]
+         * @return {[type]}         [description]
+         */
+        generateMap: function(options) {
+
+            var polygon = [],
+                option = [],
+                quickLink = [],
+                containerArr = [],
+                timezone = WorldMapGenerator.timeZoneValue;
+            for (var index in timezone) {
+                var zoneName =  ((options.dayLightSaving) ? (moment().tz(timezone[index].timezone).zoneName()) : (timezone[index].zoneName))
+                if (zoneName == 'CST' && timezone[index].timezone.startsWith('Asia'))
+                  zoneName = 'CST/China'
+                polygon.push(this.genrateElement('polygon', {
+                    'data-timezone': timezone[index].timezone,
+                    'data-country': timezone[index].country,
+                    'data-pin': timezone[index].pin,
+                    'data-offset': timezone[index].offset,
+                    'points': timezone[index].points,
+                    'data-zonename': zoneName
+                }, false, true));
+                option.push(this.genrateElement('option', {
+                    'value': timezone[index].timezone
+                }, timezone[index].timezone + " (" + ((options.dayLightSaving) ? (moment().tz(timezone[index].timezone).zoneName()) : (timezone[index].zoneName)) + ")"));
+            }
+            if (options.selectBox) {
+                var select = this.genrateElement('select', {
+                    'class': 'mapDropDown dropdown-toggle',
+                }, option);
+                containerArr.push(select);
+            }
+
+
+            if (options.quickLink.length > 0) {
+                for (var index in options.quickLink[0]) {
+                    quickLink.push(this.genrateElement('span', {
+                        'data-select': options.quickLink[0][index]
+                    }, index));
+                }
+                var qickLinkDiv = this.genrateElement('div', {
+                    'class': 'quickLink'
+                }, quickLink);
+                containerArr.push(qickLinkDiv);
+            }
+
+
+
+            var svg = this.genrateElement('svg', {
+                'class': 'timezone-map',
+                'viewBox': '0 0 ' + options.width + ' ' + options.height
+            }, polygon, true);
+
+            if (containerArr.length > 0) {
+                var container = this.genrateElement('div', {
+                    'class': 'Cbox'
+                }, containerArr);
+                this.$el.append(container);
+
+            }
+            this.$el.append(svg);
+
+            if (options.showHoverText) {
+                var hoverZone = this.genrateElement('span', {
+                    'class': 'hoverZone',
+                });
+                this.$el.append(hoverZone);
+            }
+
+
+
+            if (options.defaultCss) {
+                this.createCss(options);
+            }
+            this.bindEvent(options);
+
+        },
+        /**
+         * [bindEvent bind all event i.e click,mouseenter,mouseleave,change(select)]
+         * @return {[type]} [description]
+         */
+        bindEvent: function() {
+            var that = this;
+            this.$el.on('mouseenter', 'svg polygon', function(e) {
+                var d = $(this).data();
+                $('.timezone-map polygon[data-zonename="' + d.zonename + '"]').attr('class', 'active');
+                that.$el.find('.hoverZone').text(d.timezone + " (" + d.zonename + ")");
+            });
+            this.$el.on('mouseleave', 'svg polygon', function(e) {
+                $('.timezone-map polygon').attr('class', '');
+                that.$el.find('.hoverZone').text('');
+            });
+            this.$el.on('click', 'svg polygon', function() {
+
+                that.setValue($(this).attr('data-timezone'));
+                that.$el.trigger("map:clicked");
+
+            });
+            this.$el.on('change', 'select', function() {
+                that.setValue($(this).val());
+                that.$el.trigger("map:clicked");
+            });
+            this.$el.on('click', '.quickLink span', function() {
+                var selectValue = $(this).data().select
+                if (selectValue.search('/') > 0) {
+                    that.setValue(selectValue, 'timezone');
+                } else {
+                    that.setValue(selectValue, 'zonename');
+                }
+                that.$el.trigger("map:clicked");
+            });
+        },
+        /**
+         * [genrateElement description]
+         * @param  {[Jquery Object]}  element     [selector]
+         * @param  {[type]}  elementAttr [description]
+         * @param  {[javascript Object or text]}  chilled      [If we pass javascript object or  array it will append all chilled and if you pass string it will add string(value) inside element ]
+         * @param  {Boolean} isSvg       [If it is svg then it will create svg element]
+         * @return {[type]}              [description]
+         */
+        genrateElement: function(element, elementAttr, chilled, isSvg) {
+
+
+            if (isSvg) {
+                var elementObject = document.createElementNS('http://www.w3.org/2000/svg', element);
+            } else {
+                var elementObject = document.createElement(element);
+            }
+            if (elementAttr) {
+                for (var key in elementAttr) {
+                    elementObject.setAttribute(key, elementAttr[key]);
+                }
+            }
+            if (chilled) {
+                if (chilled instanceof Array) {
+                    for (var chilleds in chilled) {
+                        elementObject.appendChild(chilled[chilleds]);
+                    }
+                } else if (typeof chilled == 'string') {
+                    elementObject.innerHTML = chilled;
+                } else {
+                    elementObject.appendChild(chilled);
+                }
+
+            }
+
+            return elementObject;
+
+        },
+        /**
+         * [createCss function will create css dynamically it is insert style attribute in  in head ]
+         * @param  {[type]} options [options has mapColor,selectedColor,hoverColor ]
+         * @return {[type]}         [description]
+         */
+        createCss: function(options) {
+            var style = document.createElement('style');
+            style.type = 'text/css';
+            style.innerHTML = '.timezone-map polygon[data-selected="true"] {fill: ' + options.selectedColor + '}' +
+                '.timezone-map polygon { fill: ' + options.mapColor + ';}' +
+                '.timezone-map polygon.active {fill: ' + options.hoverColor + ';}' +
+                '.timezone-map polygon:hover { cursor: pointer;}' +
+                '.Cbox .quickLink{width: 52%;float: right;padding-bottom: 11px;overflow-x: auto; white-space: nowrap;overflow-y: hidden;}' +
+                '.Cbox .quickLink span:hover {color:#FFF;background-color: #496A84;  cursor: pointer;}' +
+                '.Cbox select{width: 45%;float: left;height: 27px; padding: 0px 0px 0px 10px;}' +
+                '.Cbox .quickLink span.active {color: #FFF; background-color: #496A84;}' +
+                '.Cbox .quickLink span{ font-weight: 300; border-radius: 3px; color: #000; background-color: #FFF; border: solid 1px #CCC;margin-left: 10px;' +
+                'font-size: 9px;padding: 4px 6px 4px 6px;}';
+            document.getElementsByTagName('head')[0].appendChild(style);
+
+        }
+    };
+    /**
+     * [Plugin Staring point for plugin]
+     * @param {[type]} option [user options which can be override the default options]
+     */
+    function Plugin(option) {
+
+        return this.each(function() {
+            var $el = $(this)
+            var options = $.extend({}, WorldMapGenerator.DEFAULTS, $el.data(), typeof option == 'object' && option);
+            $el.data('WorldMapGenerator', new WorldMapGenerator($el, options));
+            $el.trigger("map:loaded");
+        });
+    };
+
+    $.fn.WorldMapGenerator = Plugin;
+
+    WorldMapGenerator.timeZoneValue = [{
+        "timezone": "Africa/Abidjan",
+        "country": "CI",
+        "pin": "244,118",
+        "offset": 0,
+        "points": "241,118,240,119,240,117,238,116,238,115,239,114,239,113,239,113,239,111,241,110,241,111,243,111,244,112,246,111,247,113,245,116,246,118,241,118",
+        "zoneName": "GMT"
+    }, {
+        "timezone": "Africa/Accra",
+        "country": "GH",
+        "pin": "250,117",
+        "offset": 0,
+        "points": "251,117,247,118,246,118,246,118,246,116,247,114,246,110,250,110,251,113,251,116,252,116,251,117",
+        "zoneName": "GMT"
+    }, {
+        "timezone": "Africa/Addis_Ababa",
+        "country": "ET",
+        "pin": "304,112",
+        "offset": 3,
+        "points": "313,118,311,118,308,120,307,119,305,120,300,119,299,116,296,114,296,113,297,113,298,110,299,110,300,107,300,107,301,105,302,105,303,104,303,105,307,105,309,108,308,110,310,110,309,110,310,112,317,114,313,118",
+        "zoneName": "EAT"
+    }, {
+        "timezone": "Africa/Algiers",
+        "country": "DZ",
+        "pin": "254,74",
+        "offset": 1,
+        "points": "263,83,264,86,264,88,263,89,264,91,266,91,267,92,258,98,255,99,254,97,252,97,250,95,238,87,238,85,239,85,243,83,243,82,245,82,245,81,246,81,246,80,248,80,249,80,248,79,248,77,247,76,254,74,262,74,261,74,262,77,260,78,263,81,263,83",
+        "zoneName": "CET"
+    }, {
+        "timezone": "Africa/Asmara",
+        "country": "ER",
+        "pin": "304,104",
+        "offset": 3,
+        "points": "306,104,310,107,309,108,306,105,303,105,303,104,302,105,301,105,301,101,304,100,305,104,305,103,306,104",
+        "zoneName": "EAT"
+    }, {
+        "timezone": "Africa/Bamako",
+        "country": "ML",
+        "pin": "239,107",
+        "offset": 0,
+        "points": "244,107,244,108,242,109,242,111,241,111,241,110,240,111,239,110,239,111,238,110,238,110,238,109,237,108,235,108,234,108,234,107,233,105,234,103,235,104,237,103,242,103,241,90,243,90,252,96,252,97,254,97,255,99,256,98,256,101,255,104,249,104,246,105,245,107,244,106,244,107",
+        "zoneName": "GMT"
+    }, {
+        "timezone": "Africa/Bangui",
+        "country": "CF",
+        "pin": "276,119",
+        "offset": 1,
+        "points": "284,118,283,119,282,118,281,119,277,118,276,119,276,120,273,120,272,122,270,119,270,117,272,115,276,114,276,113,278,112,280,110,281,110,283,111,283,113,284,113,284,113,285,114,288,118,285,118,285,118,284,118",
+        "zoneName": "WAT"
+    }, {
+        "timezone": "Africa/Banjul",
+        "country": "GM",
+        "pin": "227,106",
+        "offset": 0,
+        "points": "231,106,227,106,229,106,231,106",
+        "zoneName": "GMT"
+    }, {
+        "timezone": "Africa/Bissau",
+        "country": "GW",
+        "pin": "228,109",
+        "offset": 0,
+        "points": "228,109,228,109,228,109",
+        "zoneName": "GMT"
+    }, {
+        "timezone": "Africa/Blantyre",
+        "country": "MW",
+        "pin": "299,147",
+        "offset": 2,
+        "points": "298,144,300,146,299,149,298,147,298,145,297,145,295,144,297,142,296,140,297,140,296,138,298,139,299,141,298,142,298,144",
+        "zoneName": "CAT"
+    }, {
+        "timezone": "Africa/Brazzaville",
+        "country": "CG",
+        "pin": "271,131",
+        "offset": 1,
+        "points": "266,131,267,130,266,128,267,128,268,128,270,128,270,128,270,126,269,125,270,124,269,123,268,123,268,122,272,123,273,120,276,120,275,126,273,128,272,130,270,132,270,131,269,132,268,131,267,132,266,131",
+        "zoneName": "WAT"
+    }, {
+        "timezone": "Africa/Bujumbura",
+        "country": "BI",
+        "pin": "291,130",
+        "offset": 2,
+        "points": "292,131,291,131,290,129,291,129,292,128,292,128,293,130,292,131",
+        "zoneName": "CAT"
+    }, {
+        "timezone": "Asia/Oral",
+        "country": "KZ",
+        "pin": "321,54",
+        "offset": 5,
+        "points": "316,55,317,56,318,56,317,55,319,54,320,53,323,53,326,54,326,56,323,58,321,57,319,58,315,58,316,55",
+        "zoneName": "ORAT"
+    }, {
+        "timezone": "Africa/Cairo",
+        "country": "EG",
+        "pin": "293,83",
+        "offset": 2,
+        "points": "294,94,285,94,284,83,285,81,290,82,293,81,294,81,295,82,298,82,298,84,298,86,296,85,295,83,295,84,300,92,299,92,299,93,297,95,294,94",
+        "zoneName": "EET"
+    }, {
+        "timezone": "Africa/Casablanca",
+        "country": "MA",
+        "pin": "239,78",
+        "offset": 0,
+        "points": "242,84,240,84,238,85,238,87,232,87,236,84,237,83,236,81,237,80,241,78,242,75,243,75,244,76,246,76,248,77,248,80,246,80,246,81,245,81,245,82,243,82,242,84",
+        "zoneName": "WET"
+    }, {
+        "timezone": "Africa/Ceuta",
+        "country": "ES",
+        "pin": "243,75",
+        "offset": 1,
+        "points": "243,75,243,75,243,75",
+        "zoneName": "CET"
+    }, {
+        "timezone": "Africa/Conakry",
+        "country": "GN",
+        "pin": "231,112",
+        "offset": 0,
+        "points": "238,114,237,115,236,113,235,114,235,113,234,111,233,111,232,112,231,111,230,110,229,109,231,109,231,107,234,108,235,108,237,108,238,109,238,110,238,110,239,111,239,112,239,113,239,113,239,114,238,114",
+        "zoneName": "GMT"
+    }, {
+        "timezone": "Africa/Dakar",
+        "country": "SN",
+        "pin": "226,105",
+        "offset": 0,
+        "points": "227,107,229,106,231,106,229,106,227,106,226,105,227,102,230,102,233,105,234,108,229,107,227,108,227,108,227,108,227,107",
+        "zoneName": "GMT"
+    }, {
+        "timezone": "Africa/Dar_es_Salaam",
+        "country": "TZ",
+        "pin": "305,134",
+        "offset": 3,
+        "points": "306,139,306,139,306,140,302,141,299,141,297,138,293,137,291,134,291,132,293,130,292,129,293,128,292,126,297,126,302,129,302,130,304,131,304,134,305,135,305,137,306,139",
+        "zoneName": "EAT"
+    }, {
+        "timezone": "Asia/Yekaterinburg",
+        "country": "RU",
+        "pin": "334,46",
+        "offset": 6,
+        "points": "333,53,335,54,335,54,333,55,331,54,329,54,327,55,326,54,326,55,324,53,321,53,322,51,322,50,324,50,325,49,324,48,325,48,324,47,326,47,325,46,326,46,325,44,325,43,324,43,325,42,323,41,322,40,326,40,329,40,332,39,333,35,342,31,341,31,342,31,341,31,341,30,340,29,342,29,342,29,341,29,345,30,346,29,345,28,343,28,344,28,344,27,343,27,345,25,346,24,351,24,350,26,351,27,351,27,351,29,352,30,350,32,346,32,346,33,350,33,354,31,353,30,356,29,357,30,357,31,358,31,361,32,358,31,359,30,358,29,353,29,352,28,353,27,351,26,354,25,354,24,355,25,354,26,355,26,359,27,356,25,358,25,357,25,358,25,362,25,360,26,362,26,362,27,360,28,365,29,365,30,364,31,364,31,364,32,366,32,366,34,367,34,367,35,369,35,369,36,368,37,369,37,367,39,369,40,369,40,364,41,357,40,356,42,353,44,349,44,348,44,348,45,350,46,348,47,348,48,346,48,341,50,335,50,335,51,336,51,335,51,334,52,335,52,333,53",
+        "zoneName": "YEKT"
+    }, {
+        "timezone": "Africa/Djibouti",
+        "country": "DJ",
+        "pin": "310,109",
+        "offset": 3,
+        "points": "310,109,310,109,310,109",
+        "zoneName": "EAT"
+    }, {
+        "timezone": "Africa/Douala",
+        "country": "CM",
+        "pin": "263,119",
+        "offset": 1,
+        "points": "270,117,270,119,272,121,272,123,270,122,264,122,263,119,263,120,262,119,262,117,264,116,265,115,266,116,266,115,269,110,270,109,270,107,271,107,271,110,272,111,269,112,272,114,270,117",
+        "zoneName": "WAT"
+    }, {
+        "timezone": "Africa/Freetown",
+        "country": "SL",
+        "pin": "232,113",
+        "offset": 0,
+        "points": "235,115,234,115,232,114,232,112,233,111,234,111,235,112,235,114,236,114,235,115",
+        "zoneName": "GMT"
+    }, {
+        "timezone": "Africa/Gaborone",
+        "country": "BW",
+        "pin": "286,159",
+        "offset": 2,
+        "points": "287,158,285,161,282,160,281,162,279,162,279,161,278,159,278,156,279,156,279,150,282,150,283,151,285,150,286,152,289,153,289,155,291,156,287,158",
+        "zoneName": "CAT"
+    }, {
+        "timezone": "Africa/Harare",
+        "country": "ZW",
+        "pin": "293,150",
+        "offset": 2,
+        "points": "293,156,289,155,289,153,286,152,285,150,288,150,291,147,296,148,295,151,296,153,295,155,293,156",
+        "zoneName": "CAT"
+    }, {
+        "timezone": "Africa/El_Aaiun",
+        "country": "EH",
+        "pin": "232,87",
+        "offset": 0,
+        "points": "233,89,233,92,232,93,232,95,227,95,226,96,226,95,228,92,228,92,229,91,230,89,231,88,232,87,238,87,238,89,233,89",
+        "zoneName": "WET"
+    }, {
+        "timezone": "Africa/Johannesburg",
+        "country": "ZA",
+        "pin": "289,161",
+        "offset": 2,
+        "points": "283,172,278,173,276,172,276,173,275,171,275,170,275,169,273,165,274,164,274,165,275,165,278,164,278,159,279,161,279,162,280,162,282,160,285,161,288,158,290,156,293,156,294,159,294,161,294,161,293,162,294,163,294,163,294,162,296,162,295,165,289,171,286,172,283,172",
+        "zoneName": "SAST"
+    }, {
+        "timezone": "Africa/Juba",
+        "country": "SS",
+        "pin": "294,118",
+        "offset": 3,
+        "points": "299,117,299,118,300,118,300,119,298,119,297,120,293,120,291,119,289,119,289,119,287,116,284,113,285,111,286,111,287,112,290,112,292,111,293,111,295,110,295,108,296,108,296,110,297,111,297,113,296,113,296,114,297,115,299,117",
+        "zoneName": "EAT"
+    }, {
+        "timezone": "Africa/Kampala",
+        "country": "UG",
+        "pin": "295,125",
+        "offset": 3,
+        "points": "293,126,291,127,292,124,293,122,293,122,293,120,297,120,297,119,299,122,297,125,297,126,293,126",
+        "zoneName": "EAT"
+    }, {
+        "timezone": "Africa/Khartoum",
+        "country": "SD",
+        "pin": "295,103",
+        "offset": 3,
+        "points": "300,107,299,110,298,110,297,112,296,110,296,108,295,108,295,108,295,110,293,111,292,111,290,112,287,112,286,111,285,111,284,113,283,113,283,111,282,110,281,107,280,107,282,103,283,103,283,97,285,97,285,94,294,94,297,95,299,93,301,94,302,96,302,99,304,100,301,101,301,106,300,107,300,107",
+        "zoneName": "EAT"
+    }, {
+        "timezone": "Africa/Kinshasa",
+        "country": "CD",
+        "pin": "271,131",
+        "offset": 1,
+        "points": "271,131,272,130,273,128,275,126,276,119,277,118,277,118,279,119,283,120,281,120,283,122,281,122,281,123,283,125,282,126,283,126,282,126,284,127,281,128,281,128,281,128,279,128,279,131,278,131,278,135,277,135,277,136,274,136,273,133,267,133,268,131,269,132,270,131,270,132,271,131",
+        "zoneName": "WAT"
+    }, {
+        "timezone": "Africa/Lagos",
+        "country": "NG",
+        "pin": "255,116",
+        "offset": 1,
+        "points": "261,119,258,119,256,116,254,116,254,112,255,110,255,109,256,106,258,106,260,107,261,106,263,107,265,106,267,107,269,106,270,108,270,109,269,110,266,115,266,116,264,115,262,117,262,118,261,119",
+        "zoneName": "WAT"
+    }, {
+        "timezone": "Africa/Libreville",
+        "country": "GA",
+        "pin": "263,124",
+        "offset": 1,
+        "points": "269,125,270,126,270,128,267,128,267,128,266,128,267,130,266,131,263,128,262,126,263,126,263,125,264,125,263,124,263,124,266,124,266,122,268,122,268,123,270,123,270,124,269,125",
+        "zoneName": "WAT"
+    }, {
+        "timezone": "Africa/Lome",
+        "country": "TG",
+        "pin": "252,116",
+        "offset": 0,
+        "points": "252,116,251,116,251,113,250,110,251,110,251,111,252,111,253,116,252,116",
+        "zoneName": "GMT"
+    }, {
+        "timezone": "Africa/Kigali",
+        "country": "RW",
+        "pin": "292,128",
+        "offset": 2,
+        "points": "292,128,291,129,290,129,291,127,292,126,293,128,292,128",
+        "zoneName": "CAT"
+    }, {
+        "timezone": "Africa/Luanda",
+        "country": "AO",
+        "pin": "268,137",
+        "offset": 1,
+        "points": "281,140,281,141,283,140,283,143,281,143,281,148,283,149,279,150,276,149,269,149,268,149,266,149,267,144,269,142,269,140,268,138,269,137,267,133,273,133,274,136,277,136,277,135,280,135,280,138,281,140",
+        "zoneName": "WAT"
+    }, {
+        "timezone": "Africa/Lubumbashi",
+        "country": "CD",
+        "pin": "288,141",
+        "offset": 2,
+        "points": "291,132,291,134,293,136,290,137,289,138,290,139,289,141,290,142,291,142,291,144,290,144,288,141,287,142,286,142,285,141,284,141,283,140,281,141,280,135,278,135,277,134,278,133,278,131,279,131,279,128,281,128,281,128,281,128,284,127,282,126,283,126,282,126,283,125,281,123,281,122,283,122,281,120,283,120,281,119,282,118,285,118,285,118,288,118,289,119,291,119,293,120,293,122,293,122,292,124,291,127,290,128,291,132",
+        "zoneName": "CAT"
+    }, {
+        "timezone": "Africa/Lusaka",
+        "country": "ZM",
+        "pin": "289,146",
+        "offset": 2,
+        "points": "290,147,290,148,287,150,284,149,283,149,281,148,281,143,283,143,283,140,284,141,285,141,286,142,287,142,288,141,290,144,291,144,291,142,290,142,289,141,290,139,289,138,290,137,293,136,296,138,297,140,296,140,297,142,295,144,296,144,292,146,292,147,290,147",
+        "zoneName": "CAT"
+    }, {
+        "timezone": "Africa/Malabo",
+        "country": "GQ",
+        "pin": "262,120",
+        "offset": 1,
+        "points": "266,123,266,124,263,123,264,122,266,122,266,123",
+        "zoneName": "WAT"
+    }, {
+        "timezone": "Africa/Maputo",
+        "country": "MZ",
+        "pin": "295,161",
+        "offset": 2,
+        "points": "296,160,295,161,295,162,296,161,296,162,295,162,294,159,293,156,295,155,296,153,295,151,296,148,292,147,292,146,296,144,297,145,298,145,298,146,298,147,299,149,300,146,298,144,298,141,302,141,306,140,306,146,305,148,303,149,300,151,298,152,298,154,299,156,299,158,296,160",
+        "zoneName": "CAT"
+    }, {
+        "timezone": "Africa/Mbabane",
+        "country": "SZ",
+        "pin": "293,162",
+        "offset": 2,
+        "points": "294,161,295,162,294,163,293,162,294,161,294,161",
+        "zoneName": "SAST"
+    }, {
+        "timezone": "Africa/Mogadishu",
+        "country": "SO",
+        "pin": "313,122",
+        "offset": 3,
+        "points": "310,125,308,127,307,126,307,121,308,119,312,118,317,114,311,113,309,110,310,109,312,111,321,109,321,111,321,111,321,111,321,112,317,119,310,125",
+        "zoneName": "EAT"
+    }, {
+        "timezone": "Africa/Monrovia",
+        "country": "LR",
+        "pin": "235,116",
+        "offset": 0,
+        "points": "239,118,240,119,238,119,234,116,236,113,237,113,237,115,238,115,238,114,239,115,238,116,240,117,239,118",
+        "zoneName": "GMT"
+    }, {
+        "timezone": "Africa/Nairobi",
+        "country": "KE",
+        "pin": "301,127",
+        "offset": 3,
+        "points": "308,127,306,129,304,131,302,130,302,129,297,126,297,125,299,122,297,119,298,119,300,119,305,120,307,119,308,119,307,121,307,126,308,127",
+        "zoneName": "EAT"
+    }, {
+        "timezone": "Africa/Maseru",
+        "country": "LS",
+        "pin": "288,166",
+        "offset": 2,
+        "points": "289,167,289,167,288,166,290,165,291,166,289,167",
+        "zoneName": "SAST"
+    }, {
+        "timezone": "Africa/Ndjamena",
+        "country": "TD",
+        "pin": "271,108",
+        "offset": 1,
+        "points": "278,112,276,113,276,114,272,115,269,112,270,111,272,111,271,110,271,107,270,107,269,105,272,102,272,97,271,95,271,93,272,92,283,98,283,103,282,103,280,107,281,107,282,110,280,110,279,112,278,112",
+        "zoneName": "WAT"
+    }, {
+        "timezone": "Africa/Niamey",
+        "country": "NE",
+        "pin": "253,106",
+        "offset": 1,
+        "points": "256,106,255,108,255,109,254,108,253,108,253,107,251,107,252,106,251,106,250,104,255,104,256,101,256,98,258,98,267,92,270,94,271,93,271,95,272,97,272,102,269,105,269,106,267,107,265,106,263,107,261,106,260,107,258,106,256,106",
+        "zoneName": "WAT"
+    }, {
+        "timezone": "Africa/Nouakchott",
+        "country": "MR",
+        "pin": "228,100",
+        "offset": 0,
+        "points": "234,103,233,105,230,102,227,102,227,103,228,100,227,98,228,97,227,95,226,96,232,95,232,93,233,92,233,89,238,89,238,87,243,90,241,90,242,103,237,103,235,104,234,103",
+        "zoneName": "GMT"
+    }, {
+        "timezone": "Africa/Ouagadougou",
+        "country": "BF",
+        "pin": "248,108",
+        "offset": 0,
+        "points": "249,110,246,110,246,112,246,111,243,112,242,111,242,109,244,108,244,106,245,107,247,105,250,104,250,104,251,106,252,106,251,107,253,107,253,109,252,110,249,110",
+        "zoneName": "GMT"
+    }, {
+        "timezone": "Africa/Porto-Novo",
+        "country": "BJ",
+        "pin": "254,116",
+        "offset": 1,
+        "points": "254,114,254,116,252,116,252,112,251,111,252,109,253,109,254,108,255,109,255,110,254,112,254,114",
+        "zoneName": "WAT"
+    }, {
+        "timezone": "Africa/Tunis",
+        "country": "TN",
+        "pin": "264,74",
+        "offset": 1,
+        "points": "266,80,264,81,264,82,263,83,263,80,261,79,260,78,262,76,261,74,263,73,264,73,264,74,265,74,265,75,266,76,264,78,266,79,266,80",
+        "zoneName": "CET"
+    }, {
+        "timezone": "Africa/Sao_Tome",
+        "country": "ST",
+        "pin": "259,125",
+        "offset": 0,
+        "points": "260,123,260,123,260,123",
+        "zoneName": "GMT"
+    }, {
+        "timezone": "Africa/Tripoli",
+        "country": "LY",
+        "pin": "268,79",
+        "offset": 2,
+        "points": "285,88,285,97,283,97,283,98,272,92,270,94,264,91,263,89,264,88,264,86,263,83,264,82,264,81,266,80,266,79,271,80,272,81,276,83,278,82,278,80,281,79,282,80,285,81,284,83,285,88",
+        "zoneName": "EET"
+    }, {
+        "timezone": "Africa/Windhoek",
+        "country": "NA",
+        "pin": "274,156",
+        "offset": 2,
+        "points": "278,163,278,164,277,165,274,165,274,164,273,165,272,164,271,162,270,156,267,151,266,149,268,149,269,149,276,149,279,150,284,149,285,150,283,151,282,150,279,150,279,156,278,156,278,163",
+        "zoneName": "WAST"
+    }, {
+        "timezone": "America/Adak",
+        "country": "US",
+        "pin": "5,53",
+        "offset": -10,
+        "points": "7,53,6,53,8,52,7,53",
+        "zoneName": "HST"
+    }, {
+        "timezone": "America/Argentina/Salta",
+        "country": "AR",
+        "pin": "159,159",
+        "offset": -3,
+        "points": "162,180,162,182,163,182,160,182,160,183,150,183,150,180,152,179,151,176,152,175,153,177,155,177,155,175,160,175,160,174,162,174,162,180",
+        "zoneName": "ART"
+    }, {
+        "timezone": "America/Argentina/Salta",
+        "country": "AR",
+        "pin": "159,159",
+        "offset": -3,
+        "points": "159,156,161,157,161,156,163,156,163,156,163,159,162,161,158,162,157,161,158,160,155,160,155,159,157,158,158,159,158,157,159,159,161,159,161,158,160,158,159,156",
+        "zoneName": "ART"
+    }, {
+        "timezone": "America/Anchorage",
+        "country": "US",
+        "pin": "42,40",
+        "offset": -9,
+        "points": "42,42,40,43,39,43,40,42,39,42,40,41,43,41,42,40,42,40,40,40,36,43,37,43,36,44,30,47,30,47,25,48,25,48,27,48,27,47,31,45,31,44,32,43,30,44,30,43,29,44,27,43,25,44,25,37,27,36,26,36,27,35,25,35,25,33,26,33,25,33,25,32,26,33,25,32,25,27,33,26,34,26,33,27,35,26,39,27,39,27,38,27,39,27,51,28,54,28,54,42,54,41,50,42,46,41,47,40,44,40,45,40,43,41,44,41,44,41,44,41,42,42",
+        "zoneName": "AKST"
+    }, {
+        "timezone": "America/Anguilla",
+        "country": "AI",
+        "pin": "162,100",
+        "offset": -4,
+        "points": "162,100,162,100,162,100",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Antigua",
+        "country": "AG",
+        "pin": "164,101",
+        "offset": -4,
+        "points": "164,101,164,101,164,101",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Araguaina",
+        "country": "BR",
+        "pin": "183,135",
+        "offset": -3,
+        "points": "185,136,185,136,185,138,186,139,185,141,186,141,186,143,184,143,182,143,182,142,181,143,180,143,180,142,180,143,180,140,182,137,182,135,183,134,183,133,183,132,184,133,184,135,185,136",
+        "zoneName": "BRT"
+    }, {
+        "timezone": "America/Argentina/Buenos_Aires",
+        "country": "AR",
+        "pin": "169,173",
+        "offset": -3,
+        "points": "167,171,169,172,169,173,171,174,170,175,171,176,169,178,165,179,163,179,164,180,163,180,163,181,164,181,163,182,162,182,162,173,164,173,165,172,167,171",
+        "zoneName": "ART"
+    }, {
+        "timezone": "America/Argentina/Catamarca",
+        "country": "AR",
+        "pin": "159,165",
+        "offset": -3,
+        "points": "159,188,157,188,156,189,151,189,151,188,150,187,151,187,150,187,151,186,150,184,160,183,161,184,161,183,162,184,160,184,161,185,159,186,159,188",
+        "zoneName": "ART"
+    }, {
+        "timezone": "America/Argentina/Catamarca",
+        "country": "AR",
+        "pin": "159,165",
+        "offset": -3,
+        "points": "160,167,158,164,154,164,155,162,155,160,158,160,157,161,159,162,158,163,159,164,159,164,160,167",
+        "zoneName": "ART"
+    }, {
+        "timezone": "America/Argentina/Cordoba",
+        "country": "AR",
+        "pin": "161,169",
+        "offset": -3,
+        "points": "163,173,162,173,162,174,160,174,160,170,159,169,159,168,160,166,159,164,161,161,162,161,163,159,163,156,165,158,170,160,169,163,173,163,174,162,174,161,175,161,175,163,173,164,170,167,169,172,166,171,164,173,163,173",
+        "zoneName": "ART"
+    }, {
+        "timezone": "America/Argentina/Jujuy",
+        "country": "AR",
+        "pin": "159,159",
+        "offset": -3,
+        "points": "157,157,158,155,159,156,159,157,160,158,161,158,161,159,160,159,159,159,158,157,158,159,157,158,157,157",
+        "zoneName": "ART"
+    }, {
+        "timezone": "America/Argentina/La_Rioja",
+        "country": "AR",
+        "pin": "157,166",
+        "offset": -3,
+        "points": "156,167,154,166,154,165,153,164,154,164,158,164,160,167,159,169,157,169,156,167",
+        "zoneName": "ART"
+    }, {
+        "timezone": "America/Argentina/Mendoza",
+        "country": "AR",
+        "pin": "154,171",
+        "offset": -3,
+        "points": "152,170,156,170,157,171,157,175,155,175,155,177,153,177,152,175,152,174,153,171,152,170",
+        "zoneName": "ART"
+    }, {
+        "timezone": "America/Argentina/Rio_Gallegos",
+        "country": "AR",
+        "pin": "154,197",
+        "offset": -3,
+        "points": "151,189,156,189,157,190,159,191,158,192,154,195,154,197,155,198,150,197,149,197,150,195,148,196,148,195,148,193,150,192,149,191,150,191,151,189",
+        "zoneName": "ART"
+    }, {
+        "timezone": "America/Argentina/San_Juan",
+        "country": "AR",
+        "pin": "155,169",
+        "offset": -3,
+        "points": "153,167,154,164,154,165,154,166,156,167,157,169,156,169,156,170,154,169,152,170,152,168,153,167",
+        "zoneName": "ART"
+    }, {
+        "timezone": "America/Argentina/San_Luis",
+        "country": "AR",
+        "pin": "158,171",
+        "offset": -3,
+        "points": "159,169,160,170,160,175,157,175,156,169,159,169",
+        "zoneName": "ART"
+    }, {
+        "timezone": "America/Argentina/Tucuman",
+        "country": "AR",
+        "pin": "159,162",
+        "offset": -3,
+        "points": "158,161,160,161,160,164,159,164,158,163,159,162,158,161",
+        "zoneName": "ART"
+    }, {
+        "timezone": "America/Aruba",
+        "country": "AW",
+        "pin": "153,108",
+        "offset": -4,
+        "points": "153,108,153,108,153,108",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Argentina/Ushuaia",
+        "country": "AR",
+        "pin": "155,201",
+        "offset": -3,
+        "points": "155,201,155,198,155,199,155,199,156,200,160,201,158,201,155,201",
+        "zoneName": "ART"
+    }, {
+        "timezone": "America/Asuncion",
+        "country": "PY",
+        "pin": "170,160",
+        "offset": -3,
+        "points": "174,161,173,163,169,163,170,160,165,158,163,156,164,152,167,152,169,152,169,156,172,156,173,158,175,158,174,161",
+        "zoneName": "PYST"
+    }, {
+        "timezone": "America/Bahia_Banderas",
+        "country": "MX",
+        "pin": "104,96",
+        "offset": -6,
+        "points": "104,96,103,96,104,96",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Atikokan",
+        "country": "CA",
+        "pin": "123,57",
+        "offset": -5,
+        "points": "125,58,122,58,123,57,124,57,124,58,125,58",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Bahia",
+        "country": "BR",
+        "pin": "197,143",
+        "offset": -2,
+        "points": "187,146,186,146,186,141,185,141,186,140,187,139,188,140,189,140,189,138,191,138,193,137,194,138,195,137,197,137,198,139,197,140,198,141,196,143,196,147,195,150,194,149,195,147,194,147,193,147,192,146,189,145,189,145,187,146",
+        "zoneName": "BRT"
+    }, {
+        "timezone": "America/Barbados",
+        "country": "BB",
+        "pin": "167,107",
+        "offset": -4,
+        "points": "167,106,167,107,167,106",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Belem",
+        "country": "BR",
+        "pin": "183,127",
+        "offset": -3,
+        "points": "179,126,180,125,179,126,180,125,183,125,182,127,180,128,182,127,181,128,183,127,183,126,186,127,185,130,182,132,183,133,182,135,182,137,180,139,177,138,178,138,177,136,178,134,177,132,177,130,178,129,177,127,178,127,177,126,176,123,174,122,174,122,177,122,178,119,180,122,181,123,179,126",
+        "zoneName": "BRT"
+    }, {
+        "timezone": "America/Belize",
+        "country": "BZ",
+        "pin": "128,101",
+        "offset": -6,
+        "points": "128,101,128,101,128,101",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Blanc-Sablon",
+        "country": "CA",
+        "pin": "171,54",
+        "offset": -4,
+        "points": "169,54,167,55,169,54",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Boa_Vista",
+        "country": "BR",
+        "pin": "166,121",
+        "offset": -4,
+        "points": "167,118,166,119,167,120,167,121,167,122,168,123,168,125,167,125,166,126,165,126,164,127,163,126,163,122,161,122,160,119,163,120,163,119,165,119,166,118,167,118",
+        "zoneName": "AMT"
+    }, {
+        "timezone": "America/Bogota",
+        "country": "CO",
+        "pin": "147,119",
+        "offset": -5,
+        "points": "154,126,153,131,152,130,153,129,152,128,150,128,149,128,146,125,142,124,140,123,143,120,142,119,143,117,142,115,143,114,143,113,143,114,143,113,145,112,145,110,148,109,150,108,151,108,149,110,148,112,149,113,149,115,150,115,153,115,154,117,156,117,156,119,157,120,156,121,157,122,157,123,156,122,153,123,153,124,154,124,153,124,154,126",
+        "zoneName": "COT"
+    }, {
+        "timezone": "America/Boise",
+        "country": "US",
+        "pin": "89,64",
+        "offset": -7,
+        "points": "96,66,96,67,87,67,87,66,86,66,86,64,87,63,88,62,88,61,89,62,92,62,93,63,96,63,96,66",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Cambridge_Bay",
+        "country": "CA",
+        "pin": "104,29",
+        "offset": -7,
+        "points": "99,18,100,19,99,19,101,19,100,20,102,19,104,20,103,21,97,21,97,20,99,20,97,20,98,19,97,19,99,18",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Cambridge_Bay",
+        "country": "CA",
+        "pin": "104,29",
+        "offset": -7,
+        "points": "108,36,97,35,95,34,92,34,81,30,81,28,89,29,92,30,89,31,90,31,97,31,100,32,99,32,101,33,100,32,101,32,101,32,101,32,100,31,103,30,99,30,100,30,103,29,105,31,106,30,109,31,113,31,113,30,115,30,116,30,116,31,117,30,116,31,118,32,117,30,120,30,120,30,120,29,119,30,120,28,116,28,117,27,116,27,116,26,119,25,118,25,120,25,121,26,121,27,123,28,122,27,121,28,122,28,121,28,125,29,123,29,124,29,124,30,125,30,126,29,126,32,108,32,108,36",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Cambridge_Bay",
+        "country": "CA",
+        "pin": "104,29",
+        "offset": -7,
+        "points": "115,24,116,24,116,25,116,25,114,25,114,26,113,26,107,24,111,24,110,23,115,24",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Cambridge_Bay",
+        "country": "CA",
+        "pin": "104,29",
+        "offset": -7,
+        "points": "100,23,103,24,105,26,105,26,110,27,110,28,106,28,107,28,107,29,108,28,109,29,107,29,104,29,104,29,102,28,99,30,93,30,92,29,93,29,88,29,87,28,97,28,97,24,99,24,100,26,101,25,100,23,100,23",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Campo_Grande",
+        "country": "BR",
+        "pin": "174,153",
+        "offset": -3,
+        "points": "176,150,177,151,179,152,179,153,175,158,173,158,172,156,169,156,170,150,172,149,173,150,175,149,175,150,176,150",
+        "zoneName": "AMST"
+    }, {
+        "timezone": "America/Cancun",
+        "country": "MX",
+        "pin": "129,96",
+        "offset": -6,
+        "points": "128,95,130,96,128,98,129,98,128,100,128,99,127,100,126,100,126,98,128,96,128,95",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Caracas",
+        "country": "VE",
+        "pin": "157,110",
+        "offset": -4.5,
+        "points": "163,111,165,112,165,113,167,113,166,115,166,115,165,116,165,117,166,118,163,119,163,120,160,119,161,122,162,122,159,124,159,124,158,124,157,123,157,122,156,121,157,120,156,119,156,116,154,117,153,115,150,115,149,112,148,112,149,110,151,109,150,109,151,110,150,111,150,112,151,112,151,112,151,110,153,109,153,108,153,109,155,109,155,110,158,110,160,111,162,110,161,110,164,110,163,110,163,111",
+        "zoneName": "VET"
+    }, {
+        "timezone": "America/Cayenne",
+        "country": "GF",
+        "pin": "177,118",
+        "offset": -3,
+        "points": "176,117,178,119,177,122,175,122,175,120,174,118,175,117,176,117",
+        "zoneName": "GFT"
+    }, {
+        "timezone": "America/Cayman",
+        "country": "KY",
+        "pin": "137,98",
+        "offset": -5,
+        "points": "139,98,139,98,139,98",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Chicago",
+        "country": "US",
+        "pin": "128,67",
+        "offset": -6,
+        "points": "128,72,132,74,132,75,131,76,132,80,132,84,130,83,130,83,129,83,129,82,128,83,128,82,128,83,124,83,126,83,125,84,126,84,126,85,125,84,125,85,120,83,118,84,118,84,118,85,116,86,117,85,116,85,116,86,115,86,115,87,114,87,115,87,115,89,112,88,112,87,109,84,107,84,107,85,105,84,104,82,104,81,107,81,107,74,108,74,108,73,109,73,109,70,108,70,108,69,109,69,109,67,110,67,109,64,111,63,110,63,111,62,111,61,109,61,110,60,110,59,106,59,105,57,118,57,118,56,119,57,126,58,122,60,124,60,124,60,128,61,128,62,128,63,129,63,128,66,129,67,130,67,128,68,128,72",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Chihuahua",
+        "country": "MX",
+        "pin": "103,85",
+        "offset": -7,
+        "points": "106,85,106,86,106,88,105,88,103,88,101,89,98,86,99,86,99,82,100,82,100,81,102,81,104,83,105,84,106,85",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Coral_Harbour",
+        "country": "",
+        "pin": "250,125",
+        "offset": -5,
+        "points": "131,33,132,34,133,34,136,35,137,36,136,36,139,36,137,37,135,36,131,37,131,36,129,37,130,36,130,34,131,33",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Costa_Rica",
+        "country": "CR",
+        "pin": "133,111",
+        "offset": -6,
+        "points": "132,112,131,111,131,109,134,110,135,112,135,112,135,114,131,111,132,112",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Creston",
+        "country": "CA",
+        "pin": "88,57",
+        "offset": -7,
+        "points": "89,57,87,57,88,56,89,57",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Cuiaba",
+        "country": "BR",
+        "pin": "172,147",
+        "offset": -3,
+        "points": "179,146,176,148,176,150,175,150,175,149,173,150,172,149,170,150,169,149,169,148,166,148,166,144,167,142,167,141,165,140,164,137,169,137,169,135,170,137,171,138,180,139,180,141,180,143,179,146",
+        "zoneName": "AMST"
+    }, {
+        "timezone": "America/Curacao",
+        "country": "CW",
+        "pin": "154,108",
+        "offset": -4,
+        "points": "154,108,154,108,154,108",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Danmarkshavn",
+        "country": "GL",
+        "pin": "224,18",
+        "offset": 0,
+        "points": "223,15,223,15,224,15,221,16,221,16,220,17,221,17,223,17,224,17,221,17,224,18,225,18,218,18,223,19,220,19,223,20,218,20,219,14,223,15",
+        "zoneName": "GMT"
+    }, {
+        "timezone": "America/Dawson",
+        "country": "CA",
+        "pin": "56,36",
+        "offset": -8,
+        "points": "56,36,56,36,56,36",
+        "zoneName": "PST"
+    }, {
+        "timezone": "America/Dawson_Creek",
+        "country": "CA",
+        "pin": "83,42",
+        "offset": -7,
+        "points": "83,45,83,50,79,48,78,46,83,45",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Denver",
+        "country": "US",
+        "pin": "104,70",
+        "offset": -7,
+        "points": "93,63,92,62,91,62,91,60,89,59,89,57,105,57,106,59,108,59,108,60,110,61,109,61,111,61,111,62,110,63,111,63,109,64,110,67,109,67,109,69,108,69,108,70,109,70,109,73,108,73,108,74,107,74,107,81,104,81,104,82,102,81,99,81,99,76,96,76,95,74,95,74,92,74,92,67,96,67,96,63,93,63",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Detroit",
+        "country": "US",
+        "pin": "135,66",
+        "offset": -5,
+        "points": "132,67,129,67,130,66,130,64,130,63,131,62,132,63,132,61,134,62,134,62,134,63,133,65,135,64,136,65,134,67,132,67",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Detroit",
+        "country": "US",
+        "pin": "135,66",
+        "offset": -5,
+        "points": "125,60,127,59,127,60,130,61,132,60,134,61,131,61,130,62,129,61,128,62,129,62,128,61,126,61,125,60",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Dominica",
+        "country": "DM",
+        "pin": "165,104",
+        "offset": -4,
+        "points": "165,103,165,104,165,103",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Edmonton",
+        "country": "CA",
+        "pin": "92,51",
+        "offset": -7,
+        "points": "92,57,88,56,88,55,85,53,86,52,86,52,83,51,83,42,97,42,97,51,99,51,97,52,97,57,92,57",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Eirunepe",
+        "country": "BR",
+        "pin": "153,134",
+        "offset": -4,
+        "points": "156,138,148,135,148,134,149,132,150,131,153,131,156,138",
+        "zoneName": "ACT"
+    }, {
+        "timezone": "America/El_Salvador",
+        "country": "SV",
+        "pin": "126,106",
+        "offset": -6,
+        "points": "126,106,125,106,126,105,128,106,128,107,126,106",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Fortaleza",
+        "country": "BR",
+        "pin": "197,130",
+        "offset": -3,
+        "points": "201,134,202,135,201,135,199,137,198,136,198,135,197,136,194,135,194,136,192,138,189,138,189,140,187,140,186,139,185,138,185,136,184,135,184,133,182,132,185,130,186,126,187,127,187,127,188,127,188,128,188,130,188,128,189,129,190,128,191,129,194,129,198,132,201,132,201,134",
+        "zoneName": "BRT"
+    }, {
+        "timezone": "America/Glace_Bay",
+        "country": "CA",
+        "pin": "167,61",
+        "offset": -4,
+        "points": "167,61,166,61,166,61,167,61",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Godthab",
+        "country": "GL",
+        "pin": "178,36",
+        "offset": -3,
+        "points": "188,42,187,42,188,41,187,41,188,41,187,41,187,41,186,41,187,40,186,41,187,40,183,41,184,40,183,40,183,40,182,40,183,39,182,39,182,39,181,39,182,39,181,39,182,39,180,38,181,37,180,38,180,38,180,37,180,37,179,37,180,37,179,37,180,37,179,37,179,36,178,36,180,36,178,36,180,35,179,35,180,35,181,36,179,34,180,35,178,36,178,35,179,35,177,35,178,34,177,34,180,34,177,34,177,34,176,34,178,33,176,33,180,32,175,33,176,33,175,33,177,33,176,32,177,32,175,32,180,32,175,31,181,31,177,31,178,31,175,31,176,30,178,31,176,30,180,31,179,30,179,30,176,30,179,30,180,29,179,30,179,29,180,29,180,29,180,29,180,29,179,29,180,28,179,28,180,28,174,27,180,27,179,27,179,27,178,26,179,26,177,26,178,26,177,26,179,26,176,26,178,25,176,25,175,25,175,26,173,26,172,25,174,25,173,25,174,25,173,24,174,24,173,23,174,23,172,23,173,22,172,22,172,22,170,22,172,21,168,20,169,20,169,20,161,19,158,15,160,15,160,14,162,14,156,13,162,12,163,13,162,12,165,12,165,12,166,12,165,11,166,11,172,12,167,11,169,11,174,1
 1,176,11,175,12,176,11,181,12,179,11,181,11,179,10,180,10,188,11,189,11,188,11,188,11,188,11,191,11,186,10,195,10,187,10,196,10,196,10,199,10,196,9,202,9,214,9,201,10,215,9,216,10,214,10,220,10,204,11,216,11,213,12,213,12,221,11,220,12,217,13,224,12,223,12,228,11,234,12,229,13,221,13,228,13,221,14,222,14,226,14,225,14,219,14,218,20,223,20,223,21,219,20,220,20,219,20,222,21,219,21,224,22,219,22,219,22,219,22,220,23,220,22,222,22,221,23,219,23,217,23,219,23,214,22,216,23,212,23,213,23,212,23,212,24,215,24,212,24,216,24,213,24,215,24,215,25,216,25,216,26,210,25,212,25,210,26,215,26,211,26,212,26,209,27,213,27,210,28,212,28,215,27,219,28,213,30,208,30,206,30,205,30,206,31,204,31,202,33,198,33,198,34,197,33,198,33,197,33,197,33,197,33,197,34,195,34,194,34,195,34,194,35,193,35,194,36,192,36,194,36,194,37,192,36,193,37,192,37,192,37,191,37,192,38,190,38,191,38,190,38,192,39,190,39,191,39,190,40,191,40,189,40,191,40,190,41,190,41,189,41,190,42,189,41,188,42",
+        "zoneName": "WGT"
+    }, {
+        "timezone": "America/Goose_Bay",
+        "country": "CA",
+        "pin": "166,51",
+        "offset": -4,
+        "points": "171,53,161,53,161,52,162,52,162,52,161,52,160,53,158,53,158,51,156,52,157,51,156,50,157,49,156,49,157,49,157,48,159,49,161,49,162,48,161,48,161,47,162,47,161,47,162,45,160,44,162,43,160,43,161,43,161,42,160,42,160,41,162,43,161,43,163,43,162,44,163,44,162,44,164,45,163,45,165,46,163,46,164,46,164,47,166,48,166,48,166,49,167,48,167,48,168,48,167,49,168,48,168,49,170,49,167,50,169,50,166,51,170,50,171,50,170,51,171,53",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Grand_Turk",
+        "country": "TC",
+        "pin": "151,95",
+        "offset": -5,
+        "points": "151,95,151,95,151,95",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Grenada",
+        "country": "GD",
+        "pin": "164,108",
+        "offset": -4,
+        "points": "165,108,165,108,165,108",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Guadeloupe",
+        "country": "GP",
+        "pin": "165,102",
+        "offset": -4,
+        "points": "165,102,165,102,165,102",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Guatemala",
+        "country": "GT",
+        "pin": "124,105",
+        "offset": -6,
+        "points": "125,106,123,105,122,104,123,103,124,103,123,101,124,101,124,100,126,100,126,103,127,103,125,106",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Guayaquil",
+        "country": "EC",
+        "pin": "139,128",
+        "offset": -5,
+        "points": "141,130,140,132,139,131,138,131,139,128,139,129,137,128,139,124,141,123,142,124,144,124,145,125,145,125,146,126,141,130",
+        "zoneName": "ECT"
+    }, {
+        "timezone": "America/Guyana",
+        "country": "GY",
+        "pin": "169,116",
+        "offset": -4,
+        "points": "170,116,171,118,170,118,169,119,172,122,170,122,168,123,167,122,167,121,167,120,166,119,167,118,165,117,165,116,166,115,166,115,167,114,167,113,169,115,169,116,169,115,170,116",
+        "zoneName": "GYT"
+    }, {
+        "timezone": "America/Halifax",
+        "country": "CA",
+        "pin": "162,63",
+        "offset": -4,
+        "points": "161,63,162,62,160,62,161,61,163,62,164,61,165,62,161,63,159,65,158,64,158,63,160,62,161,63",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Havana",
+        "country": "CU",
+        "pin": "136,93",
+        "offset": -5,
+        "points": "146,96,147,97,142,97,143,96,141,96,141,95,136,94,136,94,137,94,136,93,132,95,134,93,138,93,146,96",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Hermosillo",
+        "country": "MX",
+        "pin": "96,85",
+        "offset": -7,
+        "points": "90,81,91,80,96,81,99,81,99,86,98,86,99,88,98,88,96,87,97,86,94,85,93,82,90,81",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Indiana/Petersburg",
+        "country": "US",
+        "pin": "129,72",
+        "offset": -5,
+        "points": "129,72,129,72,129,72",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Indiana/Tell_City",
+        "country": "US",
+        "pin": "129,72",
+        "offset": -6,
+        "points": "130,72,130,72,130,72",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Indiana/Vevay",
+        "country": "US",
+        "pin": "132,71",
+        "offset": -5,
+        "points": "132,71,132,71,132,71",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Indiana/Indianapolis",
+        "country": "US",
+        "pin": "130,70",
+        "offset": -5,
+        "points": "132,71,130,72,130,71,128,71,128,68,130,68,130,67,132,67,132,70,132,71",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Indiana/Knox",
+        "country": "US",
+        "pin": "130,68",
+        "offset": -6,
+        "points": "130,67,129,68,130,67",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Indiana/Marengo",
+        "country": "US",
+        "pin": "130,72",
+        "offset": -5,
+        "points": "130,72,130,72,130,72,130,72",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Indiana/Vincennes",
+        "country": "US",
+        "pin": "128,71",
+        "offset": -5,
+        "points": "128,72,128,71,130,71,130,72,128,72",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Indiana/Winamac",
+        "country": "US",
+        "pin": "130,68",
+        "offset": -5,
+        "points": "130,68,129,68,130,68",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Inuvik",
+        "country": "CA",
+        "pin": "64,30",
+        "offset": -7,
+        "points": "65,30,64,30,65,30",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Iqaluit",
+        "country": "CA",
+        "pin": "155,36",
+        "offset": -5,
+        "points": "139,20,138,20,140,20,138,21,140,21,132,21,132,20,139,20",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Iqaluit",
+        "country": "CA",
+        "pin": "155,36",
+        "offset": -5,
+        "points": "139,10,145,10,144,11,145,10,142,10,156,10,155,10,156,10,156,12,154,12,156,12,152,12,156,12,156,13,152,13,153,14,149,14,152,14,151,14,147,14,146,14,148,15,142,15,147,15,142,15,146,16,143,16,145,16,145,17,141,17,142,17,141,18,136,18,142,18,141,19,137,19,138,19,135,18,136,19,132,19,132,18,134,18,134,17,136,17,132,17,132,15,136,16,134,16,137,15,132,15,134,15,132,15,132,14,138,14,139,14,134,13,144,13,140,13,143,12,140,12,140,12,139,13,132,13,132,12,136,12,132,12,132,11,133,11,132,10,140,11,135,11,138,10,137,10,141,10,138,10,139,10",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Iqaluit",
+        "country": "CA",
+        "pin": "155,36",
+        "offset": -5,
+        "points": "132,30,133,29,132,29,132,28,136,28,134,28,137,29,136,29,137,30,135,30,137,31,134,33,133,32,132,32,132,30",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Iqaluit",
+        "country": "CA",
+        "pin": "155,36",
+        "offset": -5,
+        "points": "144,24,140,24,138,23,142,23,144,24",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Iqaluit",
+        "country": "CA",
+        "pin": "155,36",
+        "offset": -5,
+        "points": "133,23,137,23,139,24,138,24,138,24,138,25,139,24,142,25,140,25,142,25,141,24,142,24,146,24,146,25,144,25,147,25,145,26,146,25,146,26,148,25,147,26,148,26,147,26,149,26,148,26,149,25,151,26,149,27,150,27,149,27,152,26,150,27,151,27,151,28,153,27,152,27,155,27,152,28,155,28,153,28,156,27,155,28,153,28,156,29,154,29,155,29,154,29,155,29,155,29,156,29,154,29,156,30,156,33,155,33,156,34,156,37,154,36,156,37,156,39,151,37,150,37,151,37,149,36,148,36,148,35,148,36,148,35,147,36,147,35,146,35,146,35,147,36,142,36,141,35,142,34,148,34,147,33,150,32,148,30,148,30,147,30,148,30,145,29,144,30,145,29,143,28,143,28,143,28,143,28,142,28,142,27,140,27,139,27,140,27,141,28,136,28,138,28,135,27,137,28,132,28,132,26,133,25,132,25,132,25,133,25,132,25,132,24,133,24,132,23,133,24,132,23,133,23",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/La_Paz",
+        "country": "BO",
+        "pin": "155,148",
+        "offset": -4,
+        "points": "164,154,163,156,161,156,161,157,160,156,158,155,157,157,156,157,155,153,155,152,153,149,154,148,154,147,155,142,153,140,155,140,157,139,159,138,160,142,166,144,166,148,169,148,169,149,170,150,170,153,168,152,164,152,164,154",
+        "zoneName": "BOT"
+    }, {
+        "timezone": "America/Jamaica",
+        "country": "JM",
+        "pin": "143,100",
+        "offset": -5,
+        "points": "144,100,143,100,141,100,143,99,144,100",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Juneau",
+        "country": "US",
+        "pin": "63,44",
+        "offset": -9,
+        "points": "59,43,62,42,66,45,65,46,65,45,64,45,65,45,64,45,65,45,64,44,64,44,63,44,62,42,62,42,62,44,61,44,61,43,61,43,61,43,60,43,61,44,60,44,58,43,59,43",
+        "zoneName": "AKST"
+    }, {
+        "timezone": "America/Kentucky/Louisville",
+        "country": "US",
+        "pin": "131,72",
+        "offset": -5,
+        "points": "130,72,130,72,131,71,130,72",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Kentucky/Monticello",
+        "country": "US",
+        "pin": "132,74",
+        "offset": -5,
+        "points": "132,74,133,74,132,74,132,74",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Kralendijk",
+        "country": "BQ",
+        "pin": "155,108",
+        "offset": -4,
+        "points": "162,101,162,100,162,101",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Lima",
+        "country": "PE",
+        "pin": "143,142",
+        "offset": -5,
+        "points": "153,149,153,150,152,150,151,149,146,146,144,145,144,144,139,135,137,133,138,133,137,131,138,130,139,130,138,131,140,132,141,130,145,127,146,126,145,125,146,125,149,128,150,128,153,129,152,130,153,131,152,131,149,132,148,134,147,135,149,137,148,138,150,138,150,139,152,138,152,140,153,140,155,142,154,147,154,148,153,149",
+        "zoneName": "PET"
+    }, {
+        "timezone": "America/Managua",
+        "country": "NI",
+        "pin": "130,108",
+        "offset": -6,
+        "points": "132,110,131,110,128,107,129,107,129,106,131,106,132,104,135,104,134,110,132,110",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Manaus",
+        "country": "BR",
+        "pin": "167,129",
+        "offset": -4,
+        "points": "167,125,168,125,169,127,172,128,169,134,169,135,169,137,164,137,163,136,162,136,161,137,160,138,158,138,157,139,156,138,153,131,154,127,153,124,154,124,153,124,153,123,156,122,157,123,158,124,159,124,159,124,161,122,162,122,163,124,163,126,164,127,165,126,166,126,167,125",
+        "zoneName": "AMT"
+    }, {
+        "timezone": "America/Los_Angeles",
+        "country": "US",
+        "pin": "86,78",
+        "offset": -8,
+        "points": "91,62,88,62,88,61,88,62,87,63,86,64,86,66,87,66,87,67,92,67,92,75,91,75,91,77,91,79,91,79,87,80,85,78,82,77,82,76,80,73,80,72,79,72,78,71,77,69,78,67,77,66,78,61,78,61,78,61,78,60,78,60,78,60,78,60,77,58,80,58,79,59,80,58,80,59,79,60,80,59,80,57,89,57,89,59,91,60,91,62",
+        "zoneName": "PST"
+    }, {
+        "timezone": "America/Lower_Princes",
+        "country": "SX",
+        "pin": "162,100",
+        "offset": -4,
+        "points": "162,100,162,100,162,100",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Maceio",
+        "country": "BR",
+        "pin": "200,138",
+        "offset": -3,
+        "points": "199,140,198,141,197,140,198,139,197,138,198,137,199,138,201,137,199,140",
+        "zoneName": "BRT"
+    }, {
+        "timezone": "America/Marigot",
+        "country": "MF",
+        "pin": "162,100",
+        "offset": -4,
+        "points": "162,100,162,100,162,100",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Martinique",
+        "country": "MQ",
+        "pin": "165,105",
+        "offset": -4,
+        "points": "165,104,165,104,165,104",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Matamoros",
+        "country": "MX",
+        "pin": "115,89",
+        "offset": -6,
+        "points": "113,89,112,89,109,84,108,84,107,85,107,85,107,84,109,84,112,87,112,88,115,89,115,90,113,89",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Mazatlan",
+        "country": "MX",
+        "pin": "102,93",
+        "offset": -7,
+        "points": "104,93,106,95,105,96,104,96,104,95,103,94,100,90,98,89,98,88,100,88,101,90,104,93",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Mazatlan",
+        "country": "MX",
+        "pin": "102,93",
+        "offset": -7,
+        "points": "91,86,93,86,98,93,97,93,94,91,94,89,93,88,92,88,90,86,92,87,91,86",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Menominee",
+        "country": "US",
+        "pin": "128,62",
+        "offset": -6,
+        "points": "128,62,128,61,124,60,128,61,129,62,128,62",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Mexico_City",
+        "country": "MX",
+        "pin": "112,98",
+        "offset": -6,
+        "points": "119,103,118,102,116,103,114,103,104,98,103,97,104,96,105,96,106,95,105,94,106,92,108,91,107,90,110,91,111,93,114,94,117,99,119,100,122,99,122,100,124,100,124,101,123,101,124,102,123,103,122,105,119,102,119,103",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Merida",
+        "country": "MX",
+        "pin": "126,96",
+        "offset": -6,
+        "points": "124,96,125,95,128,95,128,96,126,98,126,100,122,100,122,99,123,99,124,96",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Metlakatla",
+        "country": "US",
+        "pin": "67,48",
+        "offset": -8,
+        "points": "67,48,67,48,67,48",
+        "zoneName": "PST"
+    }, {
+        "timezone": "America/Miquelon",
+        "country": "PM",
+        "pin": "172,60",
+        "offset": -3,
+        "points": "172,60,172,60,172,60",
+        "zoneName": "PMST"
+    }, {
+        "timezone": "America/Moncton",
+        "country": "CA",
+        "pin": "160,61",
+        "offset": -4,
+        "points": "157,58,160,59,159,60,160,60,160,61,161,61,158,62,156,62,156,62,156,60,154,59,155,58,157,58",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Monterrey",
+        "country": "MX",
+        "pin": "111,89",
+        "offset": -6,
+        "points": "107,90,108,91,106,92,105,94,104,94,101,90,103,88,105,88,106,88,106,86,106,85,108,84,109,84,112,89,115,89,115,90,115,90,114,90,114,94,111,93,110,91,107,90",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Montevideo",
+        "country": "UY",
+        "pin": "172,173",
+        "offset": -2,
+        "points": "172,173,170,173,169,172,170,167,171,167,172,168,173,168,176,170,175,173,172,173",
+        "zoneName": "UYT"
+    }, {
+        "timezone": "America/Montreal",
+        "country": "",
+        "pin": "250,125",
+        "offset": -5,
+        "points": "146,63,147,62,144,62,141,61,139,59,140,53,140,54,140,53,141,52,140,51,140,50,139,49,142,48,144,47,143,44,141,44,143,42,142,41,143,41,142,41,142,40,141,41,142,40,142,39,142,38,146,39,148,38,150,39,150,39,151,39,150,40,151,40,153,40,153,42,151,42,153,42,153,43,154,43,152,44,154,43,155,44,154,45,156,44,155,44,156,44,156,45,158,43,158,44,158,43,159,43,159,43,160,43,159,42,160,41,160,42,161,42,161,43,160,43,162,43,160,44,162,45,161,47,162,47,161,47,161,48,162,48,161,49,159,49,157,48,157,49,156,49,157,49,156,50,157,51,156,52,158,51,158,53,160,53,161,52,162,52,162,52,161,52,161,53,171,53,171,53,168,54,167,55,164,55,158,55,158,55,156,57,155,57,152,60,149,61,157,57,160,57,161,58,159,58,155,58,153,60,152,62,151,63,146,63",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Montserrat",
+        "country": "MS",
+        "pin": "164,102",
+        "offset": -4,
+        "points": "164,102,164,102,164,102",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Nassau",
+        "country": "BS",
+        "pin": "143,90",
+        "offset": -5,
+        "points": "143,90,143,90,143,90",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/New_York",
+        "country": "US",
+        "pin": "147,68",
+        "offset": -5,
+        "points": "132,82,131,76,132,75,133,74,130,72,132,71,132,71,132,67,136,67,140,66,140,65,144,65,144,64,146,63,152,62,154,59,156,60,156,62,157,63,155,64,154,63,154,64,152,64,151,66,152,67,153,67,153,67,151,67,151,67,151,68,148,68,146,71,145,70,146,72,145,73,145,72,144,71,145,70,144,70,144,72,143,72,144,72,143,72,144,74,143,73,144,74,145,75,144,74,145,75,143,75,145,76,143,76,144,76,143,76,144,76,144,77,138,80,137,82,139,88,138,90,137,90,136,88,136,88,136,88,135,87,136,86,135,86,135,84,133,83,131,84,132,82",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Nipigon",
+        "country": "CA",
+        "pin": "127,57",
+        "offset": -5,
+        "points": "127,57,127,57,127,57",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Nome",
+        "country": "US",
+        "pin": "20,35",
+        "offset": -9,
+        "points": "25,32,23,32,22,31,18,30,19,29,23,29,25,27,25,32",
+        "zoneName": "AKST"
+    }, {
+        "timezone": "America/Nome",
+        "country": "US",
+        "pin": "20,35",
+        "offset": -9,
+        "points": "25,35,24,36,19,35,18,35,19,34,16,34,23,33,22,33,25,33,25,35",
+        "zoneName": "AKST"
+    }, {
+        "timezone": "America/Nome",
+        "country": "US",
+        "pin": "20,35",
+        "offset": -9,
+        "points": "25,42,22,42,20,41,21,40,19,39,22,37,23,37,25,37,25,42",
+        "zoneName": "AKST"
+    }, {
+        "timezone": "America/Noronha",
+        "country": "BR",
+        "pin": "205,130",
+        "offset": -2,
+        "points": "205,130,205,130,205,130",
+        "zoneName": "FNT"
+    }, {
+        "timezone": "America/North_Dakota/Beulah",
+        "country": "US",
+        "pin": "109,59",
+        "offset": -6,
+        "points": "109,59,108,60,108,59,109,59",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/North_Dakota/Center",
+        "country": "US",
+        "pin": "109,60",
+        "offset": -6,
+        "points": "110,60,109,60,110,60",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/North_Dakota/New_Salem",
+        "country": "US",
+        "pin": "109,60",
+        "offset": -6,
+        "points": "110,60,110,60,110,61,108,60,110,60",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Ojinaga",
+        "country": "MX",
+        "pin": "105,84",
+        "offset": -7,
+        "points": "102,81,106,85,105,84,104,83,102,81,99,82,100,81,100,81,102,81",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Panama",
+        "country": "PA",
+        "pin": "140,113",
+        "offset": -5,
+        "points": "142,113,143,114,142,115,141,114,141,113,142,114,140,112,138,114,139,115,138,115,138,115,137,114,137,114,136,113,135,114,135,113,135,112,137,113,140,112,142,113",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Pangnirtung",
+        "country": "CA",
+        "pin": "159,33",
+        "offset": -5,
+        "points": "156,10,160,10,165,11,156,12,156,10",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Pangnirtung",
+        "country": "CA",
+        "pin": "159,33",
+        "offset": -5,
+        "points": "156,34,157,34,157,35,157,35,160,35,159,36,160,36,160,36,160,37,159,36,160,38,159,37,159,38,158,37,158,37,156,37,156,34",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Pangnirtung",
+        "country": "CA",
+        "pin": "159,33",
+        "offset": -5,
+        "points": "156,30,157,30,156,30,158,30,157,31,158,31,158,31,158,31,160,31,159,31,160,31,161,31,160,31,161,32,160,32,162,31,161,32,163,32,163,32,164,32,165,32,163,33,164,33,162,33,163,33,163,33,163,34,162,33,162,35,159,34,161,33,159,33,159,33,158,33,156,32,157,33,156,33,157,33,156,33,156,30",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Paramaribo",
+        "country": "SR",
+        "pin": "173,117",
+        "offset": -3,
+        "points": "175,118,175,120,174,122,172,121,172,122,171,122,169,119,170,118,171,118,171,117,175,117,175,118",
+        "zoneName": "SRT"
+    }, {
+        "timezone": "America/Phoenix",
+        "country": "US",
+        "pin": "94,79",
+        "offset": -7,
+        "points": "99,80,99,81,96,81,91,80,91,77,91,75,91,75,92,74,95,74,95,74,96,76,99,76,99,80",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Port-au-Prince",
+        "country": "HT",
+        "pin": "150,99",
+        "offset": -5,
+        "points": "148,99,149,99,148,99",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Port_of_Spain",
+        "country": "TT",
+        "pin": "165,110",
+        "offset": -4,
+        "points": "164,110,164,110,164,110",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Porto_Velho",
+        "country": "BR",
+        "pin": "161,137",
+        "offset": -4,
+        "points": "167,142,166,144,164,144,160,142,159,138,157,139,158,138,160,138,161,137,162,136,163,136,165,137,165,140,167,140,167,142",
+        "zoneName": "AMT"
+    }, {
+        "timezone": "America/Puerto_Rico",
+        "country": "PR",
+        "pin": "158,99",
+        "offset": -4,
+        "points": "158,99,158,99,158,99",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Rainy_River",
+        "country": "CA",
+        "pin": "119,57",
+        "offset": -6,
+        "points": "119,57,119,57,119,57",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Rankin_Inlet",
+        "country": "CA",
+        "pin": "122,38",
+        "offset": -6,
+        "points": "132,12,125,12,125,12,129,12,122,12,132,11,132,12",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Rankin_Inlet",
+        "country": "CA",
+        "pin": "122,38",
+        "offset": -6,
+        "points": "113,19,114,19,114,20,115,20,111,21,110,20,111,20,108,20,108,20,109,20,108,19,111,20,111,19,112,19,110,19,113,19",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Rankin_Inlet",
+        "country": "CA",
+        "pin": "122,38",
+        "offset": -6,
+        "points": "125,16,126,16,122,16,121,16,123,16,119,15,124,15,118,15,117,15,119,14,116,14,119,14,118,14,119,14,116,13,120,13,117,13,121,12,119,12,120,12,127,14,128,13,128,14,129,14,129,15,132,15,128,16,128,15,127,16,128,16,127,16,127,16,125,16",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Rankin_Inlet",
+        "country": "CA",
+        "pin": "122,38",
+        "offset": -6,
+        "points": "132,21,122,21,122,21,122,20,121,19,118,19,118,19,115,18,117,18,121,18,120,19,124,19,124,19,123,19,126,19,123,19,126,20,132,20,132,21",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Rankin_Inlet",
+        "country": "CA",
+        "pin": "122,38",
+        "offset": -6,
+        "points": "132,19,125,19,130,18,127,17,129,17,132,18,132,19",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Rankin_Inlet",
+        "country": "CA",
+        "pin": "122,38",
+        "offset": -6,
+        "points": "132,28,127,27,126,26,129,26,125,26,125,25,126,25,125,24,128,23,132,23,130,24,130,24,130,25,132,26,129,26,132,26,132,28",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Rankin_Inlet",
+        "country": "CA",
+        "pin": "122,38",
+        "offset": -6,
+        "points": "125,36,124,37,119,36,123,37,124,37,122,38,122,38,120,39,120,39,119,40,120,40,118,42,108,42,108,32,126,32,126,29,128,30,128,30,127,31,129,32,130,31,131,30,132,30,132,33,130,33,131,33,129,34,123,33,129,35,128,36,125,36",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Rankin_Inlet",
+        "country": "CA",
+        "pin": "122,38",
+        "offset": -6,
+        "points": "118,22,120,22,125,22,122,24,119,24,120,24,120,25,117,24,117,23,119,23,118,22",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Recife",
+        "country": "BR",
+        "pin": "202,136",
+        "offset": -3,
+        "points": "196,136,197,136,198,135,199,137,201,135,202,136,201,137,199,138,198,137,197,138,195,137,194,138,193,137,194,136,194,135,196,136",
+        "zoneName": "BRT"
+    }, {
+        "timezone": "America/Regina",
+        "country": "CA",
+        "pin": "105,55",
+        "offset": -6,
+        "points": "104,57,97,57,97,52,99,51,97,51,97,42,108,42,108,48,108,49,109,50,109,57,104,57",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Resolute",
+        "country": "CA",
+        "pin": "118,21",
+        "offset": -6,
+        "points": "118,20,120,20,120,21,116,21,118,20",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Rio_Branco",
+        "country": "BR",
+        "pin": "156,139",
+        "offset": -4,
+        "points": "148,135,152,136,157,139,155,140,152,140,152,138,150,139,150,138,148,138,149,137,147,135,148,135",
+        "zoneName": "ACT"
+    }, {
+        "timezone": "America/Santa_Isabel",
+        "country": "MX",
+        "pin": "90,83",
+        "offset": -8,
+        "points": "91,80,91,83,93,86,91,86,92,85,89,84,88,81,88,80,91,80",
+        "zoneName": "PST"
+    }, {
+        "timezone": "America/Santarem",
+        "country": "BR",
+        "pin": "174,128",
+        "offset": -3,
+        "points": "176,125,177,126,178,127,177,127,178,129,177,130,177,132,178,134,177,136,178,138,177,138,171,138,170,137,169,134,172,128,168,126,168,123,170,122,172,122,172,121,174,121,174,123,176,123,176,125",
+        "zoneName": "BRT"
+    }, {
+        "timezone": "America/Santiago",
+        "country": "CL",
+        "pin": "152,171",
+        "offset": -3,
+        "points": "152,199,154,198,155,198,155,201,150,201,153,201,152,200,154,201,154,201,154,201,153,200,154,199,152,199,152,199",
+        "zoneName": "CLT"
+    }, {
+        "timezone": "America/Santiago",
+        "country": "CL",
+        "pin": "152,171",
+        "offset": -3,
+        "points": "148,193,148,195,148,196,150,195,149,197,150,197,155,198,152,198,151,200,149,199,150,199,151,198,151,198,149,198,149,199,148,199,149,198,148,198,148,197,149,198,149,197,149,198,149,198,149,198,149,197,148,196,148,197,149,197,148,197,149,197,148,197,148,197,148,197,147,197,148,196,147,196,148,195,148,195,147,196,147,195,146,195,147,195,147,194,148,194,147,193,147,194,147,193,147,193,147,193,147,192,146,192,148,192,148,191,146,191,147,191,147,191,147,191,147,190,145,190,146,189,147,189,147,190,148,188,148,189,148,188,149,188,148,188,149,187,148,186,149,184,149,184,149,184,149,183,149,183,150,183,148,183,147,182,148,180,148,177,148,177,151,172,151,165,152,162,152,157,153,155,152,150,154,149,155,152,155,153,156,157,157,157,156,158,155,159,155,162,153,164,153,167,152,168,153,173,152,174,152,175,151,176,152,179,150,180,150,183,150,184,151,186,150,187,151,187,150,187,151,188,150,188,150,190,149,191,149,193,148,193",
+        "zoneName": "CLT"
+    }, {
+        "timezone": "America/Santo_Domingo",
+        "country": "DO",
+        "pin": "153,99",
+        "offset": -4,
+        "points": "151,100,150,100,150,99,150,97,153,98,154,98,153,98,155,99,155,100,151,100",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Scoresbysund",
+        "country": "GL",
+        "pin": "219,27",
+        "offset": -1,
+        "points": "216,25,219,25,218,26,220,25,219,26,220,26,220,26,219,26,220,26,219,26,220,27,217,27,216,26,216,25",
+        "zoneName": "EGT"
+    }, {
+        "timezone": "America/Sao_Paulo",
+        "country": "BR",
+        "pin": "185,158",
+        "offset": -2,
+        "points": "181,166,179,168,178,170,180,167,179,167,179,168,176,172,176,171,176,170,175,170,173,168,172,168,171,167,170,167,173,164,175,162,175,161,174,161,175,159,176,157,178,155,179,152,177,151,176,149,179,146,180,142,181,143,182,142,182,143,184,143,186,143,186,146,189,145,195,147,194,149,195,150,195,152,193,155,193,156,192,157,188,157,183,160,182,160,183,161,182,161,183,161,182,164,181,166",
+        "zoneName": "BRST"
+    }, {
+        "timezone": "America/Sitka",
+        "country": "US",
+        "pin": "62,46",
+        "offset": -9,
+        "points": "66,45,67,46,65,46,66,45,66,45",
+        "zoneName": "AKST"
+    }, {
+        "timezone": "America/St_Barthelemy",
+        "country": "BL",
+        "pin": "163,100",
+        "offset": -4,
+        "points": "163,100,163,100,163,100",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/St_Johns",
+        "country": "CA",
+        "pin": "177,59",
+        "offset": -3.5,
+        "points": "173,53,172,54,173,54,172,54,171,56,172,55,173,56,172,56,173,56,173,57,174,56,176,57,175,58,176,57,175,58,175,59,177,58,176,59,177,59,176,60,176,60,176,59,175,60,175,59,175,58,173,60,174,59,172,59,173,59,173,58,171,59,168,59,169,58,168,58,169,57,170,57,169,57,170,56,169,56,170,55,173,53",
+        "zoneName": "NST"
+    }, {
+        "timezone": "America/Thule",
+        "country": "GL",
+        "pin": "154,19",
+        "offset": -4,
+        "points": "161,19,155,19,153,19,156,18,151,18,158,17,153,17,153,17,149,16,158,15,161,19",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/St_Kitts",
+        "country": "KN",
+        "pin": "163,101",
+        "offset": -4,
+        "points": "163,101,163,101,163,101",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/St_Lucia",
+        "country": "LC",
+        "pin": "165,106",
+        "offset": -4,
+        "points": "165,105,165,106,165,105",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/St_Thomas",
+        "country": "VI",
+        "pin": "160,100",
+        "offset": -4,
+        "points": "160,99,160,99,160,99",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/St_Vincent",
+        "country": "VC",
+        "pin": "165,107",
+        "offset": -4,
+        "points": "165,106,165,107,165,106",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Swift_Current",
+        "country": "CA",
+        "pin": "100,55",
+        "offset": -6,
+        "points": "100,55,100,55,100,55",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Tegucigalpa",
+        "country": "HN",
+        "pin": "129,105",
+        "offset": -6,
+        "points": "129,106,129,107,128,106,126,105,126,104,128,103,131,103,133,103,135,104,132,104,131,106,129,106",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Thunder_Bay",
+        "country": "CA",
+        "pin": "126,58",
+        "offset": -5,
+        "points": "126,58,126,58,126,58",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Tijuana",
+        "country": "MX",
+        "pin": "87,80",
+        "offset": -8,
+        "points": "87,80,87,80,87,80",
+        "zoneName": "PST"
+    }, {
+        "timezone": "America/Toronto",
+        "country": "CA",
+        "pin": "140,64",
+        "offset": -5,
+        "points": "146,62,147,62,143,64,142,63,143,64,143,64,140,64,139,65,140,65,135,67,137,65,137,63,137,62,138,63,139,63,138,61,137,61,136,62,133,61,133,60,132,58,131,58,130,57,127,57,128,58,126,58,126,58,124,58,124,57,125,56,125,55,124,53,125,53,125,52,126,52,127,51,126,50,125,50,125,47,127,46,128,47,132,48,136,48,136,51,138,54,140,54,140,60,141,61,144,62,146,62",
+        "zoneName": "EST"
+    }, {
+        "timezone": "America/Tortola",
+        "country": "VG",
+        "pin": "160,99",
+        "offset": -4,
+        "points": "160,99,160,99,160,99",
+        "zoneName": "AST"
+    }, {
+        "timezone": "America/Vancouver",
+        "country": "CA",
+        "pin": "79,57",
+        "offset": -8,
+        "points": "72,54,76,55,79,58,76,57,77,57,76,57,75,56,74,56,75,56,72,55,73,55,72,54",
+        "zoneName": "PST"
+    }, {
+        "timezone": "America/Vancouver",
+        "country": "CA",
+        "pin": "79,57",
+        "offset": -8,
+        "points": "63,43,62,42,59,43,57,42,83,42,83,45,78,46,79,48,86,52,86,52,85,53,88,55,88,57,79,57,81,56,81,57,80,56,81,57,80,57,80,56,79,57,79,56,79,56,79,55,79,56,78,56,78,56,78,56,78,55,77,56,77,55,77,55,76,55,77,54,76,54,76,55,75,55,76,54,75,55,74,54,75,54,73,54,74,54,73,54,74,53,73,53,72,53,73,52,74,53,74,52,75,52,73,52,73,52,73,52,72,53,72,52,72,52,72,52,71,51,73,51,71,51,71,50,70,51,69,50,70,50,69,49,69,50,69,49,70,48,69,49,70,48,70,48,69,49,69,47,67,46,65,44,63,43",
+        "zoneName": "PST"
+    }, {
+        "timezone": "America/Whitehorse",
+        "country": "CA",
+        "pin": "62,41",
+        "offset": -8,
+        "points": "57,29,60,29,61,32,64,32,64,33,66,33,66,35,69,36,70,37,69,37,70,37,70,39,73,40,74,41,77,40,78,42,54,41,54,28,57,29",
+        "zoneName": "PST"
+    }, {
+        "timezone": "America/Winnipeg",
+        "country": "CA",
+        "pin": "115,56",
+        "offset": -6,
+        "points": "122,58,119,57,118,56,118,57,109,57,109,50,108,49,108,48,108,42,118,42,118,43,121,43,122,45,121,46,124,45,126,46,125,47,125,50,126,50,127,51,126,52,125,52,125,53,124,53,125,55,125,56,123,57,122,58",
+        "zoneName": "CST"
+    }, {
+        "timezone": "America/Yakutat",
+        "country": "US",
+        "pin": "56,42",
+        "offset": -9,
+        "points": "56,42,56,42,56,42",
+        "zoneName": "AKST"
+    }, {
+        "timezone": "America/Yellowknife",
+        "country": "CA",
+        "pin": "91,38",
+        "offset": -7,
+        "points": "83,31,92,34,95,34,97,35,108,36,108,42,78,42,77,40,74,41,73,40,70,39,70,37,69,37,70,37,69,36,66,35,66,33,64,33,64,32,61,32,60,29,62,30,61,29,63,28,64,28,64,29,70,28,67,28,67,29,68,28,68,29,69,28,73,27,72,27,76,29,77,28,78,28,77,29,79,28,82,28,81,28,81,30,83,31",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Yellowknife",
+        "country": "CA",
+        "pin": "91,38",
+        "offset": -7,
+        "points": "88,17,90,18,88,18,89,18,87,19,86,19,86,18,83,20,79,19,84,18,88,17",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Yellowknife",
+        "country": "CA",
+        "pin": "91,38",
+        "offset": -7,
+        "points": "84,22,87,22,90,23,85,24,83,25,83,26,79,26,75,25,78,23,77,22,81,21,84,22",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Yellowknife",
+        "country": "CA",
+        "pin": "91,38",
+        "offset": -7,
+        "points": "91,19,97,20,97,21,93,22,91,21,96,20,87,20,90,20,87,20,91,20,88,20,91,19",
+        "zoneName": "MST"
+    }, {
+        "timezone": "America/Yellowknife",
+        "country": "CA",
+        "pin": "91,38",
+        "offset": -7,
+        "points": "90,23,92,23,91,24,93,24,96,24,95,25,97,24,97,28,87,28,87,28,87,28,95,27,87,27,86,26,90,26,86,26,87,25,85,25,86,25,86,24,90,23",
+        "zoneName": "MST"
+    }, {
+        "timezone": "Antarctica/Macquarie",
+        "country": "AU",
+        "pin": "471,201",
+        "offset": 11,
+        "points": "471,201,471,201,471,201",
+        "zoneName": "MIST"
+    }, {
+        "timezone": "Arctic/Longyearbyen",
+        "country": "SJ",
+        "pin": "272,17",
+        "offset": 1,
+        "points": "275,14,275,14,275,15,275,14,280,16,276,16,276,17,274,18,274,19,273,19,272,18,273,18,269,17,273,17,270,17,274,17,269,17,269,17,274,16,273,16,273,16,271,16,271,15,270,16,271,16,268,16,267,16,268,16,266,15,267,15,266,15,267,15,266,15,265,15,269,14,267,14,269,15,269,15,270,14,273,15,272,14,275,14",
+        "zoneName": "CET"
+    }, {
+        "timezone": "Arctic/Longyearbyen",
+        "country": "SJ",
+        "pin": "272,17",
+        "offset": 1,
+        "points": "285,14,288,14,283,15,275,14,277,14,276,13,278,14,277,13,281,14,282,13,282,13,282,14,285,14",
+        "zoneName": "CET"
+    }, {
+        "timezone": "Asia/Aden",
+        "country": "YE",
+        "pin": "313,107",
+        "offset": 3,
+        "points": "313,107,310,107,309,104,310,101,314,102,314,103,318,100,322,99,324,102,323,102,322,103,313,107",
+        "zoneName": "AST"
+    }, {
+        "timezone": "Asia/Almaty",
+        "country": "KZ",
+        "pin": "357,65",
+        "offset": 6,
+        "points": "348,66,345,68,343,68,342,66,344,65,345,64,344,63,343,61,337,60,339,58,339,58,340,57,342,57,345,55,344,54,344,52,342,52,342,51,342,51,342,51,342,49,346,48,348,48,349,50,352,50,352,51,357,49,356,50,358,51,361,55,362,54,363,55,366,54,368,56,371,56,371,57,369,58,369,60,365,59,364,62,365,62,363,62,361,63,362,63,362,65,361,66,359,65,355,66,353,65,352,65,352,66,350,66,348,66",
+        "zoneName": "ALMT"
+    }, {
+        "timezone": "Asia/Amman",
+        "country": "JO",
+        "pin": "300,81",
+        "offset": 2,
+        "points": "302,82,303,83,302,83,300,84,299,84,299,80,301,80,304,79,305,80,301,81,302,82",
+        "zoneName": "EET"
+    }, {
+        "timezone": "Asia/Anadyr",
+        "country": "RU",
+        "pin": "497,35",
+        "offset": 12,
+        "points": "10,32,14,33,13,34,12,34,12,34,10,34,11,34,11,35,9,35,11,36,10,36,6,35,6,34,2,34,2,33,2,33,0,33,1,34,0,35,0,29,7,31,8,33,9,33,7,32,10,32",
+        "zoneName": "ANAT"
+    }, {
+        "timezone": "Asia/Anadyr",
+        "country": "RU",
+        "pin": "497,35",
+        "offset": 12,
+        "points": "497,35,493,35,498,36,499,38,499,39,496,38,492,39,491,38,487,39,484,37,486,37,484,36,473,35,471,34,471,33,470,33,471,32,469,31,470,30,476,30,476,29,475,28,476,28,483,28,486,30,488,29,486,28,487,28,495,28,500,29,500,35,498,35,497,35",
+        "zoneName": "ANAT"
+    }, {
+        "timezone": "Asia/Aqtau",
+        "country": "KZ",
+        "pin": "320,63",
+        "offset": 5,
+        "points": "328,63,328,68,325,66,323,67,323,66,321,65,320,63,322,63,321,63,321,62,324,62,323,60,321,60,319,61,317,60,318,60,318,59,315,58,319,58,325,57,325,57,326,57,327,60,329,61,329,62,328,63",
+        "zoneName": "AQTT"
+    }, {
+        "timezone": "Asia/Aqtobe",
+        "country": "KZ",
+        "pin": "329,55",
+        "offset": 5,
+        "points": "326,55,326,54,327,55,328,54,331,54,333,55,335,54,336,54,337,56,337,57,339,58,337,60,335,59,331,62,329,62,328,60,326,59,326,57,324,57,326,56,326,55",
+        "zoneName": "AQTT"
+    }, {
+        "timezone": "Asia/Ashgabat",
+        "country": "TM",
+        "pin": "331,72",
+        "offset": 5,
+        "points": "340,74,340,75,337,76,335,75,335,74,334,74,332,73,329,72,325,73,325,71,324,71,324,70,325,70,323,69,324,68,323,67,325,66,327,68,329,68,329,67,331,66,331,66,331,66,331,66,333,66,334,68,336,68,337,70,343,72,342,73,341,73,340,74",
+  

<TRUNCATED>