lib/tzinfo/definitions/Europe/Gibraltar.rb in tzinfo-0.0.4 vs lib/tzinfo/definitions/Europe/Gibraltar.rb in tzinfo-0.1.0
- old
+ new
@@ -3,224 +3,225 @@
module Definitions #:nodoc:
module Europe #:nodoc:
class Gibraltar < Timezone #:nodoc:
setup
set_identifier('Europe/Gibraltar')
-add_period(TimezonePeriod.new(nil,DateTime.new(1880,8,2,0,21,24),-1284,0,:'LMT'))
-add_period(TimezonePeriod.new(DateTime.new(1880,8,2,0,21,24),DateTime.new(1916,5,21,2,0,0),0,0,:'Unknown'))
-add_period(TimezonePeriod.new(DateTime.new(1916,5,21,2,0,0),DateTime.new(1916,10,1,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1916,10,1,2,0,0),DateTime.new(1917,4,8,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1917,4,8,2,0,0),DateTime.new(1917,9,17,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1917,9,17,2,0,0),DateTime.new(1918,3,24,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1918,3,24,2,0,0),DateTime.new(1918,9,30,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1918,9,30,2,0,0),DateTime.new(1919,3,30,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1919,3,30,2,0,0),DateTime.new(1919,9,29,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1919,9,29,2,0,0),DateTime.new(1920,3,28,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1920,3,28,2,0,0),DateTime.new(1920,10,25,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1920,10,25,2,0,0),DateTime.new(1921,4,3,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1921,4,3,2,0,0),DateTime.new(1921,10,3,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1921,10,3,2,0,0),DateTime.new(1922,3,26,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1922,3,26,2,0,0),DateTime.new(1922,10,8,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1922,10,8,2,0,0),DateTime.new(1923,4,22,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1923,4,22,2,0,0),DateTime.new(1923,9,16,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1923,9,16,2,0,0),DateTime.new(1924,4,13,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1924,4,13,2,0,0),DateTime.new(1924,9,21,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1924,9,21,2,0,0),DateTime.new(1925,4,19,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1925,4,19,2,0,0),DateTime.new(1925,10,4,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1925,10,4,2,0,0),DateTime.new(1926,4,18,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1926,4,18,2,0,0),DateTime.new(1926,10,3,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1926,10,3,2,0,0),DateTime.new(1927,4,10,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1927,4,10,2,0,0),DateTime.new(1927,10,2,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1927,10,2,2,0,0),DateTime.new(1928,4,22,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1928,4,22,2,0,0),DateTime.new(1928,10,7,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1928,10,7,2,0,0),DateTime.new(1929,4,21,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1929,4,21,2,0,0),DateTime.new(1929,10,6,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1929,10,6,2,0,0),DateTime.new(1930,4,13,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1930,4,13,2,0,0),DateTime.new(1930,10,5,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1930,10,5,2,0,0),DateTime.new(1931,4,19,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1931,4,19,2,0,0),DateTime.new(1931,10,4,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1931,10,4,2,0,0),DateTime.new(1932,4,17,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1932,4,17,2,0,0),DateTime.new(1932,10,2,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1932,10,2,2,0,0),DateTime.new(1933,4,9,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1933,4,9,2,0,0),DateTime.new(1933,10,8,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1933,10,8,2,0,0),DateTime.new(1934,4,22,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1934,4,22,2,0,0),DateTime.new(1934,10,7,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1934,10,7,2,0,0),DateTime.new(1935,4,14,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1935,4,14,2,0,0),DateTime.new(1935,10,6,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1935,10,6,2,0,0),DateTime.new(1936,4,19,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1936,4,19,2,0,0),DateTime.new(1936,10,4,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1936,10,4,2,0,0),DateTime.new(1937,4,18,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1937,4,18,2,0,0),DateTime.new(1937,10,3,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1937,10,3,2,0,0),DateTime.new(1938,4,10,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1938,4,10,2,0,0),DateTime.new(1938,10,2,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1938,10,2,2,0,0),DateTime.new(1939,4,16,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1939,4,16,2,0,0),DateTime.new(1939,11,19,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1939,11,19,2,0,0),DateTime.new(1940,2,25,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1940,2,25,2,0,0),DateTime.new(1941,5,4,1,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1941,5,4,1,0,0),DateTime.new(1941,8,10,1,0,0),0,7200,:'BDST'))
-add_period(TimezonePeriod.new(DateTime.new(1941,8,10,1,0,0),DateTime.new(1942,4,5,1,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1942,4,5,1,0,0),DateTime.new(1942,8,9,1,0,0),0,7200,:'BDST'))
-add_period(TimezonePeriod.new(DateTime.new(1942,8,9,1,0,0),DateTime.new(1943,4,4,1,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1943,4,4,1,0,0),DateTime.new(1943,8,15,1,0,0),0,7200,:'BDST'))
-add_period(TimezonePeriod.new(DateTime.new(1943,8,15,1,0,0),DateTime.new(1944,4,2,1,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1944,4,2,1,0,0),DateTime.new(1944,9,17,1,0,0),0,7200,:'BDST'))
-add_period(TimezonePeriod.new(DateTime.new(1944,9,17,1,0,0),DateTime.new(1945,4,2,1,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1945,4,2,1,0,0),DateTime.new(1945,7,15,1,0,0),0,7200,:'BDST'))
-add_period(TimezonePeriod.new(DateTime.new(1945,7,15,1,0,0),DateTime.new(1945,10,7,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1945,10,7,2,0,0),DateTime.new(1946,4,14,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1946,4,14,2,0,0),DateTime.new(1946,10,6,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1946,10,6,2,0,0),DateTime.new(1947,3,16,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1947,3,16,2,0,0),DateTime.new(1947,4,13,1,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1947,4,13,1,0,0),DateTime.new(1947,8,10,1,0,0),0,7200,:'BDST'))
-add_period(TimezonePeriod.new(DateTime.new(1947,8,10,1,0,0),DateTime.new(1947,11,2,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1947,11,2,2,0,0),DateTime.new(1948,3,14,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1948,3,14,2,0,0),DateTime.new(1948,10,31,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1948,10,31,2,0,0),DateTime.new(1949,4,3,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1949,4,3,2,0,0),DateTime.new(1949,10,30,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1949,10,30,2,0,0),DateTime.new(1950,4,16,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1950,4,16,2,0,0),DateTime.new(1950,10,22,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1950,10,22,2,0,0),DateTime.new(1951,4,15,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1951,4,15,2,0,0),DateTime.new(1951,10,21,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1951,10,21,2,0,0),DateTime.new(1952,4,20,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1952,4,20,2,0,0),DateTime.new(1952,10,26,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1952,10,26,2,0,0),DateTime.new(1953,4,19,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1953,4,19,2,0,0),DateTime.new(1953,10,4,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1953,10,4,2,0,0),DateTime.new(1954,4,11,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1954,4,11,2,0,0),DateTime.new(1954,10,3,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1954,10,3,2,0,0),DateTime.new(1955,4,17,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1955,4,17,2,0,0),DateTime.new(1955,10,2,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1955,10,2,2,0,0),DateTime.new(1956,4,22,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1956,4,22,2,0,0),DateTime.new(1956,10,7,2,0,0),0,3600,:'BST'))
-add_period(TimezonePeriod.new(DateTime.new(1956,10,7,2,0,0),DateTime.new(1957,4,14,2,0,0),0,0,:'GMT'))
-add_period(TimezonePeriod.new(DateTime.new(1957,4,14,2,0,0),DateTime.new(1981,12,31,23,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1981,12,31,23,0,0),DateTime.new(1982,3,28,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1982,3,28,1,0,0),DateTime.new(1982,9,26,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1982,9,26,1,0,0),DateTime.new(1983,3,27,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1983,3,27,1,0,0),DateTime.new(1983,9,25,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1983,9,25,1,0,0),DateTime.new(1984,3,25,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1984,3,25,1,0,0),DateTime.new(1984,9,30,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1984,9,30,1,0,0),DateTime.new(1985,3,31,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1985,3,31,1,0,0),DateTime.new(1985,9,29,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1985,9,29,1,0,0),DateTime.new(1986,3,30,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1986,3,30,1,0,0),DateTime.new(1986,9,28,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1986,9,28,1,0,0),DateTime.new(1987,3,29,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1987,3,29,1,0,0),DateTime.new(1987,9,27,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1987,9,27,1,0,0),DateTime.new(1988,3,27,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1988,3,27,1,0,0),DateTime.new(1988,9,25,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1988,9,25,1,0,0),DateTime.new(1989,3,26,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1989,3,26,1,0,0),DateTime.new(1989,9,24,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1989,9,24,1,0,0),DateTime.new(1990,3,25,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1990,3,25,1,0,0),DateTime.new(1990,9,30,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1990,9,30,1,0,0),DateTime.new(1991,3,31,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1991,3,31,1,0,0),DateTime.new(1991,9,29,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1991,9,29,1,0,0),DateTime.new(1992,3,29,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1992,3,29,1,0,0),DateTime.new(1992,9,27,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1992,9,27,1,0,0),DateTime.new(1993,3,28,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1993,3,28,1,0,0),DateTime.new(1993,9,26,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1993,9,26,1,0,0),DateTime.new(1994,3,27,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1994,3,27,1,0,0),DateTime.new(1994,9,25,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1994,9,25,1,0,0),DateTime.new(1995,3,26,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1995,3,26,1,0,0),DateTime.new(1995,9,24,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1995,9,24,1,0,0),DateTime.new(1996,3,31,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1996,3,31,1,0,0),DateTime.new(1996,10,27,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1996,10,27,1,0,0),DateTime.new(1997,3,30,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1997,3,30,1,0,0),DateTime.new(1997,10,26,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1997,10,26,1,0,0),DateTime.new(1998,3,29,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1998,3,29,1,0,0),DateTime.new(1998,10,25,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1998,10,25,1,0,0),DateTime.new(1999,3,28,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(1999,3,28,1,0,0),DateTime.new(1999,10,31,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(1999,10,31,1,0,0),DateTime.new(2000,3,26,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2000,3,26,1,0,0),DateTime.new(2000,10,29,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2000,10,29,1,0,0),DateTime.new(2001,3,25,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2001,3,25,1,0,0),DateTime.new(2001,10,28,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2001,10,28,1,0,0),DateTime.new(2002,3,31,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2002,3,31,1,0,0),DateTime.new(2002,10,27,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2002,10,27,1,0,0),DateTime.new(2003,3,30,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2003,3,30,1,0,0),DateTime.new(2003,10,26,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2003,10,26,1,0,0),DateTime.new(2004,3,28,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2004,3,28,1,0,0),DateTime.new(2004,10,31,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2004,10,31,1,0,0),DateTime.new(2005,3,27,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2005,3,27,1,0,0),DateTime.new(2005,10,30,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2005,10,30,1,0,0),DateTime.new(2006,3,26,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2006,3,26,1,0,0),DateTime.new(2006,10,29,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2006,10,29,1,0,0),DateTime.new(2007,3,25,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2007,3,25,1,0,0),DateTime.new(2007,10,28,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2007,10,28,1,0,0),DateTime.new(2008,3,30,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2008,3,30,1,0,0),DateTime.new(2008,10,26,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2008,10,26,1,0,0),DateTime.new(2009,3,29,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2009,3,29,1,0,0),DateTime.new(2009,10,25,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2009,10,25,1,0,0),DateTime.new(2010,3,28,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2010,3,28,1,0,0),DateTime.new(2010,10,31,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2010,10,31,1,0,0),DateTime.new(2011,3,27,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2011,3,27,1,0,0),DateTime.new(2011,10,30,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2011,10,30,1,0,0),DateTime.new(2012,3,25,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2012,3,25,1,0,0),DateTime.new(2012,10,28,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2012,10,28,1,0,0),DateTime.new(2013,3,31,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2013,3,31,1,0,0),DateTime.new(2013,10,27,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2013,10,27,1,0,0),DateTime.new(2014,3,30,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2014,3,30,1,0,0),DateTime.new(2014,10,26,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2014,10,26,1,0,0),DateTime.new(2015,3,29,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2015,3,29,1,0,0),DateTime.new(2015,10,25,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2015,10,25,1,0,0),DateTime.new(2016,3,27,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2016,3,27,1,0,0),DateTime.new(2016,10,30,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2016,10,30,1,0,0),DateTime.new(2017,3,26,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2017,3,26,1,0,0),DateTime.new(2017,10,29,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2017,10,29,1,0,0),DateTime.new(2018,3,25,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2018,3,25,1,0,0),DateTime.new(2018,10,28,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2018,10,28,1,0,0),DateTime.new(2019,3,31,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2019,3,31,1,0,0),DateTime.new(2019,10,27,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2019,10,27,1,0,0),DateTime.new(2020,3,29,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2020,3,29,1,0,0),DateTime.new(2020,10,25,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2020,10,25,1,0,0),DateTime.new(2021,3,28,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2021,3,28,1,0,0),DateTime.new(2021,10,31,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2021,10,31,1,0,0),DateTime.new(2022,3,27,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2022,3,27,1,0,0),DateTime.new(2022,10,30,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2022,10,30,1,0,0),DateTime.new(2023,3,26,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2023,3,26,1,0,0),DateTime.new(2023,10,29,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2023,10,29,1,0,0),DateTime.new(2024,3,31,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2024,3,31,1,0,0),DateTime.new(2024,10,27,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2024,10,27,1,0,0),DateTime.new(2025,3,30,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2025,3,30,1,0,0),DateTime.new(2025,10,26,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2025,10,26,1,0,0),DateTime.new(2026,3,29,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2026,3,29,1,0,0),DateTime.new(2026,10,25,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2026,10,25,1,0,0),DateTime.new(2027,3,28,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2027,3,28,1,0,0),DateTime.new(2027,10,31,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2027,10,31,1,0,0),DateTime.new(2028,3,26,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2028,3,26,1,0,0),DateTime.new(2028,10,29,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2028,10,29,1,0,0),DateTime.new(2029,3,25,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2029,3,25,1,0,0),DateTime.new(2029,10,28,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2029,10,28,1,0,0),DateTime.new(2030,3,31,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2030,3,31,1,0,0),DateTime.new(2030,10,27,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2030,10,27,1,0,0),DateTime.new(2031,3,30,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2031,3,30,1,0,0),DateTime.new(2031,10,26,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2031,10,26,1,0,0),DateTime.new(2032,3,28,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2032,3,28,1,0,0),DateTime.new(2032,10,31,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2032,10,31,1,0,0),DateTime.new(2033,3,27,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2033,3,27,1,0,0),DateTime.new(2033,10,30,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2033,10,30,1,0,0),DateTime.new(2034,3,26,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2034,3,26,1,0,0),DateTime.new(2034,10,29,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2034,10,29,1,0,0),DateTime.new(2035,3,25,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2035,3,25,1,0,0),DateTime.new(2035,10,28,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2035,10,28,1,0,0),DateTime.new(2036,3,30,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2036,3,30,1,0,0),DateTime.new(2036,10,26,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2036,10,26,1,0,0),DateTime.new(2037,3,29,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2037,3,29,1,0,0),DateTime.new(2037,10,25,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2037,10,25,1,0,0),DateTime.new(2038,3,28,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2038,3,28,1,0,0),DateTime.new(2038,10,31,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2038,10,31,1,0,0),DateTime.new(2039,3,27,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2039,3,27,1,0,0),DateTime.new(2039,10,30,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2039,10,30,1,0,0),DateTime.new(2040,3,25,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2040,3,25,1,0,0),DateTime.new(2040,10,28,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2040,10,28,1,0,0),DateTime.new(2041,3,31,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2041,3,31,1,0,0),DateTime.new(2041,10,27,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2041,10,27,1,0,0),DateTime.new(2042,3,30,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2042,3,30,1,0,0),DateTime.new(2042,10,26,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2042,10,26,1,0,0),DateTime.new(2043,3,29,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2043,3,29,1,0,0),DateTime.new(2043,10,25,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2043,10,25,1,0,0),DateTime.new(2044,3,27,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2044,3,27,1,0,0),DateTime.new(2044,10,30,1,0,0),3600,3600,:'CEST'))
-add_period(TimezonePeriod.new(DateTime.new(2044,10,30,1,0,0),DateTime.new(2045,3,26,1,0,0),3600,0,:'CET'))
-add_period(TimezonePeriod.new(DateTime.new(2045,3,26,1,0,0),DateTime.new(2045,9,3,22,38,42),3600,3600,:'CEST'))
+add_unbounded_start_period {TimezonePeriod.new(nil,DateTime.new0(Rational.new!(17337092507,7200),0,Date::ITALY),-1284,0,:'LMT')}
+add_period(1880,8) {TimezonePeriod.new(DateTime.new0(Rational.new!(17337092507,7200),0,Date::ITALY),DateTime.new0(Rational.new!(29052055,12),0,Date::ITALY),0,0,:'Unknown')}
+add_period(1916,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(29052055,12),0,Date::ITALY),DateTime.new0(Rational.new!(29053651,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1916,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29053651,12),0,Date::ITALY),DateTime.new0(Rational.new!(29055919,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1917,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29055919,12),0,Date::ITALY),DateTime.new0(Rational.new!(29057863,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1917,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(29057863,12),0,Date::ITALY),DateTime.new0(Rational.new!(29060119,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1918,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(29060119,12),0,Date::ITALY),DateTime.new0(Rational.new!(29062399,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1918,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(29062399,12),0,Date::ITALY),DateTime.new0(Rational.new!(29064571,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1919,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(29064571,12),0,Date::ITALY),DateTime.new0(Rational.new!(29066767,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1919,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(29066767,12),0,Date::ITALY),DateTime.new0(Rational.new!(29068939,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1920,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(29068939,12),0,Date::ITALY),DateTime.new0(Rational.new!(29071471,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1920,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29071471,12),0,Date::ITALY),DateTime.new0(Rational.new!(29073391,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1921,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29073391,12),0,Date::ITALY),DateTime.new0(Rational.new!(29075587,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1921,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29075587,12),0,Date::ITALY),DateTime.new0(Rational.new!(29077675,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1922,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(29077675,12),0,Date::ITALY),DateTime.new0(Rational.new!(29080027,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1922,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29080027,12),0,Date::ITALY),DateTime.new0(Rational.new!(29082379,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1923,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29082379,12),0,Date::ITALY),DateTime.new0(Rational.new!(29084143,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1923,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(29084143,12),0,Date::ITALY),DateTime.new0(Rational.new!(29086663,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1924,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29086663,12),0,Date::ITALY),DateTime.new0(Rational.new!(29088595,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1924,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(29088595,12),0,Date::ITALY),DateTime.new0(Rational.new!(29091115,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1925,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29091115,12),0,Date::ITALY),DateTime.new0(Rational.new!(29093131,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1925,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29093131,12),0,Date::ITALY),DateTime.new0(Rational.new!(29095483,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1926,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29095483,12),0,Date::ITALY),DateTime.new0(Rational.new!(29097499,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1926,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29097499,12),0,Date::ITALY),DateTime.new0(Rational.new!(29099767,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1927,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29099767,12),0,Date::ITALY),DateTime.new0(Rational.new!(29101867,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1927,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29101867,12),0,Date::ITALY),DateTime.new0(Rational.new!(29104303,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1928,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29104303,12),0,Date::ITALY),DateTime.new0(Rational.new!(29106319,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1928,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29106319,12),0,Date::ITALY),DateTime.new0(Rational.new!(29108671,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1929,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29108671,12),0,Date::ITALY),DateTime.new0(Rational.new!(29110687,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1929,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29110687,12),0,Date::ITALY),DateTime.new0(Rational.new!(29112955,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1930,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29112955,12),0,Date::ITALY),DateTime.new0(Rational.new!(29115055,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1930,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29115055,12),0,Date::ITALY),DateTime.new0(Rational.new!(29117407,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1931,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29117407,12),0,Date::ITALY),DateTime.new0(Rational.new!(29119423,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1931,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29119423,12),0,Date::ITALY),DateTime.new0(Rational.new!(29121775,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1932,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29121775,12),0,Date::ITALY),DateTime.new0(Rational.new!(29123791,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1932,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29123791,12),0,Date::ITALY),DateTime.new0(Rational.new!(29126059,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1933,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29126059,12),0,Date::ITALY),DateTime.new0(Rational.new!(29128243,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1933,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29128243,12),0,Date::ITALY),DateTime.new0(Rational.new!(29130595,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1934,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29130595,12),0,Date::ITALY),DateTime.new0(Rational.new!(29132611,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1934,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29132611,12),0,Date::ITALY),DateTime.new0(Rational.new!(29134879,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1935,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29134879,12),0,Date::ITALY),DateTime.new0(Rational.new!(29136979,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1935,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29136979,12),0,Date::ITALY),DateTime.new0(Rational.new!(29139331,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1936,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29139331,12),0,Date::ITALY),DateTime.new0(Rational.new!(29141347,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1936,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29141347,12),0,Date::ITALY),DateTime.new0(Rational.new!(29143699,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1937,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29143699,12),0,Date::ITALY),DateTime.new0(Rational.new!(29145715,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1937,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29145715,12),0,Date::ITALY),DateTime.new0(Rational.new!(29147983,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1938,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29147983,12),0,Date::ITALY),DateTime.new0(Rational.new!(29150083,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1938,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29150083,12),0,Date::ITALY),DateTime.new0(Rational.new!(29152435,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1939,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29152435,12),0,Date::ITALY),DateTime.new0(Rational.new!(29155039,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1939,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(29155039,12),0,Date::ITALY),DateTime.new0(Rational.new!(29156215,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1940,2) {TimezonePeriod.new(DateTime.new0(Rational.new!(29156215,12),0,Date::ITALY),DateTime.new0(Rational.new!(58322845,24),0,Date::ITALY),0,3600,:'BST')}
+add_period(1941,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(58322845,24),0,Date::ITALY),DateTime.new0(Rational.new!(58325197,24),0,Date::ITALY),0,7200,:'BDST')}
+add_period(1941,8) {TimezonePeriod.new(DateTime.new0(Rational.new!(58325197,24),0,Date::ITALY),DateTime.new0(Rational.new!(58330909,24),0,Date::ITALY),0,3600,:'BST')}
+add_period(1942,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(58330909,24),0,Date::ITALY),DateTime.new0(Rational.new!(58333933,24),0,Date::ITALY),0,7200,:'BDST')}
+add_period(1942,8) {TimezonePeriod.new(DateTime.new0(Rational.new!(58333933,24),0,Date::ITALY),DateTime.new0(Rational.new!(58339645,24),0,Date::ITALY),0,3600,:'BST')}
+add_period(1943,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(58339645,24),0,Date::ITALY),DateTime.new0(Rational.new!(58342837,24),0,Date::ITALY),0,7200,:'BDST')}
+add_period(1943,8) {TimezonePeriod.new(DateTime.new0(Rational.new!(58342837,24),0,Date::ITALY),DateTime.new0(Rational.new!(58348381,24),0,Date::ITALY),0,3600,:'BST')}
+add_period(1944,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(58348381,24),0,Date::ITALY),DateTime.new0(Rational.new!(58352413,24),0,Date::ITALY),0,7200,:'BDST')}
+add_period(1944,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58352413,24),0,Date::ITALY),DateTime.new0(Rational.new!(58357141,24),0,Date::ITALY),0,3600,:'BST')}
+add_period(1945,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(58357141,24),0,Date::ITALY),DateTime.new0(Rational.new!(58359637,24),0,Date::ITALY),0,7200,:'BDST')}
+add_period(1945,7) {TimezonePeriod.new(DateTime.new0(Rational.new!(58359637,24),0,Date::ITALY),DateTime.new0(Rational.new!(29180827,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1945,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29180827,12),0,Date::ITALY),DateTime.new0(Rational.new!(29183095,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1946,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29183095,12),0,Date::ITALY),DateTime.new0(Rational.new!(29185195,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1946,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29185195,12),0,Date::ITALY),DateTime.new0(Rational.new!(29187127,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1947,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(29187127,12),0,Date::ITALY),DateTime.new0(Rational.new!(58374925,24),0,Date::ITALY),0,3600,:'BST')}
+add_period(1947,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(58374925,24),0,Date::ITALY),DateTime.new0(Rational.new!(58377781,24),0,Date::ITALY),0,7200,:'BDST')}
+add_period(1947,8) {TimezonePeriod.new(DateTime.new0(Rational.new!(58377781,24),0,Date::ITALY),DateTime.new0(Rational.new!(29189899,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1947,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(29189899,12),0,Date::ITALY),DateTime.new0(Rational.new!(29191495,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1948,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(29191495,12),0,Date::ITALY),DateTime.new0(Rational.new!(29194267,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1948,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29194267,12),0,Date::ITALY),DateTime.new0(Rational.new!(29196115,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1949,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29196115,12),0,Date::ITALY),DateTime.new0(Rational.new!(29198635,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1949,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29198635,12),0,Date::ITALY),DateTime.new0(Rational.new!(29200651,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1950,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29200651,12),0,Date::ITALY),DateTime.new0(Rational.new!(29202919,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1950,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29202919,12),0,Date::ITALY),DateTime.new0(Rational.new!(29205019,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1951,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29205019,12),0,Date::ITALY),DateTime.new0(Rational.new!(29207287,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1951,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29207287,12),0,Date::ITALY),DateTime.new0(Rational.new!(29209471,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1952,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29209471,12),0,Date::ITALY),DateTime.new0(Rational.new!(29211739,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1952,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29211739,12),0,Date::ITALY),DateTime.new0(Rational.new!(29213839,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1953,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29213839,12),0,Date::ITALY),DateTime.new0(Rational.new!(29215855,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1953,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29215855,12),0,Date::ITALY),DateTime.new0(Rational.new!(29218123,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1954,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29218123,12),0,Date::ITALY),DateTime.new0(Rational.new!(29220223,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1954,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29220223,12),0,Date::ITALY),DateTime.new0(Rational.new!(29222575,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1955,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29222575,12),0,Date::ITALY),DateTime.new0(Rational.new!(29224591,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1955,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29224591,12),0,Date::ITALY),DateTime.new0(Rational.new!(29227027,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1956,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29227027,12),0,Date::ITALY),DateTime.new0(Rational.new!(29229043,12),0,Date::ITALY),0,3600,:'BST')}
+add_period(1956,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(29229043,12),0,Date::ITALY),DateTime.new0(Rational.new!(29231311,12),0,Date::ITALY),0,0,:'GMT')}
+add_period(1957,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(29231311,12),0,Date::ITALY),DateTime.new0(Rational.new!(58679291,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1981,12) {TimezonePeriod.new(DateTime.new0(Rational.new!(58679291,24),0,Date::ITALY),DateTime.new0(Rational.new!(58681357,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1982,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58681357,24),0,Date::ITALY),DateTime.new0(Rational.new!(58685725,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1982,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58685725,24),0,Date::ITALY),DateTime.new0(Rational.new!(58690093,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1983,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58690093,24),0,Date::ITALY),DateTime.new0(Rational.new!(58694461,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1983,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58694461,24),0,Date::ITALY),DateTime.new0(Rational.new!(58698829,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1984,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58698829,24),0,Date::ITALY),DateTime.new0(Rational.new!(58703365,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1984,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58703365,24),0,Date::ITALY),DateTime.new0(Rational.new!(58707733,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1985,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58707733,24),0,Date::ITALY),DateTime.new0(Rational.new!(58712101,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1985,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58712101,24),0,Date::ITALY),DateTime.new0(Rational.new!(58716469,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1986,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58716469,24),0,Date::ITALY),DateTime.new0(Rational.new!(58720837,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1986,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58720837,24),0,Date::ITALY),DateTime.new0(Rational.new!(58725205,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1987,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58725205,24),0,Date::ITALY),DateTime.new0(Rational.new!(58729573,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1987,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58729573,24),0,Date::ITALY),DateTime.new0(Rational.new!(58733941,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1988,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58733941,24),0,Date::ITALY),DateTime.new0(Rational.new!(58738309,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1988,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58738309,24),0,Date::ITALY),DateTime.new0(Rational.new!(58742677,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1989,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58742677,24),0,Date::ITALY),DateTime.new0(Rational.new!(58747045,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1989,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58747045,24),0,Date::ITALY),DateTime.new0(Rational.new!(58751413,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1990,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58751413,24),0,Date::ITALY),DateTime.new0(Rational.new!(58755949,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1990,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58755949,24),0,Date::ITALY),DateTime.new0(Rational.new!(58760317,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1991,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58760317,24),0,Date::ITALY),DateTime.new0(Rational.new!(58764685,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1991,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58764685,24),0,Date::ITALY),DateTime.new0(Rational.new!(58769053,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1992,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58769053,24),0,Date::ITALY),DateTime.new0(Rational.new!(58773421,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1992,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58773421,24),0,Date::ITALY),DateTime.new0(Rational.new!(58777789,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1993,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58777789,24),0,Date::ITALY),DateTime.new0(Rational.new!(58782157,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1993,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58782157,24),0,Date::ITALY),DateTime.new0(Rational.new!(58786525,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1994,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58786525,24),0,Date::ITALY),DateTime.new0(Rational.new!(58790893,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1994,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58790893,24),0,Date::ITALY),DateTime.new0(Rational.new!(58795261,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1995,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58795261,24),0,Date::ITALY),DateTime.new0(Rational.new!(58799629,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1995,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58799629,24),0,Date::ITALY),DateTime.new0(Rational.new!(58804165,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1996,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58804165,24),0,Date::ITALY),DateTime.new0(Rational.new!(58809205,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1996,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58809205,24),0,Date::ITALY),DateTime.new0(Rational.new!(58812901,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1997,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58812901,24),0,Date::ITALY),DateTime.new0(Rational.new!(58817941,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1997,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58817941,24),0,Date::ITALY),DateTime.new0(Rational.new!(58821637,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1998,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58821637,24),0,Date::ITALY),DateTime.new0(Rational.new!(58826677,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1998,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58826677,24),0,Date::ITALY),DateTime.new0(Rational.new!(58830373,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(1999,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58830373,24),0,Date::ITALY),DateTime.new0(Rational.new!(58835581,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(1999,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58835581,24),0,Date::ITALY),DateTime.new0(Rational.new!(58839109,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2000,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58839109,24),0,Date::ITALY),DateTime.new0(Rational.new!(58844317,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2000,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58844317,24),0,Date::ITALY),DateTime.new0(Rational.new!(58847845,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2001,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58847845,24),0,Date::ITALY),DateTime.new0(Rational.new!(58853053,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2001,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58853053,24),0,Date::ITALY),DateTime.new0(Rational.new!(58856749,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2002,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58856749,24),0,Date::ITALY),DateTime.new0(Rational.new!(58861789,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2002,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58861789,24),0,Date::ITALY),DateTime.new0(Rational.new!(58865485,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2003,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58865485,24),0,Date::ITALY),DateTime.new0(Rational.new!(58870525,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2003,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58870525,24),0,Date::ITALY),DateTime.new0(Rational.new!(58874221,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2004,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58874221,24),0,Date::ITALY),DateTime.new0(Rational.new!(58879429,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2004,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58879429,24),0,Date::ITALY),DateTime.new0(Rational.new!(58882957,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2005,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58882957,24),0,Date::ITALY),DateTime.new0(Rational.new!(58888165,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2005,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58888165,24),0,Date::ITALY),DateTime.new0(Rational.new!(58891693,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2006,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58891693,24),0,Date::ITALY),DateTime.new0(Rational.new!(58896901,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2006,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58896901,24),0,Date::ITALY),DateTime.new0(Rational.new!(58900429,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2007,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58900429,24),0,Date::ITALY),DateTime.new0(Rational.new!(58905637,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2007,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58905637,24),0,Date::ITALY),DateTime.new0(Rational.new!(58909333,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2008,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58909333,24),0,Date::ITALY),DateTime.new0(Rational.new!(58914373,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2008,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58914373,24),0,Date::ITALY),DateTime.new0(Rational.new!(58918069,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2009,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58918069,24),0,Date::ITALY),DateTime.new0(Rational.new!(58923109,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2009,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58923109,24),0,Date::ITALY),DateTime.new0(Rational.new!(58926805,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2010,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58926805,24),0,Date::ITALY),DateTime.new0(Rational.new!(58932013,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2010,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58932013,24),0,Date::ITALY),DateTime.new0(Rational.new!(58935541,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2011,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58935541,24),0,Date::ITALY),DateTime.new0(Rational.new!(58940749,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2011,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58940749,24),0,Date::ITALY),DateTime.new0(Rational.new!(58944277,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2012,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58944277,24),0,Date::ITALY),DateTime.new0(Rational.new!(58949485,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2012,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58949485,24),0,Date::ITALY),DateTime.new0(Rational.new!(58953181,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2013,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58953181,24),0,Date::ITALY),DateTime.new0(Rational.new!(58958221,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2013,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58958221,24),0,Date::ITALY),DateTime.new0(Rational.new!(58961917,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2014,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58961917,24),0,Date::ITALY),DateTime.new0(Rational.new!(58966957,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2014,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58966957,24),0,Date::ITALY),DateTime.new0(Rational.new!(58970653,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2015,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58970653,24),0,Date::ITALY),DateTime.new0(Rational.new!(58975693,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2015,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58975693,24),0,Date::ITALY),DateTime.new0(Rational.new!(58979389,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2016,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58979389,24),0,Date::ITALY),DateTime.new0(Rational.new!(58984597,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2016,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58984597,24),0,Date::ITALY),DateTime.new0(Rational.new!(58988125,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2017,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58988125,24),0,Date::ITALY),DateTime.new0(Rational.new!(58993333,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2017,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58993333,24),0,Date::ITALY),DateTime.new0(Rational.new!(58996861,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2018,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58996861,24),0,Date::ITALY),DateTime.new0(Rational.new!(59002069,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2018,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59002069,24),0,Date::ITALY),DateTime.new0(Rational.new!(59005765,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2019,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59005765,24),0,Date::ITALY),DateTime.new0(Rational.new!(59010805,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2019,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59010805,24),0,Date::ITALY),DateTime.new0(Rational.new!(59014501,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2020,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59014501,24),0,Date::ITALY),DateTime.new0(Rational.new!(59019541,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2020,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59019541,24),0,Date::ITALY),DateTime.new0(Rational.new!(59023237,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2021,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59023237,24),0,Date::ITALY),DateTime.new0(Rational.new!(59028445,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2021,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59028445,24),0,Date::ITALY),DateTime.new0(Rational.new!(59031973,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2022,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59031973,24),0,Date::ITALY),DateTime.new0(Rational.new!(59037181,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2022,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59037181,24),0,Date::ITALY),DateTime.new0(Rational.new!(59040709,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2023,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59040709,24),0,Date::ITALY),DateTime.new0(Rational.new!(59045917,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2023,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59045917,24),0,Date::ITALY),DateTime.new0(Rational.new!(59049613,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2024,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59049613,24),0,Date::ITALY),DateTime.new0(Rational.new!(59054653,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2024,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59054653,24),0,Date::ITALY),DateTime.new0(Rational.new!(59058349,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2025,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59058349,24),0,Date::ITALY),DateTime.new0(Rational.new!(59063389,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2025,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59063389,24),0,Date::ITALY),DateTime.new0(Rational.new!(59067085,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2026,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59067085,24),0,Date::ITALY),DateTime.new0(Rational.new!(59072125,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2026,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59072125,24),0,Date::ITALY),DateTime.new0(Rational.new!(59075821,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2027,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59075821,24),0,Date::ITALY),DateTime.new0(Rational.new!(59081029,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2027,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59081029,24),0,Date::ITALY),DateTime.new0(Rational.new!(59084557,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2028,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59084557,24),0,Date::ITALY),DateTime.new0(Rational.new!(59089765,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2028,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59089765,24),0,Date::ITALY),DateTime.new0(Rational.new!(59093293,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2029,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59093293,24),0,Date::ITALY),DateTime.new0(Rational.new!(59098501,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2029,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59098501,24),0,Date::ITALY),DateTime.new0(Rational.new!(59102197,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2030,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59102197,24),0,Date::ITALY),DateTime.new0(Rational.new!(59107237,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2030,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59107237,24),0,Date::ITALY),DateTime.new0(Rational.new!(59110933,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2031,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59110933,24),0,Date::ITALY),DateTime.new0(Rational.new!(59115973,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2031,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59115973,24),0,Date::ITALY),DateTime.new0(Rational.new!(59119669,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2032,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59119669,24),0,Date::ITALY),DateTime.new0(Rational.new!(59124877,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2032,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59124877,24),0,Date::ITALY),DateTime.new0(Rational.new!(59128405,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2033,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59128405,24),0,Date::ITALY),DateTime.new0(Rational.new!(59133613,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2033,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59133613,24),0,Date::ITALY),DateTime.new0(Rational.new!(59137141,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2034,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59137141,24),0,Date::ITALY),DateTime.new0(Rational.new!(59142349,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2034,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59142349,24),0,Date::ITALY),DateTime.new0(Rational.new!(59145877,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2035,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59145877,24),0,Date::ITALY),DateTime.new0(Rational.new!(59151085,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2035,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59151085,24),0,Date::ITALY),DateTime.new0(Rational.new!(59154781,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2036,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59154781,24),0,Date::ITALY),DateTime.new0(Rational.new!(59159821,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2036,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59159821,24),0,Date::ITALY),DateTime.new0(Rational.new!(59163517,24),0,Date::ITALY),3600,0,:'CET')}
+add_period(2037,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(59163517,24),0,Date::ITALY),DateTime.new0(Rational.new!(59168557,24),0,Date::ITALY),3600,3600,:'CEST')}
+add_period(2037,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(59168557,24),0,Date::ITALY),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),nil,3600,0,:'CET')}
end
end
end
end