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

#
# Generated from debian/tzdata/australasia.  Olson data version 2019c
#
# Do not edit this file directly.
#
package DateTime::TimeZone::Pacific::Norfolk;

use strict;
use warnings;
use namespace::autoclean;

our $VERSION = '2.09';

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

@DateTime::TimeZone::Pacific::Norfolk::ISA = ( 'Class::Singleton', 'DateTime::TimeZone' );

my $spans =
[
    [
DateTime::TimeZone::NEG_INFINITY, #    utc_start
59958190088, #      utc_end 1900-12-31 12:48:08 (Mon)
DateTime::TimeZone::NEG_INFINITY, #  local_start
59958230400, #    local_end 1901-01-01 00:00:00 (Tue)
40312,
0,
'LMT',
    ],
    [
59958190088, #    utc_start 1900-12-31 12:48:08 (Mon)
61536026880, #      utc_end 1950-12-31 12:48:00 (Sun)
59958230408, #  local_start 1901-01-01 00:00:08 (Tue)
61536067200, #    local_end 1951-01-01 00:00:00 (Mon)
40320,
0,
'+1112',
    ],
    [
61536026880, #    utc_start 1950-12-31 12:48:00 (Sun)
62287713000, #      utc_end 1974-10-26 14:30:00 (Sat)
61536068280, #  local_start 1951-01-01 00:18:00 (Mon)
62287754400, #    local_end 1974-10-27 02:00:00 (Sun)
41400,
0,
'+1130',
    ],
    [
62287713000, #    utc_start 1974-10-26 14:30:00 (Sat)
62298599400, #      utc_end 1975-03-01 14:30:00 (Sat)
62287758000, #  local_start 1974-10-27 03:00:00 (Sun)
62298644400, #    local_end 1975-03-02 03:00:00 (Sun)
45000,
1,
'+1230',
    ],
    [
62298599400, #    utc_start 1975-03-01 14:30:00 (Sat)
63579565800, #      utc_end 2015-10-03 14:30:00 (Sat)
62298640800, #  local_start 1975-03-02 02:00:00 (Sun)
63579607200, #    local_end 2015-10-04 02:00:00 (Sun)
41400,
0,
'+1130',
    ],
    [
63579565800, #    utc_start 2015-10-03 14:30:00 (Sat)
63697582800, #      utc_end 2019-06-30 13:00:00 (Sun)
63579605400, #  local_start 2015-10-04 01:30:00 (Sun)
63697622400, #    local_end 2019-07-01 00:00:00 (Mon)
39600,
0,
'+11',
    ],
    [
63697582800, #    utc_start 2019-06-30 13:00:00 (Sun)
63705970800, #      utc_end 2019-10-05 15:00:00 (Sat)
63697622400, #  local_start 2019-07-01 00:00:00 (Mon)
63706010400, #    local_end 2019-10-06 02:00:00 (Sun)
39600,
0,
'+11',
    ],
    [
63705970800, #    utc_start 2019-10-05 15:00:00 (Sat)
63721695600, #      utc_end 2020-04-04 15:00:00 (Sat)
63706014000, #  local_start 2019-10-06 03:00:00 (Sun)
63721738800, #    local_end 2020-04-05 03:00:00 (Sun)
43200,
1,
'+12',
    ],
    [
63721695600, #    utc_start 2020-04-04 15:00:00 (Sat)
63737420400, #      utc_end 2020-10-03 15:00:00 (Sat)
63721735200, #  local_start 2020-04-05 02:00:00 (Sun)
63737460000, #    local_end 2020-10-04 02:00:00 (Sun)
39600,
0,
'+11',
    ],
    [
63737420400, #    utc_start 2020-10-03 15:00:00 (Sat)
63753145200, #      utc_end 2021-04-03 15:00:00 (Sat)
63737463600, #  local_start 2020-10-04 03:00:00 (Sun)
63753188400, #    local_end 2021-04-04 03:00:00 (Sun)
43200,
1,
'+12',
    ],
    [
63753145200, #    utc_start 2021-04-03 15:00:00 (Sat)
63768870000, #      utc_end 2021-10-02 15:00:00 (Sat)
63753184800, #  local_start 2021-04-04 02:00:00 (Sun)
63768909600, #    local_end 2021-10-03 02:00:00 (Sun)
39600,
0,
'+11',
    ],
    [
63768870000, #    utc_start 2021-10-02 15:00:00 (Sat)
63784594800, #      utc_end 2022-04-02 15:00:00 (Sat)
63768913200, #  local_start 2021-10-03 03:00:00 (Sun)
63784638000, #    local_end 2022-04-03 03:00:00 (Sun)
43200,
1,
'+12',
    ],
    [
63784594800, #    utc_start 2022-04-02 15:00:00 (Sat)
63800319600, #      utc_end 2022-10-01 15:00:00 (Sat)
63784634400, #  local_start 2022-04-03 02:00:00 (Sun)
63800359200, #    local_end 2022-10-02 02:00:00 (Sun)
39600,
0,
'+11',
    ],
    [
63800319600, #    utc_start 2022-10-01 15:00:00 (Sat)
63816044400, #      utc_end 2023-04-01 15:00:00 (Sat)
63800362800, #  local_start 2022-10-02 03:00:00 (Sun)
63816087600, #    local_end 2023-04-02 03:00:00 (Sun)
43200,
1,
'+12',
    ],
    [
63816044400, #    utc_start 2023-04-01 15:00:00 (Sat)
63831769200, #      utc_end 2023-09-30 15:00:00 (Sat)
63816084000, #  local_start 2023-04-02 02:00:00 (Sun)
63831808800, #    local_end 2023-10-01 02:00:00 (Sun)
39600,
0,
'+11',
    ],
    [
63831769200, #    utc_start 2023-09-30 15:00:00 (Sat)
63848098800, #      utc_end 2024-04-06 15:00:00 (Sat)
63831812400, #  local_start 2023-10-01 03:00:00 (Sun)
63848142000, #    local_end 2024-04-07 03:00:00 (Sun)
43200,
1,
'+12',
    ],
    [
63848098800, #    utc_start 2024-04-06 15:00:00 (Sat)
63863823600, #      utc_end 2024-10-05 15:00:00 (Sat)
63848138400, #  local_start 2024-04-07 02:00:00 (Sun)
63863863200, #    local_end 2024-10-06 02:00:00 (Sun)
39600,
0,
'+11',
    ],
    [
63863823600, #    utc_start 2024-10-05 15:00:00 (Sat)
63879548400, #      utc_end 2025-04-05 15:00:00 (Sat)
63863866800, #  local_start 2024-10-06 03:00:00 (Sun)
63879591600, #    local_end 2025-04-06 03:00:00 (Sun)
43200,
1,
'+12',
    ],
    [
63879548400, #    utc_start 2025-04-05 15:00:00 (Sat)
63895273200, #      utc_end 2025-10-04 15:00:00 (Sat)
63879588000, #  local_start 2025-04-06 02:00:00 (Sun)
63895312800, #    local_end 2025-10-05 02:00:00 (Sun)
39600,
0,
'+11',
    ],
    [
63895273200, #    utc_start 2025-10-04 15:00:00 (Sat)
63910998000, #      utc_end 2026-04-04 15:00:00 (Sat)
63895316400, #  local_start 2025-10-05 03:00:00 (Sun)
63911041200, #    local_end 2026-04-05 03:00:00 (Sun)
43200,
1,
'+12',
    ],
    [
63910998000, #    utc_start 2026-04-04 15:00:00 (Sat)
63926722800, #      utc_end 2026-10-03 15:00:00 (Sat)
63911037600, #  local_start 2026-04-05 02:00:00 (Sun)
63926762400, #    local_end 2026-10-04 02:00:00 (Sun)
39600,
0,
'+11',
    ],
    [
63926722800, #    utc_start 2026-10-03 15:00:00 (Sat)
63942447600, #      utc_end 2027-04-03 15:00:00 (Sat)
63926766000, #  local_start 2026-10-04 03:00:00 (Sun)
63942490800, #    local_end 2027-04-04 03:00:00 (Sun)
43200,
1,
'+12',
    ],
    [
63942447600, #    utc_start 2027-04-03 15:00:00 (Sat)
63958172400, #      utc_end 2027-10-02 15:00:00 (Sat)
63942487200, #  local_start 2027-04-04 02:00:00 (Sun)
63958212000, #    local_end 2027-10-03 02:00:00 (Sun)
39600,
0,
'+11',
    ],
    [
63958172400, #    utc_start 2027-10-02 15:00:00 (Sat)
63973897200, #      utc_end 2028-04-01 15:00:00 (Sat)
63958215600, #  local_start 2027-10-03 03:00:00 (Sun)
63973940400, #    local_end 2028-04-02 03:00:00 (Sun)
43200,
1,
'+12',
    ],
    [
63973897200, #    utc_start 2028-04-01 15:00:00 (Sat)
63989622000, #      utc_end 2028-09-30 15:00:00 (Sat)
63973936800, #  local_start 2028-04-02 02:00:00 (Sun)
63989661600, #    local_end 2028-10-01 02:00:00 (Sun)
39600,
0,
'+11',
    ],
    [
63989622000, #    utc_start 2028-09-30 15:00:00 (Sat)
64005346800, #      utc_end 2029-03-31 15:00:00 (Sat)
63989665200, #  local_start 2028-10-01 03:00:00 (Sun)
64005390000, #    local_end 2029-04-01 03:00:00 (Sun)
43200,
1,
'+12',
    ],
    [
64005346800, #    utc_start 2029-03-31 15:00:00 (Sat)
64021676400, #      utc_end 2029-10-06 15:00:00 (Sat)
64005386400, #  local_start 2029-04-01 02:00:00 (Sun)
64021716000, #    local_end 2029-10-07 02:00:00 (Sun)
39600,
0,
'+11',
    ],
    [
64021676400, #    utc_start 2029-10-06 15:00:00 (Sat)
64037401200, #      utc_end 2030-04-06 15:00:00 (Sat)
64021719600, #  local_start 2029-10-07 03:00:00 (Sun)
64037444400, #    local_end 2030-04-07 03:00:00 (Sun)
43200,
1,
'+12',
    ],
    [
64037401200, #    utc_start 2030-04-06 15:00:00 (Sat)
64053126000, #      utc_end 2030-10-05 15:00:00 (Sat)
64037440800, #  local_start 2030-04-07 02:00:00 (Sun)
64053165600, #    local_end 2030-10-06 02:00:00 (Sun)
39600,
0,
'+11',
    ],
];

sub olson_version {'2019c'}

sub has_dst_changes {13}

sub _max_year {2029}

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

sub _last_offset { 39600 }

my $last_observance = bless( {
  'format' => '+11/+12',
  'gmtoff' => '11:00',
  'local_start_datetime' => bless( {
    'formatter' => undef,
    'local_rd_days' => 737241,
    'local_rd_secs' => 0,
    'offset_modifier' => 0,
    'rd_nanosecs' => 0,
    'tz' => bless( {
      'name' => 'floating',
      'offset' => 0
    }, 'DateTime::TimeZone::Floating' ),
    'utc_rd_days' => 737241,
    'utc_rd_secs' => 0,
    'utc_year' => 2020
  }, 'DateTime' ),
  'offset_from_std' => 0,
  'offset_from_utc' => 39600,
  'until' => [],
  'utc_start_datetime' => bless( {
    'formatter' => undef,
    'local_rd_days' => 737240,
    'local_rd_secs' => 46800,
    'offset_modifier' => 0,
    'rd_nanosecs' => 0,
    'tz' => bless( {
      'name' => 'floating',
      'offset' => 0
    }, 'DateTime::TimeZone::Floating' ),
    'utc_rd_days' => 737240,
    'utc_rd_secs' => 46800,
    'utc_year' => 2020
  }, 'DateTime' )
}, 'DateTime::TimeZone::OlsonDB::Observance' )
;
sub _last_observance { $last_observance }

my $rules = [
  bless( {
    'at' => '2:00s',
    'from' => '2008',
    'in' => 'Oct',
    'letter' => 'D',
    'name' => 'AN',
    'offset_from_std' => 3600,
    'on' => 'Sun>=1',
    'save' => '1:00',
    'to' => 'max'
  }, 'DateTime::TimeZone::OlsonDB::Rule' ),
  bless( {
    'at' => '2:00s',
    'from' => '2008',
    'in' => 'Apr',
    'letter' => 'S',
    'name' => 'AN',
    'offset_from_std' => 0,
    'on' => 'Sun>=1',
    'save' => '0',
    'to' => 'max'
  }, 'DateTime::TimeZone::OlsonDB::Rule' )
]
;
sub _rules { $rules }


1;

