diff options
Diffstat (limited to 'library')
131 files changed, 8464 insertions, 8149 deletions
diff --git a/library/auto.tcl b/library/auto.tcl index f7cf5f0..42ffa72 100644 --- a/library/auto.tcl +++ b/library/auto.tcl @@ -1,48 +1,47 @@ # auto.tcl -- # -# utility procs formerly in init.tcl dealing with auto execution -# of commands and can be auto loaded themselves. +# utility procs formerly in init.tcl dealing with auto execution of commands +# and can be auto loaded themselves. +# +# RCS: @(#) $Id: auto.tcl,v 1.30 2009/07/26 21:48:45 dkf Exp $ # # Copyright (c) 1991-1993 The Regents of the University of California. # Copyright (c) 1994-1998 Sun Microsystems, Inc. # -# See the file "license.terms" for information on usage and redistribution -# of this file, and for a DISCLAIMER OF ALL WARRANTIES. +# See the file "license.terms" for information on usage and redistribution of +# this file, and for a DISCLAIMER OF ALL WARRANTIES. # # auto_reset -- # -# Destroy all cached information for auto-loading and auto-execution, -# so that the information gets recomputed the next time it's needed. -# Also delete any commands that are listed in the auto-load index. +# Destroy all cached information for auto-loading and auto-execution, so that +# the information gets recomputed the next time it's needed. Also delete any +# commands that are listed in the auto-load index. # # Arguments: # None. proc auto_reset {} { - global auto_execs auto_index auto_path - if {[array exists auto_index]} { - foreach cmdName [array names auto_index] { + if {[array exists ::auto_index]} { + foreach cmdName [array names ::auto_index] { set fqcn [namespace which $cmdName] if {$fqcn eq ""} {continue} rename $fqcn {} } } - unset -nocomplain auto_execs auto_index ::tcl::auto_oldpath - if {[catch {llength $auto_path}]} { - set auto_path [list [info library]] - } else { - if {[info library] ni $auto_path} { - lappend auto_path [info library] - } + unset -nocomplain ::auto_execs ::auto_index ::tcl::auto_oldpath + if {[catch {llength $::auto_path}]} { + set ::auto_path [list [info library]] + } elseif {[info library] ni $::auto_path} { + lappend ::auto_path [info library] } } # tcl_findLibrary -- # # This is a utility for extensions that searches for a library directory -# using a canonical searching algorithm. A side effect is to source -# the initialization script and set a global library variable. +# using a canonical searching algorithm. A side effect is to source the +# initialization script and set a global library variable. # # Arguments: # basename Prefix of the directory name, (e.g., "tk") @@ -54,7 +53,7 @@ proc auto_reset {} { proc tcl_findLibrary {basename version patch initScript enVarName varName} { upvar #0 $varName the_library - global auto_path env tcl_platform + global env set dirs {} set errors {} @@ -64,33 +63,32 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} { if {[info exists the_library] && $the_library ne ""} { lappend dirs $the_library } else { - # Do the canonical search - # 1. From an environment variable, if it exists. - # Placing this first gives the end-user ultimate control - # to work-around any bugs, or to customize. + # 1. From an environment variable, if it exists. Placing this first + # gives the end-user ultimate control to work-around any bugs, or + # to customize. if {[info exists env($enVarName)]} { lappend dirs $env($enVarName) } - # 2. In the package script directory registered within - # the configuration of the package itself. + # 2. In the package script directory registered within the + # configuration of the package itself. - if {[catch { - ::${basename}::pkgconfig get scriptdir,runtime - } value] == 0} { - lappend dirs $value + catch { + lappend dirs [::${basename}::pkgconfig get scriptdir,runtime] } # 3. Relative to auto_path directories. This checks relative to the # Tcl library as well as allowing loading of libraries added to the # auto_path that is not relative to the core library or binary paths. - foreach d $auto_path { + foreach d $::auto_path { lappend dirs [file join $d $basename$version] - if {$tcl_platform(platform) eq "unix" - && $tcl_platform(os) eq "Darwin"} { + if { + $::tcl_platform(platform) eq "unix" + && $::tcl_platform(os) eq "Darwin" + } then { # 4. On MacOSX, check the Resources/Scripts subdir too lappend dirs [file join $d $basename$version Resources Scripts] } @@ -101,8 +99,8 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} { # ../../lib/foo1.0 (From bin/arch directory in install hierarchy) # ../library (From unix directory in build hierarchy) # - # Remaining locations are out of date (when relevant, they ought - # to be covered by the $::auto_path seach above) and disabled. + # Remaining locations are out of date (when relevant, they ought to be + # covered by the $::auto_path seach above) and disabled. # # ../../library (From unix/arch directory in build hierarchy) # ../../foo1.0.1/library @@ -125,10 +123,10 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} { # uniquify $dirs in order array set seen {} foreach i $dirs { - # Take note that the [file normalize] below has been noted to - # cause difficulties for the freewrap utility. See Bug 1072136. - # Until freewrap resolves the matter, one might work around the - # problem by disabling that branch. + # Take note that the [file normalize] below has been noted to cause + # difficulties for the freewrap utility. See Bug 1072136. Until + # freewrap resolves the matter, one might work around the problem by + # disabling that branch. if {[interp issafe]} { set norm $i } else { @@ -143,16 +141,15 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} { set the_library $i set file [file join $i $initScript] - # source everything when in a safe interpreter because - # we have a source command, but no file exists command + # source everything when in a safe interpreter because we have a + # source command, but no file exists command if {[interp issafe] || [file exists $file]} { if {![catch {uplevel #0 [list source $file]} msg opts]} { return - } else { - append errors "$file: $msg\n" - append errors [dict get $opts -errorinfo]\n } + append errors "$file: $msg\n" + append errors [dict get $opts -errorinfo]\n } } unset -nocomplain the_library @@ -167,28 +164,28 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} { # ---------------------------------------------------------------------- # auto_mkindex # ---------------------------------------------------------------------- -# The following procedures are used to generate the tclIndex file -# from Tcl source files. They use a special safe interpreter to -# parse Tcl source files, writing out index entries as "proc" -# commands are encountered. This implementation won't work in a -# safe interpreter, since a safe interpreter can't create the -# special parser and mess with its commands. +# The following procedures are used to generate the tclIndex file from Tcl +# source files. They use a special safe interpreter to parse Tcl source +# files, writing out index entries as "proc" commands are encountered. This +# implementation won't work in a safe interpreter, since a safe interpreter +# can't create the special parser and mess with its commands. if {[interp issafe]} { return ;# Stop sourcing the file here } # auto_mkindex -- -# Regenerate a tclIndex file from Tcl source files. Takes as argument -# the name of the directory in which the tclIndex file is to be placed, -# followed by any number of glob patterns to use in that directory to -# locate all of the relevant files. +# Regenerate a tclIndex file from Tcl source files. Takes as argument the +# name of the directory in which the tclIndex file is to be placed, followed +# by any number of glob patterns to use in that directory to locate all of the +# relevant files. # # Arguments: # dir - Name of the directory in which to create an index. -# args - Any number of additional arguments giving the -# names of files within dir. If no additional -# are given auto_mkindex will look for *.tcl. + +# args - Any number of additional arguments giving the names of files +# within dir. If no additional are given auto_mkindex will look +# for *.tcl. proc auto_mkindex {dir args} { if {[interp issafe]} { @@ -197,7 +194,6 @@ proc auto_mkindex {dir args} { set oldDir [pwd] cd $dir - set dir [pwd] append index "# Tcl autoload index file, version 2.0\n" append index "# This file is generated by the \"auto_mkindex\" command\n" @@ -212,12 +208,12 @@ proc auto_mkindex {dir args} { auto_mkindex_parser::init foreach file [glob -- {*}$args] { - if {[catch {auto_mkindex_parser::mkindex $file} msg opts] == 0} { - append index $msg - } else { - cd $oldDir + try { + append index [auto_mkindex_parser::mkindex $file] + } on error {msg opts} { + cd $oldDir return -options $opts $msg - } + } } auto_mkindex_parser::cleanup @@ -227,8 +223,8 @@ proc auto_mkindex {dir args} { cd $oldDir } -# Original version of auto_mkindex that just searches the source -# code for "proc" at the beginning of the line. +# Original version of auto_mkindex that just searches the source code for +# "proc" at the beginning of the line. proc auto_mkindex_old {dir args} { set oldDir [pwd] @@ -279,9 +275,9 @@ proc auto_mkindex_old {dir args} { } # Create a safe interpreter that can be used to parse Tcl source files -# generate a tclIndex file for autoloading. This interp contains -# commands for things that need index entries. Each time a command -# is executed, it writes an entry out to the index file. +# generate a tclIndex file for autoloading. This interp contains commands for +# things that need index entries. Each time a command is executed, it writes +# an entry out to the index file. namespace eval auto_mkindex_parser { variable parser "" ;# parser used to build index @@ -333,10 +329,10 @@ namespace eval auto_mkindex_parser { # auto_mkindex_parser::mkindex -- # -# Used by the "auto_mkindex" command to create a "tclIndex" file for -# the given Tcl source file. Executes the commands in the file, and -# handles things like the "proc" command by adding an entry for the -# index file. Returns a string that represents the index file. +# Used by the "auto_mkindex" command to create a "tclIndex" file for the given +# Tcl source file. Executes the commands in the file, and handles things like +# the "proc" command by adding an entry for the index file. Returns a string +# that represents the index file. # # Arguments: # file Name of Tcl source file to be indexed. @@ -354,14 +350,13 @@ proc auto_mkindex_parser::mkindex {file} { set contents [read $fid] close $fid - # There is one problem with sourcing files into the safe - # interpreter: references like "$x" will fail since code is not - # really being executed and variables do not really exist. - # To avoid this, we replace all $ with \0 (literally, the null char) - # later, when getting proc names we will have to reverse this replacement, - # in case there were any $ in the proc name. This will cause a problem - # if somebody actually tries to have a \0 in their proc name. Too bad - # for them. + # There is one problem with sourcing files into the safe interpreter: + # references like "$x" will fail since code is not really being executed + # and variables do not really exist. To avoid this, we replace all $ with + # \0 (literally, the null char) later, when getting proc names we will + # have to reverse this replacement, in case there were any $ in the proc + # name. This will cause a problem if somebody actually tries to have a \0 + # in their proc name. Too bad for them. set contents [string map [list \$ \0] $contents] set index "" @@ -378,10 +373,10 @@ proc auto_mkindex_parser::mkindex {file} { # auto_mkindex_parser::hook command # -# Registers a Tcl command to evaluate when initializing the -# slave interpreter used by the mkindex parser. -# The command is evaluated in the master interpreter, and can -# use the variable auto_mkindex_parser::parser to get to the slave +# Registers a Tcl command to evaluate when initializing the slave interpreter +# used by the mkindex parser. The command is evaluated in the master +# interpreter, and can use the variable auto_mkindex_parser::parser to get to +# the slave proc auto_mkindex_parser::hook {cmd} { variable initCommands @@ -391,30 +386,30 @@ proc auto_mkindex_parser::hook {cmd} { # auto_mkindex_parser::slavehook command # -# Registers a Tcl command to evaluate when initializing the -# slave interpreter used by the mkindex parser. -# The command is evaluated in the slave interpreter. +# Registers a Tcl command to evaluate when initializing the slave interpreter +# used by the mkindex parser. The command is evaluated in the slave +# interpreter. proc auto_mkindex_parser::slavehook {cmd} { variable initCommands - # The $parser variable is defined to be the name of the - # slave interpreter when this command is used later. + # The $parser variable is defined to be the name of the slave interpreter + # when this command is used later. lappend initCommands "\$parser eval [list $cmd]" } # auto_mkindex_parser::command -- # -# Registers a new command with the "auto_mkindex_parser" interpreter -# that parses Tcl files. These commands are fake versions of things -# like the "proc" command. When you execute them, they simply write -# out an entry to a "tclIndex" file for auto-loading. +# Registers a new command with the "auto_mkindex_parser" interpreter that +# parses Tcl files. These commands are fake versions of things like the +# "proc" command. When you execute them, they simply write out an entry to a +# "tclIndex" file for auto-loading. # -# This procedure allows extensions to register their own commands -# with the auto_mkindex facility. For example, a package like -# [incr Tcl] might register a "class" command so that class definitions -# could be added to a "tclIndex" file for auto-loading. +# This procedure allows extensions to register their own commands with the +# auto_mkindex facility. For example, a package like [incr Tcl] might +# register a "class" command so that class definitions could be added to a +# "tclIndex" file for auto-loading. # # Arguments: # name Name of command recognized in Tcl files. @@ -427,8 +422,8 @@ proc auto_mkindex_parser::command {name arglist body} { # auto_mkindex_parser::commandInit -- # -# This does the actual work set up by auto_mkindex_parser::command -# This is called when the interpreter used by the parser is created. +# This does the actual work set up by auto_mkindex_parser::command. This is +# called when the interpreter used by the parser is created. # # Arguments: # name Name of command recognized in Tcl files. @@ -447,25 +442,23 @@ proc auto_mkindex_parser::commandInit {name arglist body} { } proc $fakeName $arglist $body - # YUK! Tcl won't let us alias fully qualified command names, - # so we can't handle names like "::itcl::class". Instead, - # we have to build procs with the fully qualified names, and - # have the procs point to the aliases. + # YUK! Tcl won't let us alias fully qualified command names, so we can't + # handle names like "::itcl::class". Instead, we have to build procs with + # the fully qualified names, and have the procs point to the aliases. if {[string match *::* $name]} { set exportCmd [list _%@namespace export [namespace tail $name]] $parser eval [list _%@namespace eval $ns $exportCmd] - # The following proc definition does not work if you - # want to tolerate space or something else diabolical - # in the procedure name, (i.e., space in $alias) - # The following does not work: + # The following proc definition does not work if you want to tolerate + # space or something else diabolical in the procedure name, (i.e., + # space in $alias). The following does not work: # "_%@eval {$alias} \$args" - # because $alias gets concat'ed to $args. - # The following does not work because $cmd is somehow undefined + # because $alias gets concat'ed to $args. The following does not work + # because $cmd is somehow undefined # "set cmd {$alias} \; _%@eval {\$cmd} \$args" - # A gold star to someone that can make test - # autoMkindex-3.3 work properly + # A gold star to someone that can make test autoMkindex-3.3 work + # properly set alias [namespace tail $fakeName] $parser invokehidden proc $name {args} "_%@eval {$alias} \$args" @@ -477,15 +470,14 @@ proc auto_mkindex_parser::commandInit {name arglist body} { } # auto_mkindex_parser::fullname -- -# Used by commands like "proc" within the auto_mkindex parser. -# Returns the qualified namespace name for the "name" argument. -# If the "name" does not start with "::", elements are added from -# the current namespace stack to produce a qualified name. Then, -# the name is examined to see whether or not it should really be -# qualified. If the name has more than the leading "::", it is -# returned as a fully qualified name. Otherwise, it is returned -# as a simple name. That way, the Tcl autoloader will recognize -# it properly. +# +# Used by commands like "proc" within the auto_mkindex parser. Returns the +# qualified namespace name for the "name" argument. If the "name" does not +# start with "::", elements are added from the current namespace stack to +# produce a qualified name. Then, the name is examined to see whether or not +# it should really be qualified. If the name has more than the leading "::", +# it is returned as a fully qualified name. Otherwise, it is returned as a +# simple name. That way, the Tcl autoloader will recognize it properly. # # Arguments: # name - Name that is being added to index. @@ -508,8 +500,8 @@ proc auto_mkindex_parser::fullname {name} { set name "::$name" } - # Earlier, mkindex replaced all $'s with \0. Now, we have to reverse - # that replacement. + # Earlier, mkindex replaced all $'s with \0. Now, we have to reverse that + # replacement. return [string map [list \0 \$] $name] } @@ -517,8 +509,8 @@ if {[llength $::auto_mkindex_parser::initCommands]} { return } -# Register all of the procedures for the auto_mkindex parser that -# will build the "tclIndex" file. +# Register all of the procedures for the auto_mkindex parser that will build +# the "tclIndex" file. # AUTO MKINDEX: proc name arglist body # Adds an entry to the auto index list for the given procedure name. @@ -535,17 +527,20 @@ auto_mkindex_parser::command proc {name args} { [file split $scriptFile]] "\n" } -# Conditionally add support for Tcl byte code files. There are some -# tricky details here. First, we need to get the tbcload library -# initialized in the current interpreter. We cannot load tbcload into the -# slave until we have done so because it needs access to the tcl_patchLevel -# variable. Second, because the package index file may defer loading the -# library until we invoke a command, we need to explicitly invoke auto_load -# to force it to be loaded. This should be a noop if the package has -# already been loaded +# Conditionally add support for Tcl byte code files. There are some tricky +# details here. First, we need to get the tbcload library initialized in the +# current interpreter. We cannot load tbcload into the slave until we have +# done so because it needs access to the tcl_patchLevel variable. Second, +# because the package index file may defer loading the library until we invoke +# a command, we need to explicitly invoke auto_load to force it to be loaded. +# This should be a noop if the package has already been loaded auto_mkindex_parser::hook { - if {![catch {package require tbcload}]} { + try { + package require tbcload + } on error {} { + # OK, don't have it so do nothing + } on ok {} { if {[namespace which -command tbcload::bcproc] eq ""} { auto_load tbcload::bcproc } @@ -569,16 +564,15 @@ auto_mkindex_parser::hook { } # AUTO MKINDEX: namespace eval name command ?arg arg...? -# Adds the namespace name onto the context stack and evaluates the -# associated body of commands. +# Adds the namespace name onto the context stack and evaluates the associated +# body of commands. # # AUTO MKINDEX: namespace import ?-force? pattern ?pattern...? -# Performs the "import" action in the parser interpreter. This is -# important for any commands contained in a namespace that affect -# the index. For example, a script may say "itcl::class ...", -# or it may import "itcl::*" and then say "class ...". This -# procedure does the import operation, but keeps track of imported -# patterns so we can remove the imports later. +# Performs the "import" action in the parser interpreter. This is important +# for any commands contained in a namespace that affect the index. For +# example, a script may say "itcl::class ...", or it may import "itcl::*" and +# then say "class ...". This procedure does the import operation, but keeps +# track of imported patterns so we can remove the imports later. auto_mkindex_parser::command namespace {op args} { switch -- $op { @@ -603,15 +597,6 @@ auto_mkindex_parser::command namespace {op args} { } catch {$parser eval "_%@namespace import $args"} } - ensemble { - variable parser - variable contextStack - if {[lindex $args 0] eq "create"} { - set name ::[join [lreverse $contextStack] ::] - # create artifical proc to force an entry in the tclIndex - $parser eval [list ::proc $name {} {}] - } - } } } diff --git a/library/clock.tcl b/library/clock.tcl index 1f83716..36e3a4e 100644 --- a/library/clock.tcl +++ b/library/clock.tcl @@ -2,9 +2,9 @@ # # clock.tcl -- # -# This file implements the portions of the [clock] ensemble that -# are coded in Tcl. Refer to the users' manual to see the description -# of the [clock] command and its subcommands. +# This file implements the portions of the [clock] ensemble that are +# coded in Tcl. Refer to the users' manual to see the description of +# the [clock] command and its subcommands. # # #---------------------------------------------------------------------- @@ -13,10 +13,12 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # +# RCS: @(#) $Id: clock.tcl,v 1.54 2009/07/24 10:53:47 dkf Exp $ +# #---------------------------------------------------------------------- -# We must have message catalogs that support the root locale, and -# we need access to the Registry on Windows systems. +# We must have message catalogs that support the root locale, and we need +# access to the Registry on Windows systems. uplevel \#0 { package require msgcat 1.4 @@ -27,9 +29,8 @@ uplevel \#0 { } } -# Put the library directory into the namespace for the ensemble -# so that the library code can find message catalogs and time zone -# definition files. +# Put the library directory into the namespace for the ensemble so that the +# library code can find message catalogs and time zone definition files. namespace eval ::tcl::clock \ [list variable LibDir [file dirname [info script]]] @@ -40,8 +41,8 @@ namespace eval ::tcl::clock \ # # Manipulate times. # -# The 'clock' command manipulates time. Refer to the user documentation -# for the available subcommands and what they do. +# The 'clock' command manipulates time. Refer to the user documentation for +# the available subcommands and what they do. # #---------------------------------------------------------------------- @@ -76,11 +77,11 @@ namespace eval ::tcl::clock { # Side effects: # Namespace variable in the 'clock' subsystem are initialized. # -# The '::tcl::clock::Initialize' procedure initializes the namespace -# variables and root locale message catalog for the 'clock' subsystem. -# It is broken into a procedure rather than simply evaluated as a script -# so that it will be able to use local variables, avoiding the dangers -# of 'creative writing' as in Bug 1185933. +# The '::tcl::clock::Initialize' procedure initializes the namespace variables +# and root locale message catalog for the 'clock' subsystem. It is broken +# into a procedure rather than simply evaluated as a script so that it will be +# able to use local variables, avoiding the dangers of 'creative writing' as +# in Bug 1185933. # #---------------------------------------------------------------------- @@ -172,8 +173,8 @@ proc ::tcl::clock::Initialize {} { ::msgcat::mcset fr GREGORIAN_CHANGE_DATE 2299227 - # For Belgium, we follow Southern Netherlands; Liege Diocese - # changed several weeks later. + # For Belgium, we follow Southern Netherlands; Liege Diocese changed + # several weeks later. ::msgcat::mcset fr_BE GREGORIAN_CHANGE_DATE 2299238 ::msgcat::mcset nl_BE GREGORIAN_CHANGE_DATE 2299238 @@ -194,8 +195,8 @@ proc ::tcl::clock::Initialize {} { ::msgcat::mcset no GREGORIAN_CHANGE_DATE 2342032 ::msgcat::mcset da GREGORIAN_CHANGE_DATE 2342032 - # Holland (Brabant, Gelderland, Flanders, Friesland, etc. changed - # at various times) + # Holland (Brabant, Gelderland, Flanders, Friesland, etc. changed at + # various times) ::msgcat::mcset nl GREGORIAN_CHANGE_DATE 2342165 @@ -217,8 +218,8 @@ proc ::tcl::clock::Initialize {} { ::msgcat::mcset ru GREGORIAN_CHANGE_DATE 2421639 - # Romania (Transylvania changed earler - perhaps de_RO should show - # the earlier date?) + # Romania (Transylvania changed earler - perhaps de_RO should show the + # earlier date?) ::msgcat::mcset ro GREGORIAN_CHANGE_DATE 2422063 @@ -232,8 +233,8 @@ proc ::tcl::clock::Initialize {} { # #------------------------------------------------------------------ - # Paths at which binary time zone data for the Olson libraries - # are known to reside on various operating systems + # Paths at which binary time zone data for the Olson libraries are known + # to reside on various operating systems variable ZoneinfoPaths {} foreach path { @@ -282,10 +283,10 @@ proc ::tcl::clock::Initialize {} { variable FEB_28 58 - # Translation table to map Windows TZI onto cities, so that - # the Olson rules can apply. In some cases the mapping is ambiguous, - # so it's wise to specify $::env(TCL_TZ) rather than simply depending - # on the system time zone. + # Translation table to map Windows TZI onto cities, so that the Olson + # rules can apply. In some cases the mapping is ambiguous, so it's wise + # to specify $::env(TCL_TZ) rather than simply depending on the system + # time zone. # The keys are long lists of values obtained from the time zone # information in the Registry. In order, the list elements are: @@ -296,10 +297,10 @@ proc ::tcl::clock::Initialize {} { # DaylightDate.wYear DaylightDate.wMonth DaylightDate.wDayOfWeek # DaylightDate.wDay DaylightDate.wHour DaylightDate.wMinute # DaylightDate.wSecond DaylightDate.wMilliseconds - # The values are the names of time zones where those rules apply. - # There is considerable ambiguity in certain zones; an attempt has - # been made to make a reasonable guess, but this table needs to be - # taken with a grain of salt. + # The values are the names of time zones where those rules apply. There + # is considerable ambiguity in certain zones; an attempt has been made to + # make a reasonable guess, but this table needs to be taken with a grain + # of salt. variable WinZoneInfo [dict create {*}{ {-43200 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Pacific/Kwajalein @@ -325,7 +326,7 @@ proc ::tcl::clock::Initialize {} { {-10800 0 3600 0 2 0 2 2 0 0 0 0 10 0 3 2 0 0 0} :America/Sao_Paulo {-10800 0 3600 0 10 0 5 2 0 0 0 0 4 0 1 2 0 0 0} :America/Godthab {-10800 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :America/Buenos_Aires - {-10800 0 3600 0 2 0 5 2 0 0 0 0 11 0 1 2 0 0 0} :America/Bahia + {-10800 0 3600 0 2 0 5 2 0 0 0 0 11 0 1 2 0 0 0} :America/Brasilia {-10800 0 3600 0 3 0 2 2 0 0 0 0 10 0 1 2 0 0 0} :America/Montevideo {-7200 0 3600 0 9 0 5 2 0 0 0 0 3 0 5 2 0 0 0} :America/Noronha {-3600 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :Atlantic/Azores @@ -378,10 +379,10 @@ proc ::tcl::clock::Initialize {} { {46800 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Pacific/Tongatapu }] - # Groups of fields that specify the date, priorities, and - # code bursts that determine Julian Day Number given those groups. - # The code in [clock scan] will choose the highest priority - # (lowest numbered) set of fields that determines the date. + # Groups of fields that specify the date, priorities, and code bursts that + # determine Julian Day Number given those groups. The code in [clock + # scan] will choose the highest priority (lowest numbered) set of fields + # that determines the date. variable DateParseActions { @@ -485,8 +486,8 @@ proc ::tcl::clock::Initialize {} { } } - # Groups of fields that specify time of day, priorities, - # and code that processes them + # Groups of fields that specify time of day, priorities, and code that + # processes them variable TimeParseActions { @@ -652,16 +653,14 @@ proc ::tcl::clock::Initialize {} { # # clock format -- # -# Formats a count of seconds since the Posix Epoch as a time -# of day. +# Formats a count of seconds since the Posix Epoch as a time of day. # -# The 'clock format' command formats times of day for output. -# Refer to the user documentation to see what it does. +# The 'clock format' command formats times of day for output. Refer to the +# user documentation to see what it does. # #---------------------------------------------------------------------- proc ::tcl::clock::format { args } { - variable FormatProc variable TZData @@ -681,9 +680,9 @@ proc ::tcl::clock::format { args } { } } - # Build a procedure to format the result. Cache the built procedure's - # name in the 'FormatProc' array to avoid losing its internal - # representation, which contains the name resolution. + # Build a procedure to format the result. Cache the built procedure's name + # in the 'FormatProc' array to avoid losing its internal representation, + # which contains the name resolution. set procName formatproc'$format'$locale set procName [namespace current]::[string map {: {\:} \\ {\\}} $procName] @@ -695,7 +694,6 @@ proc ::tcl::clock::format { args } { } return [$procName $clockval $timezone] - } #---------------------------------------------------------------------- @@ -714,7 +712,6 @@ proc ::tcl::clock::format { args } { #---------------------------------------------------------------------- proc ::tcl::clock::ParseClockFormatFormat {procName format locale} { - if {[namespace which $procName] ne {}} { return $procName } @@ -725,34 +722,21 @@ proc ::tcl::clock::ParseClockFormatFormat {procName format locale} { # Change locale if a fresh locale has been given on the command line. - set status [catch { - - ParseClockFormatFormat2 $format $locale $procName - - } result opts] - - # Restore the locale - - if { [info exists oldLocale] } { - mclocale $oldLocale - } - - # Return either the error or the proc name + try { + return [ParseClockFormatFormat2 $format $locale $procName] + } trap clock {result opts} { + dict unset opts -errorinfo + return -options $opts $result + } finally { + # Restore the locale - if { $status == 1 } { - if { [lindex [dict get $opts -errorcode] 0] eq {clock} } { - return -code error $result - } else { - return -options $opts $result + if { [info exists oldLocale] } { + mclocale $oldLocale } - } else { - return $result } - } proc ::tcl::clock::ParseClockFormatFormat2 {format locale procName} { - set didLocaleEra 0 set didLocaleNumerals 0 set preFormatCode \ @@ -1191,16 +1175,14 @@ proc ::tcl::clock::ParseClockFormatFormat2 {format locale procName} { # # clock scan -- # -# Inputs a count of seconds since the Posix Epoch as a time -# of day. +# Inputs a count of seconds since the Posix Epoch as a time of day. # -# The 'clock format' command scans times of day on input. -# Refer to the user documentation to see what it does. +# The 'clock format' command scans times of day on input. Refer to the user +# documentation to see what it does. # #---------------------------------------------------------------------- proc ::tcl::clock::scan { args } { - set format {} # Check the count of args @@ -1262,21 +1244,17 @@ proc ::tcl::clock::scan { args } { "cannot use -gmt and -timezone in same call" } if { [catch { expr { wide($base) } } result] } { - return -code error \ - "expected integer but got \"$base\"" + return -code error "expected integer but got \"$base\"" } - if { ![string is boolean $gmt] } { - return -code error \ - "expected boolean value but got \"$gmt\"" - } else { - if { $gmt } { - set timezone :GMT - } + if { ![string is boolean -strict $gmt] } { + return -code error "expected boolean value but got \"$gmt\"" + } elseif { $gmt } { + set timezone :GMT } if { ![info exists saw(-format)] } { - # Perhaps someday we'll localize the legacy code. Right now, - # it's not localized. + # Perhaps someday we'll localize the legacy code. Right now, it's not + # localized. if { [info exists saw(-locale)] } { return -code error \ -errorcode [list CLOCK flagWithLegacyFormat] \ @@ -1290,31 +1268,23 @@ proc ::tcl::clock::scan { args } { EnterLocale $locale oldLocale - set status [catch { - + try { # Map away the locale-dependent composite format groups set scanner [ParseClockScanFormat $format $locale] - $scanner $string $base $timezone + return [$scanner $string $base $timezone] + } trap CLOCK {result opts} { + # Conceal location of generation of expected errors - } result opts] - - # Restore the locale - - if { [info exists oldLocale] } { - mclocale $oldLocale - } + dict unset opts -errorinfo + return -options $opts $result + } finally { + # Restore the locale - if { $status == 1 } { - if { [lindex [dict get $opts -errorcode] 0] eq {clock} } { - return -code error $result - } else { - return -options $opts $result + if { [info exists oldLocale] } { + mclocale $oldLocale } - } else { - return $result } - } #---------------------------------------------------------------------- @@ -1330,52 +1300,50 @@ proc ::tcl::clock::scan { args } { # locale - (Unused) Name of the locale where the time will be scanned. # # Results: -# Returns the date and time extracted from the string in seconds -# from the epoch +# Returns the date and time extracted from the string in seconds from +# the epoch # #---------------------------------------------------------------------- proc ::tcl::clock::FreeScan { string base timezone locale } { - variable TZData # Get the data for time changes in the given zone - if {[catch {SetupTimeZone $timezone} retval opts]} { + try { + SetupTimeZone $timezone + } on error {retval opts} { dict unset opts -errorinfo return -options $opts $retval } - # Extract year, month and day from the base time for the - # parser to use as defaults - - set date [GetDateFields \ - $base \ - $TZData($timezone) \ - 2361222] - dict set date secondOfDay [expr { [dict get $date localSeconds] - % 86400 }] - - # Parse the date. The parser will return a list comprising - # date, time, time zone, relative month/day/seconds, relative - # weekday, ordinal month. - - set status [catch { - Oldscan $string \ - [dict get $date year] \ - [dict get $date month] \ - [dict get $date dayOfMonth] - } result] - if { $status != 0 } { - return -code error "unable to convert date-time string \"$string\": $result" - } + # Extract year, month and day from the base time for the parser to use as + # defaults + + set date [GetDateFields $base $TZData($timezone) 2361222] + dict set date secondOfDay [expr { + [dict get $date localSeconds] % 86400 + }] - lassign $result parseDate parseTime parseZone parseRel \ - parseWeekday parseOrdinalMonth + # Parse the date. The parser will return a list comprising date, time, + # time zone, relative month/day/seconds, relative weekday, ordinal month. + + try { + set scanned [Oldscan $string \ + [dict get $date year] \ + [dict get $date month] \ + [dict get $date dayOfMonth]] + lassign $scanned \ + parseDate parseTime parseZone parseRel \ + parseWeekday parseOrdinalMonth + } on error message { + return -code error \ + "unable to convert date-time string \"$string\": $message" + } - # If the caller supplied a date in the string, update the 'date' dict - # with the value. If the caller didn't specify a time with the date, - # default to midnight. + # If the caller supplied a date in the string, update the 'date' dict with + # the value. If the caller didn't specify a time with the date, default to + # midnight. if { [llength $parseDate] > 0 } { lassign $parseDate y m d @@ -1395,11 +1363,11 @@ proc ::tcl::clock::FreeScan { string base timezone locale } { } } - # If the caller supplied a time zone in the string, it comes back - # as a two-element list; the first element is the number of minutes - # east of Greenwich, and the second is a Daylight Saving Time - # indicator ( 1 == yes, 0 == no, -1 == unknown ). We make it into - # a time zone indicator of +-hhmm. + # If the caller supplied a time zone in the string, it comes back as a + # two-element list; the first element is the number of minutes east of + # Greenwich, and the second is a Daylight Saving Time indicator (1 == yes, + # 0 == no, -1 == unknown). We make it into a time zone indicator of + # +-hhmm. if { [llength $parseZone] > 0 } { lassign $parseZone minEast dstFlag @@ -1422,10 +1390,11 @@ proc ::tcl::clock::FreeScan { string base timezone locale } { dict set date secondOfDay 0 } - dict set date localSeconds \ - [expr { -210866803200 - + ( 86400 * wide([dict get $date julianDay]) ) - + [dict get $date secondOfDay] }] + dict set date localSeconds [expr { + -210866803200 + + ( 86400 * wide([dict get $date julianDay]) ) + + [dict get $date secondOfDay] + }] dict set date tzName $timezone set date [ConvertLocalToUTC $date[set date {}] $TZData($timezone) 2361222] set seconds [dict get $date seconds] @@ -1442,13 +1411,12 @@ proc ::tcl::clock::FreeScan { string base timezone locale } { # Do relative weekday if { [llength $parseWeekday] > 0 } { - lassign $parseWeekday dayOrdinal dayOfWeek set date2 [GetDateFields $seconds $TZData($timezone) 2361222] dict set date2 era CE - set jdwkday [WeekdayOnOrBefore $dayOfWeek \ - [expr { [dict get $date2 julianDay] - + 6 }]] + set jdwkday [WeekdayOnOrBefore $dayOfWeek [expr { + [dict get $date2 julianDay] + 6 + }]] incr jdwkday [expr { 7 * $dayOrdinal }] if { $dayOrdinal > 0 } { incr jdwkday -7 @@ -1456,21 +1424,20 @@ proc ::tcl::clock::FreeScan { string base timezone locale } { dict set date2 secondOfDay \ [expr { [dict get $date2 localSeconds] % 86400 }] dict set date2 julianDay $jdwkday - dict set date2 localSeconds \ - [expr { -210866803200 - + ( 86400 * wide([dict get $date2 julianDay]) ) - + [dict get $date secondOfDay] }] + dict set date2 localSeconds [expr { + -210866803200 + + ( 86400 * wide([dict get $date2 julianDay]) ) + + [dict get $date secondOfDay] + }] dict set date2 tzName $timezone set date2 [ConvertLocalToUTC $date2[set date2 {}] $TZData($timezone) \ 2361222] set seconds [dict get $date2 seconds] - } # Do relative month if { [llength $parseOrdinalMonth] > 0 } { - lassign $parseOrdinalMonth monthOrdinal monthNumber if { $monthOrdinal > 0 } { set monthDiff [expr { $monthNumber - [dict get $date month] }] @@ -1487,7 +1454,6 @@ proc ::tcl::clock::FreeScan { string base timezone locale } { } set seconds [add $seconds $monthOrdinal years $monthDiff months \ -timezone $timezone -locale $locale] - } return $seconds @@ -1505,30 +1471,27 @@ proc ::tcl::clock::FreeScan { string base timezone locale } { # locale - The current locale # # Results: -# Constructs and returns a procedure that accepts the -# string being scanned, the base time, and the time zone. -# The procedure will either return the scanned time or -# else throw an error that should be rethrown to the caller -# of [clock scan] +# Constructs and returns a procedure that accepts the string being +# scanned, the base time, and the time zone. The procedure will either +# return the scanned time or else throw an error that should be rethrown +# to the caller of [clock scan] # # Side effects: -# The given procedure is defined in the ::tcl::clock -# namespace. Scan procedures are not deleted once installed. -# -# Why do we parse dates by defining a procedure to parse them? -# The reason is that by doing so, we have one convenient place to -# cache all the information: the regular expressions that match the -# patterns (which will be compiled), the code that assembles the -# date information, everything lands in one place. In this way, -# when a given format is reused at run time, all the information +# The given procedure is defined in the ::tcl::clock namespace. Scan +# procedures are not deleted once installed. +# +# Why do we parse dates by defining a procedure to parse them? The reason is +# that by doing so, we have one convenient place to cache all the information: +# the regular expressions that match the patterns (which will be compiled), +# the code that assembles the date information, everything lands in one place. +# In this way, when a given format is reused at run time, all the information # of how to apply it is available in a single place. # #---------------------------------------------------------------------- proc ::tcl::clock::ParseClockScanFormat {formatString locale} { - - # Check whether the format has been parsed previously, and return - # the existing recognizer if it has. + # Check whether the format has been parsed previously, and return the + # existing recognizer if it has. set procName scanproc'$formatString'$locale set procName [namespace current]::[string map {: {\:} \\ {\\}} $procName] @@ -1572,8 +1535,8 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} { append re {[[:space:]]+} } else { if { ! [string is alnum $c] } { - append re \\ - } + append re "\\" + } append re $c } } @@ -1690,7 +1653,7 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} { "::scan \$field" [incr captureCount] " %ld" \ "\]\n" } - m - N { # Month number + m - N { # Month number append re \\s*(\\d\\d?) dict set fieldSet month [incr fieldCount] append postcode "dict set date month \[" \ @@ -1733,10 +1696,9 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} { \] \n } s { # Seconds from Posix Epoch - # This next case is insanely difficult, - # because it's problematic to determine - # whether the field is actually within - # the range of a wide integer. + # This next case is insanely difficult, because it's + # problematic to determine whether the field is + # actually within the range of a wide integer. append re {\s*([-+]?\d+)} dict set fieldSet seconds [incr fieldCount] append postcode {dict set date seconds } \[ \ @@ -1769,10 +1731,9 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} { dict set date dayOfWeek $dow } } - U { # Week of year. The - # first Sunday of the year is the - # first day of week 01. No scan rule - # uses this group. + U { # Week of year. The first Sunday of + # the year is the first day of week + # 01. No scan rule uses this group. append re \\s*\\d\\d? } V { # Week of ISO8601 year @@ -1994,20 +1955,6 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} { append procBody $postcode append procBody [list set changeover [mc GREGORIAN_CHANGE_DATE]] \n - # Get time zone if needed - - if { ![dict exists $fieldSet seconds] - && ![dict exists $fieldSet starDate] } { - if { [dict exists $fieldSet tzName] } { - append procBody { - set timeZone [dict get $date tzName] - } - } - append procBody { - ::tcl::clock::SetupTimeZone $timeZone - } - } - # Add code that gets Julian Day Number from the fields. append procBody [MakeParseCodeFromFields $fieldSet $DateParseActions] @@ -2025,15 +1972,25 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} { return -code error -errorcode [list CLOCK dateTooLarge] \ "requested date too large to represent" } - dict set date localSeconds \ - [expr { -210866803200 - + ( 86400 * wide([dict get $date julianDay]) ) - + [dict get $date secondOfDay] }] + dict set date localSeconds [expr { + -210866803200 + + ( 86400 * wide([dict get $date julianDay]) ) + + [dict get $date secondOfDay] + }] + } + } + + if { ![dict exists $fieldSet seconds] + && ![dict exists $fieldSet starDate] } { + if { [dict exists $fieldSet tzName] } { + append procBody { + set timeZone [dict get $date tzName] + } } append procBody { + ::tcl::clock::SetupTimeZone $timeZone set date [::tcl::clock::ConvertLocalToUTC $date[set date {}] \ - $TZData($timeZone) \ - $changeover] + $TZData($timeZone) $changeover] } } @@ -2052,15 +2009,14 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} { # # LocaleNumeralMatcher -- # -# Composes a regexp that captures the numerals in the given -# locale, and a dictionary to map them to conventional numerals. +# Composes a regexp that captures the numerals in the given locale, and +# a dictionary to map them to conventional numerals. # # Parameters: # locale - Name of the current locale # # Results: -# Returns a two-element list comprising the regexp and the -# dictionary. +# Returns a two-element list comprising the regexp and the dictionary. # # Side effects: # Caches the result. @@ -2068,7 +2024,6 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} { #---------------------------------------------------------------------- proc ::tcl::clock::LocaleNumeralMatcher {l} { - variable LocaleNumeralCache if { ![dict exists $LocaleNumeralCache $l] } { @@ -2094,9 +2049,9 @@ proc ::tcl::clock::LocaleNumeralMatcher {l} { # # UniquePrefixRegexp -- # -# Composes a regexp that performs unique-prefix matching. The -# RE matches one of a supplied set of strings, or any unique -# prefix thereof. +# Composes a regexp that performs unique-prefix matching. The RE +# matches one of a supplied set of strings, or any unique prefix +# thereof. # # Parameters: # data - List of alternating match-strings and values. @@ -2104,10 +2059,10 @@ proc ::tcl::clock::LocaleNumeralMatcher {l} { # distinct. # # Results: -# Returns a two-element list. The first is a regexp that -# matches any unique prefix of any of the strings. The second -# is a dictionary whose keys are match values from the regexp -# and whose values are the corresponding values from 'data'. +# Returns a two-element list. The first is a regexp that matches any +# unique prefix of any of the strings. The second is a dictionary whose +# keys are match values from the regexp and whose values are the +# corresponding values from 'data'. # # Side effects: # None. @@ -2115,11 +2070,10 @@ proc ::tcl::clock::LocaleNumeralMatcher {l} { #---------------------------------------------------------------------- proc ::tcl::clock::UniquePrefixRegexp { data } { - - # The 'successors' dictionary will contain, for each string that - # is a prefix of any key, all characters that may follow that - # prefix. The 'prefixMapping' dictionary will have keys that - # are prefixes of keys and values that correspond to the keys. + # The 'successors' dictionary will contain, for each string that is a + # prefix of any key, all characters that may follow that prefix. The + # 'prefixMapping' dictionary will have keys that are prefixes of keys and + # values that correspond to the keys. set prefixMapping [dict create] set successors [dict create {} {}] @@ -2127,7 +2081,6 @@ proc ::tcl::clock::UniquePrefixRegexp { data } { # Walk the key-value pairs foreach { key value } $data { - # Construct all prefixes of the key; set prefix {} @@ -2146,8 +2099,8 @@ proc ::tcl::clock::UniquePrefixRegexp { data } { } } - # Identify those prefixes that designate unique values, and - # those that are the full keys + # Identify those prefixes that designate unique values, and those that are + # the full keys set uniquePrefixMapping {} dict for { key valueList } $prefixMapping { @@ -2170,8 +2123,8 @@ proc ::tcl::clock::UniquePrefixRegexp { data } { # # MakeUniquePrefixRegexp -- # -# Service procedure for 'UniquePrefixRegexp' that constructs -# a regular expresison that matches the unique prefixes. +# Service procedure for 'UniquePrefixRegexp' that constructs a regular +# expresison that matches the unique prefixes. # # Parameters: # successors - Dictionary whose keys are all prefixes @@ -2183,8 +2136,8 @@ proc ::tcl::clock::UniquePrefixRegexp { data } { # prefixString - Current prefix being processed. # # Results: -# Returns a constructed regular expression that matches the set -# of unique prefixes beginning with the 'prefixString'. +# Returns a constructed regular expression that matches the set of +# unique prefixes beginning with the 'prefixString'. # # Side effects: # None. @@ -2194,7 +2147,6 @@ proc ::tcl::clock::UniquePrefixRegexp { data } { proc ::tcl::clock::MakeUniquePrefixRegexp { successors uniquePrefixMapping prefixString } { - # Get the characters that may follow the current prefix string set schars [lsort -ascii [dict keys [dict get $successors $prefixString]]] @@ -2202,13 +2154,15 @@ proc ::tcl::clock::MakeUniquePrefixRegexp { successors return {} } - # If there is more than one successor character, or if the current - # prefix is a unique prefix, surround the generated re with non-capturing + # If there is more than one successor character, or if the current prefix + # is a unique prefix, surround the generated re with non-capturing # parentheses. set re {} - if { [dict exists $uniquePrefixMapping $prefixString] - || [llength $schars] > 1 } { + if { + [dict exists $uniquePrefixMapping $prefixString] + || [llength $schars] > 1 + } then { append re "(?:" } @@ -2230,7 +2184,7 @@ proc ::tcl::clock::MakeUniquePrefixRegexp { successors if { [dict exists $uniquePrefixMapping $prefixString] } { append re ")?" - } elseif { [llength $schars] > 1 } { + } elseif { [llength $schars] > 1 } { append re ")" } @@ -2241,8 +2195,8 @@ proc ::tcl::clock::MakeUniquePrefixRegexp { successors # # MakeParseCodeFromFields -- # -# Composes Tcl code to extract the Julian Day Number from a -# dictionary containing date fields. +# Composes Tcl code to extract the Julian Day Number from a dictionary +# containing date fields. # # Parameters: # dateFields -- Dictionary whose keys are fields of the date, @@ -2253,8 +2207,8 @@ proc ::tcl::clock::MakeUniquePrefixRegexp { successors # the list must be in ascending order by priority # # Results: -# Returns a burst of code that extracts the day number from the -# given date. +# Returns a burst of code that extracts the day number from the given +# date. # # Side effects: # None. @@ -2262,7 +2216,6 @@ proc ::tcl::clock::MakeUniquePrefixRegexp { successors #---------------------------------------------------------------------- proc ::tcl::clock::MakeParseCodeFromFields { dateFields parseActions } { - set currPrio 999 set currFieldPos [list] set currCodeBurst { @@ -2270,16 +2223,15 @@ proc ::tcl::clock::MakeParseCodeFromFields { dateFields parseActions } { } foreach { fieldSet prio parseAction } $parseActions { - - # If we've found an answer that's better than any that follow, - # quit now. + # If we've found an answer that's better than any that follow, quit + # now. if { $prio > $currPrio } { break } - # Accumulate the field positions that are used in the current - # field grouping. + # Accumulate the field positions that are used in the current field + # grouping. set fieldPos [list] set ok true @@ -2302,9 +2254,11 @@ proc ::tcl::clock::MakeParseCodeFromFields { dateFields parseActions } { if { $prio == $currPrio } { foreach currPos $currFieldPos newPos $fPos { - if { ![string is integer $newPos] - || ![string is integer $currPos] - || $newPos > $currPos } { + if { + ![string is integer $newPos] + || ![string is integer $currPos] + || $newPos > $currPos + } then { break } if { $newPos < $currPos } { @@ -2322,11 +2276,9 @@ proc ::tcl::clock::MakeParseCodeFromFields { dateFields parseActions } { set currPrio $prio set currFieldPos $fPos set currCodeBurst $parseAction - } return $currCodeBurst - } #---------------------------------------------------------------------- @@ -2344,14 +2296,13 @@ proc ::tcl::clock::MakeParseCodeFromFields { dateFields parseActions } { # Returns the locale that was previously current. # # Side effects: -# Does [mclocale]. If necessary, uses [mcload] to load the -# designated locale's files, and tracks that it has done so -# in the 'McLoaded' variable. +# Does [mclocale]. If necessary, uses [mcload] to load the designated +# locale's files, and tracks that it has done so in the 'McLoaded' +# variable. # #---------------------------------------------------------------------- proc ::tcl::clock::EnterLocale { locale oldLocaleVar } { - upvar 1 $oldLocaleVar oldLocale variable MsgDir @@ -2359,27 +2310,24 @@ proc ::tcl::clock::EnterLocale { locale oldLocaleVar } { set oldLocale [mclocale] if { $locale eq {system} } { - if { $::tcl_platform(platform) ne {windows} } { - - # On a non-windows platform, the 'system' locale is - # the same as the 'current' locale + # On a non-windows platform, the 'system' locale is the same as + # the 'current' locale set locale current } else { - - # On a windows platform, the 'system' locale is - # adapted from the 'current' locale by applying the - # date and time formats from the Control Panel. - # First, load the 'current' locale if it's not yet loaded + # On a windows platform, the 'system' locale is adapted from the + # 'current' locale by applying the date and time formats from the + # Control Panel. First, load the 'current' locale if it's not yet + # loaded if {![dict exists $McLoaded $oldLocale] } { mcload $MsgDir dict set McLoaded $oldLocale {} } - # Make a new locale string for the system locale, and - # get the Control Panel information + # Make a new locale string for the system locale, and get the + # Control Panel information set locale ${oldLocale}_windows if { ![dict exists $McLoaded $locale] } { @@ -2400,15 +2348,14 @@ proc ::tcl::clock::EnterLocale { locale oldLocaleVar } { mcload $MsgDir dict set McLoaded $locale {} } - } #---------------------------------------------------------------------- # # LoadWindowsDateTimeFormats -- # -# Load the date/time formats from the Control Panel in Windows -# and convert them so that they're usable by Tcl. +# Load the date/time formats from the Control Panel in Windows and +# convert them so that they're usable by Tcl. # # Parameters: # locale - Name of the locale in whose message catalog @@ -2420,14 +2367,12 @@ proc ::tcl::clock::EnterLocale { locale oldLocaleVar } { # Side effects: # Updates the given message catalog with the locale strings. # -# Presumes that on entry, [mclocale] is set to the current locale, -# so that default strings can be obtained if the Registry query -# fails. +# Presumes that on entry, [mclocale] is set to the current locale, so that +# default strings can be obtained if the Registry query fails. # #---------------------------------------------------------------------- proc ::tcl::clock::LoadWindowsDateTimeFormats { locale } { - # Bail out if we can't find the Registry variable NoRegistry @@ -2529,7 +2474,6 @@ proc ::tcl::clock::LoadWindowsDateTimeFormats { locale } { } return - } #---------------------------------------------------------------------- @@ -2544,8 +2488,8 @@ proc ::tcl::clock::LoadWindowsDateTimeFormats { locale } { # format -- Format supplied to [clock scan] or [clock format] # # Results: -# Returns the string with locale-dependent composite format -# groups substituted out. +# Returns the string with locale-dependent composite format groups +# substituted out. # # Side effects: # None. @@ -2553,7 +2497,6 @@ proc ::tcl::clock::LoadWindowsDateTimeFormats { locale } { #---------------------------------------------------------------------- proc ::tcl::clock::LocalizeFormat { locale format } { - variable McLoaded if { [dict exists $McLoaded $locale FORMAT $format] } { @@ -2561,28 +2504,24 @@ proc ::tcl::clock::LocalizeFormat { locale format } { } set inFormat $format - # Handle locale-dependent format groups by mapping them out of the format + # Handle locale-dependent format groups by mapping them out of the input # string. Note that the order of the [string map] operations is - # significant because later formats can refer to later ones; for example + # significant because earlier formats can refer to later ones; for example # %c can refer to %X, which in turn can refer to %T. - set list { - %% %% - %D %m/%d/%Y - %+ {%a %b %e %H:%M:%S %Z %Y} - } - lappend list %EY [string map $list [mc LOCALE_YEAR_FORMAT]] - lappend list %T [string map $list [mc TIME_FORMAT_24_SECS]] - lappend list %R [string map $list [mc TIME_FORMAT_24]] - lappend list %r [string map $list [mc TIME_FORMAT_12]] - lappend list %X [string map $list [mc TIME_FORMAT]] - lappend list %EX [string map $list [mc LOCALE_TIME_FORMAT]] - lappend list %x [string map $list [mc DATE_FORMAT]] - lappend list %Ex [string map $list [mc LOCALE_DATE_FORMAT]] - lappend list %c [string map $list [mc DATE_TIME_FORMAT]] - lappend list %Ec [string map $list [mc LOCALE_DATE_TIME_FORMAT]] - set format [string map $list $format] - + set format [string map [list %c [mc DATE_TIME_FORMAT] \ + %Ec [mc LOCALE_DATE_TIME_FORMAT]] $format] + set format [string map [list %x [mc DATE_FORMAT] \ + %Ex [mc LOCALE_DATE_FORMAT] \ + %X [mc TIME_FORMAT] \ + %EX [mc LOCALE_TIME_FORMAT]] $format] + set format [string map [list %r [mc TIME_FORMAT_12] \ + %R [mc TIME_FORMAT_24] \ + %T [mc TIME_FORMAT_24_SECS]] $format] + set format [string map [list %D %m/%d/%Y \ + %EY [mc LOCALE_YEAR_FORMAT]\ + %+ {%a %b %e %H:%M:%S %Z %Y}] $format] + dict set McLoaded $locale FORMAT $inFormat $format return $format } @@ -2605,7 +2544,6 @@ proc ::tcl::clock::LocalizeFormat { locale format } { #---------------------------------------------------------------------- proc ::tcl::clock::FormatNumericTimeZone { z } { - if { $z < 0 } { set z [expr { - $z }] set retval - @@ -2620,7 +2558,6 @@ proc ::tcl::clock::FormatNumericTimeZone { z } { append retval [::format %02d $z] } return $retval - } #---------------------------------------------------------------------- @@ -2645,7 +2582,6 @@ proc ::tcl::clock::FormatNumericTimeZone { z } { #---------------------------------------------------------------------- proc ::tcl::clock::FormatStarDate { date } { - variable Roddenberry # Get day of year, zero based @@ -2696,7 +2632,6 @@ proc ::tcl::clock::FormatStarDate { date } { #---------------------------------------------------------------------- proc ::tcl::clock::ParseStarDate { year fractYear fractDay } { - variable Roddenberry # Build a tentative date from year and fraction. @@ -2712,8 +2647,8 @@ proc ::tcl::clock::ParseStarDate { year fractYear fractDay } { set lp [IsGregorianLeapYear $date] - # Reconvert the fractional year according to whether the given - # year is a leap year + # Reconvert the fractional year according to whether the given year is a + # leap year if { $lp } { dict set date dayOfYear \ @@ -2726,10 +2661,11 @@ proc ::tcl::clock::ParseStarDate { year fractYear fractDay } { dict unset date gregorian set date [GetJulianDayFromGregorianEraYearDay $date[set date {}]] - return [expr { 86400 * [dict get $date julianDay] - - 210866803200 - + ( 86400 / 10 ) * $fractDay }] - + return [expr { + 86400 * [dict get $date julianDay] + - 210866803200 + + ( 86400 / 10 ) * $fractDay + }] } #---------------------------------------------------------------------- @@ -2742,8 +2678,8 @@ proc ::tcl::clock::ParseStarDate { year fractYear fractDay } { # str - String containing a decimal wide integer # # Results: -# Returns the string as a pure wide integer. Throws an error if -# the string is misformatted or out of range. +# Returns the string as a pure wide integer. Throws an error if the +# string is misformatted or out of range. # #---------------------------------------------------------------------- @@ -2764,8 +2700,8 @@ proc ::tcl::clock::ScanWide { str } { # # InterpretTwoDigitYear -- # -# Given a date that contains only the year of the century, -# determines the target value of a two-digit year. +# Given a date that contains only the year of the century, determines +# the target value of a two-digit year. # # Parameters: # date - Dictionary containing fields of the date. @@ -2782,18 +2718,17 @@ proc ::tcl::clock::ScanWide { str } { # Side effects: # None. # -# The current rule for interpreting a two-digit year is that the year -# shall be between 1937 and 2037, thus staying within the range of a -# 32-bit signed value for time. This rule may change to a sliding -# window in future versions, so the 'baseTime' parameter (which is -# currently ignored) is provided in the procedure signature. +# The current rule for interpreting a two-digit year is that the year shall be +# between 1937 and 2037, thus staying within the range of a 32-bit signed +# value for time. This rule may change to a sliding window in future +# versions, so the 'baseTime' parameter (which is currently ignored) is +# provided in the procedure signature. # #---------------------------------------------------------------------- proc ::tcl::clock::InterpretTwoDigitYear { date baseTime { twoDigitField yearOfCentury } { fourDigitField year } } { - set yr [dict get $date $twoDigitField] if { $yr <= 37 } { dict set date $fourDigitField [expr { $yr + 2000 }] @@ -2801,7 +2736,6 @@ proc ::tcl::clock::InterpretTwoDigitYear { date baseTime dict set date $fourDigitField [expr { $yr + 1900 }] } return $date - } #---------------------------------------------------------------------- @@ -2827,7 +2761,6 @@ proc ::tcl::clock::InterpretTwoDigitYear { date baseTime #---------------------------------------------------------------------- proc ::tcl::clock::AssignBaseYear { date baseTime timezone changeover } { - variable TZData # Find the Julian Day Number corresponding to the base time, and @@ -2841,7 +2774,6 @@ proc ::tcl::clock::AssignBaseYear { date baseTime timezone changeover } { dict set date year [dict get $date2 year] return $date - } #---------------------------------------------------------------------- @@ -2868,7 +2800,6 @@ proc ::tcl::clock::AssignBaseYear { date baseTime timezone changeover } { #---------------------------------------------------------------------- proc ::tcl::clock::AssignBaseIso8601Year {date baseTime timeZone changeover} { - variable TZData # Find the Julian Day Number corresponding to the base time @@ -2905,7 +2836,6 @@ proc ::tcl::clock::AssignBaseIso8601Year {date baseTime timeZone changeover} { #---------------------------------------------------------------------- proc ::tcl::clock::AssignBaseMonth {date baseTime timezone changeover} { - variable TZData # Find the year and month corresponding to the base time @@ -2915,7 +2845,6 @@ proc ::tcl::clock::AssignBaseMonth {date baseTime timezone changeover} { dict set date year [dict get $date2 year] dict set date month [dict get $date2 month] return $date - } #---------------------------------------------------------------------- @@ -2941,7 +2870,6 @@ proc ::tcl::clock::AssignBaseMonth {date baseTime timezone changeover} { #---------------------------------------------------------------------- proc ::tcl::clock::AssignBaseWeek {date baseTime timeZone changeover} { - variable TZData # Find the Julian Day Number corresponding to the base time @@ -2978,7 +2906,6 @@ proc ::tcl::clock::AssignBaseWeek {date baseTime timeZone changeover} { #---------------------------------------------------------------------- proc ::tcl::clock::AssignBaseJulianDay { date baseTime timeZone changeover } { - variable TZData # Find the Julian Day Number corresponding to the base time @@ -3008,7 +2935,6 @@ proc ::tcl::clock::AssignBaseJulianDay { date baseTime timeZone changeover } { #---------------------------------------------------------------------- proc ::tcl::clock::InterpretHMSP { date } { - set hr [dict get $date hourAMPM] if { $hr == 12 } { set hr 0 @@ -3018,7 +2944,6 @@ proc ::tcl::clock::InterpretHMSP { date } { } dict set date hour $hr return [InterpretHMS $date[set date {}]] - } #---------------------------------------------------------------------- @@ -3041,11 +2966,11 @@ proc ::tcl::clock::InterpretHMSP { date } { #---------------------------------------------------------------------- proc ::tcl::clock::InterpretHMS { date } { - - return [expr { ( [dict get $date hour] * 60 - + [dict get $date minute] ) * 60 - + [dict get $date second] }] - + return [expr { + ( [dict get $date hour] * 60 + + [dict get $date minute] ) * 60 + + [dict get $date second] + }] } #---------------------------------------------------------------------- @@ -3068,7 +2993,6 @@ proc ::tcl::clock::InterpretHMS { date } { #---------------------------------------------------------------------- proc ::tcl::clock::GetSystemTimeZone {} { - variable CachedSystemTimeZone variable TimeZoneBad @@ -3076,23 +3000,18 @@ proc ::tcl::clock::GetSystemTimeZone {} { set timezone $result } elseif {[set result [getenv TZ]] ne {}} { set timezone $result + } elseif { [info exists CachedSystemTimeZone] } { + set timezone $CachedSystemTimeZone + } elseif { $::tcl_platform(platform) eq {windows} } { + set timezone [GuessWindowsTimeZone] + } elseif { [file exists /etc/localtime] + && ![catch {ReadZoneinfoFile \ + Tcl/Localtime /etc/localtime}] } { + set timezone :Tcl/Localtime + } else { + set timezone :localtime } - if {![info exists timezone]} { - # Cache the time zone only if it was detected by one of the - # expensive methods. - if { [info exists CachedSystemTimeZone] } { - set timezone $CachedSystemTimeZone - } elseif { $::tcl_platform(platform) eq {windows} } { - set timezone [GuessWindowsTimeZone] - } elseif { [file exists /etc/localtime] - && ![catch {ReadZoneinfoFile \ - Tcl/Localtime /etc/localtime}] } { - set timezone :Tcl/Localtime - } else { - set timezone :localtime - } - set CachedSystemTimeZone $timezone - } + set CachedSystemTimeZone $timezone if { ![dict exists $TimeZoneBad $timezone] } { dict set TimeZoneBad $timezone [catch {SetupTimeZone $timezone}] } @@ -3101,76 +3020,69 @@ proc ::tcl::clock::GetSystemTimeZone {} { } else { return $timezone } - } #---------------------------------------------------------------------- # # ConvertLegacyTimeZone -- # -# Given an alphanumeric time zone identifier and the system -# time zone, convert the alphanumeric identifier to an -# unambiguous time zone. +# Given an alphanumeric time zone identifier and the system time zone, +# convert the alphanumeric identifier to an unambiguous time zone. # # Parameters: # tzname - Name of the time zone to convert # # Results: -# Returns a time zone name corresponding to tzname, but -# in an unambiguous form, generally +hhmm. +# Returns a time zone name corresponding to tzname, but in an +# unambiguous form, generally +hhmm. # -# This procedure is implemented primarily to allow the parsing of -# RFC822 date/time strings. Processing a time zone name on input -# is not recommended practice, because there is considerable room -# for ambiguity; for instance, is BST Brazilian Standard Time, or -# British Summer Time? +# This procedure is implemented primarily to allow the parsing of RFC822 +# date/time strings. Processing a time zone name on input is not recommended +# practice, because there is considerable room for ambiguity; for instance, is +# BST Brazilian Standard Time, or British Summer Time? # #---------------------------------------------------------------------- proc ::tcl::clock::ConvertLegacyTimeZone { tzname } { - variable LegacyTimeZone set tzname [string tolower $tzname] if { ![dict exists $LegacyTimeZone $tzname] } { return -code error -errorcode [list CLOCK badTZName $tzname] \ "time zone \"$tzname\" not found" - } else { - return [dict get $LegacyTimeZone $tzname] } - + return [dict get $LegacyTimeZone $tzname] } #---------------------------------------------------------------------- # # SetupTimeZone -- # -# Given the name or specification of a time zone, sets up -# its in-memory data. +# Given the name or specification of a time zone, sets up its in-memory +# data. # # Parameters: # tzname - Name of a time zone # # Results: -# Unless the time zone is ':localtime', sets the TZData array -# to contain the lookup table for local<->UTC conversion. -# Returns an error if the time zone cannot be parsed. +# Unless the time zone is ':localtime', sets the TZData array to contain +# the lookup table for local<->UTC conversion. Returns an error if the +# time zone cannot be parsed. # #---------------------------------------------------------------------- proc ::tcl::clock::SetupTimeZone { timezone } { - variable TZData if {! [info exists TZData($timezone)] } { variable MINWIDE if { $timezone eq {:localtime} } { - # Nothing to do, we'll convert using the localtime function - } elseif { [regexp {^([-+])(\d\d)(?::?(\d\d)(?::?(\d\d))?)?} $timezone \ - -> s hh mm ss] } { - + } elseif { + [regexp {^([-+])(\d\d)(?::?(\d\d)(?::?(\d\d))?)?} $timezone \ + -> s hh mm ss] + } then { # Make a fixed offset ::scan $hh %d hh @@ -3191,14 +3103,12 @@ proc ::tcl::clock::SetupTimeZone { timezone } { set TZData($timezone) [list [list $MINWIDE $offset -1 $timezone]] } elseif { [string index $timezone 0] eq {:} } { - # Convert using a time zone file if { [catch { LoadTimeZoneFile [string range $timezone 1 end] - }] - && [catch { + }] && [catch { LoadZoneinfoFile [string range $timezone 1 end] }] } { @@ -3208,7 +3118,6 @@ proc ::tcl::clock::SetupTimeZone { timezone } { } } elseif { ![catch {ParsePosixTimeZone $timezone} tzfields] } { - # This looks like a POSIX time zone - try to process it if { [catch {ProcessPosixTimeZone $tzfields} data opts] } { @@ -3221,9 +3130,8 @@ proc ::tcl::clock::SetupTimeZone { timezone } { } } else { - - # We couldn't parse this as a POSIX time zone. Try - # again with a time zone file - this time without a colon + # We couldn't parse this as a POSIX time zone. Try again with a + # time zone file - this time without a colon if { [catch { LoadTimeZoneFile $timezone }] && [catch { LoadZoneinfoFile $timezone } - opts] } { @@ -3247,25 +3155,22 @@ proc ::tcl::clock::SetupTimeZone { timezone } { # None. # # Results: -# Returns a time zone specifier that corresponds to the system -# time zone information found in the Registry. +# Returns a time zone specifier that corresponds to the system time zone +# information found in the Registry. # # Bugs: -# Fixed dates for DST change are unimplemented at present, because -# no time zone information supplied with Windows actually uses -# them! +# Fixed dates for DST change are unimplemented at present, because no +# time zone information supplied with Windows actually uses them! # -# On a Windows system where neither $env(TCL_TZ) nor $env(TZ) is -# specified, GuessWindowsTimeZone looks in the Registry for the -# system time zone information. It then attempts to find an entry -# in WinZoneInfo for a time zone that uses the same rules. If -# it finds one, it returns it; otherwise, it constructs a Posix-style -# time zone string and returns that. +# On a Windows system where neither $env(TCL_TZ) nor $env(TZ) is specified, +# GuessWindowsTimeZone looks in the Registry for the system time zone +# information. It then attempts to find an entry in WinZoneInfo for a time +# zone that uses the same rules. If it finds one, it returns it; otherwise, +# it constructs a Posix-style time zone string and returns that. # #---------------------------------------------------------------------- proc ::tcl::clock::GuessWindowsTimeZone {} { - variable WinZoneInfo variable NoRegistry variable TimeZoneBad @@ -3296,16 +3201,14 @@ proc ::tcl::clock::GuessWindowsTimeZone {} { lappend data $val } }] } { - # Missing values in the Registry - bail out return :localtime } - # Make up a Posix time zone specifier if we can't find one. - # Check here that the tzdata file exists, in case we're running - # in an environment (e.g. starpack) where tzdata is incomplete. - # (Bug 1237907) + # Make up a Posix time zone specifier if we can't find one. Check here + # that the tzdata file exists, in case we're running in an environment + # (e.g. starpack) where tzdata is incomplete. (Bug 1237907) if { [dict exists $WinZoneInfo $data] } { set tzname [dict get $WinZoneInfo $data] @@ -3353,11 +3256,11 @@ proc ::tcl::clock::GuessWindowsTimeZone {} { if { $dstYear == 0 } { append tzname ,M $dstMonth . $dstDayOfMonth . $dstDayOfWeek } else { - # I have not been able to find any locale on which - # Windows converts time zone on a fixed day of the year, - # hence don't know how to interpret the fields. - # If someone can inform me, I'd be glad to code it up. - # For right now, we bail out in such a case. + # I have not been able to find any locale on which Windows + # converts time zone on a fixed day of the year, hence don't + # know how to interpret the fields. If someone can inform me, + # I'd be glad to code it up. For right now, we bail out in + # such a case. return :localtime } append tzname / [::format %02d $dstHour] \ @@ -3366,11 +3269,11 @@ proc ::tcl::clock::GuessWindowsTimeZone {} { if { $stdYear == 0 } { append tzname ,M $stdMonth . $stdDayOfMonth . $stdDayOfWeek } else { - # I have not been able to find any locale on which - # Windows converts time zone on a fixed day of the year, - # hence don't know how to interpret the fields. - # If someone can inform me, I'd be glad to code it up. - # For right now, we bail out in such a case. + # I have not been able to find any locale on which Windows + # converts time zone on a fixed day of the year, hence don't + # know how to interpret the fields. If someone can inform me, + # I'd be glad to code it up. For right now, we bail out in + # such a case. return :localtime } append tzname / [::format %02d $stdHour] \ @@ -3381,7 +3284,6 @@ proc ::tcl::clock::GuessWindowsTimeZone {} { } return [dict get $WinZoneInfo $data] - } #---------------------------------------------------------------------- @@ -3410,18 +3312,18 @@ proc ::tcl::clock::LoadTimeZoneFile { fileName } { return } - # Since an unsafe interp uses the [clock] command in the master, - # this code is security sensitive. Make sure that the path name - # cannot escape the given directory. + # Since an unsafe interp uses the [clock] command in the master, this code + # is security sensitive. Make sure that the path name cannot escape the + # given directory. if { ![regexp {^[[.-.][:alpha:]_]+(?:/[[.-.][:alpha:]_]+)*$} $fileName] } { return -code error \ -errorcode [list CLOCK badTimeZone $:fileName] \ "time zone \":$fileName\" not valid" } - if { [catch { + try { source -encoding utf-8 [file join $DataDir $fileName] - }] } { + } on error {} { return -code error \ -errorcode [list CLOCK badTimeZone :$fileName] \ "time zone \":$fileName\" not found" @@ -3439,8 +3341,8 @@ proc ::tcl::clock::LoadTimeZoneFile { fileName } { # fileName - Relative path name of the file to load. # # Results: -# Returns an empty result normally; returns an error if no -# Olson file was found or the file was malformed in some way. +# Returns an empty result normally; returns an error if no Olson file +# was found or the file was malformed in some way. # # Side effects: # TZData(:fileName) contains the time zone data @@ -3448,12 +3350,11 @@ proc ::tcl::clock::LoadTimeZoneFile { fileName } { #---------------------------------------------------------------------- proc ::tcl::clock::LoadZoneinfoFile { fileName } { - variable ZoneinfoPaths - # Since an unsafe interp uses the [clock] command in the master, - # this code is security sensitive. Make sure that the path name - # cannot escape the given directory. + # Since an unsafe interp uses the [clock] command in the master, this code + # is security sensitive. Make sure that the path name cannot escape the + # given directory. if { ![regexp {^[[.-.][:alpha:]_]+(?:/[[.-.][:alpha:]_]+)*$} $fileName] } { return -code error \ @@ -3482,19 +3383,18 @@ proc ::tcl::clock::LoadZoneinfoFile { fileName } { # fname - Absolute path name of the file. # # Results: -# Returns an empty result normally; returns an error if no -# Olson file was found or the file was malformed in some way. +# Returns an empty result normally; returns an error if no Olson file +# was found or the file was malformed in some way. # # Side effects: # TZData(:fileName) contains the time zone data # #---------------------------------------------------------------------- - proc ::tcl::clock::ReadZoneinfoFile {fileName fname} { variable MINWIDE variable TZData - if { ![file exists $fname] } { + if { ![info exists fname] } { return -code error "$fileName not found" } @@ -3509,8 +3409,8 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} { set d [read $f] close $f - # The file begins with a magic number, sixteen reserved bytes, - # and then six 4-byte integers giving counts of fileds in the file. + # The file begins with a magic number, sixteen reserved bytes, and then + # six 4-byte integers giving counts of fileds in the file. binary scan $d a4a1x15IIIIII \ magic version nIsGMT nIsStd nLeap nTime nType nChar @@ -3528,18 +3428,19 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} { return -code error "$fileName contains leap seconds" } - # In a version 2 file, we use the second part of the file, which - # contains 64-bit transition times. + # In a version 2 file, we use the second part of the file, which contains + # 64-bit transition times. if {$version eq "2"} { - set seek [expr {44 - + 5 * $nTime - + 6 * $nType - + 4 * $nLeap - + $nIsStd - + $nIsGMT - + $nChar - }] + set seek [expr { + 44 + + 5 * $nTime + + 6 * $nType + + 4 * $nLeap + + $nIsStd + + $nIsGMT + + $nChar + }] binary scan $d @${seek}a4a1x15IIIIII \ magic version nIsGMT nIsStd nLeap nTime nType nChar if {$magic ne {TZif}} { @@ -3563,9 +3464,9 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} { } set codes [linsert $codes 0 0] - # Next come ${nType} time type descriptions, each of which has an - # offset (seconds east of GMT), a DST indicator, and an index into - # the abbreviation text. + # Next come ${nType} time type descriptions, each of which has an offset + # (seconds east of GMT), a DST indicator, and an index into the + # abbreviation text. for { set i 0 } { $i < $nType } { incr i } { binary scan $d @${seek}Icc gmtOff isDst abbrInd @@ -3573,10 +3474,10 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} { incr seek 6 } - # Next come $nChar characters of time zone name abbreviations, - # which are null-terminated. - # We build them up into a dictionary indexed by character index, - # because that's what's in the indices above. + # Next come $nChar characters of time zone name abbreviations, which are + # null-terminated. + # We build them up into a dictionary indexed by character index, because + # that's what's in the indices above. binary scan $d @${seek}a${nChar} abbrs incr seek ${nChar} @@ -3584,10 +3485,8 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} { set i 0 set abbrevs {} foreach a $abbrList { - for {set j 0} {$j <= [string length $a]} {incr j} { - dict set abbrevs $i [string range $a $j end] - incr i - } + dict set abbrevs $i $a + incr i [expr { [string length $a] + 1 }] } # Package up a list of tuples, each of which contains transition time, @@ -3606,8 +3505,8 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} { } # In a version 2 file, there is also a POSIX-style time zone description - # at the very end of the file. To get to it, skip over - # nLeap leap second values (8 bytes each), + # at the very end of the file. To get to it, skip over nLeap leap second + # values (8 bytes each), # nIsStd standard/DST indicators and nIsGMT UTC/local indicators. if {$version eq {2}} { @@ -3640,8 +3539,8 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} { # tz Time zone specifier to be interpreted # # Results: -# Returns a dictionary whose values contain the various pieces of -# the time zone specification. +# Returns a dictionary whose values contain the various pieces of the +# time zone specification. # # Side effects: # None. @@ -3698,13 +3597,12 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} { # Specify the end of DST in the same way that the start* fields # specify the beginning of DST. # -# This procedure serves only to break the time specifier into fields. -# No attempt is made to canonicalize the fields or supply default values. +# This procedure serves only to break the time specifier into fields. No +# attempt is made to canonicalize the fields or supply default values. # #---------------------------------------------------------------------- proc ::tcl::clock::ParsePosixTimeZone { tz } { - if {[regexp -expanded -nocase -- { ^ # 1 - Standard time zone name @@ -3796,27 +3694,21 @@ proc ::tcl::clock::ParsePosixTimeZone { tz } { x(endJ) x(endDayOfYear) \ x(endMonth) x(endWeekOfMonth) x(endDayOfWeek) \ x(endHours) x(endMinutes) x(endSeconds)] } { - # it's a good timezone return [array get x] - - } else { - - return -code error\ - -errorcode [list CLOCK badTimeZone $tz] \ - "unable to parse time zone specification \"$tz\"" - } + return -code error\ + -errorcode [list CLOCK badTimeZone $tz] \ + "unable to parse time zone specification \"$tz\"" } #---------------------------------------------------------------------- # # ProcessPosixTimeZone -- # -# Handle a Posix time zone after it's been broken out into -# fields. +# Handle a Posix time zone after it's been broken out into fields. # # Parameters: # z - Dictionary returned from 'ParsePosixTimeZone' @@ -3830,7 +3722,6 @@ proc ::tcl::clock::ParsePosixTimeZone { tz } { #---------------------------------------------------------------------- proc ::tcl::clock::ProcessPosixTimeZone { z } { - variable MINWIDE variable TZData @@ -3856,9 +3747,9 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } { } else { set stdSeconds 0 } - set stdOffset [expr { ( ( $stdHours * 60 + $stdMinutes ) - * 60 + $stdSeconds ) - * $stdSignum }] + set stdOffset [expr { + (($stdHours * 60 + $stdMinutes) * 60 + $stdSeconds) * $stdSignum + }] set data [list [list $MINWIDE $stdOffset 0 $stdName]] # If there's no daylight zone, we're done @@ -3892,21 +3783,17 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } { } else { set dstSeconds 0 } - set dstOffset [expr { ( ( $dstHours * 60 + $dstMinutes ) - * 60 + $dstSeconds ) - * $dstSignum }] + set dstOffset [expr { + (($dstHours*60 + $dstMinutes) * 60 + $dstSeconds) * $dstSignum + }] } # Fill in defaults for European or US DST rules - # US start time is the second Sunday in March - # EU start time is the last Sunday in March - # US end time is the first Sunday in November. - # EU end time is the last Sunday in October - - if { [dict get $z startDayOfYear] eq {} - && [dict get $z startMonth] eq {} } { - if {($stdSignum * $stdHours>=0) && ($stdSignum * $stdHours<=12)} { - # EU + + if { + [dict get $z startDayOfYear] eq {} && [dict get $z startMonth] eq {} + } then { + if {($stdHours>=0) && ($stdHours<=12)} { dict set z startWeekOfMonth 5 if {$stdHours>2} { dict set z startHours 2 @@ -3914,7 +3801,6 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } { dict set z startHours [expr {$stdHours+1}] } } else { - # US dict set z startWeekOfMonth 2 dict set z startHours 2 } @@ -3923,10 +3809,10 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } { dict set z startMinutes 0 dict set z startSeconds 0 } - if { [dict get $z endDayOfYear] eq {} - && [dict get $z endMonth] eq {} } { - if {($stdSignum * $stdHours>=0) && ($stdSignum * $stdHours<=12)} { - # EU + if { + [dict get $z endDayOfYear] eq {} && [dict get $z endMonth] eq {} + } then { + if {($stdHours>=0) && ($stdHours<=12)} { dict set z endMonth 10 dict set z endWeekOfMonth 5 if {$stdHours>2} { @@ -3935,7 +3821,6 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } { dict set z endHours [expr {$stdHours+2}] } } else { - # US dict set z endMonth 11 dict set z endWeekOfMonth 1 dict set z endHours 2 @@ -3947,7 +3832,7 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } { # Put DST in effect in all years from 1916 to 2099. - for { set y 1916 } { $y < 2100 } { incr y } { + for { set y 1916 } { $y < 2099 } { incr y } { set startTime [DeterminePosixDSTTime $z start $y] incr startTime [expr { - wide($stdOffset) }] set endTime [DeterminePosixDSTTime $z end $y] @@ -3964,15 +3849,14 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } { } return $data - } #---------------------------------------------------------------------- # # DeterminePosixDSTTime -- # -# Determines the time that Daylight Saving Time starts or ends -# from a Posix time zone specification. +# Determines the time that Daylight Saving Time starts or ends from a +# Posix time zone specification. # # Parameters: # z - Time zone data returned from ParsePosixTimeZone. @@ -3982,13 +3866,12 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } { # y - The year for which the transition time is to be determined. # # Results: -# Returns the transition time as a count of seconds from -# the epoch. The time is relative to the wall clock, not UTC. +# Returns the transition time as a count of seconds from the epoch. The +# time is relative to the wall clock, not UTC. # #---------------------------------------------------------------------- proc ::tcl::clock::DeterminePosixDSTTime { z bound y } { - variable FEB_28 # Determine the start or end day of DST @@ -3996,7 +3879,6 @@ proc ::tcl::clock::DeterminePosixDSTTime { z bound y } { set date [dict create era CE year $y] set doy [dict get $z ${bound}DayOfYear] if { $doy ne {} } { - # Time was specified as a day of the year if { [dict get $z ${bound}J] ne {} @@ -4007,7 +3889,6 @@ proc ::tcl::clock::DeterminePosixDSTTime { z bound y } { dict set date dayOfYear $doy set date [GetJulianDayFromEraYearDay $date[set date {}] 2361222] } else { - # Time was specified as a day of the week within a month dict set date month [dict get $z ${bound}Month] @@ -4022,8 +3903,9 @@ proc ::tcl::clock::DeterminePosixDSTTime { z bound y } { } set jd [dict get $date julianDay] - set seconds [expr { wide($jd) * wide(86400) - - wide(210866803200) }] + set seconds [expr { + wide($jd) * wide(86400) - wide(210866803200) + }] set h [dict get $z ${bound}Hours] if { $h eq {} } { @@ -4045,7 +3927,6 @@ proc ::tcl::clock::DeterminePosixDSTTime { z bound y } { } set tod [expr { ( $h * 60 + $m ) * 60 + $s }] return [expr { $seconds + $tod }] - } #---------------------------------------------------------------------- @@ -4063,26 +3944,26 @@ proc ::tcl::clock::DeterminePosixDSTTime { z bound y } { # for the target locale. # # Results: -# Returns the dictionary, augmented with the keys, 'localeEra' -# and 'localeYear'. +# Returns the dictionary, augmented with the keys, 'localeEra' and +# 'localeYear'. # #---------------------------------------------------------------------- proc ::tcl::clock::GetLocaleEra { date etable } { - set index [BSearch $etable [dict get $date localSeconds]] if { $index < 0} { dict set date localeEra \ [::format %02d [expr { [dict get $date year] / 100 }]] - dict set date localeYear \ - [expr { [dict get $date year] % 100 }] + dict set date localeYear [expr { + [dict get $date year] % 100 + }] } else { dict set date localeEra [lindex $etable $index 1] - dict set date localeYear [expr { [dict get $date year] - - [lindex $etable $index 2] }] + dict set date localeYear [expr { + [dict get $date year] - [lindex $etable $index 2] + }] } return $date - } #---------------------------------------------------------------------- @@ -4100,10 +3981,9 @@ proc ::tcl::clock::GetLocaleEra { date etable } { # adopted in the current locale. # # Results: -# Returns the given dictionary augmented with a 'julianDay' key -# whose value is the desired Julian Day Number, and a 'gregorian' -# key that specifies whether the calendar is Gregorian (1) or -# Julian (0). +# Returns the given dictionary augmented with a 'julianDay' key whose +# value is the desired Julian Day Number, and a 'gregorian' key that +# specifies whether the calendar is Gregorian (1) or Julian (0). # # Side effects: # None. @@ -4114,7 +3994,6 @@ proc ::tcl::clock::GetLocaleEra { date etable } { #---------------------------------------------------------------------- proc ::tcl::clock::GetJulianDayFromEraYearDay {date changeover} { - # Get absolute year number from the civil year switch -exact -- [dict get $date era] { @@ -4130,21 +4009,25 @@ proc ::tcl::clock::GetJulianDayFromEraYearDay {date changeover} { # Try the Gregorian calendar first. dict set date gregorian 1 - set jd [expr { 1721425 - + [dict get $date dayOfYear] - + ( 365 * $ym1 ) - + ( $ym1 / 4 ) - - ( $ym1 / 100 ) - + ( $ym1 / 400 ) }] + set jd [expr { + 1721425 + + [dict get $date dayOfYear] + + ( 365 * $ym1 ) + + ( $ym1 / 4 ) + - ( $ym1 / 100 ) + + ( $ym1 / 400 ) + }] # If the date is before the Gregorian change, use the Julian calendar. if { $jd < $changeover } { dict set date gregorian 0 - set jd [expr { 1721423 - + [dict get $date dayOfYear] - + ( 365 * $ym1 ) - + ( $ym1 / 4 ) }] + set jd [expr { + 1721423 + + [dict get $date dayOfYear] + + ( 365 * $ym1 ) + + ( $ym1 / 4 ) + }] } dict set date julianDay $jd @@ -4155,8 +4038,8 @@ proc ::tcl::clock::GetJulianDayFromEraYearDay {date changeover} { # # GetJulianDayFromEraYearMonthWeekDay -- # -# Determines the Julian Day number corresponding to the nth -# given day-of-the-week in a given month. +# Determines the Julian Day number corresponding to the nth given +# day-of-the-week in a given month. # # Parameters: # date - Dictionary containing the keys, 'era', 'year', 'month' @@ -4175,10 +4058,9 @@ proc ::tcl::clock::GetJulianDayFromEraYearDay {date changeover} { #---------------------------------------------------------------------- proc ::tcl::clock::GetJulianDayFromEraYearMonthWeekDay {date changeover} { - - # Come up with a reference day; either the zeroeth day of the - # given month (dayOfWeekInMonth >= 0) or the seventh day of the - # following month (dayOfWeekInMonth < 0) + # Come up with a reference day; either the zeroeth day of the given month + # (dayOfWeekInMonth >= 0) or the seventh day of the following month + # (dayOfWeekInMonth < 0) set date2 $date set week [dict get $date dayOfWeekInMonth] @@ -4194,7 +4076,6 @@ proc ::tcl::clock::GetJulianDayFromEraYearMonthWeekDay {date changeover} { [dict get $date2 julianDay]] dict set date julianDay [expr { $wd0 + 7 * $week }] return $date - } #---------------------------------------------------------------------- @@ -4217,7 +4098,6 @@ proc ::tcl::clock::GetJulianDayFromEraYearMonthWeekDay {date changeover} { #---------------------------------------------------------------------- proc ::tcl::clock::IsGregorianLeapYear { date } { - switch -exact -- [dict get $date era] { BCE { set year [expr { 1 - [dict get $date year]}] @@ -4237,15 +4117,14 @@ proc ::tcl::clock::IsGregorianLeapYear { date } { } else { return 1 } - } #---------------------------------------------------------------------- # # WeekdayOnOrBefore -- # -# Determine the nearest day of week (given by the 'weekday' -# parameter, Sunday==0) on or before a given Julian Day. +# Determine the nearest day of week (given by the 'weekday' parameter, +# Sunday==0) on or before a given Julian Day. # # Parameters: # weekday -- Day of the week @@ -4260,18 +4139,16 @@ proc ::tcl::clock::IsGregorianLeapYear { date } { #---------------------------------------------------------------------- proc ::tcl::clock::WeekdayOnOrBefore { weekday j } { - set k [expr { ( $weekday + 6 ) % 7 }] return [expr { $j - ( $j - $k ) % 7 }] - } #---------------------------------------------------------------------- # # BSearch -- # -# Service procedure that does binary search in several places -# inside the 'clock' command. +# Service procedure that does binary search in several places inside the +# 'clock' command. # # Parameters: # list - List of lists, sorted in ascending order by the @@ -4279,8 +4156,8 @@ proc ::tcl::clock::WeekdayOnOrBefore { weekday j } { # key - Value to search for # # Results: -# Returns the index of the greatest element in $list that is less -# than or equal to $key. +# Returns the index of the greatest element in $list that is less than +# or equal to $key. # # Side effects: # None. @@ -4288,7 +4165,6 @@ proc ::tcl::clock::WeekdayOnOrBefore { weekday j } { #---------------------------------------------------------------------- proc ::tcl::clock::BSearch { list key } { - if {[llength $list] == 0} { return -1 } @@ -4300,13 +4176,12 @@ proc ::tcl::clock::BSearch { list key } { set u [expr { [llength $list] - 1 }] while { $l < $u } { - # At this point, we know that # $k >= [lindex $list $l 0] # Either $u == [llength $list] or else $k < [lindex $list $u+1 0] # We find the midpoint of the interval {l,u} rounded UP, compare - # against it, and set l or u to maintain the invariant. Note - # that the interval shrinks at each step, guaranteeing convergence. + # against it, and set l or u to maintain the invariant. Note that the + # interval shrinks at each step, guaranteeing convergence. set m [expr { ( $l + $u + 1 ) / 2 }] if { $key >= [lindex $list $m 0] } { @@ -4350,15 +4225,14 @@ proc ::tcl::clock::BSearch { list key } { # order. # # Notes: -# It is possible that adding a number of months or years will adjust -# the day of the month as well. For instance, the time at -# one month after 31 January is either 28 or 29 February, because -# February has fewer than 31 days. +# It is possible that adding a number of months or years will adjust the +# day of the month as well. For instance, the time at one month after +# 31 January is either 28 or 29 February, because February has fewer +# than 31 days. # #---------------------------------------------------------------------- proc ::tcl::clock::add { clockval args } { - if { [llength $args] % 2 != 0 } { set cmdName "clock add" return -code error \ @@ -4377,15 +4251,10 @@ proc ::tcl::clock::add { clockval args } { set timezone [GetSystemTimeZone] foreach { a b } $args { - if { [string is integer -strict $a] } { - lappend offsets $a $b - } else { - switch -exact -- $a { - -g - -gm - -gmt { set gmt $b } @@ -4397,8 +4266,7 @@ proc ::tcl::clock::add { clockval args } { set timezone $b } default { - return -code error \ - -errorcode [list CLOCK badSwitch $a] \ + throw [list CLOCK badSwitch $a] \ "bad switch \"$a\",\ must be -gmt, -locale or -timezone" } @@ -4414,16 +4282,12 @@ proc ::tcl::clock::add { clockval args } { "cannot use -gmt and -timezone in same call" } if { [catch { expr { wide($clockval) } } result] } { - return -code error \ - "expected integer but got \"$clockval\"" + return -code error "expected integer but got \"$clockval\"" } - if { ![string is boolean $gmt] } { - return -code error \ - "expected boolean value but got \"$gmt\"" - } else { - if { $gmt } { - set timezone :GMT - } + if { ![string is boolean -strict $gmt] } { + return -code error "expected boolean value but got \"$gmt\"" + } elseif { $gmt } { + set timezone :GMT } EnterLocale $locale oldLocale @@ -4435,29 +4299,25 @@ proc ::tcl::clock::add { clockval args } { return -options $opts $retval } - set status [catch { - + try { foreach { quantity unit } $offsets { - switch -exact -- $unit { - years - year { - set clockval \ - [AddMonths [expr { 12 * $quantity }] \ - $clockval $timezone $changeover] + set clockval [AddMonths [expr { 12 * $quantity }] \ + $clockval $timezone $changeover] } months - month { set clockval [AddMonths $quantity $clockval $timezone \ - $changeover] + $changeover] } weeks - week { set clockval [AddDays [expr { 7 * $quantity }] \ - $clockval $timezone $changeover] + $clockval $timezone $changeover] } days - day { set clockval [AddDays $quantity $clockval $timezone \ - $changeover] + $changeover] } hours - hour { @@ -4471,31 +4331,24 @@ proc ::tcl::clock::add { clockval args } { } default { - error "unknown unit \"$unit\", must be \ - years, months, weeks, days, hours, minutes or seconds" \ - "unknown unit \"$unit\", must be \ - years, months, weeks, days, hours, minutes or seconds" \ - [list CLOCK badUnit $unit] + throw [list CLOCK badUnit $unit] \ + "unknown unit \"$unit\", must be \ + years, months, weeks, days, hours, minutes or seconds" } } } - } result opts] - - # Restore the locale - - if { [info exists oldLocale] } { - mclocale $oldLocale - } + return $clockval + } trap CLOCK {result opts} { + # Conceal the innards of [clock] when it's an expected error + dict unset opts -errorinfo + return -options $opts $result + } finally { + # Restore the locale - if { $status == 1 } { - if { [lindex [dict get $opts -errorcode] 0] eq {CLOCK} } { - dict unset opts -errorinfo + if { [info exists oldLocale] } { + mclocale $oldLocale } - return -options $opts $result - } else { - return $clockval } - } #---------------------------------------------------------------------- @@ -4520,7 +4373,6 @@ proc ::tcl::clock::add { clockval args } { #---------------------------------------------------------------------- proc ::tcl::clock::AddMonths { months clockval timezone changeover } { - variable DaysInRomanMonthInCommonYear variable DaysInRomanMonthInLeapYear variable TZData @@ -4528,8 +4380,9 @@ proc ::tcl::clock::AddMonths { months clockval timezone changeover } { # Convert the time to year, month, day, and fraction of day. set date [GetDateFields $clockval $TZData($timezone) $changeover] - dict set date secondOfDay [expr { [dict get $date localSeconds] - % 86400 }] + dict set date secondOfDay [expr { + [dict get $date localSeconds] % 86400 + }] dict set date tzName $timezone # Add the requisite number of months @@ -4558,23 +4411,23 @@ proc ::tcl::clock::AddMonths { months clockval timezone changeover } { set date [GetJulianDayFromEraYearMonthDay \ $date[set date {}]\ $changeover] - dict set date localSeconds \ - [expr { -210866803200 - + ( 86400 * wide([dict get $date julianDay]) ) - + [dict get $date secondOfDay] }] + dict set date localSeconds [expr { + -210866803200 + + ( 86400 * wide([dict get $date julianDay]) ) + + [dict get $date secondOfDay] + }] set date [ConvertLocalToUTC $date[set date {}] $TZData($timezone) \ $changeover] return [dict get $date seconds] - } #---------------------------------------------------------------------- # # AddDays -- # -# Add a given number of days to a given clock value in a given -# time zone. +# Add a given number of days to a given clock value in a given time +# zone. # # Parameters: # days - Number of days to add (may be negative) @@ -4584,8 +4437,7 @@ proc ::tcl::clock::AddMonths { months clockval timezone changeover } { # in the target locale. # # Results: -# Returns the new clock value as a number of seconds since -# the epoch. +# Returns the new clock value as a number of seconds since the epoch. # # Side effects: # None. @@ -4593,14 +4445,14 @@ proc ::tcl::clock::AddMonths { months clockval timezone changeover } { #---------------------------------------------------------------------- proc ::tcl::clock::AddDays { days clockval timezone changeover } { - variable TZData # Convert the time to Julian Day set date [GetDateFields $clockval $TZData($timezone) $changeover] - dict set date secondOfDay [expr { [dict get $date localSeconds] - % 86400 }] + dict set date secondOfDay [expr { + [dict get $date localSeconds] % 86400 + }] dict set date tzName $timezone # Add the requisite number of days @@ -4609,23 +4461,23 @@ proc ::tcl::clock::AddDays { days clockval timezone changeover } { # Reconvert to a number of seconds - dict set date localSeconds \ - [expr { -210866803200 - + ( 86400 * wide([dict get $date julianDay]) ) - + [dict get $date secondOfDay] }] + dict set date localSeconds [expr { + -210866803200 + + ( 86400 * wide([dict get $date julianDay]) ) + + [dict get $date secondOfDay] + }] set date [ConvertLocalToUTC $date[set date {}] $TZData($timezone) \ $changeover] return [dict get $date seconds] - } #---------------------------------------------------------------------- # # mc -- # -# Wrapper around ::msgcat::mc that caches the result according -# to the locale. +# Wrapper around ::msgcat::mc that caches the result according to the +# locale. # # Parameters: # Accepts the name of the message to retrieve. @@ -4646,11 +4498,10 @@ proc ::tcl::clock::mc { name } { set Locale [mclocale] if { [dict exists $McLoaded $Locale $name] } { return [dict get $McLoaded $Locale $name] - } else { - set val [::msgcat::mc $name] - dict set McLoaded $Locale $name $val - return $val } + set val [::msgcat::mc $name] + dict set McLoaded $Locale $name $val + return $val } #---------------------------------------------------------------------- @@ -4671,7 +4522,6 @@ proc ::tcl::clock::mc { name } { #---------------------------------------------------------------------- proc ::tcl::clock::ClearCaches {} { - variable FormatProc variable LocaleNumeralCache variable McLoaded @@ -4691,5 +4541,4 @@ proc ::tcl::clock::ClearCaches {} { catch {unset CachedSystemTimeZone} set TimeZoneBad {} InitTZData - } diff --git a/library/dde/pkgIndex.tcl b/library/dde/pkgIndex.tcl index 114dee6..3125ada 100644 --- a/library/dde/pkgIndex.tcl +++ b/library/dde/pkgIndex.tcl @@ -1,7 +1,7 @@ -if {![package vsatisfies [package provide Tcl] 8]} return -if {[info sharedlibextension] != ".dll"} return +if {![package vsatisfies [package provide Tcl] 8]} {return} +if {[string compare $::tcl_platform(platform) windows]} {return} if {[info exists ::tcl_platform(debug)]} { - package ifneeded dde 1.3.3 [list load [file join $dir tcldde13g.dll] dde] + package ifneeded dde 1.3.2 [list load [file join $dir tcldde13g.dll] dde] } else { - package ifneeded dde 1.3.3 [list load [file join $dir tcldde13.dll] dde] + package ifneeded dde 1.3.2 [list load [file join $dir tcldde13.dll] dde] } diff --git a/library/history.tcl b/library/history.tcl index 888d144..077d604 100644 --- a/library/history.tcl +++ b/library/history.tcl @@ -2,20 +2,22 @@ # # Implementation of the history command. # +# RCS: @(#) $Id: history.tcl,v 1.8 2009/07/25 21:51:02 dkf Exp $ +# # Copyright (c) 1997 Sun Microsystems, Inc. # -# See the file "license.terms" for information on usage and redistribution -# of this file, and for a DISCLAIMER OF ALL WARRANTIES. +# See the file "license.terms" for information on usage and redistribution of +# this file, and for a DISCLAIMER OF ALL WARRANTIES. # - -# The tcl::history array holds the history list and -# some additional bookkeeping variables. + +# The tcl::history array holds the history list and some additional +# bookkeeping variables. # # nextid the index used for the next history list item. # keep the max size of the history list # oldest the index of the oldest item in the history. -namespace eval tcl { +namespace eval ::tcl { variable history if {![info exists history]} { array set history { @@ -24,163 +26,78 @@ namespace eval tcl { oldest -20 } } -} + namespace ensemble create -command ::tcl::history -map { + add ::tcl::HistAdd + change ::tcl::HistChange + clear ::tcl::HistClear + event ::tcl::HistEvent + info ::tcl::HistInfo + keep ::tcl::HistKeep + nextid ::tcl::HistNextID + redo ::tcl::HistRedo + } +} + # history -- # # This is the main history command. See the man page for its interface. -# This does argument checking and calls helper procedures in the -# history namespace. +# This does some argument checking and calls the helper ensemble in the +# tcl namespace. -proc history {args} { - set len [llength $args] - if {$len == 0} { - return [tcl::HistInfo] - } - set key [lindex $args 0] - set options "add, change, clear, event, info, keep, nextid, or redo" - switch -glob -- $key { - a* { # history add +proc ::history {args} { + # If no command given, we're doing 'history info'. Can't be done with an + # ensemble unknown handler, as those don't fire when no subcommand is + # given at all. - if {$len > 3} { - return -code error "wrong # args: should be \"history add event ?exec?\"" - } - if {![string match $key* add]} { - return -code error "bad option \"$key\": must be $options" - } - if {$len == 3} { - set arg [lindex $args 2] - if {! ([string match e* $arg] && [string match $arg* exec])} { - return -code error "bad argument \"$arg\": should be \"exec\"" - } - } - return [tcl::HistAdd [lindex $args 1] [lindex $args 2]] - } - ch* { # history change - - if {($len > 3) || ($len < 2)} { - return -code error "wrong # args: should be \"history change newValue ?event?\"" - } - if {![string match $key* change]} { - return -code error "bad option \"$key\": must be $options" - } - if {$len == 2} { - set event 0 - } else { - set event [lindex $args 2] - } - - return [tcl::HistChange [lindex $args 1] $event] - } - cl* { # history clear - - if {($len > 1)} { - return -code error "wrong # args: should be \"history clear\"" - } - if {![string match $key* clear]} { - return -code error "bad option \"$key\": must be $options" - } - return [tcl::HistClear] - } - e* { # history event - - if {$len > 2} { - return -code error "wrong # args: should be \"history event ?event?\"" - } - if {![string match $key* event]} { - return -code error "bad option \"$key\": must be $options" - } - if {$len == 1} { - set event -1 - } else { - set event [lindex $args 1] - } - return [tcl::HistEvent $event] - } - i* { # history info - - if {$len > 2} { - return -code error "wrong # args: should be \"history info ?count?\"" - } - if {![string match $key* info]} { - return -code error "bad option \"$key\": must be $options" - } - return [tcl::HistInfo [lindex $args 1]] - } - k* { # history keep - - if {$len > 2} { - return -code error "wrong # args: should be \"history keep ?count?\"" - } - if {$len == 1} { - return [tcl::HistKeep] - } else { - set limit [lindex $args 1] - if {[catch {expr {~$limit}}] || ($limit < 0)} { - return -code error "illegal keep count \"$limit\"" - } - return [tcl::HistKeep $limit] - } - } - n* { # history nextid - - if {$len > 1} { - return -code error "wrong # args: should be \"history nextid\"" - } - if {![string match $key* nextid]} { - return -code error "bad option \"$key\": must be $options" - } - return [expr {$tcl::history(nextid) + 1}] - } - r* { # history redo - - if {$len > 2} { - return -code error "wrong # args: should be \"history redo ?event?\"" - } - if {![string match $key* redo]} { - return -code error "bad option \"$key\": must be $options" - } - return [tcl::HistRedo [lindex $args 1]] - } - default { - return -code error "bad option \"$key\": must be $options" - } + if {[llength $args] == 0} { + set args info } -} + # Tricky stuff needed to make stack and errors come out right! + tailcall apply {args {tailcall history {*}$args} ::tcl} {*}$args +} + # tcl::HistAdd -- # # Add an item to the history, and optionally eval it at the global scope # # Parameters: -# command the command to add -# exec (optional) a substring of "exec" causes the -# command to be evaled. +# event the command to add +# exec (optional) a substring of "exec" causes the command to +# be evaled. # Results: # If executing, then the results of the command are returned # # Side Effects: # Adds to the history list - proc tcl::HistAdd {command {exec {}}} { +proc ::tcl::HistAdd {event {exec {}}} { variable history + if { + [prefix longest {exec {}} $exec] eq "" + && [llength [info level 0]] == 3 + } then { + return -code error "bad argument \"$exec\": should be \"exec\"" + } + # Do not add empty commands to the history - if {[string trim $command] eq ""} { + if {[string trim $event] eq ""} { return "" } - set i [incr history(nextid)] - set history($i) $command - set j [incr history(oldest)] - unset -nocomplain history($j) - if {[string match e* $exec]} { - return [uplevel #0 $command] - } else { - return {} + # Maintain the history + set history([incr history(nextid)]) $event + unset -nocomplain history([incr history(oldest)]) + + # Only execute if 'exec' (or non-empty prefix of it) given + if {$exec eq ""} { + return "" } + tailcall eval $event } - + # tcl::HistKeep -- # # Set or query the limit on the length of the history list @@ -194,20 +111,22 @@ proc history {args} { # Side Effects: # Updates history(keep) if a limit is specified - proc tcl::HistKeep {{limit {}}} { +proc ::tcl::HistKeep {{count {}}} { variable history - if {$limit eq ""} { + if {[llength [info level 0]] == 1} { return $history(keep) - } else { - set oldold $history(oldest) - set history(oldest) [expr {$history(nextid) - $limit}] - for {} {$oldold <= $history(oldest)} {incr oldold} { - unset -nocomplain history($oldold) - } - set history(keep) $limit } + if {![string is integer -strict $count] || ($count < 0)} { + return -code error "illegal keep count \"$count\"" + } + set oldold $history(oldest) + set history(oldest) [expr {$history(nextid) - $count}] + for {} {$oldold <= $history(oldest)} {incr oldold} { + unset -nocomplain history($oldold) + } + set history(keep) $count } - + # tcl::HistClear -- # # Erase the history list @@ -221,7 +140,7 @@ proc history {args} { # Side Effects: # Resets the history array, except for the keep limit - proc tcl::HistClear {} { +proc ::tcl::HistClear {} { variable history set keep $history(keep) unset history @@ -231,7 +150,7 @@ proc history {args} { oldest -$keep \ ] } - + # tcl::HistInfo -- # # Return a pretty-printed version of the history list @@ -242,14 +161,16 @@ proc history {args} { # Results: # A formatted history list - proc tcl::HistInfo {{num {}}} { +proc ::tcl::HistInfo {{count {}}} { variable history - if {$num eq ""} { - set num [expr {$history(keep) + 1}] + if {[llength [info level 0]] == 1} { + set count [expr {$history(keep) + 1}] + } elseif {![string is integer -strict $count]} { + return -code error "bad integer \"$count\"" } set result {} set newline "" - for {set i [expr {$history(nextid) - $num + 1}]} \ + for {set i [expr {$history(nextid) - $count + 1}]} \ {$i <= $history(nextid)} {incr i} { if {![info exists history($i)]} { continue @@ -260,11 +181,11 @@ proc history {args} { } return $result } - + # tcl::HistRedo -- # -# Fetch the previous or specified event, execute it, and then -# replace the current history item with that event. +# Fetch the previous or specified event, execute it, and then replace +# the current history item with that event. # # Parameters: # event (optional) index of history item to redo. Defaults to -1, @@ -276,20 +197,18 @@ proc history {args} { # Side Effects: # Replaces the current history list item with the one being redone. - proc tcl::HistRedo {{event -1}} { +proc ::tcl::HistRedo {{event -1}} { variable history - if {$event eq ""} { - set event -1 - } + set i [HistIndex $event] if {$i == $history(nextid)} { return -code error "cannot redo the current event" } set cmd $history($i) HistChange $cmd 0 - uplevel #0 $cmd + tailcall eval $cmd } - + # tcl::HistIndex -- # # Map from an event specifier to an index in the history list. @@ -299,15 +218,15 @@ proc history {args} { # If this is a positive number, it is used directly. # If it is a negative number, then it counts back to a previous # event, where -1 is the most recent event. -# A string can be matched, either by being the prefix of -# a command or by matching a command with string match. +# A string can be matched, either by being the prefix of a +# command or by matching a command with string match. # # Results: # The index into history, or an error if the index didn't match. - proc tcl::HistIndex {event} { +proc ::tcl::HistIndex {event} { variable history - if {[catch {expr {~$event}}]} { + if {![string is integer -strict $event]} { for {set i [expr {$history(nextid)-1}]} {[info exists history($i)]} \ {incr i -1} { if {[string match $event* $history($i)]} { @@ -331,43 +250,64 @@ proc history {args} { } return $i } - + # tcl::HistEvent -- # # Map from an event specifier to the value in the history list. # # Parameters: -# event index of history item to redo. See index for a -# description of possible event patterns. +# event index of history item to redo. See index for a description of +# possible event patterns. # # Results: # The value from the history list. - proc tcl::HistEvent {event} { +proc ::tcl::HistEvent {{event -1}} { variable history set i [HistIndex $event] - if {[info exists history($i)]} { - return [string trimright $history($i) \ \n] - } else { - return ""; + if {![info exists history($i)]} { + return "" } + return [string trimright $history($i) \ \n] } - + # tcl::HistChange -- # # Replace a value in the history list. # # Parameters: -# cmd The new value to put into the history list. -# event (optional) index of history item to redo. See index for a -# description of possible event patterns. This defaults -# to 0, which specifies the current event. +# newValue The new value to put into the history list. +# event (optional) index of history item to redo. See index for a +# description of possible event patterns. This defaults to 0, +# which specifies the current event. # # Side Effects: # Changes the history list. - proc tcl::HistChange {cmd {event 0}} { +proc ::tcl::HistChange {newValue {event 0}} { variable history set i [HistIndex $event] - set history($i) $cmd + set history($i) $newValue } + +# tcl::HistNextID -- +# +# Returns the number of the next history event. +# +# Parameters: +# None. +# +# Side Effects: +# None. + +proc ::tcl::HistNextID {} { + variable history + return [expr {$history(nextid) + 1}] +} + +return + +# Local Variables: +# mode: tcl +# fill-column: 78 +# End: diff --git a/library/http/http.tcl b/library/http/http.tcl index 98d2c5d..654d8b0 100644 --- a/library/http/http.tcl +++ b/library/http/http.tcl @@ -7,11 +7,13 @@ # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. +# +# RCS: @(#) $Id: http.tcl,v 1.76 2009/04/19 18:27:59 patthoyts Exp $ -package require Tcl 8.4 +package require Tcl 8.6 # Keep this in sync with pkgIndex.tcl and with the install directories in # Makefiles -package provide http 2.7.12 +package provide http 2.8.1 namespace eval http { # Allow resourcing to not clobber existing data @@ -25,7 +27,13 @@ namespace eval http { -proxyfilter http::ProxyRequired -urlencoding utf-8 } - set http(-useragent) "Tcl http client package [package provide http]" + # We need a useragent string of this style or various servers will refuse to + # send us compressed content even when we ask for it. This follows the + # de-facto layout of user-agent strings in current browsers. + set http(-useragent) "Mozilla/5.0\ + ([string totitle $::tcl_platform(platform)]; U;\ + $::tcl_platform(os) $::tcl_platform(osVersion))\ + http/[package provide http] Tcl/[package provide Tcl]" } proc init {} { @@ -37,11 +45,11 @@ namespace eval http { for {set i 0} {$i <= 256} {incr i} { set c [format %c $i] if {![string match {[-._~a-zA-Z0-9]} $c]} { - set map($c) %[format %.2X $i] + set map($c) %[format %.2x $i] } } # These are handled specially - set map(\n) %0D%0A + set map(\n) %0d%0a variable formMap [array get map] # Create a map for HTTP/1.1 open sockets @@ -92,7 +100,7 @@ namespace eval http { # Arguments: # msg Message to output # -proc http::Log {args} {} +if {[info command http::Log] eq {}} { proc http::Log {args} {} } # http::register -- # @@ -199,13 +207,15 @@ proc http::Finish {token {errormsg ""} {skipCB 0}} { if {[info exists state(after)]} { after cancel $state(after) } - if {[info exists state(-command)] && !$skipCB - && ![info exists state(done-command-cb)]} { - set state(done-command-cb) yes - if {[catch {eval $state(-command) {$token}} err] && $errormsg eq ""} { - set state(error) [list $err $errorInfo $errorCode] - set state(status) error + if {[info exists state(-command)] && !$skipCB} { + if {[catch {eval $state(-command) {$token}} err]} { + if {$errormsg eq ""} { + set state(error) [list $err $errorInfo $errorCode] + set state(status) error + } } + # Command callback may already have unset our state + unset -nocomplain state(-command) } } @@ -388,16 +398,13 @@ proc http::geturl {url args} { # First, before the colon, is the protocol scheme (e.g. http) # Second, for HTTP-like protocols, is the authority # The authority is preceded by // and lasts up to (but not including) - # the following / or ? and it identifies up to four parts, of which - # only one, the host, is required (if an authority is present at all). - # All other parts of the authority (user name, password, port number) - # are optional. + # the following / and it identifies up to four parts, of which only one, + # the host, is required (if an authority is present at all). All other + # parts of the authority (user name, password, port number) are optional. # Third is the resource name, which is split into two parts at a ? # The first part (from the single "/" up to "?") is the path, and the # second part (from that "?" up to "#") is the query. *HOWEVER*, we do # not need to separate them; we send the whole lot to the server. - # Both, path and query are allowed to be missing, including their - # delimiting character. # Fourth is the fragment identifier, which is everything after the first # "#" in the URL. The fragment identifier MUST NOT be sent to the server # and indeed, we don't bother to validate it (it could be an error to @@ -432,7 +439,7 @@ proc http::geturl {url args} { ( [^/:\#?]+ ) # <host part of authority> (?: : (\d+) )? # <port part of authority> )? - ( [/\?] [^\#]*)? # <path> (including query) + ( / [^\#?]* (?: \? [^\#?]* )?)? # <path> (including query) (?: \# (.*) )? # <fragment> $ } @@ -475,12 +482,6 @@ proc http::geturl {url args} { } } if {$srvurl ne ""} { - # RFC 3986 allows empty paths (not even a /), but servers - # return 400 if the path in the HTTP request doesn't start - # with / , so add it here if needed. - if {[string index $srvurl 0] ne "/"} { - set srvurl /$srvurl - } # Check for validity according to RFC 3986, Appendix A set validityRE {(?xi) ^ @@ -537,10 +538,11 @@ proc http::geturl {url args} { # If a timeout is specified we set up the after event and arrange for an # asynchronous socket connection. - set sockopts [list -async] + set sockopts [list] if {$state(-timeout) > 0} { set state(after) [after $state(-timeout) \ [list http::reset $token timeout]] + lappend sockopts -async } # If we are using the proxy, we must pass in the full URL that includes @@ -596,15 +598,10 @@ proc http::geturl {url args} { set socketmap($state(socketinfo)) $sock } - if {![info exists phost]} { - set phost "" - } - fileevent $sock writable [list http::Connect $token $proto $phost $srvurl] - # Wait for the connection to complete. - if {![info exists state(-command)]} { - # geturl does EVERYTHING asynchronously, so if the user - # calls it synchronously, we just do a wait here. + + if {$state(-timeout) > 0} { + fileevent $sock writable [list http::Connect $token] http::wait $token if {![info exists state]} { @@ -620,29 +617,13 @@ proc http::geturl {url args} { set err [lindex $state(error) 0] cleanup $token return -code error $err + } elseif {$state(status) ne "connect"} { + # Likely to be connection timeout + return $token } + set state(status) "" } - return $token -} - - -proc http::Connected { token proto phost srvurl} { - variable http - variable urlTypes - - variable $token - upvar 0 $token state - - # Set back the variables needed here - set sock $state(sock) - set isQueryChannel [info exists state(-querychannel)] - set isQuery [info exists state(-query)] - set host [lindex [split $state(socketinfo) :] 0] - set port [lindex [split $state(socketinfo) :] 1] - - set defport [lindex $urlTypes($proto) 0] - # Send data in cr-lf format, but accept any line terminators fconfigure $sock -translation {auto crlf} -buffersize $state(-blocksize) @@ -674,7 +655,11 @@ proc http::Connected { token proto phost srvurl} { if {[info exists state(-method)] && $state(-method) ne ""} { set how $state(-method) } - + # We cannot handle chunked encodings with -handler, so force HTTP/1.0 + # until we can manage this. + if {[info exists state(-handler)]} { + set state(-protocol) 1.0 + } if {[catch { puts $sock "$how $srvurl HTTP/$state(-protocol)" puts $sock "Accept: $http(-accept)" @@ -701,7 +686,6 @@ proc http::Connected { token proto phost srvurl} { puts $sock "Proxy-Connection: Keep-Alive" } set accept_encoding_seen 0 - set content_type_seen 0 foreach {key value} $state(-headers) { if {[string equal -nocase $key "host"]} { continue @@ -709,9 +693,6 @@ proc http::Connected { token proto phost srvurl} { if {[string equal -nocase $key "accept-encoding"]} { set accept_encoding_seen 1 } - if {[string equal -nocase $key "content-type"]} { - set content_type_seen 1 - } set value [string map [list \n "" \r ""] $value] set key [string trim $key] if {[string equal -nocase $key "content-length"]} { @@ -722,14 +703,8 @@ proc http::Connected { token proto phost srvurl} { puts $sock "$key: $value" } } - # Soft zlib dependency check - no package require - if { - !$accept_encoding_seen && - ([package vsatisfies [package provide Tcl] 8.6] - || [llength [package provide zlib]]) && - !([info exists state(-channel)] || [info exists state(-handler)]) - } then { - puts $sock "Accept-Encoding: gzip, identity, *;q=0.1" + if {!$accept_encoding_seen && ![info exists state(-handler)]} { + puts $sock "Accept-Encoding: deflate,gzip,compress" } if {$isQueryChannel && $state(querylength) == 0} { # Try to determine size of data in channel. If we cannot seek, the @@ -760,9 +735,7 @@ proc http::Connected { token proto phost srvurl} { # response. if {$isQuery || $isQueryChannel} { - if {!$content_type_seen} { - puts $sock "Content-Type: $state(-type)" - } + puts $sock "Content-Type: $state(-type)" if {!$contDone} { puts $sock "Content-Length: $state(querylength)" } @@ -775,17 +748,35 @@ proc http::Connected { token proto phost srvurl} { fileevent $sock readable [list http::Event $sock $token] } + if {![info exists state(-command)]} { + # geturl does EVERYTHING asynchronously, so if the user calls it + # synchronously, we just do a wait here. + + wait $token + if {$state(status) eq "error"} { + # Something went wrong, so throw the exception, and the + # enclosing catch will do cleanup. + return -code error [lindex $state(error) 0] + } + } } err]} then { # The socket probably was never connected, or the connection dropped # later. + # Clean up after events and such, but DON'T call the command callback + # (if available) because we're going to throw an exception from here + # instead. + # if state(status) is error, it means someone's already called Finish # to do the above-described clean up. if {$state(status) ne "error"} { - Finish $token $err + Finish $token $err 1 } + cleanup $token + return -code error $err } + return $token } # Data access functions: @@ -869,18 +860,18 @@ proc http::cleanup {token} { # Sets the status of the connection, which unblocks # the waiting geturl call -proc http::Connect {token proto phost srvurl} { +proc http::Connect {token} { variable $token upvar 0 $token state - set err "due to unexpected EOF" + global errorInfo errorCode if { [eof $state(sock)] || - [set err [fconfigure $state(sock) -error]] ne "" + [string length [fconfigure $state(sock) -error]] } then { - Finish $token "connect failed $err" + Finish $token "connect failed [fconfigure $state(sock) -error]" 1 } else { + set state(status) connect fileevent $state(sock) writable {} - ::http::Connected $token $proto $phost $srvurl } return } @@ -985,7 +976,7 @@ proc http::Event {sock token} { } elseif {$n == 0} { # We have now read all headers # We ignore HTTP/1.1 100 Continue returns. RFC2616 sec 8.2.3 - if {$state(http) == "" || ([regexp {^\S+\s(\d+)} $state(http) {} x] && $x == 100)} { + if {$state(http) == "" || [lindex $state(http) 1] == 100} { return } @@ -1021,22 +1012,16 @@ proc http::Event {sock token} { # Turn off conversions for non-text data set state(binary) 1 } - if { - $state(binary) || [string match *gzip* $state(coding)] || - [string match *compress* $state(coding)] - } then { - if {[info exists state(-channel)]} { + if {[info exists state(-channel)]} { + if {$state(binary) || [llength [ContentEncoding $token]]} { fconfigure $state(-channel) -translation binary } - } - if { - [info exists state(-channel)] && - ![info exists state(-handler)] - } then { - # Initiate a sequence of background fcopies - fileevent $sock readable {} - CopyStart $sock $token - return + if {![info exists state(-handler)]} { + # Initiate a sequence of background fcopies + fileevent $sock readable {} + CopyStart $sock $token + return + } } } elseif {$n > 0} { # Process header lines @@ -1045,14 +1030,8 @@ proc http::Event {sock token} { content-type { set state(type) [string trim [string tolower $value]] # grab the optional charset information - if {[regexp -nocase \ - {charset\s*=\s*\"((?:[^""]|\\\")*)\"} \ - $state(type) -> cs]} { - set state(charset) [string map {{\"} \"} $cs] - } else { - regexp -nocase {charset\s*=\s*(\S+?);?} \ - $state(type) -> state(charset) - } + regexp -nocase {charset\s*=\s*(\S+?);?} \ + $state(type) -> state(charset) } content-length { set state(totalsize) [string trim $value] @@ -1188,14 +1167,54 @@ proc http::getTextLine {sock} { # Side Effects # This closes the connection upon error -proc http::CopyStart {sock token} { - variable $token +proc http::CopyStart {sock token {initial 1}} { + upvar #0 $token state + if {[info exists state(transfer)] && $state(transfer) eq "chunked"} { + foreach coding [ContentEncoding $token] { + lappend state(zlib) [zlib stream $coding] + } + make-transformation-chunked $sock [namespace code [list CopyChunk $token]] + } else { + if {$initial} { + foreach coding [ContentEncoding $token] { + zlib push $coding $sock + } + } + if {[catch { + fcopy $sock $state(-channel) -size $state(-blocksize) -command \ + [list http::CopyDone $token] + } err]} { + Finish $token $err + } + } +} + +proc http::CopyChunk {token chunk} { upvar 0 $token state - if {[catch { - fcopy $sock $state(-channel) -size $state(-blocksize) -command \ - [list http::CopyDone $token] - } err]} then { - Finish $token $err + if {[set count [string length $chunk]]} { + incr state(currentsize) $count + if {[info exists state(zlib)]} { + foreach stream $state(zlib) { + set chunk [$stream add $chunk] + } + } + puts -nonewline $state(-channel) $chunk + if {[info exists state(-progress)]} { + eval [linsert $state(-progress) end \ + $token $state(totalsize) $state(currentsize)] + } + } else { + Log "CopyChunk Finish $token" + if {[info exists state(zlib)]} { + set excess "" + foreach stream $state(zlib) { + catch {set excess [$stream add -finalize $excess]} + } + puts -nonewline $state(-channel) $excess + foreach stream $state(zlib) { $stream close } + unset state(zlib) + } + Eof $token ;# FIX ME: pipelining. } } @@ -1225,7 +1244,7 @@ proc http::CopyDone {token count {error {}}} { } elseif {[catch {eof $sock} iseof] || $iseof} { Eof $token } else { - CopyStart $sock $token + CopyStart $sock $token 0 } } @@ -1249,34 +1268,31 @@ proc http::Eof {token {force 0}} { set state(status) ok } - if {($state(coding) eq "gzip") && [string length $state(body)] > 0} { - if {[catch { - if {[package vsatisfies [package present Tcl] 8.6]} { - # The zlib integration into 8.6 includes proper gzip support - set state(body) [zlib gunzip $state(body)] - } else { - set state(body) [Gunzip $state(body)] + if {[string length $state(body)] > 0} { + if {[catch { + foreach coding [ContentEncoding $token] { + set state(body) [zlib $coding $state(body)] } - } err]} then { + } err]} { + Log "error doing $coding '$state(body)'" return [Finish $token $err] - } - } - - if {!$state(binary)} { - # If we are getting text, set the incoming channel's encoding - # correctly. iso8859-1 is the RFC default, but this could be any IANA - # charset. However, we only know how to convert what we have - # encodings for. - - set enc [CharsetToEncoding $state(charset)] - if {$enc ne "binary"} { - set state(body) [encoding convertfrom $enc $state(body)] - } - - # Translate text line endings. - set state(body) [string map {\r\n \n \r \n} $state(body)] + } + + if {!$state(binary)} { + # If we are getting text, set the incoming channel's encoding + # correctly. iso8859-1 is the RFC default, but this could be any IANA + # charset. However, we only know how to convert what we have + # encodings for. + + set enc [CharsetToEncoding $state(charset)] + if {$enc ne "binary"} { + set state(body) [encoding convertfrom $enc $state(body)] + } + + # Translate text line endings. + set state(body) [string map {\r\n \n \r \n} $state(body)] + } } - Finish $token } @@ -1421,59 +1437,57 @@ proc http::CharsetToEncoding {charset} { } } -# http::Gunzip -- -# -# Decompress data transmitted using the gzip transfer coding. -# - -# FIX ME: redo using zlib sinflate -proc http::Gunzip {data} { - binary scan $data Scb5icc magic method flags time xfl os - set pos 10 - if {$magic != 0x1f8b} { - return -code error "invalid data: supplied data is not in gzip format" - } - if {$method != 8} { - return -code error "invalid compression method" - } - - # lassign [split $flags ""] f_text f_crc f_extra f_name f_comment - foreach {f_text f_crc f_extra f_name f_comment} [split $flags ""] break - set extra "" - if {$f_extra} { - binary scan $data @${pos}S xlen - incr pos 2 - set extra [string range $data $pos $xlen] - set pos [incr xlen] - } - - set name "" - if {$f_name} { - set ndx [string first \0 $data $pos] - set name [string range $data $pos $ndx] - set pos [incr ndx] - } - - set comment "" - if {$f_comment} { - set ndx [string first \0 $data $pos] - set comment [string range $data $pos $ndx] - set pos [incr ndx] - } - - set fcrc "" - if {$f_crc} { - set fcrc [string range $data $pos [incr pos]] - incr pos +# Return the list of content-encoding transformations we need to do in order. +proc http::ContentEncoding {token} { + upvar 0 $token state + set r {} + if {[info exists state(coding)]} { + foreach coding [split $state(coding) ,] { + switch -exact -- $coding { + deflate { lappend r inflate } + gzip - x-gzip { lappend r gunzip } + compress - x-compress { lappend r decompress } + identity {} + default { + return -code error "unsupported content-encoding \"$coding\"" + } + } + } } + return $r +} - binary scan [string range $data end-7 end] ii crc size - set inflated [zlib inflate [string range $data $pos end-8]] - set chk [zlib crc32 $inflated] - if {($crc & 0xffffffff) != ($chk & 0xffffffff)} { - return -code error "invalid data: checksum mismatch $crc != $chk" - } - return $inflated +proc http::make-transformation-chunked {chan command} { + set lambda {{chan command} { + set data "" + set size -1 + yield + while {1} { + chan configure $chan -translation {crlf binary} + while {[gets $chan line] < 1} { yield } + chan configure $chan -translation {binary binary} + if {[scan $line %x size] != 1} { return -code error "invalid size: \"$line\"" } + set chunk "" + while {$size && ![chan eof $chan]} { + set part [chan read $chan $size] + incr size -[string length $part] + append chunk $part + } + if {[catch { + uplevel #0 [linsert $command end $chunk] + }]} then { + http::Log "Error in callback: $::errorInfo" + } + if {[string length $chunk] == 0} { + # channel might have been closed in the callback + catch {chan event $chan readable {}} + return + } + } + }} + coroutine dechunk$chan ::apply $lambda $chan $command + chan event $chan readable [namespace origin dechunk$chan] + return } # Local variables: diff --git a/library/http/pkgIndex.tcl b/library/http/pkgIndex.tcl index 0157b3c..b953d49 100644 --- a/library/http/pkgIndex.tcl +++ b/library/http/pkgIndex.tcl @@ -1,4 +1,2 @@ -# Tcl package index file, version 1.1 - -if {![package vsatisfies [package provide Tcl] 8.4]} {return} -package ifneeded http 2.7.12 [list tclPkgSetup $dir http 2.7.12 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister ::http::mapReply}}}] +if {![package vsatisfies [package provide Tcl] 8.6]} {return} +package ifneeded http 2.8.1 [list tclPkgSetup $dir http 2.8.1 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister ::http::mapReply}}}] diff --git a/library/http1.0/http.tcl b/library/http1.0/http.tcl index 8041ee4..2c548bb 100644 --- a/library/http1.0/http.tcl +++ b/library/http1.0/http.tcl @@ -5,6 +5,8 @@ # These procedures use a callback interface to avoid using vwait, # which is not defined in the safe base. # +# RCS: @(#) $Id: http.tcl,v 1.4 2000/02/01 11:48:30 hobbs Exp $ +# # See the http.n man page for documentation package provide http 1.0 diff --git a/library/init.tcl b/library/init.tcl index 6b49fdf..6ca4873 100644 --- a/library/init.tcl +++ b/library/init.tcl @@ -3,6 +3,8 @@ # Default system startup file for Tcl-based applications. Defines # "unknown" procedure and auto-load facilities. # +# RCS: @(#) $Id: init.tcl,v 1.121 2009/03/09 09:12:39 dkf Exp $ +# # Copyright (c) 1991-1993 The Regents of the University of California. # Copyright (c) 1994-1996 Sun Microsystems, Inc. # Copyright (c) 1998-1999 Scriptics Corporation. @@ -12,11 +14,10 @@ # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# This test intentionally written in pre-7.5 Tcl if {[info commands package] == ""} { error "version mismatch: library\nscripts expect Tcl version 7.5b1 or later but the loaded version is\nonly [info patchlevel]" } -package require -exact Tcl 8.5.15 +package require -exact Tcl 8.6b1.1 # Compute the auto path to use in this interpreter. # The values on the path come from several locations: @@ -117,10 +118,9 @@ namespace eval tcl { if {(![interp issafe]) && ($tcl_platform(platform) eq "windows")} { namespace eval tcl { proc EnvTraceProc {lo n1 n2 op} { - global env - set x $env($n2) - set env($lo) $x - set env([string toupper $lo]) $x + set x $::env($n2) + set ::env($lo) $x + set ::env([string toupper $lo]) $x } proc InitWinEnv {} { global env tcl_platform @@ -161,8 +161,8 @@ if {[interp issafe]} { } else { # Set up search for Tcl Modules (TIP #189). # and setup platform specific unknown package handlers - if {$tcl_platform(os) eq "Darwin" - && $tcl_platform(platform) eq "unix"} { + if {$::tcl_platform(os) eq "Darwin" + && $::tcl_platform(platform) eq "unix"} { package unknown {::tcl::tm::UnknownHandler \ {::tcl::MacOSXPkgUnknown ::tclPkgUnknown}} } else { @@ -179,9 +179,9 @@ if {[interp issafe]} { -subcommands { add clicks format microseconds milliseconds scan seconds }] - + # Auto-loading stubs for 'clock.tcl' - + foreach cmd {add format scan} { proc ::tcl::clock::$cmd args { variable TclLibDir @@ -218,11 +218,9 @@ if {[namespace which -command tclLog] eq ""} { # exist in the interpreter. It takes the following steps to make the # command available: # -# 1. See if the command has the form "namespace inscope ns cmd" and -# if so, concatenate its arguments onto the end and evaluate it. -# 2. See if the autoload facility can locate the command in a +# 1. See if the autoload facility can locate the command in a # Tcl script file. If so, load it and execute it. -# 3. If the command was invoked interactively at top-level: +# 2. If the command was invoked interactively at top-level: # (a) see if the command exists as an executable UNIX program. # If so, "exec" the command. # (b) see if the command requests csh-like history substitution @@ -237,24 +235,12 @@ if {[namespace which -command tclLog] eq ""} { proc unknown args { variable ::tcl::UnknownPending - global auto_noexec auto_noload env tcl_interactive errorInfo errorCode + global auto_noexec auto_noload env tcl_interactive - # If the command word has the form "namespace inscope ns cmd" - # then concatenate its arguments onto the end and evaluate it. + catch {set savedErrorInfo $::errorInfo} + catch {set savedErrorCode $::errorCode} - set cmd [lindex $args 0] - if {[regexp "^:*namespace\[ \t\n\]+inscope" $cmd] && [llength $cmd] == 4} { - #return -code error "You need an {*}" - set arglist [lrange $args 1 end] - set ret [catch {uplevel 1 ::$cmd $arglist} result opts] - dict unset opts -errorinfo - dict incr opts -level - return -options $opts $result - } - - catch {set savedErrorInfo $errorInfo} - catch {set savedErrorCode $errorCode} - set name $cmd + set name [lindex $args 0] if {![info exists auto_noload]} { # # Make sure we're not trying to load the same proc twice. @@ -282,19 +268,19 @@ proc unknown args { unset -nocomplain ::errorCode } if {[info exists savedErrorInfo]} { - set errorInfo $savedErrorInfo + set ::errorInfo $savedErrorInfo } else { - unset -nocomplain errorInfo + unset -nocomplain ::errorInfo } set code [catch {uplevel 1 $args} msg opts] if {$code == 1} { # # Compute stack trace contribution from the [uplevel]. - # Note the dependence on how Tcl_AddErrorInfo, etc. + # Note the dependence on how Tcl_AddErrorInfo, etc. # construct the stack trace. # - set errInfo [dict get $opts -errorinfo] - set errCode [dict get $opts -errorcode] + set errorInfo [dict get $opts -errorinfo] + set errorCode [dict get $opts -errorcode] set cinfo $args if {[string bytelength $cinfo] > 150} { set cinfo [string range $cinfo 0 150] @@ -311,7 +297,7 @@ proc unknown args { # and trim the extra contribution from the matching case # set expect "$msg\n while executing\n\"$cinfo" - if {$errInfo eq $expect} { + if {$errorInfo eq $expect} { # # The stack has only the eval from the expanded command # Do not generate any stack trace here. @@ -326,18 +312,18 @@ proc unknown args { # set expect "\n invoked from within\n\"$cinfo" set exlen [string length $expect] - set eilen [string length $errInfo] + set eilen [string length $errorInfo] set i [expr {$eilen - $exlen - 1}] - set einfo [string range $errInfo 0 $i] + set einfo [string range $errorInfo 0 $i] # - # For now verify that $errInfo consists of what we are about + # For now verify that $errorInfo consists of what we are about # to return plus what we expected to trim off. # - if {$errInfo ne "$einfo$expect"} { + if {$errorInfo ne "$einfo$expect"} { error "Tcl bug: unexpected stack trace in \"unknown\"" {} \ - [list CORE UNKNOWN BADTRACE $einfo $expect $errInfo] + [list CORE UNKNOWN BADTRACE $einfo $expect $errorInfo] } - return -code error -errorcode $errCode \ + return -code error -errorcode $errorCode \ -errorinfo $einfo $msg } else { dict incr opts -level @@ -346,7 +332,7 @@ proc unknown args { } } - if {([info level] == 1) && ([info script] eq "") + if {([info level] == 1) && ([info script] eq "") \ && [info exists tcl_interactive] && $tcl_interactive} { if {![info exists auto_noexec]} { set new [auto_execok $name] @@ -421,7 +407,7 @@ proc unknown args { # library file to create the procedure. Returns 1 if it successfully # loaded the procedure, 0 otherwise. # -# Arguments: +# Arguments: # cmd - Name of the command to find and load. # namespace (optional) The namespace where the command is being used - must be # a canonical namespace as returned [namespace current] @@ -445,7 +431,7 @@ proc auto_load {cmd {namespace {}}} { # info commands $name # Unfortunately, if the name has glob-magic chars in it like * # or [], it may not match. For our purposes here, a better - # route is to use + # route is to use # namespace which -command $name if {[namespace which -command $name] ne ""} { return 1 @@ -476,7 +462,7 @@ proc auto_load {cmd {namespace {}}} { # of available commands. Returns 1 if the index is loaded, and 0 if # the index is already loaded and up to date. # -# Arguments: +# Arguments: # None. proc auto_load_index {} { @@ -566,7 +552,7 @@ proc auto_qualify {cmd namespace} { return [list [string range $cmd 2 end]] } } - + # Potentially returning 2 elements to try : # (if the current namespace is not the global one) @@ -624,13 +610,13 @@ proc auto_import {pattern} { # auto_execok -- # -# Returns string that indicates name of program to execute if +# Returns string that indicates name of program to execute if # name corresponds to a shell builtin or an executable in the -# Windows search path, or "" otherwise. Builds an associative -# array auto_execs that caches information about previous checks, +# Windows search path, or "" otherwise. Builds an associative +# array auto_execs that caches information about previous checks, # for speed. # -# Arguments: +# Arguments: # name - Name of a command. if {$tcl_platform(platform) eq "windows"} { @@ -659,10 +645,10 @@ proc auto_execok name { # Add an initial ; to have the {} extension check first. set execExtensions [split ";$env(PATHEXT)" ";"] } else { - set execExtensions [list {} .com .exe .bat .cmd] + set execExtensions [list {} .com .exe .bat] } - if {[string tolower $name] in $shellBuiltins} { + if {$name in $shellBuiltins} { # When this is command.com for some reason on Win2K, Tcl won't # exec it unless the case is right, which this corrects. COMSPEC # may not point to a real file, so do the check. @@ -685,7 +671,7 @@ proc auto_execok name { set path "[file dirname [info nameof]];.;" if {[info exists env(WINDIR)]} { - set windir $env(WINDIR) + set windir $env(WINDIR) } if {[info exists windir]} { if {$tcl_platform(os) eq "Windows NT"} { @@ -700,14 +686,11 @@ proc auto_execok name { } } - foreach ext $execExtensions { - unset -nocomplain checked - foreach dir [split $path {;}] { - # Skip already checked directories - if {[info exists checked($dir)] || ($dir eq {})} { - continue - } - set checked($dir) {} + foreach dir [split $path {;}] { + # Skip already checked directories + if {[info exists checked($dir)] || ($dir eq {})} { continue } + set checked($dir) {} + foreach ext $execExtensions { set file [file join $dir ${name}${ext}] if {[file exists $file] && ![file isdirectory $file]} { return [set auto_execs($name) [list $file]] @@ -753,13 +736,13 @@ proc auto_execok name { # This procedure is called by Tcl's core when attempts to call the # filesystem's copydirectory function fail. The semantics of the call # are that 'dest' does not yet exist, i.e. dest should become the exact -# image of src. If dest does exist, we throw an error. -# +# image of src. If dest does exist, we throw an error. +# # Note that making changes to this procedure can change the results # of running Tcl's tests. # -# Arguments: -# action - "renaming" or "copying" +# Arguments: +# action - "renaming" or "copying" # src - source directory # dest - destination directory proc tcl::CopyDirectory {action src dest} { @@ -787,7 +770,7 @@ proc tcl::CopyDirectory {action src dest} { # exists, then we should only call this function if -force # is true, which means we just want to over-write. So, # the following code is now commented out. - # + # # return -code error "error $action \"$src\" to\ # \"$dest\": file already exists" } else { @@ -799,7 +782,7 @@ proc tcl::CopyDirectory {action src dest} { lappend existing {*}[glob -nocomplain -directory $dest \ -type hidden * .*] foreach s $existing { - if {[file tail $s] ni {. ..}} { + if {([file tail $s] ne ".") && ([file tail $s] ne "..")} { return -code error "error $action \"$src\" to\ \"$dest\": file already exists" } @@ -807,7 +790,7 @@ proc tcl::CopyDirectory {action src dest} { } } else { if {[string first $nsrc $ndest] != -1} { - set srclen [expr {[llength [file split $nsrc]] - 1}] + set srclen [expr {[llength [file split $nsrc]] -1}] set ndest [lindex [file split $ndest] $srclen] if {$ndest eq [file tail $nsrc]} { return -code error "error $action \"$src\" to\ @@ -820,15 +803,15 @@ proc tcl::CopyDirectory {action src dest} { # Have to be careful to capture both visible and hidden files. # We will also be more generous to the file system and not # assume the hidden and non-hidden lists are non-overlapping. - # + # # On Unix 'hidden' files begin with '.'. On other platforms # or filesystems hidden files may have other interpretations. set filelist [concat [glob -nocomplain -directory $src *] \ [glob -nocomplain -directory $src -types hidden *]] foreach s [lsort -unique $filelist] { - if {[file tail $s] ni {. ..}} { - file copy -force -- $s [file join $dest [file tail $s]] + if {([file tail $s] ne ".") && ([file tail $s] ne "..")} { + file copy -force $s [file join $dest [file tail $s]] } } return diff --git a/library/msgcat/msgcat.tcl b/library/msgcat/msgcat.tcl index cf3b9d7..ccf4054 100644 --- a/library/msgcat/msgcat.tcl +++ b/library/msgcat/msgcat.tcl @@ -9,15 +9,17 @@ # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. +# +# RCS: @(#) $Id: msgcat.tcl,v 1.26 2006/11/03 00:34:52 hobbs Exp $ package require Tcl 8.5 # When the version number changes, be sure to update the pkgIndex.tcl file, # and the installation directory in the Makefiles. -package provide msgcat 1.5.2 +package provide msgcat 1.4.2 namespace eval msgcat { namespace export mc mcload mclocale mcmax mcmset mcpreferences mcset \ - mcunknown mcflset mcflmset + mcunknown # Records the current locale as passed to mclocale variable Locale "" @@ -25,9 +27,6 @@ namespace eval msgcat { # Records the list of locales to search variable Loclist {} - # Records the locale of the currently sourced message catalogue file - variable FileLocale - # Records the mapping between source strings and translated strings. The # dict key is of the form "<locale> <namespace> <src>", where locale and # namespace should be themselves dict values and the value is @@ -35,7 +34,7 @@ namespace eval msgcat { variable Msgs [dict create] # Map of language codes used in Windows registry to those of ISO-639 - if {[info sharedlibextension] eq ".dll"} { + if { $::tcl_platform(platform) eq "windows" } { variable WinRegToISO639 [dict create {*}{ 01 ar 0401 ar_SA 0801 ar_IQ 0c01 ar_EG 1001 ar_LY 1401 ar_DZ 1801 ar_MA 1c01 ar_TN 2001 ar_OM 2401 ar_YE 2801 ar_SY @@ -69,8 +68,8 @@ namespace eval msgcat { 15 pl 0415 pl_PL 16 pt 0416 pt_BR 0816 pt_PT 17 rm 0417 rm_CH - 18 ro 0418 ro_RO 0818 ro_MO - 19 ru 0819 ru_MO + 18 ro 0418 ro_RO + 19 ru 1a hr 041a hr_HR 081a sr_YU 0c1a sr_YU@cyrillic 1b sk 041b sk_SK 1c sq 041c sq_AL @@ -95,7 +94,6 @@ namespace eval msgcat { 2f mk 042f mk_MK 30 bnt 0430 bnt_TZ 31 ts 0431 ts_ZA - 32 tn 33 ven 0433 ven_ZA 34 xh 0434 xh_ZA 35 zu 0435 zu_ZA @@ -179,7 +177,7 @@ namespace eval msgcat { # args Args to pass to the format command # # Results: -# Returns the translated string. Propagates errors thrown by the +# Returns the translated string. Propagates errors thrown by the # format command. proc msgcat::mc {src args} { @@ -191,7 +189,7 @@ proc msgcat::mc {src args} { variable Locale set ns [uplevel 1 [list ::namespace current]] - + while {$ns != ""} { foreach loc $Loclist { if {[dict exists $Msgs $loc $ns $src]} { @@ -280,30 +278,17 @@ proc msgcat::mcpreferences {} { # Returns the number of message catalogs that were loaded. proc msgcat::mcload {langdir} { - variable FileLocale - # Save the file locale if we are recursively called - if {[info exists FileLocale]} { - set nestedFileLocale $FileLocale - } set x 0 foreach p [mcpreferences] { - if {$p eq {}} { + if { $p eq {} } { set p ROOT } set langfile [file join $langdir $p.msg] if {[file exists $langfile]} { incr x - set FileLocale [string tolower [file tail [file rootname $langfile]]] - if {"root" eq $FileLocale} { - set FileLocale "" - } uplevel 1 [list ::source -encoding utf-8 $langfile] - unset FileLocale } } - if {[info exists nestedFileLocale]} { - set FileLocale $nestedFileLocale - } return $x } @@ -327,39 +312,17 @@ proc msgcat::mcset {locale src {dest ""}} { } set ns [uplevel 1 [list ::namespace current]] - + set locale [string tolower $locale] - - dict set Msgs $locale $ns $src $dest - return $dest -} - -# msgcat::mcflset -- -# -# Set the translation for a given string in the current file locale. -# -# Arguments: -# src The source string. -# dest (Optional) The translated string. If omitted, -# the source string is used. -# -# Results: -# Returns the new locale. - -proc msgcat::mcflset {src {dest ""}} { - variable FileLocale - variable Msgs - - if {![info exists FileLocale]} { - return -code error \ - "must only be used inside a message catalog loaded with ::msgcat::mcload" + + # create nested dictionaries if they do not exist + if {![dict exists $Msgs $locale]} { + dict set Msgs $locale [dict create] } - if {[llength [info level 0]] == 2} { ;# dest not specified - set dest $src + if {![dict exists $Msgs $locale $ns]} { + dict set Msgs $locale $ns [dict create] } - - set ns [uplevel 1 [list ::namespace current]] - dict set Msgs $FileLocale $ns $src $dest + dict set Msgs $locale $ns $src $dest return $dest } @@ -374,7 +337,7 @@ proc msgcat::mcflset {src {dest ""}} { # Results: # Returns the number of pairs processed -proc msgcat::mcmset {locale pairs} { +proc msgcat::mcmset {locale pairs } { variable Msgs set length [llength $pairs] @@ -382,46 +345,22 @@ proc msgcat::mcmset {locale pairs} { return -code error "bad translation list:\ should be \"[lindex [info level 0] 0] locale {src dest ...}\"" } - + set locale [string tolower $locale] set ns [uplevel 1 [list ::namespace current]] - foreach {src dest} $pairs { - dict set Msgs $locale $ns $src $dest + # create nested dictionaries if they do not exist + if {![dict exists $Msgs $locale]} { + dict set Msgs $locale [dict create] } - - return [expr {$length / 2}] -} - -# msgcat::mcflmset -- -# -# Set the translation for multiple strings in the mc file locale. -# -# Arguments: -# pairs One or more src/dest pairs (must be even length) -# -# Results: -# Returns the number of pairs processed - -proc msgcat::mcflmset {pairs} { - variable FileLocale - variable Msgs - - if {![info exists FileLocale]} { - return -code error \ - "must only be used inside a message catalog loaded with ::msgcat::mcload" - } - set length [llength $pairs] - if {$length % 2} { - return -code error "bad translation list:\ - should be \"[lindex [info level 0] 0] locale {src dest ...}\"" - } - - set ns [uplevel 1 [list ::namespace current]] + if {![dict exists $Msgs $locale $ns]} { + dict set Msgs $locale $ns [dict create] + } foreach {src dest} $pairs { - dict set Msgs $FileLocale $ns $src $dest + dict set Msgs $locale $ns $src $dest } - return [expr {$length / 2}] + + return $length } # msgcat::mcunknown -- @@ -429,7 +368,7 @@ proc msgcat::mcflmset {pairs} { # This routine is called by msgcat::mc if a translation cannot # be found for a string. This routine is intended to be replaced # by an application specific routine for error reporting -# purposes. The default behavior is to return the source string. +# purposes. The default behavior is to return the source string. # If additional args are specified, the format command will be used # to work them into the traslated string. # @@ -451,7 +390,7 @@ proc msgcat::mcunknown {locale src args} { # msgcat::mcmax -- # -# Calculates the maximum length of the translated strings of the given +# Calculates the maximum length of the translated strings of the given # list. # # Arguments: @@ -464,10 +403,10 @@ proc msgcat::mcmax {args} { set max 0 foreach string $args { set translated [uplevel 1 [list [namespace origin mc] $string]] - set len [string length $translated] - if {$len>$max} { + set len [string length $translated] + if {$len>$max} { set max $len - } + } } return $max } @@ -503,15 +442,13 @@ proc msgcat::ConvertLocale {value} { # Initialize the default locale proc msgcat::Init {} { - global env - # # set default locale, try to get from environment # foreach varName {LC_ALL LC_MESSAGES LANG} { - if {[info exists env($varName)] && ("" ne $env($varName))} { + if {[info exists ::env($varName)] && ("" ne $::env($varName))} { if {![catch { - mclocale [ConvertLocale $env($varName)] + mclocale [ConvertLocale $::env($varName)] }]} { return } @@ -520,7 +457,8 @@ proc msgcat::Init {} { # # On Darwin, fallback to current CFLocale identifier if available. # - if {[info exists ::tcl::mac::locale] && $::tcl::mac::locale ne ""} { + if {$::tcl_platform(os) eq "Darwin" && $::tcl_platform(platform) eq "unix" + && [info exists ::tcl::mac::locale] && $::tcl::mac::locale ne ""} { if {![catch { mclocale [ConvertLocale $::tcl::mac::locale] }]} { @@ -528,54 +466,21 @@ proc msgcat::Init {} { } } # - # The rest of this routine is special processing for Windows or - # Cygwin. All other platforms, get out now. + # The rest of this routine is special processing for Windows; + # all other platforms, get out now. # - if {([info sharedlibextension] ne ".dll") - || [catch {package require registry}]} { + if { $::tcl_platform(platform) ne "windows" } { mclocale C return } # - # On Windows or Cygwin, try to set locale depending on registry - # settings, or fall back on locale of "C". + # On Windows, try to set locale depending on registry settings, + # or fall back on locale of "C". # - - # On Vista and later: - # HCU/Control Panel/Desktop : PreferredUILanguages is for language packs, - # HCU/Control Pannel/International : localName is the default locale. - # - # They contain the local string as RFC5646, composed of: - # [a-z]{2,3} : language - # -[a-z]{4} : script (optional, translated by table Latn->latin) - # -[a-z]{2}|[0-9]{3} : territory (optional, numerical region codes not used) - # (-.*)* : variant, extension, private use (optional, not used) - # Those are translated to local strings. - # Examples: de-CH -> de_ch, sr-Latn-CS -> sr_cs@latin, es-419 -> es - # - foreach key {{HKEY_CURRENT_USER\Control Panel\Desktop} {HKEY_CURRENT_USER\Control Panel\International}}\ - value {PreferredUILanguages localeName} { - if {![catch {registry get $key $value} localeName] - && [regexp {^([a-z]{2,3})(?:-([a-z]{4}))?(?:-([a-z]{2}))?(?:-.+)?$}\ - [string tolower $localeName] match locale script territory]} { - if {"" ne $territory} { - append locale _ $territory - } - set modifierDict [dict create latn latin cyrl cyrillic] - if {[dict exists $modifierDict $script]} { - append locale @ [dict get $modifierDict $script] - } - if {![catch {mclocale [ConvertLocale $locale]}]} { - return - } - } - } - - # then check value locale which contains a numerical language ID - if {[catch { - set locale [registry get $key "locale"] - }]} { - mclocale C + set key {HKEY_CURRENT_USER\Control Panel\International} + if {[catch {package require registry}] \ + || [catch {registry get $key "locale"} locale]} { + mclocale C return } # @@ -591,7 +496,7 @@ proc msgcat::Init {} { set locale [string tolower $locale] while {[string length $locale]} { if {![catch { - mclocale [ConvertLocale [dict get $WinRegToISO639 $locale]] + mclocale [ConvertLocale [dict get $WinRegToISO639 $locale]] }]} { return } diff --git a/library/msgcat/pkgIndex.tcl b/library/msgcat/pkgIndex.tcl index 5fabfe3..5b6037c 100644 --- a/library/msgcat/pkgIndex.tcl +++ b/library/msgcat/pkgIndex.tcl @@ -1,2 +1,2 @@ if {![package vsatisfies [package provide Tcl] 8.5]} {return} -package ifneeded msgcat 1.5.2 [list source [file join $dir msgcat.tcl]] +package ifneeded msgcat 1.4.2 [list source [file join $dir msgcat.tcl]] diff --git a/library/msgs/he.msg b/library/msgs/he.msg index 4fd921d..52a94e2 100755 --- a/library/msgs/he.msg +++ b/library/msgs/he.msg @@ -44,8 +44,8 @@ namespace eval ::tcl::clock { "\u05e0\u05d5\u05d1\u05de\u05d1\u05e8"\ "\u05d3\u05e6\u05de\u05d1\u05e8"\ ""] - ::msgcat::mcset he BCE "\u05dc\u05e1\u05d4\u0022\u05e0" - ::msgcat::mcset he CE "\u05dc\u05e4\u05e1\u05d4\u0022\u05e0" + ::msgcat::mcset he BCE "\u05dc\u05e1\u05d4"\u05e0" + ::msgcat::mcset he CE "\u05dc\u05e4\u05e1\u05d4"\u05e0" ::msgcat::mcset he DATE_FORMAT "%d/%m/%Y" ::msgcat::mcset he TIME_FORMAT "%H:%M:%S" ::msgcat::mcset he DATE_TIME_FORMAT "%d/%m/%Y %H:%M:%S %z" diff --git a/library/msgs/uk.msg b/library/msgs/uk.msg index 7d4c64a..3e24f86 100755 --- a/library/msgs/uk.msg +++ b/library/msgs/uk.msg @@ -33,7 +33,7 @@ namespace eval ::tcl::clock { ::msgcat::mcset uk MONTHS_FULL [list \ "\u0441\u0456\u0447\u043d\u044f"\ "\u043b\u044e\u0442\u043e\u0433\u043e"\ - "\u0431\u0435\u0440\u0435\u0437\u043d\u044f"\ + "\u0431\u0435\u0440\u0435\u0436\u043d\u044f"\ "\u043a\u0432\u0456\u0442\u043d\u044f"\ "\u0442\u0440\u0430\u0432\u043d\u044f"\ "\u0447\u0435\u0440\u0432\u043d\u044f"\ diff --git a/library/opt/optparse.tcl b/library/opt/optparse.tcl index c9438a0..4622bde 100644 --- a/library/opt/optparse.tcl +++ b/library/opt/optparse.tcl @@ -7,6 +7,8 @@ # of Tcl. It is NOT supported and you should not rely # on it. If your code does rely on this package you # may directly incorporate this code into your application. +# +# RCS: @(#) $Id: optparse.tcl,v 1.10 2003/09/10 20:27:30 dgp Exp $ package require Tcl 8.2 # When this version number changes, update the pkgIndex.tcl file diff --git a/library/package.tcl b/library/package.tcl index 06f619c..d8729b2 100644 --- a/library/package.tcl +++ b/library/package.tcl @@ -3,6 +3,8 @@ # utility procs formerly in init.tcl which can be loaded on demand # for package management. # +# RCS: @(#) $Id: package.tcl,v 1.37 2009/07/26 11:40:23 dkf Exp $ +# # Copyright (c) 1991-1993 The Regents of the University of California. # Copyright (c) 1994-1998 Sun Microsystems, Inc. # @@ -14,9 +16,9 @@ namespace eval tcl::Pkg {} # ::tcl::Pkg::CompareExtension -- # -# Used internally by pkg_mkIndex to compare the extension of a file to -# a given extension. On Windows, it uses a case-insensitive comparison -# because the file system can be file insensitive. +# Used internally by pkg_mkIndex to compare the extension of a file to a given +# extension. On Windows, it uses a case-insensitive comparison because the +# file system can be file insensitive. # # Arguments: # fileName name of a file whose extension is compared @@ -57,11 +59,10 @@ proc tcl::Pkg::CompareExtension { fileName {ext {}} } { } # pkg_mkIndex -- -# This procedure creates a package index in a given directory. The -# package index consists of a "pkgIndex.tcl" file whose contents are -# a Tcl script that sets up package information with "package require" -# commands. The commands describe all of the packages defined by the -# files given as arguments. +# This procedure creates a package index in a given directory. The package +# index consists of a "pkgIndex.tcl" file whose contents are a Tcl script that +# sets up package information with "package require" commands. The commands +# describe all of the packages defined by the files given as arguments. # # Arguments: # -direct (optional) If this flag is present, the generated @@ -132,16 +133,17 @@ proc pkg_mkIndex {args} { set patternList [list "*.tcl" "*[info sharedlibextension]"] } - if {[catch { - glob -directory $dir -tails -types {r f} -- {*}$patternList - } fileList o]} { - return -options $o $fileList + try { + set fileList [glob -directory $dir -tails -types {r f} -- \ + {*}$patternList] + } on error {msg opt} { + return -options $opt $msg } foreach file $fileList { # For each file, figure out what commands and packages it provides. # To do this, create a child interpreter, load the file into the - # interpreter, and get a list of the new commands and packages - # that are defined. + # interpreter, and get a list of the new commands and packages that + # are defined. if {$file eq "pkgIndex.tcl"} { continue @@ -169,14 +171,17 @@ proc pkg_mkIndex {args} { if {$doVerbose} { tclLog "package [lindex $pkg 1] matches '$loadPat'" } - if {[catch { + try { load [lindex $pkg 0] [lindex $pkg 1] $c - } err]} { + } on error err { + if {$doVerbose} { + tclLog "warning: load [lindex $pkg 0]\ + [lindex $pkg 1]\nfailed with: $err" + } + } on ok {} { if {$doVerbose} { - tclLog "warning: load [lindex $pkg 0] [lindex $pkg 1]\nfailed with: $err" + tclLog "loaded [lindex $pkg 0] [lindex $pkg 1]" } - } elseif {$doVerbose} { - tclLog "loaded [lindex $pkg 0] [lindex $pkg 1]" } if {[lindex $pkg 1] eq "Tk"} { # Withdraw . if Tk was loaded, to avoid showing a window. @@ -185,21 +190,25 @@ proc pkg_mkIndex {args} { } $c eval { - # Stub out the package command so packages can - # require other packages. + # Stub out the package command so packages can require other + # packages. rename package __package_orig proc package {what args} { switch -- $what { - require { return ; # ignore transitive requires } - default { __package_orig $what {*}$args } + require { + return; # Ignore transitive requires + } + default { + __package_orig $what {*}$args + } } } proc tclPkgUnknown args {} package unknown tclPkgUnknown - # Stub out the unknown command so package can call - # into each other during their initialilzation. + # Stub out the unknown command so package can call into each other + # during their initialilzation. proc unknown {args} {} @@ -207,9 +216,9 @@ proc pkg_mkIndex {args} { proc auto_import {args} {} - # reserve the ::tcl namespace for support procs - # and temporary variables. This might make it awkward - # to generate a pkgIndex.tcl file for the ::tcl namespace. + # reserve the ::tcl namespace for support procs and temporary + # variables. This might make it awkward to generate a + # pkgIndex.tcl file for the ::tcl namespace. namespace eval ::tcl { variable dir ;# Current directory being processed @@ -230,22 +239,22 @@ proc pkg_mkIndex {args} { $c eval [list set ::tcl::file $file] $c eval [list set ::tcl::direct $direct] - # Download needed procedures into the slave because we've - # just deleted the unknown procedure. This doesn't handle - # procedures with default arguments. + # Download needed procedures into the slave because we've just deleted + # the unknown procedure. This doesn't handle procedures with default + # arguments. foreach p {::tcl::Pkg::CompareExtension} { $c eval [list namespace eval [namespace qualifiers $p] {}] $c eval [list proc $p [info args $p] [info body $p]] } - if {[catch { + try { $c eval { set ::tcl::debug "loading or sourcing" - # we need to track command defined by each package even in - # the -direct case, because they are needed internally by - # the "partial pkgIndex.tcl" step above. + # we need to track command defined by each package even in the + # -direct case, because they are needed internally by the + # "partial pkgIndex.tcl" step above. proc ::tcl::GetAllNamespaces {{root ::}} { set list $root @@ -267,18 +276,17 @@ proc pkg_mkIndex {args} { } set ::tcl::origCmds [info commands] - # Try to load the file if it has the shared library - # extension, otherwise source it. It's important not to - # try to load files that aren't shared libraries, because - # on some systems (like SunOS) the loader will abort the - # whole application when it gets an error. + # Try to load the file if it has the shared library extension, + # otherwise source it. It's important not to try to load + # files that aren't shared libraries, because on some systems + # (like SunOS) the loader will abort the whole application + # when it gets an error. if {[::tcl::Pkg::CompareExtension $::tcl::file [info sharedlibextension]]} { - # The "file join ." command below is necessary. - # Without it, if the file name has no \'s and we're - # on UNIX, the load command will invoke the - # LD_LIBRARY_PATH search mechanism, which could cause - # the wrong file to be used. + # The "file join ." command below is necessary. Without + # it, if the file name has no \'s and we're on UNIX, the + # load command will invoke the LD_LIBRARY_PATH search + # mechanism, which could cause the wrong file to be used. set ::tcl::debug loading load [file join $::tcl::dir $::tcl::file] @@ -289,11 +297,10 @@ proc pkg_mkIndex {args} { set ::tcl::type source } - # As a performance optimization, if we are creating - # direct load packages, don't bother figuring out the - # set of commands created by the new packages. We - # only need that list for setting up the autoloading - # used in the non-direct case. + # As a performance optimization, if we are creating direct + # load packages, don't bother figuring out the set of commands + # created by the new packages. We only need that list for + # setting up the autoloading used in the non-direct case. if { !$::tcl::direct } { # See what new namespaces appeared, and import commands # from them. Only exported commands go into the index. @@ -316,8 +323,9 @@ proc pkg_mkIndex {args} { set ::tcl::abs [namespace origin $::tcl::x] - # special case so that global names have no leading - # ::, this is required by the unknown command + # special case so that global names have no + # leading ::, this is required by the unknown + # command set ::tcl::abs \ [lindex [auto_qualify $::tcl::abs ::] 0] @@ -332,8 +340,8 @@ proc pkg_mkIndex {args} { } } - # Look through the packages that appeared, and if there is - # a version provided, then record it + # Look through the packages that appeared, and if there is a + # version provided, then record it foreach ::tcl::x [package names] { if {[package provide $::tcl::x] ne "" @@ -343,12 +351,12 @@ proc pkg_mkIndex {args} { } } } - } msg] == 1} { + } on error msg { set what [$c eval set ::tcl::debug] if {$doVerbose} { tclLog "warning: error while $what $file: $msg" } - } else { + } on ok {} { set what [$c eval set ::tcl::debug] if {$doVerbose} { tclLog "successful $what of $file" @@ -389,9 +397,11 @@ proc pkg_mkIndex {args} { foreach pkg [lsort [array names files]] { set cmd {} - lassign $pkg name version + foreach {name version} $pkg { + break + } lappend cmd ::tcl::Pkg::Create -name $name -version $version - foreach spec [lsort -index 0 $files($pkg)] { + foreach spec $files($pkg) { foreach {file type procs} $spec { if { $direct } { set procs {} @@ -408,11 +418,10 @@ proc pkg_mkIndex {args} { } # tclPkgSetup -- -# This is a utility procedure use by pkgIndex.tcl files. It is invoked -# as part of a "package ifneeded" script. It calls "package provide" -# to indicate that a package is available, then sets entries in the -# auto_index array so that the package's files will be auto-loaded when -# the commands are used. +# This is a utility procedure use by pkgIndex.tcl files. It is invoked as +# part of a "package ifneeded" script. It calls "package provide" to indicate +# that a package is available, then sets entries in the auto_index array so +# that the package's files will be auto-loaded when the commands are used. # # Arguments: # dir - Directory containing all the files for this package. @@ -443,12 +452,12 @@ proc tclPkgSetup {dir pkg version files} { } # tclPkgUnknown -- -# This procedure provides the default for the "package unknown" function. -# It is invoked when a package that's needed can't be found. It scans -# the auto_path directories and their immediate children looking for -# pkgIndex.tcl files and sources any such files that are found to setup -# the package database. As it searches, it will recognize changes -# to the auto_path and scan any new directories. +# This procedure provides the default for the "package unknown" function. It +# is invoked when a package that's needed can't be found. It scans the +# auto_path directories and their immediate children looking for pkgIndex.tcl +# files and sources any such files that are found to setup the package +# database. As it searches, it will recognize changes to the auto_path and +# scan any new directories. # # Arguments: # name - Name of desired package. Not used. @@ -461,8 +470,8 @@ proc tclPkgUnknown {name args} { if {![info exists auto_path]} { return } - # Cache the auto_path, because it may change while we run through - # the first set of pkgIndex.tcl files + # Cache the auto_path, because it may change while we run through the + # first set of pkgIndex.tcl files set old_path [set use_path $auto_path] while {[llength $use_path]} { set dir [lindex $use_path end] @@ -474,24 +483,22 @@ proc tclPkgUnknown {name args} { } set tclSeenPath($dir) 1 - # we can't use glob in safe interps, so enclose the following - # in a catch statement, where we get the pkgIndex files out - # of the subdirectories + # we can't use glob in safe interps, so enclose the following in a + # catch statement, where we get the pkgIndex files out of the + # subdirectories catch { foreach file [glob -directory $dir -join -nocomplain \ * pkgIndex.tcl] { set dir [file dirname $file] if {![info exists procdDirs($dir)]} { - set code [catch {source $file} msg opt] - if {$code == 1 && - [lindex [dict get $opt -errorcode] 0] eq "POSIX" && - [lindex [dict get $opt -errorcode] 1] eq "EACCES"} { + try { + source $file + } trap {POSIX EACCES} {} { # $file was not readable; silently ignore continue - } - if {$code} { + } on error msg { tclLog "error reading package index file $file: $msg" - } else { + } on ok {} { set procdDirs($dir) 1 } } @@ -502,16 +509,14 @@ proc tclPkgUnknown {name args} { set file [file join $dir pkgIndex.tcl] # safe interps usually don't have "file exists", if {([interp issafe] || [file exists $file])} { - set code [catch {source $file} msg opt] - if {$code == 1 && - [lindex [dict get $opt -errorcode] 0] eq "POSIX" && - [lindex [dict get $opt -errorcode] 1] eq "EACCES"} { + try { + source $file + } trap {POSIX EACCES} {} { # $file was not readable; silently ignore continue - } - if {$code} { + } on error msg { tclLog "error reading package index file $file: $msg" - } else { + } on ok {} { set procdDirs($dir) 1 } } @@ -519,12 +524,11 @@ proc tclPkgUnknown {name args} { set use_path [lrange $use_path 0 end-1] - # Check whether any of the index scripts we [source]d above - # set a new value for $::auto_path. If so, then find any - # new directories on the $::auto_path, and lappend them to - # the $use_path we are working from. This gives index scripts - # the (arguably unwise) power to expand the index script search - # path while the search is in progress. + # Check whether any of the index scripts we [source]d above set a new + # value for $::auto_path. If so, then find any new directories on the + # $::auto_path, and lappend them to the $use_path we are working from. + # This gives index scripts the (arguably unwise) power to expand the + # index script search path while the search is in progress. set index 0 if {[llength $old_path] == [llength $auto_path]} { foreach dir $auto_path old $old_path { @@ -536,13 +540,14 @@ proc tclPkgUnknown {name args} { } } - # $index now points to the first element of $auto_path that - # has changed, or the beginning if $auto_path has changed length - # Scan the new elements of $auto_path for directories to add to - # $use_path. Don't add directories we've already seen, or ones - # already on the $use_path. + # $index now points to the first element of $auto_path that has + # changed, or the beginning if $auto_path has changed length Scan the + # new elements of $auto_path for directories to add to $use_path. + # Don't add directories we've already seen, or ones already on the + # $use_path. foreach dir [lrange $auto_path $index end] { - if {![info exists tclSeenPath($dir)] && ($dir ni $use_path)} { + if {![info exists tclSeenPath($dir)] + && ([lsearch -exact $use_path $dir] == -1) } { lappend use_path $dir } } @@ -551,9 +556,9 @@ proc tclPkgUnknown {name args} { } # tcl::MacOSXPkgUnknown -- -# This procedure extends the "package unknown" function for MacOSX. -# It scans the Resources/Scripts directories of the immediate children -# of the auto_path directories for pkgIndex files. +# This procedure extends the "package unknown" function for MacOSX. It scans +# the Resources/Scripts directories of the immediate children of the auto_path +# directories for pkgIndex files. # # Arguments: # original - original [package unknown] procedure @@ -562,7 +567,6 @@ proc tclPkgUnknown {name args} { # exact - Either "-exact" or omitted. Not used. proc tcl::MacOSXPkgUnknown {original name args} { - # First do the cross-platform default search uplevel 1 $original [linsert $args 0 $name] @@ -572,8 +576,8 @@ proc tcl::MacOSXPkgUnknown {original name args} { if {![info exists auto_path]} { return } - # Cache the auto_path, because it may change while we run through - # the first set of pkgIndex.tcl files + # Cache the auto_path, because it may change while we run through the + # first set of pkgIndex.tcl files set old_path [set use_path $auto_path] while {[llength $use_path]} { set dir [lindex $use_path end] @@ -590,28 +594,25 @@ proc tcl::MacOSXPkgUnknown {original name args} { * Resources Scripts pkgIndex.tcl] { set dir [file dirname $file] if {![info exists procdDirs($dir)]} { - set code [catch {source $file} msg opt] - if {$code == 1 && - [lindex [dict get $opt -errorcode] 0] eq "POSIX" && - [lindex [dict get $opt -errorcode] 1] eq "EACCES"} { + try { + source $file + } trap {POSIX EACCES} {} { # $file was not readable; silently ignore continue - } - if {$code} { + } on error msg { tclLog "error reading package index file $file: $msg" - } else { + } on ok {} { set procdDirs($dir) 1 } } } set use_path [lrange $use_path 0 end-1] - # Check whether any of the index scripts we [source]d above - # set a new value for $::auto_path. If so, then find any - # new directories on the $::auto_path, and lappend them to - # the $use_path we are working from. This gives index scripts - # the (arguably unwise) power to expand the index script search - # path while the search is in progress. + # Check whether any of the index scripts we [source]d above set a new + # value for $::auto_path. If so, then find any new directories on the + # $::auto_path, and lappend them to the $use_path we are working from. + # This gives index scripts the (arguably unwise) power to expand the + # index script search path while the search is in progress. set index 0 if {[llength $old_path] == [llength $auto_path]} { foreach dir $auto_path old $old_path { @@ -623,13 +624,14 @@ proc tcl::MacOSXPkgUnknown {original name args} { } } - # $index now points to the first element of $auto_path that - # has changed, or the beginning if $auto_path has changed length - # Scan the new elements of $auto_path for directories to add to - # $use_path. Don't add directories we've already seen, or ones - # already on the $use_path. + # $index now points to the first element of $auto_path that has + # changed, or the beginning if $auto_path has changed length Scan the + # new elements of $auto_path for directories to add to $use_path. + # Don't add directories we've already seen, or ones already on the + # $use_path. foreach dir [lrange $auto_path $index end] { - if {![info exists tclSeenPath($dir)] && ($dir ni $use_path)} { + if {![info exists tclSeenPath($dir)] + && ([lsearch -exact $use_path $dir] == -1) } { lappend use_path $dir } } @@ -653,12 +655,12 @@ proc tcl::MacOSXPkgUnknown {original name args} { # # Any number of -load and -source parameters may be # specified, so long as there is at least one -load or -# -source parameter. If the procs component of a -# module specifier is left off, that module will be -# set up for direct loading; otherwise, it will be -# set up for lazy loading. If both -source and -load -# are specified, the -load'ed files will be loaded -# first, followed by the -source'd files. +# -source parameter. If the procs component of a module +# specifier is left off, that module will be set up for +# direct loading; otherwise, it will be set up for lazy +# loading. If both -source and -load are specified, the +# -load'ed files will be loaded first, followed by the +# -source'd files. # # Results: # An appropriate "package ifneeded" statement for the package. @@ -681,7 +683,10 @@ proc ::tcl::Pkg::Create {args} { } # Initialize parameters - array set opts {-name {} -version {} -source {} -load {}} + set opts(-name) {} + set opts(-version) {} + set opts(-source) {} + set opts(-load) {} # process parameters for {set i 0} {$i < $len} {incr i} { @@ -729,7 +734,12 @@ proc ::tcl::Pkg::Create {args} { # Handle -load and -source specs foreach key {load source} { foreach filespec $opts(-$key) { - lassign $filespec filename proclist + foreach {filename proclist} {{} {}} { + break + } + foreach {filename proclist} $filespec { + break + } if { [llength $proclist] == 0 } { set cmd "\[list $key \[file join \$dir [list $filename]\]\]" diff --git a/library/parray.tcl b/library/parray.tcl index 3ce9817..e331d4d 100644 --- a/library/parray.tcl +++ b/library/parray.tcl @@ -1,6 +1,8 @@ # parray: # Print the contents of a global array on stdout. # +# RCS: @(#) $Id: parray.tcl,v 1.4 2005/06/03 10:02:23 dkf Exp $ +# # Copyright (c) 1991-1993 The Regents of the University of California. # Copyright (c) 1994 Sun Microsystems, Inc. # diff --git a/library/platform/pkgIndex.tcl b/library/platform/pkgIndex.tcl index 23a3408..0b69432 100644 --- a/library/platform/pkgIndex.tcl +++ b/library/platform/pkgIndex.tcl @@ -1,3 +1,3 @@ -package ifneeded platform 1.0.12 [list source [file join $dir platform.tcl]] +package ifneeded platform 1.0.5 [list source [file join $dir platform.tcl]] package ifneeded platform::shell 1.1.4 [list source [file join $dir shell.tcl]] diff --git a/library/platform/platform.tcl b/library/platform/platform.tcl index 5698425..1a454cd 100644 --- a/library/platform/platform.tcl +++ b/library/platform/platform.tcl @@ -103,12 +103,7 @@ proc ::platform::generic {} { } sunos { set plat solaris - if {[string match "ix86" $cpu]} { - if {$tcl_platform(wordSize) == 8} { - set cpu x86_64 - } - } elseif {![string match "ia64*" $cpu]} { - # sparc + if {![string match "ia64*" $cpu]} { if {$tcl_platform(wordSize) == 8} { append cpu 64 } @@ -180,59 +175,36 @@ proc ::platform::identify {} { set v unknown - # Determine in which directory to look. /lib, or /lib64. - # For that we use the tcl_platform(wordSize). - # - # We could use the 'cpu' info, per the equivalence below, - # that however would be restricted to intel. And this may - # be a arm, mips, etc. system. The wordsize is more - # fundamental. - # - # ix86 <=> (wordSize == 4) <=> 32 bit ==> /lib - # x86_64 <=> (wordSize == 8) <=> 64 bit ==> /lib64 - # - # Do not look into /lib64 even if present, if the cpu - # doesn't fit. - - # TODO: Determine the prefixes (i386, x86_64, ...) for - # other cpus. The path after the generic one is utterly - # specific to intel right now. Ok, on Ubuntu, possibly - # other Debian systems we may apparently be able to query - # the necessary CPU code. If we can't we simply use the - # hardwired fallback. - - switch -exact -- $tcl_platform(wordSize) { - 4 { - lappend bases /lib - if {[catch { - exec dpkg-architecture -qDEB_HOST_MULTIARCH - } res]} { - lappend bases /lib/i386-linux-gnu - } else { - # dpkg-arch returns the full tripled, not just cpu. - lappend bases /lib/$res - } - } - 8 { - lappend bases /lib64 - if {[catch { - exec dpkg-architecture -qDEB_HOST_MULTIARCH - } res]} { - lappend bases /lib/x86_64-linux-gnu - } else { - # dpkg-arch returns the full tripled, not just cpu. - lappend bases /lib/$res - } - } - default { - return -code error "Bad wordSize $tcl_platform(wordSize), expected 4 or 8" - } + if {[file exists /lib64] && [file isdirectory /lib64]} { + set base /lib64 + } else { + set base /lib } - foreach base $bases { - if {[LibcVersion $base -> v]} break - } + set libclist [lsort [glob -nocomplain -directory $base libc*]] + if {[llength $libclist]} { + set libc [lindex $libclist 0] + + # Try executing the library first. This should suceed + # for a glibc library, and return the version + # information. + + if {![catch { + set vdata [lindex [split [exec $libc] \n] 0] + }]} { + regexp {([0-9]+(\.[0-9]+)*)} $vdata -> v + foreach {major minor} [split $v .] break + set v glibc${major}.${minor} + } else { + # We had trouble executing the library. We are now + # inspecting its name to determine the version + # number. This code by Larry McVoy. + if {[regexp -- {libc-([0-9]+)\.([0-9]+)} $libc -> major minor]} { + set v glibc${major}.${minor} + } + } + } append plat -$v return "${plat}-${cpu}" } @@ -241,38 +213,6 @@ proc ::platform::identify {} { return $id } -proc ::platform::LibcVersion {base _->_ vv} { - upvar 1 $vv v - set libclist [lsort [glob -nocomplain -directory $base libc*]] - - if {![llength $libclist]} { return 0 } - - set libc [lindex $libclist 0] - - # Try executing the library first. This should suceed - # for a glibc library, and return the version - # information. - - if {![catch { - set vdata [lindex [split [exec $libc] \n] 0] - }]} { - regexp {version ([0-9]+(\.[0-9]+)*)} $vdata -> v - foreach {major minor} [split $v .] break - set v glibc${major}.${minor} - return 1 - } else { - # We had trouble executing the library. We are now - # inspecting its name to determine the version - # number. This code by Larry McVoy. - - if {[regexp -- {libc-([0-9]+)\.([0-9]+)} $libc -> major minor]} { - set v glibc${major}.${minor} - return 1 - } - } - return 0 -} - # -- platform::patterns # # Given an exact platform identifier, i.e. _not_ the generic @@ -316,13 +256,6 @@ proc ::platform::patterns {id} { macosx*-* { # 10.5+ if {[regexp {macosx([^-]*)-(.*)} $id -> v cpu]} { - - switch -exact -- $cpu { - ix86 - - x86_64 { set alt i386-x86_64 } - default { set alt {} } - } - if {$v ne ""} { foreach {major minor} [split $v .] break @@ -331,34 +264,22 @@ proc ::platform::patterns {id} { for {set j $minor} {$j >= 5} {incr j -1} { lappend res macosx${major}.${j}-${cpu} lappend res macosx${major}.${j}-universal - if {$alt ne {}} { - lappend res macosx${major}.${j}-$alt - } } # Add unversioned patterns for 10.3/10.4 builds. lappend res macosx-${cpu} lappend res macosx-universal - if {$alt ne {}} { - lappend res macosx-$alt - } } else { lappend res macosx-universal - if {$alt ne {}} { - lappend res macosx-$alt - } } } else { lappend res macosx-universal } } - macosx-powerpc { + macosx-powerpc - + macosx-ix86 { lappend res macosx-universal } - macosx-x86_64 - - macosx-ix86 { - lappend res macosx-universal macosx-i386-x86_64 - } } lappend res tcl ; # Pure tcl packages are always compatible. return $res @@ -368,7 +289,7 @@ proc ::platform::patterns {id} { # ### ### ### ######### ######### ######### ## Ready -package provide platform 1.0.12 +package provide platform 1.0.5 # ### ### ### ######### ######### ######### ## Demo application diff --git a/library/platform/shell.tcl b/library/platform/shell.tcl index d37cdcd..407e639 100644 --- a/library/platform/shell.tcl +++ b/library/platform/shell.tcl @@ -1,4 +1,3 @@ - # -*- tcl -*- # ### ### ### ######### ######### ######### ## Overview @@ -105,10 +104,8 @@ proc ::platform::shell::LOCATE {bv ov} { # here. If the found package is wrapped we copy the code somewhere # where the spawned shell will be able to read it. - # This code is brittle, it needs has to adapt to whatever changes - # are made to the TM code, i.e. the provide statement generated by - # tm.tcl - + # Note: This code depends on the form of the 'provide' command + # generated by tm.tcl. Keep them in sync. See Bug 2255235. set pl [package ifneeded platform [package require platform]] set base [lindex $pl end] @@ -187,7 +184,7 @@ proc ::platform::shell::TEMP {} { } } } - if {$channel != ""} { + if {[string compare $channel ""]} { return -code error "Failed to open a temporary file: $channel" } else { return -code error "Failed to find an unused temporary file name" diff --git a/library/reg/pkgIndex.tcl b/library/reg/pkgIndex.tcl index 1241f2a..d2ed72f 100755 --- a/library/reg/pkgIndex.tcl +++ b/library/reg/pkgIndex.tcl @@ -1,9 +1,9 @@ -if {![package vsatisfies [package provide Tcl] 8]} return -if {[info sharedlibextension] != ".dll"} return +if {![package vsatisfies [package provide Tcl] 8]} {return} +if {[string compare $::tcl_platform(platform) windows]} {return} if {[info exists ::tcl_platform(debug)]} { - package ifneeded registry 1.2.2 \ + package ifneeded registry 1.2.1 \ [list load [file join $dir tclreg12g.dll] registry] } else { - package ifneeded registry 1.2.2 \ + package ifneeded registry 1.2.1 \ [list load [file join $dir tclreg12.dll] registry] } diff --git a/library/safe.tcl b/library/safe.tcl index 1a340a1..5a3d4d0 100644 --- a/library/safe.tcl +++ b/library/safe.tcl @@ -11,6 +11,8 @@ # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. +# +# RCS: @(#) $Id: safe.tcl,v 1.18 2009/07/26 11:40:24 dkf Exp $ # # The implementation is based on namespaces. These naming conventions are @@ -24,1104 +26,1018 @@ package require opt 0.4.1 # Create the safe namespace namespace eval ::safe { + # Exported API: namespace export interpCreate interpInit interpConfigure interpDelete \ - interpAddToAccessPath interpFindInAccessPath setLogCmd -} + interpAddToAccessPath interpFindInAccessPath setLogCmd -# Helper function to resolve the dual way of specifying staticsok (either -# by -noStatics or -statics 0) -proc ::safe::InterpStatics {} { - foreach v {Args statics noStatics} { - upvar $v $v - } - set flag [::tcl::OptProcArgGiven -noStatics] - if {$flag && (!$noStatics == !$statics) - && ([::tcl::OptProcArgGiven -statics])} { - return -code error\ - "conflicting values given for -statics and -noStatics" - } - if {$flag} { - return [expr {!$noStatics}] - } else { - return $statics - } -} + #### + # + # Setup the arguments parsing + # + #### -# Helper function to resolve the dual way of specifying nested loading -# (either by -nestedLoadOk or -nested 1) -proc ::safe::InterpNested {} { - foreach v {Args nested nestedLoadOk} { - upvar $v $v - } - set flag [::tcl::OptProcArgGiven -nestedLoadOk] - # note that the test here is the opposite of the "InterpStatics" one - # (it is not -noNested... because of the wanted default value) - if {$flag && (!$nestedLoadOk != !$nested) - && ([::tcl::OptProcArgGiven -nested])} { - return -code error\ - "conflicting values given for -nested and -nestedLoadOk" - } - if {$flag} { - # another difference with "InterpStatics" - return $nestedLoadOk - } else { - return $nested + # Make sure that our temporary variable is local to this namespace. [Bug + # 981733] + variable temp + + # Share the descriptions + set temp [::tcl::OptKeyRegister { + {-accessPath -list {} "access path for the slave"} + {-noStatics "prevent loading of statically linked pkgs"} + {-statics true "loading of statically linked pkgs"} + {-nestedLoadOk "allow nested loading"} + {-nested false "nested loading"} + {-deleteHook -script {} "delete hook"} + }] + + # create case (slave is optional) + ::tcl::OptKeyRegister { + {?slave? -name {} "name of the slave (optional)"} + } ::safe::interpCreate + # adding the flags sub programs to the command program (relying on Opt's + # internal implementation details) + lappend ::tcl::OptDesc(::safe::interpCreate) $::tcl::OptDesc($temp) + + # init and configure (slave is needed) + ::tcl::OptKeyRegister { + {slave -name {} "name of the slave"} + } ::safe::interpIC + # adding the flags sub programs to the command program (relying on Opt's + # internal implementation details) + lappend ::tcl::OptDesc(::safe::interpIC) $::tcl::OptDesc($temp) + # temp not needed anymore + ::tcl::OptKeyDelete $temp + + # Helper function to resolve the dual way of specifying staticsok (either + # by -noStatics or -statics 0) + proc InterpStatics {} { + foreach v {Args statics noStatics} { + upvar $v $v + } + set flag [::tcl::OptProcArgGiven -noStatics] + if {$flag && (!$noStatics == !$statics) + && ([::tcl::OptProcArgGiven -statics])} { + return -code error\ + "conflicting values given for -statics and -noStatics" + } + if {$flag} { + return [expr {!$noStatics}] + } else { + return $statics + } } -} -#### -# -# API entry points that needs argument parsing : -# -#### + # Helper function to resolve the dual way of specifying nested loading + # (either by -nestedLoadOk or -nested 1) + proc InterpNested {} { + foreach v {Args nested nestedLoadOk} { + upvar $v $v + } + set flag [::tcl::OptProcArgGiven -nestedLoadOk] + # note that the test here is the opposite of the "InterpStatics" one + # (it is not -noNested... because of the wanted default value) + if {$flag && (!$nestedLoadOk != !$nested) + && ([::tcl::OptProcArgGiven -nested])} { + return -code error\ + "conflicting values given for -nested and -nestedLoadOk" + } + if {$flag} { + # another difference with "InterpStatics" + return $nestedLoadOk + } else { + return $nested + } + } -# Interface/entry point function and front end for "Create" -proc ::safe::interpCreate {args} { - set Args [::tcl::OptKeyParse ::safe::interpCreate $args] - InterpCreate $slave $accessPath \ - [InterpStatics] [InterpNested] $deleteHook -} + #### + # + # API entry points that needs argument parsing : + # + #### -proc ::safe::interpInit {args} { - set Args [::tcl::OptKeyParse ::safe::interpIC $args] - if {![::interp exists $slave]} { - return -code error "\"$slave\" is not an interpreter" + # Interface/entry point function and front end for "Create" + proc interpCreate {args} { + set Args [::tcl::OptKeyParse ::safe::interpCreate $args] + InterpCreate $slave $accessPath \ + [InterpStatics] [InterpNested] $deleteHook } - InterpInit $slave $accessPath \ - [InterpStatics] [InterpNested] $deleteHook -} -# Check that the given slave is "one of us" -proc ::safe::CheckInterp {slave} { - namespace upvar ::safe S$slave state - if {![info exists state] || ![::interp exists $slave]} { - return -code error \ - "\"$slave\" is not an interpreter managed by ::safe::" + proc interpInit {args} { + set Args [::tcl::OptKeyParse ::safe::interpIC $args] + if {![::interp exists $slave]} { + return -code error "\"$slave\" is not an interpreter" + } + InterpInit $slave $accessPath \ + [InterpStatics] [InterpNested] $deleteHook } -} -# Interface/entry point function and front end for "Configure". This code -# is awfully pedestrian because it would need more coupling and support -# between the way we store the configuration values in safe::interp's and -# the Opt package. Obviously we would like an OptConfigure to avoid -# duplicating all this code everywhere. -# -> TODO (the app should share or access easily the program/value stored -# by opt) - -# This is even more complicated by the boolean flags with no values that -# we had the bad idea to support for the sake of user simplicity in -# create/init but which makes life hard in configure... -# So this will be hopefully written and some integrated with opt1.0 -# (hopefully for tcl8.1 ?) -proc ::safe::interpConfigure {args} { - switch [llength $args] { - 1 { - # If we have exactly 1 argument the semantic is to return all - # the current configuration. We still call OptKeyParse though - # we know that "slave" is our given argument because it also - # checks for the "-help" option. - set Args [::tcl::OptKeyParse ::safe::interpIC $args] - CheckInterp $slave - namespace upvar ::safe S$slave state - - return [join [list \ - [list -accessPath $state(access_path)] \ - [list -statics $state(staticsok)] \ - [list -nested $state(nestedok)] \ - [list -deleteHook $state(cleanupHook)]]] + proc CheckInterp {slave} { + if {![IsInterp $slave]} { + return -code error \ + "\"$slave\" is not an interpreter managed by ::safe::" } - 2 { - # If we have exactly 2 arguments the semantic is a "configure - # get" - lassign $args slave arg - - # get the flag sub program (we 'know' about Opt's internal - # representation of data) - set desc [lindex [::tcl::OptKeyGetDesc ::safe::interpIC] 2] - set hits [::tcl::OptHits desc $arg] - if {$hits > 1} { - return -code error [::tcl::OptAmbigous $desc $arg] - } elseif {$hits == 0} { - return -code error [::tcl::OptFlagUsage $desc $arg] + } + + # Interface/entry point function and front end for "Configure". This code + # is awfully pedestrian because it would need more coupling and support + # between the way we store the configuration values in safe::interp's and + # the Opt package. Obviously we would like an OptConfigure to avoid + # duplicating all this code everywhere. + # -> TODO (the app should share or access easily the program/value stored + # by opt) + + # This is even more complicated by the boolean flags with no values that + # we had the bad idea to support for the sake of user simplicity in + # create/init but which makes life hard in configure... + # So this will be hopefully written and some integrated with opt1.0 + # (hopefully for tcl8.1 ?) + proc interpConfigure {args} { + switch [llength $args] { + 1 { + # If we have exactly 1 argument the semantic is to return all + # the current configuration. We still call OptKeyParse though + # we know that "slave" is our given argument because it also + # checks for the "-help" option. + set Args [::tcl::OptKeyParse ::safe::interpIC $args] + CheckInterp $slave + set res {} + lappend res [list -accessPath [Set [PathListName $slave]]] + lappend res [list -statics [Set [StaticsOkName $slave]]] + lappend res [list -nested [Set [NestedOkName $slave]]] + lappend res [list -deleteHook [Set [DeleteHookName $slave]]] + join $res } - CheckInterp $slave - namespace upvar ::safe S$slave state - - set item [::tcl::OptCurDesc $desc] - set name [::tcl::OptName $item] - switch -exact -- $name { - -accessPath {return [list -accessPath $state(access_path)]} - -statics {return [list -statics $state(staticsok)]} - -nested {return [list -nested $state(nestedok)]} - -deleteHook {return [list -deleteHook $state(cleanupHook)]} - -noStatics { - # it is most probably a set in fact but we would need - # then to jump to the set part and it is not *sure* - # that it is a set action that the user want, so force - # it to use the unambigous -statics ?value? instead: - return -code error\ - "ambigous query (get or set -noStatics ?)\ + 2 { + # If we have exactly 2 arguments the semantic is a "configure + # get" + ::tcl::Lassign $args slave arg + + # get the flag sub program (we 'know' about Opt's internal + # representation of data) + set desc [lindex [::tcl::OptKeyGetDesc ::safe::interpIC] 2] + set hits [::tcl::OptHits desc $arg] + if {$hits > 1} { + return -code error [::tcl::OptAmbigous $desc $arg] + } elseif {$hits == 0} { + return -code error [::tcl::OptFlagUsage $desc $arg] + } + CheckInterp $slave + set item [::tcl::OptCurDesc $desc] + set name [::tcl::OptName $item] + switch -exact -- $name { + -accessPath { + return [list -accessPath [Set [PathListName $slave]]] + } + -statics { + return [list -statics [Set [StaticsOkName $slave]]] + } + -nested { + return [list -nested [Set [NestedOkName $slave]]] + } + -deleteHook { + return [list -deleteHook [Set [DeleteHookName $slave]]] + } + -noStatics { + # it is most probably a set in fact but we would need + # then to jump to the set part and it is not *sure* + # that it is a set action that the user want, so force + # it to use the unambigous -statics ?value? instead: + return -code error\ + "ambigous query (get or set -noStatics ?)\ use -statics instead" - } - -nestedLoadOk { - return -code error\ - "ambigous query (get or set -nestedLoadOk ?)\ + } + -nestedLoadOk { + return -code error\ + "ambigous query (get or set -nestedLoadOk ?)\ use -nested instead" + } + default { + return -code error "unknown flag $name (bug)" + } } - default { - return -code error "unknown flag $name (bug)" - } - } - } - default { - # Otherwise we want to parse the arguments like init and - # create did - set Args [::tcl::OptKeyParse ::safe::interpIC $args] - CheckInterp $slave - namespace upvar ::safe S$slave state - - # Get the current (and not the default) values of whatever has - # not been given: - if {![::tcl::OptProcArgGiven -accessPath]} { - set doreset 1 - set accessPath $state(access_path) - } else { - set doreset 0 - } - if { - ![::tcl::OptProcArgGiven -statics] - && ![::tcl::OptProcArgGiven -noStatics] - } { - set statics $state(staticsok) - } else { - set statics [InterpStatics] - } - if { - [::tcl::OptProcArgGiven -nested] || - [::tcl::OptProcArgGiven -nestedLoadOk] - } { - set nested [InterpNested] - } else { - set nested $state(nestedok) - } - if {![::tcl::OptProcArgGiven -deleteHook]} { - set deleteHook $state(cleanupHook) } - # we can now reconfigure : - InterpSetConfig $slave $accessPath $statics $nested $deleteHook - # auto_reset the slave (to completly synch the new access_path) - if {$doreset} { - if {[catch {::interp eval $slave {auto_reset}} msg]} { - Log $slave "auto_reset failed: $msg" + default { + # Otherwise we want to parse the arguments like init and + # create did + set Args [::tcl::OptKeyParse ::safe::interpIC $args] + CheckInterp $slave + + # Get the current (and not the default) values of whatever has + # not been given: + if {![::tcl::OptProcArgGiven -accessPath]} { + set doreset 1 + set accessPath [Set [PathListName $slave]] + } else { + set doreset 0 + } + if { + ![::tcl::OptProcArgGiven -statics] + && ![::tcl::OptProcArgGiven -noStatics] + } then { + set statics [Set [StaticsOkName $slave]] } else { - Log $slave "successful auto_reset" NOTICE + set statics [InterpStatics] + } + if { + [::tcl::OptProcArgGiven -nested] || + [::tcl::OptProcArgGiven -nestedLoadOk] + } then { + set nested [InterpNested] + } else { + set nested [Set [NestedOkName $slave]] + } + if {![::tcl::OptProcArgGiven -deleteHook]} { + set deleteHook [Set [DeleteHookName $slave]] + } + # we can now reconfigure : + InterpSetConfig $slave $accessPath $statics $nested $deleteHook + # auto_reset the slave (to completly synch the new access_path) + if {$doreset} { + if {[catch {::interp eval $slave {auto_reset}} msg]} { + Log $slave "auto_reset failed: $msg" + } else { + Log $slave "successful auto_reset" NOTICE + } } } } } -} -#### -# -# Functions that actually implements the exported APIs -# -#### + #### + # + # Functions that actually implements the exported APIs + # + #### -# -# safe::InterpCreate : doing the real job -# -# This procedure creates a safe slave and initializes it with the safe -# base aliases. -# NB: slave name must be simple alphanumeric string, no spaces, no (), no -# {},... {because the state array is stored as part of the name} -# -# Returns the slave name. -# -# Optional Arguments : -# + slave name : if empty, generated name will be used -# + access_path: path list controlling where load/source can occur, -# if empty: the master auto_path will be used. -# + staticsok : flag, if 0 :no static package can be loaded (load {} Xxx) -# if 1 :static packages are ok. -# + nestedok: flag, if 0 :no loading to sub-sub interps (load xx xx sub) -# if 1 : multiple levels are ok. - -# use the full name and no indent so auto_mkIndex can find us -proc ::safe::InterpCreate { - slave - access_path - staticsok - nestedok - deletehook - } { - # Create the slave. - if {$slave ne ""} { - ::interp create -safe $slave - } else { - # empty argument: generate slave name - set slave [::interp create -safe] - } - Log $slave "Created" NOTICE + # + # safe::InterpCreate : doing the real job + # + # This procedure creates a safe slave and initializes it with the safe + # base aliases. + # NB: slave name must be simple alphanumeric string, no spaces, no (), no + # {},... {because the state array is stored as part of the name} + # + # Returns the slave name. + # + # Optional Arguments : + # + slave name : if empty, generated name will be used + # + access_path: path list controlling where load/source can occur, + # if empty: the master auto_path will be used. + # + staticsok : flag, if 0 :no static package can be loaded (load {} Xxx) + # if 1 :static packages are ok. + # + nestedok: flag, if 0 :no loading to sub-sub interps (load xx xx sub) + # if 1 : multiple levels are ok. + + # use the full name and no indent so auto_mkIndex can find us + proc ::safe::InterpCreate { + slave + access_path + staticsok + nestedok + deletehook + } { + # Create the slave. + if {$slave ne ""} { + ::interp create -safe $slave + } else { + # empty argument: generate slave name + set slave [::interp create -safe] + } + Log $slave "Created" NOTICE - # Initialize it. (returns slave name) - InterpInit $slave $access_path $staticsok $nestedok $deletehook -} + # Initialize it. (returns slave name) + InterpInit $slave $access_path $staticsok $nestedok $deletehook + } -# -# InterpSetConfig (was setAccessPath) : -# Sets up slave virtual auto_path and corresponding structure within -# the master. Also sets the tcl_library in the slave to be the first -# directory in the path. -# NB: If you change the path after the slave has been initialized you -# probably need to call "auto_reset" in the slave in order that it gets -# the right auto_index() array values. - -proc ::safe::InterpSetConfig {slave access_path staticsok nestedok deletehook} { - global auto_path - - # determine and store the access path if empty - if {$access_path eq ""} { - set access_path $auto_path - - # Make sure that tcl_library is in auto_path and at the first - # position (needed by setAccessPath) - set where [lsearch -exact $access_path [info library]] - if {$where == -1} { - # not found, add it. - set access_path [linsert $access_path 0 [info library]] - Log $slave "tcl_library was not in auto_path,\ + # + # InterpSetConfig (was setAccessPath) : + # Sets up slave virtual auto_path and corresponding structure within + # the master. Also sets the tcl_library in the slave to be the first + # directory in the path. + # NB: If you change the path after the slave has been initialized you + # probably need to call "auto_reset" in the slave in order that it gets + # the right auto_index() array values. + + proc ::safe::InterpSetConfig {slave access_path staticsok\ + nestedok deletehook} { + # determine and store the access path if empty + if {$access_path eq ""} { + set access_path [uplevel \#0 set auto_path] + # Make sure that tcl_library is in auto_path and at the first + # position (needed by setAccessPath) + set where [lsearch -exact $access_path [info library]] + if {$where == -1} { + # not found, add it. + set access_path [concat [list [info library]] $access_path] + Log $slave "tcl_library was not in auto_path,\ added it to slave's access_path" NOTICE - } elseif {$where != 0} { - # not first, move it first - set access_path [linsert \ - [lreplace $access_path $where $where] \ - 0 [info library]] - Log $slave "tcl_libray was not in first in auto_path,\ + } elseif {$where != 0} { + # not first, move it first + set access_path [concat [list [info library]]\ + [lreplace $access_path $where $where]] + Log $slave "tcl_libray was not in first in auto_path,\ moved it to front of slave's access_path" NOTICE - } + + } - # Add 1st level sub dirs (will searched by auto loading from tcl - # code in the slave using glob and thus fail, so we add them here - # so by default it works the same). - set access_path [AddSubDirs $access_path] - } + # Add 1st level sub dirs (will searched by auto loading from tcl + # code in the slave using glob and thus fail, so we add them here + # so by default it works the same). + set access_path [AddSubDirs $access_path] + } - Log $slave "Setting accessPath=($access_path) staticsok=$staticsok\ + Log $slave "Setting accessPath=($access_path) staticsok=$staticsok\ nestedok=$nestedok deletehook=($deletehook)" NOTICE - namespace upvar ::safe S$slave state - - # clear old autopath if it existed - # build new one - # Extend the access list with the paths used to look for Tcl Modules. - # We save the virtual form separately as well, as syncing it with the - # slave has to be defered until the necessary commands are present for - # setup. - - set norm_access_path {} - set slave_access_path {} - set map_access_path {} - set remap_access_path {} - set slave_tm_path {} - - set i 0 - foreach dir $access_path { - set token [PathToken $i] - lappend slave_access_path $token - lappend map_access_path $token $dir - lappend remap_access_path $dir $token - lappend norm_access_path [file normalize $dir] - incr i - } - - set morepaths [::tcl::tm::list] - while {[llength $morepaths]} { - set addpaths $morepaths - set morepaths {} - - foreach dir $addpaths { - # Prevent the addition of dirs on the tm list to the - # result if they are already known. - if {[dict exists $remap_access_path $dir]} { - continue + # clear old autopath if it existed + set nname [PathNumberName $slave] + if {[Exists $nname]} { + set n [Set $nname] + for {set i 0} {$i<$n} {incr i} { + Unset [PathToken $i $slave] } + } - set token [PathToken $i] - lappend access_path $dir - lappend slave_access_path $token - lappend map_access_path $token $dir - lappend remap_access_path $dir $token - lappend norm_access_path [file normalize $dir] - lappend slave_tm_path $token + # build new one + set slave_auto_path {} + set i 0 + foreach dir $access_path { + Set [PathToken $i $slave] $dir + lappend slave_auto_path "\$[PathToken $i]" + incr i + } + # Extend the access list with the paths used to look for Tcl Modules. + # We save the virtual form separately as well, as syncing it with the + # slave has to be defered until the necessary commands are present for + # setup. + foreach dir [::tcl::tm::list] { + lappend access_path $dir + Set [PathToken $i $slave] $dir + lappend slave_auto_path "\$[PathToken $i]" + lappend slave_tm_path "\$[PathToken $i]" incr i + } + Set $nname $i + Set [PathListName $slave] $access_path + Set [VirtualPathListName $slave] $slave_auto_path + Set [TmPathListName $slave] $slave_tm_path + + Set [StaticsOkName $slave] $staticsok + Set [NestedOkName $slave] $nestedok + Set [DeleteHookName $slave] $deletehook - # [Bug 2854929] - # Recursively find deeper paths which may contain - # modules. Required to handle modules with names like - # 'platform::shell', which translate into - # 'platform/shell-X.tm', i.e arbitrarily deep - # subdirectories. - lappend morepaths {*}[glob -nocomplain -directory $dir -type d *] + SyncAccessPath $slave + } + + # + # + # FindInAccessPath: + # Search for a real directory and returns its virtual Id (including the + # "$") +proc ::safe::interpFindInAccessPath {slave path} { + set access_path [GetAccessPath $slave] + set where [lsearch -exact $access_path $path] + if {$where == -1} { + return -code error "$path not found in access path $access_path" } + return "\$[PathToken $where]" } - set state(access_path) $access_path - set state(access_path,map) $map_access_path - set state(access_path,remap) $remap_access_path - set state(access_path,norm) $norm_access_path - set state(access_path,slave) $slave_access_path - set state(tm_path_slave) $slave_tm_path - set state(staticsok) $staticsok - set state(nestedok) $nestedok - set state(cleanupHook) $deletehook - - SyncAccessPath $slave -} + # + # addToAccessPath: + # add (if needed) a real directory to access path and return its + # virtual token (including the "$"). +proc ::safe::interpAddToAccessPath {slave path} { + # first check if the directory is already in there + try { + return [interpFindInAccessPath $slave $path] + } on error {} { + # new one, add it: + set nname [PathNumberName $slave] + set n [Set $nname] + Set [PathToken $n $slave] $path -# -# -# FindInAccessPath: -# Search for a real directory and returns its virtual Id (including the -# "$") -proc ::safe::interpFindInAccessPath {slave path} { - namespace upvar ::safe S$slave state + set token "\$[PathToken $n]" - if {![dict exists $state(access_path,remap) $path]} { - return -code error "$path not found in access path $access_path" + Lappend [VirtualPathListName $slave] $token + Lappend [PathListName $slave] $path + Set $nname [expr {$n+1}] + + SyncAccessPath $slave + + return $token + } } - return [dict get $state(access_path,remap) $path] -} + # This procedure applies the initializations to an already existing + # interpreter. It is useful when you want to install the safe base aliases + # into a preexisting safe interpreter. + proc ::safe::InterpInit { + slave + access_path + staticsok + nestedok + deletehook + } { + # Configure will generate an access_path when access_path is empty. + InterpSetConfig $slave $access_path $staticsok $nestedok $deletehook -# -# addToAccessPath: -# add (if needed) a real directory to access path and return its -# virtual token (including the "$"). -proc ::safe::interpAddToAccessPath {slave path} { - # first check if the directory is already in there - # (inlined interpFindInAccessPath). - namespace upvar ::safe S$slave state + # These aliases let the slave load files to define new commands - if {[dict exists $state(access_path,remap) $path]} { - return [dict get $state(access_path,remap) $path] - } + # NB we need to add [namespace current], aliases are always absolute + # paths. + ::interp alias $slave source {} \ + [namespace current]::AliasSource $slave + ::interp alias $slave load {} \ + [namespace current]::AliasLoad $slave - # new one, add it: - set token [PathToken [llength $state(access_path)]] + # This alias lets the slave use the encoding names, convertfrom, + # convertto, and system, but not "encoding system <name>" to set the + # system encoding. - lappend state(access_path) $path - lappend state(access_path,slave) $token - lappend state(access_path,map) $token $path - lappend state(access_path,remap) $path $token - lappend state(access_path,norm) [file normalize $path] + ::interp alias $slave encoding {} \ + [namespace current]::AliasEncoding $slave - SyncAccessPath $slave - return $token -} + # Handling Tcl Modules, we need a restricted form of Glob. + ::interp alias $slave glob {} \ + [namespace current]::AliasGlob $slave -# This procedure applies the initializations to an already existing -# interpreter. It is useful when you want to install the safe base aliases -# into a preexisting safe interpreter. -proc ::safe::InterpInit { - slave - access_path - staticsok - nestedok - deletehook - } { - # Configure will generate an access_path when access_path is empty. - InterpSetConfig $slave $access_path $staticsok $nestedok $deletehook - - # NB we need to add [namespace current], aliases are always absolute - # paths. - - # These aliases let the slave load files to define new commands - # This alias lets the slave use the encoding names, convertfrom, - # convertto, and system, but not "encoding system <name>" to set the - # system encoding. - # Handling Tcl Modules, we need a restricted form of Glob. - # This alias interposes on the 'exit' command and cleanly terminates - # the slave. - - foreach {command alias} { - source AliasSource - load AliasLoad - encoding AliasEncoding - exit interpDelete - glob AliasGlob - } { - ::interp alias $slave $command {} [namespace current]::$alias $slave - } + # This alias lets the slave have access to a subset of the 'file' + # command functionality. - # This alias lets the slave have access to a subset of the 'file' - # command functionality. + AliasSubset $slave file \ + file dir.* join root.* ext.* tail path.* split - AliasSubset $slave file \ - file dir.* join root.* ext.* tail path.* split + # This alias interposes on the 'exit' command and cleanly terminates + # the slave. - # Subcommands of info - foreach {subcommand alias} { - nameofexecutable AliasExeName - } { - ::interp alias $slave ::tcl::info::$subcommand \ - {} [namespace current]::$alias $slave - } + ::interp alias $slave exit {} \ + [namespace current]::interpDelete $slave - # The allowed slave variables already have been set by Tcl_MakeSafe(3) + # The allowed slave variables already have been set by Tcl_MakeSafe(3) - # Source init.tcl and tm.tcl into the slave, to get auto_load and - # other procedures defined: + # Source init.tcl and tm.tcl into the slave, to get auto_load and + # other procedures defined: - if {[catch {::interp eval $slave { - source [file join $tcl_library init.tcl] - }} msg]} { - Log $slave "can't source init.tcl ($msg)" - return -code error "can't source init.tcl into slave $slave ($msg)" - } + if {[catch {::interp eval $slave { + source [file join $tcl_library init.tcl] + }} msg]} then { + Log $slave "can't source init.tcl ($msg)" + error "can't source init.tcl into slave $slave ($msg)" + } - if {[catch {::interp eval $slave { - source [file join $tcl_library tm.tcl] - }} msg]} { - Log $slave "can't source tm.tcl ($msg)" - return -code error "can't source tm.tcl into slave $slave ($msg)" - } + if {[catch {::interp eval $slave { + source [file join $tcl_library tm.tcl] + }} msg]} then { + Log $slave "can't source tm.tcl ($msg)" + error "can't source tm.tcl into slave $slave ($msg)" + } - # Sync the paths used to search for Tcl modules. This can be done only - # now, after tm.tcl was loaded. - namespace upvar ::safe S$slave state - if {[llength $state(tm_path_slave)] > 0} { + # Sync the paths used to search for Tcl modules. This can be done only + # now, after tm.tcl was loaded. ::interp eval $slave [list \ - ::tcl::tm::add {*}[lreverse $state(tm_path_slave)]] + ::tcl::tm::add {*}[Set [TmPathListName $slave]] ] + + return $slave } - return $slave -} -# Add (only if needed, avoid duplicates) 1 level of sub directories to an -# existing path list. Also removes non directories from the returned -# list. -proc ::safe::AddSubDirs {pathList} { - set res {} - foreach dir $pathList { - if {[file isdirectory $dir]} { - # check that we don't have it yet as a children of a previous - # dir - if {$dir ni $res} { - lappend res $dir - } - foreach sub [glob -directory $dir -nocomplain *] { - if {[file isdirectory $sub] && ($sub ni $res)} { - # new sub dir, add it ! - lappend res $sub + # Add (only if needed, avoid duplicates) 1 level of sub directories to an + # existing path list. Also removes non directories from the returned + # list. + proc AddSubDirs {pathList} { + set res {} + foreach dir $pathList { + if {[file isdirectory $dir]} { + # check that we don't have it yet as a children of a previous + # dir + if {[lsearch -exact $res $dir]<0} { + lappend res $dir + } + foreach sub [glob -directory $dir -nocomplain *] { + if {([file isdirectory $sub]) \ + && ([lsearch -exact $res $sub]<0) } { + # new sub dir, add it ! + lappend res $sub + } } } } + return $res } - return $res -} -# This procedure deletes a safe slave managed by Safe Tcl and cleans up -# associated state: + # This procedure deletes a safe slave managed by Safe Tcl and cleans up + # associated state: proc ::safe::interpDelete {slave} { - Log $slave "About to delete" NOTICE - - namespace upvar ::safe S$slave state - - # If the slave has a cleanup hook registered, call it. Check the - # existance because we might be called to delete an interp which has - # not been registered with us at all - - if {[info exists state(cleanupHook)]} { - set hook $state(cleanupHook) - if {[llength $hook]} { - # remove the hook now, otherwise if the hook calls us somehow, - # we'll loop - unset state(cleanupHook) - if {[catch { - {*}$hook $slave - } err]} { - Log $slave "Delete hook error ($err)" + Log $slave "About to delete" NOTICE + + # If the slave has a cleanup hook registered, call it. Check the + # existance because we might be called to delete an interp which has + # not been registered with us at all + set hookname [DeleteHookName $slave] + if {[Exists $hookname]} { + set hook [Set $hookname] + if {![::tcl::Lempty $hook]} { + # remove the hook now, otherwise if the hook calls us somehow, + # we'll loop + Unset $hookname + try { + {*}$hook $slave + } on error err { + Log $slave "Delete hook error ($err)" + } } } - } - - # Discard the global array of state associated with the slave, and - # delete the interpreter. - - if {[info exists state]} { - unset state - } - # if we have been called twice, the interp might have been deleted - # already - if {[::interp exists $slave]} { - ::interp delete $slave - Log $slave "Deleted" NOTICE - } + # Discard the global array of state associated with the slave, and + # delete the interpreter. - return -} + set statename [InterpStateName $slave] + if {[Exists $statename]} { + Unset $statename + } -# Set (or get) the logging mecanism + # if we have been called twice, the interp might have been deleted + # already + if {[::interp exists $slave]} { + ::interp delete $slave + Log $slave "Deleted" NOTICE + } -proc ::safe::setLogCmd {args} { - variable Log - set la [llength $args] - if {$la == 0} { - return $Log - } elseif {$la == 1} { - set Log [lindex $args 0] - } else { - set Log $args + return } - if {$Log eq ""} { - # Disable logging completely. Calls to it will be compiled out - # of all users. - proc ::safe::Log {args} {} - } else { - # Activate logging, define proper command. + # Set (or get) the loging mecanism - proc ::safe::Log {slave msg {type ERROR}} { - variable Log - {*}$Log "$type for slave $slave : $msg" - return +proc ::safe::setLogCmd {args} { + variable Log + if {[llength $args] == 0} { + return $Log + } elseif {[llength $args] == 1} { + set Log [lindex $args 0] + } else { + set Log $args } } -} - -# ------------------- END OF PUBLIC METHODS ------------ - -# -# Sets the slave auto_path to the master recorded value. Also sets -# tcl_library to the first token of the virtual path. -# -proc ::safe::SyncAccessPath {slave} { - namespace upvar ::safe S$slave state - - set slave_access_path $state(access_path,slave) - ::interp eval $slave [list set auto_path $slave_access_path] - Log $slave "auto_path in $slave has been set to $slave_access_path"\ - NOTICE - - # This code assumes that info library is the first element in the - # list of auto_path's. See -> InterpSetConfig for the code which - # ensures this condition. - - ::interp eval $slave [list \ - set tcl_library [lindex $slave_access_path 0]] -} - -# Returns the virtual token for directory number N. -proc ::safe::PathToken {n} { - # We need to have a ":" in the token string so [file join] on the - # mac won't turn it into a relative path. - return "\$p(:$n:)" ;# Form tested by case 7.2 -} + # internal variable + variable Log {} -# -# translate virtual path into real path -# -proc ::safe::TranslatePath {slave path} { - namespace upvar ::safe S$slave state + # ------------------- END OF PUBLIC METHODS ------------ - # somehow strip the namespaces 'functionality' out (the danger is that - # we would strip valid macintosh "../" queries... : - if {[string match "*::*" $path] || [string match "*..*" $path]} { - return -code error "invalid characters in path $path" + # + # Sets the slave auto_path to the master recorded value. Also sets + # tcl_library to the first token of the virtual path. + # + proc SyncAccessPath {slave} { + set slave_auto_path [Set [VirtualPathListName $slave]] + ::interp eval $slave [list set auto_path $slave_auto_path] + Log $slave "auto_path in $slave has been set to $slave_auto_path"\ + NOTICE + ::interp eval $slave [list set tcl_library [lindex $slave_auto_path 0]] } - # Use a cached map instead of computed local vars and subst. - - return [string map $state(access_path,map) $path] -} - -# file name control (limit access to files/resources that should be a -# valid tcl source file) -proc ::safe::CheckFileName {slave file} { - # This used to limit what can be sourced to ".tcl" and forbid files - # with more than 1 dot and longer than 14 chars, but I changed that - # for 8.4 as a safe interp has enough internal protection already to - # allow sourcing anything. - hobbs - - if {![file exists $file]} { - # don't tell the file path - return -code error "no such file or directory" + # Base name for storing all the slave states. The array variable name for + # slave foo is thus "Sfoo" and for sub slave {foo bar} "Sfoo bar" (spaces + # are handled ok everywhere (or should)). We add the S prefix to avoid + # that a slave interp called "Log" would smash our "Log" variable. + proc InterpStateName {slave} { + return "S$slave" } - if {![file readable $file]} { - # don't tell the file path - return -code error "not readable" + # Check that the given slave is "one of us" + proc IsInterp {slave} { + expr {[Exists [InterpStateName $slave]] && [::interp exists $slave]} } -} -# AliasGlob is the target of the "glob" alias in safe interpreters. -proc ::safe::AliasGlob {slave args} { - Log $slave "GLOB ! $args" NOTICE - set cmd {} - set at 0 - array set got { - -directory 0 - -nocomplain 0 - -join 0 - -tails 0 - -- 0 + # Returns the virtual token for directory number N. If the slave argument + # is given, it will return the corresponding master global variable name + proc PathToken {n {slave ""}} { + if {$slave ne ""} { + return "[InterpStateName $slave](access_path,$n)" + } else { + # We need to have a ":" in the token string so [file join] on the + # mac won't turn it into a relative path. + return "p(:$n:)" + } } - - if {$::tcl_platform(platform) eq "windows"} { - set dirPartRE {^(.*)[\\/]([^\\/]*)$} - } else { - set dirPartRE {^(.*)/([^/]*)$} + # returns the variable name of the complete path list + proc PathListName {slave} { + return "[InterpStateName $slave](access_path)" } - - set dir {} - set virtualdir {} - - while {$at < [llength $args]} { - switch -glob -- [set opt [lindex $args $at]] { - -nocomplain - -- - -join - -tails { - lappend cmd $opt - set got($opt) 1 - incr at - } - -types - -type { - lappend cmd -types [lindex $args [incr at]] - incr at - } - -directory { - if {$got($opt)} { - return -code error \ - {"-directory" cannot be used with "-path"} - } - set got($opt) 1 - set virtualdir [lindex $args [incr at]] - incr at - } - pkgIndex.tcl { - # Oops, this is globbing a subdirectory in regular package - # search. That is not wanted. Abort, handler does catch - # already (because glob was not defined before). See - # package.tcl, lines 484ff in tclPkgUnknown. - return -code error "unknown command glob" - } - -* { - Log $slave "Safe base rejecting glob option '$opt'" - return -code error "Safe base rejecting glob option '$opt'" - } - default { - break - } - } - if {$got(--)} break + # returns the variable name of the complete path list + proc VirtualPathListName {slave} { + return "[InterpStateName $slave](access_path_slave)" } - - # Get the real path from the virtual one and check that the path is in the - # access path of that slave. Done after basic argument processing so that - # we know if -nocomplain is set. - if {$got(-directory)} { - if {[catch { - set dir [TranslatePath $slave $virtualdir] - DirInAccessPath $slave $dir - } msg]} { - Log $slave $msg - if {$got(-nocomplain)} { - return - } - return -code error "permission denied" - } - lappend cmd -directory $dir + # returns the variable name of the complete tm path list + proc TmPathListName {slave} { + return "[InterpStateName $slave](tm_path_slave)" } - - # Apply the -join semantics ourselves - if {$got(-join)} { - set args [lreplace $args $at end [join [lrange $args $at end] "/"]] + # returns the variable name of the number of items + proc PathNumberName {slave} { + return "[InterpStateName $slave](access_path,n)" + } + # returns the staticsok flag var name + proc StaticsOkName {slave} { + return "[InterpStateName $slave](staticsok)" + } + # returns the nestedok flag var name + proc NestedOkName {slave} { + return "[InterpStateName $slave](nestedok)" + } + # Run some code at the namespace toplevel + proc Toplevel {args} { + namespace eval [namespace current] $args + } + # set/get values + proc Set {args} { + Toplevel set {*}$args + } + # lappend on toplevel vars + proc Lappend {args} { + Toplevel lappend {*}$args + } + # unset a var/token (currently just an global level eval) + proc Unset {args} { + Toplevel unset {*}$args + } + # test existance + proc Exists {varname} { + Toplevel info exists $varname + } + # short cut for access path getting + proc GetAccessPath {slave} { + Set [PathListName $slave] + } + # short cut for statics ok flag getting + proc StaticsOk {slave} { + Set [StaticsOkName $slave] + } + # short cut for getting the multiples interps sub loading ok flag + proc NestedOk {slave} { + Set [NestedOkName $slave] + } + # interp deletion storing hook name + proc DeleteHookName {slave} { + return [InterpStateName $slave](cleanupHook) } - # Process remaining pattern arguments - set firstPattern [llength $cmd] - foreach opt [lrange $args $at end] { - if {![regexp $dirPartRE $opt -> thedir thefile]} { - set thedir . - } - if {$thedir eq "*"} { - set mapped 0 - foreach d [glob -directory [TranslatePath $slave $virtualdir] \ - -types d -tails *] { - catch { - DirInAccessPath $slave \ - [TranslatePath $slave [file join $virtualdir $d]] - if {$thefile eq "pkgIndex.tcl" || $thefile eq "*.tm"} { - lappend cmd [file join $d $thefile] - set mapped 1 - } - } - } - if {$mapped} continue + # + # translate virtual path into real path + # + proc TranslatePath {slave path} { + # somehow strip the namespaces 'functionality' out (the danger is that + # we would strip valid macintosh "../" queries... : + if {[string match "*::*" $path] || [string match "*..*" $path]} { + error "invalid characters in path $path" } - if {[catch { - set thedir [file join $virtualdir $thedir] - DirInAccessPath $slave [TranslatePath $slave $thedir] - } msg]} { - Log $slave $msg - if {$got(-nocomplain)} continue - return -code error "permission denied" + set n [expr {[Set [PathNumberName $slave]]-1}] + for {} {$n>=0} {incr n -1} { + # fill the token virtual names with their real value + set [PathToken $n] [Set [PathToken $n $slave]] } - lappend cmd $opt + # replaces the token by their value + subst -nobackslashes -nocommands $path } - Log $slave "GLOB = $cmd" NOTICE - if {$got(-nocomplain) && [llength $cmd] eq $firstPattern} { - return - } - if {[catch { - ::interp invokehidden $slave glob {*}$cmd - } msg]} { - Log $slave $msg - return -code error "script error" + # Log eventually log an error; to enable error logging, set Log to {puts + # stderr} for instance + proc Log {slave msg {type ERROR}} { + variable Log + if {[info exists Log] && [llength $Log]} { + {*}$Log "$type for slave $slave : $msg" + } } - Log $slave "GLOB < $msg" NOTICE - # Translate path back to what the slave should see. - set res {} - set l [string length $dir] - foreach p $msg { - if {[string equal -length $l $dir $p]} { - set p [string replace $p 0 [expr {$l-1}] $virtualdir] + # file name control (limit access to files/resources that should be a + # valid tcl source file) + proc CheckFileName {slave file} { + # This used to limit what can be sourced to ".tcl" and forbid files + # with more than 1 dot and longer than 14 chars, but I changed that + # for 8.4 as a safe interp has enough internal protection already to + # allow sourcing anything. - hobbs + + if {![file exists $file]} { + # don't tell the file path + error "no such file or directory" + } + + if {![file readable $file]} { + # don't tell the file path + error "not readable" } - lappend res $p } - Log $slave "GLOB > $res" NOTICE - return $res -} + # AliasGlob is the target of the "glob" alias in safe interpreters. -# AliasSource is the target of the "source" alias in safe interpreters. - -proc ::safe::AliasSource {slave args} { - set argc [llength $args] - # Extended for handling of Tcl Modules to allow not only "source - # filename", but "source -encoding E filename" as well. - if {[lindex $args 0] eq "-encoding"} { - incr argc -2 - set encoding [lindex $args 1] - set at 2 - if {$encoding eq "identity"} { - Log $slave "attempt to use the identity encoding" - return -code error "permission denied" - } - } else { + proc AliasGlob {slave args} { + Log $slave "GLOB ! $args" NOTICE + set cmd {} set at 0 - set encoding {} - } - if {$argc != 1} { - set msg "wrong # args: should be \"source ?-encoding E? fileName\"" - Log $slave "$msg ($args)" - return -code error $msg - } - set file [lindex $args $at] - - # get the real path from the virtual one. - if {[catch { - set realfile [TranslatePath $slave $file] - } msg]} { - Log $slave $msg - return -code error "permission denied" - } - - # check that the path is in the access path of that slave - if {[catch { - FileInAccessPath $slave $realfile - } msg]} { - Log $slave $msg - return -code error "permission denied" - } - # do the checks on the filename : - if {[catch { - CheckFileName $slave $realfile - } msg]} { - Log $slave "$realfile:$msg" - return -code error $msg - } + set dir {} + set virtualdir {} - # Passed all the tests, lets source it. Note that we do this all manually - # because we want to control [info script] in the slave so information - # doesn't leak so much. [Bug 2913625] - set old [::interp eval $slave {info script}] - set code [catch { - set f [open $realfile] - fconfigure $f -eofchar \032 - if {$encoding ne ""} { - fconfigure $f -encoding $encoding + while {$at < [llength $args]} { + switch -glob -- [set opt [lindex $args $at]] { + -nocomplain - + -join { + lappend cmd $opt + incr at + } + -directory { + lappend cmd $opt + incr at + set virtualdir [lindex $args $at] + + # get the real path from the virtual one. + try { + set dir [TranslatePath $slave $virtualdir] + } on error msg { + Log $slave $msg + return -code error "permission denied" + } + # check that the path is in the access path of that slave + try { + DirInAccessPath $slave $dir + } on error msg { + Log $slave $msg + return -code error "permission denied" + } + lappend cmd $dir + incr at + } + pkgIndex.tcl { + # Oops, this is globbing a subdirectory in regular package + # search. That is not wanted. Abort, handler does catch + # already (because glob was not defined before). See + # package.tcl, lines 484ff in tclPkgUnknown. + error "unknown command glob" + } + -* { + Log $slave "Safe base rejecting glob option '$opt'" + error "Safe base rejecting glob option '$opt'" + } + default { + lappend cmd $opt + incr at + } + } } - set contents [read $f] - close $f - ::interp eval $slave [list info script $file] - ::interp eval $slave $contents - } msg opt] - catch {interp eval $slave [list info script $old]} - # Note that all non-errors are fine result codes from [source], so we must - # take a little care to do it properly. [Bug 2923613] - if {$code == 1} { - Log $slave $msg - return -code error "script error" - } - return -code $code -options $opt $msg -} -# AliasLoad is the target of the "load" alias in safe interpreters. + Log $slave "GLOB = $cmd" NOTICE -proc ::safe::AliasLoad {slave file args} { - set argc [llength $args] - if {$argc > 2} { - set msg "load error: too many arguments" - Log $slave "$msg ($argc) {$file $args}" - return -code error $msg - } - - # package name (can be empty if file is not). - set package [lindex $args 0] + try { + ::interp invokehidden $slave glob {*}$cmd + } on error msg { + Log $slave $msg + return -code error "script error" + } - namespace upvar ::safe S$slave state + Log $slave "GLOB @ $msg" NOTICE - # Determine where to load. load use a relative interp path and {} - # means self, so we can directly and safely use passed arg. - set target [lindex $args 1] - if {$target ne ""} { - # we will try to load into a sub sub interp; check that we want to - # authorize that. - if {!$state(nestedok)} { - Log $slave "loading to a sub interp (nestedok)\ - disabled (trying to load $package to $target)" - return -code error "permission denied (nested load)" + # Translate path back to what the slave should see. + set res {} + foreach p $msg { + regsub -- ^$dir $p $virtualdir p + lappend res $p } + + Log $slave "GLOB @ $res" NOTICE + return $res } - # Determine what kind of load is requested - if {$file eq ""} { - # static package loading - if {$package eq ""} { - set msg "load error: empty filename and no package name" - Log $slave $msg - return -code error $msg + # AliasSource is the target of the "source" alias in safe interpreters. + + proc AliasSource {slave args} { + set argc [llength $args] + # Extended for handling of Tcl Modules to allow not only "source + # filename", but "source -encoding E filename" as well. + if {[lindex $args 0] eq "-encoding"} { + incr argc -2 + set encoding [lrange $args 0 1] + set at 2 + } else { + set at 0 + set encoding {} } - if {!$state(staticsok)} { - Log $slave "static packages loading disabled\ - (trying to load $package to $target)" - return -code error "permission denied (static package)" + if {$argc != 1} { + set msg "wrong # args: should be \"source ?-encoding E? fileName\"" + Log $slave "$msg ($args)" + return -code error $msg } - } else { - # file loading - + set file [lindex $args $at] + # get the real path from the virtual one. - if {[catch { + try { set file [TranslatePath $slave $file] - } msg]} { + } on error msg { Log $slave $msg return -code error "permission denied" } - - # check the translated path - if {[catch { + + # check that the path is in the access path of that slave + try { FileInAccessPath $slave $file - } msg]} { + } on error msg { Log $slave $msg - return -code error "permission denied (path)" + return -code error "permission denied" } - } - if {[catch { - ::interp invokehidden $slave load $file $package $target - } msg]} { - Log $slave $msg - return -code error $msg - } - - return $msg -} - -# FileInAccessPath raises an error if the file is not found in the list of -# directories contained in the (master side recorded) slave's access path. - -# the security here relies on "file dirname" answering the proper -# result... needs checking ? -proc ::safe::FileInAccessPath {slave file} { - namespace upvar ::safe S$slave state - set access_path $state(access_path) + # do the checks on the filename : + try { + CheckFileName $slave $file + } on error msg { + Log $slave "$file:$msg" + return -code error $msg + } - if {[file isdirectory $file]} { - return -code error "\"$file\": is a directory" + # passed all the tests , lets source it: + if {[catch { + # We use catch here because we want to catch non-error/ok too + ::interp invokehidden $slave source {*}$encoding $file + } msg]} then { + Log $slave $msg + return -code error "script error" + } + return $msg } - set parent [file dirname $file] - # Normalize paths for comparison since lsearch knows nothing of - # potential pathname anomalies. - set norm_parent [file normalize $parent] + # AliasLoad is the target of the "load" alias in safe interpreters. - namespace upvar ::safe S$slave state - if {$norm_parent ni $state(access_path,norm)} { - return -code error "\"$file\": not in access_path" - } -} + proc AliasLoad {slave file args} { + set argc [llength $args] + if {$argc > 2} { + set msg "load error: too many arguments" + Log $slave "$msg ($argc) {$file $args}" + return -code error $msg + } -proc ::safe::DirInAccessPath {slave dir} { - namespace upvar ::safe S$slave state - set access_path $state(access_path) + # package name (can be empty if file is not). + set package [lindex $args 0] + + # Determine where to load. load use a relative interp path and {} + # means self, so we can directly and safely use passed arg. + set target [lindex $args 1] + if {$target ne ""} { + # we will try to load into a sub sub interp; check that we want to + # authorize that. + if {![NestedOk $slave]} { + Log $slave "loading to a sub interp (nestedok)\ + disabled (trying to load $package to $target)" + return -code error "permission denied (nested load)" + } + } - if {[file isfile $dir]} { - return -code error "\"$dir\": is a file" - } + # Determine what kind of load is requested + if {$file eq ""} { + # static package loading + if {$package eq ""} { + set msg "load error: empty filename and no package name" + Log $slave $msg + return -code error $msg + } + if {![StaticsOk $slave]} { + Log $slave "static packages loading disabled\ + (trying to load $package to $target)" + return -code error "permission denied (static package)" + } + } else { + # file loading - # Normalize paths for comparison since lsearch knows nothing of - # potential pathname anomalies. - set norm_dir [file normalize $dir] + # get the real path from the virtual one. + try { + set file [TranslatePath $slave $file] + } on error msg { + Log $slave $msg + return -code error "permission denied" + } - namespace upvar ::safe S$slave state - if {$norm_dir ni $state(access_path,norm)} { - return -code error "\"$dir\": not in access_path" - } -} + # check the translated path + try { + FileInAccessPath $slave $file + } on error msg { + Log $slave $msg + return -code error "permission denied (path)" + } + } -# This procedure enables access from a safe interpreter to only a subset -# of the subcommands of a command: + try { + ::interp invokehidden $slave load $file $package $target + } on error msg { + Log $slave $msg + return -code error $msg + } -proc ::safe::Subset {slave command okpat args} { - set subcommand [lindex $args 0] - if {[regexp $okpat $subcommand]} { - return [$command {*}$args] + return $msg } - set msg "not allowed to invoke subcommand $subcommand of $command" - Log $slave $msg - return -code error $msg -} -# This procedure installs an alias in a slave that invokes "safesubset" in -# the master to execute allowed subcommands. It precomputes the pattern of -# allowed subcommands; you can use wildcards in the pattern if you wish to -# allow subcommand abbreviation. -# -# Syntax is: AliasSubset slave alias target subcommand1 subcommand2... + # FileInAccessPath raises an error if the file is not found in the list of + # directories contained in the (master side recorded) slave's access path. -proc ::safe::AliasSubset {slave alias target args} { - set pat "^([join $args |])\$" - ::interp alias $slave $alias {}\ - [namespace current]::Subset $slave $target $pat -} + # the security here relies on "file dirname" answering the proper + # result... needs checking ? + proc FileInAccessPath {slave file} { + set access_path [GetAccessPath $slave] -# AliasEncoding is the target of the "encoding" alias in safe interpreters. + if {[file isdirectory $file]} { + error "\"$file\": is a directory" + } + set parent [file dirname $file] -proc ::safe::AliasEncoding {slave option args} { - # Careful; do not want empty option to get through to the [string equal] - if {[regexp {^(name.*|convert.*|)$} $option]} { - return [::interp invokehidden $slave encoding $option {*}$args] - } + # Normalize paths for comparison since lsearch knows nothing of + # potential pathname anomalies. + set norm_parent [file normalize $parent] + foreach path $access_path { + lappend norm_access_path [file normalize $path] + } - if {[string equal -length [string length $option] $option "system"]} { - if {[llength $args] == 0} { - # passed all the tests , lets source it: - if {[catch { - set sysenc [::interp invokehidden $slave encoding system] - } msg]} { - Log $slave $msg - return -code error "script error" - } - return $sysenc + if {$norm_parent ni $norm_access_path} { + error "\"$file\": not in access_path" } - set msg "wrong # args: should be \"encoding system\"" - set code {TCL WRONGARGS} - } else { - set msg "bad option \"$option\": must be convertfrom, convertto, names, or system" - set code [list TCL LOOKUP INDEX option $option] } - Log $slave $msg - return -code error -errorcode $code $msg -} -# Various minor hiding of platform features. [Bug 2913625] - -proc ::safe::AliasExeName {slave} { - return "" -} - -proc ::safe::Setup {} { - #### - # - # Setup the arguments parsing - # - #### - - # Share the descriptions - set temp [::tcl::OptKeyRegister { - {-accessPath -list {} "access path for the slave"} - {-noStatics "prevent loading of statically linked pkgs"} - {-statics true "loading of statically linked pkgs"} - {-nestedLoadOk "allow nested loading"} - {-nested false "nested loading"} - {-deleteHook -script {} "delete hook"} - }] + proc DirInAccessPath {slave dir} { + set access_path [GetAccessPath $slave] - # create case (slave is optional) - ::tcl::OptKeyRegister { - {?slave? -name {} "name of the slave (optional)"} - } ::safe::interpCreate + if {[file isfile $dir]} { + error "\"$dir\": is a file" + } - # adding the flags sub programs to the command program (relying on Opt's - # internal implementation details) - lappend ::tcl::OptDesc(::safe::interpCreate) $::tcl::OptDesc($temp) + # Normalize paths for comparison since lsearch knows nothing of + # potential pathname anomalies. + set norm_dir [file normalize $dir] + foreach path $access_path { + lappend norm_access_path [file normalize $path] + } - # init and configure (slave is needed) - ::tcl::OptKeyRegister { - {slave -name {} "name of the slave"} - } ::safe::interpIC + if {$norm_dir ni $norm_access_path} { + error "\"$dir\": not in access_path" + } + } - # adding the flags sub programs to the command program (relying on Opt's - # internal implementation details) - lappend ::tcl::OptDesc(::safe::interpIC) $::tcl::OptDesc($temp) + # This procedure enables access from a safe interpreter to only a subset + # of the subcommands of a command: - # temp not needed anymore - ::tcl::OptKeyDelete $temp + proc Subset {slave command okpat args} { + set subcommand [lindex $args 0] + if {[regexp $okpat $subcommand]} { + return [$command {*}$args] + } + set msg "not allowed to invoke subcommand $subcommand of $command" + Log $slave $msg + error $msg + } - #### - # - # Default: No logging. + # This procedure installs an alias in a slave that invokes "safesubset" in + # the master to execute allowed subcommands. It precomputes the pattern of + # allowed subcommands; you can use wildcards in the pattern if you wish to + # allow subcommand abbreviation. # - #### + # Syntax is: AliasSubset slave alias target subcommand1 subcommand2... + + proc AliasSubset {slave alias target args} { + set pat "^(" + set sep "" + foreach sub $args { + append pat $sep$sub + set sep | + } + append pat ")\$" + ::interp alias $slave $alias {}\ + [namespace current]::Subset $slave $target $pat + } - setLogCmd {} + # AliasEncoding is the target of the "encoding" alias in safe interpreters. - # Log eventually. - # To enable error logging, set Log to {puts stderr} for instance, - # via setLogCmd. - return -} + proc AliasEncoding {slave args} { + set argc [llength $args] -namespace eval ::safe { - # internal variables + set okpat "^(name.*|convert.*)\$" + set subcommand [lindex $args 0] - # Log command, set via 'setLogCmd'. Logging is disabled when empty. - variable Log {} + if {[regexp $okpat $subcommand]} { + return [::interp invokehidden $slave encoding {*}$args] + } - # The package maintains a state array per slave interp under its - # control. The name of this array is S<interp-name>. This array is - # brought into scope where needed, using 'namespace upvar'. The S - # prefix is used to avoid that a slave interp called "Log" smashes - # the "Log" variable. - # - # The array's elements are: - # - # access_path : List of paths accessible to the slave. - # access_path,norm : Ditto, in normalized form. - # access_path,slave : Ditto, as the path tokens as seen by the slave. - # access_path,map : dict ( token -> path ) - # access_path,remap : dict ( path -> token ) - # tm_path_slave : List of TM root directories, as tokens seen by the slave. - # staticsok : Value of option -statics - # nestedok : Value of option -nested - # cleanupHook : Value of option -deleteHook + if {[string first $subcommand system] == 0} { + if {$argc == 1} { + # passed all the tests , lets source it: + try { + return [::interp invokehidden $slave encoding system] + } on error msg { + Log $slave $msg + return -code error "script error" + } + } + set msg "wrong # args: should be \"encoding system\"" + } else { + set msg "wrong # args: should be \"encoding option ?arg ...?\"" + } + Log $slave $msg + error $msg + } } - -::safe::Setup diff --git a/library/tcltest/pkgIndex.tcl b/library/tcltest/pkgIndex.tcl index 4b0a9bc..5b33ac7 100644 --- a/library/tcltest/pkgIndex.tcl +++ b/library/tcltest/pkgIndex.tcl @@ -9,4 +9,4 @@ # full path name of this file's directory. if {![package vsatisfies [package provide Tcl] 8.5]} {return} -package ifneeded tcltest 2.3.5 [list source [file join $dir tcltest.tcl]] +package ifneeded tcltest 2.3.1 [list source [file join $dir tcltest.tcl]] diff --git a/library/tcltest/tcltest.tcl b/library/tcltest/tcltest.tcl index d6e6487..f363c80 100644 --- a/library/tcltest/tcltest.tcl +++ b/library/tcltest/tcltest.tcl @@ -15,6 +15,8 @@ # Copyright (c) 2000 by Ajuba Solutions # Contributions from Don Porter, NIST, 2002. (not subject to US copyright) # All rights reserved. +# +# RCS: @(#) $Id: tcltest.tcl,v 1.104 2009/04/08 16:05:15 dgp Exp $ package require Tcl 8.5 ;# -verbose line uses [info frame] namespace eval tcltest { @@ -22,7 +24,7 @@ namespace eval tcltest { # When the version number changes, be sure to update the pkgIndex.tcl file, # and the install directory in the Makefiles. When the minor version # changes (new feature) be sure to update the man page as well. - variable Version 2.3.5 + variable Version 2.3.1 # Compatibility support for dumb variables defined in tcltest 1 # Do not use these. Call [package provide Tcl] and [info patchlevel] @@ -84,7 +86,7 @@ namespace eval tcltest { # None. # proc normalizePath {pathVar} { - upvar 1 $pathVar path + upvar $pathVar path set oldpwd [pwd] catch {cd $path} set path [pwd] @@ -247,15 +249,15 @@ namespace eval tcltest { # Kept only for compatibility Default constraintsSpecified {} AcceptList - trace add variable constraintsSpecified read [namespace code { - set constraintsSpecified [array names testConstraints] ;#}] + trace variable constraintsSpecified r {set ::tcltest::constraintsSpecified \ + [array names ::tcltest::testConstraints] ;# } # tests that use threads need to know which is the main thread Default mainThread 1 variable mainThread - if {[info commands thread::id] ne {}} { + if {[info commands thread::id] != {}} { set mainThread [thread::id] - } elseif {[info commands testthread] ne {}} { + } elseif {[info commands testthread] != {}} { set mainThread [testthread id] } @@ -263,7 +265,7 @@ namespace eval tcltest { # Tcl tests is the working directory. Whenever this value changes # change to that directory. variable workingDirectory - trace add variable workingDirectory write \ + trace variable workingDirectory w \ [namespace code {cd $workingDirectory ;#}] Default workingDirectory [pwd] AcceptAbsolutePath @@ -277,7 +279,7 @@ namespace eval tcltest { # Set the location of the execuatble Default tcltest [info nameofexecutable] - trace add variable tcltest write [namespace code {testConstraint stdio \ + trace variable tcltest w [namespace code {testConstraint stdio \ [eval [ConstraintInitializer stdio]] ;#}] # save the platform information so it can be restored later @@ -404,11 +406,11 @@ namespace eval tcltest { # already there. set outdir [normalizePath [file dirname \ [file join [pwd] $filename]]] - if {$outdir eq [temporaryDirectory]} { + if {[string equal $outdir [temporaryDirectory]]} { variable filesExisted FillFilesExisted set filename [file tail $filename] - if {$filename ni $filesExisted} { + if {[lsearch -exact $filesExisted $filename] == -1} { lappend filesExisted $filename } } @@ -448,11 +450,11 @@ namespace eval tcltest { # already there. set outdir [normalizePath [file dirname \ [file join [pwd] $filename]]] - if {$outdir eq [temporaryDirectory]} { + if {[string equal $outdir [temporaryDirectory]]} { variable filesExisted FillFilesExisted set filename [file tail $filename] - if {$filename ni $filesExisted} { + if {[lsearch -exact $filesExisted $filename] == -1} { lappend filesExisted $filename } } @@ -483,10 +485,8 @@ namespace eval tcltest { variable Verify variable Usage variable OptionControlledVariables - variable DefaultValue set Usage($option) $usage set Verify($option) $verify - set DefaultValue($option) $value if {[catch {$verify $value} msg]} { return -code error $msg } else { @@ -534,7 +534,7 @@ namespace eval tcltest { } default { # Exact match trumps ambiguity - if {$option in $match} { + if {[lsearch -exact $match $option] >= 0} { return $option } set values [join [lrange $match 0 end-1] ", "] @@ -549,8 +549,7 @@ namespace eval tcltest { variable OptionControlledVariables foreach varName [concat $OptionControlledVariables Option] { variable $varName - trace add variable $varName read [namespace code { - ProcessCmdLineArgs ;#}] + trace variable $varName r [namespace code {ProcessCmdLineArgs ;#}] } } @@ -558,11 +557,11 @@ namespace eval tcltest { variable OptionControlledVariables foreach varName [concat $OptionControlledVariables Option] { variable $varName - foreach pair [trace info variable $varName] { - lassign $pair op cmd - if {($op eq "read") && - [string match *ProcessCmdLineArgs* $cmd]} { - trace remove variable $varName $op $cmd + foreach pair [trace vinfo $varName] { + foreach {op cmd} $pair break + if {[string equal r $op] + && [string match *ProcessCmdLineArgs* $cmd]} { + trace vdelete $varName $op $cmd } } } @@ -602,9 +601,7 @@ namespace eval tcltest { } } proc configure args { - if {[llength $args] > 1} { - RemoveAutoConfigureTraces - } + RemoveAutoConfigureTraces set code [catch {Configure {*}$args} msg] return -code $code $msg } @@ -699,7 +696,7 @@ namespace eval tcltest { Option -constraints {} { Do not skip the listed constraints listed in -constraints. } AcceptList - trace add variable Option(-constraints) write \ + trace variable Option(-constraints) w \ [namespace code {SetSelectedConstraints ;#}] # Don't run only the "-constraint" specified tests by default @@ -708,15 +705,15 @@ namespace eval tcltest { variable testConstraints if {!$Option(-limitconstraints)} {return} foreach c [array names testConstraints] { - if {$c ni $Option(-constraints)} { + if {[lsearch -exact $Option(-constraints) $c] == -1} { testConstraint $c 0 } } } - Option -limitconstraints 0 { + Option -limitconstraints false { whether to run only tests with the constraints } AcceptBoolean limitConstraints - trace add variable Option(-limitconstraints) write \ + trace variable Option(-limitconstraints) w \ [namespace code {ClearUnselectedConstraints ;#}] # A test application has to know how to load the tested commands @@ -737,7 +734,7 @@ namespace eval tcltest { } set directory [AcceptDirectory $directory] if {![file writable $directory]} { - if {[workingDirectory] eq $directory} { + if {[string equal [workingDirectory] $directory]} { # Special exception: accept the default value # even if the directory is not writable return $directory @@ -751,7 +748,7 @@ namespace eval tcltest { Option -tmpdir [workingDirectory] { Save temporary files in the specified directory. } AcceptTemporaryDirectory temporaryDirectory - trace add variable Option(-tmpdir) write \ + trace variable Option(-tmpdir) w \ [namespace code {normalizePath Option(-tmpdir) ;#}] # Tests should not rely on the current working directory. @@ -760,17 +757,17 @@ namespace eval tcltest { Option -testdir [workingDirectory] { Search tests in the specified directory. } AcceptDirectory testsDirectory - trace add variable Option(-testdir) write \ + trace variable Option(-testdir) w \ [namespace code {normalizePath Option(-testdir) ;#}] proc AcceptLoadFile { file } { - if {$file eq {}} {return $file} + if {[string equal "" $file]} {return $file} set file [file join [temporaryDirectory] $file] return [AcceptReadable $file] } proc ReadLoadScript {args} { variable Option - if {$Option(-loadfile) eq {}} {return} + if {[string equal "" $Option(-loadfile)]} {return} set tmp [open $Option(-loadfile) r] loadScript [read $tmp] close $tmp @@ -778,7 +775,7 @@ namespace eval tcltest { Option -loadfile {} { Read the script to load the tested commands from the specified file. } AcceptLoadFile loadFile - trace add variable Option(-loadfile) write [namespace code ReadLoadScript] + trace variable Option(-loadfile) w [namespace code ReadLoadScript] proc AcceptOutFile { file } { if {[string equal stderr $file]} {return $file} @@ -790,39 +787,16 @@ namespace eval tcltest { Option -outfile stdout { Send output from test runs to the specified file. } AcceptOutFile outputFile - trace add variable Option(-outfile) write \ + trace variable Option(-outfile) w \ [namespace code {outputChannel $Option(-outfile) ;#}] # errors go to stderr by default Option -errfile stderr { Send errors from test runs to the specified file. } AcceptOutFile errorFile - trace add variable Option(-errfile) write \ + trace variable Option(-errfile) w \ [namespace code {errorChannel $Option(-errfile) ;#}] - proc loadIntoSlaveInterpreter {slave args} { - variable Version - interp eval $slave [package ifneeded tcltest $Version] - interp eval $slave "tcltest::configure {*}{$args}" - interp alias $slave ::tcltest::ReportToMaster \ - {} ::tcltest::ReportedFromSlave - } - proc ReportedFromSlave {total passed skipped failed because newfiles} { - variable numTests - variable skippedBecause - variable createdNewFiles - incr numTests(Total) $total - incr numTests(Passed) $passed - incr numTests(Skipped) $skipped - incr numTests(Failed) $failed - foreach {constraint count} $because { - incr skippedBecause($constraint) $count - } - foreach {testfile created} $newfiles { - lappend createdNewFiles($testfile) {*}$created - } - return - } } ##################################################################### @@ -878,7 +852,7 @@ proc tcltest::DebugPArray {level arrayvar} { variable debug if {$debug >= $level} { - catch {upvar 1 $arrayvar $arrayvar} + catch {upvar $arrayvar $arrayvar} parray $arrayvar } return @@ -962,7 +936,8 @@ proc tcltest::testConstraint {constraint {value ""}} { if {[catch {expr {$value && $value}} msg]} { return -code error $msg } - if {[limitConstraints] && ($constraint ni $Option(-constraints))} { + if {[limitConstraints] + && [lsearch -exact $Option(-constraints) $constraint] == -1} { set value 0 } set testConstraints($constraint) $value @@ -986,7 +961,11 @@ proc tcltest::interpreter { {interp ""} } { if {[llength [info level 0]] == 1} { return $tcltest } - set tcltest $interp + if {[string equal {} $interp]} { + set tcltest {} + } else { + set tcltest $interp + } } ##################################################################### @@ -1051,7 +1030,7 @@ proc tcltest::PrintError {errorMsg} { [expr {80 - $InitialMsgLen}]]] puts [errorChannel] [string range $errorMsg 0 $beginningIndex] - while {$beginningIndex ne "end"} { + while {![string equal end $beginningIndex]} { puts -nonewline [errorChannel] \ [string repeat " " $InitialMsgLen] if {($endingIndex - $beginningIndex) @@ -1104,7 +1083,7 @@ proc tcltest::PrintError {errorMsg} { proc tcltest::SafeFetch {n1 n2 op} { variable testConstraints DebugPuts 3 "entering SafeFetch $n1 $n2 $op" - if {$n2 eq {}} {return} + if {[string equal {} $n2]} {return} if {![info exists testConstraints($n2)]} { if {[catch {testConstraint $n2 [eval [ConstraintInitializer $n2]]}]} { testConstraint $n2 0 @@ -1249,8 +1228,9 @@ proc tcltest::DefineConstraintInitializers {} { # are running as root on Unix. ConstraintInitializer root {expr \ - {($::tcl_platform(platform) eq "unix") && - ($::tcl_platform(user) in {root {}})}} + {[string equal unix $::tcl_platform(platform)] + && ([string equal root $::tcl_platform(user)] + || [string equal "" $::tcl_platform(user)])}} ConstraintInitializer notRoot {expr {![testConstraint root]}} # Set nonBlockFiles constraint: 1 means this platform supports @@ -1258,7 +1238,7 @@ proc tcltest::DefineConstraintInitializers {} { ConstraintInitializer nonBlockFiles { set code [expr {[catch {set f [open defs r]}] - || [catch {chan configure $f -blocking off}]}] + || [catch {fconfigure $f -blocking off}]}] catch {close $f} set code } @@ -1284,10 +1264,10 @@ proc tcltest::DefineConstraintInitializers {} { ConstraintInitializer unixExecs { set code 1 - if {$::tcl_platform(platform) eq "macintosh"} { + if {[string equal macintosh $::tcl_platform(platform)]} { set code 0 } - if {$::tcl_platform(platform) eq "windows"} { + if {[string equal windows $::tcl_platform(platform)]} { if {[catch { set file _tcl_test_remove_me.txt makeFile {hello} $file @@ -1381,7 +1361,7 @@ proc tcltest::Usage { {option ""} } { set allOpts [concat -help [Configure]] foreach opt $allOpts { set foo [Usage $opt] - lassign $foo x type($opt) usage($opt) + foreach [list x type($opt) usage($opt)] $foo break set line($opt) " $opt $type($opt) " set length($opt) [string length $line($opt)] if {$length($opt) > $max} {set max $length($opt)} @@ -1405,7 +1385,7 @@ proc tcltest::Usage { {option ""} } { append msg $u } return $msg\n - } elseif {$option eq "-help"} { + } elseif {[string equal -help $option]} { return [list -help "" "Display this usage information."] } else { set type [lindex [info args $Verify($option)] 0] @@ -1431,7 +1411,7 @@ proc tcltest::Usage { {option ""} } { proc tcltest::ProcessFlags {flagArray} { # Process -help first - if {"-help" in $flagArray} { + if {[lsearch -exact $flagArray {-help}] != -1} { PrintUsageInfo exit 1 } @@ -1440,14 +1420,14 @@ proc tcltest::ProcessFlags {flagArray} { RemoveAutoConfigureTraces } else { set args $flagArray - while {[llength $args] > 1 && [catch {configure {*}$args} msg]} { + while {[llength $args]>1 && [catch {configure {*}$args} msg]} { # Something went wrong parsing $args for tcltest options # Check whether the problem is "unknown option" if {[regexp {^unknown option (\S+):} $msg -> option]} { # Could be this is an option the Hook knows about set moreOptions [processCmdLineArgsAddFlagsHook] - if {$option ni $moreOptions} { + if {[lsearch -exact $moreOptions $option] == -1} { # Nope. Report the error, including additional options, # but keep going if {[llength $moreOptions]} { @@ -1466,7 +1446,7 @@ proc tcltest::ProcessFlags {flagArray} { # To recover, find that unknown option and remove up to it. # then retry - while {[lindex $args 0] ne $option} { + while {![string equal [lindex $args 0] $option]} { set args [lrange $args 2 end] } set args [lrange $args 2 end] @@ -1572,7 +1552,7 @@ proc tcltest::Replace::puts {args} { } 2 { # Either -nonewline or channelId has been specified - if {[lindex $args 0] eq "-nonewline"} { + if {[string equal -nonewline [lindex $args 0]]} { append outData [lindex $args end] return # return [Puts -nonewline [lindex $args end]] @@ -1582,7 +1562,7 @@ proc tcltest::Replace::puts {args} { } } 3 { - if {[lindex $args 0] eq "-nonewline"} { + if {[string equal -nonewline [lindex $args 0]]} { # Both -nonewline and channelId are specified, unless # it's an error. -nonewline is supposed to be argv[0]. set channel [lindex $args 1] @@ -1592,10 +1572,12 @@ proc tcltest::Replace::puts {args} { } if {[info exists channel]} { - if {$channel in [list [[namespace parent]::outputChannel] stdout]} { + if {[string equal $channel [[namespace parent]::outputChannel]] + || [string equal $channel stdout]} { append outData [lindex $args end]$newline return - } elseif {$channel in [list [[namespace parent]::errorChannel] stderr]} { + } elseif {[string equal $channel [[namespace parent]::errorChannel]] + || [string equal $channel stderr]} { append errData [lindex $args end]$newline return } @@ -1764,7 +1746,7 @@ proc tcltest::SubstArguments {argList} { set argList {} } - if {$token ne {}} { + if {$token != {}} { # If we saw a word with quote before, then there is a # multi-word token starting with that word. In this case, # add the text and the current word to this token. @@ -1871,7 +1853,10 @@ proc tcltest::test {name description args} { # Pre-define everything to null except output and errorOutput. We # determine whether or not to trap output based on whether or not # these variables (output & errorOutput) are defined. - lassign {} constraints setup cleanup body result returnCodes match + foreach item {constraints setup cleanup body result returnCodes + match} { + set $item {} + } # Set the default match mode set match exact @@ -1883,7 +1868,8 @@ proc tcltest::test {name description args} { # The old test format can't have a 3rd argument (constraints or # script) that starts with '-'. - if {[string match -* [lindex $args 0]] || ([llength $args] <= 1)} { + if {[string match -* [lindex $args 0]] + || ([llength $args] <= 1)} { if {[llength $args] == 1} { set list [SubstArguments [lindex $args 0]] foreach {element value} $list { @@ -1904,7 +1890,7 @@ proc tcltest::test {name description args} { -match -output -errorOutput -constraints} foreach flag [array names testAttributes] { - if {$flag ni $validFlags} { + if {[lsearch -exact $validFlags $flag] == -1} { incr testLevel -1 set sorted [lsort $validFlags] set options [join [lrange $sorted 0 end-1] ", "] @@ -1920,7 +1906,7 @@ proc tcltest::test {name description args} { # Check the values supplied for -match variable CustomMatch - if {$match ni [array names CustomMatch]} { + if {[lsearch [array names CustomMatch] $match] == -1} { incr testLevel -1 set sorted [lsort [array names CustomMatch]] set values [join [lrange $sorted 0 end-1] ", "] @@ -1984,7 +1970,7 @@ proc tcltest::test {name description args} { } else { set testResult [uplevel 1 [list [namespace origin Eval] $command 1]] } - lassign $testResult actualAnswer returnCode + foreach {actualAnswer returnCode} $testResult break if {$returnCode == 1} { set errorInfo(body) $::errorInfo set errorCode(body) $::errorCode @@ -2020,11 +2006,11 @@ proc tcltest::test {name description args} { if {([preserveCore] > 1) && ($coreFailure)} { append coreMsg "\nMoving file to:\ [file join [temporaryDirectory] core-$name]" - catch {file rename -force -- \ + catch {file rename -force \ [file join [workingDirectory] core] \ [file join [temporaryDirectory] core-$name] } msg - if {$msg ne {}} { + if {[string length $msg] > 0} { append coreMsg "\nError:\ Problem renaming core file: $msg" } @@ -2034,7 +2020,7 @@ proc tcltest::test {name description args} { # check if the return code matched the expected return code set codeFailure 0 - if {!$setupFailure && ($returnCode ni $returnCodes)} { + if {!$setupFailure && [lsearch -exact $returnCodes $returnCode] == -1} { set codeFailure 1 } @@ -2113,12 +2099,12 @@ proc tcltest::test {name description args} { set testFd [open $testFile r] set testLine [expr {[lsearch -regexp \ [split [read $testFd] "\n"] \ - "^\[ \t\]*test [string map {. \\.} $name] "] + 1}] + "^\[ \t\]*test [string map {. \\.} $name] "]+1}] close $testFd } } if {[info exists testLine]} { - puts [outputChannel] "$testFile:$testLine: error: test failed:\ + puts [outputChannel] "$testFile:$testLine: test failed:\ $name [string trim $description]" } } @@ -2158,7 +2144,7 @@ proc tcltest::test {name description args} { puts [outputChannel] "---- Return code should have been\ one of: $returnCodes" if {[IsVerbose error]} { - if {[info exists errorInfo(body)] && (1 ni $returnCodes)} { + if {[info exists errorInfo(body)] && ([lsearch $returnCodes 1]<0)} { puts [outputChannel] "---- errorInfo: $errorInfo(body)" puts [outputChannel] "---- errorCode: $errorCode(body)" } @@ -2239,7 +2225,7 @@ proc tcltest::Skipped {name constraints} { } return 1 } - if {$constraints eq {}} { + if {[string equal {} $constraints]} { # If we're limited to the listed constraints and there aren't # any listed, then we shouldn't run the test. if {[limitConstraints]} { @@ -2370,14 +2356,6 @@ proc tcltest::cleanupTests {{calledFromAllFile 0}} { FillFilesExisted set testFileName [file tail [info script]] - # Hook to handle reporting to a parent interpreter - if {[llength [info commands [namespace current]::ReportToMaster]]} { - ReportToMaster $numTests(Total) $numTests(Passed) $numTests(Skipped) \ - $numTests(Failed) [array get skippedBecause] \ - [array get createdNewFiles] - set testSingleFile false - } - # Call the cleanup hook cleanupTestsHook @@ -2390,7 +2368,7 @@ proc tcltest::cleanupTests {{calledFromAllFile 0}} { foreach file $filesMade { if {[file exists $file]} { DebugDo 1 {Warn "cleanupTests deleting $file..."} - catch {file delete -force -- $file} + catch {file delete -force $file} } } set currentFiles {} @@ -2400,7 +2378,7 @@ proc tcltest::cleanupTests {{calledFromAllFile 0}} { } set newFiles {} foreach file $currentFiles { - if {$file ni $filesExisted} { + if {[lsearch -exact $filesExisted $file] == -1} { lappend newFiles $file } } @@ -2483,7 +2461,8 @@ proc tcltest::cleanupTests {{calledFromAllFile 0}} { # then add current file to failFile list if any tests in this # file failed - if {$currentFailure && ($testFileName ni $failFiles)} { + if {$currentFailure \ + && ([lsearch -exact $failFiles $testFileName] == -1)} { lappend failFiles $testFileName } set currentFailure false @@ -2543,11 +2522,11 @@ proc tcltest::cleanupTests {{calledFromAllFile 0}} { puts [outputChannel] "produced core file! \ Moving file to: \ [file join [temporaryDirectory] core-$testFileName]" - catch {file rename -force -- \ + catch {file rename -force \ [file join [workingDirectory] core] \ [file join [temporaryDirectory] core-$testFileName] } msg - if {$msg ne {}} { + if {[string length $msg] > 0} { PrintError "Problem renaming file: $msg" } } else { @@ -2625,7 +2604,7 @@ proc tcltest::GetMatchingFiles { args } { # Add to result list all files in match list and not in skip list foreach file $matchFileList { - if {$file ni $skipFileList} { + if {[lsearch -exact $skipFileList $file] == -1} { lappend matchingFiles $file } } @@ -2672,7 +2651,7 @@ proc tcltest::GetMatchingDirectories {rootdir} { foreach pattern [matchDirectories] { foreach path [glob -directory $rootdir -types d -nocomplain -- \ $pattern] { - if {$path ni $skipDirs} { + if {[lsearch -exact $skipDirs $path] == -1} { set matchDirs [concat $matchDirs [GetMatchingDirectories $path]] if {[file exists [file join $path all.tcl]]} { lappend matchDirs $path @@ -2708,7 +2687,6 @@ proc tcltest::runAllTests { {shell ""} } { variable numTestFiles variable numTests variable failFiles - variable DefaultValue FillFilesExisted if {[llength [info level 0]] == 1} { @@ -2725,7 +2703,7 @@ proc tcltest::runAllTests { {shell ""} } { # [file system] first available in Tcl 8.4 if {![catch {file system [testsDirectory]} result] - && ([lindex $result 0] ne "native")} { + && ![string equal native [lindex $result 0]]} { # If we aren't running in the native filesystem, then we must # run the tests in a single process (via 'source'), because # trying to run then via a pipe will fail since the files don't @@ -2772,13 +2750,8 @@ proc tcltest::runAllTests { {shell ""} } { # needs to read and process output of children. set childargv [list] foreach opt [Configure] { - if {$opt eq "-outfile"} {continue} - set value [Configure $opt] - # Don't bother passing default configuration options - if {$value eq $DefaultValue($opt)} { - continue - } - lappend childargv $opt $value + if {[string equal $opt -outfile]} {continue} + lappend childargv $opt [Configure $opt] } set cmd [linsert $childargv 0 | $shell $file] if {[catch { @@ -2868,6 +2841,11 @@ proc tcltest::runAllTests { {shell ""} } { # none. proc tcltest::loadTestedCommands {} { + variable l + if {[string equal {} [loadScript]]} { + return + } + return [uplevel 1 [loadScript]] } @@ -2910,15 +2888,16 @@ proc tcltest::saveState {} { proc tcltest::restoreState {} { variable saveState foreach p [uplevel 1 {::info procs}] { - if {($p ni [lindex $saveState 0]) && ("[namespace current]::$p" ne - [uplevel 1 [list ::namespace origin $p]])} { + if {([lsearch [lindex $saveState 0] $p] < 0) + && ![string equal [namespace current]::$p \ + [uplevel 1 [list ::namespace origin $p]]]} { DebugPuts 2 "[lindex [info level 0] 0]: Removing proc $p" uplevel 1 [list ::catch [list ::rename $p {}]] } } foreach p [uplevel 1 {::info vars}] { - if {$p ni [lindex $saveState 1]} { + if {[lsearch [lindex $saveState 1] $p] < 0} { DebugPuts 2 "[lindex [info level 0] 0]:\ Removing variable $p" uplevel 1 [list ::catch [list ::unset $p]] @@ -2979,15 +2958,15 @@ proc tcltest::makeFile {contents name {directory ""}} { putting ``$contents'' into $fullName" set fd [open $fullName w] - chan configure $fd -translation lf - if {[string index $contents end] eq "\n"} { + fconfigure $fd -translation lf + if {[string equal [string index $contents end] \n]} { puts -nonewline $fd $contents } else { puts $fd $contents } close $fd - if {$fullName ni $filesMade} { + if {[lsearch -exact $filesMade $fullName] == -1} { lappend filesMade $fullName } return $fullName @@ -3027,7 +3006,7 @@ proc tcltest::removeFile {name {directory ""}} { Warn "removeFile removing \"$fullName\":\n not a file" } } - return [file delete -- $fullName] + return [file delete $fullName] } # tcltest::makeDirectory -- @@ -3057,7 +3036,7 @@ proc tcltest::makeDirectory {name {directory ""}} { set fullName [file join $directory $name] DebugPuts 3 "[lindex [info level 0] 0]: creating $fullName" file mkdir $fullName - if {$fullName ni $filesMade} { + if {[lsearch -exact $filesMade $fullName] == -1} { lappend filesMade $fullName } return $fullName @@ -3098,7 +3077,7 @@ proc tcltest::removeDirectory {name {directory ""}} { Warn "removeDirectory removing \"$fullName\":\n not a directory" } } - return [file delete -force -- $fullName] + return [file delete -force $fullName] } # tcltest::viewFile -- @@ -3195,7 +3174,7 @@ proc tcltest::LeakFiles {old} { } set leak {} foreach p $new { - if {$p ni $old} { + if {[lsearch $old $p] < 0} { lappend leak $p } } @@ -3266,7 +3245,7 @@ proc tcltest::RestoreLocale {} { # proc tcltest::threadReap {} { - if {[info commands testthread] ne {}} { + if {[info commands testthread] != {}} { # testthread built into tcltest @@ -3286,7 +3265,7 @@ proc tcltest::threadReap {} { } testthread errorproc ThreadError return [llength [testthread names]] - } elseif {[info commands thread::id] ne {}} { + } elseif {[info commands thread::id] != {}} { # Thread extension @@ -3318,15 +3297,15 @@ namespace eval tcltest { # Set up the constraints in the testConstraints array to be lazily # initialized by a registered initializer, or by "false" if no # initializer is registered. - trace add variable testConstraints read [namespace code SafeFetch] + trace variable testConstraints r [namespace code SafeFetch] # Only initialize constraints at package load time if an # [initConstraintsHook] has been pre-defined. This is only # for compatibility support. The modern way to add a custom # test constraint is to just call the [testConstraint] command # straight away, without all this "hook" nonsense. - if {[namespace current] eq - [namespace qualifiers [namespace which initConstraintsHook]]} { + if {[string equal [namespace current] \ + [namespace qualifiers [namespace which initConstraintsHook]]]} { InitConstraints } else { proc initConstraintsHook {} {} @@ -3363,15 +3342,15 @@ namespace eval tcltest { proc LoadTimeCmdLineArgParsingRequired {} { set required false - if {[info exists ::argv] && ("-help" in $::argv)} { + if {[info exists ::argv] && [lsearch -exact $::argv -help] != -1} { # The command line asks for -help, so give it (and exit) # right now. ([configure] does not process -help) set required true } foreach hook { PrintUsageInfoHook processCmdLineArgsHook processCmdLineArgsAddFlagsHook } { - if {[namespace current] eq - [namespace qualifiers [namespace which $hook]]} { + if {[string equal [namespace current] [namespace qualifiers \ + [namespace which $hook]]]} { set required true } else { proc $hook args {} diff --git a/library/tm.tcl b/library/tm.tcl index 7b9cafe..ca0bbf7 100644 --- a/library/tm.tcl +++ b/library/tm.tcl @@ -1,48 +1,44 @@ # -*- tcl -*- # -# Searching for Tcl Modules. Defines a procedure, declares it as the -# primary command for finding packages, however also uses the former -# 'package unknown' command as a fallback. +# Searching for Tcl Modules. Defines a procedure, declares it as the primary +# command for finding packages, however also uses the former 'package unknown' +# command as a fallback. # -# Locates all possible packages in a directory via a less restricted -# glob. The targeted directory is derived from the name of the -# requested package. I.e. the TM scan will look only at directories -# which can contain the requested package. It will register all -# packages it found in the directory so that future requests have a -# higher chance of being fulfilled by the ifneeded database without -# having to come to us again. +# Locates all possible packages in a directory via a less restricted glob. The +# targeted directory is derived from the name of the requested package, i.e. +# the TM scan will look only at directories which can contain the requested +# package. It will register all packages it found in the directory so that +# future requests have a higher chance of being fulfilled by the ifneeded +# database without having to come to us again. # -# We do not remember where we have been and simply rescan targeted -# directories when invoked again. The reasoning is this: +# We do not remember where we have been and simply rescan targeted directories +# when invoked again. The reasoning is this: # -# - The only way we get back to the same directory is if someone is -# trying to [package require] something that wasn't there on the -# first scan. +# - The only way we get back to the same directory is if someone is trying to +# [package require] something that wasn't there on the first scan. # # Either # 1) It is there now: If we rescan, you get it; if not you don't. # -# This covers the possibility that the application asked for a -# package late, and the package was actually added to the -# installation after the application was started. It shoukld -# still be able to find it. +# This covers the possibility that the application asked for a package +# late, and the package was actually added to the installation after the +# application was started. It shoukld still be able to find it. # -# 2) It still is not there: Either way, you don't get it, but the -# rescan takes time. This is however an error case and we dont't -# care that much about it +# 2) It still is not there: Either way, you don't get it, but the rescan +# takes time. This is however an error case and we dont't care that much +# about it # -# 3) It was there the first time; but for some reason a "package -# forget" has been run, and "package" doesn't know about it -# anymore. +# 3) It was there the first time; but for some reason a "package forget" has +# been run, and "package" doesn't know about it anymore. # -# This can be an indication that the application wishes to reload -# some functionality. And should work as well. +# This can be an indication that the application wishes to reload some +# functionality. And should work as well. # -# Note that this also strikes a balance between doing a glob targeting -# a single package, and thus most likely requiring multiple globs of -# the same directory when the application is asking for many packages, -# and trying to glob for _everything_ in all subdirectories when -# looking for a package, which comes with a heavy startup cost. +# Note that this also strikes a balance between doing a glob targeting a +# single package, and thus most likely requiring multiple globs of the same +# directory when the application is asking for many packages, and trying to +# glob for _everything_ in all subdirectories when looking for a package, +# which comes with a heavy startup cost. # # We scan for regular packages only if no satisfying module was found. @@ -58,7 +54,7 @@ namespace eval ::tcl::tm { # Export the public API namespace export path - namespace ensemble create -command path -subcommands {add remove list} + namespace ensemble create -command path -subcommand {add remove list} } # ::tcl::tm::path implementations -- @@ -71,46 +67,43 @@ namespace eval ::tcl::tm { # path with 'list'. # # Results -# No result for subcommands 'add' and 'remove'. A list of paths -# for 'list'. +# No result for subcommands 'add' and 'remove'. A list of paths for +# 'list'. # # Sideeffects -# The subcommands 'add' and 'remove' manipulate the list of -# paths to search for Tcl Modules. The subcommand 'list' has no -# sideeffects. +# The subcommands 'add' and 'remove' manipulate the list of paths to +# search for Tcl Modules. The subcommand 'list' has no sideeffects. -proc ::tcl::tm::add {path args} { +proc ::tcl::tm::add {args} { # PART OF THE ::tcl::tm::path ENSEMBLE # # The path is added at the head to the list of module paths. # - # The command enforces the restriction that no path may be an - # ancestor directory of any other path on the list. If the new - # path violates this restriction an error wil be raised. + # The command enforces the restriction that no path may be an ancestor + # directory of any other path on the list. If the new path violates this + # restriction an error wil be raised. # - # If the path is already present as is no error will be raised and - # no action will be taken. + # If the path is already present as is no error will be raised and no + # action will be taken. variable paths - # We use a copy of the path as source during validation, and - # extend it as well. Because we not only have to detect if the new - # paths are bogus with respect to the existing paths, but also - # between themselves. Otherwise we can still add bogus paths, by - # specifying them in a single call. This makes the use of the new - # paths simpler as well, a trivial assignment of the collected - # paths to the official state var. + # We use a copy of the path as source during validation, and extend it as + # well. Because we not only have to detect if the new paths are bogus with + # respect to the existing paths, but also between themselves. Otherwise we + # can still add bogus paths, by specifying them in a single call. This + # makes the use of the new paths simpler as well, a trivial assignment of + # the collected paths to the official state var. set newpaths $paths - foreach p [linsert $args 0 $path] { + foreach p $args { if {$p in $newpaths} { # Ignore a path already on the list. continue } - # Search for paths which are subdirectories of the new one. If - # there are any then the new path violates the restriction - # about ancestors. + # Search for paths which are subdirectories of the new one. If there + # are any then the new path violates the restriction about ancestors. set pos [lsearch -glob $newpaths ${p}/*] # Cannot use "in", we need the position for the message. @@ -119,10 +112,9 @@ proc ::tcl::tm::add {path args} { "$p is ancestor of existing module path [lindex $newpaths $pos]." } - # Now look for existing paths which are ancestors of the new - # one. This reverse question forces us to loop over the - # existing paths, as each element is the pattern, not the new - # path :( + # Now look for existing paths which are ancestors of the new one. This + # reverse question forces us to loop over the existing paths, as each + # element is the pattern, not the new path :( foreach ep $newpaths { if {[string match ${ep}/* $p]} { @@ -134,24 +126,23 @@ proc ::tcl::tm::add {path args} { set newpaths [linsert $newpaths 0 $p] } - # The validation of the input is complete and successful, and - # everything in newpaths is either an old path, or added. We can - # now extend the official list of paths, a simple assignment is - # sufficient. + # The validation of the input is complete and successful, and everything + # in newpaths is either an old path, or added. We can now extend the + # official list of paths, a simple assignment is sufficient. set paths $newpaths return } -proc ::tcl::tm::remove {path args} { +proc ::tcl::tm::remove {args} { # PART OF THE ::tcl::tm::path ENSEMBLE # - # Removes the path from the list of module paths. The command is - # silently ignored if the path is not on the list. + # Removes the path from the list of module paths. The command is silently + # ignored if the path is not on the list. variable paths - foreach p [linsert $args 0 $path] { + foreach p $args { set pos [lsearch -exact $paths $p] if {$pos >= 0} { set paths [lreplace $paths $pos $pos] @@ -177,17 +168,16 @@ proc ::tcl::tm::list {} { # empty string. # exact - Either -exact or ommitted. # -# Name, version, and exact are used to determine -# satisfaction. The original is called iff no satisfaction was -# achieved. The name is also used to compute the directory to -# target in the search. +# Name, version, and exact are used to determine satisfaction. The +# original is called iff no satisfaction was achieved. The name is also +# used to compute the directory to target in the search. # # Results # None. # # Sideeffects -# May populate the package ifneeded database with additional -# provide scripts. +# May populate the package ifneeded database with additional provide +# scripts. proc ::tcl::tm::UnknownHandler {original name args} { # Import the list of paths to search for packages in module form. @@ -196,8 +186,8 @@ proc ::tcl::tm::UnknownHandler {original name args} { variable paths variable pkgpattern - # Without paths to search we can do nothing. (Except falling back - # to the regular search). + # Without paths to search we can do nothing. (Except falling back to the + # regular search). if {[llength $paths]} { set pkgpath [string map {:: /} $name] @@ -206,11 +196,10 @@ proc ::tcl::tm::UnknownHandler {original name args} { set pkgroot "" } - # We don't remember a copy of the paths while looping. Tcl - # Modules are unable to change the list while we are searching - # for them. This also simplifies the loop, as we cannot get - # additional directories while iterating over the list. A - # simple foreach is sufficient. + # We don't remember a copy of the paths while looping. Tcl Modules are + # unable to change the list while we are searching for them. This also + # simplifies the loop, as we cannot get additional directories while + # iterating over the list. A simple foreach is sufficient. set satisfied 0 foreach path $paths { @@ -223,12 +212,11 @@ proc ::tcl::tm::UnknownHandler {original name args} { } set strip [llength [file split $path]] - # We can't use glob in safe interps, so enclose the following - # in a catch statement, where we get the module files out - # of the subdirectories. In other words, Tcl Modules are - # not-functional in such an interpreter. This is the same - # as for the command "tclPkgUnknown", i.e. the search for - # regular packages. + # We can't use glob in safe interps, so enclose the following in a + # catch statement, where we get the module files out of the + # subdirectories. In other words, Tcl Modules are not-functional + # in such an interpreter. This is the same as for the command + # "tclPkgUnknown", i.e. the search for regular packages. catch { # We always look for _all_ possible modules in the current @@ -238,57 +226,50 @@ proc ::tcl::tm::UnknownHandler {original name args} { set pkgfilename [join [lrange [file split $file] $strip end] ::] if {![regexp -- $pkgpattern $pkgfilename --> pkgname pkgversion]} { - # Ignore everything not matching our pattern - # for package names. + # Ignore everything not matching our pattern for + # package names. continue } - if {[catch {package vcompare $pkgversion 0}]} { - # Ignore everything where the version part is - # not acceptable to "package vcompare". + try { + package vcompare $pkgversion 0 + } on error {} { + # Ignore everything where the version part is not + # acceptable to "package vcompare". continue } - if {[package ifneeded $pkgname $pkgversion] ne {}} { - # There's already a provide script registered for - # this version of this package. Since all units of - # code claiming to be the same version of the same - # package ought to be identical, just stick with - # the one we already have. - continue - } + # We have found a candidate, generate a "provide script" + # for it, and remember it. Note that we are using ::list + # to do this; locally [list] means something else without + # the namespace specifier. - # We have found a candidate, generate a "provide - # script" for it, and remember it. Note that we - # are using ::list to do this; locally [list] - # means something else without the namespace - # specifier. - - # NOTE. When making changes to the format of the - # provide command generated below CHECK that the - # 'LOCATE' procedure in core file - # 'platform/shell.tcl' still understands it, or, - # if not, update its implementation appropriately. + # NOTE. When making changes to the format of the provide + # command generated below CHECK that the 'LOCATE' + # procedure in core file 'platform/shell.tcl' still + # understands it, or, if not, update its implementation + # appropriately. # - # Right now LOCATE's implementation assumes that - # the path of the package file is the last element - # in the list. + # Right now LOCATE's implementation assumes that the path + # of the package file is the last element in the list. package ifneeded $pkgname $pkgversion \ "[::list package provide $pkgname $pkgversion];[::list source -encoding utf-8 $file]" - # We abort in this unknown handler only if we got - # a satisfying candidate for the requested - # package. Otherwise we still have to fallback to - # the regular package search to complete the - # processing. + # We abort in this unknown handler only if we got a + # satisfying candidate for the requested package. + # Otherwise we still have to fallback to the regular + # package search to complete the processing. - if {($pkgname eq $name) - && [package vsatisfies $pkgversion {*}$args]} { + if { + ($pkgname eq $name) && + [package vsatisfies $pkgversion {*}$args] + } then { set satisfied 1 - # We do not abort the loop, and keep adding - # provide scripts for every candidate in the - # directory, just remember to not fall back to - # the regular search anymore. + + # We do not abort the loop, and keep adding provide + # scripts for every candidate in the directory, just + # remember to not fall back to the regular search + # anymore. } } } @@ -299,8 +280,8 @@ proc ::tcl::tm::UnknownHandler {original name args} { } } - # Fallback to previous command, if existing. See comment above - # about ::list... + # Fallback to previous command, if existing. See comment above about + # ::list... if {[llength $original]} { uplevel 1 $original [::linsert $args 0 $name] @@ -366,7 +347,7 @@ proc ::tcl::tm::Defaults {} { # Calls 'path add' to paths to the list of module search paths. proc ::tcl::tm::roots {paths} { - lassign [split [package present Tcl] .] major minor + foreach {major minor} [split [info tclversion] .] break foreach pa $paths { set p [file join $pa tcl$major] for {set n $minor} {$n >= 0} {incr n -1} { @@ -376,12 +357,12 @@ proc ::tcl::tm::roots {paths} { } set px [file join $p site-tcl] if {![interp issafe]} { set px [file normalize $px] } - path add $px + path add $px } return } -# Initialization. Set up the default paths, then insert the new -# handler into the chain. +# Initialization. Set up the default paths, then insert the new handler into +# the chain. if {![interp issafe]} { ::tcl::tm::Defaults } diff --git a/library/tzdata/Africa/Cairo b/library/tzdata/Africa/Cairo index 842b7b2..5eca6e2 100644 --- a/library/tzdata/Africa/Cairo +++ b/library/tzdata/Africa/Cairo @@ -1,8 +1,8 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Africa/Cairo) { - {-9223372036854775808 7509 0 LMT} - {-2185409109 7200 0 EET} + {-9223372036854775808 7500 0 LMT} + {-2185409100 7200 0 EET} {-929844000 10800 1 EEST} {-923108400 7200 0 EET} {-906170400 10800 1 EEST} @@ -120,9 +120,185 @@ set TZData(:Africa/Cairo) { {1209074400 10800 1 EEST} {1219957200 7200 0 EET} {1240524000 10800 1 EEST} - {1250802000 7200 0 EET} + {1253826000 7200 0 EET} {1272578400 10800 1 EEST} - {1281474000 7200 0 EET} - {1284069600 10800 1 EEST} {1285880400 7200 0 EET} + {1304028000 10800 1 EEST} + {1317330000 7200 0 EET} + {1335477600 10800 1 EEST} + {1348779600 7200 0 EET} + {1366927200 10800 1 EEST} + {1380229200 7200 0 EET} + {1398376800 10800 1 EEST} + {1411678800 7200 0 EET} + {1429826400 10800 1 EEST} + {1443128400 7200 0 EET} + {1461880800 10800 1 EEST} + {1475182800 7200 0 EET} + {1493330400 10800 1 EEST} + {1506632400 7200 0 EET} + {1524780000 10800 1 EEST} + {1538082000 7200 0 EET} + {1556229600 10800 1 EEST} + {1569531600 7200 0 EET} + {1587679200 10800 1 EEST} + {1600981200 7200 0 EET} + {1619733600 10800 1 EEST} + {1633035600 7200 0 EET} + {1651183200 10800 1 EEST} + {1664485200 7200 0 EET} + {1682632800 10800 1 EEST} + {1695934800 7200 0 EET} + {1714082400 10800 1 EEST} + {1727384400 7200 0 EET} + {1745532000 10800 1 EEST} + {1758834000 7200 0 EET} + {1776981600 10800 1 EEST} + {1790283600 7200 0 EET} + {1809036000 10800 1 EEST} + {1822338000 7200 0 EET} + {1840485600 10800 1 EEST} + {1853787600 7200 0 EET} + {1871935200 10800 1 EEST} + {1885237200 7200 0 EET} + {1903384800 10800 1 EEST} + {1916686800 7200 0 EET} + {1934834400 10800 1 EEST} + {1948136400 7200 0 EET} + {1966888800 10800 1 EEST} + {1980190800 7200 0 EET} + {1998338400 10800 1 EEST} + {2011640400 7200 0 EET} + {2029788000 10800 1 EEST} + {2043090000 7200 0 EET} + {2061237600 10800 1 EEST} + {2074539600 7200 0 EET} + {2092687200 10800 1 EEST} + {2105989200 7200 0 EET} + {2124136800 10800 1 EEST} + {2137438800 7200 0 EET} + {2156191200 10800 1 EEST} + {2169493200 7200 0 EET} + {2187640800 10800 1 EEST} + {2200942800 7200 0 EET} + {2219090400 10800 1 EEST} + {2232392400 7200 0 EET} + {2250540000 10800 1 EEST} + {2263842000 7200 0 EET} + {2281989600 10800 1 EEST} + {2295291600 7200 0 EET} + {2313439200 10800 1 EEST} + {2326741200 7200 0 EET} + {2345493600 10800 1 EEST} + {2358795600 7200 0 EET} + {2376943200 10800 1 EEST} + {2390245200 7200 0 EET} + {2408392800 10800 1 EEST} + {2421694800 7200 0 EET} + {2439842400 10800 1 EEST} + {2453144400 7200 0 EET} + {2471292000 10800 1 EEST} + {2484594000 7200 0 EET} + {2503346400 10800 1 EEST} + {2516648400 7200 0 EET} + {2534796000 10800 1 EEST} + {2548098000 7200 0 EET} + {2566245600 10800 1 EEST} + {2579547600 7200 0 EET} + {2597695200 10800 1 EEST} + {2610997200 7200 0 EET} + {2629144800 10800 1 EEST} + {2642446800 7200 0 EET} + {2660594400 10800 1 EEST} + {2673896400 7200 0 EET} + {2692648800 10800 1 EEST} + {2705950800 7200 0 EET} + {2724098400 10800 1 EEST} + {2737400400 7200 0 EET} + {2755548000 10800 1 EEST} + {2768850000 7200 0 EET} + {2786997600 10800 1 EEST} + {2800299600 7200 0 EET} + {2818447200 10800 1 EEST} + {2831749200 7200 0 EET} + {2850501600 10800 1 EEST} + {2863803600 7200 0 EET} + {2881951200 10800 1 EEST} + {2895253200 7200 0 EET} + {2913400800 10800 1 EEST} + {2926702800 7200 0 EET} + {2944850400 10800 1 EEST} + {2958152400 7200 0 EET} + {2976300000 10800 1 EEST} + {2989602000 7200 0 EET} + {3007749600 10800 1 EEST} + {3021051600 7200 0 EET} + {3039804000 10800 1 EEST} + {3053106000 7200 0 EET} + {3071253600 10800 1 EEST} + {3084555600 7200 0 EET} + {3102703200 10800 1 EEST} + {3116005200 7200 0 EET} + {3134152800 10800 1 EEST} + {3147454800 7200 0 EET} + {3165602400 10800 1 EEST} + {3178904400 7200 0 EET} + {3197052000 10800 1 EEST} + {3210354000 7200 0 EET} + {3229106400 10800 1 EEST} + {3242408400 7200 0 EET} + {3260556000 10800 1 EEST} + {3273858000 7200 0 EET} + {3292005600 10800 1 EEST} + {3305307600 7200 0 EET} + {3323455200 10800 1 EEST} + {3336757200 7200 0 EET} + {3354904800 10800 1 EEST} + {3368206800 7200 0 EET} + {3386959200 10800 1 EEST} + {3400261200 7200 0 EET} + {3418408800 10800 1 EEST} + {3431710800 7200 0 EET} + {3449858400 10800 1 EEST} + {3463160400 7200 0 EET} + {3481308000 10800 1 EEST} + {3494610000 7200 0 EET} + {3512757600 10800 1 EEST} + {3526059600 7200 0 EET} + {3544207200 10800 1 EEST} + {3557509200 7200 0 EET} + {3576261600 10800 1 EEST} + {3589563600 7200 0 EET} + {3607711200 10800 1 EEST} + {3621013200 7200 0 EET} + {3639160800 10800 1 EEST} + {3652462800 7200 0 EET} + {3670610400 10800 1 EEST} + {3683912400 7200 0 EET} + {3702060000 10800 1 EEST} + {3715362000 7200 0 EET} + {3734114400 10800 1 EEST} + {3747416400 7200 0 EET} + {3765564000 10800 1 EEST} + {3778866000 7200 0 EET} + {3797013600 10800 1 EEST} + {3810315600 7200 0 EET} + {3828463200 10800 1 EEST} + {3841765200 7200 0 EET} + {3859912800 10800 1 EEST} + {3873214800 7200 0 EET} + {3891362400 10800 1 EEST} + {3904664400 7200 0 EET} + {3923416800 10800 1 EEST} + {3936718800 7200 0 EET} + {3954866400 10800 1 EEST} + {3968168400 7200 0 EET} + {3986316000 10800 1 EEST} + {3999618000 7200 0 EET} + {4017765600 10800 1 EEST} + {4031067600 7200 0 EET} + {4049215200 10800 1 EEST} + {4062517200 7200 0 EET} + {4080664800 10800 1 EEST} + {4093966800 7200 0 EET} } diff --git a/library/tzdata/Africa/Casablanca b/library/tzdata/Africa/Casablanca index 757007c..d976aa5 100644 --- a/library/tzdata/Africa/Casablanca +++ b/library/tzdata/Africa/Casablanca @@ -25,200 +25,4 @@ set TZData(:Africa/Casablanca) { {1220223600 0 0 WET} {1243814400 3600 1 WEST} {1250809200 0 0 WET} - {1272758400 3600 1 WEST} - {1281222000 0 0 WET} - {1301788800 3600 1 WEST} - {1312066800 0 0 WET} - {1335664800 3600 1 WEST} - {1342749600 0 0 WET} - {1345428000 3600 1 WEST} - {1348970400 0 0 WET} - {1367114400 3600 1 WEST} - {1373162400 0 0 WET} - {1376100000 3600 1 WEST} - {1380420000 0 0 WET} - {1398564000 3600 1 WEST} - {1404007200 0 0 WET} - {1406599200 3600 1 WEST} - {1411869600 0 0 WET} - {1430013600 3600 1 WEST} - {1434592800 0 0 WET} - {1437184800 3600 1 WEST} - {1443319200 0 0 WET} - {1461463200 3600 1 WEST} - {1465264800 0 0 WET} - {1467856800 3600 1 WEST} - {1474768800 0 0 WET} - {1493517600 3600 1 WEST} - {1495850400 0 0 WET} - {1498442400 3600 1 WEST} - {1506218400 0 0 WET} - {1524967200 3600 1 WEST} - {1526436000 0 0 WET} - {1529028000 3600 1 WEST} - {1538272800 0 0 WET} - {1556416800 3600 1 WEST} - {1557108000 0 0 WET} - {1559700000 3600 1 WEST} - {1569722400 0 0 WET} - {1590285600 3600 1 WEST} - {1601172000 0 0 WET} - {1620871200 3600 1 WEST} - {1632621600 0 0 WET} - {1651543200 3600 1 WEST} - {1664071200 0 0 WET} - {1682820000 3600 1 WEST} - {1695520800 0 0 WET} - {1714269600 3600 1 WEST} - {1727575200 0 0 WET} - {1745719200 3600 1 WEST} - {1759024800 0 0 WET} - {1777168800 3600 1 WEST} - {1790474400 0 0 WET} - {1808618400 3600 1 WEST} - {1821924000 0 0 WET} - {1840672800 3600 1 WEST} - {1853373600 0 0 WET} - {1872122400 3600 1 WEST} - {1885428000 0 0 WET} - {1903572000 3600 1 WEST} - {1916877600 0 0 WET} - {1935021600 3600 1 WEST} - {1948327200 0 0 WET} - {1966471200 3600 1 WEST} - {1979776800 0 0 WET} - {1997920800 3600 1 WEST} - {2011226400 0 0 WET} - {2029975200 3600 1 WEST} - {2042676000 0 0 WET} - {2061424800 3600 1 WEST} - {2074730400 0 0 WET} - {2092874400 3600 1 WEST} - {2106180000 0 0 WET} - {2124324000 3600 1 WEST} - {2137629600 0 0 WET} - {2155773600 3600 1 WEST} - {2169079200 0 0 WET} - {2187223200 3600 1 WEST} - {2200528800 0 0 WET} - {2219277600 3600 1 WEST} - {2232583200 0 0 WET} - {2250727200 3600 1 WEST} - {2264032800 0 0 WET} - {2282176800 3600 1 WEST} - {2295482400 0 0 WET} - {2313626400 3600 1 WEST} - {2326932000 0 0 WET} - {2345076000 3600 1 WEST} - {2358381600 0 0 WET} - {2377130400 3600 1 WEST} - {2389831200 0 0 WET} - {2408580000 3600 1 WEST} - {2421885600 0 0 WET} - {2440029600 3600 1 WEST} - {2453335200 0 0 WET} - {2471479200 3600 1 WEST} - {2484784800 0 0 WET} - {2502928800 3600 1 WEST} - {2516234400 0 0 WET} - {2534378400 3600 1 WEST} - {2547684000 0 0 WET} - {2566432800 3600 1 WEST} - {2579133600 0 0 WET} - {2597882400 3600 1 WEST} - {2611188000 0 0 WET} - {2629332000 3600 1 WEST} - {2642637600 0 0 WET} - {2660781600 3600 1 WEST} - {2674087200 0 0 WET} - {2692231200 3600 1 WEST} - {2705536800 0 0 WET} - {2724285600 3600 1 WEST} - {2736986400 0 0 WET} - {2755735200 3600 1 WEST} - {2769040800 0 0 WET} - {2787184800 3600 1 WEST} - {2800490400 0 0 WET} - {2818634400 3600 1 WEST} - {2831940000 0 0 WET} - {2850084000 3600 1 WEST} - {2863389600 0 0 WET} - {2881533600 3600 1 WEST} - {2894839200 0 0 WET} - {2913588000 3600 1 WEST} - {2926288800 0 0 WET} - {2945037600 3600 1 WEST} - {2958343200 0 0 WET} - {2976487200 3600 1 WEST} - {2989792800 0 0 WET} - {3007936800 3600 1 WEST} - {3021242400 0 0 WET} - {3039386400 3600 1 WEST} - {3052692000 0 0 WET} - {3070836000 3600 1 WEST} - {3084141600 0 0 WET} - {3102890400 3600 1 WEST} - {3116196000 0 0 WET} - {3134340000 3600 1 WEST} - {3147645600 0 0 WET} - {3165789600 3600 1 WEST} - {3179095200 0 0 WET} - {3197239200 3600 1 WEST} - {3210544800 0 0 WET} - {3228688800 3600 1 WEST} - {3241994400 0 0 WET} - {3260743200 3600 1 WEST} - {3273444000 0 0 WET} - {3292192800 3600 1 WEST} - {3305498400 0 0 WET} - {3323642400 3600 1 WEST} - {3336948000 0 0 WET} - {3355092000 3600 1 WEST} - {3368397600 0 0 WET} - {3386541600 3600 1 WEST} - {3399847200 0 0 WET} - {3417991200 3600 1 WEST} - {3431296800 0 0 WET} - {3450045600 3600 1 WEST} - {3462746400 0 0 WET} - {3481495200 3600 1 WEST} - {3494800800 0 0 WET} - {3512944800 3600 1 WEST} - {3526250400 0 0 WET} - {3544394400 3600 1 WEST} - {3557700000 0 0 WET} - {3575844000 3600 1 WEST} - {3589149600 0 0 WET} - {3607898400 3600 1 WEST} - {3620599200 0 0 WET} - {3639348000 3600 1 WEST} - {3652653600 0 0 WET} - {3670797600 3600 1 WEST} - {3684103200 0 0 WET} - {3702247200 3600 1 WEST} - {3715552800 0 0 WET} - {3733696800 3600 1 WEST} - {3747002400 0 0 WET} - {3765146400 3600 1 WEST} - {3778452000 0 0 WET} - {3797200800 3600 1 WEST} - {3809901600 0 0 WET} - {3828650400 3600 1 WEST} - {3841956000 0 0 WET} - {3860100000 3600 1 WEST} - {3873405600 0 0 WET} - {3891549600 3600 1 WEST} - {3904855200 0 0 WET} - {3922999200 3600 1 WEST} - {3936304800 0 0 WET} - {3954448800 3600 1 WEST} - {3967754400 0 0 WET} - {3986503200 3600 1 WEST} - {3999808800 0 0 WET} - {4017952800 3600 1 WEST} - {4031258400 0 0 WET} - {4049402400 3600 1 WEST} - {4062708000 0 0 WET} - {4080852000 3600 1 WEST} - {4094157600 0 0 WET} } diff --git a/library/tzdata/Africa/Dar_es_Salaam b/library/tzdata/Africa/Dar_es_Salaam index 98151ec..e427b9c 100644 --- a/library/tzdata/Africa/Dar_es_Salaam +++ b/library/tzdata/Africa/Dar_es_Salaam @@ -3,6 +3,6 @@ set TZData(:Africa/Dar_es_Salaam) { {-9223372036854775808 9428 0 LMT} {-1230777428 10800 0 EAT} - {-694321200 9900 0 BEAUT} - {-284006700 10800 0 EAT} + {-694321200 9885 0 BEAUT} + {-284006685 10800 0 EAT} } diff --git a/library/tzdata/Africa/Gaborone b/library/tzdata/Africa/Gaborone index bd38673..7753ba0 100644 --- a/library/tzdata/Africa/Gaborone +++ b/library/tzdata/Africa/Gaborone @@ -2,8 +2,7 @@ set TZData(:Africa/Gaborone) { {-9223372036854775808 6220 0 LMT} - {-2682294220 5400 0 SAST} - {-2109288600 7200 0 CAT} + {-2682294220 7200 0 CAT} {-829526400 10800 1 CAST} {-813805200 7200 0 CAT} } diff --git a/library/tzdata/Africa/Juba b/library/tzdata/Africa/Juba deleted file mode 100644 index 7495981..0000000 --- a/library/tzdata/Africa/Juba +++ /dev/null @@ -1,39 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:Africa/Juba) { - {-9223372036854775808 7584 0 LMT} - {-1230775584 7200 0 CAT} - {10360800 10800 1 CAST} - {24786000 7200 0 CAT} - {41810400 10800 1 CAST} - {56322000 7200 0 CAT} - {73432800 10800 1 CAST} - {87944400 7200 0 CAT} - {104882400 10800 1 CAST} - {119480400 7200 0 CAT} - {136332000 10800 1 CAST} - {151016400 7200 0 CAT} - {167781600 10800 1 CAST} - {182552400 7200 0 CAT} - {199231200 10800 1 CAST} - {214174800 7200 0 CAT} - {230680800 10800 1 CAST} - {245710800 7200 0 CAT} - {262735200 10800 1 CAST} - {277246800 7200 0 CAT} - {294184800 10800 1 CAST} - {308782800 7200 0 CAT} - {325634400 10800 1 CAST} - {340405200 7200 0 CAT} - {357084000 10800 1 CAST} - {371941200 7200 0 CAT} - {388533600 10800 1 CAST} - {403477200 7200 0 CAT} - {419983200 10800 1 CAST} - {435013200 7200 0 CAT} - {452037600 10800 1 CAST} - {466635600 7200 0 CAT} - {483487200 10800 1 CAST} - {498171600 7200 0 CAT} - {947930400 10800 0 EAT} -} diff --git a/library/tzdata/Africa/Kampala b/library/tzdata/Africa/Kampala index 4cc9be1..ab3f085 100644 --- a/library/tzdata/Africa/Kampala +++ b/library/tzdata/Africa/Kampala @@ -4,6 +4,6 @@ set TZData(:Africa/Kampala) { {-9223372036854775808 7780 0 LMT} {-1309745380 10800 0 EAT} {-1262314800 9000 0 BEAT} - {-694319400 9900 0 BEAUT} - {-410237100 10800 0 EAT} + {-694319400 9885 0 BEAUT} + {-410237085 10800 0 EAT} } diff --git a/library/tzdata/Africa/Nairobi b/library/tzdata/Africa/Nairobi index 6846069..99b0d70 100644 --- a/library/tzdata/Africa/Nairobi +++ b/library/tzdata/Africa/Nairobi @@ -4,6 +4,6 @@ set TZData(:Africa/Nairobi) { {-9223372036854775808 8836 0 LMT} {-1309746436 10800 0 EAT} {-1262314800 9000 0 BEAT} - {-946780200 9900 0 BEAUT} - {-315629100 10800 0 EAT} + {-946780200 9885 0 BEAUT} + {-315629085 10800 0 EAT} } diff --git a/library/tzdata/Africa/Tripoli b/library/tzdata/Africa/Tripoli index ac78218..e993249 100644 --- a/library/tzdata/Africa/Tripoli +++ b/library/tzdata/Africa/Tripoli @@ -27,180 +27,5 @@ set TZData(:Africa/Tripoli) { {641775600 7200 0 EET} {844034400 3600 0 CET} {860108400 7200 1 CEST} - {875919600 7200 0 EET} - {1352505600 3600 0 CET} - {1364515200 7200 1 CEST} - {1382659200 3600 0 CET} - {1395964800 7200 1 CEST} - {1414713600 3600 0 CET} - {1427414400 7200 1 CEST} - {1446163200 3600 0 CET} - {1458864000 7200 1 CEST} - {1477612800 3600 0 CET} - {1490918400 7200 1 CEST} - {1509062400 3600 0 CET} - {1522368000 7200 1 CEST} - {1540512000 3600 0 CET} - {1553817600 7200 1 CEST} - {1571961600 3600 0 CET} - {1585267200 7200 1 CEST} - {1604016000 3600 0 CET} - {1616716800 7200 1 CEST} - {1635465600 3600 0 CET} - {1648166400 7200 1 CEST} - {1666915200 3600 0 CET} - {1680220800 7200 1 CEST} - {1698364800 3600 0 CET} - {1711670400 7200 1 CEST} - {1729814400 3600 0 CET} - {1743120000 7200 1 CEST} - {1761868800 3600 0 CET} - {1774569600 7200 1 CEST} - {1793318400 3600 0 CET} - {1806019200 7200 1 CEST} - {1824768000 3600 0 CET} - {1838073600 7200 1 CEST} - {1856217600 3600 0 CET} - {1869523200 7200 1 CEST} - {1887667200 3600 0 CET} - {1900972800 7200 1 CEST} - {1919116800 3600 0 CET} - {1932422400 7200 1 CEST} - {1951171200 3600 0 CET} - {1963872000 7200 1 CEST} - {1982620800 3600 0 CET} - {1995321600 7200 1 CEST} - {2014070400 3600 0 CET} - {2027376000 7200 1 CEST} - {2045520000 3600 0 CET} - {2058825600 7200 1 CEST} - {2076969600 3600 0 CET} - {2090275200 7200 1 CEST} - {2109024000 3600 0 CET} - {2121724800 7200 1 CEST} - {2140473600 3600 0 CET} - {2153174400 7200 1 CEST} - {2171923200 3600 0 CET} - {2184624000 7200 1 CEST} - {2203372800 3600 0 CET} - {2216678400 7200 1 CEST} - {2234822400 3600 0 CET} - {2248128000 7200 1 CEST} - {2266272000 3600 0 CET} - {2279577600 7200 1 CEST} - {2298326400 3600 0 CET} - {2311027200 7200 1 CEST} - {2329776000 3600 0 CET} - {2342476800 7200 1 CEST} - {2361225600 3600 0 CET} - {2374531200 7200 1 CEST} - {2392675200 3600 0 CET} - {2405980800 7200 1 CEST} - {2424124800 3600 0 CET} - {2437430400 7200 1 CEST} - {2455574400 3600 0 CET} - {2468880000 7200 1 CEST} - {2487628800 3600 0 CET} - {2500329600 7200 1 CEST} - {2519078400 3600 0 CET} - {2531779200 7200 1 CEST} - {2550528000 3600 0 CET} - {2563833600 7200 1 CEST} - {2581977600 3600 0 CET} - {2595283200 7200 1 CEST} - {2613427200 3600 0 CET} - {2626732800 7200 1 CEST} - {2645481600 3600 0 CET} - {2658182400 7200 1 CEST} - {2676931200 3600 0 CET} - {2689632000 7200 1 CEST} - {2708380800 3600 0 CET} - {2721686400 7200 1 CEST} - {2739830400 3600 0 CET} - {2753136000 7200 1 CEST} - {2771280000 3600 0 CET} - {2784585600 7200 1 CEST} - {2802729600 3600 0 CET} - {2816035200 7200 1 CEST} - {2834784000 3600 0 CET} - {2847484800 7200 1 CEST} - {2866233600 3600 0 CET} - {2878934400 7200 1 CEST} - {2897683200 3600 0 CET} - {2910988800 7200 1 CEST} - {2929132800 3600 0 CET} - {2942438400 7200 1 CEST} - {2960582400 3600 0 CET} - {2973888000 7200 1 CEST} - {2992636800 3600 0 CET} - {3005337600 7200 1 CEST} - {3024086400 3600 0 CET} - {3036787200 7200 1 CEST} - {3055536000 3600 0 CET} - {3068236800 7200 1 CEST} - {3086985600 3600 0 CET} - {3100291200 7200 1 CEST} - {3118435200 3600 0 CET} - {3131740800 7200 1 CEST} - {3149884800 3600 0 CET} - {3163190400 7200 1 CEST} - {3181939200 3600 0 CET} - {3194640000 7200 1 CEST} - {3213388800 3600 0 CET} - {3226089600 7200 1 CEST} - {3244838400 3600 0 CET} - {3258144000 7200 1 CEST} - {3276288000 3600 0 CET} - {3289593600 7200 1 CEST} - {3307737600 3600 0 CET} - {3321043200 7200 1 CEST} - {3339187200 3600 0 CET} - {3352492800 7200 1 CEST} - {3371241600 3600 0 CET} - {3383942400 7200 1 CEST} - {3402691200 3600 0 CET} - {3415392000 7200 1 CEST} - {3434140800 3600 0 CET} - {3447446400 7200 1 CEST} - {3465590400 3600 0 CET} - {3478896000 7200 1 CEST} - {3497040000 3600 0 CET} - {3510345600 7200 1 CEST} - {3529094400 3600 0 CET} - {3541795200 7200 1 CEST} - {3560544000 3600 0 CET} - {3573244800 7200 1 CEST} - {3591993600 3600 0 CET} - {3605299200 7200 1 CEST} - {3623443200 3600 0 CET} - {3636748800 7200 1 CEST} - {3654892800 3600 0 CET} - {3668198400 7200 1 CEST} - {3686342400 3600 0 CET} - {3699648000 7200 1 CEST} - {3718396800 3600 0 CET} - {3731097600 7200 1 CEST} - {3749846400 3600 0 CET} - {3762547200 7200 1 CEST} - {3781296000 3600 0 CET} - {3794601600 7200 1 CEST} - {3812745600 3600 0 CET} - {3826051200 7200 1 CEST} - {3844195200 3600 0 CET} - {3857500800 7200 1 CEST} - {3876249600 3600 0 CET} - {3888950400 7200 1 CEST} - {3907699200 3600 0 CET} - {3920400000 7200 1 CEST} - {3939148800 3600 0 CET} - {3951849600 7200 1 CEST} - {3970598400 3600 0 CET} - {3983904000 7200 1 CEST} - {4002048000 3600 0 CET} - {4015353600 7200 1 CEST} - {4033497600 3600 0 CET} - {4046803200 7200 1 CEST} - {4065552000 3600 0 CET} - {4078252800 7200 1 CEST} - {4097001600 3600 0 CET} + {875916000 7200 0 EET} } diff --git a/library/tzdata/Africa/Tunis b/library/tzdata/Africa/Tunis index 0c1db4d..8a7ec16 100644 --- a/library/tzdata/Africa/Tunis +++ b/library/tzdata/Africa/Tunis @@ -36,4 +36,184 @@ set TZData(:Africa/Tunis) { {1193533200 3600 0 CET} {1206838800 7200 1 CEST} {1224982800 3600 0 CET} + {1269738000 7200 1 CEST} + {1288486800 3600 0 CET} + {1301187600 7200 1 CEST} + {1319936400 3600 0 CET} + {1332637200 7200 1 CEST} + {1351386000 3600 0 CET} + {1364691600 7200 1 CEST} + {1382835600 3600 0 CET} + {1396141200 7200 1 CEST} + {1414285200 3600 0 CET} + {1427590800 7200 1 CEST} + {1445734800 3600 0 CET} + {1459040400 7200 1 CEST} + {1477789200 3600 0 CET} + {1490490000 7200 1 CEST} + {1509238800 3600 0 CET} + {1521939600 7200 1 CEST} + {1540688400 3600 0 CET} + {1553994000 7200 1 CEST} + {1572138000 3600 0 CET} + {1585443600 7200 1 CEST} + {1603587600 3600 0 CET} + {1616893200 7200 1 CEST} + {1635642000 3600 0 CET} + {1648342800 7200 1 CEST} + {1667091600 3600 0 CET} + {1679792400 7200 1 CEST} + {1698541200 3600 0 CET} + {1711846800 7200 1 CEST} + {1729990800 3600 0 CET} + {1743296400 7200 1 CEST} + {1761440400 3600 0 CET} + {1774746000 7200 1 CEST} + {1792890000 3600 0 CET} + {1806195600 7200 1 CEST} + {1824944400 3600 0 CET} + {1837645200 7200 1 CEST} + {1856394000 3600 0 CET} + {1869094800 7200 1 CEST} + {1887843600 3600 0 CET} + {1901149200 7200 1 CEST} + {1919293200 3600 0 CET} + {1932598800 7200 1 CEST} + {1950742800 3600 0 CET} + {1964048400 7200 1 CEST} + {1982797200 3600 0 CET} + {1995498000 7200 1 CEST} + {2014246800 3600 0 CET} + {2026947600 7200 1 CEST} + {2045696400 3600 0 CET} + {2058397200 7200 1 CEST} + {2077146000 3600 0 CET} + {2090451600 7200 1 CEST} + {2108595600 3600 0 CET} + {2121901200 7200 1 CEST} + {2140045200 3600 0 CET} + {2153350800 7200 1 CEST} + {2172099600 3600 0 CET} + {2184800400 7200 1 CEST} + {2203549200 3600 0 CET} + {2216250000 7200 1 CEST} + {2234998800 3600 0 CET} + {2248304400 7200 1 CEST} + {2266448400 3600 0 CET} + {2279754000 7200 1 CEST} + {2297898000 3600 0 CET} + {2311203600 7200 1 CEST} + {2329347600 3600 0 CET} + {2342653200 7200 1 CEST} + {2361402000 3600 0 CET} + {2374102800 7200 1 CEST} + {2392851600 3600 0 CET} + {2405552400 7200 1 CEST} + {2424301200 3600 0 CET} + {2437606800 7200 1 CEST} + {2455750800 3600 0 CET} + {2469056400 7200 1 CEST} + {2487200400 3600 0 CET} + {2500506000 7200 1 CEST} + {2519254800 3600 0 CET} + {2531955600 7200 1 CEST} + {2550704400 3600 0 CET} + {2563405200 7200 1 CEST} + {2582154000 3600 0 CET} + {2595459600 7200 1 CEST} + {2613603600 3600 0 CET} + {2626909200 7200 1 CEST} + {2645053200 3600 0 CET} + {2658358800 7200 1 CEST} + {2676502800 3600 0 CET} + {2689808400 7200 1 CEST} + {2708557200 3600 0 CET} + {2721258000 7200 1 CEST} + {2740006800 3600 0 CET} + {2752707600 7200 1 CEST} + {2771456400 3600 0 CET} + {2784762000 7200 1 CEST} + {2802906000 3600 0 CET} + {2816211600 7200 1 CEST} + {2834355600 3600 0 CET} + {2847661200 7200 1 CEST} + {2866410000 3600 0 CET} + {2879110800 7200 1 CEST} + {2897859600 3600 0 CET} + {2910560400 7200 1 CEST} + {2929309200 3600 0 CET} + {2942010000 7200 1 CEST} + {2960758800 3600 0 CET} + {2974064400 7200 1 CEST} + {2992208400 3600 0 CET} + {3005514000 7200 1 CEST} + {3023658000 3600 0 CET} + {3036963600 7200 1 CEST} + {3055712400 3600 0 CET} + {3068413200 7200 1 CEST} + {3087162000 3600 0 CET} + {3099862800 7200 1 CEST} + {3118611600 3600 0 CET} + {3131917200 7200 1 CEST} + {3150061200 3600 0 CET} + {3163366800 7200 1 CEST} + {3181510800 3600 0 CET} + {3194816400 7200 1 CEST} + {3212960400 3600 0 CET} + {3226266000 7200 1 CEST} + {3245014800 3600 0 CET} + {3257715600 7200 1 CEST} + {3276464400 3600 0 CET} + {3289165200 7200 1 CEST} + {3307914000 3600 0 CET} + {3321219600 7200 1 CEST} + {3339363600 3600 0 CET} + {3352669200 7200 1 CEST} + {3370813200 3600 0 CET} + {3384118800 7200 1 CEST} + {3402867600 3600 0 CET} + {3415568400 7200 1 CEST} + {3434317200 3600 0 CET} + {3447018000 7200 1 CEST} + {3465766800 3600 0 CET} + {3479072400 7200 1 CEST} + {3497216400 3600 0 CET} + {3510522000 7200 1 CEST} + {3528666000 3600 0 CET} + {3541971600 7200 1 CEST} + {3560115600 3600 0 CET} + {3573421200 7200 1 CEST} + {3592170000 3600 0 CET} + {3604870800 7200 1 CEST} + {3623619600 3600 0 CET} + {3636320400 7200 1 CEST} + {3655069200 3600 0 CET} + {3668374800 7200 1 CEST} + {3686518800 3600 0 CET} + {3699824400 7200 1 CEST} + {3717968400 3600 0 CET} + {3731274000 7200 1 CEST} + {3750022800 3600 0 CET} + {3762723600 7200 1 CEST} + {3781472400 3600 0 CET} + {3794173200 7200 1 CEST} + {3812922000 3600 0 CET} + {3825622800 7200 1 CEST} + {3844371600 3600 0 CET} + {3857677200 7200 1 CEST} + {3875821200 3600 0 CET} + {3889126800 7200 1 CEST} + {3907270800 3600 0 CET} + {3920576400 7200 1 CEST} + {3939325200 3600 0 CET} + {3952026000 7200 1 CEST} + {3970774800 3600 0 CET} + {3983475600 7200 1 CEST} + {4002224400 3600 0 CET} + {4015530000 7200 1 CEST} + {4033674000 3600 0 CET} + {4046979600 7200 1 CEST} + {4065123600 3600 0 CET} + {4078429200 7200 1 CEST} + {4096573200 3600 0 CET} } diff --git a/library/tzdata/America/Araguaina b/library/tzdata/America/Araguaina index dc1b543..5073c56 100644 --- a/library/tzdata/America/Araguaina +++ b/library/tzdata/America/Araguaina @@ -54,179 +54,4 @@ set TZData(:America/Araguaina) { {1036292400 -7200 1 BRST} {1045360800 -10800 0 BRT} {1064368800 -10800 0 BRT} - {1350788400 -7200 0 BRST} - {1361066400 -10800 0 BRT} - {1382238000 -7200 1 BRST} - {1392516000 -10800 0 BRT} - {1413687600 -7200 1 BRST} - {1424570400 -10800 0 BRT} - {1445137200 -7200 1 BRST} - {1456020000 -10800 0 BRT} - {1476586800 -7200 1 BRST} - {1487469600 -10800 0 BRT} - {1508036400 -7200 1 BRST} - {1518919200 -10800 0 BRT} - {1540090800 -7200 1 BRST} - {1550368800 -10800 0 BRT} - {1571540400 -7200 1 BRST} - {1581818400 -10800 0 BRT} - {1602990000 -7200 1 BRST} - {1613872800 -10800 0 BRT} - {1634439600 -7200 1 BRST} - {1645322400 -10800 0 BRT} - {1665889200 -7200 1 BRST} - {1677376800 -10800 0 BRT} - {1697338800 -7200 1 BRST} - {1708221600 -10800 0 BRT} - {1729393200 -7200 1 BRST} - {1739671200 -10800 0 BRT} - {1760842800 -7200 1 BRST} - {1771725600 -10800 0 BRT} - {1792292400 -7200 1 BRST} - {1803175200 -10800 0 BRT} - {1823742000 -7200 1 BRST} - {1834624800 -10800 0 BRT} - {1855191600 -7200 1 BRST} - {1866074400 -10800 0 BRT} - {1887246000 -7200 1 BRST} - {1897524000 -10800 0 BRT} - {1918695600 -7200 1 BRST} - {1928973600 -10800 0 BRT} - {1950145200 -7200 1 BRST} - {1960423200 -10800 0 BRT} - {1981594800 -7200 1 BRST} - {1992477600 -10800 0 BRT} - {2013044400 -7200 1 BRST} - {2024532000 -10800 0 BRT} - {2044494000 -7200 1 BRST} - {2055376800 -10800 0 BRT} - {2076548400 -7200 1 BRST} - {2086826400 -10800 0 BRT} - {2107998000 -7200 1 BRST} - {2118880800 -10800 0 BRT} - {2139447600 -7200 1 BRST} - {2150330400 -10800 0 BRT} - {2170897200 -7200 1 BRST} - {2181780000 -10800 0 BRT} - {2202346800 -7200 1 BRST} - {2213229600 -10800 0 BRT} - {2234401200 -7200 1 BRST} - {2244679200 -10800 0 BRT} - {2265850800 -7200 1 BRST} - {2276128800 -10800 0 BRT} - {2297300400 -7200 1 BRST} - {2307578400 -10800 0 BRT} - {2328750000 -7200 1 BRST} - {2339632800 -10800 0 BRT} - {2360199600 -7200 1 BRST} - {2371082400 -10800 0 BRT} - {2391649200 -7200 1 BRST} - {2402532000 -10800 0 BRT} - {2423703600 -7200 1 BRST} - {2433981600 -10800 0 BRT} - {2455153200 -7200 1 BRST} - {2465431200 -10800 0 BRT} - {2486602800 -7200 1 BRST} - {2497485600 -10800 0 BRT} - {2518052400 -7200 1 BRST} - {2528935200 -10800 0 BRT} - {2549502000 -7200 1 BRST} - {2560384800 -10800 0 BRT} - {2580951600 -7200 1 BRST} - {2591834400 -10800 0 BRT} - {2613006000 -7200 1 BRST} - {2623284000 -10800 0 BRT} - {2644455600 -7200 1 BRST} - {2654733600 -10800 0 BRT} - {2675905200 -7200 1 BRST} - {2686788000 -10800 0 BRT} - {2707354800 -7200 1 BRST} - {2718237600 -10800 0 BRT} - {2738804400 -7200 1 BRST} - {2749687200 -10800 0 BRT} - {2770858800 -7200 1 BRST} - {2781136800 -10800 0 BRT} - {2802308400 -7200 1 BRST} - {2812586400 -10800 0 BRT} - {2833758000 -7200 1 BRST} - {2844036000 -10800 0 BRT} - {2865207600 -7200 1 BRST} - {2876090400 -10800 0 BRT} - {2896657200 -7200 1 BRST} - {2907540000 -10800 0 BRT} - {2928106800 -7200 1 BRST} - {2938989600 -10800 0 BRT} - {2960161200 -7200 1 BRST} - {2970439200 -10800 0 BRT} - {2991610800 -7200 1 BRST} - {3001888800 -10800 0 BRT} - {3023060400 -7200 1 BRST} - {3033943200 -10800 0 BRT} - {3054510000 -7200 1 BRST} - {3065392800 -10800 0 BRT} - {3085959600 -7200 1 BRST} - {3096842400 -10800 0 BRT} - {3118014000 -7200 1 BRST} - {3128292000 -10800 0 BRT} - {3149463600 -7200 1 BRST} - {3159741600 -10800 0 BRT} - {3180913200 -7200 1 BRST} - {3191191200 -10800 0 BRT} - {3212362800 -7200 1 BRST} - {3223245600 -10800 0 BRT} - {3243812400 -7200 1 BRST} - {3254695200 -10800 0 BRT} - {3275262000 -7200 1 BRST} - {3286144800 -10800 0 BRT} - {3307316400 -7200 1 BRST} - {3317594400 -10800 0 BRT} - {3338766000 -7200 1 BRST} - {3349044000 -10800 0 BRT} - {3370215600 -7200 1 BRST} - {3381098400 -10800 0 BRT} - {3401665200 -7200 1 BRST} - {3412548000 -10800 0 BRT} - {3433114800 -7200 1 BRST} - {3443997600 -10800 0 BRT} - {3464564400 -7200 1 BRST} - {3475447200 -10800 0 BRT} - {3496618800 -7200 1 BRST} - {3506896800 -10800 0 BRT} - {3528068400 -7200 1 BRST} - {3538346400 -10800 0 BRT} - {3559518000 -7200 1 BRST} - {3570400800 -10800 0 BRT} - {3590967600 -7200 1 BRST} - {3601850400 -10800 0 BRT} - {3622417200 -7200 1 BRST} - {3633300000 -10800 0 BRT} - {3654471600 -7200 1 BRST} - {3664749600 -10800 0 BRT} - {3685921200 -7200 1 BRST} - {3696199200 -10800 0 BRT} - {3717370800 -7200 1 BRST} - {3727648800 -10800 0 BRT} - {3748820400 -7200 1 BRST} - {3759703200 -10800 0 BRT} - {3780270000 -7200 1 BRST} - {3791152800 -10800 0 BRT} - {3811719600 -7200 1 BRST} - {3822602400 -10800 0 BRT} - {3843774000 -7200 1 BRST} - {3854052000 -10800 0 BRT} - {3875223600 -7200 1 BRST} - {3885501600 -10800 0 BRT} - {3906673200 -7200 1 BRST} - {3917556000 -10800 0 BRT} - {3938122800 -7200 1 BRST} - {3949005600 -10800 0 BRT} - {3969572400 -7200 1 BRST} - {3980455200 -10800 0 BRT} - {4001626800 -7200 1 BRST} - {4011904800 -10800 0 BRT} - {4033076400 -7200 1 BRST} - {4043354400 -10800 0 BRT} - {4064526000 -7200 1 BRST} - {4074804000 -10800 0 BRT} - {4095975600 -7200 1 BRST} } diff --git a/library/tzdata/America/Argentina/Buenos_Aires b/library/tzdata/America/Argentina/Buenos_Aires index 73cc8e9..beccff3 100644 --- a/library/tzdata/America/Argentina/Buenos_Aires +++ b/library/tzdata/America/Argentina/Buenos_Aires @@ -64,4 +64,185 @@ set TZData(:America/Argentina/Buenos_Aires) { {1205632800 -10800 0 ART} {1224385200 -7200 1 ARST} {1237082400 -10800 0 ART} + {1255834800 -7200 1 ARST} + {1269136800 -10800 0 ART} + {1287284400 -7200 1 ARST} + {1300586400 -10800 0 ART} + {1318734000 -7200 1 ARST} + {1332036000 -10800 0 ART} + {1350788400 -7200 1 ARST} + {1363485600 -10800 0 ART} + {1382238000 -7200 1 ARST} + {1394935200 -10800 0 ART} + {1413687600 -7200 1 ARST} + {1426384800 -10800 0 ART} + {1445137200 -7200 1 ARST} + {1458439200 -10800 0 ART} + {1476586800 -7200 1 ARST} + {1489888800 -10800 0 ART} + {1508036400 -7200 1 ARST} + {1521338400 -10800 0 ART} + {1540090800 -7200 1 ARST} + {1552788000 -10800 0 ART} + {1571540400 -7200 1 ARST} + {1584237600 -10800 0 ART} + {1602990000 -7200 1 ARST} + {1616292000 -10800 0 ART} + {1634439600 -7200 1 ARST} + {1647741600 -10800 0 ART} + {1665889200 -7200 1 ARST} + {1679191200 -10800 0 ART} + {1697338800 -7200 1 ARST} + {1710640800 -10800 0 ART} + {1729393200 -7200 1 ARST} + {1742090400 -10800 0 ART} + {1760842800 -7200 1 ARST} + {1773540000 -10800 0 ART} + {1792292400 -7200 1 ARST} + {1805594400 -10800 0 ART} + {1823742000 -7200 1 ARST} + {1837044000 -10800 0 ART} + {1855191600 -7200 1 ARST} + {1868493600 -10800 0 ART} + {1887246000 -7200 1 ARST} + {1899943200 -10800 0 ART} + {1918695600 -7200 1 ARST} + {1931392800 -10800 0 ART} + {1950145200 -7200 1 ARST} + {1963447200 -10800 0 ART} + {1981594800 -7200 1 ARST} + {1994896800 -10800 0 ART} + {2013044400 -7200 1 ARST} + {2026346400 -10800 0 ART} + {2044494000 -7200 1 ARST} + {2057796000 -10800 0 ART} + {2076548400 -7200 1 ARST} + {2089245600 -10800 0 ART} + {2107998000 -7200 1 ARST} + {2120695200 -10800 0 ART} + {2139447600 -7200 1 ARST} + {2152749600 -10800 0 ART} + {2170897200 -7200 1 ARST} + {2184199200 -10800 0 ART} + {2202346800 -7200 1 ARST} + {2215648800 -10800 0 ART} + {2234401200 -7200 1 ARST} + {2247098400 -10800 0 ART} + {2265850800 -7200 1 ARST} + {2278548000 -10800 0 ART} + {2297300400 -7200 1 ARST} + {2309997600 -10800 0 ART} + {2328750000 -7200 1 ARST} + {2342052000 -10800 0 ART} + {2360199600 -7200 1 ARST} + {2373501600 -10800 0 ART} + {2391649200 -7200 1 ARST} + {2404951200 -10800 0 ART} + {2423703600 -7200 1 ARST} + {2436400800 -10800 0 ART} + {2455153200 -7200 1 ARST} + {2467850400 -10800 0 ART} + {2486602800 -7200 1 ARST} + {2499904800 -10800 0 ART} + {2518052400 -7200 1 ARST} + {2531354400 -10800 0 ART} + {2549502000 -7200 1 ARST} + {2562804000 -10800 0 ART} + {2580951600 -7200 1 ARST} + {2594253600 -10800 0 ART} + {2613006000 -7200 1 ARST} + {2625703200 -10800 0 ART} + {2644455600 -7200 1 ARST} + {2657152800 -10800 0 ART} + {2675905200 -7200 1 ARST} + {2689207200 -10800 0 ART} + {2707354800 -7200 1 ARST} + {2720656800 -10800 0 ART} + {2738804400 -7200 1 ARST} + {2752106400 -10800 0 ART} + {2770858800 -7200 1 ARST} + {2783556000 -10800 0 ART} + {2802308400 -7200 1 ARST} + {2815005600 -10800 0 ART} + {2833758000 -7200 1 ARST} + {2847060000 -10800 0 ART} + {2865207600 -7200 1 ARST} + {2878509600 -10800 0 ART} + {2896657200 -7200 1 ARST} + {2909959200 -10800 0 ART} + {2928106800 -7200 1 ARST} + {2941408800 -10800 0 ART} + {2960161200 -7200 1 ARST} + {2972858400 -10800 0 ART} + {2991610800 -7200 1 ARST} + {3004308000 -10800 0 ART} + {3023060400 -7200 1 ARST} + {3036362400 -10800 0 ART} + {3054510000 -7200 1 ARST} + {3067812000 -10800 0 ART} + {3085959600 -7200 1 ARST} + {3099261600 -10800 0 ART} + {3118014000 -7200 1 ARST} + {3130711200 -10800 0 ART} + {3149463600 -7200 1 ARST} + {3162160800 -10800 0 ART} + {3180913200 -7200 1 ARST} + {3193610400 -10800 0 ART} + {3212362800 -7200 1 ARST} + {3225664800 -10800 0 ART} + {3243812400 -7200 1 ARST} + {3257114400 -10800 0 ART} + {3275262000 -7200 1 ARST} + {3288564000 -10800 0 ART} + {3307316400 -7200 1 ARST} + {3320013600 -10800 0 ART} + {3338766000 -7200 1 ARST} + {3351463200 -10800 0 ART} + {3370215600 -7200 1 ARST} + {3383517600 -10800 0 ART} + {3401665200 -7200 1 ARST} + {3414967200 -10800 0 ART} + {3433114800 -7200 1 ARST} + {3446416800 -10800 0 ART} + {3464564400 -7200 1 ARST} + {3477866400 -10800 0 ART} + {3496618800 -7200 1 ARST} + {3509316000 -10800 0 ART} + {3528068400 -7200 1 ARST} + {3540765600 -10800 0 ART} + {3559518000 -7200 1 ARST} + {3572820000 -10800 0 ART} + {3590967600 -7200 1 ARST} + {3604269600 -10800 0 ART} + {3622417200 -7200 1 ARST} + {3635719200 -10800 0 ART} + {3654471600 -7200 1 ARST} + {3667168800 -10800 0 ART} + {3685921200 -7200 1 ARST} + {3698618400 -10800 0 ART} + {3717370800 -7200 1 ARST} + {3730672800 -10800 0 ART} + {3748820400 -7200 1 ARST} + {3762122400 -10800 0 ART} + {3780270000 -7200 1 ARST} + {3793572000 -10800 0 ART} + {3811719600 -7200 1 ARST} + {3825021600 -10800 0 ART} + {3843774000 -7200 1 ARST} + {3856471200 -10800 0 ART} + {3875223600 -7200 1 ARST} + {3887920800 -10800 0 ART} + {3906673200 -7200 1 ARST} + {3919975200 -10800 0 ART} + {3938122800 -7200 1 ARST} + {3951424800 -10800 0 ART} + {3969572400 -7200 1 ARST} + {3982874400 -10800 0 ART} + {4001626800 -7200 1 ARST} + {4014324000 -10800 0 ART} + {4033076400 -7200 1 ARST} + {4045773600 -10800 0 ART} + {4064526000 -7200 1 ARST} + {4077223200 -10800 0 ART} + {4095975600 -7200 1 ARST} } diff --git a/library/tzdata/America/Argentina/Cordoba b/library/tzdata/America/Argentina/Cordoba index b08539e..798ee86 100644 --- a/library/tzdata/America/Argentina/Cordoba +++ b/library/tzdata/America/Argentina/Cordoba @@ -64,4 +64,185 @@ set TZData(:America/Argentina/Cordoba) { {1205632800 -10800 0 ART} {1224385200 -7200 1 ARST} {1237082400 -10800 0 ART} + {1255834800 -7200 1 ARST} + {1269136800 -10800 0 ART} + {1287284400 -7200 1 ARST} + {1300586400 -10800 0 ART} + {1318734000 -7200 1 ARST} + {1332036000 -10800 0 ART} + {1350788400 -7200 1 ARST} + {1363485600 -10800 0 ART} + {1382238000 -7200 1 ARST} + {1394935200 -10800 0 ART} + {1413687600 -7200 1 ARST} + {1426384800 -10800 0 ART} + {1445137200 -7200 1 ARST} + {1458439200 -10800 0 ART} + {1476586800 -7200 1 ARST} + {1489888800 -10800 0 ART} + {1508036400 -7200 1 ARST} + {1521338400 -10800 0 ART} + {1540090800 -7200 1 ARST} + {1552788000 -10800 0 ART} + {1571540400 -7200 1 ARST} + {1584237600 -10800 0 ART} + {1602990000 -7200 1 ARST} + {1616292000 -10800 0 ART} + {1634439600 -7200 1 ARST} + {1647741600 -10800 0 ART} + {1665889200 -7200 1 ARST} + {1679191200 -10800 0 ART} + {1697338800 -7200 1 ARST} + {1710640800 -10800 0 ART} + {1729393200 -7200 1 ARST} + {1742090400 -10800 0 ART} + {1760842800 -7200 1 ARST} + {1773540000 -10800 0 ART} + {1792292400 -7200 1 ARST} + {1805594400 -10800 0 ART} + {1823742000 -7200 1 ARST} + {1837044000 -10800 0 ART} + {1855191600 -7200 1 ARST} + {1868493600 -10800 0 ART} + {1887246000 -7200 1 ARST} + {1899943200 -10800 0 ART} + {1918695600 -7200 1 ARST} + {1931392800 -10800 0 ART} + {1950145200 -7200 1 ARST} + {1963447200 -10800 0 ART} + {1981594800 -7200 1 ARST} + {1994896800 -10800 0 ART} + {2013044400 -7200 1 ARST} + {2026346400 -10800 0 ART} + {2044494000 -7200 1 ARST} + {2057796000 -10800 0 ART} + {2076548400 -7200 1 ARST} + {2089245600 -10800 0 ART} + {2107998000 -7200 1 ARST} + {2120695200 -10800 0 ART} + {2139447600 -7200 1 ARST} + {2152749600 -10800 0 ART} + {2170897200 -7200 1 ARST} + {2184199200 -10800 0 ART} + {2202346800 -7200 1 ARST} + {2215648800 -10800 0 ART} + {2234401200 -7200 1 ARST} + {2247098400 -10800 0 ART} + {2265850800 -7200 1 ARST} + {2278548000 -10800 0 ART} + {2297300400 -7200 1 ARST} + {2309997600 -10800 0 ART} + {2328750000 -7200 1 ARST} + {2342052000 -10800 0 ART} + {2360199600 -7200 1 ARST} + {2373501600 -10800 0 ART} + {2391649200 -7200 1 ARST} + {2404951200 -10800 0 ART} + {2423703600 -7200 1 ARST} + {2436400800 -10800 0 ART} + {2455153200 -7200 1 ARST} + {2467850400 -10800 0 ART} + {2486602800 -7200 1 ARST} + {2499904800 -10800 0 ART} + {2518052400 -7200 1 ARST} + {2531354400 -10800 0 ART} + {2549502000 -7200 1 ARST} + {2562804000 -10800 0 ART} + {2580951600 -7200 1 ARST} + {2594253600 -10800 0 ART} + {2613006000 -7200 1 ARST} + {2625703200 -10800 0 ART} + {2644455600 -7200 1 ARST} + {2657152800 -10800 0 ART} + {2675905200 -7200 1 ARST} + {2689207200 -10800 0 ART} + {2707354800 -7200 1 ARST} + {2720656800 -10800 0 ART} + {2738804400 -7200 1 ARST} + {2752106400 -10800 0 ART} + {2770858800 -7200 1 ARST} + {2783556000 -10800 0 ART} + {2802308400 -7200 1 ARST} + {2815005600 -10800 0 ART} + {2833758000 -7200 1 ARST} + {2847060000 -10800 0 ART} + {2865207600 -7200 1 ARST} + {2878509600 -10800 0 ART} + {2896657200 -7200 1 ARST} + {2909959200 -10800 0 ART} + {2928106800 -7200 1 ARST} + {2941408800 -10800 0 ART} + {2960161200 -7200 1 ARST} + {2972858400 -10800 0 ART} + {2991610800 -7200 1 ARST} + {3004308000 -10800 0 ART} + {3023060400 -7200 1 ARST} + {3036362400 -10800 0 ART} + {3054510000 -7200 1 ARST} + {3067812000 -10800 0 ART} + {3085959600 -7200 1 ARST} + {3099261600 -10800 0 ART} + {3118014000 -7200 1 ARST} + {3130711200 -10800 0 ART} + {3149463600 -7200 1 ARST} + {3162160800 -10800 0 ART} + {3180913200 -7200 1 ARST} + {3193610400 -10800 0 ART} + {3212362800 -7200 1 ARST} + {3225664800 -10800 0 ART} + {3243812400 -7200 1 ARST} + {3257114400 -10800 0 ART} + {3275262000 -7200 1 ARST} + {3288564000 -10800 0 ART} + {3307316400 -7200 1 ARST} + {3320013600 -10800 0 ART} + {3338766000 -7200 1 ARST} + {3351463200 -10800 0 ART} + {3370215600 -7200 1 ARST} + {3383517600 -10800 0 ART} + {3401665200 -7200 1 ARST} + {3414967200 -10800 0 ART} + {3433114800 -7200 1 ARST} + {3446416800 -10800 0 ART} + {3464564400 -7200 1 ARST} + {3477866400 -10800 0 ART} + {3496618800 -7200 1 ARST} + {3509316000 -10800 0 ART} + {3528068400 -7200 1 ARST} + {3540765600 -10800 0 ART} + {3559518000 -7200 1 ARST} + {3572820000 -10800 0 ART} + {3590967600 -7200 1 ARST} + {3604269600 -10800 0 ART} + {3622417200 -7200 1 ARST} + {3635719200 -10800 0 ART} + {3654471600 -7200 1 ARST} + {3667168800 -10800 0 ART} + {3685921200 -7200 1 ARST} + {3698618400 -10800 0 ART} + {3717370800 -7200 1 ARST} + {3730672800 -10800 0 ART} + {3748820400 -7200 1 ARST} + {3762122400 -10800 0 ART} + {3780270000 -7200 1 ARST} + {3793572000 -10800 0 ART} + {3811719600 -7200 1 ARST} + {3825021600 -10800 0 ART} + {3843774000 -7200 1 ARST} + {3856471200 -10800 0 ART} + {3875223600 -7200 1 ARST} + {3887920800 -10800 0 ART} + {3906673200 -7200 1 ARST} + {3919975200 -10800 0 ART} + {3938122800 -7200 1 ARST} + {3951424800 -10800 0 ART} + {3969572400 -7200 1 ARST} + {3982874400 -10800 0 ART} + {4001626800 -7200 1 ARST} + {4014324000 -10800 0 ART} + {4033076400 -7200 1 ARST} + {4045773600 -10800 0 ART} + {4064526000 -7200 1 ARST} + {4077223200 -10800 0 ART} + {4095975600 -7200 1 ARST} } diff --git a/library/tzdata/America/Argentina/San_Luis b/library/tzdata/America/Argentina/San_Luis index bec1554..1d06652 100644 --- a/library/tzdata/America/Argentina/San_Luis +++ b/library/tzdata/America/Argentina/San_Luis @@ -60,9 +60,188 @@ set TZData(:America/Argentina/San_Luis) { {1085972400 -14400 0 WART} {1090728000 -10800 0 ART} {1198983600 -7200 1 ARST} - {1200880800 -10800 0 WART} - {1205031600 -14400 0 WART} - {1223784000 -10800 1 WARST} - {1236481200 -14400 0 WART} - {1255233600 -10800 1 WARST} + {1200880800 -10800 0 ART} + {1237086000 -14400 0 WART} + {1237089600 -14400 0 WART} + {1255838400 -10800 1 WARST} + {1269140400 -14400 0 WART} + {1287288000 -10800 1 WARST} + {1300590000 -14400 0 WART} + {1318737600 -10800 1 WARST} + {1332039600 -14400 0 WART} + {1350792000 -10800 1 WARST} + {1363489200 -14400 0 WART} + {1382241600 -10800 1 WARST} + {1394938800 -14400 0 WART} + {1413691200 -10800 1 WARST} + {1426388400 -14400 0 WART} + {1445140800 -10800 1 WARST} + {1458442800 -14400 0 WART} + {1476590400 -10800 1 WARST} + {1489892400 -14400 0 WART} + {1508040000 -10800 1 WARST} + {1521342000 -14400 0 WART} + {1540094400 -10800 1 WARST} + {1552791600 -14400 0 WART} + {1571544000 -10800 1 WARST} + {1584241200 -14400 0 WART} + {1602993600 -10800 1 WARST} + {1616295600 -14400 0 WART} + {1634443200 -10800 1 WARST} + {1647745200 -14400 0 WART} + {1665892800 -10800 1 WARST} + {1679194800 -14400 0 WART} + {1697342400 -10800 1 WARST} + {1710644400 -14400 0 WART} + {1729396800 -10800 1 WARST} + {1742094000 -14400 0 WART} + {1760846400 -10800 1 WARST} + {1773543600 -14400 0 WART} + {1792296000 -10800 1 WARST} + {1805598000 -14400 0 WART} + {1823745600 -10800 1 WARST} + {1837047600 -14400 0 WART} + {1855195200 -10800 1 WARST} + {1868497200 -14400 0 WART} + {1887249600 -10800 1 WARST} + {1899946800 -14400 0 WART} + {1918699200 -10800 1 WARST} + {1931396400 -14400 0 WART} + {1950148800 -10800 1 WARST} + {1963450800 -14400 0 WART} + {1981598400 -10800 1 WARST} + {1994900400 -14400 0 WART} + {2013048000 -10800 1 WARST} + {2026350000 -14400 0 WART} + {2044497600 -10800 1 WARST} + {2057799600 -14400 0 WART} + {2076552000 -10800 1 WARST} + {2089249200 -14400 0 WART} + {2108001600 -10800 1 WARST} + {2120698800 -14400 0 WART} + {2139451200 -10800 1 WARST} + {2152753200 -14400 0 WART} + {2170900800 -10800 1 WARST} + {2184202800 -14400 0 WART} + {2202350400 -10800 1 WARST} + {2215652400 -14400 0 WART} + {2234404800 -10800 1 WARST} + {2247102000 -14400 0 WART} + {2265854400 -10800 1 WARST} + {2278551600 -14400 0 WART} + {2297304000 -10800 1 WARST} + {2310001200 -14400 0 WART} + {2328753600 -10800 1 WARST} + {2342055600 -14400 0 WART} + {2360203200 -10800 1 WARST} + {2373505200 -14400 0 WART} + {2391652800 -10800 1 WARST} + {2404954800 -14400 0 WART} + {2423707200 -10800 1 WARST} + {2436404400 -14400 0 WART} + {2455156800 -10800 1 WARST} + {2467854000 -14400 0 WART} + {2486606400 -10800 1 WARST} + {2499908400 -14400 0 WART} + {2518056000 -10800 1 WARST} + {2531358000 -14400 0 WART} + {2549505600 -10800 1 WARST} + {2562807600 -14400 0 WART} + {2580955200 -10800 1 WARST} + {2594257200 -14400 0 WART} + {2613009600 -10800 1 WARST} + {2625706800 -14400 0 WART} + {2644459200 -10800 1 WARST} + {2657156400 -14400 0 WART} + {2675908800 -10800 1 WARST} + {2689210800 -14400 0 WART} + {2707358400 -10800 1 WARST} + {2720660400 -14400 0 WART} + {2738808000 -10800 1 WARST} + {2752110000 -14400 0 WART} + {2770862400 -10800 1 WARST} + {2783559600 -14400 0 WART} + {2802312000 -10800 1 WARST} + {2815009200 -14400 0 WART} + {2833761600 -10800 1 WARST} + {2847063600 -14400 0 WART} + {2865211200 -10800 1 WARST} + {2878513200 -14400 0 WART} + {2896660800 -10800 1 WARST} + {2909962800 -14400 0 WART} + {2928110400 -10800 1 WARST} + {2941412400 -14400 0 WART} + {2960164800 -10800 1 WARST} + {2972862000 -14400 0 WART} + {2991614400 -10800 1 WARST} + {3004311600 -14400 0 WART} + {3023064000 -10800 1 WARST} + {3036366000 -14400 0 WART} + {3054513600 -10800 1 WARST} + {3067815600 -14400 0 WART} + {3085963200 -10800 1 WARST} + {3099265200 -14400 0 WART} + {3118017600 -10800 1 WARST} + {3130714800 -14400 0 WART} + {3149467200 -10800 1 WARST} + {3162164400 -14400 0 WART} + {3180916800 -10800 1 WARST} + {3193614000 -14400 0 WART} + {3212366400 -10800 1 WARST} + {3225668400 -14400 0 WART} + {3243816000 -10800 1 WARST} + {3257118000 -14400 0 WART} + {3275265600 -10800 1 WARST} + {3288567600 -14400 0 WART} + {3307320000 -10800 1 WARST} + {3320017200 -14400 0 WART} + {3338769600 -10800 1 WARST} + {3351466800 -14400 0 WART} + {3370219200 -10800 1 WARST} + {3383521200 -14400 0 WART} + {3401668800 -10800 1 WARST} + {3414970800 -14400 0 WART} + {3433118400 -10800 1 WARST} + {3446420400 -14400 0 WART} + {3464568000 -10800 1 WARST} + {3477870000 -14400 0 WART} + {3496622400 -10800 1 WARST} + {3509319600 -14400 0 WART} + {3528072000 -10800 1 WARST} + {3540769200 -14400 0 WART} + {3559521600 -10800 1 WARST} + {3572823600 -14400 0 WART} + {3590971200 -10800 1 WARST} + {3604273200 -14400 0 WART} + {3622420800 -10800 1 WARST} + {3635722800 -14400 0 WART} + {3654475200 -10800 1 WARST} + {3667172400 -14400 0 WART} + {3685924800 -10800 1 WARST} + {3698622000 -14400 0 WART} + {3717374400 -10800 1 WARST} + {3730676400 -14400 0 WART} + {3748824000 -10800 1 WARST} + {3762126000 -14400 0 WART} + {3780273600 -10800 1 WARST} + {3793575600 -14400 0 WART} + {3811723200 -10800 1 WARST} + {3825025200 -14400 0 WART} + {3843777600 -10800 1 WARST} + {3856474800 -14400 0 WART} + {3875227200 -10800 1 WARST} + {3887924400 -14400 0 WART} + {3906676800 -10800 1 WARST} + {3919978800 -14400 0 WART} + {3938126400 -10800 1 WARST} + {3951428400 -14400 0 WART} + {3969576000 -10800 1 WARST} + {3982878000 -14400 0 WART} + {4001630400 -10800 1 WARST} + {4014327600 -14400 0 WART} + {4033080000 -10800 1 WARST} + {4045777200 -14400 0 WART} + {4064529600 -10800 1 WARST} + {4077226800 -14400 0 WART} + {4095979200 -10800 1 WARST} } diff --git a/library/tzdata/America/Argentina/Tucuman b/library/tzdata/America/Argentina/Tucuman index 3500986..6d12cb6 100644 --- a/library/tzdata/America/Argentina/Tucuman +++ b/library/tzdata/America/Argentina/Tucuman @@ -66,4 +66,185 @@ set TZData(:America/Argentina/Tucuman) { {1205632800 -10800 0 ART} {1224385200 -7200 1 ARST} {1237082400 -10800 0 ART} + {1255834800 -7200 1 ARST} + {1269136800 -10800 0 ART} + {1287284400 -7200 1 ARST} + {1300586400 -10800 0 ART} + {1318734000 -7200 1 ARST} + {1332036000 -10800 0 ART} + {1350788400 -7200 1 ARST} + {1363485600 -10800 0 ART} + {1382238000 -7200 1 ARST} + {1394935200 -10800 0 ART} + {1413687600 -7200 1 ARST} + {1426384800 -10800 0 ART} + {1445137200 -7200 1 ARST} + {1458439200 -10800 0 ART} + {1476586800 -7200 1 ARST} + {1489888800 -10800 0 ART} + {1508036400 -7200 1 ARST} + {1521338400 -10800 0 ART} + {1540090800 -7200 1 ARST} + {1552788000 -10800 0 ART} + {1571540400 -7200 1 ARST} + {1584237600 -10800 0 ART} + {1602990000 -7200 1 ARST} + {1616292000 -10800 0 ART} + {1634439600 -7200 1 ARST} + {1647741600 -10800 0 ART} + {1665889200 -7200 1 ARST} + {1679191200 -10800 0 ART} + {1697338800 -7200 1 ARST} + {1710640800 -10800 0 ART} + {1729393200 -7200 1 ARST} + {1742090400 -10800 0 ART} + {1760842800 -7200 1 ARST} + {1773540000 -10800 0 ART} + {1792292400 -7200 1 ARST} + {1805594400 -10800 0 ART} + {1823742000 -7200 1 ARST} + {1837044000 -10800 0 ART} + {1855191600 -7200 1 ARST} + {1868493600 -10800 0 ART} + {1887246000 -7200 1 ARST} + {1899943200 -10800 0 ART} + {1918695600 -7200 1 ARST} + {1931392800 -10800 0 ART} + {1950145200 -7200 1 ARST} + {1963447200 -10800 0 ART} + {1981594800 -7200 1 ARST} + {1994896800 -10800 0 ART} + {2013044400 -7200 1 ARST} + {2026346400 -10800 0 ART} + {2044494000 -7200 1 ARST} + {2057796000 -10800 0 ART} + {2076548400 -7200 1 ARST} + {2089245600 -10800 0 ART} + {2107998000 -7200 1 ARST} + {2120695200 -10800 0 ART} + {2139447600 -7200 1 ARST} + {2152749600 -10800 0 ART} + {2170897200 -7200 1 ARST} + {2184199200 -10800 0 ART} + {2202346800 -7200 1 ARST} + {2215648800 -10800 0 ART} + {2234401200 -7200 1 ARST} + {2247098400 -10800 0 ART} + {2265850800 -7200 1 ARST} + {2278548000 -10800 0 ART} + {2297300400 -7200 1 ARST} + {2309997600 -10800 0 ART} + {2328750000 -7200 1 ARST} + {2342052000 -10800 0 ART} + {2360199600 -7200 1 ARST} + {2373501600 -10800 0 ART} + {2391649200 -7200 1 ARST} + {2404951200 -10800 0 ART} + {2423703600 -7200 1 ARST} + {2436400800 -10800 0 ART} + {2455153200 -7200 1 ARST} + {2467850400 -10800 0 ART} + {2486602800 -7200 1 ARST} + {2499904800 -10800 0 ART} + {2518052400 -7200 1 ARST} + {2531354400 -10800 0 ART} + {2549502000 -7200 1 ARST} + {2562804000 -10800 0 ART} + {2580951600 -7200 1 ARST} + {2594253600 -10800 0 ART} + {2613006000 -7200 1 ARST} + {2625703200 -10800 0 ART} + {2644455600 -7200 1 ARST} + {2657152800 -10800 0 ART} + {2675905200 -7200 1 ARST} + {2689207200 -10800 0 ART} + {2707354800 -7200 1 ARST} + {2720656800 -10800 0 ART} + {2738804400 -7200 1 ARST} + {2752106400 -10800 0 ART} + {2770858800 -7200 1 ARST} + {2783556000 -10800 0 ART} + {2802308400 -7200 1 ARST} + {2815005600 -10800 0 ART} + {2833758000 -7200 1 ARST} + {2847060000 -10800 0 ART} + {2865207600 -7200 1 ARST} + {2878509600 -10800 0 ART} + {2896657200 -7200 1 ARST} + {2909959200 -10800 0 ART} + {2928106800 -7200 1 ARST} + {2941408800 -10800 0 ART} + {2960161200 -7200 1 ARST} + {2972858400 -10800 0 ART} + {2991610800 -7200 1 ARST} + {3004308000 -10800 0 ART} + {3023060400 -7200 1 ARST} + {3036362400 -10800 0 ART} + {3054510000 -7200 1 ARST} + {3067812000 -10800 0 ART} + {3085959600 -7200 1 ARST} + {3099261600 -10800 0 ART} + {3118014000 -7200 1 ARST} + {3130711200 -10800 0 ART} + {3149463600 -7200 1 ARST} + {3162160800 -10800 0 ART} + {3180913200 -7200 1 ARST} + {3193610400 -10800 0 ART} + {3212362800 -7200 1 ARST} + {3225664800 -10800 0 ART} + {3243812400 -7200 1 ARST} + {3257114400 -10800 0 ART} + {3275262000 -7200 1 ARST} + {3288564000 -10800 0 ART} + {3307316400 -7200 1 ARST} + {3320013600 -10800 0 ART} + {3338766000 -7200 1 ARST} + {3351463200 -10800 0 ART} + {3370215600 -7200 1 ARST} + {3383517600 -10800 0 ART} + {3401665200 -7200 1 ARST} + {3414967200 -10800 0 ART} + {3433114800 -7200 1 ARST} + {3446416800 -10800 0 ART} + {3464564400 -7200 1 ARST} + {3477866400 -10800 0 ART} + {3496618800 -7200 1 ARST} + {3509316000 -10800 0 ART} + {3528068400 -7200 1 ARST} + {3540765600 -10800 0 ART} + {3559518000 -7200 1 ARST} + {3572820000 -10800 0 ART} + {3590967600 -7200 1 ARST} + {3604269600 -10800 0 ART} + {3622417200 -7200 1 ARST} + {3635719200 -10800 0 ART} + {3654471600 -7200 1 ARST} + {3667168800 -10800 0 ART} + {3685921200 -7200 1 ARST} + {3698618400 -10800 0 ART} + {3717370800 -7200 1 ARST} + {3730672800 -10800 0 ART} + {3748820400 -7200 1 ARST} + {3762122400 -10800 0 ART} + {3780270000 -7200 1 ARST} + {3793572000 -10800 0 ART} + {3811719600 -7200 1 ARST} + {3825021600 -10800 0 ART} + {3843774000 -7200 1 ARST} + {3856471200 -10800 0 ART} + {3875223600 -7200 1 ARST} + {3887920800 -10800 0 ART} + {3906673200 -7200 1 ARST} + {3919975200 -10800 0 ART} + {3938122800 -7200 1 ARST} + {3951424800 -10800 0 ART} + {3969572400 -7200 1 ARST} + {3982874400 -10800 0 ART} + {4001626800 -7200 1 ARST} + {4014324000 -10800 0 ART} + {4033076400 -7200 1 ARST} + {4045773600 -10800 0 ART} + {4064526000 -7200 1 ARST} + {4077223200 -10800 0 ART} + {4095975600 -7200 1 ARST} } diff --git a/library/tzdata/America/Asuncion b/library/tzdata/America/Asuncion index 9ea30da..fde228c 100644 --- a/library/tzdata/America/Asuncion +++ b/library/tzdata/America/Asuncion @@ -76,184 +76,184 @@ set TZData(:America/Asuncion) { {1224388800 -10800 1 PYST} {1236481200 -14400 0 PYT} {1255838400 -10800 1 PYST} - {1270954800 -14400 0 PYT} - {1286078400 -10800 1 PYST} - {1302404400 -14400 0 PYT} - {1317528000 -10800 1 PYST} - {1333854000 -14400 0 PYT} - {1349582400 -10800 1 PYST} - {1364094000 -14400 0 PYT} - {1381032000 -10800 1 PYST} - {1395543600 -14400 0 PYT} - {1412481600 -10800 1 PYST} - {1426993200 -14400 0 PYT} - {1443931200 -10800 1 PYST} - {1459047600 -14400 0 PYT} - {1475380800 -10800 1 PYST} - {1490497200 -14400 0 PYT} - {1506830400 -10800 1 PYST} - {1521946800 -14400 0 PYT} - {1538884800 -10800 1 PYST} - {1553396400 -14400 0 PYT} - {1570334400 -10800 1 PYST} - {1584846000 -14400 0 PYT} - {1601784000 -10800 1 PYST} - {1616900400 -14400 0 PYT} - {1633233600 -10800 1 PYST} - {1648350000 -14400 0 PYT} - {1664683200 -10800 1 PYST} - {1679799600 -14400 0 PYT} - {1696132800 -10800 1 PYST} - {1711249200 -14400 0 PYT} - {1728187200 -10800 1 PYST} - {1742698800 -14400 0 PYT} - {1759636800 -10800 1 PYST} - {1774148400 -14400 0 PYT} - {1791086400 -10800 1 PYST} - {1806202800 -14400 0 PYT} - {1822536000 -10800 1 PYST} - {1837652400 -14400 0 PYT} - {1853985600 -10800 1 PYST} - {1869102000 -14400 0 PYT} - {1886040000 -10800 1 PYST} - {1900551600 -14400 0 PYT} - {1917489600 -10800 1 PYST} - {1932001200 -14400 0 PYT} - {1948939200 -10800 1 PYST} - {1964055600 -14400 0 PYT} - {1980388800 -10800 1 PYST} - {1995505200 -14400 0 PYT} - {2011838400 -10800 1 PYST} - {2026954800 -14400 0 PYT} - {2043288000 -10800 1 PYST} - {2058404400 -14400 0 PYT} - {2075342400 -10800 1 PYST} - {2089854000 -14400 0 PYT} - {2106792000 -10800 1 PYST} - {2121303600 -14400 0 PYT} - {2138241600 -10800 1 PYST} - {2153358000 -14400 0 PYT} - {2169691200 -10800 1 PYST} - {2184807600 -14400 0 PYT} - {2201140800 -10800 1 PYST} - {2216257200 -14400 0 PYT} - {2233195200 -10800 1 PYST} - {2247706800 -14400 0 PYT} - {2264644800 -10800 1 PYST} - {2279156400 -14400 0 PYT} - {2296094400 -10800 1 PYST} - {2310606000 -14400 0 PYT} - {2327544000 -10800 1 PYST} - {2342660400 -14400 0 PYT} - {2358993600 -10800 1 PYST} - {2374110000 -14400 0 PYT} - {2390443200 -10800 1 PYST} - {2405559600 -14400 0 PYT} - {2422497600 -10800 1 PYST} - {2437009200 -14400 0 PYT} - {2453947200 -10800 1 PYST} - {2468458800 -14400 0 PYT} - {2485396800 -10800 1 PYST} - {2500513200 -14400 0 PYT} - {2516846400 -10800 1 PYST} - {2531962800 -14400 0 PYT} - {2548296000 -10800 1 PYST} - {2563412400 -14400 0 PYT} - {2579745600 -10800 1 PYST} - {2594862000 -14400 0 PYT} - {2611800000 -10800 1 PYST} - {2626311600 -14400 0 PYT} - {2643249600 -10800 1 PYST} - {2657761200 -14400 0 PYT} - {2674699200 -10800 1 PYST} - {2689815600 -14400 0 PYT} - {2706148800 -10800 1 PYST} - {2721265200 -14400 0 PYT} - {2737598400 -10800 1 PYST} - {2752714800 -14400 0 PYT} - {2769652800 -10800 1 PYST} - {2784164400 -14400 0 PYT} - {2801102400 -10800 1 PYST} - {2815614000 -14400 0 PYT} - {2832552000 -10800 1 PYST} - {2847668400 -14400 0 PYT} - {2864001600 -10800 1 PYST} - {2879118000 -14400 0 PYT} - {2895451200 -10800 1 PYST} - {2910567600 -14400 0 PYT} - {2926900800 -10800 1 PYST} - {2942017200 -14400 0 PYT} - {2958955200 -10800 1 PYST} - {2973466800 -14400 0 PYT} - {2990404800 -10800 1 PYST} - {3004916400 -14400 0 PYT} - {3021854400 -10800 1 PYST} - {3036970800 -14400 0 PYT} - {3053304000 -10800 1 PYST} - {3068420400 -14400 0 PYT} - {3084753600 -10800 1 PYST} - {3099870000 -14400 0 PYT} - {3116808000 -10800 1 PYST} - {3131319600 -14400 0 PYT} - {3148257600 -10800 1 PYST} - {3162769200 -14400 0 PYT} - {3179707200 -10800 1 PYST} - {3194218800 -14400 0 PYT} - {3211156800 -10800 1 PYST} - {3226273200 -14400 0 PYT} - {3242606400 -10800 1 PYST} - {3257722800 -14400 0 PYT} - {3274056000 -10800 1 PYST} - {3289172400 -14400 0 PYT} - {3306110400 -10800 1 PYST} - {3320622000 -14400 0 PYT} - {3337560000 -10800 1 PYST} - {3352071600 -14400 0 PYT} - {3369009600 -10800 1 PYST} - {3384126000 -14400 0 PYT} - {3400459200 -10800 1 PYST} - {3415575600 -14400 0 PYT} - {3431908800 -10800 1 PYST} - {3447025200 -14400 0 PYT} - {3463358400 -10800 1 PYST} - {3478474800 -14400 0 PYT} - {3495412800 -10800 1 PYST} - {3509924400 -14400 0 PYT} - {3526862400 -10800 1 PYST} - {3541374000 -14400 0 PYT} - {3558312000 -10800 1 PYST} - {3573428400 -14400 0 PYT} - {3589761600 -10800 1 PYST} - {3604878000 -14400 0 PYT} - {3621211200 -10800 1 PYST} - {3636327600 -14400 0 PYT} - {3653265600 -10800 1 PYST} - {3667777200 -14400 0 PYT} - {3684715200 -10800 1 PYST} - {3699226800 -14400 0 PYT} - {3716164800 -10800 1 PYST} - {3731281200 -14400 0 PYT} - {3747614400 -10800 1 PYST} - {3762730800 -14400 0 PYT} - {3779064000 -10800 1 PYST} - {3794180400 -14400 0 PYT} - {3810513600 -10800 1 PYST} - {3825630000 -14400 0 PYT} - {3842568000 -10800 1 PYST} - {3857079600 -14400 0 PYT} - {3874017600 -10800 1 PYST} - {3888529200 -14400 0 PYT} - {3905467200 -10800 1 PYST} - {3920583600 -14400 0 PYT} - {3936916800 -10800 1 PYST} - {3952033200 -14400 0 PYT} - {3968366400 -10800 1 PYST} - {3983482800 -14400 0 PYT} - {4000420800 -10800 1 PYST} - {4014932400 -14400 0 PYT} - {4031870400 -10800 1 PYST} - {4046382000 -14400 0 PYT} - {4063320000 -10800 1 PYST} - {4077831600 -14400 0 PYT} - {4094769600 -10800 1 PYST} + {1268535600 -14400 0 PYT} + {1287288000 -10800 1 PYST} + {1299985200 -14400 0 PYT} + {1318737600 -10800 1 PYST} + {1331434800 -14400 0 PYT} + {1350792000 -10800 1 PYST} + {1362884400 -14400 0 PYT} + {1382241600 -10800 1 PYST} + {1394334000 -14400 0 PYT} + {1413691200 -10800 1 PYST} + {1425783600 -14400 0 PYT} + {1445140800 -10800 1 PYST} + {1457838000 -14400 0 PYT} + {1476590400 -10800 1 PYST} + {1489287600 -14400 0 PYT} + {1508040000 -10800 1 PYST} + {1520737200 -14400 0 PYT} + {1540094400 -10800 1 PYST} + {1552186800 -14400 0 PYT} + {1571544000 -10800 1 PYST} + {1583636400 -14400 0 PYT} + {1602993600 -10800 1 PYST} + {1615690800 -14400 0 PYT} + {1634443200 -10800 1 PYST} + {1647140400 -14400 0 PYT} + {1665892800 -10800 1 PYST} + {1678590000 -14400 0 PYT} + {1697342400 -10800 1 PYST} + {1710039600 -14400 0 PYT} + {1729396800 -10800 1 PYST} + {1741489200 -14400 0 PYT} + {1760846400 -10800 1 PYST} + {1772938800 -14400 0 PYT} + {1792296000 -10800 1 PYST} + {1804993200 -14400 0 PYT} + {1823745600 -10800 1 PYST} + {1836442800 -14400 0 PYT} + {1855195200 -10800 1 PYST} + {1867892400 -14400 0 PYT} + {1887249600 -10800 1 PYST} + {1899342000 -14400 0 PYT} + {1918699200 -10800 1 PYST} + {1930791600 -14400 0 PYT} + {1950148800 -10800 1 PYST} + {1962846000 -14400 0 PYT} + {1981598400 -10800 1 PYST} + {1994295600 -14400 0 PYT} + {2013048000 -10800 1 PYST} + {2025745200 -14400 0 PYT} + {2044497600 -10800 1 PYST} + {2057194800 -14400 0 PYT} + {2076552000 -10800 1 PYST} + {2088644400 -14400 0 PYT} + {2108001600 -10800 1 PYST} + {2120094000 -14400 0 PYT} + {2139451200 -10800 1 PYST} + {2152148400 -14400 0 PYT} + {2170900800 -10800 1 PYST} + {2183598000 -14400 0 PYT} + {2202350400 -10800 1 PYST} + {2215047600 -14400 0 PYT} + {2234404800 -10800 1 PYST} + {2246497200 -14400 0 PYT} + {2265854400 -10800 1 PYST} + {2277946800 -14400 0 PYT} + {2297304000 -10800 1 PYST} + {2309396400 -14400 0 PYT} + {2328753600 -10800 1 PYST} + {2341450800 -14400 0 PYT} + {2360203200 -10800 1 PYST} + {2372900400 -14400 0 PYT} + {2391652800 -10800 1 PYST} + {2404350000 -14400 0 PYT} + {2423707200 -10800 1 PYST} + {2435799600 -14400 0 PYT} + {2455156800 -10800 1 PYST} + {2467249200 -14400 0 PYT} + {2486606400 -10800 1 PYST} + {2499303600 -14400 0 PYT} + {2518056000 -10800 1 PYST} + {2530753200 -14400 0 PYT} + {2549505600 -10800 1 PYST} + {2562202800 -14400 0 PYT} + {2580955200 -10800 1 PYST} + {2593652400 -14400 0 PYT} + {2613009600 -10800 1 PYST} + {2625102000 -14400 0 PYT} + {2644459200 -10800 1 PYST} + {2656551600 -14400 0 PYT} + {2675908800 -10800 1 PYST} + {2688606000 -14400 0 PYT} + {2707358400 -10800 1 PYST} + {2720055600 -14400 0 PYT} + {2738808000 -10800 1 PYST} + {2751505200 -14400 0 PYT} + {2770862400 -10800 1 PYST} + {2782954800 -14400 0 PYT} + {2802312000 -10800 1 PYST} + {2814404400 -14400 0 PYT} + {2833761600 -10800 1 PYST} + {2846458800 -14400 0 PYT} + {2865211200 -10800 1 PYST} + {2877908400 -14400 0 PYT} + {2896660800 -10800 1 PYST} + {2909358000 -14400 0 PYT} + {2928110400 -10800 1 PYST} + {2940807600 -14400 0 PYT} + {2960164800 -10800 1 PYST} + {2972257200 -14400 0 PYT} + {2991614400 -10800 1 PYST} + {3003706800 -14400 0 PYT} + {3023064000 -10800 1 PYST} + {3035761200 -14400 0 PYT} + {3054513600 -10800 1 PYST} + {3067210800 -14400 0 PYT} + {3085963200 -10800 1 PYST} + {3098660400 -14400 0 PYT} + {3118017600 -10800 1 PYST} + {3130110000 -14400 0 PYT} + {3149467200 -10800 1 PYST} + {3161559600 -14400 0 PYT} + {3180916800 -10800 1 PYST} + {3193009200 -14400 0 PYT} + {3212366400 -10800 1 PYST} + {3225063600 -14400 0 PYT} + {3243816000 -10800 1 PYST} + {3256513200 -14400 0 PYT} + {3275265600 -10800 1 PYST} + {3287962800 -14400 0 PYT} + {3307320000 -10800 1 PYST} + {3319412400 -14400 0 PYT} + {3338769600 -10800 1 PYST} + {3350862000 -14400 0 PYT} + {3370219200 -10800 1 PYST} + {3382916400 -14400 0 PYT} + {3401668800 -10800 1 PYST} + {3414366000 -14400 0 PYT} + {3433118400 -10800 1 PYST} + {3445815600 -14400 0 PYT} + {3464568000 -10800 1 PYST} + {3477265200 -14400 0 PYT} + {3496622400 -10800 1 PYST} + {3508714800 -14400 0 PYT} + {3528072000 -10800 1 PYST} + {3540164400 -14400 0 PYT} + {3559521600 -10800 1 PYST} + {3572218800 -14400 0 PYT} + {3590971200 -10800 1 PYST} + {3603668400 -14400 0 PYT} + {3622420800 -10800 1 PYST} + {3635118000 -14400 0 PYT} + {3654475200 -10800 1 PYST} + {3666567600 -14400 0 PYT} + {3685924800 -10800 1 PYST} + {3698017200 -14400 0 PYT} + {3717374400 -10800 1 PYST} + {3730071600 -14400 0 PYT} + {3748824000 -10800 1 PYST} + {3761521200 -14400 0 PYT} + {3780273600 -10800 1 PYST} + {3792970800 -14400 0 PYT} + {3811723200 -10800 1 PYST} + {3824420400 -14400 0 PYT} + {3843777600 -10800 1 PYST} + {3855870000 -14400 0 PYT} + {3875227200 -10800 1 PYST} + {3887319600 -14400 0 PYT} + {3906676800 -10800 1 PYST} + {3919374000 -14400 0 PYT} + {3938126400 -10800 1 PYST} + {3950823600 -14400 0 PYT} + {3969576000 -10800 1 PYST} + {3982273200 -14400 0 PYT} + {4001630400 -10800 1 PYST} + {4013722800 -14400 0 PYT} + {4033080000 -10800 1 PYST} + {4045172400 -14400 0 PYT} + {4064529600 -10800 1 PYST} + {4076622000 -14400 0 PYT} + {4095979200 -10800 1 PYST} } diff --git a/library/tzdata/America/Atikokan b/library/tzdata/America/Atikokan index e72b04f..ca0ac1c 100755 --- a/library/tzdata/America/Atikokan +++ b/library/tzdata/America/Atikokan @@ -4,7 +4,7 @@ set TZData(:America/Atikokan) { {-9223372036854775808 -21988 0 LMT} {-2366733212 -21600 0 CST} {-1632067200 -18000 1 CDT} - {-1615136400 -21600 0 CST} + {-1614790800 -21600 0 CST} {-923248800 -18000 1 CDT} {-880214400 -18000 0 CWT} {-769395600 -18000 1 CPT} diff --git a/library/tzdata/America/Bahia b/library/tzdata/America/Bahia index ac67b71..b10a939 100644 --- a/library/tzdata/America/Bahia +++ b/library/tzdata/America/Bahia @@ -62,7 +62,4 @@ set TZData(:America/Bahia) { {1036292400 -7200 1 BRST} {1045360800 -10800 0 BRT} {1064368800 -10800 0 BRT} - {1318734000 -7200 0 BRST} - {1330221600 -10800 0 BRT} - {1350784800 -10800 0 BRT} } diff --git a/library/tzdata/America/Bahia_Banderas b/library/tzdata/America/Bahia_Banderas deleted file mode 100644 index 8c40a0e..0000000 --- a/library/tzdata/America/Bahia_Banderas +++ /dev/null @@ -1,222 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:America/Bahia_Banderas) { - {-9223372036854775808 -25260 0 LMT} - {-1514739600 -25200 0 MST} - {-1343066400 -21600 0 CST} - {-1234807200 -25200 0 MST} - {-1220292000 -21600 0 CST} - {-1207159200 -25200 0 MST} - {-1191344400 -21600 0 CST} - {-873828000 -25200 0 MST} - {-661539600 -28800 0 PST} - {28800 -25200 0 MST} - {828867600 -21600 1 MDT} - {846403200 -25200 0 MST} - {860317200 -21600 1 MDT} - {877852800 -25200 0 MST} - {891766800 -21600 1 MDT} - {909302400 -25200 0 MST} - {923216400 -21600 1 MDT} - {941356800 -25200 0 MST} - {954666000 -21600 1 MDT} - {972806400 -25200 0 MST} - {989139600 -21600 1 MDT} - {1001836800 -25200 0 MST} - {1018170000 -21600 1 MDT} - {1035705600 -25200 0 MST} - {1049619600 -21600 1 MDT} - {1067155200 -25200 0 MST} - {1081069200 -21600 1 MDT} - {1099209600 -25200 0 MST} - {1112518800 -21600 1 MDT} - {1130659200 -25200 0 MST} - {1143968400 -21600 1 MDT} - {1162108800 -25200 0 MST} - {1175418000 -21600 1 MDT} - {1193558400 -25200 0 MST} - {1207472400 -21600 1 MDT} - {1225008000 -25200 0 MST} - {1238922000 -21600 1 MDT} - {1256457600 -25200 0 MST} - {1270371600 -18000 0 CDT} - {1288508400 -21600 0 CST} - {1301817600 -18000 1 CDT} - {1319958000 -21600 0 CST} - {1333267200 -18000 1 CDT} - {1351407600 -21600 0 CST} - {1365321600 -18000 1 CDT} - {1382857200 -21600 0 CST} - {1396771200 -18000 1 CDT} - {1414306800 -21600 0 CST} - {1428220800 -18000 1 CDT} - {1445756400 -21600 0 CST} - {1459670400 -18000 1 CDT} - {1477810800 -21600 0 CST} - {1491120000 -18000 1 CDT} - {1509260400 -21600 0 CST} - {1522569600 -18000 1 CDT} - {1540710000 -21600 0 CST} - {1554624000 -18000 1 CDT} - {1572159600 -21600 0 CST} - {1586073600 -18000 1 CDT} - {1603609200 -21600 0 CST} - {1617523200 -18000 1 CDT} - {1635663600 -21600 0 CST} - {1648972800 -18000 1 CDT} - {1667113200 -21600 0 CST} - {1680422400 -18000 1 CDT} - {1698562800 -21600 0 CST} - {1712476800 -18000 1 CDT} - {1730012400 -21600 0 CST} - {1743926400 -18000 1 CDT} - {1761462000 -21600 0 CST} - {1775376000 -18000 1 CDT} - {1792911600 -21600 0 CST} - {1806825600 -18000 1 CDT} - {1824966000 -21600 0 CST} - {1838275200 -18000 1 CDT} - {1856415600 -21600 0 CST} - {1869724800 -18000 1 CDT} - {1887865200 -21600 0 CST} - {1901779200 -18000 1 CDT} - {1919314800 -21600 0 CST} - {1933228800 -18000 1 CDT} - {1950764400 -21600 0 CST} - {1964678400 -18000 1 CDT} - {1982818800 -21600 0 CST} - {1996128000 -18000 1 CDT} - {2014268400 -21600 0 CST} - {2027577600 -18000 1 CDT} - {2045718000 -21600 0 CST} - {2059027200 -18000 1 CDT} - {2077167600 -21600 0 CST} - {2091081600 -18000 1 CDT} - {2108617200 -21600 0 CST} - {2122531200 -18000 1 CDT} - {2140066800 -21600 0 CST} - {2153980800 -18000 1 CDT} - {2172121200 -21600 0 CST} - {2185430400 -18000 1 CDT} - {2203570800 -21600 0 CST} - {2216880000 -18000 1 CDT} - {2235020400 -21600 0 CST} - {2248934400 -18000 1 CDT} - {2266470000 -21600 0 CST} - {2280384000 -18000 1 CDT} - {2297919600 -21600 0 CST} - {2311833600 -18000 1 CDT} - {2329369200 -21600 0 CST} - {2343283200 -18000 1 CDT} - {2361423600 -21600 0 CST} - {2374732800 -18000 1 CDT} - {2392873200 -21600 0 CST} - {2406182400 -18000 1 CDT} - {2424322800 -21600 0 CST} - {2438236800 -18000 1 CDT} - {2455772400 -21600 0 CST} - {2469686400 -18000 1 CDT} - {2487222000 -21600 0 CST} - {2501136000 -18000 1 CDT} - {2519276400 -21600 0 CST} - {2532585600 -18000 1 CDT} - {2550726000 -21600 0 CST} - {2564035200 -18000 1 CDT} - {2582175600 -21600 0 CST} - {2596089600 -18000 1 CDT} - {2613625200 -21600 0 CST} - {2627539200 -18000 1 CDT} - {2645074800 -21600 0 CST} - {2658988800 -18000 1 CDT} - {2676524400 -21600 0 CST} - {2690438400 -18000 1 CDT} - {2708578800 -21600 0 CST} - {2721888000 -18000 1 CDT} - {2740028400 -21600 0 CST} - {2753337600 -18000 1 CDT} - {2771478000 -21600 0 CST} - {2785392000 -18000 1 CDT} - {2802927600 -21600 0 CST} - {2816841600 -18000 1 CDT} - {2834377200 -21600 0 CST} - {2848291200 -18000 1 CDT} - {2866431600 -21600 0 CST} - {2879740800 -18000 1 CDT} - {2897881200 -21600 0 CST} - {2911190400 -18000 1 CDT} - {2929330800 -21600 0 CST} - {2942640000 -18000 1 CDT} - {2960780400 -21600 0 CST} - {2974694400 -18000 1 CDT} - {2992230000 -21600 0 CST} - {3006144000 -18000 1 CDT} - {3023679600 -21600 0 CST} - {3037593600 -18000 1 CDT} - {3055734000 -21600 0 CST} - {3069043200 -18000 1 CDT} - {3087183600 -21600 0 CST} - {3100492800 -18000 1 CDT} - {3118633200 -21600 0 CST} - {3132547200 -18000 1 CDT} - {3150082800 -21600 0 CST} - {3163996800 -18000 1 CDT} - {3181532400 -21600 0 CST} - {3195446400 -18000 1 CDT} - {3212982000 -21600 0 CST} - {3226896000 -18000 1 CDT} - {3245036400 -21600 0 CST} - {3258345600 -18000 1 CDT} - {3276486000 -21600 0 CST} - {3289795200 -18000 1 CDT} - {3307935600 -21600 0 CST} - {3321849600 -18000 1 CDT} - {3339385200 -21600 0 CST} - {3353299200 -18000 1 CDT} - {3370834800 -21600 0 CST} - {3384748800 -18000 1 CDT} - {3402889200 -21600 0 CST} - {3416198400 -18000 1 CDT} - {3434338800 -21600 0 CST} - {3447648000 -18000 1 CDT} - {3465788400 -21600 0 CST} - {3479702400 -18000 1 CDT} - {3497238000 -21600 0 CST} - {3511152000 -18000 1 CDT} - {3528687600 -21600 0 CST} - {3542601600 -18000 1 CDT} - {3560137200 -21600 0 CST} - {3574051200 -18000 1 CDT} - {3592191600 -21600 0 CST} - {3605500800 -18000 1 CDT} - {3623641200 -21600 0 CST} - {3636950400 -18000 1 CDT} - {3655090800 -21600 0 CST} - {3669004800 -18000 1 CDT} - {3686540400 -21600 0 CST} - {3700454400 -18000 1 CDT} - {3717990000 -21600 0 CST} - {3731904000 -18000 1 CDT} - {3750044400 -21600 0 CST} - {3763353600 -18000 1 CDT} - {3781494000 -21600 0 CST} - {3794803200 -18000 1 CDT} - {3812943600 -21600 0 CST} - {3826252800 -18000 1 CDT} - {3844393200 -21600 0 CST} - {3858307200 -18000 1 CDT} - {3875842800 -21600 0 CST} - {3889756800 -18000 1 CDT} - {3907292400 -21600 0 CST} - {3921206400 -18000 1 CDT} - {3939346800 -21600 0 CST} - {3952656000 -18000 1 CDT} - {3970796400 -21600 0 CST} - {3984105600 -18000 1 CDT} - {4002246000 -21600 0 CST} - {4016160000 -18000 1 CDT} - {4033695600 -21600 0 CST} - {4047609600 -18000 1 CDT} - {4065145200 -21600 0 CST} - {4079059200 -18000 1 CDT} - {4096594800 -21600 0 CST} -} diff --git a/library/tzdata/America/Barbados b/library/tzdata/America/Barbados index ea17073..5c06408 100644 --- a/library/tzdata/America/Barbados +++ b/library/tzdata/America/Barbados @@ -1,9 +1,9 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:America/Barbados) { - {-9223372036854775808 -14309 0 LMT} - {-1451678491 -14309 0 BMT} - {-1199217691 -14400 0 AST} + {-9223372036854775808 -14308 0 LMT} + {-1451678492 -14308 0 BMT} + {-1199217692 -14400 0 AST} {234943200 -10800 1 ADT} {244616400 -14400 0 AST} {261554400 -10800 1 ADT} diff --git a/library/tzdata/America/Blanc-Sablon b/library/tzdata/America/Blanc-Sablon index d5485e8..47f161a 100755 --- a/library/tzdata/America/Blanc-Sablon +++ b/library/tzdata/America/Blanc-Sablon @@ -4,7 +4,7 @@ set TZData(:America/Blanc-Sablon) { {-9223372036854775808 -13708 0 LMT} {-2713896692 -14400 0 AST} {-1632074400 -10800 1 ADT} - {-1615143600 -14400 0 AST} + {-1614798000 -14400 0 AST} {-880221600 -10800 1 AWT} {-769395600 -10800 1 APT} {-765399600 -14400 0 AST} diff --git a/library/tzdata/America/Bogota b/library/tzdata/America/Bogota index b28abc1..f727d17 100644 --- a/library/tzdata/America/Bogota +++ b/library/tzdata/America/Bogota @@ -1,9 +1,9 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:America/Bogota) { - {-9223372036854775808 -17776 0 LMT} - {-2707671824 -17776 0 BMT} - {-1739041424 -18000 0 COT} + {-9223372036854775808 -17780 0 LMT} + {-2707671820 -17780 0 BMT} + {-1739041420 -18000 0 COT} {704869200 -14400 1 COST} {733896000 -18000 0 COT} } diff --git a/library/tzdata/America/Costa_Rica b/library/tzdata/America/Costa_Rica index 8fc9343..04420a4 100644 --- a/library/tzdata/America/Costa_Rica +++ b/library/tzdata/America/Costa_Rica @@ -1,9 +1,9 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:America/Costa_Rica) { - {-9223372036854775808 -20173 0 LMT} - {-2524501427 -20173 0 SJMT} - {-1545071027 -21600 0 CST} + {-9223372036854775808 -20180 0 LMT} + {-2524501420 -20180 0 SJMT} + {-1545071020 -21600 0 CST} {288770400 -18000 1 CDT} {297234000 -21600 0 CST} {320220000 -18000 1 CDT} diff --git a/library/tzdata/America/Creston b/library/tzdata/America/Creston deleted file mode 100644 index 30369a9..0000000 --- a/library/tzdata/America/Creston +++ /dev/null @@ -1,8 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:America/Creston) { - {-9223372036854775808 -27964 0 LMT} - {-2713882436 -25200 0 MST} - {-1680454800 -28800 0 PST} - {-1627833600 -25200 0 MST} -} diff --git a/library/tzdata/America/Curacao b/library/tzdata/America/Curacao index 5189e9c..443a319 100644 --- a/library/tzdata/America/Curacao +++ b/library/tzdata/America/Curacao @@ -1,7 +1,7 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:America/Curacao) { - {-9223372036854775808 -16547 0 LMT} - {-1826738653 -16200 0 ANT} + {-9223372036854775808 -16544 0 LMT} + {-1826738656 -16200 0 ANT} {-157750200 -14400 0 AST} } diff --git a/library/tzdata/America/Dawson_Creek b/library/tzdata/America/Dawson_Creek index a0b5c44..9f8c921 100644 --- a/library/tzdata/America/Dawson_Creek +++ b/library/tzdata/America/Dawson_Creek @@ -4,7 +4,7 @@ set TZData(:America/Dawson_Creek) { {-9223372036854775808 -28856 0 LMT} {-2713881544 -28800 0 PST} {-1632060000 -25200 1 PDT} - {-1615129200 -28800 0 PST} + {-1614783600 -28800 0 PST} {-880207200 -25200 1 PWT} {-769395600 -25200 1 PPT} {-765385200 -28800 0 PST} diff --git a/library/tzdata/America/Edmonton b/library/tzdata/America/Edmonton index 1ed38be..c4252f8 100644 --- a/library/tzdata/America/Edmonton +++ b/library/tzdata/America/Edmonton @@ -4,7 +4,7 @@ set TZData(:America/Edmonton) { {-9223372036854775808 -27232 0 LMT} {-1998663968 -25200 0 MST} {-1632063600 -21600 1 MDT} - {-1615132800 -25200 0 MST} + {-1614787200 -25200 0 MST} {-1600614000 -21600 1 MDT} {-1596816000 -25200 0 MST} {-1567954800 -21600 1 MDT} diff --git a/library/tzdata/America/Glace_Bay b/library/tzdata/America/Glace_Bay index 8ee9eec..84b4822 100644 --- a/library/tzdata/America/Glace_Bay +++ b/library/tzdata/America/Glace_Bay @@ -4,7 +4,7 @@ set TZData(:America/Glace_Bay) { {-9223372036854775808 -14388 0 LMT} {-2131646412 -14400 0 AST} {-1632074400 -10800 1 ADT} - {-1615143600 -14400 0 AST} + {-1614798000 -14400 0 AST} {-880221600 -10800 1 AWT} {-769395600 -10800 1 APT} {-765399600 -14400 0 AST} diff --git a/library/tzdata/America/Goose_Bay b/library/tzdata/America/Goose_Bay index 7b7b3d8..f93b612 100644 --- a/library/tzdata/America/Goose_Bay +++ b/library/tzdata/America/Goose_Bay @@ -5,7 +5,7 @@ set TZData(:America/Goose_Bay) { {-2713895900 -12652 0 NST} {-1640982548 -12652 0 NST} {-1632076148 -9052 1 NDT} - {-1615145348 -12652 0 NST} + {-1614799748 -12652 0 NST} {-1609446548 -12652 0 NST} {-1096921748 -12600 0 NST} {-1072989000 -12600 0 NST} @@ -157,182 +157,181 @@ set TZData(:America/Goose_Bay) { {1268539260 -10800 1 ADT} {1289098860 -14400 0 AST} {1299988860 -10800 1 ADT} - {1320116400 -10800 0 ADT} - {1320555600 -14400 0 AST} - {1331445600 -10800 1 ADT} - {1352005200 -14400 0 AST} - {1362895200 -10800 1 ADT} - {1383454800 -14400 0 AST} - {1394344800 -10800 1 ADT} - {1414904400 -14400 0 AST} - {1425794400 -10800 1 ADT} - {1446354000 -14400 0 AST} - {1457848800 -10800 1 ADT} - {1478408400 -14400 0 AST} - {1489298400 -10800 1 ADT} - {1509858000 -14400 0 AST} - {1520748000 -10800 1 ADT} - {1541307600 -14400 0 AST} - {1552197600 -10800 1 ADT} - {1572757200 -14400 0 AST} - {1583647200 -10800 1 ADT} - {1604206800 -14400 0 AST} - {1615701600 -10800 1 ADT} - {1636261200 -14400 0 AST} - {1647151200 -10800 1 ADT} - {1667710800 -14400 0 AST} - {1678600800 -10800 1 ADT} - {1699160400 -14400 0 AST} - {1710050400 -10800 1 ADT} - {1730610000 -14400 0 AST} - {1741500000 -10800 1 ADT} - {1762059600 -14400 0 AST} - {1772949600 -10800 1 ADT} - {1793509200 -14400 0 AST} - {1805004000 -10800 1 ADT} - {1825563600 -14400 0 AST} - {1836453600 -10800 1 ADT} - {1857013200 -14400 0 AST} - {1867903200 -10800 1 ADT} - {1888462800 -14400 0 AST} - {1899352800 -10800 1 ADT} - {1919912400 -14400 0 AST} - {1930802400 -10800 1 ADT} - {1951362000 -14400 0 AST} - {1962856800 -10800 1 ADT} - {1983416400 -14400 0 AST} - {1994306400 -10800 1 ADT} - {2014866000 -14400 0 AST} - {2025756000 -10800 1 ADT} - {2046315600 -14400 0 AST} - {2057205600 -10800 1 ADT} - {2077765200 -14400 0 AST} - {2088655200 -10800 1 ADT} - {2109214800 -14400 0 AST} - {2120104800 -10800 1 ADT} - {2140664400 -14400 0 AST} - {2152159200 -10800 1 ADT} - {2172718800 -14400 0 AST} - {2183608800 -10800 1 ADT} - {2204168400 -14400 0 AST} - {2215058400 -10800 1 ADT} - {2235618000 -14400 0 AST} - {2246508000 -10800 1 ADT} - {2267067600 -14400 0 AST} - {2277957600 -10800 1 ADT} - {2298517200 -14400 0 AST} - {2309407200 -10800 1 ADT} - {2329966800 -14400 0 AST} - {2341461600 -10800 1 ADT} - {2362021200 -14400 0 AST} - {2372911200 -10800 1 ADT} - {2393470800 -14400 0 AST} - {2404360800 -10800 1 ADT} - {2424920400 -14400 0 AST} - {2435810400 -10800 1 ADT} - {2456370000 -14400 0 AST} - {2467260000 -10800 1 ADT} - {2487819600 -14400 0 AST} - {2499314400 -10800 1 ADT} - {2519874000 -14400 0 AST} - {2530764000 -10800 1 ADT} - {2551323600 -14400 0 AST} - {2562213600 -10800 1 ADT} - {2582773200 -14400 0 AST} - {2593663200 -10800 1 ADT} - {2614222800 -14400 0 AST} - {2625112800 -10800 1 ADT} - {2645672400 -14400 0 AST} - {2656562400 -10800 1 ADT} - {2677122000 -14400 0 AST} - {2688616800 -10800 1 ADT} - {2709176400 -14400 0 AST} - {2720066400 -10800 1 ADT} - {2740626000 -14400 0 AST} - {2751516000 -10800 1 ADT} - {2772075600 -14400 0 AST} - {2782965600 -10800 1 ADT} - {2803525200 -14400 0 AST} - {2814415200 -10800 1 ADT} - {2834974800 -14400 0 AST} - {2846469600 -10800 1 ADT} - {2867029200 -14400 0 AST} - {2877919200 -10800 1 ADT} - {2898478800 -14400 0 AST} - {2909368800 -10800 1 ADT} - {2929928400 -14400 0 AST} - {2940818400 -10800 1 ADT} - {2961378000 -14400 0 AST} - {2972268000 -10800 1 ADT} - {2992827600 -14400 0 AST} - {3003717600 -10800 1 ADT} - {3024277200 -14400 0 AST} - {3035772000 -10800 1 ADT} - {3056331600 -14400 0 AST} - {3067221600 -10800 1 ADT} - {3087781200 -14400 0 AST} - {3098671200 -10800 1 ADT} - {3119230800 -14400 0 AST} - {3130120800 -10800 1 ADT} - {3150680400 -14400 0 AST} - {3161570400 -10800 1 ADT} - {3182130000 -14400 0 AST} - {3193020000 -10800 1 ADT} - {3213579600 -14400 0 AST} - {3225074400 -10800 1 ADT} - {3245634000 -14400 0 AST} - {3256524000 -10800 1 ADT} - {3277083600 -14400 0 AST} - {3287973600 -10800 1 ADT} - {3308533200 -14400 0 AST} - {3319423200 -10800 1 ADT} - {3339982800 -14400 0 AST} - {3350872800 -10800 1 ADT} - {3371432400 -14400 0 AST} - {3382927200 -10800 1 ADT} - {3403486800 -14400 0 AST} - {3414376800 -10800 1 ADT} - {3434936400 -14400 0 AST} - {3445826400 -10800 1 ADT} - {3466386000 -14400 0 AST} - {3477276000 -10800 1 ADT} - {3497835600 -14400 0 AST} - {3508725600 -10800 1 ADT} - {3529285200 -14400 0 AST} - {3540175200 -10800 1 ADT} - {3560734800 -14400 0 AST} - {3572229600 -10800 1 ADT} - {3592789200 -14400 0 AST} - {3603679200 -10800 1 ADT} - {3624238800 -14400 0 AST} - {3635128800 -10800 1 ADT} - {3655688400 -14400 0 AST} - {3666578400 -10800 1 ADT} - {3687138000 -14400 0 AST} - {3698028000 -10800 1 ADT} - {3718587600 -14400 0 AST} - {3730082400 -10800 1 ADT} - {3750642000 -14400 0 AST} - {3761532000 -10800 1 ADT} - {3782091600 -14400 0 AST} - {3792981600 -10800 1 ADT} - {3813541200 -14400 0 AST} - {3824431200 -10800 1 ADT} - {3844990800 -14400 0 AST} - {3855880800 -10800 1 ADT} - {3876440400 -14400 0 AST} - {3887330400 -10800 1 ADT} - {3907890000 -14400 0 AST} - {3919384800 -10800 1 ADT} - {3939944400 -14400 0 AST} - {3950834400 -10800 1 ADT} - {3971394000 -14400 0 AST} - {3982284000 -10800 1 ADT} - {4002843600 -14400 0 AST} - {4013733600 -10800 1 ADT} - {4034293200 -14400 0 AST} - {4045183200 -10800 1 ADT} - {4065742800 -14400 0 AST} - {4076632800 -10800 1 ADT} - {4097192400 -14400 0 AST} + {1320548460 -14400 0 AST} + {1331438460 -10800 1 ADT} + {1351998060 -14400 0 AST} + {1362888060 -10800 1 ADT} + {1383447660 -14400 0 AST} + {1394337660 -10800 1 ADT} + {1414897260 -14400 0 AST} + {1425787260 -10800 1 ADT} + {1446346860 -14400 0 AST} + {1457841660 -10800 1 ADT} + {1478401260 -14400 0 AST} + {1489291260 -10800 1 ADT} + {1509850860 -14400 0 AST} + {1520740860 -10800 1 ADT} + {1541300460 -14400 0 AST} + {1552190460 -10800 1 ADT} + {1572750060 -14400 0 AST} + {1583640060 -10800 1 ADT} + {1604199660 -14400 0 AST} + {1615694460 -10800 1 ADT} + {1636254060 -14400 0 AST} + {1647144060 -10800 1 ADT} + {1667703660 -14400 0 AST} + {1678593660 -10800 1 ADT} + {1699153260 -14400 0 AST} + {1710043260 -10800 1 ADT} + {1730602860 -14400 0 AST} + {1741492860 -10800 1 ADT} + {1762052460 -14400 0 AST} + {1772942460 -10800 1 ADT} + {1793502060 -14400 0 AST} + {1804996860 -10800 1 ADT} + {1825556460 -14400 0 AST} + {1836446460 -10800 1 ADT} + {1857006060 -14400 0 AST} + {1867896060 -10800 1 ADT} + {1888455660 -14400 0 AST} + {1899345660 -10800 1 ADT} + {1919905260 -14400 0 AST} + {1930795260 -10800 1 ADT} + {1951354860 -14400 0 AST} + {1962849660 -10800 1 ADT} + {1983409260 -14400 0 AST} + {1994299260 -10800 1 ADT} + {2014858860 -14400 0 AST} + {2025748860 -10800 1 ADT} + {2046308460 -14400 0 AST} + {2057198460 -10800 1 ADT} + {2077758060 -14400 0 AST} + {2088648060 -10800 1 ADT} + {2109207660 -14400 0 AST} + {2120097660 -10800 1 ADT} + {2140657260 -14400 0 AST} + {2152152060 -10800 1 ADT} + {2172711660 -14400 0 AST} + {2183601660 -10800 1 ADT} + {2204161260 -14400 0 AST} + {2215051260 -10800 1 ADT} + {2235610860 -14400 0 AST} + {2246500860 -10800 1 ADT} + {2267060460 -14400 0 AST} + {2277950460 -10800 1 ADT} + {2298510060 -14400 0 AST} + {2309400060 -10800 1 ADT} + {2329959660 -14400 0 AST} + {2341454460 -10800 1 ADT} + {2362014060 -14400 0 AST} + {2372904060 -10800 1 ADT} + {2393463660 -14400 0 AST} + {2404353660 -10800 1 ADT} + {2424913260 -14400 0 AST} + {2435803260 -10800 1 ADT} + {2456362860 -14400 0 AST} + {2467252860 -10800 1 ADT} + {2487812460 -14400 0 AST} + {2499307260 -10800 1 ADT} + {2519866860 -14400 0 AST} + {2530756860 -10800 1 ADT} + {2551316460 -14400 0 AST} + {2562206460 -10800 1 ADT} + {2582766060 -14400 0 AST} + {2593656060 -10800 1 ADT} + {2614215660 -14400 0 AST} + {2625105660 -10800 1 ADT} + {2645665260 -14400 0 AST} + {2656555260 -10800 1 ADT} + {2677114860 -14400 0 AST} + {2688609660 -10800 1 ADT} + {2709169260 -14400 0 AST} + {2720059260 -10800 1 ADT} + {2740618860 -14400 0 AST} + {2751508860 -10800 1 ADT} + {2772068460 -14400 0 AST} + {2782958460 -10800 1 ADT} + {2803518060 -14400 0 AST} + {2814408060 -10800 1 ADT} + {2834967660 -14400 0 AST} + {2846462460 -10800 1 ADT} + {2867022060 -14400 0 AST} + {2877912060 -10800 1 ADT} + {2898471660 -14400 0 AST} + {2909361660 -10800 1 ADT} + {2929921260 -14400 0 AST} + {2940811260 -10800 1 ADT} + {2961370860 -14400 0 AST} + {2972260860 -10800 1 ADT} + {2992820460 -14400 0 AST} + {3003710460 -10800 1 ADT} + {3024270060 -14400 0 AST} + {3035764860 -10800 1 ADT} + {3056324460 -14400 0 AST} + {3067214460 -10800 1 ADT} + {3087774060 -14400 0 AST} + {3098664060 -10800 1 ADT} + {3119223660 -14400 0 AST} + {3130113660 -10800 1 ADT} + {3150673260 -14400 0 AST} + {3161563260 -10800 1 ADT} + {3182122860 -14400 0 AST} + {3193012860 -10800 1 ADT} + {3213572460 -14400 0 AST} + {3225067260 -10800 1 ADT} + {3245626860 -14400 0 AST} + {3256516860 -10800 1 ADT} + {3277076460 -14400 0 AST} + {3287966460 -10800 1 ADT} + {3308526060 -14400 0 AST} + {3319416060 -10800 1 ADT} + {3339975660 -14400 0 AST} + {3350865660 -10800 1 ADT} + {3371425260 -14400 0 AST} + {3382920060 -10800 1 ADT} + {3403479660 -14400 0 AST} + {3414369660 -10800 1 ADT} + {3434929260 -14400 0 AST} + {3445819260 -10800 1 ADT} + {3466378860 -14400 0 AST} + {3477268860 -10800 1 ADT} + {3497828460 -14400 0 AST} + {3508718460 -10800 1 ADT} + {3529278060 -14400 0 AST} + {3540168060 -10800 1 ADT} + {3560727660 -14400 0 AST} + {3572222460 -10800 1 ADT} + {3592782060 -14400 0 AST} + {3603672060 -10800 1 ADT} + {3624231660 -14400 0 AST} + {3635121660 -10800 1 ADT} + {3655681260 -14400 0 AST} + {3666571260 -10800 1 ADT} + {3687130860 -14400 0 AST} + {3698020860 -10800 1 ADT} + {3718580460 -14400 0 AST} + {3730075260 -10800 1 ADT} + {3750634860 -14400 0 AST} + {3761524860 -10800 1 ADT} + {3782084460 -14400 0 AST} + {3792974460 -10800 1 ADT} + {3813534060 -14400 0 AST} + {3824424060 -10800 1 ADT} + {3844983660 -14400 0 AST} + {3855873660 -10800 1 ADT} + {3876433260 -14400 0 AST} + {3887323260 -10800 1 ADT} + {3907882860 -14400 0 AST} + {3919377660 -10800 1 ADT} + {3939937260 -14400 0 AST} + {3950827260 -10800 1 ADT} + {3971386860 -14400 0 AST} + {3982276860 -10800 1 ADT} + {4002836460 -14400 0 AST} + {4013726460 -10800 1 ADT} + {4034286060 -14400 0 AST} + {4045176060 -10800 1 ADT} + {4065735660 -14400 0 AST} + {4076625660 -10800 1 ADT} + {4097185260 -14400 0 AST} } diff --git a/library/tzdata/America/Halifax b/library/tzdata/America/Halifax index 08e3754..76f016a 100644 --- a/library/tzdata/America/Halifax +++ b/library/tzdata/America/Halifax @@ -7,7 +7,7 @@ set TZData(:America/Halifax) { {-1680469200 -14400 0 AST} {-1640980800 -14400 0 AST} {-1632074400 -10800 1 ADT} - {-1615143600 -14400 0 AST} + {-1614798000 -14400 0 AST} {-1609444800 -14400 0 AST} {-1566763200 -10800 1 ADT} {-1557090000 -14400 0 AST} diff --git a/library/tzdata/America/Havana b/library/tzdata/America/Havana index 89cbc9a..7fc6305 100644 --- a/library/tzdata/America/Havana +++ b/library/tzdata/America/Havana @@ -104,182 +104,182 @@ set TZData(:America/Havana) { {1256446800 -18000 0 CST} {1268542800 -14400 1 CDT} {1288501200 -18000 0 CST} - {1300597200 -14400 1 CDT} - {1321160400 -18000 0 CST} - {1333256400 -14400 1 CDT} - {1352005200 -18000 0 CST} + {1299992400 -14400 1 CDT} + {1319950800 -18000 0 CST} + {1331442000 -14400 1 CDT} + {1351400400 -18000 0 CST} {1362891600 -14400 1 CDT} - {1383454800 -18000 0 CST} + {1382850000 -18000 0 CST} {1394341200 -14400 1 CDT} - {1414904400 -18000 0 CST} + {1414299600 -18000 0 CST} {1425790800 -14400 1 CDT} - {1446354000 -18000 0 CST} + {1445749200 -18000 0 CST} {1457845200 -14400 1 CDT} - {1478408400 -18000 0 CST} + {1477803600 -18000 0 CST} {1489294800 -14400 1 CDT} - {1509858000 -18000 0 CST} + {1509253200 -18000 0 CST} {1520744400 -14400 1 CDT} - {1541307600 -18000 0 CST} + {1540702800 -18000 0 CST} {1552194000 -14400 1 CDT} - {1572757200 -18000 0 CST} + {1572152400 -18000 0 CST} {1583643600 -14400 1 CDT} - {1604206800 -18000 0 CST} + {1603602000 -18000 0 CST} {1615698000 -14400 1 CDT} - {1636261200 -18000 0 CST} + {1635656400 -18000 0 CST} {1647147600 -14400 1 CDT} - {1667710800 -18000 0 CST} + {1667106000 -18000 0 CST} {1678597200 -14400 1 CDT} - {1699160400 -18000 0 CST} + {1698555600 -18000 0 CST} {1710046800 -14400 1 CDT} - {1730610000 -18000 0 CST} + {1730005200 -18000 0 CST} {1741496400 -14400 1 CDT} - {1762059600 -18000 0 CST} + {1761454800 -18000 0 CST} {1772946000 -14400 1 CDT} - {1793509200 -18000 0 CST} + {1792904400 -18000 0 CST} {1805000400 -14400 1 CDT} - {1825563600 -18000 0 CST} + {1824958800 -18000 0 CST} {1836450000 -14400 1 CDT} - {1857013200 -18000 0 CST} + {1856408400 -18000 0 CST} {1867899600 -14400 1 CDT} - {1888462800 -18000 0 CST} + {1887858000 -18000 0 CST} {1899349200 -14400 1 CDT} - {1919912400 -18000 0 CST} + {1919307600 -18000 0 CST} {1930798800 -14400 1 CDT} - {1951362000 -18000 0 CST} + {1950757200 -18000 0 CST} {1962853200 -14400 1 CDT} - {1983416400 -18000 0 CST} + {1982811600 -18000 0 CST} {1994302800 -14400 1 CDT} - {2014866000 -18000 0 CST} + {2014261200 -18000 0 CST} {2025752400 -14400 1 CDT} - {2046315600 -18000 0 CST} + {2045710800 -18000 0 CST} {2057202000 -14400 1 CDT} - {2077765200 -18000 0 CST} + {2077160400 -18000 0 CST} {2088651600 -14400 1 CDT} - {2109214800 -18000 0 CST} + {2108610000 -18000 0 CST} {2120101200 -14400 1 CDT} - {2140664400 -18000 0 CST} + {2140059600 -18000 0 CST} {2152155600 -14400 1 CDT} - {2172718800 -18000 0 CST} + {2172114000 -18000 0 CST} {2183605200 -14400 1 CDT} - {2204168400 -18000 0 CST} + {2203563600 -18000 0 CST} {2215054800 -14400 1 CDT} - {2235618000 -18000 0 CST} + {2235013200 -18000 0 CST} {2246504400 -14400 1 CDT} - {2267067600 -18000 0 CST} + {2266462800 -18000 0 CST} {2277954000 -14400 1 CDT} - {2298517200 -18000 0 CST} + {2297912400 -18000 0 CST} {2309403600 -14400 1 CDT} - {2329966800 -18000 0 CST} + {2329362000 -18000 0 CST} {2341458000 -14400 1 CDT} - {2362021200 -18000 0 CST} + {2361416400 -18000 0 CST} {2372907600 -14400 1 CDT} - {2393470800 -18000 0 CST} + {2392866000 -18000 0 CST} {2404357200 -14400 1 CDT} - {2424920400 -18000 0 CST} + {2424315600 -18000 0 CST} {2435806800 -14400 1 CDT} - {2456370000 -18000 0 CST} + {2455765200 -18000 0 CST} {2467256400 -14400 1 CDT} - {2487819600 -18000 0 CST} + {2487214800 -18000 0 CST} {2499310800 -14400 1 CDT} - {2519874000 -18000 0 CST} + {2519269200 -18000 0 CST} {2530760400 -14400 1 CDT} - {2551323600 -18000 0 CST} + {2550718800 -18000 0 CST} {2562210000 -14400 1 CDT} - {2582773200 -18000 0 CST} + {2582168400 -18000 0 CST} {2593659600 -14400 1 CDT} - {2614222800 -18000 0 CST} + {2613618000 -18000 0 CST} {2625109200 -14400 1 CDT} - {2645672400 -18000 0 CST} + {2645067600 -18000 0 CST} {2656558800 -14400 1 CDT} - {2677122000 -18000 0 CST} + {2676517200 -18000 0 CST} {2688613200 -14400 1 CDT} - {2709176400 -18000 0 CST} + {2708571600 -18000 0 CST} {2720062800 -14400 1 CDT} - {2740626000 -18000 0 CST} + {2740021200 -18000 0 CST} {2751512400 -14400 1 CDT} - {2772075600 -18000 0 CST} + {2771470800 -18000 0 CST} {2782962000 -14400 1 CDT} - {2803525200 -18000 0 CST} + {2802920400 -18000 0 CST} {2814411600 -14400 1 CDT} - {2834974800 -18000 0 CST} + {2834370000 -18000 0 CST} {2846466000 -14400 1 CDT} - {2867029200 -18000 0 CST} + {2866424400 -18000 0 CST} {2877915600 -14400 1 CDT} - {2898478800 -18000 0 CST} + {2897874000 -18000 0 CST} {2909365200 -14400 1 CDT} - {2929928400 -18000 0 CST} + {2929323600 -18000 0 CST} {2940814800 -14400 1 CDT} - {2961378000 -18000 0 CST} + {2960773200 -18000 0 CST} {2972264400 -14400 1 CDT} - {2992827600 -18000 0 CST} + {2992222800 -18000 0 CST} {3003714000 -14400 1 CDT} - {3024277200 -18000 0 CST} + {3023672400 -18000 0 CST} {3035768400 -14400 1 CDT} - {3056331600 -18000 0 CST} + {3055726800 -18000 0 CST} {3067218000 -14400 1 CDT} - {3087781200 -18000 0 CST} + {3087176400 -18000 0 CST} {3098667600 -14400 1 CDT} - {3119230800 -18000 0 CST} + {3118626000 -18000 0 CST} {3130117200 -14400 1 CDT} - {3150680400 -18000 0 CST} + {3150075600 -18000 0 CST} {3161566800 -14400 1 CDT} - {3182130000 -18000 0 CST} + {3181525200 -18000 0 CST} {3193016400 -14400 1 CDT} - {3213579600 -18000 0 CST} + {3212974800 -18000 0 CST} {3225070800 -14400 1 CDT} - {3245634000 -18000 0 CST} + {3245029200 -18000 0 CST} {3256520400 -14400 1 CDT} - {3277083600 -18000 0 CST} + {3276478800 -18000 0 CST} {3287970000 -14400 1 CDT} - {3308533200 -18000 0 CST} + {3307928400 -18000 0 CST} {3319419600 -14400 1 CDT} - {3339982800 -18000 0 CST} + {3339378000 -18000 0 CST} {3350869200 -14400 1 CDT} - {3371432400 -18000 0 CST} + {3370827600 -18000 0 CST} {3382923600 -14400 1 CDT} - {3403486800 -18000 0 CST} + {3402882000 -18000 0 CST} {3414373200 -14400 1 CDT} - {3434936400 -18000 0 CST} + {3434331600 -18000 0 CST} {3445822800 -14400 1 CDT} - {3466386000 -18000 0 CST} + {3465781200 -18000 0 CST} {3477272400 -14400 1 CDT} - {3497835600 -18000 0 CST} + {3497230800 -18000 0 CST} {3508722000 -14400 1 CDT} - {3529285200 -18000 0 CST} + {3528680400 -18000 0 CST} {3540171600 -14400 1 CDT} - {3560734800 -18000 0 CST} + {3560130000 -18000 0 CST} {3572226000 -14400 1 CDT} - {3592789200 -18000 0 CST} + {3592184400 -18000 0 CST} {3603675600 -14400 1 CDT} - {3624238800 -18000 0 CST} + {3623634000 -18000 0 CST} {3635125200 -14400 1 CDT} - {3655688400 -18000 0 CST} + {3655083600 -18000 0 CST} {3666574800 -14400 1 CDT} - {3687138000 -18000 0 CST} + {3686533200 -18000 0 CST} {3698024400 -14400 1 CDT} - {3718587600 -18000 0 CST} + {3717982800 -18000 0 CST} {3730078800 -14400 1 CDT} - {3750642000 -18000 0 CST} + {3750037200 -18000 0 CST} {3761528400 -14400 1 CDT} - {3782091600 -18000 0 CST} + {3781486800 -18000 0 CST} {3792978000 -14400 1 CDT} - {3813541200 -18000 0 CST} + {3812936400 -18000 0 CST} {3824427600 -14400 1 CDT} - {3844990800 -18000 0 CST} + {3844386000 -18000 0 CST} {3855877200 -14400 1 CDT} - {3876440400 -18000 0 CST} + {3875835600 -18000 0 CST} {3887326800 -14400 1 CDT} - {3907890000 -18000 0 CST} + {3907285200 -18000 0 CST} {3919381200 -14400 1 CDT} - {3939944400 -18000 0 CST} + {3939339600 -18000 0 CST} {3950830800 -14400 1 CDT} - {3971394000 -18000 0 CST} + {3970789200 -18000 0 CST} {3982280400 -14400 1 CDT} - {4002843600 -18000 0 CST} + {4002238800 -18000 0 CST} {4013730000 -14400 1 CDT} - {4034293200 -18000 0 CST} + {4033688400 -18000 0 CST} {4045179600 -14400 1 CDT} - {4065742800 -18000 0 CST} + {4065138000 -18000 0 CST} {4076629200 -14400 1 CDT} - {4097192400 -18000 0 CST} + {4096587600 -18000 0 CST} } diff --git a/library/tzdata/America/Juneau b/library/tzdata/America/Juneau index fead810..88fe0ce 100644 --- a/library/tzdata/America/Juneau +++ b/library/tzdata/America/Juneau @@ -32,9 +32,8 @@ set TZData(:America/Juneau) { {278499600 -28800 0 PST} {294228000 -25200 1 PDT} {309949200 -28800 0 PST} - {325677600 -32400 0 YST} - {325681200 -28800 1 YDT} - {341406000 -28800 0 PST} + {325677600 -25200 1 PDT} + {341398800 -28800 0 PST} {357127200 -25200 1 PDT} {372848400 -28800 0 PST} {388576800 -25200 1 PDT} diff --git a/library/tzdata/America/Kralendijk b/library/tzdata/America/Kralendijk deleted file mode 100644 index 8b6db86..0000000 --- a/library/tzdata/America/Kralendijk +++ /dev/null @@ -1,5 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit -if {![info exists TZData(America/Curacao)]} { - LoadTimeZoneFile America/Curacao -} -set TZData(:America/Kralendijk) $TZData(:America/Curacao) diff --git a/library/tzdata/America/Lower_Princes b/library/tzdata/America/Lower_Princes deleted file mode 100644 index 94c9197..0000000 --- a/library/tzdata/America/Lower_Princes +++ /dev/null @@ -1,5 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit -if {![info exists TZData(America/Curacao)]} { - LoadTimeZoneFile America/Curacao -} -set TZData(:America/Lower_Princes) $TZData(:America/Curacao) diff --git a/library/tzdata/America/Matamoros b/library/tzdata/America/Matamoros deleted file mode 100644 index 2b98652..0000000 --- a/library/tzdata/America/Matamoros +++ /dev/null @@ -1,219 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:America/Matamoros) { - {-9223372036854775808 -24000 0 LMT} - {-1514743200 -21600 0 CST} - {568015200 -21600 0 CST} - {576057600 -18000 1 CDT} - {594198000 -21600 0 CST} - {599637600 -21600 0 CST} - {828864000 -18000 1 CDT} - {846399600 -21600 0 CST} - {860313600 -18000 1 CDT} - {877849200 -21600 0 CST} - {891763200 -18000 1 CDT} - {909298800 -21600 0 CST} - {923212800 -18000 1 CDT} - {941353200 -21600 0 CST} - {954662400 -18000 1 CDT} - {972802800 -21600 0 CST} - {989136000 -18000 1 CDT} - {1001833200 -21600 0 CST} - {1018166400 -18000 1 CDT} - {1035702000 -21600 0 CST} - {1049616000 -18000 1 CDT} - {1067151600 -21600 0 CST} - {1081065600 -18000 1 CDT} - {1099206000 -21600 0 CST} - {1112515200 -18000 1 CDT} - {1130655600 -21600 0 CST} - {1143964800 -18000 1 CDT} - {1162105200 -21600 0 CST} - {1175414400 -18000 1 CDT} - {1193554800 -21600 0 CST} - {1207468800 -18000 1 CDT} - {1225004400 -21600 0 CST} - {1238918400 -18000 1 CDT} - {1256454000 -21600 0 CST} - {1262325600 -21600 0 CST} - {1268553600 -18000 1 CDT} - {1289113200 -21600 0 CST} - {1300003200 -18000 1 CDT} - {1320562800 -21600 0 CST} - {1331452800 -18000 1 CDT} - {1352012400 -21600 0 CST} - {1362902400 -18000 1 CDT} - {1383462000 -21600 0 CST} - {1394352000 -18000 1 CDT} - {1414911600 -21600 0 CST} - {1425801600 -18000 1 CDT} - {1446361200 -21600 0 CST} - {1457856000 -18000 1 CDT} - {1478415600 -21600 0 CST} - {1489305600 -18000 1 CDT} - {1509865200 -21600 0 CST} - {1520755200 -18000 1 CDT} - {1541314800 -21600 0 CST} - {1552204800 -18000 1 CDT} - {1572764400 -21600 0 CST} - {1583654400 -18000 1 CDT} - {1604214000 -21600 0 CST} - {1615708800 -18000 1 CDT} - {1636268400 -21600 0 CST} - {1647158400 -18000 1 CDT} - {1667718000 -21600 0 CST} - {1678608000 -18000 1 CDT} - {1699167600 -21600 0 CST} - {1710057600 -18000 1 CDT} - {1730617200 -21600 0 CST} - {1741507200 -18000 1 CDT} - {1762066800 -21600 0 CST} - {1772956800 -18000 1 CDT} - {1793516400 -21600 0 CST} - {1805011200 -18000 1 CDT} - {1825570800 -21600 0 CST} - {1836460800 -18000 1 CDT} - {1857020400 -21600 0 CST} - {1867910400 -18000 1 CDT} - {1888470000 -21600 0 CST} - {1899360000 -18000 1 CDT} - {1919919600 -21600 0 CST} - {1930809600 -18000 1 CDT} - {1951369200 -21600 0 CST} - {1962864000 -18000 1 CDT} - {1983423600 -21600 0 CST} - {1994313600 -18000 1 CDT} - {2014873200 -21600 0 CST} - {2025763200 -18000 1 CDT} - {2046322800 -21600 0 CST} - {2057212800 -18000 1 CDT} - {2077772400 -21600 0 CST} - {2088662400 -18000 1 CDT} - {2109222000 -21600 0 CST} - {2120112000 -18000 1 CDT} - {2140671600 -21600 0 CST} - {2152166400 -18000 1 CDT} - {2172726000 -21600 0 CST} - {2183616000 -18000 1 CDT} - {2204175600 -21600 0 CST} - {2215065600 -18000 1 CDT} - {2235625200 -21600 0 CST} - {2246515200 -18000 1 CDT} - {2267074800 -21600 0 CST} - {2277964800 -18000 1 CDT} - {2298524400 -21600 0 CST} - {2309414400 -18000 1 CDT} - {2329974000 -21600 0 CST} - {2341468800 -18000 1 CDT} - {2362028400 -21600 0 CST} - {2372918400 -18000 1 CDT} - {2393478000 -21600 0 CST} - {2404368000 -18000 1 CDT} - {2424927600 -21600 0 CST} - {2435817600 -18000 1 CDT} - {2456377200 -21600 0 CST} - {2467267200 -18000 1 CDT} - {2487826800 -21600 0 CST} - {2499321600 -18000 1 CDT} - {2519881200 -21600 0 CST} - {2530771200 -18000 1 CDT} - {2551330800 -21600 0 CST} - {2562220800 -18000 1 CDT} - {2582780400 -21600 0 CST} - {2593670400 -18000 1 CDT} - {2614230000 -21600 0 CST} - {2625120000 -18000 1 CDT} - {2645679600 -21600 0 CST} - {2656569600 -18000 1 CDT} - {2677129200 -21600 0 CST} - {2688624000 -18000 1 CDT} - {2709183600 -21600 0 CST} - {2720073600 -18000 1 CDT} - {2740633200 -21600 0 CST} - {2751523200 -18000 1 CDT} - {2772082800 -21600 0 CST} - {2782972800 -18000 1 CDT} - {2803532400 -21600 0 CST} - {2814422400 -18000 1 CDT} - {2834982000 -21600 0 CST} - {2846476800 -18000 1 CDT} - {2867036400 -21600 0 CST} - {2877926400 -18000 1 CDT} - {2898486000 -21600 0 CST} - {2909376000 -18000 1 CDT} - {2929935600 -21600 0 CST} - {2940825600 -18000 1 CDT} - {2961385200 -21600 0 CST} - {2972275200 -18000 1 CDT} - {2992834800 -21600 0 CST} - {3003724800 -18000 1 CDT} - {3024284400 -21600 0 CST} - {3035779200 -18000 1 CDT} - {3056338800 -21600 0 CST} - {3067228800 -18000 1 CDT} - {3087788400 -21600 0 CST} - {3098678400 -18000 1 CDT} - {3119238000 -21600 0 CST} - {3130128000 -18000 1 CDT} - {3150687600 -21600 0 CST} - {3161577600 -18000 1 CDT} - {3182137200 -21600 0 CST} - {3193027200 -18000 1 CDT} - {3213586800 -21600 0 CST} - {3225081600 -18000 1 CDT} - {3245641200 -21600 0 CST} - {3256531200 -18000 1 CDT} - {3277090800 -21600 0 CST} - {3287980800 -18000 1 CDT} - {3308540400 -21600 0 CST} - {3319430400 -18000 1 CDT} - {3339990000 -21600 0 CST} - {3350880000 -18000 1 CDT} - {3371439600 -21600 0 CST} - {3382934400 -18000 1 CDT} - {3403494000 -21600 0 CST} - {3414384000 -18000 1 CDT} - {3434943600 -21600 0 CST} - {3445833600 -18000 1 CDT} - {3466393200 -21600 0 CST} - {3477283200 -18000 1 CDT} - {3497842800 -21600 0 CST} - {3508732800 -18000 1 CDT} - {3529292400 -21600 0 CST} - {3540182400 -18000 1 CDT} - {3560742000 -21600 0 CST} - {3572236800 -18000 1 CDT} - {3592796400 -21600 0 CST} - {3603686400 -18000 1 CDT} - {3624246000 -21600 0 CST} - {3635136000 -18000 1 CDT} - {3655695600 -21600 0 CST} - {3666585600 -18000 1 CDT} - {3687145200 -21600 0 CST} - {3698035200 -18000 1 CDT} - {3718594800 -21600 0 CST} - {3730089600 -18000 1 CDT} - {3750649200 -21600 0 CST} - {3761539200 -18000 1 CDT} - {3782098800 -21600 0 CST} - {3792988800 -18000 1 CDT} - {3813548400 -21600 0 CST} - {3824438400 -18000 1 CDT} - {3844998000 -21600 0 CST} - {3855888000 -18000 1 CDT} - {3876447600 -21600 0 CST} - {3887337600 -18000 1 CDT} - {3907897200 -21600 0 CST} - {3919392000 -18000 1 CDT} - {3939951600 -21600 0 CST} - {3950841600 -18000 1 CDT} - {3971401200 -21600 0 CST} - {3982291200 -18000 1 CDT} - {4002850800 -21600 0 CST} - {4013740800 -18000 1 CDT} - {4034300400 -21600 0 CST} - {4045190400 -18000 1 CDT} - {4065750000 -21600 0 CST} - {4076640000 -18000 1 CDT} - {4097199600 -21600 0 CST} -} diff --git a/library/tzdata/America/Metlakatla b/library/tzdata/America/Metlakatla deleted file mode 100644 index e8af1c0..0000000 --- a/library/tzdata/America/Metlakatla +++ /dev/null @@ -1,43 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:America/Metlakatla) { - {-9223372036854775808 54822 0 LMT} - {-3225366822 -31578 0 LMT} - {-2188955622 -28800 0 PST} - {-883584000 -28800 0 PST} - {-880207200 -25200 1 PWT} - {-769395600 -25200 1 PPT} - {-765385200 -28800 0 PST} - {-757353600 -28800 0 PST} - {-31507200 -28800 0 PST} - {-21477600 -25200 1 PDT} - {-5756400 -28800 0 PST} - {9972000 -25200 1 PDT} - {25693200 -28800 0 PST} - {41421600 -25200 1 PDT} - {57747600 -28800 0 PST} - {73476000 -25200 1 PDT} - {89197200 -28800 0 PST} - {104925600 -25200 1 PDT} - {120646800 -28800 0 PST} - {126698400 -25200 1 PDT} - {152096400 -28800 0 PST} - {162381600 -25200 1 PDT} - {183546000 -28800 0 PST} - {199274400 -25200 1 PDT} - {215600400 -28800 0 PST} - {230724000 -25200 1 PDT} - {247050000 -28800 0 PST} - {262778400 -25200 1 PDT} - {278499600 -28800 0 PST} - {294228000 -25200 1 PDT} - {309949200 -28800 0 PST} - {325677600 -25200 1 PDT} - {341398800 -28800 0 PST} - {357127200 -25200 1 PDT} - {372848400 -28800 0 PST} - {388576800 -25200 1 PDT} - {404902800 -28800 0 PST} - {420026400 -25200 1 PDT} - {436356000 -28800 0 MeST} -} diff --git a/library/tzdata/America/Moncton b/library/tzdata/America/Moncton index d286c88..408e3a1 100755 --- a/library/tzdata/America/Moncton +++ b/library/tzdata/America/Moncton @@ -5,7 +5,7 @@ set TZData(:America/Moncton) { {-2715882052 -18000 0 EST} {-2131642800 -14400 0 AST} {-1632074400 -10800 1 ADT} - {-1615143600 -14400 0 AST} + {-1614798000 -14400 0 AST} {-1167595200 -14400 0 AST} {-1153681200 -10800 1 ADT} {-1145822400 -14400 0 AST} diff --git a/library/tzdata/America/Montreal b/library/tzdata/America/Montreal index bebe7dc..b9535eb 100644 --- a/library/tzdata/America/Montreal +++ b/library/tzdata/America/Montreal @@ -7,7 +7,7 @@ set TZData(:America/Montreal) { {-1662753600 -18000 0 EST} {-1640977200 -18000 0 EST} {-1632070800 -14400 1 EDT} - {-1615140000 -18000 0 EST} + {-1614794400 -18000 0 EST} {-1609441200 -18000 0 EST} {-1601742600 -14400 1 EDT} {-1583775000 -18000 0 EST} diff --git a/library/tzdata/America/Nassau b/library/tzdata/America/Nassau index 1c35e93..06c5f06 100644 --- a/library/tzdata/America/Nassau +++ b/library/tzdata/America/Nassau @@ -1,8 +1,8 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:America/Nassau) { - {-9223372036854775808 -18570 0 LMT} - {-1825095030 -18000 0 EST} + {-9223372036854775808 -18564 0 LMT} + {-1825095036 -18000 0 EST} {-179341200 -14400 1 EDT} {-163620000 -18000 0 EST} {-147891600 -14400 1 EDT} diff --git a/library/tzdata/America/Nipigon b/library/tzdata/America/Nipigon index 30690aa..e98bb8c 100644 --- a/library/tzdata/America/Nipigon +++ b/library/tzdata/America/Nipigon @@ -4,7 +4,7 @@ set TZData(:America/Nipigon) { {-9223372036854775808 -21184 0 LMT} {-2366734016 -18000 0 EST} {-1632070800 -14400 1 EDT} - {-1615140000 -18000 0 EST} + {-1614794400 -18000 0 EST} {-923252400 -14400 1 EDT} {-880218000 -14400 0 EWT} {-769395600 -14400 1 EPT} diff --git a/library/tzdata/America/North_Dakota/Beulah b/library/tzdata/America/North_Dakota/Beulah deleted file mode 100644 index 95407c6..0000000 --- a/library/tzdata/America/North_Dakota/Beulah +++ /dev/null @@ -1,279 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:America/North_Dakota/Beulah) { - {-9223372036854775808 -24427 0 LMT} - {-2717643600 -25200 0 MST} - {-1633273200 -21600 1 MDT} - {-1615132800 -25200 0 MST} - {-1601823600 -21600 1 MDT} - {-1583683200 -25200 0 MST} - {-880210800 -21600 1 MWT} - {-769395600 -21600 1 MPT} - {-765388800 -25200 0 MST} - {-84380400 -21600 1 MDT} - {-68659200 -25200 0 MST} - {-52930800 -21600 1 MDT} - {-37209600 -25200 0 MST} - {-21481200 -21600 1 MDT} - {-5760000 -25200 0 MST} - {9968400 -21600 1 MDT} - {25689600 -25200 0 MST} - {41418000 -21600 1 MDT} - {57744000 -25200 0 MST} - {73472400 -21600 1 MDT} - {89193600 -25200 0 MST} - {104922000 -21600 1 MDT} - {120643200 -25200 0 MST} - {126694800 -21600 1 MDT} - {152092800 -25200 0 MST} - {162378000 -21600 1 MDT} - {183542400 -25200 0 MST} - {199270800 -21600 1 MDT} - {215596800 -25200 0 MST} - {230720400 -21600 1 MDT} - {247046400 -25200 0 MST} - {262774800 -21600 1 MDT} - {278496000 -25200 0 MST} - {294224400 -21600 1 MDT} - {309945600 -25200 0 MST} - {325674000 -21600 1 MDT} - {341395200 -25200 0 MST} - {357123600 -21600 1 MDT} - {372844800 -25200 0 MST} - {388573200 -21600 1 MDT} - {404899200 -25200 0 MST} - {420022800 -21600 1 MDT} - {436348800 -25200 0 MST} - {452077200 -21600 1 MDT} - {467798400 -25200 0 MST} - {483526800 -21600 1 MDT} - {499248000 -25200 0 MST} - {514976400 -21600 1 MDT} - {530697600 -25200 0 MST} - {544611600 -21600 1 MDT} - {562147200 -25200 0 MST} - {576061200 -21600 1 MDT} - {594201600 -25200 0 MST} - {607510800 -21600 1 MDT} - {625651200 -25200 0 MST} - {638960400 -21600 1 MDT} - {657100800 -25200 0 MST} - {671014800 -21600 1 MDT} - {688550400 -25200 0 MST} - {702464400 -21600 1 MDT} - {720000000 -25200 0 MST} - {733914000 -21600 1 MDT} - {752054400 -25200 0 MST} - {765363600 -21600 1 MDT} - {783504000 -25200 0 MST} - {796813200 -21600 1 MDT} - {814953600 -25200 0 MST} - {828867600 -21600 1 MDT} - {846403200 -25200 0 MST} - {860317200 -21600 1 MDT} - {877852800 -25200 0 MST} - {891766800 -21600 1 MDT} - {909302400 -25200 0 MST} - {923216400 -21600 1 MDT} - {941356800 -25200 0 MST} - {954666000 -21600 1 MDT} - {972806400 -25200 0 MST} - {986115600 -21600 1 MDT} - {1004256000 -25200 0 MST} - {1018170000 -21600 1 MDT} - {1035705600 -25200 0 MST} - {1049619600 -21600 1 MDT} - {1067155200 -25200 0 MST} - {1081069200 -21600 1 MDT} - {1099209600 -25200 0 MST} - {1112518800 -21600 1 MDT} - {1130659200 -25200 0 MST} - {1143968400 -21600 1 MDT} - {1162108800 -25200 0 MST} - {1173603600 -21600 1 MDT} - {1194163200 -25200 0 MST} - {1205053200 -21600 1 MDT} - {1225612800 -25200 0 MST} - {1236502800 -21600 1 MDT} - {1257062400 -25200 0 MST} - {1268557200 -21600 1 MDT} - {1289120400 -21600 0 CST} - {1300003200 -18000 1 CDT} - {1320562800 -21600 0 CST} - {1331452800 -18000 1 CDT} - {1352012400 -21600 0 CST} - {1362902400 -18000 1 CDT} - {1383462000 -21600 0 CST} - {1394352000 -18000 1 CDT} - {1414911600 -21600 0 CST} - {1425801600 -18000 1 CDT} - {1446361200 -21600 0 CST} - {1457856000 -18000 1 CDT} - {1478415600 -21600 0 CST} - {1489305600 -18000 1 CDT} - {1509865200 -21600 0 CST} - {1520755200 -18000 1 CDT} - {1541314800 -21600 0 CST} - {1552204800 -18000 1 CDT} - {1572764400 -21600 0 CST} - {1583654400 -18000 1 CDT} - {1604214000 -21600 0 CST} - {1615708800 -18000 1 CDT} - {1636268400 -21600 0 CST} - {1647158400 -18000 1 CDT} - {1667718000 -21600 0 CST} - {1678608000 -18000 1 CDT} - {1699167600 -21600 0 CST} - {1710057600 -18000 1 CDT} - {1730617200 -21600 0 CST} - {1741507200 -18000 1 CDT} - {1762066800 -21600 0 CST} - {1772956800 -18000 1 CDT} - {1793516400 -21600 0 CST} - {1805011200 -18000 1 CDT} - {1825570800 -21600 0 CST} - {1836460800 -18000 1 CDT} - {1857020400 -21600 0 CST} - {1867910400 -18000 1 CDT} - {1888470000 -21600 0 CST} - {1899360000 -18000 1 CDT} - {1919919600 -21600 0 CST} - {1930809600 -18000 1 CDT} - {1951369200 -21600 0 CST} - {1962864000 -18000 1 CDT} - {1983423600 -21600 0 CST} - {1994313600 -18000 1 CDT} - {2014873200 -21600 0 CST} - {2025763200 -18000 1 CDT} - {2046322800 -21600 0 CST} - {2057212800 -18000 1 CDT} - {2077772400 -21600 0 CST} - {2088662400 -18000 1 CDT} - {2109222000 -21600 0 CST} - {2120112000 -18000 1 CDT} - {2140671600 -21600 0 CST} - {2152166400 -18000 1 CDT} - {2172726000 -21600 0 CST} - {2183616000 -18000 1 CDT} - {2204175600 -21600 0 CST} - {2215065600 -18000 1 CDT} - {2235625200 -21600 0 CST} - {2246515200 -18000 1 CDT} - {2267074800 -21600 0 CST} - {2277964800 -18000 1 CDT} - {2298524400 -21600 0 CST} - {2309414400 -18000 1 CDT} - {2329974000 -21600 0 CST} - {2341468800 -18000 1 CDT} - {2362028400 -21600 0 CST} - {2372918400 -18000 1 CDT} - {2393478000 -21600 0 CST} - {2404368000 -18000 1 CDT} - {2424927600 -21600 0 CST} - {2435817600 -18000 1 CDT} - {2456377200 -21600 0 CST} - {2467267200 -18000 1 CDT} - {2487826800 -21600 0 CST} - {2499321600 -18000 1 CDT} - {2519881200 -21600 0 CST} - {2530771200 -18000 1 CDT} - {2551330800 -21600 0 CST} - {2562220800 -18000 1 CDT} - {2582780400 -21600 0 CST} - {2593670400 -18000 1 CDT} - {2614230000 -21600 0 CST} - {2625120000 -18000 1 CDT} - {2645679600 -21600 0 CST} - {2656569600 -18000 1 CDT} - {2677129200 -21600 0 CST} - {2688624000 -18000 1 CDT} - {2709183600 -21600 0 CST} - {2720073600 -18000 1 CDT} - {2740633200 -21600 0 CST} - {2751523200 -18000 1 CDT} - {2772082800 -21600 0 CST} - {2782972800 -18000 1 CDT} - {2803532400 -21600 0 CST} - {2814422400 -18000 1 CDT} - {2834982000 -21600 0 CST} - {2846476800 -18000 1 CDT} - {2867036400 -21600 0 CST} - {2877926400 -18000 1 CDT} - {2898486000 -21600 0 CST} - {2909376000 -18000 1 CDT} - {2929935600 -21600 0 CST} - {2940825600 -18000 1 CDT} - {2961385200 -21600 0 CST} - {2972275200 -18000 1 CDT} - {2992834800 -21600 0 CST} - {3003724800 -18000 1 CDT} - {3024284400 -21600 0 CST} - {3035779200 -18000 1 CDT} - {3056338800 -21600 0 CST} - {3067228800 -18000 1 CDT} - {3087788400 -21600 0 CST} - {3098678400 -18000 1 CDT} - {3119238000 -21600 0 CST} - {3130128000 -18000 1 CDT} - {3150687600 -21600 0 CST} - {3161577600 -18000 1 CDT} - {3182137200 -21600 0 CST} - {3193027200 -18000 1 CDT} - {3213586800 -21600 0 CST} - {3225081600 -18000 1 CDT} - {3245641200 -21600 0 CST} - {3256531200 -18000 1 CDT} - {3277090800 -21600 0 CST} - {3287980800 -18000 1 CDT} - {3308540400 -21600 0 CST} - {3319430400 -18000 1 CDT} - {3339990000 -21600 0 CST} - {3350880000 -18000 1 CDT} - {3371439600 -21600 0 CST} - {3382934400 -18000 1 CDT} - {3403494000 -21600 0 CST} - {3414384000 -18000 1 CDT} - {3434943600 -21600 0 CST} - {3445833600 -18000 1 CDT} - {3466393200 -21600 0 CST} - {3477283200 -18000 1 CDT} - {3497842800 -21600 0 CST} - {3508732800 -18000 1 CDT} - {3529292400 -21600 0 CST} - {3540182400 -18000 1 CDT} - {3560742000 -21600 0 CST} - {3572236800 -18000 1 CDT} - {3592796400 -21600 0 CST} - {3603686400 -18000 1 CDT} - {3624246000 -21600 0 CST} - {3635136000 -18000 1 CDT} - {3655695600 -21600 0 CST} - {3666585600 -18000 1 CDT} - {3687145200 -21600 0 CST} - {3698035200 -18000 1 CDT} - {3718594800 -21600 0 CST} - {3730089600 -18000 1 CDT} - {3750649200 -21600 0 CST} - {3761539200 -18000 1 CDT} - {3782098800 -21600 0 CST} - {3792988800 -18000 1 CDT} - {3813548400 -21600 0 CST} - {3824438400 -18000 1 CDT} - {3844998000 -21600 0 CST} - {3855888000 -18000 1 CDT} - {3876447600 -21600 0 CST} - {3887337600 -18000 1 CDT} - {3907897200 -21600 0 CST} - {3919392000 -18000 1 CDT} - {3939951600 -21600 0 CST} - {3950841600 -18000 1 CDT} - {3971401200 -21600 0 CST} - {3982291200 -18000 1 CDT} - {4002850800 -21600 0 CST} - {4013740800 -18000 1 CDT} - {4034300400 -21600 0 CST} - {4045190400 -18000 1 CDT} - {4065750000 -21600 0 CST} - {4076640000 -18000 1 CDT} - {4097199600 -21600 0 CST} -} diff --git a/library/tzdata/America/Ojinaga b/library/tzdata/America/Ojinaga deleted file mode 100644 index 1172708..0000000 --- a/library/tzdata/America/Ojinaga +++ /dev/null @@ -1,222 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:America/Ojinaga) { - {-9223372036854775808 -25060 0 LMT} - {-1514739600 -25200 0 MST} - {-1343066400 -21600 0 CST} - {-1234807200 -25200 0 MST} - {-1220292000 -21600 0 CST} - {-1207159200 -25200 0 MST} - {-1191344400 -21600 0 CST} - {820476000 -21600 0 CST} - {828864000 -18000 1 CDT} - {846399600 -21600 0 CST} - {860313600 -18000 1 CDT} - {877849200 -21600 0 CST} - {883634400 -21600 0 CST} - {891766800 -21600 0 MDT} - {909302400 -25200 0 MST} - {923216400 -21600 1 MDT} - {941356800 -25200 0 MST} - {954666000 -21600 1 MDT} - {972806400 -25200 0 MST} - {989139600 -21600 1 MDT} - {1001836800 -25200 0 MST} - {1018170000 -21600 1 MDT} - {1035705600 -25200 0 MST} - {1049619600 -21600 1 MDT} - {1067155200 -25200 0 MST} - {1081069200 -21600 1 MDT} - {1099209600 -25200 0 MST} - {1112518800 -21600 1 MDT} - {1130659200 -25200 0 MST} - {1143968400 -21600 1 MDT} - {1162108800 -25200 0 MST} - {1175418000 -21600 1 MDT} - {1193558400 -25200 0 MST} - {1207472400 -21600 1 MDT} - {1225008000 -25200 0 MST} - {1238922000 -21600 1 MDT} - {1256457600 -25200 0 MST} - {1262329200 -25200 0 MST} - {1268557200 -21600 1 MDT} - {1289116800 -25200 0 MST} - {1300006800 -21600 1 MDT} - {1320566400 -25200 0 MST} - {1331456400 -21600 1 MDT} - {1352016000 -25200 0 MST} - {1362906000 -21600 1 MDT} - {1383465600 -25200 0 MST} - {1394355600 -21600 1 MDT} - {1414915200 -25200 0 MST} - {1425805200 -21600 1 MDT} - {1446364800 -25200 0 MST} - {1457859600 -21600 1 MDT} - {1478419200 -25200 0 MST} - {1489309200 -21600 1 MDT} - {1509868800 -25200 0 MST} - {1520758800 -21600 1 MDT} - {1541318400 -25200 0 MST} - {1552208400 -21600 1 MDT} - {1572768000 -25200 0 MST} - {1583658000 -21600 1 MDT} - {1604217600 -25200 0 MST} - {1615712400 -21600 1 MDT} - {1636272000 -25200 0 MST} - {1647162000 -21600 1 MDT} - {1667721600 -25200 0 MST} - {1678611600 -21600 1 MDT} - {1699171200 -25200 0 MST} - {1710061200 -21600 1 MDT} - {1730620800 -25200 0 MST} - {1741510800 -21600 1 MDT} - {1762070400 -25200 0 MST} - {1772960400 -21600 1 MDT} - {1793520000 -25200 0 MST} - {1805014800 -21600 1 MDT} - {1825574400 -25200 0 MST} - {1836464400 -21600 1 MDT} - {1857024000 -25200 0 MST} - {1867914000 -21600 1 MDT} - {1888473600 -25200 0 MST} - {1899363600 -21600 1 MDT} - {1919923200 -25200 0 MST} - {1930813200 -21600 1 MDT} - {1951372800 -25200 0 MST} - {1962867600 -21600 1 MDT} - {1983427200 -25200 0 MST} - {1994317200 -21600 1 MDT} - {2014876800 -25200 0 MST} - {2025766800 -21600 1 MDT} - {2046326400 -25200 0 MST} - {2057216400 -21600 1 MDT} - {2077776000 -25200 0 MST} - {2088666000 -21600 1 MDT} - {2109225600 -25200 0 MST} - {2120115600 -21600 1 MDT} - {2140675200 -25200 0 MST} - {2152170000 -21600 1 MDT} - {2172729600 -25200 0 MST} - {2183619600 -21600 1 MDT} - {2204179200 -25200 0 MST} - {2215069200 -21600 1 MDT} - {2235628800 -25200 0 MST} - {2246518800 -21600 1 MDT} - {2267078400 -25200 0 MST} - {2277968400 -21600 1 MDT} - {2298528000 -25200 0 MST} - {2309418000 -21600 1 MDT} - {2329977600 -25200 0 MST} - {2341472400 -21600 1 MDT} - {2362032000 -25200 0 MST} - {2372922000 -21600 1 MDT} - {2393481600 -25200 0 MST} - {2404371600 -21600 1 MDT} - {2424931200 -25200 0 MST} - {2435821200 -21600 1 MDT} - {2456380800 -25200 0 MST} - {2467270800 -21600 1 MDT} - {2487830400 -25200 0 MST} - {2499325200 -21600 1 MDT} - {2519884800 -25200 0 MST} - {2530774800 -21600 1 MDT} - {2551334400 -25200 0 MST} - {2562224400 -21600 1 MDT} - {2582784000 -25200 0 MST} - {2593674000 -21600 1 MDT} - {2614233600 -25200 0 MST} - {2625123600 -21600 1 MDT} - {2645683200 -25200 0 MST} - {2656573200 -21600 1 MDT} - {2677132800 -25200 0 MST} - {2688627600 -21600 1 MDT} - {2709187200 -25200 0 MST} - {2720077200 -21600 1 MDT} - {2740636800 -25200 0 MST} - {2751526800 -21600 1 MDT} - {2772086400 -25200 0 MST} - {2782976400 -21600 1 MDT} - {2803536000 -25200 0 MST} - {2814426000 -21600 1 MDT} - {2834985600 -25200 0 MST} - {2846480400 -21600 1 MDT} - {2867040000 -25200 0 MST} - {2877930000 -21600 1 MDT} - {2898489600 -25200 0 MST} - {2909379600 -21600 1 MDT} - {2929939200 -25200 0 MST} - {2940829200 -21600 1 MDT} - {2961388800 -25200 0 MST} - {2972278800 -21600 1 MDT} - {2992838400 -25200 0 MST} - {3003728400 -21600 1 MDT} - {3024288000 -25200 0 MST} - {3035782800 -21600 1 MDT} - {3056342400 -25200 0 MST} - {3067232400 -21600 1 MDT} - {3087792000 -25200 0 MST} - {3098682000 -21600 1 MDT} - {3119241600 -25200 0 MST} - {3130131600 -21600 1 MDT} - {3150691200 -25200 0 MST} - {3161581200 -21600 1 MDT} - {3182140800 -25200 0 MST} - {3193030800 -21600 1 MDT} - {3213590400 -25200 0 MST} - {3225085200 -21600 1 MDT} - {3245644800 -25200 0 MST} - {3256534800 -21600 1 MDT} - {3277094400 -25200 0 MST} - {3287984400 -21600 1 MDT} - {3308544000 -25200 0 MST} - {3319434000 -21600 1 MDT} - {3339993600 -25200 0 MST} - {3350883600 -21600 1 MDT} - {3371443200 -25200 0 MST} - {3382938000 -21600 1 MDT} - {3403497600 -25200 0 MST} - {3414387600 -21600 1 MDT} - {3434947200 -25200 0 MST} - {3445837200 -21600 1 MDT} - {3466396800 -25200 0 MST} - {3477286800 -21600 1 MDT} - {3497846400 -25200 0 MST} - {3508736400 -21600 1 MDT} - {3529296000 -25200 0 MST} - {3540186000 -21600 1 MDT} - {3560745600 -25200 0 MST} - {3572240400 -21600 1 MDT} - {3592800000 -25200 0 MST} - {3603690000 -21600 1 MDT} - {3624249600 -25200 0 MST} - {3635139600 -21600 1 MDT} - {3655699200 -25200 0 MST} - {3666589200 -21600 1 MDT} - {3687148800 -25200 0 MST} - {3698038800 -21600 1 MDT} - {3718598400 -25200 0 MST} - {3730093200 -21600 1 MDT} - {3750652800 -25200 0 MST} - {3761542800 -21600 1 MDT} - {3782102400 -25200 0 MST} - {3792992400 -21600 1 MDT} - {3813552000 -25200 0 MST} - {3824442000 -21600 1 MDT} - {3845001600 -25200 0 MST} - {3855891600 -21600 1 MDT} - {3876451200 -25200 0 MST} - {3887341200 -21600 1 MDT} - {3907900800 -25200 0 MST} - {3919395600 -21600 1 MDT} - {3939955200 -25200 0 MST} - {3950845200 -21600 1 MDT} - {3971404800 -25200 0 MST} - {3982294800 -21600 1 MDT} - {4002854400 -25200 0 MST} - {4013744400 -21600 1 MDT} - {4034304000 -25200 0 MST} - {4045194000 -21600 1 MDT} - {4065753600 -25200 0 MST} - {4076643600 -21600 1 MDT} - {4097203200 -25200 0 MST} -} diff --git a/library/tzdata/America/Port-au-Prince b/library/tzdata/America/Port-au-Prince index f1d7fc4..04ee62c 100644 --- a/library/tzdata/America/Port-au-Prince +++ b/library/tzdata/America/Port-au-Prince @@ -38,180 +38,4 @@ set TZData(:America/Port-au-Prince) { {1130644800 -18000 0 EST} {1143954000 -14400 1 EDT} {1162094400 -18000 0 EST} - {1331449200 -14400 1 EDT} - {1352008800 -18000 0 EST} - {1362898800 -14400 1 EDT} - {1383458400 -18000 0 EST} - {1394348400 -14400 1 EDT} - {1414908000 -18000 0 EST} - {1425798000 -14400 1 EDT} - {1446357600 -18000 0 EST} - {1457852400 -14400 1 EDT} - {1478412000 -18000 0 EST} - {1489302000 -14400 1 EDT} - {1509861600 -18000 0 EST} - {1520751600 -14400 1 EDT} - {1541311200 -18000 0 EST} - {1552201200 -14400 1 EDT} - {1572760800 -18000 0 EST} - {1583650800 -14400 1 EDT} - {1604210400 -18000 0 EST} - {1615705200 -14400 1 EDT} - {1636264800 -18000 0 EST} - {1647154800 -14400 1 EDT} - {1667714400 -18000 0 EST} - {1678604400 -14400 1 EDT} - {1699164000 -18000 0 EST} - {1710054000 -14400 1 EDT} - {1730613600 -18000 0 EST} - {1741503600 -14400 1 EDT} - {1762063200 -18000 0 EST} - {1772953200 -14400 1 EDT} - {1793512800 -18000 0 EST} - {1805007600 -14400 1 EDT} - {1825567200 -18000 0 EST} - {1836457200 -14400 1 EDT} - {1857016800 -18000 0 EST} - {1867906800 -14400 1 EDT} - {1888466400 -18000 0 EST} - {1899356400 -14400 1 EDT} - {1919916000 -18000 0 EST} - {1930806000 -14400 1 EDT} - {1951365600 -18000 0 EST} - {1962860400 -14400 1 EDT} - {1983420000 -18000 0 EST} - {1994310000 -14400 1 EDT} - {2014869600 -18000 0 EST} - {2025759600 -14400 1 EDT} - {2046319200 -18000 0 EST} - {2057209200 -14400 1 EDT} - {2077768800 -18000 0 EST} - {2088658800 -14400 1 EDT} - {2109218400 -18000 0 EST} - {2120108400 -14400 1 EDT} - {2140668000 -18000 0 EST} - {2152162800 -14400 1 EDT} - {2172722400 -18000 0 EST} - {2183612400 -14400 1 EDT} - {2204172000 -18000 0 EST} - {2215062000 -14400 1 EDT} - {2235621600 -18000 0 EST} - {2246511600 -14400 1 EDT} - {2267071200 -18000 0 EST} - {2277961200 -14400 1 EDT} - {2298520800 -18000 0 EST} - {2309410800 -14400 1 EDT} - {2329970400 -18000 0 EST} - {2341465200 -14400 1 EDT} - {2362024800 -18000 0 EST} - {2372914800 -14400 1 EDT} - {2393474400 -18000 0 EST} - {2404364400 -14400 1 EDT} - {2424924000 -18000 0 EST} - {2435814000 -14400 1 EDT} - {2456373600 -18000 0 EST} - {2467263600 -14400 1 EDT} - {2487823200 -18000 0 EST} - {2499318000 -14400 1 EDT} - {2519877600 -18000 0 EST} - {2530767600 -14400 1 EDT} - {2551327200 -18000 0 EST} - {2562217200 -14400 1 EDT} - {2582776800 -18000 0 EST} - {2593666800 -14400 1 EDT} - {2614226400 -18000 0 EST} - {2625116400 -14400 1 EDT} - {2645676000 -18000 0 EST} - {2656566000 -14400 1 EDT} - {2677125600 -18000 0 EST} - {2688620400 -14400 1 EDT} - {2709180000 -18000 0 EST} - {2720070000 -14400 1 EDT} - {2740629600 -18000 0 EST} - {2751519600 -14400 1 EDT} - {2772079200 -18000 0 EST} - {2782969200 -14400 1 EDT} - {2803528800 -18000 0 EST} - {2814418800 -14400 1 EDT} - {2834978400 -18000 0 EST} - {2846473200 -14400 1 EDT} - {2867032800 -18000 0 EST} - {2877922800 -14400 1 EDT} - {2898482400 -18000 0 EST} - {2909372400 -14400 1 EDT} - {2929932000 -18000 0 EST} - {2940822000 -14400 1 EDT} - {2961381600 -18000 0 EST} - {2972271600 -14400 1 EDT} - {2992831200 -18000 0 EST} - {3003721200 -14400 1 EDT} - {3024280800 -18000 0 EST} - {3035775600 -14400 1 EDT} - {3056335200 -18000 0 EST} - {3067225200 -14400 1 EDT} - {3087784800 -18000 0 EST} - {3098674800 -14400 1 EDT} - {3119234400 -18000 0 EST} - {3130124400 -14400 1 EDT} - {3150684000 -18000 0 EST} - {3161574000 -14400 1 EDT} - {3182133600 -18000 0 EST} - {3193023600 -14400 1 EDT} - {3213583200 -18000 0 EST} - {3225078000 -14400 1 EDT} - {3245637600 -18000 0 EST} - {3256527600 -14400 1 EDT} - {3277087200 -18000 0 EST} - {3287977200 -14400 1 EDT} - {3308536800 -18000 0 EST} - {3319426800 -14400 1 EDT} - {3339986400 -18000 0 EST} - {3350876400 -14400 1 EDT} - {3371436000 -18000 0 EST} - {3382930800 -14400 1 EDT} - {3403490400 -18000 0 EST} - {3414380400 -14400 1 EDT} - {3434940000 -18000 0 EST} - {3445830000 -14400 1 EDT} - {3466389600 -18000 0 EST} - {3477279600 -14400 1 EDT} - {3497839200 -18000 0 EST} - {3508729200 -14400 1 EDT} - {3529288800 -18000 0 EST} - {3540178800 -14400 1 EDT} - {3560738400 -18000 0 EST} - {3572233200 -14400 1 EDT} - {3592792800 -18000 0 EST} - {3603682800 -14400 1 EDT} - {3624242400 -18000 0 EST} - {3635132400 -14400 1 EDT} - {3655692000 -18000 0 EST} - {3666582000 -14400 1 EDT} - {3687141600 -18000 0 EST} - {3698031600 -14400 1 EDT} - {3718591200 -18000 0 EST} - {3730086000 -14400 1 EDT} - {3750645600 -18000 0 EST} - {3761535600 -14400 1 EDT} - {3782095200 -18000 0 EST} - {3792985200 -14400 1 EDT} - {3813544800 -18000 0 EST} - {3824434800 -14400 1 EDT} - {3844994400 -18000 0 EST} - {3855884400 -14400 1 EDT} - {3876444000 -18000 0 EST} - {3887334000 -14400 1 EDT} - {3907893600 -18000 0 EST} - {3919388400 -14400 1 EDT} - {3939948000 -18000 0 EST} - {3950838000 -14400 1 EDT} - {3971397600 -18000 0 EST} - {3982287600 -14400 1 EDT} - {4002847200 -18000 0 EST} - {4013737200 -14400 1 EDT} - {4034296800 -18000 0 EST} - {4045186800 -14400 1 EDT} - {4065746400 -18000 0 EST} - {4076636400 -14400 1 EDT} - {4097196000 -18000 0 EST} } diff --git a/library/tzdata/America/Rainy_River b/library/tzdata/America/Rainy_River index a2b11aa..331bac6 100644 --- a/library/tzdata/America/Rainy_River +++ b/library/tzdata/America/Rainy_River @@ -4,7 +4,7 @@ set TZData(:America/Rainy_River) { {-9223372036854775808 -22696 0 LMT} {-2366732504 -21600 0 CST} {-1632067200 -18000 1 CDT} - {-1615136400 -21600 0 CST} + {-1614790800 -21600 0 CST} {-923248800 -18000 1 CDT} {-880214400 -18000 0 CWT} {-769395600 -18000 1 CPT} diff --git a/library/tzdata/America/Regina b/library/tzdata/America/Regina index e42b5be..2030d75 100644 --- a/library/tzdata/America/Regina +++ b/library/tzdata/America/Regina @@ -4,7 +4,7 @@ set TZData(:America/Regina) { {-9223372036854775808 -25116 0 LMT} {-2030202084 -25200 0 MST} {-1632063600 -21600 1 MDT} - {-1615132800 -25200 0 MST} + {-1614787200 -25200 0 MST} {-1251651600 -21600 1 MDT} {-1238349600 -25200 0 MST} {-1220202000 -21600 1 MDT} diff --git a/library/tzdata/America/Resolute b/library/tzdata/America/Resolute index b4c0bab..50ab9df 100755 --- a/library/tzdata/America/Resolute +++ b/library/tzdata/America/Resolute @@ -59,190 +59,191 @@ set TZData(:America/Resolute) { {1130655600 -21600 0 CST} {1143964800 -18000 1 CDT} {1162108800 -18000 0 EST} - {1173600000 -18000 0 CDT} - {1194159600 -21600 0 CST} - {1205049600 -18000 1 CDT} - {1225609200 -21600 0 CST} - {1236499200 -18000 1 CDT} - {1257058800 -21600 0 CST} - {1268553600 -18000 1 CDT} - {1289113200 -21600 0 CST} - {1300003200 -18000 1 CDT} - {1320562800 -21600 0 CST} - {1331452800 -18000 1 CDT} - {1352012400 -21600 0 CST} - {1362902400 -18000 1 CDT} - {1383462000 -21600 0 CST} - {1394352000 -18000 1 CDT} - {1414911600 -21600 0 CST} - {1425801600 -18000 1 CDT} - {1446361200 -21600 0 CST} - {1457856000 -18000 1 CDT} - {1478415600 -21600 0 CST} - {1489305600 -18000 1 CDT} - {1509865200 -21600 0 CST} - {1520755200 -18000 1 CDT} - {1541314800 -21600 0 CST} - {1552204800 -18000 1 CDT} - {1572764400 -21600 0 CST} - {1583654400 -18000 1 CDT} - {1604214000 -21600 0 CST} - {1615708800 -18000 1 CDT} - {1636268400 -21600 0 CST} - {1647158400 -18000 1 CDT} - {1667718000 -21600 0 CST} - {1678608000 -18000 1 CDT} - {1699167600 -21600 0 CST} - {1710057600 -18000 1 CDT} - {1730617200 -21600 0 CST} - {1741507200 -18000 1 CDT} - {1762066800 -21600 0 CST} - {1772956800 -18000 1 CDT} - {1793516400 -21600 0 CST} - {1805011200 -18000 1 CDT} - {1825570800 -21600 0 CST} - {1836460800 -18000 1 CDT} - {1857020400 -21600 0 CST} - {1867910400 -18000 1 CDT} - {1888470000 -21600 0 CST} - {1899360000 -18000 1 CDT} - {1919919600 -21600 0 CST} - {1930809600 -18000 1 CDT} - {1951369200 -21600 0 CST} - {1962864000 -18000 1 CDT} - {1983423600 -21600 0 CST} - {1994313600 -18000 1 CDT} - {2014873200 -21600 0 CST} - {2025763200 -18000 1 CDT} - {2046322800 -21600 0 CST} - {2057212800 -18000 1 CDT} - {2077772400 -21600 0 CST} - {2088662400 -18000 1 CDT} - {2109222000 -21600 0 CST} - {2120112000 -18000 1 CDT} - {2140671600 -21600 0 CST} - {2152166400 -18000 1 CDT} - {2172726000 -21600 0 CST} - {2183616000 -18000 1 CDT} - {2204175600 -21600 0 CST} - {2215065600 -18000 1 CDT} - {2235625200 -21600 0 CST} - {2246515200 -18000 1 CDT} - {2267074800 -21600 0 CST} - {2277964800 -18000 1 CDT} - {2298524400 -21600 0 CST} - {2309414400 -18000 1 CDT} - {2329974000 -21600 0 CST} - {2341468800 -18000 1 CDT} - {2362028400 -21600 0 CST} - {2372918400 -18000 1 CDT} - {2393478000 -21600 0 CST} - {2404368000 -18000 1 CDT} - {2424927600 -21600 0 CST} - {2435817600 -18000 1 CDT} - {2456377200 -21600 0 CST} - {2467267200 -18000 1 CDT} - {2487826800 -21600 0 CST} - {2499321600 -18000 1 CDT} - {2519881200 -21600 0 CST} - {2530771200 -18000 1 CDT} - {2551330800 -21600 0 CST} - {2562220800 -18000 1 CDT} - {2582780400 -21600 0 CST} - {2593670400 -18000 1 CDT} - {2614230000 -21600 0 CST} - {2625120000 -18000 1 CDT} - {2645679600 -21600 0 CST} - {2656569600 -18000 1 CDT} - {2677129200 -21600 0 CST} - {2688624000 -18000 1 CDT} - {2709183600 -21600 0 CST} - {2720073600 -18000 1 CDT} - {2740633200 -21600 0 CST} - {2751523200 -18000 1 CDT} - {2772082800 -21600 0 CST} - {2782972800 -18000 1 CDT} - {2803532400 -21600 0 CST} - {2814422400 -18000 1 CDT} - {2834982000 -21600 0 CST} - {2846476800 -18000 1 CDT} - {2867036400 -21600 0 CST} - {2877926400 -18000 1 CDT} - {2898486000 -21600 0 CST} - {2909376000 -18000 1 CDT} - {2929935600 -21600 0 CST} - {2940825600 -18000 1 CDT} - {2961385200 -21600 0 CST} - {2972275200 -18000 1 CDT} - {2992834800 -21600 0 CST} - {3003724800 -18000 1 CDT} - {3024284400 -21600 0 CST} - {3035779200 -18000 1 CDT} - {3056338800 -21600 0 CST} - {3067228800 -18000 1 CDT} - {3087788400 -21600 0 CST} - {3098678400 -18000 1 CDT} - {3119238000 -21600 0 CST} - {3130128000 -18000 1 CDT} - {3150687600 -21600 0 CST} - {3161577600 -18000 1 CDT} - {3182137200 -21600 0 CST} - {3193027200 -18000 1 CDT} - {3213586800 -21600 0 CST} - {3225081600 -18000 1 CDT} - {3245641200 -21600 0 CST} - {3256531200 -18000 1 CDT} - {3277090800 -21600 0 CST} - {3287980800 -18000 1 CDT} - {3308540400 -21600 0 CST} - {3319430400 -18000 1 CDT} - {3339990000 -21600 0 CST} - {3350880000 -18000 1 CDT} - {3371439600 -21600 0 CST} - {3382934400 -18000 1 CDT} - {3403494000 -21600 0 CST} - {3414384000 -18000 1 CDT} - {3434943600 -21600 0 CST} - {3445833600 -18000 1 CDT} - {3466393200 -21600 0 CST} - {3477283200 -18000 1 CDT} - {3497842800 -21600 0 CST} - {3508732800 -18000 1 CDT} - {3529292400 -21600 0 CST} - {3540182400 -18000 1 CDT} - {3560742000 -21600 0 CST} - {3572236800 -18000 1 CDT} - {3592796400 -21600 0 CST} - {3603686400 -18000 1 CDT} - {3624246000 -21600 0 CST} - {3635136000 -18000 1 CDT} - {3655695600 -21600 0 CST} - {3666585600 -18000 1 CDT} - {3687145200 -21600 0 CST} - {3698035200 -18000 1 CDT} - {3718594800 -21600 0 CST} - {3730089600 -18000 1 CDT} - {3750649200 -21600 0 CST} - {3761539200 -18000 1 CDT} - {3782098800 -21600 0 CST} - {3792988800 -18000 1 CDT} - {3813548400 -21600 0 CST} - {3824438400 -18000 1 CDT} - {3844998000 -21600 0 CST} - {3855888000 -18000 1 CDT} - {3876447600 -21600 0 CST} - {3887337600 -18000 1 CDT} - {3907897200 -21600 0 CST} - {3919392000 -18000 1 CDT} - {3939951600 -21600 0 CST} - {3950841600 -18000 1 CDT} - {3971401200 -21600 0 CST} - {3982291200 -18000 1 CDT} - {4002850800 -21600 0 CST} - {4013740800 -18000 1 CDT} - {4034300400 -21600 0 CST} - {4045190400 -18000 1 CDT} - {4065750000 -21600 0 CST} - {4076640000 -18000 1 CDT} - {4097199600 -21600 0 CST} + {1162710000 -18000 0 EST} + {1173596400 -18000 0 CDT} + {1194159600 -18000 0 EST} + {1205046000 -18000 0 CDT} + {1225609200 -18000 0 EST} + {1236495600 -18000 0 CDT} + {1257058800 -18000 0 EST} + {1268550000 -18000 0 CDT} + {1289113200 -18000 0 EST} + {1299999600 -18000 0 CDT} + {1320562800 -18000 0 EST} + {1331449200 -18000 0 CDT} + {1352012400 -18000 0 EST} + {1362898800 -18000 0 CDT} + {1383462000 -18000 0 EST} + {1394348400 -18000 0 CDT} + {1414911600 -18000 0 EST} + {1425798000 -18000 0 CDT} + {1446361200 -18000 0 EST} + {1457852400 -18000 0 CDT} + {1478415600 -18000 0 EST} + {1489302000 -18000 0 CDT} + {1509865200 -18000 0 EST} + {1520751600 -18000 0 CDT} + {1541314800 -18000 0 EST} + {1552201200 -18000 0 CDT} + {1572764400 -18000 0 EST} + {1583650800 -18000 0 CDT} + {1604214000 -18000 0 EST} + {1615705200 -18000 0 CDT} + {1636268400 -18000 0 EST} + {1647154800 -18000 0 CDT} + {1667718000 -18000 0 EST} + {1678604400 -18000 0 CDT} + {1699167600 -18000 0 EST} + {1710054000 -18000 0 CDT} + {1730617200 -18000 0 EST} + {1741503600 -18000 0 CDT} + {1762066800 -18000 0 EST} + {1772953200 -18000 0 CDT} + {1793516400 -18000 0 EST} + {1805007600 -18000 0 CDT} + {1825570800 -18000 0 EST} + {1836457200 -18000 0 CDT} + {1857020400 -18000 0 EST} + {1867906800 -18000 0 CDT} + {1888470000 -18000 0 EST} + {1899356400 -18000 0 CDT} + {1919919600 -18000 0 EST} + {1930806000 -18000 0 CDT} + {1951369200 -18000 0 EST} + {1962860400 -18000 0 CDT} + {1983423600 -18000 0 EST} + {1994310000 -18000 0 CDT} + {2014873200 -18000 0 EST} + {2025759600 -18000 0 CDT} + {2046322800 -18000 0 EST} + {2057209200 -18000 0 CDT} + {2077772400 -18000 0 EST} + {2088658800 -18000 0 CDT} + {2109222000 -18000 0 EST} + {2120108400 -18000 0 CDT} + {2140671600 -18000 0 EST} + {2152162800 -18000 0 CDT} + {2172726000 -18000 0 EST} + {2183612400 -18000 0 CDT} + {2204175600 -18000 0 EST} + {2215062000 -18000 0 CDT} + {2235625200 -18000 0 EST} + {2246511600 -18000 0 CDT} + {2267074800 -18000 0 EST} + {2277961200 -18000 0 CDT} + {2298524400 -18000 0 EST} + {2309410800 -18000 0 CDT} + {2329974000 -18000 0 EST} + {2341465200 -18000 0 CDT} + {2362028400 -18000 0 EST} + {2372914800 -18000 0 CDT} + {2393478000 -18000 0 EST} + {2404364400 -18000 0 CDT} + {2424927600 -18000 0 EST} + {2435814000 -18000 0 CDT} + {2456377200 -18000 0 EST} + {2467263600 -18000 0 CDT} + {2487826800 -18000 0 EST} + {2499318000 -18000 0 CDT} + {2519881200 -18000 0 EST} + {2530767600 -18000 0 CDT} + {2551330800 -18000 0 EST} + {2562217200 -18000 0 CDT} + {2582780400 -18000 0 EST} + {2593666800 -18000 0 CDT} + {2614230000 -18000 0 EST} + {2625116400 -18000 0 CDT} + {2645679600 -18000 0 EST} + {2656566000 -18000 0 CDT} + {2677129200 -18000 0 EST} + {2688620400 -18000 0 CDT} + {2709183600 -18000 0 EST} + {2720070000 -18000 0 CDT} + {2740633200 -18000 0 EST} + {2751519600 -18000 0 CDT} + {2772082800 -18000 0 EST} + {2782969200 -18000 0 CDT} + {2803532400 -18000 0 EST} + {2814418800 -18000 0 CDT} + {2834982000 -18000 0 EST} + {2846473200 -18000 0 CDT} + {2867036400 -18000 0 EST} + {2877922800 -18000 0 CDT} + {2898486000 -18000 0 EST} + {2909372400 -18000 0 CDT} + {2929935600 -18000 0 EST} + {2940822000 -18000 0 CDT} + {2961385200 -18000 0 EST} + {2972271600 -18000 0 CDT} + {2992834800 -18000 0 EST} + {3003721200 -18000 0 CDT} + {3024284400 -18000 0 EST} + {3035775600 -18000 0 CDT} + {3056338800 -18000 0 EST} + {3067225200 -18000 0 CDT} + {3087788400 -18000 0 EST} + {3098674800 -18000 0 CDT} + {3119238000 -18000 0 EST} + {3130124400 -18000 0 CDT} + {3150687600 -18000 0 EST} + {3161574000 -18000 0 CDT} + {3182137200 -18000 0 EST} + {3193023600 -18000 0 CDT} + {3213586800 -18000 0 EST} + {3225078000 -18000 0 CDT} + {3245641200 -18000 0 EST} + {3256527600 -18000 0 CDT} + {3277090800 -18000 0 EST} + {3287977200 -18000 0 CDT} + {3308540400 -18000 0 EST} + {3319426800 -18000 0 CDT} + {3339990000 -18000 0 EST} + {3350876400 -18000 0 CDT} + {3371439600 -18000 0 EST} + {3382930800 -18000 0 CDT} + {3403494000 -18000 0 EST} + {3414380400 -18000 0 CDT} + {3434943600 -18000 0 EST} + {3445830000 -18000 0 CDT} + {3466393200 -18000 0 EST} + {3477279600 -18000 0 CDT} + {3497842800 -18000 0 EST} + {3508729200 -18000 0 CDT} + {3529292400 -18000 0 EST} + {3540178800 -18000 0 CDT} + {3560742000 -18000 0 EST} + {3572233200 -18000 0 CDT} + {3592796400 -18000 0 EST} + {3603682800 -18000 0 CDT} + {3624246000 -18000 0 EST} + {3635132400 -18000 0 CDT} + {3655695600 -18000 0 EST} + {3666582000 -18000 0 CDT} + {3687145200 -18000 0 EST} + {3698031600 -18000 0 CDT} + {3718594800 -18000 0 EST} + {3730086000 -18000 0 CDT} + {3750649200 -18000 0 EST} + {3761535600 -18000 0 CDT} + {3782098800 -18000 0 EST} + {3792985200 -18000 0 CDT} + {3813548400 -18000 0 EST} + {3824434800 -18000 0 CDT} + {3844998000 -18000 0 EST} + {3855884400 -18000 0 CDT} + {3876447600 -18000 0 EST} + {3887334000 -18000 0 CDT} + {3907897200 -18000 0 EST} + {3919388400 -18000 0 CDT} + {3939951600 -18000 0 EST} + {3950838000 -18000 0 CDT} + {3971401200 -18000 0 EST} + {3982287600 -18000 0 CDT} + {4002850800 -18000 0 EST} + {4013737200 -18000 0 CDT} + {4034300400 -18000 0 EST} + {4045186800 -18000 0 CDT} + {4065750000 -18000 0 EST} + {4076636400 -18000 0 CDT} + {4097199600 -18000 0 EST} } diff --git a/library/tzdata/America/Santa_Isabel b/library/tzdata/America/Santa_Isabel deleted file mode 100644 index 87cb5a8..0000000 --- a/library/tzdata/America/Santa_Isabel +++ /dev/null @@ -1,284 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:America/Santa_Isabel) { - {-9223372036854775808 -27568 0 LMT} - {-1514736000 -25200 0 MST} - {-1451667600 -28800 0 PST} - {-1343062800 -25200 0 MST} - {-1234803600 -28800 0 PST} - {-1222963200 -25200 1 PDT} - {-1207242000 -28800 0 PST} - {-873820800 -25200 1 PWT} - {-769395600 -25200 1 PPT} - {-761677200 -28800 0 PST} - {-686073600 -25200 1 PDT} - {-661539600 -28800 0 PST} - {-504892800 -28800 0 PST} - {-495036000 -25200 1 PDT} - {-481734000 -28800 0 PST} - {-463586400 -25200 1 PDT} - {-450284400 -28800 0 PST} - {-431532000 -25200 1 PDT} - {-418230000 -28800 0 PST} - {-400082400 -25200 1 PDT} - {-386780400 -28800 0 PST} - {-368632800 -25200 1 PDT} - {-355330800 -28800 0 PST} - {-337183200 -25200 1 PDT} - {-323881200 -28800 0 PST} - {-305733600 -25200 1 PDT} - {-292431600 -28800 0 PST} - {-283968000 -28800 0 PST} - {189331200 -28800 0 PST} - {199274400 -25200 1 PDT} - {215600400 -28800 0 PST} - {230724000 -25200 1 PDT} - {247050000 -28800 0 PST} - {262778400 -25200 1 PDT} - {278499600 -28800 0 PST} - {294228000 -25200 1 PDT} - {309949200 -28800 0 PST} - {325677600 -25200 1 PDT} - {341398800 -28800 0 PST} - {357127200 -25200 1 PDT} - {372848400 -28800 0 PST} - {388576800 -25200 1 PDT} - {404902800 -28800 0 PST} - {420026400 -25200 1 PDT} - {436352400 -28800 0 PST} - {452080800 -25200 1 PDT} - {467802000 -28800 0 PST} - {483530400 -25200 1 PDT} - {499251600 -28800 0 PST} - {514980000 -25200 1 PDT} - {530701200 -28800 0 PST} - {544615200 -25200 1 PDT} - {562150800 -28800 0 PST} - {576064800 -25200 1 PDT} - {594205200 -28800 0 PST} - {607514400 -25200 1 PDT} - {625654800 -28800 0 PST} - {638964000 -25200 1 PDT} - {657104400 -28800 0 PST} - {671018400 -25200 1 PDT} - {688554000 -28800 0 PST} - {702468000 -25200 1 PDT} - {720003600 -28800 0 PST} - {733917600 -25200 1 PDT} - {752058000 -28800 0 PST} - {765367200 -25200 1 PDT} - {783507600 -28800 0 PST} - {796816800 -25200 1 PDT} - {814957200 -28800 0 PST} - {820483200 -28800 0 PST} - {828871200 -25200 1 PDT} - {846406800 -28800 0 PST} - {860320800 -25200 1 PDT} - {877856400 -28800 0 PST} - {891770400 -25200 1 PDT} - {909306000 -28800 0 PST} - {923220000 -25200 1 PDT} - {941360400 -28800 0 PST} - {954669600 -25200 1 PDT} - {972810000 -28800 0 PST} - {978336000 -28800 0 PST} - {986119200 -25200 1 PDT} - {1004259600 -28800 0 PST} - {1014192000 -28800 0 PST} - {1018173600 -25200 1 PDT} - {1035709200 -28800 0 PST} - {1049623200 -25200 1 PDT} - {1067158800 -28800 0 PST} - {1081072800 -25200 1 PDT} - {1099213200 -28800 0 PST} - {1112522400 -25200 1 PDT} - {1130662800 -28800 0 PST} - {1143972000 -25200 1 PDT} - {1162112400 -28800 0 PST} - {1175421600 -25200 1 PDT} - {1193562000 -28800 0 PST} - {1207476000 -25200 1 PDT} - {1225011600 -28800 0 PST} - {1238925600 -25200 1 PDT} - {1256461200 -28800 0 PST} - {1270375200 -25200 1 PDT} - {1288515600 -28800 0 PST} - {1301824800 -25200 1 PDT} - {1319965200 -28800 0 PST} - {1333274400 -25200 1 PDT} - {1351414800 -28800 0 PST} - {1365328800 -25200 1 PDT} - {1382864400 -28800 0 PST} - {1396778400 -25200 1 PDT} - {1414314000 -28800 0 PST} - {1428228000 -25200 1 PDT} - {1445763600 -28800 0 PST} - {1459677600 -25200 1 PDT} - {1477818000 -28800 0 PST} - {1491127200 -25200 1 PDT} - {1509267600 -28800 0 PST} - {1522576800 -25200 1 PDT} - {1540717200 -28800 0 PST} - {1554631200 -25200 1 PDT} - {1572166800 -28800 0 PST} - {1586080800 -25200 1 PDT} - {1603616400 -28800 0 PST} - {1617530400 -25200 1 PDT} - {1635670800 -28800 0 PST} - {1648980000 -25200 1 PDT} - {1667120400 -28800 0 PST} - {1680429600 -25200 1 PDT} - {1698570000 -28800 0 PST} - {1712484000 -25200 1 PDT} - {1730019600 -28800 0 PST} - {1743933600 -25200 1 PDT} - {1761469200 -28800 0 PST} - {1775383200 -25200 1 PDT} - {1792918800 -28800 0 PST} - {1806832800 -25200 1 PDT} - {1824973200 -28800 0 PST} - {1838282400 -25200 1 PDT} - {1856422800 -28800 0 PST} - {1869732000 -25200 1 PDT} - {1887872400 -28800 0 PST} - {1901786400 -25200 1 PDT} - {1919322000 -28800 0 PST} - {1933236000 -25200 1 PDT} - {1950771600 -28800 0 PST} - {1964685600 -25200 1 PDT} - {1982826000 -28800 0 PST} - {1996135200 -25200 1 PDT} - {2014275600 -28800 0 PST} - {2027584800 -25200 1 PDT} - {2045725200 -28800 0 PST} - {2059034400 -25200 1 PDT} - {2077174800 -28800 0 PST} - {2091088800 -25200 1 PDT} - {2108624400 -28800 0 PST} - {2122538400 -25200 1 PDT} - {2140074000 -28800 0 PST} - {2153988000 -25200 1 PDT} - {2172128400 -28800 0 PST} - {2185437600 -25200 1 PDT} - {2203578000 -28800 0 PST} - {2216887200 -25200 1 PDT} - {2235027600 -28800 0 PST} - {2248941600 -25200 1 PDT} - {2266477200 -28800 0 PST} - {2280391200 -25200 1 PDT} - {2297926800 -28800 0 PST} - {2311840800 -25200 1 PDT} - {2329376400 -28800 0 PST} - {2343290400 -25200 1 PDT} - {2361430800 -28800 0 PST} - {2374740000 -25200 1 PDT} - {2392880400 -28800 0 PST} - {2406189600 -25200 1 PDT} - {2424330000 -28800 0 PST} - {2438244000 -25200 1 PDT} - {2455779600 -28800 0 PST} - {2469693600 -25200 1 PDT} - {2487229200 -28800 0 PST} - {2501143200 -25200 1 PDT} - {2519283600 -28800 0 PST} - {2532592800 -25200 1 PDT} - {2550733200 -28800 0 PST} - {2564042400 -25200 1 PDT} - {2582182800 -28800 0 PST} - {2596096800 -25200 1 PDT} - {2613632400 -28800 0 PST} - {2627546400 -25200 1 PDT} - {2645082000 -28800 0 PST} - {2658996000 -25200 1 PDT} - {2676531600 -28800 0 PST} - {2690445600 -25200 1 PDT} - {2708586000 -28800 0 PST} - {2721895200 -25200 1 PDT} - {2740035600 -28800 0 PST} - {2753344800 -25200 1 PDT} - {2771485200 -28800 0 PST} - {2785399200 -25200 1 PDT} - {2802934800 -28800 0 PST} - {2816848800 -25200 1 PDT} - {2834384400 -28800 0 PST} - {2848298400 -25200 1 PDT} - {2866438800 -28800 0 PST} - {2879748000 -25200 1 PDT} - {2897888400 -28800 0 PST} - {2911197600 -25200 1 PDT} - {2929338000 -28800 0 PST} - {2942647200 -25200 1 PDT} - {2960787600 -28800 0 PST} - {2974701600 -25200 1 PDT} - {2992237200 -28800 0 PST} - {3006151200 -25200 1 PDT} - {3023686800 -28800 0 PST} - {3037600800 -25200 1 PDT} - {3055741200 -28800 0 PST} - {3069050400 -25200 1 PDT} - {3087190800 -28800 0 PST} - {3100500000 -25200 1 PDT} - {3118640400 -28800 0 PST} - {3132554400 -25200 1 PDT} - {3150090000 -28800 0 PST} - {3164004000 -25200 1 PDT} - {3181539600 -28800 0 PST} - {3195453600 -25200 1 PDT} - {3212989200 -28800 0 PST} - {3226903200 -25200 1 PDT} - {3245043600 -28800 0 PST} - {3258352800 -25200 1 PDT} - {3276493200 -28800 0 PST} - {3289802400 -25200 1 PDT} - {3307942800 -28800 0 PST} - {3321856800 -25200 1 PDT} - {3339392400 -28800 0 PST} - {3353306400 -25200 1 PDT} - {3370842000 -28800 0 PST} - {3384756000 -25200 1 PDT} - {3402896400 -28800 0 PST} - {3416205600 -25200 1 PDT} - {3434346000 -28800 0 PST} - {3447655200 -25200 1 PDT} - {3465795600 -28800 0 PST} - {3479709600 -25200 1 PDT} - {3497245200 -28800 0 PST} - {3511159200 -25200 1 PDT} - {3528694800 -28800 0 PST} - {3542608800 -25200 1 PDT} - {3560144400 -28800 0 PST} - {3574058400 -25200 1 PDT} - {3592198800 -28800 0 PST} - {3605508000 -25200 1 PDT} - {3623648400 -28800 0 PST} - {3636957600 -25200 1 PDT} - {3655098000 -28800 0 PST} - {3669012000 -25200 1 PDT} - {3686547600 -28800 0 PST} - {3700461600 -25200 1 PDT} - {3717997200 -28800 0 PST} - {3731911200 -25200 1 PDT} - {3750051600 -28800 0 PST} - {3763360800 -25200 1 PDT} - {3781501200 -28800 0 PST} - {3794810400 -25200 1 PDT} - {3812950800 -28800 0 PST} - {3826260000 -25200 1 PDT} - {3844400400 -28800 0 PST} - {3858314400 -25200 1 PDT} - {3875850000 -28800 0 PST} - {3889764000 -25200 1 PDT} - {3907299600 -28800 0 PST} - {3921213600 -25200 1 PDT} - {3939354000 -28800 0 PST} - {3952663200 -25200 1 PDT} - {3970803600 -28800 0 PST} - {3984112800 -25200 1 PDT} - {4002253200 -28800 0 PST} - {4016167200 -25200 1 PDT} - {4033702800 -28800 0 PST} - {4047616800 -25200 1 PDT} - {4065152400 -28800 0 PST} - {4079066400 -25200 1 PDT} - {4096602000 -28800 0 PST} -} diff --git a/library/tzdata/America/Santiago b/library/tzdata/America/Santiago index 44be9f8..9f1d358 100644 --- a/library/tzdata/America/Santiago +++ b/library/tzdata/America/Santiago @@ -108,184 +108,184 @@ set TZData(:America/Santiago) { {1223784000 -10800 1 CLST} {1237086000 -14400 0 CLT} {1255233600 -10800 1 CLST} - {1270350000 -14400 0 CLT} + {1268535600 -14400 0 CLT} {1286683200 -10800 1 CLST} - {1304823600 -14400 0 CLT} - {1313899200 -10800 1 CLST} - {1335668400 -14400 0 CLT} - {1346558400 -10800 1 CLST} - {1367118000 -14400 0 CLT} - {1378612800 -10800 1 CLST} - {1398567600 -14400 0 CLT} - {1410062400 -10800 1 CLST} - {1430017200 -14400 0 CLT} - {1441512000 -10800 1 CLST} - {1461466800 -14400 0 CLT} - {1472961600 -10800 1 CLST} - {1492916400 -14400 0 CLT} - {1504411200 -10800 1 CLST} - {1524970800 -14400 0 CLT} - {1535860800 -10800 1 CLST} - {1556420400 -14400 0 CLT} - {1567915200 -10800 1 CLST} - {1587870000 -14400 0 CLT} - {1599364800 -10800 1 CLST} - {1619319600 -14400 0 CLT} - {1630814400 -10800 1 CLST} - {1650769200 -14400 0 CLT} - {1662264000 -10800 1 CLST} - {1682218800 -14400 0 CLT} - {1693713600 -10800 1 CLST} - {1714273200 -14400 0 CLT} - {1725768000 -10800 1 CLST} - {1745722800 -14400 0 CLT} - {1757217600 -10800 1 CLST} - {1777172400 -14400 0 CLT} - {1788667200 -10800 1 CLST} - {1808622000 -14400 0 CLT} - {1820116800 -10800 1 CLST} - {1840071600 -14400 0 CLT} - {1851566400 -10800 1 CLST} - {1872126000 -14400 0 CLT} - {1883016000 -10800 1 CLST} - {1903575600 -14400 0 CLT} - {1915070400 -10800 1 CLST} - {1935025200 -14400 0 CLT} - {1946520000 -10800 1 CLST} - {1966474800 -14400 0 CLT} - {1977969600 -10800 1 CLST} - {1997924400 -14400 0 CLT} - {2009419200 -10800 1 CLST} - {2029374000 -14400 0 CLT} - {2040868800 -10800 1 CLST} - {2061428400 -14400 0 CLT} - {2072318400 -10800 1 CLST} - {2092878000 -14400 0 CLT} - {2104372800 -10800 1 CLST} - {2124327600 -14400 0 CLT} - {2135822400 -10800 1 CLST} - {2155777200 -14400 0 CLT} - {2167272000 -10800 1 CLST} - {2187226800 -14400 0 CLT} - {2198721600 -10800 1 CLST} - {2219281200 -14400 0 CLT} - {2230171200 -10800 1 CLST} - {2250730800 -14400 0 CLT} - {2262225600 -10800 1 CLST} - {2282180400 -14400 0 CLT} - {2293675200 -10800 1 CLST} - {2313630000 -14400 0 CLT} - {2325124800 -10800 1 CLST} - {2345079600 -14400 0 CLT} - {2356574400 -10800 1 CLST} - {2376529200 -14400 0 CLT} - {2388024000 -10800 1 CLST} - {2408583600 -14400 0 CLT} - {2419473600 -10800 1 CLST} - {2440033200 -14400 0 CLT} - {2451528000 -10800 1 CLST} - {2471482800 -14400 0 CLT} - {2482977600 -10800 1 CLST} - {2502932400 -14400 0 CLT} - {2514427200 -10800 1 CLST} - {2534382000 -14400 0 CLT} - {2545876800 -10800 1 CLST} - {2565831600 -14400 0 CLT} - {2577326400 -10800 1 CLST} - {2597886000 -14400 0 CLT} - {2609380800 -10800 1 CLST} - {2629335600 -14400 0 CLT} - {2640830400 -10800 1 CLST} - {2660785200 -14400 0 CLT} - {2672280000 -10800 1 CLST} - {2692234800 -14400 0 CLT} - {2703729600 -10800 1 CLST} - {2723684400 -14400 0 CLT} - {2735179200 -10800 1 CLST} - {2755738800 -14400 0 CLT} - {2766628800 -10800 1 CLST} - {2787188400 -14400 0 CLT} - {2798683200 -10800 1 CLST} - {2818638000 -14400 0 CLT} - {2830132800 -10800 1 CLST} - {2850087600 -14400 0 CLT} - {2861582400 -10800 1 CLST} - {2881537200 -14400 0 CLT} - {2893032000 -10800 1 CLST} - {2912986800 -14400 0 CLT} - {2924481600 -10800 1 CLST} - {2945041200 -14400 0 CLT} - {2955931200 -10800 1 CLST} - {2976490800 -14400 0 CLT} - {2987985600 -10800 1 CLST} - {3007940400 -14400 0 CLT} - {3019435200 -10800 1 CLST} - {3039390000 -14400 0 CLT} - {3050884800 -10800 1 CLST} - {3070839600 -14400 0 CLT} - {3082334400 -10800 1 CLST} - {3102894000 -14400 0 CLT} - {3113784000 -10800 1 CLST} - {3134343600 -14400 0 CLT} - {3145838400 -10800 1 CLST} - {3165793200 -14400 0 CLT} - {3177288000 -10800 1 CLST} - {3197242800 -14400 0 CLT} - {3208737600 -10800 1 CLST} - {3228692400 -14400 0 CLT} - {3240187200 -10800 1 CLST} - {3260142000 -14400 0 CLT} - {3271636800 -10800 1 CLST} - {3292196400 -14400 0 CLT} - {3303086400 -10800 1 CLST} - {3323646000 -14400 0 CLT} - {3335140800 -10800 1 CLST} - {3355095600 -14400 0 CLT} - {3366590400 -10800 1 CLST} - {3386545200 -14400 0 CLT} - {3398040000 -10800 1 CLST} - {3417994800 -14400 0 CLT} - {3429489600 -10800 1 CLST} - {3449444400 -14400 0 CLT} - {3460939200 -10800 1 CLST} - {3481498800 -14400 0 CLT} - {3492993600 -10800 1 CLST} - {3512948400 -14400 0 CLT} - {3524443200 -10800 1 CLST} - {3544398000 -14400 0 CLT} - {3555892800 -10800 1 CLST} - {3575847600 -14400 0 CLT} - {3587342400 -10800 1 CLST} - {3607297200 -14400 0 CLT} - {3618792000 -10800 1 CLST} - {3639351600 -14400 0 CLT} - {3650241600 -10800 1 CLST} - {3670801200 -14400 0 CLT} - {3682296000 -10800 1 CLST} - {3702250800 -14400 0 CLT} - {3713745600 -10800 1 CLST} - {3733700400 -14400 0 CLT} - {3745195200 -10800 1 CLST} - {3765150000 -14400 0 CLT} - {3776644800 -10800 1 CLST} - {3796599600 -14400 0 CLT} - {3808094400 -10800 1 CLST} - {3828654000 -14400 0 CLT} - {3839544000 -10800 1 CLST} - {3860103600 -14400 0 CLT} - {3871598400 -10800 1 CLST} - {3891553200 -14400 0 CLT} - {3903048000 -10800 1 CLST} - {3923002800 -14400 0 CLT} - {3934497600 -10800 1 CLST} - {3954452400 -14400 0 CLT} - {3965947200 -10800 1 CLST} - {3986506800 -14400 0 CLT} - {3997396800 -10800 1 CLST} - {4017956400 -14400 0 CLT} - {4029451200 -10800 1 CLST} - {4049406000 -14400 0 CLT} - {4060900800 -10800 1 CLST} - {4080855600 -14400 0 CLT} - {4092350400 -10800 1 CLST} + {1299985200 -14400 0 CLT} + {1318132800 -10800 1 CLST} + {1331434800 -14400 0 CLT} + {1350187200 -10800 1 CLST} + {1362884400 -14400 0 CLT} + {1381636800 -10800 1 CLST} + {1394334000 -14400 0 CLT} + {1413086400 -10800 1 CLST} + {1426388400 -14400 0 CLT} + {1444536000 -10800 1 CLST} + {1457838000 -14400 0 CLT} + {1475985600 -10800 1 CLST} + {1489287600 -14400 0 CLT} + {1508040000 -10800 1 CLST} + {1520737200 -14400 0 CLT} + {1539489600 -10800 1 CLST} + {1552186800 -14400 0 CLT} + {1570939200 -10800 1 CLST} + {1584241200 -14400 0 CLT} + {1602388800 -10800 1 CLST} + {1615690800 -14400 0 CLT} + {1633838400 -10800 1 CLST} + {1647140400 -14400 0 CLT} + {1665288000 -10800 1 CLST} + {1678590000 -14400 0 CLT} + {1697342400 -10800 1 CLST} + {1710039600 -14400 0 CLT} + {1728792000 -10800 1 CLST} + {1741489200 -14400 0 CLT} + {1760241600 -10800 1 CLST} + {1773543600 -14400 0 CLT} + {1791691200 -10800 1 CLST} + {1804993200 -14400 0 CLT} + {1823140800 -10800 1 CLST} + {1836442800 -14400 0 CLT} + {1855195200 -10800 1 CLST} + {1867892400 -14400 0 CLT} + {1886644800 -10800 1 CLST} + {1899342000 -14400 0 CLT} + {1918094400 -10800 1 CLST} + {1930791600 -14400 0 CLT} + {1949544000 -10800 1 CLST} + {1962846000 -14400 0 CLT} + {1980993600 -10800 1 CLST} + {1994295600 -14400 0 CLT} + {2012443200 -10800 1 CLST} + {2025745200 -14400 0 CLT} + {2044497600 -10800 1 CLST} + {2057194800 -14400 0 CLT} + {2075947200 -10800 1 CLST} + {2088644400 -14400 0 CLT} + {2107396800 -10800 1 CLST} + {2120698800 -14400 0 CLT} + {2138846400 -10800 1 CLST} + {2152148400 -14400 0 CLT} + {2170296000 -10800 1 CLST} + {2183598000 -14400 0 CLT} + {2201745600 -10800 1 CLST} + {2215047600 -14400 0 CLT} + {2233800000 -10800 1 CLST} + {2246497200 -14400 0 CLT} + {2265249600 -10800 1 CLST} + {2277946800 -14400 0 CLT} + {2296699200 -10800 1 CLST} + {2310001200 -14400 0 CLT} + {2328148800 -10800 1 CLST} + {2341450800 -14400 0 CLT} + {2359598400 -10800 1 CLST} + {2372900400 -14400 0 CLT} + {2391652800 -10800 1 CLST} + {2404350000 -14400 0 CLT} + {2423102400 -10800 1 CLST} + {2435799600 -14400 0 CLT} + {2454552000 -10800 1 CLST} + {2467854000 -14400 0 CLT} + {2486001600 -10800 1 CLST} + {2499303600 -14400 0 CLT} + {2517451200 -10800 1 CLST} + {2530753200 -14400 0 CLT} + {2548900800 -10800 1 CLST} + {2562202800 -14400 0 CLT} + {2580955200 -10800 1 CLST} + {2593652400 -14400 0 CLT} + {2612404800 -10800 1 CLST} + {2625102000 -14400 0 CLT} + {2643854400 -10800 1 CLST} + {2657156400 -14400 0 CLT} + {2675304000 -10800 1 CLST} + {2688606000 -14400 0 CLT} + {2706753600 -10800 1 CLST} + {2720055600 -14400 0 CLT} + {2738808000 -10800 1 CLST} + {2751505200 -14400 0 CLT} + {2770257600 -10800 1 CLST} + {2782954800 -14400 0 CLT} + {2801707200 -10800 1 CLST} + {2814404400 -14400 0 CLT} + {2833156800 -10800 1 CLST} + {2846458800 -14400 0 CLT} + {2864606400 -10800 1 CLST} + {2877908400 -14400 0 CLT} + {2896056000 -10800 1 CLST} + {2909358000 -14400 0 CLT} + {2928110400 -10800 1 CLST} + {2940807600 -14400 0 CLT} + {2959560000 -10800 1 CLST} + {2972257200 -14400 0 CLT} + {2991009600 -10800 1 CLST} + {3004311600 -14400 0 CLT} + {3022459200 -10800 1 CLST} + {3035761200 -14400 0 CLT} + {3053908800 -10800 1 CLST} + {3067210800 -14400 0 CLT} + {3085358400 -10800 1 CLST} + {3098660400 -14400 0 CLT} + {3117412800 -10800 1 CLST} + {3130110000 -14400 0 CLT} + {3148862400 -10800 1 CLST} + {3161559600 -14400 0 CLT} + {3180312000 -10800 1 CLST} + {3193614000 -14400 0 CLT} + {3211761600 -10800 1 CLST} + {3225063600 -14400 0 CLT} + {3243211200 -10800 1 CLST} + {3256513200 -14400 0 CLT} + {3275265600 -10800 1 CLST} + {3287962800 -14400 0 CLT} + {3306715200 -10800 1 CLST} + {3319412400 -14400 0 CLT} + {3338164800 -10800 1 CLST} + {3351466800 -14400 0 CLT} + {3369614400 -10800 1 CLST} + {3382916400 -14400 0 CLT} + {3401064000 -10800 1 CLST} + {3414366000 -14400 0 CLT} + {3432513600 -10800 1 CLST} + {3445815600 -14400 0 CLT} + {3464568000 -10800 1 CLST} + {3477265200 -14400 0 CLT} + {3496017600 -10800 1 CLST} + {3508714800 -14400 0 CLT} + {3527467200 -10800 1 CLST} + {3540769200 -14400 0 CLT} + {3558916800 -10800 1 CLST} + {3572218800 -14400 0 CLT} + {3590366400 -10800 1 CLST} + {3603668400 -14400 0 CLT} + {3622420800 -10800 1 CLST} + {3635118000 -14400 0 CLT} + {3653870400 -10800 1 CLST} + {3666567600 -14400 0 CLT} + {3685320000 -10800 1 CLST} + {3698017200 -14400 0 CLT} + {3716769600 -10800 1 CLST} + {3730071600 -14400 0 CLT} + {3748219200 -10800 1 CLST} + {3761521200 -14400 0 CLT} + {3779668800 -10800 1 CLST} + {3792970800 -14400 0 CLT} + {3811723200 -10800 1 CLST} + {3824420400 -14400 0 CLT} + {3843172800 -10800 1 CLST} + {3855870000 -14400 0 CLT} + {3874622400 -10800 1 CLST} + {3887924400 -14400 0 CLT} + {3906072000 -10800 1 CLST} + {3919374000 -14400 0 CLT} + {3937521600 -10800 1 CLST} + {3950823600 -14400 0 CLT} + {3968971200 -10800 1 CLST} + {3982273200 -14400 0 CLT} + {4001025600 -10800 1 CLST} + {4013722800 -14400 0 CLT} + {4032475200 -10800 1 CLST} + {4045172400 -14400 0 CLT} + {4063924800 -10800 1 CLST} + {4077226800 -14400 0 CLT} + {4095374400 -10800 1 CLST} } diff --git a/library/tzdata/America/Sitka b/library/tzdata/America/Sitka deleted file mode 100644 index 8c53d93..0000000 --- a/library/tzdata/America/Sitka +++ /dev/null @@ -1,275 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:America/Sitka) { - {-9223372036854775808 53927 0 LMT} - {-3225365927 -32473 0 LMT} - {-2188954727 -28800 0 PST} - {-883584000 -28800 0 PST} - {-880207200 -25200 1 PWT} - {-769395600 -25200 1 PPT} - {-765385200 -28800 0 PST} - {-757353600 -28800 0 PST} - {-31507200 -28800 0 PST} - {-21477600 -25200 1 PDT} - {-5756400 -28800 0 PST} - {9972000 -25200 1 PDT} - {25693200 -28800 0 PST} - {41421600 -25200 1 PDT} - {57747600 -28800 0 PST} - {73476000 -25200 1 PDT} - {89197200 -28800 0 PST} - {104925600 -25200 1 PDT} - {120646800 -28800 0 PST} - {126698400 -25200 1 PDT} - {152096400 -28800 0 PST} - {162381600 -25200 1 PDT} - {183546000 -28800 0 PST} - {199274400 -25200 1 PDT} - {215600400 -28800 0 PST} - {230724000 -25200 1 PDT} - {247050000 -28800 0 PST} - {262778400 -25200 1 PDT} - {278499600 -28800 0 PST} - {294228000 -25200 1 PDT} - {309949200 -28800 0 PST} - {325677600 -25200 1 PDT} - {341398800 -28800 0 PST} - {357127200 -25200 1 PDT} - {372848400 -28800 0 PST} - {388576800 -25200 1 PDT} - {404902800 -28800 0 PST} - {420026400 -25200 1 PDT} - {439030800 -32400 0 AKST} - {452084400 -28800 1 AKDT} - {467805600 -32400 0 AKST} - {483534000 -28800 1 AKDT} - {499255200 -32400 0 AKST} - {514983600 -28800 1 AKDT} - {530704800 -32400 0 AKST} - {544618800 -28800 1 AKDT} - {562154400 -32400 0 AKST} - {576068400 -28800 1 AKDT} - {594208800 -32400 0 AKST} - {607518000 -28800 1 AKDT} - {625658400 -32400 0 AKST} - {638967600 -28800 1 AKDT} - {657108000 -32400 0 AKST} - {671022000 -28800 1 AKDT} - {688557600 -32400 0 AKST} - {702471600 -28800 1 AKDT} - {720007200 -32400 0 AKST} - {733921200 -28800 1 AKDT} - {752061600 -32400 0 AKST} - {765370800 -28800 1 AKDT} - {783511200 -32400 0 AKST} - {796820400 -28800 1 AKDT} - {814960800 -32400 0 AKST} - {828874800 -28800 1 AKDT} - {846410400 -32400 0 AKST} - {860324400 -28800 1 AKDT} - {877860000 -32400 0 AKST} - {891774000 -28800 1 AKDT} - {909309600 -32400 0 AKST} - {923223600 -28800 1 AKDT} - {941364000 -32400 0 AKST} - {954673200 -28800 1 AKDT} - {972813600 -32400 0 AKST} - {986122800 -28800 1 AKDT} - {1004263200 -32400 0 AKST} - {1018177200 -28800 1 AKDT} - {1035712800 -32400 0 AKST} - {1049626800 -28800 1 AKDT} - {1067162400 -32400 0 AKST} - {1081076400 -28800 1 AKDT} - {1099216800 -32400 0 AKST} - {1112526000 -28800 1 AKDT} - {1130666400 -32400 0 AKST} - {1143975600 -28800 1 AKDT} - {1162116000 -32400 0 AKST} - {1173610800 -28800 1 AKDT} - {1194170400 -32400 0 AKST} - {1205060400 -28800 1 AKDT} - {1225620000 -32400 0 AKST} - {1236510000 -28800 1 AKDT} - {1257069600 -32400 0 AKST} - {1268564400 -28800 1 AKDT} - {1289124000 -32400 0 AKST} - {1300014000 -28800 1 AKDT} - {1320573600 -32400 0 AKST} - {1331463600 -28800 1 AKDT} - {1352023200 -32400 0 AKST} - {1362913200 -28800 1 AKDT} - {1383472800 -32400 0 AKST} - {1394362800 -28800 1 AKDT} - {1414922400 -32400 0 AKST} - {1425812400 -28800 1 AKDT} - {1446372000 -32400 0 AKST} - {1457866800 -28800 1 AKDT} - {1478426400 -32400 0 AKST} - {1489316400 -28800 1 AKDT} - {1509876000 -32400 0 AKST} - {1520766000 -28800 1 AKDT} - {1541325600 -32400 0 AKST} - {1552215600 -28800 1 AKDT} - {1572775200 -32400 0 AKST} - {1583665200 -28800 1 AKDT} - {1604224800 -32400 0 AKST} - {1615719600 -28800 1 AKDT} - {1636279200 -32400 0 AKST} - {1647169200 -28800 1 AKDT} - {1667728800 -32400 0 AKST} - {1678618800 -28800 1 AKDT} - {1699178400 -32400 0 AKST} - {1710068400 -28800 1 AKDT} - {1730628000 -32400 0 AKST} - {1741518000 -28800 1 AKDT} - {1762077600 -32400 0 AKST} - {1772967600 -28800 1 AKDT} - {1793527200 -32400 0 AKST} - {1805022000 -28800 1 AKDT} - {1825581600 -32400 0 AKST} - {1836471600 -28800 1 AKDT} - {1857031200 -32400 0 AKST} - {1867921200 -28800 1 AKDT} - {1888480800 -32400 0 AKST} - {1899370800 -28800 1 AKDT} - {1919930400 -32400 0 AKST} - {1930820400 -28800 1 AKDT} - {1951380000 -32400 0 AKST} - {1962874800 -28800 1 AKDT} - {1983434400 -32400 0 AKST} - {1994324400 -28800 1 AKDT} - {2014884000 -32400 0 AKST} - {2025774000 -28800 1 AKDT} - {2046333600 -32400 0 AKST} - {2057223600 -28800 1 AKDT} - {2077783200 -32400 0 AKST} - {2088673200 -28800 1 AKDT} - {2109232800 -32400 0 AKST} - {2120122800 -28800 1 AKDT} - {2140682400 -32400 0 AKST} - {2152177200 -28800 1 AKDT} - {2172736800 -32400 0 AKST} - {2183626800 -28800 1 AKDT} - {2204186400 -32400 0 AKST} - {2215076400 -28800 1 AKDT} - {2235636000 -32400 0 AKST} - {2246526000 -28800 1 AKDT} - {2267085600 -32400 0 AKST} - {2277975600 -28800 1 AKDT} - {2298535200 -32400 0 AKST} - {2309425200 -28800 1 AKDT} - {2329984800 -32400 0 AKST} - {2341479600 -28800 1 AKDT} - {2362039200 -32400 0 AKST} - {2372929200 -28800 1 AKDT} - {2393488800 -32400 0 AKST} - {2404378800 -28800 1 AKDT} - {2424938400 -32400 0 AKST} - {2435828400 -28800 1 AKDT} - {2456388000 -32400 0 AKST} - {2467278000 -28800 1 AKDT} - {2487837600 -32400 0 AKST} - {2499332400 -28800 1 AKDT} - {2519892000 -32400 0 AKST} - {2530782000 -28800 1 AKDT} - {2551341600 -32400 0 AKST} - {2562231600 -28800 1 AKDT} - {2582791200 -32400 0 AKST} - {2593681200 -28800 1 AKDT} - {2614240800 -32400 0 AKST} - {2625130800 -28800 1 AKDT} - {2645690400 -32400 0 AKST} - {2656580400 -28800 1 AKDT} - {2677140000 -32400 0 AKST} - {2688634800 -28800 1 AKDT} - {2709194400 -32400 0 AKST} - {2720084400 -28800 1 AKDT} - {2740644000 -32400 0 AKST} - {2751534000 -28800 1 AKDT} - {2772093600 -32400 0 AKST} - {2782983600 -28800 1 AKDT} - {2803543200 -32400 0 AKST} - {2814433200 -28800 1 AKDT} - {2834992800 -32400 0 AKST} - {2846487600 -28800 1 AKDT} - {2867047200 -32400 0 AKST} - {2877937200 -28800 1 AKDT} - {2898496800 -32400 0 AKST} - {2909386800 -28800 1 AKDT} - {2929946400 -32400 0 AKST} - {2940836400 -28800 1 AKDT} - {2961396000 -32400 0 AKST} - {2972286000 -28800 1 AKDT} - {2992845600 -32400 0 AKST} - {3003735600 -28800 1 AKDT} - {3024295200 -32400 0 AKST} - {3035790000 -28800 1 AKDT} - {3056349600 -32400 0 AKST} - {3067239600 -28800 1 AKDT} - {3087799200 -32400 0 AKST} - {3098689200 -28800 1 AKDT} - {3119248800 -32400 0 AKST} - {3130138800 -28800 1 AKDT} - {3150698400 -32400 0 AKST} - {3161588400 -28800 1 AKDT} - {3182148000 -32400 0 AKST} - {3193038000 -28800 1 AKDT} - {3213597600 -32400 0 AKST} - {3225092400 -28800 1 AKDT} - {3245652000 -32400 0 AKST} - {3256542000 -28800 1 AKDT} - {3277101600 -32400 0 AKST} - {3287991600 -28800 1 AKDT} - {3308551200 -32400 0 AKST} - {3319441200 -28800 1 AKDT} - {3340000800 -32400 0 AKST} - {3350890800 -28800 1 AKDT} - {3371450400 -32400 0 AKST} - {3382945200 -28800 1 AKDT} - {3403504800 -32400 0 AKST} - {3414394800 -28800 1 AKDT} - {3434954400 -32400 0 AKST} - {3445844400 -28800 1 AKDT} - {3466404000 -32400 0 AKST} - {3477294000 -28800 1 AKDT} - {3497853600 -32400 0 AKST} - {3508743600 -28800 1 AKDT} - {3529303200 -32400 0 AKST} - {3540193200 -28800 1 AKDT} - {3560752800 -32400 0 AKST} - {3572247600 -28800 1 AKDT} - {3592807200 -32400 0 AKST} - {3603697200 -28800 1 AKDT} - {3624256800 -32400 0 AKST} - {3635146800 -28800 1 AKDT} - {3655706400 -32400 0 AKST} - {3666596400 -28800 1 AKDT} - {3687156000 -32400 0 AKST} - {3698046000 -28800 1 AKDT} - {3718605600 -32400 0 AKST} - {3730100400 -28800 1 AKDT} - {3750660000 -32400 0 AKST} - {3761550000 -28800 1 AKDT} - {3782109600 -32400 0 AKST} - {3792999600 -28800 1 AKDT} - {3813559200 -32400 0 AKST} - {3824449200 -28800 1 AKDT} - {3845008800 -32400 0 AKST} - {3855898800 -28800 1 AKDT} - {3876458400 -32400 0 AKST} - {3887348400 -28800 1 AKDT} - {3907908000 -32400 0 AKST} - {3919402800 -28800 1 AKDT} - {3939962400 -32400 0 AKST} - {3950852400 -28800 1 AKDT} - {3971412000 -32400 0 AKST} - {3982302000 -28800 1 AKDT} - {4002861600 -32400 0 AKST} - {4013751600 -28800 1 AKDT} - {4034311200 -32400 0 AKST} - {4045201200 -28800 1 AKDT} - {4065760800 -32400 0 AKST} - {4076650800 -28800 1 AKDT} - {4097210400 -32400 0 AKST} -} diff --git a/library/tzdata/America/St_Johns b/library/tzdata/America/St_Johns index 1492961..59f92bb 100644 --- a/library/tzdata/America/St_Johns +++ b/library/tzdata/America/St_Johns @@ -7,7 +7,7 @@ set TZData(:America/St_Johns) { {-1650137348 -12652 0 NST} {-1640982548 -12652 0 NST} {-1632076148 -9052 1 NDT} - {-1615145348 -12652 0 NST} + {-1614799748 -12652 0 NST} {-1609446548 -12652 0 NST} {-1598650148 -9052 1 NDT} {-1590100148 -12652 0 NST} @@ -191,182 +191,181 @@ set TZData(:America/St_Johns) { {1268537460 -9000 1 NDT} {1289097060 -12600 0 NST} {1299987060 -9000 1 NDT} - {1320114600 -9000 0 NDT} - {1320553800 -12600 0 NST} - {1331443800 -9000 1 NDT} - {1352003400 -12600 0 NST} - {1362893400 -9000 1 NDT} - {1383453000 -12600 0 NST} - {1394343000 -9000 1 NDT} - {1414902600 -12600 0 NST} - {1425792600 -9000 1 NDT} - {1446352200 -12600 0 NST} - {1457847000 -9000 1 NDT} - {1478406600 -12600 0 NST} - {1489296600 -9000 1 NDT} - {1509856200 -12600 0 NST} - {1520746200 -9000 1 NDT} - {1541305800 -12600 0 NST} - {1552195800 -9000 1 NDT} - {1572755400 -12600 0 NST} - {1583645400 -9000 1 NDT} - {1604205000 -12600 0 NST} - {1615699800 -9000 1 NDT} - {1636259400 -12600 0 NST} - {1647149400 -9000 1 NDT} - {1667709000 -12600 0 NST} - {1678599000 -9000 1 NDT} - {1699158600 -12600 0 NST} - {1710048600 -9000 1 NDT} - {1730608200 -12600 0 NST} - {1741498200 -9000 1 NDT} - {1762057800 -12600 0 NST} - {1772947800 -9000 1 NDT} - {1793507400 -12600 0 NST} - {1805002200 -9000 1 NDT} - {1825561800 -12600 0 NST} - {1836451800 -9000 1 NDT} - {1857011400 -12600 0 NST} - {1867901400 -9000 1 NDT} - {1888461000 -12600 0 NST} - {1899351000 -9000 1 NDT} - {1919910600 -12600 0 NST} - {1930800600 -9000 1 NDT} - {1951360200 -12600 0 NST} - {1962855000 -9000 1 NDT} - {1983414600 -12600 0 NST} - {1994304600 -9000 1 NDT} - {2014864200 -12600 0 NST} - {2025754200 -9000 1 NDT} - {2046313800 -12600 0 NST} - {2057203800 -9000 1 NDT} - {2077763400 -12600 0 NST} - {2088653400 -9000 1 NDT} - {2109213000 -12600 0 NST} - {2120103000 -9000 1 NDT} - {2140662600 -12600 0 NST} - {2152157400 -9000 1 NDT} - {2172717000 -12600 0 NST} - {2183607000 -9000 1 NDT} - {2204166600 -12600 0 NST} - {2215056600 -9000 1 NDT} - {2235616200 -12600 0 NST} - {2246506200 -9000 1 NDT} - {2267065800 -12600 0 NST} - {2277955800 -9000 1 NDT} - {2298515400 -12600 0 NST} - {2309405400 -9000 1 NDT} - {2329965000 -12600 0 NST} - {2341459800 -9000 1 NDT} - {2362019400 -12600 0 NST} - {2372909400 -9000 1 NDT} - {2393469000 -12600 0 NST} - {2404359000 -9000 1 NDT} - {2424918600 -12600 0 NST} - {2435808600 -9000 1 NDT} - {2456368200 -12600 0 NST} - {2467258200 -9000 1 NDT} - {2487817800 -12600 0 NST} - {2499312600 -9000 1 NDT} - {2519872200 -12600 0 NST} - {2530762200 -9000 1 NDT} - {2551321800 -12600 0 NST} - {2562211800 -9000 1 NDT} - {2582771400 -12600 0 NST} - {2593661400 -9000 1 NDT} - {2614221000 -12600 0 NST} - {2625111000 -9000 1 NDT} - {2645670600 -12600 0 NST} - {2656560600 -9000 1 NDT} - {2677120200 -12600 0 NST} - {2688615000 -9000 1 NDT} - {2709174600 -12600 0 NST} - {2720064600 -9000 1 NDT} - {2740624200 -12600 0 NST} - {2751514200 -9000 1 NDT} - {2772073800 -12600 0 NST} - {2782963800 -9000 1 NDT} - {2803523400 -12600 0 NST} - {2814413400 -9000 1 NDT} - {2834973000 -12600 0 NST} - {2846467800 -9000 1 NDT} - {2867027400 -12600 0 NST} - {2877917400 -9000 1 NDT} - {2898477000 -12600 0 NST} - {2909367000 -9000 1 NDT} - {2929926600 -12600 0 NST} - {2940816600 -9000 1 NDT} - {2961376200 -12600 0 NST} - {2972266200 -9000 1 NDT} - {2992825800 -12600 0 NST} - {3003715800 -9000 1 NDT} - {3024275400 -12600 0 NST} - {3035770200 -9000 1 NDT} - {3056329800 -12600 0 NST} - {3067219800 -9000 1 NDT} - {3087779400 -12600 0 NST} - {3098669400 -9000 1 NDT} - {3119229000 -12600 0 NST} - {3130119000 -9000 1 NDT} - {3150678600 -12600 0 NST} - {3161568600 -9000 1 NDT} - {3182128200 -12600 0 NST} - {3193018200 -9000 1 NDT} - {3213577800 -12600 0 NST} - {3225072600 -9000 1 NDT} - {3245632200 -12600 0 NST} - {3256522200 -9000 1 NDT} - {3277081800 -12600 0 NST} - {3287971800 -9000 1 NDT} - {3308531400 -12600 0 NST} - {3319421400 -9000 1 NDT} - {3339981000 -12600 0 NST} - {3350871000 -9000 1 NDT} - {3371430600 -12600 0 NST} - {3382925400 -9000 1 NDT} - {3403485000 -12600 0 NST} - {3414375000 -9000 1 NDT} - {3434934600 -12600 0 NST} - {3445824600 -9000 1 NDT} - {3466384200 -12600 0 NST} - {3477274200 -9000 1 NDT} - {3497833800 -12600 0 NST} - {3508723800 -9000 1 NDT} - {3529283400 -12600 0 NST} - {3540173400 -9000 1 NDT} - {3560733000 -12600 0 NST} - {3572227800 -9000 1 NDT} - {3592787400 -12600 0 NST} - {3603677400 -9000 1 NDT} - {3624237000 -12600 0 NST} - {3635127000 -9000 1 NDT} - {3655686600 -12600 0 NST} - {3666576600 -9000 1 NDT} - {3687136200 -12600 0 NST} - {3698026200 -9000 1 NDT} - {3718585800 -12600 0 NST} - {3730080600 -9000 1 NDT} - {3750640200 -12600 0 NST} - {3761530200 -9000 1 NDT} - {3782089800 -12600 0 NST} - {3792979800 -9000 1 NDT} - {3813539400 -12600 0 NST} - {3824429400 -9000 1 NDT} - {3844989000 -12600 0 NST} - {3855879000 -9000 1 NDT} - {3876438600 -12600 0 NST} - {3887328600 -9000 1 NDT} - {3907888200 -12600 0 NST} - {3919383000 -9000 1 NDT} - {3939942600 -12600 0 NST} - {3950832600 -9000 1 NDT} - {3971392200 -12600 0 NST} - {3982282200 -9000 1 NDT} - {4002841800 -12600 0 NST} - {4013731800 -9000 1 NDT} - {4034291400 -12600 0 NST} - {4045181400 -9000 1 NDT} - {4065741000 -12600 0 NST} - {4076631000 -9000 1 NDT} - {4097190600 -12600 0 NST} + {1320546660 -12600 0 NST} + {1331436660 -9000 1 NDT} + {1351996260 -12600 0 NST} + {1362886260 -9000 1 NDT} + {1383445860 -12600 0 NST} + {1394335860 -9000 1 NDT} + {1414895460 -12600 0 NST} + {1425785460 -9000 1 NDT} + {1446345060 -12600 0 NST} + {1457839860 -9000 1 NDT} + {1478399460 -12600 0 NST} + {1489289460 -9000 1 NDT} + {1509849060 -12600 0 NST} + {1520739060 -9000 1 NDT} + {1541298660 -12600 0 NST} + {1552188660 -9000 1 NDT} + {1572748260 -12600 0 NST} + {1583638260 -9000 1 NDT} + {1604197860 -12600 0 NST} + {1615692660 -9000 1 NDT} + {1636252260 -12600 0 NST} + {1647142260 -9000 1 NDT} + {1667701860 -12600 0 NST} + {1678591860 -9000 1 NDT} + {1699151460 -12600 0 NST} + {1710041460 -9000 1 NDT} + {1730601060 -12600 0 NST} + {1741491060 -9000 1 NDT} + {1762050660 -12600 0 NST} + {1772940660 -9000 1 NDT} + {1793500260 -12600 0 NST} + {1804995060 -9000 1 NDT} + {1825554660 -12600 0 NST} + {1836444660 -9000 1 NDT} + {1857004260 -12600 0 NST} + {1867894260 -9000 1 NDT} + {1888453860 -12600 0 NST} + {1899343860 -9000 1 NDT} + {1919903460 -12600 0 NST} + {1930793460 -9000 1 NDT} + {1951353060 -12600 0 NST} + {1962847860 -9000 1 NDT} + {1983407460 -12600 0 NST} + {1994297460 -9000 1 NDT} + {2014857060 -12600 0 NST} + {2025747060 -9000 1 NDT} + {2046306660 -12600 0 NST} + {2057196660 -9000 1 NDT} + {2077756260 -12600 0 NST} + {2088646260 -9000 1 NDT} + {2109205860 -12600 0 NST} + {2120095860 -9000 1 NDT} + {2140655460 -12600 0 NST} + {2152150260 -9000 1 NDT} + {2172709860 -12600 0 NST} + {2183599860 -9000 1 NDT} + {2204159460 -12600 0 NST} + {2215049460 -9000 1 NDT} + {2235609060 -12600 0 NST} + {2246499060 -9000 1 NDT} + {2267058660 -12600 0 NST} + {2277948660 -9000 1 NDT} + {2298508260 -12600 0 NST} + {2309398260 -9000 1 NDT} + {2329957860 -12600 0 NST} + {2341452660 -9000 1 NDT} + {2362012260 -12600 0 NST} + {2372902260 -9000 1 NDT} + {2393461860 -12600 0 NST} + {2404351860 -9000 1 NDT} + {2424911460 -12600 0 NST} + {2435801460 -9000 1 NDT} + {2456361060 -12600 0 NST} + {2467251060 -9000 1 NDT} + {2487810660 -12600 0 NST} + {2499305460 -9000 1 NDT} + {2519865060 -12600 0 NST} + {2530755060 -9000 1 NDT} + {2551314660 -12600 0 NST} + {2562204660 -9000 1 NDT} + {2582764260 -12600 0 NST} + {2593654260 -9000 1 NDT} + {2614213860 -12600 0 NST} + {2625103860 -9000 1 NDT} + {2645663460 -12600 0 NST} + {2656553460 -9000 1 NDT} + {2677113060 -12600 0 NST} + {2688607860 -9000 1 NDT} + {2709167460 -12600 0 NST} + {2720057460 -9000 1 NDT} + {2740617060 -12600 0 NST} + {2751507060 -9000 1 NDT} + {2772066660 -12600 0 NST} + {2782956660 -9000 1 NDT} + {2803516260 -12600 0 NST} + {2814406260 -9000 1 NDT} + {2834965860 -12600 0 NST} + {2846460660 -9000 1 NDT} + {2867020260 -12600 0 NST} + {2877910260 -9000 1 NDT} + {2898469860 -12600 0 NST} + {2909359860 -9000 1 NDT} + {2929919460 -12600 0 NST} + {2940809460 -9000 1 NDT} + {2961369060 -12600 0 NST} + {2972259060 -9000 1 NDT} + {2992818660 -12600 0 NST} + {3003708660 -9000 1 NDT} + {3024268260 -12600 0 NST} + {3035763060 -9000 1 NDT} + {3056322660 -12600 0 NST} + {3067212660 -9000 1 NDT} + {3087772260 -12600 0 NST} + {3098662260 -9000 1 NDT} + {3119221860 -12600 0 NST} + {3130111860 -9000 1 NDT} + {3150671460 -12600 0 NST} + {3161561460 -9000 1 NDT} + {3182121060 -12600 0 NST} + {3193011060 -9000 1 NDT} + {3213570660 -12600 0 NST} + {3225065460 -9000 1 NDT} + {3245625060 -12600 0 NST} + {3256515060 -9000 1 NDT} + {3277074660 -12600 0 NST} + {3287964660 -9000 1 NDT} + {3308524260 -12600 0 NST} + {3319414260 -9000 1 NDT} + {3339973860 -12600 0 NST} + {3350863860 -9000 1 NDT} + {3371423460 -12600 0 NST} + {3382918260 -9000 1 NDT} + {3403477860 -12600 0 NST} + {3414367860 -9000 1 NDT} + {3434927460 -12600 0 NST} + {3445817460 -9000 1 NDT} + {3466377060 -12600 0 NST} + {3477267060 -9000 1 NDT} + {3497826660 -12600 0 NST} + {3508716660 -9000 1 NDT} + {3529276260 -12600 0 NST} + {3540166260 -9000 1 NDT} + {3560725860 -12600 0 NST} + {3572220660 -9000 1 NDT} + {3592780260 -12600 0 NST} + {3603670260 -9000 1 NDT} + {3624229860 -12600 0 NST} + {3635119860 -9000 1 NDT} + {3655679460 -12600 0 NST} + {3666569460 -9000 1 NDT} + {3687129060 -12600 0 NST} + {3698019060 -9000 1 NDT} + {3718578660 -12600 0 NST} + {3730073460 -9000 1 NDT} + {3750633060 -12600 0 NST} + {3761523060 -9000 1 NDT} + {3782082660 -12600 0 NST} + {3792972660 -9000 1 NDT} + {3813532260 -12600 0 NST} + {3824422260 -9000 1 NDT} + {3844981860 -12600 0 NST} + {3855871860 -9000 1 NDT} + {3876431460 -12600 0 NST} + {3887321460 -9000 1 NDT} + {3907881060 -12600 0 NST} + {3919375860 -9000 1 NDT} + {3939935460 -12600 0 NST} + {3950825460 -9000 1 NDT} + {3971385060 -12600 0 NST} + {3982275060 -9000 1 NDT} + {4002834660 -12600 0 NST} + {4013724660 -9000 1 NDT} + {4034284260 -12600 0 NST} + {4045174260 -9000 1 NDT} + {4065733860 -12600 0 NST} + {4076623860 -9000 1 NDT} + {4097183460 -12600 0 NST} } diff --git a/library/tzdata/America/Swift_Current b/library/tzdata/America/Swift_Current index ad07762..dc4aa37 100644 --- a/library/tzdata/America/Swift_Current +++ b/library/tzdata/America/Swift_Current @@ -4,7 +4,7 @@ set TZData(:America/Swift_Current) { {-9223372036854775808 -25880 0 LMT} {-2030201320 -25200 0 MST} {-1632063600 -21600 1 MDT} - {-1615132800 -25200 0 MST} + {-1614787200 -25200 0 MST} {-880210800 -21600 1 MWT} {-769395600 -21600 1 MPT} {-765388800 -25200 0 MST} diff --git a/library/tzdata/America/Tijuana b/library/tzdata/America/Tijuana index 6118cde..c191c3c 100644 --- a/library/tzdata/America/Tijuana +++ b/library/tzdata/America/Tijuana @@ -101,185 +101,184 @@ set TZData(:America/Tijuana) { {1225011600 -28800 0 PST} {1238925600 -25200 1 PDT} {1256461200 -28800 0 PST} - {1262332800 -28800 0 PST} - {1268560800 -25200 1 PDT} - {1289120400 -28800 0 PST} - {1300010400 -25200 1 PDT} - {1320570000 -28800 0 PST} - {1331460000 -25200 1 PDT} - {1352019600 -28800 0 PST} - {1362909600 -25200 1 PDT} - {1383469200 -28800 0 PST} - {1394359200 -25200 1 PDT} - {1414918800 -28800 0 PST} - {1425808800 -25200 1 PDT} - {1446368400 -28800 0 PST} - {1457863200 -25200 1 PDT} - {1478422800 -28800 0 PST} - {1489312800 -25200 1 PDT} - {1509872400 -28800 0 PST} - {1520762400 -25200 1 PDT} - {1541322000 -28800 0 PST} - {1552212000 -25200 1 PDT} - {1572771600 -28800 0 PST} - {1583661600 -25200 1 PDT} - {1604221200 -28800 0 PST} - {1615716000 -25200 1 PDT} - {1636275600 -28800 0 PST} - {1647165600 -25200 1 PDT} - {1667725200 -28800 0 PST} - {1678615200 -25200 1 PDT} - {1699174800 -28800 0 PST} - {1710064800 -25200 1 PDT} - {1730624400 -28800 0 PST} - {1741514400 -25200 1 PDT} - {1762074000 -28800 0 PST} - {1772964000 -25200 1 PDT} - {1793523600 -28800 0 PST} - {1805018400 -25200 1 PDT} - {1825578000 -28800 0 PST} - {1836468000 -25200 1 PDT} - {1857027600 -28800 0 PST} - {1867917600 -25200 1 PDT} - {1888477200 -28800 0 PST} - {1899367200 -25200 1 PDT} - {1919926800 -28800 0 PST} - {1930816800 -25200 1 PDT} - {1951376400 -28800 0 PST} - {1962871200 -25200 1 PDT} - {1983430800 -28800 0 PST} - {1994320800 -25200 1 PDT} - {2014880400 -28800 0 PST} - {2025770400 -25200 1 PDT} - {2046330000 -28800 0 PST} - {2057220000 -25200 1 PDT} - {2077779600 -28800 0 PST} - {2088669600 -25200 1 PDT} - {2109229200 -28800 0 PST} - {2120119200 -25200 1 PDT} - {2140678800 -28800 0 PST} - {2152173600 -25200 1 PDT} - {2172733200 -28800 0 PST} - {2183623200 -25200 1 PDT} - {2204182800 -28800 0 PST} - {2215072800 -25200 1 PDT} - {2235632400 -28800 0 PST} - {2246522400 -25200 1 PDT} - {2267082000 -28800 0 PST} - {2277972000 -25200 1 PDT} - {2298531600 -28800 0 PST} - {2309421600 -25200 1 PDT} - {2329981200 -28800 0 PST} - {2341476000 -25200 1 PDT} - {2362035600 -28800 0 PST} - {2372925600 -25200 1 PDT} - {2393485200 -28800 0 PST} - {2404375200 -25200 1 PDT} - {2424934800 -28800 0 PST} - {2435824800 -25200 1 PDT} - {2456384400 -28800 0 PST} - {2467274400 -25200 1 PDT} - {2487834000 -28800 0 PST} - {2499328800 -25200 1 PDT} - {2519888400 -28800 0 PST} - {2530778400 -25200 1 PDT} - {2551338000 -28800 0 PST} - {2562228000 -25200 1 PDT} - {2582787600 -28800 0 PST} - {2593677600 -25200 1 PDT} - {2614237200 -28800 0 PST} - {2625127200 -25200 1 PDT} - {2645686800 -28800 0 PST} - {2656576800 -25200 1 PDT} - {2677136400 -28800 0 PST} - {2688631200 -25200 1 PDT} - {2709190800 -28800 0 PST} - {2720080800 -25200 1 PDT} - {2740640400 -28800 0 PST} - {2751530400 -25200 1 PDT} - {2772090000 -28800 0 PST} - {2782980000 -25200 1 PDT} - {2803539600 -28800 0 PST} - {2814429600 -25200 1 PDT} - {2834989200 -28800 0 PST} - {2846484000 -25200 1 PDT} - {2867043600 -28800 0 PST} - {2877933600 -25200 1 PDT} - {2898493200 -28800 0 PST} - {2909383200 -25200 1 PDT} - {2929942800 -28800 0 PST} - {2940832800 -25200 1 PDT} - {2961392400 -28800 0 PST} - {2972282400 -25200 1 PDT} - {2992842000 -28800 0 PST} - {3003732000 -25200 1 PDT} - {3024291600 -28800 0 PST} - {3035786400 -25200 1 PDT} - {3056346000 -28800 0 PST} - {3067236000 -25200 1 PDT} - {3087795600 -28800 0 PST} - {3098685600 -25200 1 PDT} - {3119245200 -28800 0 PST} - {3130135200 -25200 1 PDT} - {3150694800 -28800 0 PST} - {3161584800 -25200 1 PDT} - {3182144400 -28800 0 PST} - {3193034400 -25200 1 PDT} - {3213594000 -28800 0 PST} - {3225088800 -25200 1 PDT} - {3245648400 -28800 0 PST} - {3256538400 -25200 1 PDT} - {3277098000 -28800 0 PST} - {3287988000 -25200 1 PDT} - {3308547600 -28800 0 PST} - {3319437600 -25200 1 PDT} - {3339997200 -28800 0 PST} - {3350887200 -25200 1 PDT} - {3371446800 -28800 0 PST} - {3382941600 -25200 1 PDT} - {3403501200 -28800 0 PST} - {3414391200 -25200 1 PDT} - {3434950800 -28800 0 PST} - {3445840800 -25200 1 PDT} - {3466400400 -28800 0 PST} - {3477290400 -25200 1 PDT} - {3497850000 -28800 0 PST} - {3508740000 -25200 1 PDT} - {3529299600 -28800 0 PST} - {3540189600 -25200 1 PDT} - {3560749200 -28800 0 PST} - {3572244000 -25200 1 PDT} - {3592803600 -28800 0 PST} - {3603693600 -25200 1 PDT} - {3624253200 -28800 0 PST} - {3635143200 -25200 1 PDT} - {3655702800 -28800 0 PST} - {3666592800 -25200 1 PDT} - {3687152400 -28800 0 PST} - {3698042400 -25200 1 PDT} - {3718602000 -28800 0 PST} - {3730096800 -25200 1 PDT} - {3750656400 -28800 0 PST} - {3761546400 -25200 1 PDT} - {3782106000 -28800 0 PST} - {3792996000 -25200 1 PDT} - {3813555600 -28800 0 PST} - {3824445600 -25200 1 PDT} - {3845005200 -28800 0 PST} - {3855895200 -25200 1 PDT} - {3876454800 -28800 0 PST} - {3887344800 -25200 1 PDT} - {3907904400 -28800 0 PST} - {3919399200 -25200 1 PDT} - {3939958800 -28800 0 PST} - {3950848800 -25200 1 PDT} - {3971408400 -28800 0 PST} - {3982298400 -25200 1 PDT} - {4002858000 -28800 0 PST} - {4013748000 -25200 1 PDT} - {4034307600 -28800 0 PST} - {4045197600 -25200 1 PDT} - {4065757200 -28800 0 PST} - {4076647200 -25200 1 PDT} - {4097206800 -28800 0 PST} + {1270375200 -25200 1 PDT} + {1288515600 -28800 0 PST} + {1301824800 -25200 1 PDT} + {1319965200 -28800 0 PST} + {1333274400 -25200 1 PDT} + {1351414800 -28800 0 PST} + {1365328800 -25200 1 PDT} + {1382864400 -28800 0 PST} + {1396778400 -25200 1 PDT} + {1414314000 -28800 0 PST} + {1428228000 -25200 1 PDT} + {1445763600 -28800 0 PST} + {1459677600 -25200 1 PDT} + {1477818000 -28800 0 PST} + {1491127200 -25200 1 PDT} + {1509267600 -28800 0 PST} + {1522576800 -25200 1 PDT} + {1540717200 -28800 0 PST} + {1554631200 -25200 1 PDT} + {1572166800 -28800 0 PST} + {1586080800 -25200 1 PDT} + {1603616400 -28800 0 PST} + {1617530400 -25200 1 PDT} + {1635670800 -28800 0 PST} + {1648980000 -25200 1 PDT} + {1667120400 -28800 0 PST} + {1680429600 -25200 1 PDT} + {1698570000 -28800 0 PST} + {1712484000 -25200 1 PDT} + {1730019600 -28800 0 PST} + {1743933600 -25200 1 PDT} + {1761469200 -28800 0 PST} + {1775383200 -25200 1 PDT} + {1792918800 -28800 0 PST} + {1806832800 -25200 1 PDT} + {1824973200 -28800 0 PST} + {1838282400 -25200 1 PDT} + {1856422800 -28800 0 PST} + {1869732000 -25200 1 PDT} + {1887872400 -28800 0 PST} + {1901786400 -25200 1 PDT} + {1919322000 -28800 0 PST} + {1933236000 -25200 1 PDT} + {1950771600 -28800 0 PST} + {1964685600 -25200 1 PDT} + {1982826000 -28800 0 PST} + {1996135200 -25200 1 PDT} + {2014275600 -28800 0 PST} + {2027584800 -25200 1 PDT} + {2045725200 -28800 0 PST} + {2059034400 -25200 1 PDT} + {2077174800 -28800 0 PST} + {2091088800 -25200 1 PDT} + {2108624400 -28800 0 PST} + {2122538400 -25200 1 PDT} + {2140074000 -28800 0 PST} + {2153988000 -25200 1 PDT} + {2172128400 -28800 0 PST} + {2185437600 -25200 1 PDT} + {2203578000 -28800 0 PST} + {2216887200 -25200 1 PDT} + {2235027600 -28800 0 PST} + {2248941600 -25200 1 PDT} + {2266477200 -28800 0 PST} + {2280391200 -25200 1 PDT} + {2297926800 -28800 0 PST} + {2311840800 -25200 1 PDT} + {2329376400 -28800 0 PST} + {2343290400 -25200 1 PDT} + {2361430800 -28800 0 PST} + {2374740000 -25200 1 PDT} + {2392880400 -28800 0 PST} + {2406189600 -25200 1 PDT} + {2424330000 -28800 0 PST} + {2438244000 -25200 1 PDT} + {2455779600 -28800 0 PST} + {2469693600 -25200 1 PDT} + {2487229200 -28800 0 PST} + {2501143200 -25200 1 PDT} + {2519283600 -28800 0 PST} + {2532592800 -25200 1 PDT} + {2550733200 -28800 0 PST} + {2564042400 -25200 1 PDT} + {2582182800 -28800 0 PST} + {2596096800 -25200 1 PDT} + {2613632400 -28800 0 PST} + {2627546400 -25200 1 PDT} + {2645082000 -28800 0 PST} + {2658996000 -25200 1 PDT} + {2676531600 -28800 0 PST} + {2690445600 -25200 1 PDT} + {2708586000 -28800 0 PST} + {2721895200 -25200 1 PDT} + {2740035600 -28800 0 PST} + {2753344800 -25200 1 PDT} + {2771485200 -28800 0 PST} + {2785399200 -25200 1 PDT} + {2802934800 -28800 0 PST} + {2816848800 -25200 1 PDT} + {2834384400 -28800 0 PST} + {2848298400 -25200 1 PDT} + {2866438800 -28800 0 PST} + {2879748000 -25200 1 PDT} + {2897888400 -28800 0 PST} + {2911197600 -25200 1 PDT} + {2929338000 -28800 0 PST} + {2942647200 -25200 1 PDT} + {2960787600 -28800 0 PST} + {2974701600 -25200 1 PDT} + {2992237200 -28800 0 PST} + {3006151200 -25200 1 PDT} + {3023686800 -28800 0 PST} + {3037600800 -25200 1 PDT} + {3055741200 -28800 0 PST} + {3069050400 -25200 1 PDT} + {3087190800 -28800 0 PST} + {3100500000 -25200 1 PDT} + {3118640400 -28800 0 PST} + {3132554400 -25200 1 PDT} + {3150090000 -28800 0 PST} + {3164004000 -25200 1 PDT} + {3181539600 -28800 0 PST} + {3195453600 -25200 1 PDT} + {3212989200 -28800 0 PST} + {3226903200 -25200 1 PDT} + {3245043600 -28800 0 PST} + {3258352800 -25200 1 PDT} + {3276493200 -28800 0 PST} + {3289802400 -25200 1 PDT} + {3307942800 -28800 0 PST} + {3321856800 -25200 1 PDT} + {3339392400 -28800 0 PST} + {3353306400 -25200 1 PDT} + {3370842000 -28800 0 PST} + {3384756000 -25200 1 PDT} + {3402896400 -28800 0 PST} + {3416205600 -25200 1 PDT} + {3434346000 -28800 0 PST} + {3447655200 -25200 1 PDT} + {3465795600 -28800 0 PST} + {3479709600 -25200 1 PDT} + {3497245200 -28800 0 PST} + {3511159200 -25200 1 PDT} + {3528694800 -28800 0 PST} + {3542608800 -25200 1 PDT} + {3560144400 -28800 0 PST} + {3574058400 -25200 1 PDT} + {3592198800 -28800 0 PST} + {3605508000 -25200 1 PDT} + {3623648400 -28800 0 PST} + {3636957600 -25200 1 PDT} + {3655098000 -28800 0 PST} + {3669012000 -25200 1 PDT} + {3686547600 -28800 0 PST} + {3700461600 -25200 1 PDT} + {3717997200 -28800 0 PST} + {3731911200 -25200 1 PDT} + {3750051600 -28800 0 PST} + {3763360800 -25200 1 PDT} + {3781501200 -28800 0 PST} + {3794810400 -25200 1 PDT} + {3812950800 -28800 0 PST} + {3826260000 -25200 1 PDT} + {3844400400 -28800 0 PST} + {3858314400 -25200 1 PDT} + {3875850000 -28800 0 PST} + {3889764000 -25200 1 PDT} + {3907299600 -28800 0 PST} + {3921213600 -25200 1 PDT} + {3939354000 -28800 0 PST} + {3952663200 -25200 1 PDT} + {3970803600 -28800 0 PST} + {3984112800 -25200 1 PDT} + {4002253200 -28800 0 PST} + {4016167200 -25200 1 PDT} + {4033702800 -28800 0 PST} + {4047616800 -25200 1 PDT} + {4065152400 -28800 0 PST} + {4079066400 -25200 1 PDT} + {4096602000 -28800 0 PST} } diff --git a/library/tzdata/America/Toronto b/library/tzdata/America/Toronto index 09bf786..e4fc91a 100644 --- a/library/tzdata/America/Toronto +++ b/library/tzdata/America/Toronto @@ -4,7 +4,7 @@ set TZData(:America/Toronto) { {-9223372036854775808 -19052 0 LMT} {-2366736148 -18000 0 EST} {-1632070800 -14400 1 EDT} - {-1615140000 -18000 0 EST} + {-1614794400 -18000 0 EST} {-1609441200 -18000 0 EST} {-1601753400 -14400 1 EDT} {-1583697600 -18000 0 EST} diff --git a/library/tzdata/America/Vancouver b/library/tzdata/America/Vancouver index aef639a..b2e0415 100644 --- a/library/tzdata/America/Vancouver +++ b/library/tzdata/America/Vancouver @@ -4,7 +4,7 @@ set TZData(:America/Vancouver) { {-9223372036854775808 -29548 0 LMT} {-2713880852 -28800 0 PST} {-1632060000 -25200 1 PDT} - {-1615129200 -28800 0 PST} + {-1614783600 -28800 0 PST} {-880207200 -25200 1 PWT} {-769395600 -25200 1 PPT} {-765385200 -28800 0 PST} diff --git a/library/tzdata/America/Winnipeg b/library/tzdata/America/Winnipeg index e6efe47..7e6208a 100644 --- a/library/tzdata/America/Winnipeg +++ b/library/tzdata/America/Winnipeg @@ -6,7 +6,7 @@ set TZData(:America/Winnipeg) { {-1694368800 -18000 1 CDT} {-1681671600 -21600 0 CST} {-1632067200 -18000 1 CDT} - {-1615136400 -21600 0 CST} + {-1614790800 -21600 0 CST} {-1029686400 -18000 1 CDT} {-1018198800 -21600 0 CST} {-880214400 -18000 1 CWT} diff --git a/library/tzdata/Antarctica/Casey b/library/tzdata/Antarctica/Casey index cbe3e3c..6d383f3 100644 --- a/library/tzdata/Antarctica/Casey +++ b/library/tzdata/Antarctica/Casey @@ -3,8 +3,4 @@ set TZData(:Antarctica/Casey) { {-9223372036854775808 0 0 zzz} {-31536000 28800 0 WST} - {1255802400 39600 0 CAST} - {1267714800 28800 0 WST} - {1319738400 39600 0 CAST} - {1329843600 28800 0 WST} } diff --git a/library/tzdata/Antarctica/Davis b/library/tzdata/Antarctica/Davis index 2762d2f..f4b7282 100644 --- a/library/tzdata/Antarctica/Davis +++ b/library/tzdata/Antarctica/Davis @@ -5,8 +5,4 @@ set TZData(:Antarctica/Davis) { {-409190400 25200 0 DAVT} {-163062000 0 0 zzz} {-28857600 25200 0 DAVT} - {1255806000 18000 0 DAVT} - {1268251200 25200 0 DAVT} - {1319742000 18000 0 DAVT} - {1329854400 25200 0 DAVT} } diff --git a/library/tzdata/Antarctica/Macquarie b/library/tzdata/Antarctica/Macquarie deleted file mode 100644 index bd5cf8a..0000000 --- a/library/tzdata/Antarctica/Macquarie +++ /dev/null @@ -1,97 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:Antarctica/Macquarie) { - {-9223372036854775808 0 0 zzz} - {-2214259200 36000 0 EST} - {-1680508800 39600 1 EST} - {-1669892400 39600 0 EST} - {-1665392400 36000 0 EST} - {-1601719200 0 0 zzz} - {-94730400 36000 0 EST} - {-71136000 39600 1 EST} - {-55411200 36000 0 EST} - {-37267200 39600 1 EST} - {-25776000 36000 0 EST} - {-5817600 39600 1 EST} - {5673600 36000 0 EST} - {25632000 39600 1 EST} - {37728000 36000 0 EST} - {57686400 39600 1 EST} - {67968000 36000 0 EST} - {89136000 39600 1 EST} - {100022400 36000 0 EST} - {120585600 39600 1 EST} - {131472000 36000 0 EST} - {152035200 39600 1 EST} - {162921600 36000 0 EST} - {183484800 39600 1 EST} - {194976000 36000 0 EST} - {215539200 39600 1 EST} - {226425600 36000 0 EST} - {246988800 39600 1 EST} - {257875200 36000 0 EST} - {278438400 39600 1 EST} - {289324800 36000 0 EST} - {309888000 39600 1 EST} - {320774400 36000 0 EST} - {341337600 39600 1 EST} - {352224000 36000 0 EST} - {372787200 39600 1 EST} - {386092800 36000 0 EST} - {404841600 39600 1 EST} - {417542400 36000 0 EST} - {436291200 39600 1 EST} - {447177600 36000 0 EST} - {467740800 39600 1 EST} - {478627200 36000 0 EST} - {499190400 39600 1 EST} - {510076800 36000 0 EST} - {530035200 39600 1 EST} - {542736000 36000 0 EST} - {562089600 39600 1 EST} - {574790400 36000 0 EST} - {594144000 39600 1 EST} - {606240000 36000 0 EST} - {625593600 39600 1 EST} - {637689600 36000 0 EST} - {657043200 39600 1 EST} - {670348800 36000 0 EST} - {686678400 39600 1 EST} - {701798400 36000 0 EST} - {718128000 39600 1 EST} - {733248000 36000 0 EST} - {749577600 39600 1 EST} - {764697600 36000 0 EST} - {781027200 39600 1 EST} - {796147200 36000 0 EST} - {812476800 39600 1 EST} - {828201600 36000 0 EST} - {844531200 39600 1 EST} - {859651200 36000 0 EST} - {875980800 39600 1 EST} - {891100800 36000 0 EST} - {907430400 39600 1 EST} - {922550400 36000 0 EST} - {938880000 39600 1 EST} - {954000000 36000 0 EST} - {967305600 39600 1 EST} - {985449600 36000 0 EST} - {1002384000 39600 1 EST} - {1017504000 36000 0 EST} - {1033833600 39600 1 EST} - {1048953600 36000 0 EST} - {1065283200 39600 1 EST} - {1080403200 36000 0 EST} - {1096732800 39600 1 EST} - {1111852800 36000 0 EST} - {1128182400 39600 1 EST} - {1143907200 36000 0 EST} - {1159632000 39600 1 EST} - {1174752000 36000 0 EST} - {1191686400 39600 1 EST} - {1207411200 36000 0 EST} - {1223136000 39600 1 EST} - {1238860800 36000 0 EST} - {1254585600 39600 1 EST} - {1270310400 39600 0 MIST} -} diff --git a/library/tzdata/Antarctica/Mawson b/library/tzdata/Antarctica/Mawson index ba03ba1..1f0c3fe 100644 --- a/library/tzdata/Antarctica/Mawson +++ b/library/tzdata/Antarctica/Mawson @@ -3,5 +3,4 @@ set TZData(:Antarctica/Mawson) { {-9223372036854775808 0 0 zzz} {-501206400 21600 0 MAWT} - {1255809600 18000 0 MAWT} } diff --git a/library/tzdata/Antarctica/Palmer b/library/tzdata/Antarctica/Palmer index e87b171..1e24754 100644 --- a/library/tzdata/Antarctica/Palmer +++ b/library/tzdata/Antarctica/Palmer @@ -67,188 +67,188 @@ set TZData(:Antarctica/Palmer) { {1160884800 -10800 1 CLST} {1173582000 -14400 0 CLT} {1192334400 -10800 1 CLST} - {1206846000 -14400 0 CLT} + {1205031600 -14400 0 CLT} {1223784000 -10800 1 CLST} {1237086000 -14400 0 CLT} {1255233600 -10800 1 CLST} - {1270350000 -14400 0 CLT} + {1268535600 -14400 0 CLT} {1286683200 -10800 1 CLST} - {1304823600 -14400 0 CLT} - {1313899200 -10800 1 CLST} - {1335668400 -14400 0 CLT} - {1346558400 -10800 1 CLST} - {1367118000 -14400 0 CLT} - {1378612800 -10800 1 CLST} - {1398567600 -14400 0 CLT} - {1410062400 -10800 1 CLST} - {1430017200 -14400 0 CLT} - {1441512000 -10800 1 CLST} - {1461466800 -14400 0 CLT} - {1472961600 -10800 1 CLST} - {1492916400 -14400 0 CLT} - {1504411200 -10800 1 CLST} - {1524970800 -14400 0 CLT} - {1535860800 -10800 1 CLST} - {1556420400 -14400 0 CLT} - {1567915200 -10800 1 CLST} - {1587870000 -14400 0 CLT} - {1599364800 -10800 1 CLST} - {1619319600 -14400 0 CLT} - {1630814400 -10800 1 CLST} - {1650769200 -14400 0 CLT} - {1662264000 -10800 1 CLST} - {1682218800 -14400 0 CLT} - {1693713600 -10800 1 CLST} - {1714273200 -14400 0 CLT} - {1725768000 -10800 1 CLST} - {1745722800 -14400 0 CLT} - {1757217600 -10800 1 CLST} - {1777172400 -14400 0 CLT} - {1788667200 -10800 1 CLST} - {1808622000 -14400 0 CLT} - {1820116800 -10800 1 CLST} - {1840071600 -14400 0 CLT} - {1851566400 -10800 1 CLST} - {1872126000 -14400 0 CLT} - {1883016000 -10800 1 CLST} - {1903575600 -14400 0 CLT} - {1915070400 -10800 1 CLST} - {1935025200 -14400 0 CLT} - {1946520000 -10800 1 CLST} - {1966474800 -14400 0 CLT} - {1977969600 -10800 1 CLST} - {1997924400 -14400 0 CLT} - {2009419200 -10800 1 CLST} - {2029374000 -14400 0 CLT} - {2040868800 -10800 1 CLST} - {2061428400 -14400 0 CLT} - {2072318400 -10800 1 CLST} - {2092878000 -14400 0 CLT} - {2104372800 -10800 1 CLST} - {2124327600 -14400 0 CLT} - {2135822400 -10800 1 CLST} - {2155777200 -14400 0 CLT} - {2167272000 -10800 1 CLST} - {2187226800 -14400 0 CLT} - {2198721600 -10800 1 CLST} - {2219281200 -14400 0 CLT} - {2230171200 -10800 1 CLST} - {2250730800 -14400 0 CLT} - {2262225600 -10800 1 CLST} - {2282180400 -14400 0 CLT} - {2293675200 -10800 1 CLST} - {2313630000 -14400 0 CLT} - {2325124800 -10800 1 CLST} - {2345079600 -14400 0 CLT} - {2356574400 -10800 1 CLST} - {2376529200 -14400 0 CLT} - {2388024000 -10800 1 CLST} - {2408583600 -14400 0 CLT} - {2419473600 -10800 1 CLST} - {2440033200 -14400 0 CLT} - {2451528000 -10800 1 CLST} - {2471482800 -14400 0 CLT} - {2482977600 -10800 1 CLST} - {2502932400 -14400 0 CLT} - {2514427200 -10800 1 CLST} - {2534382000 -14400 0 CLT} - {2545876800 -10800 1 CLST} - {2565831600 -14400 0 CLT} - {2577326400 -10800 1 CLST} - {2597886000 -14400 0 CLT} - {2609380800 -10800 1 CLST} - {2629335600 -14400 0 CLT} - {2640830400 -10800 1 CLST} - {2660785200 -14400 0 CLT} - {2672280000 -10800 1 CLST} - {2692234800 -14400 0 CLT} - {2703729600 -10800 1 CLST} - {2723684400 -14400 0 CLT} - {2735179200 -10800 1 CLST} - {2755738800 -14400 0 CLT} - {2766628800 -10800 1 CLST} - {2787188400 -14400 0 CLT} - {2798683200 -10800 1 CLST} - {2818638000 -14400 0 CLT} - {2830132800 -10800 1 CLST} - {2850087600 -14400 0 CLT} - {2861582400 -10800 1 CLST} - {2881537200 -14400 0 CLT} - {2893032000 -10800 1 CLST} - {2912986800 -14400 0 CLT} - {2924481600 -10800 1 CLST} - {2945041200 -14400 0 CLT} - {2955931200 -10800 1 CLST} - {2976490800 -14400 0 CLT} - {2987985600 -10800 1 CLST} - {3007940400 -14400 0 CLT} - {3019435200 -10800 1 CLST} - {3039390000 -14400 0 CLT} - {3050884800 -10800 1 CLST} - {3070839600 -14400 0 CLT} - {3082334400 -10800 1 CLST} - {3102894000 -14400 0 CLT} - {3113784000 -10800 1 CLST} - {3134343600 -14400 0 CLT} - {3145838400 -10800 1 CLST} - {3165793200 -14400 0 CLT} - {3177288000 -10800 1 CLST} - {3197242800 -14400 0 CLT} - {3208737600 -10800 1 CLST} - {3228692400 -14400 0 CLT} - {3240187200 -10800 1 CLST} - {3260142000 -14400 0 CLT} - {3271636800 -10800 1 CLST} - {3292196400 -14400 0 CLT} - {3303086400 -10800 1 CLST} - {3323646000 -14400 0 CLT} - {3335140800 -10800 1 CLST} - {3355095600 -14400 0 CLT} - {3366590400 -10800 1 CLST} - {3386545200 -14400 0 CLT} - {3398040000 -10800 1 CLST} - {3417994800 -14400 0 CLT} - {3429489600 -10800 1 CLST} - {3449444400 -14400 0 CLT} - {3460939200 -10800 1 CLST} - {3481498800 -14400 0 CLT} - {3492993600 -10800 1 CLST} - {3512948400 -14400 0 CLT} - {3524443200 -10800 1 CLST} - {3544398000 -14400 0 CLT} - {3555892800 -10800 1 CLST} - {3575847600 -14400 0 CLT} - {3587342400 -10800 1 CLST} - {3607297200 -14400 0 CLT} - {3618792000 -10800 1 CLST} - {3639351600 -14400 0 CLT} - {3650241600 -10800 1 CLST} - {3670801200 -14400 0 CLT} - {3682296000 -10800 1 CLST} - {3702250800 -14400 0 CLT} - {3713745600 -10800 1 CLST} - {3733700400 -14400 0 CLT} - {3745195200 -10800 1 CLST} - {3765150000 -14400 0 CLT} - {3776644800 -10800 1 CLST} - {3796599600 -14400 0 CLT} - {3808094400 -10800 1 CLST} - {3828654000 -14400 0 CLT} - {3839544000 -10800 1 CLST} - {3860103600 -14400 0 CLT} - {3871598400 -10800 1 CLST} - {3891553200 -14400 0 CLT} - {3903048000 -10800 1 CLST} - {3923002800 -14400 0 CLT} - {3934497600 -10800 1 CLST} - {3954452400 -14400 0 CLT} - {3965947200 -10800 1 CLST} - {3986506800 -14400 0 CLT} - {3997396800 -10800 1 CLST} - {4017956400 -14400 0 CLT} - {4029451200 -10800 1 CLST} - {4049406000 -14400 0 CLT} - {4060900800 -10800 1 CLST} - {4080855600 -14400 0 CLT} - {4092350400 -10800 1 CLST} + {1299985200 -14400 0 CLT} + {1318132800 -10800 1 CLST} + {1331434800 -14400 0 CLT} + {1350187200 -10800 1 CLST} + {1362884400 -14400 0 CLT} + {1381636800 -10800 1 CLST} + {1394334000 -14400 0 CLT} + {1413086400 -10800 1 CLST} + {1426388400 -14400 0 CLT} + {1444536000 -10800 1 CLST} + {1457838000 -14400 0 CLT} + {1475985600 -10800 1 CLST} + {1489287600 -14400 0 CLT} + {1508040000 -10800 1 CLST} + {1520737200 -14400 0 CLT} + {1539489600 -10800 1 CLST} + {1552186800 -14400 0 CLT} + {1570939200 -10800 1 CLST} + {1584241200 -14400 0 CLT} + {1602388800 -10800 1 CLST} + {1615690800 -14400 0 CLT} + {1633838400 -10800 1 CLST} + {1647140400 -14400 0 CLT} + {1665288000 -10800 1 CLST} + {1678590000 -14400 0 CLT} + {1697342400 -10800 1 CLST} + {1710039600 -14400 0 CLT} + {1728792000 -10800 1 CLST} + {1741489200 -14400 0 CLT} + {1760241600 -10800 1 CLST} + {1773543600 -14400 0 CLT} + {1791691200 -10800 1 CLST} + {1804993200 -14400 0 CLT} + {1823140800 -10800 1 CLST} + {1836442800 -14400 0 CLT} + {1855195200 -10800 1 CLST} + {1867892400 -14400 0 CLT} + {1886644800 -10800 1 CLST} + {1899342000 -14400 0 CLT} + {1918094400 -10800 1 CLST} + {1930791600 -14400 0 CLT} + {1949544000 -10800 1 CLST} + {1962846000 -14400 0 CLT} + {1980993600 -10800 1 CLST} + {1994295600 -14400 0 CLT} + {2012443200 -10800 1 CLST} + {2025745200 -14400 0 CLT} + {2044497600 -10800 1 CLST} + {2057194800 -14400 0 CLT} + {2075947200 -10800 1 CLST} + {2088644400 -14400 0 CLT} + {2107396800 -10800 1 CLST} + {2120698800 -14400 0 CLT} + {2138846400 -10800 1 CLST} + {2152148400 -14400 0 CLT} + {2170296000 -10800 1 CLST} + {2183598000 -14400 0 CLT} + {2201745600 -10800 1 CLST} + {2215047600 -14400 0 CLT} + {2233800000 -10800 1 CLST} + {2246497200 -14400 0 CLT} + {2265249600 -10800 1 CLST} + {2277946800 -14400 0 CLT} + {2296699200 -10800 1 CLST} + {2310001200 -14400 0 CLT} + {2328148800 -10800 1 CLST} + {2341450800 -14400 0 CLT} + {2359598400 -10800 1 CLST} + {2372900400 -14400 0 CLT} + {2391652800 -10800 1 CLST} + {2404350000 -14400 0 CLT} + {2423102400 -10800 1 CLST} + {2435799600 -14400 0 CLT} + {2454552000 -10800 1 CLST} + {2467854000 -14400 0 CLT} + {2486001600 -10800 1 CLST} + {2499303600 -14400 0 CLT} + {2517451200 -10800 1 CLST} + {2530753200 -14400 0 CLT} + {2548900800 -10800 1 CLST} + {2562202800 -14400 0 CLT} + {2580955200 -10800 1 CLST} + {2593652400 -14400 0 CLT} + {2612404800 -10800 1 CLST} + {2625102000 -14400 0 CLT} + {2643854400 -10800 1 CLST} + {2657156400 -14400 0 CLT} + {2675304000 -10800 1 CLST} + {2688606000 -14400 0 CLT} + {2706753600 -10800 1 CLST} + {2720055600 -14400 0 CLT} + {2738808000 -10800 1 CLST} + {2751505200 -14400 0 CLT} + {2770257600 -10800 1 CLST} + {2782954800 -14400 0 CLT} + {2801707200 -10800 1 CLST} + {2814404400 -14400 0 CLT} + {2833156800 -10800 1 CLST} + {2846458800 -14400 0 CLT} + {2864606400 -10800 1 CLST} + {2877908400 -14400 0 CLT} + {2896056000 -10800 1 CLST} + {2909358000 -14400 0 CLT} + {2928110400 -10800 1 CLST} + {2940807600 -14400 0 CLT} + {2959560000 -10800 1 CLST} + {2972257200 -14400 0 CLT} + {2991009600 -10800 1 CLST} + {3004311600 -14400 0 CLT} + {3022459200 -10800 1 CLST} + {3035761200 -14400 0 CLT} + {3053908800 -10800 1 CLST} + {3067210800 -14400 0 CLT} + {3085358400 -10800 1 CLST} + {3098660400 -14400 0 CLT} + {3117412800 -10800 1 CLST} + {3130110000 -14400 0 CLT} + {3148862400 -10800 1 CLST} + {3161559600 -14400 0 CLT} + {3180312000 -10800 1 CLST} + {3193614000 -14400 0 CLT} + {3211761600 -10800 1 CLST} + {3225063600 -14400 0 CLT} + {3243211200 -10800 1 CLST} + {3256513200 -14400 0 CLT} + {3275265600 -10800 1 CLST} + {3287962800 -14400 0 CLT} + {3306715200 -10800 1 CLST} + {3319412400 -14400 0 CLT} + {3338164800 -10800 1 CLST} + {3351466800 -14400 0 CLT} + {3369614400 -10800 1 CLST} + {3382916400 -14400 0 CLT} + {3401064000 -10800 1 CLST} + {3414366000 -14400 0 CLT} + {3432513600 -10800 1 CLST} + {3445815600 -14400 0 CLT} + {3464568000 -10800 1 CLST} + {3477265200 -14400 0 CLT} + {3496017600 -10800 1 CLST} + {3508714800 -14400 0 CLT} + {3527467200 -10800 1 CLST} + {3540769200 -14400 0 CLT} + {3558916800 -10800 1 CLST} + {3572218800 -14400 0 CLT} + {3590366400 -10800 1 CLST} + {3603668400 -14400 0 CLT} + {3622420800 -10800 1 CLST} + {3635118000 -14400 0 CLT} + {3653870400 -10800 1 CLST} + {3666567600 -14400 0 CLT} + {3685320000 -10800 1 CLST} + {3698017200 -14400 0 CLT} + {3716769600 -10800 1 CLST} + {3730071600 -14400 0 CLT} + {3748219200 -10800 1 CLST} + {3761521200 -14400 0 CLT} + {3779668800 -10800 1 CLST} + {3792970800 -14400 0 CLT} + {3811723200 -10800 1 CLST} + {3824420400 -14400 0 CLT} + {3843172800 -10800 1 CLST} + {3855870000 -14400 0 CLT} + {3874622400 -10800 1 CLST} + {3887924400 -14400 0 CLT} + {3906072000 -10800 1 CLST} + {3919374000 -14400 0 CLT} + {3937521600 -10800 1 CLST} + {3950823600 -14400 0 CLT} + {3968971200 -10800 1 CLST} + {3982273200 -14400 0 CLT} + {4001025600 -10800 1 CLST} + {4013722800 -14400 0 CLT} + {4032475200 -10800 1 CLST} + {4045172400 -14400 0 CLT} + {4063924800 -10800 1 CLST} + {4077226800 -14400 0 CLT} + {4095374400 -10800 1 CLST} } diff --git a/library/tzdata/Asia/Aden b/library/tzdata/Asia/Aden index 399d9f0..e939235 100644 --- a/library/tzdata/Asia/Aden +++ b/library/tzdata/Asia/Aden @@ -1,6 +1,6 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Asia/Aden) { - {-9223372036854775808 10794 0 LMT} - {-631162794 10800 0 AST} + {-9223372036854775808 10848 0 LMT} + {-631162848 10800 0 AST} } diff --git a/library/tzdata/Asia/Amman b/library/tzdata/Asia/Amman index 33f0ba7..bf30508 100644 --- a/library/tzdata/Asia/Amman +++ b/library/tzdata/Asia/Amman @@ -70,7 +70,8 @@ set TZData(:Asia/Amman) { {1301608800 10800 1 EEST} {1319752800 7200 0 EET} {1333058400 10800 1 EEST} - {1364504400 10800 1 EEST} + {1351202400 7200 0 EET} + {1364508000 10800 1 EEST} {1382652000 7200 0 EET} {1395957600 10800 1 EEST} {1414706400 7200 0 EET} diff --git a/library/tzdata/Asia/Anadyr b/library/tzdata/Asia/Anadyr index 50ace50..c0e98a7 100644 --- a/library/tzdata/Asia/Anadyr +++ b/library/tzdata/Asia/Anadyr @@ -65,8 +65,184 @@ set TZData(:Asia/Anadyr) { {1224943200 43200 0 ANAT} {1238248800 46800 1 ANAST} {1256392800 43200 0 ANAT} - {1269698400 39600 0 ANAMMTT} - {1269702000 43200 1 ANAST} - {1288450800 39600 0 ANAT} - {1301151600 43200 0 ANAT} + {1269698400 46800 1 ANAST} + {1288447200 43200 0 ANAT} + {1301148000 46800 1 ANAST} + {1319896800 43200 0 ANAT} + {1332597600 46800 1 ANAST} + {1351346400 43200 0 ANAT} + {1364652000 46800 1 ANAST} + {1382796000 43200 0 ANAT} + {1396101600 46800 1 ANAST} + {1414245600 43200 0 ANAT} + {1427551200 46800 1 ANAST} + {1445695200 43200 0 ANAT} + {1459000800 46800 1 ANAST} + {1477749600 43200 0 ANAT} + {1490450400 46800 1 ANAST} + {1509199200 43200 0 ANAT} + {1521900000 46800 1 ANAST} + {1540648800 43200 0 ANAT} + {1553954400 46800 1 ANAST} + {1572098400 43200 0 ANAT} + {1585404000 46800 1 ANAST} + {1603548000 43200 0 ANAT} + {1616853600 46800 1 ANAST} + {1635602400 43200 0 ANAT} + {1648303200 46800 1 ANAST} + {1667052000 43200 0 ANAT} + {1679752800 46800 1 ANAST} + {1698501600 43200 0 ANAT} + {1711807200 46800 1 ANAST} + {1729951200 43200 0 ANAT} + {1743256800 46800 1 ANAST} + {1761400800 43200 0 ANAT} + {1774706400 46800 1 ANAST} + {1792850400 43200 0 ANAT} + {1806156000 46800 1 ANAST} + {1824904800 43200 0 ANAT} + {1837605600 46800 1 ANAST} + {1856354400 43200 0 ANAT} + {1869055200 46800 1 ANAST} + {1887804000 43200 0 ANAT} + {1901109600 46800 1 ANAST} + {1919253600 43200 0 ANAT} + {1932559200 46800 1 ANAST} + {1950703200 43200 0 ANAT} + {1964008800 46800 1 ANAST} + {1982757600 43200 0 ANAT} + {1995458400 46800 1 ANAST} + {2014207200 43200 0 ANAT} + {2026908000 46800 1 ANAST} + {2045656800 43200 0 ANAT} + {2058357600 46800 1 ANAST} + {2077106400 43200 0 ANAT} + {2090412000 46800 1 ANAST} + {2108556000 43200 0 ANAT} + {2121861600 46800 1 ANAST} + {2140005600 43200 0 ANAT} + {2153311200 46800 1 ANAST} + {2172060000 43200 0 ANAT} + {2184760800 46800 1 ANAST} + {2203509600 43200 0 ANAT} + {2216210400 46800 1 ANAST} + {2234959200 43200 0 ANAT} + {2248264800 46800 1 ANAST} + {2266408800 43200 0 ANAT} + {2279714400 46800 1 ANAST} + {2297858400 43200 0 ANAT} + {2311164000 46800 1 ANAST} + {2329308000 43200 0 ANAT} + {2342613600 46800 1 ANAST} + {2361362400 43200 0 ANAT} + {2374063200 46800 1 ANAST} + {2392812000 43200 0 ANAT} + {2405512800 46800 1 ANAST} + {2424261600 43200 0 ANAT} + {2437567200 46800 1 ANAST} + {2455711200 43200 0 ANAT} + {2469016800 46800 1 ANAST} + {2487160800 43200 0 ANAT} + {2500466400 46800 1 ANAST} + {2519215200 43200 0 ANAT} + {2531916000 46800 1 ANAST} + {2550664800 43200 0 ANAT} + {2563365600 46800 1 ANAST} + {2582114400 43200 0 ANAT} + {2595420000 46800 1 ANAST} + {2613564000 43200 0 ANAT} + {2626869600 46800 1 ANAST} + {2645013600 43200 0 ANAT} + {2658319200 46800 1 ANAST} + {2676463200 43200 0 ANAT} + {2689768800 46800 1 ANAST} + {2708517600 43200 0 ANAT} + {2721218400 46800 1 ANAST} + {2739967200 43200 0 ANAT} + {2752668000 46800 1 ANAST} + {2771416800 43200 0 ANAT} + {2784722400 46800 1 ANAST} + {2802866400 43200 0 ANAT} + {2816172000 46800 1 ANAST} + {2834316000 43200 0 ANAT} + {2847621600 46800 1 ANAST} + {2866370400 43200 0 ANAT} + {2879071200 46800 1 ANAST} + {2897820000 43200 0 ANAT} + {2910520800 46800 1 ANAST} + {2929269600 43200 0 ANAT} + {2941970400 46800 1 ANAST} + {2960719200 43200 0 ANAT} + {2974024800 46800 1 ANAST} + {2992168800 43200 0 ANAT} + {3005474400 46800 1 ANAST} + {3023618400 43200 0 ANAT} + {3036924000 46800 1 ANAST} + {3055672800 43200 0 ANAT} + {3068373600 46800 1 ANAST} + {3087122400 43200 0 ANAT} + {3099823200 46800 1 ANAST} + {3118572000 43200 0 ANAT} + {3131877600 46800 1 ANAST} + {3150021600 43200 0 ANAT} + {3163327200 46800 1 ANAST} + {3181471200 43200 0 ANAT} + {3194776800 46800 1 ANAST} + {3212920800 43200 0 ANAT} + {3226226400 46800 1 ANAST} + {3244975200 43200 0 ANAT} + {3257676000 46800 1 ANAST} + {3276424800 43200 0 ANAT} + {3289125600 46800 1 ANAST} + {3307874400 43200 0 ANAT} + {3321180000 46800 1 ANAST} + {3339324000 43200 0 ANAT} + {3352629600 46800 1 ANAST} + {3370773600 43200 0 ANAT} + {3384079200 46800 1 ANAST} + {3402828000 43200 0 ANAT} + {3415528800 46800 1 ANAST} + {3434277600 43200 0 ANAT} + {3446978400 46800 1 ANAST} + {3465727200 43200 0 ANAT} + {3479032800 46800 1 ANAST} + {3497176800 43200 0 ANAT} + {3510482400 46800 1 ANAST} + {3528626400 43200 0 ANAT} + {3541932000 46800 1 ANAST} + {3560076000 43200 0 ANAT} + {3573381600 46800 1 ANAST} + {3592130400 43200 0 ANAT} + {3604831200 46800 1 ANAST} + {3623580000 43200 0 ANAT} + {3636280800 46800 1 ANAST} + {3655029600 43200 0 ANAT} + {3668335200 46800 1 ANAST} + {3686479200 43200 0 ANAT} + {3699784800 46800 1 ANAST} + {3717928800 43200 0 ANAT} + {3731234400 46800 1 ANAST} + {3749983200 43200 0 ANAT} + {3762684000 46800 1 ANAST} + {3781432800 43200 0 ANAT} + {3794133600 46800 1 ANAST} + {3812882400 43200 0 ANAT} + {3825583200 46800 1 ANAST} + {3844332000 43200 0 ANAT} + {3857637600 46800 1 ANAST} + {3875781600 43200 0 ANAT} + {3889087200 46800 1 ANAST} + {3907231200 43200 0 ANAT} + {3920536800 46800 1 ANAST} + {3939285600 43200 0 ANAT} + {3951986400 46800 1 ANAST} + {3970735200 43200 0 ANAT} + {3983436000 46800 1 ANAST} + {4002184800 43200 0 ANAT} + {4015490400 46800 1 ANAST} + {4033634400 43200 0 ANAT} + {4046940000 46800 1 ANAST} + {4065084000 43200 0 ANAT} + {4078389600 46800 1 ANAST} + {4096533600 43200 0 ANAT} } diff --git a/library/tzdata/Asia/Damascus b/library/tzdata/Asia/Damascus index fafef49..d57aeea 100644 --- a/library/tzdata/Asia/Damascus +++ b/library/tzdata/Asia/Damascus @@ -96,185 +96,185 @@ set TZData(:Asia/Damascus) { {1207260000 10800 1 EEST} {1225486800 7200 0 EET} {1238104800 10800 1 EEST} - {1256850000 7200 0 EET} - {1270159200 10800 1 EEST} - {1288299600 7200 0 EET} - {1301608800 10800 1 EEST} - {1319749200 7200 0 EET} + {1257022800 7200 0 EET} + {1269554400 10800 1 EEST} + {1288558800 7200 0 EET} + {1301004000 10800 1 EEST} + {1320094800 7200 0 EET} {1333058400 10800 1 EEST} - {1351198800 7200 0 EET} + {1351717200 7200 0 EET} {1364508000 10800 1 EEST} - {1382648400 7200 0 EET} + {1383253200 7200 0 EET} {1395957600 10800 1 EEST} - {1414702800 7200 0 EET} + {1414789200 7200 0 EET} {1427407200 10800 1 EEST} - {1446152400 7200 0 EET} + {1446325200 7200 0 EET} {1458856800 10800 1 EEST} - {1477602000 7200 0 EET} + {1477947600 7200 0 EET} {1490911200 10800 1 EEST} - {1509051600 7200 0 EET} + {1509483600 7200 0 EET} {1522360800 10800 1 EEST} - {1540501200 7200 0 EET} + {1541019600 7200 0 EET} {1553810400 10800 1 EEST} - {1571950800 7200 0 EET} + {1572555600 7200 0 EET} {1585260000 10800 1 EEST} - {1604005200 7200 0 EET} + {1604178000 7200 0 EET} {1616709600 10800 1 EEST} - {1635454800 7200 0 EET} + {1635714000 7200 0 EET} {1648159200 10800 1 EEST} - {1666904400 7200 0 EET} + {1667250000 7200 0 EET} {1680213600 10800 1 EEST} - {1698354000 7200 0 EET} + {1698786000 7200 0 EET} {1711663200 10800 1 EEST} - {1729803600 7200 0 EET} + {1730408400 7200 0 EET} {1743112800 10800 1 EEST} - {1761858000 7200 0 EET} + {1761944400 7200 0 EET} {1774562400 10800 1 EEST} - {1793307600 7200 0 EET} + {1793480400 7200 0 EET} {1806012000 10800 1 EEST} - {1824757200 7200 0 EET} + {1825016400 7200 0 EET} {1838066400 10800 1 EEST} - {1856206800 7200 0 EET} + {1856638800 7200 0 EET} {1869516000 10800 1 EEST} - {1887656400 7200 0 EET} + {1888174800 7200 0 EET} {1900965600 10800 1 EEST} - {1919106000 7200 0 EET} + {1919710800 7200 0 EET} {1932415200 10800 1 EEST} - {1951160400 7200 0 EET} + {1951246800 7200 0 EET} {1963864800 10800 1 EEST} - {1982610000 7200 0 EET} + {1982869200 7200 0 EET} {1995314400 10800 1 EEST} - {2014059600 7200 0 EET} + {2014405200 7200 0 EET} {2027368800 10800 1 EEST} - {2045509200 7200 0 EET} + {2045941200 7200 0 EET} {2058818400 10800 1 EEST} - {2076958800 7200 0 EET} + {2077477200 7200 0 EET} {2090268000 10800 1 EEST} - {2109013200 7200 0 EET} + {2109099600 7200 0 EET} {2121717600 10800 1 EEST} - {2140462800 7200 0 EET} + {2140635600 7200 0 EET} {2153167200 10800 1 EEST} - {2171912400 7200 0 EET} + {2172171600 7200 0 EET} {2184616800 10800 1 EEST} - {2203362000 7200 0 EET} + {2203707600 7200 0 EET} {2216671200 10800 1 EEST} - {2234811600 7200 0 EET} + {2235330000 7200 0 EET} {2248120800 10800 1 EEST} - {2266261200 7200 0 EET} + {2266866000 7200 0 EET} {2279570400 10800 1 EEST} - {2298315600 7200 0 EET} + {2298402000 7200 0 EET} {2311020000 10800 1 EEST} - {2329765200 7200 0 EET} + {2329938000 7200 0 EET} {2342469600 10800 1 EEST} - {2361214800 7200 0 EET} + {2361560400 7200 0 EET} {2374524000 10800 1 EEST} - {2392664400 7200 0 EET} + {2393096400 7200 0 EET} {2405973600 10800 1 EEST} - {2424114000 7200 0 EET} + {2424632400 7200 0 EET} {2437423200 10800 1 EEST} - {2455563600 7200 0 EET} + {2456168400 7200 0 EET} {2468872800 10800 1 EEST} - {2487618000 7200 0 EET} + {2487790800 7200 0 EET} {2500322400 10800 1 EEST} - {2519067600 7200 0 EET} + {2519326800 7200 0 EET} {2531772000 10800 1 EEST} - {2550517200 7200 0 EET} + {2550862800 7200 0 EET} {2563826400 10800 1 EEST} - {2581966800 7200 0 EET} + {2582398800 7200 0 EET} {2595276000 10800 1 EEST} - {2613416400 7200 0 EET} + {2614021200 7200 0 EET} {2626725600 10800 1 EEST} - {2645470800 7200 0 EET} + {2645557200 7200 0 EET} {2658175200 10800 1 EEST} - {2676920400 7200 0 EET} + {2677093200 7200 0 EET} {2689624800 10800 1 EEST} - {2708370000 7200 0 EET} + {2708629200 7200 0 EET} {2721679200 10800 1 EEST} - {2739819600 7200 0 EET} + {2740251600 7200 0 EET} {2753128800 10800 1 EEST} - {2771269200 7200 0 EET} + {2771787600 7200 0 EET} {2784578400 10800 1 EEST} - {2802718800 7200 0 EET} + {2803323600 7200 0 EET} {2816028000 10800 1 EEST} - {2834773200 7200 0 EET} + {2834859600 7200 0 EET} {2847477600 10800 1 EEST} - {2866222800 7200 0 EET} + {2866482000 7200 0 EET} {2878927200 10800 1 EEST} - {2897672400 7200 0 EET} + {2898018000 7200 0 EET} {2910981600 10800 1 EEST} - {2929122000 7200 0 EET} + {2929554000 7200 0 EET} {2942431200 10800 1 EEST} - {2960571600 7200 0 EET} + {2961090000 7200 0 EET} {2973880800 10800 1 EEST} - {2992626000 7200 0 EET} + {2992712400 7200 0 EET} {3005330400 10800 1 EEST} - {3024075600 7200 0 EET} + {3024248400 7200 0 EET} {3036780000 10800 1 EEST} - {3055525200 7200 0 EET} + {3055784400 7200 0 EET} {3068229600 10800 1 EEST} - {3086974800 7200 0 EET} + {3087320400 7200 0 EET} {3100284000 10800 1 EEST} - {3118424400 7200 0 EET} + {3118942800 7200 0 EET} {3131733600 10800 1 EEST} - {3149874000 7200 0 EET} + {3150478800 7200 0 EET} {3163183200 10800 1 EEST} - {3181928400 7200 0 EET} + {3182014800 7200 0 EET} {3194632800 10800 1 EEST} - {3213378000 7200 0 EET} + {3213550800 7200 0 EET} {3226082400 10800 1 EEST} - {3244827600 7200 0 EET} + {3245173200 7200 0 EET} {3258136800 10800 1 EEST} - {3276277200 7200 0 EET} + {3276709200 7200 0 EET} {3289586400 10800 1 EEST} - {3307726800 7200 0 EET} + {3308245200 7200 0 EET} {3321036000 10800 1 EEST} - {3339176400 7200 0 EET} + {3339781200 7200 0 EET} {3352485600 10800 1 EEST} - {3371230800 7200 0 EET} + {3371403600 7200 0 EET} {3383935200 10800 1 EEST} - {3402680400 7200 0 EET} + {3402939600 7200 0 EET} {3415384800 10800 1 EEST} - {3434130000 7200 0 EET} + {3434475600 7200 0 EET} {3447439200 10800 1 EEST} - {3465579600 7200 0 EET} + {3466011600 7200 0 EET} {3478888800 10800 1 EEST} - {3497029200 7200 0 EET} + {3497634000 7200 0 EET} {3510338400 10800 1 EEST} - {3529083600 7200 0 EET} + {3529170000 7200 0 EET} {3541788000 10800 1 EEST} - {3560533200 7200 0 EET} + {3560706000 7200 0 EET} {3573237600 10800 1 EEST} - {3591982800 7200 0 EET} + {3592242000 7200 0 EET} {3605292000 10800 1 EEST} - {3623432400 7200 0 EET} + {3623864400 7200 0 EET} {3636741600 10800 1 EEST} - {3654882000 7200 0 EET} + {3655400400 7200 0 EET} {3668191200 10800 1 EEST} - {3686331600 7200 0 EET} + {3686936400 7200 0 EET} {3699640800 10800 1 EEST} - {3718386000 7200 0 EET} + {3718472400 7200 0 EET} {3731090400 10800 1 EEST} - {3749835600 7200 0 EET} + {3750094800 7200 0 EET} {3762540000 10800 1 EEST} - {3781285200 7200 0 EET} + {3781630800 7200 0 EET} {3794594400 10800 1 EEST} - {3812734800 7200 0 EET} + {3813166800 7200 0 EET} {3826044000 10800 1 EEST} - {3844184400 7200 0 EET} + {3844702800 7200 0 EET} {3857493600 10800 1 EEST} - {3876238800 7200 0 EET} + {3876325200 7200 0 EET} {3888943200 10800 1 EEST} - {3907688400 7200 0 EET} + {3907861200 7200 0 EET} {3920392800 10800 1 EEST} - {3939138000 7200 0 EET} + {3939397200 7200 0 EET} {3951842400 10800 1 EEST} - {3970587600 7200 0 EET} + {3970933200 7200 0 EET} {3983896800 10800 1 EEST} - {4002037200 7200 0 EET} + {4002555600 7200 0 EET} {4015346400 10800 1 EEST} - {4033486800 7200 0 EET} + {4034091600 7200 0 EET} {4046796000 10800 1 EEST} - {4065541200 7200 0 EET} + {4065627600 7200 0 EET} {4078245600 10800 1 EEST} - {4096990800 7200 0 EET} + {4097163600 7200 0 EET} } diff --git a/library/tzdata/Asia/Dhaka b/library/tzdata/Asia/Dhaka index e0c270d..70fc865 100644 --- a/library/tzdata/Asia/Dhaka +++ b/library/tzdata/Asia/Dhaka @@ -8,7 +8,6 @@ set TZData(:Asia/Dhaka) { {-862637400 23400 0 BURT} {-576138600 21600 0 DACT} {38772000 21600 0 BDT} - {1230746400 21600 0 BDT} {1245430800 25200 1 BDST} - {1262278740 21600 0 BDT} + {1262278800 21600 0 BDT} } diff --git a/library/tzdata/Asia/Gaza b/library/tzdata/Asia/Gaza index a0636e2..e0c8eb0 100644 --- a/library/tzdata/Asia/Gaza +++ b/library/tzdata/Asia/Gaza @@ -88,191 +88,188 @@ set TZData(:Asia/Gaza) { {1158872400 7200 0 EET} {1175378400 10800 1 EEST} {1189638000 7200 0 EET} - {1206655200 10800 1 EEST} - {1219960800 7200 0 EET} - {1220220000 7200 0 EET} + {1207000800 10800 1 EEST} + {1219964400 7200 0 EET} {1238104800 10800 1 EEST} - {1252015200 7200 0 EET} - {1262296800 7200 0 EET} - {1269640860 10800 0 EEST} - {1281474000 7200 0 EET} - {1301608860 10800 1 EEST} - {1312149600 7200 0 EET} - {1325368800 7200 0 EET} + {1254092400 7200 0 EET} + {1269554400 10800 1 EEST} + {1285542000 7200 0 EET} + {1301004000 10800 1 EEST} + {1316991600 7200 0 EET} {1333058400 10800 1 EEST} - {1348178400 7200 0 EET} + {1348441200 7200 0 EET} {1364508000 10800 1 EEST} - {1380232800 7200 0 EET} + {1380495600 7200 0 EET} {1395957600 10800 1 EEST} - {1411682400 7200 0 EET} + {1411945200 7200 0 EET} {1427407200 10800 1 EEST} - {1443132000 7200 0 EET} - {1459461600 10800 1 EEST} - {1474581600 7200 0 EET} + {1443394800 7200 0 EET} + {1458856800 10800 1 EEST} + {1474844400 7200 0 EET} {1490911200 10800 1 EEST} - {1506031200 7200 0 EET} + {1506294000 7200 0 EET} {1522360800 10800 1 EEST} - {1537480800 7200 0 EET} + {1537743600 7200 0 EET} {1553810400 10800 1 EEST} - {1569535200 7200 0 EET} + {1569798000 7200 0 EET} {1585260000 10800 1 EEST} - {1600984800 7200 0 EET} + {1601247600 7200 0 EET} {1616709600 10800 1 EEST} - {1632434400 7200 0 EET} - {1648764000 10800 1 EEST} - {1663884000 7200 0 EET} + {1632697200 7200 0 EET} + {1648159200 10800 1 EEST} + {1664146800 7200 0 EET} {1680213600 10800 1 EEST} - {1695333600 7200 0 EET} + {1695596400 7200 0 EET} {1711663200 10800 1 EEST} - {1727388000 7200 0 EET} + {1727650800 7200 0 EET} {1743112800 10800 1 EEST} - {1758837600 7200 0 EET} + {1759100400 7200 0 EET} {1774562400 10800 1 EEST} - {1790287200 7200 0 EET} + {1790550000 7200 0 EET} {1806012000 10800 1 EEST} - {1821736800 7200 0 EET} + {1821999600 7200 0 EET} {1838066400 10800 1 EEST} - {1853186400 7200 0 EET} + {1853449200 7200 0 EET} {1869516000 10800 1 EEST} - {1884636000 7200 0 EET} + {1884898800 7200 0 EET} {1900965600 10800 1 EEST} - {1916690400 7200 0 EET} + {1916953200 7200 0 EET} {1932415200 10800 1 EEST} - {1948140000 7200 0 EET} + {1948402800 7200 0 EET} {1963864800 10800 1 EEST} - {1979589600 7200 0 EET} - {1995919200 10800 1 EEST} - {2011039200 7200 0 EET} + {1979852400 7200 0 EET} + {1995314400 10800 1 EEST} + {2011302000 7200 0 EET} {2027368800 10800 1 EEST} - {2042488800 7200 0 EET} + {2042751600 7200 0 EET} {2058818400 10800 1 EEST} - {2073938400 7200 0 EET} + {2074201200 7200 0 EET} {2090268000 10800 1 EEST} - {2105992800 7200 0 EET} + {2106255600 7200 0 EET} {2121717600 10800 1 EEST} - {2137442400 7200 0 EET} + {2137705200 7200 0 EET} {2153167200 10800 1 EEST} - {2168892000 7200 0 EET} - {2185221600 10800 1 EEST} - {2200341600 7200 0 EET} + {2169154800 7200 0 EET} + {2184616800 10800 1 EEST} + {2200604400 7200 0 EET} {2216671200 10800 1 EEST} - {2231791200 7200 0 EET} + {2232054000 7200 0 EET} {2248120800 10800 1 EEST} - {2263845600 7200 0 EET} + {2264108400 7200 0 EET} {2279570400 10800 1 EEST} - {2295295200 7200 0 EET} + {2295558000 7200 0 EET} {2311020000 10800 1 EEST} - {2326744800 7200 0 EET} - {2343074400 10800 1 EEST} - {2358194400 7200 0 EET} + {2327007600 7200 0 EET} + {2342469600 10800 1 EEST} + {2358457200 7200 0 EET} {2374524000 10800 1 EEST} - {2389644000 7200 0 EET} + {2389906800 7200 0 EET} {2405973600 10800 1 EEST} - {2421093600 7200 0 EET} + {2421356400 7200 0 EET} {2437423200 10800 1 EEST} - {2453148000 7200 0 EET} + {2453410800 7200 0 EET} {2468872800 10800 1 EEST} - {2484597600 7200 0 EET} + {2484860400 7200 0 EET} {2500322400 10800 1 EEST} - {2516047200 7200 0 EET} - {2532376800 10800 1 EEST} - {2547496800 7200 0 EET} + {2516310000 7200 0 EET} + {2531772000 10800 1 EEST} + {2547759600 7200 0 EET} {2563826400 10800 1 EEST} - {2578946400 7200 0 EET} + {2579209200 7200 0 EET} {2595276000 10800 1 EEST} - {2611000800 7200 0 EET} + {2611263600 7200 0 EET} {2626725600 10800 1 EEST} - {2642450400 7200 0 EET} + {2642713200 7200 0 EET} {2658175200 10800 1 EEST} - {2673900000 7200 0 EET} + {2674162800 7200 0 EET} {2689624800 10800 1 EEST} - {2705349600 7200 0 EET} + {2705612400 7200 0 EET} {2721679200 10800 1 EEST} - {2736799200 7200 0 EET} + {2737062000 7200 0 EET} {2753128800 10800 1 EEST} - {2768248800 7200 0 EET} + {2768511600 7200 0 EET} {2784578400 10800 1 EEST} - {2800303200 7200 0 EET} + {2800566000 7200 0 EET} {2816028000 10800 1 EEST} - {2831752800 7200 0 EET} + {2832015600 7200 0 EET} {2847477600 10800 1 EEST} - {2863202400 7200 0 EET} - {2879532000 10800 1 EEST} - {2894652000 7200 0 EET} + {2863465200 7200 0 EET} + {2878927200 10800 1 EEST} + {2894914800 7200 0 EET} {2910981600 10800 1 EEST} - {2926101600 7200 0 EET} + {2926364400 7200 0 EET} {2942431200 10800 1 EEST} - {2957551200 7200 0 EET} + {2957814000 7200 0 EET} {2973880800 10800 1 EEST} - {2989605600 7200 0 EET} + {2989868400 7200 0 EET} {3005330400 10800 1 EEST} - {3021055200 7200 0 EET} + {3021318000 7200 0 EET} {3036780000 10800 1 EEST} - {3052504800 7200 0 EET} - {3068834400 10800 1 EEST} - {3083954400 7200 0 EET} + {3052767600 7200 0 EET} + {3068229600 10800 1 EEST} + {3084217200 7200 0 EET} {3100284000 10800 1 EEST} - {3115404000 7200 0 EET} + {3115666800 7200 0 EET} {3131733600 10800 1 EEST} - {3147458400 7200 0 EET} + {3147721200 7200 0 EET} {3163183200 10800 1 EEST} - {3178908000 7200 0 EET} + {3179170800 7200 0 EET} {3194632800 10800 1 EEST} - {3210357600 7200 0 EET} - {3226687200 10800 1 EEST} - {3241807200 7200 0 EET} + {3210620400 7200 0 EET} + {3226082400 10800 1 EEST} + {3242070000 7200 0 EET} {3258136800 10800 1 EEST} - {3273256800 7200 0 EET} + {3273519600 7200 0 EET} {3289586400 10800 1 EEST} - {3304706400 7200 0 EET} + {3304969200 7200 0 EET} {3321036000 10800 1 EEST} - {3336760800 7200 0 EET} + {3337023600 7200 0 EET} {3352485600 10800 1 EEST} - {3368210400 7200 0 EET} + {3368473200 7200 0 EET} {3383935200 10800 1 EEST} - {3399660000 7200 0 EET} - {3415989600 10800 1 EEST} - {3431109600 7200 0 EET} + {3399922800 7200 0 EET} + {3415384800 10800 1 EEST} + {3431372400 7200 0 EET} {3447439200 10800 1 EEST} - {3462559200 7200 0 EET} + {3462822000 7200 0 EET} {3478888800 10800 1 EEST} - {3494613600 7200 0 EET} + {3494876400 7200 0 EET} {3510338400 10800 1 EEST} - {3526063200 7200 0 EET} + {3526326000 7200 0 EET} {3541788000 10800 1 EEST} - {3557512800 7200 0 EET} + {3557775600 7200 0 EET} {3573237600 10800 1 EEST} - {3588962400 7200 0 EET} + {3589225200 7200 0 EET} {3605292000 10800 1 EEST} - {3620412000 7200 0 EET} + {3620674800 7200 0 EET} {3636741600 10800 1 EEST} - {3651861600 7200 0 EET} + {3652124400 7200 0 EET} {3668191200 10800 1 EEST} - {3683916000 7200 0 EET} + {3684178800 7200 0 EET} {3699640800 10800 1 EEST} - {3715365600 7200 0 EET} + {3715628400 7200 0 EET} {3731090400 10800 1 EEST} - {3746815200 7200 0 EET} - {3763144800 10800 1 EEST} - {3778264800 7200 0 EET} + {3747078000 7200 0 EET} + {3762540000 10800 1 EEST} + {3778527600 7200 0 EET} {3794594400 10800 1 EEST} - {3809714400 7200 0 EET} + {3809977200 7200 0 EET} {3826044000 10800 1 EEST} - {3841164000 7200 0 EET} + {3841426800 7200 0 EET} {3857493600 10800 1 EEST} - {3873218400 7200 0 EET} + {3873481200 7200 0 EET} {3888943200 10800 1 EEST} - {3904668000 7200 0 EET} + {3904930800 7200 0 EET} {3920392800 10800 1 EEST} - {3936117600 7200 0 EET} - {3952447200 10800 1 EEST} - {3967567200 7200 0 EET} + {3936380400 7200 0 EET} + {3951842400 10800 1 EEST} + {3967830000 7200 0 EET} {3983896800 10800 1 EEST} - {3999016800 7200 0 EET} + {3999279600 7200 0 EET} {4015346400 10800 1 EEST} - {4031071200 7200 0 EET} + {4031334000 7200 0 EET} {4046796000 10800 1 EEST} - {4062520800 7200 0 EET} + {4062783600 7200 0 EET} {4078245600 10800 1 EEST} - {4093970400 7200 0 EET} + {4094233200 7200 0 EET} } diff --git a/library/tzdata/Asia/Hebron b/library/tzdata/Asia/Hebron deleted file mode 100644 index a8a9019..0000000 --- a/library/tzdata/Asia/Hebron +++ /dev/null @@ -1,277 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:Asia/Hebron) { - {-9223372036854775808 8423 0 LMT} - {-2185410023 7200 0 EET} - {-933645600 10800 1 EET} - {-857358000 7200 0 EET} - {-844300800 10800 1 EET} - {-825822000 7200 0 EET} - {-812685600 10800 1 EET} - {-794199600 7200 0 EET} - {-779853600 10800 1 EET} - {-762656400 7200 0 EET} - {-748310400 10800 1 EET} - {-731127600 7200 0 EET} - {-682653600 7200 0 EET} - {-399088800 10800 1 EEST} - {-386650800 7200 0 EET} - {-368330400 10800 1 EEST} - {-355114800 7200 0 EET} - {-336790800 10800 1 EEST} - {-323654400 7200 0 EET} - {-305168400 10800 1 EEST} - {-292032000 7200 0 EET} - {-273632400 10800 1 EEST} - {-260496000 7200 0 EET} - {-242096400 10800 1 EEST} - {-228960000 7200 0 EET} - {-210560400 10800 1 EEST} - {-197424000 7200 0 EET} - {-178938000 10800 1 EEST} - {-165801600 7200 0 EET} - {-147402000 10800 1 EEST} - {-134265600 7200 0 EET} - {-115866000 10800 1 EEST} - {-102643200 7200 0 EET} - {-84330000 10800 1 EEST} - {-81313200 10800 0 IST} - {142376400 10800 1 IDT} - {150843600 7200 0 IST} - {167176800 10800 1 IDT} - {178664400 7200 0 IST} - {482277600 10800 1 IDT} - {495579600 7200 0 IST} - {516751200 10800 1 IDT} - {526424400 7200 0 IST} - {545436000 10800 1 IDT} - {558478800 7200 0 IST} - {576540000 10800 1 IDT} - {589237200 7200 0 IST} - {609890400 10800 1 IDT} - {620773200 7200 0 IST} - {638316000 10800 1 IDT} - {651618000 7200 0 IST} - {669765600 10800 1 IDT} - {683672400 7200 0 IST} - {701820000 10800 1 IDT} - {715726800 7200 0 IST} - {733701600 10800 1 IDT} - {747176400 7200 0 IST} - {765151200 10800 1 IDT} - {778021200 7200 0 IST} - {796600800 10800 1 IDT} - {810075600 7200 0 IST} - {820447200 7200 0 EET} - {828655200 10800 1 EEST} - {843170400 7200 0 EET} - {860104800 10800 1 EEST} - {874620000 7200 0 EET} - {891554400 10800 1 EEST} - {906069600 7200 0 EET} - {915141600 7200 0 EET} - {924213600 10800 1 EEST} - {939934800 7200 0 EET} - {956268000 10800 1 EEST} - {971989200 7200 0 EET} - {987717600 10800 1 EEST} - {1003438800 7200 0 EET} - {1019167200 10800 1 EEST} - {1034888400 7200 0 EET} - {1050616800 10800 1 EEST} - {1066338000 7200 0 EET} - {1082066400 10800 1 EEST} - {1096581600 7200 0 EET} - {1113516000 10800 1 EEST} - {1128380400 7200 0 EET} - {1143842400 10800 1 EEST} - {1158872400 7200 0 EET} - {1175378400 10800 1 EEST} - {1189638000 7200 0 EET} - {1206655200 10800 1 EEST} - {1220216400 7200 0 EET} - {1238104800 10800 1 EEST} - {1252015200 7200 0 EET} - {1269554400 10800 1 EEST} - {1281474000 7200 0 EET} - {1301608860 10800 1 EEST} - {1312146000 7200 0 EET} - {1314655200 10800 1 EEST} - {1317330000 7200 0 EET} - {1333058400 10800 1 EEST} - {1348178400 7200 0 EET} - {1364508000 10800 1 EEST} - {1380232800 7200 0 EET} - {1395957600 10800 1 EEST} - {1411682400 7200 0 EET} - {1427407200 10800 1 EEST} - {1443132000 7200 0 EET} - {1459461600 10800 1 EEST} - {1474581600 7200 0 EET} - {1490911200 10800 1 EEST} - {1506031200 7200 0 EET} - {1522360800 10800 1 EEST} - {1537480800 7200 0 EET} - {1553810400 10800 1 EEST} - {1569535200 7200 0 EET} - {1585260000 10800 1 EEST} - {1600984800 7200 0 EET} - {1616709600 10800 1 EEST} - {1632434400 7200 0 EET} - {1648764000 10800 1 EEST} - {1663884000 7200 0 EET} - {1680213600 10800 1 EEST} - {1695333600 7200 0 EET} - {1711663200 10800 1 EEST} - {1727388000 7200 0 EET} - {1743112800 10800 1 EEST} - {1758837600 7200 0 EET} - {1774562400 10800 1 EEST} - {1790287200 7200 0 EET} - {1806012000 10800 1 EEST} - {1821736800 7200 0 EET} - {1838066400 10800 1 EEST} - {1853186400 7200 0 EET} - {1869516000 10800 1 EEST} - {1884636000 7200 0 EET} - {1900965600 10800 1 EEST} - {1916690400 7200 0 EET} - {1932415200 10800 1 EEST} - {1948140000 7200 0 EET} - {1963864800 10800 1 EEST} - {1979589600 7200 0 EET} - {1995919200 10800 1 EEST} - {2011039200 7200 0 EET} - {2027368800 10800 1 EEST} - {2042488800 7200 0 EET} - {2058818400 10800 1 EEST} - {2073938400 7200 0 EET} - {2090268000 10800 1 EEST} - {2105992800 7200 0 EET} - {2121717600 10800 1 EEST} - {2137442400 7200 0 EET} - {2153167200 10800 1 EEST} - {2168892000 7200 0 EET} - {2185221600 10800 1 EEST} - {2200341600 7200 0 EET} - {2216671200 10800 1 EEST} - {2231791200 7200 0 EET} - {2248120800 10800 1 EEST} - {2263845600 7200 0 EET} - {2279570400 10800 1 EEST} - {2295295200 7200 0 EET} - {2311020000 10800 1 EEST} - {2326744800 7200 0 EET} - {2343074400 10800 1 EEST} - {2358194400 7200 0 EET} - {2374524000 10800 1 EEST} - {2389644000 7200 0 EET} - {2405973600 10800 1 EEST} - {2421093600 7200 0 EET} - {2437423200 10800 1 EEST} - {2453148000 7200 0 EET} - {2468872800 10800 1 EEST} - {2484597600 7200 0 EET} - {2500322400 10800 1 EEST} - {2516047200 7200 0 EET} - {2532376800 10800 1 EEST} - {2547496800 7200 0 EET} - {2563826400 10800 1 EEST} - {2578946400 7200 0 EET} - {2595276000 10800 1 EEST} - {2611000800 7200 0 EET} - {2626725600 10800 1 EEST} - {2642450400 7200 0 EET} - {2658175200 10800 1 EEST} - {2673900000 7200 0 EET} - {2689624800 10800 1 EEST} - {2705349600 7200 0 EET} - {2721679200 10800 1 EEST} - {2736799200 7200 0 EET} - {2753128800 10800 1 EEST} - {2768248800 7200 0 EET} - {2784578400 10800 1 EEST} - {2800303200 7200 0 EET} - {2816028000 10800 1 EEST} - {2831752800 7200 0 EET} - {2847477600 10800 1 EEST} - {2863202400 7200 0 EET} - {2879532000 10800 1 EEST} - {2894652000 7200 0 EET} - {2910981600 10800 1 EEST} - {2926101600 7200 0 EET} - {2942431200 10800 1 EEST} - {2957551200 7200 0 EET} - {2973880800 10800 1 EEST} - {2989605600 7200 0 EET} - {3005330400 10800 1 EEST} - {3021055200 7200 0 EET} - {3036780000 10800 1 EEST} - {3052504800 7200 0 EET} - {3068834400 10800 1 EEST} - {3083954400 7200 0 EET} - {3100284000 10800 1 EEST} - {3115404000 7200 0 EET} - {3131733600 10800 1 EEST} - {3147458400 7200 0 EET} - {3163183200 10800 1 EEST} - {3178908000 7200 0 EET} - {3194632800 10800 1 EEST} - {3210357600 7200 0 EET} - {3226687200 10800 1 EEST} - {3241807200 7200 0 EET} - {3258136800 10800 1 EEST} - {3273256800 7200 0 EET} - {3289586400 10800 1 EEST} - {3304706400 7200 0 EET} - {3321036000 10800 1 EEST} - {3336760800 7200 0 EET} - {3352485600 10800 1 EEST} - {3368210400 7200 0 EET} - {3383935200 10800 1 EEST} - {3399660000 7200 0 EET} - {3415989600 10800 1 EEST} - {3431109600 7200 0 EET} - {3447439200 10800 1 EEST} - {3462559200 7200 0 EET} - {3478888800 10800 1 EEST} - {3494613600 7200 0 EET} - {3510338400 10800 1 EEST} - {3526063200 7200 0 EET} - {3541788000 10800 1 EEST} - {3557512800 7200 0 EET} - {3573237600 10800 1 EEST} - {3588962400 7200 0 EET} - {3605292000 10800 1 EEST} - {3620412000 7200 0 EET} - {3636741600 10800 1 EEST} - {3651861600 7200 0 EET} - {3668191200 10800 1 EEST} - {3683916000 7200 0 EET} - {3699640800 10800 1 EEST} - {3715365600 7200 0 EET} - {3731090400 10800 1 EEST} - {3746815200 7200 0 EET} - {3763144800 10800 1 EEST} - {3778264800 7200 0 EET} - {3794594400 10800 1 EEST} - {3809714400 7200 0 EET} - {3826044000 10800 1 EEST} - {3841164000 7200 0 EET} - {3857493600 10800 1 EEST} - {3873218400 7200 0 EET} - {3888943200 10800 1 EEST} - {3904668000 7200 0 EET} - {3920392800 10800 1 EEST} - {3936117600 7200 0 EET} - {3952447200 10800 1 EEST} - {3967567200 7200 0 EET} - {3983896800 10800 1 EEST} - {3999016800 7200 0 EET} - {4015346400 10800 1 EEST} - {4031071200 7200 0 EET} - {4046796000 10800 1 EEST} - {4062520800 7200 0 EET} - {4078245600 10800 1 EEST} - {4093970400 7200 0 EET} -} diff --git a/library/tzdata/Asia/Hong_Kong b/library/tzdata/Asia/Hong_Kong index fcf98a6..88d8091 100644 --- a/library/tzdata/Asia/Hong_Kong +++ b/library/tzdata/Asia/Hong_Kong @@ -1,12 +1,8 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Asia/Hong_Kong) { - {-9223372036854775808 27402 0 LMT} - {-2056693002 28800 0 HKT} - {-907389000 32400 1 HKST} - {-891667800 28800 0 HKT} - {-884246400 32400 0 JST} - {-766746000 28800 0 HKT} + {-9223372036854775808 27396 0 LMT} + {-2056692996 28800 0 HKT} {-747981000 32400 1 HKST} {-728544600 28800 0 HKT} {-717049800 32400 1 HKST} @@ -20,7 +16,7 @@ set TZData(:Asia/Hong_Kong) { {-591856200 32400 1 HKST} {-573715800 28800 0 HKT} {-559801800 32400 1 HKST} - {-542352600 28800 0 HKT} + {-542266200 28800 0 HKT} {-528352200 32400 1 HKST} {-510211800 28800 0 HKT} {-498112200 32400 1 HKST} @@ -63,13 +59,16 @@ set TZData(:Asia/Hong_Kong) { {88540200 28800 0 HKT} {104268600 32400 1 HKST} {119989800 28800 0 HKT} - {126041400 32400 1 HKST} - {135714600 32400 1 HKST} + {135718200 32400 1 HKST} {151439400 28800 0 HKT} {167167800 32400 1 HKST} {182889000 28800 0 HKT} {198617400 32400 1 HKST} {214338600 28800 0 HKT} + {230067000 32400 1 HKST} + {245788200 28800 0 HKT} {295385400 32400 1 HKST} {309292200 28800 0 HKT} + {326835000 32400 1 HKST} + {340741800 28800 0 HKT} } diff --git a/library/tzdata/Asia/Irkutsk b/library/tzdata/Asia/Irkutsk index bca1dcc..771ebc9 100644 --- a/library/tzdata/Asia/Irkutsk +++ b/library/tzdata/Asia/Irkutsk @@ -67,5 +67,182 @@ set TZData(:Asia/Irkutsk) { {1256407200 28800 0 IRKT} {1269712800 32400 1 IRKST} {1288461600 28800 0 IRKT} - {1301162400 32400 0 IRKT} + {1301162400 32400 1 IRKST} + {1319911200 28800 0 IRKT} + {1332612000 32400 1 IRKST} + {1351360800 28800 0 IRKT} + {1364666400 32400 1 IRKST} + {1382810400 28800 0 IRKT} + {1396116000 32400 1 IRKST} + {1414260000 28800 0 IRKT} + {1427565600 32400 1 IRKST} + {1445709600 28800 0 IRKT} + {1459015200 32400 1 IRKST} + {1477764000 28800 0 IRKT} + {1490464800 32400 1 IRKST} + {1509213600 28800 0 IRKT} + {1521914400 32400 1 IRKST} + {1540663200 28800 0 IRKT} + {1553968800 32400 1 IRKST} + {1572112800 28800 0 IRKT} + {1585418400 32400 1 IRKST} + {1603562400 28800 0 IRKT} + {1616868000 32400 1 IRKST} + {1635616800 28800 0 IRKT} + {1648317600 32400 1 IRKST} + {1667066400 28800 0 IRKT} + {1679767200 32400 1 IRKST} + {1698516000 28800 0 IRKT} + {1711821600 32400 1 IRKST} + {1729965600 28800 0 IRKT} + {1743271200 32400 1 IRKST} + {1761415200 28800 0 IRKT} + {1774720800 32400 1 IRKST} + {1792864800 28800 0 IRKT} + {1806170400 32400 1 IRKST} + {1824919200 28800 0 IRKT} + {1837620000 32400 1 IRKST} + {1856368800 28800 0 IRKT} + {1869069600 32400 1 IRKST} + {1887818400 28800 0 IRKT} + {1901124000 32400 1 IRKST} + {1919268000 28800 0 IRKT} + {1932573600 32400 1 IRKST} + {1950717600 28800 0 IRKT} + {1964023200 32400 1 IRKST} + {1982772000 28800 0 IRKT} + {1995472800 32400 1 IRKST} + {2014221600 28800 0 IRKT} + {2026922400 32400 1 IRKST} + {2045671200 28800 0 IRKT} + {2058372000 32400 1 IRKST} + {2077120800 28800 0 IRKT} + {2090426400 32400 1 IRKST} + {2108570400 28800 0 IRKT} + {2121876000 32400 1 IRKST} + {2140020000 28800 0 IRKT} + {2153325600 32400 1 IRKST} + {2172074400 28800 0 IRKT} + {2184775200 32400 1 IRKST} + {2203524000 28800 0 IRKT} + {2216224800 32400 1 IRKST} + {2234973600 28800 0 IRKT} + {2248279200 32400 1 IRKST} + {2266423200 28800 0 IRKT} + {2279728800 32400 1 IRKST} + {2297872800 28800 0 IRKT} + {2311178400 32400 1 IRKST} + {2329322400 28800 0 IRKT} + {2342628000 32400 1 IRKST} + {2361376800 28800 0 IRKT} + {2374077600 32400 1 IRKST} + {2392826400 28800 0 IRKT} + {2405527200 32400 1 IRKST} + {2424276000 28800 0 IRKT} + {2437581600 32400 1 IRKST} + {2455725600 28800 0 IRKT} + {2469031200 32400 1 IRKST} + {2487175200 28800 0 IRKT} + {2500480800 32400 1 IRKST} + {2519229600 28800 0 IRKT} + {2531930400 32400 1 IRKST} + {2550679200 28800 0 IRKT} + {2563380000 32400 1 IRKST} + {2582128800 28800 0 IRKT} + {2595434400 32400 1 IRKST} + {2613578400 28800 0 IRKT} + {2626884000 32400 1 IRKST} + {2645028000 28800 0 IRKT} + {2658333600 32400 1 IRKST} + {2676477600 28800 0 IRKT} + {2689783200 32400 1 IRKST} + {2708532000 28800 0 IRKT} + {2721232800 32400 1 IRKST} + {2739981600 28800 0 IRKT} + {2752682400 32400 1 IRKST} + {2771431200 28800 0 IRKT} + {2784736800 32400 1 IRKST} + {2802880800 28800 0 IRKT} + {2816186400 32400 1 IRKST} + {2834330400 28800 0 IRKT} + {2847636000 32400 1 IRKST} + {2866384800 28800 0 IRKT} + {2879085600 32400 1 IRKST} + {2897834400 28800 0 IRKT} + {2910535200 32400 1 IRKST} + {2929284000 28800 0 IRKT} + {2941984800 32400 1 IRKST} + {2960733600 28800 0 IRKT} + {2974039200 32400 1 IRKST} + {2992183200 28800 0 IRKT} + {3005488800 32400 1 IRKST} + {3023632800 28800 0 IRKT} + {3036938400 32400 1 IRKST} + {3055687200 28800 0 IRKT} + {3068388000 32400 1 IRKST} + {3087136800 28800 0 IRKT} + {3099837600 32400 1 IRKST} + {3118586400 28800 0 IRKT} + {3131892000 32400 1 IRKST} + {3150036000 28800 0 IRKT} + {3163341600 32400 1 IRKST} + {3181485600 28800 0 IRKT} + {3194791200 32400 1 IRKST} + {3212935200 28800 0 IRKT} + {3226240800 32400 1 IRKST} + {3244989600 28800 0 IRKT} + {3257690400 32400 1 IRKST} + {3276439200 28800 0 IRKT} + {3289140000 32400 1 IRKST} + {3307888800 28800 0 IRKT} + {3321194400 32400 1 IRKST} + {3339338400 28800 0 IRKT} + {3352644000 32400 1 IRKST} + {3370788000 28800 0 IRKT} + {3384093600 32400 1 IRKST} + {3402842400 28800 0 IRKT} + {3415543200 32400 1 IRKST} + {3434292000 28800 0 IRKT} + {3446992800 32400 1 IRKST} + {3465741600 28800 0 IRKT} + {3479047200 32400 1 IRKST} + {3497191200 28800 0 IRKT} + {3510496800 32400 1 IRKST} + {3528640800 28800 0 IRKT} + {3541946400 32400 1 IRKST} + {3560090400 28800 0 IRKT} + {3573396000 32400 1 IRKST} + {3592144800 28800 0 IRKT} + {3604845600 32400 1 IRKST} + {3623594400 28800 0 IRKT} + {3636295200 32400 1 IRKST} + {3655044000 28800 0 IRKT} + {3668349600 32400 1 IRKST} + {3686493600 28800 0 IRKT} + {3699799200 32400 1 IRKST} + {3717943200 28800 0 IRKT} + {3731248800 32400 1 IRKST} + {3749997600 28800 0 IRKT} + {3762698400 32400 1 IRKST} + {3781447200 28800 0 IRKT} + {3794148000 32400 1 IRKST} + {3812896800 28800 0 IRKT} + {3825597600 32400 1 IRKST} + {3844346400 28800 0 IRKT} + {3857652000 32400 1 IRKST} + {3875796000 28800 0 IRKT} + {3889101600 32400 1 IRKST} + {3907245600 28800 0 IRKT} + {3920551200 32400 1 IRKST} + {3939300000 28800 0 IRKT} + {3952000800 32400 1 IRKST} + {3970749600 28800 0 IRKT} + {3983450400 32400 1 IRKST} + {4002199200 28800 0 IRKT} + {4015504800 32400 1 IRKST} + {4033648800 28800 0 IRKT} + {4046954400 32400 1 IRKST} + {4065098400 28800 0 IRKT} + {4078404000 32400 1 IRKST} + {4096548000 28800 0 IRKT} } diff --git a/library/tzdata/Asia/Jerusalem b/library/tzdata/Asia/Jerusalem index 7662680..48e213d 100644 --- a/library/tzdata/Asia/Jerusalem +++ b/library/tzdata/Asia/Jerusalem @@ -1,8 +1,8 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Asia/Jerusalem) { - {-9223372036854775808 8454 0 LMT} - {-2840149254 8440 0 JMT} + {-9223372036854775808 8456 0 LMT} + {-2840149256 8440 0 JMT} {-1641003640 7200 0 IST} {-933645600 10800 1 IDT} {-857358000 7200 0 IST} @@ -96,177 +96,53 @@ set TZData(:Asia/Jerusalem) { {1333065600 10800 1 IDT} {1348354800 7200 0 IST} {1364515200 10800 1 IDT} - {1382828400 7200 0 IST} + {1378594800 7200 0 IST} {1395964800 10800 1 IDT} - {1414278000 7200 0 IST} + {1411858800 7200 0 IST} {1427414400 10800 1 IDT} - {1445727600 7200 0 IST} - {1458864000 10800 1 IDT} - {1477782000 7200 0 IST} - {1490313600 10800 1 IDT} - {1509231600 7200 0 IST} - {1521763200 10800 1 IDT} - {1540681200 7200 0 IST} + {1442703600 7200 0 IST} + {1459468800 10800 1 IDT} + {1475967600 7200 0 IST} + {1490918400 10800 1 IDT} + {1506207600 7200 0 IST} + {1522368000 10800 1 IDT} + {1537052400 7200 0 IST} {1553817600 10800 1 IDT} - {1572130800 7200 0 IST} + {1570316400 7200 0 IST} {1585267200 10800 1 IDT} - {1603580400 7200 0 IST} + {1601161200 7200 0 IST} {1616716800 10800 1 IDT} - {1635634800 7200 0 IST} - {1648166400 10800 1 IDT} - {1667084400 7200 0 IST} - {1679616000 10800 1 IDT} - {1698534000 7200 0 IST} + {1631401200 7200 0 IST} + {1648771200 10800 1 IDT} + {1664665200 7200 0 IST} + {1680220800 10800 1 IDT} + {1695510000 7200 0 IST} {1711670400 10800 1 IDT} - {1729983600 7200 0 IST} + {1728169200 7200 0 IST} {1743120000 10800 1 IDT} - {1761433200 7200 0 IST} + {1759014000 7200 0 IST} {1774569600 10800 1 IDT} - {1792882800 7200 0 IST} + {1789858800 7200 0 IST} {1806019200 10800 1 IDT} - {1824937200 7200 0 IST} - {1837468800 10800 1 IDT} - {1856386800 7200 0 IST} - {1868918400 10800 1 IDT} - {1887836400 7200 0 IST} + {1823122800 7200 0 IST} + {1838073600 10800 1 IDT} + {1853362800 7200 0 IST} + {1869523200 10800 1 IDT} + {1884207600 7200 0 IST} {1900972800 10800 1 IDT} - {1919286000 7200 0 IST} + {1917471600 7200 0 IST} {1932422400 10800 1 IDT} - {1950735600 7200 0 IST} + {1947711600 7200 0 IST} {1963872000 10800 1 IDT} - {1982790000 7200 0 IST} - {1995321600 10800 1 IDT} - {2014239600 7200 0 IST} - {2026771200 10800 1 IDT} - {2045689200 7200 0 IST} - {2058220800 10800 1 IDT} - {2077138800 7200 0 IST} + {1978556400 7200 0 IST} + {1995926400 10800 1 IDT} + {2011820400 7200 0 IST} + {2027376000 10800 1 IDT} + {2042060400 7200 0 IST} + {2058825600 10800 1 IDT} + {2075324400 7200 0 IST} {2090275200 10800 1 IDT} - {2108588400 7200 0 IST} + {2106169200 7200 0 IST} {2121724800 10800 1 IDT} - {2140038000 7200 0 IST} - {2153174400 10800 1 IDT} - {2172092400 7200 0 IST} - {2184624000 10800 1 IDT} - {2203542000 7200 0 IST} - {2216073600 10800 1 IDT} - {2234991600 7200 0 IST} - {2248128000 10800 1 IDT} - {2266441200 7200 0 IST} - {2279577600 10800 1 IDT} - {2297890800 7200 0 IST} - {2311027200 10800 1 IDT} - {2329340400 7200 0 IST} - {2342476800 10800 1 IDT} - {2361394800 7200 0 IST} - {2373926400 10800 1 IDT} - {2392844400 7200 0 IST} - {2405376000 10800 1 IDT} - {2424294000 7200 0 IST} - {2437430400 10800 1 IDT} - {2455743600 7200 0 IST} - {2468880000 10800 1 IDT} - {2487193200 7200 0 IST} - {2500329600 10800 1 IDT} - {2519247600 7200 0 IST} - {2531779200 10800 1 IDT} - {2550697200 7200 0 IST} - {2563228800 10800 1 IDT} - {2582146800 7200 0 IST} - {2595283200 10800 1 IDT} - {2613596400 7200 0 IST} - {2626732800 10800 1 IDT} - {2645046000 7200 0 IST} - {2658182400 10800 1 IDT} - {2676495600 7200 0 IST} - {2689632000 10800 1 IDT} - {2708550000 7200 0 IST} - {2721081600 10800 1 IDT} - {2739999600 7200 0 IST} - {2752531200 10800 1 IDT} - {2771449200 7200 0 IST} - {2784585600 10800 1 IDT} - {2802898800 7200 0 IST} - {2816035200 10800 1 IDT} - {2834348400 7200 0 IST} - {2847484800 10800 1 IDT} - {2866402800 7200 0 IST} - {2878934400 10800 1 IDT} - {2897852400 7200 0 IST} - {2910384000 10800 1 IDT} - {2929302000 7200 0 IST} - {2941833600 10800 1 IDT} - {2960751600 7200 0 IST} - {2973888000 10800 1 IDT} - {2992201200 7200 0 IST} - {3005337600 10800 1 IDT} - {3023650800 7200 0 IST} - {3036787200 10800 1 IDT} - {3055705200 7200 0 IST} - {3068236800 10800 1 IDT} - {3087154800 7200 0 IST} - {3099686400 10800 1 IDT} - {3118604400 7200 0 IST} - {3131740800 10800 1 IDT} - {3150054000 7200 0 IST} - {3163190400 10800 1 IDT} - {3181503600 7200 0 IST} - {3194640000 10800 1 IDT} - {3212953200 7200 0 IST} - {3226089600 10800 1 IDT} - {3245007600 7200 0 IST} - {3257539200 10800 1 IDT} - {3276457200 7200 0 IST} - {3288988800 10800 1 IDT} - {3307906800 7200 0 IST} - {3321043200 10800 1 IDT} - {3339356400 7200 0 IST} - {3352492800 10800 1 IDT} - {3370806000 7200 0 IST} - {3383942400 10800 1 IDT} - {3402860400 7200 0 IST} - {3415392000 10800 1 IDT} - {3434310000 7200 0 IST} - {3446841600 10800 1 IDT} - {3465759600 7200 0 IST} - {3478896000 10800 1 IDT} - {3497209200 7200 0 IST} - {3510345600 10800 1 IDT} - {3528658800 7200 0 IST} - {3541795200 10800 1 IDT} - {3560108400 7200 0 IST} - {3573244800 10800 1 IDT} - {3592162800 7200 0 IST} - {3604694400 10800 1 IDT} - {3623612400 7200 0 IST} - {3636144000 10800 1 IDT} - {3655062000 7200 0 IST} - {3668198400 10800 1 IDT} - {3686511600 7200 0 IST} - {3699648000 10800 1 IDT} - {3717961200 7200 0 IST} - {3731097600 10800 1 IDT} - {3750015600 7200 0 IST} - {3762547200 10800 1 IDT} - {3781465200 7200 0 IST} - {3793996800 10800 1 IDT} - {3812914800 7200 0 IST} - {3825446400 10800 1 IDT} - {3844364400 7200 0 IST} - {3857500800 10800 1 IDT} - {3875814000 7200 0 IST} - {3888950400 10800 1 IDT} - {3907263600 7200 0 IST} - {3920400000 10800 1 IDT} - {3939318000 7200 0 IST} - {3951849600 10800 1 IDT} - {3970767600 7200 0 IST} - {3983299200 10800 1 IDT} - {4002217200 7200 0 IST} - {4015353600 10800 1 IDT} - {4033666800 7200 0 IST} - {4046803200 10800 1 IDT} - {4065116400 7200 0 IST} - {4078252800 10800 1 IDT} - {4096566000 7200 0 IST} + {2136409200 7200 0 IST} } diff --git a/library/tzdata/Asia/Kamchatka b/library/tzdata/Asia/Kamchatka index 82abcfa..a390701 100644 --- a/library/tzdata/Asia/Kamchatka +++ b/library/tzdata/Asia/Kamchatka @@ -64,8 +64,184 @@ set TZData(:Asia/Kamchatka) { {1224943200 43200 0 PETT} {1238248800 46800 1 PETST} {1256392800 43200 0 PETT} - {1269698400 39600 0 PETMMTT} - {1269702000 43200 1 PETST} - {1288450800 39600 0 PETT} - {1301151600 43200 0 PETT} + {1269698400 46800 1 PETST} + {1288447200 43200 0 PETT} + {1301148000 46800 1 PETST} + {1319896800 43200 0 PETT} + {1332597600 46800 1 PETST} + {1351346400 43200 0 PETT} + {1364652000 46800 1 PETST} + {1382796000 43200 0 PETT} + {1396101600 46800 1 PETST} + {1414245600 43200 0 PETT} + {1427551200 46800 1 PETST} + {1445695200 43200 0 PETT} + {1459000800 46800 1 PETST} + {1477749600 43200 0 PETT} + {1490450400 46800 1 PETST} + {1509199200 43200 0 PETT} + {1521900000 46800 1 PETST} + {1540648800 43200 0 PETT} + {1553954400 46800 1 PETST} + {1572098400 43200 0 PETT} + {1585404000 46800 1 PETST} + {1603548000 43200 0 PETT} + {1616853600 46800 1 PETST} + {1635602400 43200 0 PETT} + {1648303200 46800 1 PETST} + {1667052000 43200 0 PETT} + {1679752800 46800 1 PETST} + {1698501600 43200 0 PETT} + {1711807200 46800 1 PETST} + {1729951200 43200 0 PETT} + {1743256800 46800 1 PETST} + {1761400800 43200 0 PETT} + {1774706400 46800 1 PETST} + {1792850400 43200 0 PETT} + {1806156000 46800 1 PETST} + {1824904800 43200 0 PETT} + {1837605600 46800 1 PETST} + {1856354400 43200 0 PETT} + {1869055200 46800 1 PETST} + {1887804000 43200 0 PETT} + {1901109600 46800 1 PETST} + {1919253600 43200 0 PETT} + {1932559200 46800 1 PETST} + {1950703200 43200 0 PETT} + {1964008800 46800 1 PETST} + {1982757600 43200 0 PETT} + {1995458400 46800 1 PETST} + {2014207200 43200 0 PETT} + {2026908000 46800 1 PETST} + {2045656800 43200 0 PETT} + {2058357600 46800 1 PETST} + {2077106400 43200 0 PETT} + {2090412000 46800 1 PETST} + {2108556000 43200 0 PETT} + {2121861600 46800 1 PETST} + {2140005600 43200 0 PETT} + {2153311200 46800 1 PETST} + {2172060000 43200 0 PETT} + {2184760800 46800 1 PETST} + {2203509600 43200 0 PETT} + {2216210400 46800 1 PETST} + {2234959200 43200 0 PETT} + {2248264800 46800 1 PETST} + {2266408800 43200 0 PETT} + {2279714400 46800 1 PETST} + {2297858400 43200 0 PETT} + {2311164000 46800 1 PETST} + {2329308000 43200 0 PETT} + {2342613600 46800 1 PETST} + {2361362400 43200 0 PETT} + {2374063200 46800 1 PETST} + {2392812000 43200 0 PETT} + {2405512800 46800 1 PETST} + {2424261600 43200 0 PETT} + {2437567200 46800 1 PETST} + {2455711200 43200 0 PETT} + {2469016800 46800 1 PETST} + {2487160800 43200 0 PETT} + {2500466400 46800 1 PETST} + {2519215200 43200 0 PETT} + {2531916000 46800 1 PETST} + {2550664800 43200 0 PETT} + {2563365600 46800 1 PETST} + {2582114400 43200 0 PETT} + {2595420000 46800 1 PETST} + {2613564000 43200 0 PETT} + {2626869600 46800 1 PETST} + {2645013600 43200 0 PETT} + {2658319200 46800 1 PETST} + {2676463200 43200 0 PETT} + {2689768800 46800 1 PETST} + {2708517600 43200 0 PETT} + {2721218400 46800 1 PETST} + {2739967200 43200 0 PETT} + {2752668000 46800 1 PETST} + {2771416800 43200 0 PETT} + {2784722400 46800 1 PETST} + {2802866400 43200 0 PETT} + {2816172000 46800 1 PETST} + {2834316000 43200 0 PETT} + {2847621600 46800 1 PETST} + {2866370400 43200 0 PETT} + {2879071200 46800 1 PETST} + {2897820000 43200 0 PETT} + {2910520800 46800 1 PETST} + {2929269600 43200 0 PETT} + {2941970400 46800 1 PETST} + {2960719200 43200 0 PETT} + {2974024800 46800 1 PETST} + {2992168800 43200 0 PETT} + {3005474400 46800 1 PETST} + {3023618400 43200 0 PETT} + {3036924000 46800 1 PETST} + {3055672800 43200 0 PETT} + {3068373600 46800 1 PETST} + {3087122400 43200 0 PETT} + {3099823200 46800 1 PETST} + {3118572000 43200 0 PETT} + {3131877600 46800 1 PETST} + {3150021600 43200 0 PETT} + {3163327200 46800 1 PETST} + {3181471200 43200 0 PETT} + {3194776800 46800 1 PETST} + {3212920800 43200 0 PETT} + {3226226400 46800 1 PETST} + {3244975200 43200 0 PETT} + {3257676000 46800 1 PETST} + {3276424800 43200 0 PETT} + {3289125600 46800 1 PETST} + {3307874400 43200 0 PETT} + {3321180000 46800 1 PETST} + {3339324000 43200 0 PETT} + {3352629600 46800 1 PETST} + {3370773600 43200 0 PETT} + {3384079200 46800 1 PETST} + {3402828000 43200 0 PETT} + {3415528800 46800 1 PETST} + {3434277600 43200 0 PETT} + {3446978400 46800 1 PETST} + {3465727200 43200 0 PETT} + {3479032800 46800 1 PETST} + {3497176800 43200 0 PETT} + {3510482400 46800 1 PETST} + {3528626400 43200 0 PETT} + {3541932000 46800 1 PETST} + {3560076000 43200 0 PETT} + {3573381600 46800 1 PETST} + {3592130400 43200 0 PETT} + {3604831200 46800 1 PETST} + {3623580000 43200 0 PETT} + {3636280800 46800 1 PETST} + {3655029600 43200 0 PETT} + {3668335200 46800 1 PETST} + {3686479200 43200 0 PETT} + {3699784800 46800 1 PETST} + {3717928800 43200 0 PETT} + {3731234400 46800 1 PETST} + {3749983200 43200 0 PETT} + {3762684000 46800 1 PETST} + {3781432800 43200 0 PETT} + {3794133600 46800 1 PETST} + {3812882400 43200 0 PETT} + {3825583200 46800 1 PETST} + {3844332000 43200 0 PETT} + {3857637600 46800 1 PETST} + {3875781600 43200 0 PETT} + {3889087200 46800 1 PETST} + {3907231200 43200 0 PETT} + {3920536800 46800 1 PETST} + {3939285600 43200 0 PETT} + {3951986400 46800 1 PETST} + {3970735200 43200 0 PETT} + {3983436000 46800 1 PETST} + {4002184800 43200 0 PETT} + {4015490400 46800 1 PETST} + {4033634400 43200 0 PETT} + {4046940000 46800 1 PETST} + {4065084000 43200 0 PETT} + {4078389600 46800 1 PETST} + {4096533600 43200 0 PETT} } diff --git a/library/tzdata/Asia/Khandyga b/library/tzdata/Asia/Khandyga deleted file mode 100644 index 2464b9f..0000000 --- a/library/tzdata/Asia/Khandyga +++ /dev/null @@ -1,72 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:Asia/Khandyga) { - {-9223372036854775808 32533 0 LMT} - {-1579424533 28800 0 YAKT} - {-1247558400 32400 0 YAKMMTT} - {354898800 36000 1 YAKST} - {370706400 32400 0 YAKT} - {386434800 36000 1 YAKST} - {402242400 32400 0 YAKT} - {417970800 36000 1 YAKST} - {433778400 32400 0 YAKT} - {449593200 36000 1 YAKST} - {465325200 32400 0 YAKT} - {481050000 36000 1 YAKST} - {496774800 32400 0 YAKT} - {512499600 36000 1 YAKST} - {528224400 32400 0 YAKT} - {543949200 36000 1 YAKST} - {559674000 32400 0 YAKT} - {575398800 36000 1 YAKST} - {591123600 32400 0 YAKT} - {606848400 36000 1 YAKST} - {622573200 32400 0 YAKT} - {638298000 36000 1 YAKST} - {654627600 32400 0 YAKT} - {670352400 28800 0 YAKMMTT} - {670356000 32400 1 YAKST} - {686080800 28800 0 YAKT} - {695757600 32400 0 YAKMMTT} - {701791200 36000 1 YAKST} - {717512400 32400 0 YAKT} - {733251600 36000 1 YAKST} - {748976400 32400 0 YAKT} - {764701200 36000 1 YAKST} - {780426000 32400 0 YAKT} - {796150800 36000 1 YAKST} - {811875600 32400 0 YAKT} - {828205200 36000 1 YAKST} - {846349200 32400 0 YAKT} - {859654800 36000 1 YAKST} - {877798800 32400 0 YAKT} - {891104400 36000 1 YAKST} - {909248400 32400 0 YAKT} - {922554000 36000 1 YAKST} - {941302800 32400 0 YAKT} - {954003600 36000 1 YAKST} - {972752400 32400 0 YAKT} - {985453200 36000 1 YAKST} - {1004202000 32400 0 YAKT} - {1017507600 36000 1 YAKST} - {1035651600 32400 0 YAKT} - {1048957200 36000 1 YAKST} - {1067101200 32400 0 YAKT} - {1072882800 36000 0 VLAMMTT} - {1080403200 39600 1 VLAST} - {1099152000 36000 0 VLAT} - {1111852800 39600 1 VLAST} - {1130601600 36000 0 VLAT} - {1143302400 39600 1 VLAST} - {1162051200 36000 0 VLAT} - {1174752000 39600 1 VLAST} - {1193500800 36000 0 VLAT} - {1206806400 39600 1 VLAST} - {1224950400 36000 0 VLAT} - {1238256000 39600 1 VLAST} - {1256400000 36000 0 VLAT} - {1269705600 39600 1 VLAST} - {1288454400 36000 0 VLAT} - {1301155200 39600 0 VLAT} - {1315832400 36000 0 YAKT} -} diff --git a/library/tzdata/Asia/Krasnoyarsk b/library/tzdata/Asia/Krasnoyarsk index 13dfeb5..24046fe 100644 --- a/library/tzdata/Asia/Krasnoyarsk +++ b/library/tzdata/Asia/Krasnoyarsk @@ -66,5 +66,182 @@ set TZData(:Asia/Krasnoyarsk) { {1256410800 25200 0 KRAT} {1269716400 28800 1 KRAST} {1288465200 25200 0 KRAT} - {1301166000 28800 0 KRAT} + {1301166000 28800 1 KRAST} + {1319914800 25200 0 KRAT} + {1332615600 28800 1 KRAST} + {1351364400 25200 0 KRAT} + {1364670000 28800 1 KRAST} + {1382814000 25200 0 KRAT} + {1396119600 28800 1 KRAST} + {1414263600 25200 0 KRAT} + {1427569200 28800 1 KRAST} + {1445713200 25200 0 KRAT} + {1459018800 28800 1 KRAST} + {1477767600 25200 0 KRAT} + {1490468400 28800 1 KRAST} + {1509217200 25200 0 KRAT} + {1521918000 28800 1 KRAST} + {1540666800 25200 0 KRAT} + {1553972400 28800 1 KRAST} + {1572116400 25200 0 KRAT} + {1585422000 28800 1 KRAST} + {1603566000 25200 0 KRAT} + {1616871600 28800 1 KRAST} + {1635620400 25200 0 KRAT} + {1648321200 28800 1 KRAST} + {1667070000 25200 0 KRAT} + {1679770800 28800 1 KRAST} + {1698519600 25200 0 KRAT} + {1711825200 28800 1 KRAST} + {1729969200 25200 0 KRAT} + {1743274800 28800 1 KRAST} + {1761418800 25200 0 KRAT} + {1774724400 28800 1 KRAST} + {1792868400 25200 0 KRAT} + {1806174000 28800 1 KRAST} + {1824922800 25200 0 KRAT} + {1837623600 28800 1 KRAST} + {1856372400 25200 0 KRAT} + {1869073200 28800 1 KRAST} + {1887822000 25200 0 KRAT} + {1901127600 28800 1 KRAST} + {1919271600 25200 0 KRAT} + {1932577200 28800 1 KRAST} + {1950721200 25200 0 KRAT} + {1964026800 28800 1 KRAST} + {1982775600 25200 0 KRAT} + {1995476400 28800 1 KRAST} + {2014225200 25200 0 KRAT} + {2026926000 28800 1 KRAST} + {2045674800 25200 0 KRAT} + {2058375600 28800 1 KRAST} + {2077124400 25200 0 KRAT} + {2090430000 28800 1 KRAST} + {2108574000 25200 0 KRAT} + {2121879600 28800 1 KRAST} + {2140023600 25200 0 KRAT} + {2153329200 28800 1 KRAST} + {2172078000 25200 0 KRAT} + {2184778800 28800 1 KRAST} + {2203527600 25200 0 KRAT} + {2216228400 28800 1 KRAST} + {2234977200 25200 0 KRAT} + {2248282800 28800 1 KRAST} + {2266426800 25200 0 KRAT} + {2279732400 28800 1 KRAST} + {2297876400 25200 0 KRAT} + {2311182000 28800 1 KRAST} + {2329326000 25200 0 KRAT} + {2342631600 28800 1 KRAST} + {2361380400 25200 0 KRAT} + {2374081200 28800 1 KRAST} + {2392830000 25200 0 KRAT} + {2405530800 28800 1 KRAST} + {2424279600 25200 0 KRAT} + {2437585200 28800 1 KRAST} + {2455729200 25200 0 KRAT} + {2469034800 28800 1 KRAST} + {2487178800 25200 0 KRAT} + {2500484400 28800 1 KRAST} + {2519233200 25200 0 KRAT} + {2531934000 28800 1 KRAST} + {2550682800 25200 0 KRAT} + {2563383600 28800 1 KRAST} + {2582132400 25200 0 KRAT} + {2595438000 28800 1 KRAST} + {2613582000 25200 0 KRAT} + {2626887600 28800 1 KRAST} + {2645031600 25200 0 KRAT} + {2658337200 28800 1 KRAST} + {2676481200 25200 0 KRAT} + {2689786800 28800 1 KRAST} + {2708535600 25200 0 KRAT} + {2721236400 28800 1 KRAST} + {2739985200 25200 0 KRAT} + {2752686000 28800 1 KRAST} + {2771434800 25200 0 KRAT} + {2784740400 28800 1 KRAST} + {2802884400 25200 0 KRAT} + {2816190000 28800 1 KRAST} + {2834334000 25200 0 KRAT} + {2847639600 28800 1 KRAST} + {2866388400 25200 0 KRAT} + {2879089200 28800 1 KRAST} + {2897838000 25200 0 KRAT} + {2910538800 28800 1 KRAST} + {2929287600 25200 0 KRAT} + {2941988400 28800 1 KRAST} + {2960737200 25200 0 KRAT} + {2974042800 28800 1 KRAST} + {2992186800 25200 0 KRAT} + {3005492400 28800 1 KRAST} + {3023636400 25200 0 KRAT} + {3036942000 28800 1 KRAST} + {3055690800 25200 0 KRAT} + {3068391600 28800 1 KRAST} + {3087140400 25200 0 KRAT} + {3099841200 28800 1 KRAST} + {3118590000 25200 0 KRAT} + {3131895600 28800 1 KRAST} + {3150039600 25200 0 KRAT} + {3163345200 28800 1 KRAST} + {3181489200 25200 0 KRAT} + {3194794800 28800 1 KRAST} + {3212938800 25200 0 KRAT} + {3226244400 28800 1 KRAST} + {3244993200 25200 0 KRAT} + {3257694000 28800 1 KRAST} + {3276442800 25200 0 KRAT} + {3289143600 28800 1 KRAST} + {3307892400 25200 0 KRAT} + {3321198000 28800 1 KRAST} + {3339342000 25200 0 KRAT} + {3352647600 28800 1 KRAST} + {3370791600 25200 0 KRAT} + {3384097200 28800 1 KRAST} + {3402846000 25200 0 KRAT} + {3415546800 28800 1 KRAST} + {3434295600 25200 0 KRAT} + {3446996400 28800 1 KRAST} + {3465745200 25200 0 KRAT} + {3479050800 28800 1 KRAST} + {3497194800 25200 0 KRAT} + {3510500400 28800 1 KRAST} + {3528644400 25200 0 KRAT} + {3541950000 28800 1 KRAST} + {3560094000 25200 0 KRAT} + {3573399600 28800 1 KRAST} + {3592148400 25200 0 KRAT} + {3604849200 28800 1 KRAST} + {3623598000 25200 0 KRAT} + {3636298800 28800 1 KRAST} + {3655047600 25200 0 KRAT} + {3668353200 28800 1 KRAST} + {3686497200 25200 0 KRAT} + {3699802800 28800 1 KRAST} + {3717946800 25200 0 KRAT} + {3731252400 28800 1 KRAST} + {3750001200 25200 0 KRAT} + {3762702000 28800 1 KRAST} + {3781450800 25200 0 KRAT} + {3794151600 28800 1 KRAST} + {3812900400 25200 0 KRAT} + {3825601200 28800 1 KRAST} + {3844350000 25200 0 KRAT} + {3857655600 28800 1 KRAST} + {3875799600 25200 0 KRAT} + {3889105200 28800 1 KRAST} + {3907249200 25200 0 KRAT} + {3920554800 28800 1 KRAST} + {3939303600 25200 0 KRAT} + {3952004400 28800 1 KRAST} + {3970753200 25200 0 KRAT} + {3983454000 28800 1 KRAST} + {4002202800 25200 0 KRAT} + {4015508400 28800 1 KRAST} + {4033652400 25200 0 KRAT} + {4046958000 28800 1 KRAST} + {4065102000 25200 0 KRAT} + {4078407600 28800 1 KRAST} + {4096551600 25200 0 KRAT} } diff --git a/library/tzdata/Asia/Magadan b/library/tzdata/Asia/Magadan index 62e01c5..28e1f2f 100644 --- a/library/tzdata/Asia/Magadan +++ b/library/tzdata/Asia/Magadan @@ -66,5 +66,182 @@ set TZData(:Asia/Magadan) { {1256396400 39600 0 MAGT} {1269702000 43200 1 MAGST} {1288450800 39600 0 MAGT} - {1301151600 43200 0 MAGT} + {1301151600 43200 1 MAGST} + {1319900400 39600 0 MAGT} + {1332601200 43200 1 MAGST} + {1351350000 39600 0 MAGT} + {1364655600 43200 1 MAGST} + {1382799600 39600 0 MAGT} + {1396105200 43200 1 MAGST} + {1414249200 39600 0 MAGT} + {1427554800 43200 1 MAGST} + {1445698800 39600 0 MAGT} + {1459004400 43200 1 MAGST} + {1477753200 39600 0 MAGT} + {1490454000 43200 1 MAGST} + {1509202800 39600 0 MAGT} + {1521903600 43200 1 MAGST} + {1540652400 39600 0 MAGT} + {1553958000 43200 1 MAGST} + {1572102000 39600 0 MAGT} + {1585407600 43200 1 MAGST} + {1603551600 39600 0 MAGT} + {1616857200 43200 1 MAGST} + {1635606000 39600 0 MAGT} + {1648306800 43200 1 MAGST} + {1667055600 39600 0 MAGT} + {1679756400 43200 1 MAGST} + {1698505200 39600 0 MAGT} + {1711810800 43200 1 MAGST} + {1729954800 39600 0 MAGT} + {1743260400 43200 1 MAGST} + {1761404400 39600 0 MAGT} + {1774710000 43200 1 MAGST} + {1792854000 39600 0 MAGT} + {1806159600 43200 1 MAGST} + {1824908400 39600 0 MAGT} + {1837609200 43200 1 MAGST} + {1856358000 39600 0 MAGT} + {1869058800 43200 1 MAGST} + {1887807600 39600 0 MAGT} + {1901113200 43200 1 MAGST} + {1919257200 39600 0 MAGT} + {1932562800 43200 1 MAGST} + {1950706800 39600 0 MAGT} + {1964012400 43200 1 MAGST} + {1982761200 39600 0 MAGT} + {1995462000 43200 1 MAGST} + {2014210800 39600 0 MAGT} + {2026911600 43200 1 MAGST} + {2045660400 39600 0 MAGT} + {2058361200 43200 1 MAGST} + {2077110000 39600 0 MAGT} + {2090415600 43200 1 MAGST} + {2108559600 39600 0 MAGT} + {2121865200 43200 1 MAGST} + {2140009200 39600 0 MAGT} + {2153314800 43200 1 MAGST} + {2172063600 39600 0 MAGT} + {2184764400 43200 1 MAGST} + {2203513200 39600 0 MAGT} + {2216214000 43200 1 MAGST} + {2234962800 39600 0 MAGT} + {2248268400 43200 1 MAGST} + {2266412400 39600 0 MAGT} + {2279718000 43200 1 MAGST} + {2297862000 39600 0 MAGT} + {2311167600 43200 1 MAGST} + {2329311600 39600 0 MAGT} + {2342617200 43200 1 MAGST} + {2361366000 39600 0 MAGT} + {2374066800 43200 1 MAGST} + {2392815600 39600 0 MAGT} + {2405516400 43200 1 MAGST} + {2424265200 39600 0 MAGT} + {2437570800 43200 1 MAGST} + {2455714800 39600 0 MAGT} + {2469020400 43200 1 MAGST} + {2487164400 39600 0 MAGT} + {2500470000 43200 1 MAGST} + {2519218800 39600 0 MAGT} + {2531919600 43200 1 MAGST} + {2550668400 39600 0 MAGT} + {2563369200 43200 1 MAGST} + {2582118000 39600 0 MAGT} + {2595423600 43200 1 MAGST} + {2613567600 39600 0 MAGT} + {2626873200 43200 1 MAGST} + {2645017200 39600 0 MAGT} + {2658322800 43200 1 MAGST} + {2676466800 39600 0 MAGT} + {2689772400 43200 1 MAGST} + {2708521200 39600 0 MAGT} + {2721222000 43200 1 MAGST} + {2739970800 39600 0 MAGT} + {2752671600 43200 1 MAGST} + {2771420400 39600 0 MAGT} + {2784726000 43200 1 MAGST} + {2802870000 39600 0 MAGT} + {2816175600 43200 1 MAGST} + {2834319600 39600 0 MAGT} + {2847625200 43200 1 MAGST} + {2866374000 39600 0 MAGT} + {2879074800 43200 1 MAGST} + {2897823600 39600 0 MAGT} + {2910524400 43200 1 MAGST} + {2929273200 39600 0 MAGT} + {2941974000 43200 1 MAGST} + {2960722800 39600 0 MAGT} + {2974028400 43200 1 MAGST} + {2992172400 39600 0 MAGT} + {3005478000 43200 1 MAGST} + {3023622000 39600 0 MAGT} + {3036927600 43200 1 MAGST} + {3055676400 39600 0 MAGT} + {3068377200 43200 1 MAGST} + {3087126000 39600 0 MAGT} + {3099826800 43200 1 MAGST} + {3118575600 39600 0 MAGT} + {3131881200 43200 1 MAGST} + {3150025200 39600 0 MAGT} + {3163330800 43200 1 MAGST} + {3181474800 39600 0 MAGT} + {3194780400 43200 1 MAGST} + {3212924400 39600 0 MAGT} + {3226230000 43200 1 MAGST} + {3244978800 39600 0 MAGT} + {3257679600 43200 1 MAGST} + {3276428400 39600 0 MAGT} + {3289129200 43200 1 MAGST} + {3307878000 39600 0 MAGT} + {3321183600 43200 1 MAGST} + {3339327600 39600 0 MAGT} + {3352633200 43200 1 MAGST} + {3370777200 39600 0 MAGT} + {3384082800 43200 1 MAGST} + {3402831600 39600 0 MAGT} + {3415532400 43200 1 MAGST} + {3434281200 39600 0 MAGT} + {3446982000 43200 1 MAGST} + {3465730800 39600 0 MAGT} + {3479036400 43200 1 MAGST} + {3497180400 39600 0 MAGT} + {3510486000 43200 1 MAGST} + {3528630000 39600 0 MAGT} + {3541935600 43200 1 MAGST} + {3560079600 39600 0 MAGT} + {3573385200 43200 1 MAGST} + {3592134000 39600 0 MAGT} + {3604834800 43200 1 MAGST} + {3623583600 39600 0 MAGT} + {3636284400 43200 1 MAGST} + {3655033200 39600 0 MAGT} + {3668338800 43200 1 MAGST} + {3686482800 39600 0 MAGT} + {3699788400 43200 1 MAGST} + {3717932400 39600 0 MAGT} + {3731238000 43200 1 MAGST} + {3749986800 39600 0 MAGT} + {3762687600 43200 1 MAGST} + {3781436400 39600 0 MAGT} + {3794137200 43200 1 MAGST} + {3812886000 39600 0 MAGT} + {3825586800 43200 1 MAGST} + {3844335600 39600 0 MAGT} + {3857641200 43200 1 MAGST} + {3875785200 39600 0 MAGT} + {3889090800 43200 1 MAGST} + {3907234800 39600 0 MAGT} + {3920540400 43200 1 MAGST} + {3939289200 39600 0 MAGT} + {3951990000 43200 1 MAGST} + {3970738800 39600 0 MAGT} + {3983439600 43200 1 MAGST} + {4002188400 39600 0 MAGT} + {4015494000 43200 1 MAGST} + {4033638000 39600 0 MAGT} + {4046943600 43200 1 MAGST} + {4065087600 39600 0 MAGT} + {4078393200 43200 1 MAGST} + {4096537200 39600 0 MAGT} } diff --git a/library/tzdata/Asia/Muscat b/library/tzdata/Asia/Muscat index a69b880..21b5873 100644 --- a/library/tzdata/Asia/Muscat +++ b/library/tzdata/Asia/Muscat @@ -1,6 +1,6 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Asia/Muscat) { - {-9223372036854775808 14064 0 LMT} - {-1577937264 14400 0 GST} + {-9223372036854775808 14060 0 LMT} + {-1577937260 14400 0 GST} } diff --git a/library/tzdata/Asia/Novokuznetsk b/library/tzdata/Asia/Novokuznetsk deleted file mode 100644 index 9cd45c0..0000000 --- a/library/tzdata/Asia/Novokuznetsk +++ /dev/null @@ -1,71 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:Asia/Novokuznetsk) { - {-9223372036854775808 20928 0 NMT} - {-1577512128 21600 0 KRAT} - {-1247551200 25200 0 KRAMMTT} - {354906000 28800 1 KRAST} - {370713600 25200 0 KRAT} - {386442000 28800 1 KRAST} - {402249600 25200 0 KRAT} - {417978000 28800 1 KRAST} - {433785600 25200 0 KRAT} - {449600400 28800 1 KRAST} - {465332400 25200 0 KRAT} - {481057200 28800 1 KRAST} - {496782000 25200 0 KRAT} - {512506800 28800 1 KRAST} - {528231600 25200 0 KRAT} - {543956400 28800 1 KRAST} - {559681200 25200 0 KRAT} - {575406000 28800 1 KRAST} - {591130800 25200 0 KRAT} - {606855600 28800 1 KRAST} - {622580400 25200 0 KRAT} - {638305200 28800 1 KRAST} - {654634800 25200 0 KRAT} - {670359600 21600 0 KRAMMTT} - {670363200 25200 1 KRAST} - {686088000 21600 0 KRAT} - {695764800 25200 0 KRAMMTT} - {701798400 28800 1 KRAST} - {717519600 25200 0 KRAT} - {733258800 28800 1 KRAST} - {748983600 25200 0 KRAT} - {764708400 28800 1 KRAST} - {780433200 25200 0 KRAT} - {796158000 28800 1 KRAST} - {811882800 25200 0 KRAT} - {828212400 28800 1 KRAST} - {846356400 25200 0 KRAT} - {859662000 28800 1 KRAST} - {877806000 25200 0 KRAT} - {891111600 28800 1 KRAST} - {909255600 25200 0 KRAT} - {922561200 28800 1 KRAST} - {941310000 25200 0 KRAT} - {954010800 28800 1 KRAST} - {972759600 25200 0 KRAT} - {985460400 28800 1 KRAST} - {1004209200 25200 0 KRAT} - {1017514800 28800 1 KRAST} - {1035658800 25200 0 KRAT} - {1048964400 28800 1 KRAST} - {1067108400 25200 0 KRAT} - {1080414000 28800 1 KRAST} - {1099162800 25200 0 KRAT} - {1111863600 28800 1 KRAST} - {1130612400 25200 0 KRAT} - {1143313200 28800 1 KRAST} - {1162062000 25200 0 KRAT} - {1174762800 28800 1 KRAST} - {1193511600 25200 0 KRAT} - {1206817200 28800 1 KRAST} - {1224961200 25200 0 KRAT} - {1238266800 28800 1 KRAST} - {1256410800 25200 0 KRAT} - {1269716400 21600 0 NOVMMTT} - {1269720000 25200 1 NOVST} - {1288468800 21600 0 NOVT} - {1301169600 25200 0 NOVT} -} diff --git a/library/tzdata/Asia/Novosibirsk b/library/tzdata/Asia/Novosibirsk index 5032eec..0b35658 100644 --- a/library/tzdata/Asia/Novosibirsk +++ b/library/tzdata/Asia/Novosibirsk @@ -67,5 +67,182 @@ set TZData(:Asia/Novosibirsk) { {1256414400 21600 0 NOVT} {1269720000 25200 1 NOVST} {1288468800 21600 0 NOVT} - {1301169600 25200 0 NOVT} + {1301169600 25200 1 NOVST} + {1319918400 21600 0 NOVT} + {1332619200 25200 1 NOVST} + {1351368000 21600 0 NOVT} + {1364673600 25200 1 NOVST} + {1382817600 21600 0 NOVT} + {1396123200 25200 1 NOVST} + {1414267200 21600 0 NOVT} + {1427572800 25200 1 NOVST} + {1445716800 21600 0 NOVT} + {1459022400 25200 1 NOVST} + {1477771200 21600 0 NOVT} + {1490472000 25200 1 NOVST} + {1509220800 21600 0 NOVT} + {1521921600 25200 1 NOVST} + {1540670400 21600 0 NOVT} + {1553976000 25200 1 NOVST} + {1572120000 21600 0 NOVT} + {1585425600 25200 1 NOVST} + {1603569600 21600 0 NOVT} + {1616875200 25200 1 NOVST} + {1635624000 21600 0 NOVT} + {1648324800 25200 1 NOVST} + {1667073600 21600 0 NOVT} + {1679774400 25200 1 NOVST} + {1698523200 21600 0 NOVT} + {1711828800 25200 1 NOVST} + {1729972800 21600 0 NOVT} + {1743278400 25200 1 NOVST} + {1761422400 21600 0 NOVT} + {1774728000 25200 1 NOVST} + {1792872000 21600 0 NOVT} + {1806177600 25200 1 NOVST} + {1824926400 21600 0 NOVT} + {1837627200 25200 1 NOVST} + {1856376000 21600 0 NOVT} + {1869076800 25200 1 NOVST} + {1887825600 21600 0 NOVT} + {1901131200 25200 1 NOVST} + {1919275200 21600 0 NOVT} + {1932580800 25200 1 NOVST} + {1950724800 21600 0 NOVT} + {1964030400 25200 1 NOVST} + {1982779200 21600 0 NOVT} + {1995480000 25200 1 NOVST} + {2014228800 21600 0 NOVT} + {2026929600 25200 1 NOVST} + {2045678400 21600 0 NOVT} + {2058379200 25200 1 NOVST} + {2077128000 21600 0 NOVT} + {2090433600 25200 1 NOVST} + {2108577600 21600 0 NOVT} + {2121883200 25200 1 NOVST} + {2140027200 21600 0 NOVT} + {2153332800 25200 1 NOVST} + {2172081600 21600 0 NOVT} + {2184782400 25200 1 NOVST} + {2203531200 21600 0 NOVT} + {2216232000 25200 1 NOVST} + {2234980800 21600 0 NOVT} + {2248286400 25200 1 NOVST} + {2266430400 21600 0 NOVT} + {2279736000 25200 1 NOVST} + {2297880000 21600 0 NOVT} + {2311185600 25200 1 NOVST} + {2329329600 21600 0 NOVT} + {2342635200 25200 1 NOVST} + {2361384000 21600 0 NOVT} + {2374084800 25200 1 NOVST} + {2392833600 21600 0 NOVT} + {2405534400 25200 1 NOVST} + {2424283200 21600 0 NOVT} + {2437588800 25200 1 NOVST} + {2455732800 21600 0 NOVT} + {2469038400 25200 1 NOVST} + {2487182400 21600 0 NOVT} + {2500488000 25200 1 NOVST} + {2519236800 21600 0 NOVT} + {2531937600 25200 1 NOVST} + {2550686400 21600 0 NOVT} + {2563387200 25200 1 NOVST} + {2582136000 21600 0 NOVT} + {2595441600 25200 1 NOVST} + {2613585600 21600 0 NOVT} + {2626891200 25200 1 NOVST} + {2645035200 21600 0 NOVT} + {2658340800 25200 1 NOVST} + {2676484800 21600 0 NOVT} + {2689790400 25200 1 NOVST} + {2708539200 21600 0 NOVT} + {2721240000 25200 1 NOVST} + {2739988800 21600 0 NOVT} + {2752689600 25200 1 NOVST} + {2771438400 21600 0 NOVT} + {2784744000 25200 1 NOVST} + {2802888000 21600 0 NOVT} + {2816193600 25200 1 NOVST} + {2834337600 21600 0 NOVT} + {2847643200 25200 1 NOVST} + {2866392000 21600 0 NOVT} + {2879092800 25200 1 NOVST} + {2897841600 21600 0 NOVT} + {2910542400 25200 1 NOVST} + {2929291200 21600 0 NOVT} + {2941992000 25200 1 NOVST} + {2960740800 21600 0 NOVT} + {2974046400 25200 1 NOVST} + {2992190400 21600 0 NOVT} + {3005496000 25200 1 NOVST} + {3023640000 21600 0 NOVT} + {3036945600 25200 1 NOVST} + {3055694400 21600 0 NOVT} + {3068395200 25200 1 NOVST} + {3087144000 21600 0 NOVT} + {3099844800 25200 1 NOVST} + {3118593600 21600 0 NOVT} + {3131899200 25200 1 NOVST} + {3150043200 21600 0 NOVT} + {3163348800 25200 1 NOVST} + {3181492800 21600 0 NOVT} + {3194798400 25200 1 NOVST} + {3212942400 21600 0 NOVT} + {3226248000 25200 1 NOVST} + {3244996800 21600 0 NOVT} + {3257697600 25200 1 NOVST} + {3276446400 21600 0 NOVT} + {3289147200 25200 1 NOVST} + {3307896000 21600 0 NOVT} + {3321201600 25200 1 NOVST} + {3339345600 21600 0 NOVT} + {3352651200 25200 1 NOVST} + {3370795200 21600 0 NOVT} + {3384100800 25200 1 NOVST} + {3402849600 21600 0 NOVT} + {3415550400 25200 1 NOVST} + {3434299200 21600 0 NOVT} + {3447000000 25200 1 NOVST} + {3465748800 21600 0 NOVT} + {3479054400 25200 1 NOVST} + {3497198400 21600 0 NOVT} + {3510504000 25200 1 NOVST} + {3528648000 21600 0 NOVT} + {3541953600 25200 1 NOVST} + {3560097600 21600 0 NOVT} + {3573403200 25200 1 NOVST} + {3592152000 21600 0 NOVT} + {3604852800 25200 1 NOVST} + {3623601600 21600 0 NOVT} + {3636302400 25200 1 NOVST} + {3655051200 21600 0 NOVT} + {3668356800 25200 1 NOVST} + {3686500800 21600 0 NOVT} + {3699806400 25200 1 NOVST} + {3717950400 21600 0 NOVT} + {3731256000 25200 1 NOVST} + {3750004800 21600 0 NOVT} + {3762705600 25200 1 NOVST} + {3781454400 21600 0 NOVT} + {3794155200 25200 1 NOVST} + {3812904000 21600 0 NOVT} + {3825604800 25200 1 NOVST} + {3844353600 21600 0 NOVT} + {3857659200 25200 1 NOVST} + {3875803200 21600 0 NOVT} + {3889108800 25200 1 NOVST} + {3907252800 21600 0 NOVT} + {3920558400 25200 1 NOVST} + {3939307200 21600 0 NOVT} + {3952008000 25200 1 NOVST} + {3970756800 21600 0 NOVT} + {3983457600 25200 1 NOVST} + {4002206400 21600 0 NOVT} + {4015512000 25200 1 NOVST} + {4033656000 21600 0 NOVT} + {4046961600 25200 1 NOVST} + {4065105600 21600 0 NOVT} + {4078411200 25200 1 NOVST} + {4096555200 21600 0 NOVT} } diff --git a/library/tzdata/Asia/Omsk b/library/tzdata/Asia/Omsk index ca90d2e..21db9c9 100644 --- a/library/tzdata/Asia/Omsk +++ b/library/tzdata/Asia/Omsk @@ -66,5 +66,182 @@ set TZData(:Asia/Omsk) { {1256414400 21600 0 OMST} {1269720000 25200 1 OMSST} {1288468800 21600 0 OMST} - {1301169600 25200 0 OMST} + {1301169600 25200 1 OMSST} + {1319918400 21600 0 OMST} + {1332619200 25200 1 OMSST} + {1351368000 21600 0 OMST} + {1364673600 25200 1 OMSST} + {1382817600 21600 0 OMST} + {1396123200 25200 1 OMSST} + {1414267200 21600 0 OMST} + {1427572800 25200 1 OMSST} + {1445716800 21600 0 OMST} + {1459022400 25200 1 OMSST} + {1477771200 21600 0 OMST} + {1490472000 25200 1 OMSST} + {1509220800 21600 0 OMST} + {1521921600 25200 1 OMSST} + {1540670400 21600 0 OMST} + {1553976000 25200 1 OMSST} + {1572120000 21600 0 OMST} + {1585425600 25200 1 OMSST} + {1603569600 21600 0 OMST} + {1616875200 25200 1 OMSST} + {1635624000 21600 0 OMST} + {1648324800 25200 1 OMSST} + {1667073600 21600 0 OMST} + {1679774400 25200 1 OMSST} + {1698523200 21600 0 OMST} + {1711828800 25200 1 OMSST} + {1729972800 21600 0 OMST} + {1743278400 25200 1 OMSST} + {1761422400 21600 0 OMST} + {1774728000 25200 1 OMSST} + {1792872000 21600 0 OMST} + {1806177600 25200 1 OMSST} + {1824926400 21600 0 OMST} + {1837627200 25200 1 OMSST} + {1856376000 21600 0 OMST} + {1869076800 25200 1 OMSST} + {1887825600 21600 0 OMST} + {1901131200 25200 1 OMSST} + {1919275200 21600 0 OMST} + {1932580800 25200 1 OMSST} + {1950724800 21600 0 OMST} + {1964030400 25200 1 OMSST} + {1982779200 21600 0 OMST} + {1995480000 25200 1 OMSST} + {2014228800 21600 0 OMST} + {2026929600 25200 1 OMSST} + {2045678400 21600 0 OMST} + {2058379200 25200 1 OMSST} + {2077128000 21600 0 OMST} + {2090433600 25200 1 OMSST} + {2108577600 21600 0 OMST} + {2121883200 25200 1 OMSST} + {2140027200 21600 0 OMST} + {2153332800 25200 1 OMSST} + {2172081600 21600 0 OMST} + {2184782400 25200 1 OMSST} + {2203531200 21600 0 OMST} + {2216232000 25200 1 OMSST} + {2234980800 21600 0 OMST} + {2248286400 25200 1 OMSST} + {2266430400 21600 0 OMST} + {2279736000 25200 1 OMSST} + {2297880000 21600 0 OMST} + {2311185600 25200 1 OMSST} + {2329329600 21600 0 OMST} + {2342635200 25200 1 OMSST} + {2361384000 21600 0 OMST} + {2374084800 25200 1 OMSST} + {2392833600 21600 0 OMST} + {2405534400 25200 1 OMSST} + {2424283200 21600 0 OMST} + {2437588800 25200 1 OMSST} + {2455732800 21600 0 OMST} + {2469038400 25200 1 OMSST} + {2487182400 21600 0 OMST} + {2500488000 25200 1 OMSST} + {2519236800 21600 0 OMST} + {2531937600 25200 1 OMSST} + {2550686400 21600 0 OMST} + {2563387200 25200 1 OMSST} + {2582136000 21600 0 OMST} + {2595441600 25200 1 OMSST} + {2613585600 21600 0 OMST} + {2626891200 25200 1 OMSST} + {2645035200 21600 0 OMST} + {2658340800 25200 1 OMSST} + {2676484800 21600 0 OMST} + {2689790400 25200 1 OMSST} + {2708539200 21600 0 OMST} + {2721240000 25200 1 OMSST} + {2739988800 21600 0 OMST} + {2752689600 25200 1 OMSST} + {2771438400 21600 0 OMST} + {2784744000 25200 1 OMSST} + {2802888000 21600 0 OMST} + {2816193600 25200 1 OMSST} + {2834337600 21600 0 OMST} + {2847643200 25200 1 OMSST} + {2866392000 21600 0 OMST} + {2879092800 25200 1 OMSST} + {2897841600 21600 0 OMST} + {2910542400 25200 1 OMSST} + {2929291200 21600 0 OMST} + {2941992000 25200 1 OMSST} + {2960740800 21600 0 OMST} + {2974046400 25200 1 OMSST} + {2992190400 21600 0 OMST} + {3005496000 25200 1 OMSST} + {3023640000 21600 0 OMST} + {3036945600 25200 1 OMSST} + {3055694400 21600 0 OMST} + {3068395200 25200 1 OMSST} + {3087144000 21600 0 OMST} + {3099844800 25200 1 OMSST} + {3118593600 21600 0 OMST} + {3131899200 25200 1 OMSST} + {3150043200 21600 0 OMST} + {3163348800 25200 1 OMSST} + {3181492800 21600 0 OMST} + {3194798400 25200 1 OMSST} + {3212942400 21600 0 OMST} + {3226248000 25200 1 OMSST} + {3244996800 21600 0 OMST} + {3257697600 25200 1 OMSST} + {3276446400 21600 0 OMST} + {3289147200 25200 1 OMSST} + {3307896000 21600 0 OMST} + {3321201600 25200 1 OMSST} + {3339345600 21600 0 OMST} + {3352651200 25200 1 OMSST} + {3370795200 21600 0 OMST} + {3384100800 25200 1 OMSST} + {3402849600 21600 0 OMST} + {3415550400 25200 1 OMSST} + {3434299200 21600 0 OMST} + {3447000000 25200 1 OMSST} + {3465748800 21600 0 OMST} + {3479054400 25200 1 OMSST} + {3497198400 21600 0 OMST} + {3510504000 25200 1 OMSST} + {3528648000 21600 0 OMST} + {3541953600 25200 1 OMSST} + {3560097600 21600 0 OMST} + {3573403200 25200 1 OMSST} + {3592152000 21600 0 OMST} + {3604852800 25200 1 OMSST} + {3623601600 21600 0 OMST} + {3636302400 25200 1 OMSST} + {3655051200 21600 0 OMST} + {3668356800 25200 1 OMSST} + {3686500800 21600 0 OMST} + {3699806400 25200 1 OMSST} + {3717950400 21600 0 OMST} + {3731256000 25200 1 OMSST} + {3750004800 21600 0 OMST} + {3762705600 25200 1 OMSST} + {3781454400 21600 0 OMST} + {3794155200 25200 1 OMSST} + {3812904000 21600 0 OMST} + {3825604800 25200 1 OMSST} + {3844353600 21600 0 OMST} + {3857659200 25200 1 OMSST} + {3875803200 21600 0 OMST} + {3889108800 25200 1 OMSST} + {3907252800 21600 0 OMST} + {3920558400 25200 1 OMSST} + {3939307200 21600 0 OMST} + {3952008000 25200 1 OMSST} + {3970756800 21600 0 OMST} + {3983457600 25200 1 OMSST} + {4002206400 21600 0 OMST} + {4015512000 25200 1 OMSST} + {4033656000 21600 0 OMST} + {4046961600 25200 1 OMSST} + {4065105600 21600 0 OMST} + {4078411200 25200 1 OMSST} + {4096555200 21600 0 OMST} } diff --git a/library/tzdata/Asia/Rangoon b/library/tzdata/Asia/Rangoon index 4f3ac02..2b8c4fa 100644 --- a/library/tzdata/Asia/Rangoon +++ b/library/tzdata/Asia/Rangoon @@ -2,8 +2,8 @@ set TZData(:Asia/Rangoon) { {-9223372036854775808 23080 0 LMT} - {-2840163880 23080 0 RMT} - {-1577946280 23400 0 BURT} + {-2840163880 23076 0 RMT} + {-1577946276 23400 0 BURT} {-873268200 32400 0 JST} {-778410000 23400 0 MMT} } diff --git a/library/tzdata/Asia/Sakhalin b/library/tzdata/Asia/Sakhalin index 0b29e82..31395ab 100644 --- a/library/tzdata/Asia/Sakhalin +++ b/library/tzdata/Asia/Sakhalin @@ -68,5 +68,182 @@ set TZData(:Asia/Sakhalin) { {1256400000 36000 0 SAKT} {1269705600 39600 1 SAKST} {1288454400 36000 0 SAKT} - {1301155200 39600 0 SAKT} + {1301155200 39600 1 SAKST} + {1319904000 36000 0 SAKT} + {1332604800 39600 1 SAKST} + {1351353600 36000 0 SAKT} + {1364659200 39600 1 SAKST} + {1382803200 36000 0 SAKT} + {1396108800 39600 1 SAKST} + {1414252800 36000 0 SAKT} + {1427558400 39600 1 SAKST} + {1445702400 36000 0 SAKT} + {1459008000 39600 1 SAKST} + {1477756800 36000 0 SAKT} + {1490457600 39600 1 SAKST} + {1509206400 36000 0 SAKT} + {1521907200 39600 1 SAKST} + {1540656000 36000 0 SAKT} + {1553961600 39600 1 SAKST} + {1572105600 36000 0 SAKT} + {1585411200 39600 1 SAKST} + {1603555200 36000 0 SAKT} + {1616860800 39600 1 SAKST} + {1635609600 36000 0 SAKT} + {1648310400 39600 1 SAKST} + {1667059200 36000 0 SAKT} + {1679760000 39600 1 SAKST} + {1698508800 36000 0 SAKT} + {1711814400 39600 1 SAKST} + {1729958400 36000 0 SAKT} + {1743264000 39600 1 SAKST} + {1761408000 36000 0 SAKT} + {1774713600 39600 1 SAKST} + {1792857600 36000 0 SAKT} + {1806163200 39600 1 SAKST} + {1824912000 36000 0 SAKT} + {1837612800 39600 1 SAKST} + {1856361600 36000 0 SAKT} + {1869062400 39600 1 SAKST} + {1887811200 36000 0 SAKT} + {1901116800 39600 1 SAKST} + {1919260800 36000 0 SAKT} + {1932566400 39600 1 SAKST} + {1950710400 36000 0 SAKT} + {1964016000 39600 1 SAKST} + {1982764800 36000 0 SAKT} + {1995465600 39600 1 SAKST} + {2014214400 36000 0 SAKT} + {2026915200 39600 1 SAKST} + {2045664000 36000 0 SAKT} + {2058364800 39600 1 SAKST} + {2077113600 36000 0 SAKT} + {2090419200 39600 1 SAKST} + {2108563200 36000 0 SAKT} + {2121868800 39600 1 SAKST} + {2140012800 36000 0 SAKT} + {2153318400 39600 1 SAKST} + {2172067200 36000 0 SAKT} + {2184768000 39600 1 SAKST} + {2203516800 36000 0 SAKT} + {2216217600 39600 1 SAKST} + {2234966400 36000 0 SAKT} + {2248272000 39600 1 SAKST} + {2266416000 36000 0 SAKT} + {2279721600 39600 1 SAKST} + {2297865600 36000 0 SAKT} + {2311171200 39600 1 SAKST} + {2329315200 36000 0 SAKT} + {2342620800 39600 1 SAKST} + {2361369600 36000 0 SAKT} + {2374070400 39600 1 SAKST} + {2392819200 36000 0 SAKT} + {2405520000 39600 1 SAKST} + {2424268800 36000 0 SAKT} + {2437574400 39600 1 SAKST} + {2455718400 36000 0 SAKT} + {2469024000 39600 1 SAKST} + {2487168000 36000 0 SAKT} + {2500473600 39600 1 SAKST} + {2519222400 36000 0 SAKT} + {2531923200 39600 1 SAKST} + {2550672000 36000 0 SAKT} + {2563372800 39600 1 SAKST} + {2582121600 36000 0 SAKT} + {2595427200 39600 1 SAKST} + {2613571200 36000 0 SAKT} + {2626876800 39600 1 SAKST} + {2645020800 36000 0 SAKT} + {2658326400 39600 1 SAKST} + {2676470400 36000 0 SAKT} + {2689776000 39600 1 SAKST} + {2708524800 36000 0 SAKT} + {2721225600 39600 1 SAKST} + {2739974400 36000 0 SAKT} + {2752675200 39600 1 SAKST} + {2771424000 36000 0 SAKT} + {2784729600 39600 1 SAKST} + {2802873600 36000 0 SAKT} + {2816179200 39600 1 SAKST} + {2834323200 36000 0 SAKT} + {2847628800 39600 1 SAKST} + {2866377600 36000 0 SAKT} + {2879078400 39600 1 SAKST} + {2897827200 36000 0 SAKT} + {2910528000 39600 1 SAKST} + {2929276800 36000 0 SAKT} + {2941977600 39600 1 SAKST} + {2960726400 36000 0 SAKT} + {2974032000 39600 1 SAKST} + {2992176000 36000 0 SAKT} + {3005481600 39600 1 SAKST} + {3023625600 36000 0 SAKT} + {3036931200 39600 1 SAKST} + {3055680000 36000 0 SAKT} + {3068380800 39600 1 SAKST} + {3087129600 36000 0 SAKT} + {3099830400 39600 1 SAKST} + {3118579200 36000 0 SAKT} + {3131884800 39600 1 SAKST} + {3150028800 36000 0 SAKT} + {3163334400 39600 1 SAKST} + {3181478400 36000 0 SAKT} + {3194784000 39600 1 SAKST} + {3212928000 36000 0 SAKT} + {3226233600 39600 1 SAKST} + {3244982400 36000 0 SAKT} + {3257683200 39600 1 SAKST} + {3276432000 36000 0 SAKT} + {3289132800 39600 1 SAKST} + {3307881600 36000 0 SAKT} + {3321187200 39600 1 SAKST} + {3339331200 36000 0 SAKT} + {3352636800 39600 1 SAKST} + {3370780800 36000 0 SAKT} + {3384086400 39600 1 SAKST} + {3402835200 36000 0 SAKT} + {3415536000 39600 1 SAKST} + {3434284800 36000 0 SAKT} + {3446985600 39600 1 SAKST} + {3465734400 36000 0 SAKT} + {3479040000 39600 1 SAKST} + {3497184000 36000 0 SAKT} + {3510489600 39600 1 SAKST} + {3528633600 36000 0 SAKT} + {3541939200 39600 1 SAKST} + {3560083200 36000 0 SAKT} + {3573388800 39600 1 SAKST} + {3592137600 36000 0 SAKT} + {3604838400 39600 1 SAKST} + {3623587200 36000 0 SAKT} + {3636288000 39600 1 SAKST} + {3655036800 36000 0 SAKT} + {3668342400 39600 1 SAKST} + {3686486400 36000 0 SAKT} + {3699792000 39600 1 SAKST} + {3717936000 36000 0 SAKT} + {3731241600 39600 1 SAKST} + {3749990400 36000 0 SAKT} + {3762691200 39600 1 SAKST} + {3781440000 36000 0 SAKT} + {3794140800 39600 1 SAKST} + {3812889600 36000 0 SAKT} + {3825590400 39600 1 SAKST} + {3844339200 36000 0 SAKT} + {3857644800 39600 1 SAKST} + {3875788800 36000 0 SAKT} + {3889094400 39600 1 SAKST} + {3907238400 36000 0 SAKT} + {3920544000 39600 1 SAKST} + {3939292800 36000 0 SAKT} + {3951993600 39600 1 SAKST} + {3970742400 36000 0 SAKT} + {3983443200 39600 1 SAKST} + {4002192000 36000 0 SAKT} + {4015497600 39600 1 SAKST} + {4033641600 36000 0 SAKT} + {4046947200 39600 1 SAKST} + {4065091200 36000 0 SAKT} + {4078396800 39600 1 SAKST} + {4096540800 36000 0 SAKT} } diff --git a/library/tzdata/Asia/Shanghai b/library/tzdata/Asia/Shanghai index 4b3cc3b..aa7dc58 100644 --- a/library/tzdata/Asia/Shanghai +++ b/library/tzdata/Asia/Shanghai @@ -1,8 +1,8 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Asia/Shanghai) { - {-9223372036854775808 29157 0 LMT} - {-1325491557 28800 0 CST} + {-9223372036854775808 29152 0 LMT} + {-1325491552 28800 0 CST} {-933494400 32400 1 CDT} {-923130000 28800 0 CST} {-908784000 32400 1 CDT} diff --git a/library/tzdata/Asia/Taipei b/library/tzdata/Asia/Taipei index a3c7ecf..6366b34 100644 --- a/library/tzdata/Asia/Taipei +++ b/library/tzdata/Asia/Taipei @@ -41,6 +41,6 @@ set TZData(:Asia/Taipei) { {149785200 28800 0 CST} {165513600 32400 1 CDT} {181321200 28800 0 CST} - {299520000 32400 1 CDT} - {307465200 28800 0 CST} + {331142400 32400 1 CDT} + {339087600 28800 0 CST} } diff --git a/library/tzdata/Asia/Ust-Nera b/library/tzdata/Asia/Ust-Nera deleted file mode 100644 index c8de7a5..0000000 --- a/library/tzdata/Asia/Ust-Nera +++ /dev/null @@ -1,70 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:Asia/Ust-Nera) { - {-9223372036854775808 34374 0 LMT} - {-1579426374 28800 0 YAKT} - {354898800 43200 0 MAGST} - {370699200 39600 0 MAGT} - {386427600 43200 1 MAGST} - {402235200 39600 0 MAGT} - {417963600 43200 1 MAGST} - {433771200 39600 0 MAGT} - {449586000 43200 1 MAGST} - {465318000 39600 0 MAGT} - {481042800 43200 1 MAGST} - {496767600 39600 0 MAGT} - {512492400 43200 1 MAGST} - {528217200 39600 0 MAGT} - {543942000 43200 1 MAGST} - {559666800 39600 0 MAGT} - {575391600 43200 1 MAGST} - {591116400 39600 0 MAGT} - {606841200 43200 1 MAGST} - {622566000 39600 0 MAGT} - {638290800 43200 1 MAGST} - {654620400 39600 0 MAGT} - {670345200 36000 0 MAGMMTT} - {670348800 39600 1 MAGST} - {686073600 36000 0 MAGT} - {695750400 39600 0 MAGMMTT} - {701784000 43200 1 MAGST} - {717505200 39600 0 MAGT} - {733244400 43200 1 MAGST} - {748969200 39600 0 MAGT} - {764694000 43200 1 MAGST} - {780418800 39600 0 MAGT} - {796143600 43200 1 MAGST} - {811868400 39600 0 MAGT} - {828198000 43200 1 MAGST} - {846342000 39600 0 MAGT} - {859647600 43200 1 MAGST} - {877791600 39600 0 MAGT} - {891097200 43200 1 MAGST} - {909241200 39600 0 MAGT} - {922546800 43200 1 MAGST} - {941295600 39600 0 MAGT} - {953996400 43200 1 MAGST} - {972745200 39600 0 MAGT} - {985446000 43200 1 MAGST} - {1004194800 39600 0 MAGT} - {1017500400 43200 1 MAGST} - {1035644400 39600 0 MAGT} - {1048950000 43200 1 MAGST} - {1067094000 39600 0 MAGT} - {1080399600 43200 1 MAGST} - {1099148400 39600 0 MAGT} - {1111849200 43200 1 MAGST} - {1130598000 39600 0 MAGT} - {1143298800 43200 1 MAGST} - {1162047600 39600 0 MAGT} - {1174748400 43200 1 MAGST} - {1193497200 39600 0 MAGT} - {1206802800 43200 1 MAGST} - {1224946800 39600 0 MAGT} - {1238252400 43200 1 MAGST} - {1256396400 39600 0 MAGT} - {1269702000 43200 1 MAGST} - {1288450800 39600 0 MAGT} - {1301151600 43200 0 MAGT} - {1315828800 39600 0 VLAT} -} diff --git a/library/tzdata/Asia/Vladivostok b/library/tzdata/Asia/Vladivostok index 54101a5..29e8f62 100644 --- a/library/tzdata/Asia/Vladivostok +++ b/library/tzdata/Asia/Vladivostok @@ -66,5 +66,182 @@ set TZData(:Asia/Vladivostok) { {1256400000 36000 0 VLAT} {1269705600 39600 1 VLAST} {1288454400 36000 0 VLAT} - {1301155200 39600 0 VLAT} + {1301155200 39600 1 VLAST} + {1319904000 36000 0 VLAT} + {1332604800 39600 1 VLAST} + {1351353600 36000 0 VLAT} + {1364659200 39600 1 VLAST} + {1382803200 36000 0 VLAT} + {1396108800 39600 1 VLAST} + {1414252800 36000 0 VLAT} + {1427558400 39600 1 VLAST} + {1445702400 36000 0 VLAT} + {1459008000 39600 1 VLAST} + {1477756800 36000 0 VLAT} + {1490457600 39600 1 VLAST} + {1509206400 36000 0 VLAT} + {1521907200 39600 1 VLAST} + {1540656000 36000 0 VLAT} + {1553961600 39600 1 VLAST} + {1572105600 36000 0 VLAT} + {1585411200 39600 1 VLAST} + {1603555200 36000 0 VLAT} + {1616860800 39600 1 VLAST} + {1635609600 36000 0 VLAT} + {1648310400 39600 1 VLAST} + {1667059200 36000 0 VLAT} + {1679760000 39600 1 VLAST} + {1698508800 36000 0 VLAT} + {1711814400 39600 1 VLAST} + {1729958400 36000 0 VLAT} + {1743264000 39600 1 VLAST} + {1761408000 36000 0 VLAT} + {1774713600 39600 1 VLAST} + {1792857600 36000 0 VLAT} + {1806163200 39600 1 VLAST} + {1824912000 36000 0 VLAT} + {1837612800 39600 1 VLAST} + {1856361600 36000 0 VLAT} + {1869062400 39600 1 VLAST} + {1887811200 36000 0 VLAT} + {1901116800 39600 1 VLAST} + {1919260800 36000 0 VLAT} + {1932566400 39600 1 VLAST} + {1950710400 36000 0 VLAT} + {1964016000 39600 1 VLAST} + {1982764800 36000 0 VLAT} + {1995465600 39600 1 VLAST} + {2014214400 36000 0 VLAT} + {2026915200 39600 1 VLAST} + {2045664000 36000 0 VLAT} + {2058364800 39600 1 VLAST} + {2077113600 36000 0 VLAT} + {2090419200 39600 1 VLAST} + {2108563200 36000 0 VLAT} + {2121868800 39600 1 VLAST} + {2140012800 36000 0 VLAT} + {2153318400 39600 1 VLAST} + {2172067200 36000 0 VLAT} + {2184768000 39600 1 VLAST} + {2203516800 36000 0 VLAT} + {2216217600 39600 1 VLAST} + {2234966400 36000 0 VLAT} + {2248272000 39600 1 VLAST} + {2266416000 36000 0 VLAT} + {2279721600 39600 1 VLAST} + {2297865600 36000 0 VLAT} + {2311171200 39600 1 VLAST} + {2329315200 36000 0 VLAT} + {2342620800 39600 1 VLAST} + {2361369600 36000 0 VLAT} + {2374070400 39600 1 VLAST} + {2392819200 36000 0 VLAT} + {2405520000 39600 1 VLAST} + {2424268800 36000 0 VLAT} + {2437574400 39600 1 VLAST} + {2455718400 36000 0 VLAT} + {2469024000 39600 1 VLAST} + {2487168000 36000 0 VLAT} + {2500473600 39600 1 VLAST} + {2519222400 36000 0 VLAT} + {2531923200 39600 1 VLAST} + {2550672000 36000 0 VLAT} + {2563372800 39600 1 VLAST} + {2582121600 36000 0 VLAT} + {2595427200 39600 1 VLAST} + {2613571200 36000 0 VLAT} + {2626876800 39600 1 VLAST} + {2645020800 36000 0 VLAT} + {2658326400 39600 1 VLAST} + {2676470400 36000 0 VLAT} + {2689776000 39600 1 VLAST} + {2708524800 36000 0 VLAT} + {2721225600 39600 1 VLAST} + {2739974400 36000 0 VLAT} + {2752675200 39600 1 VLAST} + {2771424000 36000 0 VLAT} + {2784729600 39600 1 VLAST} + {2802873600 36000 0 VLAT} + {2816179200 39600 1 VLAST} + {2834323200 36000 0 VLAT} + {2847628800 39600 1 VLAST} + {2866377600 36000 0 VLAT} + {2879078400 39600 1 VLAST} + {2897827200 36000 0 VLAT} + {2910528000 39600 1 VLAST} + {2929276800 36000 0 VLAT} + {2941977600 39600 1 VLAST} + {2960726400 36000 0 VLAT} + {2974032000 39600 1 VLAST} + {2992176000 36000 0 VLAT} + {3005481600 39600 1 VLAST} + {3023625600 36000 0 VLAT} + {3036931200 39600 1 VLAST} + {3055680000 36000 0 VLAT} + {3068380800 39600 1 VLAST} + {3087129600 36000 0 VLAT} + {3099830400 39600 1 VLAST} + {3118579200 36000 0 VLAT} + {3131884800 39600 1 VLAST} + {3150028800 36000 0 VLAT} + {3163334400 39600 1 VLAST} + {3181478400 36000 0 VLAT} + {3194784000 39600 1 VLAST} + {3212928000 36000 0 VLAT} + {3226233600 39600 1 VLAST} + {3244982400 36000 0 VLAT} + {3257683200 39600 1 VLAST} + {3276432000 36000 0 VLAT} + {3289132800 39600 1 VLAST} + {3307881600 36000 0 VLAT} + {3321187200 39600 1 VLAST} + {3339331200 36000 0 VLAT} + {3352636800 39600 1 VLAST} + {3370780800 36000 0 VLAT} + {3384086400 39600 1 VLAST} + {3402835200 36000 0 VLAT} + {3415536000 39600 1 VLAST} + {3434284800 36000 0 VLAT} + {3446985600 39600 1 VLAST} + {3465734400 36000 0 VLAT} + {3479040000 39600 1 VLAST} + {3497184000 36000 0 VLAT} + {3510489600 39600 1 VLAST} + {3528633600 36000 0 VLAT} + {3541939200 39600 1 VLAST} + {3560083200 36000 0 VLAT} + {3573388800 39600 1 VLAST} + {3592137600 36000 0 VLAT} + {3604838400 39600 1 VLAST} + {3623587200 36000 0 VLAT} + {3636288000 39600 1 VLAST} + {3655036800 36000 0 VLAT} + {3668342400 39600 1 VLAST} + {3686486400 36000 0 VLAT} + {3699792000 39600 1 VLAST} + {3717936000 36000 0 VLAT} + {3731241600 39600 1 VLAST} + {3749990400 36000 0 VLAT} + {3762691200 39600 1 VLAST} + {3781440000 36000 0 VLAT} + {3794140800 39600 1 VLAST} + {3812889600 36000 0 VLAT} + {3825590400 39600 1 VLAST} + {3844339200 36000 0 VLAT} + {3857644800 39600 1 VLAST} + {3875788800 36000 0 VLAT} + {3889094400 39600 1 VLAST} + {3907238400 36000 0 VLAT} + {3920544000 39600 1 VLAST} + {3939292800 36000 0 VLAT} + {3951993600 39600 1 VLAST} + {3970742400 36000 0 VLAT} + {3983443200 39600 1 VLAST} + {4002192000 36000 0 VLAT} + {4015497600 39600 1 VLAST} + {4033641600 36000 0 VLAT} + {4046947200 39600 1 VLAST} + {4065091200 36000 0 VLAT} + {4078396800 39600 1 VLAST} + {4096540800 36000 0 VLAT} } diff --git a/library/tzdata/Asia/Yakutsk b/library/tzdata/Asia/Yakutsk index 5c32cc9..acf5d7d 100644 --- a/library/tzdata/Asia/Yakutsk +++ b/library/tzdata/Asia/Yakutsk @@ -66,5 +66,182 @@ set TZData(:Asia/Yakutsk) { {1256403600 32400 0 YAKT} {1269709200 36000 1 YAKST} {1288458000 32400 0 YAKT} - {1301158800 36000 0 YAKT} + {1301158800 36000 1 YAKST} + {1319907600 32400 0 YAKT} + {1332608400 36000 1 YAKST} + {1351357200 32400 0 YAKT} + {1364662800 36000 1 YAKST} + {1382806800 32400 0 YAKT} + {1396112400 36000 1 YAKST} + {1414256400 32400 0 YAKT} + {1427562000 36000 1 YAKST} + {1445706000 32400 0 YAKT} + {1459011600 36000 1 YAKST} + {1477760400 32400 0 YAKT} + {1490461200 36000 1 YAKST} + {1509210000 32400 0 YAKT} + {1521910800 36000 1 YAKST} + {1540659600 32400 0 YAKT} + {1553965200 36000 1 YAKST} + {1572109200 32400 0 YAKT} + {1585414800 36000 1 YAKST} + {1603558800 32400 0 YAKT} + {1616864400 36000 1 YAKST} + {1635613200 32400 0 YAKT} + {1648314000 36000 1 YAKST} + {1667062800 32400 0 YAKT} + {1679763600 36000 1 YAKST} + {1698512400 32400 0 YAKT} + {1711818000 36000 1 YAKST} + {1729962000 32400 0 YAKT} + {1743267600 36000 1 YAKST} + {1761411600 32400 0 YAKT} + {1774717200 36000 1 YAKST} + {1792861200 32400 0 YAKT} + {1806166800 36000 1 YAKST} + {1824915600 32400 0 YAKT} + {1837616400 36000 1 YAKST} + {1856365200 32400 0 YAKT} + {1869066000 36000 1 YAKST} + {1887814800 32400 0 YAKT} + {1901120400 36000 1 YAKST} + {1919264400 32400 0 YAKT} + {1932570000 36000 1 YAKST} + {1950714000 32400 0 YAKT} + {1964019600 36000 1 YAKST} + {1982768400 32400 0 YAKT} + {1995469200 36000 1 YAKST} + {2014218000 32400 0 YAKT} + {2026918800 36000 1 YAKST} + {2045667600 32400 0 YAKT} + {2058368400 36000 1 YAKST} + {2077117200 32400 0 YAKT} + {2090422800 36000 1 YAKST} + {2108566800 32400 0 YAKT} + {2121872400 36000 1 YAKST} + {2140016400 32400 0 YAKT} + {2153322000 36000 1 YAKST} + {2172070800 32400 0 YAKT} + {2184771600 36000 1 YAKST} + {2203520400 32400 0 YAKT} + {2216221200 36000 1 YAKST} + {2234970000 32400 0 YAKT} + {2248275600 36000 1 YAKST} + {2266419600 32400 0 YAKT} + {2279725200 36000 1 YAKST} + {2297869200 32400 0 YAKT} + {2311174800 36000 1 YAKST} + {2329318800 32400 0 YAKT} + {2342624400 36000 1 YAKST} + {2361373200 32400 0 YAKT} + {2374074000 36000 1 YAKST} + {2392822800 32400 0 YAKT} + {2405523600 36000 1 YAKST} + {2424272400 32400 0 YAKT} + {2437578000 36000 1 YAKST} + {2455722000 32400 0 YAKT} + {2469027600 36000 1 YAKST} + {2487171600 32400 0 YAKT} + {2500477200 36000 1 YAKST} + {2519226000 32400 0 YAKT} + {2531926800 36000 1 YAKST} + {2550675600 32400 0 YAKT} + {2563376400 36000 1 YAKST} + {2582125200 32400 0 YAKT} + {2595430800 36000 1 YAKST} + {2613574800 32400 0 YAKT} + {2626880400 36000 1 YAKST} + {2645024400 32400 0 YAKT} + {2658330000 36000 1 YAKST} + {2676474000 32400 0 YAKT} + {2689779600 36000 1 YAKST} + {2708528400 32400 0 YAKT} + {2721229200 36000 1 YAKST} + {2739978000 32400 0 YAKT} + {2752678800 36000 1 YAKST} + {2771427600 32400 0 YAKT} + {2784733200 36000 1 YAKST} + {2802877200 32400 0 YAKT} + {2816182800 36000 1 YAKST} + {2834326800 32400 0 YAKT} + {2847632400 36000 1 YAKST} + {2866381200 32400 0 YAKT} + {2879082000 36000 1 YAKST} + {2897830800 32400 0 YAKT} + {2910531600 36000 1 YAKST} + {2929280400 32400 0 YAKT} + {2941981200 36000 1 YAKST} + {2960730000 32400 0 YAKT} + {2974035600 36000 1 YAKST} + {2992179600 32400 0 YAKT} + {3005485200 36000 1 YAKST} + {3023629200 32400 0 YAKT} + {3036934800 36000 1 YAKST} + {3055683600 32400 0 YAKT} + {3068384400 36000 1 YAKST} + {3087133200 32400 0 YAKT} + {3099834000 36000 1 YAKST} + {3118582800 32400 0 YAKT} + {3131888400 36000 1 YAKST} + {3150032400 32400 0 YAKT} + {3163338000 36000 1 YAKST} + {3181482000 32400 0 YAKT} + {3194787600 36000 1 YAKST} + {3212931600 32400 0 YAKT} + {3226237200 36000 1 YAKST} + {3244986000 32400 0 YAKT} + {3257686800 36000 1 YAKST} + {3276435600 32400 0 YAKT} + {3289136400 36000 1 YAKST} + {3307885200 32400 0 YAKT} + {3321190800 36000 1 YAKST} + {3339334800 32400 0 YAKT} + {3352640400 36000 1 YAKST} + {3370784400 32400 0 YAKT} + {3384090000 36000 1 YAKST} + {3402838800 32400 0 YAKT} + {3415539600 36000 1 YAKST} + {3434288400 32400 0 YAKT} + {3446989200 36000 1 YAKST} + {3465738000 32400 0 YAKT} + {3479043600 36000 1 YAKST} + {3497187600 32400 0 YAKT} + {3510493200 36000 1 YAKST} + {3528637200 32400 0 YAKT} + {3541942800 36000 1 YAKST} + {3560086800 32400 0 YAKT} + {3573392400 36000 1 YAKST} + {3592141200 32400 0 YAKT} + {3604842000 36000 1 YAKST} + {3623590800 32400 0 YAKT} + {3636291600 36000 1 YAKST} + {3655040400 32400 0 YAKT} + {3668346000 36000 1 YAKST} + {3686490000 32400 0 YAKT} + {3699795600 36000 1 YAKST} + {3717939600 32400 0 YAKT} + {3731245200 36000 1 YAKST} + {3749994000 32400 0 YAKT} + {3762694800 36000 1 YAKST} + {3781443600 32400 0 YAKT} + {3794144400 36000 1 YAKST} + {3812893200 32400 0 YAKT} + {3825594000 36000 1 YAKST} + {3844342800 32400 0 YAKT} + {3857648400 36000 1 YAKST} + {3875792400 32400 0 YAKT} + {3889098000 36000 1 YAKST} + {3907242000 32400 0 YAKT} + {3920547600 36000 1 YAKST} + {3939296400 32400 0 YAKT} + {3951997200 36000 1 YAKST} + {3970746000 32400 0 YAKT} + {3983446800 36000 1 YAKST} + {4002195600 32400 0 YAKT} + {4015501200 36000 1 YAKST} + {4033645200 32400 0 YAKT} + {4046950800 36000 1 YAKST} + {4065094800 32400 0 YAKT} + {4078400400 36000 1 YAKST} + {4096544400 32400 0 YAKT} } diff --git a/library/tzdata/Asia/Yekaterinburg b/library/tzdata/Asia/Yekaterinburg index 2045496..980f903 100644 --- a/library/tzdata/Asia/Yekaterinburg +++ b/library/tzdata/Asia/Yekaterinburg @@ -66,5 +66,182 @@ set TZData(:Asia/Yekaterinburg) { {1256418000 18000 0 YEKT} {1269723600 21600 1 YEKST} {1288472400 18000 0 YEKT} - {1301173200 21600 0 YEKT} + {1301173200 21600 1 YEKST} + {1319922000 18000 0 YEKT} + {1332622800 21600 1 YEKST} + {1351371600 18000 0 YEKT} + {1364677200 21600 1 YEKST} + {1382821200 18000 0 YEKT} + {1396126800 21600 1 YEKST} + {1414270800 18000 0 YEKT} + {1427576400 21600 1 YEKST} + {1445720400 18000 0 YEKT} + {1459026000 21600 1 YEKST} + {1477774800 18000 0 YEKT} + {1490475600 21600 1 YEKST} + {1509224400 18000 0 YEKT} + {1521925200 21600 1 YEKST} + {1540674000 18000 0 YEKT} + {1553979600 21600 1 YEKST} + {1572123600 18000 0 YEKT} + {1585429200 21600 1 YEKST} + {1603573200 18000 0 YEKT} + {1616878800 21600 1 YEKST} + {1635627600 18000 0 YEKT} + {1648328400 21600 1 YEKST} + {1667077200 18000 0 YEKT} + {1679778000 21600 1 YEKST} + {1698526800 18000 0 YEKT} + {1711832400 21600 1 YEKST} + {1729976400 18000 0 YEKT} + {1743282000 21600 1 YEKST} + {1761426000 18000 0 YEKT} + {1774731600 21600 1 YEKST} + {1792875600 18000 0 YEKT} + {1806181200 21600 1 YEKST} + {1824930000 18000 0 YEKT} + {1837630800 21600 1 YEKST} + {1856379600 18000 0 YEKT} + {1869080400 21600 1 YEKST} + {1887829200 18000 0 YEKT} + {1901134800 21600 1 YEKST} + {1919278800 18000 0 YEKT} + {1932584400 21600 1 YEKST} + {1950728400 18000 0 YEKT} + {1964034000 21600 1 YEKST} + {1982782800 18000 0 YEKT} + {1995483600 21600 1 YEKST} + {2014232400 18000 0 YEKT} + {2026933200 21600 1 YEKST} + {2045682000 18000 0 YEKT} + {2058382800 21600 1 YEKST} + {2077131600 18000 0 YEKT} + {2090437200 21600 1 YEKST} + {2108581200 18000 0 YEKT} + {2121886800 21600 1 YEKST} + {2140030800 18000 0 YEKT} + {2153336400 21600 1 YEKST} + {2172085200 18000 0 YEKT} + {2184786000 21600 1 YEKST} + {2203534800 18000 0 YEKT} + {2216235600 21600 1 YEKST} + {2234984400 18000 0 YEKT} + {2248290000 21600 1 YEKST} + {2266434000 18000 0 YEKT} + {2279739600 21600 1 YEKST} + {2297883600 18000 0 YEKT} + {2311189200 21600 1 YEKST} + {2329333200 18000 0 YEKT} + {2342638800 21600 1 YEKST} + {2361387600 18000 0 YEKT} + {2374088400 21600 1 YEKST} + {2392837200 18000 0 YEKT} + {2405538000 21600 1 YEKST} + {2424286800 18000 0 YEKT} + {2437592400 21600 1 YEKST} + {2455736400 18000 0 YEKT} + {2469042000 21600 1 YEKST} + {2487186000 18000 0 YEKT} + {2500491600 21600 1 YEKST} + {2519240400 18000 0 YEKT} + {2531941200 21600 1 YEKST} + {2550690000 18000 0 YEKT} + {2563390800 21600 1 YEKST} + {2582139600 18000 0 YEKT} + {2595445200 21600 1 YEKST} + {2613589200 18000 0 YEKT} + {2626894800 21600 1 YEKST} + {2645038800 18000 0 YEKT} + {2658344400 21600 1 YEKST} + {2676488400 18000 0 YEKT} + {2689794000 21600 1 YEKST} + {2708542800 18000 0 YEKT} + {2721243600 21600 1 YEKST} + {2739992400 18000 0 YEKT} + {2752693200 21600 1 YEKST} + {2771442000 18000 0 YEKT} + {2784747600 21600 1 YEKST} + {2802891600 18000 0 YEKT} + {2816197200 21600 1 YEKST} + {2834341200 18000 0 YEKT} + {2847646800 21600 1 YEKST} + {2866395600 18000 0 YEKT} + {2879096400 21600 1 YEKST} + {2897845200 18000 0 YEKT} + {2910546000 21600 1 YEKST} + {2929294800 18000 0 YEKT} + {2941995600 21600 1 YEKST} + {2960744400 18000 0 YEKT} + {2974050000 21600 1 YEKST} + {2992194000 18000 0 YEKT} + {3005499600 21600 1 YEKST} + {3023643600 18000 0 YEKT} + {3036949200 21600 1 YEKST} + {3055698000 18000 0 YEKT} + {3068398800 21600 1 YEKST} + {3087147600 18000 0 YEKT} + {3099848400 21600 1 YEKST} + {3118597200 18000 0 YEKT} + {3131902800 21600 1 YEKST} + {3150046800 18000 0 YEKT} + {3163352400 21600 1 YEKST} + {3181496400 18000 0 YEKT} + {3194802000 21600 1 YEKST} + {3212946000 18000 0 YEKT} + {3226251600 21600 1 YEKST} + {3245000400 18000 0 YEKT} + {3257701200 21600 1 YEKST} + {3276450000 18000 0 YEKT} + {3289150800 21600 1 YEKST} + {3307899600 18000 0 YEKT} + {3321205200 21600 1 YEKST} + {3339349200 18000 0 YEKT} + {3352654800 21600 1 YEKST} + {3370798800 18000 0 YEKT} + {3384104400 21600 1 YEKST} + {3402853200 18000 0 YEKT} + {3415554000 21600 1 YEKST} + {3434302800 18000 0 YEKT} + {3447003600 21600 1 YEKST} + {3465752400 18000 0 YEKT} + {3479058000 21600 1 YEKST} + {3497202000 18000 0 YEKT} + {3510507600 21600 1 YEKST} + {3528651600 18000 0 YEKT} + {3541957200 21600 1 YEKST} + {3560101200 18000 0 YEKT} + {3573406800 21600 1 YEKST} + {3592155600 18000 0 YEKT} + {3604856400 21600 1 YEKST} + {3623605200 18000 0 YEKT} + {3636306000 21600 1 YEKST} + {3655054800 18000 0 YEKT} + {3668360400 21600 1 YEKST} + {3686504400 18000 0 YEKT} + {3699810000 21600 1 YEKST} + {3717954000 18000 0 YEKT} + {3731259600 21600 1 YEKST} + {3750008400 18000 0 YEKT} + {3762709200 21600 1 YEKST} + {3781458000 18000 0 YEKT} + {3794158800 21600 1 YEKST} + {3812907600 18000 0 YEKT} + {3825608400 21600 1 YEKST} + {3844357200 18000 0 YEKT} + {3857662800 21600 1 YEKST} + {3875806800 18000 0 YEKT} + {3889112400 21600 1 YEKST} + {3907256400 18000 0 YEKT} + {3920562000 21600 1 YEKST} + {3939310800 18000 0 YEKT} + {3952011600 21600 1 YEKST} + {3970760400 18000 0 YEKT} + {3983461200 21600 1 YEKST} + {4002210000 18000 0 YEKT} + {4015515600 21600 1 YEKST} + {4033659600 18000 0 YEKT} + {4046965200 21600 1 YEKST} + {4065109200 18000 0 YEKT} + {4078414800 21600 1 YEKST} + {4096558800 18000 0 YEKT} } diff --git a/library/tzdata/Asia/Yerevan b/library/tzdata/Asia/Yerevan index 22008ef..cd70b4f 100644 --- a/library/tzdata/Asia/Yerevan +++ b/library/tzdata/Asia/Yerevan @@ -66,5 +66,180 @@ set TZData(:Asia/Yerevan) { {1288476000 14400 0 AMT} {1301176800 18000 1 AMST} {1319925600 14400 0 AMT} - {1332626400 14400 0 AMT} + {1332626400 18000 1 AMST} + {1351375200 14400 0 AMT} + {1364680800 18000 1 AMST} + {1382824800 14400 0 AMT} + {1396130400 18000 1 AMST} + {1414274400 14400 0 AMT} + {1427580000 18000 1 AMST} + {1445724000 14400 0 AMT} + {1459029600 18000 1 AMST} + {1477778400 14400 0 AMT} + {1490479200 18000 1 AMST} + {1509228000 14400 0 AMT} + {1521928800 18000 1 AMST} + {1540677600 14400 0 AMT} + {1553983200 18000 1 AMST} + {1572127200 14400 0 AMT} + {1585432800 18000 1 AMST} + {1603576800 14400 0 AMT} + {1616882400 18000 1 AMST} + {1635631200 14400 0 AMT} + {1648332000 18000 1 AMST} + {1667080800 14400 0 AMT} + {1679781600 18000 1 AMST} + {1698530400 14400 0 AMT} + {1711836000 18000 1 AMST} + {1729980000 14400 0 AMT} + {1743285600 18000 1 AMST} + {1761429600 14400 0 AMT} + {1774735200 18000 1 AMST} + {1792879200 14400 0 AMT} + {1806184800 18000 1 AMST} + {1824933600 14400 0 AMT} + {1837634400 18000 1 AMST} + {1856383200 14400 0 AMT} + {1869084000 18000 1 AMST} + {1887832800 14400 0 AMT} + {1901138400 18000 1 AMST} + {1919282400 14400 0 AMT} + {1932588000 18000 1 AMST} + {1950732000 14400 0 AMT} + {1964037600 18000 1 AMST} + {1982786400 14400 0 AMT} + {1995487200 18000 1 AMST} + {2014236000 14400 0 AMT} + {2026936800 18000 1 AMST} + {2045685600 14400 0 AMT} + {2058386400 18000 1 AMST} + {2077135200 14400 0 AMT} + {2090440800 18000 1 AMST} + {2108584800 14400 0 AMT} + {2121890400 18000 1 AMST} + {2140034400 14400 0 AMT} + {2153340000 18000 1 AMST} + {2172088800 14400 0 AMT} + {2184789600 18000 1 AMST} + {2203538400 14400 0 AMT} + {2216239200 18000 1 AMST} + {2234988000 14400 0 AMT} + {2248293600 18000 1 AMST} + {2266437600 14400 0 AMT} + {2279743200 18000 1 AMST} + {2297887200 14400 0 AMT} + {2311192800 18000 1 AMST} + {2329336800 14400 0 AMT} + {2342642400 18000 1 AMST} + {2361391200 14400 0 AMT} + {2374092000 18000 1 AMST} + {2392840800 14400 0 AMT} + {2405541600 18000 1 AMST} + {2424290400 14400 0 AMT} + {2437596000 18000 1 AMST} + {2455740000 14400 0 AMT} + {2469045600 18000 1 AMST} + {2487189600 14400 0 AMT} + {2500495200 18000 1 AMST} + {2519244000 14400 0 AMT} + {2531944800 18000 1 AMST} + {2550693600 14400 0 AMT} + {2563394400 18000 1 AMST} + {2582143200 14400 0 AMT} + {2595448800 18000 1 AMST} + {2613592800 14400 0 AMT} + {2626898400 18000 1 AMST} + {2645042400 14400 0 AMT} + {2658348000 18000 1 AMST} + {2676492000 14400 0 AMT} + {2689797600 18000 1 AMST} + {2708546400 14400 0 AMT} + {2721247200 18000 1 AMST} + {2739996000 14400 0 AMT} + {2752696800 18000 1 AMST} + {2771445600 14400 0 AMT} + {2784751200 18000 1 AMST} + {2802895200 14400 0 AMT} + {2816200800 18000 1 AMST} + {2834344800 14400 0 AMT} + {2847650400 18000 1 AMST} + {2866399200 14400 0 AMT} + {2879100000 18000 1 AMST} + {2897848800 14400 0 AMT} + {2910549600 18000 1 AMST} + {2929298400 14400 0 AMT} + {2941999200 18000 1 AMST} + {2960748000 14400 0 AMT} + {2974053600 18000 1 AMST} + {2992197600 14400 0 AMT} + {3005503200 18000 1 AMST} + {3023647200 14400 0 AMT} + {3036952800 18000 1 AMST} + {3055701600 14400 0 AMT} + {3068402400 18000 1 AMST} + {3087151200 14400 0 AMT} + {3099852000 18000 1 AMST} + {3118600800 14400 0 AMT} + {3131906400 18000 1 AMST} + {3150050400 14400 0 AMT} + {3163356000 18000 1 AMST} + {3181500000 14400 0 AMT} + {3194805600 18000 1 AMST} + {3212949600 14400 0 AMT} + {3226255200 18000 1 AMST} + {3245004000 14400 0 AMT} + {3257704800 18000 1 AMST} + {3276453600 14400 0 AMT} + {3289154400 18000 1 AMST} + {3307903200 14400 0 AMT} + {3321208800 18000 1 AMST} + {3339352800 14400 0 AMT} + {3352658400 18000 1 AMST} + {3370802400 14400 0 AMT} + {3384108000 18000 1 AMST} + {3402856800 14400 0 AMT} + {3415557600 18000 1 AMST} + {3434306400 14400 0 AMT} + {3447007200 18000 1 AMST} + {3465756000 14400 0 AMT} + {3479061600 18000 1 AMST} + {3497205600 14400 0 AMT} + {3510511200 18000 1 AMST} + {3528655200 14400 0 AMT} + {3541960800 18000 1 AMST} + {3560104800 14400 0 AMT} + {3573410400 18000 1 AMST} + {3592159200 14400 0 AMT} + {3604860000 18000 1 AMST} + {3623608800 14400 0 AMT} + {3636309600 18000 1 AMST} + {3655058400 14400 0 AMT} + {3668364000 18000 1 AMST} + {3686508000 14400 0 AMT} + {3699813600 18000 1 AMST} + {3717957600 14400 0 AMT} + {3731263200 18000 1 AMST} + {3750012000 14400 0 AMT} + {3762712800 18000 1 AMST} + {3781461600 14400 0 AMT} + {3794162400 18000 1 AMST} + {3812911200 14400 0 AMT} + {3825612000 18000 1 AMST} + {3844360800 14400 0 AMT} + {3857666400 18000 1 AMST} + {3875810400 14400 0 AMT} + {3889116000 18000 1 AMST} + {3907260000 14400 0 AMT} + {3920565600 18000 1 AMST} + {3939314400 14400 0 AMT} + {3952015200 18000 1 AMST} + {3970764000 14400 0 AMT} + {3983464800 18000 1 AMST} + {4002213600 14400 0 AMT} + {4015519200 18000 1 AMST} + {4033663200 14400 0 AMT} + {4046968800 18000 1 AMST} + {4065112800 14400 0 AMT} + {4078418400 18000 1 AMST} + {4096562400 14400 0 AMT} } diff --git a/library/tzdata/Atlantic/Bermuda b/library/tzdata/Atlantic/Bermuda index 2d4d983..e8b165a 100644 --- a/library/tzdata/Atlantic/Bermuda +++ b/library/tzdata/Atlantic/Bermuda @@ -1,8 +1,8 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Atlantic/Bermuda) { - {-9223372036854775808 -15558 0 LMT} - {-1262281242 -14400 0 AST} + {-9223372036854775808 -15544 0 LMT} + {-1262281256 -14400 0 AST} {136360800 -10800 0 ADT} {152082000 -14400 0 AST} {167810400 -10800 1 ADT} diff --git a/library/tzdata/Atlantic/Stanley b/library/tzdata/Atlantic/Stanley index c287238..70dc402 100644 --- a/library/tzdata/Atlantic/Stanley +++ b/library/tzdata/Atlantic/Stanley @@ -71,5 +71,183 @@ set TZData(:Atlantic/Stanley) { {1240117200 -14400 0 FKT} {1252216800 -10800 1 FKST} {1271566800 -14400 0 FKT} - {1283662800 -10800 0 FKST} + {1283666400 -10800 1 FKST} + {1303016400 -14400 0 FKT} + {1315116000 -10800 1 FKST} + {1334466000 -14400 0 FKT} + {1346565600 -10800 1 FKST} + {1366520400 -14400 0 FKT} + {1378015200 -10800 1 FKST} + {1397970000 -14400 0 FKT} + {1410069600 -10800 1 FKST} + {1429419600 -14400 0 FKT} + {1441519200 -10800 1 FKST} + {1460869200 -14400 0 FKT} + {1472968800 -10800 1 FKST} + {1492318800 -14400 0 FKT} + {1504418400 -10800 1 FKST} + {1523768400 -14400 0 FKT} + {1535868000 -10800 1 FKST} + {1555822800 -14400 0 FKT} + {1567317600 -10800 1 FKST} + {1587272400 -14400 0 FKT} + {1599372000 -10800 1 FKST} + {1618722000 -14400 0 FKT} + {1630821600 -10800 1 FKST} + {1650171600 -14400 0 FKT} + {1662271200 -10800 1 FKST} + {1681621200 -14400 0 FKT} + {1693720800 -10800 1 FKST} + {1713675600 -14400 0 FKT} + {1725170400 -10800 1 FKST} + {1745125200 -14400 0 FKT} + {1757224800 -10800 1 FKST} + {1776574800 -14400 0 FKT} + {1788674400 -10800 1 FKST} + {1808024400 -14400 0 FKT} + {1820124000 -10800 1 FKST} + {1839474000 -14400 0 FKT} + {1851573600 -10800 1 FKST} + {1870923600 -14400 0 FKT} + {1883023200 -10800 1 FKST} + {1902978000 -14400 0 FKT} + {1914472800 -10800 1 FKST} + {1934427600 -14400 0 FKT} + {1946527200 -10800 1 FKST} + {1965877200 -14400 0 FKT} + {1977976800 -10800 1 FKST} + {1997326800 -14400 0 FKT} + {2009426400 -10800 1 FKST} + {2028776400 -14400 0 FKT} + {2040876000 -10800 1 FKST} + {2060226000 -14400 0 FKT} + {2072325600 -10800 1 FKST} + {2092280400 -14400 0 FKT} + {2104380000 -10800 1 FKST} + {2123730000 -14400 0 FKT} + {2135829600 -10800 1 FKST} + {2155179600 -14400 0 FKT} + {2167279200 -10800 1 FKST} + {2186629200 -14400 0 FKT} + {2198728800 -10800 1 FKST} + {2218078800 -14400 0 FKT} + {2230178400 -10800 1 FKST} + {2250133200 -14400 0 FKT} + {2261628000 -10800 1 FKST} + {2281582800 -14400 0 FKT} + {2293682400 -10800 1 FKST} + {2313032400 -14400 0 FKT} + {2325132000 -10800 1 FKST} + {2344482000 -14400 0 FKT} + {2356581600 -10800 1 FKST} + {2375931600 -14400 0 FKT} + {2388031200 -10800 1 FKST} + {2407381200 -14400 0 FKT} + {2419480800 -10800 1 FKST} + {2439435600 -14400 0 FKT} + {2450930400 -10800 1 FKST} + {2470885200 -14400 0 FKT} + {2482984800 -10800 1 FKST} + {2502334800 -14400 0 FKT} + {2514434400 -10800 1 FKST} + {2533784400 -14400 0 FKT} + {2545884000 -10800 1 FKST} + {2565234000 -14400 0 FKT} + {2577333600 -10800 1 FKST} + {2597288400 -14400 0 FKT} + {2608783200 -10800 1 FKST} + {2628738000 -14400 0 FKT} + {2640837600 -10800 1 FKST} + {2660187600 -14400 0 FKT} + {2672287200 -10800 1 FKST} + {2691637200 -14400 0 FKT} + {2703736800 -10800 1 FKST} + {2723086800 -14400 0 FKT} + {2735186400 -10800 1 FKST} + {2754536400 -14400 0 FKT} + {2766636000 -10800 1 FKST} + {2786590800 -14400 0 FKT} + {2798085600 -10800 1 FKST} + {2818040400 -14400 0 FKT} + {2830140000 -10800 1 FKST} + {2849490000 -14400 0 FKT} + {2861589600 -10800 1 FKST} + {2880939600 -14400 0 FKT} + {2893039200 -10800 1 FKST} + {2912389200 -14400 0 FKT} + {2924488800 -10800 1 FKST} + {2943838800 -14400 0 FKT} + {2955938400 -10800 1 FKST} + {2975893200 -14400 0 FKT} + {2987992800 -10800 1 FKST} + {3007342800 -14400 0 FKT} + {3019442400 -10800 1 FKST} + {3038792400 -14400 0 FKT} + {3050892000 -10800 1 FKST} + {3070242000 -14400 0 FKT} + {3082341600 -10800 1 FKST} + {3101691600 -14400 0 FKT} + {3113791200 -10800 1 FKST} + {3133746000 -14400 0 FKT} + {3145240800 -10800 1 FKST} + {3165195600 -14400 0 FKT} + {3177295200 -10800 1 FKST} + {3196645200 -14400 0 FKT} + {3208744800 -10800 1 FKST} + {3228094800 -14400 0 FKT} + {3240194400 -10800 1 FKST} + {3259544400 -14400 0 FKT} + {3271644000 -10800 1 FKST} + {3290994000 -14400 0 FKT} + {3303093600 -10800 1 FKST} + {3323048400 -14400 0 FKT} + {3334543200 -10800 1 FKST} + {3354498000 -14400 0 FKT} + {3366597600 -10800 1 FKST} + {3385947600 -14400 0 FKT} + {3398047200 -10800 1 FKST} + {3417397200 -14400 0 FKT} + {3429496800 -10800 1 FKST} + {3448846800 -14400 0 FKT} + {3460946400 -10800 1 FKST} + {3480901200 -14400 0 FKT} + {3492396000 -10800 1 FKST} + {3512350800 -14400 0 FKT} + {3524450400 -10800 1 FKST} + {3543800400 -14400 0 FKT} + {3555900000 -10800 1 FKST} + {3575250000 -14400 0 FKT} + {3587349600 -10800 1 FKST} + {3606699600 -14400 0 FKT} + {3618799200 -10800 1 FKST} + {3638149200 -14400 0 FKT} + {3650248800 -10800 1 FKST} + {3670203600 -14400 0 FKT} + {3681698400 -10800 1 FKST} + {3701653200 -14400 0 FKT} + {3713752800 -10800 1 FKST} + {3733102800 -14400 0 FKT} + {3745202400 -10800 1 FKST} + {3764552400 -14400 0 FKT} + {3776652000 -10800 1 FKST} + {3796002000 -14400 0 FKT} + {3808101600 -10800 1 FKST} + {3827451600 -14400 0 FKT} + {3839551200 -10800 1 FKST} + {3859506000 -14400 0 FKT} + {3871605600 -10800 1 FKST} + {3890955600 -14400 0 FKT} + {3903055200 -10800 1 FKST} + {3922405200 -14400 0 FKT} + {3934504800 -10800 1 FKST} + {3953854800 -14400 0 FKT} + {3965954400 -10800 1 FKST} + {3985304400 -14400 0 FKT} + {3997404000 -10800 1 FKST} + {4017358800 -14400 0 FKT} + {4028853600 -10800 1 FKST} + {4048808400 -14400 0 FKT} + {4060908000 -10800 1 FKST} + {4080258000 -14400 0 FKT} + {4092357600 -10800 1 FKST} } diff --git a/library/tzdata/Europe/Busingen b/library/tzdata/Europe/Busingen deleted file mode 100644 index 62abc29..0000000 --- a/library/tzdata/Europe/Busingen +++ /dev/null @@ -1,5 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit -if {![info exists TZData(Europe/Zurich)]} { - LoadTimeZoneFile Europe/Zurich -} -set TZData(:Europe/Busingen) $TZData(:Europe/Zurich) diff --git a/library/tzdata/Europe/Helsinki b/library/tzdata/Europe/Helsinki index 3abf790..04bd991 100644 --- a/library/tzdata/Europe/Helsinki +++ b/library/tzdata/Europe/Helsinki @@ -6,11 +6,11 @@ set TZData(:Europe/Helsinki) { {-1535938792 7200 0 EET} {-875671200 10800 1 EEST} {-859863600 7200 0 EET} - {354672000 10800 1 EEST} - {370396800 7200 0 EET} - {386121600 10800 1 EEST} - {401846400 7200 0 EET} - {410220000 7200 0 EET} + {354672000 7200 0 EET} + {354675600 10800 1 EEST} + {370400400 7200 0 EET} + {386125200 10800 1 EEST} + {401850000 7200 0 EET} {417574800 10800 1 EEST} {433299600 7200 0 EET} {449024400 10800 1 EEST} diff --git a/library/tzdata/Europe/Istanbul b/library/tzdata/Europe/Istanbul index 7737d75..06b2f88 100644 --- a/library/tzdata/Europe/Istanbul +++ b/library/tzdata/Europe/Istanbul @@ -122,8 +122,7 @@ set TZData(:Europe/Istanbul) { {1256432400 7200 0 EET} {1269738000 10800 1 EEST} {1288486800 7200 0 EET} - {1301187600 7200 0 EET} - {1301274000 10800 0 EEST} + {1301187600 10800 1 EEST} {1319936400 7200 0 EET} {1332637200 10800 1 EEST} {1351386000 7200 0 EET} diff --git a/library/tzdata/Europe/Kaliningrad b/library/tzdata/Europe/Kaliningrad index d5be459..94ebb12 100644 --- a/library/tzdata/Europe/Kaliningrad +++ b/library/tzdata/Europe/Kaliningrad @@ -80,5 +80,182 @@ set TZData(:Europe/Kaliningrad) { {1256428800 7200 0 EET} {1269734400 10800 1 EEST} {1288483200 7200 0 EET} - {1301184000 10800 0 FET} + {1301184000 10800 1 EEST} + {1319932800 7200 0 EET} + {1332633600 10800 1 EEST} + {1351382400 7200 0 EET} + {1364688000 10800 1 EEST} + {1382832000 7200 0 EET} + {1396137600 10800 1 EEST} + {1414281600 7200 0 EET} + {1427587200 10800 1 EEST} + {1445731200 7200 0 EET} + {1459036800 10800 1 EEST} + {1477785600 7200 0 EET} + {1490486400 10800 1 EEST} + {1509235200 7200 0 EET} + {1521936000 10800 1 EEST} + {1540684800 7200 0 EET} + {1553990400 10800 1 EEST} + {1572134400 7200 0 EET} + {1585440000 10800 1 EEST} + {1603584000 7200 0 EET} + {1616889600 10800 1 EEST} + {1635638400 7200 0 EET} + {1648339200 10800 1 EEST} + {1667088000 7200 0 EET} + {1679788800 10800 1 EEST} + {1698537600 7200 0 EET} + {1711843200 10800 1 EEST} + {1729987200 7200 0 EET} + {1743292800 10800 1 EEST} + {1761436800 7200 0 EET} + {1774742400 10800 1 EEST} + {1792886400 7200 0 EET} + {1806192000 10800 1 EEST} + {1824940800 7200 0 EET} + {1837641600 10800 1 EEST} + {1856390400 7200 0 EET} + {1869091200 10800 1 EEST} + {1887840000 7200 0 EET} + {1901145600 10800 1 EEST} + {1919289600 7200 0 EET} + {1932595200 10800 1 EEST} + {1950739200 7200 0 EET} + {1964044800 10800 1 EEST} + {1982793600 7200 0 EET} + {1995494400 10800 1 EEST} + {2014243200 7200 0 EET} + {2026944000 10800 1 EEST} + {2045692800 7200 0 EET} + {2058393600 10800 1 EEST} + {2077142400 7200 0 EET} + {2090448000 10800 1 EEST} + {2108592000 7200 0 EET} + {2121897600 10800 1 EEST} + {2140041600 7200 0 EET} + {2153347200 10800 1 EEST} + {2172096000 7200 0 EET} + {2184796800 10800 1 EEST} + {2203545600 7200 0 EET} + {2216246400 10800 1 EEST} + {2234995200 7200 0 EET} + {2248300800 10800 1 EEST} + {2266444800 7200 0 EET} + {2279750400 10800 1 EEST} + {2297894400 7200 0 EET} + {2311200000 10800 1 EEST} + {2329344000 7200 0 EET} + {2342649600 10800 1 EEST} + {2361398400 7200 0 EET} + {2374099200 10800 1 EEST} + {2392848000 7200 0 EET} + {2405548800 10800 1 EEST} + {2424297600 7200 0 EET} + {2437603200 10800 1 EEST} + {2455747200 7200 0 EET} + {2469052800 10800 1 EEST} + {2487196800 7200 0 EET} + {2500502400 10800 1 EEST} + {2519251200 7200 0 EET} + {2531952000 10800 1 EEST} + {2550700800 7200 0 EET} + {2563401600 10800 1 EEST} + {2582150400 7200 0 EET} + {2595456000 10800 1 EEST} + {2613600000 7200 0 EET} + {2626905600 10800 1 EEST} + {2645049600 7200 0 EET} + {2658355200 10800 1 EEST} + {2676499200 7200 0 EET} + {2689804800 10800 1 EEST} + {2708553600 7200 0 EET} + {2721254400 10800 1 EEST} + {2740003200 7200 0 EET} + {2752704000 10800 1 EEST} + {2771452800 7200 0 EET} + {2784758400 10800 1 EEST} + {2802902400 7200 0 EET} + {2816208000 10800 1 EEST} + {2834352000 7200 0 EET} + {2847657600 10800 1 EEST} + {2866406400 7200 0 EET} + {2879107200 10800 1 EEST} + {2897856000 7200 0 EET} + {2910556800 10800 1 EEST} + {2929305600 7200 0 EET} + {2942006400 10800 1 EEST} + {2960755200 7200 0 EET} + {2974060800 10800 1 EEST} + {2992204800 7200 0 EET} + {3005510400 10800 1 EEST} + {3023654400 7200 0 EET} + {3036960000 10800 1 EEST} + {3055708800 7200 0 EET} + {3068409600 10800 1 EEST} + {3087158400 7200 0 EET} + {3099859200 10800 1 EEST} + {3118608000 7200 0 EET} + {3131913600 10800 1 EEST} + {3150057600 7200 0 EET} + {3163363200 10800 1 EEST} + {3181507200 7200 0 EET} + {3194812800 10800 1 EEST} + {3212956800 7200 0 EET} + {3226262400 10800 1 EEST} + {3245011200 7200 0 EET} + {3257712000 10800 1 EEST} + {3276460800 7200 0 EET} + {3289161600 10800 1 EEST} + {3307910400 7200 0 EET} + {3321216000 10800 1 EEST} + {3339360000 7200 0 EET} + {3352665600 10800 1 EEST} + {3370809600 7200 0 EET} + {3384115200 10800 1 EEST} + {3402864000 7200 0 EET} + {3415564800 10800 1 EEST} + {3434313600 7200 0 EET} + {3447014400 10800 1 EEST} + {3465763200 7200 0 EET} + {3479068800 10800 1 EEST} + {3497212800 7200 0 EET} + {3510518400 10800 1 EEST} + {3528662400 7200 0 EET} + {3541968000 10800 1 EEST} + {3560112000 7200 0 EET} + {3573417600 10800 1 EEST} + {3592166400 7200 0 EET} + {3604867200 10800 1 EEST} + {3623616000 7200 0 EET} + {3636316800 10800 1 EEST} + {3655065600 7200 0 EET} + {3668371200 10800 1 EEST} + {3686515200 7200 0 EET} + {3699820800 10800 1 EEST} + {3717964800 7200 0 EET} + {3731270400 10800 1 EEST} + {3750019200 7200 0 EET} + {3762720000 10800 1 EEST} + {3781468800 7200 0 EET} + {3794169600 10800 1 EEST} + {3812918400 7200 0 EET} + {3825619200 10800 1 EEST} + {3844368000 7200 0 EET} + {3857673600 10800 1 EEST} + {3875817600 7200 0 EET} + {3889123200 10800 1 EEST} + {3907267200 7200 0 EET} + {3920572800 10800 1 EEST} + {3939321600 7200 0 EET} + {3952022400 10800 1 EEST} + {3970771200 7200 0 EET} + {3983472000 10800 1 EEST} + {4002220800 7200 0 EET} + {4015526400 10800 1 EEST} + {4033670400 7200 0 EET} + {4046976000 10800 1 EEST} + {4065120000 7200 0 EET} + {4078425600 10800 1 EEST} + {4096569600 7200 0 EET} } diff --git a/library/tzdata/Europe/Minsk b/library/tzdata/Europe/Minsk index 1adcff8..d7d9434 100644 --- a/library/tzdata/Europe/Minsk +++ b/library/tzdata/Europe/Minsk @@ -70,5 +70,182 @@ set TZData(:Europe/Minsk) { {1256428800 7200 0 EET} {1269734400 10800 1 EEST} {1288483200 7200 0 EET} - {1301184000 10800 0 FET} + {1301184000 10800 1 EEST} + {1319932800 7200 0 EET} + {1332633600 10800 1 EEST} + {1351382400 7200 0 EET} + {1364688000 10800 1 EEST} + {1382832000 7200 0 EET} + {1396137600 10800 1 EEST} + {1414281600 7200 0 EET} + {1427587200 10800 1 EEST} + {1445731200 7200 0 EET} + {1459036800 10800 1 EEST} + {1477785600 7200 0 EET} + {1490486400 10800 1 EEST} + {1509235200 7200 0 EET} + {1521936000 10800 1 EEST} + {1540684800 7200 0 EET} + {1553990400 10800 1 EEST} + {1572134400 7200 0 EET} + {1585440000 10800 1 EEST} + {1603584000 7200 0 EET} + {1616889600 10800 1 EEST} + {1635638400 7200 0 EET} + {1648339200 10800 1 EEST} + {1667088000 7200 0 EET} + {1679788800 10800 1 EEST} + {1698537600 7200 0 EET} + {1711843200 10800 1 EEST} + {1729987200 7200 0 EET} + {1743292800 10800 1 EEST} + {1761436800 7200 0 EET} + {1774742400 10800 1 EEST} + {1792886400 7200 0 EET} + {1806192000 10800 1 EEST} + {1824940800 7200 0 EET} + {1837641600 10800 1 EEST} + {1856390400 7200 0 EET} + {1869091200 10800 1 EEST} + {1887840000 7200 0 EET} + {1901145600 10800 1 EEST} + {1919289600 7200 0 EET} + {1932595200 10800 1 EEST} + {1950739200 7200 0 EET} + {1964044800 10800 1 EEST} + {1982793600 7200 0 EET} + {1995494400 10800 1 EEST} + {2014243200 7200 0 EET} + {2026944000 10800 1 EEST} + {2045692800 7200 0 EET} + {2058393600 10800 1 EEST} + {2077142400 7200 0 EET} + {2090448000 10800 1 EEST} + {2108592000 7200 0 EET} + {2121897600 10800 1 EEST} + {2140041600 7200 0 EET} + {2153347200 10800 1 EEST} + {2172096000 7200 0 EET} + {2184796800 10800 1 EEST} + {2203545600 7200 0 EET} + {2216246400 10800 1 EEST} + {2234995200 7200 0 EET} + {2248300800 10800 1 EEST} + {2266444800 7200 0 EET} + {2279750400 10800 1 EEST} + {2297894400 7200 0 EET} + {2311200000 10800 1 EEST} + {2329344000 7200 0 EET} + {2342649600 10800 1 EEST} + {2361398400 7200 0 EET} + {2374099200 10800 1 EEST} + {2392848000 7200 0 EET} + {2405548800 10800 1 EEST} + {2424297600 7200 0 EET} + {2437603200 10800 1 EEST} + {2455747200 7200 0 EET} + {2469052800 10800 1 EEST} + {2487196800 7200 0 EET} + {2500502400 10800 1 EEST} + {2519251200 7200 0 EET} + {2531952000 10800 1 EEST} + {2550700800 7200 0 EET} + {2563401600 10800 1 EEST} + {2582150400 7200 0 EET} + {2595456000 10800 1 EEST} + {2613600000 7200 0 EET} + {2626905600 10800 1 EEST} + {2645049600 7200 0 EET} + {2658355200 10800 1 EEST} + {2676499200 7200 0 EET} + {2689804800 10800 1 EEST} + {2708553600 7200 0 EET} + {2721254400 10800 1 EEST} + {2740003200 7200 0 EET} + {2752704000 10800 1 EEST} + {2771452800 7200 0 EET} + {2784758400 10800 1 EEST} + {2802902400 7200 0 EET} + {2816208000 10800 1 EEST} + {2834352000 7200 0 EET} + {2847657600 10800 1 EEST} + {2866406400 7200 0 EET} + {2879107200 10800 1 EEST} + {2897856000 7200 0 EET} + {2910556800 10800 1 EEST} + {2929305600 7200 0 EET} + {2942006400 10800 1 EEST} + {2960755200 7200 0 EET} + {2974060800 10800 1 EEST} + {2992204800 7200 0 EET} + {3005510400 10800 1 EEST} + {3023654400 7200 0 EET} + {3036960000 10800 1 EEST} + {3055708800 7200 0 EET} + {3068409600 10800 1 EEST} + {3087158400 7200 0 EET} + {3099859200 10800 1 EEST} + {3118608000 7200 0 EET} + {3131913600 10800 1 EEST} + {3150057600 7200 0 EET} + {3163363200 10800 1 EEST} + {3181507200 7200 0 EET} + {3194812800 10800 1 EEST} + {3212956800 7200 0 EET} + {3226262400 10800 1 EEST} + {3245011200 7200 0 EET} + {3257712000 10800 1 EEST} + {3276460800 7200 0 EET} + {3289161600 10800 1 EEST} + {3307910400 7200 0 EET} + {3321216000 10800 1 EEST} + {3339360000 7200 0 EET} + {3352665600 10800 1 EEST} + {3370809600 7200 0 EET} + {3384115200 10800 1 EEST} + {3402864000 7200 0 EET} + {3415564800 10800 1 EEST} + {3434313600 7200 0 EET} + {3447014400 10800 1 EEST} + {3465763200 7200 0 EET} + {3479068800 10800 1 EEST} + {3497212800 7200 0 EET} + {3510518400 10800 1 EEST} + {3528662400 7200 0 EET} + {3541968000 10800 1 EEST} + {3560112000 7200 0 EET} + {3573417600 10800 1 EEST} + {3592166400 7200 0 EET} + {3604867200 10800 1 EEST} + {3623616000 7200 0 EET} + {3636316800 10800 1 EEST} + {3655065600 7200 0 EET} + {3668371200 10800 1 EEST} + {3686515200 7200 0 EET} + {3699820800 10800 1 EEST} + {3717964800 7200 0 EET} + {3731270400 10800 1 EEST} + {3750019200 7200 0 EET} + {3762720000 10800 1 EEST} + {3781468800 7200 0 EET} + {3794169600 10800 1 EEST} + {3812918400 7200 0 EET} + {3825619200 10800 1 EEST} + {3844368000 7200 0 EET} + {3857673600 10800 1 EEST} + {3875817600 7200 0 EET} + {3889123200 10800 1 EEST} + {3907267200 7200 0 EET} + {3920572800 10800 1 EEST} + {3939321600 7200 0 EET} + {3952022400 10800 1 EEST} + {3970771200 7200 0 EET} + {3983472000 10800 1 EEST} + {4002220800 7200 0 EET} + {4015526400 10800 1 EEST} + {4033670400 7200 0 EET} + {4046976000 10800 1 EEST} + {4065120000 7200 0 EET} + {4078425600 10800 1 EEST} + {4096569600 7200 0 EET} } diff --git a/library/tzdata/Europe/Moscow b/library/tzdata/Europe/Moscow index 8f40741..9acbd2c 100644 --- a/library/tzdata/Europe/Moscow +++ b/library/tzdata/Europe/Moscow @@ -79,5 +79,182 @@ set TZData(:Europe/Moscow) { {1256425200 10800 0 MSK} {1269730800 14400 1 MSD} {1288479600 10800 0 MSK} - {1301180400 14400 0 MSK} + {1301180400 14400 1 MSD} + {1319929200 10800 0 MSK} + {1332630000 14400 1 MSD} + {1351378800 10800 0 MSK} + {1364684400 14400 1 MSD} + {1382828400 10800 0 MSK} + {1396134000 14400 1 MSD} + {1414278000 10800 0 MSK} + {1427583600 14400 1 MSD} + {1445727600 10800 0 MSK} + {1459033200 14400 1 MSD} + {1477782000 10800 0 MSK} + {1490482800 14400 1 MSD} + {1509231600 10800 0 MSK} + {1521932400 14400 1 MSD} + {1540681200 10800 0 MSK} + {1553986800 14400 1 MSD} + {1572130800 10800 0 MSK} + {1585436400 14400 1 MSD} + {1603580400 10800 0 MSK} + {1616886000 14400 1 MSD} + {1635634800 10800 0 MSK} + {1648335600 14400 1 MSD} + {1667084400 10800 0 MSK} + {1679785200 14400 1 MSD} + {1698534000 10800 0 MSK} + {1711839600 14400 1 MSD} + {1729983600 10800 0 MSK} + {1743289200 14400 1 MSD} + {1761433200 10800 0 MSK} + {1774738800 14400 1 MSD} + {1792882800 10800 0 MSK} + {1806188400 14400 1 MSD} + {1824937200 10800 0 MSK} + {1837638000 14400 1 MSD} + {1856386800 10800 0 MSK} + {1869087600 14400 1 MSD} + {1887836400 10800 0 MSK} + {1901142000 14400 1 MSD} + {1919286000 10800 0 MSK} + {1932591600 14400 1 MSD} + {1950735600 10800 0 MSK} + {1964041200 14400 1 MSD} + {1982790000 10800 0 MSK} + {1995490800 14400 1 MSD} + {2014239600 10800 0 MSK} + {2026940400 14400 1 MSD} + {2045689200 10800 0 MSK} + {2058390000 14400 1 MSD} + {2077138800 10800 0 MSK} + {2090444400 14400 1 MSD} + {2108588400 10800 0 MSK} + {2121894000 14400 1 MSD} + {2140038000 10800 0 MSK} + {2153343600 14400 1 MSD} + {2172092400 10800 0 MSK} + {2184793200 14400 1 MSD} + {2203542000 10800 0 MSK} + {2216242800 14400 1 MSD} + {2234991600 10800 0 MSK} + {2248297200 14400 1 MSD} + {2266441200 10800 0 MSK} + {2279746800 14400 1 MSD} + {2297890800 10800 0 MSK} + {2311196400 14400 1 MSD} + {2329340400 10800 0 MSK} + {2342646000 14400 1 MSD} + {2361394800 10800 0 MSK} + {2374095600 14400 1 MSD} + {2392844400 10800 0 MSK} + {2405545200 14400 1 MSD} + {2424294000 10800 0 MSK} + {2437599600 14400 1 MSD} + {2455743600 10800 0 MSK} + {2469049200 14400 1 MSD} + {2487193200 10800 0 MSK} + {2500498800 14400 1 MSD} + {2519247600 10800 0 MSK} + {2531948400 14400 1 MSD} + {2550697200 10800 0 MSK} + {2563398000 14400 1 MSD} + {2582146800 10800 0 MSK} + {2595452400 14400 1 MSD} + {2613596400 10800 0 MSK} + {2626902000 14400 1 MSD} + {2645046000 10800 0 MSK} + {2658351600 14400 1 MSD} + {2676495600 10800 0 MSK} + {2689801200 14400 1 MSD} + {2708550000 10800 0 MSK} + {2721250800 14400 1 MSD} + {2739999600 10800 0 MSK} + {2752700400 14400 1 MSD} + {2771449200 10800 0 MSK} + {2784754800 14400 1 MSD} + {2802898800 10800 0 MSK} + {2816204400 14400 1 MSD} + {2834348400 10800 0 MSK} + {2847654000 14400 1 MSD} + {2866402800 10800 0 MSK} + {2879103600 14400 1 MSD} + {2897852400 10800 0 MSK} + {2910553200 14400 1 MSD} + {2929302000 10800 0 MSK} + {2942002800 14400 1 MSD} + {2960751600 10800 0 MSK} + {2974057200 14400 1 MSD} + {2992201200 10800 0 MSK} + {3005506800 14400 1 MSD} + {3023650800 10800 0 MSK} + {3036956400 14400 1 MSD} + {3055705200 10800 0 MSK} + {3068406000 14400 1 MSD} + {3087154800 10800 0 MSK} + {3099855600 14400 1 MSD} + {3118604400 10800 0 MSK} + {3131910000 14400 1 MSD} + {3150054000 10800 0 MSK} + {3163359600 14400 1 MSD} + {3181503600 10800 0 MSK} + {3194809200 14400 1 MSD} + {3212953200 10800 0 MSK} + {3226258800 14400 1 MSD} + {3245007600 10800 0 MSK} + {3257708400 14400 1 MSD} + {3276457200 10800 0 MSK} + {3289158000 14400 1 MSD} + {3307906800 10800 0 MSK} + {3321212400 14400 1 MSD} + {3339356400 10800 0 MSK} + {3352662000 14400 1 MSD} + {3370806000 10800 0 MSK} + {3384111600 14400 1 MSD} + {3402860400 10800 0 MSK} + {3415561200 14400 1 MSD} + {3434310000 10800 0 MSK} + {3447010800 14400 1 MSD} + {3465759600 10800 0 MSK} + {3479065200 14400 1 MSD} + {3497209200 10800 0 MSK} + {3510514800 14400 1 MSD} + {3528658800 10800 0 MSK} + {3541964400 14400 1 MSD} + {3560108400 10800 0 MSK} + {3573414000 14400 1 MSD} + {3592162800 10800 0 MSK} + {3604863600 14400 1 MSD} + {3623612400 10800 0 MSK} + {3636313200 14400 1 MSD} + {3655062000 10800 0 MSK} + {3668367600 14400 1 MSD} + {3686511600 10800 0 MSK} + {3699817200 14400 1 MSD} + {3717961200 10800 0 MSK} + {3731266800 14400 1 MSD} + {3750015600 10800 0 MSK} + {3762716400 14400 1 MSD} + {3781465200 10800 0 MSK} + {3794166000 14400 1 MSD} + {3812914800 10800 0 MSK} + {3825615600 14400 1 MSD} + {3844364400 10800 0 MSK} + {3857670000 14400 1 MSD} + {3875814000 10800 0 MSK} + {3889119600 14400 1 MSD} + {3907263600 10800 0 MSK} + {3920569200 14400 1 MSD} + {3939318000 10800 0 MSK} + {3952018800 14400 1 MSD} + {3970767600 10800 0 MSK} + {3983468400 14400 1 MSD} + {4002217200 10800 0 MSK} + {4015522800 14400 1 MSD} + {4033666800 10800 0 MSK} + {4046972400 14400 1 MSD} + {4065116400 10800 0 MSK} + {4078422000 14400 1 MSD} + {4096566000 10800 0 MSK} } diff --git a/library/tzdata/Europe/Samara b/library/tzdata/Europe/Samara index f2ac911..47e57e4 100644 --- a/library/tzdata/Europe/Samara +++ b/library/tzdata/Europe/Samara @@ -66,8 +66,184 @@ set TZData(:Europe/Samara) { {1224972000 14400 0 SAMT} {1238277600 18000 1 SAMST} {1256421600 14400 0 SAMT} - {1269727200 10800 0 SAMMMTT} - {1269730800 14400 1 SAMST} - {1288479600 10800 0 SAMT} - {1301180400 14400 0 SAMT} + {1269727200 18000 1 SAMST} + {1288476000 14400 0 SAMT} + {1301176800 18000 1 SAMST} + {1319925600 14400 0 SAMT} + {1332626400 18000 1 SAMST} + {1351375200 14400 0 SAMT} + {1364680800 18000 1 SAMST} + {1382824800 14400 0 SAMT} + {1396130400 18000 1 SAMST} + {1414274400 14400 0 SAMT} + {1427580000 18000 1 SAMST} + {1445724000 14400 0 SAMT} + {1459029600 18000 1 SAMST} + {1477778400 14400 0 SAMT} + {1490479200 18000 1 SAMST} + {1509228000 14400 0 SAMT} + {1521928800 18000 1 SAMST} + {1540677600 14400 0 SAMT} + {1553983200 18000 1 SAMST} + {1572127200 14400 0 SAMT} + {1585432800 18000 1 SAMST} + {1603576800 14400 0 SAMT} + {1616882400 18000 1 SAMST} + {1635631200 14400 0 SAMT} + {1648332000 18000 1 SAMST} + {1667080800 14400 0 SAMT} + {1679781600 18000 1 SAMST} + {1698530400 14400 0 SAMT} + {1711836000 18000 1 SAMST} + {1729980000 14400 0 SAMT} + {1743285600 18000 1 SAMST} + {1761429600 14400 0 SAMT} + {1774735200 18000 1 SAMST} + {1792879200 14400 0 SAMT} + {1806184800 18000 1 SAMST} + {1824933600 14400 0 SAMT} + {1837634400 18000 1 SAMST} + {1856383200 14400 0 SAMT} + {1869084000 18000 1 SAMST} + {1887832800 14400 0 SAMT} + {1901138400 18000 1 SAMST} + {1919282400 14400 0 SAMT} + {1932588000 18000 1 SAMST} + {1950732000 14400 0 SAMT} + {1964037600 18000 1 SAMST} + {1982786400 14400 0 SAMT} + {1995487200 18000 1 SAMST} + {2014236000 14400 0 SAMT} + {2026936800 18000 1 SAMST} + {2045685600 14400 0 SAMT} + {2058386400 18000 1 SAMST} + {2077135200 14400 0 SAMT} + {2090440800 18000 1 SAMST} + {2108584800 14400 0 SAMT} + {2121890400 18000 1 SAMST} + {2140034400 14400 0 SAMT} + {2153340000 18000 1 SAMST} + {2172088800 14400 0 SAMT} + {2184789600 18000 1 SAMST} + {2203538400 14400 0 SAMT} + {2216239200 18000 1 SAMST} + {2234988000 14400 0 SAMT} + {2248293600 18000 1 SAMST} + {2266437600 14400 0 SAMT} + {2279743200 18000 1 SAMST} + {2297887200 14400 0 SAMT} + {2311192800 18000 1 SAMST} + {2329336800 14400 0 SAMT} + {2342642400 18000 1 SAMST} + {2361391200 14400 0 SAMT} + {2374092000 18000 1 SAMST} + {2392840800 14400 0 SAMT} + {2405541600 18000 1 SAMST} + {2424290400 14400 0 SAMT} + {2437596000 18000 1 SAMST} + {2455740000 14400 0 SAMT} + {2469045600 18000 1 SAMST} + {2487189600 14400 0 SAMT} + {2500495200 18000 1 SAMST} + {2519244000 14400 0 SAMT} + {2531944800 18000 1 SAMST} + {2550693600 14400 0 SAMT} + {2563394400 18000 1 SAMST} + {2582143200 14400 0 SAMT} + {2595448800 18000 1 SAMST} + {2613592800 14400 0 SAMT} + {2626898400 18000 1 SAMST} + {2645042400 14400 0 SAMT} + {2658348000 18000 1 SAMST} + {2676492000 14400 0 SAMT} + {2689797600 18000 1 SAMST} + {2708546400 14400 0 SAMT} + {2721247200 18000 1 SAMST} + {2739996000 14400 0 SAMT} + {2752696800 18000 1 SAMST} + {2771445600 14400 0 SAMT} + {2784751200 18000 1 SAMST} + {2802895200 14400 0 SAMT} + {2816200800 18000 1 SAMST} + {2834344800 14400 0 SAMT} + {2847650400 18000 1 SAMST} + {2866399200 14400 0 SAMT} + {2879100000 18000 1 SAMST} + {2897848800 14400 0 SAMT} + {2910549600 18000 1 SAMST} + {2929298400 14400 0 SAMT} + {2941999200 18000 1 SAMST} + {2960748000 14400 0 SAMT} + {2974053600 18000 1 SAMST} + {2992197600 14400 0 SAMT} + {3005503200 18000 1 SAMST} + {3023647200 14400 0 SAMT} + {3036952800 18000 1 SAMST} + {3055701600 14400 0 SAMT} + {3068402400 18000 1 SAMST} + {3087151200 14400 0 SAMT} + {3099852000 18000 1 SAMST} + {3118600800 14400 0 SAMT} + {3131906400 18000 1 SAMST} + {3150050400 14400 0 SAMT} + {3163356000 18000 1 SAMST} + {3181500000 14400 0 SAMT} + {3194805600 18000 1 SAMST} + {3212949600 14400 0 SAMT} + {3226255200 18000 1 SAMST} + {3245004000 14400 0 SAMT} + {3257704800 18000 1 SAMST} + {3276453600 14400 0 SAMT} + {3289154400 18000 1 SAMST} + {3307903200 14400 0 SAMT} + {3321208800 18000 1 SAMST} + {3339352800 14400 0 SAMT} + {3352658400 18000 1 SAMST} + {3370802400 14400 0 SAMT} + {3384108000 18000 1 SAMST} + {3402856800 14400 0 SAMT} + {3415557600 18000 1 SAMST} + {3434306400 14400 0 SAMT} + {3447007200 18000 1 SAMST} + {3465756000 14400 0 SAMT} + {3479061600 18000 1 SAMST} + {3497205600 14400 0 SAMT} + {3510511200 18000 1 SAMST} + {3528655200 14400 0 SAMT} + {3541960800 18000 1 SAMST} + {3560104800 14400 0 SAMT} + {3573410400 18000 1 SAMST} + {3592159200 14400 0 SAMT} + {3604860000 18000 1 SAMST} + {3623608800 14400 0 SAMT} + {3636309600 18000 1 SAMST} + {3655058400 14400 0 SAMT} + {3668364000 18000 1 SAMST} + {3686508000 14400 0 SAMT} + {3699813600 18000 1 SAMST} + {3717957600 14400 0 SAMT} + {3731263200 18000 1 SAMST} + {3750012000 14400 0 SAMT} + {3762712800 18000 1 SAMST} + {3781461600 14400 0 SAMT} + {3794162400 18000 1 SAMST} + {3812911200 14400 0 SAMT} + {3825612000 18000 1 SAMST} + {3844360800 14400 0 SAMT} + {3857666400 18000 1 SAMST} + {3875810400 14400 0 SAMT} + {3889116000 18000 1 SAMST} + {3907260000 14400 0 SAMT} + {3920565600 18000 1 SAMST} + {3939314400 14400 0 SAMT} + {3952015200 18000 1 SAMST} + {3970764000 14400 0 SAMT} + {3983464800 18000 1 SAMST} + {4002213600 14400 0 SAMT} + {4015519200 18000 1 SAMST} + {4033663200 14400 0 SAMT} + {4046968800 18000 1 SAMST} + {4065112800 14400 0 SAMT} + {4078418400 18000 1 SAMST} + {4096562400 14400 0 SAMT} } diff --git a/library/tzdata/Europe/Vienna b/library/tzdata/Europe/Vienna index 95283eb..41d744d 100644 --- a/library/tzdata/Europe/Vienna +++ b/library/tzdata/Europe/Vienna @@ -1,8 +1,8 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Europe/Vienna) { - {-9223372036854775808 3921 0 LMT} - {-2422055121 3600 0 CET} + {-9223372036854775808 3920 0 LMT} + {-2422055120 3600 0 CET} {-1693706400 7200 1 CEST} {-1680483600 3600 0 CET} {-1663455600 7200 1 CEST} diff --git a/library/tzdata/Europe/Volgograd b/library/tzdata/Europe/Volgograd index c3f148f..49cf1e5 100755 --- a/library/tzdata/Europe/Volgograd +++ b/library/tzdata/Europe/Volgograd @@ -66,5 +66,182 @@ set TZData(:Europe/Volgograd) { {1256425200 10800 0 VOLT} {1269730800 14400 1 VOLST} {1288479600 10800 0 VOLT} - {1301180400 14400 0 VOLT} + {1301180400 14400 1 VOLST} + {1319929200 10800 0 VOLT} + {1332630000 14400 1 VOLST} + {1351378800 10800 0 VOLT} + {1364684400 14400 1 VOLST} + {1382828400 10800 0 VOLT} + {1396134000 14400 1 VOLST} + {1414278000 10800 0 VOLT} + {1427583600 14400 1 VOLST} + {1445727600 10800 0 VOLT} + {1459033200 14400 1 VOLST} + {1477782000 10800 0 VOLT} + {1490482800 14400 1 VOLST} + {1509231600 10800 0 VOLT} + {1521932400 14400 1 VOLST} + {1540681200 10800 0 VOLT} + {1553986800 14400 1 VOLST} + {1572130800 10800 0 VOLT} + {1585436400 14400 1 VOLST} + {1603580400 10800 0 VOLT} + {1616886000 14400 1 VOLST} + {1635634800 10800 0 VOLT} + {1648335600 14400 1 VOLST} + {1667084400 10800 0 VOLT} + {1679785200 14400 1 VOLST} + {1698534000 10800 0 VOLT} + {1711839600 14400 1 VOLST} + {1729983600 10800 0 VOLT} + {1743289200 14400 1 VOLST} + {1761433200 10800 0 VOLT} + {1774738800 14400 1 VOLST} + {1792882800 10800 0 VOLT} + {1806188400 14400 1 VOLST} + {1824937200 10800 0 VOLT} + {1837638000 14400 1 VOLST} + {1856386800 10800 0 VOLT} + {1869087600 14400 1 VOLST} + {1887836400 10800 0 VOLT} + {1901142000 14400 1 VOLST} + {1919286000 10800 0 VOLT} + {1932591600 14400 1 VOLST} + {1950735600 10800 0 VOLT} + {1964041200 14400 1 VOLST} + {1982790000 10800 0 VOLT} + {1995490800 14400 1 VOLST} + {2014239600 10800 0 VOLT} + {2026940400 14400 1 VOLST} + {2045689200 10800 0 VOLT} + {2058390000 14400 1 VOLST} + {2077138800 10800 0 VOLT} + {2090444400 14400 1 VOLST} + {2108588400 10800 0 VOLT} + {2121894000 14400 1 VOLST} + {2140038000 10800 0 VOLT} + {2153343600 14400 1 VOLST} + {2172092400 10800 0 VOLT} + {2184793200 14400 1 VOLST} + {2203542000 10800 0 VOLT} + {2216242800 14400 1 VOLST} + {2234991600 10800 0 VOLT} + {2248297200 14400 1 VOLST} + {2266441200 10800 0 VOLT} + {2279746800 14400 1 VOLST} + {2297890800 10800 0 VOLT} + {2311196400 14400 1 VOLST} + {2329340400 10800 0 VOLT} + {2342646000 14400 1 VOLST} + {2361394800 10800 0 VOLT} + {2374095600 14400 1 VOLST} + {2392844400 10800 0 VOLT} + {2405545200 14400 1 VOLST} + {2424294000 10800 0 VOLT} + {2437599600 14400 1 VOLST} + {2455743600 10800 0 VOLT} + {2469049200 14400 1 VOLST} + {2487193200 10800 0 VOLT} + {2500498800 14400 1 VOLST} + {2519247600 10800 0 VOLT} + {2531948400 14400 1 VOLST} + {2550697200 10800 0 VOLT} + {2563398000 14400 1 VOLST} + {2582146800 10800 0 VOLT} + {2595452400 14400 1 VOLST} + {2613596400 10800 0 VOLT} + {2626902000 14400 1 VOLST} + {2645046000 10800 0 VOLT} + {2658351600 14400 1 VOLST} + {2676495600 10800 0 VOLT} + {2689801200 14400 1 VOLST} + {2708550000 10800 0 VOLT} + {2721250800 14400 1 VOLST} + {2739999600 10800 0 VOLT} + {2752700400 14400 1 VOLST} + {2771449200 10800 0 VOLT} + {2784754800 14400 1 VOLST} + {2802898800 10800 0 VOLT} + {2816204400 14400 1 VOLST} + {2834348400 10800 0 VOLT} + {2847654000 14400 1 VOLST} + {2866402800 10800 0 VOLT} + {2879103600 14400 1 VOLST} + {2897852400 10800 0 VOLT} + {2910553200 14400 1 VOLST} + {2929302000 10800 0 VOLT} + {2942002800 14400 1 VOLST} + {2960751600 10800 0 VOLT} + {2974057200 14400 1 VOLST} + {2992201200 10800 0 VOLT} + {3005506800 14400 1 VOLST} + {3023650800 10800 0 VOLT} + {3036956400 14400 1 VOLST} + {3055705200 10800 0 VOLT} + {3068406000 14400 1 VOLST} + {3087154800 10800 0 VOLT} + {3099855600 14400 1 VOLST} + {3118604400 10800 0 VOLT} + {3131910000 14400 1 VOLST} + {3150054000 10800 0 VOLT} + {3163359600 14400 1 VOLST} + {3181503600 10800 0 VOLT} + {3194809200 14400 1 VOLST} + {3212953200 10800 0 VOLT} + {3226258800 14400 1 VOLST} + {3245007600 10800 0 VOLT} + {3257708400 14400 1 VOLST} + {3276457200 10800 0 VOLT} + {3289158000 14400 1 VOLST} + {3307906800 10800 0 VOLT} + {3321212400 14400 1 VOLST} + {3339356400 10800 0 VOLT} + {3352662000 14400 1 VOLST} + {3370806000 10800 0 VOLT} + {3384111600 14400 1 VOLST} + {3402860400 10800 0 VOLT} + {3415561200 14400 1 VOLST} + {3434310000 10800 0 VOLT} + {3447010800 14400 1 VOLST} + {3465759600 10800 0 VOLT} + {3479065200 14400 1 VOLST} + {3497209200 10800 0 VOLT} + {3510514800 14400 1 VOLST} + {3528658800 10800 0 VOLT} + {3541964400 14400 1 VOLST} + {3560108400 10800 0 VOLT} + {3573414000 14400 1 VOLST} + {3592162800 10800 0 VOLT} + {3604863600 14400 1 VOLST} + {3623612400 10800 0 VOLT} + {3636313200 14400 1 VOLST} + {3655062000 10800 0 VOLT} + {3668367600 14400 1 VOLST} + {3686511600 10800 0 VOLT} + {3699817200 14400 1 VOLST} + {3717961200 10800 0 VOLT} + {3731266800 14400 1 VOLST} + {3750015600 10800 0 VOLT} + {3762716400 14400 1 VOLST} + {3781465200 10800 0 VOLT} + {3794166000 14400 1 VOLST} + {3812914800 10800 0 VOLT} + {3825615600 14400 1 VOLST} + {3844364400 10800 0 VOLT} + {3857670000 14400 1 VOLST} + {3875814000 10800 0 VOLT} + {3889119600 14400 1 VOLST} + {3907263600 10800 0 VOLT} + {3920569200 14400 1 VOLST} + {3939318000 10800 0 VOLT} + {3952018800 14400 1 VOLST} + {3970767600 10800 0 VOLT} + {3983468400 14400 1 VOLST} + {4002217200 10800 0 VOLT} + {4015522800 14400 1 VOLST} + {4033666800 10800 0 VOLT} + {4046972400 14400 1 VOLST} + {4065116400 10800 0 VOLT} + {4078422000 14400 1 VOLST} + {4096566000 10800 0 VOLT} } diff --git a/library/tzdata/Pacific/Apia b/library/tzdata/Pacific/Apia index e6f33ad..5d34ed1 100644 --- a/library/tzdata/Pacific/Apia +++ b/library/tzdata/Pacific/Apia @@ -5,184 +5,4 @@ set TZData(:Pacific/Apia) { {-2855737984 -41216 0 LMT} {-1861878784 -41400 0 SAMT} {-631110600 -39600 0 WST} - {1285498800 -36000 1 WSDT} - {1301752800 -39600 0 WST} - {1316872800 -36000 1 WSDT} - {1325239200 50400 1 WSDT} - {1333202400 46800 0 WST} - {1348927200 50400 1 WSDT} - {1365256800 46800 0 WST} - {1380376800 50400 1 WSDT} - {1396706400 46800 0 WST} - {1411826400 50400 1 WSDT} - {1428156000 46800 0 WST} - {1443276000 50400 1 WSDT} - {1459605600 46800 0 WST} - {1474725600 50400 1 WSDT} - {1491055200 46800 0 WST} - {1506175200 50400 1 WSDT} - {1522504800 46800 0 WST} - {1538229600 50400 1 WSDT} - {1554559200 46800 0 WST} - {1569679200 50400 1 WSDT} - {1586008800 46800 0 WST} - {1601128800 50400 1 WSDT} - {1617458400 46800 0 WST} - {1632578400 50400 1 WSDT} - {1648908000 46800 0 WST} - {1664028000 50400 1 WSDT} - {1680357600 46800 0 WST} - {1695477600 50400 1 WSDT} - {1712412000 46800 0 WST} - {1727532000 50400 1 WSDT} - {1743861600 46800 0 WST} - {1758981600 50400 1 WSDT} - {1775311200 46800 0 WST} - {1790431200 50400 1 WSDT} - {1806760800 46800 0 WST} - {1821880800 50400 1 WSDT} - {1838210400 46800 0 WST} - {1853330400 50400 1 WSDT} - {1869660000 46800 0 WST} - {1885384800 50400 1 WSDT} - {1901714400 46800 0 WST} - {1916834400 50400 1 WSDT} - {1933164000 46800 0 WST} - {1948284000 50400 1 WSDT} - {1964613600 46800 0 WST} - {1979733600 50400 1 WSDT} - {1996063200 46800 0 WST} - {2011183200 50400 1 WSDT} - {2027512800 46800 0 WST} - {2042632800 50400 1 WSDT} - {2058962400 46800 0 WST} - {2074687200 50400 1 WSDT} - {2091016800 46800 0 WST} - {2106136800 50400 1 WSDT} - {2122466400 46800 0 WST} - {2137586400 50400 1 WSDT} - {2153916000 46800 0 WST} - {2169036000 50400 1 WSDT} - {2185365600 46800 0 WST} - {2200485600 50400 1 WSDT} - {2216815200 46800 0 WST} - {2232540000 50400 1 WSDT} - {2248869600 46800 0 WST} - {2263989600 50400 1 WSDT} - {2280319200 46800 0 WST} - {2295439200 50400 1 WSDT} - {2311768800 46800 0 WST} - {2326888800 50400 1 WSDT} - {2343218400 46800 0 WST} - {2358338400 50400 1 WSDT} - {2374668000 46800 0 WST} - {2389788000 50400 1 WSDT} - {2406117600 46800 0 WST} - {2421842400 50400 1 WSDT} - {2438172000 46800 0 WST} - {2453292000 50400 1 WSDT} - {2469621600 46800 0 WST} - {2484741600 50400 1 WSDT} - {2501071200 46800 0 WST} - {2516191200 50400 1 WSDT} - {2532520800 46800 0 WST} - {2547640800 50400 1 WSDT} - {2563970400 46800 0 WST} - {2579090400 50400 1 WSDT} - {2596024800 46800 0 WST} - {2611144800 50400 1 WSDT} - {2627474400 46800 0 WST} - {2642594400 50400 1 WSDT} - {2658924000 46800 0 WST} - {2674044000 50400 1 WSDT} - {2690373600 46800 0 WST} - {2705493600 50400 1 WSDT} - {2721823200 46800 0 WST} - {2736943200 50400 1 WSDT} - {2753272800 46800 0 WST} - {2768997600 50400 1 WSDT} - {2785327200 46800 0 WST} - {2800447200 50400 1 WSDT} - {2816776800 46800 0 WST} - {2831896800 50400 1 WSDT} - {2848226400 46800 0 WST} - {2863346400 50400 1 WSDT} - {2879676000 46800 0 WST} - {2894796000 50400 1 WSDT} - {2911125600 46800 0 WST} - {2926245600 50400 1 WSDT} - {2942575200 46800 0 WST} - {2958300000 50400 1 WSDT} - {2974629600 46800 0 WST} - {2989749600 50400 1 WSDT} - {3006079200 46800 0 WST} - {3021199200 50400 1 WSDT} - {3037528800 46800 0 WST} - {3052648800 50400 1 WSDT} - {3068978400 46800 0 WST} - {3084098400 50400 1 WSDT} - {3100428000 46800 0 WST} - {3116152800 50400 1 WSDT} - {3132482400 46800 0 WST} - {3147602400 50400 1 WSDT} - {3163932000 46800 0 WST} - {3179052000 50400 1 WSDT} - {3195381600 46800 0 WST} - {3210501600 50400 1 WSDT} - {3226831200 46800 0 WST} - {3241951200 50400 1 WSDT} - {3258280800 46800 0 WST} - {3273400800 50400 1 WSDT} - {3289730400 46800 0 WST} - {3305455200 50400 1 WSDT} - {3321784800 46800 0 WST} - {3336904800 50400 1 WSDT} - {3353234400 46800 0 WST} - {3368354400 50400 1 WSDT} - {3384684000 46800 0 WST} - {3399804000 50400 1 WSDT} - {3416133600 46800 0 WST} - {3431253600 50400 1 WSDT} - {3447583200 46800 0 WST} - {3462703200 50400 1 WSDT} - {3479637600 46800 0 WST} - {3494757600 50400 1 WSDT} - {3511087200 46800 0 WST} - {3526207200 50400 1 WSDT} - {3542536800 46800 0 WST} - {3557656800 50400 1 WSDT} - {3573986400 46800 0 WST} - {3589106400 50400 1 WSDT} - {3605436000 46800 0 WST} - {3620556000 50400 1 WSDT} - {3636885600 46800 0 WST} - {3652610400 50400 1 WSDT} - {3668940000 46800 0 WST} - {3684060000 50400 1 WSDT} - {3700389600 46800 0 WST} - {3715509600 50400 1 WSDT} - {3731839200 46800 0 WST} - {3746959200 50400 1 WSDT} - {3763288800 46800 0 WST} - {3778408800 50400 1 WSDT} - {3794738400 46800 0 WST} - {3809858400 50400 1 WSDT} - {3826188000 46800 0 WST} - {3841912800 50400 1 WSDT} - {3858242400 46800 0 WST} - {3873362400 50400 1 WSDT} - {3889692000 46800 0 WST} - {3904812000 50400 1 WSDT} - {3921141600 46800 0 WST} - {3936261600 50400 1 WSDT} - {3952591200 46800 0 WST} - {3967711200 50400 1 WSDT} - {3984040800 46800 0 WST} - {3999765600 50400 1 WSDT} - {4016095200 46800 0 WST} - {4031215200 50400 1 WSDT} - {4047544800 46800 0 WST} - {4062664800 50400 1 WSDT} - {4078994400 46800 0 WST} - {4094114400 50400 1 WSDT} } diff --git a/library/tzdata/Pacific/Chuuk b/library/tzdata/Pacific/Chuuk deleted file mode 100644 index 70b14b2..0000000 --- a/library/tzdata/Pacific/Chuuk +++ /dev/null @@ -1,6 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:Pacific/Chuuk) { - {-9223372036854775808 36428 0 LMT} - {-2177489228 36000 0 CHUT} -} diff --git a/library/tzdata/Pacific/Easter b/library/tzdata/Pacific/Easter index 000c6d1..ac00f5e 100644 --- a/library/tzdata/Pacific/Easter +++ b/library/tzdata/Pacific/Easter @@ -92,184 +92,184 @@ set TZData(:Pacific/Easter) { {1223784000 -18000 1 EASST} {1237086000 -21600 0 EAST} {1255233600 -18000 1 EASST} - {1270350000 -21600 0 EAST} + {1268535600 -21600 0 EAST} {1286683200 -18000 1 EASST} - {1304823600 -21600 0 EAST} - {1313899200 -18000 1 EASST} - {1335668400 -21600 0 EAST} - {1346558400 -18000 1 EASST} - {1367118000 -21600 0 EAST} - {1378612800 -18000 1 EASST} - {1398567600 -21600 0 EAST} - {1410062400 -18000 1 EASST} - {1430017200 -21600 0 EAST} - {1441512000 -18000 1 EASST} - {1461466800 -21600 0 EAST} - {1472961600 -18000 1 EASST} - {1492916400 -21600 0 EAST} - {1504411200 -18000 1 EASST} - {1524970800 -21600 0 EAST} - {1535860800 -18000 1 EASST} - {1556420400 -21600 0 EAST} - {1567915200 -18000 1 EASST} - {1587870000 -21600 0 EAST} - {1599364800 -18000 1 EASST} - {1619319600 -21600 0 EAST} - {1630814400 -18000 1 EASST} - {1650769200 -21600 0 EAST} - {1662264000 -18000 1 EASST} - {1682218800 -21600 0 EAST} - {1693713600 -18000 1 EASST} - {1714273200 -21600 0 EAST} - {1725768000 -18000 1 EASST} - {1745722800 -21600 0 EAST} - {1757217600 -18000 1 EASST} - {1777172400 -21600 0 EAST} - {1788667200 -18000 1 EASST} - {1808622000 -21600 0 EAST} - {1820116800 -18000 1 EASST} - {1840071600 -21600 0 EAST} - {1851566400 -18000 1 EASST} - {1872126000 -21600 0 EAST} - {1883016000 -18000 1 EASST} - {1903575600 -21600 0 EAST} - {1915070400 -18000 1 EASST} - {1935025200 -21600 0 EAST} - {1946520000 -18000 1 EASST} - {1966474800 -21600 0 EAST} - {1977969600 -18000 1 EASST} - {1997924400 -21600 0 EAST} - {2009419200 -18000 1 EASST} - {2029374000 -21600 0 EAST} - {2040868800 -18000 1 EASST} - {2061428400 -21600 0 EAST} - {2072318400 -18000 1 EASST} - {2092878000 -21600 0 EAST} - {2104372800 -18000 1 EASST} - {2124327600 -21600 0 EAST} - {2135822400 -18000 1 EASST} - {2155777200 -21600 0 EAST} - {2167272000 -18000 1 EASST} - {2187226800 -21600 0 EAST} - {2198721600 -18000 1 EASST} - {2219281200 -21600 0 EAST} - {2230171200 -18000 1 EASST} - {2250730800 -21600 0 EAST} - {2262225600 -18000 1 EASST} - {2282180400 -21600 0 EAST} - {2293675200 -18000 1 EASST} - {2313630000 -21600 0 EAST} - {2325124800 -18000 1 EASST} - {2345079600 -21600 0 EAST} - {2356574400 -18000 1 EASST} - {2376529200 -21600 0 EAST} - {2388024000 -18000 1 EASST} - {2408583600 -21600 0 EAST} - {2419473600 -18000 1 EASST} - {2440033200 -21600 0 EAST} - {2451528000 -18000 1 EASST} - {2471482800 -21600 0 EAST} - {2482977600 -18000 1 EASST} - {2502932400 -21600 0 EAST} - {2514427200 -18000 1 EASST} - {2534382000 -21600 0 EAST} - {2545876800 -18000 1 EASST} - {2565831600 -21600 0 EAST} - {2577326400 -18000 1 EASST} - {2597886000 -21600 0 EAST} - {2609380800 -18000 1 EASST} - {2629335600 -21600 0 EAST} - {2640830400 -18000 1 EASST} - {2660785200 -21600 0 EAST} - {2672280000 -18000 1 EASST} - {2692234800 -21600 0 EAST} - {2703729600 -18000 1 EASST} - {2723684400 -21600 0 EAST} - {2735179200 -18000 1 EASST} - {2755738800 -21600 0 EAST} - {2766628800 -18000 1 EASST} - {2787188400 -21600 0 EAST} - {2798683200 -18000 1 EASST} - {2818638000 -21600 0 EAST} - {2830132800 -18000 1 EASST} - {2850087600 -21600 0 EAST} - {2861582400 -18000 1 EASST} - {2881537200 -21600 0 EAST} - {2893032000 -18000 1 EASST} - {2912986800 -21600 0 EAST} - {2924481600 -18000 1 EASST} - {2945041200 -21600 0 EAST} - {2955931200 -18000 1 EASST} - {2976490800 -21600 0 EAST} - {2987985600 -18000 1 EASST} - {3007940400 -21600 0 EAST} - {3019435200 -18000 1 EASST} - {3039390000 -21600 0 EAST} - {3050884800 -18000 1 EASST} - {3070839600 -21600 0 EAST} - {3082334400 -18000 1 EASST} - {3102894000 -21600 0 EAST} - {3113784000 -18000 1 EASST} - {3134343600 -21600 0 EAST} - {3145838400 -18000 1 EASST} - {3165793200 -21600 0 EAST} - {3177288000 -18000 1 EASST} - {3197242800 -21600 0 EAST} - {3208737600 -18000 1 EASST} - {3228692400 -21600 0 EAST} - {3240187200 -18000 1 EASST} - {3260142000 -21600 0 EAST} - {3271636800 -18000 1 EASST} - {3292196400 -21600 0 EAST} - {3303086400 -18000 1 EASST} - {3323646000 -21600 0 EAST} - {3335140800 -18000 1 EASST} - {3355095600 -21600 0 EAST} - {3366590400 -18000 1 EASST} - {3386545200 -21600 0 EAST} - {3398040000 -18000 1 EASST} - {3417994800 -21600 0 EAST} - {3429489600 -18000 1 EASST} - {3449444400 -21600 0 EAST} - {3460939200 -18000 1 EASST} - {3481498800 -21600 0 EAST} - {3492993600 -18000 1 EASST} - {3512948400 -21600 0 EAST} - {3524443200 -18000 1 EASST} - {3544398000 -21600 0 EAST} - {3555892800 -18000 1 EASST} - {3575847600 -21600 0 EAST} - {3587342400 -18000 1 EASST} - {3607297200 -21600 0 EAST} - {3618792000 -18000 1 EASST} - {3639351600 -21600 0 EAST} - {3650241600 -18000 1 EASST} - {3670801200 -21600 0 EAST} - {3682296000 -18000 1 EASST} - {3702250800 -21600 0 EAST} - {3713745600 -18000 1 EASST} - {3733700400 -21600 0 EAST} - {3745195200 -18000 1 EASST} - {3765150000 -21600 0 EAST} - {3776644800 -18000 1 EASST} - {3796599600 -21600 0 EAST} - {3808094400 -18000 1 EASST} - {3828654000 -21600 0 EAST} - {3839544000 -18000 1 EASST} - {3860103600 -21600 0 EAST} - {3871598400 -18000 1 EASST} - {3891553200 -21600 0 EAST} - {3903048000 -18000 1 EASST} - {3923002800 -21600 0 EAST} - {3934497600 -18000 1 EASST} - {3954452400 -21600 0 EAST} - {3965947200 -18000 1 EASST} - {3986506800 -21600 0 EAST} - {3997396800 -18000 1 EASST} - {4017956400 -21600 0 EAST} - {4029451200 -18000 1 EASST} - {4049406000 -21600 0 EAST} - {4060900800 -18000 1 EASST} - {4080855600 -21600 0 EAST} - {4092350400 -18000 1 EASST} + {1299985200 -21600 0 EAST} + {1318132800 -18000 1 EASST} + {1331434800 -21600 0 EAST} + {1350187200 -18000 1 EASST} + {1362884400 -21600 0 EAST} + {1381636800 -18000 1 EASST} + {1394334000 -21600 0 EAST} + {1413086400 -18000 1 EASST} + {1426388400 -21600 0 EAST} + {1444536000 -18000 1 EASST} + {1457838000 -21600 0 EAST} + {1475985600 -18000 1 EASST} + {1489287600 -21600 0 EAST} + {1508040000 -18000 1 EASST} + {1520737200 -21600 0 EAST} + {1539489600 -18000 1 EASST} + {1552186800 -21600 0 EAST} + {1570939200 -18000 1 EASST} + {1584241200 -21600 0 EAST} + {1602388800 -18000 1 EASST} + {1615690800 -21600 0 EAST} + {1633838400 -18000 1 EASST} + {1647140400 -21600 0 EAST} + {1665288000 -18000 1 EASST} + {1678590000 -21600 0 EAST} + {1697342400 -18000 1 EASST} + {1710039600 -21600 0 EAST} + {1728792000 -18000 1 EASST} + {1741489200 -21600 0 EAST} + {1760241600 -18000 1 EASST} + {1773543600 -21600 0 EAST} + {1791691200 -18000 1 EASST} + {1804993200 -21600 0 EAST} + {1823140800 -18000 1 EASST} + {1836442800 -21600 0 EAST} + {1855195200 -18000 1 EASST} + {1867892400 -21600 0 EAST} + {1886644800 -18000 1 EASST} + {1899342000 -21600 0 EAST} + {1918094400 -18000 1 EASST} + {1930791600 -21600 0 EAST} + {1949544000 -18000 1 EASST} + {1962846000 -21600 0 EAST} + {1980993600 -18000 1 EASST} + {1994295600 -21600 0 EAST} + {2012443200 -18000 1 EASST} + {2025745200 -21600 0 EAST} + {2044497600 -18000 1 EASST} + {2057194800 -21600 0 EAST} + {2075947200 -18000 1 EASST} + {2088644400 -21600 0 EAST} + {2107396800 -18000 1 EASST} + {2120698800 -21600 0 EAST} + {2138846400 -18000 1 EASST} + {2152148400 -21600 0 EAST} + {2170296000 -18000 1 EASST} + {2183598000 -21600 0 EAST} + {2201745600 -18000 1 EASST} + {2215047600 -21600 0 EAST} + {2233800000 -18000 1 EASST} + {2246497200 -21600 0 EAST} + {2265249600 -18000 1 EASST} + {2277946800 -21600 0 EAST} + {2296699200 -18000 1 EASST} + {2310001200 -21600 0 EAST} + {2328148800 -18000 1 EASST} + {2341450800 -21600 0 EAST} + {2359598400 -18000 1 EASST} + {2372900400 -21600 0 EAST} + {2391652800 -18000 1 EASST} + {2404350000 -21600 0 EAST} + {2423102400 -18000 1 EASST} + {2435799600 -21600 0 EAST} + {2454552000 -18000 1 EASST} + {2467854000 -21600 0 EAST} + {2486001600 -18000 1 EASST} + {2499303600 -21600 0 EAST} + {2517451200 -18000 1 EASST} + {2530753200 -21600 0 EAST} + {2548900800 -18000 1 EASST} + {2562202800 -21600 0 EAST} + {2580955200 -18000 1 EASST} + {2593652400 -21600 0 EAST} + {2612404800 -18000 1 EASST} + {2625102000 -21600 0 EAST} + {2643854400 -18000 1 EASST} + {2657156400 -21600 0 EAST} + {2675304000 -18000 1 EASST} + {2688606000 -21600 0 EAST} + {2706753600 -18000 1 EASST} + {2720055600 -21600 0 EAST} + {2738808000 -18000 1 EASST} + {2751505200 -21600 0 EAST} + {2770257600 -18000 1 EASST} + {2782954800 -21600 0 EAST} + {2801707200 -18000 1 EASST} + {2814404400 -21600 0 EAST} + {2833156800 -18000 1 EASST} + {2846458800 -21600 0 EAST} + {2864606400 -18000 1 EASST} + {2877908400 -21600 0 EAST} + {2896056000 -18000 1 EASST} + {2909358000 -21600 0 EAST} + {2928110400 -18000 1 EASST} + {2940807600 -21600 0 EAST} + {2959560000 -18000 1 EASST} + {2972257200 -21600 0 EAST} + {2991009600 -18000 1 EASST} + {3004311600 -21600 0 EAST} + {3022459200 -18000 1 EASST} + {3035761200 -21600 0 EAST} + {3053908800 -18000 1 EASST} + {3067210800 -21600 0 EAST} + {3085358400 -18000 1 EASST} + {3098660400 -21600 0 EAST} + {3117412800 -18000 1 EASST} + {3130110000 -21600 0 EAST} + {3148862400 -18000 1 EASST} + {3161559600 -21600 0 EAST} + {3180312000 -18000 1 EASST} + {3193614000 -21600 0 EAST} + {3211761600 -18000 1 EASST} + {3225063600 -21600 0 EAST} + {3243211200 -18000 1 EASST} + {3256513200 -21600 0 EAST} + {3275265600 -18000 1 EASST} + {3287962800 -21600 0 EAST} + {3306715200 -18000 1 EASST} + {3319412400 -21600 0 EAST} + {3338164800 -18000 1 EASST} + {3351466800 -21600 0 EAST} + {3369614400 -18000 1 EASST} + {3382916400 -21600 0 EAST} + {3401064000 -18000 1 EASST} + {3414366000 -21600 0 EAST} + {3432513600 -18000 1 EASST} + {3445815600 -21600 0 EAST} + {3464568000 -18000 1 EASST} + {3477265200 -21600 0 EAST} + {3496017600 -18000 1 EASST} + {3508714800 -21600 0 EAST} + {3527467200 -18000 1 EASST} + {3540769200 -21600 0 EAST} + {3558916800 -18000 1 EASST} + {3572218800 -21600 0 EAST} + {3590366400 -18000 1 EASST} + {3603668400 -21600 0 EAST} + {3622420800 -18000 1 EASST} + {3635118000 -21600 0 EAST} + {3653870400 -18000 1 EASST} + {3666567600 -21600 0 EAST} + {3685320000 -18000 1 EASST} + {3698017200 -21600 0 EAST} + {3716769600 -18000 1 EASST} + {3730071600 -21600 0 EAST} + {3748219200 -18000 1 EASST} + {3761521200 -21600 0 EAST} + {3779668800 -18000 1 EASST} + {3792970800 -21600 0 EAST} + {3811723200 -18000 1 EASST} + {3824420400 -21600 0 EAST} + {3843172800 -18000 1 EASST} + {3855870000 -21600 0 EAST} + {3874622400 -18000 1 EASST} + {3887924400 -21600 0 EAST} + {3906072000 -18000 1 EASST} + {3919374000 -21600 0 EAST} + {3937521600 -18000 1 EASST} + {3950823600 -21600 0 EAST} + {3968971200 -18000 1 EASST} + {3982273200 -21600 0 EAST} + {4001025600 -18000 1 EASST} + {4013722800 -21600 0 EAST} + {4032475200 -18000 1 EASST} + {4045172400 -21600 0 EAST} + {4063924800 -18000 1 EASST} + {4077226800 -21600 0 EAST} + {4095374400 -18000 1 EASST} } diff --git a/library/tzdata/Pacific/Fakaofo b/library/tzdata/Pacific/Fakaofo index 6ec98eb..7420639 100644 --- a/library/tzdata/Pacific/Fakaofo +++ b/library/tzdata/Pacific/Fakaofo @@ -2,6 +2,5 @@ set TZData(:Pacific/Fakaofo) { {-9223372036854775808 -41096 0 LMT} - {-2177411704 -39600 0 TKT} - {1325242800 46800 0 TKT} + {-2177411704 -36000 0 TKT} } diff --git a/library/tzdata/Pacific/Fiji b/library/tzdata/Pacific/Fiji index bfcaa03..2194d59 100644 --- a/library/tzdata/Pacific/Fiji +++ b/library/tzdata/Pacific/Fiji @@ -1,191 +1,10 @@ # created by tools/tclZIC.tcl - do not edit set TZData(:Pacific/Fiji) { - {-9223372036854775808 42944 0 LMT} - {-1709985344 43200 0 FJT} + {-9223372036854775808 42820 0 LMT} + {-1709985220 43200 0 FJT} {909842400 46800 1 FJST} {920124000 43200 0 FJT} {941896800 46800 1 FJST} {951573600 43200 0 FJT} - {1259416800 46800 1 FJST} - {1269698400 43200 0 FJT} - {1287842400 46800 1 FJST} - {1299333600 43200 0 FJT} - {1319292000 46800 1 FJST} - {1327154400 43200 0 FJT} - {1350741600 46800 1 FJST} - {1358604000 43200 0 FJT} - {1382191200 46800 1 FJST} - {1390053600 43200 0 FJT} - {1413640800 46800 1 FJST} - {1421503200 43200 0 FJT} - {1445090400 46800 1 FJST} - {1453557600 43200 0 FJT} - {1477144800 46800 1 FJST} - {1485007200 43200 0 FJT} - {1508594400 46800 1 FJST} - {1516456800 43200 0 FJT} - {1540044000 46800 1 FJST} - {1547906400 43200 0 FJT} - {1571493600 46800 1 FJST} - {1579356000 43200 0 FJT} - {1602943200 46800 1 FJST} - {1611410400 43200 0 FJT} - {1634997600 46800 1 FJST} - {1642860000 43200 0 FJT} - {1666447200 46800 1 FJST} - {1674309600 43200 0 FJT} - {1697896800 46800 1 FJST} - {1705759200 43200 0 FJT} - {1729346400 46800 1 FJST} - {1737208800 43200 0 FJT} - {1760796000 46800 1 FJST} - {1768658400 43200 0 FJT} - {1792245600 46800 1 FJST} - {1800712800 43200 0 FJT} - {1824300000 46800 1 FJST} - {1832162400 43200 0 FJT} - {1855749600 46800 1 FJST} - {1863612000 43200 0 FJT} - {1887199200 46800 1 FJST} - {1895061600 43200 0 FJT} - {1918648800 46800 1 FJST} - {1926511200 43200 0 FJT} - {1950098400 46800 1 FJST} - {1957960800 43200 0 FJT} - {1982152800 46800 1 FJST} - {1990015200 43200 0 FJT} - {2013602400 46800 1 FJST} - {2021464800 43200 0 FJT} - {2045052000 46800 1 FJST} - {2052914400 43200 0 FJT} - {2076501600 46800 1 FJST} - {2084364000 43200 0 FJT} - {2107951200 46800 1 FJST} - {2115813600 43200 0 FJT} - {2139400800 46800 1 FJST} - {2147868000 43200 0 FJT} - {2171455200 46800 1 FJST} - {2179317600 43200 0 FJT} - {2202904800 46800 1 FJST} - {2210767200 43200 0 FJT} - {2234354400 46800 1 FJST} - {2242216800 43200 0 FJT} - {2265804000 46800 1 FJST} - {2273666400 43200 0 FJT} - {2297253600 46800 1 FJST} - {2305116000 43200 0 FJT} - {2328703200 46800 1 FJST} - {2337170400 43200 0 FJT} - {2360757600 46800 1 FJST} - {2368620000 43200 0 FJT} - {2392207200 46800 1 FJST} - {2400069600 43200 0 FJT} - {2423656800 46800 1 FJST} - {2431519200 43200 0 FJT} - {2455106400 46800 1 FJST} - {2462968800 43200 0 FJT} - {2486556000 46800 1 FJST} - {2495023200 43200 0 FJT} - {2518610400 46800 1 FJST} - {2526472800 43200 0 FJT} - {2550060000 46800 1 FJST} - {2557922400 43200 0 FJT} - {2581509600 46800 1 FJST} - {2589372000 43200 0 FJT} - {2612959200 46800 1 FJST} - {2620821600 43200 0 FJT} - {2644408800 46800 1 FJST} - {2652271200 43200 0 FJT} - {2675858400 46800 1 FJST} - {2684325600 43200 0 FJT} - {2707912800 46800 1 FJST} - {2715775200 43200 0 FJT} - {2739362400 46800 1 FJST} - {2747224800 43200 0 FJT} - {2770812000 46800 1 FJST} - {2778674400 43200 0 FJT} - {2802261600 46800 1 FJST} - {2810124000 43200 0 FJT} - {2833711200 46800 1 FJST} - {2841573600 43200 0 FJT} - {2865765600 46800 1 FJST} - {2873628000 43200 0 FJT} - {2897215200 46800 1 FJST} - {2905077600 43200 0 FJT} - {2928664800 46800 1 FJST} - {2936527200 43200 0 FJT} - {2960114400 46800 1 FJST} - {2967976800 43200 0 FJT} - {2991564000 46800 1 FJST} - {2999426400 43200 0 FJT} - {3023013600 46800 1 FJST} - {3031480800 43200 0 FJT} - {3055068000 46800 1 FJST} - {3062930400 43200 0 FJT} - {3086517600 46800 1 FJST} - {3094380000 43200 0 FJT} - {3117967200 46800 1 FJST} - {3125829600 43200 0 FJT} - {3149416800 46800 1 FJST} - {3157279200 43200 0 FJT} - {3180866400 46800 1 FJST} - {3188728800 43200 0 FJT} - {3212316000 46800 1 FJST} - {3220783200 43200 0 FJT} - {3244370400 46800 1 FJST} - {3252232800 43200 0 FJT} - {3275820000 46800 1 FJST} - {3283682400 43200 0 FJT} - {3307269600 46800 1 FJST} - {3315132000 43200 0 FJT} - {3338719200 46800 1 FJST} - {3346581600 43200 0 FJT} - {3370168800 46800 1 FJST} - {3378636000 43200 0 FJT} - {3402223200 46800 1 FJST} - {3410085600 43200 0 FJT} - {3433672800 46800 1 FJST} - {3441535200 43200 0 FJT} - {3465122400 46800 1 FJST} - {3472984800 43200 0 FJT} - {3496572000 46800 1 FJST} - {3504434400 43200 0 FJT} - {3528021600 46800 1 FJST} - {3535884000 43200 0 FJT} - {3559471200 46800 1 FJST} - {3567938400 43200 0 FJT} - {3591525600 46800 1 FJST} - {3599388000 43200 0 FJT} - {3622975200 46800 1 FJST} - {3630837600 43200 0 FJT} - {3654424800 46800 1 FJST} - {3662287200 43200 0 FJT} - {3685874400 46800 1 FJST} - {3693736800 43200 0 FJT} - {3717324000 46800 1 FJST} - {3725186400 43200 0 FJT} - {3749378400 46800 1 FJST} - {3757240800 43200 0 FJT} - {3780828000 46800 1 FJST} - {3788690400 43200 0 FJT} - {3812277600 46800 1 FJST} - {3820140000 43200 0 FJT} - {3843727200 46800 1 FJST} - {3851589600 43200 0 FJT} - {3875176800 46800 1 FJST} - {3883039200 43200 0 FJT} - {3906626400 46800 1 FJST} - {3915093600 43200 0 FJT} - {3938680800 46800 1 FJST} - {3946543200 43200 0 FJT} - {3970130400 46800 1 FJST} - {3977992800 43200 0 FJT} - {4001580000 46800 1 FJST} - {4009442400 43200 0 FJT} - {4033029600 46800 1 FJST} - {4040892000 43200 0 FJT} - {4064479200 46800 1 FJST} - {4072341600 43200 0 FJT} - {4095928800 46800 1 FJST} } diff --git a/library/tzdata/Pacific/Honolulu b/library/tzdata/Pacific/Honolulu index 5e70598..f441a02 100644 --- a/library/tzdata/Pacific/Honolulu +++ b/library/tzdata/Pacific/Honolulu @@ -2,10 +2,11 @@ set TZData(:Pacific/Honolulu) { {-9223372036854775808 -37886 0 LMT} - {-2334101314 -37800 0 HST} + {-2208907714 -37800 0 HST} {-1157283000 -34200 1 HDT} - {-1155436200 -37800 0 HST} - {-880198200 -34200 1 HDT} + {-1155472200 -34200 0 HST} + {-880201800 -34200 1 HWT} + {-769395600 -34200 1 HPT} {-765376200 -37800 0 HST} {-712150200 -36000 0 HST} } diff --git a/library/tzdata/Pacific/Pohnpei b/library/tzdata/Pacific/Pohnpei deleted file mode 100644 index 58978da..0000000 --- a/library/tzdata/Pacific/Pohnpei +++ /dev/null @@ -1,6 +0,0 @@ -# created by tools/tclZIC.tcl - do not edit - -set TZData(:Pacific/Pohnpei) { - {-9223372036854775808 37972 0 LMT} - {-2177490772 39600 0 PONT} -} diff --git a/library/tzdata/Pacific/Ponape b/library/tzdata/Pacific/Ponape index 89644f7..092b0a9 100644 --- a/library/tzdata/Pacific/Ponape +++ b/library/tzdata/Pacific/Ponape @@ -1,5 +1,6 @@ # created by tools/tclZIC.tcl - do not edit -if {![info exists TZData(Pacific/Pohnpei)]} { - LoadTimeZoneFile Pacific/Pohnpei + +set TZData(:Pacific/Ponape) { + {-9223372036854775808 37972 0 LMT} + {-2177490772 39600 0 PONT} } -set TZData(:Pacific/Ponape) $TZData(:Pacific/Pohnpei) diff --git a/library/tzdata/Pacific/Truk b/library/tzdata/Pacific/Truk index c9b1894..c152198 100644 --- a/library/tzdata/Pacific/Truk +++ b/library/tzdata/Pacific/Truk @@ -1,5 +1,6 @@ # created by tools/tclZIC.tcl - do not edit -if {![info exists TZData(Pacific/Chuuk)]} { - LoadTimeZoneFile Pacific/Chuuk + +set TZData(:Pacific/Truk) { + {-9223372036854775808 36428 0 LMT} + {-2177489228 36000 0 TRUT} } -set TZData(:Pacific/Truk) $TZData(:Pacific/Chuuk) diff --git a/library/tzdata/Pacific/Yap b/library/tzdata/Pacific/Yap index 4931030..a97a195 100644 --- a/library/tzdata/Pacific/Yap +++ b/library/tzdata/Pacific/Yap @@ -1,5 +1,5 @@ # created by tools/tclZIC.tcl - do not edit -if {![info exists TZData(Pacific/Chuuk)]} { - LoadTimeZoneFile Pacific/Chuuk +if {![info exists TZData(Pacific/Truk)]} { + LoadTimeZoneFile Pacific/Truk } -set TZData(:Pacific/Yap) $TZData(:Pacific/Chuuk) +set TZData(:Pacific/Yap) $TZData(:Pacific/Truk) diff --git a/library/word.tcl b/library/word.tcl index b8f34a5..b8f7f7d 100644 --- a/library/word.tcl +++ b/library/word.tcl @@ -7,8 +7,10 @@ # Copyright (c) 1996 by Sun Microsystems, Inc. # Copyright (c) 1998 by Scritpics Corporation. # -# See the file "license.terms" for information on usage and redistribution -# of this file, and for a DISCLAIMER OF ALL WARRANTIES. +# See the file "license.terms" for information on usage and redistribution of +# this file, and for a DISCLAIMER OF ALL WARRANTIES. +# +# RCS: @(#) $Id: word.tcl,v 1.10 2007/12/13 15:26:03 dgp Exp $ # The following variables are used to determine which characters are # interpreted as white space. @@ -67,7 +69,7 @@ namespace eval ::tcl { proc tcl_wordBreakAfter {str start} { variable ::tcl::WordBreakRE set result {-1 -1} - regexp -indices -start $start -- $WordBreakRE(after) $str result + regexp -indices -start $start $WordBreakRE(after) $str result return [lindex $result 1] } @@ -85,7 +87,7 @@ proc tcl_wordBreakAfter {str start} { proc tcl_wordBreakBefore {str start} { variable ::tcl::WordBreakRE set result {-1 -1} - regexp -indices -- $WordBreakRE(before) [string range $str 0 $start] result + regexp -indices $WordBreakRE(before) [string range $str 0 $start] result return [lindex $result 1] } @@ -104,7 +106,7 @@ proc tcl_wordBreakBefore {str start} { proc tcl_endOfWord {str start} { variable ::tcl::WordBreakRE set result {-1 -1} - regexp -indices -start $start -- $WordBreakRE(end) $str result + regexp -indices -start $start $WordBreakRE(end) $str result return [lindex $result 1] } @@ -122,7 +124,7 @@ proc tcl_endOfWord {str start} { proc tcl_startOfNextWord {str start} { variable ::tcl::WordBreakRE set result {-1 -1} - regexp -indices -start $start -- $WordBreakRE(next) $str result + regexp -indices -start $start $WordBreakRE(next) $str result return [lindex $result 1] } @@ -138,7 +140,7 @@ proc tcl_startOfNextWord {str start} { proc tcl_startOfPreviousWord {str start} { variable ::tcl::WordBreakRE set word {-1 -1} - regexp -indices -- $WordBreakRE(previous) [string range $str 0 $start-1] \ + regexp -indices $WordBreakRE(previous) [string range $str 0 $start-1] \ result word return [lindex $word 0] } |