lib/tzinfo/definitions/Europe/Oslo.rb in tzinfo-0.2.2 vs lib/tzinfo/definitions/Europe/Oslo.rb in tzinfo-0.3.0
- old
+ new
@@ -1,179 +1,185 @@
-require 'tzinfo/timezone'
+require 'tzinfo/timezone_definition'
+
module TZInfo
-module Definitions #:nodoc:
-module Europe #:nodoc:
-class Oslo < Timezone #:nodoc:
-setup
-set_identifier('Europe/Oslo')
-add_unbounded_start_period {TimezonePeriod.new(nil,DateTime.new0(Rational.new!(3475000037,1440),0,Date::ITALY),2580,0,:LMT)}
-add_period(1894,12) {TimezonePeriod.new(DateTime.new0(Rational.new!(3475000037,1440),0,Date::ITALY),DateTime.new0(Rational.new!(4842011,2),0,Date::ITALY),3600,0,:CET)}
-add_period(1916,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(4842011,2),0,Date::ITALY),DateTime.new0(Rational.new!(29053637,12),0,Date::ITALY),3600,3600,:CEST)}
-add_period(1916,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(29053637,12),0,Date::ITALY),DateTime.new0(Rational.new!(29158229,12),0,Date::ITALY),3600,0,:CET)}
-add_period(1940,8) {TimezonePeriod.new(DateTime.new0(Rational.new!(29158229,12),0,Date::ITALY),DateTime.new0(Rational.new!(58335973,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(1942,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(58335973,24),0,Date::ITALY),DateTime.new0(Rational.new!(58339501,24),0,Date::ITALY),3600,0,:CET)}
-add_period(1943,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58339501,24),0,Date::ITALY),DateTime.new0(Rational.new!(58344037,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(1943,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58344037,24),0,Date::ITALY),DateTime.new0(Rational.new!(58348405,24),0,Date::ITALY),3600,0,:CET)}
-add_period(1944,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(58348405,24),0,Date::ITALY),DateTime.new0(Rational.new!(58352773,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(1944,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58352773,24),0,Date::ITALY),DateTime.new0(Rational.new!(58357141,24),0,Date::ITALY),3600,0,:CET)}
-add_period(1945,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(58357141,24),0,Date::ITALY),DateTime.new0(Rational.new!(58361509,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(1945,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58361509,24),0,Date::ITALY),DateTime.new0(Rational.new!(58479421,24),0,Date::ITALY),3600,0,:CET)}
-add_period(1959,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58479421,24),0,Date::ITALY),DateTime.new0(Rational.new!(58483957,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(1959,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58483957,24),0,Date::ITALY),DateTime.new0(Rational.new!(58488325,24),0,Date::ITALY),3600,0,:CET)}
-add_period(1960,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58488325,24),0,Date::ITALY),DateTime.new0(Rational.new!(58492693,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(1960,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58492693,24),0,Date::ITALY),DateTime.new0(Rational.new!(58497061,24),0,Date::ITALY),3600,0,:CET)}
-add_period(1961,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58497061,24),0,Date::ITALY),DateTime.new0(Rational.new!(58501429,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(1961,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58501429,24),0,Date::ITALY),DateTime.new0(Rational.new!(58505797,24),0,Date::ITALY),3600,0,:CET)}
-add_period(1962,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58505797,24),0,Date::ITALY),DateTime.new0(Rational.new!(58510165,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(1962,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58510165,24),0,Date::ITALY),DateTime.new0(Rational.new!(58514533,24),0,Date::ITALY),3600,0,:CET)}
-add_period(1963,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58514533,24),0,Date::ITALY),DateTime.new0(Rational.new!(58518901,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(1963,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58518901,24),0,Date::ITALY),DateTime.new0(Rational.new!(58523269,24),0,Date::ITALY),3600,0,:CET)}
-add_period(1964,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58523269,24),0,Date::ITALY),DateTime.new0(Rational.new!(58527805,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(1964,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58527805,24),0,Date::ITALY),DateTime.new0(Rational.new!(58533013,24),0,Date::ITALY),3600,0,:CET)}
-add_period(1965,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(58533013,24),0,Date::ITALY),DateTime.new0(Rational.new!(58536541,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(1965,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58536541,24),0,Date::ITALY),323830800,3600,0,:CET)}
-add_period(1980,4) {TimezonePeriod.new(323830800,338950800,3600,3600,:CEST)}
-add_period(1980,9) {TimezonePeriod.new(338950800,354675600,3600,0,:CET)}
-add_period(1981,3) {TimezonePeriod.new(354675600,370400400,3600,3600,:CEST)}
-add_period(1981,9) {TimezonePeriod.new(370400400,386125200,3600,0,:CET)}
-add_period(1982,3) {TimezonePeriod.new(386125200,401850000,3600,3600,:CEST)}
-add_period(1982,9) {TimezonePeriod.new(401850000,417574800,3600,0,:CET)}
-add_period(1983,3) {TimezonePeriod.new(417574800,433299600,3600,3600,:CEST)}
-add_period(1983,9) {TimezonePeriod.new(433299600,449024400,3600,0,:CET)}
-add_period(1984,3) {TimezonePeriod.new(449024400,465354000,3600,3600,:CEST)}
-add_period(1984,9) {TimezonePeriod.new(465354000,481078800,3600,0,:CET)}
-add_period(1985,3) {TimezonePeriod.new(481078800,496803600,3600,3600,:CEST)}
-add_period(1985,9) {TimezonePeriod.new(496803600,512528400,3600,0,:CET)}
-add_period(1986,3) {TimezonePeriod.new(512528400,528253200,3600,3600,:CEST)}
-add_period(1986,9) {TimezonePeriod.new(528253200,543978000,3600,0,:CET)}
-add_period(1987,3) {TimezonePeriod.new(543978000,559702800,3600,3600,:CEST)}
-add_period(1987,9) {TimezonePeriod.new(559702800,575427600,3600,0,:CET)}
-add_period(1988,3) {TimezonePeriod.new(575427600,591152400,3600,3600,:CEST)}
-add_period(1988,9) {TimezonePeriod.new(591152400,606877200,3600,0,:CET)}
-add_period(1989,3) {TimezonePeriod.new(606877200,622602000,3600,3600,:CEST)}
-add_period(1989,9) {TimezonePeriod.new(622602000,638326800,3600,0,:CET)}
-add_period(1990,3) {TimezonePeriod.new(638326800,654656400,3600,3600,:CEST)}
-add_period(1990,9) {TimezonePeriod.new(654656400,670381200,3600,0,:CET)}
-add_period(1991,3) {TimezonePeriod.new(670381200,686106000,3600,3600,:CEST)}
-add_period(1991,9) {TimezonePeriod.new(686106000,701830800,3600,0,:CET)}
-add_period(1992,3) {TimezonePeriod.new(701830800,717555600,3600,3600,:CEST)}
-add_period(1992,9) {TimezonePeriod.new(717555600,733280400,3600,0,:CET)}
-add_period(1993,3) {TimezonePeriod.new(733280400,749005200,3600,3600,:CEST)}
-add_period(1993,9) {TimezonePeriod.new(749005200,764730000,3600,0,:CET)}
-add_period(1994,3) {TimezonePeriod.new(764730000,780454800,3600,3600,:CEST)}
-add_period(1994,9) {TimezonePeriod.new(780454800,796179600,3600,0,:CET)}
-add_period(1995,3) {TimezonePeriod.new(796179600,811904400,3600,3600,:CEST)}
-add_period(1995,9) {TimezonePeriod.new(811904400,828234000,3600,0,:CET)}
-add_period(1996,3) {TimezonePeriod.new(828234000,846378000,3600,3600,:CEST)}
-add_period(1996,10) {TimezonePeriod.new(846378000,859683600,3600,0,:CET)}
-add_period(1997,3) {TimezonePeriod.new(859683600,877827600,3600,3600,:CEST)}
-add_period(1997,10) {TimezonePeriod.new(877827600,891133200,3600,0,:CET)}
-add_period(1998,3) {TimezonePeriod.new(891133200,909277200,3600,3600,:CEST)}
-add_period(1998,10) {TimezonePeriod.new(909277200,922582800,3600,0,:CET)}
-add_period(1999,3) {TimezonePeriod.new(922582800,941331600,3600,3600,:CEST)}
-add_period(1999,10) {TimezonePeriod.new(941331600,954032400,3600,0,:CET)}
-add_period(2000,3) {TimezonePeriod.new(954032400,972781200,3600,3600,:CEST)}
-add_period(2000,10) {TimezonePeriod.new(972781200,985482000,3600,0,:CET)}
-add_period(2001,3) {TimezonePeriod.new(985482000,1004230800,3600,3600,:CEST)}
-add_period(2001,10) {TimezonePeriod.new(1004230800,1017536400,3600,0,:CET)}
-add_period(2002,3) {TimezonePeriod.new(1017536400,1035680400,3600,3600,:CEST)}
-add_period(2002,10) {TimezonePeriod.new(1035680400,1048986000,3600,0,:CET)}
-add_period(2003,3) {TimezonePeriod.new(1048986000,1067130000,3600,3600,:CEST)}
-add_period(2003,10) {TimezonePeriod.new(1067130000,1080435600,3600,0,:CET)}
-add_period(2004,3) {TimezonePeriod.new(1080435600,1099184400,3600,3600,:CEST)}
-add_period(2004,10) {TimezonePeriod.new(1099184400,1111885200,3600,0,:CET)}
-add_period(2005,3) {TimezonePeriod.new(1111885200,1130634000,3600,3600,:CEST)}
-add_period(2005,10) {TimezonePeriod.new(1130634000,1143334800,3600,0,:CET)}
-add_period(2006,3) {TimezonePeriod.new(1143334800,1162083600,3600,3600,:CEST)}
-add_period(2006,10) {TimezonePeriod.new(1162083600,1174784400,3600,0,:CET)}
-add_period(2007,3) {TimezonePeriod.new(1174784400,1193533200,3600,3600,:CEST)}
-add_period(2007,10) {TimezonePeriod.new(1193533200,1206838800,3600,0,:CET)}
-add_period(2008,3) {TimezonePeriod.new(1206838800,1224982800,3600,3600,:CEST)}
-add_period(2008,10) {TimezonePeriod.new(1224982800,1238288400,3600,0,:CET)}
-add_period(2009,3) {TimezonePeriod.new(1238288400,1256432400,3600,3600,:CEST)}
-add_period(2009,10) {TimezonePeriod.new(1256432400,1269738000,3600,0,:CET)}
-add_period(2010,3) {TimezonePeriod.new(1269738000,1288486800,3600,3600,:CEST)}
-add_period(2010,10) {TimezonePeriod.new(1288486800,1301187600,3600,0,:CET)}
-add_period(2011,3) {TimezonePeriod.new(1301187600,1319936400,3600,3600,:CEST)}
-add_period(2011,10) {TimezonePeriod.new(1319936400,1332637200,3600,0,:CET)}
-add_period(2012,3) {TimezonePeriod.new(1332637200,1351386000,3600,3600,:CEST)}
-add_period(2012,10) {TimezonePeriod.new(1351386000,1364691600,3600,0,:CET)}
-add_period(2013,3) {TimezonePeriod.new(1364691600,1382835600,3600,3600,:CEST)}
-add_period(2013,10) {TimezonePeriod.new(1382835600,1396141200,3600,0,:CET)}
-add_period(2014,3) {TimezonePeriod.new(1396141200,1414285200,3600,3600,:CEST)}
-add_period(2014,10) {TimezonePeriod.new(1414285200,1427590800,3600,0,:CET)}
-add_period(2015,3) {TimezonePeriod.new(1427590800,1445734800,3600,3600,:CEST)}
-add_period(2015,10) {TimezonePeriod.new(1445734800,1459040400,3600,0,:CET)}
-add_period(2016,3) {TimezonePeriod.new(1459040400,1477789200,3600,3600,:CEST)}
-add_period(2016,10) {TimezonePeriod.new(1477789200,1490490000,3600,0,:CET)}
-add_period(2017,3) {TimezonePeriod.new(1490490000,1509238800,3600,3600,:CEST)}
-add_period(2017,10) {TimezonePeriod.new(1509238800,1521939600,3600,0,:CET)}
-add_period(2018,3) {TimezonePeriod.new(1521939600,1540688400,3600,3600,:CEST)}
-add_period(2018,10) {TimezonePeriod.new(1540688400,1553994000,3600,0,:CET)}
-add_period(2019,3) {TimezonePeriod.new(1553994000,1572138000,3600,3600,:CEST)}
-add_period(2019,10) {TimezonePeriod.new(1572138000,1585443600,3600,0,:CET)}
-add_period(2020,3) {TimezonePeriod.new(1585443600,1603587600,3600,3600,:CEST)}
-add_period(2020,10) {TimezonePeriod.new(1603587600,1616893200,3600,0,:CET)}
-add_period(2021,3) {TimezonePeriod.new(1616893200,1635642000,3600,3600,:CEST)}
-add_period(2021,10) {TimezonePeriod.new(1635642000,1648342800,3600,0,:CET)}
-add_period(2022,3) {TimezonePeriod.new(1648342800,1667091600,3600,3600,:CEST)}
-add_period(2022,10) {TimezonePeriod.new(1667091600,1679792400,3600,0,:CET)}
-add_period(2023,3) {TimezonePeriod.new(1679792400,1698541200,3600,3600,:CEST)}
-add_period(2023,10) {TimezonePeriod.new(1698541200,1711846800,3600,0,:CET)}
-add_period(2024,3) {TimezonePeriod.new(1711846800,1729990800,3600,3600,:CEST)}
-add_period(2024,10) {TimezonePeriod.new(1729990800,1743296400,3600,0,:CET)}
-add_period(2025,3) {TimezonePeriod.new(1743296400,1761440400,3600,3600,:CEST)}
-add_period(2025,10) {TimezonePeriod.new(1761440400,1774746000,3600,0,:CET)}
-add_period(2026,3) {TimezonePeriod.new(1774746000,1792890000,3600,3600,:CEST)}
-add_period(2026,10) {TimezonePeriod.new(1792890000,1806195600,3600,0,:CET)}
-add_period(2027,3) {TimezonePeriod.new(1806195600,1824944400,3600,3600,:CEST)}
-add_period(2027,10) {TimezonePeriod.new(1824944400,1837645200,3600,0,:CET)}
-add_period(2028,3) {TimezonePeriod.new(1837645200,1856394000,3600,3600,:CEST)}
-add_period(2028,10) {TimezonePeriod.new(1856394000,1869094800,3600,0,:CET)}
-add_period(2029,3) {TimezonePeriod.new(1869094800,1887843600,3600,3600,:CEST)}
-add_period(2029,10) {TimezonePeriod.new(1887843600,1901149200,3600,0,:CET)}
-add_period(2030,3) {TimezonePeriod.new(1901149200,1919293200,3600,3600,:CEST)}
-add_period(2030,10) {TimezonePeriod.new(1919293200,1932598800,3600,0,:CET)}
-add_period(2031,3) {TimezonePeriod.new(1932598800,1950742800,3600,3600,:CEST)}
-add_period(2031,10) {TimezonePeriod.new(1950742800,1964048400,3600,0,:CET)}
-add_period(2032,3) {TimezonePeriod.new(1964048400,1982797200,3600,3600,:CEST)}
-add_period(2032,10) {TimezonePeriod.new(1982797200,1995498000,3600,0,:CET)}
-add_period(2033,3) {TimezonePeriod.new(1995498000,2014246800,3600,3600,:CEST)}
-add_period(2033,10) {TimezonePeriod.new(2014246800,2026947600,3600,0,:CET)}
-add_period(2034,3) {TimezonePeriod.new(2026947600,2045696400,3600,3600,:CEST)}
-add_period(2034,10) {TimezonePeriod.new(2045696400,2058397200,3600,0,:CET)}
-add_period(2035,3) {TimezonePeriod.new(2058397200,2077146000,3600,3600,:CEST)}
-add_period(2035,10) {TimezonePeriod.new(2077146000,2090451600,3600,0,:CET)}
-add_period(2036,3) {TimezonePeriod.new(2090451600,2108595600,3600,3600,:CEST)}
-add_period(2036,10) {TimezonePeriod.new(2108595600,2121901200,3600,0,:CET)}
-add_period(2037,3) {TimezonePeriod.new(2121901200,2140045200,3600,3600,:CEST)}
-add_period(2037,10) {TimezonePeriod.new(2140045200,DateTime.new0(Rational.new!(59172253,24),0,Date::ITALY),3600,0,:CET)}
-add_period(2038,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59172253,24),0,Date::ITALY),DateTime.new0(Rational.new!(59177461,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(2038,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59177461,24),0,Date::ITALY),DateTime.new0(Rational.new!(59180989,24),0,Date::ITALY),3600,0,:CET)}
-add_period(2039,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59180989,24),0,Date::ITALY),DateTime.new0(Rational.new!(59186197,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(2039,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59186197,24),0,Date::ITALY),DateTime.new0(Rational.new!(59189725,24),0,Date::ITALY),3600,0,:CET)}
-add_period(2040,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59189725,24),0,Date::ITALY),DateTime.new0(Rational.new!(59194933,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(2040,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59194933,24),0,Date::ITALY),DateTime.new0(Rational.new!(59198629,24),0,Date::ITALY),3600,0,:CET)}
-add_period(2041,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59198629,24),0,Date::ITALY),DateTime.new0(Rational.new!(59203669,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(2041,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59203669,24),0,Date::ITALY),DateTime.new0(Rational.new!(59207365,24),0,Date::ITALY),3600,0,:CET)}
-add_period(2042,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59207365,24),0,Date::ITALY),DateTime.new0(Rational.new!(59212405,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(2042,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59212405,24),0,Date::ITALY),DateTime.new0(Rational.new!(59216101,24),0,Date::ITALY),3600,0,:CET)}
-add_period(2043,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59216101,24),0,Date::ITALY),DateTime.new0(Rational.new!(59221141,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(2043,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59221141,24),0,Date::ITALY),DateTime.new0(Rational.new!(59224837,24),0,Date::ITALY),3600,0,:CET)}
-add_period(2044,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59224837,24),0,Date::ITALY),DateTime.new0(Rational.new!(59230045,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(2044,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59230045,24),0,Date::ITALY),DateTime.new0(Rational.new!(59233573,24),0,Date::ITALY),3600,0,:CET)}
-add_period(2045,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59233573,24),0,Date::ITALY),DateTime.new0(Rational.new!(59238781,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(2045,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59238781,24),0,Date::ITALY),DateTime.new0(Rational.new!(59242309,24),0,Date::ITALY),3600,0,:CET)}
-add_period(2046,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59242309,24),0,Date::ITALY),DateTime.new0(Rational.new!(59247517,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(2046,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59247517,24),0,Date::ITALY),DateTime.new0(Rational.new!(59251213,24),0,Date::ITALY),3600,0,:CET)}
-add_period(2047,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59251213,24),0,Date::ITALY),DateTime.new0(Rational.new!(59256253,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(2047,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59256253,24),0,Date::ITALY),DateTime.new0(Rational.new!(59259949,24),0,Date::ITALY),3600,0,:CET)}
-add_period(2048,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59259949,24),0,Date::ITALY),DateTime.new0(Rational.new!(59264989,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(2048,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59264989,24),0,Date::ITALY),DateTime.new0(Rational.new!(59268685,24),0,Date::ITALY),3600,0,:CET)}
-add_period(2049,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59268685,24),0,Date::ITALY),DateTime.new0(Rational.new!(59273893,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(2049,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59273893,24),0,Date::ITALY),DateTime.new0(Rational.new!(59277421,24),0,Date::ITALY),3600,0,:CET)}
-add_period(2050,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59277421,24),0,Date::ITALY),DateTime.new0(Rational.new!(59282629,24),0,Date::ITALY),3600,3600,:CEST)}
-add_period(2050,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59282629,24),0,Date::ITALY),nil,3600,0,:CET)}
-end
-end
-end
+ module Definitions
+ module Europe
+ module Oslo
+ include TimezoneDefinition
+
+ timezone 'Europe/Oslo' do |tz|
+ tz.offset :o0, 2580, 0, :LMT
+ tz.offset :o1, 3600, 0, :CET
+ tz.offset :o2, 3600, 3600, :CEST
+
+ tz.transition 1894, 12, :o1, 3475000037, 1440
+ tz.transition 1916, 5, :o2, 4842011, 2
+ tz.transition 1916, 9, :o1, 29053637, 12
+ tz.transition 1940, 8, :o2, 29158229, 12
+ tz.transition 1942, 11, :o1, 58335973, 24
+ tz.transition 1943, 3, :o2, 58339501, 24
+ tz.transition 1943, 10, :o1, 58344037, 24
+ tz.transition 1944, 4, :o2, 58348405, 24
+ tz.transition 1944, 10, :o1, 58352773, 24
+ tz.transition 1945, 4, :o2, 58357141, 24
+ tz.transition 1945, 10, :o1, 58361509, 24
+ tz.transition 1959, 3, :o2, 58479421, 24
+ tz.transition 1959, 9, :o1, 58483957, 24
+ tz.transition 1960, 3, :o2, 58488325, 24
+ tz.transition 1960, 9, :o1, 58492693, 24
+ tz.transition 1961, 3, :o2, 58497061, 24
+ tz.transition 1961, 9, :o1, 58501429, 24
+ tz.transition 1962, 3, :o2, 58505797, 24
+ tz.transition 1962, 9, :o1, 58510165, 24
+ tz.transition 1963, 3, :o2, 58514533, 24
+ tz.transition 1963, 9, :o1, 58518901, 24
+ tz.transition 1964, 3, :o2, 58523269, 24
+ tz.transition 1964, 9, :o1, 58527805, 24
+ tz.transition 1965, 4, :o2, 58533013, 24
+ tz.transition 1965, 9, :o1, 58536541, 24
+ tz.transition 1980, 4, :o2, 323830800
+ tz.transition 1980, 9, :o1, 338950800
+ tz.transition 1981, 3, :o2, 354675600
+ tz.transition 1981, 9, :o1, 370400400
+ tz.transition 1982, 3, :o2, 386125200
+ tz.transition 1982, 9, :o1, 401850000
+ tz.transition 1983, 3, :o2, 417574800
+ tz.transition 1983, 9, :o1, 433299600
+ tz.transition 1984, 3, :o2, 449024400
+ tz.transition 1984, 9, :o1, 465354000
+ tz.transition 1985, 3, :o2, 481078800
+ tz.transition 1985, 9, :o1, 496803600
+ tz.transition 1986, 3, :o2, 512528400
+ tz.transition 1986, 9, :o1, 528253200
+ tz.transition 1987, 3, :o2, 543978000
+ tz.transition 1987, 9, :o1, 559702800
+ tz.transition 1988, 3, :o2, 575427600
+ tz.transition 1988, 9, :o1, 591152400
+ tz.transition 1989, 3, :o2, 606877200
+ tz.transition 1989, 9, :o1, 622602000
+ tz.transition 1990, 3, :o2, 638326800
+ tz.transition 1990, 9, :o1, 654656400
+ tz.transition 1991, 3, :o2, 670381200
+ tz.transition 1991, 9, :o1, 686106000
+ tz.transition 1992, 3, :o2, 701830800
+ tz.transition 1992, 9, :o1, 717555600
+ tz.transition 1993, 3, :o2, 733280400
+ tz.transition 1993, 9, :o1, 749005200
+ tz.transition 1994, 3, :o2, 764730000
+ tz.transition 1994, 9, :o1, 780454800
+ tz.transition 1995, 3, :o2, 796179600
+ tz.transition 1995, 9, :o1, 811904400
+ tz.transition 1996, 3, :o2, 828234000
+ tz.transition 1996, 10, :o1, 846378000
+ tz.transition 1997, 3, :o2, 859683600
+ tz.transition 1997, 10, :o1, 877827600
+ tz.transition 1998, 3, :o2, 891133200
+ tz.transition 1998, 10, :o1, 909277200
+ tz.transition 1999, 3, :o2, 922582800
+ tz.transition 1999, 10, :o1, 941331600
+ tz.transition 2000, 3, :o2, 954032400
+ tz.transition 2000, 10, :o1, 972781200
+ tz.transition 2001, 3, :o2, 985482000
+ tz.transition 2001, 10, :o1, 1004230800
+ tz.transition 2002, 3, :o2, 1017536400
+ tz.transition 2002, 10, :o1, 1035680400
+ tz.transition 2003, 3, :o2, 1048986000
+ tz.transition 2003, 10, :o1, 1067130000
+ tz.transition 2004, 3, :o2, 1080435600
+ tz.transition 2004, 10, :o1, 1099184400
+ tz.transition 2005, 3, :o2, 1111885200
+ tz.transition 2005, 10, :o1, 1130634000
+ tz.transition 2006, 3, :o2, 1143334800
+ tz.transition 2006, 10, :o1, 1162083600
+ tz.transition 2007, 3, :o2, 1174784400
+ tz.transition 2007, 10, :o1, 1193533200
+ tz.transition 2008, 3, :o2, 1206838800
+ tz.transition 2008, 10, :o1, 1224982800
+ tz.transition 2009, 3, :o2, 1238288400
+ tz.transition 2009, 10, :o1, 1256432400
+ tz.transition 2010, 3, :o2, 1269738000
+ tz.transition 2010, 10, :o1, 1288486800
+ tz.transition 2011, 3, :o2, 1301187600
+ tz.transition 2011, 10, :o1, 1319936400
+ tz.transition 2012, 3, :o2, 1332637200
+ tz.transition 2012, 10, :o1, 1351386000
+ tz.transition 2013, 3, :o2, 1364691600
+ tz.transition 2013, 10, :o1, 1382835600
+ tz.transition 2014, 3, :o2, 1396141200
+ tz.transition 2014, 10, :o1, 1414285200
+ tz.transition 2015, 3, :o2, 1427590800
+ tz.transition 2015, 10, :o1, 1445734800
+ tz.transition 2016, 3, :o2, 1459040400
+ tz.transition 2016, 10, :o1, 1477789200
+ tz.transition 2017, 3, :o2, 1490490000
+ tz.transition 2017, 10, :o1, 1509238800
+ tz.transition 2018, 3, :o2, 1521939600
+ tz.transition 2018, 10, :o1, 1540688400
+ tz.transition 2019, 3, :o2, 1553994000
+ tz.transition 2019, 10, :o1, 1572138000
+ tz.transition 2020, 3, :o2, 1585443600
+ tz.transition 2020, 10, :o1, 1603587600
+ tz.transition 2021, 3, :o2, 1616893200
+ tz.transition 2021, 10, :o1, 1635642000
+ tz.transition 2022, 3, :o2, 1648342800
+ tz.transition 2022, 10, :o1, 1667091600
+ tz.transition 2023, 3, :o2, 1679792400
+ tz.transition 2023, 10, :o1, 1698541200
+ tz.transition 2024, 3, :o2, 1711846800
+ tz.transition 2024, 10, :o1, 1729990800
+ tz.transition 2025, 3, :o2, 1743296400
+ tz.transition 2025, 10, :o1, 1761440400
+ tz.transition 2026, 3, :o2, 1774746000
+ tz.transition 2026, 10, :o1, 1792890000
+ tz.transition 2027, 3, :o2, 1806195600
+ tz.transition 2027, 10, :o1, 1824944400
+ tz.transition 2028, 3, :o2, 1837645200
+ tz.transition 2028, 10, :o1, 1856394000
+ tz.transition 2029, 3, :o2, 1869094800
+ tz.transition 2029, 10, :o1, 1887843600
+ tz.transition 2030, 3, :o2, 1901149200
+ tz.transition 2030, 10, :o1, 1919293200
+ tz.transition 2031, 3, :o2, 1932598800
+ tz.transition 2031, 10, :o1, 1950742800
+ tz.transition 2032, 3, :o2, 1964048400
+ tz.transition 2032, 10, :o1, 1982797200
+ tz.transition 2033, 3, :o2, 1995498000
+ tz.transition 2033, 10, :o1, 2014246800
+ tz.transition 2034, 3, :o2, 2026947600
+ tz.transition 2034, 10, :o1, 2045696400
+ tz.transition 2035, 3, :o2, 2058397200
+ tz.transition 2035, 10, :o1, 2077146000
+ tz.transition 2036, 3, :o2, 2090451600
+ tz.transition 2036, 10, :o1, 2108595600
+ tz.transition 2037, 3, :o2, 2121901200
+ tz.transition 2037, 10, :o1, 2140045200
+ tz.transition 2038, 3, :o2, 59172253, 24
+ tz.transition 2038, 10, :o1, 59177461, 24
+ tz.transition 2039, 3, :o2, 59180989, 24
+ tz.transition 2039, 10, :o1, 59186197, 24
+ tz.transition 2040, 3, :o2, 59189725, 24
+ tz.transition 2040, 10, :o1, 59194933, 24
+ tz.transition 2041, 3, :o2, 59198629, 24
+ tz.transition 2041, 10, :o1, 59203669, 24
+ tz.transition 2042, 3, :o2, 59207365, 24
+ tz.transition 2042, 10, :o1, 59212405, 24
+ tz.transition 2043, 3, :o2, 59216101, 24
+ tz.transition 2043, 10, :o1, 59221141, 24
+ tz.transition 2044, 3, :o2, 59224837, 24
+ tz.transition 2044, 10, :o1, 59230045, 24
+ tz.transition 2045, 3, :o2, 59233573, 24
+ tz.transition 2045, 10, :o1, 59238781, 24
+ tz.transition 2046, 3, :o2, 59242309, 24
+ tz.transition 2046, 10, :o1, 59247517, 24
+ tz.transition 2047, 3, :o2, 59251213, 24
+ tz.transition 2047, 10, :o1, 59256253, 24
+ tz.transition 2048, 3, :o2, 59259949, 24
+ tz.transition 2048, 10, :o1, 59264989, 24
+ tz.transition 2049, 3, :o2, 59268685, 24
+ tz.transition 2049, 10, :o1, 59273893, 24
+ tz.transition 2050, 3, :o2, 59277421, 24
+ tz.transition 2050, 10, :o1, 59282629, 24
+ end
+ end
+ end
+ end
end