lib/tzinfo/definitions/America/Halifax.rb in tzinfo-0.1.2 vs lib/tzinfo/definitions/America/Halifax.rb in tzinfo-0.2.0
- old
+ new
@@ -1,259 +1,266 @@
-require 'tzinfo/timezone'
-module TZInfo
-module Definitions #:nodoc:
-module America #:nodoc:
-class Halifax < Timezone #:nodoc:
-setup
-set_identifier('America/Halifax')
-add_unbounded_start_period {TimezonePeriod.new(nil,DateTime.new0(Rational.new!(724774703,300),0,Date::ITALY),-15264,0,:'LMT')}
-add_period(1902,6) {TimezonePeriod.new(DateTime.new0(Rational.new!(724774703,300),0,Date::ITALY),DateTime.new0(Rational.new!(7262864,3),0,Date::ITALY),-14400,0,:'AT')}
-add_period(1916,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(7262864,3),0,Date::ITALY),DateTime.new0(Rational.new!(19369101,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1916,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(19369101,8),0,Date::ITALY),DateTime.new0(Rational.new!(7264784,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1918,1) {TimezonePeriod.new(DateTime.new0(Rational.new!(7264784,3),0,Date::ITALY),DateTime.new0(Rational.new!(9686791,4),0,Date::ITALY),-14400,0,:'AT')}
-add_period(1918,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9686791,4),0,Date::ITALY),DateTime.new0(Rational.new!(58125545,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1918,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58125545,24),0,Date::ITALY),DateTime.new0(Rational.new!(7265879,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1919,1) {TimezonePeriod.new(DateTime.new0(Rational.new!(7265879,3),0,Date::ITALY),DateTime.new0(Rational.new!(7267361,3),0,Date::ITALY),-14400,0,:'AT')}
-add_period(1920,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7267361,3),0,Date::ITALY),DateTime.new0(Rational.new!(19380525,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1920,8) {TimezonePeriod.new(DateTime.new0(Rational.new!(19380525,8),0,Date::ITALY),DateTime.new0(Rational.new!(7268447,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1921,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7268447,3),0,Date::ITALY),DateTime.new0(Rational.new!(19383501,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1921,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19383501,8),0,Date::ITALY),DateTime.new0(Rational.new!(7269524,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1922,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(7269524,3),0,Date::ITALY),DateTime.new0(Rational.new!(19386421,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1922,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19386421,8),0,Date::ITALY),DateTime.new0(Rational.new!(7270637,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1923,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7270637,3),0,Date::ITALY),DateTime.new0(Rational.new!(19389333,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1923,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19389333,8),0,Date::ITALY),DateTime.new0(Rational.new!(7271729,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1924,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7271729,3),0,Date::ITALY),DateTime.new0(Rational.new!(19392349,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1924,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19392349,8),0,Date::ITALY),DateTime.new0(Rational.new!(7272821,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1925,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7272821,3),0,Date::ITALY),DateTime.new0(Rational.new!(19395373,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1925,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19395373,8),0,Date::ITALY),DateTime.new0(Rational.new!(7273955,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1926,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7273955,3),0,Date::ITALY),DateTime.new0(Rational.new!(19398173,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1926,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19398173,8),0,Date::ITALY),DateTime.new0(Rational.new!(7275005,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1927,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7275005,3),0,Date::ITALY),DateTime.new0(Rational.new!(19401197,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1927,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19401197,8),0,Date::ITALY),DateTime.new0(Rational.new!(7276139,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1928,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7276139,3),0,Date::ITALY),DateTime.new0(Rational.new!(19403989,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1928,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19403989,8),0,Date::ITALY),DateTime.new0(Rational.new!(7277231,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1929,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7277231,3),0,Date::ITALY),DateTime.new0(Rational.new!(19406861,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1929,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19406861,8),0,Date::ITALY),DateTime.new0(Rational.new!(7278323,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1930,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7278323,3),0,Date::ITALY),DateTime.new0(Rational.new!(19409877,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1930,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19409877,8),0,Date::ITALY),DateTime.new0(Rational.new!(7279415,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1931,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7279415,3),0,Date::ITALY),DateTime.new0(Rational.new!(19412901,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1931,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19412901,8),0,Date::ITALY),DateTime.new0(Rational.new!(7280486,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1932,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7280486,3),0,Date::ITALY),DateTime.new0(Rational.new!(19415813,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1932,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19415813,8),0,Date::ITALY),DateTime.new0(Rational.new!(7281578,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1933,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(7281578,3),0,Date::ITALY),DateTime.new0(Rational.new!(19418781,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1933,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(19418781,8),0,Date::ITALY),DateTime.new0(Rational.new!(7282733,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1934,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7282733,3),0,Date::ITALY),DateTime.new0(Rational.new!(19421573,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1934,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19421573,8),0,Date::ITALY),DateTime.new0(Rational.new!(7283867,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1935,6) {TimezonePeriod.new(DateTime.new0(Rational.new!(7283867,3),0,Date::ITALY),DateTime.new0(Rational.new!(19424605,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1935,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19424605,8),0,Date::ITALY),DateTime.new0(Rational.new!(7284962,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1936,6) {TimezonePeriod.new(DateTime.new0(Rational.new!(7284962,3),0,Date::ITALY),DateTime.new0(Rational.new!(19427405,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1936,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19427405,8),0,Date::ITALY),DateTime.new0(Rational.new!(7285967,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1937,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7285967,3),0,Date::ITALY),DateTime.new0(Rational.new!(19430429,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1937,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19430429,8),0,Date::ITALY),DateTime.new0(Rational.new!(7287059,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1938,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7287059,3),0,Date::ITALY),DateTime.new0(Rational.new!(19433341,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1938,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19433341,8),0,Date::ITALY),DateTime.new0(Rational.new!(7288235,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1939,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7288235,3),0,Date::ITALY),DateTime.new0(Rational.new!(19436253,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1939,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19436253,8),0,Date::ITALY),DateTime.new0(Rational.new!(7289264,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1940,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7289264,3),0,Date::ITALY),DateTime.new0(Rational.new!(19439221,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1940,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19439221,8),0,Date::ITALY),DateTime.new0(Rational.new!(7290356,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1941,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7290356,3),0,Date::ITALY),DateTime.new0(Rational.new!(19442133,8),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1941,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19442133,8),0,Date::ITALY),DateTime.new0(Rational.new!(9721599,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1942,2) {TimezonePeriod.new(DateTime.new0(Rational.new!(9721599,4),0,Date::ITALY),DateTime.new0(Rational.new!(58361489,24),0,Date::ITALY),-14400,3600,:'AWT')}
-add_period(1945,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58361489,24),0,Date::ITALY),DateTime.new0(Rational.new!(7295465,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1946,1) {TimezonePeriod.new(DateTime.new0(Rational.new!(7295465,3),0,Date::ITALY),DateTime.new0(Rational.new!(9727755,4),0,Date::ITALY),-14400,0,:'AT')}
-add_period(1946,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9727755,4),0,Date::ITALY),DateTime.new0(Rational.new!(58370225,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1946,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58370225,24),0,Date::ITALY),DateTime.new0(Rational.new!(9729211,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1947,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9729211,4),0,Date::ITALY),DateTime.new0(Rational.new!(58378961,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1947,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58378961,24),0,Date::ITALY),DateTime.new0(Rational.new!(9730667,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1948,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9730667,4),0,Date::ITALY),DateTime.new0(Rational.new!(58387697,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1948,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58387697,24),0,Date::ITALY),DateTime.new0(Rational.new!(9732123,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1949,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9732123,4),0,Date::ITALY),DateTime.new0(Rational.new!(58396433,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1949,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58396433,24),0,Date::ITALY),DateTime.new0(Rational.new!(9735063,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1951,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9735063,4),0,Date::ITALY),DateTime.new0(Rational.new!(58414073,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1951,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58414073,24),0,Date::ITALY),DateTime.new0(Rational.new!(9736519,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1952,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9736519,4),0,Date::ITALY),DateTime.new0(Rational.new!(58422809,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1952,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58422809,24),0,Date::ITALY),DateTime.new0(Rational.new!(9737975,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1953,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9737975,4),0,Date::ITALY),DateTime.new0(Rational.new!(58431545,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1953,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58431545,24),0,Date::ITALY),DateTime.new0(Rational.new!(9739431,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1954,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9739431,4),0,Date::ITALY),DateTime.new0(Rational.new!(58440281,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1954,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58440281,24),0,Date::ITALY),DateTime.new0(Rational.new!(9742371,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1956,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9742371,4),0,Date::ITALY),DateTime.new0(Rational.new!(58457921,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1956,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58457921,24),0,Date::ITALY),DateTime.new0(Rational.new!(9743827,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1957,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9743827,4),0,Date::ITALY),DateTime.new0(Rational.new!(58466657,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1957,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58466657,24),0,Date::ITALY),DateTime.new0(Rational.new!(9745283,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1958,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9745283,4),0,Date::ITALY),DateTime.new0(Rational.new!(58475393,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1958,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58475393,24),0,Date::ITALY),DateTime.new0(Rational.new!(9746739,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1959,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9746739,4),0,Date::ITALY),DateTime.new0(Rational.new!(58484129,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1959,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58484129,24),0,Date::ITALY),DateTime.new0(Rational.new!(9751135,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1962,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9751135,4),0,Date::ITALY),DateTime.new0(Rational.new!(58511177,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1962,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58511177,24),0,Date::ITALY),DateTime.new0(Rational.new!(9752591,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1963,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9752591,4),0,Date::ITALY),DateTime.new0(Rational.new!(58519913,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1963,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58519913,24),0,Date::ITALY),DateTime.new0(Rational.new!(9754047,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1964,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9754047,4),0,Date::ITALY),DateTime.new0(Rational.new!(58528649,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1964,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58528649,24),0,Date::ITALY),DateTime.new0(Rational.new!(9755503,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1965,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9755503,4),0,Date::ITALY),DateTime.new0(Rational.new!(58537553,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1965,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58537553,24),0,Date::ITALY),DateTime.new0(Rational.new!(9756959,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1966,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9756959,4),0,Date::ITALY),DateTime.new0(Rational.new!(58546289,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1966,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58546289,24),0,Date::ITALY),DateTime.new0(Rational.new!(9758443,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1967,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9758443,4),0,Date::ITALY),DateTime.new0(Rational.new!(58555025,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1967,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58555025,24),0,Date::ITALY),DateTime.new0(Rational.new!(9759899,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1968,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9759899,4),0,Date::ITALY),DateTime.new0(Rational.new!(58563761,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1968,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58563761,24),0,Date::ITALY),DateTime.new0(Rational.new!(9761355,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1969,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9761355,4),0,Date::ITALY),DateTime.new0(Rational.new!(58572497,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1969,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58572497,24),0,Date::ITALY),DateTime.new0(Rational.new!(9762811,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1970,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9762811,4),0,Date::ITALY),DateTime.new0(Rational.new!(58581233,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1970,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58581233,24),0,Date::ITALY),DateTime.new0(Rational.new!(9764267,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1971,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9764267,4),0,Date::ITALY),DateTime.new0(Rational.new!(58590137,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1971,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58590137,24),0,Date::ITALY),DateTime.new0(Rational.new!(9765751,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1972,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9765751,4),0,Date::ITALY),DateTime.new0(Rational.new!(58598873,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1972,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58598873,24),0,Date::ITALY),DateTime.new0(Rational.new!(9767207,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1973,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9767207,4),0,Date::ITALY),DateTime.new0(Rational.new!(58607609,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1973,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58607609,24),0,Date::ITALY),DateTime.new0(Rational.new!(7326146,3),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1974,1) {TimezonePeriod.new(DateTime.new0(Rational.new!(7326146,3),0,Date::ITALY),DateTime.new0(Rational.new!(9768663,4),0,Date::ITALY),-14400,0,:'AT')}
-add_period(1974,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9768663,4),0,Date::ITALY),DateTime.new0(Rational.new!(58616345,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1974,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58616345,24),0,Date::ITALY),DateTime.new0(Rational.new!(9770119,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1975,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9770119,4),0,Date::ITALY),DateTime.new0(Rational.new!(58625081,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1975,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58625081,24),0,Date::ITALY),DateTime.new0(Rational.new!(9771575,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1976,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9771575,4),0,Date::ITALY),DateTime.new0(Rational.new!(58633985,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1976,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58633985,24),0,Date::ITALY),DateTime.new0(Rational.new!(9773031,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1977,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9773031,4),0,Date::ITALY),DateTime.new0(Rational.new!(58642721,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1977,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58642721,24),0,Date::ITALY),DateTime.new0(Rational.new!(9774515,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1978,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9774515,4),0,Date::ITALY),DateTime.new0(Rational.new!(58651457,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1978,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58651457,24),0,Date::ITALY),DateTime.new0(Rational.new!(9775971,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1979,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9775971,4),0,Date::ITALY),DateTime.new0(Rational.new!(58660193,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1979,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58660193,24),0,Date::ITALY),DateTime.new0(Rational.new!(9777427,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1980,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9777427,4),0,Date::ITALY),DateTime.new0(Rational.new!(58668929,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1980,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58668929,24),0,Date::ITALY),DateTime.new0(Rational.new!(9778883,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1981,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9778883,4),0,Date::ITALY),DateTime.new0(Rational.new!(58677665,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1981,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58677665,24),0,Date::ITALY),DateTime.new0(Rational.new!(9780339,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1982,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9780339,4),0,Date::ITALY),DateTime.new0(Rational.new!(58686569,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1982,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58686569,24),0,Date::ITALY),DateTime.new0(Rational.new!(9781795,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1983,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9781795,4),0,Date::ITALY),DateTime.new0(Rational.new!(58695305,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1983,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58695305,24),0,Date::ITALY),DateTime.new0(Rational.new!(9783279,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1984,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9783279,4),0,Date::ITALY),DateTime.new0(Rational.new!(58704041,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1984,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58704041,24),0,Date::ITALY),DateTime.new0(Rational.new!(9784735,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1985,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9784735,4),0,Date::ITALY),DateTime.new0(Rational.new!(58712777,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1985,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58712777,24),0,Date::ITALY),DateTime.new0(Rational.new!(9786191,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1986,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9786191,4),0,Date::ITALY),DateTime.new0(Rational.new!(58721513,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1986,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58721513,24),0,Date::ITALY),DateTime.new0(Rational.new!(9787563,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1987,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9787563,4),0,Date::ITALY),DateTime.new0(Rational.new!(58730249,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1987,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58730249,24),0,Date::ITALY),DateTime.new0(Rational.new!(9789019,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1988,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9789019,4),0,Date::ITALY),DateTime.new0(Rational.new!(58739153,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1988,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58739153,24),0,Date::ITALY),DateTime.new0(Rational.new!(9790475,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1989,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9790475,4),0,Date::ITALY),DateTime.new0(Rational.new!(58747889,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1989,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58747889,24),0,Date::ITALY),DateTime.new0(Rational.new!(9791931,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1990,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9791931,4),0,Date::ITALY),DateTime.new0(Rational.new!(58756625,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1990,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58756625,24),0,Date::ITALY),DateTime.new0(Rational.new!(9793415,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1991,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9793415,4),0,Date::ITALY),DateTime.new0(Rational.new!(58765361,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1991,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58765361,24),0,Date::ITALY),DateTime.new0(Rational.new!(9794871,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1992,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9794871,4),0,Date::ITALY),DateTime.new0(Rational.new!(58774097,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1992,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58774097,24),0,Date::ITALY),DateTime.new0(Rational.new!(9796327,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1993,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9796327,4),0,Date::ITALY),DateTime.new0(Rational.new!(58783001,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1993,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58783001,24),0,Date::ITALY),DateTime.new0(Rational.new!(9797783,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1994,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9797783,4),0,Date::ITALY),DateTime.new0(Rational.new!(58791737,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1994,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58791737,24),0,Date::ITALY),DateTime.new0(Rational.new!(9799239,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1995,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9799239,4),0,Date::ITALY),DateTime.new0(Rational.new!(58800473,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1995,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58800473,24),0,Date::ITALY),DateTime.new0(Rational.new!(9800723,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1996,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9800723,4),0,Date::ITALY),DateTime.new0(Rational.new!(58809209,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1996,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58809209,24),0,Date::ITALY),DateTime.new0(Rational.new!(9802179,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1997,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9802179,4),0,Date::ITALY),DateTime.new0(Rational.new!(58817945,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1997,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58817945,24),0,Date::ITALY),DateTime.new0(Rational.new!(9803635,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1998,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9803635,4),0,Date::ITALY),DateTime.new0(Rational.new!(58826681,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1998,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58826681,24),0,Date::ITALY),DateTime.new0(Rational.new!(9805091,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(1999,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9805091,4),0,Date::ITALY),DateTime.new0(Rational.new!(58835585,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(1999,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58835585,24),0,Date::ITALY),DateTime.new0(Rational.new!(9806547,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2000,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9806547,4),0,Date::ITALY),DateTime.new0(Rational.new!(58844321,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2000,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58844321,24),0,Date::ITALY),DateTime.new0(Rational.new!(9808003,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2001,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9808003,4),0,Date::ITALY),DateTime.new0(Rational.new!(58853057,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2001,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58853057,24),0,Date::ITALY),DateTime.new0(Rational.new!(9809487,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2002,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9809487,4),0,Date::ITALY),DateTime.new0(Rational.new!(58861793,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2002,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58861793,24),0,Date::ITALY),DateTime.new0(Rational.new!(9810943,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2003,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9810943,4),0,Date::ITALY),DateTime.new0(Rational.new!(58870529,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2003,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58870529,24),0,Date::ITALY),DateTime.new0(Rational.new!(9812399,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2004,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9812399,4),0,Date::ITALY),DateTime.new0(Rational.new!(58879433,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2004,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58879433,24),0,Date::ITALY),DateTime.new0(Rational.new!(9813855,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2005,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9813855,4),0,Date::ITALY),DateTime.new0(Rational.new!(58888169,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2005,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58888169,24),0,Date::ITALY),DateTime.new0(Rational.new!(9815311,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2006,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9815311,4),0,Date::ITALY),DateTime.new0(Rational.new!(58896905,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2006,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58896905,24),0,Date::ITALY),DateTime.new0(Rational.new!(9816683,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2007,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9816683,4),0,Date::ITALY),DateTime.new0(Rational.new!(58905809,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2007,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(58905809,24),0,Date::ITALY),DateTime.new0(Rational.new!(9818139,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2008,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9818139,4),0,Date::ITALY),DateTime.new0(Rational.new!(58914545,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2008,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(58914545,24),0,Date::ITALY),DateTime.new0(Rational.new!(9819595,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2009,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9819595,4),0,Date::ITALY),DateTime.new0(Rational.new!(58923281,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2009,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(58923281,24),0,Date::ITALY),DateTime.new0(Rational.new!(9821079,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2010,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9821079,4),0,Date::ITALY),DateTime.new0(Rational.new!(58932185,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2010,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(58932185,24),0,Date::ITALY),DateTime.new0(Rational.new!(9822535,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2011,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9822535,4),0,Date::ITALY),DateTime.new0(Rational.new!(58940921,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2011,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(58940921,24),0,Date::ITALY),DateTime.new0(Rational.new!(9823991,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2012,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9823991,4),0,Date::ITALY),DateTime.new0(Rational.new!(58949657,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2012,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(58949657,24),0,Date::ITALY),DateTime.new0(Rational.new!(9825447,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2013,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9825447,4),0,Date::ITALY),DateTime.new0(Rational.new!(58958393,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2013,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(58958393,24),0,Date::ITALY),DateTime.new0(Rational.new!(9826903,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2014,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9826903,4),0,Date::ITALY),DateTime.new0(Rational.new!(58967129,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2014,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(58967129,24),0,Date::ITALY),DateTime.new0(Rational.new!(9828359,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2015,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9828359,4),0,Date::ITALY),DateTime.new0(Rational.new!(58975865,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2015,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(58975865,24),0,Date::ITALY),DateTime.new0(Rational.new!(9829843,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2016,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9829843,4),0,Date::ITALY),DateTime.new0(Rational.new!(58984769,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2016,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(58984769,24),0,Date::ITALY),DateTime.new0(Rational.new!(9831299,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2017,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9831299,4),0,Date::ITALY),DateTime.new0(Rational.new!(58993505,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2017,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(58993505,24),0,Date::ITALY),DateTime.new0(Rational.new!(9832755,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2018,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9832755,4),0,Date::ITALY),DateTime.new0(Rational.new!(59002241,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2018,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59002241,24),0,Date::ITALY),DateTime.new0(Rational.new!(9834211,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2019,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9834211,4),0,Date::ITALY),DateTime.new0(Rational.new!(59010977,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2019,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59010977,24),0,Date::ITALY),DateTime.new0(Rational.new!(9835667,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2020,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9835667,4),0,Date::ITALY),DateTime.new0(Rational.new!(59019713,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2020,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59019713,24),0,Date::ITALY),DateTime.new0(Rational.new!(9837151,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2021,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9837151,4),0,Date::ITALY),DateTime.new0(Rational.new!(59028617,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2021,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59028617,24),0,Date::ITALY),DateTime.new0(Rational.new!(9838607,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2022,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9838607,4),0,Date::ITALY),DateTime.new0(Rational.new!(59037353,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2022,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59037353,24),0,Date::ITALY),DateTime.new0(Rational.new!(9840063,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2023,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9840063,4),0,Date::ITALY),DateTime.new0(Rational.new!(59046089,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2023,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59046089,24),0,Date::ITALY),DateTime.new0(Rational.new!(9841519,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2024,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9841519,4),0,Date::ITALY),DateTime.new0(Rational.new!(59054825,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2024,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59054825,24),0,Date::ITALY),DateTime.new0(Rational.new!(9842975,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2025,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9842975,4),0,Date::ITALY),DateTime.new0(Rational.new!(59063561,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2025,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59063561,24),0,Date::ITALY),DateTime.new0(Rational.new!(9844431,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2026,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9844431,4),0,Date::ITALY),DateTime.new0(Rational.new!(59072297,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2026,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59072297,24),0,Date::ITALY),DateTime.new0(Rational.new!(9845915,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2027,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9845915,4),0,Date::ITALY),DateTime.new0(Rational.new!(59081201,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2027,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59081201,24),0,Date::ITALY),DateTime.new0(Rational.new!(9847371,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2028,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9847371,4),0,Date::ITALY),DateTime.new0(Rational.new!(59089937,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2028,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59089937,24),0,Date::ITALY),DateTime.new0(Rational.new!(9848827,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2029,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9848827,4),0,Date::ITALY),DateTime.new0(Rational.new!(59098673,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2029,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59098673,24),0,Date::ITALY),DateTime.new0(Rational.new!(9850283,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2030,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9850283,4),0,Date::ITALY),DateTime.new0(Rational.new!(59107409,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2030,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59107409,24),0,Date::ITALY),DateTime.new0(Rational.new!(9851739,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2031,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9851739,4),0,Date::ITALY),DateTime.new0(Rational.new!(59116145,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2031,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59116145,24),0,Date::ITALY),DateTime.new0(Rational.new!(9853223,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2032,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9853223,4),0,Date::ITALY),DateTime.new0(Rational.new!(59125049,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2032,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59125049,24),0,Date::ITALY),DateTime.new0(Rational.new!(9854679,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2033,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9854679,4),0,Date::ITALY),DateTime.new0(Rational.new!(59133785,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2033,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59133785,24),0,Date::ITALY),DateTime.new0(Rational.new!(9856135,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2034,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9856135,4),0,Date::ITALY),DateTime.new0(Rational.new!(59142521,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2034,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59142521,24),0,Date::ITALY),DateTime.new0(Rational.new!(9857591,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2035,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9857591,4),0,Date::ITALY),DateTime.new0(Rational.new!(59151257,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2035,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59151257,24),0,Date::ITALY),DateTime.new0(Rational.new!(9859047,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2036,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9859047,4),0,Date::ITALY),DateTime.new0(Rational.new!(59159993,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2036,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59159993,24),0,Date::ITALY),DateTime.new0(Rational.new!(9860503,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2037,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9860503,4),0,Date::ITALY),DateTime.new0(Rational.new!(59168729,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2037,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59168729,24),0,Date::ITALY),DateTime.new0(Rational.new!(9861987,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2038,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9861987,4),0,Date::ITALY),DateTime.new0(Rational.new!(59177633,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2038,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59177633,24),0,Date::ITALY),DateTime.new0(Rational.new!(9863443,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2039,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9863443,4),0,Date::ITALY),DateTime.new0(Rational.new!(59186369,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2039,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59186369,24),0,Date::ITALY),DateTime.new0(Rational.new!(9864899,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2040,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9864899,4),0,Date::ITALY),DateTime.new0(Rational.new!(59195105,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2040,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59195105,24),0,Date::ITALY),DateTime.new0(Rational.new!(9866355,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2041,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9866355,4),0,Date::ITALY),DateTime.new0(Rational.new!(59203841,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2041,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59203841,24),0,Date::ITALY),DateTime.new0(Rational.new!(9867811,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2042,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9867811,4),0,Date::ITALY),DateTime.new0(Rational.new!(59212577,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2042,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59212577,24),0,Date::ITALY),DateTime.new0(Rational.new!(9869267,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2043,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9869267,4),0,Date::ITALY),DateTime.new0(Rational.new!(59221313,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2043,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59221313,24),0,Date::ITALY),DateTime.new0(Rational.new!(9870751,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2044,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9870751,4),0,Date::ITALY),DateTime.new0(Rational.new!(59230217,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2044,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59230217,24),0,Date::ITALY),DateTime.new0(Rational.new!(9872207,4),0,Date::ITALY),-14400,0,:'AST')}
-add_period(2045,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9872207,4),0,Date::ITALY),DateTime.new0(Rational.new!(59238953,24),0,Date::ITALY),-14400,3600,:'ADT')}
-add_period(2045,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59238953,24),0,Date::ITALY),nil,-14400,0,:'AST')}
-end
-end
-end
-end
+require 'tzinfo/timezone'
+module TZInfo
+module Definitions #:nodoc:
+module America #:nodoc:
+class Halifax < Timezone #:nodoc:
+setup
+set_identifier('America/Halifax')
+add_unbounded_start_period {TimezonePeriod.new(nil,DateTime.new0(Rational.new!(724774703,300),0,Date::ITALY),-15264,0,:LMT)}
+add_period(1902,6) {TimezonePeriod.new(DateTime.new0(Rational.new!(724774703,300),0,Date::ITALY),DateTime.new0(Rational.new!(7262864,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1916,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(7262864,3),0,Date::ITALY),DateTime.new0(Rational.new!(19369101,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1916,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(19369101,8),0,Date::ITALY),DateTime.new0(Rational.new!(9686791,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1918,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9686791,4),0,Date::ITALY),DateTime.new0(Rational.new!(58125545,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1918,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58125545,24),0,Date::ITALY),DateTime.new0(Rational.new!(7267361,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1920,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7267361,3),0,Date::ITALY),DateTime.new0(Rational.new!(19380525,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1920,8) {TimezonePeriod.new(DateTime.new0(Rational.new!(19380525,8),0,Date::ITALY),DateTime.new0(Rational.new!(7268447,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1921,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7268447,3),0,Date::ITALY),DateTime.new0(Rational.new!(19383501,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1921,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19383501,8),0,Date::ITALY),DateTime.new0(Rational.new!(7269524,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1922,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(7269524,3),0,Date::ITALY),DateTime.new0(Rational.new!(19386421,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1922,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19386421,8),0,Date::ITALY),DateTime.new0(Rational.new!(7270637,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1923,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7270637,3),0,Date::ITALY),DateTime.new0(Rational.new!(19389333,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1923,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19389333,8),0,Date::ITALY),DateTime.new0(Rational.new!(7271729,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1924,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7271729,3),0,Date::ITALY),DateTime.new0(Rational.new!(19392349,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1924,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19392349,8),0,Date::ITALY),DateTime.new0(Rational.new!(7272821,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1925,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7272821,3),0,Date::ITALY),DateTime.new0(Rational.new!(19395373,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1925,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19395373,8),0,Date::ITALY),DateTime.new0(Rational.new!(7273955,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1926,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7273955,3),0,Date::ITALY),DateTime.new0(Rational.new!(19398173,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1926,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19398173,8),0,Date::ITALY),DateTime.new0(Rational.new!(7275005,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1927,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7275005,3),0,Date::ITALY),DateTime.new0(Rational.new!(19401197,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1927,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19401197,8),0,Date::ITALY),DateTime.new0(Rational.new!(7276139,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1928,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7276139,3),0,Date::ITALY),DateTime.new0(Rational.new!(19403989,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1928,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19403989,8),0,Date::ITALY),DateTime.new0(Rational.new!(7277231,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1929,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7277231,3),0,Date::ITALY),DateTime.new0(Rational.new!(19406861,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1929,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19406861,8),0,Date::ITALY),DateTime.new0(Rational.new!(7278323,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1930,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7278323,3),0,Date::ITALY),DateTime.new0(Rational.new!(19409877,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1930,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19409877,8),0,Date::ITALY),DateTime.new0(Rational.new!(7279415,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1931,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7279415,3),0,Date::ITALY),DateTime.new0(Rational.new!(19412901,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1931,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19412901,8),0,Date::ITALY),DateTime.new0(Rational.new!(7280486,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1932,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7280486,3),0,Date::ITALY),DateTime.new0(Rational.new!(19415813,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1932,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19415813,8),0,Date::ITALY),DateTime.new0(Rational.new!(7281578,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1933,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(7281578,3),0,Date::ITALY),DateTime.new0(Rational.new!(19418781,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1933,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(19418781,8),0,Date::ITALY),DateTime.new0(Rational.new!(7282733,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1934,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7282733,3),0,Date::ITALY),DateTime.new0(Rational.new!(19421573,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1934,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19421573,8),0,Date::ITALY),DateTime.new0(Rational.new!(7283867,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1935,6) {TimezonePeriod.new(DateTime.new0(Rational.new!(7283867,3),0,Date::ITALY),DateTime.new0(Rational.new!(19424605,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1935,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19424605,8),0,Date::ITALY),DateTime.new0(Rational.new!(7284962,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1936,6) {TimezonePeriod.new(DateTime.new0(Rational.new!(7284962,3),0,Date::ITALY),DateTime.new0(Rational.new!(19427405,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1936,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19427405,8),0,Date::ITALY),DateTime.new0(Rational.new!(7285967,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1937,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7285967,3),0,Date::ITALY),DateTime.new0(Rational.new!(19430429,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1937,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19430429,8),0,Date::ITALY),DateTime.new0(Rational.new!(7287059,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1938,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7287059,3),0,Date::ITALY),DateTime.new0(Rational.new!(19433341,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1938,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19433341,8),0,Date::ITALY),DateTime.new0(Rational.new!(7288235,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1939,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7288235,3),0,Date::ITALY),DateTime.new0(Rational.new!(19436253,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1939,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19436253,8),0,Date::ITALY),DateTime.new0(Rational.new!(7289264,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1940,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7289264,3),0,Date::ITALY),DateTime.new0(Rational.new!(19439221,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1940,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19439221,8),0,Date::ITALY),DateTime.new0(Rational.new!(7290356,3),0,Date::ITALY),-14400,0,:AST)}
+add_period(1941,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(7290356,3),0,Date::ITALY),DateTime.new0(Rational.new!(19442133,8),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1941,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(19442133,8),0,Date::ITALY),DateTime.new0(Rational.new!(9721599,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1942,2) {TimezonePeriod.new(DateTime.new0(Rational.new!(9721599,4),0,Date::ITALY),DateTime.new0(Rational.new!(58360379,24),0,Date::ITALY),-14400,3600,:AWT)}
+add_period(1945,8) {TimezonePeriod.new(DateTime.new0(Rational.new!(58360379,24),0,Date::ITALY),DateTime.new0(Rational.new!(58361489,24),0,Date::ITALY),-14400,3600,:APT)}
+add_period(1945,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58361489,24),0,Date::ITALY),DateTime.new0(Rational.new!(9727755,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1946,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9727755,4),0,Date::ITALY),DateTime.new0(Rational.new!(58370225,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1946,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58370225,24),0,Date::ITALY),DateTime.new0(Rational.new!(9729211,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1947,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9729211,4),0,Date::ITALY),DateTime.new0(Rational.new!(58378961,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1947,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58378961,24),0,Date::ITALY),DateTime.new0(Rational.new!(9730667,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1948,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9730667,4),0,Date::ITALY),DateTime.new0(Rational.new!(58387697,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1948,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58387697,24),0,Date::ITALY),DateTime.new0(Rational.new!(9732123,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1949,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9732123,4),0,Date::ITALY),DateTime.new0(Rational.new!(58396433,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1949,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58396433,24),0,Date::ITALY),DateTime.new0(Rational.new!(9735063,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1951,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9735063,4),0,Date::ITALY),DateTime.new0(Rational.new!(58414073,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1951,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58414073,24),0,Date::ITALY),DateTime.new0(Rational.new!(9736519,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1952,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9736519,4),0,Date::ITALY),DateTime.new0(Rational.new!(58422809,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1952,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58422809,24),0,Date::ITALY),DateTime.new0(Rational.new!(9737975,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1953,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9737975,4),0,Date::ITALY),DateTime.new0(Rational.new!(58431545,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1953,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58431545,24),0,Date::ITALY),DateTime.new0(Rational.new!(9739431,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1954,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9739431,4),0,Date::ITALY),DateTime.new0(Rational.new!(58440281,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1954,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58440281,24),0,Date::ITALY),DateTime.new0(Rational.new!(9742371,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1956,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9742371,4),0,Date::ITALY),DateTime.new0(Rational.new!(58457921,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1956,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58457921,24),0,Date::ITALY),DateTime.new0(Rational.new!(9743827,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1957,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9743827,4),0,Date::ITALY),DateTime.new0(Rational.new!(58466657,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1957,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58466657,24),0,Date::ITALY),DateTime.new0(Rational.new!(9745283,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1958,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9745283,4),0,Date::ITALY),DateTime.new0(Rational.new!(58475393,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1958,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58475393,24),0,Date::ITALY),DateTime.new0(Rational.new!(9746739,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1959,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9746739,4),0,Date::ITALY),DateTime.new0(Rational.new!(58484129,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1959,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58484129,24),0,Date::ITALY),DateTime.new0(Rational.new!(9751135,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1962,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9751135,4),0,Date::ITALY),DateTime.new0(Rational.new!(58511177,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1962,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58511177,24),0,Date::ITALY),DateTime.new0(Rational.new!(9752591,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1963,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9752591,4),0,Date::ITALY),DateTime.new0(Rational.new!(58519913,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1963,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58519913,24),0,Date::ITALY),DateTime.new0(Rational.new!(9754047,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1964,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9754047,4),0,Date::ITALY),DateTime.new0(Rational.new!(58528649,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1964,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58528649,24),0,Date::ITALY),DateTime.new0(Rational.new!(9755503,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1965,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9755503,4),0,Date::ITALY),DateTime.new0(Rational.new!(58537553,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1965,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58537553,24),0,Date::ITALY),DateTime.new0(Rational.new!(9756959,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1966,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9756959,4),0,Date::ITALY),DateTime.new0(Rational.new!(58546289,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1966,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58546289,24),0,Date::ITALY),DateTime.new0(Rational.new!(9758443,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1967,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9758443,4),0,Date::ITALY),DateTime.new0(Rational.new!(58555025,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1967,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58555025,24),0,Date::ITALY),DateTime.new0(Rational.new!(9759899,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1968,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9759899,4),0,Date::ITALY),DateTime.new0(Rational.new!(58563761,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1968,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58563761,24),0,Date::ITALY),DateTime.new0(Rational.new!(9761355,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(1969,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(9761355,4),0,Date::ITALY),DateTime.new0(Rational.new!(58572497,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(1969,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58572497,24),0,Date::ITALY),9957600,-14400,0,:AST)}
+add_period(1970,4) {TimezonePeriod.new(9957600,25678800,-14400,3600,:ADT)}
+add_period(1970,10) {TimezonePeriod.new(25678800,41407200,-14400,0,:AST)}
+add_period(1971,4) {TimezonePeriod.new(41407200,57733200,-14400,3600,:ADT)}
+add_period(1971,10) {TimezonePeriod.new(57733200,73461600,-14400,0,:AST)}
+add_period(1972,4) {TimezonePeriod.new(73461600,89182800,-14400,3600,:ADT)}
+add_period(1972,10) {TimezonePeriod.new(89182800,104911200,-14400,0,:AST)}
+add_period(1973,4) {TimezonePeriod.new(104911200,120632400,-14400,3600,:ADT)}
+add_period(1973,10) {TimezonePeriod.new(120632400,136360800,-14400,0,:AST)}
+add_period(1974,4) {TimezonePeriod.new(136360800,152082000,-14400,3600,:ADT)}
+add_period(1974,10) {TimezonePeriod.new(152082000,167810400,-14400,0,:AST)}
+add_period(1975,4) {TimezonePeriod.new(167810400,183531600,-14400,3600,:ADT)}
+add_period(1975,10) {TimezonePeriod.new(183531600,199260000,-14400,0,:AST)}
+add_period(1976,4) {TimezonePeriod.new(199260000,215586000,-14400,3600,:ADT)}
+add_period(1976,10) {TimezonePeriod.new(215586000,230709600,-14400,0,:AST)}
+add_period(1977,4) {TimezonePeriod.new(230709600,247035600,-14400,3600,:ADT)}
+add_period(1977,10) {TimezonePeriod.new(247035600,262764000,-14400,0,:AST)}
+add_period(1978,4) {TimezonePeriod.new(262764000,278485200,-14400,3600,:ADT)}
+add_period(1978,10) {TimezonePeriod.new(278485200,294213600,-14400,0,:AST)}
+add_period(1979,4) {TimezonePeriod.new(294213600,309934800,-14400,3600,:ADT)}
+add_period(1979,10) {TimezonePeriod.new(309934800,325663200,-14400,0,:AST)}
+add_period(1980,4) {TimezonePeriod.new(325663200,341384400,-14400,3600,:ADT)}
+add_period(1980,10) {TimezonePeriod.new(341384400,357112800,-14400,0,:AST)}
+add_period(1981,4) {TimezonePeriod.new(357112800,372834000,-14400,3600,:ADT)}
+add_period(1981,10) {TimezonePeriod.new(372834000,388562400,-14400,0,:AST)}
+add_period(1982,4) {TimezonePeriod.new(388562400,404888400,-14400,3600,:ADT)}
+add_period(1982,10) {TimezonePeriod.new(404888400,420012000,-14400,0,:AST)}
+add_period(1983,4) {TimezonePeriod.new(420012000,436338000,-14400,3600,:ADT)}
+add_period(1983,10) {TimezonePeriod.new(436338000,452066400,-14400,0,:AST)}
+add_period(1984,4) {TimezonePeriod.new(452066400,467787600,-14400,3600,:ADT)}
+add_period(1984,10) {TimezonePeriod.new(467787600,483516000,-14400,0,:AST)}
+add_period(1985,4) {TimezonePeriod.new(483516000,499237200,-14400,3600,:ADT)}
+add_period(1985,10) {TimezonePeriod.new(499237200,514965600,-14400,0,:AST)}
+add_period(1986,4) {TimezonePeriod.new(514965600,530686800,-14400,3600,:ADT)}
+add_period(1986,10) {TimezonePeriod.new(530686800,544600800,-14400,0,:AST)}
+add_period(1987,4) {TimezonePeriod.new(544600800,562136400,-14400,3600,:ADT)}
+add_period(1987,10) {TimezonePeriod.new(562136400,576050400,-14400,0,:AST)}
+add_period(1988,4) {TimezonePeriod.new(576050400,594190800,-14400,3600,:ADT)}
+add_period(1988,10) {TimezonePeriod.new(594190800,607500000,-14400,0,:AST)}
+add_period(1989,4) {TimezonePeriod.new(607500000,625640400,-14400,3600,:ADT)}
+add_period(1989,10) {TimezonePeriod.new(625640400,638949600,-14400,0,:AST)}
+add_period(1990,4) {TimezonePeriod.new(638949600,657090000,-14400,3600,:ADT)}
+add_period(1990,10) {TimezonePeriod.new(657090000,671004000,-14400,0,:AST)}
+add_period(1991,4) {TimezonePeriod.new(671004000,688539600,-14400,3600,:ADT)}
+add_period(1991,10) {TimezonePeriod.new(688539600,702453600,-14400,0,:AST)}
+add_period(1992,4) {TimezonePeriod.new(702453600,719989200,-14400,3600,:ADT)}
+add_period(1992,10) {TimezonePeriod.new(719989200,733903200,-14400,0,:AST)}
+add_period(1993,4) {TimezonePeriod.new(733903200,752043600,-14400,3600,:ADT)}
+add_period(1993,10) {TimezonePeriod.new(752043600,765352800,-14400,0,:AST)}
+add_period(1994,4) {TimezonePeriod.new(765352800,783493200,-14400,3600,:ADT)}
+add_period(1994,10) {TimezonePeriod.new(783493200,796802400,-14400,0,:AST)}
+add_period(1995,4) {TimezonePeriod.new(796802400,814942800,-14400,3600,:ADT)}
+add_period(1995,10) {TimezonePeriod.new(814942800,828856800,-14400,0,:AST)}
+add_period(1996,4) {TimezonePeriod.new(828856800,846392400,-14400,3600,:ADT)}
+add_period(1996,10) {TimezonePeriod.new(846392400,860306400,-14400,0,:AST)}
+add_period(1997,4) {TimezonePeriod.new(860306400,877842000,-14400,3600,:ADT)}
+add_period(1997,10) {TimezonePeriod.new(877842000,891756000,-14400,0,:AST)}
+add_period(1998,4) {TimezonePeriod.new(891756000,909291600,-14400,3600,:ADT)}
+add_period(1998,10) {TimezonePeriod.new(909291600,923205600,-14400,0,:AST)}
+add_period(1999,4) {TimezonePeriod.new(923205600,941346000,-14400,3600,:ADT)}
+add_period(1999,10) {TimezonePeriod.new(941346000,954655200,-14400,0,:AST)}
+add_period(2000,4) {TimezonePeriod.new(954655200,972795600,-14400,3600,:ADT)}
+add_period(2000,10) {TimezonePeriod.new(972795600,986104800,-14400,0,:AST)}
+add_period(2001,4) {TimezonePeriod.new(986104800,1004245200,-14400,3600,:ADT)}
+add_period(2001,10) {TimezonePeriod.new(1004245200,1018159200,-14400,0,:AST)}
+add_period(2002,4) {TimezonePeriod.new(1018159200,1035694800,-14400,3600,:ADT)}
+add_period(2002,10) {TimezonePeriod.new(1035694800,1049608800,-14400,0,:AST)}
+add_period(2003,4) {TimezonePeriod.new(1049608800,1067144400,-14400,3600,:ADT)}
+add_period(2003,10) {TimezonePeriod.new(1067144400,1081058400,-14400,0,:AST)}
+add_period(2004,4) {TimezonePeriod.new(1081058400,1099198800,-14400,3600,:ADT)}
+add_period(2004,10) {TimezonePeriod.new(1099198800,1112508000,-14400,0,:AST)}
+add_period(2005,4) {TimezonePeriod.new(1112508000,1130648400,-14400,3600,:ADT)}
+add_period(2005,10) {TimezonePeriod.new(1130648400,1143957600,-14400,0,:AST)}
+add_period(2006,4) {TimezonePeriod.new(1143957600,1162098000,-14400,3600,:ADT)}
+add_period(2006,10) {TimezonePeriod.new(1162098000,1173592800,-14400,0,:AST)}
+add_period(2007,3) {TimezonePeriod.new(1173592800,1194152400,-14400,3600,:ADT)}
+add_period(2007,11) {TimezonePeriod.new(1194152400,1205042400,-14400,0,:AST)}
+add_period(2008,3) {TimezonePeriod.new(1205042400,1225602000,-14400,3600,:ADT)}
+add_period(2008,11) {TimezonePeriod.new(1225602000,1236492000,-14400,0,:AST)}
+add_period(2009,3) {TimezonePeriod.new(1236492000,1257051600,-14400,3600,:ADT)}
+add_period(2009,11) {TimezonePeriod.new(1257051600,1268546400,-14400,0,:AST)}
+add_period(2010,3) {TimezonePeriod.new(1268546400,1289106000,-14400,3600,:ADT)}
+add_period(2010,11) {TimezonePeriod.new(1289106000,1299996000,-14400,0,:AST)}
+add_period(2011,3) {TimezonePeriod.new(1299996000,1320555600,-14400,3600,:ADT)}
+add_period(2011,11) {TimezonePeriod.new(1320555600,1331445600,-14400,0,:AST)}
+add_period(2012,3) {TimezonePeriod.new(1331445600,1352005200,-14400,3600,:ADT)}
+add_period(2012,11) {TimezonePeriod.new(1352005200,1362895200,-14400,0,:AST)}
+add_period(2013,3) {TimezonePeriod.new(1362895200,1383454800,-14400,3600,:ADT)}
+add_period(2013,11) {TimezonePeriod.new(1383454800,1394344800,-14400,0,:AST)}
+add_period(2014,3) {TimezonePeriod.new(1394344800,1414904400,-14400,3600,:ADT)}
+add_period(2014,11) {TimezonePeriod.new(1414904400,1425794400,-14400,0,:AST)}
+add_period(2015,3) {TimezonePeriod.new(1425794400,1446354000,-14400,3600,:ADT)}
+add_period(2015,11) {TimezonePeriod.new(1446354000,1457848800,-14400,0,:AST)}
+add_period(2016,3) {TimezonePeriod.new(1457848800,1478408400,-14400,3600,:ADT)}
+add_period(2016,11) {TimezonePeriod.new(1478408400,1489298400,-14400,0,:AST)}
+add_period(2017,3) {TimezonePeriod.new(1489298400,1509858000,-14400,3600,:ADT)}
+add_period(2017,11) {TimezonePeriod.new(1509858000,1520748000,-14400,0,:AST)}
+add_period(2018,3) {TimezonePeriod.new(1520748000,1541307600,-14400,3600,:ADT)}
+add_period(2018,11) {TimezonePeriod.new(1541307600,1552197600,-14400,0,:AST)}
+add_period(2019,3) {TimezonePeriod.new(1552197600,1572757200,-14400,3600,:ADT)}
+add_period(2019,11) {TimezonePeriod.new(1572757200,1583647200,-14400,0,:AST)}
+add_period(2020,3) {TimezonePeriod.new(1583647200,1604206800,-14400,3600,:ADT)}
+add_period(2020,11) {TimezonePeriod.new(1604206800,1615701600,-14400,0,:AST)}
+add_period(2021,3) {TimezonePeriod.new(1615701600,1636261200,-14400,3600,:ADT)}
+add_period(2021,11) {TimezonePeriod.new(1636261200,1647151200,-14400,0,:AST)}
+add_period(2022,3) {TimezonePeriod.new(1647151200,1667710800,-14400,3600,:ADT)}
+add_period(2022,11) {TimezonePeriod.new(1667710800,1678600800,-14400,0,:AST)}
+add_period(2023,3) {TimezonePeriod.new(1678600800,1699160400,-14400,3600,:ADT)}
+add_period(2023,11) {TimezonePeriod.new(1699160400,1710050400,-14400,0,:AST)}
+add_period(2024,3) {TimezonePeriod.new(1710050400,1730610000,-14400,3600,:ADT)}
+add_period(2024,11) {TimezonePeriod.new(1730610000,1741500000,-14400,0,:AST)}
+add_period(2025,3) {TimezonePeriod.new(1741500000,1762059600,-14400,3600,:ADT)}
+add_period(2025,11) {TimezonePeriod.new(1762059600,1772949600,-14400,0,:AST)}
+add_period(2026,3) {TimezonePeriod.new(1772949600,1793509200,-14400,3600,:ADT)}
+add_period(2026,11) {TimezonePeriod.new(1793509200,1805004000,-14400,0,:AST)}
+add_period(2027,3) {TimezonePeriod.new(1805004000,1825563600,-14400,3600,:ADT)}
+add_period(2027,11) {TimezonePeriod.new(1825563600,1836453600,-14400,0,:AST)}
+add_period(2028,3) {TimezonePeriod.new(1836453600,1857013200,-14400,3600,:ADT)}
+add_period(2028,11) {TimezonePeriod.new(1857013200,1867903200,-14400,0,:AST)}
+add_period(2029,3) {TimezonePeriod.new(1867903200,1888462800,-14400,3600,:ADT)}
+add_period(2029,11) {TimezonePeriod.new(1888462800,1899352800,-14400,0,:AST)}
+add_period(2030,3) {TimezonePeriod.new(1899352800,1919912400,-14400,3600,:ADT)}
+add_period(2030,11) {TimezonePeriod.new(1919912400,1930802400,-14400,0,:AST)}
+add_period(2031,3) {TimezonePeriod.new(1930802400,1951362000,-14400,3600,:ADT)}
+add_period(2031,11) {TimezonePeriod.new(1951362000,1962856800,-14400,0,:AST)}
+add_period(2032,3) {TimezonePeriod.new(1962856800,1983416400,-14400,3600,:ADT)}
+add_period(2032,11) {TimezonePeriod.new(1983416400,1994306400,-14400,0,:AST)}
+add_period(2033,3) {TimezonePeriod.new(1994306400,2014866000,-14400,3600,:ADT)}
+add_period(2033,11) {TimezonePeriod.new(2014866000,2025756000,-14400,0,:AST)}
+add_period(2034,3) {TimezonePeriod.new(2025756000,2046315600,-14400,3600,:ADT)}
+add_period(2034,11) {TimezonePeriod.new(2046315600,2057205600,-14400,0,:AST)}
+add_period(2035,3) {TimezonePeriod.new(2057205600,2077765200,-14400,3600,:ADT)}
+add_period(2035,11) {TimezonePeriod.new(2077765200,2088655200,-14400,0,:AST)}
+add_period(2036,3) {TimezonePeriod.new(2088655200,2109214800,-14400,3600,:ADT)}
+add_period(2036,11) {TimezonePeriod.new(2109214800,2120104800,-14400,0,:AST)}
+add_period(2037,3) {TimezonePeriod.new(2120104800,2140664400,-14400,3600,:ADT)}
+add_period(2037,11) {TimezonePeriod.new(2140664400,DateTime.new0(Rational.new!(9861987,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(2038,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9861987,4),0,Date::ITALY),DateTime.new0(Rational.new!(59177633,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(2038,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59177633,24),0,Date::ITALY),DateTime.new0(Rational.new!(9863443,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(2039,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9863443,4),0,Date::ITALY),DateTime.new0(Rational.new!(59186369,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(2039,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59186369,24),0,Date::ITALY),DateTime.new0(Rational.new!(9864899,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(2040,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9864899,4),0,Date::ITALY),DateTime.new0(Rational.new!(59195105,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(2040,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59195105,24),0,Date::ITALY),DateTime.new0(Rational.new!(9866355,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(2041,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9866355,4),0,Date::ITALY),DateTime.new0(Rational.new!(59203841,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(2041,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59203841,24),0,Date::ITALY),DateTime.new0(Rational.new!(9867811,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(2042,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9867811,4),0,Date::ITALY),DateTime.new0(Rational.new!(59212577,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(2042,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59212577,24),0,Date::ITALY),DateTime.new0(Rational.new!(9869267,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(2043,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9869267,4),0,Date::ITALY),DateTime.new0(Rational.new!(59221313,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(2043,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59221313,24),0,Date::ITALY),DateTime.new0(Rational.new!(9870751,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(2044,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9870751,4),0,Date::ITALY),DateTime.new0(Rational.new!(59230217,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(2044,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59230217,24),0,Date::ITALY),DateTime.new0(Rational.new!(9872207,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(2045,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9872207,4),0,Date::ITALY),DateTime.new0(Rational.new!(59238953,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(2045,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59238953,24),0,Date::ITALY),DateTime.new0(Rational.new!(9873663,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(2046,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9873663,4),0,Date::ITALY),DateTime.new0(Rational.new!(59247689,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(2046,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59247689,24),0,Date::ITALY),DateTime.new0(Rational.new!(9875119,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(2047,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9875119,4),0,Date::ITALY),DateTime.new0(Rational.new!(59256425,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(2047,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59256425,24),0,Date::ITALY),DateTime.new0(Rational.new!(9876575,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(2048,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9876575,4),0,Date::ITALY),DateTime.new0(Rational.new!(59265161,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(2048,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59265161,24),0,Date::ITALY),DateTime.new0(Rational.new!(9878059,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(2049,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9878059,4),0,Date::ITALY),DateTime.new0(Rational.new!(59274065,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(2049,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59274065,24),0,Date::ITALY),DateTime.new0(Rational.new!(9879515,4),0,Date::ITALY),-14400,0,:AST)}
+add_period(2050,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(9879515,4),0,Date::ITALY),DateTime.new0(Rational.new!(59282801,24),0,Date::ITALY),-14400,3600,:ADT)}
+add_period(2050,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(59282801,24),0,Date::ITALY),nil,-14400,0,:AST)}
+end
+end
+end
+end