# This file is auto-generated by the Perl DateTime Suite time zone
# code generator (0.07) This code generator comes with the
# DateTime::TimeZone module distribution in the tools/ directory

#
# Generated from ../DateTime/data/Olson/2011n/europe.  Olson data version 2011n
#
# Do not edit this file directly.
#
package DateTime::TimeZone::Atlantic::Azores;
{
  $DateTime::TimeZone::Atlantic::Azores::VERSION = '1.42';
}

use strict;

use Class::Singleton;
use DateTime::TimeZone;
use DateTime::TimeZone::OlsonDB;

@DateTime::TimeZone::Atlantic::Azores::ISA = ( 'Class::Singleton', 'DateTime::TimeZone' );

my $spans =
[
    [
DateTime::TimeZone::NEG_INFINITY,
59421778960,
DateTime::TimeZone::NEG_INFINITY,
59421772800,
-6160,
0,
'LMT'
    ],
    [
59421778960,
60286125272,
59421772088,
60286118400,
-6872,
0,
'HMT'
    ],
    [
60286125272,
60446134800,
60286118072,
60446127600,
-7200,
0,
'AZOT'
    ],
    [
60446134800,
60457888800,
60446131200,
60457885200,
-3600,
1,
'AZOST'
    ],
    [
60457888800,
60468253200,
60457881600,
60468246000,
-7200,
0,
'AZOT'
    ],
    [
60468253200,
60487952400,
60468249600,
60487948800,
-3600,
1,
'AZOST'
    ],
    [
60487952400,
60499875600,
60487945200,
60499868400,
-7200,
0,
'AZOT'
    ],
    [
60499875600,
60519488400,
60499872000,
60519484800,
-3600,
1,
'AZOST'
    ],
    [
60519488400,
60531325200,
60519481200,
60531318000,
-7200,
0,
'AZOT'
    ],
    [
60531325200,
60551024400,
60531321600,
60551020800,
-3600,
1,
'AZOST'
    ],
    [
60551024400,
60562947600,
60551017200,
60562940400,
-7200,
0,
'AZOT'
    ],
    [
60562947600,
60582646800,
60562944000,
60582643200,
-3600,
1,
'AZOST'
    ],
    [
60582646800,
60594483600,
60582639600,
60594476400,
-7200,
0,
'AZOT'
    ],
    [
60594483600,
60614182800,
60594480000,
60614179200,
-3600,
1,
'AZOST'
    ],
    [
60614182800,
60693238800,
60614175600,
60693231600,
-7200,
0,
'AZOT'
    ],
    [
60693238800,
60708877200,
60693235200,
60708873600,
-3600,
1,
'AZOST'
    ],
    [
60708877200,
60756397200,
60708870000,
60756390000,
-7200,
0,
'AZOT'
    ],
    [
60756397200,
60770912400,
60756393600,
60770908800,
-3600,
1,
'AZOST'
    ],
    [
60770912400,
60787242000,
60770905200,
60787234800,
-7200,
0,
'AZOT'
    ],
    [
60787242000,
60802362000,
60787238400,
60802358400,
-3600,
1,
'AZOST'
    ],
    [
60802362000,
60819296400,
60802354800,
60819289200,
-7200,
0,
'AZOT'
    ],
    [
60819296400,
60834416400,
60819292800,
60834412800,
-3600,
1,
'AZOST'
    ],
    [
60834416400,
60851350800,
60834409200,
60851343600,
-7200,
0,
'AZOT'
    ],
    [
60851350800,
60865866000,
60851347200,
60865862400,
-3600,
1,
'AZOST'
    ],
    [
60865866000,
60914250000,
60865858800,
60914242800,
-7200,
0,
'AZOT'
    ],
    [
60914250000,
60928765200,
60914246400,
60928761600,
-3600,
1,
'AZOST'
    ],
    [
60928765200,
60944490000,
60928758000,
60944482800,
-7200,
0,
'AZOT'
    ],
    [
60944490000,
60960214800,
60944486400,
60960211200,
-3600,
1,
'AZOST'
    ],
    [
60960214800,
61007994000,
60960207600,
61007986800,
-7200,
0,
'AZOT'
    ],
    [
61007994000,
61023718800,
61007990400,
61023715200,
-3600,
1,
'AZOST'
    ],
    [
61023718800,
61038838800,
61023711600,
61038831600,
-7200,
0,
'AZOT'
    ],
    [
61038838800,
61055168400,
61038835200,
61055164800,
-3600,
1,
'AZOST'
    ],
    [
61055168400,
61072102800,
61055161200,
61072095600,
-7200,
0,
'AZOT'
    ],
    [
61072102800,
61086618000,
61072099200,
61086614400,
-3600,
1,
'AZOST'
    ],
    [
61086618000,
61102342800,
61086610800,
61102335600,
-7200,
0,
'AZOT'
    ],
    [
61102342800,
61118067600,
61102339200,
61118064000,
-3600,
1,
'AZOST'
    ],
    [
61118067600,
61133187600,
61118060400,
61133180400,
-7200,
0,
'AZOT'
    ],
    [
61133187600,
61149517200,
61133184000,
61149513600,
-3600,
1,
'AZOST'
    ],
    [
61149517200,
61166451600,
61149510000,
61166444400,
-7200,
0,
'AZOT'
    ],
    [
61166451600,
61185200400,
61166448000,
61185196800,
-3600,
1,
'AZOST'
    ],
    [
61185200400,
61193667600,
61185193200,
61193660400,
-7200,
0,
'AZOT'
    ],
    [
61193667600,
61213021200,
61193664000,
61213017600,
-3600,
1,
'AZOST'
    ],
    [
61213021200,
61228746000,
61213014000,
61228738800,
-7200,
0,
'AZOT'
    ],
    [
61228746000,
61244557200,
61228742400,
61244553600,
-3600,
1,
'AZOST'
    ],
    [
61244557200,
61258381200,
61244550000,
61258374000,
-7200,
0,
'AZOT'
    ],
    [
61258381200,
61262006400,
61258377600,
61262002800,
-3600,
1,
'AZOST'
    ],
    [
61262006400,
61271683200,
61262006400,
61271683200,
0,
1,
'AZOMT'
    ],
    [
61271683200,
61277734800,
61271679600,
61277731200,
-3600,
1,
'AZOST'
    ],
    [
61277734800,
61289830800,
61277727600,
61289823600,
-7200,
0,
'AZOT'
    ],
    [
61289830800,
61292851200,
61289827200,
61292847600,
-3600,
1,
'AZOST'
    ],
    [
61292851200,
61304342400,
61292851200,
61304342400,
0,
1,
'AZOMT'
    ],
    [
61304342400,
61309789200,
61304338800,
61309785600,
-3600,
1,
'AZOST'
    ],
    [
61309789200,
61321280400,
61309782000,
61321273200,
-7200,
0,
'AZOT'
    ],
    [
61321280400,
61324905600,
61321276800,
61324902000,
-3600,
1,
'AZOST'
    ],
    [
61324905600,
61335792000,
61324905600,
61335792000,
0,
1,
'AZOMT'
    ],
    [
61335792000,
61341238800,
61335788400,
61341235200,
-3600,
1,
'AZOST'
    ],
    [
61341238800,
61352730000,
61341231600,
61352722800,
-7200,
0,
'AZOT'
    ],
    [
61352730000,
61356355200,
61352726400,
61356351600,
-3600,
1,
'AZOST'
    ],
    [
61356355200,
61367241600,
61356355200,
61367241600,
0,
1,
'AZOMT'
    ],
    [
61367241600,
61372688400,
61367238000,
61372684800,
-3600,
1,
'AZOST'
    ],
    [
61372688400,
61386598800,
61372681200,
61386591600,
-7200,
0,
'AZOT'
    ],
    [
61386598800,
61402323600,
61386595200,
61402320000,
-3600,
1,
'AZOST'
    ],
    [
61402323600,
61418059200,
61402316400,
61418052000,
-7200,
0,
'AZOT'
    ],
    [
61418059200,
61433784000,
61418055600,
61433780400,
-3600,
1,
'AZOST'
    ],
    [
61433784000,
61449508800,
61433776800,
61449501600,
-7200,
0,
'AZOT'
    ],
    [
61449508800,
61465233600,
61449505200,
61465230000,
-3600,
1,
'AZOST'
    ],
    [
61465233600,
61480958400,
61465226400,
61480951200,
-7200,
0,
'AZOT'
    ],
    [
61480958400,
61496683200,
61480954800,
61496679600,
-3600,
1,
'AZOST'
    ],
    [
61496683200,
61543857600,
61496676000,
61543850400,
-7200,
0,
'AZOT'
    ],
    [
61543857600,
61560187200,
61543854000,
61560183600,
-3600,
1,
'AZOST'
    ],
    [
61560187200,
61575912000,
61560180000,
61575904800,
-7200,
0,
'AZOT'
    ],
    [
61575912000,
61591636800,
61575908400,
61591633200,
-3600,
1,
'AZOST'
    ],
    [
61591636800,
61607361600,
61591629600,
61607354400,
-7200,
0,
'AZOT'
    ],
    [
61607361600,
61623086400,
61607358000,
61623082800,
-3600,
1,
'AZOST'
    ],
    [
61623086400,
61638811200,
61623079200,
61638804000,
-7200,
0,
'AZOT'
    ],
    [
61638811200,
61654536000,
61638807600,
61654532400,
-3600,
1,
'AZOST'
    ],
    [
61654536000,
61670260800,
61654528800,
61670253600,
-7200,
0,
'AZOT'
    ],
    [
61670260800,
61685985600,
61670257200,
61685982000,
-3600,
1,
'AZOST'
    ],
    [
61685985600,
61701710400,
61685978400,
61701703200,
-7200,
0,
'AZOT'
    ],
    [
61701710400,
61718040000,
61701706800,
61718036400,
-3600,
1,
'AZOST'
    ],
    [
61718040000,
61733764800,
61718032800,
61733757600,
-7200,
0,
'AZOT'
    ],
    [
61733764800,
61749489600,
61733761200,
61749486000,
-3600,
1,
'AZOST'
    ],
    [
61749489600,
61765214400,
61749482400,
61765207200,
-7200,
0,
'AZOT'
    ],
    [
61765214400,
61780939200,
61765210800,
61780935600,
-3600,
1,
'AZOST'
    ],
    [
61780939200,
61796664000,
61780932000,
61796656800,
-7200,
0,
'AZOT'
    ],
    [
61796664000,
61812388800,
61796660400,
61812385200,
-3600,
1,
'AZOST'
    ],
    [
61812388800,
61828113600,
61812381600,
61828106400,
-7200,
0,
'AZOT'
    ],
    [
61828113600,
61843838400,
61828110000,
61843834800,
-3600,
1,
'AZOST'
    ],
    [
61843838400,
61859563200,
61843831200,
61859556000,
-7200,
0,
'AZOT'
    ],
    [
61859563200,
61875288000,
61859559600,
61875284400,
-3600,
1,
'AZOST'
    ],
    [
61875288000,
61891012800,
61875280800,
61891005600,
-7200,
0,
'AZOT'
    ],
    [
61891012800,
61907342400,
61891009200,
61907338800,
-3600,
1,
'AZOST'
    ],
    [
61907342400,
61923067200,
61907335200,
61923060000,
-7200,
0,
'AZOT'
    ],
    [
61923067200,
61938792000,
61923063600,
61938788400,
-3600,
1,
'AZOST'
    ],
    [
61938792000,
61954516800,
61938784800,
61954509600,
-7200,
0,
'AZOT'
    ],
    [
61954516800,
61970241600,
61954513200,
61970238000,
-3600,
1,
'AZOST'
    ],
    [
61970241600,
61985966400,
61970234400,
61985959200,
-7200,
0,
'AZOT'
    ],
    [
61985966400,
62001691200,
61985962800,
62001687600,
-3600,
1,
'AZOST'
    ],
    [
62001691200,
62017416000,
62001684000,
62017408800,
-7200,
0,
'AZOT'
    ],
    [
62017416000,
62363955600,
62017412400,
62363952000,
-3600,
0,
'AZOT'
    ],
    [
62363955600,
62379680400,
62363955600,
62379680400,
0,
1,
'AZOST'
    ],
    [
62379680400,
62396010000,
62379676800,
62396006400,
-3600,
0,
'AZOT'
    ],
    [
62396010000,
62411734800,
62396010000,
62411734800,
0,
1,
'AZOST'
    ],
    [
62411734800,
62427459600,
62411731200,
62427456000,
-3600,
0,
'AZOT'
    ],
    [
62427459600,
62443188000,
62427459600,
62443188000,
0,
1,
'AZOST'
    ],
    [
62443188000,
62458909200,
62443184400,
62458905600,
-3600,
0,
'AZOT'
    ],
    [
62458909200,
62474637600,
62458909200,
62474637600,
0,
1,
'AZOST'
    ],
    [
62474637600,
62490362400,
62474634000,
62490358800,
-3600,
0,
'AZOT'
    ],
    [
62490362400,
62506087200,
62490362400,
62506087200,
0,
1,
'AZOST'
    ],
    [
62506087200,
62521812000,
62506083600,
62521808400,
-3600,
0,
'AZOT'
    ],
    [
62521812000,
62537536800,
62521812000,
62537536800,
0,
1,
'AZOST'
    ],
    [
62537536800,
62553265200,
62537533200,
62553261600,
-3600,
0,
'AZOT'
    ],
    [
62553265200,
62568986400,
62553265200,
62568986400,
0,
1,
'AZOST'
    ],
    [
62568986400,
62584711200,
62568982800,
62584707600,
-3600,
0,
'AZOT'
    ],
    [
62584711200,
62601040800,
62584711200,
62601040800,
0,
1,
'AZOST'
    ],
    [
62601040800,
62616765600,
62601037200,
62616762000,
-3600,
0,
'AZOT'
    ],
    [
62616765600,
62632490400,
62616765600,
62632490400,
0,
1,
'AZOST'
    ],
    [
62632490400,
62648215200,
62632486800,
62648211600,
-3600,
0,
'AZOT'
    ],
    [
62648215200,
62663940000,
62648215200,
62663940000,
0,
1,
'AZOST'
    ],
    [
62663940000,
62679664800,
62663936400,
62679661200,
-3600,
0,
'AZOT'
    ],
    [
62679664800,
62695389600,
62679664800,
62695389600,
0,
1,
'AZOST'
    ],
    [
62695389600,
62711114400,
62695386000,
62711110800,
-3600,
0,
'AZOT'
    ],
    [
62711114400,
62726839200,
62711114400,
62726839200,
0,
1,
'AZOST'
    ],
    [
62726839200,
62742564000,
62726835600,
62742560400,
-3600,
0,
'AZOT'
    ],
    [
62742564000,
62758288800,
62742564000,
62758288800,
0,
1,
'AZOST'
    ],
    [
62758288800,
62774013600,
62758285200,
62774010000,
-3600,
0,
'AZOT'
    ],
    [
62774013600,
62790343200,
62774013600,
62790343200,
0,
1,
'AZOST'
    ],
    [
62790343200,
62806068000,
62790339600,
62806064400,
-3600,
0,
'AZOT'
    ],
    [
62806068000,
62821792800,
62806068000,
62821792800,
0,
1,
'AZOST'
    ],
    [
62821792800,
62837517600,
62821789200,
62837514000,
-3600,
0,
'AZOT'
    ],
    [
62837517600,
62853242400,
62837517600,
62853242400,
0,
1,
'AZOST'
    ],
    [
62853242400,
62868963600,
62853242400,
62868963600,
0,
0,
'WET'
    ],
    [
62868963600,
62884688400,
62868963600,
62884688400,
0,
1,
'AZOST'
    ],
    [
62884688400,
62900413200,
62884684800,
62900409600,
-3600,
0,
'AZOT'
    ],
    [
62900413200,
62916138000,
62900413200,
62916138000,
0,
1,
'AZOST'
    ],
    [
62916138000,
62931862800,
62916134400,
62931859200,
-3600,
0,
'AZOT'
    ],
    [
62931862800,
62947587600,
62931862800,
62947587600,
0,
1,
'AZOST'
    ],
    [
62947587600,
62963917200,
62947584000,
62963913600,
-3600,
0,
'AZOT'
    ],
    [
62963917200,
62982061200,
62963917200,
62982061200,
0,
1,
'AZOST'
    ],
    [
62982061200,
62995366800,
62982057600,
62995363200,
-3600,
0,
'AZOT'
    ],
    [
62995366800,
63013510800,
62995366800,
63013510800,
0,
1,
'AZOST'
    ],
    [
63013510800,
63026816400,
63013507200,
63026812800,
-3600,
0,
'AZOT'
    ],
    [
63026816400,
63044960400,
63026816400,
63044960400,
0,
1,
'AZOST'
    ],
    [
63044960400,
63058266000,
63044956800,
63058262400,
-3600,
0,
'AZOT'
    ],
    [
63058266000,
63077014800,
63058266000,
63077014800,
0,
1,
'AZOST'
    ],
    [
63077014800,
63089715600,
63077011200,
63089712000,
-3600,
0,
'AZOT'
    ],
    [
63089715600,
63108464400,
63089715600,
63108464400,
0,
1,
'AZOST'
    ],
    [
63108464400,
63121165200,
63108460800,
63121161600,
-3600,
0,
'AZOT'
    ],
    [
63121165200,
63139914000,
63121165200,
63139914000,
0,
1,
'AZOST'
    ],
    [
63139914000,
63153219600,
63139910400,
63153216000,
-3600,
0,
'AZOT'
    ],
    [
63153219600,
63171363600,
63153219600,
63171363600,
0,
1,
'AZOST'
    ],
    [
63171363600,
63184669200,
63171360000,
63184665600,
-3600,
0,
'AZOT'
    ],
    [
63184669200,
63202813200,
63184669200,
63202813200,
0,
1,
'AZOST'
    ],
    [
63202813200,
63216118800,
63202809600,
63216115200,
-3600,
0,
'AZOT'
    ],
    [
63216118800,
63234867600,
63216118800,
63234867600,
0,
1,
'AZOST'
    ],
    [
63234867600,
63247568400,
63234864000,
63247564800,
-3600,
0,
'AZOT'
    ],
    [
63247568400,
63266317200,
63247568400,
63266317200,
0,
1,
'AZOST'
    ],
    [
63266317200,
63279018000,
63266313600,
63279014400,
-3600,
0,
'AZOT'
    ],
    [
63279018000,
63297766800,
63279018000,
63297766800,
0,
1,
'AZOST'
    ],
    [
63297766800,
63310467600,
63297763200,
63310464000,
-3600,
0,
'AZOT'
    ],
    [
63310467600,
63329216400,
63310467600,
63329216400,
0,
1,
'AZOST'
    ],
    [
63329216400,
63342522000,
63329212800,
63342518400,
-3600,
0,
'AZOT'
    ],
    [
63342522000,
63360666000,
63342522000,
63360666000,
0,
1,
'AZOST'
    ],
    [
63360666000,
63373971600,
63360662400,
63373968000,
-3600,
0,
'AZOT'
    ],
    [
63373971600,
63392115600,
63373971600,
63392115600,
0,
1,
'AZOST'
    ],
    [
63392115600,
63405421200,
63392112000,
63405417600,
-3600,
0,
'AZOT'
    ],
    [
63405421200,
63424170000,
63405421200,
63424170000,
0,
1,
'AZOST'
    ],
    [
63424170000,
63436870800,
63424166400,
63436867200,
-3600,
0,
'AZOT'
    ],
    [
63436870800,
63455619600,
63436870800,
63455619600,
0,
1,
'AZOST'
    ],
    [
63455619600,
63468320400,
63455616000,
63468316800,
-3600,
0,
'AZOT'
    ],
    [
63468320400,
63487069200,
63468320400,
63487069200,
0,
1,
'AZOST'
    ],
    [
63487069200,
63500374800,
63487065600,
63500371200,
-3600,
0,
'AZOT'
    ],
    [
63500374800,
63518518800,
63500374800,
63518518800,
0,
1,
'AZOST'
    ],
    [
63518518800,
63531824400,
63518515200,
63531820800,
-3600,
0,
'AZOT'
    ],
    [
63531824400,
63549968400,
63531824400,
63549968400,
0,
1,
'AZOST'
    ],
    [
63549968400,
63563274000,
63549964800,
63563270400,
-3600,
0,
'AZOT'
    ],
    [
63563274000,
63581418000,
63563274000,
63581418000,
0,
1,
'AZOST'
    ],
    [
63581418000,
63594723600,
63581414400,
63594720000,
-3600,
0,
'AZOT'
    ],
    [
63594723600,
63613472400,
63594723600,
63613472400,
0,
1,
'AZOST'
    ],
    [
63613472400,
63626173200,
63613468800,
63626169600,
-3600,
0,
'AZOT'
    ],
    [
63626173200,
63644922000,
63626173200,
63644922000,
0,
1,
'AZOST'
    ],
    [
63644922000,
63657622800,
63644918400,
63657619200,
-3600,
0,
'AZOT'
    ],
    [
63657622800,
63676371600,
63657622800,
63676371600,
0,
1,
'AZOST'
    ],
    [
63676371600,
63689677200,
63676368000,
63689673600,
-3600,
0,
'AZOT'
    ],
    [
63689677200,
63707821200,
63689677200,
63707821200,
0,
1,
'AZOST'
    ],
    [
63707821200,
63721126800,
63707817600,
63721123200,
-3600,
0,
'AZOT'
    ],
    [
63721126800,
63739270800,
63721126800,
63739270800,
0,
1,
'AZOST'
    ],
    [
63739270800,
63752576400,
63739267200,
63752572800,
-3600,
0,
'AZOT'
    ],
    [
63752576400,
63771325200,
63752576400,
63771325200,
0,
1,
'AZOST'
    ],
    [
63771325200,
63784026000,
63771321600,
63784022400,
-3600,
0,
'AZOT'
    ],
    [
63784026000,
63802774800,
63784026000,
63802774800,
0,
1,
'AZOST'
    ],
];

sub olson_version { '2011n' }

sub has_dst_changes { 98 }

sub _max_year { 2021 }

sub _new_instance
{
    return shift->_init( @_, spans => $spans );
}

sub _last_offset { -3600 }

my $last_observance = bless( {
  'format' => 'AZO%sT',
  'gmtoff' => '-1:00',
  'local_start_datetime' => bless( {
    'formatter' => undef,
    'local_rd_days' => 727650,
    'local_rd_secs' => 3600,
    'offset_modifier' => 0,
    'rd_nanosecs' => 0,
    'tz' => bless( {
      'name' => 'floating',
      'offset' => 0
    }, 'DateTime::TimeZone::Floating' ),
    'utc_rd_days' => 727650,
    'utc_rd_secs' => 3600,
    'utc_year' => 1994
  }, 'DateTime' ),
  'offset_from_std' => 0,
  'offset_from_utc' => -3600,
  'until' => [],
  'utc_start_datetime' => bless( {
    'formatter' => undef,
    'local_rd_days' => 727650,
    'local_rd_secs' => 3600,
    'offset_modifier' => 0,
    'rd_nanosecs' => 0,
    'tz' => bless( {
      'name' => 'floating',
      'offset' => 0
    }, 'DateTime::TimeZone::Floating' ),
    'utc_rd_days' => 727650,
    'utc_rd_secs' => 3600,
    'utc_year' => 1994
  }, 'DateTime' )
}, 'DateTime::TimeZone::OlsonDB::Observance' )
;
sub _last_observance { $last_observance }

my $rules = [
  bless( {
    'at' => '1:00u',
    'from' => '1981',
    'in' => 'Mar',
    'letter' => 'S',
    'name' => 'EU',
    'offset_from_std' => 3600,
    'on' => 'lastSun',
    'save' => '1:00',
    'to' => 'max',
    'type' => undef
  }, 'DateTime::TimeZone::OlsonDB::Rule' ),
  bless( {
    'at' => '1:00u',
    'from' => '1996',
    'in' => 'Oct',
    'letter' => '',
    'name' => 'EU',
    'offset_from_std' => 0,
    'on' => 'lastSun',
    'save' => '0',
    'to' => 'max',
    'type' => undef
  }, 'DateTime::TimeZone::OlsonDB::Rule' )
]
;
sub _rules { $rules }


1;

